@jasonshimmy/custom-elements-runtime 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/custom-elements-runtime.cjs.js +11 -11
- package/dist/custom-elements-runtime.cjs.js.map +1 -1
- package/dist/custom-elements-runtime.es.js +1204 -1192
- package/dist/custom-elements-runtime.es.js.map +1 -1
- package/dist/custom-elements-runtime.umd.js +12 -12
- package/dist/custom-elements-runtime.umd.js.map +1 -1
- package/dist/runtime/helpers.d.ts +0 -3
- package/dist/runtime/reactive.d.ts +5 -0
- package/dist/runtime/style.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(S,ge){typeof exports=="object"&&typeof module<"u"?ge(exports):typeof define=="function"&&define.amd?define(["exports"],ge):(S=typeof globalThis<"u"?globalThis:S||self,ge(S.CustomElementsRuntime={}))})(this,(function(S){"use strict";class ge{pendingUpdates=new Map;isFlushScheduled=!1;schedule(t,n){const r=n||t.toString();this.pendingUpdates.set(r,t),this.isFlushScheduled||(this.isFlushScheduled=!0,typeof globalThis.process<"u"&&globalThis.process.env?.NODE_ENV==="test"||typeof window<"u"&&(window.__vitest__||window.Cypress)?this.flush():queueMicrotask(()=>this.flush()))}flush(){const t=Array.from(this.pendingUpdates.values());this.pendingUpdates.clear(),this.isFlushScheduled=!1;for(const n of t)try{n()}catch(r){typeof console<"u"&&console.error&&console.error("Error in batched update:",r)}}get pendingCount(){return this.pendingUpdates.size}}const yt=new ge;function he(e,t){yt.schedule(e,t)}const Ge=new WeakSet;class bt{static cache=new WeakMap;static arrayHandlerCache=new WeakMap;static objectHandlerCache=new WeakMap;static getOrCreateProxy(t,n,r=!1){const i=this.cache.get(t);if(i)return i;const s=r?this.getOrCreateArrayHandler(n):this.getOrCreateObjectHandler(n),o=new Proxy(t,s);try{Qe.markAsProxy(o)}catch{}return this.cache.set(t,o),o}static getOrCreateArrayHandler(t){if(!this.arrayHandlerCache.has(t)){const n={get:(r,i,s)=>{const o=Reflect.get(r,i,s);return typeof o=="function"&&typeof i=="string"&&["push","pop","shift","unshift","splice","sort","reverse","fill","copyWithin"].includes(i)?function(...u){const m=o.apply(r,u);return t.triggerUpdate(),m}:o},set:(r,i,s)=>(r[i]=t.makeReactiveValue(s),t.triggerUpdate(),!0),deleteProperty:(r,i)=>(delete r[i],t.triggerUpdate(),!0)};this.arrayHandlerCache.set(t,n)}return this.arrayHandlerCache.get(t)}static getOrCreateObjectHandler(t){if(!this.objectHandlerCache.has(t)){const n={get:(r,i,s)=>Reflect.get(r,i,s),set:(r,i,s)=>(r[i]=t.makeReactiveValue(s),t.triggerUpdate(),!0),deleteProperty:(r,i)=>(delete r[i],t.triggerUpdate(),!0)};this.objectHandlerCache.set(t,n)}return this.objectHandlerCache.get(t)}static hasProxy(t){return this.cache.has(t)}static clear(){this.cache=new WeakMap,this.arrayHandlerCache=new WeakMap,this.objectHandlerCache=new WeakMap}static getStats(){return{hasCachedProxies:this.cache instanceof WeakMap}}}class Qe{static contextCache=new WeakMap;static createReactiveProxy(t,n,r){try{if(Ge.has(t))return t}catch{}const i=Array.isArray(t);let s=this.contextCache.get(n);s||(s=new WeakMap,this.contextCache.set(n,s));let o=s.get(r);return o||(o={triggerUpdate:n,makeReactiveValue:r},s.set(r,o)),bt.getOrCreateProxy(t,o,i)}static markAsProxy(t){if(t)try{Ge.add(t)}catch{}}}class wt{currentComponent=null;componentDependencies=new Map;componentRenderFunctions=new Map;stateStorage=new Map;stateIndexCounter=new Map;trackingDisabled=!1;lastWarningTime=new Map;setCurrentComponent(t,n){this.currentComponent=t,this.componentRenderFunctions.set(t,n),this.componentDependencies.has(t)||this.componentDependencies.set(t,new Set),this.stateIndexCounter.set(t,0)}clearCurrentComponent(){this.currentComponent=null}disableTracking(){this.trackingDisabled=!0}enableTracking(){this.trackingDisabled=!1}isRenderingComponent(){return this.currentComponent!==null}shouldEmitRenderWarning(){if(!this.currentComponent)return!0;const t=this.currentComponent,n=this.lastWarningTime.get(t)||0,r=Date.now();return r-n<1e3?!1:(this.lastWarningTime.set(t,r),!0)}withoutTracking(t){const n=this.trackingDisabled;this.trackingDisabled=!0;try{return t()}finally{this.trackingDisabled=n}}getOrCreateState(t){if(!this.currentComponent)return new Me(t);const n=this.currentComponent,r=this.stateIndexCounter.get(n)||0,i=`${n}:${r}`;if(this.stateIndexCounter.set(n,r+1),this.stateStorage.has(i))return this.stateStorage.get(i);const s=new Me(t);return this.stateStorage.set(i,s),s}trackDependency(t){this.trackingDisabled||this.currentComponent&&(this.componentDependencies.get(this.currentComponent)?.add(t),t.addDependent(this.currentComponent))}triggerUpdate(t){t.getDependents().forEach(n=>{const r=this.componentRenderFunctions.get(n);r&&he(r,n)})}cleanup(t){const n=this.componentDependencies.get(t);n&&(n.forEach(r=>r.removeDependent(t)),this.componentDependencies.delete(t)),this.componentRenderFunctions.delete(t);for(const r of Array.from(this.stateStorage.keys()))r.startsWith(t+":")&&this.stateStorage.delete(r);this.stateIndexCounter.delete(t)}}const q=new wt;class Me{_value;dependents=new Set;constructor(t){this._value=this.makeReactive(t);try{const n=Symbol.for("@cer/ReactiveState");Object.defineProperty(this,n,{value:!0,enumerable:!1,configurable:!1})}catch{}}get value(){return q.trackDependency(this),this._value}set value(t){q.isRenderingComponent()&&q.shouldEmitRenderWarning()&&console.warn(`🚨 State modification detected during render! This can cause infinite loops.
|
|
2
2
|
• Move state updates to event handlers
|
|
3
3
|
• Use useEffect/watch for side effects
|
|
4
|
-
• Ensure computed properties don't modify state`),this._value=this.makeReactive(t),q.triggerUpdate(this)}addDependent(t){this.dependents.add(t)}removeDependent(t){this.dependents.delete(t)}getDependents(){return this.dependents}makeReactive(t){return t===null||typeof t!="object"||t instanceof Node||t instanceof Element||t instanceof HTMLElement?t:Ze.createReactiveProxy(t,()=>q.triggerUpdate(this),n=>this.makeReactive(n))}}function bt(e){return q.getOrCreateState(e===void 0?null:e)}function wt(e){const t=new Pe(e());return{get value(){return q.trackDependency(t),e()}}}function vt(e,t,n={}){let r=e();n.immediate&&t(r,r);const i=`watch-${Math.random().toString(36).substr(2,9)}`,s=()=>{q.setCurrentComponent(i,s);const o=e();q.clearCurrentComponent(),o!==r&&(t(o,r),r=o)};return q.setCurrentComponent(i,s),e(),q.clearCurrentComponent(),()=>{q.cleanup(i)}}const ve=new Map,xe=new Map,ke=new Map,Le=500;function ne(e){if(ve.has(e))return ve.get(e);const t=e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();return ve.size<Le&&ve.set(e,t),t}function Ge(e){if(xe.has(e))return xe.get(e);const t=e.replace(/-([a-z])/g,(n,r)=>r.toUpperCase());return xe.size<Le&&xe.set(e,t),t}function re(e){if(typeof e=="string"){if(ke.has(e))return ke.get(e);const t=e.replace(/[&<>"']/g,n=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[n]);return t!==e&&ke.size<Le&&ke.set(e,t),t}return e}function B(e,t){if(typeof t=="string"){const n=t.split(".").reduce((r,i)=>r?.[i],e);return n&&typeof n=="object"&&n.constructor&&n.constructor.name==="ReactiveState"?n.value:n}return t}function Ce(e,t,n){const r=String(t).split("."),i=r.pop();if(!i)return;const s=r.reduce((o,a)=>(o[a]==null&&(o[a]={}),o[a]),e);s[i]&&typeof s[i]=="object"&&s[i].constructor&&s[i].constructor.name==="ReactiveState"?s[i].value=n:s[i]=n}const Qe=typeof process<"u"&&process.env?.NODE_ENV!=="production";function ie(e,...t){Qe&&console.error(e,...t)}function je(e,...t){Qe&&console.warn(e,...t)}function xt(e,t,n){if(n)for(const[r,i]of Object.entries(n)){let s,o={};if(Array.isArray(i)?(s=i[0],o=i[1]||{}):s=i,t.set(r,{callback:s,options:o,oldValue:B(e,r)}),o.immediate)try{const a=B(e,r);s(a,void 0,e)}catch(a){ie(`Error in immediate watcher for "${r}":`,a)}}}function kt(e,t,n,r){const i=(o,a)=>{if(o===a)return!0;if(typeof o!=typeof a||typeof o!="object"||o===null||a===null)return!1;if(Array.isArray(o)&&Array.isArray(a))return o.length!==a.length?!1:o.every((g,w)=>i(g,a[w]));const u=Object.keys(o),m=Object.keys(a);return u.length!==m.length?!1:u.every(g=>i(o[g],a[g]))},s=t.get(n);if(s&&!i(r,s.oldValue))try{s.callback(r,s.oldValue,e),s.oldValue=r}catch(o){ie(`Error in watcher for "${n}":`,o)}for(const[o,a]of t.entries())if(a.options.deep&&n.startsWith(o+"."))try{const u=B(e,o);i(u,a.oldValue)||(a.callback(u,a.oldValue,e),a.oldValue=u)}catch(u){ie(`Error in deep watcher for "${o}":`,u)}}function Xe(e,t){return t===Boolean?e==="true":t===Number?Number(e):e}function Ct(e,t,n){t&&Object.entries(t).forEach(([r,i])=>{const s=ne(r),o=e.getAttribute(s);if(i.type===Function&&typeof e[r]=="function")n[r]=e[r];else if(typeof e[r]<"u")try{const a=e[r];i.type===Boolean&&typeof a=="boolean"||i.type===Number&&typeof a=="number"||i.type===Function&&typeof a=="function"?n[r]=a:n[r]=re(Xe(String(a),i.type))}catch{n[r]=e[r]}else o!==null?n[r]=re(Xe(o,i.type)):"default"in i&&i.default!==void 0&&(n[r]=re(i.default))})}function _t(e,t,n){t.props&&Ct(e,t.props,n)}function Et(e,t,n,r){e.onConnected&&!n&&(e.onConnected(t),r(!0))}function St(e,t,n,r,i,s,o,a){e.onDisconnected&&e.onDisconnected(t),n.forEach(u=>u()),r(),i(),s(!1),o(null),a(!1)}function $t(e,t,n,r,i){e.onAttributeChanged&&e.onAttributeChanged(t,n,r,i)}class At{static cache=new Map;static maxCacheSize=1e3;static dangerousPatterns=[/constructor/i,/prototype/i,/__proto__/i,/function/i,/eval/i,/import/i,/require/i,/window/i,/document/i,/global/i,/process/i,/setTimeout/i,/setInterval/i,/fetch/i,/XMLHttpRequest/i];static evaluate(t,n){const r=this.cache.get(t);if(r){if(!r.isSecure){je("Blocked cached dangerous expression:",t);return}return r.evaluator(n)}const i=this.createEvaluator(t);if(this.cache.size>=this.maxCacheSize){const s=this.cache.keys().next().value;s&&this.cache.delete(s)}if(this.cache.set(t,i),!i.isSecure){je("Blocked dangerous expression:",t);return}return i.evaluator(n)}static createEvaluator(t){if(this.hasDangerousPatterns(t))return{evaluator:()=>{},isSecure:!1};if(t.length>1e3)return{evaluator:()=>{},isSecure:!1};try{return{evaluator:this.createSafeEvaluator(t),isSecure:!0}}catch(n){return je("Failed to create evaluator for expression:",t,n),{evaluator:()=>{},isSecure:!1}}}static hasDangerousPatterns(t){return this.dangerousPatterns.some(n=>n.test(t))}static createSafeEvaluator(t){if(t.trim().startsWith("{")&&t.trim().endsWith("}"))return this.createObjectEvaluator(t);if(/^ctx\.[a-zA-Z0-9_\.]+$/.test(t.trim())){const n=t.trim().slice(4);return r=>B(r,n)}return t.includes("ctx")||/[+\-*/%<>=&|?:\[\]]/.test(t)?this.createSimpleEvaluator(t):n=>B(n,t)}static createObjectEvaluator(t){const n=t.trim().slice(1,-1),r=this.parseObjectProperties(n);return i=>{const s={};for(const{key:o,value:a}of r)try{if(a.startsWith("ctx.")){const u=a.slice(4);s[o]=B(i,u)}else s[o]=this.evaluateSimpleValue(a,i)}catch{s[o]=void 0}return s}}static parseObjectProperties(t){const n=[],r=t.split(",");for(const i of r){const s=i.indexOf(":");if(s===-1)continue;const o=i.slice(0,s).trim(),a=i.slice(s+1).trim(),u=o.replace(/^['"]|['"]$/g,"");n.push({key:u,value:a})}return n}static createSimpleEvaluator(t){return n=>{try{let r=t;const i=[];r=r.replace(/("[^"\\]*(?:\\.[^"\\]*)*"|'[^'\\]*(?:\\.[^'\\]*)*')/g,w=>`<<#${i.push(w)-1}#>>`);const s=r.match(/ctx\.[\w.]+/g)||[];for(const w of s){const h=w.slice(4),l=B(n,h);if(l===void 0)return;const d=i.push(JSON.stringify(l))-1;r=r.replace(new RegExp(w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),`<<#${d}#>>`)}const o=/\b[a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)+\b/g,a=r.match(o)||[];for(const w of a){if(w.startsWith("ctx."))continue;const h=B(n,w);if(h===void 0)return;const l=i.push(JSON.stringify(h))-1;r=r.replace(new RegExp(w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),`<<#${l}#>>`)}const u=/\b([a-zA-Z_][a-zA-Z0-9_]*)\b/g;let m;const g=new Set;for(;(m=u.exec(r))!==null;){const w=m[1];if(["true","false","null","undefined"].includes(w)||/^[0-9]+$/.test(w)||w==="ctx"||g.has(w))continue;g.add(w);const h=B(n,w);if(h===void 0)return;const l=JSON.stringify(h),d=i.push(l)-1;w.includes(".")?r=r.replace(new RegExp(w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),`<<#${d}#>>`):r=r.replace(new RegExp("\\b"+w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b","g"),`<<#${d}#>>`)}r=r.replace(/<<#(\d+)#>>/g,(w,h)=>i[Number(h)]);try{return this.evaluateBasicExpression(r)}catch{return}}catch{return}}}static evaluateBasicExpression(t){const n=this.tokenize(t);let r=0;function i(){return n[r]}function s(c){const p=n[r++];if(c&&!p)throw new Error(`Unexpected token EOF, expected ${c}`);if(c&&p&&p.type!==c&&p.value!==c)throw new Error(`Unexpected token ${p.type}/${p.value}, expected ${c}`);return p}function o(){return a()}function a(){let c=u();if(i()&&i().value==="?"){s("?");const p=o();s(":");const y=o();return c?p:y}return c}function u(){let c=m();for(;i()&&i().value==="||";){s("OP");const p=m();c=c||p}return c}function m(){let c=g();for(;i()&&i().value==="&&";){s("OP");const p=g();c=c&&p}return c}function g(){let c=w();for(;i()&&["==","!=","===","!=="].includes(i().value);){const p=s("OP").value,y=w();switch(p){case"==":c=c==y;break;case"!=":c=c!=y;break;case"===":c=c===y;break;case"!==":c=c!==y;break}}return c}function w(){let c=h();for(;i()&&[">","<",">=","<="].includes(i().value);){const p=s("OP").value,y=h();switch(p){case">":c=c>y;break;case"<":c=c<y;break;case">=":c=c>=y;break;case"<=":c=c<=y;break}}return c}function h(){let c=l();for(;i()&&(i().value==="+"||i().value==="-");){const p=s("OP").value,y=l();c=p==="+"?c+y:c-y}return c}function l(){let c=d();for(;i()&&(i().value==="*"||i().value==="/"||i().value==="%");){const p=s("OP").value,y=d();switch(p){case"*":c=c*y;break;case"/":c=c/y;break;case"%":c=c%y;break}}return c}function d(){return i()&&i().value==="!"?(s("OP"),!d()):i()&&i().value==="-"?(s("OP"),-d()):v()}function v(){const c=i();if(c){if(c.type==="NUMBER")return s("NUMBER"),Number(c.value);if(c.type==="STRING")return s("STRING"),c.value.slice(1,-1);if(c.type==="IDENT")return s("IDENT"),c.value==="true"?!0:c.value==="false"?!1:c.value==="null"?null:void 0;if(c.value==="["){s("PUNC");const p=[];for(;i()&&i().value!=="]";)p.push(o()),i()&&i().value===","&&s("PUNC");return s("PUNC"),p}if(c.value==="("){s("PUNC");const p=o();return s("PUNC"),p}throw new Error("Unexpected token in expression")}}return o()}static tokenize(t){const n=[],r=/\s*(=>|===|!==|==|!=|>=|<=|\|\||&&|[()?:,\[\]]|\+|-|\*|\/|%|>|<|!|\d+\.?\d*|"[^"]*"|'[^']*'|[a-zA-Z_][a-zA-Z0-9_]*|\S)\s*/g;let i;for(;(i=r.exec(t))!==null;){const s=i[1];s&&(/^\d/.test(s)?n.push({type:"NUMBER",value:s}):/^"/.test(s)||/^'/.test(s)?n.push({type:"STRING",value:s}):/^[a-zA-Z_]/.test(s)?n.push({type:"IDENT",value:s}):/^[()?:,\[\]]$/.test(s)?n.push({type:"PUNC",value:s}):n.push({type:"OP",value:s}))}return n}static evaluateSimpleValue(t,n){if(t==="true")return!0;if(t==="false")return!1;if(!isNaN(Number(t)))return Number(t);if(t.startsWith("ctx.")){const r=t.slice(4);return B(n,r)}return t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'")?t.slice(1,-1):t}static clearCache(){this.cache.clear()}static getCacheSize(){return this.cache.size}}class se{static cleanupFunctions=new WeakMap;static addListener(t,n,r,i){t.addEventListener(n,r,i);const o={event:n,handler:r,options:i,cleanup:()=>t.removeEventListener(n,r,i),addedAt:Date.now()};this.cleanupFunctions.has(t)||this.cleanupFunctions.set(t,[]);const a=this.cleanupFunctions.get(t);a.push(o),this.cleanupFunctions.get(t).__metaList=a}static removeListener(t,n,r,i){t.removeEventListener(n,r,i);const s=this.cleanupFunctions.get(t);if(s){const o=s.__metaList||null;if(o){const a=o.findIndex(u=>u.event===n&&u.handler===r&&JSON.stringify(u.options)===JSON.stringify(i));if(a>=0){try{o[a].cleanup()}catch{}o.splice(a,1)}o.length===0&&this.cleanupFunctions.delete(t)}else{const a=s.findIndex(()=>!0);a>=0&&(s.splice(a,1),s.length===0&&this.cleanupFunctions.delete(t))}}}static cleanup(t){const n=this.cleanupFunctions.get(t);n&&((n.__metaList||n).forEach(i=>{try{typeof i=="function"?i():i&&typeof i.cleanup=="function"&&i.cleanup()}catch(s){console.error("Error during event cleanup:",s)}}),this.cleanupFunctions.delete(t))}static cleanupAll(){try{this.cleanupFunctions=new WeakMap}catch(t){console.error("Error during global cleanup:",t)}}static hasListeners(t){const n=this.cleanupFunctions.get(t),r=n?n.__metaList||n:void 0;return!!(r&&r.length>0)}static getListenerCount(t){const n=this.cleanupFunctions.get(t),r=n?n.__metaList||n:void 0;return r?r.length:0}}function ce(e,t){if(t&&e instanceof HTMLElement){se.cleanup(e);for(const n in t)t[n]===e&&delete t[n];for(const n of Array.from(e.childNodes))ce(n,t)}}function he(e,t,n){if(typeof e=="string")return;const r=e.props?.reactiveRef??(e.props?.props&&e.props.props.reactiveRef),i=e.props?.ref??(e.props?.props&&e.props.props.ref);r?r.value=t:i&&n&&(n[i]=t)}function Rt(e,t,n,r,i,s,o,a){if(!s)return;const u=t.includes("lazy"),m=t.includes("trim"),g=t.includes("number"),w=e&&typeof e=="object"&&"value"in e&&typeof e.value<"u",h=()=>{if(w){const C=e.value;return a&&typeof C=="object"&&C!==null?C[a]:C}return B(s._state||s,e)},l=h();let d="text";o instanceof HTMLInputElement?d=r?.type||o.type||"text":o instanceof HTMLSelectElement?d="select":o instanceof HTMLTextAreaElement&&(d="textarea");const v=o instanceof HTMLInputElement||o instanceof HTMLTextAreaElement||o instanceof HTMLSelectElement,c=v?d==="checkbox"||d==="radio"?"checked":"value":a??"modelValue";if(d==="checkbox")if(Array.isArray(l))n[c]=l.includes(String(o?.getAttribute("value")??r?.value??""));else{const C=o?.getAttribute("true-value")??!0;n[c]=l===C}else if(d==="radio")n[c]=l===(r?.value??"");else if(d==="select")if(o&&o.hasAttribute("multiple")&&o instanceof HTMLSelectElement){const C=Array.isArray(l)?l.map(String):[];setTimeout(()=>{Array.from(o.options).forEach(k=>{k.selected=C.includes(k.value)})},0),n[c]=Array.isArray(l)?l:[]}else n[c]=l;else{n[c]=l;try{const C=ne(c);r&&(r[C]=l)}catch{}}const p=u||d==="checkbox"||d==="radio"||d==="select"?"change":"input",y=C=>{if(C.isComposing||i._isComposing)return;const k=typeof globalThis.process<"u"&&globalThis.process.env?.NODE_ENV==="test"||typeof window<"u"&&window.__vitest__;if(C.isTrusted===!1&&!k)return;const f=C.target;if(!f||f._modelUpdating)return;let x=f.value;if(d==="checkbox"){const T=h();if(Array.isArray(T)){const O=f.getAttribute("value")??"",A=Array.from(T);if(f.checked)A.includes(O)||A.push(O);else{const L=A.indexOf(O);L>-1&&A.splice(L,1)}x=A}else{const O=f.getAttribute("true-value")??!0,A=f.getAttribute("false-value")??!1;x=f.checked?O:A}}else if(d==="radio")x=f.getAttribute("value")??f.value;else if(d==="select"&&f.multiple)x=Array.from(f.selectedOptions).map(T=>T.value);else if(m&&typeof x=="string"&&(x=x.trim()),g){const T=Number(x);isNaN(T)||(x=T)}const R=s._state||s,_=h();if(Array.isArray(x)&&Array.isArray(_)?JSON.stringify([...x].sort())!==JSON.stringify([..._].sort()):x!==_){f._modelUpdating=!0;try{if(w)if(a&&typeof e.value=="object"&&e.value!==null){const T={...e.value};T[a]=x,e.value=T}else e.value=x;else Ce(R,e,x);if(s._requestRender&&s._requestRender(),s._triggerWatchers){const T=w?"reactiveState":e;s._triggerWatchers(T,x)}if(f){const T=`update:${ne(c)}`,O=new CustomEvent(T,{detail:x,bubbles:!0,composed:!0});f.dispatchEvent(O)}}finally{setTimeout(()=>f._modelUpdating=!1,0)}}};if(v){if(i[p]){const C=i[p];o&&se.removeListener(o,p,C)}i[p]=y}else{const C=`update:${ne(c)}`;if(i[C]){const k=i[C];o&&se.removeListener(o,C,k)}i[C]=k=>{const f=s._state||s,x=k.detail!==void 0?k.detail:k.target?.value,R=B(f,e);if(Array.isArray(x)&&Array.isArray(R)?JSON.stringify([...x].sort())!==JSON.stringify([...R].sort()):x!==R){Ce(f,e,x),s._requestRender&&s._requestRender(),s._triggerWatchers&&s._triggerWatchers(e,x);const S=k.target;if(S){S[c]=x;try{const T=ne(c);typeof x=="boolean"?x?S.setAttribute(T,"true"):S.setAttribute(T,"false"):S.setAttribute(T,String(x))}catch{}queueMicrotask(()=>{typeof S._applyProps=="function"&&S._applyProps(S._cfg),typeof S._requestRender=="function"&&S._requestRender()})}}}}(d==="text"||d==="textarea")&&(i.compositionstart=(()=>i._isComposing=!0),i.compositionend=C=>{i._isComposing=!1;const k=C.target;k&&setTimeout(()=>{const f=k.value,x=s._state||s,R=B(x,e);let _=f;if(m&&(_=_.trim()),g){const T=Number(_);isNaN(T)||(_=T)}if(Array.isArray(_)&&Array.isArray(R)?JSON.stringify([..._].sort())!==JSON.stringify([...R].sort()):_!==R){k._modelUpdating=!0;try{Ce(x,e,_),s._requestRender&&s._requestRender(),s._triggerWatchers&&s._triggerWatchers(e,_)}finally{setTimeout(()=>k._modelUpdating=!1,0)}}},0)})}function Ye(e){const t=e.slice(2);return t?t.charAt(0).toLowerCase()+t.slice(1):""}function Tt(e,t,n,r){if(typeof e=="object"&&e!==null)for(const[i,s]of Object.entries(e))i.startsWith("data-")||i.startsWith("aria-")||i==="class"?n[i]=s:t[i]=s;else if(typeof e=="string"){if(!r)return;try{const i=ge(e,r);if(typeof i=="object"&&i!==null){for(const[s,o]of Object.entries(i))s.startsWith("data-")||s.startsWith("aria-")||s==="class"?n[s]=o:t[s]=o;return}else{n[e]=i;return}}catch{const i=B(r,e);n[e]=i}}}function Ot(e,t,n){let r;if(typeof e=="string"){if(!n)return;r=ge(e,n)}else r=e;const i=t.style||"";let s=i;if(r){if(i){const o=i.split(";").map(u=>u.trim()).filter(Boolean),a=o.findIndex(u=>u.startsWith("display:"));a>=0&&o[a]==="display: none"&&(o.splice(a,1),s=o.length>0?o.join("; ")+";":"")}}else if(i){const o=i.split(";").filter(Boolean),a=o.findIndex(u=>u.trim().startsWith("display:"));a>=0?o[a]="display: none":o.push("display: none"),s=o.join("; ")}else s="display: none";s!==i&&(s?t.style=s:delete t.style)}function ge(e,t){return At.evaluate(e,t)}function Pt(e,t,n){let r;if(typeof e=="string"){if(!n)return;r=ge(e,n)}else r=e;let i=[];typeof r=="string"?i=[r]:Array.isArray(r)?i=r.filter(Boolean):typeof r=="object"&&r!==null&&(i=Object.entries(r).filter(([,a])=>!!a).flatMap(([a])=>a.split(/\s+/).filter(Boolean)));const s=t.class||"",o=s?`${s} ${i.join(" ")}`.trim():i.join(" ");o&&(t.class=o)}function Lt(e,t,n){let r;if(typeof e=="string"){if(!n)return;r=ge(e,n)}else r=e;let i="";if(typeof r=="string")i=r;else if(r&&typeof r=="object"){const o=[];for(const[a,u]of Object.entries(r))if(u!=null&&u!==""){const m=a.replace(/[A-Z]/g,h=>`-${h.toLowerCase()}`),g=["width","height","top","right","bottom","left","margin","margin-top","margin-right","margin-bottom","margin-left","padding","padding-top","padding-right","padding-bottom","padding-left","font-size","line-height","border-width","border-radius","min-width","max-width","min-height","max-height"];let w=String(u);typeof u=="number"&&g.includes(m)&&(w=`${u}px`),o.push(`${m}: ${w}`)}i=o.join("; ")+(o.length>0?";":"")}const s=t.style||"";t.style=s+(s&&!s.endsWith(";")?"; ":"")+i}function jt(e,t,n){let r=e;typeof e=="string"&&n&&(r=ge(e,n)),r&&typeof r=="object"&&r.constructor?.name==="ReactiveState"?t.reactiveRef=r:t.ref=r}function et(e,t,n,r){const i={},s={...r||{}},o={};for(const[a,u]of Object.entries(e)){const{value:m,modifiers:g,arg:w}=u;if(a==="model"||a.startsWith("model:")){const h=a.split(":"),l=h.length>1?h[1]:w;Rt(m,g,i,s,o,t,n,l);continue}switch(a){case"bind":Tt(m,i,s,t);break;case"show":Ot(m,s,t);break;case"class":Pt(m,s,t);break;case"style":Lt(m,s,t);break;case"ref":jt(m,i,t);break}}return{props:i,attrs:s,listeners:o}}function Me(e,t){if(Array.isArray(e)){const s=new Set;return e.map(o=>{if(!o||typeof o!="object")return o;let a=o.props?.key??o.key;if(!a){const w=o.tag||"node",l=[o.props?.attrs?.id,o.props?.attrs?.name,o.props?.attrs?.["data-key"],o.props?.props?.id,o.props?.props?.name,o.props?.props?.dataKey,o.props?.props?.["data-key"]].find(d=>d!=null)??"";a=l?`${t}:${w}:${l}`:`${t}:${w}`}let u=a,m=1;for(;s.has(u);)u=`${a}#${m++}`;s.add(u);let g=o.children;return Array.isArray(g)&&(g=Me(g,u)),{...o,key:u,children:g}})}const n=e;let r=n.props?.key??n.key??t,i=n.children;return Array.isArray(i)&&(i=Me(i,r)),{...n,key:r,children:i}}function tt(e,t,n,r){const i=n.directives??{},s=et(i,r,e,n.attrs),o={...t.props,...n.props,...s.props},a={...t.attrs,...n.attrs,...s.attrs},u=t.props??{},m=o,g=n?.isCustomElement??t?.isCustomElement??!1;let w=!1;for(const d in{...u,...m}){const v=u[d],b=m[d];if(v!==b)if(w=!0,d==="value"&&(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement))e.value!==b&&(e.value=b??"");else if(d==="checked"&&e instanceof HTMLInputElement)e.checked=!!b;else if(d.startsWith("on")&&typeof b=="function"){const c=Ye(d);typeof v=="function"&&se.removeListener(e,c,v),se.addListener(e,c,b)}else if(b==null)e.removeAttribute(d);else if((n?.isCustomElement??t?.isCustomElement??!1)||d in e)try{e[d]=b}catch{}else b===!1&&e.removeAttribute(d)}for(const[d,v]of Object.entries(s.listeners||{}))se.addListener(e,d,v);const h=t.attrs??{},l=a;for(const d in{...h,...l}){const v=h[d],b=l[d];let c=v,p=b;if(v&&typeof v=="object"&&v.constructor?.name==="ReactiveState"&&(c=v.value),b&&typeof b=="object"&&b.constructor?.name==="ReactiveState"&&(p=b.value),c!==p)if(w=!0,p==null||p===!1){if(e.removeAttribute(d),d==="value"){if(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)try{e.value=""}catch{}else if(e instanceof HTMLSelectElement)try{e.value=""}catch{}else if(e instanceof HTMLProgressElement)try{e.value=0}catch{}}if(d==="checked"&&e instanceof HTMLInputElement)try{e.checked=!1}catch{}if(d==="disabled")try{e.disabled=!1}catch{}}else{if(d==="value"){if(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement){try{e.value=p??""}catch{e.setAttribute(d,String(p))}continue}else if(e instanceof HTMLSelectElement){try{e.value=p??""}catch{}continue}else if(e instanceof HTMLProgressElement){try{e.value=Number(p)}catch{}continue}}if(d==="checked"&&e instanceof HTMLInputElement){try{e.checked=!!p}catch{}continue}if(d==="style"){e.setAttribute(d,String(p));continue}const y=e.namespaceURI==="http://www.w3.org/2000/svg";if(g&&!y&&d.includes("-")){const C=Ge(d);try{e[C]=p}catch{e.setAttribute(d,String(p))}}else if(!y&&d in e)try{e[d]=p}catch{e.setAttribute(d,String(p))}else e.setAttribute(d,String(p))}}if(g&&w)try{if(typeof e._applyProps=="function")try{e._applyProps(e._cfg)}catch{}typeof e.requestRender=="function"?e.requestRender():typeof e._render=="function"&&e._render(e._cfg)}catch{}}function Z(e,t,n){if(typeof e=="string")return document.createTextNode(e);if(e.tag==="#text"){const h=document.createTextNode(typeof e.children=="string"?e.children:"");return e.key!=null&&(h.key=e.key),h}if(e.tag==="#anchor"){const h=e,l=Array.isArray(h.children)?h.children:[],d=document.createTextNode(""),v=document.createTextNode("");h.key!=null&&(d.key=`${h.key}:start`,v.key=`${h.key}:end`),h._startNode=d,h._endNode=v;const b=document.createDocumentFragment();b.appendChild(d);for(const c of l){const p=Z(c,t);b.appendChild(p)}return b.appendChild(v),b}const r=document.createElement(e.tag);e.key!=null&&(r.key=e.key);const{props:i={},attrs:s={},directives:o={}}=e.props??{},a=et(o,t,r,s),u={...i,...a.props},m={...s,...a.attrs},g=r.namespaceURI==="http://www.w3.org/2000/svg";for(const h in m){const l=m[h];if(!(typeof h!="string"||/\[object Object\]/.test(h))){if(typeof l=="boolean")l&&r.setAttribute(h,"");else if(l!=null)if(!g&&h==="value"&&(r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement||r instanceof HTMLSelectElement||r instanceof HTMLProgressElement))try{r instanceof HTMLProgressElement?r.value=Number(l):r.value=l??""}catch{r.setAttribute(h,String(l))}else if(!g&&h==="checked"&&r instanceof HTMLInputElement)try{r.checked=!!l}catch{r.setAttribute(h,String(l))}else if(!g&&h in r)try{r[h]=l}catch{r.setAttribute(h,String(l))}else if((e.props?.isCustomElement??!1)&&!g&&h.includes("-")){const v=Ge(h);try{r[v]=l}catch{r.setAttribute(h,String(l))}}else r.setAttribute(h,String(l))}}for(const h in u){const l=u[h];if(!(typeof h!="string"||/\[object Object\]/.test(h)))if(h==="value"&&(r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement||r instanceof HTMLSelectElement)){const d=typeof l=="object"&&l!==null&&typeof l.value<"u"?l.value:l;r.value=d??""}else if(h==="checked"&&r instanceof HTMLInputElement){const d=typeof l=="object"&&l!==null&&typeof l.value<"u"?l.value:l;r.checked=!!d}else if(h.startsWith("on")&&typeof l=="function")se.addListener(r,Ye(h),l);else{if(h.startsWith("on")&&l===void 0)continue;if(l==null||l===!1)r.removeAttribute(h);else if((e.props?.isCustomElement??!1)||h in r)try{const v=typeof l=="object"&&l!==null&&typeof l.value<"u"?l.value:l;r[h]=v}catch{}}}for(const[h,l]of Object.entries(a.listeners||{}))se.addListener(r,h,l);const w={...e,props:{...e.props,...a.props}};he(w,r,n);try{if(typeof r._applyProps=="function")try{r._applyProps(r._cfg)}catch{}typeof r.requestRender=="function"?r.requestRender():typeof r._render=="function"&&r._render(r._cfg)}catch{}if(Array.isArray(e.children))for(const h of e.children)r.appendChild(Z(h,t,n));else typeof e.children=="string"&&(r.textContent=e.children);try{if(r instanceof HTMLSelectElement&&m&&m.hasOwnProperty("value"))try{r.value=m.value??""}catch{}}catch{}return r}function Mt(e,t,n,r,i){if(typeof n=="string"){e.textContent!==n&&(e.textContent=n);return}if(!Array.isArray(n))return;const s=Array.from(e.childNodes),o=Array.isArray(t)?t:[],a=new Map;for(const l of o)l&&l.key!=null&&a.set(l.key,l);const u=new Map;for(const l of s){const d=l.key;d!=null&&u.set(d,l)}const m=new Set;let g=e.firstChild;function w(l,d){let v=l;for(;v&&(m.add(v),v!==d);)v=v.nextSibling}function h(l,d,v,b){const c=[];let p=l.nextSibling;for(;p&&p!==d;)c.push(p),p=p.nextSibling;const y=Array.isArray(v)?v:[];if(b.some(k=>k&&k.key!=null)||y.some(k=>k&&k.key!=null)){const k=new Map,f=new Map;for(const _ of y)_&&_.key!=null&&k.set(_.key,_);for(const _ of c){const S=_.key;S!=null&&f.set(S,_)}const x=new Set;let R=l.nextSibling;for(const _ of b){let S;if(_.key!=null&&f.has(_.key)){const T=k.get(_.key);S=_e(f.get(_.key),T,_,r),x.add(S),S!==R&&e.contains(S)&&e.insertBefore(S,R)}else S=Z(_,r),e.insertBefore(S,R),x.add(S);R=S.nextSibling}for(const _ of c)!x.has(_)&&e.contains(_)&&e.removeChild(_)}else{const k=Math.min(y.length,b.length);for(let f=0;f<k;f++){const x=y[f],R=b[f],_=_e(c[f],x,R,r);_!==c[f]&&(e.insertBefore(_,c[f]),e.removeChild(c[f]))}for(let f=k;f<b.length;f++)e.insertBefore(Z(b[f],r),d);for(let f=k;f<c.length;f++)e.removeChild(c[f])}}for(const l of n){let d;if(l.tag==="#anchor"){const v=l.key,b=`${v}:start`,c=`${v}:end`;let p=u.get(b),y=u.get(c);const C=Array.isArray(l.children)?l.children:[];if(p||(p=document.createTextNode(""),p.key=b),y||(y=document.createTextNode(""),y.key=c),l._startNode=p,l._endNode=y,!e.contains(p)||!e.contains(y)){e.insertBefore(p,g);for(const k of C)e.insertBefore(Z(k,r),g);e.insertBefore(y,g)}else h(p,y,a.get(v)?.children,C);w(p,y),g=y.nextSibling;continue}if(l.key!=null&&u.has(l.key)){const v=a.get(l.key);d=_e(u.get(l.key),v,l,r,i),m.add(d),d!==g&&e.contains(d)&&(g&&!e.contains(g)&&(g=null),e.insertBefore(d,g))}else d=Z(l,r,i),g&&!e.contains(g)&&(g=null),e.insertBefore(d,g),m.add(d);g=d.nextSibling}for(const l of s)!m.has(l)&&e.contains(l)&&(ce(l,i),e.removeChild(l))}function _e(e,t,n,r,i){if(t&&typeof t!="string"&&t.props?.ref&&i&&ce(e,i),t===n)return e;if(typeof n=="string"){if(e.nodeType===Node.TEXT_NODE)return e.textContent!==n&&(e.textContent=n),e;{const o=document.createTextNode(n);return e.parentNode?.replaceChild(o,e),o}}if(n&&typeof n!="string"&&n.tag==="#anchor"){const o=n,a=Array.isArray(o.children)?o.children:[],u=o._startNode??document.createTextNode(""),m=o._endNode??document.createTextNode("");o.key!=null&&(u.key=`${o.key}:start`,m.key=`${o.key}:end`),o._startNode=u,o._endNode=m;const g=document.createDocumentFragment();g.appendChild(u);for(const w of a){const h=Z(w,r);g.appendChild(h)}return g.appendChild(m),e.parentNode?.replaceChild(g,e),u}if(!n){ce(e,i);const o=document.createComment("removed");return e.parentNode?.replaceChild(o,e),o}if(!t||typeof t=="string"){ce(e,i);const o=Z(n,r,i);return he(n,o,i),e.parentNode?.replaceChild(o,e),o}if(n.tag==="#anchor"){const o=Array.isArray(n.children)?n.children:[],a=n._startNode??document.createTextNode(""),u=n._endNode??document.createTextNode("");n.key!=null&&(a.key=`${n.key}:start`,u.key=`${n.key}:end`),n._startNode=a,n._endNode=u;const m=document.createDocumentFragment();m.appendChild(a);for(const g of o)m.appendChild(Z(g,r));return m.appendChild(u),e.parentNode?.replaceChild(m,e),a}if(typeof t!="string"&&typeof n!="string"&&t.tag===n.tag&&t.key===n.key){const o=e;return tt(o,t.props||{},n.props||{},r),Mt(o,t.children,n.children,r,i),he(n,o,i),o}if(typeof t!="string"&&typeof n!="string"&&t.tag===n.tag&&(t.tag&&String(t.tag).includes("-")||n.props&&n.props.isCustomElement||t.props&&t.props.isCustomElement))try{const a=e;return tt(a,t.props||{},n.props||{},r),he(n,a,i),a}catch{}ce(e,i);const s=Z(n,r,i);return he(n,s,i),e.parentNode?.replaceChild(s,e),s}function Nt(e,t,n,r){let i;Array.isArray(t)?t.length===1?(i=t[0],i&&typeof i=="object"&&i.key==null&&(i={...i,key:"__root__"})):i={tag:"div",key:"__root__",children:t}:(i=t,i&&typeof i=="object"&&i.key==null&&(i={...i,key:"__root__"})),i&&typeof i=="object"&&i.tag==="#anchor"&&(i={tag:"div",key:"__anchor_root__",props:{attrs:{"data-anchor-block-root":"",key:"__anchor_root__"}},children:[i]}),i=Me(i,String(i.key??"root"));const s=e._prevVNode??null,o=e._prevDom??e.firstChild??null;let a;s&&o?typeof s!="string"&&typeof i!="string"&&s.tag===i.tag&&s.key===i.key?a=_e(o,s,i,n,r):(a=Z(i,n,r),e.replaceChild(a,o)):(a=Z(i,n,r),e.firstChild?e.replaceChild(a,e.firstChild):e.appendChild(a));const u=[];for(let m=0;m<e.childNodes.length;m++){const g=e.childNodes[m];g!==a&&g.nodeName!=="STYLE"&&(ce(g,r),u.push(g))}u.forEach(m=>e.removeChild(m)),e._prevVNode=i,e._prevDom=a}function Ee(e){if(typeof e=="string")return re(e);if(e.tag==="#text")return typeof e.children=="string"?re(e.children):"";if(e.tag==="#anchor")return(Array.isArray(e.children)?e.children.filter(Boolean):[]).map(Ee).join("");let t="";e.props&&e.props.attrs&&(t=Object.entries(e.props.attrs).map(([i,s])=>` ${i}="${re(String(s))}"`).join(""));let n="";e.props&&(n=Object.entries(e.props).filter(([i])=>i!=="attrs"&&i!=="directives"&&i!=="ref"&&i!=="key").map(([i,s])=>` ${i}="${re(String(s))}"`).join(""));const r=Array.isArray(e.children)?e.children.filter(Boolean).map(Ee).join(""):typeof e.children=="string"?re(e.children):e.children?Ee(e.children):"";return`<${e.tag}${t}${n}>${r}</${e.tag}>`}function nt(e,...t){let n="";for(let r=0;r<e.length;r++)n+=e[r],r<t.length&&(n+=t[r]);return n}function rt(e){return e.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s+/g," ").replace(/\s*([{}:;,>+~])\s*/g,"$1").replace(/;}/g,"}").trim()}let Se=null;function it(){return Se||(Se=new CSSStyleSheet,Se.replaceSync(rt(Dt))),Se}function Wt(e){return e.replace(/url\s*\(\s*['"]?javascript:[^)]*\)/gi,"").replace(/<script[\s\S]*?>[\s\S]*?<\/script>/gi,"").replace(/expression\s*\([^)]*\)/gi,"")}const Dt=nt`
|
|
4
|
+
• Ensure computed properties don't modify state`),this._value=this.makeReactive(t),q.triggerUpdate(this)}addDependent(t){this.dependents.add(t)}removeDependent(t){this.dependents.delete(t)}getDependents(){return this.dependents}makeReactive(t){return t===null||typeof t!="object"||t instanceof Node||t instanceof Element||t instanceof HTMLElement?t:Qe.createReactiveProxy(t,()=>q.triggerUpdate(this),n=>this.makeReactive(n))}}function vt(e){return q.getOrCreateState(e===void 0?null:e)}function ee(e){if(!e||typeof e!="object")return!1;try{const t=Symbol.for("@cer/ReactiveState");if(e[t])return!0}catch{}try{return!!(e.constructor&&e.constructor.name==="ReactiveState")}catch{return!1}}function kt(e){const t=new Me(e());return{get value(){return q.trackDependency(t),e()}}}function xt(e,t,n={}){let r=e();n.immediate&&t(r,r);const i=`watch-${Math.random().toString(36).substr(2,9)}`,s=()=>{q.setCurrentComponent(i,s);const o=e();q.clearCurrentComponent(),o!==r&&(t(o,r),r=o)};return q.setCurrentComponent(i,s),e(),q.clearCurrentComponent(),()=>{q.cleanup(i)}}const xe=new Map,Ce=new Map,_e=new Map,je=500;function re(e){if(xe.has(e))return xe.get(e);const t=e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();return xe.size<je&&xe.set(e,t),t}function Xe(e){if(Ce.has(e))return Ce.get(e);const t=e.replace(/-([a-z])/g,(n,r)=>r.toUpperCase());return Ce.size<je&&Ce.set(e,t),t}function ie(e){if(typeof e=="string"){if(_e.has(e))return _e.get(e);const t=e.replace(/[&<>"']/g,n=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[n]);return t!==e&&_e.size<je&&_e.set(e,t),t}return e}function B(e,t){if(typeof t=="string"){const n=t.split(".").reduce((r,i)=>r?.[i],e);return ee(n)?n.value:n}return t}function Ee(e,t,n){const r=String(t).split("."),i=r.pop();if(!i)return;const s=r.reduce((o,a)=>(o[a]==null&&(o[a]={}),o[a]),e);ee(s[i])?s[i].value=n:s[i]=n}const Ye=typeof process<"u"&&process.env?.NODE_ENV!=="production";function se(e,...t){Ye&&console.error(e,...t)}function Ne(e,...t){Ye&&console.warn(e,...t)}function Ct(e,t,n){if(n)for(const[r,i]of Object.entries(n)){let s,o={};if(Array.isArray(i)?(s=i[0],o=i[1]||{}):s=i,t.set(r,{callback:s,options:o,oldValue:B(e,r)}),o.immediate)try{const a=B(e,r);s(a,void 0,e)}catch(a){se(`Error in immediate watcher for "${r}":`,a)}}}function _t(e,t,n,r){const i=(o,a)=>{if(o===a)return!0;if(typeof o!=typeof a||typeof o!="object"||o===null||a===null)return!1;if(Array.isArray(o)&&Array.isArray(a))return o.length!==a.length?!1:o.every((g,b)=>i(g,a[b]));const u=Object.keys(o),m=Object.keys(a);return u.length!==m.length?!1:u.every(g=>i(o[g],a[g]))},s=t.get(n);if(s&&!i(r,s.oldValue))try{s.callback(r,s.oldValue,e),s.oldValue=r}catch(o){se(`Error in watcher for "${n}":`,o)}for(const[o,a]of t.entries())if(a.options.deep&&n.startsWith(o+"."))try{const u=B(e,o);i(u,a.oldValue)||(a.callback(u,a.oldValue,e),a.oldValue=u)}catch(u){se(`Error in deep watcher for "${o}":`,u)}}function et(e,t){return t===Boolean?e==="true":t===Number?Number(e):e}function Et(e,t,n){t&&Object.entries(t).forEach(([r,i])=>{const s=re(r),o=e.getAttribute(s);if(i.type===Function&&typeof e[r]=="function")n[r]=e[r];else if(typeof e[r]<"u")try{const a=e[r];i.type===Boolean&&typeof a=="boolean"||i.type===Number&&typeof a=="number"||i.type===Function&&typeof a=="function"?n[r]=a:n[r]=ie(et(String(a),i.type))}catch{n[r]=e[r]}else o!==null?n[r]=ie(et(o,i.type)):"default"in i&&i.default!==void 0&&(n[r]=ie(i.default))})}function $t(e,t,n){t.props&&Et(e,t.props,n)}function St(e,t,n,r){e.onConnected&&!n&&(e.onConnected(t),r(!0))}function At(e,t,n,r,i,s,o,a){e.onDisconnected&&e.onDisconnected(t),n.forEach(u=>u()),r(),i(),s(!1),o(null),a(!1)}function Tt(e,t,n,r,i){e.onAttributeChanged&&e.onAttributeChanged(t,n,r,i)}class Rt{static cache=new Map;static maxCacheSize=1e3;static dangerousPatterns=[/constructor/i,/prototype/i,/__proto__/i,/function/i,/eval/i,/import/i,/require/i,/window/i,/document/i,/global/i,/process/i,/setTimeout/i,/setInterval/i,/fetch/i,/XMLHttpRequest/i];static evaluate(t,n){const r=this.cache.get(t);if(r){if(!r.isSecure){Ne("Blocked cached dangerous expression:",t);return}return r.evaluator(n)}const i=this.createEvaluator(t);if(this.cache.size>=this.maxCacheSize){const s=this.cache.keys().next().value;s&&this.cache.delete(s)}if(this.cache.set(t,i),!i.isSecure){Ne("Blocked dangerous expression:",t);return}return i.evaluator(n)}static createEvaluator(t){if(this.hasDangerousPatterns(t))return{evaluator:()=>{},isSecure:!1};if(t.length>1e3)return{evaluator:()=>{},isSecure:!1};try{return{evaluator:this.createSafeEvaluator(t),isSecure:!0}}catch(n){return Ne("Failed to create evaluator for expression:",t,n),{evaluator:()=>{},isSecure:!1}}}static hasDangerousPatterns(t){return this.dangerousPatterns.some(n=>n.test(t))}static createSafeEvaluator(t){if(t.trim().startsWith("{")&&t.trim().endsWith("}"))return this.createObjectEvaluator(t);if(/^ctx\.[a-zA-Z0-9_\.]+$/.test(t.trim())){const n=t.trim().slice(4);return r=>B(r,n)}return t.includes("ctx")||/[+\-*/%<>=&|?:\[\]]/.test(t)?this.createSimpleEvaluator(t):n=>B(n,t)}static createObjectEvaluator(t){const n=t.trim().slice(1,-1),r=this.parseObjectProperties(n);return i=>{const s={};for(const{key:o,value:a}of r)try{if(a.startsWith("ctx.")){const u=a.slice(4);s[o]=B(i,u)}else s[o]=this.evaluateSimpleValue(a,i)}catch{s[o]=void 0}return s}}static parseObjectProperties(t){const n=[],r=t.split(",");for(const i of r){const s=i.indexOf(":");if(s===-1)continue;const o=i.slice(0,s).trim(),a=i.slice(s+1).trim(),u=o.replace(/^['"]|['"]$/g,"");n.push({key:u,value:a})}return n}static createSimpleEvaluator(t){return n=>{try{let r=t;const i=[];r=r.replace(/("[^"\\]*(?:\\.[^"\\]*)*"|'[^'\\]*(?:\\.[^'\\]*)*')/g,b=>`<<#${i.push(b)-1}#>>`);const s=r.match(/ctx\.[\w.]+/g)||[];for(const b of s){const p=b.slice(4),l=B(n,p);if(l===void 0)return;const d=i.push(JSON.stringify(l))-1;r=r.replace(new RegExp(b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),`<<#${d}#>>`)}const o=/\b[a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)+\b/g,a=r.match(o)||[];for(const b of a){if(b.startsWith("ctx."))continue;const p=B(n,b);if(p===void 0)return;const l=i.push(JSON.stringify(p))-1;r=r.replace(new RegExp(b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),`<<#${l}#>>`)}const u=/\b([a-zA-Z_][a-zA-Z0-9_]*)\b/g;let m;const g=new Set;for(;(m=u.exec(r))!==null;){const b=m[1];if(["true","false","null","undefined"].includes(b)||/^[0-9]+$/.test(b)||b==="ctx"||g.has(b))continue;g.add(b);const p=B(n,b);if(p===void 0)return;const l=JSON.stringify(p),d=i.push(l)-1;b.includes(".")?r=r.replace(new RegExp(b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),`<<#${d}#>>`):r=r.replace(new RegExp("\\b"+b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b","g"),`<<#${d}#>>`)}r=r.replace(/<<#(\d+)#>>/g,(b,p)=>i[Number(p)]);try{return this.evaluateBasicExpression(r)}catch{return}}catch{return}}}static evaluateBasicExpression(t){const n=this.tokenize(t);let r=0;function i(){return n[r]}function s(c){const h=n[r++];if(c&&!h)throw new Error(`Unexpected token EOF, expected ${c}`);if(c&&h&&h.type!==c&&h.value!==c)throw new Error(`Unexpected token ${h.type}/${h.value}, expected ${c}`);return h}function o(){return a()}function a(){let c=u();if(i()&&i().value==="?"){s("?");const h=o();s(":");const y=o();return c?h:y}return c}function u(){let c=m();for(;i()&&i().value==="||";){s("OP");const h=m();c=c||h}return c}function m(){let c=g();for(;i()&&i().value==="&&";){s("OP");const h=g();c=c&&h}return c}function g(){let c=b();for(;i()&&["==","!=","===","!=="].includes(i().value);){const h=s("OP").value,y=b();switch(h){case"==":c=c==y;break;case"!=":c=c!=y;break;case"===":c=c===y;break;case"!==":c=c!==y;break}}return c}function b(){let c=p();for(;i()&&[">","<",">=","<="].includes(i().value);){const h=s("OP").value,y=p();switch(h){case">":c=c>y;break;case"<":c=c<y;break;case">=":c=c>=y;break;case"<=":c=c<=y;break}}return c}function p(){let c=l();for(;i()&&(i().value==="+"||i().value==="-");){const h=s("OP").value,y=l();c=h==="+"?c+y:c-y}return c}function l(){let c=d();for(;i()&&(i().value==="*"||i().value==="/"||i().value==="%");){const h=s("OP").value,y=d();switch(h){case"*":c=c*y;break;case"/":c=c/y;break;case"%":c=c%y;break}}return c}function d(){return i()&&i().value==="!"?(s("OP"),!d()):i()&&i().value==="-"?(s("OP"),-d()):v()}function v(){const c=i();if(c){if(c.type==="NUMBER")return s("NUMBER"),Number(c.value);if(c.type==="STRING")return s("STRING"),c.value.slice(1,-1);if(c.type==="IDENT")return s("IDENT"),c.value==="true"?!0:c.value==="false"?!1:c.value==="null"?null:void 0;if(c.value==="["){s("PUNC");const h=[];for(;i()&&i().value!=="]";)h.push(o()),i()&&i().value===","&&s("PUNC");return s("PUNC"),h}if(c.value==="("){s("PUNC");const h=o();return s("PUNC"),h}throw new Error("Unexpected token in expression")}}return o()}static tokenize(t){const n=[],r=/\s*(=>|===|!==|==|!=|>=|<=|\|\||&&|[()?:,\[\]]|\+|-|\*|\/|%|>|<|!|\d+\.?\d*|"[^"]*"|'[^']*'|[a-zA-Z_][a-zA-Z0-9_]*|\S)\s*/g;let i;for(;(i=r.exec(t))!==null;){const s=i[1];s&&(/^\d/.test(s)?n.push({type:"NUMBER",value:s}):/^"/.test(s)||/^'/.test(s)?n.push({type:"STRING",value:s}):/^[a-zA-Z_]/.test(s)?n.push({type:"IDENT",value:s}):/^[()?:,\[\]]$/.test(s)?n.push({type:"PUNC",value:s}):n.push({type:"OP",value:s}))}return n}static evaluateSimpleValue(t,n){if(t==="true")return!0;if(t==="false")return!1;if(!isNaN(Number(t)))return Number(t);if(t.startsWith("ctx.")){const r=t.slice(4);return B(n,r)}return t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'")?t.slice(1,-1):t}static clearCache(){this.cache.clear()}static getCacheSize(){return this.cache.size}}class oe{static cleanupFunctions=new WeakMap;static addListener(t,n,r,i){t.addEventListener(n,r,i);const o={event:n,handler:r,options:i,cleanup:()=>t.removeEventListener(n,r,i),addedAt:Date.now()};this.cleanupFunctions.has(t)||this.cleanupFunctions.set(t,[]);const a=this.cleanupFunctions.get(t);a.push(o),this.cleanupFunctions.get(t).__metaList=a}static removeListener(t,n,r,i){t.removeEventListener(n,r,i);const s=this.cleanupFunctions.get(t);if(s){const o=s.__metaList||null;if(o){const a=o.findIndex(u=>u.event===n&&u.handler===r&&JSON.stringify(u.options)===JSON.stringify(i));if(a>=0){try{o[a].cleanup()}catch{}o.splice(a,1)}o.length===0&&this.cleanupFunctions.delete(t)}else{const a=s.findIndex(()=>!0);a>=0&&(s.splice(a,1),s.length===0&&this.cleanupFunctions.delete(t))}}}static cleanup(t){const n=this.cleanupFunctions.get(t);n&&((n.__metaList||n).forEach(i=>{try{typeof i=="function"?i():i&&typeof i.cleanup=="function"&&i.cleanup()}catch(s){console.error("Error during event cleanup:",s)}}),this.cleanupFunctions.delete(t))}static cleanupAll(){try{this.cleanupFunctions=new WeakMap}catch(t){console.error("Error during global cleanup:",t)}}static hasListeners(t){const n=this.cleanupFunctions.get(t),r=n?n.__metaList||n:void 0;return!!(r&&r.length>0)}static getListenerCount(t){const n=this.cleanupFunctions.get(t),r=n?n.__metaList||n:void 0;return r?r.length:0}}function le(e,t){if(t&&e instanceof HTMLElement){oe.cleanup(e);for(const n in t)t[n]===e&&delete t[n];for(const n of Array.from(e.childNodes))le(n,t)}}function me(e,t,n){if(typeof e=="string")return;const r=e.props?.reactiveRef??(e.props?.props&&e.props.props.reactiveRef),i=e.props?.ref??(e.props?.props&&e.props.props.ref);r?r.value=t:i&&n&&(n[i]=t)}function Ot(e,t,n,r,i,s,o,a){if(!s)return;const u=t.includes("lazy"),m=t.includes("trim"),g=t.includes("number"),b=e&&typeof e=="object"&&"value"in e&&typeof e.value<"u",p=()=>{if(b){const C=e.value;return a&&typeof C=="object"&&C!==null?C[a]:C}return B(s._state||s,e)},l=p();let d="text";o instanceof HTMLInputElement?d=r?.type||o.type||"text":o instanceof HTMLSelectElement?d="select":o instanceof HTMLTextAreaElement&&(d="textarea");const v=o instanceof HTMLInputElement||o instanceof HTMLTextAreaElement||o instanceof HTMLSelectElement,c=v?d==="checkbox"||d==="radio"?"checked":"value":a??"modelValue";if(d==="checkbox")if(Array.isArray(l))n[c]=l.includes(String(o?.getAttribute("value")??r?.value??""));else{const C=o?.getAttribute("true-value")??!0;n[c]=l===C}else if(d==="radio")n[c]=l===(r?.value??"");else if(d==="select")if(o&&o.hasAttribute("multiple")&&o instanceof HTMLSelectElement){const C=Array.isArray(l)?l.map(String):[];setTimeout(()=>{Array.from(o.options).forEach(x=>{x.selected=C.includes(x.value)})},0),n[c]=Array.isArray(l)?l:[]}else n[c]=l;else{n[c]=l;try{const C=re(c);r&&(r[C]=l)}catch{}}const h=u||d==="checkbox"||d==="radio"||d==="select"?"change":"input",y=C=>{if(C.isComposing||i._isComposing)return;const x=typeof globalThis.process<"u"&&globalThis.process.env?.NODE_ENV==="test"||typeof window<"u"&&window.__vitest__;if(C.isTrusted===!1&&!x)return;const f=C.target;if(!f||f._modelUpdating)return;let k=f.value;if(d==="checkbox"){const R=p();if(Array.isArray(R)){const O=f.getAttribute("value")??"",A=Array.from(R);if(f.checked)A.includes(O)||A.push(O);else{const L=A.indexOf(O);L>-1&&A.splice(L,1)}k=A}else{const O=f.getAttribute("true-value")??!0,A=f.getAttribute("false-value")??!1;k=f.checked?O:A}}else if(d==="radio")k=f.getAttribute("value")??f.value;else if(d==="select"&&f.multiple)k=Array.from(f.selectedOptions).map(R=>R.value);else if(m&&typeof k=="string"&&(k=k.trim()),g){const R=Number(k);isNaN(R)||(k=R)}const T=s._state||s,_=p();if(Array.isArray(k)&&Array.isArray(_)?JSON.stringify([...k].sort())!==JSON.stringify([..._].sort()):k!==_){f._modelUpdating=!0;try{if(b)if(a&&typeof e.value=="object"&&e.value!==null){const R={...e.value};R[a]=k,e.value=R}else e.value=k;else Ee(T,e,k);if(s._requestRender&&s._requestRender(),s._triggerWatchers){const R=b?"reactiveState":e;s._triggerWatchers(R,k)}if(f){const R=`update:${re(c)}`,O=new CustomEvent(R,{detail:k,bubbles:!0,composed:!0});f.dispatchEvent(O)}}finally{setTimeout(()=>f._modelUpdating=!1,0)}}};if(v){if(i[h]){const C=i[h];o&&oe.removeListener(o,h,C)}i[h]=y}else{const C=`update:${re(c)}`;if(i[C]){const x=i[C];o&&oe.removeListener(o,C,x)}i[C]=x=>{const f=s._state||s,k=x.detail!==void 0?x.detail:x.target?.value,T=B(f,e);if(Array.isArray(k)&&Array.isArray(T)?JSON.stringify([...k].sort())!==JSON.stringify([...T].sort()):k!==T){Ee(f,e,k),s._requestRender&&s._requestRender(),s._triggerWatchers&&s._triggerWatchers(e,k);const $=x.target;if($){$[c]=k;try{const R=re(c);typeof k=="boolean"?k?$.setAttribute(R,"true"):$.setAttribute(R,"false"):$.setAttribute(R,String(k))}catch{}queueMicrotask(()=>{typeof $._applyProps=="function"&&$._applyProps($._cfg),typeof $._requestRender=="function"&&$._requestRender()})}}}}(d==="text"||d==="textarea")&&(i.compositionstart=(()=>i._isComposing=!0),i.compositionend=C=>{i._isComposing=!1;const x=C.target;x&&setTimeout(()=>{const f=x.value,k=s._state||s,T=B(k,e);let _=f;if(m&&(_=_.trim()),g){const R=Number(_);isNaN(R)||(_=R)}if(Array.isArray(_)&&Array.isArray(T)?JSON.stringify([..._].sort())!==JSON.stringify([...T].sort()):_!==T){x._modelUpdating=!0;try{Ee(k,e,_),s._requestRender&&s._requestRender(),s._triggerWatchers&&s._triggerWatchers(e,_)}finally{setTimeout(()=>x._modelUpdating=!1,0)}}},0)})}function tt(e){const t=e.slice(2);return t?t.charAt(0).toLowerCase()+t.slice(1):""}function Pt(e,t,n,r){if(typeof e=="object"&&e!==null)for(const[i,s]of Object.entries(e))i.startsWith("data-")||i.startsWith("aria-")||i==="class"?n[i]=s:t[i]=s;else if(typeof e=="string"){if(!r)return;try{const i=ye(e,r);if(typeof i=="object"&&i!==null){for(const[s,o]of Object.entries(i))s.startsWith("data-")||s.startsWith("aria-")||s==="class"?n[s]=o:t[s]=o;return}else{n[e]=i;return}}catch{const i=B(r,e);n[e]=i}}}function Lt(e,t,n){let r;if(typeof e=="string"){if(!n)return;r=ye(e,n)}else r=e;const i=t.style||"";let s=i;if(r){if(i){const o=i.split(";").map(u=>u.trim()).filter(Boolean),a=o.findIndex(u=>u.startsWith("display:"));a>=0&&o[a]==="display: none"&&(o.splice(a,1),s=o.length>0?o.join("; ")+";":"")}}else if(i){const o=i.split(";").filter(Boolean),a=o.findIndex(u=>u.trim().startsWith("display:"));a>=0?o[a]="display: none":o.push("display: none"),s=o.join("; ")}else s="display: none";s!==i&&(s?t.style=s:delete t.style)}function ye(e,t){return Rt.evaluate(e,t)}function Mt(e,t,n){let r;if(typeof e=="string"){if(!n)return;r=ye(e,n)}else r=e;let i=[];typeof r=="string"?i=[r]:Array.isArray(r)?i=r.filter(Boolean):typeof r=="object"&&r!==null&&(i=Object.entries(r).filter(([,a])=>!!a).flatMap(([a])=>a.split(/\s+/).filter(Boolean)));const s=t.class||"",o=s?`${s} ${i.join(" ")}`.trim():i.join(" ");o&&(t.class=o)}function jt(e,t,n){let r;if(typeof e=="string"){if(!n)return;r=ye(e,n)}else r=e;let i="";if(typeof r=="string")i=r;else if(r&&typeof r=="object"){const o=[];for(const[a,u]of Object.entries(r))if(u!=null&&u!==""){const m=a.replace(/[A-Z]/g,p=>`-${p.toLowerCase()}`),g=["width","height","top","right","bottom","left","margin","margin-top","margin-right","margin-bottom","margin-left","padding","padding-top","padding-right","padding-bottom","padding-left","font-size","line-height","border-width","border-radius","min-width","max-width","min-height","max-height"];let b=String(u);typeof u=="number"&&g.includes(m)&&(b=`${u}px`),o.push(`${m}: ${b}`)}i=o.join("; ")+(o.length>0?";":"")}const s=t.style||"";t.style=s+(s&&!s.endsWith(";")?"; ":"")+i}function Nt(e,t,n){let r=e;typeof e=="string"&&n&&(r=ye(e,n)),ee(r)?t.reactiveRef=r:t.ref=r}function nt(e,t,n,r){const i={},s={...r||{}},o={};for(const[a,u]of Object.entries(e)){const{value:m,modifiers:g,arg:b}=u;if(a==="model"||a.startsWith("model:")){const p=a.split(":"),l=p.length>1?p[1]:b;Ot(m,g,i,s,o,t,n,l);continue}switch(a){case"bind":Pt(m,i,s,t);break;case"show":Lt(m,s,t);break;case"class":Mt(m,s,t);break;case"style":jt(m,s,t);break;case"ref":Nt(m,i,t);break}}return{props:i,attrs:s,listeners:o}}function We(e,t){if(Array.isArray(e)){const s=new Set;return e.map(o=>{if(!o||typeof o!="object")return o;let a=o.props?.key??o.key;if(!a){const b=o.tag||"node",l=[o.props?.attrs?.id,o.props?.attrs?.name,o.props?.attrs?.["data-key"],o.props?.props?.id,o.props?.props?.name,o.props?.props?.dataKey,o.props?.props?.["data-key"]].find(d=>d!=null)??"";a=l?`${t}:${b}:${l}`:`${t}:${b}`}let u=a,m=1;for(;s.has(u);)u=`${a}#${m++}`;s.add(u);let g=o.children;return Array.isArray(g)&&(g=We(g,u)),{...o,key:u,children:g}})}const n=e;let r=n.props?.key??n.key??t,i=n.children;return Array.isArray(i)&&(i=We(i,r)),{...n,key:r,children:i}}function rt(e,t,n,r){const i=n.directives??{},s=nt(i,r,e,n.attrs),o={...t.props,...n.props,...s.props},a={...t.attrs,...n.attrs,...s.attrs},u=t.props??{},m=o,g=n?.isCustomElement??t?.isCustomElement??!1;let b=!1;for(const d in{...u,...m}){const v=u[d],w=m[d];if(v!==w)if(b=!0,d==="value"&&(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement))e.value!==w&&(e.value=w??"");else if(d==="checked"&&e instanceof HTMLInputElement)e.checked=!!w;else if(d.startsWith("on")&&typeof w=="function"){const c=tt(d);typeof v=="function"&&oe.removeListener(e,c,v),oe.addListener(e,c,w)}else if(w==null)e.removeAttribute(d);else if((n?.isCustomElement??t?.isCustomElement??!1)||d in e)try{e[d]=w}catch{}else w===!1&&e.removeAttribute(d)}for(const[d,v]of Object.entries(s.listeners||{}))oe.addListener(e,d,v);const p=t.attrs??{},l=a;for(const d in{...p,...l}){const v=p[d],w=l[d];let c=v,h=w;if(ee(v)&&(c=v.value),ee(w)&&(h=w.value),c!==h)if(b=!0,h==null||h===!1){if(e.removeAttribute(d),d==="value"){if(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)try{e.value=""}catch{}else if(e instanceof HTMLSelectElement)try{e.value=""}catch{}else if(e instanceof HTMLProgressElement)try{e.value=0}catch{}}if(d==="checked"&&e instanceof HTMLInputElement)try{e.checked=!1}catch{}if(d==="disabled")try{e.disabled=!1}catch{}}else{if(d==="value"){if(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement){try{e.value=h??""}catch{e.setAttribute(d,String(h))}continue}else if(e instanceof HTMLSelectElement){try{e.value=h??""}catch{}continue}else if(e instanceof HTMLProgressElement){try{e.value=Number(h)}catch{}continue}}if(d==="checked"&&e instanceof HTMLInputElement){try{e.checked=!!h}catch{}continue}if(d==="style"){e.setAttribute(d,String(h));continue}const y=e.namespaceURI==="http://www.w3.org/2000/svg";if(g&&!y&&d.includes("-")){const C=Xe(d);try{e[C]=h}catch{e.setAttribute(d,String(h))}}else if(!y&&d in e)try{e[d]=h}catch{e.setAttribute(d,String(h))}else e.setAttribute(d,String(h))}}if(g&&b)try{if(typeof e._applyProps=="function")try{e._applyProps(e._cfg)}catch{}typeof e.requestRender=="function"?e.requestRender():typeof e._render=="function"&&e._render(e._cfg)}catch{}}function J(e,t,n){if(typeof e=="string")return document.createTextNode(e);if(e.tag==="#text"){const p=document.createTextNode(typeof e.children=="string"?e.children:"");return e.key!=null&&(p.key=e.key),p}if(e.tag==="#anchor"){const p=e,l=Array.isArray(p.children)?p.children:[],d=document.createTextNode(""),v=document.createTextNode("");p.key!=null&&(d.key=`${p.key}:start`,v.key=`${p.key}:end`),p._startNode=d,p._endNode=v;const w=document.createDocumentFragment();w.appendChild(d);for(const c of l){const h=J(c,t);w.appendChild(h)}return w.appendChild(v),w}const r=document.createElement(e.tag);e.key!=null&&(r.key=e.key);const{props:i={},attrs:s={},directives:o={}}=e.props??{},a=nt(o,t,r,s),u={...i,...a.props},m={...s,...a.attrs},g=r.namespaceURI==="http://www.w3.org/2000/svg";for(const p in m){const l=m[p];if(!(typeof p!="string"||/\[object Object\]/.test(p))){if(typeof l=="boolean")l&&r.setAttribute(p,"");else if(l!=null)if(!g&&p==="value"&&(r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement||r instanceof HTMLSelectElement||r instanceof HTMLProgressElement))try{r instanceof HTMLProgressElement?r.value=Number(l):r.value=l??""}catch{r.setAttribute(p,String(l))}else if(!g&&p==="checked"&&r instanceof HTMLInputElement)try{r.checked=!!l}catch{r.setAttribute(p,String(l))}else if(!g&&p in r)try{r[p]=l}catch{r.setAttribute(p,String(l))}else if((e.props?.isCustomElement??!1)&&!g&&p.includes("-")){const v=Xe(p);try{r[v]=l}catch{r.setAttribute(p,String(l))}}else r.setAttribute(p,String(l))}}for(const p in u){const l=u[p];if(!(typeof p!="string"||/\[object Object\]/.test(p)))if(p==="value"&&(r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement||r instanceof HTMLSelectElement)){const d=typeof l=="object"&&l!==null&&typeof l.value<"u"?l.value:l;r.value=d??""}else if(p==="checked"&&r instanceof HTMLInputElement){const d=typeof l=="object"&&l!==null&&typeof l.value<"u"?l.value:l;r.checked=!!d}else if(p.startsWith("on")&&typeof l=="function")oe.addListener(r,tt(p),l);else{if(p.startsWith("on")&&l===void 0)continue;if(l==null||l===!1)r.removeAttribute(p);else if((e.props?.isCustomElement??!1)||p in r)try{const v=typeof l=="object"&&l!==null&&typeof l.value<"u"?l.value:l;r[p]=v}catch{}}}for(const[p,l]of Object.entries(a.listeners||{}))oe.addListener(r,p,l);const b={...e,props:{...e.props,...a.props}};me(b,r,n);try{if(typeof r._applyProps=="function")try{r._applyProps(r._cfg)}catch{}typeof r.requestRender=="function"?r.requestRender():typeof r._render=="function"&&r._render(r._cfg)}catch{}if(Array.isArray(e.children))for(const p of e.children)r.appendChild(J(p,t,n));else typeof e.children=="string"&&(r.textContent=e.children);try{if(r instanceof HTMLSelectElement&&m&&m.hasOwnProperty("value"))try{r.value=m.value??""}catch{}}catch{}return r}function Wt(e,t,n,r,i){if(typeof n=="string"){e.textContent!==n&&(e.textContent=n);return}if(!Array.isArray(n))return;const s=Array.from(e.childNodes),o=Array.isArray(t)?t:[],a=new Map;for(const l of o)l&&l.key!=null&&a.set(l.key,l);const u=new Map;for(const l of s){const d=l.key;d!=null&&u.set(d,l)}const m=new Set;let g=e.firstChild;function b(l,d){let v=l;for(;v&&(m.add(v),v!==d);)v=v.nextSibling}function p(l,d,v,w){const c=[];let h=l.nextSibling;for(;h&&h!==d;)c.push(h),h=h.nextSibling;const y=Array.isArray(v)?v:[];if(w.some(x=>x&&x.key!=null)||y.some(x=>x&&x.key!=null)){const x=new Map,f=new Map;for(const _ of y)_&&_.key!=null&&x.set(_.key,_);for(const _ of c){const $=_.key;$!=null&&f.set($,_)}const k=new Set;let T=l.nextSibling;for(const _ of w){let $;if(_.key!=null&&f.has(_.key)){const R=x.get(_.key);$=$e(f.get(_.key),R,_,r),k.add($),$!==T&&e.contains($)&&e.insertBefore($,T)}else $=J(_,r),e.insertBefore($,T),k.add($);T=$.nextSibling}for(const _ of c)!k.has(_)&&e.contains(_)&&e.removeChild(_)}else{const x=Math.min(y.length,w.length);for(let f=0;f<x;f++){const k=y[f],T=w[f],_=$e(c[f],k,T,r);_!==c[f]&&(e.insertBefore(_,c[f]),e.removeChild(c[f]))}for(let f=x;f<w.length;f++)e.insertBefore(J(w[f],r),d);for(let f=x;f<c.length;f++)e.removeChild(c[f])}}for(const l of n){let d;if(l.tag==="#anchor"){const v=l.key,w=`${v}:start`,c=`${v}:end`;let h=u.get(w),y=u.get(c);const C=Array.isArray(l.children)?l.children:[];if(h||(h=document.createTextNode(""),h.key=w),y||(y=document.createTextNode(""),y.key=c),l._startNode=h,l._endNode=y,!e.contains(h)||!e.contains(y)){e.insertBefore(h,g);for(const x of C)e.insertBefore(J(x,r),g);e.insertBefore(y,g)}else p(h,y,a.get(v)?.children,C);b(h,y),g=y.nextSibling;continue}if(l.key!=null&&u.has(l.key)){const v=a.get(l.key);d=$e(u.get(l.key),v,l,r,i),m.add(d),d!==g&&e.contains(d)&&(g&&!e.contains(g)&&(g=null),e.insertBefore(d,g))}else d=J(l,r,i),g&&!e.contains(g)&&(g=null),e.insertBefore(d,g),m.add(d);g=d.nextSibling}for(const l of s)!m.has(l)&&e.contains(l)&&(le(l,i),e.removeChild(l))}function $e(e,t,n,r,i){if(t&&typeof t!="string"&&t.props?.ref&&i&&le(e,i),t===n)return e;if(typeof n=="string"){if(e.nodeType===Node.TEXT_NODE)return e.textContent!==n&&(e.textContent=n),e;{const o=document.createTextNode(n);return e.parentNode?.replaceChild(o,e),o}}if(n&&typeof n!="string"&&n.tag==="#anchor"){const o=n,a=Array.isArray(o.children)?o.children:[],u=o._startNode??document.createTextNode(""),m=o._endNode??document.createTextNode("");o.key!=null&&(u.key=`${o.key}:start`,m.key=`${o.key}:end`),o._startNode=u,o._endNode=m;const g=document.createDocumentFragment();g.appendChild(u);for(const b of a){const p=J(b,r);g.appendChild(p)}return g.appendChild(m),e.parentNode?.replaceChild(g,e),u}if(!n){le(e,i);const o=document.createComment("removed");return e.parentNode?.replaceChild(o,e),o}if(!t||typeof t=="string"){le(e,i);const o=J(n,r,i);return me(n,o,i),e.parentNode?.replaceChild(o,e),o}if(n.tag==="#anchor"){const o=Array.isArray(n.children)?n.children:[],a=n._startNode??document.createTextNode(""),u=n._endNode??document.createTextNode("");n.key!=null&&(a.key=`${n.key}:start`,u.key=`${n.key}:end`),n._startNode=a,n._endNode=u;const m=document.createDocumentFragment();m.appendChild(a);for(const g of o)m.appendChild(J(g,r));return m.appendChild(u),e.parentNode?.replaceChild(m,e),a}if(typeof t!="string"&&typeof n!="string"&&t.tag===n.tag&&t.key===n.key){const o=e;return rt(o,t.props||{},n.props||{},r),Wt(o,t.children,n.children,r,i),me(n,o,i),o}if(typeof t!="string"&&typeof n!="string"&&t.tag===n.tag&&(t.tag&&String(t.tag).includes("-")||n.props&&n.props.isCustomElement||t.props&&t.props.isCustomElement))try{const a=e;return rt(a,t.props||{},n.props||{},r),me(n,a,i),a}catch{}le(e,i);const s=J(n,r,i);return me(n,s,i),e.parentNode?.replaceChild(s,e),s}function zt(e,t,n,r){let i;Array.isArray(t)?t.length===1?(i=t[0],i&&typeof i=="object"&&i.key==null&&(i={...i,key:"__root__"})):i={tag:"div",key:"__root__",children:t}:(i=t,i&&typeof i=="object"&&i.key==null&&(i={...i,key:"__root__"})),i&&typeof i=="object"&&i.tag==="#anchor"&&(i={tag:"div",key:"__anchor_root__",props:{attrs:{"data-anchor-block-root":"",key:"__anchor_root__"}},children:[i]}),i=We(i,String(i.key??"root"));const s=e._prevVNode??null,o=e._prevDom??e.firstChild??null;let a;s&&o?typeof s!="string"&&typeof i!="string"&&s.tag===i.tag&&s.key===i.key?a=$e(o,s,i,n,r):(a=J(i,n,r),e.replaceChild(a,o)):(a=J(i,n,r),e.firstChild?e.replaceChild(a,e.firstChild):e.appendChild(a));const u=[];for(let m=0;m<e.childNodes.length;m++){const g=e.childNodes[m];g!==a&&g.nodeName!=="STYLE"&&(le(g,r),u.push(g))}u.forEach(m=>e.removeChild(m)),e._prevVNode=i,e._prevDom=a}function Se(e){if(typeof e=="string")return ie(e);if(e.tag==="#text")return typeof e.children=="string"?ie(e.children):"";if(e.tag==="#anchor")return(Array.isArray(e.children)?e.children.filter(Boolean):[]).map(Se).join("");let t="";e.props&&e.props.attrs&&(t=Object.entries(e.props.attrs).map(([i,s])=>` ${i}="${ie(String(s))}"`).join(""));let n="";e.props&&(n=Object.entries(e.props).filter(([i])=>i!=="attrs"&&i!=="directives"&&i!=="ref"&&i!=="key").map(([i,s])=>` ${i}="${ie(String(s))}"`).join(""));const r=Array.isArray(e.children)?e.children.filter(Boolean).map(Se).join(""):typeof e.children=="string"?ie(e.children):e.children?Se(e.children):"";return`<${e.tag}${t}${n}>${r}</${e.tag}>`}function it(e,...t){let n="";for(let r=0;r<e.length;r++)n+=e[r],r<t.length&&(n+=t[r]);return n}function st(e){return e.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s+/g," ").replace(/\s*([{}:;,>+~])\s*/g,"$1").replace(/;}/g,"}").trim()}let Ae=null;function ot(){return Ae||(Ae=new CSSStyleSheet,Ae.replaceSync(st(Ht))),Ae}function Dt(e){return e.replace(/url\s*\(\s*['"]?javascript:[^)]*\)/gi,"").replace(/<script[\s\S]*?>[\s\S]*?<\/script>/gi,"").replace(/expression\s*\([^)]*\)/gi,"")}const Ht=it`
|
|
5
5
|
:host, *, ::before, ::after {
|
|
6
6
|
all: isolate;
|
|
7
7
|
box-sizing: border-box;
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
sup { top: -.5em }
|
|
60
60
|
[disabled], [aria-disabled=true] { cursor: not-allowed }
|
|
61
61
|
[hidden] { display: none }
|
|
62
|
-
`,zt=Object.fromEntries(Object.entries({neutral:{50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#9f9fa9",500:"#71717b",600:"#52525c",700:"#3f3f46",800:"#27272a",900:"#18181b",950:"#09090b"},primary:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"},secondary:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81",950:"#1e1b4b"},success:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d",950:"#052e16"},info:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"},warning:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f",950:"#451a03"},error:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d",950:"#450a0a"},white:{DEFAULT:"#ffffff"},black:{DEFAULT:"#000000"},transparent:{DEFAULT:"transparent"},current:{DEFAULT:"currentColor"}}).map(([e,t])=>[e,Object.fromEntries(Object.entries(t).map(([n,r])=>[n,`var(--color-${e}${n==="DEFAULT"?"":`-${n}`}, ${r})`]))])),Ne={block:"display:block;",inline:"display:inline;","inline-block":"display:inline-block;",flex:"display:flex;","inline-flex":"display:inline-flex;",grid:"display:grid;",hidden:"display:none;","w-full":"width:100%;","w-screen":"width:100dvw;","h-full":"height:100%;","h-screen":"height:100dvw;","max-w-full":"max-width:100%;","max-h-full":"max-height:100%;","min-w-0":"min-width:0;","min-h-0":"min-height:0;","m-auto":"margin:auto;","mx-auto":"margin-inline:auto;","my-auto":"margin-block:auto;","overflow-auto":"overflow:auto;","overflow-hidden":"overflow:hidden;","overflow-visible":"overflow:visible;","overflow-scroll":"overflow:scroll;","pointer-events-none":"pointer-events:none;","pointer-events-auto":"pointer-events:auto;","sr-only":"position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;","not-sr-only":"position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal;","grid-cols-1":"grid-template-columns:repeat(1,minmax(0,1fr));","grid-cols-2":"grid-template-columns:repeat(2,minmax(0,1fr));","grid-cols-3":"grid-template-columns:repeat(3,minmax(0,1fr));","grid-cols-4":"grid-template-columns:repeat(4,minmax(0,1fr));","grid-cols-5":"grid-template-columns:repeat(5,minmax(0,1fr));","grid-cols-6":"grid-template-columns:repeat(6,minmax(0,1fr));","grid-cols-7":"grid-template-columns:repeat(7,minmax(0,1fr));","grid-cols-8":"grid-template-columns:repeat(8,minmax(0,1fr));","grid-cols-9":"grid-template-columns:repeat(9,minmax(0,1fr));","grid-cols-10":"grid-template-columns:repeat(10,minmax(0,1fr));","grid-cols-11":"grid-template-columns:repeat(11,minmax(0,1fr));","grid-cols-12":"grid-template-columns:repeat(12,minmax(0,1fr));","grid-rows-1":"grid-template-rows:repeat(1,minmax(0,1fr));","grid-rows-2":"grid-template-rows:repeat(2,minmax(0,1fr));","grid-rows-3":"grid-template-rows:repeat(3,minmax(0,1fr));","grid-rows-4":"grid-template-rows:repeat(4,minmax(0,1fr));","grid-rows-5":"grid-template-rows:repeat(5,minmax(0,1fr));","grid-rows-6":"grid-template-rows:repeat(6,minmax(0,1fr));","grid-rows-7":"grid-template-rows:repeat(7,minmax(0,1fr));","grid-rows-8":"grid-template-rows:repeat(8,minmax(0,1fr));","grid-rows-9":"grid-template-rows:repeat(9,minmax(0,1fr));","grid-rows-10":"grid-template-rows:repeat(10,minmax(0,1fr));","grid-rows-11":"grid-template-rows:repeat(11,minmax(0,1fr));","grid-rows-12":"grid-template-rows:repeat(12,minmax(0,1fr));","col-span-1":"grid-column:span 1 / span 1;","col-span-2":"grid-column:span 2 / span 2;","col-span-3":"grid-column:span 3 / span 3;","col-span-4":"grid-column:span 4 / span 4;","col-span-5":"grid-column:span 5 / span 5;","col-span-6":"grid-column:span 6 / span 6;","col-span-7":"grid-column:span 7 / span 7;","col-span-8":"grid-column:span 8 / span 8;","col-span-9":"grid-column:span 9 / span 9;","col-span-10":"grid-column:span 10 / span 10;","col-span-11":"grid-column:span 11 / span 11;","col-span-12":"grid-column:span 12 / span 12;","row-span-1":"grid-row:span 1 / span 1;","row-span-2":"grid-row:span 2 / span 2;","row-span-3":"grid-row:span 3 / span 3;","row-span-4":"grid-row:span 4 / span 4;","row-span-6":"grid-row:span 6 / span 6;","row-span-7":"grid-row:span 7 / span 7;","row-span-8":"grid-row:span 8 / span 8;","row-span-9":"grid-row:span 9 / span 9;","row-span-10":"grid-row:span 10 / span 10;","row-span-11":"grid-row:span 11 / span 11;","row-span-12":"grid-row:span 12 / span 12;",absolute:"position:absolute;",relative:"position:relative;",fixed:"position:fixed;",sticky:"position:sticky;","font-bold":"font-weight:700;","font-semibold":"font-weight:600;","font-medium":"font-weight:500;","font-light":"font-weight:300;",underline:"text-decoration-line:underline;",overline:"text-decoration-line:overline;","line-through":"text-decoration-line:line-through;","no-underline":"text-decoration-line:none;",italic:"font-style:italic;","not-italic":"font-style:normal;",uppercase:"text-transform:uppercase;",lowercase:"text-transform:lowercase;",capitalize:"text-transform:capitalize;","normal-case":"text-transform:none;","text-left":"text-align:left;","text-center":"text-align:center;","text-right":"text-align:right;","text-xs":"font-size:0.75rem;line-height:calc(1 / 0.75)","text-sm":"font-size:0.875rem;line-height:calc(1.25 / 0.875)","text-base":"font-size:1rem;line-height:calc(1.5 / 1)","text-lg":"font-size:1.125rem;line-height:calc(1.75 / 1.125)","text-xl":"font-size:1.25rem;line-height:calc(1.75 / 1.25)","text-2xl":"font-size:1.5rem;line-height:calc(2 / 1.5)","text-3xl":"font-size:1.875rem;line-height:calc(2.25 / 1.875)","text-4xl":"font-size:2.25rem;line-height:calc(2.5 / 2.25)","text-5xl":"font-size:3rem;line-height:1","text-6xl":"font-size:3.75rem;line-height:1","text-7xl":"font-size:4.5rem;line-height:1","text-8xl":"font-size:6rem;line-height:1",border:"border-width:1px;","border-2":"border-width:2px;","border-4":"border-width:4px;","border-6":"border-width:6px;","border-8":"border-width:8px;","rounded-none":"border-radius:0;","rounded-xs":"border-radius:0.125rem;","rounded-sm":"border-radius:0.25rem;","rounded-md":"border-radius:0.375rem;","rounded-lg":"border-radius:0.5rem;","rounded-xl":"border-radius:0.75rem;","rounded-2xl":"border-radius:1rem;","rounded-3xl":"border-radius:1.5rem;","rounded-4xl":"border-radius:2rem;","rounded-full":"border-radius:9999px;","shadow-none":"--ce-shadow-color: rgb(0 0 0 / 0);box-shadow:0 0 var(--ce-shadow-color, #0000);","shadow-xs":"--ce-shadow-color: rgb(0 0 0 / 0.05);box-shadow:0 1px 2px 0 var(--ce-shadow-color, rgb(0 0 0 / 0.05));","shadow-sm":"--ce-shadow-color: rgb(0 0 0 / 0.1);box-shadow:0 1px 3px 0 var(--ce-shadow-color, rgb(0 0 0 / 0.1)),0 1px 2px -1px var(--ce-shadow-color, rgb(0 0 0 / 0.1));","shadow-md":"--ce-shadow-color: rgb(0 0 0 / 0.1);box-shadow:0 4px 6px -1px var(--ce-shadow-color, rgb(0 0 0 / 0.1)),0 2px 4px -2px var(--ce-shadow-color, rgb(0 0 0 / 0.1));","shadow-lg":"--ce-shadow-color: rgb(0 0 0 / 0.1);box-shadow:0 10px 15px -3px var(--ce-shadow-color, rgb(0 0 0 / 0.1)),0 4px 6px -4px var(--ce-shadow-color, rgb(0 0 0 / 0.1));","shadow-xl":"--ce-shadow-color: rgb(0 0 0 / 0.1);box-shadow:0 20px 25px -5px var(--ce-shadow-color, rgb(0 0 0 / 0.1)),0 8px 10px -6px var(--ce-shadow-color, rgb(0 0 0 / 0.1));","shadow-2xl":"--ce-shadow-color: rgb(0 0 0 / 0.25);box-shadow:0 25px 50px -12px var(--ce-shadow-color, rgb(0 0 0 / 0.25));",truncate:"overflow:hidden;text-overflow:ellipsis;white-space:nowrap;",visible:"visibility:visible;",invisible:"visibility:hidden;","items-center":"align-items:center;","items-start":"align-items:flex-start;","items-end":"align-items:flex-end;","items-baseline":"align-items:baseline;","items-stretch":"align-items:stretch;","justify-center":"justify-content:center;","justify-start":"justify-content:flex-start;","justify-between":"justify-content:space-between;","justify-around":"justify-content:space-around;","justify-evenly":"justify-content:space-evenly;","justify-end":"justify-content:flex-end;","flex-wrap":"flex-wrap:wrap;","flex-nowrap":"flex-wrap:nowrap;","flex-wrap-reverse":"flex-wrap:wrap-reverse;","content-center":"align-content:center;","content-start":"align-content:flex-start;","content-end":"align-content:flex-end;","content-between":"align-content:space-between;","content-around":"align-content:space-around;","content-stretch":"align-content:stretch;","self-auto":"align-self:auto;","self-start":"align-self:flex-start;","self-end":"align-self:flex-end;","self-center":"align-self:center;","self-stretch":"align-self:stretch;","flex-1":"flex:1 1 0%;","flex-auto":"flex:1 1 auto;","flex-initial":"flex:0 1 auto;","flex-none":"flex:0 0 auto;","flex-col":"flex-direction:column;","flex-row":"flex-direction:row;",grow:"flex-grow:1;",shrink:"flex-shrink:1;","grow-0":"flex-grow:0;","shrink-0":"flex-shrink:0;","font-sans":"font-family:ui-sans-serif,system-ui,sans-serif;","font-serif":"font-family:ui-serif,Georgia,serif;","font-mono":"font-family:ui-monospace,SFMono-Regular,monospace;","line-clamp-1":"display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;","line-clamp-2":"display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;","line-clamp-3":"display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;","line-clamp-4":"display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;",transition:"transition-property:all;transition-duration:150ms;transition-timing-function:ease-in-out;","transition-all":"transition-property:all;","transition-colors":"transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;","transition-shadow":"transition-property:box-shadow;","transition-opacity":"transition-property:opacity;","transition-transform":"transition-property:transform;","transition-none":"transition-property:none;","cursor-auto":"cursor:auto;","cursor-default":"cursor:default;","cursor-pointer":"cursor:pointer;","cursor-wait":"cursor:wait;","cursor-text":"cursor:text;","cursor-move":"cursor:move;","cursor-help":"cursor:help;","cursor-not-allowed":"cursor:not-allowed;","z-0":"z-index:0;","z-10":"z-index:10;","z-20":"z-index:20;","z-30":"z-index:30;","z-40":"z-index:40;","z-50":"z-index:50;"},Ht="0.25rem",st={m:["margin"],mx:["margin-inline"],my:["margin-block"],mt:["margin-top"],mr:["margin-right"],mb:["margin-bottom"],ml:["margin-left"],p:["padding"],px:["padding-inline"],py:["padding-block"],pt:["padding-top"],pr:["padding-right"],pb:["padding-bottom"],pl:["padding-left"],inset:["inset"],"inset-x":["inset-inline"],"inset-y":["inset-block"],h:["height"],w:["width"],"min-h":["min-height"],"min-w":["min-width"],"max-h":["max-height"],"max-w":["max-width"],top:["top"],bottom:["bottom"],left:["left"],right:["right"],gap:["gap"],"gap-x":["column-gap"],"gap-y":["row-gap"]};function G(e,t){let n=0,r=0;for(let i=0;i<e.length;i++){const s=e[i];if(s==="[")n++;else if(s==="]"&&n>0)n--;else if(s==="(")r++;else if(s===")"&&r>0)r--;else if(n===0&&r===0&&(s===">"||s==="+"||s==="~"||s===" "))return e.slice(0,i)+t+e.slice(i)}return e+t}const It={before:(e,t)=>`${e}::before{${t}}`,after:(e,t)=>`${e}::after{${t}}`,hover:(e,t)=>`${G(e,":hover")}{${t}}`,focus:(e,t)=>`${G(e,":focus")}{${t}}`,active:(e,t)=>`${G(e,":active")}{${t}}`,disabled:(e,t)=>`${G(e,":disabled")}{${t}}`,visited:(e,t)=>`${G(e,":visited")}{${t}}`,checked:(e,t)=>`${G(e,":checked")}{${t}}`,first:(e,t)=>`${G(e,":first-child")}{${t}}`,last:(e,t)=>`${G(e,":last-child")}{${t}}`,odd:(e,t)=>`${G(e,":nth-child(odd)")}{${t}}`,even:(e,t)=>`${G(e,":nth-child(even)")}{${t}}`,"focus-within":(e,t)=>`${G(e,":focus-within")}{${t}}`,"focus-visible":(e,t)=>`${G(e,":focus-visible")}{${t}}`,"group-hover":(e,t)=>`.group:hover ${e}{${t}}`,"group-focus":(e,t)=>`.group:focus ${e}{${t}}`,"group-active":(e,t)=>`.group:active ${e}{${t}}`,"group-disabled":(e,t)=>`.group:disabled ${e}{${t}}`,"peer-hover":(e,t)=>`.peer:hover ~ ${e}{${t}}`,"peer-focus":(e,t)=>`.peer:focus ~ ${e}{${t}}`,"peer-checked":(e,t)=>`.peer:checked ~ ${e}{${t}}`,"peer-disabled":(e,t)=>`.peer:disabled ~ ${e}{${t}}`},We={sm:"(min-width:640px)",md:"(min-width:768px)",lg:"(min-width:1024px)",xl:"(min-width:1280px)","2xl":"(min-width:1536px)",dark:"(prefers-color-scheme: dark)"},De=["sm","md","lg","xl","2xl"];function ze(e){const t=e.startsWith("-"),r=(t?e.slice(1):e).split("-");if(r.length<2)return null;const i=r.slice(0,-1).join("-"),s=r[r.length-1],o=parseFloat(s);if(Number.isNaN(o)||!st[i])return null;const a=t?"-":"";return st[i].map(u=>`${u}:calc(${a}${Ht} * ${o});`).join("")}function ot(e){const t=e.replace("#",""),n=parseInt(t,16),r=n>>16&255,i=n>>8&255,s=n&255;return`${r} ${i} ${s}`}function Bt(e){const t=/^(bg|text|border|decoration|shadow|outline|caret|accent|fill|stroke)-([a-z]+)-?(\d{2,3}|DEFAULT)?$/.exec(e);if(!t)return null;const[,n,r,i="DEFAULT"]=t,s=zt[r]?.[i];if(!s)return null;if(n==="shadow")return`--ce-shadow-color:${s};`;const a={bg:"background-color",decoration:"text-decoration-color",text:"color",border:"border-color",outline:"outline-color",caret:"caret-color",accent:"accent-color",fill:"fill",stroke:"stroke"}[n];return a?`${a}:${s};`:null}function Ut(e){const[t,n]=e.split("/");if(!n)return{base:t};const r=parseInt(n,10);return isNaN(r)||r<0||r>100?{base:t}:{base:t,opacity:r/100}}function He(e){const{base:t,opacity:n}=Ut(e),r=Bt(t);if(r){if(n!==void 0){const s=/#([0-9a-f]{6})/i.exec(r);if(s){const o=ot(s[0]);return r.replace(/#([0-9a-f]{6})/i,`rgb(${o} / ${n})`)}}return r}const i=$e(t);if(i&&n!==void 0){const s=/#([0-9a-f]{6})/i.exec(i);if(s){const o=ot(s[0]);return i.replace(/#([0-9a-f]{6})/i,`rgb(${o} / ${n})`)}}return i}function Ie(e){const t=/^opacity-(\d{1,3})$/.exec(e);if(!t)return null;const n=parseInt(t[1],10);return n<0||n>100?null:`opacity:${n/100};`}function $e(e){if(e.startsWith("[")&&e.endsWith("]")&&!e.includes("-[")){const i=e.slice(1,-1).trim().match(/^([a-zA-Z][a-zA-Z0-9-]*)\s*:(.*)$/);if(i){const s=i[1].trim();let o=i[2].trim();return o=o.replace(/url\('\s*([^']*?)\s*'\)/g,'url("$1")'),o=o.replace(/^'([^']*)'$/g,'"$1"'),`${s}:${o};`}return null}const t=e.indexOf("-["),n=e.endsWith("]");if(t>0&&n){const r=e.slice(0,t);let i=e.slice(t+2,-1);i=i.replace(/_/g," ");const s={bg:"background-color",text:"color",shadow:"box-shadow",p:"padding",px:"padding-inline",py:"padding-block",m:"margin",mx:"margin-inline",my:"margin-block",w:"width",h:"height","min-w":"min-width","max-w":"max-width","min-h":"min-height","max-h":"max-height","border-t":"border-top","border-b":"border-bottom","border-l":"border-left","border-r":"border-right","border-x":"border-inline","border-y":"border-block",transition:"transition-property",ease:"transition-timing-function",delay:"transition-delay",duration:"transition-duration",list:"list-style",break:"word-break",flex:"flex-direction",items:"align-items",justify:"justify-content",whitespace:"white-space",select:"user-select",content:"align-content",self:"align-self",basis:"flex-basis",tracking:"letter-spacing",scroll:"scroll-behavior",weight:"font-weight",leading:"line-height",z:"z-index"};if(r==="rotate")return`transform:rotate(${i});`;const o=s[r]??r.replace(/_/g,"-");if(o&&i)return`${o}:${i};`}return null}function qt(e){if(e.startsWith("[")&&e.endsWith("]")){const n=e.slice(1,-1);return n.includes("&")?n:e}const t=e.indexOf("-[");if(t>0&&e.endsWith("]")){const n=e.slice(t+2,-1).replace(/_/g,"-");return n.includes("&")?n:e.replace(/_/g,"-")}return null}function Ft(e){return e.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g,"\\$1")}function Kt(e){const t=/class\s*=\s*(['"])(.*?)\1/g,n=[];let r;for(;r=t.exec(e);){const i=r[2].split(/\s+/).filter(Boolean);i.length&&n.push(...i)}return n.filter(Boolean)}const at=new Map,Vt=16;function Jt(e){const t=Date.now(),n=at.get(e);if(n&&t-n.timestamp<Vt)return n.css;const r=Kt(e),i=new Set(r),s=[],o=[],a=[],u=[],m={};function g(b,c=!1){const p=(c?"dark|":"")+b;if(p in m)return m[p];const y=d(b,c);return m[p]=y,y}function w(b){const c=b.some(y=>De.includes(y)),p=b.includes("dark");return b.length===0?1:!c&&!p?2:c&&!p?3:4}function h(b){const c=[];let p="",y=0,C=0;for(let k=0;k<b.length;k++){const f=b[k];f==="["?y++:f==="]"&&y>0?y--:f==="("?C++:f===")"&&C>0&&C--,f===":"&&y===0&&C===0?(c.push(p),p=""):p+=f}return p&&c.push(p),c}function l(b){switch(b){case"hover":return":hover";case"focus":return":focus";case"active":return":active";case"visited":return":visited";case"disabled":return":disabled";case"checked":return":checked";case"first":return":first-child";case"last":return":last-child";case"odd":return":nth-child(odd)";case"even":return":nth-child(even)";case"focus-within":return":focus-within";case"focus-visible":return":focus-visible";default:return null}}function d(b,c=!1){const p=h(b);let y=!1;const C=p.find(E=>(E.startsWith("!")&&(y=!0,E=E.slice(1)),Ne[E]||ze(E)||Ie(E)||He(E)||$e(E)));if(!C)return null;const k=C.replace(/^!/,""),f=Ne[k]??ze(k)??Ie(k)??He(k)??$e(k);if(!f)return null;const x=p.indexOf(C);let R=x>=0?p.slice(0,x):[];c&&(R=R.filter(E=>E!=="dark"));const _=`.${Ft(b)}`,S="__SUBJECT__",T=y?f.replace(/;$/," !important;"):f;let O=S;const A=[];for(const E of R)E.startsWith("group-")?(O=`.group:${E.slice(6)} ${O}`,A.push(E)):E.startsWith("peer-")&&(O=O.replace(S,`.peer:${E.slice(5)}~${S}`),A.push(E));R=R.filter(E=>!A.includes(E));const L=[],F=[];let Q=null;for(const E of R){if(E==="dark"||De.includes(E))continue;const K=qt(E);if(K){Q=K;continue}const H=l(E);if(H){Q?F.push(H):L.push(H);continue}const z=It[E];typeof z=="function"&&(O=z(O,T).split("{")[0])}function Oe(E,K){if(!K)return E;let H=0,z=0;if(E.length&&(E[0]===">"||E[0]==="+"||E[0]==="~"||E[0]===" ")){let P=1;for(;P<E.length&&E[P]===" ";)P++;for(;P<E.length;P++){const I=E[P];if(I==="["?H++:I==="]"&&H>0?H--:I==="("?z++:I===")"&&z>0&&z--,H===0&&z===0&&(E[P]===">"||E[P]==="+"||E[P]==="~"||E[P]===" "))return E.slice(0,P)+K+E.slice(P)}return E+K}for(let P=0;P<E.length;P++){const I=E[P];if(I==="["?H++:I==="]"&&H>0?H--:I==="("?z++:I===")"&&z>0&&z--,H===0&&z===0&&(I===">"||I==="+"||I==="~"||I===" "))return E.slice(0,P)+K+E.slice(P)}return E+K}const V=L.join(""),j=F.join("");if(Q)if(Q.includes("&")){const E=Q.indexOf("&"),K=Q.slice(0,E),H=Q.slice(E+1),z=S+V,P=O;if(L.length===0)O=P.replace(S,K+z+j+H);else{const I=Oe(H,j);O=P.replace(S,K+z+I)}}else O=O.replace(S,`${Q}${S+V}`),j&&(O=O.replace(S,`${S}${j}`));else O=S+V+j;O=O.replace(new RegExp(S,"g"),_);let W=`${O}{${T}}`;const J=R.filter(E=>De.includes(E)),X=J.length?J[J.length-1]:null,D=R.includes("dark");return c&&X?W=`@media (prefers-color-scheme: dark) and ${We[X]}{${W}}`:c?W=`@media (prefers-color-scheme: dark){${W}}`:D&&X?W=`@media (prefers-color-scheme: dark) and ${We[X]}{${W}}`:D?W=`@media (prefers-color-scheme: dark){${W}}`:X&&(W=`@media ${We[X]}{${W}}`),W}for(const b of i){const c=h(b),p=c.find(f=>Ne[f]||ze(f)||Ie(f)||He(f)||$e(f));if(!p)continue;const y=c.indexOf(p),C=y>=0?c.slice(0,y):[],k=w(C);if(k===4){const f=g(b,!0);f&&u.push(f)}else{const f=g(b);f&&(k===1?s.push(f):k===2?o.push(f):k===3&&a.push(f))}}const v=[...s,...o,...a,...u].join("");return at.set(e,{css:v,timestamp:t}),v}const me=[];function Zt(e,t,n,r,i,s,o,a){if(e){me.push(n);try{const u=t.render(n);if(u instanceof Promise){s(!0),u.then(m=>{s(!1),o(null),ct(e,m,n,r,i),a(e.innerHTML)}).catch(m=>{s(!1),o(m)});return}ct(e,u,n,r,i),a(e.innerHTML)}finally{me.pop()}}}function ct(e,t,n,r,i){e&&(Nt(e,Array.isArray(t)?t:[t],n,r),i(e.innerHTML))}function Gt(e,t,n,r,i,s,o){if(s!==null&&clearTimeout(s),Date.now()-t<16){if(i(n+1),n===15)console.warn(`⚠️ Component is re-rendering rapidly. This might indicate:
|
|
62
|
+
`,It=Object.fromEntries(Object.entries({neutral:{50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#9f9fa9",500:"#71717b",600:"#52525c",700:"#3f3f46",800:"#27272a",900:"#18181b",950:"#09090b"},primary:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"},secondary:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81",950:"#1e1b4b"},success:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d",950:"#052e16"},info:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"},warning:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f",950:"#451a03"},error:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d",950:"#450a0a"},white:{DEFAULT:"#ffffff"},black:{DEFAULT:"#000000"},transparent:{DEFAULT:"transparent"},current:{DEFAULT:"currentColor"}}).map(([e,t])=>[e,Object.fromEntries(Object.entries(t).map(([n,r])=>[n,`var(--color-${e}${n==="DEFAULT"?"":`-${n}`}, ${r})`]))])),ue="0.25rem",Bt={"3xs":64,"2xs":72,xs:80,sm:96,md:112,lg:128,xl:144,"2xl":168,"3xl":192,"4xl":224,"5xl":256,"6xl":288,"7xl":320},Ut=()=>{const e={};for(const[t,n]of Object.entries(Bt))e[`max-w-${t}`]=`max-width:calc(${ue} * ${n});`,e[`min-w-${t}`]=`min-width:calc(${ue} * ${n});`,e[`w-${t}`]=`width:calc(${ue} * ${n});`,e[`max-h-${t}`]=`max-height:calc(${ue} * ${n});`,e[`min-h-${t}`]=`min-height:calc(${ue} * ${n});`,e[`h-${t}`]=`height:calc(${ue} * ${n});`;return e},qt=()=>{const e={};for(const t of[1,2,3,4,5,6,7,8,9,10,11,12])e[`grid-cols-${t}`]=`grid-template-columns:repeat(${t},minmax(0,1fr));`,e[`grid-rows-${t}`]=`grid-template-rows:repeat(${t},minmax(0,1fr));`,e[`col-span-${t}`]=`grid-column:span ${t} / span ${t};`,e[`row-span-${t}`]=`grid-row:span ${t} / span ${t};`;return e},ze={block:"display:block;",inline:"display:inline;","inline-block":"display:inline-block;",flex:"display:flex;","inline-flex":"display:inline-flex;",grid:"display:grid;",hidden:"display:none;","w-full":"width:100%;","w-screen":"width:100dvw;","h-full":"height:100%;","h-screen":"height:100dvw;","max-w-full":"max-width:100%;","max-h-full":"max-height:100%;","min-w-0":"min-width:0;","min-h-0":"min-height:0;",...Ut(),"m-auto":"margin:auto;","mx-auto":"margin-inline:auto;","my-auto":"margin-block:auto;","overflow-auto":"overflow:auto;","overflow-hidden":"overflow:hidden;","overflow-visible":"overflow:visible;","overflow-scroll":"overflow:scroll;","pointer-events-none":"pointer-events:none;","pointer-events-auto":"pointer-events:auto;","sr-only":"position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;","not-sr-only":"position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal;",...qt(),absolute:"position:absolute;",relative:"position:relative;",fixed:"position:fixed;",sticky:"position:sticky;","font-bold":"font-weight:700;","font-semibold":"font-weight:600;","font-medium":"font-weight:500;","font-light":"font-weight:300;",underline:"text-decoration-line:underline;",overline:"text-decoration-line:overline;","line-through":"text-decoration-line:line-through;","no-underline":"text-decoration-line:none;",italic:"font-style:italic;","not-italic":"font-style:normal;",uppercase:"text-transform:uppercase;",lowercase:"text-transform:lowercase;",capitalize:"text-transform:capitalize;","normal-case":"text-transform:none;","text-left":"text-align:left;","text-center":"text-align:center;","text-right":"text-align:right;","text-xs":"font-size:0.75rem;line-height:calc(1 / 0.75)","text-sm":"font-size:0.875rem;line-height:calc(1.25 / 0.875)","text-base":"font-size:1rem;line-height:calc(1.5 / 1)","text-lg":"font-size:1.125rem;line-height:calc(1.75 / 1.125)","text-xl":"font-size:1.25rem;line-height:calc(1.75 / 1.25)","text-2xl":"font-size:1.5rem;line-height:calc(2 / 1.5)","text-3xl":"font-size:1.875rem;line-height:calc(2.25 / 1.875)","text-4xl":"font-size:2.25rem;line-height:calc(2.5 / 2.25)","text-5xl":"font-size:3rem;line-height:1","text-6xl":"font-size:3.75rem;line-height:1","text-7xl":"font-size:4.5rem;line-height:1","text-8xl":"font-size:6rem;line-height:1",border:"border-width:1px;","border-2":"border-width:2px;","border-4":"border-width:4px;","border-6":"border-width:6px;","border-8":"border-width:8px;","rounded-none":"border-radius:0;","rounded-xs":"border-radius:0.125rem;","rounded-sm":"border-radius:0.25rem;","rounded-md":"border-radius:0.375rem;","rounded-lg":"border-radius:0.5rem;","rounded-xl":"border-radius:0.75rem;","rounded-2xl":"border-radius:1rem;","rounded-3xl":"border-radius:1.5rem;","rounded-4xl":"border-radius:2rem;","rounded-full":"border-radius:9999px;","shadow-none":"--ce-shadow-color: rgb(0 0 0 / 0);box-shadow:0 0 var(--ce-shadow-color, #0000);","shadow-xs":"--ce-shadow-color: rgb(0 0 0 / 0.05);box-shadow:0 1px 2px 0 var(--ce-shadow-color, rgb(0 0 0 / 0.05));","shadow-sm":"--ce-shadow-color: rgb(0 0 0 / 0.1);box-shadow:0 1px 3px 0 var(--ce-shadow-color, rgb(0 0 0 / 0.1)),0 1px 2px -1px var(--ce-shadow-color, rgb(0 0 0 / 0.1));","shadow-md":"--ce-shadow-color: rgb(0 0 0 / 0.1);box-shadow:0 4px 6px -1px var(--ce-shadow-color, rgb(0 0 0 / 0.1)),0 2px 4px -2px var(--ce-shadow-color, rgb(0 0 0 / 0.1));","shadow-lg":"--ce-shadow-color: rgb(0 0 0 / 0.1);box-shadow:0 10px 15px -3px var(--ce-shadow-color, rgb(0 0 0 / 0.1)),0 4px 6px -4px var(--ce-shadow-color, rgb(0 0 0 / 0.1));","shadow-xl":"--ce-shadow-color: rgb(0 0 0 / 0.1);box-shadow:0 20px 25px -5px var(--ce-shadow-color, rgb(0 0 0 / 0.1)),0 8px 10px -6px var(--ce-shadow-color, rgb(0 0 0 / 0.1));","shadow-2xl":"--ce-shadow-color: rgb(0 0 0 / 0.25);box-shadow:0 25px 50px -12px var(--ce-shadow-color, rgb(0 0 0 / 0.25));",truncate:"overflow:hidden;text-overflow:ellipsis;white-space:nowrap;",visible:"visibility:visible;",invisible:"visibility:hidden;","items-center":"align-items:center;","items-start":"align-items:flex-start;","items-end":"align-items:flex-end;","items-baseline":"align-items:baseline;","items-stretch":"align-items:stretch;","justify-center":"justify-content:center;","justify-start":"justify-content:flex-start;","justify-between":"justify-content:space-between;","justify-around":"justify-content:space-around;","justify-evenly":"justify-content:space-evenly;","justify-end":"justify-content:flex-end;","flex-wrap":"flex-wrap:wrap;","flex-nowrap":"flex-wrap:nowrap;","flex-wrap-reverse":"flex-wrap:wrap-reverse;","content-center":"align-content:center;","content-start":"align-content:flex-start;","content-end":"align-content:flex-end;","content-between":"align-content:space-between;","content-around":"align-content:space-around;","content-stretch":"align-content:stretch;","self-auto":"align-self:auto;","self-start":"align-self:flex-start;","self-end":"align-self:flex-end;","self-center":"align-self:center;","self-stretch":"align-self:stretch;","flex-1":"flex:1 1 0%;","flex-auto":"flex:1 1 auto;","flex-initial":"flex:0 1 auto;","flex-none":"flex:0 0 auto;","flex-col":"flex-direction:column;","flex-row":"flex-direction:row;",grow:"flex-grow:1;",shrink:"flex-shrink:1;","grow-0":"flex-grow:0;","shrink-0":"flex-shrink:0;","font-sans":"font-family:ui-sans-serif,system-ui,sans-serif;","font-serif":"font-family:ui-serif,Georgia,serif;","font-mono":"font-family:ui-monospace,SFMono-Regular,monospace;","line-clamp-1":"display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;","line-clamp-2":"display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;","line-clamp-3":"display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;","line-clamp-4":"display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;",transition:"transition-property:all;transition-duration:150ms;transition-timing-function:ease-in-out;","transition-all":"transition-property:all;","transition-colors":"transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;","transition-shadow":"transition-property:box-shadow;","transition-opacity":"transition-property:opacity;","transition-transform":"transition-property:transform;","transition-none":"transition-property:none;","cursor-auto":"cursor:auto;","cursor-default":"cursor:default;","cursor-pointer":"cursor:pointer;","cursor-wait":"cursor:wait;","cursor-text":"cursor:text;","cursor-move":"cursor:move;","cursor-help":"cursor:help;","cursor-not-allowed":"cursor:not-allowed;","z-0":"z-index:0;","z-10":"z-index:10;","z-20":"z-index:20;","z-30":"z-index:30;","z-40":"z-index:40;","z-50":"z-index:50;"},at={m:["margin"],mx:["margin-inline"],my:["margin-block"],mt:["margin-top"],mr:["margin-right"],mb:["margin-bottom"],ml:["margin-left"],p:["padding"],px:["padding-inline"],py:["padding-block"],pt:["padding-top"],pr:["padding-right"],pb:["padding-bottom"],pl:["padding-left"],inset:["inset"],"inset-x":["inset-inline"],"inset-y":["inset-block"],h:["height"],w:["width"],"min-h":["min-height"],"min-w":["min-width"],"max-h":["max-height"],"max-w":["max-width"],top:["top"],bottom:["bottom"],left:["left"],right:["right"],gap:["gap"],"gap-x":["column-gap"],"gap-y":["row-gap"]};function Z(e,t){let n=0,r=0;for(let i=0;i<e.length;i++){const s=e[i];if(s==="[")n++;else if(s==="]"&&n>0)n--;else if(s==="(")r++;else if(s===")"&&r>0)r--;else if(n===0&&r===0&&(s===">"||s==="+"||s==="~"||s===" "))return e.slice(0,i)+t+e.slice(i)}return e+t}const Ft={before:(e,t)=>`${e}::before{${t}}`,after:(e,t)=>`${e}::after{${t}}`,hover:(e,t)=>`${Z(e,":hover")}{${t}}`,focus:(e,t)=>`${Z(e,":focus")}{${t}}`,active:(e,t)=>`${Z(e,":active")}{${t}}`,disabled:(e,t)=>`${Z(e,":disabled")}{${t}}`,visited:(e,t)=>`${Z(e,":visited")}{${t}}`,checked:(e,t)=>`${Z(e,":checked")}{${t}}`,first:(e,t)=>`${Z(e,":first-child")}{${t}}`,last:(e,t)=>`${Z(e,":last-child")}{${t}}`,odd:(e,t)=>`${Z(e,":nth-child(odd)")}{${t}}`,even:(e,t)=>`${Z(e,":nth-child(even)")}{${t}}`,"focus-within":(e,t)=>`${Z(e,":focus-within")}{${t}}`,"focus-visible":(e,t)=>`${Z(e,":focus-visible")}{${t}}`,"group-hover":(e,t)=>`.group:hover ${e}{${t}}`,"group-focus":(e,t)=>`.group:focus ${e}{${t}}`,"group-active":(e,t)=>`.group:active ${e}{${t}}`,"group-disabled":(e,t)=>`.group:disabled ${e}{${t}}`,"peer-hover":(e,t)=>`.peer:hover ~ ${e}{${t}}`,"peer-focus":(e,t)=>`.peer:focus ~ ${e}{${t}}`,"peer-checked":(e,t)=>`.peer:checked ~ ${e}{${t}}`,"peer-disabled":(e,t)=>`.peer:disabled ~ ${e}{${t}}`},De={sm:"(min-width:640px)",md:"(min-width:768px)",lg:"(min-width:1024px)",xl:"(min-width:1280px)","2xl":"(min-width:1536px)",dark:"(prefers-color-scheme: dark)"},He=["sm","md","lg","xl","2xl"];function Ie(e){const t=e.startsWith("-"),r=(t?e.slice(1):e).split("-");if(r.length<2)return null;const i=r.slice(0,-1).join("-"),s=r[r.length-1],o=parseFloat(s);if(Number.isNaN(o)||!at[i])return null;const a=t?"-":"";return at[i].map(u=>`${u}:calc(${a}${ue} * ${o});`).join("")}function ct(e){const t=e.replace("#",""),n=parseInt(t,16),r=n>>16&255,i=n>>8&255,s=n&255;return`${r} ${i} ${s}`}function Kt(e){const t=/^(bg|text|border|decoration|shadow|outline|caret|accent|fill|stroke)-([a-z]+)-?(\d{2,3}|DEFAULT)?$/.exec(e);if(!t)return null;const[,n,r,i="DEFAULT"]=t,s=It[r]?.[i];if(!s)return null;if(n==="shadow")return`--ce-shadow-color:${s};`;const a={bg:"background-color",decoration:"text-decoration-color",text:"color",border:"border-color",outline:"outline-color",caret:"caret-color",accent:"accent-color",fill:"fill",stroke:"stroke"}[n];return a?`${a}:${s};`:null}function Vt(e){const[t,n]=e.split("/");if(!n)return{base:t};const r=parseInt(n,10);return isNaN(r)||r<0||r>100?{base:t}:{base:t,opacity:r/100}}function Be(e){const{base:t,opacity:n}=Vt(e),r=Kt(t);if(r){if(n!==void 0){const s=/#([0-9a-f]{6})/i.exec(r);if(s){const o=ct(s[0]);return r.replace(/#([0-9a-f]{6})/i,`rgb(${o} / ${n})`)}}return r}const i=Te(t);if(i&&n!==void 0){const s=/#([0-9a-f]{6})/i.exec(i);if(s){const o=ct(s[0]);return i.replace(/#([0-9a-f]{6})/i,`rgb(${o} / ${n})`)}}return i}function Ue(e){const t=/^opacity-(\d{1,3})$/.exec(e);if(!t)return null;const n=parseInt(t[1],10);return n<0||n>100?null:`opacity:${n/100};`}function Te(e){if(e.startsWith("[")&&e.endsWith("]")&&!e.includes("-[")){const i=e.slice(1,-1).trim().match(/^([a-zA-Z][a-zA-Z0-9-]*)\s*:(.*)$/);if(i){const s=i[1].trim();let o=i[2].trim();return o=o.replace(/url\('\s*([^']*?)\s*'\)/g,'url("$1")'),o=o.replace(/^'([^']*)'$/g,'"$1"'),`${s}:${o};`}return null}const t=e.indexOf("-["),n=e.endsWith("]");if(t>0&&n){const r=e.slice(0,t);let i=e.slice(t+2,-1);i=i.replace(/_/g," ");const s={bg:"background-color",text:"color",shadow:"box-shadow",p:"padding",px:"padding-inline",py:"padding-block",m:"margin",mx:"margin-inline",my:"margin-block",w:"width",h:"height","min-w":"min-width","max-w":"max-width","min-h":"min-height","max-h":"max-height","border-t":"border-top","border-b":"border-bottom","border-l":"border-left","border-r":"border-right","border-x":"border-inline","border-y":"border-block","grid-cols":"grid-template-columns","grid-rows":"grid-template-rows",transition:"transition-property",ease:"transition-timing-function",delay:"transition-delay",duration:"transition-duration",list:"list-style",break:"word-break",flex:"flex-direction",items:"align-items",justify:"justify-content",whitespace:"white-space",select:"user-select",content:"align-content",self:"align-self",basis:"flex-basis",tracking:"letter-spacing",scroll:"scroll-behavior",weight:"font-weight",leading:"line-height",z:"z-index"};if(r==="rotate")return`transform:rotate(${i});`;const o=s[r]??r.replace(/_/g,"-");if(o&&i)return`${o}:${i};`}return null}function Jt(e){if(e.startsWith("[")&&e.endsWith("]")){const n=e.slice(1,-1);return n.includes("&")?n:e}const t=e.indexOf("-[");if(t>0&&e.endsWith("]")){const n=e.slice(t+2,-1).replace(/_/g,"-");return n.includes("&")?n:e.replace(/_/g,"-")}return null}function Zt(e){return e.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g,"\\$1")}function Gt(e){const t=/class\s*=\s*(['"])(.*?)\1/g,n=[];let r;for(;r=t.exec(e);){const i=r[2].split(/\s+/).filter(Boolean);i.length&&n.push(...i)}return n.filter(Boolean)}const lt=new Map,Qt=16;function Xt(e){const t=Date.now(),n=lt.get(e);if(n&&t-n.timestamp<Qt)return n.css;const r=Gt(e),i=new Set(r),s=[],o=[],a=[],u=[],m={};function g(w,c=!1){const h=(c?"dark|":"")+w;if(h in m)return m[h];const y=d(w,c);return m[h]=y,y}function b(w){const c=w.some(y=>He.includes(y)),h=w.includes("dark");return w.length===0?1:!c&&!h?2:c&&!h?3:4}function p(w){const c=[];let h="",y=0,C=0;for(let x=0;x<w.length;x++){const f=w[x];f==="["?y++:f==="]"&&y>0?y--:f==="("?C++:f===")"&&C>0&&C--,f===":"&&y===0&&C===0?(c.push(h),h=""):h+=f}return h&&c.push(h),c}function l(w){switch(w){case"hover":return":hover";case"focus":return":focus";case"active":return":active";case"visited":return":visited";case"disabled":return":disabled";case"checked":return":checked";case"first":return":first-child";case"last":return":last-child";case"odd":return":nth-child(odd)";case"even":return":nth-child(even)";case"focus-within":return":focus-within";case"focus-visible":return":focus-visible";default:return null}}function d(w,c=!1){const h=p(w);let y=!1;const C=h.find(E=>(E.startsWith("!")&&(y=!0,E=E.slice(1)),ze[E]||Ie(E)||Ue(E)||Be(E)||Te(E)));if(!C)return null;const x=C.replace(/^!/,""),f=ze[x]??Ie(x)??Ue(x)??Be(x)??Te(x);if(!f)return null;const k=h.indexOf(C);let T=k>=0?h.slice(0,k):[];c&&(T=T.filter(E=>E!=="dark"));const _=`.${Zt(w)}`,$="__SUBJECT__",R=y?f.replace(/;$/," !important;"):f;let O=$;const A=[];for(const E of T)E.startsWith("group-")?(O=`.group:${E.slice(6)} ${O}`,A.push(E)):E.startsWith("peer-")&&(O=O.replace($,`.peer:${E.slice(5)}~${$}`),A.push(E));T=T.filter(E=>!A.includes(E));const L=[],F=[];let G=null;for(const E of T){if(E==="dark"||He.includes(E))continue;const K=Jt(E);if(K){G=K;continue}const H=l(E);if(H){G?F.push(H):L.push(H);continue}const z=Ft[E];typeof z=="function"&&(O=z(O,R).split("{")[0])}function Le(E,K){if(!K)return E;let H=0,z=0;if(E.length&&(E[0]===">"||E[0]==="+"||E[0]==="~"||E[0]===" ")){let P=1;for(;P<E.length&&E[P]===" ";)P++;for(;P<E.length;P++){const I=E[P];if(I==="["?H++:I==="]"&&H>0?H--:I==="("?z++:I===")"&&z>0&&z--,H===0&&z===0&&(E[P]===">"||E[P]==="+"||E[P]==="~"||E[P]===" "))return E.slice(0,P)+K+E.slice(P)}return E+K}for(let P=0;P<E.length;P++){const I=E[P];if(I==="["?H++:I==="]"&&H>0?H--:I==="("?z++:I===")"&&z>0&&z--,H===0&&z===0&&(I===">"||I==="+"||I==="~"||I===" "))return E.slice(0,P)+K+E.slice(P)}return E+K}const V=L.join(""),j=F.join("");if(G)if(G.includes("&")){const E=G.indexOf("&"),K=G.slice(0,E),H=G.slice(E+1),z=$+V,P=O;if(L.length===0)O=P.replace($,K+z+j+H);else{const I=Le(H,j);O=P.replace($,K+z+I)}}else O=O.replace($,`${G}${$+V}`),j&&(O=O.replace($,`${$}${j}`));else O=$+V+j;O=O.replace(new RegExp($,"g"),_);let W=`${O}{${R}}`;const Q=T.filter(E=>He.includes(E)),X=Q.length?Q[Q.length-1]:null,D=T.includes("dark");return c&&X?W=`@media (prefers-color-scheme: dark) and ${De[X]}{${W}}`:c?W=`@media (prefers-color-scheme: dark){${W}}`:D&&X?W=`@media (prefers-color-scheme: dark) and ${De[X]}{${W}}`:D?W=`@media (prefers-color-scheme: dark){${W}}`:X&&(W=`@media ${De[X]}{${W}}`),W}for(const w of i){const c=p(w),h=c.find(f=>ze[f]||Ie(f)||Ue(f)||Be(f)||Te(f));if(!h)continue;const y=c.indexOf(h),C=y>=0?c.slice(0,y):[],x=b(C);if(x===4){const f=g(w,!0);f&&u.push(f)}else{const f=g(w);f&&(x===1?s.push(f):x===2?o.push(f):x===3&&a.push(f))}}const v=[...s,...o,...a,...u].join("");return lt.set(e,{css:v,timestamp:t}),v}const be=[];function Yt(e,t,n,r,i,s,o,a){if(e){be.push(n);try{const u=t.render(n);if(u instanceof Promise){s(!0),u.then(m=>{s(!1),o(null),ut(e,m,n,r,i),a(e.innerHTML)}).catch(m=>{s(!1),o(m)});return}ut(e,u,n,r,i),a(e.innerHTML)}finally{be.pop()}}}function ut(e,t,n,r,i){e&&(zt(e,Array.isArray(t)?t:[t],n,r),i(e.innerHTML))}function en(e,t,n,r,i,s,o){if(s!==null&&clearTimeout(s),Date.now()-t<16){if(i(n+1),n===15)console.warn(`⚠️ Component is re-rendering rapidly. This might indicate:
|
|
63
63
|
Common causes:
|
|
64
64
|
• Event handler calling a function immediately: @click="\${fn()}" should be @click="\${fn}"
|
|
65
65
|
• State modification during render
|
|
@@ -67,28 +67,28 @@
|
|
|
67
67
|
Component rendering will be throttled to prevent browser freeze.`);else if(n>20){console.error(`🛑 Infinite loop detected in component render:
|
|
68
68
|
• This might be caused by state updates during render
|
|
69
69
|
• Ensure all state modifications are done in event handlers or effects
|
|
70
|
-
Stopping runaway component render to prevent browser freeze`),o(null);return}}else i(0);const m=setTimeout(()=>{r(Date.now()),e(),o(null)},n>10?100:0);o(m)}function
|
|
70
|
+
Stopping runaway component render to prevent browser freeze`),o(null);return}}else i(0);const m=setTimeout(()=>{r(Date.now()),e(),o(null)},n>10?100:0);o(m)}function tn(e,t,n,r,i){if(!e)return;const s=Xt(n);if((!s||s.trim()==="")&&!t._computedStyle){i(null),e.adoptedStyleSheets=[ot()];return}let o="";t._computedStyle&&(o=t._computedStyle);let a=Dt(`${o}
|
|
71
71
|
${s}
|
|
72
|
-
`);a=rt(a);let u=r;u||(u=new CSSStyleSheet),(u.cssRules.length===0||u.toString()!==a)&&u.replaceSync(a),e.adoptedStyleSheets=[it(),u],i(u)}let N=null;function Xt(e){N=e}function Yt(){N=null}function en(){if(!N)throw new Error("useEmit must be called during component render");const e=N.emit;return(t,n)=>e(t,n)}function ye(e){e._hookCallbacks||Object.defineProperty(e,"_hookCallbacks",{value:{},writable:!0,enumerable:!1,configurable:!1})}function tn(e){if(!N)throw new Error("useOnConnected must be called during component render");ye(N),N._hookCallbacks.onConnected=e}function nn(e){if(!N)throw new Error("useOnDisconnected must be called during component render");ye(N),N._hookCallbacks.onDisconnected=e}function rn(e){if(!N)throw new Error("useOnAttributeChanged must be called during component render");ye(N),N._hookCallbacks.onAttributeChanged=e}function sn(e){if(!N)throw new Error("useOnError must be called during component render");ye(N),N._hookCallbacks.onError=e}function on(e){if(!N)throw new Error("useStyle must be called during component render");ye(N);try{const t=e();Object.defineProperty(N,"_computedStyle",{value:t,writable:!0,enumerable:!1,configurable:!0})}catch(t){console.warn("Error in useStyle callback:",t),Object.defineProperty(N,"_computedStyle",{value:"",writable:!0,enumerable:!1,configurable:!0})}}const Ae=new Map,lt=Symbol.for("cer.registry");if(typeof window<"u"){const e=globalThis;e[lt]||(e[lt]=Ae)}function an(e,t){if(!t.render)throw new Error("Component must have a render function");return typeof window>"u"?class{constructor(){}}:class extends HTMLElement{context;_refs={};_listeners=[];_watchers=new Map;_renderTimeoutId=null;_mounted=!1;_hasError=!1;_initializing=!0;_componentId;_styleSheet=null;_lastHtmlStringForJitCSS="";get lastHtmlStringForJitCSS(){return this._lastHtmlStringForJitCSS}get isLoading(){return this._templateLoading}get lastError(){return this._templateError}_cfg;_lastRenderTime=0;_renderCount=0;_templateLoading=!1;_templateError=null;constructor(){super(),this.attachShadow({mode:"open"}),this._cfg=Ae.get(e)||t,this._componentId=`${e}-${Math.random().toString(36).substr(2,9)}`;const n=this._initContext(t);Object.defineProperty(n,"refs",{value:this._refs,writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(n,"requestRender",{value:()=>this.requestRender(),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(n,"_requestRender",{value:()=>this._requestRender(),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(n,"_componentId",{value:this._componentId,writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(n,"_triggerWatchers",{value:(i,s)=>this._triggerWatchers(i,s),writable:!1,enumerable:!1,configurable:!1}),this.context=n,Object.defineProperty(this.context,"emit",{value:(i,s,o)=>{const a=new CustomEvent(i,{detail:s,bubbles:!0,composed:!0,...o||{}});return this.dispatchEvent(a),!a.defaultPrevented},writable:!1,enumerable:!1,configurable:!1});const r=Ae.get(e)||t;Object.keys(r).forEach(i=>{const s=r[i];typeof s=="function"&&(this.context[i]=(...o)=>s(...o,this.context))}),this._applyComputed(r),r.props&&Object.keys(r.props).forEach(i=>{let s=this[i];Object.defineProperty(this,i,{get(){return s},set(o){const a=s;s=o,this.context[i]=o,this._initializing||(this._applyProps(r),a!==o&&this._requestRender())},enumerable:!0,configurable:!0})}),this._initializing=!1,this._initWatchers(r),this._applyProps(r),this._render(r)}connectedCallback(){this._runLogicWithinErrorBoundary(t,()=>{this._applyProps(t),this._requestRender(),Et(t,this.context,this._mounted,n=>{this._mounted=n})})}disconnectedCallback(){this._runLogicWithinErrorBoundary(t,()=>{St(t,this.context,this._listeners,()=>{this._listeners=[]},()=>{this._watchers.clear()},n=>{this._templateLoading=n},n=>{this._templateError=n},n=>{this._mounted=n})})}attributeChangedCallback(n,r,i){this._runLogicWithinErrorBoundary(t,()=>{this._applyProps(t),r!==i&&this._requestRender(),$t(t,n,r,i,this.context)})}static get observedAttributes(){return t.props?Object.keys(t.props).map(ne):[]}_applyComputed(n){}_render(n){this._runLogicWithinErrorBoundary(n,()=>{Zt(this.shadowRoot,n,this.context,this._refs,r=>{this._lastHtmlStringForJitCSS=r,typeof this.onHtmlStringUpdate=="function"&&this.onHtmlStringUpdate(r)},r=>{this._templateLoading=r,typeof this.onLoadingStateChange=="function"&&this.onLoadingStateChange(r)},r=>{this._templateError=r,typeof this.onErrorStateChange=="function"&&this.onErrorStateChange(r)},r=>this._applyStyle(n,r))})}requestRender(){this._requestRender()}_requestRender(){this._runLogicWithinErrorBoundary(this._cfg,()=>{fe(()=>{Gt(()=>this._render(this._cfg),this._lastRenderTime,this._renderCount,n=>{this._lastRenderTime=n},n=>{this._renderCount=n},this._renderTimeoutId,n=>{this._renderTimeoutId=n})},this._componentId)})}_applyStyle(n,r){this._runLogicWithinErrorBoundary(n,()=>{Qt(this.shadowRoot,this.context,r,this._styleSheet,i=>{this._styleSheet=i})})}_runLogicWithinErrorBoundary(n,r){this._hasError&&(this._hasError=!1);try{r()}catch(i){this._hasError=!0,n.onError&&n.onError(i,this.context)}}_initContext(n){try{let r=function(s,o=""){return Array.isArray(s)?new Proxy(s,{get(a,u,m){const g=Reflect.get(a,u,m);return typeof g=="function"&&typeof u=="string"&&["push","pop","shift","unshift","splice","sort","reverse"].includes(u)?function(...h){const l=g.apply(a,h);if(!i._initializing){const d=o||"root";i._triggerWatchers(d,a),fe(()=>i._render(n),i._componentId)}return l}:g},set(a,u,m){if(a[u]=m,!i._initializing){const g=o?`${o}.${String(u)}`:String(u);i._triggerWatchers(g,m),fe(()=>i._render(n),i._componentId)}return!0},deleteProperty(a,u){if(delete a[u],!i._initializing){const m=o?`${o}.${String(u)}`:String(u);i._triggerWatchers(m,void 0),fe(()=>i._render(n),i._componentId)}return!0}}):s&&typeof s=="object"?s.constructor&&s.constructor.name==="ReactiveState"?s:(Object.keys(s).forEach(a=>{const u=o?`${o}.${a}`:a;s[a]=r(s[a],u)}),new Proxy(s,{set(a,u,m){const g=o?`${o}.${String(u)}`:String(u);return a[u]=r(m,g),i._initializing||(i._triggerWatchers(g,a[u]),fe(()=>i._render(n),i._componentId)),!0},get(a,u,m){return Reflect.get(a,u,m)}})):s};const i=this;return r({...n.props?Object.fromEntries(Object.entries(n.props).map(([s,o])=>[s,o.default])):{}})}catch{return{}}}_initWatchers(n){this._runLogicWithinErrorBoundary(n,()=>{xt(this.context,this._watchers,{})})}_triggerWatchers(n,r){kt(this.context,this._watchers,n,r)}_applyProps(n){this._runLogicWithinErrorBoundary(n,()=>{try{_t(this,n,this.context)}catch(r){this._hasError=!0,n.onError&&n.onError(r,this.context)}})}}}function Be(e,t){let n=ne(e);n.includes("-")||(n=`cer-${n}`);let r={};if(typeof window<"u")try{const a=t.toString().match(/\(\s*{\s*([^}]+)\s*}/);if(a){const m=a[1].split(",").map(g=>g.trim());for(const g of m){const w=g.indexOf("=");if(w!==-1){const h=g.substring(0,w).trim(),l=g.substring(w+1).trim();try{l==="true"?r[h]=!0:l==="false"?r[h]=!1:l==="[]"?r[h]=[]:l==="{}"?r[h]={}:/^\d+$/.test(l)?r[h]=parseInt(l):/^'.*'$/.test(l)||/^".*"$/.test(l)?r[h]=l.slice(1,-1):r[h]=l}catch{r[h]=""}}else{const h=g.split(":")[0].trim();h&&!h.includes("}")&&(r[h]="")}}}}catch{}let i={};const s={props:Object.fromEntries(Object.entries(r).map(([o,a])=>[o,{type:typeof a=="boolean"?Boolean:typeof a=="number"?Number:typeof a=="string"?String:Function,default:a}])),onConnected:o=>{i.onConnected&&i.onConnected()},onDisconnected:o=>{i.onDisconnected&&i.onDisconnected()},onAttributeChanged:(o,a,u,m)=>{i.onAttributeChanged&&i.onAttributeChanged(o,a,u)},onError:(o,a)=>{i.onError&&o&&i.onError(o)},render:o=>{const a=o._componentId||`${n}-${Math.random().toString(36).substr(2,9)}`;q.setCurrentComponent(a,()=>{o.requestRender&&o.requestRender()});try{Xt(o);const u=Object.keys(r).length>0;let m;if(u){const g={};Object.keys(r).forEach(w=>{g[w]=o[w]??r[w]}),m=t(g)}else m=t();if(o._hookCallbacks){const g=o._hookCallbacks;g.onConnected&&(i.onConnected=g.onConnected),g.onDisconnected&&(i.onDisconnected=g.onDisconnected),g.onAttributeChanged&&(i.onAttributeChanged=g.onAttributeChanged),g.onError&&(i.onError=g.onError),g.style&&(o._styleCallback=g.style)}return m}finally{Yt(),q.clearCurrentComponent()}}};Ae.set(n,s),typeof window<"u"&&(customElements.get(n)||customElements.define(n,an(n,s)))}class cn{map=new Map;maxSize;constructor(t){this.maxSize=t}get(t){const n=this.map.get(t);if(n!==void 0)return this.map.delete(t),this.map.set(t,n),n}set(t,n){if(this.map.has(t)&&this.map.delete(t),this.map.set(t,n),this.map.size>this.maxSize){const r=this.map.keys().next().value;r!==void 0&&this.map.delete(r)}}has(t){return this.map.has(t)}clear(){this.map.clear()}}const Ue=new cn(500);function ln(e,t){if(e==null){console.warn(`⚠️ Event handler for '@${t}' is ${e}. This will prevent the event from working. Use a function reference instead: @${t}="\${functionName}"`);return}typeof e!="function"&&console.warn(`🚨 Potential infinite loop detected! Event handler for '@${t}' appears to be the result of a function call (${typeof e}) instead of a function reference. Change @${t}="\${functionName()}" to @${t}="\${functionName}" to pass the function reference instead of calling it immediately.`),e===void 0&&typeof e!="function"&&console.warn(`💡 Tip: If your event handler function returns undefined, make sure you're passing the function reference, not calling it. Use @${t}="\${fn}" not @${t}="\${fn()}"`)}function be(e,t={},n,r){const i=r??t.key;return{tag:e,key:i,props:t,children:n}}function Re(e){return!!e&&typeof e=="object"&&(e.type==="AnchorBlock"||e.tag==="#anchor")}function Te(e){return typeof e=="object"&&e!==null&&"tag"in e&&!Re(e)}function un(e,t){return e.key!=null?e:{...e,key:t}}function fn(e,t=[],n={}){const r={},i={},s={},o=[],a=/([:@#]?)([a-zA-Z0-9-:\.]+)=("([^"\\]*(\\.[^"\\]*)*)"|'([^'\\]*(\\.[^'\\]*)*)')/g;let u;for(;u=a.exec(e);){const m=u[1],g=u[2],w=(u[4]||u[6])??"",h=w.match(/^{{(\d+)}}$/);let l=h?t[Number(h[1])]??null:w;h||(l==="true"?l=!0:l==="false"?l=!1:l==="null"?l=null:isNaN(Number(l))||(l=Number(l)));const d=["model","bind","show","class","style","ref"];if(m===":"){const[v,b]=g.split(":"),[c,...p]=v.split(".");if(d.includes(c)){const y=[...p],C=c==="model"&&b?`model:${b}`:c;s[C]={value:l,modifiers:y,arg:b}}else{let y=l;y&&typeof y=="object"&&y.constructor?.name==="ReactiveState"&&(y=y.value),i[g]=y,o.push(g)}}else if(m==="@"){const[v,...b]=g.split("."),c=b;ln(l,v);const p=typeof l=="function"?l:typeof n[l]=="function"?n[l]:void 0;if(p){const y=k=>{if(c.includes("prevent")&&k.preventDefault(),c.includes("stop")&&k.stopPropagation(),!(c.includes("self")&&k.target!==k.currentTarget))return c.includes("once")&&k.currentTarget?.removeEventListener(v,y),p(k)},C="on"+v.charAt(0).toUpperCase()+v.slice(1);r[C]=y}}else g==="ref"?r.ref=l:i[g]=l}return{props:r,attrs:i,directives:s,bound:o}}function dn(e,t,n){const r=me.length>0?me[me.length-1]:void 0,i=n??r,s=!n&&t.length===0,o=s?e.join("<!--TEMPLATE_DELIM-->"):null;if(s&&o){const f=Ue.get(o);if(f)return f}function a(f,x){return be("#text",{},f,x)}let u="";for(let f=0;f<e.length;f++)u+=e[f],f<t.length&&(u+=`{{${f}}}`);const m=/<!--[\s\S]*?-->|<\/?([a-zA-Z0-9-]+)((?:\s+[^\s=>/]+(?:\s*=\s*(?:"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|[^\s>]+))?)*)\s*\/?>|{{(\d+)}}|([^<]+)/g,g=[];let w,h=[],l=null,d={},v,b=0,c=[];function p(f){!f||typeof f!="object"||Re(f)||(f.props||f.attrs?(f.props&&(d.props||(d.props={}),Object.assign(d.props,f.props)),f.attrs&&(d.attrs||(d.attrs={}),Object.keys(f.attrs).forEach(x=>{if(x==="style"&&d.attrs.style){const R=d.attrs.style.replace(/;?\s*$/,""),_=f.attrs.style.replace(/^;?\s*/,"");d.attrs.style=R+"; "+_}else if(x==="class"&&d.attrs.class){const R=d.attrs.class.trim().split(/\s+/).filter(Boolean),_=f.attrs.class.trim().split(/\s+/).filter(Boolean),S=[...new Set([...R,..._])];d.attrs.class=S.join(" ")}else d.attrs[x]=f.attrs[x]}))):(d.props||(d.props={}),Object.assign(d.props,f)))}function y(f,x){const R=l?h:c;if(Re(f)){const _=f.key??x;let S=f.children;R.push({...f,key:_,children:S});return}if(Te(f)){R.push(un(f,void 0));return}if(Array.isArray(f)){if(f.length===0)return;for(let _=0;_<f.length;_++){const S=f[_];Re(S)||Te(S)||Array.isArray(S)?y(S,`${x}-${_}`):S!==null&&typeof S=="object"?p(S):R.push(a(String(S),`${x}-${_}`))}return}if(f!==null&&typeof f=="object"){p(f);return}R.push(a(String(f),x))}const C=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);for(;w=m.exec(u);)if(!(w[0].startsWith("<!--")&&w[0].endsWith("-->"))){if(w[1]){const f=w[1],x=w[0][1]==="/",R=w[0][w[0].length-2]==="/"||C.has(f),{props:_,attrs:S,directives:T,bound:O}=fn(w[2]||"",t,i),A={props:{},attrs:{}};for(const L in _)A.props[L]=_[L];for(const L in S)A.attrs[L]=S[L];if(A.attrs&&Object.prototype.hasOwnProperty.call(A.attrs,"key")&&!(A.props&&Object.prototype.hasOwnProperty.call(A.props,"key")))try{A.props.key=A.attrs.key}catch{}try{const L={input:["value","checked","disabled","readonly","required","placeholder","maxlength","minlength"],textarea:["value","disabled","readonly","required","placeholder","maxlength","minlength"],select:["value","disabled","required","multiple"],option:["selected","disabled","value"],video:["muted","autoplay","controls","loop","playsinline"],audio:["muted","autoplay","controls","loop"],img:["src","alt","width","height"],button:["type","name","value","disabled","autofocus","form"]},F=f.toLowerCase(),Q=L[F]??[];if(A.attrs){for(const V of Q)if(O&&O.includes(V)&&V in A.attrs&&!(A.props&&V in A.props)){let j=A.attrs[V];j&&typeof j=="object"&&j.constructor?.name==="ReactiveState"&&(j=j.value),A.props[V]=j,delete A.attrs[V]}}if((f.includes("-")||!!i?.__customElements?.has?.(f))&&(A.isCustomElement=!0,O&&A.attrs)){const V=new Set(["id","name","data-key","key"]);for(const j of O)if(j in A.attrs&&!(A.props&&j in A.props)){const W=j.includes("-")?j.split("-").map((X,D)=>D===0?X:X.charAt(0).toUpperCase()+X.slice(1)).join(""):j;let J=A.attrs[j];J&&typeof J=="object"&&J.constructor?.name==="ReactiveState"&&(J=J.value),A.props[W]=J,V.has(j)||delete A.attrs[j]}}}catch{}if(T&&Object.keys(T).some(L=>L==="model"||L.startsWith("model:")))try{const L=Symbol.for("cer.registry"),F=globalThis[L],Q=!!(F&&typeof F.has=="function"&&F.has(f)),Oe=!!(i&&(i.__customElements instanceof Set&&i.__customElements.has(f)||Array.isArray(i.__isCustomElements)&&i.__isCustomElements.includes(f)));if(!!(f.includes("-")||Oe||Q))for(const W of Object.keys(T)){if(W!=="model"&&!W.startsWith("model:"))continue;const J=T[W],X=J.arg??(W.includes(":")?W.split(":",2)[1]:void 0),D=J.value,E=X??"modelValue",K=B,H=Ce,z=i?i._state||i:void 0;let P;typeof D=="string"&&i?P=K(z,D):(P=D,P&&typeof P=="object"&&P.constructor?.name==="ReactiveState"&&(P=P.value)),A.props[E]=P;try{const ae=ne(E);A.attrs||(A.attrs={}),P!==void 0&&(A.attrs[ae]=P)}catch{}A.isCustomElement=!0;const ht=`update:${ne(E)}`.replace(/-([a-z])/g,(ae,te)=>te.toUpperCase()),Ln="on"+ht.charAt(0).toUpperCase()+ht.slice(1);A.props[Ln]=function(ae){const te=ae.detail!==void 0?ae.detail:ae.target?ae.target.value:void 0;if(z)if(D&&typeof D=="object"&&D.constructor?.name==="ReactiveState"){const ue=D.value;(Array.isArray(te)&&Array.isArray(ue)?JSON.stringify([...te].sort())!==JSON.stringify([...ue].sort()):te!==ue)&&(D.value=te,i?.requestRender?i.requestRender():i?._requestRender&&i._requestRender())}else{const ue=K(z,typeof D=="string"?D:String(D));(Array.isArray(te)&&Array.isArray(ue)?JSON.stringify([...te].sort())!==JSON.stringify([...ue].sort()):te!==ue)&&(H(z,typeof D=="string"?D:String(D),te),i?.requestRender?i.requestRender():i?._requestRender&&i._requestRender())}},delete T[W]}}catch{}if(Object.keys(T).length>0&&(A.directives={...T}),x){const L=be(l,d,h.length===1&&Te(h[0])&&h[0].tag==="#text"?typeof h[0].children=="string"?h[0].children:"":h.length?h:void 0,v),F=g.pop();F?(l=F.tag,d=F.props,v=F.key,h=F.children,h.push(L)):(c.push(L),l=null,d={},v=void 0,h=[])}else R?l?h.push(be(f,A,void 0,void 0)):c.push(be(f,A,void 0,void 0)):(l&&g.push({tag:l,props:d,children:h,key:v}),l=f,d=A,h=[])}else if(typeof w[3]<"u"){const f=Number(w[3]),x=t[f],R=`interp-${f}`;y(x,R)}else if(w[4]){const f=w[4],x=l?h:c,R=f.split(/({{\d+}})/);for(const _ of R){if(!_)continue;const S=_.match(/^{{(\d+)}}$/);if(S){const T=Number(S[1]),O=t[T],A=`interp-${T}`;y(O,A)}else{const T=`text-${b++}`;x.push(a(_,T))}}}}const k=c.filter(f=>Te(f)&&f.tag==="#text"?typeof f.children=="string"&&f.children.trim()!=="":!0);if(k.length===1){const f=k[0];return s&&o&&Ue.set(o,f),f}else if(k.length>1){const f=k;return s&&o&&Ue.set(o,f),f}return be("div",{},"","fallback-root")}function oe(e,...t){const n=t[t.length-1],r=typeof n=="object"&&n&&!Array.isArray(n)?n:void 0;return dn(e,t,r)}function we(e,t){return M(e?t:[],"when-block")}function pn(e,t){return e.map((n,r)=>{const i=typeof n=="object"?n?.key??n?.id??`idx-${r}`:String(n);return M(t(n,r),`each-${i}`)})}function ut(){const e=[];return{when(t,n){return e.push([t,n]),this},otherwise(t){return e.push([!0,t]),this},done(){return hn(...e)}}}function hn(...e){for(let t=0;t<e.length;t++){const[n,r]=e[t];if(n)return[M(r,`whenChain-branch-${t}`)]}return[M([],"whenChain-empty")]}function M(e,t){const n=e?Array.isArray(e)?e.filter(Boolean):[e].filter(Boolean):[];return{tag:"#anchor",key:t,children:n}}function gn(e,t){return we(!e,t)}function mn(e,t){const n=!e||e.length===0;return we(n,t)}function yn(e,t){const n=!!(e&&e.length>0);return we(n,t)}function bn(e,t,n){const r=[];return e.forEach((i,s)=>{t(i,s)&&r.push({item:i,originalIndex:s})}),r.map(({item:i,originalIndex:s},o)=>{const a=typeof i=="object"&&i!=null?i?.key??i?.id??`filtered-${s}`:`filtered-${s}`;return M(n(i,s,o),`each-where-${a}`)})}function wn(e,t){const n=e?.length??0;return n===0&&t.empty?M(t.empty,"switch-length-empty"):n===1&&t.one?M(t.one(e[0]),"switch-length-one"):t.exactly?.[n]?M(t.exactly[n](e),`switch-length-${n}`):n>1&&t.many?M(t.many(e),"switch-length-many"):M([],"switch-length-fallback")}function vn(e,t,n){const r=new Map;return e.forEach(i=>{const s=t(i);r.has(s)||r.set(s,[]),r.get(s).push(i)}),Array.from(r.entries()).map(([i,s],o)=>M(n(i,s,o),`each-group-${i}`))}function xn(e,t,n,r){const i=n*t,s=Math.min(i+t,e.length);return e.slice(i,s).map((a,u)=>{const m=i+u,g=typeof a=="object"&&a!=null?a?.key??a?.id??`page-${m}`:`page-${m}`;return M(r(a,m,u),`each-page-${g}`)})}function kn(e,t){return e.loading&&t.loading?M(t.loading,"promise-loading"):e.error&&t.error?M(t.error(e.error),"promise-error"):e.data!==void 0&&t.success?M(t.success(e.data),"promise-success"):t.idle?M(t.idle,"promise-idle"):M([],"promise-fallback")}function U(e,t){const n=typeof window<"u"&&window.matchMedia?.(e)?.matches;return we(!!n,t)}const ee={sm:"(min-width:640px)",md:"(min-width:768px)",lg:"(min-width:1024px)",xl:"(min-width:1280px)","2xl":"(min-width:1536px)",dark:"(prefers-color-scheme: dark)"},qe=["sm","md","lg","xl","2xl"],ft={sm:e=>U(ee.sm,e),md:e=>U(ee.md,e),lg:e=>U(ee.lg,e),xl:e=>U(ee.xl,e),"2xl":e=>U(ee["2xl"],e),dark:e=>U(ee.dark,e),light:e=>U("(prefers-color-scheme: light)",e),touch:e=>U("(hover: none) and (pointer: coarse)",e),mouse:e=>U("(hover: hover) and (pointer: fine)",e),reducedMotion:e=>U("(prefers-reduced-motion: reduce)",e),highContrast:e=>U("(prefers-contrast: high)",e),portrait:e=>U("(orientation: portrait)",e),landscape:e=>U("(orientation: landscape)",e)};function Cn(e,t){const n=[];e.includes("dark")?n.push(ee.dark):e.includes("light")&&n.push("(prefers-color-scheme: light)");const r=e.filter(o=>qe.includes(o)),i=r[r.length-1];i&&i in ee&&n.push(ee[i]);const s=n.length>0?n.join(" and "):"all";return U(s,t)}function _n(e){const t=[];return e.base&&t.push(M(e.base,"responsive-base")),qe.forEach(n=>{const r=e[n];r&&t.push(ft[n](r))}),t}function En(e){const t=[];let n=null;return{case(r,i){const s=typeof r=="function"?r:o=>o===r;return t.push({condition:s,content:i}),this},when(r,i){return t.push({condition:r,content:i}),this},otherwise(r){return n=r,this},done(){for(let r=0;r<t.length;r++){const{condition:i,content:s}=t[r];if(i(e))return M(s,`switch-case-${r}`)}return M(n||[],"switch-otherwise")}}}class le extends EventTarget{handlers={};static instance;eventCounters=new Map;static getInstance(){return le.instance||(le.instance=new le),le.instance}emit(t,n){const r=Date.now(),i=this.eventCounters.get(t);if(!i||r-i.window>1e3)this.eventCounters.set(t,{count:1,window:r});else if(i.count++,i.count>50&&i.count>100)return;this.dispatchEvent(new CustomEvent(t,{detail:n,bubbles:!1,cancelable:!0}));const s=this.handlers[t];s&&s.forEach(o=>{try{o(n)}catch(a){ie(`Error in global event handler for "${t}":`,a)}})}on(t,n){return this.handlers[t]||(this.handlers[t]=new Set),this.handlers[t].add(n),()=>this.off(t,n)}off(t,n){const r=this.handlers[t];r&&r.delete(n)}offAll(t){delete this.handlers[t]}listen(t,n,r){return this.addEventListener(t,n,r),()=>this.removeEventListener(t,n)}once(t,n){return new Promise(r=>{const i=this.on(t,s=>{i(),n(s),r(s)})})}getActiveEvents(){return Object.keys(this.handlers).filter(t=>this.handlers[t]&&this.handlers[t].size>0)}clear(){this.handlers={}}getHandlerCount(t){return this.handlers[t]?.size||0}getEventStats(){const t={};for(const[n,r]of this.eventCounters.entries())t[n]={count:r.count,handlersCount:this.getHandlerCount(n)};return t}resetEventCounters(){this.eventCounters.clear()}}const de=le.getInstance(),Sn=(e,t)=>de.emit(e,t),$n=(e,t)=>de.on(e,t),An=(e,t)=>de.off(e,t),Rn=(e,t)=>de.once(e,t),Tn=(e,t,n)=>de.listen(e,t,n);function Fe(e){let t={...e};const n=[];function r(a){n.push(a),a(t)}function i(){return t}function s(a){const u=typeof a=="function"?a(t):a;t={...t,...u},o()}function o(){n.forEach(a=>a(t))}return{subscribe:r,getState:i,setState:s}}const Ke=e=>e?typeof URLSearchParams>"u"?{}:Object.fromEntries(new URLSearchParams(e)):{},Y=(e,t)=>{for(const n of e){const r=[],i=n.path.replace(/:[^/]+/g,a=>(r.push(a.slice(1)),"([^/]+)")),s=new RegExp(`^${i}$`),o=t.match(s);if(o){const a={};return r.forEach((u,m)=>{a[u]=o[m+1]}),{route:n,params:a}}}return{route:null,params:{}}},Ve={};async function dt(e){if(e.component)return e.component;if(e.load){if(Ve[e.path])return Ve[e.path];try{const t=await e.load();return Ve[e.path]=t.default,t.default}catch{throw new Error(`Failed to load component for route: ${e.path}`)}}throw new Error(`No component or loader defined for route: ${e.path}`)}function pt(e){const{routes:t,base:n="",initialUrl:r}=e;let i,s,o,a,u,m,g;const w=async(v,b)=>{const c=t.find(p=>Y([p],v.path).route!==null);if(c?.beforeEnter)try{const p=await c.beforeEnter(v,b);return typeof p=="string"?(await d(p,!0),!1):p!==!1}catch(p){return ie("beforeEnter error",p),!1}return!0},h=async(v,b)=>{const c=t.find(p=>Y([p],v.path).route!==null);if(c?.onEnter)try{const p=await c.onEnter(v,b);return typeof p=="string"?(await d(p,!0),!1):p!==!1}catch(p){return ie("onEnter error",p),!1}return!0},l=(v,b)=>{const c=t.find(p=>Y([p],v.path).route!==null);if(c?.afterEnter)try{c.afterEnter(v,b)}catch(p){ie("afterEnter error",p)}},d=async(v,b=!1)=>{try{const c={path:v.replace(n,"")||"/",query:{}},p=Y(t,c.path);if(!p)throw new Error(`No route found for ${c.path}`);const y=o.getState(),C={path:c.path,params:p.params,query:c.query};if(!await w(C,y)||!await h(C,y))return;typeof window<"u"&&typeof document<"u"&&(b?window.history.replaceState({},"",n+v):window.history.pushState({},"",n+v)),o.setState(C),l(C,y)}catch(c){ie("Navigation error:",c)}};if(typeof window<"u"&&typeof document<"u"&&typeof r>"u"){i=()=>{const b=new URL(window.location.href),c=b.pathname.replace(n,"")||"/",p=Ke(b.search);return{path:c,query:p}},s=i();const v=Y(t,s.path);o=Fe({path:s.path,params:v.params,query:s.query}),a=async(b=!1)=>{const c=i();await d(c.path,b)},window.addEventListener("popstate",()=>a(!0)),u=b=>d(b,!1),m=b=>d(b,!0),g=()=>window.history.back()}else{i=()=>{const c=new URL(r||"/","http://localhost"),p=c.pathname.replace(n,"")||"/",y=Ke(c.search);return{path:p,query:y}},s=i();const v=Y(t,s.path);o=Fe({path:s.path,params:v.params,query:s.query}),a=async()=>{const c=i();await b(c.path)};const b=async c=>{try{const p={path:c.replace(n,"")||"/",query:{}},y=Y(t,p.path);if(!y)throw new Error(`No route found for ${p.path}`);const C=o.getState(),k={path:p.path,params:y.params,query:p.query},f=t.find(x=>Y([x],k.path).route!==null);if(f?.beforeEnter)try{const x=await f.beforeEnter(k,C);if(typeof x=="string"){await b(x);return}if(x===!1)return}catch{return}if(f?.onEnter)try{const x=await f.onEnter(k,C);if(typeof x=="string"){await b(x);return}if(x===!1)return}catch{return}if(o.setState(k),f?.afterEnter)try{f.afterEnter(k,C)}catch{}}catch{}};u=async c=>b(c),m=async c=>b(c),g=()=>{}}return{store:o,push:u,replace:m,back:g,subscribe:o.subscribe,matchRoute:v=>Y(t,v),getCurrent:()=>o.getState(),resolveRouteComponent:dt}}function On(e,t){return Y(e,t)}function Pn(e){const t=pt(e);return Be("router-view",(n={},r={})=>{const{onConnected:i}=r;if(i&&i(()=>{t&&typeof t.subscribe=="function"&&t.subscribe(()=>{})}),!t)return oe`<div>Router not initialized.</div>`;const s=t.getCurrent(),{path:o}=s,a=t.matchRoute(o);return a.route?t.resolveRouteComponent(a.route).then(u=>{if(typeof u=="string")return{tag:u,props:{},children:[]};if(typeof u=="function"){const m=u();return(m instanceof Promise?m:Promise.resolve(m)).then(w=>typeof w=="string"?{tag:w,props:{},children:[]}:w)}return oe`<div>Invalid route component</div>`}).catch(()=>oe`<div>Invalid route component</div>`):oe`<div>Not found</div>`}),Be("router-link",(n={},r={})=>{const{to:i="",tag:s="a",replace:o=!1,exact:a=!1,activeClass:u="active",exactActiveClass:m="exact-active",ariaCurrentValue:g="page",disabled:w=!1,external:h=!1,class:l=""}=n,d=t.getCurrent(),v=d.path===i,b=a?v:d&&typeof d.path=="string"?d.path.startsWith(i):!1,c=v?`aria-current="${g}"`:"",p=(l||"").split(/\s+/).filter(Boolean),y={};for(const _ of p)y[_]=!0;const C={...y,[u]:b,[m]:v},k=s==="button",f=w?k?'disabled aria-disabled="true" tabindex="-1"':'aria-disabled="true" tabindex="-1"':"",x=h&&(s==="a"||!s)?'target="_blank" rel="noopener noreferrer"':"",R=_=>{if(w){_.preventDefault();return}h&&(s==="a"||!s)||(_.preventDefault(),o?t.replace(i):t.push(i))};return oe`
|
|
73
|
-
${
|
|
72
|
+
`);a=st(a);let u=r;u||(u=new CSSStyleSheet),(u.cssRules.length===0||u.toString()!==a)&&u.replaceSync(a),e.adoptedStyleSheets=[ot(),u],i(u)}let N=null;function nn(e){N=e}function rn(){N=null}function sn(){if(!N)throw new Error("useEmit must be called during component render");const e=N.emit;return(t,n)=>e(t,n)}function we(e){e._hookCallbacks||Object.defineProperty(e,"_hookCallbacks",{value:{},writable:!0,enumerable:!1,configurable:!1})}function on(e){if(!N)throw new Error("useOnConnected must be called during component render");we(N),N._hookCallbacks.onConnected=e}function an(e){if(!N)throw new Error("useOnDisconnected must be called during component render");we(N),N._hookCallbacks.onDisconnected=e}function cn(e){if(!N)throw new Error("useOnAttributeChanged must be called during component render");we(N),N._hookCallbacks.onAttributeChanged=e}function ln(e){if(!N)throw new Error("useOnError must be called during component render");we(N),N._hookCallbacks.onError=e}function un(e){if(!N)throw new Error("useStyle must be called during component render");we(N);try{const t=e();Object.defineProperty(N,"_computedStyle",{value:t,writable:!0,enumerable:!1,configurable:!0})}catch(t){console.warn("Error in useStyle callback:",t),Object.defineProperty(N,"_computedStyle",{value:"",writable:!0,enumerable:!1,configurable:!0})}}const Re=new Map,ft=Symbol.for("cer.registry");if(typeof window<"u"){const e=globalThis;e[ft]||(e[ft]=Re)}function fn(e,t){if(!t.render)throw new Error("Component must have a render function");return typeof window>"u"?class{constructor(){}}:class extends HTMLElement{context;_refs={};_listeners=[];_watchers=new Map;_renderTimeoutId=null;_mounted=!1;_hasError=!1;_initializing=!0;_componentId;_styleSheet=null;_lastHtmlStringForJitCSS="";get lastHtmlStringForJitCSS(){return this._lastHtmlStringForJitCSS}get isLoading(){return this._templateLoading}get lastError(){return this._templateError}_cfg;_lastRenderTime=0;_renderCount=0;_templateLoading=!1;_templateError=null;constructor(){super(),this.attachShadow({mode:"open"}),this._cfg=Re.get(e)||t,this._componentId=`${e}-${Math.random().toString(36).substr(2,9)}`;const n=this._initContext(t);Object.defineProperty(n,"refs",{value:this._refs,writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(n,"requestRender",{value:()=>this.requestRender(),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(n,"_requestRender",{value:()=>this._requestRender(),writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(n,"_componentId",{value:this._componentId,writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(n,"_triggerWatchers",{value:(i,s)=>this._triggerWatchers(i,s),writable:!1,enumerable:!1,configurable:!1}),this.context=n,Object.defineProperty(this.context,"emit",{value:(i,s,o)=>{const a=new CustomEvent(i,{detail:s,bubbles:!0,composed:!0,...o||{}});return this.dispatchEvent(a),!a.defaultPrevented},writable:!1,enumerable:!1,configurable:!1});const r=Re.get(e)||t;Object.keys(r).forEach(i=>{const s=r[i];typeof s=="function"&&(this.context[i]=(...o)=>s(...o,this.context))}),this._applyComputed(r),r.props&&Object.keys(r.props).forEach(i=>{let s=this[i];Object.defineProperty(this,i,{get(){return s},set(o){const a=s;s=o,this.context[i]=o,this._initializing||(this._applyProps(r),a!==o&&this._requestRender())},enumerable:!0,configurable:!0})}),this._initializing=!1,this._initWatchers(r),this._applyProps(r),this._render(r)}connectedCallback(){this._runLogicWithinErrorBoundary(t,()=>{this._applyProps(t),this._requestRender(),St(t,this.context,this._mounted,n=>{this._mounted=n})})}disconnectedCallback(){this._runLogicWithinErrorBoundary(t,()=>{At(t,this.context,this._listeners,()=>{this._listeners=[]},()=>{this._watchers.clear()},n=>{this._templateLoading=n},n=>{this._templateError=n},n=>{this._mounted=n})})}attributeChangedCallback(n,r,i){this._runLogicWithinErrorBoundary(t,()=>{this._applyProps(t),r!==i&&this._requestRender(),Tt(t,n,r,i,this.context)})}static get observedAttributes(){return t.props?Object.keys(t.props).map(re):[]}_applyComputed(n){}_render(n){this._runLogicWithinErrorBoundary(n,()=>{Yt(this.shadowRoot,n,this.context,this._refs,r=>{this._lastHtmlStringForJitCSS=r,typeof this.onHtmlStringUpdate=="function"&&this.onHtmlStringUpdate(r)},r=>{this._templateLoading=r,typeof this.onLoadingStateChange=="function"&&this.onLoadingStateChange(r)},r=>{this._templateError=r,typeof this.onErrorStateChange=="function"&&this.onErrorStateChange(r)},r=>this._applyStyle(n,r))})}requestRender(){this._requestRender()}_requestRender(){this._runLogicWithinErrorBoundary(this._cfg,()=>{he(()=>{en(()=>this._render(this._cfg),this._lastRenderTime,this._renderCount,n=>{this._lastRenderTime=n},n=>{this._renderCount=n},this._renderTimeoutId,n=>{this._renderTimeoutId=n})},this._componentId)})}_applyStyle(n,r){this._runLogicWithinErrorBoundary(n,()=>{tn(this.shadowRoot,this.context,r,this._styleSheet,i=>{this._styleSheet=i})})}_runLogicWithinErrorBoundary(n,r){this._hasError&&(this._hasError=!1);try{r()}catch(i){this._hasError=!0,n.onError&&n.onError(i,this.context)}}_initContext(n){try{let r=function(s,o=""){return Array.isArray(s)?new Proxy(s,{get(a,u,m){const g=Reflect.get(a,u,m);return typeof g=="function"&&typeof u=="string"&&["push","pop","shift","unshift","splice","sort","reverse"].includes(u)?function(...p){const l=g.apply(a,p);if(!i._initializing){const d=o||"root";i._triggerWatchers(d,a),he(()=>i._render(n),i._componentId)}return l}:g},set(a,u,m){if(a[u]=m,!i._initializing){const g=o?`${o}.${String(u)}`:String(u);i._triggerWatchers(g,m),he(()=>i._render(n),i._componentId)}return!0},deleteProperty(a,u){if(delete a[u],!i._initializing){const m=o?`${o}.${String(u)}`:String(u);i._triggerWatchers(m,void 0),he(()=>i._render(n),i._componentId)}return!0}}):s&&typeof s=="object"?s.constructor&&s.constructor.name==="ReactiveState"?s:(Object.keys(s).forEach(a=>{const u=o?`${o}.${a}`:a;s[a]=r(s[a],u)}),new Proxy(s,{set(a,u,m){const g=o?`${o}.${String(u)}`:String(u);return a[u]=r(m,g),i._initializing||(i._triggerWatchers(g,a[u]),he(()=>i._render(n),i._componentId)),!0},get(a,u,m){return Reflect.get(a,u,m)}})):s};const i=this;return r({...n.props?Object.fromEntries(Object.entries(n.props).map(([s,o])=>[s,o.default])):{}})}catch{return{}}}_initWatchers(n){this._runLogicWithinErrorBoundary(n,()=>{Ct(this.context,this._watchers,{})})}_triggerWatchers(n,r){_t(this.context,this._watchers,n,r)}_applyProps(n){this._runLogicWithinErrorBoundary(n,()=>{try{$t(this,n,this.context)}catch(r){this._hasError=!0,n.onError&&n.onError(r,this.context)}})}}}function qe(e,t){let n=re(e);n.includes("-")||(n=`cer-${n}`);let r={};if(typeof window<"u")try{const a=t.toString().match(/\(\s*{\s*([^}]+)\s*}/);if(a){const m=a[1].split(",").map(g=>g.trim());for(const g of m){const b=g.indexOf("=");if(b!==-1){const p=g.substring(0,b).trim(),l=g.substring(b+1).trim();try{l==="true"?r[p]=!0:l==="false"?r[p]=!1:l==="[]"?r[p]=[]:l==="{}"?r[p]={}:/^\d+$/.test(l)?r[p]=parseInt(l):/^'.*'$/.test(l)||/^".*"$/.test(l)?r[p]=l.slice(1,-1):r[p]=l}catch{r[p]=""}}else{const p=g.split(":")[0].trim();p&&!p.includes("}")&&(r[p]="")}}}}catch{}let i={};const s={props:Object.fromEntries(Object.entries(r).map(([o,a])=>[o,{type:typeof a=="boolean"?Boolean:typeof a=="number"?Number:typeof a=="string"?String:Function,default:a}])),onConnected:o=>{i.onConnected&&i.onConnected()},onDisconnected:o=>{i.onDisconnected&&i.onDisconnected()},onAttributeChanged:(o,a,u,m)=>{i.onAttributeChanged&&i.onAttributeChanged(o,a,u)},onError:(o,a)=>{i.onError&&o&&i.onError(o)},render:o=>{const a=o._componentId||`${n}-${Math.random().toString(36).substr(2,9)}`;q.setCurrentComponent(a,()=>{o.requestRender&&o.requestRender()});try{nn(o);const u=Object.keys(r).length>0;let m;if(u){const g={};Object.keys(r).forEach(b=>{g[b]=o[b]??r[b]}),m=t(g)}else m=t();if(o._hookCallbacks){const g=o._hookCallbacks;g.onConnected&&(i.onConnected=g.onConnected),g.onDisconnected&&(i.onDisconnected=g.onDisconnected),g.onAttributeChanged&&(i.onAttributeChanged=g.onAttributeChanged),g.onError&&(i.onError=g.onError),g.style&&(o._styleCallback=g.style)}return m}finally{rn(),q.clearCurrentComponent()}}};Re.set(n,s),typeof window<"u"&&(customElements.get(n)||customElements.define(n,fn(n,s)))}class dn{map=new Map;maxSize;constructor(t){this.maxSize=t}get(t){const n=this.map.get(t);if(n!==void 0)return this.map.delete(t),this.map.set(t,n),n}set(t,n){if(this.map.has(t)&&this.map.delete(t),this.map.set(t,n),this.map.size>this.maxSize){const r=this.map.keys().next().value;r!==void 0&&this.map.delete(r)}}has(t){return this.map.has(t)}clear(){this.map.clear()}}const Fe=new dn(500);function hn(e,t){if(e==null){console.warn(`⚠️ Event handler for '@${t}' is ${e}. This will prevent the event from working. Use a function reference instead: @${t}="\${functionName}"`);return}typeof e!="function"&&console.warn(`🚨 Potential infinite loop detected! Event handler for '@${t}' appears to be the result of a function call (${typeof e}) instead of a function reference. Change @${t}="\${functionName()}" to @${t}="\${functionName}" to pass the function reference instead of calling it immediately.`),e===void 0&&typeof e!="function"&&console.warn(`💡 Tip: If your event handler function returns undefined, make sure you're passing the function reference, not calling it. Use @${t}="\${fn}" not @${t}="\${fn()}"`)}function ve(e,t={},n,r){const i=r??t.key;return{tag:e,key:i,props:t,children:n}}function Oe(e){return!!e&&typeof e=="object"&&(e.type==="AnchorBlock"||e.tag==="#anchor")}function Pe(e){return typeof e=="object"&&e!==null&&"tag"in e&&!Oe(e)}function pn(e,t){return e.key!=null?e:{...e,key:t}}function gn(e,t=[],n={}){const r={},i={},s={},o=[],a=/([:@#]?)([a-zA-Z0-9-:\.]+)=("([^"\\]*(\\.[^"\\]*)*)"|'([^'\\]*(\\.[^'\\]*)*)')/g;let u;for(;u=a.exec(e);){const m=u[1],g=u[2],b=(u[4]||u[6])??"",p=b.match(/^{{(\d+)}}$/);let l=p?t[Number(p[1])]??null:b;p||(l==="true"?l=!0:l==="false"?l=!1:l==="null"?l=null:isNaN(Number(l))||(l=Number(l)));const d=["model","bind","show","class","style","ref"];if(m===":"){const[v,w]=g.split(":"),[c,...h]=v.split(".");if(d.includes(c)){const y=[...h],C=c==="model"&&w?`model:${w}`:c;s[C]={value:l,modifiers:y,arg:w}}else{let y=l;y&&ee(y)&&(y=y.value),i[g]=y,o.push(g)}}else if(m==="@"){const[v,...w]=g.split("."),c=w;hn(l,v);const h=typeof l=="function"?l:typeof n[l]=="function"?n[l]:void 0;if(h){const y=x=>{if(c.includes("prevent")&&x.preventDefault(),c.includes("stop")&&x.stopPropagation(),!(c.includes("self")&&x.target!==x.currentTarget))return c.includes("once")&&x.currentTarget?.removeEventListener(v,y),h(x)},C="on"+v.charAt(0).toUpperCase()+v.slice(1);r[C]=y}}else g==="ref"?r.ref=l:i[g]=l}return{props:r,attrs:i,directives:s,bound:o}}function mn(e,t,n){const r=be.length>0?be[be.length-1]:void 0,i=n??r,s=!n&&t.length===0,o=s?e.join("<!--TEMPLATE_DELIM-->"):null;if(s&&o){const f=Fe.get(o);if(f)return f}function a(f,k){return ve("#text",{},f,k)}let u="";for(let f=0;f<e.length;f++)u+=e[f],f<t.length&&(u+=`{{${f}}}`);const m=/<!--[\s\S]*?-->|<\/?([a-zA-Z0-9-]+)((?:\s+[^\s=>/]+(?:\s*=\s*(?:"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|[^\s>]+))?)*)\s*\/?>|{{(\d+)}}|([^<]+)/g,g=[];let b,p=[],l=null,d={},v,w=0,c=[];function h(f){!f||typeof f!="object"||Oe(f)||(f.props||f.attrs?(f.props&&(d.props||(d.props={}),Object.assign(d.props,f.props)),f.attrs&&(d.attrs||(d.attrs={}),Object.keys(f.attrs).forEach(k=>{if(k==="style"&&d.attrs.style){const T=d.attrs.style.replace(/;?\s*$/,""),_=f.attrs.style.replace(/^;?\s*/,"");d.attrs.style=T+"; "+_}else if(k==="class"&&d.attrs.class){const T=d.attrs.class.trim().split(/\s+/).filter(Boolean),_=f.attrs.class.trim().split(/\s+/).filter(Boolean),$=[...new Set([...T,..._])];d.attrs.class=$.join(" ")}else d.attrs[k]=f.attrs[k]}))):(d.props||(d.props={}),Object.assign(d.props,f)))}function y(f,k){const T=l?p:c;if(Oe(f)){const _=f.key??k;let $=f.children;T.push({...f,key:_,children:$});return}if(Pe(f)){T.push(pn(f,void 0));return}if(Array.isArray(f)){if(f.length===0)return;for(let _=0;_<f.length;_++){const $=f[_];Oe($)||Pe($)||Array.isArray($)?y($,`${k}-${_}`):$!==null&&typeof $=="object"?h($):T.push(a(String($),`${k}-${_}`))}return}if(f!==null&&typeof f=="object"){h(f);return}T.push(a(String(f),k))}const C=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);for(;b=m.exec(u);)if(!(b[0].startsWith("<!--")&&b[0].endsWith("-->"))){if(b[1]){const f=b[1],k=b[0][1]==="/",T=b[0][b[0].length-2]==="/"||C.has(f),{props:_,attrs:$,directives:R,bound:O}=gn(b[2]||"",t,i),A={props:{},attrs:{}};for(const L in _)A.props[L]=_[L];for(const L in $)A.attrs[L]=$[L];if(A.attrs&&Object.prototype.hasOwnProperty.call(A.attrs,"key")&&!(A.props&&Object.prototype.hasOwnProperty.call(A.props,"key")))try{A.props.key=A.attrs.key}catch{}try{const L={input:["value","checked","disabled","readonly","required","placeholder","maxlength","minlength"],textarea:["value","disabled","readonly","required","placeholder","maxlength","minlength"],select:["value","disabled","required","multiple"],option:["selected","disabled","value"],video:["muted","autoplay","controls","loop","playsinline"],audio:["muted","autoplay","controls","loop"],img:["src","alt","width","height"],button:["type","name","value","disabled","autofocus","form"]},F=f.toLowerCase(),G=L[F]??[];if(A.attrs){for(const V of G)if(O&&O.includes(V)&&V in A.attrs&&!(A.props&&V in A.props)){let j=A.attrs[V];j&&ee(j)&&(j=j.value),A.props[V]=j,delete A.attrs[V]}}if((f.includes("-")||!!i?.__customElements?.has?.(f))&&(A.isCustomElement=!0,O&&A.attrs)){const V=new Set(["id","name","data-key","key"]);for(const j of O)if(j in A.attrs&&!(A.props&&j in A.props)){const W=j.includes("-")?j.split("-").map((X,D)=>D===0?X:X.charAt(0).toUpperCase()+X.slice(1)).join(""):j;let Q=A.attrs[j];Q&&ee(Q)&&(Q=Q.value),A.props[W]=Q,V.has(j)||delete A.attrs[j]}}}catch{}if(R&&Object.keys(R).some(L=>L==="model"||L.startsWith("model:")))try{const L=Symbol.for("cer.registry"),F=globalThis[L],G=!!(F&&typeof F.has=="function"&&F.has(f)),Le=!!(i&&(i.__customElements instanceof Set&&i.__customElements.has(f)||Array.isArray(i.__isCustomElements)&&i.__isCustomElements.includes(f)));if(!!(f.includes("-")||Le||G))for(const W of Object.keys(R)){if(W!=="model"&&!W.startsWith("model:"))continue;const Q=R[W],X=Q.arg??(W.includes(":")?W.split(":",2)[1]:void 0),D=Q.value,E=X??"modelValue",K=B,H=Ee,z=i?i._state||i:void 0;let P;typeof D=="string"&&i?P=K(z,D):(P=D,P&&ee(P)&&(P=P.value)),A.props[E]=P;try{const ce=re(E);A.attrs||(A.attrs={}),P!==void 0&&(A.attrs[ce]=P)}catch{}A.isCustomElement=!0;const mt=`update:${re(E)}`.replace(/-([a-z])/g,(ce,ne)=>ne.toUpperCase()),Wn="on"+mt.charAt(0).toUpperCase()+mt.slice(1);A.props[Wn]=function(ce){const ne=ce.detail!==void 0?ce.detail:ce.target?ce.target.value:void 0;if(z)if(D&&ee(D)){const de=D.value;(Array.isArray(ne)&&Array.isArray(de)?JSON.stringify([...ne].sort())!==JSON.stringify([...de].sort()):ne!==de)&&(D.value=ne,i?.requestRender?i.requestRender():i?._requestRender&&i._requestRender())}else{const de=K(z,typeof D=="string"?D:String(D));(Array.isArray(ne)&&Array.isArray(de)?JSON.stringify([...ne].sort())!==JSON.stringify([...de].sort()):ne!==de)&&(H(z,typeof D=="string"?D:String(D),ne),i?.requestRender?i.requestRender():i?._requestRender&&i._requestRender())}},delete R[W]}}catch{}if(Object.keys(R).length>0&&(A.directives={...R}),k){const L=ve(l,d,p.length===1&&Pe(p[0])&&p[0].tag==="#text"?typeof p[0].children=="string"?p[0].children:"":p.length?p:void 0,v),F=g.pop();F?(l=F.tag,d=F.props,v=F.key,p=F.children,p.push(L)):(c.push(L),l=null,d={},v=void 0,p=[])}else T?l?p.push(ve(f,A,void 0,void 0)):c.push(ve(f,A,void 0,void 0)):(l&&g.push({tag:l,props:d,children:p,key:v}),l=f,d=A,p=[])}else if(typeof b[3]<"u"){const f=Number(b[3]),k=t[f],T=`interp-${f}`;y(k,T)}else if(b[4]){const f=b[4],k=l?p:c,T=f.split(/({{\d+}})/);for(const _ of T){if(!_)continue;const $=_.match(/^{{(\d+)}}$/);if($){const R=Number($[1]),O=t[R],A=`interp-${R}`;y(O,A)}else{const R=`text-${w++}`;k.push(a(_,R))}}}}const x=c.filter(f=>Pe(f)&&f.tag==="#text"?typeof f.children=="string"&&f.children.trim()!=="":!0);if(x.length===1){const f=x[0];return s&&o&&Fe.set(o,f),f}else if(x.length>1){const f=x;return s&&o&&Fe.set(o,f),f}return ve("div",{},"","fallback-root")}function ae(e,...t){const n=t[t.length-1],r=typeof n=="object"&&n&&!Array.isArray(n)?n:void 0;return mn(e,t,r)}function ke(e,t){return M(e?t:[],"when-block")}function yn(e,t){return e.map((n,r)=>{const i=typeof n=="object"?n?.key??n?.id??`idx-${r}`:String(n);return M(t(n,r),`each-${i}`)})}function dt(){const e=[];return{when(t,n){return e.push([t,n]),this},otherwise(t){return e.push([!0,t]),this},done(){return bn(...e)}}}function bn(...e){for(let t=0;t<e.length;t++){const[n,r]=e[t];if(n)return[M(r,`whenChain-branch-${t}`)]}return[M([],"whenChain-empty")]}function M(e,t){const n=e?Array.isArray(e)?e.filter(Boolean):[e].filter(Boolean):[];return{tag:"#anchor",key:t,children:n}}function wn(e,t){return ke(!e,t)}function vn(e,t){const n=!e||e.length===0;return ke(n,t)}function kn(e,t){const n=!!(e&&e.length>0);return ke(n,t)}function xn(e,t,n){const r=[];return e.forEach((i,s)=>{t(i,s)&&r.push({item:i,originalIndex:s})}),r.map(({item:i,originalIndex:s},o)=>{const a=typeof i=="object"&&i!=null?i?.key??i?.id??`filtered-${s}`:`filtered-${s}`;return M(n(i,s,o),`each-where-${a}`)})}function Cn(e,t){const n=e?.length??0;return n===0&&t.empty?M(t.empty,"switch-length-empty"):n===1&&t.one?M(t.one(e[0]),"switch-length-one"):t.exactly?.[n]?M(t.exactly[n](e),`switch-length-${n}`):n>1&&t.many?M(t.many(e),"switch-length-many"):M([],"switch-length-fallback")}function _n(e,t,n){const r=new Map;return e.forEach(i=>{const s=t(i);r.has(s)||r.set(s,[]),r.get(s).push(i)}),Array.from(r.entries()).map(([i,s],o)=>M(n(i,s,o),`each-group-${i}`))}function En(e,t,n,r){const i=n*t,s=Math.min(i+t,e.length);return e.slice(i,s).map((a,u)=>{const m=i+u,g=typeof a=="object"&&a!=null?a?.key??a?.id??`page-${m}`:`page-${m}`;return M(r(a,m,u),`each-page-${g}`)})}function $n(e,t){return e.loading&&t.loading?M(t.loading,"promise-loading"):e.error&&t.error?M(t.error(e.error),"promise-error"):e.data!==void 0&&t.success?M(t.success(e.data),"promise-success"):t.idle?M(t.idle,"promise-idle"):M([],"promise-fallback")}function U(e,t){const n=typeof window<"u"&&window.matchMedia?.(e)?.matches;return ke(!!n,t)}const te={sm:"(min-width:640px)",md:"(min-width:768px)",lg:"(min-width:1024px)",xl:"(min-width:1280px)","2xl":"(min-width:1536px)",dark:"(prefers-color-scheme: dark)"},Ke=["sm","md","lg","xl","2xl"],ht={sm:e=>U(te.sm,e),md:e=>U(te.md,e),lg:e=>U(te.lg,e),xl:e=>U(te.xl,e),"2xl":e=>U(te["2xl"],e),dark:e=>U(te.dark,e),light:e=>U("(prefers-color-scheme: light)",e),touch:e=>U("(hover: none) and (pointer: coarse)",e),mouse:e=>U("(hover: hover) and (pointer: fine)",e),reducedMotion:e=>U("(prefers-reduced-motion: reduce)",e),highContrast:e=>U("(prefers-contrast: high)",e),portrait:e=>U("(orientation: portrait)",e),landscape:e=>U("(orientation: landscape)",e)};function Sn(e,t){const n=[];e.includes("dark")?n.push(te.dark):e.includes("light")&&n.push("(prefers-color-scheme: light)");const r=e.filter(o=>Ke.includes(o)),i=r[r.length-1];i&&i in te&&n.push(te[i]);const s=n.length>0?n.join(" and "):"all";return U(s,t)}function An(e){const t=[];return e.base&&t.push(M(e.base,"responsive-base")),Ke.forEach(n=>{const r=e[n];r&&t.push(ht[n](r))}),t}function Tn(e){const t=[];let n=null;return{case(r,i){const s=typeof r=="function"?r:o=>o===r;return t.push({condition:s,content:i}),this},when(r,i){return t.push({condition:r,content:i}),this},otherwise(r){return n=r,this},done(){for(let r=0;r<t.length;r++){const{condition:i,content:s}=t[r];if(i(e))return M(s,`switch-case-${r}`)}return M(n||[],"switch-otherwise")}}}class fe extends EventTarget{handlers={};static instance;eventCounters=new Map;static getInstance(){return fe.instance||(fe.instance=new fe),fe.instance}emit(t,n){const r=Date.now(),i=this.eventCounters.get(t);if(!i||r-i.window>1e3)this.eventCounters.set(t,{count:1,window:r});else if(i.count++,i.count>50&&i.count>100)return;this.dispatchEvent(new CustomEvent(t,{detail:n,bubbles:!1,cancelable:!0}));const s=this.handlers[t];s&&s.forEach(o=>{try{o(n)}catch(a){se(`Error in global event handler for "${t}":`,a)}})}on(t,n){return this.handlers[t]||(this.handlers[t]=new Set),this.handlers[t].add(n),()=>this.off(t,n)}off(t,n){const r=this.handlers[t];r&&r.delete(n)}offAll(t){delete this.handlers[t]}listen(t,n,r){return this.addEventListener(t,n,r),()=>this.removeEventListener(t,n)}once(t,n){return new Promise(r=>{const i=this.on(t,s=>{i(),n(s),r(s)})})}getActiveEvents(){return Object.keys(this.handlers).filter(t=>this.handlers[t]&&this.handlers[t].size>0)}clear(){this.handlers={}}getHandlerCount(t){return this.handlers[t]?.size||0}getEventStats(){const t={};for(const[n,r]of this.eventCounters.entries())t[n]={count:r.count,handlersCount:this.getHandlerCount(n)};return t}resetEventCounters(){this.eventCounters.clear()}}const pe=fe.getInstance(),Rn=(e,t)=>pe.emit(e,t),On=(e,t)=>pe.on(e,t),Pn=(e,t)=>pe.off(e,t),Ln=(e,t)=>pe.once(e,t),Mn=(e,t,n)=>pe.listen(e,t,n);function Ve(e){let t={...e};const n=[];function r(a){n.push(a),a(t)}function i(){return t}function s(a){const u=typeof a=="function"?a(t):a;t={...t,...u},o()}function o(){n.forEach(a=>a(t))}return{subscribe:r,getState:i,setState:s}}const Je=e=>e?typeof URLSearchParams>"u"?{}:Object.fromEntries(new URLSearchParams(e)):{},Y=(e,t)=>{for(const n of e){const r=[],i=n.path.replace(/:[^/]+/g,a=>(r.push(a.slice(1)),"([^/]+)")),s=new RegExp(`^${i}$`),o=t.match(s);if(o){const a={};return r.forEach((u,m)=>{a[u]=o[m+1]}),{route:n,params:a}}}return{route:null,params:{}}},Ze={};async function pt(e){if(e.component)return e.component;if(e.load){if(Ze[e.path])return Ze[e.path];try{const t=await e.load();return Ze[e.path]=t.default,t.default}catch{throw new Error(`Failed to load component for route: ${e.path}`)}}throw new Error(`No component or loader defined for route: ${e.path}`)}function gt(e){const{routes:t,base:n="",initialUrl:r}=e;let i,s,o,a,u,m,g;const b=async(v,w)=>{const c=t.find(h=>Y([h],v.path).route!==null);if(c?.beforeEnter)try{const h=await c.beforeEnter(v,w);return typeof h=="string"?(await d(h,!0),!1):h!==!1}catch(h){return se("beforeEnter error",h),!1}return!0},p=async(v,w)=>{const c=t.find(h=>Y([h],v.path).route!==null);if(c?.onEnter)try{const h=await c.onEnter(v,w);return typeof h=="string"?(await d(h,!0),!1):h!==!1}catch(h){return se("onEnter error",h),!1}return!0},l=(v,w)=>{const c=t.find(h=>Y([h],v.path).route!==null);if(c?.afterEnter)try{c.afterEnter(v,w)}catch(h){se("afterEnter error",h)}},d=async(v,w=!1)=>{try{const c={path:v.replace(n,"")||"/",query:{}},h=Y(t,c.path);if(!h)throw new Error(`No route found for ${c.path}`);const y=o.getState(),C={path:c.path,params:h.params,query:c.query};if(!await b(C,y)||!await p(C,y))return;typeof window<"u"&&typeof document<"u"&&(w?window.history.replaceState({},"",n+v):window.history.pushState({},"",n+v)),o.setState(C),l(C,y)}catch(c){se("Navigation error:",c)}};if(typeof window<"u"&&typeof document<"u"&&typeof r>"u"){i=()=>{const w=new URL(window.location.href),c=w.pathname.replace(n,"")||"/",h=Je(w.search);return{path:c,query:h}},s=i();const v=Y(t,s.path);o=Ve({path:s.path,params:v.params,query:s.query}),a=async(w=!1)=>{const c=i();await d(c.path,w)},window.addEventListener("popstate",()=>a(!0)),u=w=>d(w,!1),m=w=>d(w,!0),g=()=>window.history.back()}else{i=()=>{const c=new URL(r||"/","http://localhost"),h=c.pathname.replace(n,"")||"/",y=Je(c.search);return{path:h,query:y}},s=i();const v=Y(t,s.path);o=Ve({path:s.path,params:v.params,query:s.query}),a=async()=>{const c=i();await w(c.path)};const w=async c=>{try{const h={path:c.replace(n,"")||"/",query:{}},y=Y(t,h.path);if(!y)throw new Error(`No route found for ${h.path}`);const C=o.getState(),x={path:h.path,params:y.params,query:h.query},f=t.find(k=>Y([k],x.path).route!==null);if(f?.beforeEnter)try{const k=await f.beforeEnter(x,C);if(typeof k=="string"){await w(k);return}if(k===!1)return}catch{return}if(f?.onEnter)try{const k=await f.onEnter(x,C);if(typeof k=="string"){await w(k);return}if(k===!1)return}catch{return}if(o.setState(x),f?.afterEnter)try{f.afterEnter(x,C)}catch{}}catch{}};u=async c=>w(c),m=async c=>w(c),g=()=>{}}return{store:o,push:u,replace:m,back:g,subscribe:o.subscribe,matchRoute:v=>Y(t,v),getCurrent:()=>o.getState(),resolveRouteComponent:pt}}function jn(e,t){return Y(e,t)}function Nn(e){const t=gt(e);return qe("router-view",(n={},r={})=>{const{onConnected:i}=r;if(i&&i(()=>{t&&typeof t.subscribe=="function"&&t.subscribe(()=>{})}),!t)return ae`<div>Router not initialized.</div>`;const s=t.getCurrent(),{path:o}=s,a=t.matchRoute(o);return a.route?t.resolveRouteComponent(a.route).then(u=>{if(typeof u=="string")return{tag:u,props:{},children:[]};if(typeof u=="function"){const m=u();return(m instanceof Promise?m:Promise.resolve(m)).then(b=>typeof b=="string"?{tag:b,props:{},children:[]}:b)}return ae`<div>Invalid route component</div>`}).catch(()=>ae`<div>Invalid route component</div>`):ae`<div>Not found</div>`}),qe("router-link",(n={},r={})=>{const{to:i="",tag:s="a",replace:o=!1,exact:a=!1,activeClass:u="active",exactActiveClass:m="exact-active",ariaCurrentValue:g="page",disabled:b=!1,external:p=!1,class:l=""}=n,d=t.getCurrent(),v=d.path===i,w=a?v:d&&typeof d.path=="string"?d.path.startsWith(i):!1,c=v?`aria-current="${g}"`:"",h=(l||"").split(/\s+/).filter(Boolean),y={};for(const _ of h)y[_]=!0;const C={...y,[u]:w,[m]:v},x=s==="button",f=b?x?'disabled aria-disabled="true" tabindex="-1"':'aria-disabled="true" tabindex="-1"':"",k=p&&(s==="a"||!s)?'target="_blank" rel="noopener noreferrer"':"",T=_=>{if(b){_.preventDefault();return}p&&(s==="a"||!s)||(_.preventDefault(),o?t.replace(i):t.push(i))};return ae`
|
|
73
|
+
${dt().when(x,ae`
|
|
74
74
|
<button
|
|
75
75
|
part="button"
|
|
76
76
|
:class="${C}"
|
|
77
77
|
${c}
|
|
78
78
|
${f}
|
|
79
|
-
${
|
|
80
|
-
@click="${
|
|
79
|
+
${k}
|
|
80
|
+
@click="${T}"
|
|
81
81
|
><slot></slot></button>
|
|
82
|
-
`).otherwise(
|
|
82
|
+
`).otherwise(ae`
|
|
83
83
|
<a
|
|
84
84
|
part="link"
|
|
85
85
|
href="${i}"
|
|
86
86
|
:class="${C}"
|
|
87
87
|
${c}
|
|
88
88
|
${f}
|
|
89
|
-
${
|
|
90
|
-
@click="${
|
|
89
|
+
${k}
|
|
90
|
+
@click="${T}"
|
|
91
91
|
><slot></slot></a>
|
|
92
92
|
`).done()}
|
|
93
|
-
`}),t}
|
|
93
|
+
`}),t}S.GlobalEventBus=fe,S.anchorBlock=M,S.component=qe,S.computed=kt,S.createStore=Ve,S.css=it,S.each=yn,S.eachGroup=_n,S.eachPage=En,S.eachWhere=xn,S.emit=Rn,S.eventBus=pe,S.html=ae,S.initRouter=Nn,S.listen=Mn,S.match=dt,S.matchRoute=Y,S.matchRouteSSR=jn,S.mediaVariants=te,S.off=Pn,S.on=On,S.once=Ln,S.parseQuery=Je,S.ref=vt,S.renderToString=Se,S.resolveRouteComponent=pt,S.responsive=ht,S.responsiveOrder=Ke,S.responsiveSwitch=An,S.switchOn=Tn,S.switchOnLength=Cn,S.switchOnPromise=$n,S.unless=wn,S.useEmit=sn,S.useOnAttributeChanged=cn,S.useOnConnected=on,S.useOnDisconnected=an,S.useOnError=ln,S.useRouter=gt,S.useStyle=un,S.watch=xt,S.when=ke,S.whenEmpty=vn,S.whenMedia=U,S.whenNotEmpty=kn,S.whenVariants=Sn,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})}));
|
|
94
94
|
//# sourceMappingURL=custom-elements-runtime.umd.js.map
|