@jasonshimmy/custom-elements-runtime 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
- (function($,pe){typeof exports=="object"&&typeof module<"u"?pe(exports):typeof define=="function"&&define.amd?define(["exports"],pe):($=typeof globalThis<"u"?globalThis:$||self,pe($.CustomElementsRuntime={}))})(this,(function($){"use strict";class pe{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 gt=new pe;function fe(e,t){gt.schedule(e,t)}const Je=new WeakSet;class mt{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{Ze.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 Ze{static contextCache=new WeakMap;static createReactiveProxy(t,n,r){try{if(Je.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)),mt.getOrCreateProxy(t,o,i)}static markAsProxy(t){if(t)try{Je.add(t)}catch{}}}class yt{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 Pe(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 Pe(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&&fe(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 yt;class Pe{_value;dependents=new Set;constructor(t){this._value=this.makeReactive(t)}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.
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=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[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=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[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%;","max-w-screen":"max-width:100dvw;","max-h-screen":"max-height:100dvh;","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 Qt(e,t,n,r,i){if(!e)return;const s=Jt(n);if((!s||s.trim()==="")&&!t._computedStyle){i(null),e.adoptedStyleSheets=[it()];return}let o="";t._computedStyle&&(o=t._computedStyle);let a=Wt(`${o}
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
- ${ut().when(k,oe`
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
- ${x}
80
- @click="${R}"
79
+ ${k}
80
+ @click="${T}"
81
81
  ><slot></slot></button>
82
- `).otherwise(oe`
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
- ${x}
90
- @click="${R}"
89
+ ${k}
90
+ @click="${T}"
91
91
  ><slot></slot></a>
92
92
  `).done()}
93
- `}),t}$.GlobalEventBus=le,$.anchorBlock=M,$.component=Be,$.computed=wt,$.createStore=Fe,$.css=nt,$.each=pn,$.eachGroup=vn,$.eachPage=xn,$.eachWhere=bn,$.emit=Sn,$.eventBus=de,$.html=oe,$.initRouter=Pn,$.listen=Tn,$.match=ut,$.matchRoute=Y,$.matchRouteSSR=On,$.mediaVariants=ee,$.off=An,$.on=$n,$.once=Rn,$.parseQuery=Ke,$.ref=bt,$.renderToString=Ee,$.resolveRouteComponent=dt,$.responsive=ft,$.responsiveOrder=qe,$.responsiveSwitch=_n,$.switchOn=En,$.switchOnLength=wn,$.switchOnPromise=kn,$.unless=gn,$.useEmit=en,$.useOnAttributeChanged=rn,$.useOnConnected=tn,$.useOnDisconnected=nn,$.useOnError=sn,$.useRouter=pt,$.useStyle=on,$.watch=vt,$.when=we,$.whenEmpty=mn,$.whenMedia=U,$.whenNotEmpty=yn,$.whenVariants=Cn,Object.defineProperty($,Symbol.toStringTag,{value:"Module"})}));
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