@jasonshimmy/custom-elements-runtime 0.1.12 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/custom-elements-runtime.cjs.js +13 -13
- package/dist/custom-elements-runtime.cjs.js.map +1 -1
- package/dist/custom-elements-runtime.es.js +532 -603
- package/dist/custom-elements-runtime.es.js.map +1 -1
- package/dist/custom-elements-runtime.umd.js +13 -13
- package/dist/custom-elements-runtime.umd.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/runtime/template-compiler.d.ts +1 -1
- package/dist/runtime/vdom.d.ts +86 -6
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function Ce(e,t){return Y(e?t:[],"when-block")}function Ee(e,t){return e.map((r,n)=>{const o=typeof r=="object"?r?.key??r?.id??`idx-${n}`:String(r);return Y(t(r,n),`each-${o}`)})}function ve(){const e=[];return{when(t,r){return e.push([t,r]),this},otherwise(t){return e.push([!0,t]),this},done(){return Ae(...e)}}}function Ae(...e){for(let t=0;t<e.length;t++){const[r,n]=e[t];if(r)return[Y(n,`whenChain-branch-${t}`)]}return[Y([],"whenChain-empty")]}function Y(e,t){const r=e?Array.isArray(e)?e.filter(Boolean):[e].filter(Boolean):[];return{tag:"#anchor",key:t,children:r}}class O extends EventTarget{handlers={};static instance;eventCounters=new Map;static getInstance(){return O.instance||(O.instance=new O),O.instance}emit(t,r){const n=Date.now(),o=this.eventCounters.get(t);if(!o||n-o.window>1e3)this.eventCounters.set(t,{count:1,window:n});else if(o.count++,o.count>50&&(console.error(`Event storm detected for "${t}": ${o.count} events in 1 second. Throttling...`),o.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(i=>{try{i(r)}catch(a){console.error(`Error in global event handler for "${t}":`,a)}})}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 o=this.on(t,s=>{o(),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 H=O.getInstance(),Te=(e,t)=>H.emit(e,t),je=(e,t)=>H.on(e,t),Le=(e,t)=>H.off(e,t),Be=(e,t)=>H.once(e,t),Re=(e,t,r)=>H.listen(e,t,r);function oe(e){let t={...e};const r=[];function n(a){r.push(a),a(t)}function o(){return t}function s(a){const c=typeof a=="function"?a(t):a;t={...t,...c},i()}function i(){r.forEach(a=>a(t))}return{subscribe:n,getState:o,setState:s}}function fe(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function ie(e){return typeof e=="string"?e.replace(/[&<>"']/g,t=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[t]):e}function ze(e,t,r){if(r)for(const[n,o]of Object.entries(r)){let s,i={};if(Array.isArray(o)?(s=o[0],i=o[1]||{}):s=o,t.set(n,{callback:s,options:i,oldValue:se(e,n)}),i.immediate)try{const a=se(e,n);s(a,void 0,e)}catch(a){console.error(`Error in immediate watcher for "${n}":`,a)}}}function se(e,t){return t.split(".").reduce((r,n)=>r?.[n],e)}function Ne(e,t,r,n){const o=(i,a)=>{if(i===a)return!0;if(typeof i!=typeof a||typeof i!="object"||i===null||a===null)return!1;if(Array.isArray(i)&&Array.isArray(a))return i.length!==a.length?!1:i.every((h,g)=>o(h,a[g]));const c=Object.keys(i),f=Object.keys(a);return c.length!==f.length?!1:c.every(h=>o(i[h],a[h]))},s=t.get(r);if(s&&!o(n,s.oldValue))try{s.callback(n,s.oldValue,e),s.oldValue=n}catch(i){console.error(`Error in watcher for "${r}":`,i)}for(const[i,a]of t.entries())if(a.options.deep&&r.startsWith(i+"."))try{const c=se(e,i);o(c,a.oldValue)||(a.callback(c,a.oldValue,e),a.oldValue=c)}catch(c){console.error(`Error in deep watcher for "${i}":`,c)}}function Me(e,t,r){if(!t.props)return;function n(o,s){return s===Boolean?o==="true":s===Number?Number(o):o}Object.entries(t.props).forEach(([o,s])=>{if(s.type===Function&&typeof e[o]=="function")r[o]=e[o];else{const i=e.getAttribute(fe(o));i!==null?r[o]=ie(n(i,s.type)):"default"in s&&s.default!==void 0&&(r[o]=ie(s.default))}})}function Oe(e,t,r,n){e.onConnected&&!r&&(e.onConnected(t),n(!0))}function Pe(e,t,r,n,o,s,i,a){e.onDisconnected&&e.onDisconnected(t),r.forEach(c=>c()),n(),o(),s(!1),i(null),a(!1)}function We(e,t,r,n,o){e.onAttributeChanged&&e.onAttributeChanged(t,r,n,o)}function P(e,t){if(t&&e instanceof HTMLElement){for(const r in t)t[r]===e&&delete t[r];for(const r of Array.from(e.childNodes))P(r,t)}}function W(e,t){return typeof t=="string"?t.split(".").reduce((r,n)=>r?.[n],e):t}function pe(e,t,r){const n=t.split("."),o=n.pop();if(!o)return;const s=n.reduce((i,a)=>(a in i||(i[a]={}),i[a]),e);s[o]=r}function De(e,t,r,n,o,s,i){if(!s)return;const a=t.includes("lazy"),c=t.includes("trim"),f=t.includes("number"),h=()=>{const p=s._state||s;return W(p,e)},g=h();let l="text";const x=n?.type;if(i instanceof HTMLInputElement?l=x||i.type||"text":i instanceof HTMLSelectElement?l="select":i instanceof HTMLTextAreaElement&&(l="textarea"),l==="checkbox")if(Array.isArray(g)){const p=i?.getAttribute("value")||n?.value||"",u=g.includes(p);i&&i.checked!==u&&(r.checked=u)}else{const p=i?.getAttribute("true-value")||!0,u=g===p;i&&i.checked!==u&&(r.checked=u)}else if(l==="radio"){const p=n?.value||"",u=g===p;i&&i.checked!==u&&(r.checked=u)}else if(l==="select")if(i&&i.hasAttribute("multiple")){const p=i,u=Array.isArray(g)?g:[];setTimeout(()=>{Array.from(p.options).forEach(y=>{const b=u.includes(y.value);y.selected!==b&&(y.selected=b)})},0)}else setTimeout(()=>{i instanceof HTMLSelectElement&&i.value!==String(g)&&(i.value=String(g))},0);else{const p=String(g??"");(!i||i.value!==p)&&(r.value=g)}const m=a||l==="checkbox"||l==="radio"||l==="select"?"change":"input",v=p=>{if(p.isComposing||o._isComposing||p.isTrusted===!1)return;const u=p.target;if(u._modelUpdating)return;const y=h();let b=u.value;if(l==="checkbox")if(Array.isArray(y)){const k=u.getAttribute("value")||"",_=[...y];if(u.checked)_.includes(k)||_.push(k);else{const C=_.indexOf(k);C>-1&&_.splice(C,1)}b=_}else{const k=u.getAttribute("true-value")||!0,_=u.getAttribute("false-value")||!1;b=u.checked?k:_}else if(l==="radio")b=u.getAttribute("value")||u.value;else if(l==="select"&&u.multiple){const k=u;b=Array.from(k.selectedOptions).map(_=>_.value)}else if(c&&(b=b.trim()),f){const k=Number(b);isNaN(k)||(b=k)}const d=s._state||s,$=W(d,e);if(Array.isArray(b)&&Array.isArray($)?JSON.stringify([...b].sort())!==JSON.stringify([...$].sort()):b!==$){const k=p.target;k._modelUpdating=!0,pe(d,e,b),setTimeout(()=>{k._modelUpdating=!1},0),s._requestRender&&s._requestRender()}};if(o[m]=v,l==="text"||l==="textarea"){const p=()=>{o._isComposing=!0},u=y=>{o._isComposing=!1;const b=y.target;setTimeout(()=>{if(b){let d=b.value;if(c&&(d=d.trim()),f){const _=Number(d);isNaN(_)||(d=_)}const $=s._state||s,w=W($,e);(Array.isArray(d)&&Array.isArray(w)?JSON.stringify([...d].sort())!==JSON.stringify([...w].sort()):d!==w)&&(b&&(b._modelUpdating=!0,setTimeout(()=>{b._modelUpdating=!1},0)),pe($,e,d),s._requestRender&&s._requestRender())}},0)};o.compositionstart=p,o.compositionend=u}}function He(e,t,r,n){if(n)try{const o=JSON.parse(e);if(typeof o=="object")for(const[s,i]of Object.entries(o))t[s]=i}catch{const o=W(n,e);r[e]=o}}function qe(e,t,r){if(!r)return;const n=W(r,e),o=t.style||"",s=n?"":"none";if(o){const i=o.split(";").filter(Boolean),a=i.findIndex(c=>c.trim().startsWith("display:"));a>=0?i[a]=`display: ${s}`:i.push(`display: ${s}`),t.style=i.join("; ")}else t.style=`display: ${s}`}function Ie(e,t,r){if(!r)return;const n=W(r,e);let o=[];typeof n=="string"?o=[n]:Array.isArray(n)?o=n.filter(Boolean):typeof n=="object"&&(o=Object.entries(n).filter(([,a])=>!!a).flatMap(([a])=>a.split(/\s+/).filter(Boolean)));const s=t.class||"",i=s?`${s} ${o.join(" ")}`.trim():o.join(" ");i&&(t.class=i)}function Fe(e,t,r){let n;if(typeof e=="string"){if(!r)return;n=W(r,e)}else n=e;let o="";if(typeof n=="string")o=n;else if(n&&typeof n=="object"){const i=[];for(const[a,c]of Object.entries(n))if(c!=null&&c!==""){const f=a.replace(/[A-Z]/g,l=>`-${l.toLowerCase()}`),h=["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 g=String(c);typeof c=="number"&&h.includes(f)&&(g=`${c}px`),i.push(`${f}: ${g}`)}o=i.join("; ")+(i.length>0?";":"")}const s=t.style||"";t.style=s+(s&&!s.endsWith(";")?"; ":"")+o}function xe(e,t,r,n){const o={},s={...n||{}},i={};for(const[a,c]of Object.entries(e)){const{value:f,modifiers:h}=c;switch(a){case"model":De(typeof f=="string"?f:String(f),h,o,s,i,t,r);break;case"bind":He(f,o,s,t);break;case"show":qe(f,s,t);break;case"class":Ie(f,s,t);break;case"style":Fe(f,s,t);break}}return{props:o,attrs:s,listeners:i}}function ae(e,t){if(Array.isArray(e)){const s=new Set;return e.map(i=>{if(!i||typeof i!="object")return i;let a=i.props?.key??i.key;if(!a){const g=i.tag||"node",l=i.props?.attrs?.id??i.props?.attrs?.name??i.props?.attrs?.["data-key"]??"";a=l?`${t}:${g}:${l}`:`${t}:${g}`}let c=a,f=1;for(;s.has(c);)c=`${a}#${f++}`;s.add(c);let h=i.children;return Array.isArray(h)&&(h=ae(h,c)),{...i,key:c,children:h}})}const r=e;let n=r.props?.key??r.key??t,o=r.children;return Array.isArray(o)&&(o=ae(o,n)),{...r,key:n,children:o}}function Ke(e,t,r,n){const o=r.directives??{},s=xe(o,n,e,r.attrs),i={...t.props,...r.props,...s.props},a={...t.attrs,...r.attrs,...s.attrs},c=t.props??{},f=i;for(const l in{...c,...f}){const x=c[l],m=f[l];x!==m&&(l==="value"&&(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement)?e.value!==m&&(e.value=m??""):l==="checked"&&e instanceof HTMLInputElement?e.checked=!!m:l.startsWith("on")&&typeof m=="function"?(typeof x=="function"&&e.removeEventListener(l.slice(2).toLowerCase(),x),e.addEventListener(l.slice(2).toLowerCase(),m)):m==null||m===!1?e.removeAttribute(l):e.setAttribute(l,String(m)))}for(const[l,x]of Object.entries(s.listeners||{}))e.addEventListener(l,x);const h=t.attrs??{},g=a;for(const l in{...h,...g}){const x=h[l],m=g[l];x!==m&&(m==null||m===!1?e.removeAttribute(l):e.setAttribute(l,String(m)))}}function L(e,t,r){if(typeof e=="string")return document.createTextNode(e);if(e.tag==="#text"){const g=document.createTextNode(typeof e.children=="string"?e.children:"");return e.key!=null&&(g.key=e.key),g}if(e.tag==="#anchor"){const g=e,l=Array.isArray(g.children)?g.children:[],x=document.createTextNode(""),m=document.createTextNode("");g.key!=null&&(x.key=`${g.key}:start`,m.key=`${g.key}:end`),g._startNode=x,g._endNode=m;const v=document.createDocumentFragment();v.appendChild(x);for(const p of l){const u=L(p,t);v.appendChild(u)}return v.appendChild(m),v}const n=document.createElement(e.tag);e.key!=null&&(n.key=e.key);const{props:o={},attrs:s={},directives:i={}}=e.props??{},a=xe(i,t,n,s),c={...o,...a.props},f={...s,...a.attrs};for(const g in f){const l=f[g];typeof l=="boolean"?l&&n.setAttribute(g,""):l!=null&&n.setAttribute(g,String(l))}for(const g in c){const l=c[g];if(g==="value"&&(n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement||n instanceof HTMLSelectElement))n.value=l??"";else if(g==="checked"&&n instanceof HTMLInputElement)n.checked=!!l;else if(g.startsWith("on")&&typeof l=="function")n.addEventListener(g.slice(2).toLowerCase(),l);else{if(g.startsWith("on")&&l===void 0)continue;l==null||l===!1?n.removeAttribute(g):n.setAttribute(g,String(l))}}for(const[g,l]of Object.entries(a.listeners||{}))n.addEventListener(g,l);const h=e.props?.ref??(e.props?.props&&e.props.props.ref);if(typeof e!="string"&&h&&r&&(r[h]=n),Array.isArray(e.children))for(const g of e.children)n.appendChild(L(g,t,r));else typeof e.children=="string"&&(n.textContent=e.children);return n}function Ve(e,t,r,n,o){if(typeof r=="string"){e.textContent!==r&&(e.textContent=r);return}if(!Array.isArray(r))return;const s=Array.from(e.childNodes),i=Array.isArray(t)?t:[],a=new Map;for(const x of i)x&&x.key!=null&&a.set(x.key,x);const c=new Map;for(const x of s){const m=x.key;m!=null&&c.set(m,x)}const f=new Set;let h=e.firstChild;function g(x,m){let v=x;for(;v&&(f.add(v),v!==m);)v=v.nextSibling}function l(x,m,v,p){const u=[];let y=x.nextSibling;for(;y&&y!==m;)u.push(y),y=y.nextSibling;const b=Array.isArray(v)?v:[];if(p.some($=>$&&$.key!=null)||b.some($=>$&&$.key!=null)){const $=new Map,w=new Map;for(const C of b)C&&C.key!=null&&$.set(C.key,C);for(const C of u){const S=C.key;S!=null&&w.set(S,C)}const k=new Set;let _=x.nextSibling;for(const C of p){let S;if(C.key!=null&&w.has(C.key)){const R=$.get(C.key);S=Q(w.get(C.key),R,C,n),k.add(S),S!==_&&e.contains(S)&&e.insertBefore(S,_)}else S=L(C,n),e.insertBefore(S,_),k.add(S);_=S.nextSibling}for(const C of u)!k.has(C)&&e.contains(C)&&e.removeChild(C)}else{const $=Math.min(b.length,p.length);for(let w=0;w<$;w++){const k=b[w],_=p[w],C=Q(u[w],k,_,n);C!==u[w]&&(e.insertBefore(C,u[w]),e.removeChild(u[w]))}for(let w=$;w<p.length;w++)e.insertBefore(L(p[w],n),m);for(let w=$;w<u.length;w++)e.removeChild(u[w])}}for(const x of r){let m;if(x.tag==="#anchor"){const v=x.key,p=`${v}:start`,u=`${v}:end`;let y=c.get(p),b=c.get(u);const d=Array.isArray(x.children)?x.children:[];if(y||(y=document.createTextNode(""),y.key=p),b||(b=document.createTextNode(""),b.key=u),x._startNode=y,x._endNode=b,!e.contains(y)||!e.contains(b)){e.insertBefore(y,h);for(const $ of d)e.insertBefore(L($,n),h);e.insertBefore(b,h)}else l(y,b,a.get(v)?.children,d);g(y,b),h=b.nextSibling;continue}if(x.key!=null&&c.has(x.key)){const v=a.get(x.key);m=Q(c.get(x.key),v,x,n,o),f.add(m),m!==h&&e.contains(m)&&(h&&!e.contains(h)&&(h=null),e.insertBefore(m,h))}else m=L(x,n,o),h&&!e.contains(h)&&(h=null),e.insertBefore(m,h),f.add(m);h=m.nextSibling}for(const x of s)!f.has(x)&&e.contains(x)&&(P(x,o),e.removeChild(x))}function Q(e,t,r,n,o){if(t&&typeof t!="string"&&t.props?.ref&&o&&P(e,o),t===r)return e;if(typeof r=="string"){if(e.nodeType===Node.TEXT_NODE)return e.textContent!==r&&(e.textContent=r),e;{const i=document.createTextNode(r);return e.parentNode?.replaceChild(i,e),i}}if(r&&typeof r!="string"&&r.tag==="#anchor"){const i=r,a=Array.isArray(i.children)?i.children:[],c=i._startNode??document.createTextNode(""),f=i._endNode??document.createTextNode("");i.key!=null&&(c.key=`${i.key}:start`,f.key=`${i.key}:end`),i._startNode=c,i._endNode=f;const h=document.createDocumentFragment();h.appendChild(c);for(const g of a){const l=L(g,n);h.appendChild(l)}return h.appendChild(f),e.parentNode?.replaceChild(h,e),c}if(!r){P(e,o);const i=document.createComment("removed");return e.parentNode?.replaceChild(i,e),i}if(!t||typeof t=="string"){P(e,o);const i=L(r,n,o);return typeof r!="string"&&r.props?.ref&&o&&(o[r.props.ref]=i),e.parentNode?.replaceChild(i,e),i}if(r.tag==="#anchor"){const i=Array.isArray(r.children)?r.children:[],a=r._startNode??document.createTextNode(""),c=r._endNode??document.createTextNode("");r.key!=null&&(a.key=`${r.key}:start`,c.key=`${r.key}:end`),r._startNode=a,r._endNode=c;const f=document.createDocumentFragment();f.appendChild(a);for(const h of i)f.appendChild(L(h,n));return f.appendChild(c),e.parentNode?.replaceChild(f,e),a}if(typeof t!="string"&&typeof r!="string"&&t.tag===r.tag&&t.key===r.key){const i=e;return Ke(i,t.props||{},r.props||{},n),Ve(i,t.children,r.children,n,o),typeof r!="string"&&r.props?.ref&&o&&(o[r.props.ref]=i),i}P(e,o);const s=L(r,n,o);return typeof r!="string"&&r.props?.ref&&o&&(o[r.props.ref]=s),e.parentNode?.replaceChild(s,e),s}function Ue(e,t,r,n){let o;Array.isArray(t)?t.length===1?(o=t[0],o&&typeof o=="object"&&o.key==null&&(o={...o,key:"__root__"})):o={tag:"div",key:"__root__",children:t}:(o=t,o&&typeof o=="object"&&o.key==null&&(o={...o,key:"__root__"})),o&&typeof o=="object"&&o.tag==="#anchor"&&(o={tag:"div",key:"__anchor_root__",props:{attrs:{"data-anchor-block-root":"",key:"__anchor_root__"}},children:[o]}),o=ae(o,String(o.key??"root"));const s=e._prevVNode??null,i=e._prevDom??e.firstChild??null;let a;s&&i?typeof s!="string"&&typeof o!="string"&&s.tag===o.tag&&s.key===o.key?a=Q(i,s,o,r,n):(a=L(o,r,n),e.replaceChild(a,i)):(a=L(o,r,n),e.firstChild?e.replaceChild(a,e.firstChild):e.appendChild(a));const c=[];for(let f=0;f<e.childNodes.length;f++){const h=e.childNodes[f];h!==a&&h.nodeName!=="STYLE"&&(P(h,n),c.push(h))}c.forEach(f=>e.removeChild(f)),e._prevVNode=o,e._prevDom=a}function ue(e,...t){let r="";for(let n=0;n<e.length;n++)r+=e[n],n<t.length&&(r+=t[n]);return r}function we(e){return e.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s+/g," ").replace(/\s*([{}:;,>+~])\s*/g,"$1").replace(/;}/g,"}").trim()}let U=null;function he(){return U||(U=new CSSStyleSheet,U.replaceSync(we(Qe))),U}function Je(e){return e.replace(/url\s*\(\s*['"]?javascript:[^)]*\)/gi,"").replace(/<script[\s\S]*?>[\s\S]*?<\/script>/gi,"").replace(/expression\s*\([^)]*\)/gi,"")}const Qe=ue`
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function ge(e,t){return F(e?t:[],"when-block")}function ye(e,t){return e.map((r,n)=>{const o=typeof r=="object"?r?.key??r?.id??`idx-${n}`:String(r);return F(t(r,n),`each-${o}`)})}function fe(){const e=[];return{when(t,r){return e.push([t,r]),this},otherwise(t){return e.push([!0,t]),this},done(){return me(...e)}}}function me(...e){for(let t=0;t<e.length;t++){const[r,n]=e[t];if(r)return[F(n,`whenChain-branch-${t}`)]}return[F([],"whenChain-empty")]}function F(e,t){const r=e?Array.isArray(e)?e.filter(Boolean):[e].filter(Boolean):[];return{tag:"#anchor",key:t,children:r}}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(),o=this.eventCounters.get(t);if(!o||n-o.window>1e3)this.eventCounters.set(t,{count:1,window:n});else if(o.count++,o.count>50&&(console.error(`Event storm detected for "${t}": ${o.count} events in 1 second. Throttling...`),o.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(i=>{try{i(r)}catch(a){console.error(`Error in global event handler for "${t}":`,a)}})}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 o=this.on(t,s=>{o(),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 N=R.getInstance(),be=(e,t)=>N.emit(e,t),ve=(e,t)=>N.on(e,t),xe=(e,t)=>N.off(e,t),we=(e,t)=>N.once(e,t),ke=(e,t,r)=>N.listen(e,t,r);function Z(e){let t={...e};const r=[];function n(a){r.push(a),a(t)}function o(){return t}function s(a){const c=typeof a=="function"?a(t):a;t={...t,...c},i()}function i(){r.forEach(a=>a(t))}return{subscribe:n,getState:o,setState:s}}function re(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function X(e){return typeof e=="string"?e.replace(/[&<>"']/g,t=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[t]):e}function $e(e,t,r){if(r)for(const[n,o]of Object.entries(r)){let s,i={};if(Array.isArray(o)?(s=o[0],i=o[1]||{}):s=o,t.set(n,{callback:s,options:i,oldValue:Y(e,n)}),i.immediate)try{const a=Y(e,n);s(a,void 0,e)}catch(a){console.error(`Error in immediate watcher for "${n}":`,a)}}}function Y(e,t){return t.split(".").reduce((r,n)=>r?.[n],e)}function Se(e,t,r,n){const o=(i,a)=>{if(i===a)return!0;if(typeof i!=typeof a||typeof i!="object"||i===null||a===null)return!1;if(Array.isArray(i)&&Array.isArray(a))return i.length!==a.length?!1:i.every((h,p)=>o(h,a[p]));const c=Object.keys(i),f=Object.keys(a);return c.length!==f.length?!1:c.every(h=>o(i[h],a[h]))},s=t.get(r);if(s&&!o(n,s.oldValue))try{s.callback(n,s.oldValue,e),s.oldValue=n}catch(i){console.error(`Error in watcher for "${r}":`,i)}for(const[i,a]of t.entries())if(a.options.deep&&r.startsWith(i+"."))try{const c=Y(e,i);o(c,a.oldValue)||(a.callback(c,a.oldValue,e),a.oldValue=c)}catch(c){console.error(`Error in deep watcher for "${i}":`,c)}}function _e(e,t,r){if(!t.props)return;function n(o,s){return s===Boolean?o==="true":s===Number?Number(o):o}Object.entries(t.props).forEach(([o,s])=>{if(s.type===Function&&typeof e[o]=="function")r[o]=e[o];else{const i=e.getAttribute(re(o));i!==null?r[o]=X(n(i,s.type)):"default"in s&&s.default!==void 0&&(r[o]=X(s.default))}})}function Ce(e,t,r,n){e.onConnected&&!r&&(e.onConnected(t),n(!0))}function Ee(e,t,r,n,o,s,i,a){e.onDisconnected&&e.onDisconnected(t),r.forEach(c=>c()),n(),o(),s(!1),i(null),a(!1)}function Ae(e,t,r,n,o){e.onAttributeChanged&&e.onAttributeChanged(t,r,n,o)}function B(e,t){if(t&&e instanceof HTMLElement){for(const r in t)t[r]===e&&delete t[r];for(const r of Array.from(e.childNodes))B(r,t)}}function z(e,t){return typeof t=="string"?t.split(".").reduce((r,n)=>r?.[n],e):t}function oe(e,t,r){const n=t.split("."),o=n.pop();if(!o)return;const s=n.reduce((i,a)=>(a in i||(i[a]={}),i[a]),e);s[o]=r}function Te(e,t,r,n,o,s,i){if(!s)return;const a=t.includes("lazy"),c=t.includes("trim"),f=t.includes("number"),h=()=>{const g=s._state||s;return z(g,e)},p=h();let l="text";const x=n?.type;if(i instanceof HTMLInputElement?l=x||i.type||"text":i instanceof HTMLSelectElement?l="select":i instanceof HTMLTextAreaElement&&(l="textarea"),l==="checkbox")if(Array.isArray(p)){const g=i?.getAttribute("value")||n?.value||"",u=p.includes(g);i&&i.checked!==u&&(r.checked=u)}else{const g=i?.getAttribute("true-value")||!0,u=p===g;i&&i.checked!==u&&(r.checked=u)}else if(l==="radio"){const g=n?.value||"",u=p===g;i&&i.checked!==u&&(r.checked=u)}else if(l==="select")if(i&&i.hasAttribute("multiple")){const g=i,u=Array.isArray(p)?p:[];setTimeout(()=>{Array.from(g.options).forEach(m=>{const v=u.includes(m.value);m.selected!==v&&(m.selected=v)})},0)}else setTimeout(()=>{i instanceof HTMLSelectElement&&i.value!==String(p)&&(i.value=String(p))},0);else{const g=String(p??"");(!i||i.value!==g)&&(r.value=p)}const y=a||l==="checkbox"||l==="radio"||l==="select"?"change":"input",b=g=>{if(g.isComposing||o._isComposing||g.isTrusted===!1)return;const u=g.target;if(u._modelUpdating)return;const m=h();let v=u.value;if(l==="checkbox")if(Array.isArray(m)){const w=u.getAttribute("value")||"",S=[...m];if(u.checked)S.includes(w)||S.push(w);else{const _=S.indexOf(w);_>-1&&S.splice(_,1)}v=S}else{const w=u.getAttribute("true-value")||!0,S=u.getAttribute("false-value")||!1;v=u.checked?w:S}else if(l==="radio")v=u.getAttribute("value")||u.value;else if(l==="select"&&u.multiple){const w=u;v=Array.from(w.selectedOptions).map(S=>S.value)}else if(c&&(v=v.trim()),f){const w=Number(v);isNaN(w)||(v=w)}const d=s._state||s,$=z(d,e);if(Array.isArray(v)&&Array.isArray($)?JSON.stringify([...v].sort())!==JSON.stringify([...$].sort()):v!==$){const w=g.target;w._modelUpdating=!0,oe(d,e,v),setTimeout(()=>{w._modelUpdating=!1},0),s._requestRender&&s._requestRender()}};if(o[y]=b,l==="text"||l==="textarea"){const g=()=>{o._isComposing=!0},u=m=>{o._isComposing=!1;const v=m.target;setTimeout(()=>{if(v){let d=v.value;if(c&&(d=d.trim()),f){const S=Number(d);isNaN(S)||(d=S)}const $=s._state||s,k=z($,e);(Array.isArray(d)&&Array.isArray(k)?JSON.stringify([...d].sort())!==JSON.stringify([...k].sort()):d!==k)&&(v&&(v._modelUpdating=!0,setTimeout(()=>{v._modelUpdating=!1},0)),oe($,e,d),s._requestRender&&s._requestRender())}},0)};o.compositionstart=g,o.compositionend=u}}function je(e,t,r,n){if(n){if(typeof e=="object"&&e!==null)for(const[o,s]of Object.entries(e))t[o]=s;else if(typeof e=="string")try{const o=JSON.parse(e);if(typeof o=="object"&&o!==null){for(const[s,i]of Object.entries(o))t[s]=i;return}}catch{const o=z(n,e);r[e]=o}}}function Le(e,t,r){if(!r)return;const n=z(r,e),o=t.style||"",s=n?"":"none";if(o){const i=o.split(";").filter(Boolean),a=i.findIndex(c=>c.trim().startsWith("display:"));a>=0?i[a]=`display: ${s}`:i.push(`display: ${s}`),t.style=i.join("; ")}else t.style=`display: ${s}`}function Re(e,t,r){if(!r)return;const n=z(r,e);let o=[];typeof n=="string"?o=[n]:Array.isArray(n)?o=n.filter(Boolean):typeof n=="object"&&(o=Object.entries(n).filter(([,a])=>!!a).flatMap(([a])=>a.split(/\s+/).filter(Boolean)));const s=t.class||"",i=s?`${s} ${o.join(" ")}`.trim():o.join(" ");i&&(t.class=i)}function Be(e,t,r){let n;if(typeof e=="string"){if(!r)return;n=z(r,e)}else n=e;let o="";if(typeof n=="string")o=n;else if(n&&typeof n=="object"){const i=[];for(const[a,c]of Object.entries(n))if(c!=null&&c!==""){const f=a.replace(/[A-Z]/g,l=>`-${l.toLowerCase()}`),h=["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 p=String(c);typeof c=="number"&&h.includes(f)&&(p=`${c}px`),i.push(`${f}: ${p}`)}o=i.join("; ")+(i.length>0?";":"")}const s=t.style||"";t.style=s+(s&&!s.endsWith(";")?"; ":"")+o}function ue(e,t,r,n){const o={},s={...n||{}},i={};for(const[a,c]of Object.entries(e)){const{value:f,modifiers:h}=c;switch(a){case"model":Te(typeof f=="string"?f:String(f),h,o,s,i,t,r);break;case"bind":je(f,o,s,t);break;case"show":Le(f,s,t);break;case"class":Re(f,s,t);break;case"style":Be(f,s,t);break}}return{props:o,attrs:s,listeners:i}}function G(e,t){if(Array.isArray(e)){const s=new Set;return e.map(i=>{if(!i||typeof i!="object")return i;let a=i.props?.key??i.key;if(!a){const p=i.tag||"node",l=i.props?.attrs?.id??i.props?.attrs?.name??i.props?.attrs?.["data-key"]??"";a=l?`${t}:${p}:${l}`:`${t}:${p}`}let c=a,f=1;for(;s.has(c);)c=`${a}#${f++}`;s.add(c);let h=i.children;return Array.isArray(h)&&(h=G(h,c)),{...i,key:c,children:h}})}const r=e;let n=r.props?.key??r.key??t,o=r.children;return Array.isArray(o)&&(o=G(o,n)),{...r,key:n,children:o}}function ze(e,t,r,n){const o=r.directives??{},s=ue(o,n,e,r.attrs),i={...t.props,...r.props,...s.props},a={...t.attrs,...r.attrs,...s.attrs},c=t.props??{},f=i;for(const l in{...c,...f}){const x=c[l],y=f[l];x!==y&&(l==="value"&&(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement)?e.value!==y&&(e.value=y??""):l==="checked"&&e instanceof HTMLInputElement?e.checked=!!y:l.startsWith("on")&&typeof y=="function"?(typeof x=="function"&&e.removeEventListener(l.slice(2).toLowerCase(),x),e.addEventListener(l.slice(2).toLowerCase(),y)):y==null||y===!1?e.removeAttribute(l):e.setAttribute(l,String(y)))}for(const[l,x]of Object.entries(s.listeners||{}))e.addEventListener(l,x);const h=t.attrs??{},p=a;for(const l in{...h,...p}){const x=h[l],y=p[l];x!==y&&(y==null||y===!1?e.removeAttribute(l):e.setAttribute(l,String(y)))}}function A(e,t,r){if(typeof e=="string")return document.createTextNode(e);if(e.tag==="#text"){const p=document.createTextNode(typeof e.children=="string"?e.children:"");return e.key!=null&&(p.key=e.key),p}if(e.tag==="#anchor"){const p=e,l=Array.isArray(p.children)?p.children:[],x=document.createTextNode(""),y=document.createTextNode("");p.key!=null&&(x.key=`${p.key}:start`,y.key=`${p.key}:end`),p._startNode=x,p._endNode=y;const b=document.createDocumentFragment();b.appendChild(x);for(const g of l){const u=A(g,t);b.appendChild(u)}return b.appendChild(y),b}const n=document.createElement(e.tag);e.key!=null&&(n.key=e.key);const{props:o={},attrs:s={},directives:i={}}=e.props??{},a=ue(i,t,n,s),c={...o,...a.props},f={...s,...a.attrs};for(const p in f){const l=f[p];if(typeof p!="string"||/\[object Object\]/.test(p)){typeof window<"u"&&window.console&&console.warn("Skipping invalid attribute key:",p,l);continue}typeof l=="boolean"?l&&n.setAttribute(p,""):l!=null&&n.setAttribute(p,l)}for(const p in c){const l=c[p];if(typeof p!="string"||/\[object Object\]/.test(p)){typeof window<"u"&&window.console&&console.warn("Skipping invalid prop key:",p,l);continue}if(p==="value"&&(n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement||n instanceof HTMLSelectElement))n.value=l??"";else if(p==="checked"&&n instanceof HTMLInputElement)n.checked=!!l;else if(p.startsWith("on")&&typeof l=="function")n.addEventListener(p.slice(2).toLowerCase(),l);else{if(p.startsWith("on")&&l===void 0)continue;l==null||l===!1?n.removeAttribute(p):n.setAttribute(p,String(l))}}for(const[p,l]of Object.entries(a.listeners||{}))n.addEventListener(p,l);const h=e.props?.ref??(e.props?.props&&e.props.props.ref);if(typeof e!="string"&&h&&r&&(r[h]=n),Array.isArray(e.children))for(const p of e.children)n.appendChild(A(p,t,r));else typeof e.children=="string"&&(n.textContent=e.children);return n}function Me(e,t,r,n,o){if(typeof r=="string"){e.textContent!==r&&(e.textContent=r);return}if(!Array.isArray(r))return;const s=Array.from(e.childNodes),i=Array.isArray(t)?t:[],a=new Map;for(const x of i)x&&x.key!=null&&a.set(x.key,x);const c=new Map;for(const x of s){const y=x.key;y!=null&&c.set(y,x)}const f=new Set;let h=e.firstChild;function p(x,y){let b=x;for(;b&&(f.add(b),b!==y);)b=b.nextSibling}function l(x,y,b,g){const u=[];let m=x.nextSibling;for(;m&&m!==y;)u.push(m),m=m.nextSibling;const v=Array.isArray(b)?b:[];if(g.some($=>$&&$.key!=null)||v.some($=>$&&$.key!=null)){const $=new Map,k=new Map;for(const _ of v)_&&_.key!=null&&$.set(_.key,_);for(const _ of u){const C=_.key;C!=null&&k.set(C,_)}const w=new Set;let S=x.nextSibling;for(const _ of g){let C;if(_.key!=null&&k.has(_.key)){const E=$.get(_.key);C=H(k.get(_.key),E,_,n),w.add(C),C!==S&&e.contains(C)&&e.insertBefore(C,S)}else C=A(_,n),e.insertBefore(C,S),w.add(C);S=C.nextSibling}for(const _ of u)!w.has(_)&&e.contains(_)&&e.removeChild(_)}else{const $=Math.min(v.length,g.length);for(let k=0;k<$;k++){const w=v[k],S=g[k],_=H(u[k],w,S,n);_!==u[k]&&(e.insertBefore(_,u[k]),e.removeChild(u[k]))}for(let k=$;k<g.length;k++)e.insertBefore(A(g[k],n),y);for(let k=$;k<u.length;k++)e.removeChild(u[k])}}for(const x of r){let y;if(x.tag==="#anchor"){const b=x.key,g=`${b}:start`,u=`${b}:end`;let m=c.get(g),v=c.get(u);const d=Array.isArray(x.children)?x.children:[];if(m||(m=document.createTextNode(""),m.key=g),v||(v=document.createTextNode(""),v.key=u),x._startNode=m,x._endNode=v,!e.contains(m)||!e.contains(v)){e.insertBefore(m,h);for(const $ of d)e.insertBefore(A($,n),h);e.insertBefore(v,h)}else l(m,v,a.get(b)?.children,d);p(m,v),h=v.nextSibling;continue}if(x.key!=null&&c.has(x.key)){const b=a.get(x.key);y=H(c.get(x.key),b,x,n,o),f.add(y),y!==h&&e.contains(y)&&(h&&!e.contains(h)&&(h=null),e.insertBefore(y,h))}else y=A(x,n,o),h&&!e.contains(h)&&(h=null),e.insertBefore(y,h),f.add(y);h=y.nextSibling}for(const x of s)!f.has(x)&&e.contains(x)&&(B(x,o),e.removeChild(x))}function H(e,t,r,n,o){if(t&&typeof t!="string"&&t.props?.ref&&o&&B(e,o),t===r)return e;if(typeof r=="string"){if(e.nodeType===Node.TEXT_NODE)return e.textContent!==r&&(e.textContent=r),e;{const i=document.createTextNode(r);return e.parentNode?.replaceChild(i,e),i}}if(r&&typeof r!="string"&&r.tag==="#anchor"){const i=r,a=Array.isArray(i.children)?i.children:[],c=i._startNode??document.createTextNode(""),f=i._endNode??document.createTextNode("");i.key!=null&&(c.key=`${i.key}:start`,f.key=`${i.key}:end`),i._startNode=c,i._endNode=f;const h=document.createDocumentFragment();h.appendChild(c);for(const p of a){const l=A(p,n);h.appendChild(l)}return h.appendChild(f),e.parentNode?.replaceChild(h,e),c}if(!r){B(e,o);const i=document.createComment("removed");return e.parentNode?.replaceChild(i,e),i}if(!t||typeof t=="string"){B(e,o);const i=A(r,n,o);return typeof r!="string"&&r.props?.ref&&o&&(o[r.props.ref]=i),e.parentNode?.replaceChild(i,e),i}if(r.tag==="#anchor"){const i=Array.isArray(r.children)?r.children:[],a=r._startNode??document.createTextNode(""),c=r._endNode??document.createTextNode("");r.key!=null&&(a.key=`${r.key}:start`,c.key=`${r.key}:end`),r._startNode=a,r._endNode=c;const f=document.createDocumentFragment();f.appendChild(a);for(const h of i)f.appendChild(A(h,n));return f.appendChild(c),e.parentNode?.replaceChild(f,e),a}if(typeof t!="string"&&typeof r!="string"&&t.tag===r.tag&&t.key===r.key){const i=e;return ze(i,t.props||{},r.props||{},n),Me(i,t.children,r.children,n,o),typeof r!="string"&&r.props?.ref&&o&&(o[r.props.ref]=i),i}B(e,o);const s=A(r,n,o);return typeof r!="string"&&r.props?.ref&&o&&(o[r.props.ref]=s),e.parentNode?.replaceChild(s,e),s}function Ne(e,t,r,n){let o;Array.isArray(t)?t.length===1?(o=t[0],o&&typeof o=="object"&&o.key==null&&(o={...o,key:"__root__"})):o={tag:"div",key:"__root__",children:t}:(o=t,o&&typeof o=="object"&&o.key==null&&(o={...o,key:"__root__"})),o&&typeof o=="object"&&o.tag==="#anchor"&&(o={tag:"div",key:"__anchor_root__",props:{attrs:{"data-anchor-block-root":"",key:"__anchor_root__"}},children:[o]}),o=G(o,String(o.key??"root"));const s=e._prevVNode??null,i=e._prevDom??e.firstChild??null;let a;s&&i?typeof s!="string"&&typeof o!="string"&&s.tag===o.tag&&s.key===o.key?a=H(i,s,o,r,n):(a=A(o,r,n),e.replaceChild(a,i)):(a=A(o,r,n),e.firstChild?e.replaceChild(a,e.firstChild):e.appendChild(a));const c=[];for(let f=0;f<e.childNodes.length;f++){const h=e.childNodes[f];h!==a&&h.nodeName!=="STYLE"&&(B(h,n),c.push(h))}c.forEach(f=>e.removeChild(f)),e._prevVNode=o,e._prevDom=a}function ne(e,...t){let r="";for(let n=0;n<e.length;n++)r+=e[n],n<t.length&&(r+=t[n]);return r}function de(e){return e.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s+/g," ").replace(/\s*([{}:;,>+~])\s*/g,"$1").replace(/;}/g,"}").trim()}let W=null;function ie(){return W||(W=new CSSStyleSheet,W.replaceSync(de(Pe))),W}function Oe(e){return e.replace(/url\s*\(\s*['"]?javascript:[^)]*\)/gi,"").replace(/<script[\s\S]*?>[\s\S]*?<\/script>/gi,"").replace(/expression\s*\([^)]*\)/gi,"")}const Pe=ne`
|
|
2
2
|
:host, *, ::before, ::after {
|
|
3
3
|
all: isolate;
|
|
4
4
|
box-sizing: border-box;
|
|
@@ -56,33 +56,33 @@
|
|
|
56
56
|
sup { top: -.5em }
|
|
57
57
|
[disabled], [aria-disabled=true] { cursor: not-allowed }
|
|
58
58
|
[hidden] { display: none }
|
|
59
|
-
`,Ze={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)"},neutral:{50:"var(--color-neutral-50, #fafafa)",100:"var(--color-neutral-100, #f5f5f5)",200:"var(--color-neutral-200, #e5e5e5)",300:"var(--color-neutral-300, #d4d4d4)",400:"var(--color-neutral-400, #a3a3a3)",500:"var(--color-neutral-500, #737373)",600:"var(--color-neutral-600, #525252)",700:"var(--color-neutral-700, #404040)",800:"var(--color-neutral-800, #262626)",900:"var(--color-neutral-900, #171717)"},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)"}},G={block:"display:block;",inline:"display:inline;","inline-block":"display:inline-block;",flex:"display:flex;","inline-flex":"display:inline-flex;",grid:"display:grid;",hidden:"display:none;","w-full":"width:100%;","w-screen":"width:100dvw;","h-full":"height:100%;","h-screen":"height:100dvw;","max-w-full":"max-width:100%;","max-h-full":"max-height:100%;","min-w-0":"min-width:0;","min-h-0":"min-height:0;","m-auto":"margin:auto;","mx-auto":"margin-inline:auto;","my-auto":"margin-block:auto;","overflow-auto":"overflow:auto;","overflow-hidden":"overflow:hidden;","overflow-visible":"overflow:visible;","overflow-scroll":"overflow:scroll;","pointer-events-none":"pointer-events:none;","pointer-events-auto":"pointer-events:auto;","sr-only":"position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;","not-sr-only":"position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal;","grid-cols-1":"grid-template-columns:repeat(1,minmax(0,1fr));","grid-cols-2":"grid-template-columns:repeat(2,minmax(0,1fr));","grid-cols-3":"grid-template-columns:repeat(3,minmax(0,1fr));","grid-cols-4":"grid-template-columns:repeat(4,minmax(0,1fr));","grid-cols-5":"grid-template-columns:repeat(5,minmax(0,1fr));","grid-cols-6":"grid-template-columns:repeat(6,minmax(0,1fr));","grid-cols-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-between":"justify-content:space-between;","justify-around":"justify-content:space-around;","justify-evenly":"justify-content:space-evenly;","justify-end":"justify-content:flex-end;","flex-wrap":"flex-wrap:wrap;","flex-nowrap":"flex-wrap:nowrap;","flex-wrap-reverse":"flex-wrap:wrap-reverse;","content-center":"align-content:center;","content-start":"align-content:flex-start;","content-end":"align-content:flex-end;","content-between":"align-content:space-between;","content-around":"align-content:space-around;","content-stretch":"align-content:stretch;","self-auto":"align-self:auto;","self-start":"align-self:flex-start;","self-end":"align-self:flex-end;","self-center":"align-self:center;","self-stretch":"align-self:stretch;","flex-1":"flex:1 1 0%;","flex-auto":"flex:1 1 auto;","flex-initial":"flex:0 1 auto;","flex-none":"flex:0 0 auto;","flex-col":"flex-direction:column;","flex-row":"flex-direction:row;",grow:"flex-grow:1;",shrink:"flex-shrink:1;","grow-0":"flex-grow:0;","shrink-0":"flex-shrink:0;","font-sans":"font-family:ui-sans-serif,system-ui,sans-serif;","font-serif":"font-family:ui-serif,Georgia,serif;","font-mono":"font-family:ui-monospace,SFMono-Regular,monospace;","line-clamp-1":"display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;","line-clamp-2":"display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;","line-clamp-3":"display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;","line-clamp-4":"display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;","transition-colors":"transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;","transition-opacity":"transition-property:opacity;","transition-transform":"transition-property:transform;"},Xe="0.25rem",ge={m:["margin"],mx:["margin-inline"],my:["margin-block"],mt:["margin-top"],mr:["margin-right"],mb:["margin-bottom"],ml:["margin-left"],p:["padding"],px:["padding-inline"],py:["padding-block"],pt:["padding-top"],pr:["padding-right"],pb:["padding-bottom"],pl:["padding-left"],inset:["inset"],"inset-x":["inset-inline"],"inset-y":["inset-block"],h:["height"],w:["width"],"min-h":["min-height"],"min-w":["min-width"],"max-h":["max-height"],"max-w":["max-width"],top:["top"],bottom:["bottom"],left:["left"],right:["right"],gap:["gap"],"gap-x":["column-gap"],"gap-y":["row-gap"]},Ye={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}}`},ye={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)"},ee=["sm","md","lg","xl","2xl"];function te(e){const t=e.startsWith("-"),n=(t?e.slice(1):e).split("-");if(n.length<2)return null;const o=n.slice(0,-1).join("-"),s=n[n.length-1],i=parseFloat(s);if(Number.isNaN(i)||!ge[o])return null;const a=t?"-":"";return ge[o].map(c=>`${c}:calc(${a}${Xe} * ${i});`).join("")}function me(e){const t=e.replace("#",""),r=parseInt(t,16),n=r>>16&255,o=r>>8&255,s=r&255;return`${n} ${o} ${s}`}function Ge(e){const t=/^(bg|text|border|decoration|shadow|outline|caret|accent|fill|stroke)-([a-z]+)-?(\d{2,3}|DEFAULT)?$/.exec(e);if(!t)return null;const[,r,n,o="DEFAULT"]=t,s=Ze[n]?.[o];return s?`${{bg:"background-color",decoration:"text-decoration-color",text:"color",border:"border-color",shadow:"box-shadow",outline:"outline-color",caret:"caret-color",accent:"accent-color",placeholder:"placeholder-color",fill:"fill-color",stroke:"stroke-color"}[r]}:${s};`:null}function et(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 re(e){const{base:t,opacity:r}=et(e),n=Ge(t);if(n){if(r!==void 0){const s=/#([0-9a-f]{6})/i.exec(n);if(s){const i=me(s[0]);return n.replace(/#([0-9a-f]{6})/i,`rgb(${i} / ${r})`)}}return n}const o=Z(t);if(o&&r!==void 0){const s=/#([0-9a-f]{6})/i.exec(o);if(s){const i=me(s[0]);return o.replace(/#([0-9a-f]{6})/i,`rgb(${i} / ${r})`)}}return o}function Z(e){const t=e.indexOf("-["),r=e.endsWith("]");if(t>0&&r){const n=e.slice(0,t);let o=e.slice(t+2,-1);o=o.replace(/_/g," ");const i={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(i&&o)return`${i}:${o};`}return null}function tt(e){return e.startsWith("[")&&e.endsWith("]")?e:e.indexOf("-[")>0&&e.endsWith("]")?e.replace(/_/g,"-"):null}function rt(e){return e.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g,"\\$1")}function nt(e){const t=/class\s*=\s*["']([^"']+)["']/g,r=[];let n;for(;n=t.exec(e);){const o=n[1].match(/(?:\[[^\]]+\]:[^\s]+|[^\s]+)/g);o&&r.push(...o)}return r.filter(Boolean)}const be=new Map,ot=16;function it(e){const t=Date.now(),r=be.get(e);if(r&&t-r.timestamp<ot)return r.css;const n=nt(e),o=new Set(n),s=[],i=[],a=[],c=[],f={};function h(m,v=!1){const p=(v?"dark|":"")+m;if(p in f)return f[p];const u=l(m,v);return f[p]=u,u}function g(m){const v=m.some(u=>ee.includes(u)),p=m.includes("dark");return m.length===0?1:!v&&!p?2:v&&!p?3:4}function l(m,v=!1){const p=m.split(":"),u=p.find(S=>G[S]||te(S)||re(S)||Z(S));if(!u)return null;const y=G[u]??te(u)??re(u)??Z(u);if(!y)return null;let b=`.${rt(m)}`,d=y;const $=p.indexOf(u);let w=$>=0?p.slice(0,$):[];v&&(w=w.filter(S=>S!=="dark"));const k=w.filter(S=>ee.includes(S)),_=k.length?k[k.length-1]:null;for(const S of w){const R=tt(S);if(R){b=`${R}${b}`;continue}if(ee.includes(S))continue;const E=Ye[S];typeof E=="function"&&(b=E(b,d).replace(/\{.*$/,""))}let C=`${b}{${d}}`;return v&&_?C=`@media (prefers-color-scheme: dark) and ${ye[_]}{${C}}`:v?C=`@media (prefers-color-scheme: dark){${C}}`:_&&(C=`@media ${ye[_]}{${C}}`),C}for(const m of o){const v=m.split(":"),p=v.find(d=>G[d]||te(d)||re(d)||Z(d));if(!p)continue;const u=v.indexOf(p),y=u>=0?v.slice(0,u):[],b=g(y);if(b===4){const d=h(m,!0);d&&c.push(d)}else{const d=h(m);d&&(b===1?s.push(d):b===2?i.push(d):b===3&&a.push(d))}}const x=[...s,...i,...a,...c].join("");return be.set(e,{css:x,timestamp:t}),x}const K=[];function st(e,t,r,n,o,s,i,a){if(e){K.push(r);try{if(t.loadingTemplate&&r.isLoading){D(e,t.loadingTemplate(r),r,n,o);return}if(t.errorTemplate&&r.hasError){r.error instanceof Error&&D(e,t.errorTemplate(r.error,r),r,n,o);return}const c=t.render(r);if(c instanceof Promise){s(!0),c.then(f=>{s(!1),i(null),D(e,f,r,n,o),a(e.innerHTML)}).catch(f=>{s(!1),i(f),t.errorTemplate&&D(e,t.errorTemplate(f,r),r,n,o)}),t.loadingTemplate&&D(e,t.loadingTemplate(r),r,n,o);return}D(e,c,r,n,o),a(e.innerHTML)}finally{K.pop()}}}function D(e,t,r,n,o){e&&(Ue(e,Array.isArray(t)?t:[t],r,n),o(e.innerHTML))}function at(e,t,r,n,o,s,i){if(s!==null&&clearTimeout(s),Date.now()-t<16){if(o(r+1),r>10){console.warn("Potential infinite render loop detected. Skipping render."),i(null);return}}else o(0);const c=setTimeout(()=>{n(Date.now()),e(),i(null)},0);i(c)}function lt(e,t,r,n,o,s){if(!e)return;const i=it(n);if(!t.style&&(!i||i.trim()==="")){s(null),e.adoptedStyleSheets=[he()];return}let a="";t.style&&(typeof t.style=="string"?a=t.style:typeof t.style=="function"&&(a=t.style(r)));let c=Je(`${a}
|
|
59
|
+
`,We={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)"},neutral:{50:"var(--color-neutral-50, #fafafa)",100:"var(--color-neutral-100, #f5f5f5)",200:"var(--color-neutral-200, #e5e5e5)",300:"var(--color-neutral-300, #d4d4d4)",400:"var(--color-neutral-400, #a3a3a3)",500:"var(--color-neutral-500, #737373)",600:"var(--color-neutral-600, #525252)",700:"var(--color-neutral-700, #404040)",800:"var(--color-neutral-800, #262626)",900:"var(--color-neutral-900, #171717)"},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;","w-full":"width:100%;","w-screen":"width:100dvw;","h-full":"height:100%;","h-screen":"height:100dvw;","max-w-full":"max-width:100%;","max-h-full":"max-height:100%;","min-w-0":"min-width:0;","min-h-0":"min-height:0;","m-auto":"margin:auto;","mx-auto":"margin-inline:auto;","my-auto":"margin-block:auto;","overflow-auto":"overflow:auto;","overflow-hidden":"overflow:hidden;","overflow-visible":"overflow:visible;","overflow-scroll":"overflow:scroll;","pointer-events-none":"pointer-events:none;","pointer-events-auto":"pointer-events:auto;","sr-only":"position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;","not-sr-only":"position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal;","grid-cols-1":"grid-template-columns:repeat(1,minmax(0,1fr));","grid-cols-2":"grid-template-columns:repeat(2,minmax(0,1fr));","grid-cols-3":"grid-template-columns:repeat(3,minmax(0,1fr));","grid-cols-4":"grid-template-columns:repeat(4,minmax(0,1fr));","grid-cols-5":"grid-template-columns:repeat(5,minmax(0,1fr));","grid-cols-6":"grid-template-columns:repeat(6,minmax(0,1fr));","grid-cols-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-between":"justify-content:space-between;","justify-around":"justify-content:space-around;","justify-evenly":"justify-content:space-evenly;","justify-end":"justify-content:flex-end;","flex-wrap":"flex-wrap:wrap;","flex-nowrap":"flex-wrap:nowrap;","flex-wrap-reverse":"flex-wrap:wrap-reverse;","content-center":"align-content:center;","content-start":"align-content:flex-start;","content-end":"align-content:flex-end;","content-between":"align-content:space-between;","content-around":"align-content:space-around;","content-stretch":"align-content:stretch;","self-auto":"align-self:auto;","self-start":"align-self:flex-start;","self-end":"align-self:flex-end;","self-center":"align-self:center;","self-stretch":"align-self:stretch;","flex-1":"flex:1 1 0%;","flex-auto":"flex:1 1 auto;","flex-initial":"flex:0 1 auto;","flex-none":"flex:0 0 auto;","flex-col":"flex-direction:column;","flex-row":"flex-direction:row;",grow:"flex-grow:1;",shrink:"flex-shrink:1;","grow-0":"flex-grow:0;","shrink-0":"flex-shrink:0;","font-sans":"font-family:ui-sans-serif,system-ui,sans-serif;","font-serif":"font-family:ui-serif,Georgia,serif;","font-mono":"font-family:ui-monospace,SFMono-Regular,monospace;","line-clamp-1":"display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;","line-clamp-2":"display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;","line-clamp-3":"display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;","line-clamp-4":"display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;","transition-colors":"transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;","transition-opacity":"transition-property:opacity;","transition-transform":"transition-property:transform;"},De="0.25rem",se={m:["margin"],mx:["margin-inline"],my:["margin-block"],mt:["margin-top"],mr:["margin-right"],mb:["margin-bottom"],ml:["margin-left"],p:["padding"],px:["padding-inline"],py:["padding-block"],pt:["padding-top"],pr:["padding-right"],pb:["padding-bottom"],pl:["padding-left"],inset:["inset"],"inset-x":["inset-inline"],"inset-y":["inset-block"],h:["height"],w:["width"],"min-h":["min-height"],"min-w":["min-width"],"max-h":["max-height"],"max-w":["max-width"],top:["top"],bottom:["bottom"],left:["left"],right:["right"],gap:["gap"],"gap-x":["column-gap"],"gap-y":["row-gap"]},He={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}}`},ae={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)"},U=["sm","md","lg","xl","2xl"];function V(e){const t=e.startsWith("-"),n=(t?e.slice(1):e).split("-");if(n.length<2)return null;const o=n.slice(0,-1).join("-"),s=n[n.length-1],i=parseFloat(s);if(Number.isNaN(i)||!se[o])return null;const a=t?"-":"";return se[o].map(c=>`${c}:calc(${a}${De} * ${i});`).join("")}function le(e){const t=e.replace("#",""),r=parseInt(t,16),n=r>>16&255,o=r>>8&255,s=r&255;return`${n} ${o} ${s}`}function qe(e){const t=/^(bg|text|border|decoration|shadow|outline|caret|accent|fill|stroke)-([a-z]+)-?(\d{2,3}|DEFAULT)?$/.exec(e);if(!t)return null;const[,r,n,o="DEFAULT"]=t,s=We[n]?.[o];return s?`${{bg:"background-color",decoration:"text-decoration-color",text:"color",border:"border-color",shadow:"box-shadow",outline:"outline-color",caret:"caret-color",accent:"accent-color",placeholder:"placeholder-color",fill:"fill-color",stroke:"stroke-color"}[r]}:${s};`:null}function Ie(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 J(e){const{base:t,opacity:r}=Ie(e),n=qe(t);if(n){if(r!==void 0){const s=/#([0-9a-f]{6})/i.exec(n);if(s){const i=le(s[0]);return n.replace(/#([0-9a-f]{6})/i,`rgb(${i} / ${r})`)}}return n}const o=q(t);if(o&&r!==void 0){const s=/#([0-9a-f]{6})/i.exec(o);if(s){const i=le(s[0]);return o.replace(/#([0-9a-f]{6})/i,`rgb(${i} / ${r})`)}}return o}function q(e){const t=e.indexOf("-["),r=e.endsWith("]");if(t>0&&r){const n=e.slice(0,t);let o=e.slice(t+2,-1);o=o.replace(/_/g," ");const i={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(i&&o)return`${i}:${o};`}return null}function Fe(e){return e.startsWith("[")&&e.endsWith("]")?e:e.indexOf("-[")>0&&e.endsWith("]")?e.replace(/_/g,"-"):null}function Ke(e){return e.replace(/([!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g,"\\$1")}function Ue(e){const t=/class\s*=\s*["']([^"']+)["']/g,r=[];let n;for(;n=t.exec(e);){const o=n[1].match(/(?:\[[^\]]+\]:[^\s]+|[^\s]+)/g);o&&r.push(...o)}return r.filter(Boolean)}const ce=new Map,Ve=16;function Je(e){const t=Date.now(),r=ce.get(e);if(r&&t-r.timestamp<Ve)return r.css;const n=Ue(e),o=new Set(n),s=[],i=[],a=[],c=[],f={};function h(y,b=!1){const g=(b?"dark|":"")+y;if(g in f)return f[g];const u=l(y,b);return f[g]=u,u}function p(y){const b=y.some(u=>U.includes(u)),g=y.includes("dark");return y.length===0?1:!b&&!g?2:b&&!g?3:4}function l(y,b=!1){const g=y.split(":"),u=g.find(C=>K[C]||V(C)||J(C)||q(C));if(!u)return null;const m=K[u]??V(u)??J(u)??q(u);if(!m)return null;let v=`.${Ke(y)}`,d=m;const $=g.indexOf(u);let k=$>=0?g.slice(0,$):[];b&&(k=k.filter(C=>C!=="dark"));const w=k.filter(C=>U.includes(C)),S=w.length?w[w.length-1]:null;for(const C of k){const E=Fe(C);if(E){v=`${E}${v}`;continue}if(U.includes(C))continue;const j=He[C];typeof j=="function"&&(v=j(v,d).replace(/\{.*$/,""))}let _=`${v}{${d}}`;return b&&S?_=`@media (prefers-color-scheme: dark) and ${ae[S]}{${_}}`:b?_=`@media (prefers-color-scheme: dark){${_}}`:S&&(_=`@media ${ae[S]}{${_}}`),_}for(const y of o){const b=y.split(":"),g=b.find(d=>K[d]||V(d)||J(d)||q(d));if(!g)continue;const u=b.indexOf(g),m=u>=0?b.slice(0,u):[],v=p(m);if(v===4){const d=h(y,!0);d&&c.push(d)}else{const d=h(y);d&&(v===1?s.push(d):v===2?i.push(d):v===3&&a.push(d))}}const x=[...s,...i,...a,...c].join("");return ce.set(e,{css:x,timestamp:t}),x}const P=[];function Qe(e,t,r,n,o,s,i,a){if(e){P.push(r);try{if(t.loadingTemplate&&r.isLoading){M(e,t.loadingTemplate(r),r,n,o);return}if(t.errorTemplate&&r.hasError){r.error instanceof Error&&M(e,t.errorTemplate(r.error,r),r,n,o);return}const c=t.render(r);if(c instanceof Promise){s(!0),c.then(f=>{s(!1),i(null),M(e,f,r,n,o),a(e.innerHTML)}).catch(f=>{s(!1),i(f),t.errorTemplate&&M(e,t.errorTemplate(f,r),r,n,o)}),t.loadingTemplate&&M(e,t.loadingTemplate(r),r,n,o);return}M(e,c,r,n,o),a(e.innerHTML)}finally{P.pop()}}}function M(e,t,r,n,o){e&&(Ne(e,Array.isArray(t)?t:[t],r,n),o(e.innerHTML))}function Ze(e,t,r,n,o,s,i){if(s!==null&&clearTimeout(s),Date.now()-t<16){if(o(r+1),r>10){console.warn("Potential infinite render loop detected. Skipping render."),i(null);return}}else o(0);const c=setTimeout(()=>{n(Date.now()),e(),i(null)},0);i(c)}function Xe(e,t,r,n,o,s){if(!e)return;const i=Je(n);if(!t.style&&(!i||i.trim()==="")){s(null),e.adoptedStyleSheets=[ie()];return}let a="";t.style&&(typeof t.style=="string"?a=t.style:typeof t.style=="function"&&(a=t.style(r)));let c=Oe(`${a}
|
|
60
60
|
${i}
|
|
61
|
-
`);c=we(c);let f=o;f||(f=new CSSStyleSheet),(f.cssRules.length===0||f.toString()!==c)&&f.replaceSync(c),e.adoptedStyleSheets=[he(),f],s(f)}const ct=new Map;function le(e,t,r){let n=fe(e);n.includes("-")||(n=`cer-${n}`);let o;typeof t=="function"?o={...r,render:t}:o=t,typeof o.onError!="function"&&(o.onError=(s,i)=>{console.error(`[${n}] Error:`,s,i)}),ct.set(n,o),typeof window<"u"&&!customElements.get(n)&&customElements.define(n,ft(o))}function ft(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="";get lastHtmlStringForJitCSS(){return this._lastHtmlStringForJitCSS}get isLoading(){return this._templateLoading}get lastError(){return this._templateError}_cfg;_lastRenderTime=0;_renderCount=0;_templateLoading=!1;_templateError=null;constructor(){super(),this.attachShadow({mode:"open"}),this._cfg=e;const t=this._initContext(e);Object.defineProperty(t,"refs",{value:this._refs,writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(t,"requestRender",{value:()=>this.requestRender(),writable:!1,enumerable:!1,configurable:!1}),this.context=t,this._applyProps(e),Object.defineProperty(this.context,"emit",{value:(r,n,o)=>{this.dispatchEvent(new CustomEvent(r,{detail:n,bubbles:!0,composed:!0,...o||{}}));const s=`on${r.charAt(0).toUpperCase()}${r.slice(1)}`,i=typeof this[s]=="function"?this[s]:void 0,a=typeof this.context[s]=="function"?this.context[s]:void 0,c=typeof e[s]=="function"?e[s]:void 0;i&&i(n,this.context),a&&a!==i&&a(n,this.context),c&&c!==i&&c!==a&&c(n,this.context)},writable:!1,enumerable:!1,configurable:!1}),Object.keys(e).forEach(r=>{const n=e[r];if(typeof n=="function"&&!r.startsWith("on"))this.context[r]=(...o)=>n(...o,this.context);else if(r.startsWith("on")&&r.length>2&&r[2]===r[2].toUpperCase()){const o=r.slice(2,3).toLowerCase()+r.slice(3);this.addEventListener(o,s=>{const i=typeof this[r]=="function"?this[r]:this.context[r];typeof i=="function"&&i(s.detail,this.context)})}}),this._applyComputed(e),this._initializing=!1,this._initWatchers(e),this._render(e)}connectedCallback(){this._runLogicWithinErrorBoundary(e,()=>{Oe(e,this.context,this._mounted,t=>{this._mounted=t})})}disconnectedCallback(){this._runLogicWithinErrorBoundary(e,()=>{Pe(e,this.context,this._listeners,()=>{this._listeners=[]},()=>{this._watchers.clear()},t=>{this._templateLoading=t},t=>{this._templateError=t},t=>{this._mounted=t})})}attributeChangedCallback(t,r,n){this._runLogicWithinErrorBoundary(e,()=>{this._applyProps(e),We(e,t,r,n,this.context)})}static get observedAttributes(){return e.props?Object.keys(e.props).map(fe):[]}_applyComputed(t){this._runLogicWithinErrorBoundary(e,()=>{t.computed&&Object.entries(t.computed).forEach(([r,n])=>{Object.defineProperty(this.context,r,{get:()=>{const o=n(this.context);return ie(o)},enumerable:!0})})})}_render(t){this._runLogicWithinErrorBoundary(t,()=>{st(this.shadowRoot,t,this.context,this._refs,r=>{this._lastHtmlStringForJitCSS=r,typeof this.onHtmlStringUpdate=="function"&&this.onHtmlStringUpdate(r)},r=>{this._templateLoading=r,typeof this.onLoadingStateChange=="function"&&this.onLoadingStateChange(r)},r=>{this._templateError=r,typeof this.onErrorStateChange=="function"&&this.onErrorStateChange(r)},r=>this._applyStyle(t,r))})}requestRender(){this._requestRender()}_requestRender(){this._runLogicWithinErrorBoundary(this._cfg,()=>{at(()=>this._render(this._cfg),this._lastRenderTime,this._renderCount,t=>{this._lastRenderTime=t},t=>{this._renderCount=t},this._renderTimeoutId,t=>{this._renderTimeoutId=t})})}_applyStyle(t,r){this._runLogicWithinErrorBoundary(t,()=>{lt(this.shadowRoot,t,this.context,r,this._styleSheet,n=>{this._styleSheet=n})})}_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(o,s=""){return Array.isArray(o)?new Proxy(o,{get(i,a,c){const f=Reflect.get(i,a,c);return typeof f=="function"&&typeof a=="string"&&["push","pop","shift","unshift","splice","sort","reverse"].includes(a)?function(...g){const l=f.apply(i,g);if(!n._initializing){const x=s||"root";n._triggerWatchers(x,i),n._render(t)}return l}:f},set(i,a,c){if(i[a]=c,!n._initializing){const f=s?`${s}.${String(a)}`:String(a);n._triggerWatchers(f,c),n._render(t)}return!0},deleteProperty(i,a){if(delete i[a],!n._initializing){const c=s?`${s}.${String(a)}`:String(a);n._triggerWatchers(c,void 0),n._render(t)}return!0}}):o&&typeof o=="object"?(Object.keys(o).forEach(i=>{const a=s?`${s}.${i}`:i;o[i]=r(o[i],a)}),new Proxy(o,{set(i,a,c){const f=s?`${s}.${String(a)}`:String(a);return i[a]=r(c,f),n._initializing||(n._triggerWatchers(f,i[a]),n._render(t)),!0},get(i,a,c){return Reflect.get(i,a,c)}})):o};const n=this;return r({...t.state})}catch{return{}}}_initWatchers(t){this._runLogicWithinErrorBoundary(t,()=>{ze(this.context,this._watchers,t.watch||{})})}_triggerWatchers(t,r){Ne(this.context,this._watchers,t,r)}_applyProps(t){this._runLogicWithinErrorBoundary(t,()=>{try{Me(this,t,this.context)}catch(r){this._hasError=!0,t.onError&&t.onError(r,this.context),t.errorFallback&&this.shadowRoot&&(this.shadowRoot.innerHTML=t.errorFallback(r,this.context))}})}}}function F(e,t={},r,n){const o=n??t.key;return{tag:e,key:o,props:t,children:r}}function X(e){return!!e&&typeof e=="object"&&(e.type==="AnchorBlock"||e.tag==="#anchor")}function J(e){return typeof e=="object"&&e!==null&&"tag"in e&&!X(e)}function ut(e,t){return e.key!=null?e:{...e,key:t}}function dt(e,t=[],r={}){const n={},o={},s={},i=/([:@#]?)([a-zA-Z0-9-:\.]+)=("([^"\\]*(\\.[^"\\]*)*)"|'([^'\\]*(\\.[^'\\]*)*)')/g;let a;for(;a=i.exec(e);){const c=a[1],f=a[2],h=(a[4]||a[6])??"",g=h.match(/^{{(\d+)}}$/);let l=g?t[Number(g[1])]??null:h;if(g||(l==="true"?l=!0:l==="false"?l=!1:l==="null"?l=null:isNaN(Number(l))||(l=Number(l))),c===":"&&f==="class"||c==="#"){const[x,...m]=f.split("."),v=[...m];let p=l,u=[...v];if(x==="model"&&typeof p=="string"&&p.includes(".")){const y=["trim","number","lazy"],b=p.split(".");let d=p;const $=[];for(let w=b.length-1;w>0&&y.includes(b[w]);w--)$.unshift(b[w]),d=b.slice(0,w).join(".");p=d,u.push(...$)}s[x]={value:p,modifiers:u}}else if(c===":")typeof l=="boolean"?o[f]=l:l!=null&&(typeof r[l]<"u"?n[f]=r[l]:n[f]=l);else if(c==="@"){const x="on"+f.charAt(0).toUpperCase()+f.slice(1);n[x]=typeof l=="function"?l:typeof r[l]=="function"?r[l]:void 0}else f==="ref"?n.ref=l:o[f]=l}return{props:n,attrs:o,directives:s}}function pt(e,t,r){const n=K.length>0?K[K.length-1]:void 0,o=r??n;function s(d,$){return F("#text",{},d,$)}let i="";for(let d=0;d<e.length;d++)i+=e[d],d<t.length&&(i+=`{{${d}}}`);const a=/<\/?([a-zA-Z0-9-]+)((?:\s+[^\s=>/]+(?:\s*=\s*(?:"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|[^\s>]+))?)*)\s*\/?>|{{(\d+)}}|([^<]+)/g,c=[];let f,h=[],g=null,l={},x,m=0,v=[];function p(d){!d||typeof d!="object"||X(d)||(d.props||d.attrs?(d.props&&(l.props||(l.props={}),Object.assign(l.props,d.props)),d.attrs&&(l.attrs||(l.attrs={}),Object.keys(d.attrs).forEach($=>{if($==="style"&&l.attrs.style){const w=l.attrs.style.replace(/;?\s*$/,""),k=d.attrs.style.replace(/^;?\s*/,"");l.attrs.style=w+"; "+k}else if($==="class"&&l.attrs.class){const w=l.attrs.class.trim().split(/\s+/).filter(Boolean),k=d.attrs.class.trim().split(/\s+/).filter(Boolean),_=[...new Set([...w,...k])];l.attrs.class=_.join(" ")}else l.attrs[$]=d.attrs[$]}))):(l.props||(l.props={}),Object.assign(l.props,d)))}function u(d,$){const w=g?h:v;if(X(d)){const k=d.key??$;let _=d.children;w.push({...d,key:k,children:_});return}if(J(d)){w.push(ut(d,void 0));return}if(Array.isArray(d)){if(d.length===0)return;for(let k=0;k<d.length;k++){const _=d[k];X(_)||J(_)||Array.isArray(_)?u(_,`${$}-${k}`):_!==null&&typeof _=="object"?p(_):w.push(s(String(_),`${$}-${k}`))}return}if(d!==null&&typeof d=="object"){p(d);return}w.push(s(String(d),$))}const y=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);for(;f=a.exec(i);)if(f[1]){const d=f[1],$=f[0][1]==="/",w=f[0][f[0].length-2]==="/"||y.has(d),{props:k,attrs:_,directives:C}=dt(f[2]||"",t,o),S={props:{},attrs:{}};for(const E in k)S.props[E]=k[E];for(const E in _)S.attrs[E]=_[E];for(const[E,T]of Object.entries(C)){if(E==="bind")if(typeof T.value=="object"&&T.value!==null)for(const[A,j]of Object.entries(T.value))typeof j=="boolean"?S.attrs[A]=j:j!=null&&(S.attrs[A]=String(j));else T.value!=null&&(S.attrs[E]=String(T.value));if(["show","class","style"].includes(E)&&(S.directives||(S.directives={}),S.directives[E]=T),E==="show"){const A=!!T.value;S.attrs.style=(S.attrs.style||"")+(A?"":"; display: none !important")}else if(E==="class"){const A=T.value;let j=[];if(typeof A=="string")j=A.split(/\s+/).filter(Boolean);else if(Array.isArray(A)){for(const z of A)if(typeof z=="string")j.push(...z.split(/\s+/).filter(Boolean));else if(z&&typeof z=="object")for(const[N,V]of Object.entries(z))V&&j.push(...N.split(/\s+/).filter(Boolean))}else if(A&&typeof A=="object")for(const[z,N]of Object.entries(A))N&&j.push(...z.split(/\s+/).filter(Boolean));const q=S.attrs.class||"",I=[...new Set([...q.split(/\s+/).filter(Boolean),...j])];S.attrs.class=I.join(" ")}else if(E==="style"){const A=T.value;let j="";if(typeof A=="string")j=A;else if(A&&typeof A=="object"){const I=[];for(const[z,N]of Object.entries(A))if(N!=null&&N!==""){const V=z.replace(/[A-Z]/g,_e=>`-${_e.toLowerCase()}`),Se=["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 de=String(N);typeof N=="number"&&Se.includes(V)&&(de=`${N}px`),I.push(`${V}: ${de}`)}j=I.join("; ")+(I.length>0?";":"")}const q=S.attrs.style||"";S.attrs.style=q+(q&&!q.endsWith(";")?"; ":"")+j}}const R={};for(const[E,T]of Object.entries(C))["bind","show","class","style"].includes(E)||(R[E]=T);if(Object.keys(R).length>0&&(S.directives=R),$){const E=F(g,l,h.length===1&&J(h[0])&&h[0].tag==="#text"?typeof h[0].children=="string"?h[0].children:"":h.length?h:void 0,x),T=c.pop();T?(g=T.tag,l=T.props,x=T.key,h=T.children,h.push(E)):(v.push(E),g=null,l={},x=void 0,h=[])}else w?g?h.push(F(d,S,void 0,void 0)):v.push(F(d,S,void 0,void 0)):(g&&c.push({tag:g,props:l,children:h,key:x}),g=d,l=S,h=[])}else if(typeof f[3]<"u"){const d=Number(f[3]),$=t[d],w=`interp-${d}`;u($,w)}else if(f[4]){const d=f[4],$=g?h:v,w=d.split(/({{\d+}})/);for(const k of w){if(!k)continue;const _=k.match(/^{{(\d+)}}$/);if(_){const C=Number(_[1]),S=t[C],R=`interp-${C}`;u(S,R)}else{const C=`text-${m++}`;$.push(s(k,C))}}}const b=v.filter(d=>J(d)&&d.tag==="#text"?typeof d.children=="string"&&d.children.trim()!=="":!0);return b.length===1?b[0]:b.length>1?b:F("div",{},"","fallback-root")}function M(e,...t){const r=t[t.length-1],n=typeof r=="object"&&r&&!Array.isArray(r)?r:void 0;return pt(e,t,n)}const ce=e=>e?typeof URLSearchParams>"u"?{}:Object.fromEntries(new URLSearchParams(e)):{},B=(e,t)=>{for(const r of e){const n=[],o=r.path.replace(/:[^/]+/g,a=>(n.push(a.slice(1)),"([^/]+)")),s=new RegExp(`^${o}$`),i=t.match(s);if(i){const a={};return n.forEach((c,f)=>{a[c]=i[f+1]}),{route:r,params:a}}}return{route:null,params:{}}},ne={};async function ke(e){if(e.component)return e.component;if(e.load){if(ne[e.path])return ne[e.path];try{const t=await e.load();return ne[e.path]=t.default,t.default}catch{throw new Error(`Failed to load component for route: ${e.path}`)}}throw new Error(`No component or loader defined for route: ${e.path}`)}function $e(e){const{routes:t,base:r="",initialUrl:n}=e;let o,s,i,a,c,f,h;const g=async(v,p)=>{const u=t.find(y=>B([y],v.path).route!==null);if(u?.beforeEnter)try{const y=await u.beforeEnter(v,p);return typeof y=="string"?(await m(y,!0),!1):y!==!1}catch(y){return console.error("beforeEnter error",y),!1}return!0},l=async(v,p)=>{const u=t.find(y=>B([y],v.path).route!==null);if(u?.onEnter)try{const y=await u.onEnter(v,p);return typeof y=="string"?(await m(y,!0),!1):y!==!1}catch(y){return console.error("onEnter error",y),!1}return!0},x=(v,p)=>{const u=t.find(y=>B([y],v.path).route!==null);if(u?.afterEnter)try{u.afterEnter(v,p)}catch(y){console.error("afterEnter error",y)}},m=async(v,p=!1)=>{try{const u={path:v.replace(r,"")||"/",query:{}},y=B(t,u.path);if(!y)throw new Error(`No route found for ${u.path}`);const b=i.getState(),d={path:u.path,params:y.params,query:u.query};if(!await g(d,b)||!await l(d,b))return;typeof window<"u"&&typeof document<"u"&&(p?window.history.replaceState({},"",r+v):window.history.pushState({},"",r+v)),i.setState(d),x(d,b)}catch(u){console.error("Navigation error:",u)}};if(typeof window<"u"&&typeof document<"u"){o=()=>{const p=new URL(window.location.href),u=p.pathname.replace(r,"")||"/",y=ce(p.search);return{path:u,query:y}},s=o();const v=B(t,s.path);i=oe({path:s.path,params:v.params,query:s.query}),a=async(p=!1)=>{const u=o();await m(u.path,p)},window.addEventListener("popstate",()=>a(!0)),c=p=>m(p,!1),f=p=>m(p,!0),h=()=>window.history.back()}else{o=()=>{const u=new URL(n||"/","http://localhost"),y=u.pathname.replace(r,"")||"/",b=ce(u.search);return{path:y,query:b}},s=o();const v=B(t,s.path);i=oe({path:s.path,params:v.params,query:s.query}),a=async()=>{const u=o();await p(u.path)};const p=async u=>{try{const y={path:u.replace(r,"")||"/",query:{}},b=B(t,y.path);if(!b)throw new Error(`No route found for ${y.path}`);const d=i.getState(),$={path:y.path,params:b.params,query:y.query},w=t.find(k=>B([k],$.path).route!==null);if(w?.beforeEnter)try{const k=await w.beforeEnter($,d);if(typeof k=="string"){await p(k);return}if(k===!1)return}catch{return}if(w?.onEnter)try{const k=await w.onEnter($,d);if(typeof k=="string"){await p(k);return}if(k===!1)return}catch{return}if(i.setState($),w?.afterEnter)try{w.afterEnter($,d)}catch{}}catch{}};c=async u=>p(u),f=async u=>p(u),h=()=>{}}return{store:i,push:c,replace:f,back:h,subscribe:i.subscribe,matchRoute:v=>B(t,v),getCurrent:()=>i.getState(),resolveRouteComponent:ke}}function ht(e,t){return B(e,t)}function gt(e){const t=$e(e);return le("router-view",{async render(){if(!t)return M`<div>Router not initialized.</div>`;const r=t.getCurrent(),{path:n}=r,o=t.matchRoute(n);if(!o.route)return M`<div>Not found</div>`;let s=o.route.component;if(o.route.load){const i=await o.route.load();typeof i.default=="string"&&(s=i.default)}return typeof s=="string"?{tag:s,props:{},children:[]}:M`<div>Invalid route component</div>`},onConnected(r){t&&typeof t.subscribe=="function"&&t.subscribe(()=>{typeof r.requestRender=="function"&&r.requestRender()})}}),le("router-link",{state:{},props:{to:{type:String,default:""},tag:{type:String,default:"a"},replace:{type:Boolean,default:!1},exact:{type:Boolean,default:!1},activeClass:{type:String,default:"active"},exactActiveClass:{type:String,default:"exact-active"},ariaCurrentValue:{type:String,default:"page"},disabled:{type:Boolean,default:!1},external:{type:Boolean,default:!1},class:{type:String,default:""},style:{type:String,default:ue`
|
|
61
|
+
`);c=de(c);let f=o;f||(f=new CSSStyleSheet),(f.cssRules.length===0||f.toString()!==c)&&f.replaceSync(c),e.adoptedStyleSheets=[ie(),f],s(f)}const Ye=new Map;function ee(e,t,r){let n=re(e);n.includes("-")||(n=`cer-${n}`);let o;typeof t=="function"?o={...r,render:t}:o=t,typeof o.onError!="function"&&(o.onError=(s,i)=>{console.error(`[${n}] Error:`,s,i)}),Ye.set(n,o),typeof window<"u"&&!customElements.get(n)&&customElements.define(n,Ge(o))}function Ge(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="";get lastHtmlStringForJitCSS(){return this._lastHtmlStringForJitCSS}get isLoading(){return this._templateLoading}get lastError(){return this._templateError}_cfg;_lastRenderTime=0;_renderCount=0;_templateLoading=!1;_templateError=null;constructor(){super(),this.attachShadow({mode:"open"}),this._cfg=e;const t=this._initContext(e);Object.defineProperty(t,"refs",{value:this._refs,writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(t,"requestRender",{value:()=>this.requestRender(),writable:!1,enumerable:!1,configurable:!1}),this.context=t,this._applyProps(e),Object.defineProperty(this.context,"emit",{value:(r,n,o)=>{this.dispatchEvent(new CustomEvent(r,{detail:n,bubbles:!0,composed:!0,...o||{}}));const s=`on${r.charAt(0).toUpperCase()}${r.slice(1)}`,i=typeof this[s]=="function"?this[s]:void 0,a=typeof this.context[s]=="function"?this.context[s]:void 0,c=typeof e[s]=="function"?e[s]:void 0;i&&i(n,this.context),a&&a!==i&&a(n,this.context),c&&c!==i&&c!==a&&c(n,this.context)},writable:!1,enumerable:!1,configurable:!1}),Object.keys(e).forEach(r=>{const n=e[r];if(typeof n=="function"&&!r.startsWith("on"))this.context[r]=(...o)=>n(...o,this.context);else if(r.startsWith("on")&&r.length>2&&r[2]===r[2].toUpperCase()){const o=r.slice(2,3).toLowerCase()+r.slice(3);this.addEventListener(o,s=>{const i=typeof this[r]=="function"?this[r]:this.context[r];typeof i=="function"&&i(s.detail,this.context)})}}),this._applyComputed(e),this._initializing=!1,this._initWatchers(e),this._render(e)}connectedCallback(){this._runLogicWithinErrorBoundary(e,()=>{Ce(e,this.context,this._mounted,t=>{this._mounted=t})})}disconnectedCallback(){this._runLogicWithinErrorBoundary(e,()=>{Ee(e,this.context,this._listeners,()=>{this._listeners=[]},()=>{this._watchers.clear()},t=>{this._templateLoading=t},t=>{this._templateError=t},t=>{this._mounted=t})})}attributeChangedCallback(t,r,n){this._runLogicWithinErrorBoundary(e,()=>{this._applyProps(e),Ae(e,t,r,n,this.context)})}static get observedAttributes(){return e.props?Object.keys(e.props).map(re):[]}_applyComputed(t){this._runLogicWithinErrorBoundary(e,()=>{t.computed&&Object.entries(t.computed).forEach(([r,n])=>{Object.defineProperty(this.context,r,{get:()=>{const o=n(this.context);return X(o)},enumerable:!0})})})}_render(t){this._runLogicWithinErrorBoundary(t,()=>{Qe(this.shadowRoot,t,this.context,this._refs,r=>{this._lastHtmlStringForJitCSS=r,typeof this.onHtmlStringUpdate=="function"&&this.onHtmlStringUpdate(r)},r=>{this._templateLoading=r,typeof this.onLoadingStateChange=="function"&&this.onLoadingStateChange(r)},r=>{this._templateError=r,typeof this.onErrorStateChange=="function"&&this.onErrorStateChange(r)},r=>this._applyStyle(t,r))})}requestRender(){this._requestRender()}_requestRender(){this._runLogicWithinErrorBoundary(this._cfg,()=>{Ze(()=>this._render(this._cfg),this._lastRenderTime,this._renderCount,t=>{this._lastRenderTime=t},t=>{this._renderCount=t},this._renderTimeoutId,t=>{this._renderTimeoutId=t})})}_applyStyle(t,r){this._runLogicWithinErrorBoundary(t,()=>{Xe(this.shadowRoot,t,this.context,r,this._styleSheet,n=>{this._styleSheet=n})})}_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(o,s=""){return Array.isArray(o)?new Proxy(o,{get(i,a,c){const f=Reflect.get(i,a,c);return typeof f=="function"&&typeof a=="string"&&["push","pop","shift","unshift","splice","sort","reverse"].includes(a)?function(...p){const l=f.apply(i,p);if(!n._initializing){const x=s||"root";n._triggerWatchers(x,i),n._render(t)}return l}:f},set(i,a,c){if(i[a]=c,!n._initializing){const f=s?`${s}.${String(a)}`:String(a);n._triggerWatchers(f,c),n._render(t)}return!0},deleteProperty(i,a){if(delete i[a],!n._initializing){const c=s?`${s}.${String(a)}`:String(a);n._triggerWatchers(c,void 0),n._render(t)}return!0}}):o&&typeof o=="object"?(Object.keys(o).forEach(i=>{const a=s?`${s}.${i}`:i;o[i]=r(o[i],a)}),new Proxy(o,{set(i,a,c){const f=s?`${s}.${String(a)}`:String(a);return i[a]=r(c,f),n._initializing||(n._triggerWatchers(f,i[a]),n._render(t)),!0},get(i,a,c){return Reflect.get(i,a,c)}})):o};const n=this;return r({...t.state})}catch{return{}}}_initWatchers(t){this._runLogicWithinErrorBoundary(t,()=>{$e(this.context,this._watchers,t.watch||{})})}_triggerWatchers(t,r){Se(this.context,this._watchers,t,r)}_applyProps(t){this._runLogicWithinErrorBoundary(t,()=>{try{_e(this,t,this.context)}catch(r){this._hasError=!0,t.onError&&t.onError(r,this.context),t.errorFallback&&this.shadowRoot&&(this.shadowRoot.innerHTML=t.errorFallback(r,this.context))}})}}}function O(e,t={},r,n){const o=n??t.key;return{tag:e,key:o,props:t,children:r}}function I(e){return!!e&&typeof e=="object"&&(e.type==="AnchorBlock"||e.tag==="#anchor")}function D(e){return typeof e=="object"&&e!==null&&"tag"in e&&!I(e)}function et(e,t){return e.key!=null?e:{...e,key:t}}function tt(e,t=[],r={}){const n={},o={},s={},i=/([:@#]?)([a-zA-Z0-9-:\.]+)=("([^"\\]*(\\.[^"\\]*)*)"|'([^'\\]*(\\.[^'\\]*)*)')/g;let a;for(;a=i.exec(e);){const c=a[1],f=a[2],h=(a[4]||a[6])??"",p=h.match(/^{{(\d+)}}$/);let l=p?t[Number(p[1])]??null:h;p||(l==="true"?l=!0:l==="false"?l=!1:l==="null"?l=null:isNaN(Number(l))||(l=Number(l)));const x=["model","bind","show","class","style"];if(c===":"){const[y,...b]=f.split(".");if(x.includes(y)){const g=[...b];s[y]={value:l,modifiers:g}}else o[f]=l}else if(c==="@"){const y="on"+f.charAt(0).toUpperCase()+f.slice(1);n[y]=typeof l=="function"?l:typeof r[l]=="function"?r[l]:void 0}else f==="ref"?n.ref=l:o[f]=l}return{props:n,attrs:o,directives:s}}function rt(e,t,r){const n=P.length>0?P[P.length-1]:void 0,o=r??n;function s(d,$){return O("#text",{},d,$)}let i="";for(let d=0;d<e.length;d++)i+=e[d],d<t.length&&(i+=`{{${d}}}`);const a=/<\/?([a-zA-Z0-9-]+)((?:\s+[^\s=>/]+(?:\s*=\s*(?:"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|[^\s>]+))?)*)\s*\/?>|{{(\d+)}}|([^<]+)/g,c=[];let f,h=[],p=null,l={},x,y=0,b=[];function g(d){!d||typeof d!="object"||I(d)||(d.props||d.attrs?(d.props&&(l.props||(l.props={}),Object.assign(l.props,d.props)),d.attrs&&(l.attrs||(l.attrs={}),Object.keys(d.attrs).forEach($=>{if($==="style"&&l.attrs.style){const k=l.attrs.style.replace(/;?\s*$/,""),w=d.attrs.style.replace(/^;?\s*/,"");l.attrs.style=k+"; "+w}else if($==="class"&&l.attrs.class){const k=l.attrs.class.trim().split(/\s+/).filter(Boolean),w=d.attrs.class.trim().split(/\s+/).filter(Boolean),S=[...new Set([...k,...w])];l.attrs.class=S.join(" ")}else l.attrs[$]=d.attrs[$]}))):(l.props||(l.props={}),Object.assign(l.props,d)))}function u(d,$){const k=p?h:b;if(I(d)){const w=d.key??$;let S=d.children;k.push({...d,key:w,children:S});return}if(D(d)){k.push(et(d,void 0));return}if(Array.isArray(d)){if(d.length===0)return;for(let w=0;w<d.length;w++){const S=d[w];I(S)||D(S)||Array.isArray(S)?u(S,`${$}-${w}`):S!==null&&typeof S=="object"?g(S):k.push(s(String(S),`${$}-${w}`))}return}if(d!==null&&typeof d=="object"){g(d);return}k.push(s(String(d),$))}const m=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);for(;f=a.exec(i);)if(f[1]){const d=f[1],$=f[0][1]==="/",k=f[0][f[0].length-2]==="/"||m.has(d),{props:w,attrs:S,directives:_}=tt(f[2]||"",t,o),C={props:{},attrs:{}};for(const E in w)C.props[E]=w[E];for(const E in S)C.attrs[E]=S[E];if(Object.keys(_).length>0&&(C.directives={..._}),$){const E=O(p,l,h.length===1&&D(h[0])&&h[0].tag==="#text"?typeof h[0].children=="string"?h[0].children:"":h.length?h:void 0,x),j=c.pop();j?(p=j.tag,l=j.props,x=j.key,h=j.children,h.push(E)):(b.push(E),p=null,l={},x=void 0,h=[])}else k?p?h.push(O(d,C,void 0,void 0)):b.push(O(d,C,void 0,void 0)):(p&&c.push({tag:p,props:l,children:h,key:x}),p=d,l=C,h=[])}else if(typeof f[3]<"u"){const d=Number(f[3]),$=t[d],k=`interp-${d}`;u($,k)}else if(f[4]){const d=f[4],$=p?h:b,k=d.split(/({{\d+}})/);for(const w of k){if(!w)continue;const S=w.match(/^{{(\d+)}}$/);if(S){const _=Number(S[1]),C=t[_],E=`interp-${_}`;u(C,E)}else{const _=`text-${y++}`;$.push(s(w,_))}}}const v=b.filter(d=>D(d)&&d.tag==="#text"?typeof d.children=="string"&&d.children.trim()!=="":!0);return v.length===1?v[0]:v.length>1?v:O("div",{},"","fallback-root")}function L(e,...t){const r=t[t.length-1],n=typeof r=="object"&&r&&!Array.isArray(r)?r:void 0;return rt(e,t,n)}const te=e=>e?typeof URLSearchParams>"u"?{}:Object.fromEntries(new URLSearchParams(e)):{},T=(e,t)=>{for(const r of e){const n=[],o=r.path.replace(/:[^/]+/g,a=>(n.push(a.slice(1)),"([^/]+)")),s=new RegExp(`^${o}$`),i=t.match(s);if(i){const a={};return n.forEach((c,f)=>{a[c]=i[f+1]}),{route:r,params:a}}}return{route:null,params:{}}},Q={};async function pe(e){if(e.component)return e.component;if(e.load){if(Q[e.path])return Q[e.path];try{const t=await e.load();return Q[e.path]=t.default,t.default}catch{throw new Error(`Failed to load component for route: ${e.path}`)}}throw new Error(`No component or loader defined for route: ${e.path}`)}function he(e){const{routes:t,base:r="",initialUrl:n}=e;let o,s,i,a,c,f,h;const p=async(b,g)=>{const u=t.find(m=>T([m],b.path).route!==null);if(u?.beforeEnter)try{const m=await u.beforeEnter(b,g);return typeof m=="string"?(await y(m,!0),!1):m!==!1}catch(m){return console.error("beforeEnter error",m),!1}return!0},l=async(b,g)=>{const u=t.find(m=>T([m],b.path).route!==null);if(u?.onEnter)try{const m=await u.onEnter(b,g);return typeof m=="string"?(await y(m,!0),!1):m!==!1}catch(m){return console.error("onEnter error",m),!1}return!0},x=(b,g)=>{const u=t.find(m=>T([m],b.path).route!==null);if(u?.afterEnter)try{u.afterEnter(b,g)}catch(m){console.error("afterEnter error",m)}},y=async(b,g=!1)=>{try{const u={path:b.replace(r,"")||"/",query:{}},m=T(t,u.path);if(!m)throw new Error(`No route found for ${u.path}`);const v=i.getState(),d={path:u.path,params:m.params,query:u.query};if(!await p(d,v)||!await l(d,v))return;typeof window<"u"&&typeof document<"u"&&(g?window.history.replaceState({},"",r+b):window.history.pushState({},"",r+b)),i.setState(d),x(d,v)}catch(u){console.error("Navigation error:",u)}};if(typeof window<"u"&&typeof document<"u"){o=()=>{const g=new URL(window.location.href),u=g.pathname.replace(r,"")||"/",m=te(g.search);return{path:u,query:m}},s=o();const b=T(t,s.path);i=Z({path:s.path,params:b.params,query:s.query}),a=async(g=!1)=>{const u=o();await y(u.path,g)},window.addEventListener("popstate",()=>a(!0)),c=g=>y(g,!1),f=g=>y(g,!0),h=()=>window.history.back()}else{o=()=>{const u=new URL(n||"/","http://localhost"),m=u.pathname.replace(r,"")||"/",v=te(u.search);return{path:m,query:v}},s=o();const b=T(t,s.path);i=Z({path:s.path,params:b.params,query:s.query}),a=async()=>{const u=o();await g(u.path)};const g=async u=>{try{const m={path:u.replace(r,"")||"/",query:{}},v=T(t,m.path);if(!v)throw new Error(`No route found for ${m.path}`);const d=i.getState(),$={path:m.path,params:v.params,query:m.query},k=t.find(w=>T([w],$.path).route!==null);if(k?.beforeEnter)try{const w=await k.beforeEnter($,d);if(typeof w=="string"){await g(w);return}if(w===!1)return}catch{return}if(k?.onEnter)try{const w=await k.onEnter($,d);if(typeof w=="string"){await g(w);return}if(w===!1)return}catch{return}if(i.setState($),k?.afterEnter)try{k.afterEnter($,d)}catch{}}catch{}};c=async u=>g(u),f=async u=>g(u),h=()=>{}}return{store:i,push:c,replace:f,back:h,subscribe:i.subscribe,matchRoute:b=>T(t,b),getCurrent:()=>i.getState(),resolveRouteComponent:pe}}function nt(e,t){return T(e,t)}function ot(e){const t=he(e);return ee("router-view",{async render(){if(!t)return L`<div>Router not initialized.</div>`;const r=t.getCurrent(),{path:n}=r,o=t.matchRoute(n);if(!o.route)return L`<div>Not found</div>`;let s=o.route.component;if(o.route.load){const i=await o.route.load();typeof i.default=="string"&&(s=i.default)}return typeof s=="string"?{tag:s,props:{},children:[]}:L`<div>Invalid route component</div>`},onConnected(r){t&&typeof t.subscribe=="function"&&t.subscribe(()=>{typeof r.requestRender=="function"&&r.requestRender()})}}),ee("router-link",{state:{},props:{to:{type:String,default:""},tag:{type:String,default:"a"},replace:{type:Boolean,default:!1},exact:{type:Boolean,default:!1},activeClass:{type:String,default:"active"},exactActiveClass:{type:String,default:"exact-active"},ariaCurrentValue:{type:String,default:"page"},disabled:{type:Boolean,default:!1},external:{type:Boolean,default:!1},class:{type:String,default:""},style:{type:String,default:ne`
|
|
62
62
|
[aria-disabled="true"] {
|
|
63
63
|
pointer-events: none;
|
|
64
64
|
opacity: 0.5;
|
|
65
65
|
}
|
|
66
|
-
`}},style:r=>r.style,render:r=>{const n=t.getCurrent(),o=r.to,s=r.exact,i=r.exactActiveClass,a=r.activeClass,c=r.ariaCurrentValue,f=r.tag,h=r.disabled,
|
|
67
|
-
${
|
|
66
|
+
`}},style:r=>r.style,render:r=>{const n=t.getCurrent(),o=r.to,s=r.exact,i=r.exactActiveClass,a=r.activeClass,c=r.ariaCurrentValue,f=r.tag,h=r.disabled,p=r.external,l=n.path===o,x=s?l:n&&typeof n.path=="string"?n.path.startsWith(o):!1,y=l?i:x?a:"",b=l?`aria-current="${c}"`:"",g=f==="button",u=h?g?'disabled aria-disabled="true" tabindex="-1"':'aria-disabled="true" tabindex="-1"':"",m=p&&(f==="a"||!f)?'target="_blank" rel="noopener noreferrer"':"";return L`
|
|
67
|
+
${fe().when(g,L`
|
|
68
68
|
<button
|
|
69
69
|
part="button"
|
|
70
|
-
:class="${r.class} ${
|
|
71
|
-
${
|
|
70
|
+
:class="${r.class} ${y}"
|
|
71
|
+
${b}
|
|
72
72
|
${u}
|
|
73
|
-
${
|
|
73
|
+
${m}
|
|
74
74
|
@click="navigate"
|
|
75
75
|
><slot></slot></button>
|
|
76
|
-
`).otherwise(
|
|
76
|
+
`).otherwise(L`
|
|
77
77
|
<a
|
|
78
78
|
part="link"
|
|
79
79
|
href="${o}"
|
|
80
|
-
:class="${r.class} ${
|
|
81
|
-
${
|
|
80
|
+
:class="${r.class} ${y}"
|
|
81
|
+
${b}
|
|
82
82
|
${u}
|
|
83
|
-
${
|
|
83
|
+
${m}
|
|
84
84
|
@click="navigate"
|
|
85
85
|
><slot></slot></a>
|
|
86
86
|
`).done()}
|
|
87
|
-
`},navigate:(r,n)=>{if(n.disabled){r.preventDefault();return}n.external&&(n.tag==="a"||!n.tag)||(r.preventDefault(),n.replace?t.replace(n.to):t.push(n.to))}}),t}exports.GlobalEventBus=
|
|
87
|
+
`},navigate:(r,n)=>{if(n.disabled){r.preventDefault();return}n.external&&(n.tag==="a"||!n.tag)||(r.preventDefault(),n.replace?t.replace(n.to):t.push(n.to))}}),t}exports.GlobalEventBus=R;exports.component=ee;exports.createStore=Z;exports.css=ne;exports.each=ye;exports.emit=be;exports.eventBus=N;exports.html=L;exports.initRouter=ot;exports.listen=ke;exports.match=fe;exports.matchRoute=T;exports.matchRouteSSR=nt;exports.off=xe;exports.on=ve;exports.once=we;exports.parseQuery=te;exports.resolveRouteComponent=pe;exports.useRouter=he;exports.when=ge;
|
|
88
88
|
//# sourceMappingURL=custom-elements-runtime.cjs.js.map
|