@jasonshimmy/custom-elements-runtime 0.0.17 → 0.1.0
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 +0 -1
- package/dist/custom-elements-runtime.cjs.js +4 -4
- package/dist/custom-elements-runtime.cjs.js.map +1 -1
- package/dist/custom-elements-runtime.es.js +709 -688
- package/dist/custom-elements-runtime.es.js.map +1 -1
- package/dist/custom-elements-runtime.umd.js +4 -4
- package/dist/custom-elements-runtime.umd.js.map +1 -1
- package/dist/runtime.d.ts +4 -1
- package/dist/vdom.d.ts +3 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -58,7 +58,6 @@ Explore the full documentation for every runtime feature:
|
|
|
58
58
|
## 🧩 Reactivity & Patterns
|
|
59
59
|
- [Directives](./docs/directives.md)
|
|
60
60
|
- [Bindings](./docs/bindings.md)
|
|
61
|
-
- [Directives & Binding](./docs/directives-and-binding.md)
|
|
62
61
|
- [Slot](./docs/slot.md)
|
|
63
62
|
- [Advanced Usage Patterns](./docs/advanced-usage-patterns.md)
|
|
64
63
|
- [Cross-Component Communication](./docs/cross-component-communication.md)
|
|
@@ -1,4 +1,4 @@
|
|
|
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=`
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function ce(e){let t=new Proxy(e,{set:(o,l,f)=>(o[l]=f,s(),!0)});const n=[];function r(o){n.push(o),o(t)}function i(){return t}function s(){n.forEach(o=>o(t))}return{subscribe:r,getState:i}}class B extends EventTarget{handlers={};static instance;eventCounters=new Map;static getInstance(){return B.instance||(B.instance=new B),B.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&&(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:n,bubbles:!1,cancelable:!0}));const s=this.handlers[t];s&&s.forEach(o=>{try{o(n)}catch(l){console.error(`Error in global event handler for "${t}":`,l)}})}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 fe=B.getInstance();function P(e,t={},n,r){const i=r??t.key;return{tag:e,key:i,props:t,children:n}}function I(e){return!!e&&typeof e=="object"&&(e.type==="AnchorBlock"||e.tag==="#anchor")}function R(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=[],n={}){const r={},i={},s={},o=/([:@#]?)([a-zA-Z0-9-:\.]+)=("([^"\\]*(\\.[^"\\]*)*)"|'([^'\\]*(\\.[^'\\]*)*)')/g;let l;for(;l=o.exec(e);){const f=l[1],u=l[2],p=(l[4]||l[6])??"",d=p.match(/^{{(\d+)}}$/);let c=d?t[Number(d[1])]??null:p;if(d||(c==="true"?c=!0:c==="false"?c=!1:c==="null"?c=null:isNaN(Number(c))||(c=Number(c))),f===":")typeof c=="boolean"?i[u]=c:c!=null&&(r[u]=c);else if(f==="@"){const y="on"+u.charAt(0).toUpperCase()+u.slice(1);r[y]=typeof c=="function"?c:typeof n[c]=="function"?n[c]:void 0}else if(f==="#"){const[y,...h]=u.split("."),S=[...h];let m=c,a=[...S];if(y==="model"&&typeof m=="string"&&m.includes(".")){const b=["trim","number","lazy"],g=m.split(".");let x=m;const w=[];for(let k=g.length-1;k>0&&b.includes(g[k]);k--)w.unshift(g[k]),x=g.slice(0,k).join(".");m=x,a.push(...w)}s[y]={value:m,modifiers:a}}else u==="ref"?r.ref=c:i[u]=c}return{props:r,attrs:i,directives:s}}function pe(e,t,n){function r(a,b){return P("#text",{},a,b)}let i="";for(let a=0;a<e.length;a++)i+=e[a],a<t.length&&(i+=`{{${a}}}`);const s=/<\/?([a-zA-Z0-9-]+)([^>]*)\/?>|{{(\d+)}}|([^<]+)/g,o=[];let l=null,f,u=[],p=null,d={},c,y=0,h=[];function S(a){!a||typeof a!="object"||I(a)||(a.props||a.attrs?(a.props&&(d.props||(d.props={}),Object.assign(d.props,a.props)),a.attrs&&(d.attrs||(d.attrs={}),Object.keys(a.attrs).forEach(b=>{if(b==="style"&&d.attrs.style){const g=d.attrs.style.replace(/;?\s*$/,""),x=a.attrs.style.replace(/^;?\s*/,"");d.attrs.style=g+"; "+x}else if(b==="class"&&d.attrs.class){const g=d.attrs.class.trim().split(/\s+/).filter(Boolean),x=a.attrs.class.trim().split(/\s+/).filter(Boolean),w=[...new Set([...g,...x])];d.attrs.class=w.join(" ")}else d.attrs[b]=a.attrs[b]}))):(d.props||(d.props={}),Object.assign(d.props,a)))}function m(a,b){const g=p?u:h;if(I(a)){const x=a.key??b;let w=a.children;g.push({...a,key:x,children:w});return}if(R(a)){g.push(de(a,void 0));return}if(Array.isArray(a)){if(a.length===0)return;for(let x=0;x<a.length;x++){const w=a[x];I(w)||R(w)||Array.isArray(w)?m(w,`${b}-${x}`):w!==null&&typeof w=="object"?S(w):g.push(r(String(w),`${b}-${x}`))}return}if(a!==null&&typeof a=="object"){S(a);return}g.push(r(String(a),b))}for(;f=s.exec(i);)if(f[1]){const a=f[1],b=f[0][1]==="/",g=f[0][f[0].length-2]==="/",{props:x,attrs:w,directives:k}=ue(f[2]||"",t,n),$={props:{},attrs:{}};for(const v in x)$.props[v]=x[v];for(const v in w)$.attrs[v]=w[v];for(const[v,_]of Object.entries(k))if(v==="bind")if(typeof _.value=="object"&&_.value!==null)for(const[A,E]of Object.entries(_.value))typeof E=="boolean"?$.attrs[A]=E:E!=null&&($.attrs[A]=String(E));else _.value!=null&&($.attrs[v]=String(_.value));else if(v==="show"){const A=!!_.value;$.attrs.style=($.attrs.style||"")+(A?"":"; display: none !important")}else if(v==="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,N]of Object.entries(j))N&&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 M=$.attrs.class||"",O=[...new Set([...M.split(/\s+/).filter(Boolean),...E])];$.attrs.class=O.join(" ")}else if(v==="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 N=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(N)&&(X=`${L}px`),O.push(`${N}: ${X}`)}E=O.join("; ")+(O.length>0?";":"")}const M=$.attrs.style||"";$.attrs.style=M+(M&&!M.endsWith(";")?"; ":"")+E}const C={};for(const[v,_]of Object.entries(k))["bind","show","class","style"].includes(v)||(C[v]=_);if(Object.keys(C).length>0&&($.directives=C),b){const v=P(p,d,u.length===1&&R(u[0])&&u[0].tag==="#text"?typeof u[0].children=="string"?u[0].children:"":u.length?u:void 0,c),_=o.pop();_?(p=_.tag,d=_.props,c=_.key,u=_.children,u.push(v)):l=v}else g?(p?u:h).push(P(a,$,void 0,void 0)):(p&&o.push({tag:p,props:d,children:u,key:c}),p=a,d=$,u=[])}else if(typeof f[3]<"u"){const a=Number(f[3]),b=t[a],g=`interp-${a}`;m(b,g)}else if(f[4]){const a=f[4],b=p?u:h,g=a.split(/({{\d+}})/);for(const x of g){if(!x)continue;const w=x.match(/^{{(\d+)}}$/);if(w){const k=Number(w[1]),$=t[k],C=`interp-${k}`;m($,C)}else{const k=`text-${y++}`;b.push(r(x,k))}}}if(l)return R(l)&&Array.isArray(l.children)&&(l.children=l.children.filter(a=>R(a)?a.tag!=="#text"||typeof a.children=="string"&&a.children.trim()!=="":!0)),l;if(h.length>0){const a=h.filter(b=>R(b)?b.tag!=="#text"||typeof b.children=="string"&&b.children.trim()!=="":!0);return a.length===1?a[0]:a}return P("div",{},"","fallback-root")}function he(e,...t){const n=t[t.length-1],r=typeof n=="object"&&n&&!Array.isArray(n)?n:void 0;return pe(e,t,r)}function ge(e,t){return K(e?t:[],"when-block")}function ye(e,t){return e.map((n,r)=>{const i=typeof n=="object"?n?.key??n?.id??`idx-${r}`:String(n);return K(t(n,r),`each-${i}`)})}function me(){const e=[];return{when(t,n){return e.push([t,n]),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[n,r]=e[t];if(n)return[K(r,`whenChain-branch-${t}`)]}return[K([],"whenChain-empty")]}function K(e,t){const n=e?Array.isArray(e)?e.filter(Boolean):[e].filter(Boolean):[];return{tag:"#anchor",key:t,children:n}}function z(e,t){return t.split(".").reduce((n,r)=>n?.[r],e)}function Y(e,t,n){const r=t.split("."),i=r.pop();if(!i)return;const s=r.reduce((o,l)=>(l in o||(o[l]={}),o[l]),e);s[i]=n}function xe(e,t,n,r,i,s,o){if(!s)return;const l=t.includes("lazy"),f=t.includes("trim"),u=t.includes("number"),p=()=>{const m=s._state||s;return z(m,e)},d=p();let c="text";const y=r?.type;if(o instanceof HTMLInputElement?c=y||o.type||"text":o instanceof HTMLSelectElement?c="select":o instanceof HTMLTextAreaElement&&(c="textarea"),c==="checkbox")if(Array.isArray(d)){const m=o?.getAttribute("value")||r?.value||"",a=d.includes(m);o&&o.checked!==a&&(n.checked=a)}else{const m=o?.getAttribute("true-value")||!0,a=d===m;o&&o.checked!==a&&(n.checked=a)}else if(c==="radio"){const m=r?.value||"",a=d===m;o&&o.checked!==a&&(n.checked=a)}else if(c==="select")if(o&&o.hasAttribute("multiple")){const m=o,a=Array.isArray(d)?d:[];setTimeout(()=>{Array.from(m.options).forEach(b=>{const g=a.includes(b.value);b.selected!==g&&(b.selected=g)})},0)}else setTimeout(()=>{o instanceof HTMLSelectElement&&o.value!==String(d)&&(o.value=String(d))},0);else{const m=String(d??"");(!o||o.value!==m)&&(n.value=d)}const h=l||c==="checkbox"||c==="radio"||c==="select"?"change":"input",S=m=>{if(m.isComposing||i._isComposing||m.isTrusted===!1)return;const a=m.target;if(a._modelUpdating)return;const b=p();let g=a.value;if(c==="checkbox")if(Array.isArray(b)){const $=a.getAttribute("value")||"",C=[...b];if(a.checked)C.includes($)||C.push($);else{const v=C.indexOf($);v>-1&&C.splice(v,1)}g=C}else{const $=a.getAttribute("true-value")||!0,C=a.getAttribute("false-value")||!1;g=a.checked?$:C}else if(c==="radio")g=a.getAttribute("value")||a.value;else if(c==="select"&&a.multiple){const $=a;g=Array.from($.selectedOptions).map(C=>C.value)}else if(f&&(g=g.trim()),u){const $=Number(g);isNaN($)||(g=$)}const x=s._state||s,w=z(x,e);if(Array.isArray(g)&&Array.isArray(w)?JSON.stringify([...g].sort())!==JSON.stringify([...w].sort()):g!==w){const $=m.target;$._modelUpdating=!0,Y(x,e,g),setTimeout(()=>{$._modelUpdating=!1},0),s._requestRender&&s._requestRender()}};if(i[h]=S,c==="text"||c==="textarea"){const m=()=>{i._isComposing=!0},a=b=>{i._isComposing=!1;const g=b.target;setTimeout(()=>{if(g){let x=g.value;if(f&&(x=x.trim()),u){const C=Number(x);isNaN(C)||(x=C)}const w=s._state||s,k=z(w,e);(Array.isArray(x)&&Array.isArray(k)?JSON.stringify([...x].sort())!==JSON.stringify([...k].sort()):x!==k)&&(g&&(g._modelUpdating=!0,setTimeout(()=>{g._modelUpdating=!1},0)),Y(w,e,x),s._requestRender&&s._requestRender())}},0)};i.compositionstart=m,i.compositionend=a}}function ve(e,t,n,r){if(r)try{const i=JSON.parse(e);if(typeof i=="object")for(const[s,o]of Object.entries(i))t[s]=o}catch{const i=z(r,e);n[e]=i}}function we(e,t,n){if(!n)return;const r=z(n,e),i=t.style||"",s=r?"":"none";if(i){const o=i.split(";").filter(Boolean),l=o.findIndex(f=>f.trim().startsWith("display:"));l>=0?o[l]=`display: ${s}`:o.push(`display: ${s}`),t.style=o.join("; ")}else t.style=`display: ${s}`}function ke(e,t,n){if(!n)return;const r=z(n,e);let i=[];typeof r=="string"?i=[r]:Array.isArray(r)?i=r.filter(Boolean):typeof r=="object"&&(i=Object.entries(r).filter(([,l])=>!!l).map(([l])=>l));const s=t.class||"",o=s?`${s} ${i.join(" ")}`.trim():i.join(" ");o&&(t.class=o)}function _e(e,t,n){let r;if(typeof e=="string"){if(!n)return;r=z(n,e)}else r=e;let i="";if(typeof r=="string")i=r;else if(r&&typeof r=="object"){const o=[];for(const[l,f]of Object.entries(r))if(f!=null&&f!==""){const u=l.replace(/[A-Z]/g,c=>`-${c.toLowerCase()}`),p=["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 d=String(f);typeof f=="number"&&p.includes(u)&&(d=`${f}px`),o.push(`${u}: ${d}`)}i=o.join("; ")+(o.length>0?";":"")}const s=t.style||"";t.style=s+(s&&!s.endsWith(";")?"; ":"")+i}function ie(e,t,n,r){const i={},s={...r||{}},o={};for(const[l,f]of Object.entries(e)){const{value:u,modifiers:p}=f;switch(l){case"model":xe(typeof u=="string"?u:String(u),p,i,s,o,t,n);break;case"bind":ve(u,i,s,t);break;case"show":we(u,s,t);break;case"class":ke(u,s,t);break;case"style":_e(u,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 l=o.props?.key??o.key;if(!l){const d=o.tag||"node",c=o.props?.attrs?.id??o.props?.attrs?.name??o.props?.attrs?.["data-key"]??"";l=c?`${t}:${d}:${c}`:`${t}:${d}`}let f=l,u=1;for(;s.has(f);)f=`${l}#${u++}`;s.add(f);let p=o.children;return Array.isArray(p)&&(p=Z(p,f)),{...o,key:f,children:p}})}const n=e;let r=n.props?.key??n.key??t,i=n.children;return Array.isArray(i)&&(i=Z(i,r)),{...n,key:r,children:i}}function $e(e,t,n,r){const i=n.directives??{},s=ie(i,r,e,n.attrs),o={...t.props,...n.props,...s.props},l={...t.attrs,...n.attrs,...s.attrs},f=t.props??{},u=o;for(const c in{...f,...u}){const y=f[c],h=u[c];y!==h&&(c==="value"&&(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement)?e.value!==h&&(e.value=h??""):c==="checked"&&e instanceof HTMLInputElement?e.checked=!!h:c.startsWith("on")&&typeof h=="function"?(typeof y=="function"&&e.removeEventListener(c.slice(2).toLowerCase(),y),e.addEventListener(c.slice(2).toLowerCase(),h)):h==null||h===!1?e.removeAttribute(c):e.setAttribute(c,String(h)))}for(const[c,y]of Object.entries(s.listeners||{}))e.addEventListener(c,y);const p=t.attrs??{},d=l;for(const c in{...p,...d}){const y=p[c],h=d[c];y!==h&&(h==null||h===!1?e.removeAttribute(c):e.setAttribute(c,String(h)))}}function T(e,t,n){if(typeof e=="string")return document.createTextNode(e);if(e.tag==="#text"){const d=document.createTextNode(typeof e.children=="string"?e.children:"");return e.key!=null&&(d.key=e.key),d}if(e.tag==="#anchor"){const d=e,c=Array.isArray(d.children)?d.children:[],y=document.createTextNode(""),h=document.createTextNode("");d.key!=null&&(y.key=`${d.key}:start`,h.key=`${d.key}:end`),d._startNode=y,d._endNode=h;const S=document.createDocumentFragment();S.appendChild(y);for(const m of c)S.appendChild(T(m,t));return S.appendChild(h),S}const r=document.createElement(e.tag);e.key!=null&&(r.key=e.key);const{props:i={},attrs:s={},directives:o={}}=e.props??{},l=ie(o,t,r,s),f={...i,...l.props},u={...s,...l.attrs};for(const d in u){const c=u[d];typeof c=="boolean"?c&&r.setAttribute(d,""):c!=null&&r.setAttribute(d,String(c))}for(const d in f){const c=f[d];if(d==="value"&&(r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement||r instanceof HTMLSelectElement))r.value=c??"";else if(d==="checked"&&r instanceof HTMLInputElement)r.checked=!!c;else if(d.startsWith("on")&&typeof c=="function")r.addEventListener(d.slice(2).toLowerCase(),c);else{if(d.startsWith("on")&&c===void 0)continue;c==null||c===!1?r.removeAttribute(d):r.setAttribute(d,String(c))}}for(const[d,c]of Object.entries(l.listeners||{}))r.addEventListener(d,c);const p=e.props?.ref??(e.props?.props&&e.props.props.ref);if(typeof e!="string"&&p&&n&&(n[p]=r),Array.isArray(e.children))for(const d of e.children)r.appendChild(T(d,t,n));else typeof e.children=="string"&&(r.textContent=e.children);return r}function Se(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:[],l=new Map;for(const y of o)y&&y.key!=null&&l.set(y.key,y);const f=new Map;for(const y of s){const h=y.key;h!=null&&f.set(h,y)}const u=new Set;let p=e.firstChild;function d(y,h){let S=y;for(;S&&(u.add(S),S!==h);)S=S.nextSibling}function c(y,h,S,m){const a=[];let b=y.nextSibling;for(;b&&b!==h;)a.push(b),b=b.nextSibling;const g=Array.isArray(S)?S:[];if(m.some(w=>w&&w.key!=null)||g.some(w=>w&&w.key!=null)){const w=new Map,k=new Map;for(const v of g)v&&v.key!=null&&w.set(v.key,v);for(const v of a){const _=v.key;_!=null&&k.set(_,v)}const $=new Set;let C=y.nextSibling;for(const v of m){let _;if(v.key!=null&&k.has(v.key)){const A=w.get(v.key);_=D(k.get(v.key),A,v,r),$.add(_),_!==C&&e.contains(_)&&e.insertBefore(_,C)}else _=T(v,r),e.insertBefore(_,C),$.add(_);C=_.nextSibling}for(const v of a)!$.has(v)&&e.contains(v)&&e.removeChild(v)}else{const w=Math.min(g.length,m.length);for(let k=0;k<w;k++){const $=g[k],C=m[k],v=D(a[k],$,C,r);v!==a[k]&&(e.insertBefore(v,a[k]),e.removeChild(a[k]))}for(let k=w;k<m.length;k++)e.insertBefore(T(m[k],r),h);for(let k=w;k<a.length;k++)e.removeChild(a[k])}}for(const y of n){let h;if(y.tag==="#anchor"){const S=y.key,m=`${S}:start`,a=`${S}:end`;let b=f.get(m),g=f.get(a);const x=Array.isArray(y.children)?y.children:[];if(b||(b=document.createTextNode(""),b.key=m),g||(g=document.createTextNode(""),g.key=a),y._startNode=b,y._endNode=g,!e.contains(b)||!e.contains(g)){e.insertBefore(b,p);for(const w of x)e.insertBefore(T(w,r),p);e.insertBefore(g,p)}else c(b,g,l.get(S)?.children,x);d(b,g),p=g.nextSibling;continue}if(y.key!=null&&f.has(y.key)){const S=l.get(y.key);h=D(f.get(y.key),S,y,r,i),u.add(h),h!==p&&e.contains(h)&&(p&&!e.contains(p)&&(p=null),e.insertBefore(h,p))}else h=T(y,r,i),p&&!e.contains(p)&&(p=null),e.insertBefore(h,p),u.add(h);p=h.nextSibling}for(const y of s)if(!u.has(y)&&e.contains(y)){if(y instanceof HTMLElement&&i)for(const h in i)i[h]===y&&delete i[h];e.removeChild(y)}}function D(e,t,n,r,i){if(t&&typeof t!="string"&&t.props?.ref&&i&&delete i[t.props.ref],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,l=Array.isArray(o.children)?o.children:[],f=o._startNode??document.createTextNode(""),u=o._endNode??document.createTextNode("");o.key!=null&&(f.key=`${o.key}:start`,u.key=`${o.key}:end`),o._startNode=f,o._endNode=u;const p=document.createDocumentFragment();p.appendChild(f);for(const d of l)p.appendChild(T(d,r));return p.appendChild(u),e.parentNode?.replaceChild(p,e),f}if(!n){const o=document.createComment("removed");return e.parentNode?.replaceChild(o,e),o}if(!t||typeof t=="string"){const o=T(n,r,i);return typeof n!="string"&&n.props?.ref&&i&&(i[n.props.ref]=o),e.parentNode?.replaceChild(o,e),o}if(n.tag==="#anchor"){const o=Array.isArray(n.children)?n.children:[],l=n._startNode??document.createTextNode(""),f=n._endNode??document.createTextNode("");n.key!=null&&(l.key=`${n.key}:start`,f.key=`${n.key}:end`),n._startNode=l,n._endNode=f;const u=document.createDocumentFragment();u.appendChild(l);for(const p of o)u.appendChild(T(p,r));return u.appendChild(f),e.parentNode?.replaceChild(u,e),l}if(typeof t!="string"&&typeof n!="string"&&t.tag===n.tag&&t.key===n.key){const o=e;return $e(o,t.props||{},n.props||{},r),Se(o,t.children,n.children,r,i),typeof n!="string"&&n.props?.ref&&i&&(i[n.props.ref]=o),o}const s=T(n,r,i);return typeof n!="string"&&n.props?.ref&&i&&(i[n.props.ref]=s),e.parentNode?.replaceChild(s,e),s}function Ce(e,t,n,r){const i=p=>p.key==null?{...p,key:"__root__"}:p;let s=Array.isArray(t)?{tag:"div",key:"__root__",children:t}:i(t);s=Z(s,String(s.key??"root"));const o=e._prevVNode??null,l=e._prevDom??e.firstChild??null;let f;o&&l?typeof o!="string"&&typeof s!="string"&&o.tag===s.tag&&o.key===s.key?f=D(l,o,s,n,r):(f=T(s,n,r),e.replaceChild(f,l)):(f=T(s,n,r),e.firstChild?e.replaceChild(f,e.firstChild):e.appendChild(f));const u=[];for(let p=0;p<e.childNodes.length;p++){const d=e.childNodes[p];if(d!==f&&d.nodeName!=="STYLE"){if(d instanceof HTMLElement&&r)for(const c in r)r[c]===d&&delete r[c];u.push(d)}}u.forEach(p=>e.removeChild(p)),e._prevVNode=s,e._prevDom=f}function oe(e){return e.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s+/g," ").replace(/\s*([{}:;,>+~])\s*/g,"$1").replace(/;}/g,"}").trim()}let H=null;function G(){return H||(H=new CSSStyleSheet,H.replaceSync(oe(Ee))),H}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
2
|
:host, *, ::before, ::after {
|
|
3
3
|
box-sizing: border-box;
|
|
4
4
|
border-width: 0;
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
[aria-disabled="true"] {
|
|
123
123
|
cursor: not-allowed;
|
|
124
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=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[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}
|
|
126
|
-
${
|
|
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,
|
|
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)"}},F={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)"},V=["sm","md","lg","xl","2xl"];function U(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)||!ee[i])return null;const l=t?"-":"";return ee[i].map(f=>`${f}:calc(${l}${je} * ${o});`).join("")}function re(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 ze(e){const t=/^(bg|text|border|shadow|outline|caret|accent)-([a-z]+)-?(\d{2,3}|DEFAULT)?$/.exec(e);if(!t)return null;const[,n,r,i="DEFAULT"]=t,s=Te[r]?.[i];return s?`${{bg:"background-color",text:"color",border:"border-color",shadow:"box-shadow",outline:"outline-color",caret:"caret-color",accent:"accent-color"}[n]}:${s};`:null}function Re(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 q(e){const{base:t,opacity:n}=Re(e),r=ze(t);if(r){if(n!==void 0){const s=/#([0-9a-f]{6})/i.exec(r);if(s){const o=re(s[0]);return r.replace(/#([0-9a-f]{6})/i,`rgb(${o} / ${n})`)}}return r}const i=W(t);if(i&&n!==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} / ${n})`)}}return i}function W(e){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 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"}[r]??r.replace(/_/g,"-");if(o&&i)return`${o}:${i};`}return null}function Be(e){return e.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g,"\\$1")}function Me(e){const t=/class\s*=\s*["']([^"']+)["']/g,n=[];let r;for(;r=t.exec(e);){let i="",s=!1;for(const o of r[1])o==="["&&(s=!0),o==="]"&&(s=!1),o===" "&&!s?(i&&n.push(i),i=""):i+=o;i&&n.push(i)}return n.filter(Boolean)}const ne=new Map,Oe=16;function Ne(e){const t=Date.now(),n=ne.get(e);if(n&&t-n.timestamp<Oe)return n.css;const r=Me(e),i=new Set(r),s=[],o=[],l=[],f=[],u={};function p(h,S=!1){const m=(S?"dark|":"")+h;if(m in u)return u[m];const a=c(h,S);return u[m]=a,a}function d(h){const S=h.some(a=>V.includes(a)),m=h.includes("dark");return h.length===0?1:!S&&!m?2:S&&!m?3:4}function c(h,S=!1){const m=h.split(":"),a=m.find(_=>F[_]||U(_)||q(_)||W(_));if(!a)return null;const b=F[a]??U(a)??q(a)??W(a);if(!b)return null;let g=`.${Be(h)}`,x=b;const w=m.indexOf(a);let k=w>=0?m.slice(0,w):[];S&&(k=k.filter(_=>_!=="dark"));const $=k.filter(_=>V.includes(_)),C=$.length?$[$.length-1]:null;for(const _ of k){if(V.includes(_))continue;const A=Le[_];typeof A=="function"&&(g=A(g,x).replace(/\{.*$/,""))}let v=`${g}{${x}}`;return S&&C?v=`@media (prefers-color-scheme: dark) and ${te[C]}{${v}}`:S?v=`@media (prefers-color-scheme: dark){${v}}`:C&&(v=`@media ${te[C]}{${v}}`),v}for(const h of i){const S=h.split(":"),m=S.find(x=>F[x]||U(x)||q(x)||W(x));if(!m)continue;const a=S.indexOf(m),b=a>=0?S.slice(0,a):[],g=d(b);if(g===4){const x=p(h,!0);x&&f.push(x)}else{const x=p(h);x&&(g===1?s.push(x):g===2?o.push(x):g===3&&l.push(x))}}const y=[...s,...o,...l,...f].join("");return ne.set(e,{css:y,timestamp:t}),y}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=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[t]):e}function He(e,...t){let n="";for(let r=0;r<e.length;r++)n+=e[r],r<t.length&&(n+=t[r]);return n}function Ie(e,t,n){let r=Q(e);r.includes("-")||(r=`cer-${r}`);let i;typeof t=="function"?i={...n,render:t}:i=t,typeof i.onError!="function"&&(i.onError=(s,o)=>{console.error(`[${r}] Error:`,s,o)}),Pe.set(r,i),typeof window<"u"&&!customElements.get(r)&&customElements.define(r,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;_refs={};_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;const t=this._initContext(e);Object.defineProperty(t,"refs",{value:this._refs,writable:!1,enumerable:!1,configurable:!1}),this.context=t,Object.keys(e).forEach(n=>{const r=e[n];typeof r=="function"&&!n.startsWith("on")&&(this.context[n]=(...i)=>r(...i,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,n,r){this._runLogicWithinErrorBoundary(e,()=>{this._applyProps(e),e.onAttributeChanged&&e.onAttributeChanged(t,n,r,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(([n,r])=>{Object.defineProperty(this.context,n,{get:()=>{const i=r(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 n=t.render(this.context);if(n instanceof Promise){this._templateLoading=!0,n.then(r=>(this._templateLoading=!1,this._templateError=null,this._renderOutput(r),r)).catch(r=>{if(this._templateLoading=!1,this._templateError=r,t.errorTemplate){const i=t.errorTemplate(r,this.context);return this._renderOutput(i),i}throw r}),t.loadingTemplate&&this._renderOutput(t.loadingTemplate(this.context));return}this._renderOutput(n),this._applyStyle(t)})}_renderOutput(t){if(!this.shadowRoot)return;const n=new Proxy(this.context,{get:(r,i)=>i==="_requestRender"?()=>this._requestRender():i==="context"?r:typeof i=="string"&&i.includes(".")?i.split(".").reduce((s,o)=>s?.[o],r):r[i],set:(r,i,s)=>{if(typeof i=="string"&&i.includes(".")){const o=i.split("."),l=o.pop();if(!l)return!1;const f=o.reduce((u,p)=>(p in u||(u[p]={}),u[p]),r);return f[l]=s,!0}return r[i]=s,!0}});Ce(this.shadowRoot,Array.isArray(t)?t:[t],n,this._refs),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 n=Ne(this._lastHtmlStringForJitCSS);if(!t.style&&(!n||n.trim()==="")){this._styleSheet=null,this.shadowRoot.adoptedStyleSheets=[G()];return}let r="";t.style&&(typeof t.style=="string"?r=t.style:typeof t.style=="function"&&(r=t.style(this.context)));let i=Ae(`${r}
|
|
126
|
+
${n}
|
|
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,n){this._hasError&&(this._hasError=!1);try{n()}catch(r){this._hasError=!0,t.onError&&t.onError(r,this.context),t.errorFallback&&this.shadowRoot&&(this.shadowRoot.innerHTML=t.errorFallback(r,this.context))}}_initContext(t){try{let n=function(i,s=""){return Array.isArray(i)?new Proxy(i,{get(o,l,f){const u=Reflect.get(o,l,f);return typeof u=="function"&&typeof l=="string"&&["push","pop","shift","unshift","splice","sort","reverse"].includes(l)?function(...d){const c=u.apply(o,d);if(!r._initializing){const y=s||"root";r._triggerWatchers(y,o),r._render(t)}return c}:u},set(o,l,f){if(o[l]=f,!r._initializing){const u=s?`${s}.${String(l)}`:String(l);r._triggerWatchers(u,f),r._render(t)}return!0},deleteProperty(o,l){if(delete o[l],!r._initializing){const f=s?`${s}.${String(l)}`:String(l);r._triggerWatchers(f,void 0),r._render(t)}return!0}}):i&&typeof i=="object"?(Object.keys(i).forEach(o=>{const l=s?`${s}.${o}`:o;i[o]=n(i[o],l)}),new Proxy(i,{set(o,l,f){const u=s?`${s}.${String(l)}`:String(l);return o[l]=n(f,u),r._initializing||(r._triggerWatchers(u,o[l]),r._render(t)),!0},get(o,l,f){return Reflect.get(o,l,f)}})):i};const r=this;return n({...t.state})}catch{return{}}}_initWatchers(t){if(t.watch)for(const[n,r]of Object.entries(t.watch)){let i,s={};if(Array.isArray(r)?(i=r[0],s=r[1]||{}):i=r,this._watchers.set(n,{callback:i,options:s,oldValue:this._getNestedValue(n)}),s.immediate)try{const o=this._getNestedValue(n);i(o,void 0,this.context)}catch(o){console.error(`Error in immediate watcher for "${n}":`,o)}}}_getNestedValue(t){return t.split(".").reduce((n,r)=>n?.[r],this.context)}_triggerWatchers(t,n){const r=(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((u,p)=>r(u,o[p]));const l=Object.keys(s),f=Object.keys(o);return l.length!==f.length?!1:l.every(u=>r(s[u],o[u]))},i=this._watchers.get(t);if(i&&!r(n,i.oldValue))try{i.callback(n,i.oldValue,this.context),i.oldValue=n}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 l=this._getNestedValue(s);r(l,o.oldValue)||(o.callback(l,o.oldValue,this.context),o.oldValue=l)}catch(l){console.error(`Error in deep watcher for "${s}":`,l)}}_applyProps(t){try{let n=function(r,i){return i===Boolean?r==="true":i===Number?Number(r):r};if(!t.props)return;Object.entries(t.props).forEach(([r,i])=>{const s=this.getAttribute(Q(r));s!==null?this.context[r]=J(n(s,i.type)):"default"in i&&i.default!==void 0&&(this.context[r]=J(i.default))})}catch(n){this._hasError=!0,t.onError&&t.onError(n,this.context),t.errorFallback&&this.shadowRoot&&(this.shadowRoot.innerHTML=t.errorFallback(n,this.context))}}}}exports.component=Ie;exports.createElementClass=se;exports.createStore=ce;exports.css=He;exports.each=ye;exports.eventBus=fe;exports.html=he;exports.match=me;exports.when=ge;
|
|
128
128
|
//# sourceMappingURL=custom-elements-runtime.cjs.js.map
|