@jasonshimmy/custom-elements-runtime 0.0.14 → 0.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -20,17 +20,19 @@ Build modern components with strict TypeScript, zero dependencies, and a clean f
20
20
  - 🔌 **Extensible:** Directives, event bus, store, and more for advanced use cases.
21
21
  - 🏆 **Developer Friendly:** Clean docs, examples, and a welcoming community.
22
22
 
23
- ## ⏱️ Getting Started in 60 Seconds
23
+ ## ⏱️ Getting Started
24
24
 
25
25
  1. **Install:** `npm install @jasonshimmy/custom-elements-runtime`
26
26
  2. **Create a Component:**
27
- ```ts
27
+ ```ts
28
28
  import { component, html } from '@jasonshimmy/custom-elements-runtime';
29
29
 
30
30
  component('my-counter', (ctx) => html`
31
- <button @click="${() => ctx.count++}">Count: ${ctx.count}</button>
31
+ <button
32
+ @click="${() => ctx.count++}"
33
+ >Count: ${ctx.count}</button>
32
34
  `, { state: { count: 0 } });
33
- ```
35
+ ```
34
36
  3. **Use in HTML:**
35
37
  ```html
36
38
  <my-counter></my-counter>
@@ -1,19 +1,128 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function se(e){let t=new Proxy(e,{set:(o,c,d)=>(o[c]=d,s(),!0)});const r=[];function n(o){r.push(o),o(t)}function i(){return t}function s(){r.forEach(o=>o(t))}return{subscribe:n,getState:i}}class R extends EventTarget{handlers={};static instance;eventCounters=new Map;static getInstance(){return R.instance||(R.instance=new R),R.instance}emit(t,r){const n=Date.now(),i=this.eventCounters.get(t);if(!i||n-i.window>1e3)this.eventCounters.set(t,{count:1,window:n});else if(i.count++,i.count>50&&(console.error(`Event storm detected for "${t}": ${i.count} events in 1 second. Throttling...`),i.count>100)){console.warn(`Blocking further "${t}" events to prevent infinite loop`);return}this.dispatchEvent(new CustomEvent(t,{detail:r,bubbles:!1,cancelable:!0}));const s=this.handlers[t];s&&s.forEach(o=>{try{o(r)}catch(c){console.error(`Error in global event handler for "${t}":`,c)}})}on(t,r){return this.handlers[t]||(this.handlers[t]=new Set),this.handlers[t].add(r),()=>this.off(t,r)}off(t,r){const n=this.handlers[t];n&&n.delete(r)}offAll(t){delete this.handlers[t]}listen(t,r,n){return this.addEventListener(t,r,n),()=>this.removeEventListener(t,r)}once(t,r){return new Promise(n=>{const i=this.on(t,s=>{i(),r(s),n(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[r,n]of this.eventCounters.entries())t[r]={count:n.count,handlersCount:this.getHandlerCount(r)};return t}resetEventCounters(){this.eventCounters.clear()}}const ae=R.getInstance();function P(e,t={},r,n){const i=n??t.key;return{tag:e,key:i,props:t,children:r}}function V(e){return!!e&&typeof e=="object"&&(e.type==="AnchorBlock"||e.tag==="#anchor")}function z(e){return typeof e=="object"&&e!==null&&"tag"in e&&!V(e)}function le(e,t){return e.key!=null?e:{...e,key:t}}function ce(e,t=[],r={}){const n={},i={},s={},o=/([:@#]?)([a-zA-Z0-9-:\.]+)=("([^"\\]*(\\.[^"\\]*)*)"|'([^'\\]*(\\.[^'\\]*)*)')/g;let c;for(;c=o.exec(e);){const d=c[1],a=c[2],u=(c[4]||c[6])??"",y=u.match(/^{{(\d+)}}$/);let f=y?t[Number(y[1])]??null:u;if(y||(f==="true"?f=!0:f==="false"?f=!1:f==="null"?f=null:isNaN(Number(f))||(f=Number(f))),d===":")typeof f=="boolean"?i[a]=f:f!=null&&(n[a]=f);else if(d==="@"){const w="on"+a.charAt(0).toUpperCase()+a.slice(1);n[w]=typeof f=="function"?f:typeof r[f]=="function"?r[f]:void 0}else if(d==="#"){const[w,...p]=a.split("."),S=[...p];let g=f,l=[...S];if(w==="model"&&typeof g=="string"&&g.includes(".")){const b=["trim","number","lazy"],m=g.split(".");let h=g;const x=[];for(let C=m.length-1;C>0&&b.includes(m[C]);C--)x.unshift(m[C]),h=m.slice(0,C).join(".");g=h,l.push(...x)}s[w]={value:g,modifiers:l}}else i[a]=f}return{props:n,attrs:i,directives:s}}function fe(e,t,r){function n(l,b){return P("#text",{},l,b)}let i="";for(let l=0;l<e.length;l++)i+=e[l],l<t.length&&(i+=`{{${l}}}`);const s=/<\/?([a-zA-Z0-9-]+)([^>]*)\/?>|{{(\d+)}}|([^<]+)/g,o=[];let c=null,d,a=[],u=null,y={},f,w=0,p=[];function S(l){!l||typeof l!="object"||V(l)||(l.props||l.attrs?(l.props&&(y.props||(y.props={}),Object.assign(y.props,l.props)),l.attrs&&(y.attrs||(y.attrs={}),Object.keys(l.attrs).forEach(b=>{if(b==="style"&&y.attrs.style){const m=y.attrs.style.replace(/;?\s*$/,""),h=l.attrs.style.replace(/^;?\s*/,"");y.attrs.style=m+"; "+h}else if(b==="class"&&y.attrs.class){const m=y.attrs.class.trim().split(/\s+/).filter(Boolean),h=l.attrs.class.trim().split(/\s+/).filter(Boolean),x=[...new Set([...m,...h])];y.attrs.class=x.join(" ")}else y.attrs[b]=l.attrs[b]}))):(y.props||(y.props={}),Object.assign(y.props,l)))}function g(l,b){const m=u?a:p;if(V(l)){const h=l.key??b;let x=l.children;m.push({...l,key:h,children:x});return}if(z(l)){m.push(le(l,void 0));return}if(Array.isArray(l)){if(l.length===0)return;for(let h=0;h<l.length;h++){const x=l[h];V(x)||z(x)||Array.isArray(x)?g(x,`${b}-${h}`):x!==null&&typeof x=="object"?S(x):m.push(n(String(x),`${b}-${h}`))}return}if(l!==null&&typeof l=="object"){S(l);return}m.push(n(String(l),b))}for(;d=s.exec(i);)if(d[1]){const l=d[1],b=d[0][1]==="/",m=d[0][d[0].length-2]==="/",{props:h,attrs:x,directives:C}=ce(d[2]||"",t,r),k={props:{},attrs:{}};for(const _ in h)k.props[_]=h[_];for(const _ in x)k.attrs[_]=x[_];for(const[_,$]of Object.entries(C))if(_==="bind")if(typeof $.value=="object"&&$.value!==null)for(const[A,E]of Object.entries($.value))typeof E=="boolean"?k.attrs[A]=E:E!=null&&(k.attrs[A]=String(E));else $.value!=null&&(k.attrs[_]=String($.value));else if(_==="show"){const A=!!$.value;k.attrs.style=(k.attrs.style||"")+(A?"":"; display: none !important")}else if(_==="class"){const A=$.value;let E=[];if(typeof A=="string")E=A.split(/\s+/).filter(Boolean);else if(Array.isArray(A)){for(const L of A)if(typeof L=="string")E.push(...L.split(/\s+/).filter(Boolean));else if(L&&typeof L=="object")for(const[N,M]of Object.entries(L))M&&E.push(...N.split(/\s+/).filter(Boolean))}else if(A&&typeof A=="object")for(const[L,N]of Object.entries(A))N&&E.push(...L.split(/\s+/).filter(Boolean));const B=k.attrs.class||"",O=[...new Set([...B.split(/\s+/).filter(Boolean),...E])];k.attrs.class=O.join(" ")}else if(_==="style"){const A=$.value;let E="";if(typeof A=="string")E=A;else if(A&&typeof A=="object"){const O=[];for(const[L,N]of Object.entries(A))if(N!=null&&N!==""){const M=L.replace(/[A-Z]/g,oe=>`-${oe.toLowerCase()}`),ie=["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 Q=String(N);typeof N=="number"&&ie.includes(M)&&(Q=`${N}px`),O.push(`${M}: ${Q}`)}E=O.join("; ")+(O.length>0?";":"")}const B=k.attrs.style||"";k.attrs.style=B+(B&&!B.endsWith(";")?"; ":"")+E}const v={};for(const[_,$]of Object.entries(C))["bind","show","class","style"].includes(_)||(v[_]=$);if(Object.keys(v).length>0&&(k.directives=v),b){const _=P(u,y,a.length===1&&z(a[0])&&a[0].tag==="#text"?typeof a[0].children=="string"?a[0].children:"":a.length?a:void 0,f),$=o.pop();$?(u=$.tag,y=$.props,f=$.key,a=$.children,a.push(_)):c=_}else m?(u?a:p).push(P(l,k,void 0,void 0)):(u&&o.push({tag:u,props:y,children:a,key:f}),u=l,y=k,a=[])}else if(typeof d[3]<"u"){const l=Number(d[3]),b=t[l],m=`interp-${l}`;g(b,m)}else if(d[4]){const l=d[4],b=u?a:p,m=l.split(/({{\d+}})/);for(const h of m){if(!h)continue;const x=h.match(/^{{(\d+)}}$/);if(x){const C=Number(x[1]),k=t[C],v=`interp-${C}`;g(k,v)}else{const C=`text-${w++}`;b.push(n(h,C))}}}if(c)return z(c)&&Array.isArray(c.children)&&(c.children=c.children.filter(l=>z(l)?l.tag!=="#text"||typeof l.children=="string"&&l.children.trim()!=="":!0)),c;if(p.length>0){const l=p.filter(b=>z(b)?b.tag!=="#text"||typeof b.children=="string"&&b.children.trim()!=="":!0);return l.length===1?l[0]:l}return P("div",{},"","fallback-root")}function de(e,...t){const r=t[t.length-1],n=typeof r=="object"&&r&&!Array.isArray(r)?r:void 0;return fe(e,t,n)}function ue(e,t){return H(e?t:[],"when-block")}function he(e,t){return e.map((r,n)=>{const i=typeof r=="object"?r?.key??r?.id??`idx-${n}`:String(r);return H(t(r,n),`each-${i}`)})}function pe(){const e=[];return{when(t,r){return e.push([t,r]),this},otherwise(t){return e.push([!0,t]),this},done(){return ge(...e)}}}function ge(...e){for(let t=0;t<e.length;t++){const[r,n]=e[t];if(r)return[H(n,`whenChain-branch-${t}`)]}return[H([],"whenChain-empty")]}function H(e,t){const r=e?Array.isArray(e)?e.filter(Boolean):[e].filter(Boolean):[];return{tag:"#anchor",key:t,children:r}}function j(e,t){return t.split(".").reduce((r,n)=>r?.[n],e)}function X(e,t,r){const n=t.split("."),i=n.pop();if(!i)return;const s=n.reduce((o,c)=>(c in o||(o[c]={}),o[c]),e);s[i]=r}function me(e,t,r,n,i,s,o){if(!s)return;const c=t.includes("lazy"),d=t.includes("trim"),a=t.includes("number"),u=()=>{const g=s._state||s;return j(g,e)},y=u();let f="text";const w=n?.type;if(o instanceof HTMLInputElement?f=w||o.type||"text":o instanceof HTMLSelectElement?f="select":o instanceof HTMLTextAreaElement&&(f="textarea"),f==="checkbox")if(Array.isArray(y)){const g=o?.getAttribute("value")||n?.value||"",l=y.includes(g);o&&o.checked!==l&&(r.checked=l)}else{const g=o?.getAttribute("true-value")||!0,l=y===g;o&&o.checked!==l&&(r.checked=l)}else if(f==="radio"){const g=n?.value||"",l=y===g;o&&o.checked!==l&&(r.checked=l)}else if(f==="select")if(o&&o.hasAttribute("multiple")){const g=o,l=Array.isArray(y)?y:[];setTimeout(()=>{Array.from(g.options).forEach(b=>{const m=l.includes(b.value);b.selected!==m&&(b.selected=m)})},0)}else setTimeout(()=>{o instanceof HTMLSelectElement&&o.value!==String(y)&&(o.value=String(y))},0);else{const g=String(y??"");(!o||o.value!==g)&&(r.value=y)}const p=c||f==="checkbox"||f==="radio"||f==="select"?"change":"input",S=g=>{if(g.isComposing||i._isComposing||g.isTrusted===!1)return;const l=g.target;if(l._modelUpdating)return;const b=u();let m=l.value;if(f==="checkbox")if(Array.isArray(b)){const k=l.getAttribute("value")||"",v=[...b];if(l.checked)v.includes(k)||v.push(k);else{const _=v.indexOf(k);_>-1&&v.splice(_,1)}m=v}else{const k=l.getAttribute("true-value")||!0,v=l.getAttribute("false-value")||!1;m=l.checked?k:v}else if(f==="radio")m=l.getAttribute("value")||l.value;else if(f==="select"&&l.multiple){const k=l;m=Array.from(k.selectedOptions).map(v=>v.value)}else if(d&&(m=m.trim()),a){const k=Number(m);isNaN(k)||(m=k)}const h=s._state||s,x=j(h,e);if(Array.isArray(m)&&Array.isArray(x)?JSON.stringify([...m].sort())!==JSON.stringify([...x].sort()):m!==x){const k=g.target;k._modelUpdating=!0,X(h,e,m),setTimeout(()=>{k._modelUpdating=!1},0),s._requestRender&&s._requestRender()}};if(i[p]=S,f==="text"||f==="textarea"){const g=()=>{i._isComposing=!0},l=b=>{i._isComposing=!1;const m=b.target;setTimeout(()=>{if(m){let h=m.value;if(d&&(h=h.trim()),a){const v=Number(h);isNaN(v)||(h=v)}const x=s._state||s,C=j(x,e);(Array.isArray(h)&&Array.isArray(C)?JSON.stringify([...h].sort())!==JSON.stringify([...C].sort()):h!==C)&&(m&&(m._modelUpdating=!0,setTimeout(()=>{m._modelUpdating=!1},0)),X(x,e,h),s._requestRender&&s._requestRender())}},0)};i.compositionstart=g,i.compositionend=l}}function ye(e,t,r,n){if(n)try{const i=JSON.parse(e);if(typeof i=="object")for(const[s,o]of Object.entries(i))t[s]=o}catch{const i=j(n,e);r[e]=i}}function be(e,t,r){if(!r)return;const n=j(r,e),i=t.style||"",s=n?"":"none";if(i){const o=i.split(";").filter(Boolean),c=o.findIndex(d=>d.trim().startsWith("display:"));c>=0?o[c]=`display: ${s}`:o.push(`display: ${s}`),t.style=o.join("; ")}else t.style=`display: ${s}`}function xe(e,t,r){if(!r)return;const n=j(r,e);let i=[];typeof n=="string"?i=[n]:Array.isArray(n)?i=n.filter(Boolean):typeof n=="object"&&(i=Object.entries(n).filter(([,c])=>!!c).map(([c])=>c));const s=t.class||"",o=s?`${s} ${i.join(" ")}`.trim():i.join(" ");o&&(t.class=o)}function ve(e,t,r){let n;if(typeof e=="string"){if(!r)return;n=j(r,e)}else n=e;let i="";if(typeof n=="string")i=n;else if(n&&typeof n=="object"){const o=[];for(const[c,d]of Object.entries(n))if(d!=null&&d!==""){const a=c.replace(/[A-Z]/g,f=>`-${f.toLowerCase()}`),u=["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 y=String(d);typeof d=="number"&&u.includes(a)&&(y=`${d}px`),o.push(`${a}: ${y}`)}i=o.join("; ")+(o.length>0?";":"")}const s=t.style||"";t.style=s+(s&&!s.endsWith(";")?"; ":"")+i}function re(e,t,r,n){const i={},s={...n||{}},o={};for(const[c,d]of Object.entries(e)){const{value:a,modifiers:u}=d;switch(c){case"model":me(typeof a=="string"?a:String(a),u,i,s,o,t,r);break;case"bind":ye(a,i,s,t);break;case"show":be(a,s,t);break;case"class":xe(a,s,t);break;case"style":ve(a,s,t);break}}return{props:i,attrs:s,listeners:o}}function J(e,t){if(Array.isArray(e)){const s=new Set;return e.map(o=>{if(!o||typeof o!="object")return o;let c=o.props?.key??o.key;if(!c){const y=o.tag||"node",f=o.props?.attrs?.id??o.props?.attrs?.name??o.props?.attrs?.["data-key"]??"";c=f?`${t}:${y}:${f}`:`${t}:${y}`}let d=c,a=1;for(;s.has(d);)d=`${c}#${a++}`;s.add(d);let u=o.children;return Array.isArray(u)&&(u=J(u,d)),{...o,key:d,children:u}})}const r=e;let n=r.props?.key??r.key??t,i=r.children;return Array.isArray(i)&&(i=J(i,n)),{...r,key:n,children:i}}function we(e,t,r,n){const i=r.directives??{},s=re(i,n,e,r.attrs),o={...t.props,...r.props,...s.props},c={...t.attrs,...r.attrs,...s.attrs},d=t.props??{},a=o;for(const f in{...d,...a}){const w=d[f],p=a[f];w!==p&&(f==="value"&&(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement)?e.value!==p&&(e.value=p??""):f==="checked"&&e instanceof HTMLInputElement?e.checked=!!p:f.startsWith("on")&&typeof p=="function"?(typeof w=="function"&&e.removeEventListener(f.slice(2).toLowerCase(),w),e.addEventListener(f.slice(2).toLowerCase(),p)):p==null||p===!1?e.removeAttribute(f):e.setAttribute(f,String(p)))}for(const[f,w]of Object.entries(s.listeners||{}))e.addEventListener(f,w);const u=t.attrs??{},y=c;for(const f in{...u,...y}){const w=u[f],p=y[f];w!==p&&(p==null||p===!1?e.removeAttribute(f):e.setAttribute(f,String(p)))}}function T(e,t){if(typeof e=="string")return document.createTextNode(e);if(e.tag==="#text"){const a=document.createTextNode(typeof e.children=="string"?e.children:"");return e.key!=null&&(a.key=e.key),a}if(e.tag==="#anchor"){const a=e,u=Array.isArray(a.children)?a.children:[],y=document.createTextNode(""),f=document.createTextNode("");a.key!=null&&(y.key=`${a.key}:start`,f.key=`${a.key}:end`),a._startNode=y,a._endNode=f;const w=document.createDocumentFragment();w.appendChild(y);for(const p of u)w.appendChild(T(p,t));return w.appendChild(f),w}const r=document.createElement(e.tag);e.key!=null&&(r.key=e.key);const{props:n={},attrs:i={},directives:s={}}=e.props??{},o=re(s,t,r,i),c={...n,...o.props},d={...i,...o.attrs};for(const a in d){const u=d[a];typeof u=="boolean"?u&&r.setAttribute(a,""):u!=null&&r.setAttribute(a,String(u))}for(const a in c){const u=c[a];if(a==="value"&&(r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement||r instanceof HTMLSelectElement))r.value=u??"";else if(a==="checked"&&r instanceof HTMLInputElement)r.checked=!!u;else if(a.startsWith("on")&&typeof u=="function")r.addEventListener(a.slice(2).toLowerCase(),u);else{if(a.startsWith("on")&&u===void 0)continue;u==null||u===!1?r.removeAttribute(a):r.setAttribute(a,String(u))}}for(const[a,u]of Object.entries(o.listeners||{}))r.addEventListener(a,u);if(Array.isArray(e.children))for(const a of e.children)r.appendChild(T(a,t));else typeof e.children=="string"&&(r.textContent=e.children);return r}function ke(e,t,r,n){if(typeof r=="string"){e.textContent!==r&&(e.textContent=r);return}if(!Array.isArray(r))return;const i=Array.from(e.childNodes),s=Array.isArray(t)?t:[],o=new Map;for(const f of s)f&&f.key!=null&&o.set(f.key,f);const c=new Map;for(const f of i){const w=f.key;w!=null&&c.set(w,f)}const d=new Set;let a=e.firstChild;function u(f,w){let p=f;for(;p&&(d.add(p),p!==w);)p=p.nextSibling}function y(f,w,p,S){const g=[];let l=f.nextSibling;for(;l&&l!==w;)g.push(l),l=l.nextSibling;const b=Array.isArray(p)?p:[];if(S.some(h=>h&&h.key!=null)||b.some(h=>h&&h.key!=null)){const h=new Map,x=new Map;for(const v of b)v&&v.key!=null&&h.set(v.key,v);for(const v of g){const _=v.key;_!=null&&x.set(_,v)}const C=new Set;let k=f.nextSibling;for(const v of S){let _;if(v.key!=null&&x.has(v.key)){const $=h.get(v.key);_=I(x.get(v.key),$,v,n),C.add(_),_!==k&&e.contains(_)&&e.insertBefore(_,k)}else _=T(v,n),e.insertBefore(_,k),C.add(_);k=_.nextSibling}for(const v of g)!C.has(v)&&e.contains(v)&&e.removeChild(v)}else{const h=Math.min(b.length,S.length);for(let x=0;x<h;x++){const C=b[x],k=S[x],v=I(g[x],C,k,n);v!==g[x]&&(e.insertBefore(v,g[x]),e.removeChild(g[x]))}for(let x=h;x<S.length;x++)e.insertBefore(T(S[x],n),w);for(let x=h;x<g.length;x++)e.removeChild(g[x])}}for(const f of r){let w;if(f.tag==="#anchor"){const p=f.key,S=`${p}:start`,g=`${p}:end`;let l=c.get(S),b=c.get(g);const m=Array.isArray(f.children)?f.children:[];if(l||(l=document.createTextNode(""),l.key=S),b||(b=document.createTextNode(""),b.key=g),f._startNode=l,f._endNode=b,!e.contains(l)||!e.contains(b)){e.insertBefore(l,a);for(const h of m)e.insertBefore(T(h,n),a);e.insertBefore(b,a)}else y(l,b,o.get(p)?.children,m);u(l,b),a=b.nextSibling;continue}if(f.key!=null&&c.has(f.key)){const p=o.get(f.key);w=I(c.get(f.key),p,f,n),d.add(w),w!==a&&e.contains(w)&&(a&&!e.contains(a)&&(a=null),e.insertBefore(w,a))}else w=T(f,n),a&&!e.contains(a)&&(a=null),e.insertBefore(w,a),d.add(w);a=w.nextSibling}for(const f of i)!d.has(f)&&e.contains(f)&&e.removeChild(f)}function I(e,t,r,n){if(t===r)return e;if(typeof r=="string"){if(e.nodeType===Node.TEXT_NODE)return e.textContent!==r&&(e.textContent=r),e;{const s=document.createTextNode(r);return e.parentNode?.replaceChild(s,e),s}}if(r&&typeof r!="string"&&r.tag==="#anchor"){const s=r,o=Array.isArray(s.children)?s.children:[],c=s._startNode??document.createTextNode(""),d=s._endNode??document.createTextNode("");s.key!=null&&(c.key=`${s.key}:start`,d.key=`${s.key}:end`),s._startNode=c,s._endNode=d;const a=document.createDocumentFragment();a.appendChild(c);for(const u of o)a.appendChild(T(u,n));return a.appendChild(d),e.parentNode?.replaceChild(a,e),c}if(!r){const s=document.createComment("removed");return e.parentNode?.replaceChild(s,e),s}if(!t||typeof t=="string"){const s=T(r,n);return e.parentNode?.replaceChild(s,e),s}if(r.tag==="#anchor"){const s=Array.isArray(r.children)?r.children:[],o=r._startNode??document.createTextNode(""),c=r._endNode??document.createTextNode("");r.key!=null&&(o.key=`${r.key}:start`,c.key=`${r.key}:end`),r._startNode=o,r._endNode=c;const d=document.createDocumentFragment();d.appendChild(o);for(const a of s)d.appendChild(T(a,n));return d.appendChild(c),e.parentNode?.replaceChild(d,e),o}if(typeof t!="string"&&typeof r!="string"&&t.tag===r.tag&&t.key===r.key){const s=e;return we(s,t.props||{},r.props||{},n),ke(s,t.children,r.children,n),s}const i=T(r,n);return e.parentNode?.replaceChild(i,e),i}function _e(e,t,r){const n=a=>a.key==null?{...a,key:"__root__"}:a;let i=Array.isArray(t)?{tag:"div",key:"__root__",children:t}:n(t);i=J(i,String(i.key??"root"));const s=e._prevVNode??null,o=e._prevDom??e.firstChild??null;let c;s&&o?typeof s!="string"&&typeof i!="string"&&s.tag===i.tag&&s.key===i.key?c=I(o,s,i,r):(c=T(i,r),e.replaceChild(c,o)):(c=T(i,r),e.firstChild?e.replaceChild(c,e.firstChild):e.appendChild(c));const d=[];for(let a=0;a<e.childNodes.length;a++){const u=e.childNodes[a];u!==c&&u.nodeName!=="STYLE"&&d.push(u)}d.forEach(a=>e.removeChild(a)),e._prevVNode=i,e._prevDom=c}function $e(e){return e.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s+/g," ").replace(/\s*([{}:;,>+~])\s*/g,"$1").replace(/;}/g,"}").trim()}const Se=`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function ce(e){let t=new Proxy(e,{set:(o,c,d)=>(o[c]=d,s(),!0)});const r=[];function n(o){r.push(o),o(t)}function i(){return t}function s(){r.forEach(o=>o(t))}return{subscribe:n,getState:i}}class R extends EventTarget{handlers={};static instance;eventCounters=new Map;static getInstance(){return R.instance||(R.instance=new R),R.instance}emit(t,r){const n=Date.now(),i=this.eventCounters.get(t);if(!i||n-i.window>1e3)this.eventCounters.set(t,{count:1,window:n});else if(i.count++,i.count>50&&(console.error(`Event storm detected for "${t}": ${i.count} events in 1 second. Throttling...`),i.count>100)){console.warn(`Blocking further "${t}" events to prevent infinite loop`);return}this.dispatchEvent(new CustomEvent(t,{detail:r,bubbles:!1,cancelable:!0}));const s=this.handlers[t];s&&s.forEach(o=>{try{o(r)}catch(c){console.error(`Error in global event handler for "${t}":`,c)}})}on(t,r){return this.handlers[t]||(this.handlers[t]=new Set),this.handlers[t].add(r),()=>this.off(t,r)}off(t,r){const n=this.handlers[t];n&&n.delete(r)}offAll(t){delete this.handlers[t]}listen(t,r,n){return this.addEventListener(t,r,n),()=>this.removeEventListener(t,r)}once(t,r){return new Promise(n=>{const i=this.on(t,s=>{i(),r(s),n(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[r,n]of this.eventCounters.entries())t[r]={count:n.count,handlersCount:this.getHandlerCount(r)};return t}resetEventCounters(){this.eventCounters.clear()}}const fe=R.getInstance();function P(e,t={},r,n){const i=n??t.key;return{tag:e,key:i,props:t,children:r}}function I(e){return!!e&&typeof e=="object"&&(e.type==="AnchorBlock"||e.tag==="#anchor")}function z(e){return typeof e=="object"&&e!==null&&"tag"in e&&!I(e)}function de(e,t){return e.key!=null?e:{...e,key:t}}function ue(e,t=[],r={}){const n={},i={},s={},o=/([:@#]?)([a-zA-Z0-9-:\.]+)=("([^"\\]*(\\.[^"\\]*)*)"|'([^'\\]*(\\.[^'\\]*)*)')/g;let c;for(;c=o.exec(e);){const d=c[1],a=c[2],u=(c[4]||c[6])??"",y=u.match(/^{{(\d+)}}$/);let f=y?t[Number(y[1])]??null:u;if(y||(f==="true"?f=!0:f==="false"?f=!1:f==="null"?f=null:isNaN(Number(f))||(f=Number(f))),d===":")typeof f=="boolean"?i[a]=f:f!=null&&(n[a]=f);else if(d==="@"){const w="on"+a.charAt(0).toUpperCase()+a.slice(1);n[w]=typeof f=="function"?f:typeof r[f]=="function"?r[f]:void 0}else if(d==="#"){const[w,...p]=a.split("."),S=[...p];let g=f,l=[...S];if(w==="model"&&typeof g=="string"&&g.includes(".")){const b=["trim","number","lazy"],m=g.split(".");let h=g;const x=[];for(let C=m.length-1;C>0&&b.includes(m[C]);C--)x.unshift(m[C]),h=m.slice(0,C).join(".");g=h,l.push(...x)}s[w]={value:g,modifiers:l}}else i[a]=f}return{props:n,attrs:i,directives:s}}function he(e,t,r){function n(l,b){return P("#text",{},l,b)}let i="";for(let l=0;l<e.length;l++)i+=e[l],l<t.length&&(i+=`{{${l}}}`);const s=/<\/?([a-zA-Z0-9-]+)([^>]*)\/?>|{{(\d+)}}|([^<]+)/g,o=[];let c=null,d,a=[],u=null,y={},f,w=0,p=[];function S(l){!l||typeof l!="object"||I(l)||(l.props||l.attrs?(l.props&&(y.props||(y.props={}),Object.assign(y.props,l.props)),l.attrs&&(y.attrs||(y.attrs={}),Object.keys(l.attrs).forEach(b=>{if(b==="style"&&y.attrs.style){const m=y.attrs.style.replace(/;?\s*$/,""),h=l.attrs.style.replace(/^;?\s*/,"");y.attrs.style=m+"; "+h}else if(b==="class"&&y.attrs.class){const m=y.attrs.class.trim().split(/\s+/).filter(Boolean),h=l.attrs.class.trim().split(/\s+/).filter(Boolean),x=[...new Set([...m,...h])];y.attrs.class=x.join(" ")}else y.attrs[b]=l.attrs[b]}))):(y.props||(y.props={}),Object.assign(y.props,l)))}function g(l,b){const m=u?a:p;if(I(l)){const h=l.key??b;let x=l.children;m.push({...l,key:h,children:x});return}if(z(l)){m.push(de(l,void 0));return}if(Array.isArray(l)){if(l.length===0)return;for(let h=0;h<l.length;h++){const x=l[h];I(x)||z(x)||Array.isArray(x)?g(x,`${b}-${h}`):x!==null&&typeof x=="object"?S(x):m.push(n(String(x),`${b}-${h}`))}return}if(l!==null&&typeof l=="object"){S(l);return}m.push(n(String(l),b))}for(;d=s.exec(i);)if(d[1]){const l=d[1],b=d[0][1]==="/",m=d[0][d[0].length-2]==="/",{props:h,attrs:x,directives:C}=ue(d[2]||"",t,r),k={props:{},attrs:{}};for(const _ in h)k.props[_]=h[_];for(const _ in x)k.attrs[_]=x[_];for(const[_,$]of Object.entries(C))if(_==="bind")if(typeof $.value=="object"&&$.value!==null)for(const[A,E]of Object.entries($.value))typeof E=="boolean"?k.attrs[A]=E:E!=null&&(k.attrs[A]=String(E));else $.value!=null&&(k.attrs[_]=String($.value));else if(_==="show"){const A=!!$.value;k.attrs.style=(k.attrs.style||"")+(A?"":"; display: none !important")}else if(_==="class"){const A=$.value;let E=[];if(typeof A=="string")E=A.split(/\s+/).filter(Boolean);else if(Array.isArray(A)){for(const j of A)if(typeof j=="string")E.push(...j.split(/\s+/).filter(Boolean));else if(j&&typeof j=="object")for(const[L,M]of Object.entries(j))M&&E.push(...L.split(/\s+/).filter(Boolean))}else if(A&&typeof A=="object")for(const[j,L]of Object.entries(A))L&&E.push(...j.split(/\s+/).filter(Boolean));const B=k.attrs.class||"",O=[...new Set([...B.split(/\s+/).filter(Boolean),...E])];k.attrs.class=O.join(" ")}else if(_==="style"){const A=$.value;let E="";if(typeof A=="string")E=A;else if(A&&typeof A=="object"){const O=[];for(const[j,L]of Object.entries(A))if(L!=null&&L!==""){const M=j.replace(/[A-Z]/g,le=>`-${le.toLowerCase()}`),ae=["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 X=String(L);typeof L=="number"&&ae.includes(M)&&(X=`${L}px`),O.push(`${M}: ${X}`)}E=O.join("; ")+(O.length>0?";":"")}const B=k.attrs.style||"";k.attrs.style=B+(B&&!B.endsWith(";")?"; ":"")+E}const v={};for(const[_,$]of Object.entries(C))["bind","show","class","style"].includes(_)||(v[_]=$);if(Object.keys(v).length>0&&(k.directives=v),b){const _=P(u,y,a.length===1&&z(a[0])&&a[0].tag==="#text"?typeof a[0].children=="string"?a[0].children:"":a.length?a:void 0,f),$=o.pop();$?(u=$.tag,y=$.props,f=$.key,a=$.children,a.push(_)):c=_}else m?(u?a:p).push(P(l,k,void 0,void 0)):(u&&o.push({tag:u,props:y,children:a,key:f}),u=l,y=k,a=[])}else if(typeof d[3]<"u"){const l=Number(d[3]),b=t[l],m=`interp-${l}`;g(b,m)}else if(d[4]){const l=d[4],b=u?a:p,m=l.split(/({{\d+}})/);for(const h of m){if(!h)continue;const x=h.match(/^{{(\d+)}}$/);if(x){const C=Number(x[1]),k=t[C],v=`interp-${C}`;g(k,v)}else{const C=`text-${w++}`;b.push(n(h,C))}}}if(c)return z(c)&&Array.isArray(c.children)&&(c.children=c.children.filter(l=>z(l)?l.tag!=="#text"||typeof l.children=="string"&&l.children.trim()!=="":!0)),c;if(p.length>0){const l=p.filter(b=>z(b)?b.tag!=="#text"||typeof b.children=="string"&&b.children.trim()!=="":!0);return l.length===1?l[0]:l}return P("div",{},"","fallback-root")}function pe(e,...t){const r=t[t.length-1],n=typeof r=="object"&&r&&!Array.isArray(r)?r:void 0;return he(e,t,n)}function ge(e,t){return W(e?t:[],"when-block")}function me(e,t){return e.map((r,n)=>{const i=typeof r=="object"?r?.key??r?.id??`idx-${n}`:String(r);return W(t(r,n),`each-${i}`)})}function ye(){const e=[];return{when(t,r){return e.push([t,r]),this},otherwise(t){return e.push([!0,t]),this},done(){return be(...e)}}}function be(...e){for(let t=0;t<e.length;t++){const[r,n]=e[t];if(r)return[W(n,`whenChain-branch-${t}`)]}return[W([],"whenChain-empty")]}function W(e,t){const r=e?Array.isArray(e)?e.filter(Boolean):[e].filter(Boolean):[];return{tag:"#anchor",key:t,children:r}}function N(e,t){return t.split(".").reduce((r,n)=>r?.[n],e)}function Y(e,t,r){const n=t.split("."),i=n.pop();if(!i)return;const s=n.reduce((o,c)=>(c in o||(o[c]={}),o[c]),e);s[i]=r}function xe(e,t,r,n,i,s,o){if(!s)return;const c=t.includes("lazy"),d=t.includes("trim"),a=t.includes("number"),u=()=>{const g=s._state||s;return N(g,e)},y=u();let f="text";const w=n?.type;if(o instanceof HTMLInputElement?f=w||o.type||"text":o instanceof HTMLSelectElement?f="select":o instanceof HTMLTextAreaElement&&(f="textarea"),f==="checkbox")if(Array.isArray(y)){const g=o?.getAttribute("value")||n?.value||"",l=y.includes(g);o&&o.checked!==l&&(r.checked=l)}else{const g=o?.getAttribute("true-value")||!0,l=y===g;o&&o.checked!==l&&(r.checked=l)}else if(f==="radio"){const g=n?.value||"",l=y===g;o&&o.checked!==l&&(r.checked=l)}else if(f==="select")if(o&&o.hasAttribute("multiple")){const g=o,l=Array.isArray(y)?y:[];setTimeout(()=>{Array.from(g.options).forEach(b=>{const m=l.includes(b.value);b.selected!==m&&(b.selected=m)})},0)}else setTimeout(()=>{o instanceof HTMLSelectElement&&o.value!==String(y)&&(o.value=String(y))},0);else{const g=String(y??"");(!o||o.value!==g)&&(r.value=y)}const p=c||f==="checkbox"||f==="radio"||f==="select"?"change":"input",S=g=>{if(g.isComposing||i._isComposing||g.isTrusted===!1)return;const l=g.target;if(l._modelUpdating)return;const b=u();let m=l.value;if(f==="checkbox")if(Array.isArray(b)){const k=l.getAttribute("value")||"",v=[...b];if(l.checked)v.includes(k)||v.push(k);else{const _=v.indexOf(k);_>-1&&v.splice(_,1)}m=v}else{const k=l.getAttribute("true-value")||!0,v=l.getAttribute("false-value")||!1;m=l.checked?k:v}else if(f==="radio")m=l.getAttribute("value")||l.value;else if(f==="select"&&l.multiple){const k=l;m=Array.from(k.selectedOptions).map(v=>v.value)}else if(d&&(m=m.trim()),a){const k=Number(m);isNaN(k)||(m=k)}const h=s._state||s,x=N(h,e);if(Array.isArray(m)&&Array.isArray(x)?JSON.stringify([...m].sort())!==JSON.stringify([...x].sort()):m!==x){const k=g.target;k._modelUpdating=!0,Y(h,e,m),setTimeout(()=>{k._modelUpdating=!1},0),s._requestRender&&s._requestRender()}};if(i[p]=S,f==="text"||f==="textarea"){const g=()=>{i._isComposing=!0},l=b=>{i._isComposing=!1;const m=b.target;setTimeout(()=>{if(m){let h=m.value;if(d&&(h=h.trim()),a){const v=Number(h);isNaN(v)||(h=v)}const x=s._state||s,C=N(x,e);(Array.isArray(h)&&Array.isArray(C)?JSON.stringify([...h].sort())!==JSON.stringify([...C].sort()):h!==C)&&(m&&(m._modelUpdating=!0,setTimeout(()=>{m._modelUpdating=!1},0)),Y(x,e,h),s._requestRender&&s._requestRender())}},0)};i.compositionstart=g,i.compositionend=l}}function ve(e,t,r,n){if(n)try{const i=JSON.parse(e);if(typeof i=="object")for(const[s,o]of Object.entries(i))t[s]=o}catch{const i=N(n,e);r[e]=i}}function we(e,t,r){if(!r)return;const n=N(r,e),i=t.style||"",s=n?"":"none";if(i){const o=i.split(";").filter(Boolean),c=o.findIndex(d=>d.trim().startsWith("display:"));c>=0?o[c]=`display: ${s}`:o.push(`display: ${s}`),t.style=o.join("; ")}else t.style=`display: ${s}`}function ke(e,t,r){if(!r)return;const n=N(r,e);let i=[];typeof n=="string"?i=[n]:Array.isArray(n)?i=n.filter(Boolean):typeof n=="object"&&(i=Object.entries(n).filter(([,c])=>!!c).map(([c])=>c));const s=t.class||"",o=s?`${s} ${i.join(" ")}`.trim():i.join(" ");o&&(t.class=o)}function _e(e,t,r){let n;if(typeof e=="string"){if(!r)return;n=N(r,e)}else n=e;let i="";if(typeof n=="string")i=n;else if(n&&typeof n=="object"){const o=[];for(const[c,d]of Object.entries(n))if(d!=null&&d!==""){const a=c.replace(/[A-Z]/g,f=>`-${f.toLowerCase()}`),u=["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 y=String(d);typeof d=="number"&&u.includes(a)&&(y=`${d}px`),o.push(`${a}: ${y}`)}i=o.join("; ")+(o.length>0?";":"")}const s=t.style||"";t.style=s+(s&&!s.endsWith(";")?"; ":"")+i}function ie(e,t,r,n){const i={},s={...n||{}},o={};for(const[c,d]of Object.entries(e)){const{value:a,modifiers:u}=d;switch(c){case"model":xe(typeof a=="string"?a:String(a),u,i,s,o,t,r);break;case"bind":ve(a,i,s,t);break;case"show":we(a,s,t);break;case"class":ke(a,s,t);break;case"style":_e(a,s,t);break}}return{props:i,attrs:s,listeners:o}}function Z(e,t){if(Array.isArray(e)){const s=new Set;return e.map(o=>{if(!o||typeof o!="object")return o;let c=o.props?.key??o.key;if(!c){const y=o.tag||"node",f=o.props?.attrs?.id??o.props?.attrs?.name??o.props?.attrs?.["data-key"]??"";c=f?`${t}:${y}:${f}`:`${t}:${y}`}let d=c,a=1;for(;s.has(d);)d=`${c}#${a++}`;s.add(d);let u=o.children;return Array.isArray(u)&&(u=Z(u,d)),{...o,key:d,children:u}})}const r=e;let n=r.props?.key??r.key??t,i=r.children;return Array.isArray(i)&&(i=Z(i,n)),{...r,key:n,children:i}}function $e(e,t,r,n){const i=r.directives??{},s=ie(i,n,e,r.attrs),o={...t.props,...r.props,...s.props},c={...t.attrs,...r.attrs,...s.attrs},d=t.props??{},a=o;for(const f in{...d,...a}){const w=d[f],p=a[f];w!==p&&(f==="value"&&(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement)?e.value!==p&&(e.value=p??""):f==="checked"&&e instanceof HTMLInputElement?e.checked=!!p:f.startsWith("on")&&typeof p=="function"?(typeof w=="function"&&e.removeEventListener(f.slice(2).toLowerCase(),w),e.addEventListener(f.slice(2).toLowerCase(),p)):p==null||p===!1?e.removeAttribute(f):e.setAttribute(f,String(p)))}for(const[f,w]of Object.entries(s.listeners||{}))e.addEventListener(f,w);const u=t.attrs??{},y=c;for(const f in{...u,...y}){const w=u[f],p=y[f];w!==p&&(p==null||p===!1?e.removeAttribute(f):e.setAttribute(f,String(p)))}}function T(e,t){if(typeof e=="string")return document.createTextNode(e);if(e.tag==="#text"){const a=document.createTextNode(typeof e.children=="string"?e.children:"");return e.key!=null&&(a.key=e.key),a}if(e.tag==="#anchor"){const a=e,u=Array.isArray(a.children)?a.children:[],y=document.createTextNode(""),f=document.createTextNode("");a.key!=null&&(y.key=`${a.key}:start`,f.key=`${a.key}:end`),a._startNode=y,a._endNode=f;const w=document.createDocumentFragment();w.appendChild(y);for(const p of u)w.appendChild(T(p,t));return w.appendChild(f),w}const r=document.createElement(e.tag);e.key!=null&&(r.key=e.key);const{props:n={},attrs:i={},directives:s={}}=e.props??{},o=ie(s,t,r,i),c={...n,...o.props},d={...i,...o.attrs};for(const a in d){const u=d[a];typeof u=="boolean"?u&&r.setAttribute(a,""):u!=null&&r.setAttribute(a,String(u))}for(const a in c){const u=c[a];if(a==="value"&&(r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement||r instanceof HTMLSelectElement))r.value=u??"";else if(a==="checked"&&r instanceof HTMLInputElement)r.checked=!!u;else if(a.startsWith("on")&&typeof u=="function")r.addEventListener(a.slice(2).toLowerCase(),u);else{if(a.startsWith("on")&&u===void 0)continue;u==null||u===!1?r.removeAttribute(a):r.setAttribute(a,String(u))}}for(const[a,u]of Object.entries(o.listeners||{}))r.addEventListener(a,u);if(Array.isArray(e.children))for(const a of e.children)r.appendChild(T(a,t));else typeof e.children=="string"&&(r.textContent=e.children);return r}function Se(e,t,r,n){if(typeof r=="string"){e.textContent!==r&&(e.textContent=r);return}if(!Array.isArray(r))return;const i=Array.from(e.childNodes),s=Array.isArray(t)?t:[],o=new Map;for(const f of s)f&&f.key!=null&&o.set(f.key,f);const c=new Map;for(const f of i){const w=f.key;w!=null&&c.set(w,f)}const d=new Set;let a=e.firstChild;function u(f,w){let p=f;for(;p&&(d.add(p),p!==w);)p=p.nextSibling}function y(f,w,p,S){const g=[];let l=f.nextSibling;for(;l&&l!==w;)g.push(l),l=l.nextSibling;const b=Array.isArray(p)?p:[];if(S.some(h=>h&&h.key!=null)||b.some(h=>h&&h.key!=null)){const h=new Map,x=new Map;for(const v of b)v&&v.key!=null&&h.set(v.key,v);for(const v of g){const _=v.key;_!=null&&x.set(_,v)}const C=new Set;let k=f.nextSibling;for(const v of S){let _;if(v.key!=null&&x.has(v.key)){const $=h.get(v.key);_=D(x.get(v.key),$,v,n),C.add(_),_!==k&&e.contains(_)&&e.insertBefore(_,k)}else _=T(v,n),e.insertBefore(_,k),C.add(_);k=_.nextSibling}for(const v of g)!C.has(v)&&e.contains(v)&&e.removeChild(v)}else{const h=Math.min(b.length,S.length);for(let x=0;x<h;x++){const C=b[x],k=S[x],v=D(g[x],C,k,n);v!==g[x]&&(e.insertBefore(v,g[x]),e.removeChild(g[x]))}for(let x=h;x<S.length;x++)e.insertBefore(T(S[x],n),w);for(let x=h;x<g.length;x++)e.removeChild(g[x])}}for(const f of r){let w;if(f.tag==="#anchor"){const p=f.key,S=`${p}:start`,g=`${p}:end`;let l=c.get(S),b=c.get(g);const m=Array.isArray(f.children)?f.children:[];if(l||(l=document.createTextNode(""),l.key=S),b||(b=document.createTextNode(""),b.key=g),f._startNode=l,f._endNode=b,!e.contains(l)||!e.contains(b)){e.insertBefore(l,a);for(const h of m)e.insertBefore(T(h,n),a);e.insertBefore(b,a)}else y(l,b,o.get(p)?.children,m);u(l,b),a=b.nextSibling;continue}if(f.key!=null&&c.has(f.key)){const p=o.get(f.key);w=D(c.get(f.key),p,f,n),d.add(w),w!==a&&e.contains(w)&&(a&&!e.contains(a)&&(a=null),e.insertBefore(w,a))}else w=T(f,n),a&&!e.contains(a)&&(a=null),e.insertBefore(w,a),d.add(w);a=w.nextSibling}for(const f of i)!d.has(f)&&e.contains(f)&&e.removeChild(f)}function D(e,t,r,n){if(t===r)return e;if(typeof r=="string"){if(e.nodeType===Node.TEXT_NODE)return e.textContent!==r&&(e.textContent=r),e;{const s=document.createTextNode(r);return e.parentNode?.replaceChild(s,e),s}}if(r&&typeof r!="string"&&r.tag==="#anchor"){const s=r,o=Array.isArray(s.children)?s.children:[],c=s._startNode??document.createTextNode(""),d=s._endNode??document.createTextNode("");s.key!=null&&(c.key=`${s.key}:start`,d.key=`${s.key}:end`),s._startNode=c,s._endNode=d;const a=document.createDocumentFragment();a.appendChild(c);for(const u of o)a.appendChild(T(u,n));return a.appendChild(d),e.parentNode?.replaceChild(a,e),c}if(!r){const s=document.createComment("removed");return e.parentNode?.replaceChild(s,e),s}if(!t||typeof t=="string"){const s=T(r,n);return e.parentNode?.replaceChild(s,e),s}if(r.tag==="#anchor"){const s=Array.isArray(r.children)?r.children:[],o=r._startNode??document.createTextNode(""),c=r._endNode??document.createTextNode("");r.key!=null&&(o.key=`${r.key}:start`,c.key=`${r.key}:end`),r._startNode=o,r._endNode=c;const d=document.createDocumentFragment();d.appendChild(o);for(const a of s)d.appendChild(T(a,n));return d.appendChild(c),e.parentNode?.replaceChild(d,e),o}if(typeof t!="string"&&typeof r!="string"&&t.tag===r.tag&&t.key===r.key){const s=e;return $e(s,t.props||{},r.props||{},n),Se(s,t.children,r.children,n),s}const i=T(r,n);return e.parentNode?.replaceChild(i,e),i}function Ce(e,t,r){const n=a=>a.key==null?{...a,key:"__root__"}:a;let i=Array.isArray(t)?{tag:"div",key:"__root__",children:t}:n(t);i=Z(i,String(i.key??"root"));const s=e._prevVNode??null,o=e._prevDom??e.firstChild??null;let c;s&&o?typeof s!="string"&&typeof i!="string"&&s.tag===i.tag&&s.key===i.key?c=D(o,s,i,r):(c=T(i,r),e.replaceChild(c,o)):(c=T(i,r),e.firstChild?e.replaceChild(c,e.firstChild):e.appendChild(c));const d=[];for(let a=0;a<e.childNodes.length;a++){const u=e.childNodes[a];u!==c&&u.nodeName!=="STYLE"&&d.push(u)}d.forEach(a=>e.removeChild(a)),e._prevVNode=i,e._prevDom=c}function oe(e){return e.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s+/g," ").replace(/\s*([{}:;,>+~])\s*/g,"$1").replace(/;}/g,"}").trim()}let V=null;function G(){return V||(V=new CSSStyleSheet,V.replaceSync(oe(Ee))),V}function Ae(e){return e.replace(/url\s*\(\s*['"]?javascript:[^)]*\)/gi,"").replace(/<script[\s\S]*?>[\s\S]*?<\/script>/gi,"").replace(/expression\s*\([^)]*\)/gi,"")}const Ee=`
2
+ :host, *, ::before, ::after {
3
+ box-sizing: border-box;
4
+ border-width: 0;
5
+ border-style: solid;
6
+ border-color: currentColor;
7
+ }
2
8
  :host {
3
- box-sizing:border-box;
4
- line-height:1.5;
5
- font-family:ui-sans-serif,system-ui,sans-serif;
6
- -webkit-text-size-adjust:100%;
7
- text-size-adjust:100%;
8
- }
9
- *,::before,::after {
10
- box-sizing:inherit;
11
- margin:0;
12
- padding:0;
13
- border:0 solid currentColor;
14
- }
15
- `,Ce={gray:{50:"var(--color-gray-50, #f9fafb)",100:"var(--color-gray-100, #f3f4f6)",200:"var(--color-gray-200, #e5e7eb)",300:"var(--color-gray-300, #d1d5db)",400:"var(--color-gray-400, #9ca3af)",500:"var(--color-gray-500, #6b7280)",600:"var(--color-gray-600, #4b5563)",700:"var(--color-gray-700, #374151)",800:"var(--color-gray-800, #1f2937)",900:"var(--color-gray-900, #111827)"},slate:{50:"var(--color-slate-50, #f8fafc)",100:"var(--color-slate-100, #f1f5f9)",200:"var(--color-slate-200, #e2e8f0)",300:"var(--color-slate-300, #cbd5e1)",400:"var(--color-slate-400, #94a3b8)",500:"var(--color-slate-500, #64748b)",600:"var(--color-slate-600, #475569)",700:"var(--color-slate-700, #334155)",800:"var(--color-slate-800, #1e293b)",900:"var(--color-slate-900, #0f172a)"},zinc:{50:"var(--color-zinc-50, #fafafa)",100:"var(--color-zinc-100, #f4f4f5)",200:"var(--color-zinc-200, #e4e4e7)",300:"var(--color-zinc-300, #d4d4d8)",400:"var(--color-zinc-400, #a1a1aa)",500:"var(--color-zinc-500, #71717a)",600:"var(--color-zinc-600, #52525b)",700:"var(--color-zinc-700, #3f3f46)",800:"var(--color-zinc-800, #27272a)",900:"var(--color-zinc-900, #18181b)"},red:{50:"var(--color-red-50, #fef2f2)",100:"var(--color-red-100, #fee2e2)",200:"var(--color-red-200, #fecaca)",300:"var(--color-red-300, #fca5a5)",400:"var(--color-red-400, #f87171)",500:"var(--color-red-500, #ef4444)",600:"var(--color-red-600, #dc2626)",700:"var(--color-red-700, #b91c1c)",800:"var(--color-red-800, #991b1b)",900:"var(--color-red-900, #7f1d1d)"},blue:{50:"var(--color-blue-50, #eff6ff)",100:"var(--color-blue-100, #dbeafe)",200:"var(--color-blue-200, #bfdbfe)",300:"var(--color-blue-300, #93c5fd)",400:"var(--color-blue-400, #60a5fa)",500:"var(--color-blue-500, #3b82f6)",600:"var(--color-blue-600, #2563eb)",700:"var(--color-blue-700, #1d4ed8)",800:"var(--color-blue-800, #1e40af)",900:"var(--color-blue-900, #1e3a8a)"},green:{50:"var(--color-green-50, #f0fdf4)",100:"var(--color-green-100, #dcfce7)",200:"var(--color-green-200, #bbf7d0)",300:"var(--color-green-300, #86efac)",400:"var(--color-green-400, #4ade80)",500:"var(--color-green-500, #22c55e)",600:"var(--color-green-600, #16a34a)",700:"var(--color-green-700, #15803d)",800:"var(--color-green-800, #166534)",900:"var(--color-green-900, #14532d)"},amber:{50:"var(--color-amber-50, #fffbeb)",100:"var(--color-amber-100, #fef3c7)",200:"var(--color-amber-200, #fde68a)",300:"var(--color-amber-300, #fcd34d)",400:"var(--color-amber-400, #fbbf24)",500:"var(--color-amber-500, #f59e0b)",600:"var(--color-amber-600, #d97706)",700:"var(--color-amber-700, #b45309)",800:"var(--color-amber-800, #92400e)",900:"var(--color-amber-900, #78350f)"},indigo:{50:"var(--color-indigo-50, #eef2ff)",100:"var(--color-indigo-100, #e0e7ff)",200:"var(--color-indigo-200, #c7d2fe)",300:"var(--color-indigo-300, #a5b4fc)",400:"var(--color-indigo-400, #818cf8)",500:"var(--color-indigo-500, #6366f1)",600:"var(--color-indigo-600, #4f46e5)",700:"var(--color-indigo-700, #4338ca)",800:"var(--color-indigo-800, #3730a3)",900:"var(--color-indigo-900, #312e81)"},emerald:{50:"var(--color-emerald-50, #ecfdf5)",100:"var(--color-emerald-100, #d1fae5)",200:"var(--color-emerald-200, #a7f3d0)",300:"var(--color-emerald-300, #6ee7b7)",400:"var(--color-emerald-400, #34d399)",500:"var(--color-emerald-500, #10b981)",600:"var(--color-emerald-600, #059669)",700:"var(--color-emerald-700, #047857)",800:"var(--color-emerald-800, #065f46)",900:"var(--color-emerald-900, #064e3b)"},rose:{50:"var(--color-rose-50, #fff1f2)",100:"var(--color-rose-100, #ffe4e6)",200:"var(--color-rose-200, #fecdd3)",300:"var(--color-rose-300, #fda4af)",400:"var(--color-rose-400, #fb7185)",500:"var(--color-rose-500, #f43f5e)",600:"var(--color-rose-600, #e11d48)",700:"var(--color-rose-700, #be123c)",800:"var(--color-rose-800, #9f1239)",900:"var(--color-rose-900, #881337)"},white:{DEFAULT:"var(--color-white, #ffffff)"},black:{DEFAULT:"var(--color-black, #000000)"}},W={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;","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-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-6":"grid-template-rows:repeat(6,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-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-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;","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-full":"border-radius:9999px;","ring-0":"box-shadow:none;","ring-1":"box-shadow:0 0 0 1px rgba(59,130,246,0.5);","ring-2":"box-shadow:0 0 0 2px rgba(59,130,246,0.5);","ring-4":"box-shadow:0 0 0 4px rgba(59,130,246,0.5);","ring-8":"box-shadow:0 0 0 8px rgba(59,130,246,0.5);","shadow-none":"box-shadow:0 0 #0000;","shadow-xs":"box-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);","shadow-sm":"box-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);","shadow-md":"box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);","shadow-lg":"box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);","shadow-xl":"box-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);","shadow-2xl":"box-shadow:0 25px 50px -12px rgb(0 0 0 / 0.25);",transition:"transition-property:all;transition-duration:150ms;transition-timing-function:cubic-bezier(0.4,0,0.2,1);",truncate:"overflow:hidden;text-overflow:ellipsis;white-space:nowrap;",visible:"visibility:visible;",invisible:"visibility:hidden;",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-colors":"transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;","transition-opacity":"transition-property:opacity;","transition-transform":"transition-property:transform;"},Ae="0.25rem",Y={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"],top:["top"],bottom:["bottom"],left:["left"],right:["right"],gap:["gap"],"gap-x":["column-gap"],"gap-y":["row-gap"]},Ee={before:(e,t)=>`${e}::before{${t}}`,after:(e,t)=>`${e}::after{${t}}`,hover:(e,t)=>`${e}:hover{${t}}`,focus:(e,t)=>`${e}:focus{${t}}`,active:(e,t)=>`${e}:active{${t}}`,disabled:(e,t)=>`${e}:disabled{${t}}`,visited:(e,t)=>`${e}:visited{${t}}`,checked:(e,t)=>`${e}:checked{${t}}`,first:(e,t)=>`${e}:first-child{${t}}`,last:(e,t)=>`${e}:last-child{${t}}`,odd:(e,t)=>`${e}:nth-child(odd){${t}}`,even:(e,t)=>`${e}:nth-child(even){${t}}`,"focus-within":(e,t)=>`${e}:focus-within{${t}}`,"focus-visible":(e,t)=>`${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}}`},G={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)"},K=["sm","md","lg","xl","2xl"];function F(e){const t=e.startsWith("-"),n=(t?e.slice(1):e).split("-");if(n.length<2)return null;const i=n.slice(0,-1).join("-"),s=n[n.length-1],o=parseFloat(s);if(Number.isNaN(o)||!Y[i])return null;const c=t?"-":"";return Y[i].map(d=>`${d}:calc(${c}${Ae} * ${o});`).join("")}function ee(e){const t=e.replace("#",""),r=parseInt(t,16),n=r>>16&255,i=r>>8&255,s=r&255;return`${n} ${i} ${s}`}function Te(e){const t=/^(bg|text|border|shadow|outline|caret|accent)-([a-z]+)-?(\d{2,3}|DEFAULT)?$/.exec(e);if(!t)return null;const[,r,n,i="DEFAULT"]=t,s=Ce[n]?.[i];return s?`${{bg:"background-color",text:"color",border:"border-color",shadow:"box-shadow",outline:"outline-color",caret:"caret-color",accent:"accent-color"}[r]}:${s};`:null}function Le(e){const[t,r]=e.split("/");if(!r)return{base:t};const n=parseInt(r,10);return isNaN(n)||n<0||n>100?{base:t}:{base:t,opacity:n/100}}function U(e){const{base:t,opacity:r}=Le(e),n=Te(t);if(n){if(r!==void 0){const s=/#([0-9a-f]{6})/i.exec(n);if(s){const o=ee(s[0]);return n.replace(/#([0-9a-f]{6})/i,`rgb(${o} / ${r})`)}}return n}const i=D(t);if(i&&r!==void 0){const s=/#([0-9a-f]{6})/i.exec(i);if(s){const o=ee(s[0]);return i.replace(/#([0-9a-f]{6})/i,`rgb(${o} / ${r})`)}}return i}function D(e){const t=e.indexOf("-["),r=e.endsWith("]");if(t>0&&r){const n=e.slice(0,t);let i=e.slice(t+2,-1);i=i.replace(/_/g," ");const o={bg:"background-color",text:"color",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",shadow:"box-shadow",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",delay:"transition-delay",weight:"font-weight",leading:"line-height",z:"z-index"}[n]??n.replace(/_/g,"-");if(o&&i)return`${o}:${i};`}return null}function Ne(e){return e.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g,"\\$1")}function je(e){const t=/class\s*=\s*["']([^"']+)["']/g,r=[];let n;for(;n=t.exec(e);){let i="",s=!1;for(const o of n[1])o==="["&&(s=!0),o==="]"&&(s=!1),o===" "&&!s?(i&&r.push(i),i=""):i+=o;i&&r.push(i)}return r.filter(Boolean)}const te=new Map,ze=16;function Re(e){const t=Date.now(),r=te.get(e);if(r&&t-r.timestamp<ze)return r.css;const n=je(e),i=new Set(n),s=[],o=[],c=[],d=[],a={};function u(p,S=!1){const g=(S?"dark|":"")+p;if(g in a)return a[g];const l=f(p,S);return a[g]=l,l}function y(p){const S=p.some(l=>K.includes(l)),g=p.includes("dark");return p.length===0?1:!S&&!g?2:S&&!g?3:4}function f(p,S=!1){const g=p.split(":"),l=g.find($=>W[$]||F($)||U($)||D($));if(!l)return null;const b=W[l]??F(l)??U(l)??D(l);if(!b)return null;let m=`.${Ne(p)}`,h=b;const x=g.indexOf(l);let C=x>=0?g.slice(0,x):[];S&&(C=C.filter($=>$!=="dark"));const k=C.filter($=>K.includes($)),v=k.length?k[k.length-1]:null;for(const $ of C){if(K.includes($))continue;const A=Ee[$];typeof A=="function"&&(m=A(m,h).replace(/\{.*$/,""))}let _=`${m}{${h}}`;return S&&v?_=`@media (prefers-color-scheme: dark) and ${G[v]}{${_}}`:S?_=`@media (prefers-color-scheme: dark){${_}}`:v&&(_=`@media ${G[v]}{${_}}`),_}for(const p of i){const S=p.split(":"),g=S.find(h=>W[h]||F(h)||U(h)||D(h));if(!g)continue;const l=S.indexOf(g),b=l>=0?S.slice(0,l):[],m=y(b);if(m===4){const h=u(p,!0);h&&d.push(h)}else{const h=u(p);h&&(m===1?s.push(h):m===2?o.push(h):m===3&&c.push(h))}}const w=[...s,...o,...c,...d].join("");return te.set(e,{css:w,timestamp:t}),w}const Be=new Map;function Z(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function q(e){return typeof e=="string"?e.replace(/[&<>"']/g,t=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[t]):e}function Oe(e){return e.replace(/url\s*\(\s*['"]?javascript:[^)]*\)/gi,"").replace(/<script[\s\S]*?>[\s\S]*?<\/script>/gi,"").replace(/expression\s*\([^)]*\)/gi,"")}function Me(e,...t){let r="";for(let n=0;n<e.length;n++)r+=e[n],n<t.length&&(r+=t[n]);return r}function Pe(e,t,r){let n=Z(e);n.includes("-")||(n=`cer-${n}`);let i;typeof t=="function"?i={...r,render:t}:i=t,typeof i.onError!="function"&&(i.onError=(s,o)=>{console.error(`[${n}] Error:`,s,o)}),Be.set(n,i),typeof window<"u"&&!customElements.get(n)&&customElements.define(n,ne(i))}function ne(e){if(!e.render)throw new Error("Component must have a render function");return typeof window>"u"?class{constructor(){}}:class extends HTMLElement{context;_listeners=[];_watchers=new Map;_renderTimeoutId=null;_mounted=!1;_hasError=!1;_initializing=!0;_styleSheet=null;_lastHtmlStringForJitCSS="";_cfg;_lastRenderTime=0;_renderCount=0;_templateLoading=!1;_templateError=null;constructor(){super(),this.attachShadow({mode:"open"}),this._cfg=e,this.context=this._initContext(e),Object.keys(e).forEach(t=>{const r=e[t];typeof r=="function"&&!t.startsWith("on")&&(this.context[t]=(...n)=>r(...n,this.context))}),this._applyProps(e),this._applyComputed(e),this._initializing=!1,this._initWatchers(e),this._render(e)}connectedCallback(){this._runLogicWithinErrorBoundary(e,()=>{e.onConnected&&!this._mounted&&(e.onConnected(this.context),this._mounted=!0)})}disconnectedCallback(){this._runLogicWithinErrorBoundary(e,()=>{e.onDisconnected&&e.onDisconnected(this.context),this._listeners.forEach(t=>t()),this._listeners=[],this._watchers.clear(),this._templateLoading=!1,this._templateError=null,this._mounted=!1})}attributeChangedCallback(t,r,n){this._runLogicWithinErrorBoundary(e,()=>{this._applyProps(e),e.onAttributeChanged&&e.onAttributeChanged(t,r,n,this.context)})}static get observedAttributes(){return e.props?Object.keys(e.props).map(Z):[]}_applyComputed(t){this._runLogicWithinErrorBoundary(e,()=>{t.computed&&Object.entries(t.computed).forEach(([r,n])=>{Object.defineProperty(this.context,r,{get:()=>{const i=n(this.context);return q(i)},enumerable:!0})})})}_render(t){this._runLogicWithinErrorBoundary(t,()=>{if(!this.shadowRoot)return;if(this._templateLoading&&t.loadingTemplate){this._renderOutput(t.loadingTemplate(this.context));return}if(this._templateError&&t.errorTemplate){this._renderOutput(t.errorTemplate(this._templateError,this.context));return}const r=t.render(this.context);if(r instanceof Promise){this._templateLoading=!0,r.then(n=>(this._templateLoading=!1,this._templateError=null,this._renderOutput(n),n)).catch(n=>{if(this._templateLoading=!1,this._templateError=n,t.errorTemplate){const i=t.errorTemplate(n,this.context);return this._renderOutput(i),i}throw n}),t.loadingTemplate&&this._renderOutput(t.loadingTemplate(this.context));return}this._renderOutput(r),this._applyStyle(t)})}_renderOutput(t){if(!this.shadowRoot)return;const r=new Proxy(this.context,{get:(n,i)=>i==="_requestRender"?()=>this._requestRender():i==="context"?n:typeof i=="string"&&i.includes(".")?i.split(".").reduce((s,o)=>s?.[o],n):n[i],set:(n,i,s)=>{if(typeof i=="string"&&i.includes(".")){const o=i.split("."),c=o.pop();if(!c)return!1;const d=o.reduce((a,u)=>(u in a||(a[u]={}),a[u]),n);return d[c]=s,!0}return n[i]=s,!0}});_e(this.shadowRoot,Array.isArray(t)?t:[t],r),this._lastHtmlStringForJitCSS=this.shadowRoot.innerHTML}_requestRender(){if(this._renderTimeoutId!==null&&clearTimeout(this._renderTimeoutId),Date.now()-this._lastRenderTime<16){if(this._renderCount++,this._renderCount>10){console.warn(`[${this.tagName}] Potential infinite render loop detected. Skipping render.`),this._renderTimeoutId=null;return}}else this._renderCount=0;this._renderTimeoutId=setTimeout(()=>{this._lastRenderTime=Date.now(),this._render(this._cfg),this._renderTimeoutId=null},0)}_applyStyle(t){this._runLogicWithinErrorBoundary(t,()=>{if(!this.shadowRoot)return;const r=Re(this._lastHtmlStringForJitCSS);if(!t.style&&(!r||r.trim()==="")){this._styleSheet=null;return}let n="";t.style&&(typeof t.style=="string"?n=t.style:typeof t.style=="function"&&(n=t.style(this.context)));let i=Oe(`${Se}
16
- ${n}
9
+ font-size: 16px;
10
+ line-height: 1.5;
11
+ font-family: ui-sans-serif, system-ui, sans-serif;
12
+ -webkit-text-size-adjust: 100%;
13
+ text-size-adjust: 100%;
14
+ color: inherit;
15
+ background-color: transparent;
16
+ }
17
+ *, ::before, ::after {
18
+ -webkit-tap-highlight-color: transparent;
19
+ margin: 0;
20
+ padding: 0;
21
+ font: inherit;
22
+ vertical-align: baseline;
23
+ background: transparent;
24
+ color: inherit;
25
+ }
26
+ button, input, optgroup, select, textarea {
27
+ font: inherit;
28
+ color: inherit;
29
+ background: transparent;
30
+ border: none;
31
+ outline: none;
32
+ margin: 0;
33
+ padding: 0;
34
+ }
35
+ textarea {
36
+ resize: vertical;
37
+ }
38
+ progress {
39
+ vertical-align: baseline;
40
+ }
41
+ button, textarea {
42
+ overflow: visible;
43
+ }
44
+ input[type="search"]::-webkit-search-decoration,
45
+ input[type="search"]::-webkit-search-cancel-button,
46
+ input[type="search"]::-webkit-search-results-button,
47
+ input[type="search"]::-webkit-search-results-decoration {
48
+ -webkit-appearance: none;
49
+ }
50
+ img, svg, video, canvas, audio, iframe, embed, object {
51
+ display: block;
52
+ max-width: 100%;
53
+ height: auto;
54
+ vertical-align: middle;
55
+ }
56
+ select {
57
+ text-transform: none;
58
+ }
59
+ optgroup {
60
+ font-weight: bold;
61
+ }
62
+ fieldset {
63
+ border: none;
64
+ }
65
+ svg {
66
+ fill: currentColor;
67
+ stroke: none;
68
+ }
69
+ a {
70
+ color: inherit;
71
+ text-decoration: inherit;
72
+ }
73
+ a, button {
74
+ cursor: pointer;
75
+ }
76
+ input[type="file"] {
77
+ border: 0;
78
+ }
79
+ button, [type="button"], [type="reset"], [type="submit"] {
80
+ appearance: button;
81
+ background-color: transparent;
82
+ background-image: none;
83
+ }
84
+ [type='button'], [type='reset'], [type='submit'] {
85
+ -webkit-user-select: none;
86
+ user-select: none;
87
+ }
88
+ ::-webkit-input-placeholder { color: inherit; opacity: 0.5; }
89
+ ::placeholder { color: inherit; opacity: 0.5; }
90
+ *:focus {
91
+ outline: 2px solid #3b82f6;
92
+ outline-offset: 2px;
93
+ }
94
+ ol, ul {
95
+ list-style: none;
96
+ }
97
+ table {
98
+ border-collapse: collapse;
99
+ border-spacing: 0;
100
+ }
101
+ strong {
102
+ font-weight: bolder;
103
+ }
104
+ sub, sup {
105
+ font-size: 0.75em;
106
+ line-height: 0;
107
+ position: relative;
108
+ vertical-align: baseline;
109
+ }
110
+ sub {
111
+ bottom: -0.25em;
112
+ }
113
+ sup {
114
+ top: -0.5em;
115
+ }
116
+ [disabled] {
117
+ cursor: not-allowed;
118
+ }
119
+ [hidden] {
120
+ display: none;
121
+ }
122
+ [aria-disabled="true"] {
123
+ cursor: not-allowed;
124
+ }
125
+ `,Te={gray:{50:"var(--color-gray-50, #f9fafb)",100:"var(--color-gray-100, #f3f4f6)",200:"var(--color-gray-200, #e5e7eb)",300:"var(--color-gray-300, #d1d5db)",400:"var(--color-gray-400, #9ca3af)",500:"var(--color-gray-500, #6b7280)",600:"var(--color-gray-600, #4b5563)",700:"var(--color-gray-700, #374151)",800:"var(--color-gray-800, #1f2937)",900:"var(--color-gray-900, #111827)"},slate:{50:"var(--color-slate-50, #f8fafc)",100:"var(--color-slate-100, #f1f5f9)",200:"var(--color-slate-200, #e2e8f0)",300:"var(--color-slate-300, #cbd5e1)",400:"var(--color-slate-400, #94a3b8)",500:"var(--color-slate-500, #64748b)",600:"var(--color-slate-600, #475569)",700:"var(--color-slate-700, #334155)",800:"var(--color-slate-800, #1e293b)",900:"var(--color-slate-900, #0f172a)"},zinc:{50:"var(--color-zinc-50, #fafafa)",100:"var(--color-zinc-100, #f4f4f5)",200:"var(--color-zinc-200, #e4e4e7)",300:"var(--color-zinc-300, #d4d4d8)",400:"var(--color-zinc-400, #a1a1aa)",500:"var(--color-zinc-500, #71717a)",600:"var(--color-zinc-600, #52525b)",700:"var(--color-zinc-700, #3f3f46)",800:"var(--color-zinc-800, #27272a)",900:"var(--color-zinc-900, #18181b)"},red:{50:"var(--color-red-50, #fef2f2)",100:"var(--color-red-100, #fee2e2)",200:"var(--color-red-200, #fecaca)",300:"var(--color-red-300, #fca5a5)",400:"var(--color-red-400, #f87171)",500:"var(--color-red-500, #ef4444)",600:"var(--color-red-600, #dc2626)",700:"var(--color-red-700, #b91c1c)",800:"var(--color-red-800, #991b1b)",900:"var(--color-red-900, #7f1d1d)"},blue:{50:"var(--color-blue-50, #eff6ff)",100:"var(--color-blue-100, #dbeafe)",200:"var(--color-blue-200, #bfdbfe)",300:"var(--color-blue-300, #93c5fd)",400:"var(--color-blue-400, #60a5fa)",500:"var(--color-blue-500, #3b82f6)",600:"var(--color-blue-600, #2563eb)",700:"var(--color-blue-700, #1d4ed8)",800:"var(--color-blue-800, #1e40af)",900:"var(--color-blue-900, #1e3a8a)"},green:{50:"var(--color-green-50, #f0fdf4)",100:"var(--color-green-100, #dcfce7)",200:"var(--color-green-200, #bbf7d0)",300:"var(--color-green-300, #86efac)",400:"var(--color-green-400, #4ade80)",500:"var(--color-green-500, #22c55e)",600:"var(--color-green-600, #16a34a)",700:"var(--color-green-700, #15803d)",800:"var(--color-green-800, #166534)",900:"var(--color-green-900, #14532d)"},amber:{50:"var(--color-amber-50, #fffbeb)",100:"var(--color-amber-100, #fef3c7)",200:"var(--color-amber-200, #fde68a)",300:"var(--color-amber-300, #fcd34d)",400:"var(--color-amber-400, #fbbf24)",500:"var(--color-amber-500, #f59e0b)",600:"var(--color-amber-600, #d97706)",700:"var(--color-amber-700, #b45309)",800:"var(--color-amber-800, #92400e)",900:"var(--color-amber-900, #78350f)"},indigo:{50:"var(--color-indigo-50, #eef2ff)",100:"var(--color-indigo-100, #e0e7ff)",200:"var(--color-indigo-200, #c7d2fe)",300:"var(--color-indigo-300, #a5b4fc)",400:"var(--color-indigo-400, #818cf8)",500:"var(--color-indigo-500, #6366f1)",600:"var(--color-indigo-600, #4f46e5)",700:"var(--color-indigo-700, #4338ca)",800:"var(--color-indigo-800, #3730a3)",900:"var(--color-indigo-900, #312e81)"},emerald:{50:"var(--color-emerald-50, #ecfdf5)",100:"var(--color-emerald-100, #d1fae5)",200:"var(--color-emerald-200, #a7f3d0)",300:"var(--color-emerald-300, #6ee7b7)",400:"var(--color-emerald-400, #34d399)",500:"var(--color-emerald-500, #10b981)",600:"var(--color-emerald-600, #059669)",700:"var(--color-emerald-700, #047857)",800:"var(--color-emerald-800, #065f46)",900:"var(--color-emerald-900, #064e3b)"},rose:{50:"var(--color-rose-50, #fff1f2)",100:"var(--color-rose-100, #ffe4e6)",200:"var(--color-rose-200, #fecdd3)",300:"var(--color-rose-300, #fda4af)",400:"var(--color-rose-400, #fb7185)",500:"var(--color-rose-500, #f43f5e)",600:"var(--color-rose-600, #e11d48)",700:"var(--color-rose-700, #be123c)",800:"var(--color-rose-800, #9f1239)",900:"var(--color-rose-900, #881337)"},white:{DEFAULT:"var(--color-white, #ffffff)"},black:{DEFAULT:"var(--color-black, #000000)"}},K={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;","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-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-6":"grid-template-rows:repeat(6,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-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-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;","rounded-none":"border-radius:0;","rounded-xs":"border-radius:0.125rem;",rounded:"border-radius:0.25rem;","rounded-sm":"border-radius:0.25rem;","rounded-md":"border-radius:0.375rem;","rounded-lg":"border-radius:0.5rem;","rounded-full":"border-radius:9999px;","ring-0":"box-shadow:none;","ring-1":"box-shadow:0 0 0 1px rgba(59,130,246,0.5);","ring-2":"box-shadow:0 0 0 2px rgba(59,130,246,0.5);","ring-4":"box-shadow:0 0 0 4px rgba(59,130,246,0.5);","ring-8":"box-shadow:0 0 0 8px rgba(59,130,246,0.5);","shadow-none":"box-shadow:0 0 #0000;","shadow-xs":"box-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);","shadow-sm":"box-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);","shadow-md":"box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);","shadow-lg":"box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);","shadow-xl":"box-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);","shadow-2xl":"box-shadow:0 25px 50px -12px rgb(0 0 0 / 0.25);",transition:"transition-property:all;transition-duration:150ms;transition-timing-function:cubic-bezier(0.4,0,0.2,1);",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-end":"justify-content:flex-end;","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-colors":"transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;","transition-opacity":"transition-property:opacity;","transition-transform":"transition-property:transform;"},je="0.25rem",ee={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"],top:["top"],bottom:["bottom"],left:["left"],right:["right"],gap:["gap"],"gap-x":["column-gap"],"gap-y":["row-gap"]},Le={before:(e,t)=>`${e}::before{${t}}`,after:(e,t)=>`${e}::after{${t}}`,hover:(e,t)=>`${e}:hover{${t}}`,focus:(e,t)=>`${e}:focus{${t}}`,active:(e,t)=>`${e}:active{${t}}`,disabled:(e,t)=>`${e}:disabled{${t}}`,visited:(e,t)=>`${e}:visited{${t}}`,checked:(e,t)=>`${e}:checked{${t}}`,first:(e,t)=>`${e}:first-child{${t}}`,last:(e,t)=>`${e}:last-child{${t}}`,odd:(e,t)=>`${e}:nth-child(odd){${t}}`,even:(e,t)=>`${e}:nth-child(even){${t}}`,"focus-within":(e,t)=>`${e}:focus-within{${t}}`,"focus-visible":(e,t)=>`${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}}`},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)"},F=["sm","md","lg","xl","2xl"];function U(e){const t=e.startsWith("-"),n=(t?e.slice(1):e).split("-");if(n.length<2)return null;const i=n.slice(0,-1).join("-"),s=n[n.length-1],o=parseFloat(s);if(Number.isNaN(o)||!ee[i])return null;const c=t?"-":"";return ee[i].map(d=>`${d}:calc(${c}${je} * ${o});`).join("")}function re(e){const t=e.replace("#",""),r=parseInt(t,16),n=r>>16&255,i=r>>8&255,s=r&255;return`${n} ${i} ${s}`}function Ne(e){const t=/^(bg|text|border|shadow|outline|caret|accent)-([a-z]+)-?(\d{2,3}|DEFAULT)?$/.exec(e);if(!t)return null;const[,r,n,i="DEFAULT"]=t,s=Te[n]?.[i];return s?`${{bg:"background-color",text:"color",border:"border-color",shadow:"box-shadow",outline:"outline-color",caret:"caret-color",accent:"accent-color"}[r]}:${s};`:null}function ze(e){const[t,r]=e.split("/");if(!r)return{base:t};const n=parseInt(r,10);return isNaN(n)||n<0||n>100?{base:t}:{base:t,opacity:n/100}}function q(e){const{base:t,opacity:r}=ze(e),n=Ne(t);if(n){if(r!==void 0){const s=/#([0-9a-f]{6})/i.exec(n);if(s){const o=re(s[0]);return n.replace(/#([0-9a-f]{6})/i,`rgb(${o} / ${r})`)}}return n}const i=H(t);if(i&&r!==void 0){const s=/#([0-9a-f]{6})/i.exec(i);if(s){const o=re(s[0]);return i.replace(/#([0-9a-f]{6})/i,`rgb(${o} / ${r})`)}}return i}function H(e){const t=e.indexOf("-["),r=e.endsWith("]");if(t>0&&r){const n=e.slice(0,t);let i=e.slice(t+2,-1);i=i.replace(/_/g," ");const o={bg:"background-color",text:"color",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",shadow:"box-shadow",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",delay:"transition-delay",weight:"font-weight",leading:"line-height",z:"z-index"}[n]??n.replace(/_/g,"-");if(o&&i)return`${o}:${i};`}return null}function Re(e){return e.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g,"\\$1")}function Be(e){const t=/class\s*=\s*["']([^"']+)["']/g,r=[];let n;for(;n=t.exec(e);){let i="",s=!1;for(const o of n[1])o==="["&&(s=!0),o==="]"&&(s=!1),o===" "&&!s?(i&&r.push(i),i=""):i+=o;i&&r.push(i)}return r.filter(Boolean)}const ne=new Map,Oe=16;function Me(e){const t=Date.now(),r=ne.get(e);if(r&&t-r.timestamp<Oe)return r.css;const n=Be(e),i=new Set(n),s=[],o=[],c=[],d=[],a={};function u(p,S=!1){const g=(S?"dark|":"")+p;if(g in a)return a[g];const l=f(p,S);return a[g]=l,l}function y(p){const S=p.some(l=>F.includes(l)),g=p.includes("dark");return p.length===0?1:!S&&!g?2:S&&!g?3:4}function f(p,S=!1){const g=p.split(":"),l=g.find($=>K[$]||U($)||q($)||H($));if(!l)return null;const b=K[l]??U(l)??q(l)??H(l);if(!b)return null;let m=`.${Re(p)}`,h=b;const x=g.indexOf(l);let C=x>=0?g.slice(0,x):[];S&&(C=C.filter($=>$!=="dark"));const k=C.filter($=>F.includes($)),v=k.length?k[k.length-1]:null;for(const $ of C){if(F.includes($))continue;const A=Le[$];typeof A=="function"&&(m=A(m,h).replace(/\{.*$/,""))}let _=`${m}{${h}}`;return S&&v?_=`@media (prefers-color-scheme: dark) and ${te[v]}{${_}}`:S?_=`@media (prefers-color-scheme: dark){${_}}`:v&&(_=`@media ${te[v]}{${_}}`),_}for(const p of i){const S=p.split(":"),g=S.find(h=>K[h]||U(h)||q(h)||H(h));if(!g)continue;const l=S.indexOf(g),b=l>=0?S.slice(0,l):[],m=y(b);if(m===4){const h=u(p,!0);h&&d.push(h)}else{const h=u(p);h&&(m===1?s.push(h):m===2?o.push(h):m===3&&c.push(h))}}const w=[...s,...o,...c,...d].join("");return ne.set(e,{css:w,timestamp:t}),w}const Pe=new Map;function Q(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function J(e){return typeof e=="string"?e.replace(/[&<>"']/g,t=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[t]):e}function Ve(e,...t){let r="";for(let n=0;n<e.length;n++)r+=e[n],n<t.length&&(r+=t[n]);return r}function Ie(e,t,r){let n=Q(e);n.includes("-")||(n=`cer-${n}`);let i;typeof t=="function"?i={...r,render:t}:i=t,typeof i.onError!="function"&&(i.onError=(s,o)=>{console.error(`[${n}] Error:`,s,o)}),Pe.set(n,i),typeof window<"u"&&!customElements.get(n)&&customElements.define(n,se(i))}function se(e){if(!e.render)throw new Error("Component must have a render function");return typeof window>"u"?class{constructor(){}}:class extends HTMLElement{context;_listeners=[];_watchers=new Map;_renderTimeoutId=null;_mounted=!1;_hasError=!1;_initializing=!0;_styleSheet=null;_lastHtmlStringForJitCSS="";_cfg;_lastRenderTime=0;_renderCount=0;_templateLoading=!1;_templateError=null;constructor(){super(),this.attachShadow({mode:"open"}),this._cfg=e,this.context=this._initContext(e),Object.keys(e).forEach(t=>{const r=e[t];typeof r=="function"&&!t.startsWith("on")&&(this.context[t]=(...n)=>r(...n,this.context))}),this._applyProps(e),this._applyComputed(e),this._initializing=!1,this._initWatchers(e),this._render(e)}connectedCallback(){this._runLogicWithinErrorBoundary(e,()=>{e.onConnected&&!this._mounted&&(e.onConnected(this.context),this._mounted=!0)})}disconnectedCallback(){this._runLogicWithinErrorBoundary(e,()=>{e.onDisconnected&&e.onDisconnected(this.context),this._listeners.forEach(t=>t()),this._listeners=[],this._watchers.clear(),this._templateLoading=!1,this._templateError=null,this._mounted=!1})}attributeChangedCallback(t,r,n){this._runLogicWithinErrorBoundary(e,()=>{this._applyProps(e),e.onAttributeChanged&&e.onAttributeChanged(t,r,n,this.context)})}static get observedAttributes(){return e.props?Object.keys(e.props).map(Q):[]}_applyComputed(t){this._runLogicWithinErrorBoundary(e,()=>{t.computed&&Object.entries(t.computed).forEach(([r,n])=>{Object.defineProperty(this.context,r,{get:()=>{const i=n(this.context);return J(i)},enumerable:!0})})})}_render(t){this._runLogicWithinErrorBoundary(t,()=>{if(!this.shadowRoot)return;if(this._templateLoading&&t.loadingTemplate){this._renderOutput(t.loadingTemplate(this.context));return}if(this._templateError&&t.errorTemplate){this._renderOutput(t.errorTemplate(this._templateError,this.context));return}const r=t.render(this.context);if(r instanceof Promise){this._templateLoading=!0,r.then(n=>(this._templateLoading=!1,this._templateError=null,this._renderOutput(n),n)).catch(n=>{if(this._templateLoading=!1,this._templateError=n,t.errorTemplate){const i=t.errorTemplate(n,this.context);return this._renderOutput(i),i}throw n}),t.loadingTemplate&&this._renderOutput(t.loadingTemplate(this.context));return}this._renderOutput(r),this._applyStyle(t)})}_renderOutput(t){if(!this.shadowRoot)return;const r=new Proxy(this.context,{get:(n,i)=>i==="_requestRender"?()=>this._requestRender():i==="context"?n:typeof i=="string"&&i.includes(".")?i.split(".").reduce((s,o)=>s?.[o],n):n[i],set:(n,i,s)=>{if(typeof i=="string"&&i.includes(".")){const o=i.split("."),c=o.pop();if(!c)return!1;const d=o.reduce((a,u)=>(u in a||(a[u]={}),a[u]),n);return d[c]=s,!0}return n[i]=s,!0}});Ce(this.shadowRoot,Array.isArray(t)?t:[t],r),this._lastHtmlStringForJitCSS=this.shadowRoot.innerHTML}_requestRender(){if(this._renderTimeoutId!==null&&clearTimeout(this._renderTimeoutId),Date.now()-this._lastRenderTime<16){if(this._renderCount++,this._renderCount>10){console.warn(`[${this.tagName}] Potential infinite render loop detected. Skipping render.`),this._renderTimeoutId=null;return}}else this._renderCount=0;this._renderTimeoutId=setTimeout(()=>{this._lastRenderTime=Date.now(),this._render(this._cfg),this._renderTimeoutId=null},0)}_applyStyle(t){this._runLogicWithinErrorBoundary(t,()=>{if(!this.shadowRoot)return;const r=Me(this._lastHtmlStringForJitCSS);if(!t.style&&(!r||r.trim()==="")){this._styleSheet=null,this.shadowRoot.adoptedStyleSheets=[G()];return}let n="";t.style&&(typeof t.style=="string"?n=t.style:typeof t.style=="function"&&(n=t.style(this.context)));let i=Ae(`${n}
17
126
  ${r}
18
- `);t.minifyCSS&&(i=$e(i)),this._styleSheet||(this._styleSheet=new CSSStyleSheet),this._styleSheet.replaceSync(i),this.shadowRoot.adoptedStyleSheets=[this._styleSheet]})}_runLogicWithinErrorBoundary(t,r){this._hasError&&(this._hasError=!1);try{r()}catch(n){this._hasError=!0,t.onError&&t.onError(n,this.context),t.errorFallback&&this.shadowRoot&&(this.shadowRoot.innerHTML=t.errorFallback(n,this.context))}}_initContext(t){try{let r=function(i,s=""){return Array.isArray(i)?new Proxy(i,{get(o,c,d){const a=Reflect.get(o,c,d);return typeof a=="function"&&typeof c=="string"&&["push","pop","shift","unshift","splice","sort","reverse"].includes(c)?function(...y){const f=a.apply(o,y);if(!n._initializing){const w=s||"root";n._triggerWatchers(w,o),n._render(t)}return f}:a},set(o,c,d){if(o[c]=d,!n._initializing){const a=s?`${s}.${String(c)}`:String(c);n._triggerWatchers(a,d),n._render(t)}return!0},deleteProperty(o,c){if(delete o[c],!n._initializing){const d=s?`${s}.${String(c)}`:String(c);n._triggerWatchers(d,void 0),n._render(t)}return!0}}):i&&typeof i=="object"?(Object.keys(i).forEach(o=>{const c=s?`${s}.${o}`:o;i[o]=r(i[o],c)}),new Proxy(i,{set(o,c,d){const a=s?`${s}.${String(c)}`:String(c);return o[c]=r(d,a),n._initializing||(n._triggerWatchers(a,o[c]),n._render(t)),!0},get(o,c,d){return Reflect.get(o,c,d)}})):i};const n=this;return r({...t.state})}catch{return{}}}_initWatchers(t){if(t.watch)for(const[r,n]of Object.entries(t.watch)){let i,s={};if(Array.isArray(n)?(i=n[0],s=n[1]||{}):i=n,this._watchers.set(r,{callback:i,options:s,oldValue:this._getNestedValue(r)}),s.immediate)try{const o=this._getNestedValue(r);i(o,void 0,this.context)}catch(o){console.error(`Error in immediate watcher for "${r}":`,o)}}}_getNestedValue(t){return t.split(".").reduce((r,n)=>r?.[n],this.context)}_triggerWatchers(t,r){const n=(s,o)=>{if(s===o)return!0;if(typeof s!=typeof o||typeof s!="object"||s===null||o===null)return!1;if(Array.isArray(s)&&Array.isArray(o))return s.length!==o.length?!1:s.every((a,u)=>n(a,o[u]));const c=Object.keys(s),d=Object.keys(o);return c.length!==d.length?!1:c.every(a=>n(s[a],o[a]))},i=this._watchers.get(t);if(i&&!n(r,i.oldValue))try{i.callback(r,i.oldValue,this.context),i.oldValue=r}catch(s){console.error(`Error in watcher for "${t}":`,s)}for(const[s,o]of this._watchers.entries())if(o.options.deep&&t.startsWith(s+"."))try{const c=this._getNestedValue(s);n(c,o.oldValue)||(o.callback(c,o.oldValue,this.context),o.oldValue=c)}catch(c){console.error(`Error in deep watcher for "${s}":`,c)}}_applyProps(t){try{let r=function(n,i){return i===Boolean?n==="true":i===Number?Number(n):n};if(!t.props)return;Object.entries(t.props).forEach(([n,i])=>{const s=this.getAttribute(Z(n));s!==null?this.context[n]=q(r(s,i.type)):"default"in i&&i.default!==void 0&&(this.context[n]=q(i.default))})}catch(r){this._hasError=!0,t.onError&&t.onError(r,this.context),t.errorFallback&&this.shadowRoot&&(this.shadowRoot.innerHTML=t.errorFallback(r,this.context))}}}}exports.component=Pe;exports.createElementClass=ne;exports.createStore=se;exports.css=Me;exports.each=he;exports.eventBus=ae;exports.html=de;exports.match=pe;exports.when=ue;
127
+ `);i=oe(i),this._styleSheet||(this._styleSheet=new CSSStyleSheet),(this._styleSheet.cssRules.length===0||this._styleSheet.toString()!==i)&&this._styleSheet.replaceSync(i),this.shadowRoot.adoptedStyleSheets=[G(),this._styleSheet]})}_runLogicWithinErrorBoundary(t,r){this._hasError&&(this._hasError=!1);try{r()}catch(n){this._hasError=!0,t.onError&&t.onError(n,this.context),t.errorFallback&&this.shadowRoot&&(this.shadowRoot.innerHTML=t.errorFallback(n,this.context))}}_initContext(t){try{let r=function(i,s=""){return Array.isArray(i)?new Proxy(i,{get(o,c,d){const a=Reflect.get(o,c,d);return typeof a=="function"&&typeof c=="string"&&["push","pop","shift","unshift","splice","sort","reverse"].includes(c)?function(...y){const f=a.apply(o,y);if(!n._initializing){const w=s||"root";n._triggerWatchers(w,o),n._render(t)}return f}:a},set(o,c,d){if(o[c]=d,!n._initializing){const a=s?`${s}.${String(c)}`:String(c);n._triggerWatchers(a,d),n._render(t)}return!0},deleteProperty(o,c){if(delete o[c],!n._initializing){const d=s?`${s}.${String(c)}`:String(c);n._triggerWatchers(d,void 0),n._render(t)}return!0}}):i&&typeof i=="object"?(Object.keys(i).forEach(o=>{const c=s?`${s}.${o}`:o;i[o]=r(i[o],c)}),new Proxy(i,{set(o,c,d){const a=s?`${s}.${String(c)}`:String(c);return o[c]=r(d,a),n._initializing||(n._triggerWatchers(a,o[c]),n._render(t)),!0},get(o,c,d){return Reflect.get(o,c,d)}})):i};const n=this;return r({...t.state})}catch{return{}}}_initWatchers(t){if(t.watch)for(const[r,n]of Object.entries(t.watch)){let i,s={};if(Array.isArray(n)?(i=n[0],s=n[1]||{}):i=n,this._watchers.set(r,{callback:i,options:s,oldValue:this._getNestedValue(r)}),s.immediate)try{const o=this._getNestedValue(r);i(o,void 0,this.context)}catch(o){console.error(`Error in immediate watcher for "${r}":`,o)}}}_getNestedValue(t){return t.split(".").reduce((r,n)=>r?.[n],this.context)}_triggerWatchers(t,r){const n=(s,o)=>{if(s===o)return!0;if(typeof s!=typeof o||typeof s!="object"||s===null||o===null)return!1;if(Array.isArray(s)&&Array.isArray(o))return s.length!==o.length?!1:s.every((a,u)=>n(a,o[u]));const c=Object.keys(s),d=Object.keys(o);return c.length!==d.length?!1:c.every(a=>n(s[a],o[a]))},i=this._watchers.get(t);if(i&&!n(r,i.oldValue))try{i.callback(r,i.oldValue,this.context),i.oldValue=r}catch(s){console.error(`Error in watcher for "${t}":`,s)}for(const[s,o]of this._watchers.entries())if(o.options.deep&&t.startsWith(s+"."))try{const c=this._getNestedValue(s);n(c,o.oldValue)||(o.callback(c,o.oldValue,this.context),o.oldValue=c)}catch(c){console.error(`Error in deep watcher for "${s}":`,c)}}_applyProps(t){try{let r=function(n,i){return i===Boolean?n==="true":i===Number?Number(n):n};if(!t.props)return;Object.entries(t.props).forEach(([n,i])=>{const s=this.getAttribute(Q(n));s!==null?this.context[n]=J(r(s,i.type)):"default"in i&&i.default!==void 0&&(this.context[n]=J(i.default))})}catch(r){this._hasError=!0,t.onError&&t.onError(r,this.context),t.errorFallback&&this.shadowRoot&&(this.shadowRoot.innerHTML=t.errorFallback(r,this.context))}}}}exports.component=Ie;exports.createElementClass=se;exports.createStore=ce;exports.css=Ve;exports.each=me;exports.eventBus=fe;exports.html=pe;exports.match=ye;exports.when=ge;
19
128
  //# sourceMappingURL=custom-elements-runtime.cjs.js.map