@stacksjs/stx 0.2.315 → 0.2.317
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/{chunk-5k3xfbqt.js → chunk-1sv0pxa3.js} +1 -1
- package/dist/{chunk-12mvbz4y.js → chunk-1zw2abe0.js} +1 -1
- package/dist/{chunk-twvysckp.js → chunk-43052kx3.js} +1 -1
- package/dist/{chunk-ndrndajd.js → chunk-46dsqwx0.js} +1 -1
- package/dist/chunk-478m6jex.js +2 -0
- package/dist/{chunk-vqxqesr8.js → chunk-4zkwqprq.js} +162 -162
- package/dist/chunk-50mk56ph.js +2 -0
- package/dist/{chunk-9g5cr7zt.js → chunk-60jcfv31.js} +1 -1
- package/dist/{chunk-m01h061q.js → chunk-6g4arx7a.js} +1 -1
- package/dist/{chunk-btcca88f.js → chunk-734mjk29.js} +1 -1
- package/dist/{chunk-qzqd2w5w.js → chunk-7nes75cd.js} +1 -1
- package/dist/{chunk-bbt6cnp9.js → chunk-860dhpmy.js} +1 -1
- package/dist/{chunk-p06czqhq.js → chunk-9bc55xwj.js} +9 -9
- package/dist/{chunk-7r6yhvyt.js → chunk-9yhtehv9.js} +1 -1
- package/dist/{chunk-56vc1z21.js → chunk-asb365rs.js} +1 -1
- package/dist/{chunk-m7crqwcc.js → chunk-bgj9ep3g.js} +1 -1
- package/dist/{chunk-zkbdw1yr.js → chunk-bnw3wnw8.js} +1 -1
- package/dist/{chunk-840zb3m6.js → chunk-dexbmqrm.js} +1 -1
- package/dist/{chunk-xrcvqqse.js → chunk-dm93r8kq.js} +1 -1
- package/dist/{chunk-zc4wc48p.js → chunk-dy6aq1fx.js} +1 -1
- package/dist/{chunk-bdract2w.js → chunk-f5mkztvk.js} +1 -1
- package/dist/{chunk-h22zwr5c.js → chunk-fxjyj3j9.js} +32 -9
- package/dist/{chunk-8z1e5j7f.js → chunk-gb3fk53c.js} +1 -1
- package/dist/{chunk-xgdcjqn7.js → chunk-gd62grxx.js} +1 -1
- package/dist/{chunk-vzd6g7d1.js → chunk-gg85dhn4.js} +1 -1
- package/dist/{chunk-mh4whcj5.js → chunk-gvw5agnj.js} +1 -1
- package/dist/{chunk-ytrq34w1.js → chunk-j18h8dbg.js} +1 -1
- package/dist/{chunk-7rcfksy4.js → chunk-k2gsnfaa.js} +2 -2
- package/dist/{chunk-693rjvtf.js → chunk-knt8aerb.js} +1 -1
- package/dist/chunk-mdbhyxnr.js +2 -0
- package/dist/{chunk-dkcay3vr.js → chunk-n25whneb.js} +2 -2
- package/dist/{chunk-mc9xjq9z.js → chunk-ndyxw7f5.js} +1 -1
- package/dist/{chunk-v8c1av7v.js → chunk-pn60d9sp.js} +1 -1
- package/dist/{chunk-hb5tea65.js → chunk-r97y1cy2.js} +2 -2
- package/dist/{chunk-44c01brj.js → chunk-s1enwpyh.js} +1 -1
- package/dist/chunk-sc70p4kj.js +2 -0
- package/dist/{chunk-f4vnkenf.js → chunk-t088w4j2.js} +1 -1
- package/dist/{chunk-693jjsg9.js → chunk-t9acxg0e.js} +1 -1
- package/dist/{chunk-n11mz2b2.js → chunk-tdrpxx1h.js} +1 -1
- package/dist/{chunk-y9qnrg8a.js → chunk-thhgk7x1.js} +2 -2
- package/dist/{chunk-574wce5h.js → chunk-v1507pxw.js} +1 -1
- package/dist/{chunk-rkqs4dt8.js → chunk-v7pagafp.js} +1 -1
- package/dist/{chunk-15g08hah.js → chunk-vah1scec.js} +1 -1
- package/dist/{chunk-fy85868q.js → chunk-vb16zpbw.js} +1 -1
- package/dist/{chunk-nx2x7few.js → chunk-vgwcpt59.js} +1 -1
- package/dist/{chunk-0a4nmj4r.js → chunk-w3qdxrpv.js} +1 -1
- package/dist/{chunk-b546f0ht.js → chunk-w84fgaqj.js} +1 -1
- package/dist/{chunk-jvm48hdn.js → chunk-wb0n3rmf.js} +1 -1
- package/dist/{chunk-8bznad4t.js → chunk-wd6skrxf.js} +1 -1
- package/dist/{chunk-dh58qn19.js → chunk-wvfed9sj.js} +1 -1
- package/dist/{chunk-v00cj2at.js → chunk-x3s0e6wv.js} +1 -1
- package/dist/{chunk-nm2erkah.js → chunk-zrnh6ybt.js} +1 -1
- package/dist/cli.js +7 -7
- package/dist/craft-entry.js +1 -1
- package/dist/craft.js +1 -1
- package/dist/owned-routes.d.ts +11 -1
- package/dist/owned-routes.js +11 -7
- package/dist/pwa.js +1 -1
- package/dist/router.d.ts +2 -0
- package/dist/runtime-injection.js +1 -1
- package/dist/ssg.js +2 -2
- package/package.json +5 -5
- package/dist/chunk-mc4tqveh.js +0 -2
- package/dist/chunk-pjrsbmf1.js +0 -2
- package/dist/chunk-q5rsf8np.js +0 -2
- package/dist/chunk-zbmspw75.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{$r as X0,Lr as J0,Nr as _9,Or as q3,Pr as L9,Rs as
|
|
2
|
+
import{$r as X0,Lr as J0,Nr as _9,Or as q3,Pr as L9,Rs as _8,Vs as L8,Wr as k2,Zr as j8,ds as E2,dt as B7,es as B8,et as V7,gs as o0,hs as V8,os as K3,ps as h4,qs as e,rs as W0,ss as E0,ts as B9,us as Z2,vs as K0,ws as O9}from"./chunk-raxr83fs.js";import{jt as u0,kt as GZ}from"./chunk-397rqs12.js";import{pt as n2}from"./chunk-aqrp68m6.js";import{At as r8,Bt as a8,Ct as Y2,Dt as m2,Et as V9,Ft as T2,Gt as t6,Ht as h6,It as B1,Jt as n0,Kt as m9,Ot as R8,Pt as y9,au as N8,ut as i1,vt as v1,wt as w8,xt as k1,zt as H1}from"./chunk-bnw3wnw8.js";import{bu as e7}from"./chunk-jwnbwemq.js";import{fu as F7,gu as w7,hu as t2,iu as e2}from"./chunk-ry1key0g.js";import{ku as _7,mu as L7,nu as O7,pu as U2}from"./chunk-4ee1aaet.js";import{qu as C9}from"./chunk-ndyxw7f5.js";import{su as P8,tu as v8,uu as f8,vu as x8,wu as g8,yu as F8}from"./chunk-18p8dqya.js";import{Du as o2,Fu as h8,zu as D8}from"./chunk-64ttktzc.js";import{Pu as $1}from"./chunk-xcsf7my7.js";import{Su as A8}from"./chunk-2kv2gnzc.js";import{$u as s$,Tu as W3,Uu as YZ,Vu as o8,Wu as p1,_u as QZ,av as g6,cv as O4,fv as I4}from"./chunk-ttny9g8k.js";import{Av as q$,Rv as O8,Tv as AG,Uv as e9,Wv as z2,qv as R$,tv as N6}from"./chunk-fxjyj3j9.js";import{$v as R7}from"./chunk-9ebfmdyb.js";import{ew as x}from"./chunk-jryjwara.js";import b1 from"path";import y2 from"fs";var p$=new Set(["click","dblclick","mousedown","mouseup","mousemove","mouseenter","mouseleave","mouseover","mouseout","contextmenu","wheel","keydown","keyup","keypress","submit","reset","change","input","focus","blur","focusin","focusout","select","invalid","touchstart","touchend","touchmove","touchcancel","drag","dragstart","dragend","dragenter","dragleave","dragover","drop","scroll","resize","load","error","abort","animationstart","animationend","animationiteration","transitionstart","transitionend","transitionrun","transitioncancel","mounted","unmounted"]),i$={enter:"Enter",tab:"Tab",delete:"Delete",backspace:"Backspace",esc:"Escape",escape:"Escape",space:" ",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",home:"Home",end:"End",pageup:"PageUp",pagedown:"PageDown"},HZ=new Set(["ctrl","alt","shift","meta"]),o$={left:0,middle:1,right:2};function n$($){let Z={prevent:!1,stop:!1,once:!1,capture:!1,self:!1,passive:!1,keys:[],systemKeys:[],mouse:null,debounce:null,throttle:null};for(let J of $){let X=J.toLowerCase();if(X==="prevent")Z.prevent=!0;else if(X==="stop")Z.stop=!0;else if(X==="once")Z.once=!0;else if(X==="capture")Z.capture=!0;else if(X==="self")Z.self=!0;else if(X==="passive")Z.passive=!0;else if(HZ.has(X))Z.systemKeys.push(X);else if(X in o$)Z.mouse=X;else if(X in i$||/^[a-z]$/.test(X))Z.keys.push(i$[X]||X.toUpperCase());else if(X.startsWith("debounce")){let Y=X.match(/debounce(?:\.(\d+))?/);Z.debounce=Y?.[1]?Number.parseInt(Y[1],10):300}else if(X.startsWith("throttle")){let Y=X.match(/throttle(?:\.(\d+))?/);Z.throttle=Y?.[1]?Number.parseInt(Y[1],10):300}}return Z}function r$($){let Z=[],J=0,X=/<([a-z][a-z0-9-]*)\s+([^>]*@[a-z][^>]*)>/gi,Y;while((Y=X.exec($))!==null){let[Q,G,z]=Y,q=Y.index,K=q+Q.length,W=`__stx_evt_${J++}`,U=[],H=/@([a-z][a-z0-9.]*)\s*=\s*"([^"]*)"/gi,j;while((j=H.exec(z))!==null){let[,V,F]=j,_=V.split("."),O=_[0];if(!p$.has(O))continue;U.push({attribute:`@${V}`,event:O,handler:F,modifiers:n$(_.slice(1)),elementId:W})}let B=/@([a-z][a-z0-9.]*)\s*=\s*'([^']*)'/gi;while((j=B.exec(z))!==null){let[,V,F]=j,_=V.split("."),O=_[0];if(!p$.has(O))continue;U.push({attribute:`@${V}`,event:O,handler:F,modifiers:n$(_.slice(1)),elementId:W})}if(U.length>0)Z.push({originalTag:Q,elementId:W,events:U,startIndex:q,endIndex:K})}return Z}function jZ($){let Z=[],{modifiers:J}=$;if(J.self)Z.push("if ($event.target !== $el) return");for(let X of J.systemKeys)Z.push(`if (!$event.${X}Key) return`);if(J.keys.length>0){let X=J.keys.map((Y)=>`$event.key === '${Y}'`).join(" || ");Z.push(`if (!(${X})) return`)}if(J.mouse!==null){let X=o$[J.mouse];Z.push(`if ($event.button !== ${X}) return`)}if(J.prevent)Z.push("$event.preventDefault()");if(J.stop)Z.push("$event.stopPropagation()");return Z.join("; ")}function BZ($,Z){let J=$;if(Z.debounce!==null)J=`__stx_debounce(() => { ${J} }, ${Z.debounce})`;else if(Z.throttle!==null)J=`__stx_throttle(() => { ${J} }, ${Z.throttle})`;return J}function g9($){let Z=$.trim();if(!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(Z))return $;return`if (typeof ${Z} === 'function' && !${Z}._isSignal) ${Z}($event);`}function VZ($){let{modifiers:Z}=$,J=$.elementId.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),X=jZ($),Y=BZ(g9($.handler),Z),Q=[];if(Z.once)Q.push("once: true");if(Z.capture)Q.push("capture: true");if(Z.passive)Q.push("passive: true");let G=Q.length>0?`, { ${Q.join(", ")} }`:"",z=Y.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t");if($.event==="mounted")return`
|
|
3
3
|
(function() {
|
|
4
4
|
var $el = document.getElementById('${J}');
|
|
5
5
|
if (!$el) return;
|
|
@@ -108,11 +108,11 @@ else {
|
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
// Event listeners
|
|
111
|
-
${$.map(
|
|
111
|
+
${$.map(VZ).join(`
|
|
112
112
|
`)}
|
|
113
113
|
})();
|
|
114
|
-
</script>`}function
|
|
115
|
-
`+Y.slice(G);else Y+=Q;return Y}function
|
|
114
|
+
</script>`}function _Z($){let Z=r$($);if(Z.length===0)return{template:$,bindings:[]};let J=$,X=[];for(let Y=Z.length-1;Y>=0;Y--){let Q=Z[Y],G=Q.originalTag;if(!G.includes(" id="))G=G.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${Q.elementId}"`);else{let z=G.match(/id=["']([^"']+)["']/);if(z)for(let q of Q.events)q.elementId=z[1]}for(let z of Q.events){let q=z.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),K=new RegExp(`\\s*${q}\\s*=\\s*"[^"]*"`,"g"),W=new RegExp(`\\s*${q}\\s*=\\s*'[^']*'`,"g");G=G.replace(K,""),G=G.replace(W,"")}J=J.slice(0,Q.startIndex)+G+J.slice(Q.endIndex),X.push(...Q.events)}return{template:J,bindings:X}}function a$($,Z,J){if(s$($))return $;if(Z.__stx_sfc_mode){if(/x-data\s*=\s*["']/.test($))return $;let{template:z,bindings:q}=_Z($),K=Z.__stx_event_bindings||[];return Z.__stx_event_bindings=[...K,...q],z}let X=r$($);if(X.length===0)return $;let Y=$;for(let z=X.length-1;z>=0;z--){let q=X[z],K=q.originalTag;if(!K.includes(" id="))K=K.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${q.elementId}"`);else{let W=K.match(/id=["']([^"']+)["']/);if(W)for(let U of q.events)U.elementId=W[1]}for(let W of q.events){let U=W.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),H=new RegExp(`\\s*${U}\\s*=\\s*"[^"]*"`,"g"),j=new RegExp(`\\s*${U}\\s*=\\s*'[^']*'`,"g");K=K.replace(H,""),K=K.replace(j,"")}Y=Y.slice(0,q.startIndex)+K+Y.slice(q.endIndex)}let Q=h9(X.flatMap((z)=>z.events)),G=Y.lastIndexOf("</body>");if(G!==-1)Y=Y.slice(0,G)+Q+`
|
|
115
|
+
`+Y.slice(G);else Y+=Q;return Y}function iz($){return/@[a-z]+(?:\.[a-z]+)*\s*=\s*["'][^"']*["']/i.test($)}import t8 from"fs";import g from"path";import{createHash as LZ}from"crypto";var g2="__stx_component_client_factories";function h2($){let Z=$[g2];return Z instanceof Map?Z:null}function e$($){$[g2]=new Map}function u9($,Z){let J=h2($);if(!J)return null;let X=LZ("sha256").update(Z).digest("hex").slice(0,16),Y=J.get(X);if(Y)Y.instances++;else J.set(X,{body:Z,instances:1});return X}function $3($,Z){let J=h2(Z);if(!J?.size)return $;let X=new Map;for(let[W,U]of J)if(U.instances===1)X.set(W,U.body);let Y=[];if(X.size>0){let W=[...X.keys()].map((j)=>JSON.stringify(j).replace(/[$()*+.?[\\\]^{|}]/g,"\\$&")).join("|"),U=new RegExp(`window\\.__stxComponentFactories\\[(${W})\\]\\(("[^"]+")\\);`,"g"),H=U.exec($);while(H!==null){let j=X.get(JSON.parse(H[1]));if(j!==void 0)Y.push({start:H.index,end:H.index+H[0].length,replacement:`(${j})(${H[2]});`});H=U.exec($)}}let Q=[...J].filter(([,W])=>W.instances>1);if(Q.length===0)return t$($,Y);let z=`<script data-stx-scoped data-stx-run="always" data-stx-component-factories>
|
|
116
116
|
(function() {
|
|
117
117
|
const factories = window.__stxComponentFactories = window.__stxComponentFactories || {};
|
|
118
118
|
${Q.map(([W,U])=>` try { factories[${JSON.stringify(W)}] = factories[${JSON.stringify(W)}] || ${U.body}; }
|
|
@@ -120,8 +120,8 @@ ${Q.map(([W,U])=>` try { factories[${JSON.stringify(W)}] = factories[${JSON.str
|
|
|
120
120
|
`)}
|
|
121
121
|
})();
|
|
122
122
|
</script>`,q=$.search(/<script\b(?=[^>]*\bdata-stx-scoped\b)/i),K=q<0?0:q;return Y.push({start:K,end:K,replacement:`${z}
|
|
123
|
-
`}),t$($,Y)}function t$($,Z){if(Z.length===0)return $;Z.sort((Q,G)=>Q.start-G.start||Q.end-G.end);let J=Array(Z.length*2+1),X=0,Y=0;for(let Q of Z)J[Y++]=$.slice(X,Q.start),J[Y++]=Q.replacement,X=Q.end;return J[Y]=$.slice(X),J.join("")}function Z3($){let Z=h2($),J=new Map;if(Z)for(let[X,Y]of Z)J.set(X,Y.instances);return J}function J3($,Z){let J=h2($);if(!J)return[];let X=[];for(let[Y,Q]of J){let G=Q.instances-(Z.get(Y)??0);if(G>0)X.push({body:Q.body,count:G})}return X}function X3($,Z){for(let{body:J,count:X}of Z)for(let Y=0;Y<X;Y++)u9($,J)}import Q3 from"fs";var Y3=0,u2=new Map;function oz(){Y3=0,u2.clear()}function d2($,Z){let J=Y3++,X=`<!--__STX_${$.toUpperCase()}_${J}__-->`;return u2.set(X,{type:$,expression:Z}),X}function rz(){let $={};for(let[Z,J]of u2)$[Z]={type:J.type,expression:J.expression};return $}function az($){let Z={},J=/<!--__STX_(EXPR|COND|RAW)_(\d+)__-->/g,X;while((X=J.exec($))!==null){let Y=X[0],Q=X[1].toLowerCase(),G=u2.get(Y);Z[Y]={type:Q,expression:G?.expression||""}}return Z}function tz($,Z){let J=$;for(let[X,Y]of Z)J=J.split(X).join(Y);return J}function ez($){return $.includes("<!--__STX_")}var Q2={},G3=new Map;function LZ($){let Z=G3.get($);if(!Z){let J=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${J}(?!\\w)`,"g"),G3.set($,Z)}return Z.lastIndex=0,Z}var l2={uppercase:($,Z)=>{return $!==void 0&&$!==null?String($).toUpperCase():""},lowercase:($,Z)=>{return $!==void 0&&$!==null?String($).toLowerCase():""},capitalize:($,Z)=>{if($===void 0||$===null)return"";let J=String($);return J.charAt(0).toUpperCase()+J.slice(1)},number:($,Z,J=0)=>{if($===void 0||$===null)return"";try{let X=Number($);return Number.isNaN(X)?"":X.toFixed(Number.parseInt(String(J),10))}catch{return""}},fmt:($,Z,J="en-US")=>{if($===void 0||$===null)return"";try{let X=Number($);if(Number.isNaN(X))return String($);return X.toLocaleString(J)}catch{return String($)}},join:($,Z,J=",")=>{if(!Array.isArray($))return"";return $.join(String(J))},escape:($,Z)=>{if($===void 0||$===null)return"";return U3(String($))},translate:($,Z,J={})=>{if(!Z||!Z.__translations)return $;let X=Z.__translations,Y=Z.__i18nConfig?.fallbackToKey??!0,Q=String($).split("."),G=X;for(let q of Q){if(G===void 0||G===null)break;G=G[q]}if(G===void 0||G===null)return Y?$:"";let z=String(G);return Object.entries(J).forEach(([q,K])=>{z=z.replace(LZ(q),String(K))}),z},t:($,Z,J={})=>{return l2.translate($,Z,J)},truncate:($,Z,J=50,X="...")=>{if($===void 0||$===null)return"";let Y=String($);if(Y.length<=J)return Y;if(J<=X.length)return X.substring(0,J);return Y.substring(0,J-X.length)+X},date:($,Z,J="short",X="en-US")=>{if($===void 0||$===null)return"";try{let Y=$ instanceof Date?$:new Date($);if(Number.isNaN(Y.getTime()))return String($);let Q={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"},time:{timeStyle:"short"},datetime:{dateStyle:"short",timeStyle:"short"},iso:{}};if(J==="iso")return Y.toISOString();return new Intl.DateTimeFormat(X,Q[J]||Q.short).format(Y)}catch{return String($)}},currency:($,Z,J="USD",X="en-US")=>{if($===void 0||$===null)return"";try{let Y=Number($);if(Number.isNaN(Y))return String($);return new Intl.NumberFormat(X,{style:"currency",currency:J}).format(Y)}catch{return String($)}},pluralize:($,Z,J,X)=>{let Y=Number($);if(Number.isNaN(Y))return J;let Q=X||`${J}s`;return Y===1?J:Q},first:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[0];return String($).charAt(0)},last:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[$.length-1];let J=String($);return J.charAt(J.length-1)},length:($,Z)=>{if($===void 0||$===null)return 0;if(Array.isArray($)||typeof $==="string")return $.length;if($ instanceof Map||$ instanceof Set)return $.size;if(typeof $==="object")return Object.keys($).length;return 0},json:($,Z,J=!1)=>{if($===void 0)return"undefined";if($===null)return"null";try{return J?JSON.stringify($,null,2):JSON.stringify($)}catch{return String($)}},default:($,Z,J="")=>{return $===void 0||$===null||$===""?J:$},reverse:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return[...$].reverse();return String($).split("").reverse().join("")},slice:($,Z,J=0,X)=>{if($===void 0||$===null)return"";if(Array.isArray($)||typeof $==="string")return $.slice(J,X);return $},replace:($,Z,J,X="")=>{if($===void 0||$===null)return"";let Y=J.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(Y,"g"),()=>X)},stripTags:($,Z)=>{if($===void 0||$===null)return"";return String($).replace(/<[^>]*>/g,"")},urlencode:($,Z)=>{if($===void 0||$===null)return"";return encodeURIComponent(String($))},abs:($,Z)=>{let J=Number($);return Number.isNaN(J)?0:Math.abs(J)},round:($,Z,J=0)=>{let X=Number($);if(Number.isNaN(X))return 0;let Y=10**J;return Math.round(X*Y)/Y}};function OZ($,Z){if($ in l2)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);Q2[$]=Z}function Kq($){for(let[Z,J]of Object.entries($))OZ(Z,J)}function FZ(){return{...l2,...Q2}}function Wq(){for(let $ of Object.keys(Q2))delete Q2[$]}function l9($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function U3($){return l9($).replace(/\{{2,}/g,(Z)=>wZ(Z.length)).replace(/\{(?=!)/g,`{${H3}`)}var H3="⁠";function wZ($){return Array.from({length:$},()=>"{").join(H3)}function X1($,Z){let{scripts:J}=n0($);for(let X of J){let Y=X.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i);if(!Y||/\bserver\b|\bsrc\s*=/.test(Y[1]))continue;let Q=Y[2];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect|useModel)\s*(?:<[^>]*>)?\s*\(/.test(Q))return!0;if(W3(Q,Z))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test($))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test($))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test($))return!0;return!1}function z3($,Z){let J=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","URL","URLSearchParams","Intl","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined","NaN","Infinity","isNaN","isFinite","window","document","console","new","typeof","instanceof","in","void"],X=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),Y="",Q=!1,G=0;for(let K=0;K<X.length;K++){let W=X[K];if(!Q&&W==="`"){Q=!0,G=0;continue}if(Q){if(W==="`"&&G===0){Q=!1;continue}if(W==="$"&&X[K+1]==="{"){G++,K++,Y+=" ";continue}if(W==="}"&&G>0){G--;continue}if(G>0){Y+=W;continue}continue}Y+=W}X=Y;let z=/(?<![a-zA-Z0-9_$])([a-zA-Z_$][a-zA-Z0-9_$]*)/g,q;while((q=z.exec(X))!==null){let K=q[1];if(!X.substring(0,q.index).trimEnd().endsWith(".")){if(!J.includes(K)&&!(K in Z))return!1}}return!0}function RZ($,Z){let J=Z.__stx_serverDeclared;if(!J||J.size===0)return!1;let X=u0($);for(let Y of J)if(new RegExp(`(?<![.#\\w$])${Y}(?![\\w$])`).test(X))return!0;return!1}function c9($,Z){let J=$;return J=J.replace(/\{!!([\s\S]*?)!!\}/g,(X,Y)=>{try{let Q=x0(Y,Z);if(Q===void 0)return X;return Q===null?"":String(Q)}catch{return X}}),J=J.replace(/\{\{([\s\S]*?)\}\}/g,(X,Y)=>{let Q=Y.trim();if(/^__[A-Z_]+__$/.test(Q))return X;try{let G=x0(Y,Z);if(G===void 0)return X;return JSON.stringify(G).replace(/</g,"\\u003c")}catch{return X}}),J}function NZ($,Z){if(!$.includes("{"))return $;let J=$;return J=J.replace(/\{!!([\s\S]*?)!!\}/g,(X,Y)=>{try{let Q=x0(Y,Z);if(Q===void 0)return X;return Q===null?"":String(Q)}catch{return X}}),J=J.replace(/\{\{([\s\S]*?)\}\}/g,(X,Y)=>{let Q=Y.trim();if(/^__[A-Z_]+__$/.test(Q))return X;try{let G=x0(Y,Z);if(G===void 0)return X;if(G===null)return"";return String(G).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}catch{return X}}),J}function Uq($,Z,J={}){let{output:X,scripts:Y}=n0($),Q=Y.map((G)=>{let z=G.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i),q=G.match(/^<script\b[^>]*>/i),K=G.search(/<\/script\s*>$/i);if(!z||!q||K===-1)return G;let W=z[1],U=z[2];if(/\bdata-raw\b/.test(W))return G;if(J.skipServer&&/\bserver\b/.test(W))return G;let j=`<script${NZ(W,Z)}>`;if(/\bsrc\s*=/.test(W)||/\btype\s*=\s*["']application\/json["']/.test(W))return j+U+G.slice(K);return j+c9(U,Z)+G.slice(K)});return m9(X,Q)}function V1($,Z,J){let X=$,Y=(U,H)=>{let j=m2(U,H);if(j===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(U.slice(H,j))?-1:j},Q=(U,H,j,B)=>{let V=j.length,{output:F,tokens:_}=B1(U,H,(O,L)=>B(V+L));return j.push(..._),F},G=[];X=Q(X,Y,G,(U)=>`<!--__STX_STYLE_${U}__-->`);let z=[];X=Q(X,Y2,z,(U)=>`<!--__STX_SCRIPT_EXPR_${U}__-->`);let q=Z?.__stx_signals_gate===!0||X1($),K=new Set(Array.isArray(Z?.__stx_client_signal_names)?Z.__stx_client_signal_names:[]),W=new Set(Array.isArray(Z?.__stx_preserved_client_expressions)?Z.__stx_preserved_client_expressions:[]);if(X=X.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(U,H,j)=>{try{let B=x0(H,Z,!1,(V)=>d9(V,U,J,$));return B!==void 0&&B!==null?String(B):""}catch(B){let V=B instanceof Error?B.message:String(B);return H0("Expression",`Error evaluating: {{{ ${H.trim()}}}}: ${V}`,J,$,j,U)}}),X=X.replace(/\{!!([\s\S]*?)!!\}/g,(U,H,j)=>{try{let B=x0(H,Z,!1,(V)=>d9(V,U,J,$));if(B===void 0&&Z.__stx_buildMode==="compile")return d2("raw",H.trim());return B!==void 0&&B!==null?String(B):""}catch(B){if(Z.__stx_buildMode==="compile")return d2("raw",H.trim());let V=B instanceof Error?B.message:String(B);return H0("Expression",`Error evaluating: {!! ${H.trim()} !!}: ${V}`,J,$,j,U)}}),X=Q(X,Y2,z,(U)=>`<!--__STX_SCRIPT_EXPR_${U}__-->`),X=Q(X,Y,G,(U)=>`<!--__STX_STYLE_${U}__-->`),X=X.replace(/\{\{([\s\S]*?)\}\}/g,(U,H,j)=>{let B=H.trim();if(W.has(B))return U;let V=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],F=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,O=B.match(F)?.[1],L=O&&((O in Z)||V.includes(O)),w=Boolean(O&&K.has(O)),R=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,N=B.match(R),A=N&&!V.includes(N[1])&&!(N[1]in Z);if(/^__[A-Z_]+__$/.test(B))return"";let T;try{let D=x0(H,Z,!1,(M)=>{T=M});if(w)return U;if(q&&!z3(B,Z))return U;if(T)d9(T,U,J,$);if(Z.__stx_buildMode==="compile"&&!q&&(D===void 0||RZ(B,Z)))return d2("expr",B);return D!==void 0&&D!==null?U3(String(D)):""}catch(D){if(w)return U;if(q&&!z3(B,Z))return U;if(A)return U;let M=D instanceof Error?D.message:String(D);return H0("Expression",`Error evaluating: {{ ${B} }}: ${M}`,J,$,j,U)}}),z.length>0)X=X.replace(/<!--__STX_SCRIPT_EXPR_(\d+)__-->/g,(U,H)=>z[Number(H)]??U);if(G.length>0)X=X.replace(/<!--__STX_STYLE_(\d+)__-->/g,(U,H)=>G[Number(H)]??U);return X}function DZ($,Z,J){if(!Z.trim())return $;let X=$,Y=Z.trim();while(Y.length>0){let Q=Y.match(/^(\w+)/);if(!Q)break;let G=Q[1];Y=Y.substring(G.length).trim();let z=Q2[G]||l2[G];if(!z)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(FZ()).join(", ")}`);let q=[];if(Y.startsWith(":")){let K=Y.match(/^:([^|\s]+)/);if(K){let W=K[1].trim();try{let U=Number(W);q=[Number.isNaN(U)?W:U]}catch{q=[W]}Y=Y.substring(K[0].length).trim()}}else if(Y.startsWith("(")){let K=1,W=1;while(K>0&&W<Y.length){if(Y[W]==="(")K++;if(Y[W]===")")K--;W++}if(K===0){let U=Y.substring(1,W-1).trim();if(U)try{if(U.startsWith("{")&&U.endsWith("}"))q=[x0(`(${U})`,J,!0)];else{let H=[],j="",B=null,V=0,F=0,_=0,O=!1;for(let L=0;L<U.length;L++){let w=U[L];if(O){j+=w,O=!1;continue}if(w==="\\"){j+=w,O=!0;continue}if(B){if(j+=w,w===B)B=null;continue}if(w==='"'||w==="'"||w==="`"){B=w,j+=w;continue}if(w==="(")V++;else if(w===")")V--;else if(w==="[")F++;else if(w==="]")F--;else if(w==="{")_++;else if(w==="}")_--;if(w===","&&V===0&&F===0&&_===0){H.push(j),j="";continue}j+=w}if(j)H.push(j);q=H.map((L)=>{let w=L.trim();return x0(w,J,!0)})}}catch{q=[U]}Y=Y.substring(W).trim()}}try{X=z(X,J,...q)}catch(K){let W=K instanceof Error?K.message:String(K);throw Error(`Error applying filter '${G}': ${W}`)}if(Y.startsWith("|"))Y=Y.substring(1).trim();else break}return X}function AZ($){let Z=!1,J="",X=0,Y=0,Q=0,G=!1;for(let z=0;z<$.length;z++){let q=$[z],K=$[z+1];if(Z&&G){G=!1;continue}if(Z&&q==="\\"){G=!0;continue}if(G=!1,(q==='"'||q==="'"||q==="`")&&!G){if(!Z)Z=!0,J=q;else if(q===J)Z=!1,J="";continue}if(Z&&J==="`"&&q==="$"&&K==="{"){let W=1;z+=2;while(z<$.length&&W>0){if($[z]==="{")W++;else if($[z]==="}")W--;if(W>0)z++}continue}if(Z)continue;if(q==="(")X++;else if(q===")")X--;else if(q==="[")Y++;else if(q==="]")Y--;else if(q==="{")Q++;else if(q==="}")Q--;if(q==="|"&&X===0&&Y===0&&Q===0){if(K==="|"){z++;continue}if(K==="="){z++;continue}return z}}return-1}var X2=new Set,MZ=1000;function Hq(){X2.clear()}function d9($,Z,J,X){if(!q3())return;let Y=`${J}\x00${$.expression}`;if(X2.has(Y))return;if(X2.size>=MZ)X2.clear();X2.add(Y);let Q=J,G=X;try{if(J&&Q3.existsSync(J))G=Q3.readFileSync(J,"utf8")}catch{}let z=G.indexOf(Z);if(z>=0)Q=`${J}:${G.slice(0,z).split(`
|
|
124
|
-
`).length}`;console.warn(`${Q}: stx warning: ${Z} rendered as an empty string. The safe evaluator rejected \`${$.expression}\` (${$.rule}). Compute the value in <script server> and interpolate the variable instead.`)}function x0($,Z,J=!1,X){try{let Y=$.trim(),Q=
|
|
123
|
+
`}),t$($,Y)}function t$($,Z){if(Z.length===0)return $;Z.sort((Q,G)=>Q.start-G.start||Q.end-G.end);let J=Array(Z.length*2+1),X=0,Y=0;for(let Q of Z)J[Y++]=$.slice(X,Q.start),J[Y++]=Q.replacement,X=Q.end;return J[Y]=$.slice(X),J.join("")}function Z3($){let Z=h2($),J=new Map;if(Z)for(let[X,Y]of Z)J.set(X,Y.instances);return J}function J3($,Z){let J=h2($);if(!J)return[];let X=[];for(let[Y,Q]of J){let G=Q.instances-(Z.get(Y)??0);if(G>0)X.push({body:Q.body,count:G})}return X}function X3($,Z){for(let{body:J,count:X}of Z)for(let Y=0;Y<X;Y++)u9($,J)}import Q3 from"fs";var Y3=0,u2=new Map;function rz(){Y3=0,u2.clear()}function d2($,Z){let J=Y3++,X=`<!--__STX_${$.toUpperCase()}_${J}__-->`;return u2.set(X,{type:$,expression:Z}),X}function az(){let $={};for(let[Z,J]of u2)$[Z]={type:J.type,expression:J.expression};return $}function tz($){let Z={},J=/<!--__STX_(EXPR|COND|RAW)_(\d+)__-->/g,X;while((X=J.exec($))!==null){let Y=X[0],Q=X[1].toLowerCase(),G=u2.get(Y);Z[Y]={type:Q,expression:G?.expression||""}}return Z}function ez($,Z){let J=$;for(let[X,Y]of Z)J=J.split(X).join(Y);return J}function $q($){return $.includes("<!--__STX_")}var Q2={},G3=new Map;function OZ($){let Z=G3.get($);if(!Z){let J=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${J}(?!\\w)`,"g"),G3.set($,Z)}return Z.lastIndex=0,Z}var l2={uppercase:($,Z)=>{return $!==void 0&&$!==null?String($).toUpperCase():""},lowercase:($,Z)=>{return $!==void 0&&$!==null?String($).toLowerCase():""},capitalize:($,Z)=>{if($===void 0||$===null)return"";let J=String($);return J.charAt(0).toUpperCase()+J.slice(1)},number:($,Z,J=0)=>{if($===void 0||$===null)return"";try{let X=Number($);return Number.isNaN(X)?"":X.toFixed(Number.parseInt(String(J),10))}catch{return""}},fmt:($,Z,J="en-US")=>{if($===void 0||$===null)return"";try{let X=Number($);if(Number.isNaN(X))return String($);return X.toLocaleString(J)}catch{return String($)}},join:($,Z,J=",")=>{if(!Array.isArray($))return"";return $.join(String(J))},escape:($,Z)=>{if($===void 0||$===null)return"";return U3(String($))},translate:($,Z,J={})=>{if(!Z||!Z.__translations)return $;let X=Z.__translations,Y=Z.__i18nConfig?.fallbackToKey??!0,Q=String($).split("."),G=X;for(let q of Q){if(G===void 0||G===null)break;G=G[q]}if(G===void 0||G===null)return Y?$:"";let z=String(G);return Object.entries(J).forEach(([q,K])=>{z=z.replace(OZ(q),String(K))}),z},t:($,Z,J={})=>{return l2.translate($,Z,J)},truncate:($,Z,J=50,X="...")=>{if($===void 0||$===null)return"";let Y=String($);if(Y.length<=J)return Y;if(J<=X.length)return X.substring(0,J);return Y.substring(0,J-X.length)+X},date:($,Z,J="short",X="en-US")=>{if($===void 0||$===null)return"";try{let Y=$ instanceof Date?$:new Date($);if(Number.isNaN(Y.getTime()))return String($);let Q={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"},time:{timeStyle:"short"},datetime:{dateStyle:"short",timeStyle:"short"},iso:{}};if(J==="iso")return Y.toISOString();return new Intl.DateTimeFormat(X,Q[J]||Q.short).format(Y)}catch{return String($)}},currency:($,Z,J="USD",X="en-US")=>{if($===void 0||$===null)return"";try{let Y=Number($);if(Number.isNaN(Y))return String($);return new Intl.NumberFormat(X,{style:"currency",currency:J}).format(Y)}catch{return String($)}},pluralize:($,Z,J,X)=>{let Y=Number($);if(Number.isNaN(Y))return J;let Q=X||`${J}s`;return Y===1?J:Q},first:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[0];return String($).charAt(0)},last:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[$.length-1];let J=String($);return J.charAt(J.length-1)},length:($,Z)=>{if($===void 0||$===null)return 0;if(Array.isArray($)||typeof $==="string")return $.length;if($ instanceof Map||$ instanceof Set)return $.size;if(typeof $==="object")return Object.keys($).length;return 0},json:($,Z,J=!1)=>{if($===void 0)return"undefined";if($===null)return"null";try{return J?JSON.stringify($,null,2):JSON.stringify($)}catch{return String($)}},default:($,Z,J="")=>{return $===void 0||$===null||$===""?J:$},reverse:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return[...$].reverse();return String($).split("").reverse().join("")},slice:($,Z,J=0,X)=>{if($===void 0||$===null)return"";if(Array.isArray($)||typeof $==="string")return $.slice(J,X);return $},replace:($,Z,J,X="")=>{if($===void 0||$===null)return"";let Y=J.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(Y,"g"),()=>X)},stripTags:($,Z)=>{if($===void 0||$===null)return"";return String($).replace(/<[^>]*>/g,"")},urlencode:($,Z)=>{if($===void 0||$===null)return"";return encodeURIComponent(String($))},abs:($,Z)=>{let J=Number($);return Number.isNaN(J)?0:Math.abs(J)},round:($,Z,J=0)=>{let X=Number($);if(Number.isNaN(X))return 0;let Y=10**J;return Math.round(X*Y)/Y}};function FZ($,Z){if($ in l2)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);Q2[$]=Z}function Wq($){for(let[Z,J]of Object.entries($))FZ(Z,J)}function wZ(){return{...l2,...Q2}}function Uq(){for(let $ of Object.keys(Q2))delete Q2[$]}function l9($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function U3($){return l9($).replace(/\{{2,}/g,(Z)=>RZ(Z.length)).replace(/\{(?=!)/g,`{${H3}`)}var H3="⁠";function RZ($){return Array.from({length:$},()=>"{").join(H3)}function X1($,Z){let{scripts:J}=n0($);for(let X of J){let Y=X.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i);if(!Y||/\bserver\b|\bsrc\s*=/.test(Y[1]))continue;let Q=Y[2];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect|useModel)\s*(?:<[^>]*>)?\s*\(/.test(Q))return!0;if(W3(Q,Z))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test($))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test($))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test($))return!0;return!1}function z3($,Z){let J=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","URL","URLSearchParams","Intl","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined","NaN","Infinity","isNaN","isFinite","window","document","console","new","typeof","instanceof","in","void"],X=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),Y="",Q=!1,G=0;for(let K=0;K<X.length;K++){let W=X[K];if(!Q&&W==="`"){Q=!0,G=0;continue}if(Q){if(W==="`"&&G===0){Q=!1;continue}if(W==="$"&&X[K+1]==="{"){G++,K++,Y+=" ";continue}if(W==="}"&&G>0){G--;continue}if(G>0){Y+=W;continue}continue}Y+=W}X=Y;let z=/(?<![a-zA-Z0-9_$])([a-zA-Z_$][a-zA-Z0-9_$]*)/g,q;while((q=z.exec(X))!==null){let K=q[1];if(!X.substring(0,q.index).trimEnd().endsWith(".")){if(!J.includes(K)&&!(K in Z))return!1}}return!0}function NZ($,Z){let J=Z.__stx_serverDeclared;if(!J||J.size===0)return!1;let X=u0($);for(let Y of J)if(new RegExp(`(?<![.#\\w$])${Y}(?![\\w$])`).test(X))return!0;return!1}function c9($,Z){let J=$;return J=J.replace(/\{!!([\s\S]*?)!!\}/g,(X,Y)=>{try{let Q=x0(Y,Z);if(Q===void 0)return X;return Q===null?"":String(Q)}catch{return X}}),J=J.replace(/\{\{([\s\S]*?)\}\}/g,(X,Y)=>{let Q=Y.trim();if(/^__[A-Z_]+__$/.test(Q))return X;try{let G=x0(Y,Z);if(G===void 0)return X;return JSON.stringify(G).replace(/</g,"\\u003c")}catch{return X}}),J}function DZ($,Z){if(!$.includes("{"))return $;let J=$;return J=J.replace(/\{!!([\s\S]*?)!!\}/g,(X,Y)=>{try{let Q=x0(Y,Z);if(Q===void 0)return X;return Q===null?"":String(Q)}catch{return X}}),J=J.replace(/\{\{([\s\S]*?)\}\}/g,(X,Y)=>{let Q=Y.trim();if(/^__[A-Z_]+__$/.test(Q))return X;try{let G=x0(Y,Z);if(G===void 0)return X;if(G===null)return"";return String(G).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}catch{return X}}),J}function Hq($,Z,J={}){let{output:X,scripts:Y}=n0($),Q=Y.map((G)=>{let z=G.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i),q=G.match(/^<script\b[^>]*>/i),K=G.search(/<\/script\s*>$/i);if(!z||!q||K===-1)return G;let W=z[1],U=z[2];if(/\bdata-raw\b/.test(W))return G;if(J.skipServer&&/\bserver\b/.test(W))return G;let j=`<script${DZ(W,Z)}>`;if(/\bsrc\s*=/.test(W)||/\btype\s*=\s*["']application\/json["']/.test(W))return j+U+G.slice(K);return j+c9(U,Z)+G.slice(K)});return m9(X,Q)}function V1($,Z,J){let X=$,Y=(U,H)=>{let j=m2(U,H);if(j===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(U.slice(H,j))?-1:j},Q=(U,H,j,B)=>{let V=j.length,{output:F,tokens:_}=B1(U,H,(O,L)=>B(V+L));return j.push(..._),F},G=[];X=Q(X,Y,G,(U)=>`<!--__STX_STYLE_${U}__-->`);let z=[];X=Q(X,Y2,z,(U)=>`<!--__STX_SCRIPT_EXPR_${U}__-->`);let q=Z?.__stx_signals_gate===!0||X1($),K=new Set(Array.isArray(Z?.__stx_client_signal_names)?Z.__stx_client_signal_names:[]),W=new Set(Array.isArray(Z?.__stx_preserved_client_expressions)?Z.__stx_preserved_client_expressions:[]);if(X=X.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(U,H,j)=>{try{let B=x0(H,Z,!1,(V)=>d9(V,U,J,$));return B!==void 0&&B!==null?String(B):""}catch(B){let V=B instanceof Error?B.message:String(B);return H0("Expression",`Error evaluating: {{{ ${H.trim()}}}}: ${V}`,J,$,j,U)}}),X=X.replace(/\{!!([\s\S]*?)!!\}/g,(U,H,j)=>{try{let B=x0(H,Z,!1,(V)=>d9(V,U,J,$));if(B===void 0&&Z.__stx_buildMode==="compile")return d2("raw",H.trim());return B!==void 0&&B!==null?String(B):""}catch(B){if(Z.__stx_buildMode==="compile")return d2("raw",H.trim());let V=B instanceof Error?B.message:String(B);return H0("Expression",`Error evaluating: {!! ${H.trim()} !!}: ${V}`,J,$,j,U)}}),X=Q(X,Y2,z,(U)=>`<!--__STX_SCRIPT_EXPR_${U}__-->`),X=Q(X,Y,G,(U)=>`<!--__STX_STYLE_${U}__-->`),X=X.replace(/\{\{([\s\S]*?)\}\}/g,(U,H,j)=>{let B=H.trim();if(W.has(B))return U;let V=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],F=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,O=B.match(F)?.[1],L=O&&((O in Z)||V.includes(O)),w=Boolean(O&&K.has(O)),R=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,N=B.match(R),A=N&&!V.includes(N[1])&&!(N[1]in Z);if(/^__[A-Z_]+__$/.test(B))return"";let T;try{let D=x0(H,Z,!1,(M)=>{T=M});if(w)return U;if(q&&!z3(B,Z))return U;if(T)d9(T,U,J,$);if(Z.__stx_buildMode==="compile"&&!q&&(D===void 0||NZ(B,Z)))return d2("expr",B);return D!==void 0&&D!==null?U3(String(D)):""}catch(D){if(w)return U;if(q&&!z3(B,Z))return U;if(A)return U;let M=D instanceof Error?D.message:String(D);return H0("Expression",`Error evaluating: {{ ${B} }}: ${M}`,J,$,j,U)}}),z.length>0)X=X.replace(/<!--__STX_SCRIPT_EXPR_(\d+)__-->/g,(U,H)=>z[Number(H)]??U);if(G.length>0)X=X.replace(/<!--__STX_STYLE_(\d+)__-->/g,(U,H)=>G[Number(H)]??U);return X}function AZ($,Z,J){if(!Z.trim())return $;let X=$,Y=Z.trim();while(Y.length>0){let Q=Y.match(/^(\w+)/);if(!Q)break;let G=Q[1];Y=Y.substring(G.length).trim();let z=Q2[G]||l2[G];if(!z)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(wZ()).join(", ")}`);let q=[];if(Y.startsWith(":")){let K=Y.match(/^:([^|\s]+)/);if(K){let W=K[1].trim();try{let U=Number(W);q=[Number.isNaN(U)?W:U]}catch{q=[W]}Y=Y.substring(K[0].length).trim()}}else if(Y.startsWith("(")){let K=1,W=1;while(K>0&&W<Y.length){if(Y[W]==="(")K++;if(Y[W]===")")K--;W++}if(K===0){let U=Y.substring(1,W-1).trim();if(U)try{if(U.startsWith("{")&&U.endsWith("}"))q=[x0(`(${U})`,J,!0)];else{let H=[],j="",B=null,V=0,F=0,_=0,O=!1;for(let L=0;L<U.length;L++){let w=U[L];if(O){j+=w,O=!1;continue}if(w==="\\"){j+=w,O=!0;continue}if(B){if(j+=w,w===B)B=null;continue}if(w==='"'||w==="'"||w==="`"){B=w,j+=w;continue}if(w==="(")V++;else if(w===")")V--;else if(w==="[")F++;else if(w==="]")F--;else if(w==="{")_++;else if(w==="}")_--;if(w===","&&V===0&&F===0&&_===0){H.push(j),j="";continue}j+=w}if(j)H.push(j);q=H.map((L)=>{let w=L.trim();return x0(w,J,!0)})}}catch{q=[U]}Y=Y.substring(W).trim()}}try{X=z(X,J,...q)}catch(K){let W=K instanceof Error?K.message:String(K);throw Error(`Error applying filter '${G}': ${W}`)}if(Y.startsWith("|"))Y=Y.substring(1).trim();else break}return X}function MZ($){let Z=!1,J="",X=0,Y=0,Q=0,G=!1;for(let z=0;z<$.length;z++){let q=$[z],K=$[z+1];if(Z&&G){G=!1;continue}if(Z&&q==="\\"){G=!0;continue}if(G=!1,(q==='"'||q==="'"||q==="`")&&!G){if(!Z)Z=!0,J=q;else if(q===J)Z=!1,J="";continue}if(Z&&J==="`"&&q==="$"&&K==="{"){let W=1;z+=2;while(z<$.length&&W>0){if($[z]==="{")W++;else if($[z]==="}")W--;if(W>0)z++}continue}if(Z)continue;if(q==="(")X++;else if(q===")")X--;else if(q==="[")Y++;else if(q==="]")Y--;else if(q==="{")Q++;else if(q==="}")Q--;if(q==="|"&&X===0&&Y===0&&Q===0){if(K==="|"){z++;continue}if(K==="="){z++;continue}return z}}return-1}var X2=new Set,IZ=1000;function jq(){X2.clear()}function d9($,Z,J,X){if(!q3())return;let Y=`${J}\x00${$.expression}`;if(X2.has(Y))return;if(X2.size>=IZ)X2.clear();X2.add(Y);let Q=J,G=X;try{if(J&&Q3.existsSync(J))G=Q3.readFileSync(J,"utf8")}catch{}let z=G.indexOf(Z);if(z>=0)Q=`${J}:${G.slice(0,z).split(`
|
|
124
|
+
`).length}`;console.warn(`${Q}: stx warning: ${Z} rendered as an empty string. The safe evaluator rejected \`${$.expression}\` (${$.rule}). Compute the value in <script server> and interpolate the variable instead.`)}function x0($,Z,J=!1,X){try{let Y=$.trim(),Q=MZ(Y);if(Q>0){let z=Y.substring(0,Q).trim(),q=Y.substring(Q+1).trim(),K=x0(z,Z,!0,X);return AZ(K,q,Z)}let G=K3(Y);if(G!==null){X?.({expression:Y,rule:G});return}try{let z=Object.keys(Z),q=Object.values(Z);return K0(Y,z)(...q)}catch{return e(Y,Z)}}catch(Y){if(Y instanceof ReferenceError){let Q=/(\b\w+)\s+is not defined/.exec(Y.message);if(Q){let G=Q[1],z=TZ(G,Object.keys(Z));if(z&&z!==G)Y.message=`${Y.message} \u2014 did you mean '${z}'?`}}if(!J)console.error(`Error evaluating expression: ${$}`,Y);throw Y}}function TZ($,Z){let J=null;for(let Y of Z){if(Y===$)continue;let Q=kZ($,Y);if(J===null||Q<J.dist)J={key:Y,dist:Q}}if(!J)return null;let X=Math.max($.length,J.key.length);if(J.dist<=2||J.dist/X<=0.35)return J.key;return null}function kZ($,Z){if($===Z)return 0;if($.length===0)return Z.length;if(Z.length===0)return $.length;let[J,X]=$.length<Z.length?[$,Z]:[Z,$],Y=Array(J.length+1),Q=Array(J.length+1);for(let G=0;G<=J.length;G++)Y[G]=G;for(let G=1;G<=X.length;G++){Q[0]=G;for(let z=1;z<=J.length;z++){let q=J[z-1]===X[G-1]?0:1;Q[z]=Math.min(Q[z-1]+1,Y[z]+1,Y[z-1]+q)}for(let z=0;z<=J.length;z++)Y[z]=Q[z]}return Y[J.length]}function Bq($){if(!$)return"";return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/&/g,"&")}import MG from"fs";import T0 from"path";var p9=[{open:/<!--/g,close:/-->/g},{open:/<script\b/gi,close:/<\/script\s*>/gi},{open:/<style\b/gi,close:/<\/style\s*>/gi}],j3=/<body\b([^>]*)>/gi;function s0($){let Z=0,J,X=p9.map(()=>{return});while(Z<$.length){if(J===void 0||J!==null&&J.index<Z)j3.lastIndex=Z,J=j3.exec($);if(!J)return null;let Y=J.index,Q=-1,G=null;for(let q=0;q<p9.length;q++){let K=p9[q],W=X[q];if(W===void 0||W!==null&&W.index<Z)K.open.lastIndex=Z,W=K.open.exec($),X[q]=W;if(!W)continue;if(W.index<Y&&(Q===-1||W.index<Q))Q=W.index,G=K.close}if(Q===-1||!G)return{index:Y,tag:J[0],attrs:J[1]??""};G.lastIndex=Q;let z=G.exec($);if(!z)return null;Z=z.index+z[0].length}return null}function y1($,Z){let J=s0($);if(!J)return $;return $.slice(0,J.index)+Z(J.tag,J.attrs)+$.slice(J.index+J.tag.length)}var B3=null;function EZ($){if(!B3)return console.warn(`[stx] ${$} must be called within a component setup.`),null;return B3}function Lq($){let Z=EZ("onUpdate");if(Z)Z.updateHooks.push($)}function V3(){return`
|
|
125
125
|
// STX Lifecycle Runtime
|
|
126
126
|
(function() {
|
|
127
127
|
if (typeof window === 'undefined') return;
|
|
@@ -469,7 +469,7 @@ else {
|
|
|
469
469
|
|
|
470
470
|
console.log('[stx] Lifecycle runtime initialized');
|
|
471
471
|
})();
|
|
472
|
-
`}function i9($){return Symbol($)}var
|
|
472
|
+
`}function i9($){return Symbol($)}var Oq=i9("theme"),Fq=i9("router"),wq=i9("i18n");import*as L3 from"crypto";function _3($){let Z=/\$(\w+)\./g,J=[],X;while((X=Z.exec($))!==null)if(!J.includes(X[1]))J.push(X[1]);return J}function bZ(){return`stx-${L3.randomBytes(4).toString("hex")}`}function yZ($){return/\$\w+\./.test($)}function CZ($){if(!$.includes("{{")||!/\$\w+\./.test($))return{html:$,bindings:[],stores:new Set};let Z=[],J=new Set,X=/<(\w+)([^>]*?)(\s*\/?>)/g,Y=$;return Y=Y.replace(X,(Q,G,z,q)=>{if(["script","style","template"].includes(G.toLowerCase()))return Q;let K=[],W=!1,U=z,H=/(\w+(?:-\w+)*)\s*=\s*"([^"]*\{\{[^}]*\$\w+[^}]*\}\}[^"]*)"/g,j=[...z.matchAll(H)];for(let F of j){let _=F[0],O=F[1],L=F[2];if(yZ(L)){W=!0;let w=L.match(/\{\{\s*([\s\S]+?)\s*\}\}/);if(w){let R=w[1];if(K.push({attr:O,expr:R,fullMatch:_,originalAttr:O}),_3(R).forEach((A)=>J.add(A)),O==="text")U=U.replace(_,"");else if(O==="class")U=U.replace(_,'class=""');else if(O==="disabled"||O==="hidden")U=U.replace(_,"");else U=U.replace(_,`${O}=""`)}}}if(!W)return Q;let B=U.match(/\bid\s*=\s*"([^"]+)"/),V;if(B)V=B[1];else V=bZ(),U=` id="${V}"${U}`;for(let F of K)Z.push({elementId:V,attribute:F.attr,expression:F.expr,stores:_3(F.expr)});return`<${G}${U}${q}`}),{html:Y,bindings:Z,stores:J}}function SZ($,Z){if($.length===0)return"";let J=Array.from(Z),X=`
|
|
473
473
|
<script>
|
|
474
474
|
(function() {
|
|
475
475
|
'use strict';
|
|
@@ -627,10 +627,10 @@ else {
|
|
|
627
627
|
}
|
|
628
628
|
})();
|
|
629
629
|
</script>
|
|
630
|
-
`,X}function O3($){let{html:Z,bindings:J,stores:X}=
|
|
630
|
+
`,X}function O3($){let{html:Z,bindings:J,stores:X}=CZ($);if(J.length===0)return $;let Y=SZ(J,X),Q=Z.lastIndexOf("</body>");if(Q!==-1)return Z.slice(0,Q)+Y+Z.slice(Q);return Z+Y}function F3($){let Z=$.analytics;if(!Z?.enabled)return"";switch(Z.driver){case"fathom":return PZ(Z);case"google-analytics":return vZ(Z);case"plausible":return fZ(Z);case"self-hosted":return xZ(Z);case"custom":return gZ(Z);default:return""}}function PZ($){let Z=$.fathom;if(!Z?.siteId)return"";let J=Z.scriptUrl||"https://cdn.usefathom.com/script.js",X=Z.defer!==!1?" defer":"",Y=[`data-site="${g0(Z.siteId)}"`];if(Z.honorDnt)Y.push('data-honor-dnt="true"');if(Z.spa)Y.push('data-spa="auto"');if(Z.canonical)Y.push(`data-canonical="${g0(Z.canonical)}"`);if(Z.auto===!1)Y.push('data-auto="false"');return`
|
|
631
631
|
<!-- Fathom Analytics -->
|
|
632
632
|
<script src="${g0(J)}" ${Y.join(" ")}${X}></script>
|
|
633
|
-
`}function
|
|
633
|
+
`}function vZ($){let Z=$.googleAnalytics;if(!Z?.measurementId)return"";let J=g0(Z.measurementId),X=Z.debug?`gtag('config', '${J}', { 'debug_mode': true });`:"";return`
|
|
634
634
|
<!-- Google Analytics -->
|
|
635
635
|
<script async src="https://www.googletagmanager.com/gtag/js?id=${J}"></script>
|
|
636
636
|
<script>
|
|
@@ -640,10 +640,10 @@ else {
|
|
|
640
640
|
gtag('config', '${J}');
|
|
641
641
|
${X}
|
|
642
642
|
</script>
|
|
643
|
-
`}function
|
|
643
|
+
`}function fZ($){let Z=$.plausible;if(!Z?.domain)return"";let J=Z.scriptUrl||"https://plausible.io/js/script.js",X=[`data-domain="${g0(Z.domain)}"`],Y=J,Q=[];if(Z.trackLocalhost)Q.push("local");if(Z.hashMode)Q.push("hash");if(Q.length>0&&J==="https://plausible.io/js/script.js")Y=`https://plausible.io/js/script.${Q.join(".")}.js`;return`
|
|
644
644
|
<!-- Plausible Analytics -->
|
|
645
645
|
<script defer data-domain="${g0(Z.domain)}" src="${g0(Y)}"></script>
|
|
646
|
-
`}function
|
|
646
|
+
`}function xZ($){let Z=$.selfHosted;if(!Z?.siteId||!Z?.apiEndpoint)return"";let J=g0(Z.siteId),X=g0(Z.apiEndpoint),Y=Z.honorDnt?'if(n.doNotTrack==="1")return;':"",Q=Z.trackHashChanges?"w.addEventListener('hashchange',pv);":"",G=Z.trackOutboundLinks?`
|
|
647
647
|
d.addEventListener('click',function(e){
|
|
648
648
|
var a=e.target.closest('a');
|
|
649
649
|
if(a&&a.hostname!==location.hostname){
|
|
@@ -676,7 +676,7 @@ else {
|
|
|
676
676
|
w.stxAnalytics={track:function(n,v){t('event',{name:n,value:v});}};
|
|
677
677
|
})();
|
|
678
678
|
</script>
|
|
679
|
-
`}function
|
|
679
|
+
`}function gZ($){let Z=$.custom;if(!Z)return"";if(Z.inlineScript)return`
|
|
680
680
|
<!-- Custom Analytics -->
|
|
681
681
|
<script>
|
|
682
682
|
${Z.inlineScript}
|
|
@@ -684,7 +684,7 @@ ${Z.inlineScript}
|
|
|
684
684
|
`;if(!Z.scriptUrl)return"";let J=[];if(Z.scriptId)J.push(`id="${g0(Z.scriptId)}"`);if(Z.attributes)for(let[Y,Q]of Object.entries(Z.attributes))J.push(`${g0(Y)}="${g0(Q)}"`);return`
|
|
685
685
|
<!-- Custom Analytics -->
|
|
686
686
|
<script${J.length>0?` ${J.join(" ")}`:""} src="${g0(Z.scriptUrl)}" defer></script>
|
|
687
|
-
`}function w3($,Z){let J=F3(Z);if(!J)return $;if(!$.includes("</head>")){let X=$.lastIndexOf("</body>");if(X!==-1)return $.slice(0,X)+J+$.slice(X);return $+J}return $.replace("</head>",`${J}</head>`)}function g0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}var
|
|
687
|
+
`}function w3($,Z){let J=F3(Z);if(!J)return $;if(!$.includes("</head>")){let X=$.lastIndexOf("</body>");if(X!==-1)return $.slice(0,X)+J+$.slice(X);return $+J}return $.replace("</head>",`${J}</head>`)}function g0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}var Dq={name:"analytics",hasEndTag:!1,handler:async($,Z,J,X)=>{let Y=J.__stx_config||{};return F3(Y)}};var hZ={enabled:!1,trackMouse:!0,trackClicks:!0,trackScroll:!0,samplingRate:100,honorDnt:!0,batchSize:50,maxDataPoints:1000,sessionTimeout:30,persistData:!1,storagePrefix:"stx_heatmap",captureAttributes:["data-heatmap-id","data-track"],ignoreSelectors:["[data-heatmap-ignore]",".heatmap-ignore"],debugOverlay:!1};function R3($){let Z=$.heatmap;if(!Z?.enabled)return"";let J={...hZ,...Z};return`
|
|
688
688
|
<!-- stx Heatmap - Privacy-Compliant Tracking -->
|
|
689
689
|
<script>
|
|
690
690
|
(function() {
|
|
@@ -1067,7 +1067,7 @@ else {
|
|
|
1067
1067
|
};
|
|
1068
1068
|
})();
|
|
1069
1069
|
</script>
|
|
1070
|
-
`}function N3($,Z){let J=R3(Z);if(!J)return $;let X=$.lastIndexOf("</body>");if(X!==-1)return $.slice(0,X)+J+$.slice(X);return $+J}var D3={name:"heatmap",hasEndTag:!1,description:"Inject privacy-compliant heatmap tracking script",handler:async($,Z,J,X)=>{let Y=J.__stx_config||{};if(Z.length>0){let Q=
|
|
1070
|
+
`}function N3($,Z){let J=R3(Z);if(!J)return $;let X=$.lastIndexOf("</body>");if(X!==-1)return $.slice(0,X)+J+$.slice(X);return $+J}var D3={name:"heatmap",hasEndTag:!1,description:"Inject privacy-compliant heatmap tracking script",handler:async($,Z,J,X)=>{let Y=J.__stx_config||{};if(Z.length>0){let Q=uZ(Z.join(" "));Y.heatmap={...Y.heatmap,...Q,enabled:!0}}return R3(Y)}};function uZ($){let Z={},J=$.match(/(\w+)=["']?([^"'\s]+)["']?/g)||[];for(let X of J){let[Y,Q]=X.split("="),G=Q?.replace(/["']/g,"");switch(Y){case"endpoint":Z.endpoint=G;break;case"samplingRate":Z.samplingRate=Number.parseInt(G,10);break;case"batchSize":Z.batchSize=Number.parseInt(G,10);break;case"trackMouse":Z.trackMouse=G==="true";break;case"trackClicks":Z.trackClicks=G==="true";break;case"trackScroll":Z.trackScroll=G==="true";break;case"honorDnt":Z.honorDnt=G==="true";break;case"debugOverlay":Z.debugOverlay=G==="true";break}}return Z}class A3{sessions=new Map;addSession($){let Z=this.sessions.get($.sid);if(Z)Z.points.push(...$.points),Z.lastActivity=Math.max(Z.lastActivity,$.lastActivity);else this.sessions.set($.sid,$)}getPageData($){let Z=[];for(let J of this.sessions.values())if(J.page===$)Z.push(...J.points);return Z}getClickData($){return this.getPageData($).filter((Z)=>Z.type==="click")}getMovementData($){return this.getPageData($).filter((Z)=>Z.type==="move")}getScrollData($){let Z=this.getPageData($).filter((X)=>X.type==="scroll"),J=new Map;for(let X of Z)if(X.depth!==void 0)J.set(X.depth,(J.get(X.depth)||0)+1);return Array.from(J.entries()).map(([X,Y])=>({depth:X,count:Y})).sort((X,Y)=>X.depth-Y.depth)}getZoneStats($){let Z=new Map,J=this.getPageData($);for(let X of J)if(X.zone){let Y=Z.get(X.zone)||{clicks:0,hovers:0};if(X.type==="click")Y.clicks++;else if(X.type==="move")Y.hovers++;Z.set(X.zone,Y)}return Z}generateGridData($,Z=20){let J=this.getPageData($),X=[];for(let Q=0;Q<Z;Q++){X[Q]=[];for(let G=0;G<Z;G++)X[Q][G]=0}for(let Q of J){let G=Math.min(Math.floor(Q.x/100*Z),Z-1),z=Math.min(Math.floor(Q.y/100*Z),Z-1);X[z][G]+=Q.type==="click"?3:1}let Y=0;for(let Q of X)for(let G of Q)Y=Math.max(Y,G);return X.map((Q,G)=>Q.map((z,q)=>({x:q,y:G,intensity:Y>0?z/Y:0})))}exportJSON(){return JSON.stringify({sessions:Array.from(this.sessions.values()),exportedAt:new Date().toISOString()},null,2)}clear(){this.sessions.clear()}get sessionCount(){return this.sessions.size}get totalPoints(){let $=0;for(let Z of this.sessions.values())$+=Z.points.length;return $}}function Mq(){return new A3}var dZ;((G)=>{G.Fade="fade";G.Slide="slide";G.Scale="scale";G.Flip="flip";G.Rotate="rotate";G.Custom="custom"})(dZ||={});var mZ;((X)=>{X.In="in";X.Out="out";X.Both="both"})(mZ||={});var lZ;((G)=>{G.Linear="linear";G.Ease="ease";G.EaseIn="ease-in";G.EaseOut="ease-out";G.EaseInOut="ease-in-out";G.Spring="spring"})(lZ||={});var t0={duration:300,delay:0,ease:"ease",direction:"both"};function cZ($,Z={}){let{duration:J,delay:X,ease:Y,direction:Q,custom:G}={...t0,...Z};if($==="custom"&&G)return G;switch($){case"fade":return`${Q==="in"?"opacity: 0; animation: fadeIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":Q==="out"?"opacity: 1; animation: fadeOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"opacity: 1; transition: opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
|
|
1071
1071
|
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
|
|
1072
1072
|
@keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } }`;case"slide":return`${Q==="in"?"transform: translateY(20px); opacity: 0; animation: slideIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":Q==="out"?"transform: translateY(0); opacity: 1; animation: slideOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"transform: translateY(0); opacity: 1; transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms), opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
|
|
1073
1073
|
@keyframes slideIn { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
|
|
@@ -1077,7 +1077,7 @@ else {
|
|
|
1077
1077
|
@keyframes flipIn { from { transform: perspective(400px) rotateX(-90deg); opacity: 0; } to { transform: perspective(400px) rotateX(0); opacity: 1; } }
|
|
1078
1078
|
@keyframes flipOut { from { transform: perspective(400px) rotateX(0); opacity: 1; } to { transform: perspective(400px) rotateX(90deg); opacity: 0; } }`;case"rotate":return`${Q==="in"?"transform: rotate(-90deg); opacity: 0; animation: rotateIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":Q==="out"?"transform: rotate(0); opacity: 1; animation: rotateOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"transform: rotate(0); opacity: 1; transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms), opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
|
|
1079
1079
|
@keyframes rotateIn { from { transform: rotate(-90deg); opacity: 0; } to { transform: rotate(0); opacity: 1; } }
|
|
1080
|
-
@keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function
|
|
1080
|
+
@keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function pZ(){return`
|
|
1081
1081
|
<script data-stx-scoped data-stx-run="once">
|
|
1082
1082
|
// Motion preferences handling
|
|
1083
1083
|
(function() {
|
|
@@ -1105,7 +1105,7 @@ else {
|
|
|
1105
1105
|
});
|
|
1106
1106
|
})();
|
|
1107
1107
|
</script>
|
|
1108
|
-
`}function
|
|
1108
|
+
`}function iZ($){return[/@animate\b/,/@transition\b/,/@scroll(?:Animate)?\b/,/@staggered\b/,/@sequence\b/,/@motion\b/,/@animationGroup\b/,/\bstx-transition\b/,/\bstx-(?:fade|scale|flip|rotate|slide|from-|observe)\b/,/data-animate=['"](?:auto|true|false)['"]/].some((J)=>J.test($))}function nZ($=0.1,Z="0px"){return`
|
|
1109
1109
|
<script data-stx-scoped data-stx-run="always">
|
|
1110
1110
|
// Intersection Observer for scroll animations
|
|
1111
1111
|
(function() {
|
|
@@ -1148,7 +1148,7 @@ else {
|
|
|
1148
1148
|
}
|
|
1149
1149
|
})();
|
|
1150
1150
|
</script>
|
|
1151
|
-
`}function
|
|
1151
|
+
`}function sZ(){return`
|
|
1152
1152
|
<style id="stx-animation-base">
|
|
1153
1153
|
:root {
|
|
1154
1154
|
--stx-transition-duration: 300ms;
|
|
@@ -1263,7 +1263,7 @@ else {
|
|
|
1263
1263
|
transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
|
|
1264
1264
|
}
|
|
1265
1265
|
</style>
|
|
1266
|
-
`}function
|
|
1266
|
+
`}function oZ($,Z,J={}){let{staggerDelay:X=50,sequence:Y=!1}=J;return`
|
|
1267
1267
|
<script data-stx-scoped data-stx-run="always">
|
|
1268
1268
|
// Animation Group: ${$}
|
|
1269
1269
|
(function() {
|
|
@@ -1300,21 +1300,21 @@ else {
|
|
|
1300
1300
|
}
|
|
1301
1301
|
})();
|
|
1302
1302
|
</script>
|
|
1303
|
-
`}var n9={name:"transition",handler:($,Z,J,X)=>{if(Z.length<1)return`<div class="stx-error">@transition directive requires at least a transition type</div>${$}`;let Y=Z[0],Q=Z.length>1?Number.parseInt(Z[1],10)||t0.duration:t0.duration,G=Z.length>2?Z[2]||t0.ease:t0.ease,z=Z.length>3?Number.parseInt(Z[3],10)||t0.delay:t0.delay,q=Z.length>4?Z[4]||t0.direction:t0.direction,K=`stx-transition-${Math.random().toString(36).substr(2,9)}`,W=
|
|
1304
|
-
style="--stx-transition-duration: ${Q}ms; --stx-transition-ease: ${G}; --stx-transition-delay: ${z}ms;">${$}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},s9={name:"scrollAnimate",handler:($,Z,J,X)=>{if(Z.length<1)return`<div class="stx-error">@scrollAnimate directive requires at least an animation type</div>${$}`;let Y=Z[0],Q=Z.length>1?Number.parseInt(Z[1],10)||300:300,G=Z.length>2?Z[2]||"ease":"ease",z=Z.length>3?Number.parseFloat(Z[3])||0.2:0.2,q=Z.length>4?Number.parseInt(Z[4],10)||0:0,K=`stx-scroll-${Math.random().toString(36).substr(2,9)}`,W=`--stx-transition-duration: ${Q}ms; --stx-transition-ease: ${G}; --stx-transition-delay: ${q}ms; will-change: opacity, transform;`,U="stx-transition stx-observe stx-out";if(Y==="fade")U+=" stx-fade";else if(Y==="slide-up"||Y==="slide")U+=" stx-from-bottom";else if(Y==="slide-down")U+=" stx-from-top";else if(Y==="slide-left")U+=" stx-from-right";else if(Y==="slide-right")U+=" stx-from-left";else if(Y==="scale")U+=" stx-scale";else if(Y.includes("-"))U+=` stx-${Y}`;else U+=` stx-${Y}`;return`<div id="${K}" class="${U}" style="${W}" data-threshold="${z}">${$}</div>`},hasEndTag:!0,description:"Applies animations that trigger when scrolled into view"},o9={name:"animationGroup",handler:($,Z,J,X)=>{if(Z.length<2)return`<div class="stx-error">@animationGroup directive requires a group name and at least one element selector</div>${$}`;let Y=Z[0],Q=Z.slice(1).map((K)=>K.startsWith("#")||K.startsWith(".")?K:`#${K}`),G=J.staggerDelay||50,z=J.sequence||!0,q=
|
|
1305
|
-
${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},r9={name:"motion",handler:($,Z,J,X)=>{let Y=Z.length>0?Z[0].toLowerCase()==="true":!0,Q=
|
|
1306
|
-
</head>`)}if(Y.includes("stx-observe")){if(!Y.includes("Intersection Observer for scroll animations")){let q=
|
|
1307
|
-
`+Y.slice(K)}}return Y}var M3={default:{stiffness:100,damping:10,mass:1},gentle:{stiffness:120,damping:14,mass:1},wobbly:{stiffness:180,damping:12,mass:1},stiff:{stiffness:210,damping:20,mass:1},slow:{stiffness:280,damping:60,mass:1},molasses:{stiffness:280,damping:120,mass:1}};function
|
|
1303
|
+
`}var n9={name:"transition",handler:($,Z,J,X)=>{if(Z.length<1)return`<div class="stx-error">@transition directive requires at least a transition type</div>${$}`;let Y=Z[0],Q=Z.length>1?Number.parseInt(Z[1],10)||t0.duration:t0.duration,G=Z.length>2?Z[2]||t0.ease:t0.ease,z=Z.length>3?Number.parseInt(Z[3],10)||t0.delay:t0.delay,q=Z.length>4?Z[4]||t0.direction:t0.direction,K=`stx-transition-${Math.random().toString(36).substr(2,9)}`,W=cZ(Y,{duration:Q,delay:z,ease:G,direction:q}),U="stx-transition",H="";if(Y==="fade")H="stx-fade";else if(Y==="slide")H="stx-slide";else if(Y==="scale")H="stx-scale";else if(Y==="flip")H="stx-flip";else if(Y==="rotate")H="stx-rotate";return`<div id="${K}" class="${U} ${H} ${q==="out"?"stx-out":""}"
|
|
1304
|
+
style="--stx-transition-duration: ${Q}ms; --stx-transition-ease: ${G}; --stx-transition-delay: ${z}ms;">${$}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},s9={name:"scrollAnimate",handler:($,Z,J,X)=>{if(Z.length<1)return`<div class="stx-error">@scrollAnimate directive requires at least an animation type</div>${$}`;let Y=Z[0],Q=Z.length>1?Number.parseInt(Z[1],10)||300:300,G=Z.length>2?Z[2]||"ease":"ease",z=Z.length>3?Number.parseFloat(Z[3])||0.2:0.2,q=Z.length>4?Number.parseInt(Z[4],10)||0:0,K=`stx-scroll-${Math.random().toString(36).substr(2,9)}`,W=`--stx-transition-duration: ${Q}ms; --stx-transition-ease: ${G}; --stx-transition-delay: ${q}ms; will-change: opacity, transform;`,U="stx-transition stx-observe stx-out";if(Y==="fade")U+=" stx-fade";else if(Y==="slide-up"||Y==="slide")U+=" stx-from-bottom";else if(Y==="slide-down")U+=" stx-from-top";else if(Y==="slide-left")U+=" stx-from-right";else if(Y==="slide-right")U+=" stx-from-left";else if(Y==="scale")U+=" stx-scale";else if(Y.includes("-"))U+=` stx-${Y}`;else U+=` stx-${Y}`;return`<div id="${K}" class="${U}" style="${W}" data-threshold="${z}">${$}</div>`},hasEndTag:!0,description:"Applies animations that trigger when scrolled into view"},o9={name:"animationGroup",handler:($,Z,J,X)=>{if(Z.length<2)return`<div class="stx-error">@animationGroup directive requires a group name and at least one element selector</div>${$}`;let Y=Z[0],Q=Z.slice(1).map((K)=>K.startsWith("#")||K.startsWith(".")?K:`#${K}`),G=J.staggerDelay||50,z=J.sequence||!0,q=oZ(Y,Q,{staggerDelay:G,sequence:z});return`${$}
|
|
1305
|
+
${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},r9={name:"motion",handler:($,Z,J,X)=>{let Y=Z.length>0?Z[0].toLowerCase()==="true":!0,Q=pZ();return`<div data-animate="${Y?"auto":"true"}">${$}</div>${Q}`},hasEndTag:!0,description:"Controls motion and animation preferences"};function I3($,Z,J,X){let Y=$;if(X.animation?.enabled===!1)return Y;let Q=J.includes("test")&&J.includes("animation");if(!iZ(Y)&&!Q)return Y;if(!Y.includes('<style id="stx-animation-base">')){let z=sZ();Y=Y.replace("</head>",`${z}
|
|
1306
|
+
</head>`)}if(Y.includes("stx-observe")){if(!Y.includes("Intersection Observer for scroll animations")){let q=nZ(),K=Y.lastIndexOf("</body>");if(K!==-1)Y=Y.slice(0,K)+q+`
|
|
1307
|
+
`+Y.slice(K)}}return Y}var M3={default:{stiffness:100,damping:10,mass:1},gentle:{stiffness:120,damping:14,mass:1},wobbly:{stiffness:180,damping:12,mass:1},stiff:{stiffness:210,damping:20,mass:1},slow:{stiffness:280,damping:60,mass:1},molasses:{stiffness:280,damping:120,mass:1}};function rZ($,Z){let J=Z.map((X)=>{let Y=X.offset!==void 0?`${X.offset*100}%`:"from",Q=Object.entries(X.properties).map(([G,z])=>`${G}: ${z}`).join("; ");return`${Y} { ${Q} }`}).join(`
|
|
1308
1308
|
`);return`@keyframes ${$} {
|
|
1309
1309
|
${J}
|
|
1310
|
-
}`}var
|
|
1310
|
+
}`}var aZ={name:"keyframe",hasEndTag:!0,handler:($,Z,J,X)=>{if(Z.length<1)return`<div class="stx-error">@keyframe requires an animation name</div>${$}`;let Y=Z[0].replace(/['"`]/g,""),Q=Z[1]?Number.parseInt(Z[1],10):1000,G=Z[2]?.replace(/['"`]/g,"")||"ease",z=Z[3]||"1",q=Z[4]?.replace(/['"`]/g,"")||"normal",K=Z[5]?.replace(/['"`]/g,"")||"forwards",W=`stx-keyframe-${Math.random().toString(36).slice(2,9)}`,U=`
|
|
1311
1311
|
animation-name: ${Y};
|
|
1312
1312
|
animation-duration: ${Q}ms;
|
|
1313
1313
|
animation-timing-function: ${G};
|
|
1314
1314
|
animation-iteration-count: ${z};
|
|
1315
1315
|
animation-direction: ${q};
|
|
1316
1316
|
animation-fill-mode: ${K};
|
|
1317
|
-
`.trim().replace(/\s+/g," ");return`<div id="${W}" style="${U}">${$}</div>`},description:"Applies a keyframe animation to an element"};function
|
|
1317
|
+
`.trim().replace(/\s+/g," ");return`<div id="${W}" style="${U}">${$}</div>`},description:"Applies a keyframe animation to an element"};function tZ($,Z,J,X,Y){return`
|
|
1318
1318
|
<script data-stx-scoped data-stx-run="always">
|
|
1319
1319
|
(function() {
|
|
1320
1320
|
const container = document.getElementById('${$}');
|
|
@@ -1328,7 +1328,7 @@ ${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a g
|
|
|
1328
1328
|
child.classList.add('${Y}');
|
|
1329
1329
|
});
|
|
1330
1330
|
})();
|
|
1331
|
-
</script>`}var
|
|
1331
|
+
</script>`}var eZ={name:"stagger",hasEndTag:!0,handler:($,Z,J,X)=>{let Y=Z[0]?.replace(/['"`]/g,"")||"> *",Q=Z[1]?Number.parseInt(Z[1],10):100,G=Z[2]?Number.parseInt(Z[2],10):0,z=Z[3]?.replace(/['"`]/g,"")||"fade",q=`stx-stagger-${Math.random().toString(36).slice(2,9)}`,K="stx-stagger-item";if(z==="fade")K+=" stx-fade";else if(z==="slide")K+=" stx-from-bottom";else if(z==="scale")K+=" stx-scale";let W=tZ(q,Y,G,Q,K);return`${`
|
|
1332
1332
|
<style>
|
|
1333
1333
|
#${q} .stx-stagger-item {
|
|
1334
1334
|
opacity: 0;
|
|
@@ -1338,12 +1338,12 @@ ${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a g
|
|
|
1338
1338
|
from { opacity: 0; transform: translateY(10px); }
|
|
1339
1339
|
to { opacity: 1; transform: translateY(0); }
|
|
1340
1340
|
}
|
|
1341
|
-
</style>`}<div id="${q}" class="stx-stagger-container">${$}</div>${W}`},description:"Applies staggered animations to child elements"};function
|
|
1341
|
+
</style>`}<div id="${q}" class="stx-stagger-container">${$}</div>${W}`},description:"Applies staggered animations to child elements"};function $J($){let{stiffness:Z,damping:J}=$,X=J/(2*Math.sqrt(Z));if(X<0.5)return"cubic-bezier(0.175, 0.885, 0.32, 1.275)";else if(X<1)return"cubic-bezier(0.34, 1.56, 0.64, 1)";else return"cubic-bezier(0.25, 0.1, 0.25, 1)"}var ZJ={name:"spring",hasEndTag:!0,handler:($,Z,J,X)=>{let Y=Z[0]?.replace(/['"`]/g,"")||"default",Q;if(M3[Y])Q=M3[Y];else Q={stiffness:Number.parseInt(Y,10)||100,damping:Z[1]?Number.parseInt(Z[1],10):10,mass:Z[2]?Number.parseFloat(Z[2]):1};let G=Z[3]?Number.parseInt(Z[3],10):500,z=`stx-spring-${Math.random().toString(36).slice(2,9)}`,q=$J(Q),K=`
|
|
1342
1342
|
transition: all ${G}ms ${q};
|
|
1343
1343
|
--stx-spring-stiffness: ${Q.stiffness};
|
|
1344
1344
|
--stx-spring-damping: ${Q.damping};
|
|
1345
1345
|
--stx-spring-mass: ${Q.mass};
|
|
1346
|
-
`.trim().replace(/\s+/g," ");return`<div id="${z}" class="stx-spring" style="${K}">${$}</div>`},description:"Applies spring physics animations to an element"};function
|
|
1346
|
+
`.trim().replace(/\s+/g," ");return`<div id="${z}" class="stx-spring" style="${K}">${$}</div>`},description:"Applies spring physics animations to an element"};function Tq($){let Z=`stx-timeline-${Math.random().toString(36).slice(2,9)}`;return`
|
|
1347
1347
|
<script data-stx-scoped data-stx-run="always">
|
|
1348
1348
|
(function() {
|
|
1349
1349
|
const timeline = ${JSON.stringify($)};
|
|
@@ -1380,7 +1380,7 @@ else {
|
|
|
1380
1380
|
runTimeline();
|
|
1381
1381
|
}
|
|
1382
1382
|
})();
|
|
1383
|
-
</script>`}function
|
|
1383
|
+
</script>`}function kq($,Z,J){let X=rZ($,Z),Y=`
|
|
1384
1384
|
.${$}-animation {
|
|
1385
1385
|
animation-name: ${$};
|
|
1386
1386
|
animation-duration: ${J.duration}ms;
|
|
@@ -1390,7 +1390,7 @@ else {
|
|
|
1390
1390
|
animation-direction: ${J.direction||"normal"};
|
|
1391
1391
|
animation-fill-mode: ${J.fill||"forwards"};
|
|
1392
1392
|
}`;return`${X}
|
|
1393
|
-
${Y}`}function
|
|
1393
|
+
${Y}`}function Eq($){let Z=$.trim().split(/\s+/),J={duration:300};for(let X=0;X<Z.length;X++){let Y=Z[X];if(/^\d+(?:ms|s)?$/.test(Y)){let Q=Number.parseInt(Y,10);if(X===0)J.duration=Y.endsWith("s")&&!Y.endsWith("ms")?Q*1000:Q;else J.delay=Y.endsWith("s")&&!Y.endsWith("ms")?Q*1000:Q}else if(Y==="infinite"||/^\d+$/.test(Y))J.iterations=Y==="infinite"?"infinite":Number.parseInt(Y,10);else if(["normal","reverse","alternate","alternate-reverse"].includes(Y))J.direction=Y;else if(["none","forwards","backwards","both"].includes(Y))J.fill=Y;else J.easing=Y}return J}function bq(){return`
|
|
1394
1394
|
<script data-stx-scoped data-stx-run="once">
|
|
1395
1395
|
window.__stxAnimation = {
|
|
1396
1396
|
// Registry of animations
|
|
@@ -1462,7 +1462,7 @@ else {
|
|
|
1462
1462
|
);
|
|
1463
1463
|
}
|
|
1464
1464
|
};
|
|
1465
|
-
</script>`}function
|
|
1465
|
+
</script>`}function yq($){let Z=$.customDirectives||[];return Z.push(n9),Z.push(o9),Z.push(r9),Z.push(s9),Z.push(aZ),Z.push(eZ),Z.push(ZJ),{...$,customDirectives:Z}}function T3($){let Z=$.match(/\bdefinePageMeta\s*\(\s*(\{[\s\S]*?\})\s*\)/m);if(!Z)return null;try{return Function(`return ${Z[1]}`)()}catch{return null}}function k3($){let Z=$?.layout;if(Z===!1)return!1;return typeof Z==="string"&&Z.trim()?Z.trim():void 0}var JJ=100,XJ=599,t9="__stxResponseStatus",G2="__stxResponseHeaders";function c2($){return typeof $==="number"&&Number.isInteger($)&&$>=JJ&&$<=XJ}function vq($){for(let Z of $.matchAll(/\bdefinePageMeta\s*\(\s*\{([\s\S]*?)\}\s*\)/g)){let J=Z[1].match(/(?:^|,)\s*status\s*:\s*(\d{3})(?=\s*(?:,|$))/);if(!J)continue;let X=Number(J[1]);if(c2(X))return X}return}function a9($,Z){if(!$||typeof $!=="object")return!1;let J=typeof Z==="string"&&/^\d+$/.test(Z.trim())?Number(Z.trim()):Z;if(!c2(J))return!1;return $[t9]=J,!0}function YJ($,Z,J){if(!$||typeof $!=="object")return;let X=String(Z??"").trim();if(!X)return;$[G2]={...$[G2],[X]:String(J)}}function QJ($){let Z=$?.[t9];return c2(Z)?Z:void 0}function GJ($){let Z=$?.[G2];if(!Z||typeof Z!=="object")return;let J=Object.entries(Z).map(([X,Y])=>[X,String(Y)]);return J.length>0?Object.fromEntries(J):void 0}function fq($,Z){if(!$||!Z||$===Z||typeof Z!=="object")return;let J=QJ($);if(J!==void 0)Z[t9]=J;let X=GJ($);if(X)Z[G2]={...Z[G2],...X}}function E3($){return{setResponseStatus:(Z)=>{a9($,Z)},notFound:(Z=404)=>{let J=c2(Z)&&Z>=400?Z:404;a9($,J)},setResponseHeader:(Z,J)=>{YJ($,Z,J)}}}function b3($,Z,J={}){if(!$.includes("@status"))return $;let{filePath:X,buildMode:Y}=J,Q=Y==="compile",G="",z=0,q=/@status\s*\(/g,K;while((K=q.exec($))!==null){let W=zJ($,K.index+K[0].length-1);if(W<0)break;let U=$.slice(K.index+K[0].length,W).trim(),H=/^\d+$/.test(U)?Number(U):e(U,Z),j=X?` in ${X}`:"";if(Q)console.warn(`[stx] @status(${U})${j} is skipped when precompiling: the build has no request, so the branch it sits in is not the one a visitor will get. Call notFound() or setResponseStatus(${U}) from <script server> instead \u2014 that runs per request.`);else if(!a9(Z,H))console.warn(`[stx] @status(${U})${j} is not an HTTP status (100-599) \u2014 ignoring it.`);G+=$.slice(z,K.index),z=W+1+($.slice(W+1).match(/^[^\S\n]*\n?/)?.[0].length??0),q.lastIndex=z}return z===0?$:G+$.slice(z)}function zJ($,Z){let J=1,X=null,Y=!1;for(let Q=Z+1;Q<$.length;Q++){let G=$[Q];if(Y){Y=!1;continue}if(X){if(G==="\\")Y=!0;else if(G===X)X=null;continue}if(G==='"'||G==="'"||G==="`"){X=G;continue}if(G==="(")J++;else if(G===")"&&--J===0)return Q}return-1}var qJ=0,KJ=0;function y3($,Z){let J=$.match(new RegExp(`${Z}\\s*=\\s*"([^"]*)"`,"i"));if(J)return J[1];let X=$.match(new RegExp(`${Z}\\s*=\\s*'([^']*)'`,"i"));if(X)return X[1];return null}function WJ($){let Z=[],J=/<([a-z][a-z0-9-]*)\s+([^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,X;while((X=J.exec($))!==null){let[Y,Q,G]=X,z=X.index,q=y3(G,"x-data");if(!q)continue;let K=`__stx_scope_${qJ++}`,W=y3(G,"x-init"),U=UJ($,Q,z+Y.length),H=$.slice(z,U.endIndex),j=HJ(H);Z.push({id:K,selector:`[data-stx-scope="${K}"]`,stateExpr:q,initExpr:W,bindings:[],refs:j})}return Z}function UJ($,Z,J){let X=1,Y=J,Q=new RegExp(`<${Z}(?:\\s|>)`,"gi"),G=new RegExp(`</${Z}>`,"gi"),z=new RegExp(`<${Z}[^>]*/\\s*>`,"gi");while(X>0&&Y<$.length){Q.lastIndex=Y,G.lastIndex=Y,z.lastIndex=Y;let q=Q.exec($),K=G.exec($),W=z.exec($);if(W&&W.index<(q?.index??1/0)){Y=W.index+W[0].length;continue}if(!K)return{endIndex:$.length};if(q&&q.index<K.index)X++,Y=q.index+q[0].length;else{if(X--,X===0)return{endIndex:K.index+K[0].length};Y=K.index+K[0].length}}return{endIndex:$.length}}function HJ($){let Z=new Map,J=$.replace(/x-data\s*=\s*"[^"]*"/gi,'x-data="__stripped__"').replace(/x-data\s*=\s*'[^']*'/gi,"x-data='__stripped__'"),X=/<[a-z][a-z0-9-]*\s+([^>]*x-ref\s*=\s*["']([^"']*)["'][^>]*)>/gi,Y;while((Y=X.exec(J))!==null){let[,Q,G]=Y,z=jJ(Q);Z.set(G,z)}return Z}function jJ($){let Z=$.match(/\bid\s*=\s*["']([^"']*)["']/);if(Z)return Z[1];return`__stx_el_${KJ++}`}function BJ(){return`
|
|
1466
1466
|
// STX Reactive Runtime - x-cloak and transition CSS
|
|
1467
1467
|
(function() {
|
|
1468
1468
|
var style = document.createElement('style');
|
|
@@ -1669,7 +1669,7 @@ window.__stx_reactive = (function() {
|
|
|
1669
1669
|
|
|
1670
1670
|
return { initScope: initScope, reactive: reactive };
|
|
1671
1671
|
})();
|
|
1672
|
-
`}function C3($,Z){let J=$.replace(/\{!!([\s\S]*?)!!\}/g,(z,q)=>{try{let K=x0(q,Z,!0);if(K===void 0)return z;return String(K)}catch{return z}}),X="",Y=0,Q=null;while(Y<J.length){let z=J[Y];if(Q&&z==="\\"){X+=z+(J[Y+1]??""),Y+=2;continue}if(z==="{"&&J[Y+1]==="{"){let q=J.indexOf("}}",Y+2);if(q!==-1){let K=J.slice(Y,q+2);X+=G(J.slice(Y+2,q),K,Q),Y=q+2;continue}}if(Q){if(z===Q)Q=null}else if(z==="'"||z==='"'||z==="`")Q=z;X+=z,Y++}return X;function G(z,q,K){let W;try{W=x0(z,Z,!0)}catch{return q}if(W===void 0)return q;if(K){let U=String(W).replace(/\\/g,"\\\\").replace(new RegExp(K==="`"?"`":K,"g"),`\\${K}`).replace(/\r/g,"\\r").replace(/\n/g,"\\n");return K==="`"?U.replace(/\$\{/g,"\\${"):U}if(typeof W==="string"){let U=W.trim();if(U.startsWith("{")&&U.endsWith("}")||U.startsWith("[")&&U.endsWith("]"))try{return JSON.parse(U),U}catch{}}return JSON.stringify(W)}}function
|
|
1672
|
+
`}function C3($,Z){let J=$.replace(/\{!!([\s\S]*?)!!\}/g,(z,q)=>{try{let K=x0(q,Z,!0);if(K===void 0)return z;return String(K)}catch{return z}}),X="",Y=0,Q=null;while(Y<J.length){let z=J[Y];if(Q&&z==="\\"){X+=z+(J[Y+1]??""),Y+=2;continue}if(z==="{"&&J[Y+1]==="{"){let q=J.indexOf("}}",Y+2);if(q!==-1){let K=J.slice(Y,q+2);X+=G(J.slice(Y+2,q),K,Q),Y=q+2;continue}}if(Q){if(z===Q)Q=null}else if(z==="'"||z==='"'||z==="`")Q=z;X+=z,Y++}return X;function G(z,q,K){let W;try{W=x0(z,Z,!0)}catch{return q}if(W===void 0)return q;if(K){let U=String(W).replace(/\\/g,"\\\\").replace(new RegExp(K==="`"?"`":K,"g"),`\\${K}`).replace(/\r/g,"\\r").replace(/\n/g,"\\n");return K==="`"?U.replace(/\$\{/g,"\\${"):U}if(typeof W==="string"){let U=W.trim();if(U.startsWith("{")&&U.endsWith("}")||U.startsWith("[")&&U.endsWith("]"))try{return JSON.parse(U),U}catch{}}return JSON.stringify(W)}}function VJ($,Z){if($.length===0)return"";let J=$.map((X)=>{let Y=JSON.stringify(Object.fromEntries(X.refs)),Q=C3(X.stateExpr,Z),G=X.initExpr?C3(X.initExpr,Z):null,z=JSON.stringify(Q),q=G?JSON.stringify(G):"null";return`
|
|
1673
1673
|
(function() {
|
|
1674
1674
|
var scopeEl = document.querySelector('${X.selector}');
|
|
1675
1675
|
if (!scopeEl) return;
|
|
@@ -1678,10 +1678,10 @@ window.__stx_reactive = (function() {
|
|
|
1678
1678
|
})();`}).join(`
|
|
1679
1679
|
`);return`
|
|
1680
1680
|
<script data-stx-scoped data-stx-reactive data-stx-run="always">
|
|
1681
|
-
${
|
|
1681
|
+
${BJ()}
|
|
1682
1682
|
${J}
|
|
1683
|
-
</script>`}function S3($,Z,J){if(!
|
|
1684
|
-
`+Y.slice(G);else Y+=Q;return Y}function
|
|
1683
|
+
</script>`}function S3($,Z,J){if(!LJ($))return $;let X=WJ($);if(X.length===0)return $;let Y=_J($,X),Q=VJ(X,Z),G=Y.lastIndexOf("</body>");if(G!==-1)Y=Y.slice(0,G)+Q+`
|
|
1684
|
+
`+Y.slice(G);else Y+=Q;return Y}function _J($,Z){let J=0,X=$.replace(/<([a-z][a-z0-9-]*)(\s+[^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,(Y,Q,G)=>{let z=Z[J++];if(!z)return Y;let q=/data-stx-scope="([^"]*)"/.exec(G);if(q)return z.id=q[1],z.selector=`[data-stx-scope="${z.id}"]`,Y;return`<${Q} data-stx-scope="${z.id}"${G}>`});return X=X.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),X=X.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),X=X.replace(/\s*x-init\s*=\s*"([^"]*)"/g,' data-stx-xinit="$1"'),X=X.replace(/\s*x-init\s*=\s*'([^']*)'/g," data-stx-xinit='$1'"),X}function LJ($){return/x-data\s*=\s*["']/.test($)}import HX from"fs";import O5 from"path";import{createHighlighter as jX}from"ts-syntax-highlighter";import $9 from"fs";import b0 from"path";import{loadConfigWithResult as QX}from"bunfig";z2();async function OJ($,Z,J,X){let Y=Z[0]?.replace(/['"]/g,"")||"main",Q=e9();if(Y!=="main")Q=Q.replace("container:'main'",`container:'${Y}'`);return`<script data-stx-router>${Q}</script>`}var P3={name:"stxRouter",handler:OJ,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"};function Y1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function v3($){let Z=$.trim().toLowerCase();return!Z.startsWith("javascript:")&&!Z.startsWith("vbscript:")&&!Z.startsWith("data:text/html")}function f3($){let Z=/^---\r?\n([\s\S]*?)\r?\n---\r?\n/,J=$.match(Z);if(!J)return{data:{},content:$.trim()};let X=J[1],Y=$.slice(J[0].length),Q={};for(let G of X.split(`
|
|
1685
1685
|
`)){let z=G.trim();if(!z||z.startsWith("#"))continue;let q=z.indexOf(":");if(q===-1)continue;let K=z.slice(0,q).trim(),W=z.slice(q+1).trim();if(typeof W==="string"){if(W.startsWith('"')&&W.endsWith('"')||W.startsWith("'")&&W.endsWith("'"))W=W.slice(1,-1);else if(W.startsWith("[")&&W.endsWith("]"))try{W=JSON.parse(W)}catch{}else if(W==="true")W=!0;else if(W==="false")W=!1;else if(/^-?\d+(?:\.\d+)?$/.test(W))W=Number(W)}Q[K]=W}return{data:Q,content:Y.trim()}}function q2($,Z={}){let{gfm:J=!0,breaks:X=!1}=Z,Y=$,Q=[];if(Y=Y.replace(/```(\w*)\n([\s\S]*?)```/g,(W,U,H)=>{let j=Q.length,B=U?` class="language-${Y1(U)}"`:"";return Q.push(`<pre><code${B}>${Y1(H.trim())}</code></pre>`),`\x00CODEBLOCK${j}\x00`}),Y=Y.replace(/`([^`]*)`/g,(W,U)=>`<code>${Y1(U)}</code>`),Y=Y.replace(/^######\s+(.*)$/gm,"<h6>$1</h6>"),Y=Y.replace(/^#####\s+(.*)$/gm,"<h5>$1</h5>"),Y=Y.replace(/^####\s+(.*)$/gm,"<h4>$1</h4>"),Y=Y.replace(/^###\s+(.*)$/gm,"<h3>$1</h3>"),Y=Y.replace(/^##\s+(.*)$/gm,"<h2>$1</h2>"),Y=Y.replace(/^#\s+(.*)$/gm,"<h1>$1</h1>"),Y=Y.replace(/\*\*\*(.+?)\*\*\*/g,"<strong><em>$1</em></strong>"),Y=Y.replace(/___(.+?)___/g,"<strong><em>$1</em></strong>"),Y=Y.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),Y=Y.replace(/__(.+?)__/g,"<strong>$1</strong>"),Y=Y.replace(/\*(.+?)\*/g,"<em>$1</em>"),Y=Y.replace(/(?<![a-zA-Z0-9])_(.+?)_(?![a-zA-Z0-9])/g,"<em>$1</em>"),J)Y=Y.replace(/~~(.+?)~~/g,"<del>$1</del>");if(Y=Y.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,(W,U,H)=>{return`<img src="${v3(H)?Y1(H):""}" alt="${Y1(U)}" />`}),Y=Y.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(W,U,H)=>{return`<a href="${v3(H)?Y1(H):""}">${U}</a>`}),Y=Y.replace(/^(?:---|\*\*\*|___)\s*$/gm,"<hr />"),Y=Y.replace(/^>\s+(.*)$/gm,"<blockquote>$1</blockquote>"),Y=Y.replace(/<\/blockquote>\n<blockquote>/g,`
|
|
1686
1686
|
`),Y=Y.replace(/^[*\-+]\s+(.*)$/gm,"<li data-ul>$1</li>"),Y=Y.replace(/(<li data-ul>.*<\/li>\n?)+/g,"<ul>$&</ul>"),Y=Y.replace(/<\/ul>\n<ul>/g,""),Y=Y.replace(/^\d+\.\s+(.*)$/gm,"<li data-ol>$1</li>"),Y=Y.replace(/(<li data-ol>.*<\/li>\n?)+/g,"<ol>$&</ol>"),Y=Y.replace(/<\/ol>\n<ol>/g,""),Y=Y.replace(/<li data-ul>/g,"<li>"),Y=Y.replace(/<li data-ol>/g,"<li>"),J)Y=Y.replace(/^\|(.+)\|\s*\n\|[-:\s|]+\|\s*\n((?:\|.+\|\s*\n)*)/gm,(W,U,H)=>{let B=`<tr>${U.split("|").map((F)=>F.trim()).filter(Boolean).map((F)=>`<th>${Y1(F)}</th>`).join("")}</tr>`,V=H.trim().split(`
|
|
1687
1687
|
`).map((F)=>{return`<tr>${F.split("|").map((O)=>O.trim()).filter(Boolean).map((O)=>`<td>${Y1(O)}</td>`).join("")}</tr>`}).join(`
|
|
@@ -1700,8 +1700,8 @@ ${V}
|
|
|
1700
1700
|
`)}</p>`);if(Y=z.join(`
|
|
1701
1701
|
`),X)Y=Y.replace(/\n/g,`<br />
|
|
1702
1702
|
`);for(let W=0;W<Q.length;W++)Y=Y.replace(`\x00CODEBLOCK${W}\x00`,Q[W]);return Y=Y.replace(/<p>\s*<\/p>/g,""),Y.trim()}async function x3($,Z,J=""){let X=$,Y=[],Q=/@markdown(?:\([^)]*\))?/g,G;while((G=Q.exec($))!==null){let z=G.index,q=G[0].match(/@markdown\(([^)]*)\)/),K=q?q[1]:"",W=z+G[0].length,U=1,H=W,j=-1;while(U>0&&H<$.length){let F=$.indexOf("@markdown",H),_=$.indexOf("@endmarkdown",H);if(_===-1)break;if(F!==-1&&F<_&&F!==z){let O=$[F+9];if(O==="("||O===`
|
|
1703
|
-
`||O==="\r"||O===" "||O===void 0)U++;H=F+9}else{if(U--,U===0){j=_;break}H=_+12}}if(j===-1)continue;let B=$.slice(W,j),V=$.slice(z,j+12);Y.push({fullMatch:V,options:K,content:B,index:z}),Q.lastIndex=j+12}for(let{fullMatch:z,options:q,content:K,index:W}of Y)try{let U={};if(q)q.split(",").forEach((B)=>{let V=B.trim();if(V)U[V]=!0});let H={gfm:U.gfm??!0,breaks:U.breaks??!1},j=q2(K.trim(),H);X=X.split(z).join(j)}catch(U){let H=U instanceof Error?U.message:String(U),j=H0("Markdown Directive",`Error processing markdown: ${H}`,J,$,W,z);X=X.split(z).join(j)}return X}async function g3($,Z,J,X){let Y={gfm:!0,breaks:!1};return Z.forEach((Q)=>{let G=Q.trim().replace(/['"]/g,"");if(G==="breaks")Y.breaks=!0;if(G==="no-gfm")Y.gfm=!1}),q2($.trim(),Y)}var _1=[320,480,640,768,1024,1280,1536,1920,2560],h3=[1,1.5,2,3],C1=["avif","webp","jpeg"],u3={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"},
|
|
1704
|
-
`)}function
|
|
1703
|
+
`||O==="\r"||O===" "||O===void 0)U++;H=F+9}else{if(U--,U===0){j=_;break}H=_+12}}if(j===-1)continue;let B=$.slice(W,j),V=$.slice(z,j+12);Y.push({fullMatch:V,options:K,content:B,index:z}),Q.lastIndex=j+12}for(let{fullMatch:z,options:q,content:K,index:W}of Y)try{let U={};if(q)q.split(",").forEach((B)=>{let V=B.trim();if(V)U[V]=!0});let H={gfm:U.gfm??!0,breaks:U.breaks??!1},j=q2(K.trim(),H);X=X.split(z).join(j)}catch(U){let H=U instanceof Error?U.message:String(U),j=H0("Markdown Directive",`Error processing markdown: ${H}`,J,$,W,z);X=X.split(z).join(j)}return X}async function g3($,Z,J,X){let Y={gfm:!0,breaks:!1};return Z.forEach((Q)=>{let G=Q.trim().replace(/['"]/g,"");if(G==="breaks")Y.breaks=!0;if(G==="no-gfm")Y.gfm=!1}),q2($.trim(),Y)}var _1=[320,480,640,768,1024,1280,1536,1920,2560],h3=[1,1.5,2,3],C1=["avif","webp","jpeg"],u3={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"},FJ={avif:"avif",webp:"webp",jpeg:"jpg",png:"png",gif:"gif"};function K2($,Z=_1,J={},X){return Z.sort((Y,Q)=>Y-Q).map((Y)=>{return`${Q1($,{...J,w:Y,fm:X})} ${Y}w`}).join(", ")}function oq($,Z=320,J=2560,X=0.08,Y={},Q){let G=wJ(Z,J,X);return K2($,G,Y,Q)}function wJ($,Z,J=0.08){let X=[],Y=$;while(Y<Z)X.push(Math.round(Y)),Y*=1+J*2;if(X[X.length-1]!==Z)X.push(Z);return X}function $5($,Z,J=h3,X={},Y){return J.sort((Q,G)=>Q-G).map((Q)=>{let G=Math.round(Z*Q);return`${Q1($,{...X,w:G,dpr:Q,fm:Y})} ${Q}x`}).join(", ")}function rq($,Z,J=h3,X=80,Y={},Q){let G={1:X,1.5:Math.round(X*0.9),2:Math.round(X*0.8),3:Math.round(X*0.7),4:Math.round(X*0.6),5:Math.round(X*0.5)};return J.sort((z,q)=>z-q).map((z)=>{let q=Math.round(Z*z),K=G[z]||Math.round(X*Math.max(0.5,1-z*0.1));return`${Q1($,{...Y,w:q,q:K,dpr:z,fm:Q})} ${z}x`}).join(", ")}function Z5($,Z="100vw"){if(!$||Object.keys($).length===0)return Z;let X=Object.entries($).map(([Y,Q])=>{let G=/^\d+$/.test(Y)?`${Y}px`:Y;return{bp:G,size:Q,numericBp:Number.parseInt(G)||0}}).sort((Y,Q)=>Y.numericBp-Q.numericBp).map(({bp:Y,size:Q})=>`(max-width: ${Y}) ${Q}`);return X.push(Z),X.join(", ")}function aq($,Z="100vw"){if(!$||$.length===0)return Z;let X=[...$].sort((Y,Q)=>(Y.maxWidth||0)-(Q.maxWidth||0)).filter((Y)=>Y.maxWidth).map((Y)=>`(max-width: ${Y.maxWidth}px) ${Y.imageWidth}`);return X.push(Z),X.join(", ")}var tq={fullWidth:"100vw",halfDesktop:"(max-width: 768px) 100vw, 50vw",thirdDesktop:"(max-width: 768px) 100vw, 33.33vw",quarterDesktop:"(max-width: 480px) 100vw, (max-width: 768px) 50vw, 25vw",contentWidth:"(max-width: 768px) 100vw, (max-width: 1200px) 80vw, 960px"};function Q1($,Z={}){let J=Object.entries(Z).filter(([,Q])=>Q!==void 0&&Q!==null).map(([Q,G])=>{if(Array.isArray(G))return[Q,G.join(",")];return[Q,String(G)]});if(J.length===0)return $;let X=J.map(([Q,G])=>`${Q}=${encodeURIComponent(G)}`).join("&"),Y=$.includes("?")?"&":"?";return`${$}${Y}${X}`}function eq($){let[Z,J]=$.split("?"),X={};if(J)new URLSearchParams(J).forEach((Q,G)=>{if(/^\d+$/.test(Q))X[G]=Number.parseInt(Q,10);else if(/^\d+\.\d+$/.test(Q))X[G]=Number.parseFloat(Q);else if(Q==="true")X[G]=!0;else if(Q==="false")X[G]=!1;else X[G]=Q});return{src:Z,params:X}}function $K($){let{src:Z,widths:J,dprValues:X,fixedWidth:Y,formats:Q=C1,baseUrl:G="",params:z={}}=$,q=[];for(let K of Q){let W,U;if(Y!==void 0&&X)W=$5(Z,Y,X,z,K),U=X.map((H)=>({path:"",url:Q1(Z,{...z,w:Math.round(Y*H),fm:K}),width:Math.round(Y*H),height:0,format:K,size:0,dpr:H}));else{let H=J||_1;W=K2(Z,H,z,K),U=H.map((j)=>({path:"",url:Q1(Z,{...z,w:j,fm:K}),width:j,height:0,format:K,size:0}))}q.push({srcset:W,format:K,mimeType:u3[K],variants:U})}return q}function ZK($,Z="100vw"){return $.map(({srcset:J,mimeType:X})=>`<source type="${X}" srcset="${J}" sizes="${Z}" />`).join(`
|
|
1704
|
+
`)}function JK($,Z){if($.length===0)return;let J=[...$].sort((Y,Q)=>Y.width-Q.width),X=J.find((Y)=>Y.width>=Z);if(X)return X;return J[J.length-1]}function J5($){return u3[$]||"application/octet-stream"}function XK($){return FJ[$]||$}function YK($){switch($.split(".").pop()?.toLowerCase()){case"jpg":case"jpeg":return"jpeg";case"png":return"png";case"webp":return"webp";case"avif":return"avif";case"gif":return"gif";default:return}}var RJ={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},X5=`
|
|
1705
1705
|
.stx-img-placeholder {
|
|
1706
1706
|
position: relative;
|
|
1707
1707
|
overflow: hidden;
|
|
@@ -1730,9 +1730,9 @@ ${V}
|
|
|
1730
1730
|
filter: blur(0);
|
|
1731
1731
|
transform: scale(1);
|
|
1732
1732
|
}
|
|
1733
|
-
`.trim();async function Y5(){try{return await import("ts-images")}catch{return null}}async function d3($,Z={}){let J={...
|
|
1733
|
+
`.trim();async function Y5(){try{return await import("ts-images")}catch{return null}}async function d3($,Z={}){let J={...RJ,...Z},X=await Y5();if(X)try{return await NJ($,J,X)}catch(Y){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${Y}`)}return m3($,J)}async function NJ($,Z,J){let{generatePlaceholder:X,generateThumbHash:Y}=J,G={blur:"blur",thumbhash:"thumbhash",blurhash:"thumbhash",pixelate:"pixelate","dominant-color":"dominant-color",none:"blur"}[Z.strategy]||"blur";if(Z.strategy==="thumbhash")return{dataURL:(await Y($)).dataUrl,width:32,height:32,aspectRatio:1,originalWidth:0,originalHeight:0,strategy:"thumbhash"};let z=await X($,{width:Z.width,height:Z.height,quality:Z.quality,blurLevel:Z.blurLevel,strategy:G,base64Encode:!0});return{dataURL:z.dataURL,width:z.width,height:z.height,aspectRatio:z.aspectRatio,originalWidth:z.originalWidth,originalHeight:z.originalHeight,strategy:Z.strategy,dominantColor:z.dominantColor,css:z.css}}function m3($,Z){let J=Z.width||20,X=Z.height||J,Y="#e5e7eb",Q=`<svg xmlns="http://www.w3.org/2000/svg" width="${J}" height="${X}" viewBox="0 0 ${J} ${X}"><rect fill="#e5e7eb" width="${J}" height="${X}"/></svg>`;return{dataURL:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(Q)}`,width:J,height:X,aspectRatio:J/X,originalWidth:0,originalHeight:0,strategy:Z.strategy,dominantColor:"#e5e7eb"}}async function GK($){let Z=await Y5();if(Z)try{return(await Z.generateThumbHash($)).dataUrl}catch{}return(await m3($,{strategy:"thumbhash",width:32,height:32})).dataURL}function zK($){let Z=$[0]|$[1]<<8|$[2]<<16,J=(Z&63)/63,X=(Z>>6&63)/31.5-1,Y=(Z>>12&63)/31.5-1,Q=(Z>>18&31)/31,G=Z>>23!==0,z=$[3]|$[4]<<8,q=(z>>3&63)/63,K=(z>>9&63)/63,W=z>>15!==0,U=Math.max(3,W?G?5:7:G?5:7),H=Math.max(3,W?G?5:7:G?5:7),j=32,B=32,V=Math.max(0,Math.min(255,Math.round((J+X)*255))),F=Math.max(0,Math.min(255,Math.round(J*255))),_=Math.max(0,Math.min(255,Math.round((J-X)*255))),O=`<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32">
|
|
1734
1734
|
<rect fill="rgb(${V},${F},${_})" width="32" height="32"/>
|
|
1735
|
-
</svg>`;return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(O)}`}async function
|
|
1735
|
+
</svg>`;return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(O)}`}async function qK($,Z=20,J=50){return d3($,{strategy:"blur",width:Z,quality:J,blurLevel:40})}async function KK($){let Z=await Y5();if(Z)try{return(await Z.generatePlaceholder($,{strategy:"dominant-color"})).dominantColor||"#e5e7eb"}catch{}return"#e5e7eb"}function WK($,Z=1,J=1){let X=`<svg xmlns="http://www.w3.org/2000/svg" width="${Z}" height="${J}"><rect fill="${$}" width="${Z}" height="${J}"/></svg>`;return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(X)}`}function l3($,Z,J={}){let X=J.transitionDuration||300,Y=J.easing||"ease-out";return`
|
|
1736
1736
|
#${$} {
|
|
1737
1737
|
--stx-img-transition-duration: ${X}ms;
|
|
1738
1738
|
--stx-img-transition-easing: ${Y};
|
|
@@ -1749,8 +1749,8 @@ ${V}
|
|
|
1749
1749
|
#${$}.stx-img-loaded img {
|
|
1750
1750
|
opacity: 1;
|
|
1751
1751
|
}
|
|
1752
|
-
`.trim()}function
|
|
1753
|
-
`):void 0,script:j0}}async function
|
|
1752
|
+
`.trim()}function UK($){return`background-image: url('${$.dataURL}'); background-size: cover; background-position: center;`}var S1=new Map;async function c3($,Z={}){let J=`${$}:${JSON.stringify(Z)}`;if(S1.has(J))return S1.get(J);let X=await d3($,Z);return S1.set(J,X),X}function HK(){S1.clear()}function jK(){return{size:S1.size,keys:Array.from(S1.keys())}}async function DJ(){try{return await import("./chunk-51gea48g.js")}catch($){if(!p3)console.warn("[stx-media] Image processor not available, some features disabled:",$),p3=!0;return null}}var p3=!1,Q5=80,p2="async",i2="lazy",i3=!1;async function W2($,Z={}){let J=Z,X=$;if(X.process&&!X.skipOptimization){if(J.tsImagesConfig?.enabled&&!J.isDev)return kJ(X,J)}if(J.processedResult?.processed)return q5($,J.processedResult,Z);if(J.responsiveVariants)return o3($,J.responsiveVariants,Z);let{src:Y,alt:Q,width:G,height:z,sizes:q,widths:K=_1,dpr:W,formats:U=C1,quality:H=Q5,params:j={},placeholder:B="none",placeholderOptions:V={},lazy:F=!0,priority:_=!1,loading:O=_?"eager":i2,decoding:L=p2,fetchpriority:w,objectFit:R,objectPosition:N,crossorigin:A,referrerpolicy:T}=$,D=$.class,M=$.style,k=$.id,I=$.data||{},{isDev:y=!1,baseUrl:E=""}=Z;if(y&&!Z.optimize)return IJ($);let b,C,f=k||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(B!=="none"&&!_)try{b=await c3(Y,{strategy:B,...V}),C=l3(f,b,V)}catch{}let u=W!==void 0&&G!==void 0,P;if(u)P=MJ($,f,b,Z);else P=await AJ($,f,b,Z);let h;if(_){let S0=U.includes("webp")?"webp":U[0],y0=K2(Y,K,{...j,q:H},S0),h0=typeof q==="object"?Z5(q):q||"100vw";h=`<link rel="preload" as="image" imagesrcset="${y0}" imagesizes="${h0}" />`}let m=[];if(!i3&&B!=="none")m.push(X5),i3=!0;if(C)m.push(C);let j0=F?s3(f):void 0;return{html:P,preloadLink:h,css:m.length>0?m.join(`
|
|
1753
|
+
`):void 0,script:j0}}async function AJ($,Z,J,X){let{src:Y,alt:Q,width:G,height:z,sizes:q,widths:K=_1,formats:W=C1,quality:U=Q5,params:H={},lazy:j=!0,priority:B=!1,loading:V=B?"eager":i2,decoding:F=p2,fetchpriority:_,objectFit:O,objectPosition:L,crossorigin:w,referrerpolicy:R}=$,N=$.class,A=$.style,T=$.data||{},D=typeof q==="object"?Z5(q):q||"100vw",M=[];for(let y of W){let E=K2(Y,K,{...H,q:U},y),b=J5(y);if(j&&!B)M.push(` <source type="${b}" data-srcset="${E}" data-sizes="${D}" />`);else M.push(` <source type="${b}" srcset="${E}" sizes="${D}" />`)}let k=G5({src:Q1(Y,{...H,q:U}),alt:Q,width:G,height:z,loading:B?void 0:V,decoding:F,fetchpriority:B?"high":_,objectFit:O,objectPosition:L,crossorigin:w,referrerpolicy:R,className:n3(N,J),style:z5(A,O,L,J),lazy:j&&!B,data:T}),I;if(J){let y=`background-image: url('${J.dataURL}'); background-size: cover; background-position: center;`;I=`<div id="${Z}" class="stx-img-placeholder" style="${y}">
|
|
1754
1754
|
<picture>
|
|
1755
1755
|
${M.join(`
|
|
1756
1756
|
`)}
|
|
@@ -1760,9 +1760,9 @@ ${M.join(`
|
|
|
1760
1760
|
${M.join(`
|
|
1761
1761
|
`)}
|
|
1762
1762
|
<img ${k} />
|
|
1763
|
-
</picture>`;return I}function
|
|
1763
|
+
</picture>`;return I}function MJ($,Z,J,X){let{src:Y,alt:Q,width:G,height:z,dpr:q=[1,2,3],quality:K=Q5,params:W={},lazy:U=!0,priority:H=!1,loading:j=H?"eager":i2,decoding:B=p2,fetchpriority:V,objectFit:F,objectPosition:_,crossorigin:O,referrerpolicy:L}=$,w=$.class,R=$.style,N=$.data||{},A=typeof G==="number"?G:Number.parseInt(String(G),10),T=$5(Y,A,q,{...W,q:K}),D=G5({src:Q1(Y,{...W,w:A,q:K}),alt:Q,width:G,height:z,loading:H?void 0:j,decoding:B,fetchpriority:H?"high":V,objectFit:F,objectPosition:_,crossorigin:O,referrerpolicy:L,className:n3(w,J),style:z5(R,F,_,J),lazy:U&&!H,data:N}),M=U&&!H?`data-srcset="${T}"`:`srcset="${T}"`;if(J){let k=`background-image: url('${J.dataURL}'); background-size: cover; background-position: center;`;return`<div id="${Z}" class="stx-img-placeholder" style="${k}">
|
|
1764
1764
|
<img ${D} ${M} />
|
|
1765
|
-
</div>`}return`<img ${Z?`id="${Z}" `:""}${D} ${M} />`}function
|
|
1765
|
+
</div>`}return`<img ${Z?`id="${Z}" `:""}${D} ${M} />`}function IJ($){let{src:Z,alt:J,width:X,height:Y,loading:Q=i2,decoding:G=p2,fetchpriority:z,objectFit:q,objectPosition:K,crossorigin:W,referrerpolicy:U,priority:H=!1}=$,j=$.class,B=$.style,V=$.id,F=$.data||{};return{html:`<img ${G5({src:Z,alt:J,width:X,height:Y,loading:H?"eager":Q,decoding:G,fetchpriority:H?"high":z,objectFit:q,objectPosition:K,crossorigin:W,referrerpolicy:U,className:j,style:z5(B,q,K),id:V,data:F})} />`}}function G5($){let Z=[];if($.lazy)Z.push(`data-src="${p0($.src)}"`),Z.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"');else Z.push(`src="${p0($.src)}"`);if(Z.push(`alt="${p0($.alt)}"`),$.width)Z.push(`width="${$.width}"`);if($.height)Z.push(`height="${$.height}"`);if($.loading)Z.push(`loading="${$.loading}"`);if($.decoding)Z.push(`decoding="${$.decoding}"`);if($.fetchpriority)Z.push(`fetchpriority="${$.fetchpriority}"`);if($.crossorigin)Z.push(`crossorigin="${$.crossorigin}"`);if($.referrerpolicy)Z.push(`referrerpolicy="${$.referrerpolicy}"`);if($.className)Z.push(`class="${p0($.className)}"`);if($.style)Z.push(`style="${p0($.style)}"`);if($.id)Z.push(`id="${p0($.id)}"`);if($.data)for(let[J,X]of Object.entries($.data))Z.push(`data-${J}="${p0(X)}"`);if($.lazy)Z.push("data-stx-lazy");return Z.join(" ")}function n3($,Z){let J=[];if($)J.push($);if(Z)J.push("stx-img-blur");return J.join(" ")||""}function z5($,Z,J,X){let Y=[];if(Z)Y.push(`object-fit: ${Z}`);if(J)Y.push(`object-position: ${J}`);if(X)Y.push("opacity: 0; transition: opacity 300ms ease-out");if($)Y.push($);return Y.join("; ")}function p0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function s3($){return`
|
|
1766
1766
|
(function() {
|
|
1767
1767
|
const container = document.getElementById('${$}');
|
|
1768
1768
|
if (!container) return;
|
|
@@ -1799,7 +1799,7 @@ ${M.join(`
|
|
|
1799
1799
|
|
|
1800
1800
|
observer.observe(container);
|
|
1801
1801
|
})();
|
|
1802
|
-
`.trim()}function
|
|
1802
|
+
`.trim()}function TJ($){let Z=$.match(/<Img\s+([^>]*?)\/?>/);if(!Z)return null;let J=Z[1],X={},Y=/(:?)(\w+)(?:=(?:"([^"]*)"|'([^']*)'|\{([^}]+)\}))?/g,Q;while((Q=Y.exec(J))!==null){let[,G,z,q,K,W]=Q,U=q??K??W??!0;if(G===":"&&typeof U==="string")try{X[z]=JSON.parse(U)}catch{X[z]=U}else switch(z){case"src":X.src=String(U);break;case"alt":X.alt=String(U);break;case"width":X.width=Number(U)||U;break;case"height":X.height=Number(U)||U;break;case"sizes":X.sizes=String(U);break;case"quality":X.quality=Number(U);break;case"placeholder":X.placeholder=U;break;case"lazy":X.lazy=U===!0||U==="true";break;case"priority":X.priority=U===!0||U==="true";break;case"class":X.class=String(U);break;case"style":X.style=String(U);break;case"id":X.id=String(U);break;case"loading":X.loading=U;break;case"decoding":X.decoding=U;break;case"fetchpriority":X.fetchpriority=U;break;case"objectFit":X.objectFit=U;break;case"objectPosition":X.objectPosition=String(U);break;case"crossorigin":X.crossorigin=U;break}}if(!X.src||!X.alt)return null;return X}async function LK($,Z={}){let J=/<Img\s+[^>]*?\/?>/g,X=[],Y=[],Q=[],G=$,z=[],q;while((q=J.exec($))!==null)z.push({match:q[0],index:q.index});for(let K=z.length-1;K>=0;K--){let{match:W}=z[K],U=TJ(W);if(U){let H=await W2(U,Z);if(G=G.replace(W,H.html),H.preloadLink)X.push(H.preloadLink);if(H.css)Y.push(H.css);if(H.script)Q.push(H.script)}}return{html:G,preloadLinks:X,styles:Y,scripts:Q}}async function kJ($,Z){let J=await DJ();if(!J)return W2({...$,process:!1},Z);let X=Z.tsImagesConfig;if($.responsiveWidths&&$.responsiveWidths.length>0||$.widths&&$.widths.length>0||!$.width&&!$.dpr){let Q=await J.generateResponsiveVariants($.src,$,X);if(Q)return o3($,Q,Z)}else{let Q=await J.processImage($.src,$,X);if(Q.processed)return q5($,Q,Z)}return W2({...$,process:!1},Z)}async function q5($,Z,J){let{alt:X,width:Y,height:Q,lazy:G=!0,priority:z=!1,objectFit:q,objectPosition:K,crossorigin:W,referrerpolicy:U}=$,H=$.class,j=$.style,B=$.id||`stx-img-${Math.random().toString(36).slice(2,8)}`,V=$.data||{},F=Z.variants||[],_=F.find((C)=>C.format==="jpeg")||F.find((C)=>C.format==="webp")||F[0],O=_?.url||$.src,L=F.filter((C)=>C.format===(_?.format||"jpeg")).map((C)=>`${C.url} ${C.width}w`).join(", "),w=new Map;for(let C of F){if(!w.has(C.format))w.set(C.format,[]);w.get(C.format).push(C)}let R=[],N=["avif","webp","jpeg","png"];for(let C of N){let f=w.get(C);if(f&&f.length>0){let u=f.map((h)=>`${h.url} ${h.width}w`).join(", "),P=J5(C);if(G&&!z)R.push(` <source type="${P}" data-srcset="${u}" />`);else R.push(` <source type="${P}" srcset="${u}" />`)}}let A=[];if(G&&!z){if(A.push(`data-src="${p0(O)}"`),A.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),L)A.push(`data-srcset="${L}"`)}else if(A.push(`src="${p0(O)}"`),L)A.push(`srcset="${L}"`);A.push(`alt="${p0(X)}"`);let T=Y||Z.originalWidth,D=Q||Z.originalHeight;if(T)A.push(`width="${T}"`);if(D)A.push(`height="${D}"`);if(!z)A.push(`loading="${G?"lazy":"eager"}"`);if(A.push('decoding="async"'),z)A.push('fetchpriority="high"');if(W)A.push(`crossorigin="${W}"`);if(U)A.push(`referrerpolicy="${U}"`);let M=[];if(q)M.push(`object-fit: ${q}`);if(K)M.push(`object-position: ${K}`);if(Z.placeholder&&G)M.push("opacity: 0; transition: opacity 300ms ease-out");if(j)M.push(j);if(M.length>0)A.push(`style="${M.join("; ")}"`);let k=[];if(H)k.push(H);if(Z.placeholder)k.push("stx-img-blur");if(k.length>0)A.push(`class="${k.join(" ")}"`);if(G&&!z)A.push("data-stx-lazy");for(let[C,f]of Object.entries(V))A.push(`data-${C}="${p0(f)}"`);let I;if(Z.placeholder||Z.dominantColor&&$.useDominantColor){let C=Z.placeholder?`background-image: url('${Z.placeholder}'); background-size: cover; background-position: center;`:`background-color: ${Z.dominantColor};`;I=`<div id="${B}" class="stx-img-placeholder" style="${C}">
|
|
1803
1803
|
<picture>
|
|
1804
1804
|
${R.join(`
|
|
1805
1805
|
`)}
|
|
@@ -1810,10 +1810,10 @@ ${R.join(`
|
|
|
1810
1810
|
`)}
|
|
1811
1811
|
<img ${A.join(" ")} />
|
|
1812
1812
|
</picture>`;let y=[];if(Z.placeholder)y.push(X5);let E=G?s3(B):void 0,b;if(z&&L)b=`<link rel="preload" as="image" imagesrcset="${L}" />`;return{html:I,preloadLink:b,css:y.length>0?y.join(`
|
|
1813
|
-
`):void 0,script:E}}async function o3($,Z,J){let X={src:Z.src,processed:!0,variants:[],placeholder:Z.placeholder?.dataURL,originalWidth:Z.placeholder?.width,originalHeight:Z.placeholder?.height};for(let[Y,Q]of Object.entries(Z.byFormat))if(Q)X.variants.push(...Q);return q5($,X,J)}function
|
|
1813
|
+
`):void 0,script:E}}async function o3($,Z,J){let X={src:Z.src,processed:!0,variants:[],placeholder:Z.placeholder?.dataURL,originalWidth:Z.placeholder?.width,originalHeight:Z.placeholder?.height};for(let[Y,Q]of Object.entries(Z.byFormat))if(Q)X.variants.push(...Q);return q5($,X,J)}function EJ(){return n2({name:"img",hasEndTag:!1,description:"Render an optimized responsive image with srcset and lazy loading",transform:async($,Z,J,X)=>{let{src:Y,alt:Q,options:G}=bJ($,Z,J);if(!Y)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let z={src:Y,alt:Q||"",widths:G.widths||_1,formats:G.formats||C1,quality:G.quality,sizes:G.sizes,dpr:G.dpr,params:G.params,placeholder:G.placeholder,placeholderOptions:G.placeholderOptions,lazy:G.lazy!==!1,priority:G.priority||!1,loading:G.loading,decoding:G.decoding,fetchpriority:G.fetchpriority,objectFit:G.objectFit,objectPosition:G.objectPosition,class:G.class,style:G.style,id:G.id,width:G.width,height:G.height},q=J.__isDev||!1,K=await W2(z,{isDev:q}),W=K.html;if(K.preloadLink)W=K.preloadLink+`
|
|
1814
1814
|
`+W;if(K.css)W+=`
|
|
1815
1815
|
<style>${K.css}</style>`;if(K.script)W+=`
|
|
1816
|
-
<script>${K.script}</script>`;return W},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function
|
|
1816
|
+
<script>${K.script}</script>`;return W},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function bJ($,Z,J){if(Z.src)return{src:String(Z.src),alt:String(Z.alt||""),options:Z.options||{}};let X=$.trim();if(X.startsWith("@img(")||X.startsWith("("))X=X.replace(/^@img\(/,"").replace(/^\(/,"").replace(/\)$/,"");let Y=yJ(X),Q=K5(Y[0],J)||"",G=K5(Y[1],J)||"",z={};if(Y[2]){let q=K5(Y[2],J);if(typeof q==="object"&&q!==null)z=q;else if(typeof Y[2]==="string")try{z=JSON.parse(Y[2])}catch{}}return{src:Q,alt:G,options:z}}function yJ($){let Z=[],J="",X=!1,Y="",Q=0,G=0;for(let z=0;z<$.length;z++){let q=$[z],K=z>0?$[z-1]:"";if((q==='"'||q==="'"||q==="`")&&K!=="\\"){if(!X)X=!0,Y=q;else if(q===Y)X=!1,Y="";else J+=q;continue}if(!X){if(q==="{")Q++;if(q==="}")Q--;if(q==="[")G++;if(q==="]")G--;if(q===","&&Q===0&&G===0){Z.push(J.trim()),J="";continue}}J+=q}if(J.trim())Z.push(J.trim());return Z}function K5($,Z){if(typeof $!=="string")return $;let J=$.trim();if(J.startsWith('"')&&J.endsWith('"')||J.startsWith("'")&&J.endsWith("'"))return J.slice(1,-1);if(!J.startsWith("/")&&!J.startsWith(".")&&!J.startsWith("http")&&!J.startsWith("{")){let X=Z[J];if(X!==void 0)return X}if(J.startsWith("{")||J.startsWith("["))try{return JSON.parse(J)}catch{}return J}var r3=EJ();async function t3(){try{return await import("./chunk-85p4dmft.js")}catch($){if(!a3)console.warn("[stx-media] Video processor not available, some features disabled:",$),a3=!0;return null}}var a3=!1,e3=!0,$7="metadata",CJ="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";async function s2($,Z={}){let J=Z,X=$;if(X.process&&!X.skipProcessing){if(J.tsVideosConfig?.enabled&&!J.isDev)return xJ(X,J)}if(J.processedResult?.processed)return J7($,J.processedResult,Z);let Y;if(X.generatePoster&&X.src&&!$.poster)Y=await gJ(X,J);let{src:Q,sources:G=[],poster:z,posterPlaceholder:q,controls:K=e3,autoplay:W=!1,muted:U=!1,loop:H=!1,preload:j=$7,playsinline:B=!0,lazy:V=!0,player:F="native",type:_,width:O,height:L,crossorigin:w,disablePictureInPicture:R=!1,disableRemotePlayback:N=!1}=$,A=Y||z,T=$.class,D=$.style,M=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(F==="ts-video")return PJ($,Z);if(_&&_!=="video")return SJ(Q||"",_,$);let k=G.length>0?G:Q?[{src:Q,type:Z7(Q)}]:[],I=[`id="${M}"`];if(K)I.push("controls");if(W)I.push("autoplay");if(U)I.push("muted");if(H)I.push("loop");if(B)I.push("playsinline");if(R)I.push("disablepictureinpicture");if(N)I.push("disableremoteplayback");if(w)I.push(`crossorigin="${w}"`);if(V){if(I.push(`data-preload="${j}"`),I.push('preload="none"'),A)I.push(`data-poster="${A0(A)}"`);I.push("data-stx-lazy")}else if(I.push(`preload="${j}"`),A)I.push(`poster="${A0(A)}"`);if(O)I.push(`width="${O}"`);if(L)I.push(`height="${L}"`);if(T)I.push(`class="${A0(T)}"`);if(D)I.push(`style="${A0(D)}"`);let y=k.map((C)=>{return` <source ${V?`data-src="${A0(C.src)}"`:`src="${A0(C.src)}"`} type="${C.type}"${C.media?` media="${C.media}"`:""} />`}).join(`
|
|
1817
1817
|
`),E=`<video ${I.join(" ")}>
|
|
1818
1818
|
${y}
|
|
1819
1819
|
Your browser does not support the video tag.
|
|
@@ -1852,9 +1852,9 @@ ${y}
|
|
|
1852
1852
|
|
|
1853
1853
|
observer.observe(video);
|
|
1854
1854
|
})();
|
|
1855
|
-
`.trim();return{html:E,script:b}}function
|
|
1855
|
+
`.trim();return{html:E,script:b}}function SJ($,Z,J){let{width:X=640,height:Y=360}=J,Q=J.class,G=J.style,z=J.id||`stx-embed-${Math.random().toString(36).slice(2,8)}`,q,K=null;switch(Z){case"youtube":K=vJ($),q=K?`https://www.youtube-nocookie.com/embed/${K}`:$;break;case"vimeo":K=fJ($),q=K?`https://player.vimeo.com/video/${K}`:$;break;case"dailymotion":K=$.split("/").pop()||"",q=`https://www.dailymotion.com/embed/video/${K}`;break;case"twitch":K=$.split("/").pop()||"",q=`https://player.twitch.tv/?video=${K}&parent=${typeof window<"u"?window.location.hostname:"localhost"}`;break;default:q=$}let W=[`id="${z}"`,`src="${A0(q)}"`,`width="${X}"`,`height="${Y}"`,'frameborder="0"',"allowfullscreen",'allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"'];if(Q)W.push(`class="${A0(Q)}"`);if(G)W.push(`style="${A0(G)}"`);if(J.lazy)W.push('loading="lazy"');return{html:`<div class="stx-video-embed" style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;">
|
|
1856
1856
|
<iframe ${W.join(" ")} style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe>
|
|
1857
|
-
</div>`}}function
|
|
1857
|
+
</div>`}}function PJ($,Z={}){let{src:J,sources:X=[],poster:Y,controls:Q=!0,autoplay:G=!1,muted:z=!1,loop:q=!1,preload:K="metadata",playsinline:W=!0,lazy:U=!0,width:H,height:j}=$,B=$.class,V=$.style,F=$.id||`ts-video-${Math.random().toString(36).slice(2,8)}`,_={src:X.length>0?X:J,autoplay:G,loop:q,muted:z,playsinline:W,preload:K,poster:Y,controls:Q,title:$.title},O=["position: relative",H?`width: ${typeof H==="number"?H+"px":H}`:"width: 100%",j?`height: ${typeof j==="number"?j+"px":j}`:"",V||""].filter(Boolean).join("; "),L=`
|
|
1858
1858
|
<div
|
|
1859
1859
|
id="${F}"
|
|
1860
1860
|
class="ts-video-player${B?" "+A0(B):""}"
|
|
@@ -1891,7 +1891,7 @@ ${y}
|
|
|
1891
1891
|
|
|
1892
1892
|
// Load ts-video-player from CDN
|
|
1893
1893
|
var script = document.createElement('script');
|
|
1894
|
-
script.src = '${
|
|
1894
|
+
script.src = '${CJ}';
|
|
1895
1895
|
script.onload = initPlayer;
|
|
1896
1896
|
script.onerror = function() {
|
|
1897
1897
|
console.error('[stx] Failed to load ts-video-player');
|
|
@@ -2021,7 +2021,7 @@ else {
|
|
|
2021
2021
|
.ts-video-player__play-button svg {
|
|
2022
2022
|
margin-left: 4px;
|
|
2023
2023
|
}
|
|
2024
|
-
`.trim();return{html:L,script:w,css:R}}function Z7($){switch($.split(".").pop()?.toLowerCase()){case"mp4":return"video/mp4";case"webm":return"video/webm";case"ogg":case"ogv":return"video/ogg";case"mov":return"video/quicktime";case"avi":return"video/x-msvideo";case"mkv":return"video/x-matroska";case"m3u8":return"application/x-mpegURL";default:return"video/mp4"}}function
|
|
2024
|
+
`.trim();return{html:L,script:w,css:R}}function Z7($){switch($.split(".").pop()?.toLowerCase()){case"mp4":return"video/mp4";case"webm":return"video/webm";case"ogg":case"ogv":return"video/ogg";case"mov":return"video/quicktime";case"avi":return"video/x-msvideo";case"mkv":return"video/x-matroska";case"m3u8":return"application/x-mpegURL";default:return"video/mp4"}}function vJ($){let Z=[/youtube\.com\/watch\?v=([^&]+)/,/youtube\.com\/embed\/([^?]+)/,/youtu\.be\/([^?]+)/,/youtube\.com\/v\/([^?]+)/];for(let J of Z){let X=$.match(J);if(X)return X[1]}return null}function fJ($){let Z=$.match(/vimeo\.com\/(\d+)/);return Z?Z[1]:null}function A0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'")}function DK($,Z,J){if(Z.src)return{src:String(Z.src),...Z};let X=$.trim();if(X.startsWith("@video(")||X.startsWith("("))X=X.replace(/^@video\(/,"").replace(/^\(/,"").replace(/\)$/,"");let Y=X.indexOf(",");if(Y===-1)return{src:X.replace(/^['"]|['"]$/g,"")};let Q=X.slice(0,Y).trim().replace(/^['"]|['"]$/g,""),G=X.slice(Y+1).trim();try{let z=JSON.parse(G);return{src:Q,...z}}catch{return{src:Q}}}async function xJ($,Z){let J=await t3();if(!J)return s2({...$,process:!1},Z);let X=Z.tsVideosConfig,Y=await J.processVideo($.src,$,X,$.onProcessProgress);if(Y.processed)return J7($,Y,Z);return s2({...$,process:!1},Z)}async function gJ($,Z){let J=await t3();if(!J||!$.src)return;let X=typeof $.generatePoster==="object"?$.generatePoster:{timestamp:0},Y=Z.tsVideosConfig||{enabled:!0,outputDir:"dist/videos",baseUrl:"/videos"};return(await J.generatePoster($.src,X,Y.outputDir,Y.baseUrl||"/videos"))?.url}function J7($,Z,J){let{controls:X=e3,autoplay:Y=!1,muted:Q=!1,loop:G=!1,preload:z=$7,playsinline:q=!0,lazy:K=!0,width:W,height:U,crossorigin:H,disablePictureInPicture:j=!1,disableRemotePlayback:B=!1}=$,V=$.class,F=$.style,_=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`,O=$.src,L=Z7(O);if(Z.transcoded)O=Z.transcoded.url,L="video/mp4";let w=Z.streaming?.hls||Z.streaming?.dash;if(w){if(Z.streaming?.hls)O=Z.streaming.hls.manifestUrl,L="application/x-mpegURL";else if(Z.streaming?.dash)O=Z.streaming.dash.manifestUrl,L="application/dash+xml"}let R=Z.poster?.url||$.poster,N=[`id="${_}"`];if(X)N.push("controls");if(Y)N.push("autoplay");if(Q)N.push("muted");if(G)N.push("loop");if(q)N.push("playsinline");if(j)N.push("disablepictureinpicture");if(B)N.push("disableremoteplayback");if(H)N.push(`crossorigin="${H}"`);if(K){if(N.push(`data-preload="${z}"`),N.push('preload="none"'),R)N.push(`data-poster="${A0(R)}"`);N.push("data-stx-lazy")}else if(N.push(`preload="${z}"`),R)N.push(`poster="${A0(R)}"`);let A=W||Z.metadata?.width,T=U||Z.metadata?.height;if(A)N.push(`width="${A}"`);if(T)N.push(`height="${T}"`);if(V)N.push(`class="${A0(V)}"`);if(F)N.push(`style="${A0(F)}"`);let M=` <source ${K?`data-src="${A0(O)}"`:`src="${A0(O)}"`} type="${L}" />`,k=`<video ${N.join(" ")}>
|
|
2025
2025
|
${M}
|
|
2026
2026
|
Your browser does not support the video tag.
|
|
2027
2027
|
</video>`;if(Z.spriteSheet)k=`<div class="stx-video-wrapper" data-sprite-sheet="${A0(Z.spriteSheet.url)}" data-sprite-cols="${Z.spriteSheet.columns}" data-sprite-interval="${Z.spriteSheet.interval}">
|
|
@@ -2070,9 +2070,9 @@ ${k}
|
|
|
2070
2070
|
width: 100%;
|
|
2071
2071
|
height: auto;
|
|
2072
2072
|
}
|
|
2073
|
-
`.trim();return{html:k,script:I,css:y}}function X7(){return n2({name:"video",hasEndTag:!1,description:"Render a video with optional ts-videos processing, streaming, and poster generation",transform:async($,Z,J,X)=>{let{src:Y,options:Q}=
|
|
2073
|
+
`.trim();return{html:k,script:I,css:y}}function X7(){return n2({name:"video",hasEndTag:!1,description:"Render a video with optional ts-videos processing, streaming, and poster generation",transform:async($,Z,J,X)=>{let{src:Y,options:Q}=hJ($,Z,J);if(!Y)return console.warn("@video directive: missing src argument"),"<!-- @video: missing src -->";let G={src:Y,poster:Q.poster,controls:Q.controls!==!1,autoplay:Q.autoplay||!1,muted:Q.muted||!1,loop:Q.loop||!1,preload:Q.preload||"metadata",playsinline:Q.playsinline!==!1,lazy:Q.lazy!==!1,player:Q.player||"native",type:Q.type,width:Q.width,height:Q.height,class:Q.class,style:Q.style,id:Q.id,crossorigin:Q.crossorigin,disablePictureInPicture:Q.disablePictureInPicture,disableRemotePlayback:Q.disableRemotePlayback,title:Q.title,quality:Q.quality,platform:Q.platform,process:Q.process,generatePoster:Q.generatePoster,streaming:Q.streaming,transcode:Q.transcode,spriteSheet:Q.spriteSheet,waveform:Q.waveform},q={isDev:J.__isDev||!1,tsVideosConfig:J.__tsVideosConfig},K=await s2(G,q),W=K.html;if(K.css)W+=`
|
|
2074
2074
|
<style>${K.css}</style>`;if(K.script)W+=`
|
|
2075
|
-
<script>${K.script}</script>`;return W},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function
|
|
2075
|
+
<script>${K.script}</script>`;return W},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function hJ($,Z,J){if(Z.src)return{src:String(Z.src),options:Z.options||{}};let X=$.trim();if(X.startsWith("@video(")||X.startsWith("("))X=X.replace(/^@video\(/,"").replace(/^\(/,"").replace(/\)$/,"");let Y=uJ(X),Q=Y7(Y[0],J)||"",G={};if(Y[1]){let z=Y7(Y[1],J);if(typeof z==="object"&&z!==null)G=z;else if(typeof Y[1]==="string")try{G=JSON.parse(Y[1])}catch{}}return{src:Q,options:G}}function uJ($){let Z=[],J="",X=!1,Y="",Q=0,G=0;for(let z=0;z<$.length;z++){let q=$[z],K=z>0?$[z-1]:"";if((q==='"'||q==="'"||q==="`")&&K!=="\\"){if(!X)X=!0,Y=q;else if(q===Y)X=!1,Y="";else J+=q;continue}if(!X){if(q==="{")Q++;if(q==="}")Q--;if(q==="[")G++;if(q==="]")G--;if(q===","&&Q===0&&G===0){Z.push(J.trim()),J="";continue}}J+=q}if(J.trim())Z.push(J.trim());return Z}function Y7($,Z){if(typeof $!=="string")return $;let J=$.trim();if(J.startsWith('"')&&J.endsWith('"')||J.startsWith("'")&&J.endsWith("'"))return J.slice(1,-1);if(!J.startsWith("/")&&!J.startsWith(".")&&!J.startsWith("http")&&!J.startsWith("{")){let X=Z[J];if(X!==void 0)return X}if(J.startsWith("{")||J.startsWith("["))try{return JSON.parse(J)}catch{}return J}var W5=X7();function G7($,Z,J,X){let Y=$;Y=Y.replace(/@meta\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(z,q,K)=>{if(!K&&q.includes(":")){let W=q.split(":"),U=q,H=W.length>1?W[1]:"";if(H&&Z[H])K=Z[H];else if(U.startsWith("og:")&&Z.openGraph&&Z.openGraph[W[1]])K=Z.openGraph[W[1]];else K="";return K?`<meta property="${c(U)}" content="${c(K)}">`:""}return K?`<meta name="${c(q)}" content="${c(K)}">`:""});let Q=/@metaTag\s*\(/g,G;while((G=Q.exec(Y))!==null){let z=G.index,q=z+G[0].length-1,K=1,W=q+1;while(W<Y.length&&K>0){if(Y[W]==="(")K++;else if(Y[W]===")"){if(K--,K===0)break}W++}if(K!==0)break;let U=Y.substring(q+1,W).trim(),H=W+1,j=(()=>{try{let B=E0(U,Z);if(!B)return"";let V="<meta";if(B.name)V+=` name="${c(String(B.name))}"`;if(B.property)V+=` property="${c(String(B.property))}"`;if(B.httpEquiv)V+=` http-equiv="${c(String(B.httpEquiv))}"`;if(B.content)V+=` content="${c(String(B.content))}"`;return V+=">",V}catch(B){let V=B instanceof Error?B.message:String(B);return X0("MetaTag",V,J0.EVALUATION_ERROR)}})();Y=Y.substring(0,z)+j+Y.substring(H),Q.lastIndex=0}return Y}function z7($,Z,J){let X=$,Y=/@structuredData\s*\(/g,Q;while((Q=Y.exec(X))!==null){let G=Q.index,z=G+Q[0].length-1,q=1,K=z+1;while(K<X.length&&q>0){if(X[K]==="(")q++;else if(X[K]===")"){if(q--,q===0)break}K++}if(q!==0)break;let W=X.substring(z+1,K).trim(),U=K+1,H=(()=>{try{let j=E0(W,Z);if(!j)return"";if(!j["@context"])j["@context"]="https://schema.org";return`<script type="application/ld+json">${JSON.stringify(j).replace(/<\//g,"<\\/")}</script>`}catch(j){let B=j instanceof Error?j.message:String(j);return X0("StructuredData",B,J0.EVALUATION_ERROR)}})();X=X.substring(0,G)+H+X.substring(U),Y.lastIndex=0}return X}function q7($,Z,J,X){let Y=$,Q=/@seo\s*\(\s*\{/g,G;while((G=Q.exec(Y))!==null){let z=Y.indexOf("{",G.index+4),q=1,K=z+1,W=null,U=!1;while(K<Y.length&&q>0){let _=Y[K];if(U){U=!1,K++;continue}if(_==="\\"&&W){U=!0,K++;continue}if(W){if(_===W)W=null;K++;continue}if(_==='"'||_==="'"||_==="`"){W=_,K++;continue}if(_==="{")q++;else if(_==="}")q--;K++}if(q!==0)break;let H=Y.substring(K).match(/^\s*\)/);if(!H)break;let j=K+H[0].length,B=Y.substring(z,K),V=Y.substring(G.index,j),F=((_)=>{try{let O=E0(_,Z);if(!O)return"";let L="";if(O.title)L+=`<title>${c(O.title)}</title>
|
|
2076
2076
|
`,L+=`<meta name="title" content="${c(O.title)}">
|
|
2077
2077
|
`;if(O.description)L+=`<meta name="description" content="${c(O.description)}">
|
|
2078
2078
|
`;if(O.keywords){let w=Array.isArray(O.keywords)?O.keywords.join(", "):O.keywords;L+=`<meta name="keywords" content="${c(w)}">
|
|
@@ -2098,8 +2098,8 @@ ${k}
|
|
|
2098
2098
|
`}if(w.site)L+=`<meta name="twitter:site" content="${c(w.site)}">
|
|
2099
2099
|
`;if(w.creator)L+=`<meta name="twitter:creator" content="${c(w.creator)}">
|
|
2100
2100
|
`}if(O.structuredData){let w=JSON.stringify(O.structuredData).replace(/<\//g,"<\\/");L+=`<script type="application/ld+json">${w}</script>
|
|
2101
|
-
`}return L.trim()}catch(O){let L=O instanceof Error?O.message:String(O);return X0("SEO",`Error processing @seo directive: ${L}`,J0.EVALUATION_ERROR)}})(B);Y=Y.substring(0,G.index)+F+Y.substring(j),Q.lastIndex=G.index+F.length}return Y}function K7($,Z,J){if(J.seo?.enabled===!1)return $;if($.includes("<!-- stx SEO Tags -->")||Z.__stx_seo_staged===!0||J.skipDefaultSeoTags===!0)return $;let X=Z.__stx_runtime_head;if(!!(X?.title||X?.meta?.some((_)=>_.property==="og:title"||_.name==="og:title"||_.name==="twitter:title"||_.name==="description")))return $;if(/<meta\s+(?:[^>]*\s)?property=["']og:title["']/i.test($)||/<meta\s+(?:[^>]*\s)?name=["']og:title["']/i.test($)||/<meta\s+(?:[^>]*\s)?name=["']twitter:title["']/i.test($))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let Q=$.includes("<title>")||$.includes("</title>"),G=
|
|
2102
|
-
<meta name="title" content="${c(K)}">`,j=
|
|
2101
|
+
`}return L.trim()}catch(O){let L=O instanceof Error?O.message:String(O);return X0("SEO",`Error processing @seo directive: ${L}`,J0.EVALUATION_ERROR)}})(B);Y=Y.substring(0,G.index)+F+Y.substring(j),Q.lastIndex=G.index+F.length}return Y}function K7($,Z,J){if(J.seo?.enabled===!1)return $;if($.includes("<!-- stx SEO Tags -->")||Z.__stx_seo_staged===!0||J.skipDefaultSeoTags===!0)return $;let X=Z.__stx_runtime_head;if(!!(X?.title||X?.meta?.some((_)=>_.property==="og:title"||_.name==="og:title"||_.name==="twitter:title"||_.name==="description")))return $;if(/<meta\s+(?:[^>]*\s)?property=["']og:title["']/i.test($)||/<meta\s+(?:[^>]*\s)?name=["']og:title["']/i.test($)||/<meta\s+(?:[^>]*\s)?name=["']twitter:title["']/i.test($))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let Q=$.includes("<title>")||$.includes("</title>"),G=dJ($),z=mJ(G),q=cJ(G),K="";if(Z.title)K=Z.title;else if(Z.meta&&Z.meta.title)K=Z.meta.title;else if(z)K=z;else if(J.seo?.defaultConfig?.title)K=J.seo.defaultConfig.title;else K=J.defaultTitle||"stx Project";let W="";if(Z.description)W=Z.description;else if(Z.meta&&Z.meta.description)W=Z.meta.description;else if(q)W=q;else if(J.seo?.defaultConfig?.description)W=J.seo.defaultConfig.description;else W=J.defaultDescription||"A website built with stx templating engine";let U="";if(Z.image)U=Z.image;else if(Z.meta&&Z.meta.image)U=Z.meta.image;else if(Z.openGraph&&Z.openGraph.image)U=Z.openGraph.image;else if(J.seo?.defaultImage)U=J.seo.defaultImage;else if(J.defaultImage)U=J.defaultImage;let H=Q?"":`
|
|
2102
|
+
<meta name="title" content="${c(K)}">`,j=lJ(G)?"":`
|
|
2103
2103
|
<meta name="description" content="${c(W)}">`,B=`
|
|
2104
2104
|
<!-- stx SEO Tags -->${H}${j}
|
|
2105
2105
|
<meta property="og:title" content="${c(K)}">
|
|
@@ -2116,15 +2116,15 @@ ${k}
|
|
|
2116
2116
|
${B}
|
|
2117
2117
|
`),V;return V.replace(/<head[^>]*>/,`$&
|
|
2118
2118
|
${B}
|
|
2119
|
-
`)}function
|
|
2119
|
+
`)}function dJ($){let Z=$.search(/<\/head\s*>/i);return Z===-1?$:$.slice(0,Z)}function W7($){return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/�*39;|'/g,"'").replace(/&/g,"&")}function mJ($){let Z=$.match(/<title(?:\s[^>]*)?>([\s\S]*?)<\/title\s*>/i);return Z?W7(Z[1].trim()):""}function U7($){return($.match(/<meta\s[^>]*>/gi)||[]).filter((Z)=>/\sname\s*=\s*["']description["']/i.test(Z))}function lJ($){return U7($).length>0}function cJ($){for(let Z of U7($)){let J=Z.match(/\scontent\s*=\s*(?:"([^"]*)"|'([^']*)')/i),X=(J?.[1]??J?.[2]??"").trim();if(X)return W7(X)}return""}function c($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var pJ=["og:","article:","book:","profile:","fb:","music:","video:"];function Q7($){let Z=$.trim(),J=Z[0];if((J==="'"||J==='"'||J==="`")&&Z.length>1&&Z.at(-1)===J)return{value:Z.slice(1,-1),quoted:!0};return{value:Z,quoted:!1}}var U5={name:"meta",handler:($,Z,J,X)=>{if(Z.length<1)return X0("Meta","meta directive requires at least the meta name",J0.INVALID_DIRECTIVE_SYNTAX);let Y=Q7(Z[0]).value,Q;if(Z.length>1){let q=Q7(Z[1]);Q=q.quoted?q.value:String(J?.[q.value]??q.value)}else{let q=Y.includes(":")?Y.slice(Y.indexOf(":")+1):Y,K=J?.openGraph;Q=String(J?.[q]??K?.[q]??"")}if(!Q)return"";let z=pJ.some((q)=>Y.startsWith(q))?{property:Y,content:Q}:{name:Y,content:Q};if(J)J.__stx_runtime_head=o2(J.__stx_runtime_head??{},{meta:[z]});return""},hasEndTag:!1},H5={name:"structuredData",handler:($,Z,J,X)=>{if($.trim()==="")return X0("StructuredData","structuredData directive requires JSON-LD content",J0.INVALID_DIRECTIVE_SYNTAX);try{let Y=JSON.parse($);if(!Y["@context"])Y["@context"]="https://schema.org";if(!Y["@type"])return X0("StructuredData","structuredData requires @type property",J0.INVALID_DIRECTIVE_SYNTAX);return`<script type="application/ld+json">${JSON.stringify(Y)}</script>`}catch(Y){let Q=Y instanceof Error?Y.message:String(Y);return X0("StructuredData",Q,J0.EVALUATION_ERROR)}},hasEndTag:!0};function CK(){return[U5,H5]}function SK($,Z){let J=Z.replace(/\/$/,""),X=new Date().toISOString().split("T")[0];return`<?xml version="1.0" encoding="UTF-8"?>
|
|
2120
2120
|
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
2121
2121
|
${$.map((Q)=>{let G=Q.startsWith("http")?Q:`${J}${Q.startsWith("/")?"":"/"}${Q}`;return` <sitemap>
|
|
2122
|
-
<loc>${
|
|
2122
|
+
<loc>${nJ(G)}</loc>
|
|
2123
2123
|
<lastmod>${X}</lastmod>
|
|
2124
2124
|
</sitemap>`}).join(`
|
|
2125
2125
|
`)}
|
|
2126
|
-
</sitemapindex>`}async function
|
|
2127
|
-
`).trim()}function
|
|
2126
|
+
</sitemapindex>`}async function PK($,Z){let{extensions:J=[".stx",".html",".htm"],ignore:X=["_*",".*","node_modules","components","partials","layouts"]}=Z,Y=[],Q=J.length===1?`*${J[0]}`:`*{${J.join(",")}}`,G=new Bun.Glob(`**/${Q}`);for await(let z of G.scan($)){if(X.some((H)=>{if(H.startsWith("*"))return z.includes(H.slice(1));return z.startsWith(H)||z.includes(`/${H}`)}))continue;let K=z.replace(/\\/g,"/").replace(/index\.(stx|html|htm)$/,"").replace(/\.(stx|html|htm)$/,"");if(!K.startsWith("/"))K=`/${K}`;if(K!=="/"&&K.endsWith("/"))K=K.slice(0,-1);let W=`${$}/${z}`,U;try{let H=await Bun.file(W).stat();if(H)U=new Date(H.mtime).toISOString().split("T")[0]}catch{}Y.push({loc:K||"/",lastmod:U,priority:K==="/"?1:0.5})}return Y.sort((z,q)=>z.loc.localeCompare(q.loc)),Y}function iJ($){let Z=[];for(let J of $.rules){if(Z.push(`User-agent: ${J.userAgent}`),J.allow)for(let X of J.allow)Z.push(`Allow: ${X}`);if(J.disallow)for(let X of J.disallow)Z.push(`Disallow: ${X}`);if(J.crawlDelay!==void 0)Z.push(`Crawl-delay: ${J.crawlDelay}`);Z.push("")}if($.sitemap){let J=Array.isArray($.sitemap)?$.sitemap:[$.sitemap];for(let X of J)Z.push(`Sitemap: ${X}`)}if($.host)Z.push(`Host: ${$.host}`);return Z.join(`
|
|
2127
|
+
`).trim()}function vK($){return iJ({rules:[{userAgent:"*",allow:["/"]}],sitemap:$})}function nJ($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}import sJ from"fs";import d0 from"path";async function dK($,Z){if(!$.webComponents?.enabled)return[];let J=$.webComponents.components||[],X=[];if(J.length>0){if($.debug)console.log(`Building ${J.length} web components...`);for(let Y of J)try{let Q=await oJ(Y,$,Z);if(Q)X.push(Q)}catch(Q){if(console.error(`Error building web component ${Y.name}:`,Q),$.debug)throw Q}}return X}async function oJ($,Z,J){let{name:X,file:Y,tag:Q,extends:G}=$;if(!X||!Y||!Q)return console.error("Invalid web component configuration, missing required fields:",$),null;let z=null;if(d0.isAbsolute(Y)&&await a(Y))z=Y;else if(Z.componentsDir){let V=d0.join(Z.componentsDir,Y);if(await a(V))z=V}if(!z)z=await r2(Y,process.cwd(),Z,J);if(!z)return console.error(`Web component source file not found: ${Y}`),null;let q=await Bun.file(z).text();J.add(z);let W=($.outputFormat||"js")==="ts",U=W?aJ({name:X,tag:Q,baseElement:G,source:q,shadowDOM:$.shadowDOM??!0,template:$.template??!0,styleSource:$.styleSource,attributes:$.attributes||[],attributeTypes:$.attributeTypes||{}}):rJ({name:X,tag:Q,baseElement:G,source:q,shadowDOM:$.shadowDOM??!0,template:$.template??!0,styleSource:$.styleSource,attributes:$.attributes||[]}),H=Z.webComponents?.outputDir||"dist/web-components";await sJ.promises.mkdir(H,{recursive:!0});let j=W?"ts":"js",B=d0.join(H,`${Q}.${j}`);if(await Bun.write(B,U),Z.debug)console.log(`Built web component ${X} -> ${B}`);return B}function rJ($){let{name:Z,tag:J,baseElement:X="HTMLElement",source:Y,shadowDOM:Q,template:G,styleSource:z,attributes:q=[]}=$,K=Y.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").trim();if(!Q)K=K.replace(/<slot\s+name=["']([^"']+)["']\s*>([\s\S]*?)<\/slot>/gi,'<div data-slot="$1">$2</div>'),K=K.replace(/<slot\s+name=["']([^"']+)["']\s*\/>/gi,'<div data-slot="$1"></div>'),K=K.replace(/<slot\s*>([\s\S]*?)<\/slot>/gi,"<div data-default-slot>$1</div>"),K=K.replace(/<slot\s*\/>/gi,"<div data-default-slot></div>");let W="";if(z)W=`<link rel="stylesheet" href="${z}">`;return`/**
|
|
2128
2128
|
* ${Z} Web Component
|
|
2129
2129
|
* Auto-generated from stx component
|
|
2130
2130
|
*/
|
|
@@ -2216,7 +2216,7 @@ class ${Z.replace(/\W/g,"")} extends ${X} {
|
|
|
2216
2216
|
|
|
2217
2217
|
// Register the web component
|
|
2218
2218
|
customElements.define('${J}', ${Z.replace(/\W/g,"")})
|
|
2219
|
-
`}function
|
|
2219
|
+
`}function aJ($){let{name:Z,tag:J,baseElement:X="HTMLElement",source:Y,shadowDOM:Q,template:G,styleSource:z,attributes:q=[],attributeTypes:K={}}=$,W=Z.replace(/\W/g,""),U=Y.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").trim();if(!Q)U=U.replace(/<slot\s+name=["']([^"']+)["']\s*>([\s\S]*?)<\/slot>/gi,'<div data-slot="$1">$2</div>'),U=U.replace(/<slot\s+name=["']([^"']+)["']\s*\/>/gi,'<div data-slot="$1"></div>'),U=U.replace(/<slot\s*>([\s\S]*?)<\/slot>/gi,"<div data-default-slot>$1</div>"),U=U.replace(/<slot\s*\/>/gi,"<div data-default-slot></div>");U=U.replace(/`/g,"\\`").replace(/\$\{/g,"\\${");let H=z?`<link rel="stylesheet" href="${z}">`:"",j=(R)=>{switch(K[R]){case"number":return"number";case"boolean":return"boolean";case"object":return"Record<string, unknown>";default:return"string"}},B=(R)=>R.replace(/-([a-z])/g,(N,A)=>A.toUpperCase()),V=q.map((R)=>` private _${B(R)}: ${j(R)} | null = null;`).join(`
|
|
2220
2220
|
`),F=q.map((R)=>{let N=j(R),A=B(R);return`
|
|
2221
2221
|
get ${A}(): ${N} | null {
|
|
2222
2222
|
return this._${A};
|
|
@@ -2371,9 +2371,9 @@ declare global {
|
|
|
2371
2371
|
|
|
2372
2372
|
// Register the web component
|
|
2373
2373
|
customElements.define('${J}', ${W});
|
|
2374
|
-
`}var j5={strategy:"attribute",attributeName:"data-v",preserveOriginal:!0};function B5($){let Z=$.split("").reduce((J,X)=>(J<<5)-J+X.charCodeAt(0)|0,0);return Math.abs(Z).toString(36).slice(0,8)}function
|
|
2374
|
+
`}var j5={strategy:"attribute",attributeName:"data-v",preserveOriginal:!0};function B5($){let Z=$.split("").reduce((J,X)=>(J<<5)-J+X.charCodeAt(0)|0,0);return Math.abs(Z).toString(36).slice(0,8)}function tJ($,Z,J={}){let X={...j5,...J},Y=B5(Z);switch(X.strategy){case"shadow":return $;case"prefix":return $X($,X.prefix||Z,X.preserveOriginal);case"attribute":return eJ($,Y,X.attributeName||"data-v",X.preserveOriginal);case"bem":return ZX($,Z,X.preserveOriginal);default:return $}}function eJ($,Z,J,X){let Y=`[${J}-${Z}]`;return $.replace(/([.#]?[\w-]+|\*)\s*(\{|,)/g,(Q,G,z)=>{if(G.startsWith("@"))return Q;if(/^(?::root|:host|html|body)$/i.test(G))return Q;return`${X?`${G}${Y}`:`${G}${Y}`}${z}`})}function $X($,Z,J){return $.replace(/\.([a-z_][\w-]*)/gi,(X,Y)=>{if(Y.startsWith(Z))return X;let Q=`${Z}__${Y}`;return J?`.${Q}`:`.${Q}`})}function ZX($,Z,J){let X=Z.replace(/[^a-z0-9]/gi,"-");return $.replace(/\.([a-z_][\w-]*)/gi,(Y,Q)=>{if(Q.includes("__")||Q.includes("--")){if(!Q.startsWith(X))return`.${X}__${Q}`;return Y}let G=`${X}__${Q}`;return J?`.${G}`:`.${G}`})}function JX($,Z,J={}){let X={...j5,...J};if(X.strategy==="shadow")return $;if(X.strategy==="attribute"){let Y=B5(Z),G=`${X.attributeName||"data-v"}-${Y}`;return $.replace(/<([a-z][a-z0-9-]*)([^>]*)>/gi,(z,q,K)=>{if(/^(?:script|style|!--)$/i.test(q))return z;let W=K.trimEnd().endsWith("/"),U=W?K.slice(0,-1):K;return`<${q}${U} ${G}${W?"/":""}>`})}if(X.strategy==="prefix"||X.strategy==="bem"){let Y=X.strategy==="bem"?Z.replace(/[^a-z0-9]/gi,"-"):X.prefix||Z;return $.replace(/\bclass\s*=\s*["']([^"']+)["']/gi,(Q,G)=>{return`class="${G.split(/\s+/).map((q)=>{if(!q)return q;if(q.startsWith(Y))return q;return`${Y}__${q}`}).join(" ")}"`})}return $}function mK($,Z={}){let J={...j5,...Z},X=B5($);return`${J.attributeName||"data-v"}-${X}`}function lK($,Z,J={}){let X="",Y=$.replace(/<style([^>]*)>([\s\S]*?)<\/style>/gi,(G,z,q)=>{if(/\bscoped\b/i.test(z)||J.strategy!=="shadow")X+=`${tJ(q,Z,J)}
|
|
2375
2375
|
`;else X+=`${q}
|
|
2376
|
-
`;return""});return{html:
|
|
2376
|
+
`;return""});return{html:JX(Y,Z,J),css:X.trim()}}function P1($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function cK($){let{name:Z,tag:J,baseElement:X="HTMLElement",template:Y,styles:Q="",shadowDOM:G=!0,properties:z={},lifecycle:q={},events:K={},methods:W={},state:U={}}=$,H=Z.replace(/\W/g,""),j=Object.keys(z),B=j.filter((T)=>z[T].attribute!==!1).map((T)=>z[T].attribute||P1(T)),V=j.map((T)=>{let D=z[T],M=D.default!==void 0?JSON.stringify(D.default):D.type==="string"?'""':D.type==="number"?"0":D.type==="boolean"?"false":D.type==="array"?"[]":"{}";return` this._${T} = ${M};`}).join(`
|
|
2377
2377
|
`),F=j.map((T)=>{let D=z[T],M=D.attribute!==!1?D.attribute||P1(T):null,k=D.reflect&&M?`
|
|
2378
2378
|
if (value !== null && value !== undefined) {
|
|
2379
2379
|
${D.type==="boolean"?`if (value) { this.setAttribute('${M}', ''); }
|
|
@@ -2575,7 +2575,7 @@ customElements.define('${J}', ${H});
|
|
|
2575
2575
|
// Export for module usage
|
|
2576
2576
|
export { ${H} };
|
|
2577
2577
|
export default ${H};
|
|
2578
|
-
`}function
|
|
2578
|
+
`}function pK($){let{name:Z,tag:J,baseElement:X="HTMLElement",template:Y,styles:Q="",shadowDOM:G=!0,properties:z={},lifecycle:q={},events:K={},methods:W={},state:U={}}=$,H=Z.replace(/\W/g,""),j=Object.keys(z),B=j.filter((D)=>z[D].attribute!==!1).map((D)=>z[D].attribute||P1(D)),V=(D)=>{switch(D){case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"object":return"Record<string, unknown>";case"array":return"unknown[]";default:return"unknown"}},F=j.length>0?`
|
|
2579
2579
|
/**
|
|
2580
2580
|
* Props interface for ${Z}
|
|
2581
2581
|
*/
|
|
@@ -2827,7 +2827,7 @@ declare global {
|
|
|
2827
2827
|
customElements.define('${J}', ${H});
|
|
2828
2828
|
|
|
2829
2829
|
export default ${H};
|
|
2830
|
-
`}function
|
|
2830
|
+
`}function iK(){return`/**
|
|
2831
2831
|
* ReactiveElement Mixin
|
|
2832
2832
|
* Adds reactive properties and lifecycle management to web components
|
|
2833
2833
|
*/
|
|
@@ -2949,7 +2949,7 @@ else {
|
|
|
2949
2949
|
|
|
2950
2950
|
export { ReactiveElement };
|
|
2951
2951
|
export default ReactiveElement;
|
|
2952
|
-
`}function
|
|
2952
|
+
`}function nK(){return`/**
|
|
2953
2953
|
* stx Reactive Web Components Runtime
|
|
2954
2954
|
* Provides base classes and utilities for reactive web components
|
|
2955
2955
|
*/
|
|
@@ -3166,7 +3166,7 @@ else {
|
|
|
3166
3166
|
};
|
|
3167
3167
|
|
|
3168
3168
|
})(typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : this);
|
|
3169
|
-
`}function
|
|
3169
|
+
`}function XX($,Z){let J=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),X=J?J[1].trim():"",Y=Z,Q=[],G=!0;if(X){let U=X.match(/export\s+default\s+({[\s\S]*})/);if(U)try{let H=U[1],j=H.match(/tag\s*:\s*['"`]([^'"`]+)['"`]/);if(j)Y=j[1];let B=H.match(/props\s*:\s*\[([\s\S]*?)\]/);if(B)Q=B[1].split(",").map((F)=>F.trim().replace(/['"`]/g,"")).filter((F)=>F.length>0);let V=H.match(/shadowDOM\s*:\s*(true|false)/);if(V)G=V[1]==="true"}catch{}}let z=$.match(/<template\b(?![^>]*\bid\s*=)[^>]*>([\s\S]*?)<\/template>/i),q=z?z[1].trim():"",K=$.match(/<style\b[^>]*>([\s\S]*?)<\/style>/i),W=K?K[1].trim():"";return{tag:Y,props:Q,template:q,styles:W,script:X,shadowDOM:G}}function YX($){let{tag:Z,props:J,template:X,styles:Y,shadowDOM:Q}=$,G=Z.split("-").map((U)=>U.charAt(0).toUpperCase()+U.slice(1)).join(""),z=X.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),q=Y.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),K=J.map((U)=>`'${U}'`).join(", "),W=J.map((U)=>`
|
|
3170
3170
|
get ${U}() {
|
|
3171
3171
|
return this.getAttribute('${U}') || '';
|
|
3172
3172
|
}
|
|
@@ -3217,14 +3217,14 @@ ${W}
|
|
|
3217
3217
|
}
|
|
3218
3218
|
|
|
3219
3219
|
customElements.define('${Z}', ${G});
|
|
3220
|
-
`}async function H7($,Z,J,X){if(Z.length<1)return X0("WebComponent","@webcomponent directive requires at least the tag name parameter",J0.INVALID_DIRECTIVE_SYNTAX);let Y=Z[0].replace(/['"]/g,""),G=(J.__stx_options||{}).componentsDir||"components",z=d0.isAbsolute(G)?[d0.join(G,`${Y}.stx`),d0.join(d0.dirname(X),`${Y}.stx`)]:[d0.join(d0.dirname(X),G,`${Y}.stx`),d0.join(process.cwd(),G,`${Y}.stx`),d0.join(d0.dirname(X),`${Y}.stx`)],q=null;for(let U of z)if(await a(U)){q=await Bun.file(U).text();break}if(!q)return X0("WebComponent",`Component file not found: ${Y}.stx`,J0.FILE_NOT_FOUND);let K=
|
|
3221
|
-
${
|
|
3222
|
-
</script>`}var V5={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:_7,cachePath:".stx/cache",cacheVersion:"1.0.0",componentRenderCacheBytes:33554432,build:{pagesDir:"pages",outputDir:"dist",baseUrl:"/",sitemap:!0,minify:!0,cache:!0,cacheDir:".stx/ssg-cache",concurrency:10,generate404:!0,publicDir:"public",trailingSlash:!1,cleanOutput:!0},customDirectives:[{name:"markdown",handler:g3,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:H7,hasEndTag:!1,description:"Include a web component in the template"},B7,V7,U5,H5,n9,o9,r9,s9,P3,D3,r3,W5,...R7],middleware:[],i18n:{defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},webComponents:{enabled:!1,outputDir:"dist/web-components",components:[]},docs:{enabled:!1,outputDir:"docs",format:"markdown",components:!0,templates:!0,directives:!0},streaming:{enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},hydration:{enabled:!1,mode:"islands",clientEntry:"src/client.ts",autoMarkers:!0,preload:"lazy"},router:{enabled:!0,container:"main",linkSelector:"a[href]",viewTransitions:!0,scrollToTop:!0,prefetch:!0,cache:!0,cacheTTL:300000,skipSelectors:'[data-no-router], [target="_blank"]',viewTransitionCSS:{oldRoot:"fade-out 0.15s ease-in",newRoot:"fade-in 0.2s ease-out",oldContent:"slide-out 0.2s ease-in",newContent:"slide-in 0.25s ease-out"}},a11y:{enabled:!0,addSrOnlyStyles:!0,level:"AA",autoFix:!1,ignoreChecks:[]},seo:{enabled:!0,socialPreview:!0,defaultConfig:{title:"stx Project",description:"A website built with stx templating engine"}},animation:{enabled:!0,defaultDuration:300,defaultEase:"ease",respectMotionPreferences:!0,staggerDelay:50},markdown:{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0,additionalThemes:["light-plus","one-dark-pro","dracula","monokai","solarized-light","nord","github-dark"]}},loops:{maxWhileIterations:1000,useAltLoopVariable:!1},story:{enabled:!0,outDir:".stx/dist/story",storyMatch:["**/*.story.stx"],storyIgnored:["**/node_modules/**","**/dist/**","**/.stx/**"],port:6006},pwa:{enabled:!1,manifest:{name:"stx App",shortName:"stx",description:"A Progressive Web App built with stx",startUrl:"/",display:"standalone",orientation:"any",themeColor:"#000000",backgroundColor:"#ffffff",scope:"/"},icons:{src:"public/icon.png",sizes:[72,96,128,144,152,192,384,512],generateWebP:!0,generateAppleIcons:!0,outputDir:"pwa-icons",purpose:["any","maskable"]},routes:[{pattern:"/",strategy:"network-first"},{pattern:"/static/*",strategy:"cache-first",maxAgeSeconds:2592000},{pattern:"/api/*",strategy:"network-only"},{pattern:"*.js",strategy:"stale-while-revalidate"},{pattern:"*.css",strategy:"stale-while-revalidate"},{pattern:"*.png",strategy:"cache-first"},{pattern:"*.jpg",strategy:"cache-first"},{pattern:"*.webp",strategy:"cache-first"},{pattern:"*.svg",strategy:"cache-first"}],offline:{enabled:!0,fallbackTitle:"You are offline",fallbackMessage:"Please check your internet connection and try again.",precacheAssets:[]},serviceWorker:{fileName:"sw.js",cacheVersion:"1.0.0",skipWaiting:!0,clientsClaim:!0,navigationPreload:!1,excludeRoutes:["/api/auth/*"],cacheFileTypes:["html","css","js","png","jpg","jpeg","webp","svg","woff","woff2"],useWorkbox:!1},autoInject:!0,push:{enabled:!1,defaultOptions:{vibrate:[100,50,100],requireInteraction:!1}},backgroundSync:{enabled:!1,queueName:"stx-sync-queue",maxRetentionMinutes:1440,maxRetries:3,minInterval:1000,forms:[],endpoints:[]},shareTarget:{enabled:!1,action:"/share-target",method:"POST",enctype:"multipart/form-data",params:{title:"title",text:"text",url:"url"}},fileHandlers:{enabled:!1},protocolHandlers:[],cacheStorage:{maxSize:100,maxEntries:500,maxAge:30,purgeStrategy:"lru"},updates:{enabled:!0,promptUser:!0,autoReload:!1,message:"A new version is available. Reload to update?"},precache:{enabled:!0,includeHtml:!0,includeJs:!0,includeCss:!0,includeImages:!0,includeFonts:!0,include:[],exclude:["*.map","*.LICENSE.txt"],maxFileSizeKB:500}},media:{enabled:!0,image:{enabled:!0,defaultWidths:[320,480,640,768,1024,1280,1536,1920],defaultFormats:["avif","webp","jpeg"],defaultQuality:80,placeholderStrategy:"thumbhash",lazyByDefault:!0,enableDpr:!0,defaultDpr:[1,2,3],tsImages:{enabled:!0,outputDir:"dist/images",baseUrl:"/images",formatQuality:{jpeg:{quality:85,mozjpeg:!0,progressive:!0},png:{compressionLevel:9,palette:!1},webp:{quality:82,effort:5,smartSubsample:!0},avif:{quality:75,effort:4,lossless:!1}},breakpoints:[320,480,640,768,1024,1280,1536,1920],batchOptions:{concurrency:4,optimizationPreset:"web"}}},video:{enabled:!0,lazyByDefault:!0,defaultControls:!0,tsVideos:{enabled:!0,outputDir:"dist/videos",baseUrl:"/videos",defaultQuality:"high",streaming:{enabled:!0,format:"hls",segmentDuration:6,defaultQualities:[{label:"1080p",width:1920,height:1080,bitrate:5000000,audioBitrate:192000},{label:"720p",width:1280,height:720,bitrate:2500000,audioBitrate:128000},{label:"480p",width:854,height:480,bitrate:1e6,audioBitrate:96000}]},thumbnails:{enabled:!0,count:10,format:"webp",width:320},transcoding:{defaultCodec:"h264",defaultAudioCodec:"aac",speedPreset:"medium"}}},upload:{enabled:!0,maxSize:10485760,allowedTypes:["image/*","video/*","audio/*","application/pdf"],maxConcurrent:3},protected:{enabled:!0,expirationSeconds:3600,batchSize:10},cache:{enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}},broadcasting:{enabled:!1,driver:"bun",host:"0.0.0.0",port:6001,scheme:"ws",verbose:!1}};function QX($,Z,J){let X=Z||"pages";if($)return{root:$,pagesDir:X};let Y=J||process.cwd(),Q=b0.join(Y,"resources","views"),G=b0.join(Y,"resources","layouts");if($9.existsSync(Q)&&$9.existsSync(G))return{root:"resources",pagesDir:"views"};let z=b0.join(Y,"resources","views","pages");if($9.existsSync(z))return{root:"resources/views",pagesDir:X};return{root:".",pagesDir:X}}var j7=new Set,Z9=["partialsDir","componentsDir","layoutsDir"],_5=new WeakMap;function GX($,Z){let J=Z.replace(/[\\/]+$/,"");if(!J||J===".")return!0;let X=$.replace(/\\/g,"/"),Y=J.replace(/\\/g,"/");return X===Y||X.startsWith(`${Y}/`)}function zX($,Z){let J=!$.root,X=QX($.root,$.pagesDir,Z);if($.root=X.root,$.pagesDir=X.pagesDir,J&&X.root!=="."){let Y=`${Z}::${X.root}`;if(!j7.has(Y))j7.add(Y),console.warn(`[stx] No "root" in config \u2014 inferred "${X.root}" from the project layout. Template directories are resolved under it; set root explicitly to pin this.`)}if(!_5.has($)){let Y={};for(let Q of Z9){let G=$[Q];if(typeof G==="string"&&G)Y[Q]=G}_5.set($,Y)}if($.root&&$.root!=="."){let Y=$.root;for(let Q of Z9){let G=$[Q];if(typeof G!=="string"||!G)continue;if(b0.isAbsolute(G)||GX(G,Y))continue;$[Q]=b0.join(Y,G)}}for(let Y of Z9){let Q=$[Y];if(typeof Q!=="string"||!Q||b0.isAbsolute(Q))continue;$[Y]=b0.resolve(Z,Q)}return $}function qX($,Z){let J=_5.get($);for(let X of Z9){let Y=$[X];if(typeof Y!=="string"||!Y)continue;let Q=b0.isAbsolute(Y)?Y:b0.join(Z,Y);if($9.existsSync(Q))continue;let G=J?.[X]??Y,z=$.root,q=!!z&&z!==".";console.warn(`[stx] ${String(X)} resolves to "${Q}", which does not exist. Configured as "${G}"`+(q?`, resolved under root "${z}".`:"."))}}function KX($){if($.customDirectives)$.customDirectives=[...$.customDirectives];if($.middleware)$.middleware=[...$.middleware];if($.apiRoutes)$.apiRoutes={...$.apiRoutes}}function WX($){if(L7($.stateDir),$.stateDir=O7(),$.cachePath=U2($.cachePath),$.build)$.build.cacheDir=U2($.build.cacheDir);if($.media?.cache)$.media.cache.directory=U2($.media.cache.directory);if($.story)$.story.outDir=U2($.story.outDir)}var G1=null,L1=new Map,a2=new Map,H2=null;async function L5($){let Z=$?b0.resolve($):process.cwd(),J=a2.get(Z);if(J&&J.signature!==t2(J.graph)){let Q=L1.get(Z);if(L1.delete(Z),a2.delete(Z),!$)G1=null,H2=null;let{clearComponentCache:G}=await import("./chunk-15g08hah.js"),{partialsCache:z}=await import("./chunk-xrcvqqse.js");if(G(),z.clear(),Q&&J.configSignature===e2(J.graph)){let q=Q.then(async(K)=>{let W={...J.graph};await w7(W,Z),a2.set(Z,{graph:W,signature:t2(W),configSignature:e2(W)});let U={...K,_layerGraph:W};if(!$)G1=U;return U});return L1.set(Z,q),q}}if(!$){if(G1)return G1;if(H2)return H2}let X=L1.get(Z);if(X)return X;let Y=(async()=>{let G=(await YX({name:"stx",alias:"ui",cwd:Z,defaultConfig:V5,verbose:!1})).config;if(G.extends!==void 0||J){let z=await F7(Z,V5);G=z.config,a2.set(Z,{graph:z.graph,signature:t2(z.graph),configSignature:e2(z.graph)})}if(G.runtimeConfig){let{resolveRuntimeConfig:z}=await import("./chunk-zr1r73p3.js");z(G.runtimeConfig,{});let{generateRuntimeConfigTypes:q}=await import("./chunk-693jjsg9.js");await q(Z,G.runtimeConfig)}if(KX(G),WX(G),zX(G,Z),qX(G,Z),G.plugins&&G.plugins.length>0){let{pluginManager:z}=await import("./chunk-wm86mmgq.js"),q=[],K=[];for(let W of G.plugins){let U=typeof W==="string"?W:W[0],H=typeof W==="string"?{}:W[1]||{};try{let j,B;try{j=await import(U),B=b0.dirname(x.resolve(U))}catch{let F=b0.resolve(Z,U);j=await import(F),B=b0.dirname(F)}let V=j.default||j;if(!z.has(V.name))await z.register(V,G);if(V.components){let F=Array.isArray(V.components)?V.components:[V.components];for(let _ of F)q.push(b0.resolve(B,_))}if(V.pages){let F=b0.resolve(B,V.pages),_=H.path||"/";K.push({dir:F,prefix:_})}if(V.setup){let F={addDirective:(_)=>{G.customDirectives=G.customDirectives||[],G.customDirectives.push(_)},addRoute:(_,O)=>{G.apiRoutes=G.apiRoutes||{},G.apiRoutes[_]=O},addMiddleware:(_)=>{G.middleware=G.middleware||[],G.middleware.push(_)},pluginDir:B,config:G};await V.setup(H,F)}console.log(`[stx] Plugin loaded: ${V.name||U}`)}catch(j){console.warn(`[stx] Failed to load plugin ${U}:`,j.message)}}G._pluginComponentDirs=q,G._pluginPageDirs=K}return G})();if(L1.set(Z,Y),Y.catch(()=>{if(L1.get(Z)===Y)L1.delete(Z)}),!$)H2=Y,Y.then((Q)=>{G1=Q}).catch(()=>{});return Y}var N7=new Proxy(V5,{get($,Z){if(G1&&Z in G1)return G1[Z];if(!H2)L5().catch((J)=>{console.warn("[stx] Failed to load config file:",J?.message||J)});return $[Z]}});function KW($){return $}function WW($){let Z=[],J=[];if($.partialsDir!==void 0&&typeof $.partialsDir!=="string")Z.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if($.componentsDir!==void 0&&typeof $.componentsDir!=="string")Z.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if($.cache!==void 0&&typeof $.cache!=="boolean")Z.push({path:"cache",message:"cache must be a boolean",severity:"error"});if($.debug!==void 0&&typeof $.debug!=="boolean")Z.push({path:"debug",message:"debug must be a boolean",severity:"error"});if($.streaming){if($.streaming.bufferSize!==void 0){if(typeof $.streaming.bufferSize!=="number"||$.streaming.bufferSize<=0)Z.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if($.streaming.timeout!==void 0){if(typeof $.streaming.timeout!=="number"||$.streaming.timeout<=0)Z.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if($.streaming.strategy!==void 0){let X=["auto","manual","sections"];if(!X.includes($.streaming.strategy))Z.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${X.join(", ")}`,severity:"error"})}}if($.i18n){if($.i18n.format!==void 0){let X=["json","yaml","yml","js"];if(!X.includes($.i18n.format))Z.push({path:"i18n.format",message:`i18n.format must be one of: ${X.join(", ")}`,severity:"error"})}}if($.animation){if($.animation.defaultDuration!==void 0){if(typeof $.animation.defaultDuration!=="number"||$.animation.defaultDuration<0)Z.push({path:"animation.defaultDuration",message:"animation.defaultDuration must be a non-negative number",severity:"error"})}if($.animation.staggerDelay!==void 0){if(typeof $.animation.staggerDelay!=="number"||$.animation.staggerDelay<0)Z.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if($.a11y){if($.a11y.level!==void 0){let X=["AA","AAA"];if(!X.includes($.a11y.level))Z.push({path:"a11y.level",message:`a11y.level must be one of: ${X.join(", ")}`,severity:"error"})}}if($.hydration){if($.hydration.mode!==void 0){let X=["progressive","islands"];if(!X.includes($.hydration.mode))Z.push({path:"hydration.mode",message:`hydration.mode must be one of: ${X.join(", ")}`,severity:"error"})}if($.hydration.preload!==void 0){let X=["none","eager","lazy"];if(!X.includes($.hydration.preload))Z.push({path:"hydration.preload",message:`hydration.preload must be one of: ${X.join(", ")}`,severity:"error"})}}if($.customDirectives)if(!Array.isArray($.customDirectives))Z.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else $.customDirectives.forEach((X,Y)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`customDirectives[${Y}].name`,message:"Custom directive must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`customDirectives[${Y}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if($.middleware)if(!Array.isArray($.middleware))Z.push({path:"middleware",message:"middleware must be an array",severity:"error"});else $.middleware.forEach((X,Y)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`middleware[${Y}].name`,message:"Middleware must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`middleware[${Y}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!X.timing||!["before","after"].includes(X.timing))Z.push({path:`middleware[${Y}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if($.debug===!0&&$.cache===!0)J.push({path:"debug+cache",message:"Debug mode with caching enabled may show stale content during development",severity:"warning"});if($.seo?.enabled===!0&&!$.seo?.defaultConfig?.title)J.push({path:"seo.defaultConfig.title",message:"SEO is enabled but no default title is set",severity:"warning"});if($.pwa){if($.pwa.enabled===!0&&!$.pwa.manifest?.name)Z.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if($.pwa.manifest?.display!==void 0){let X=["fullscreen","standalone","minimal-ui","browser"];if(!X.includes($.pwa.manifest.display))Z.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.manifest?.orientation!==void 0){let X=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!X.includes($.pwa.manifest.orientation))Z.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.routes){let X=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];$.pwa.routes.forEach((Y,Q)=>{if(!Y.pattern||typeof Y.pattern!=="string")Z.push({path:`pwa.routes[${Q}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!X.includes(Y.strategy))Z.push({path:`pwa.routes[${Q}].strategy`,message:`PWA route strategy must be one of: ${X.join(", ")}`,severity:"error"});if(Y.maxAgeSeconds!==void 0&&(typeof Y.maxAgeSeconds!=="number"||Y.maxAgeSeconds<0))Z.push({path:`pwa.routes[${Q}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(Y.maxEntries!==void 0&&(typeof Y.maxEntries!=="number"||Y.maxEntries<1))Z.push({path:`pwa.routes[${Q}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if($.pwa.icons?.sizes){if(!Array.isArray($.pwa.icons.sizes))Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if($.pwa.icons.sizes.filter((Y)=>typeof Y!=="number"||Y<16||Y>1024).length>0)Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if($.pwa.icons?.purpose){let X=["any","maskable","monochrome"];if($.pwa.icons.purpose.filter((Q)=>!X.includes(Q)).length>0)Z.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.enabled===!0&&!$.pwa.icons?.src)J.push({path:"pwa.icons.src",message:"PWA is enabled but no icon source specified. Provide a 512x512 PNG for best results.",severity:"warning"});if($.pwa.enabled===!0&&!$.pwa.manifest?.themeColor)J.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:Z.length===0,errors:Z,warnings:J}}var F5=new Map;async function jX($,Z={}){try{if(!await a($))throw Error(`Markdown file not found: ${$}`);let X=(await UX.promises.stat($)).mtime.getTime();if(Z.cache&&F5.has($)){let U=F5.get($);if(U.updatedAt>=X)return{content:U.content,data:U.data}}let Y=await Bun.file($).text(),{data:Q,content:G}=f3(Y),z=Z.markdown||N7.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},K=q2(G,{gfm:!0});if(z.syntaxHighlighting?.enabled&&z.syntaxHighlighting?.serverSide)K=await BX(K,z.syntaxHighlighting?.defaultTheme||"github-dark",z.syntaxHighlighting?.highlightUnknownLanguages||!1);let W={content:K,data:Q||{}};if(Z.cache)F5.set($,{...W,updatedAt:X});return W}catch(J){if(Z.debug)console.error(`Error reading/parsing markdown file ${$}:`,J);let X=J instanceof Error?J.message:String(J);return{content:H0("Markdown File",`Error reading/parsing markdown file: ${X}`,$,"",0,""),data:{}}}}var J9=null;async function BX($,Z,J){let X=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!J9)try{J9=await HX({theme:Z||"github-dark",cache:!0})}catch(z){return console.error("Failed to initialize ts-syntax-highlighter:",z),$}let Y=async(z,q,K,W)=>{let U=W.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'"),H=K||(J?"text":"");if(!H)return z;try{if(!J9.getSupportedLanguages().includes(H))return z;return(await J9.highlight(U,H,{theme:Z})).html}catch(j){console.error(`Error highlighting code block with language ${K}:`,j)}return z},Q=$,G=$.matchAll(X);for(let z of G){let[q,K,W,U]=z,H=await Y(q,K,W,U);Q=Q.replace(q,H)}return Q}async function D7($,Z,J="",X={}){return await VX($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(G,z,q,K)=>{try{let W=z;if(!O5.isAbsolute(z))W=O5.resolve(O5.dirname(J),z);let U={};if(q)try{try{U=JSON.parse(q)}catch{if(X.debug)console.warn("Using safer alternative for parsing JS object literal");let O=q.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let L of O){let w=L.indexOf(":");if(w>0){let R=L.substring(0,w).trim(),N=L.substring(w+1).trim(),A=N.startsWith('"')&&N.endsWith('"'),T=N.startsWith("'")&&N.endsWith("'");if(A||T)N=N.substring(1,N.length-1);U[R]=N}}}}catch(_){if(X.debug)console.error("Error parsing context in @markdown-file directive:",_)}let{content:H,data:j}=await jX(W,X),B={...Z,...j,...U},V=H,F=/\{\{([^}]+)\}\}/g;return V=V.replace(F,(_,O)=>{let L=O.trim();return B[L]!==void 0?String(B[L]):_}),V}catch(W){let U=W instanceof Error?W.message:String(W);return H0("Markdown File",`Error including markdown file: ${U}`,J,$,K,G)}})}async function VX($,Z,J){let X=[],Y;while((Y=Z.exec($))!==null){let z=Y[0],q=Y.index,K=Y;X.push(J(...K).then((W)=>({match:z,replacement:W,index:q})))}let Q=await Promise.all(X);Q.sort((z,q)=>q.index-z.index);let G=$;for(let{match:z,replacement:q}of Q)G=G.replace(z,()=>q);return G}function z1($,Z){try{let J=$.trim();if(W0(J))return K0(J,Object.keys(Z))(...Object.values(Z));else return e(J,Z)}catch{return!1}}class X9{source;pos=0;line=1;column=0;tokens=[];constructor($){this.source=$}tokenize(){this.tokens=[],this.pos=0,this.line=1,this.column=0;while(this.pos<this.source.length){let $=this.nextToken();if($)this.tokens.push($)}return this.tokens.push({type:"EOF",value:"",start:this.pos,end:this.pos,line:this.line,column:this.column}),this.tokens}nextToken(){if(this.pos>=this.source.length)return null;let $=this.pos,Z=this.line,J=this.column,X=this.source[this.pos];if(/\s/.test(X))return this.readWhitespace($,Z,J);if(X==="/"&&this.peek(1)==="/")return this.readLineComment($,Z,J);if(X==="/"&&this.peek(1)==="*")return this.readBlockComment($,Z,J);if(X==='"'||X==="'")return this.readString(X,$,Z,J);if(X==="`")return this.readTemplateString($,Z,J);if(/\d/.test(X)||X==="."&&/\d/.test(this.peek(1)||""))return this.readNumber($,Z,J);if(/[a-z_$]/i.test(X))return this.readIdentifier($,Z,J);if(X==="{"){if(this.peek(1)==="{"&&this.peek(2)==="{")return this.advance(3),{type:"RAW_START",value:"{{{",start:$,end:this.pos,line:Z,column:J};if(this.peek(1)==="{")return this.advance(2),{type:"EXPRESSION_START",value:"{{",start:$,end:this.pos,line:Z,column:J};if(this.peek(1)==="!"&&this.peek(2)==="!")return this.advance(3),{type:"RAW_START",value:"{!!",start:$,end:this.pos,line:Z,column:J}}if(X==="}"){if(this.peek(1)==="}"&&this.peek(2)==="}")return this.advance(3),{type:"RAW_END",value:"}}}",start:$,end:this.pos,line:Z,column:J};if(this.peek(1)==="}")return this.advance(2),{type:"EXPRESSION_END",value:"}}",start:$,end:this.pos,line:Z,column:J}}if(X==="!"&&this.peek(1)==="!"&&this.peek(2)==="}")return this.advance(3),{type:"RAW_END",value:"!!}",start:$,end:this.pos,line:Z,column:J};if(X==="@"&&/[a-z]/i.test(this.peek(1)||""))return this.readDirective($,Z,J);let Y=["===","!==","==","!=","<=",">=","&&","||","??","++","--","+=","-=","*=","/=","%=","**","=>","?.","...","<<",">>",">>>","&=","|=","^="];for(let Q of Y)if(this.source.slice(this.pos,this.pos+Q.length)===Q)return this.advance(Q.length),{type:"OPERATOR",value:Q,start:$,end:this.pos,line:Z,column:J};if(/[+\-*/%<>=!&|^~?:]/.test(X))return this.advance(),{type:"OPERATOR",value:X,start:$,end:this.pos,line:Z,column:J};if(/[()[\]{},;.]/.test(X))return this.advance(),{type:"PUNCTUATION",value:X,start:$,end:this.pos,line:Z,column:J};return this.advance(),{type:"PUNCTUATION",value:X,start:$,end:this.pos,line:Z,column:J}}readWhitespace($,Z,J){while(this.pos<this.source.length&&/\s/.test(this.source[this.pos]))this.advance();return{type:"WHITESPACE",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:J}}readLineComment($,Z,J){this.advance(2);while(this.pos<this.source.length&&this.source[this.pos]!==`
|
|
3220
|
+
`}async function H7($,Z,J,X){if(Z.length<1)return X0("WebComponent","@webcomponent directive requires at least the tag name parameter",J0.INVALID_DIRECTIVE_SYNTAX);let Y=Z[0].replace(/['"]/g,""),G=(J.__stx_options||{}).componentsDir||"components",z=d0.isAbsolute(G)?[d0.join(G,`${Y}.stx`),d0.join(d0.dirname(X),`${Y}.stx`)]:[d0.join(d0.dirname(X),G,`${Y}.stx`),d0.join(process.cwd(),G,`${Y}.stx`),d0.join(d0.dirname(X),`${Y}.stx`)],q=null;for(let U of z)if(await a(U)){q=await Bun.file(U).text();break}if(!q)return X0("WebComponent",`Component file not found: ${Y}.stx`,J0.FILE_NOT_FOUND);let K=XX(q,Y);return`<script type="module">
|
|
3221
|
+
${YX(K)}
|
|
3222
|
+
</script>`}var V5={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:_7,cachePath:".stx/cache",cacheVersion:"1.0.0",componentRenderCacheBytes:33554432,build:{pagesDir:"pages",outputDir:"dist",baseUrl:"/",sitemap:!0,minify:!0,cache:!0,cacheDir:".stx/ssg-cache",concurrency:10,generate404:!0,publicDir:"public",trailingSlash:!1,cleanOutput:!0},customDirectives:[{name:"markdown",handler:g3,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:H7,hasEndTag:!1,description:"Include a web component in the template"},B7,V7,U5,H5,n9,o9,r9,s9,P3,D3,r3,W5,...R7],middleware:[],i18n:{defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},webComponents:{enabled:!1,outputDir:"dist/web-components",components:[]},docs:{enabled:!1,outputDir:"docs",format:"markdown",components:!0,templates:!0,directives:!0},streaming:{enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},hydration:{enabled:!1,mode:"islands",clientEntry:"src/client.ts",autoMarkers:!0,preload:"lazy"},router:{enabled:!0,container:"main",linkSelector:"a[href]",viewTransitions:!0,scrollToTop:!0,prefetch:!0,cache:!0,cacheTTL:300000,skipSelectors:'[data-no-router], [target="_blank"]',viewTransitionCSS:{oldRoot:"fade-out 0.15s ease-in",newRoot:"fade-in 0.2s ease-out",oldContent:"slide-out 0.2s ease-in",newContent:"slide-in 0.25s ease-out"}},a11y:{enabled:!0,addSrOnlyStyles:!0,level:"AA",autoFix:!1,ignoreChecks:[]},seo:{enabled:!0,socialPreview:!0,defaultConfig:{title:"stx Project",description:"A website built with stx templating engine"}},animation:{enabled:!0,defaultDuration:300,defaultEase:"ease",respectMotionPreferences:!0,staggerDelay:50},markdown:{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0,additionalThemes:["light-plus","one-dark-pro","dracula","monokai","solarized-light","nord","github-dark"]}},loops:{maxWhileIterations:1000,useAltLoopVariable:!1},story:{enabled:!0,outDir:".stx/dist/story",storyMatch:["**/*.story.stx"],storyIgnored:["**/node_modules/**","**/dist/**","**/.stx/**"],port:6006},pwa:{enabled:!1,manifest:{name:"stx App",shortName:"stx",description:"A Progressive Web App built with stx",startUrl:"/",display:"standalone",orientation:"any",themeColor:"#000000",backgroundColor:"#ffffff",scope:"/"},icons:{src:"public/icon.png",sizes:[72,96,128,144,152,192,384,512],generateWebP:!0,generateAppleIcons:!0,outputDir:"pwa-icons",purpose:["any","maskable"]},routes:[{pattern:"/",strategy:"network-first"},{pattern:"/static/*",strategy:"cache-first",maxAgeSeconds:2592000},{pattern:"/api/*",strategy:"network-only"},{pattern:"*.js",strategy:"stale-while-revalidate"},{pattern:"*.css",strategy:"stale-while-revalidate"},{pattern:"*.png",strategy:"cache-first"},{pattern:"*.jpg",strategy:"cache-first"},{pattern:"*.webp",strategy:"cache-first"},{pattern:"*.svg",strategy:"cache-first"}],offline:{enabled:!0,fallbackTitle:"You are offline",fallbackMessage:"Please check your internet connection and try again.",precacheAssets:[]},serviceWorker:{fileName:"sw.js",cacheVersion:"1.0.0",skipWaiting:!0,clientsClaim:!0,navigationPreload:!1,excludeRoutes:["/api/auth/*"],cacheFileTypes:["html","css","js","png","jpg","jpeg","webp","svg","woff","woff2"],useWorkbox:!1},autoInject:!0,push:{enabled:!1,defaultOptions:{vibrate:[100,50,100],requireInteraction:!1}},backgroundSync:{enabled:!1,queueName:"stx-sync-queue",maxRetentionMinutes:1440,maxRetries:3,minInterval:1000,forms:[],endpoints:[]},shareTarget:{enabled:!1,action:"/share-target",method:"POST",enctype:"multipart/form-data",params:{title:"title",text:"text",url:"url"}},fileHandlers:{enabled:!1},protocolHandlers:[],cacheStorage:{maxSize:100,maxEntries:500,maxAge:30,purgeStrategy:"lru"},updates:{enabled:!0,promptUser:!0,autoReload:!1,message:"A new version is available. Reload to update?"},precache:{enabled:!0,includeHtml:!0,includeJs:!0,includeCss:!0,includeImages:!0,includeFonts:!0,include:[],exclude:["*.map","*.LICENSE.txt"],maxFileSizeKB:500}},media:{enabled:!0,image:{enabled:!0,defaultWidths:[320,480,640,768,1024,1280,1536,1920],defaultFormats:["avif","webp","jpeg"],defaultQuality:80,placeholderStrategy:"thumbhash",lazyByDefault:!0,enableDpr:!0,defaultDpr:[1,2,3],tsImages:{enabled:!0,outputDir:"dist/images",baseUrl:"/images",formatQuality:{jpeg:{quality:85,mozjpeg:!0,progressive:!0},png:{compressionLevel:9,palette:!1},webp:{quality:82,effort:5,smartSubsample:!0},avif:{quality:75,effort:4,lossless:!1}},breakpoints:[320,480,640,768,1024,1280,1536,1920],batchOptions:{concurrency:4,optimizationPreset:"web"}}},video:{enabled:!0,lazyByDefault:!0,defaultControls:!0,tsVideos:{enabled:!0,outputDir:"dist/videos",baseUrl:"/videos",defaultQuality:"high",streaming:{enabled:!0,format:"hls",segmentDuration:6,defaultQualities:[{label:"1080p",width:1920,height:1080,bitrate:5000000,audioBitrate:192000},{label:"720p",width:1280,height:720,bitrate:2500000,audioBitrate:128000},{label:"480p",width:854,height:480,bitrate:1e6,audioBitrate:96000}]},thumbnails:{enabled:!0,count:10,format:"webp",width:320},transcoding:{defaultCodec:"h264",defaultAudioCodec:"aac",speedPreset:"medium"}}},upload:{enabled:!0,maxSize:10485760,allowedTypes:["image/*","video/*","audio/*","application/pdf"],maxConcurrent:3},protected:{enabled:!0,expirationSeconds:3600,batchSize:10},cache:{enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}},broadcasting:{enabled:!1,driver:"bun",host:"0.0.0.0",port:6001,scheme:"ws",verbose:!1}};function GX($,Z,J){let X=Z||"pages";if($)return{root:$,pagesDir:X};let Y=J||process.cwd(),Q=b0.join(Y,"resources","views"),G=b0.join(Y,"resources","layouts");if($9.existsSync(Q)&&$9.existsSync(G))return{root:"resources",pagesDir:"views"};let z=b0.join(Y,"resources","views","pages");if($9.existsSync(z))return{root:"resources/views",pagesDir:X};return{root:".",pagesDir:X}}var j7=new Set,Z9=["partialsDir","componentsDir","layoutsDir"],_5=new WeakMap;function zX($,Z){let J=Z.replace(/[\\/]+$/,"");if(!J||J===".")return!0;let X=$.replace(/\\/g,"/"),Y=J.replace(/\\/g,"/");return X===Y||X.startsWith(`${Y}/`)}function qX($,Z){let J=!$.root,X=GX($.root,$.pagesDir,Z);if($.root=X.root,$.pagesDir=X.pagesDir,J&&X.root!=="."){let Y=`${Z}::${X.root}`;if(!j7.has(Y))j7.add(Y),console.warn(`[stx] No "root" in config \u2014 inferred "${X.root}" from the project layout. Template directories are resolved under it; set root explicitly to pin this.`)}if(!_5.has($)){let Y={};for(let Q of Z9){let G=$[Q];if(typeof G==="string"&&G)Y[Q]=G}_5.set($,Y)}if($.root&&$.root!=="."){let Y=$.root;for(let Q of Z9){let G=$[Q];if(typeof G!=="string"||!G)continue;if(b0.isAbsolute(G)||zX(G,Y))continue;$[Q]=b0.join(Y,G)}}for(let Y of Z9){let Q=$[Y];if(typeof Q!=="string"||!Q||b0.isAbsolute(Q))continue;$[Y]=b0.resolve(Z,Q)}return $}function KX($,Z){let J=_5.get($);for(let X of Z9){let Y=$[X];if(typeof Y!=="string"||!Y)continue;let Q=b0.isAbsolute(Y)?Y:b0.join(Z,Y);if($9.existsSync(Q))continue;let G=J?.[X]??Y,z=$.root,q=!!z&&z!==".";console.warn(`[stx] ${String(X)} resolves to "${Q}", which does not exist. Configured as "${G}"`+(q?`, resolved under root "${z}".`:"."))}}function WX($){if($.customDirectives)$.customDirectives=[...$.customDirectives];if($.middleware)$.middleware=[...$.middleware];if($.apiRoutes)$.apiRoutes={...$.apiRoutes}}function UX($){if(L7($.stateDir),$.stateDir=O7(),$.cachePath=U2($.cachePath),$.build)$.build.cacheDir=U2($.build.cacheDir);if($.media?.cache)$.media.cache.directory=U2($.media.cache.directory);if($.story)$.story.outDir=U2($.story.outDir)}var G1=null,L1=new Map,a2=new Map,H2=null;async function L5($){let Z=$?b0.resolve($):process.cwd(),J=a2.get(Z);if(J&&J.signature!==t2(J.graph)){let Q=L1.get(Z);if(L1.delete(Z),a2.delete(Z),!$)G1=null,H2=null;let{clearComponentCache:G}=await import("./chunk-vah1scec.js"),{partialsCache:z}=await import("./chunk-dm93r8kq.js");if(G(),z.clear(),Q&&J.configSignature===e2(J.graph)){let q=Q.then(async(K)=>{let W={...J.graph};await w7(W,Z),a2.set(Z,{graph:W,signature:t2(W),configSignature:e2(W)});let U={...K,_layerGraph:W};if(!$)G1=U;return U});return L1.set(Z,q),q}}if(!$){if(G1)return G1;if(H2)return H2}let X=L1.get(Z);if(X)return X;let Y=(async()=>{let G=(await QX({name:"stx",alias:"ui",cwd:Z,defaultConfig:V5,verbose:!1})).config;if(G.extends!==void 0||J){let z=await F7(Z,V5);G=z.config,a2.set(Z,{graph:z.graph,signature:t2(z.graph),configSignature:e2(z.graph)})}if(G.runtimeConfig){let{resolveRuntimeConfig:z}=await import("./chunk-zr1r73p3.js");z(G.runtimeConfig,{});let{generateRuntimeConfigTypes:q}=await import("./chunk-t9acxg0e.js");await q(Z,G.runtimeConfig)}if(WX(G),UX(G),qX(G,Z),KX(G,Z),G.plugins&&G.plugins.length>0){let{pluginManager:z}=await import("./chunk-wm86mmgq.js"),q=[],K=[];for(let W of G.plugins){let U=typeof W==="string"?W:W[0],H=typeof W==="string"?{}:W[1]||{};try{let j,B;try{j=await import(U),B=b0.dirname(x.resolve(U))}catch{let F=b0.resolve(Z,U);j=await import(F),B=b0.dirname(F)}let V=j.default||j;if(!z.has(V.name))await z.register(V,G);if(V.components){let F=Array.isArray(V.components)?V.components:[V.components];for(let _ of F)q.push(b0.resolve(B,_))}if(V.pages){let F=b0.resolve(B,V.pages),_=H.path||"/";K.push({dir:F,prefix:_})}if(V.setup){let F={addDirective:(_)=>{G.customDirectives=G.customDirectives||[],G.customDirectives.push(_)},addRoute:(_,O)=>{G.apiRoutes=G.apiRoutes||{},G.apiRoutes[_]=O},addMiddleware:(_)=>{G.middleware=G.middleware||[],G.middleware.push(_)},pluginDir:B,config:G};await V.setup(H,F)}console.log(`[stx] Plugin loaded: ${V.name||U}`)}catch(j){console.warn(`[stx] Failed to load plugin ${U}:`,j.message)}}G._pluginComponentDirs=q,G._pluginPageDirs=K}return G})();if(L1.set(Z,Y),Y.catch(()=>{if(L1.get(Z)===Y)L1.delete(Z)}),!$)H2=Y,Y.then((Q)=>{G1=Q}).catch(()=>{});return Y}var N7=new Proxy(V5,{get($,Z){if(G1&&Z in G1)return G1[Z];if(!H2)L5().catch((J)=>{console.warn("[stx] Failed to load config file:",J?.message||J)});return $[Z]}});function WW($){return $}function UW($){let Z=[],J=[];if($.partialsDir!==void 0&&typeof $.partialsDir!=="string")Z.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if($.componentsDir!==void 0&&typeof $.componentsDir!=="string")Z.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if($.cache!==void 0&&typeof $.cache!=="boolean")Z.push({path:"cache",message:"cache must be a boolean",severity:"error"});if($.debug!==void 0&&typeof $.debug!=="boolean")Z.push({path:"debug",message:"debug must be a boolean",severity:"error"});if($.streaming){if($.streaming.bufferSize!==void 0){if(typeof $.streaming.bufferSize!=="number"||$.streaming.bufferSize<=0)Z.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if($.streaming.timeout!==void 0){if(typeof $.streaming.timeout!=="number"||$.streaming.timeout<=0)Z.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if($.streaming.strategy!==void 0){let X=["auto","manual","sections"];if(!X.includes($.streaming.strategy))Z.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${X.join(", ")}`,severity:"error"})}}if($.i18n){if($.i18n.format!==void 0){let X=["json","yaml","yml","js"];if(!X.includes($.i18n.format))Z.push({path:"i18n.format",message:`i18n.format must be one of: ${X.join(", ")}`,severity:"error"})}}if($.animation){if($.animation.defaultDuration!==void 0){if(typeof $.animation.defaultDuration!=="number"||$.animation.defaultDuration<0)Z.push({path:"animation.defaultDuration",message:"animation.defaultDuration must be a non-negative number",severity:"error"})}if($.animation.staggerDelay!==void 0){if(typeof $.animation.staggerDelay!=="number"||$.animation.staggerDelay<0)Z.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if($.a11y){if($.a11y.level!==void 0){let X=["AA","AAA"];if(!X.includes($.a11y.level))Z.push({path:"a11y.level",message:`a11y.level must be one of: ${X.join(", ")}`,severity:"error"})}}if($.hydration){if($.hydration.mode!==void 0){let X=["progressive","islands"];if(!X.includes($.hydration.mode))Z.push({path:"hydration.mode",message:`hydration.mode must be one of: ${X.join(", ")}`,severity:"error"})}if($.hydration.preload!==void 0){let X=["none","eager","lazy"];if(!X.includes($.hydration.preload))Z.push({path:"hydration.preload",message:`hydration.preload must be one of: ${X.join(", ")}`,severity:"error"})}}if($.customDirectives)if(!Array.isArray($.customDirectives))Z.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else $.customDirectives.forEach((X,Y)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`customDirectives[${Y}].name`,message:"Custom directive must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`customDirectives[${Y}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if($.middleware)if(!Array.isArray($.middleware))Z.push({path:"middleware",message:"middleware must be an array",severity:"error"});else $.middleware.forEach((X,Y)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`middleware[${Y}].name`,message:"Middleware must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`middleware[${Y}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!X.timing||!["before","after"].includes(X.timing))Z.push({path:`middleware[${Y}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if($.debug===!0&&$.cache===!0)J.push({path:"debug+cache",message:"Debug mode with caching enabled may show stale content during development",severity:"warning"});if($.seo?.enabled===!0&&!$.seo?.defaultConfig?.title)J.push({path:"seo.defaultConfig.title",message:"SEO is enabled but no default title is set",severity:"warning"});if($.pwa){if($.pwa.enabled===!0&&!$.pwa.manifest?.name)Z.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if($.pwa.manifest?.display!==void 0){let X=["fullscreen","standalone","minimal-ui","browser"];if(!X.includes($.pwa.manifest.display))Z.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.manifest?.orientation!==void 0){let X=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!X.includes($.pwa.manifest.orientation))Z.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.routes){let X=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];$.pwa.routes.forEach((Y,Q)=>{if(!Y.pattern||typeof Y.pattern!=="string")Z.push({path:`pwa.routes[${Q}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!X.includes(Y.strategy))Z.push({path:`pwa.routes[${Q}].strategy`,message:`PWA route strategy must be one of: ${X.join(", ")}`,severity:"error"});if(Y.maxAgeSeconds!==void 0&&(typeof Y.maxAgeSeconds!=="number"||Y.maxAgeSeconds<0))Z.push({path:`pwa.routes[${Q}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(Y.maxEntries!==void 0&&(typeof Y.maxEntries!=="number"||Y.maxEntries<1))Z.push({path:`pwa.routes[${Q}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if($.pwa.icons?.sizes){if(!Array.isArray($.pwa.icons.sizes))Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if($.pwa.icons.sizes.filter((Y)=>typeof Y!=="number"||Y<16||Y>1024).length>0)Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if($.pwa.icons?.purpose){let X=["any","maskable","monochrome"];if($.pwa.icons.purpose.filter((Q)=>!X.includes(Q)).length>0)Z.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.enabled===!0&&!$.pwa.icons?.src)J.push({path:"pwa.icons.src",message:"PWA is enabled but no icon source specified. Provide a 512x512 PNG for best results.",severity:"warning"});if($.pwa.enabled===!0&&!$.pwa.manifest?.themeColor)J.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:Z.length===0,errors:Z,warnings:J}}var F5=new Map;async function BX($,Z={}){try{if(!await a($))throw Error(`Markdown file not found: ${$}`);let X=(await HX.promises.stat($)).mtime.getTime();if(Z.cache&&F5.has($)){let U=F5.get($);if(U.updatedAt>=X)return{content:U.content,data:U.data}}let Y=await Bun.file($).text(),{data:Q,content:G}=f3(Y),z=Z.markdown||N7.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},K=q2(G,{gfm:!0});if(z.syntaxHighlighting?.enabled&&z.syntaxHighlighting?.serverSide)K=await VX(K,z.syntaxHighlighting?.defaultTheme||"github-dark",z.syntaxHighlighting?.highlightUnknownLanguages||!1);let W={content:K,data:Q||{}};if(Z.cache)F5.set($,{...W,updatedAt:X});return W}catch(J){if(Z.debug)console.error(`Error reading/parsing markdown file ${$}:`,J);let X=J instanceof Error?J.message:String(J);return{content:H0("Markdown File",`Error reading/parsing markdown file: ${X}`,$,"",0,""),data:{}}}}var J9=null;async function VX($,Z,J){let X=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!J9)try{J9=await jX({theme:Z||"github-dark",cache:!0})}catch(z){return console.error("Failed to initialize ts-syntax-highlighter:",z),$}let Y=async(z,q,K,W)=>{let U=W.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'"),H=K||(J?"text":"");if(!H)return z;try{if(!J9.getSupportedLanguages().includes(H))return z;return(await J9.highlight(U,H,{theme:Z})).html}catch(j){console.error(`Error highlighting code block with language ${K}:`,j)}return z},Q=$,G=$.matchAll(X);for(let z of G){let[q,K,W,U]=z,H=await Y(q,K,W,U);Q=Q.replace(q,H)}return Q}async function D7($,Z,J="",X={}){return await _X($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(G,z,q,K)=>{try{let W=z;if(!O5.isAbsolute(z))W=O5.resolve(O5.dirname(J),z);let U={};if(q)try{try{U=JSON.parse(q)}catch{if(X.debug)console.warn("Using safer alternative for parsing JS object literal");let O=q.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let L of O){let w=L.indexOf(":");if(w>0){let R=L.substring(0,w).trim(),N=L.substring(w+1).trim(),A=N.startsWith('"')&&N.endsWith('"'),T=N.startsWith("'")&&N.endsWith("'");if(A||T)N=N.substring(1,N.length-1);U[R]=N}}}}catch(_){if(X.debug)console.error("Error parsing context in @markdown-file directive:",_)}let{content:H,data:j}=await BX(W,X),B={...Z,...j,...U},V=H,F=/\{\{([^}]+)\}\}/g;return V=V.replace(F,(_,O)=>{let L=O.trim();return B[L]!==void 0?String(B[L]):_}),V}catch(W){let U=W instanceof Error?W.message:String(W);return H0("Markdown File",`Error including markdown file: ${U}`,J,$,K,G)}})}async function _X($,Z,J){let X=[],Y;while((Y=Z.exec($))!==null){let z=Y[0],q=Y.index,K=Y;X.push(J(...K).then((W)=>({match:z,replacement:W,index:q})))}let Q=await Promise.all(X);Q.sort((z,q)=>q.index-z.index);let G=$;for(let{match:z,replacement:q}of Q)G=G.replace(z,()=>q);return G}function z1($,Z){try{let J=$.trim();if(W0(J))return K0(J,Object.keys(Z))(...Object.values(Z));else return e(J,Z)}catch{return!1}}class X9{source;pos=0;line=1;column=0;tokens=[];constructor($){this.source=$}tokenize(){this.tokens=[],this.pos=0,this.line=1,this.column=0;while(this.pos<this.source.length){let $=this.nextToken();if($)this.tokens.push($)}return this.tokens.push({type:"EOF",value:"",start:this.pos,end:this.pos,line:this.line,column:this.column}),this.tokens}nextToken(){if(this.pos>=this.source.length)return null;let $=this.pos,Z=this.line,J=this.column,X=this.source[this.pos];if(/\s/.test(X))return this.readWhitespace($,Z,J);if(X==="/"&&this.peek(1)==="/")return this.readLineComment($,Z,J);if(X==="/"&&this.peek(1)==="*")return this.readBlockComment($,Z,J);if(X==='"'||X==="'")return this.readString(X,$,Z,J);if(X==="`")return this.readTemplateString($,Z,J);if(/\d/.test(X)||X==="."&&/\d/.test(this.peek(1)||""))return this.readNumber($,Z,J);if(/[a-z_$]/i.test(X))return this.readIdentifier($,Z,J);if(X==="{"){if(this.peek(1)==="{"&&this.peek(2)==="{")return this.advance(3),{type:"RAW_START",value:"{{{",start:$,end:this.pos,line:Z,column:J};if(this.peek(1)==="{")return this.advance(2),{type:"EXPRESSION_START",value:"{{",start:$,end:this.pos,line:Z,column:J};if(this.peek(1)==="!"&&this.peek(2)==="!")return this.advance(3),{type:"RAW_START",value:"{!!",start:$,end:this.pos,line:Z,column:J}}if(X==="}"){if(this.peek(1)==="}"&&this.peek(2)==="}")return this.advance(3),{type:"RAW_END",value:"}}}",start:$,end:this.pos,line:Z,column:J};if(this.peek(1)==="}")return this.advance(2),{type:"EXPRESSION_END",value:"}}",start:$,end:this.pos,line:Z,column:J}}if(X==="!"&&this.peek(1)==="!"&&this.peek(2)==="}")return this.advance(3),{type:"RAW_END",value:"!!}",start:$,end:this.pos,line:Z,column:J};if(X==="@"&&/[a-z]/i.test(this.peek(1)||""))return this.readDirective($,Z,J);let Y=["===","!==","==","!=","<=",">=","&&","||","??","++","--","+=","-=","*=","/=","%=","**","=>","?.","...","<<",">>",">>>","&=","|=","^="];for(let Q of Y)if(this.source.slice(this.pos,this.pos+Q.length)===Q)return this.advance(Q.length),{type:"OPERATOR",value:Q,start:$,end:this.pos,line:Z,column:J};if(/[+\-*/%<>=!&|^~?:]/.test(X))return this.advance(),{type:"OPERATOR",value:X,start:$,end:this.pos,line:Z,column:J};if(/[()[\]{},;.]/.test(X))return this.advance(),{type:"PUNCTUATION",value:X,start:$,end:this.pos,line:Z,column:J};return this.advance(),{type:"PUNCTUATION",value:X,start:$,end:this.pos,line:Z,column:J}}readWhitespace($,Z,J){while(this.pos<this.source.length&&/\s/.test(this.source[this.pos]))this.advance();return{type:"WHITESPACE",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:J}}readLineComment($,Z,J){this.advance(2);while(this.pos<this.source.length&&this.source[this.pos]!==`
|
|
3223
3223
|
`)this.advance();return{type:"COMMENT",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:J}}readBlockComment($,Z,J){this.advance(2);while(this.pos<this.source.length-1){if(this.source[this.pos]==="*"&&this.source[this.pos+1]==="/"){this.advance(2);break}this.advance()}return{type:"COMMENT",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:J}}readString($,Z,J,X){this.advance();while(this.pos<this.source.length){let Y=this.source[this.pos];if(Y==="\\"){this.advance(2);continue}if(Y===$){this.advance();break}this.advance()}return{type:"STRING",value:this.source.slice(Z,this.pos),start:Z,end:this.pos,line:J,column:X}}readTemplateString($,Z,J){this.advance();let X=0,Y=256;while(this.pos<this.source.length){let Q=this.source[this.pos];if(Q==="\\"){this.advance(2);continue}if(Q==="$"&&this.peek(1)==="{"){if(X>=Y){this.pos=this.source.length;break}this.advance(2),X++;continue}if(Q==="{"&&X>0){X++,this.advance();continue}if(Q==="}"&&X>0){X--,this.advance();continue}if(Q==="`"&&X===0){this.advance();break}this.advance()}return{type:"TEMPLATE_STRING",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:J}}readNumber($,Z,J){if(this.source[this.pos]==="0"){let X=this.peek(1)?.toLowerCase();if(X==="x"||X==="o"||X==="b"){this.advance(2);while(this.pos<this.source.length&&/[\da-f_]/i.test(this.source[this.pos]))this.advance();return{type:"NUMBER",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:J}}}while(this.pos<this.source.length&&/[\d_]/.test(this.source[this.pos]))this.advance();if(this.source[this.pos]==="."&&/\d/.test(this.peek(1)||"")){this.advance();while(this.pos<this.source.length&&/[\d_]/.test(this.source[this.pos]))this.advance()}if(/e/i.test(this.source[this.pos]||"")){if(this.advance(),/[+-]/.test(this.source[this.pos]||""))this.advance();while(this.pos<this.source.length&&/[\d_]/.test(this.source[this.pos]))this.advance()}if(this.source[this.pos]==="n")this.advance();return{type:"NUMBER",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:J}}readIdentifier($,Z,J){while(this.pos<this.source.length&&/[\w$]/.test(this.source[this.pos]))this.advance();return{type:"IDENTIFIER",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:J}}readDirective($,Z,J){this.advance();while(this.pos<this.source.length&&/[a-z]/i.test(this.source[this.pos]))this.advance();return{type:"DIRECTIVE",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:J}}advance($=1){for(let Z=0;Z<$&&this.pos<this.source.length;Z++){if(this.source[this.pos]===`
|
|
3224
|
-
`)this.line++,this.column=0;else this.column++;this.pos++}}peek($){return this.source[this.pos+$]}saveState(){return{pos:this.pos,line:this.line,column:this.column}}restoreState($){this.pos=$.pos,this.line=$.line,this.column=$.column}}function L0($,Z,J,X=0){let Y=0,Q=X,G=null,z=0,q=!1;while(Q<$.length){let K=$[Q];if(G&&q){q=!1,Q++;continue}if(G&&K==="\\"){q=!0,Q++;continue}if(q=!1,(K==='"'||K==="'"||K==="`")&&!G){G=K,Q++;continue}if(K===G&&G!=="`"){G=null,Q++;continue}if(G==="`"&&K==="$"&&$[Q+1]==="{"){z++,Q+=2;continue}if(z>0&&K==="}"){z--,Q++;continue}if(K==="`"&&G==="`"&&z===0){G=null,Q++;continue}if(G){Q++;continue}if(K===Z)Y++;else if(K===J){if(Y--,Y===0)return Q}Q++}return-1}function A7($,Z){let J=Z,X={paren:0,bracket:0,brace:0},Y=null,Q=0;while(J<$.length){let G=$[J];if((J>0?$[J-1]:"")==="\\"&&Y){J++;continue}if((G==='"'||G==="'")&&!Y){Y=G,J++;continue}if(G===Y&&Y!=="`"){Y=null,J++;continue}if(G==="`"&&!Y){Y="`",J++;continue}if(G==="`"&&Y==="`"&&Q===0){Y=null,J++;continue}if(Y==="`"&&G==="$"&&$[J+1]==="{"){Q++,J+=2;continue}if(Q>0){if(G==="{")Q++;else if(G==="}")Q--;J++;continue}if(Y){J++;continue}if(X.paren===0&&X.bracket===0&&X.brace===0){if($.slice(J,J+2)==="}}"||$.slice(J,J+3)==="!!}")break;if(G===","||G===";")break}if(G==="(")X.paren++;else if(G===")"){if(X.paren--,X.paren<0)break}else if(G==="[")X.bracket++;else if(G==="]"){if(X.bracket--,X.bracket<0)break}else if(G==="{")X.brace++;else if(G==="}"){if(X.brace--,X.brace<0)break}J++}return{expression:$.slice(Z,J),endPos:J}}function w5($){let Z=[],J="",X={paren:0,bracket:0,brace:0},Y=null,Q=0;for(let G=0;G<$.length;G++){let z=$[G];if((G>0?$[G-1]:"")==="\\"&&Y){J+=z;continue}if((z==='"'||z==="'")&&!Y){Y=z,J+=z;continue}if(z===Y&&Y!=="`"){Y=null,J+=z;continue}if(z==="`"&&!Y){Y="`",J+=z;continue}if(z==="`"&&Y==="`"&&Q===0){Y=null,J+=z;continue}if(Y==="`"&&z==="$"&&$[G+1]==="{"){Q++,J+=z+$[G+1],G++;continue}if(Q>0&&z==="{"){Q++,J+=z;continue}if(Q>0&&z==="}"){Q--,J+=z;continue}if(Y){J+=z;continue}if(z==="(")X.paren++;else if(z===")")X.paren--;else if(z==="[")X.bracket++;else if(z==="]")X.bracket--;else if(z==="{")X.brace++;else if(z==="}")X.brace--;if(z==="|"&&$[G+1]!=="|"&&(G===0||$[G-1]!=="|")&&$[G-1]!=="\\"&&X.paren===0&&X.bracket===0&&X.brace===0){Z.push(J.trim()),J="";continue}if(z==="|"&&$[G-1]==="\\"&&!Y){J=J.slice(0,-1)+z;continue}J+=z}if(J.trim())Z.push(J.trim());return Z}function q1($,Z){let J=_X($,Z);return J.ok?{expression:J.expression,endPos:J.endPos}:null}function _X($,Z){let J=Z;while(J<$.length&&/\s/.test($[J]))J++;if($[J]!=="(")return{ok:!1,reason:"missing-open-paren",pos:J};let X=L0($,"(",")",J);if(X===-1)return{ok:!1,reason:"unclosed-paren",pos:J};return{ok:!0,expression:$.slice(J+1,X),endPos:X+1}}function LX($,Z){let J=$.lastIndexOf("<",Z);if(J===-1)return!1;return J>$.lastIndexOf(">",Z)}function O1($,Z,J,X){let Y=1,Q=X,G=new RegExp(`@${Z}\\s*\\(`,"g"),z=new RegExp(`@${J}(?![a-z])`,"g");while(Q<$.length&&Y>0){G.lastIndex=Q,z.lastIndex=Q;let q=G.exec($),K=z.exec($),W=q?q.index:1/0,U=K?K.index:1/0;if(W<U)Y++,Q=W+q[0].length;else if(U<1/0){if(Y--,Y===0)return U;Q=U+K[0].length}else break}return-1}function M7($,Z){let J=$.slice(Z).match(/^@if\s*/);if(!J)return null;let X=Z+J[0].length,Y=q1($,X);if(!Y)return null;let Q=Y.endPos,G=O1($,"if","endif",Q);if(G===-1)return null;let z=$.slice(Q,G),q=[],K=0,W="if",U=Y.expression,H=0,j=0;while(K<z.length){let B=z.indexOf("@",K);if(B===-1)break;K=B;let V=z.substring(B);if(LX(z,B)){K++;continue}if(/^@if\s*\(/.test(V)){j++,K++;continue}if(/^@endif(?![a-z])/.test(V)){j--,K+=6;continue}if(j===0){let F=V.match(/^@elseif\s*/);if(F){q.push({type:W,condition:U,content:z.substring(H,K),start:Q+H,end:Q+K});let _=K+F[0].length,O=q1(z,_);if(!O){K++;continue}W="elseif",U=O.expression,K=O.endPos,H=K;continue}else if(/^@else(?![a-z])/.test(V)){q.push({type:W,condition:U,content:z.substring(H,K),start:Q+H,end:Q+K}),W="else",U=void 0,K+=5,H=K;continue}}K++}return q.push({type:W,condition:U,content:z.slice(H),start:Q+H,end:Q+z.length}),{fullMatch:$.slice(Z,G+6),branches:q,start:Z,end:G+6}}function j2($){let Z=[],J=/@if\s*\(/g,X=J.exec($);while(X!==null){if(Z.some((G)=>X.index>G.start&&X.index<G.end)){X=J.exec($);continue}let Q=M7($,X.index);if(Q)Z.push(Q),J.lastIndex=Q.end;X=J.exec($)}return Z}function Y9($,Z,J){let X=[],Y=new RegExp(`@${Z}\\s*\\(`,"g"),Q=Y.exec($);while(Q!==null){if(X.some((V)=>Q.index>V.start&&Q.index<V.end)){Q=Y.exec($);continue}let z=Q.index,q=z+Q[0].length-1,K=L0($,"(",")",q);if(K===-1){Q=Y.exec($);continue}let W=$.slice(q+1,K),U=K+1,H=O1($,Z,J,U);if(H===-1){Q=Y.exec($);continue}let j=$.slice(U,H),B=H+`@${J}`.length;X.push({fullMatch:$.slice(z,B),name:Z,params:W,content:j,start:z,end:B}),Y.lastIndex=B,Q=Y.exec($)}return X}function R5($,Z){let J=$.slice(Z).match(/^@switch\s*/);if(!J)return null;let X=Z+J[0].length,Y=q1($,X);if(!Y)return null;let Q=Y.endPos,G=O1($,"switch","endswitch",Q);if(G===-1)return null;let z=$.slice(Q,G),q=[],K=0,W=null,U=0;while(K<z.length){let H=z.slice(K),j=H.match(/^@switch\s*\(/),B=H.match(/^@endswitch(?![a-z])/);if(j){if(U++,W)W.content+=j[0];K+=j[0].length;continue}if(B){if(U--,W)W.content+=B[0];K+=B[0].length;continue}if(U>0){if(W)W.content+=z[K];K++;continue}let V=H.match(/^@case\s*/),F=H.match(/^@default(?![a-z])/),_=H.match(/^@break(?![a-z])/);if(V&&H.startsWith("@case")){if(W)q.push(W);let O=K+V[0].length,L=q1(z,O);if(!L){K++;continue}W={type:"case",value:L.expression,content:""},K=L.endPos}else if(F&&H.startsWith("@default")){if(W)q.push(W);W={type:"default",content:""},K+=F[0].length}else if(_&&H.startsWith("@break"))K+=_[0].length;else{if(W)W.content+=z[K];K++}}if(W)q.push(W);return{fullMatch:$.slice(Z,G+10),expression:Y.expression,cases:q,start:Z,end:G+10}}function OX($){let Z=[],J=0;while(J<$.length){let X=$.indexOf("{{",J),Y=$.indexOf("{!!",J),Q=!1,G;if(X===-1&&Y===-1)break;else if(X===-1)G=Y,Q=!0;else if(Y===-1)G=X,Q=!1;else if(Y<X)G=Y,Q=!0;else G=X,Q=!1;if(!Q&&$.slice(G,G+3)==="{{{")Q=!0;let z=Q?$.slice(G,G+3)==="{{{"?"{{{":"{!!":"{{",q=Q?z==="{{{"?"}}}":"!!}":"}}",K=G+z.length,W=FX($,K,q);if(W===-1){J=G+1;continue}let U=$.slice(K,W).trim(),H=W+q.length;Z.push({fullMatch:$.slice(G,H),expression:U,start:G,end:H,isRaw:Q}),J=H}return Z}function FX($,Z,J){let X=Z,Y=null,Q={paren:0,bracket:0,brace:0},G=0;while(X<$.length){let z=$[X];if((X>0?$[X-1]:"")==="\\"&&Y){X++;continue}if((z==='"'||z==="'")&&!Y){Y=z,X++;continue}if(z===Y&&Y!=="`"){Y=null,X++;continue}if(z==="`"&&!Y){Y="`",X++;continue}if(z==="`"&&Y==="`"&&G===0){Y=null,X++;continue}if(Y==="`"&&z==="$"&&$[X+1]==="{"){G++,X+=2;continue}if(G>0){if(z==="{")G++;else if(z==="}")G--;X++;continue}if(Y){X++;continue}if(z==="(")Q.paren++;else if(z===")")Q.paren--;else if(z==="[")Q.bracket++;else if(z==="]")Q.bracket--;else if(z==="{")Q.brace++;else if(z==="}")Q.brace--;if(Q.paren===0&&Q.bracket===0&&Q.brace<=0){if($.slice(X,X+J.length)===J)return X}X++}return-1}function wX($){let Z=w5($);if(Z.length===0)return{baseExpression:"",filters:[]};let J=Z[0],X=[];for(let Y=1;Y<Z.length;Y++){let Q=RX(Z[Y]);if(Q)X.push(Q)}return{baseExpression:J,filters:X}}function RX($){let Z=$.trim();if(!Z)return null;let J=Z.indexOf("(");if(J===-1)return{name:Z,args:[]};let X=Z.slice(0,J).trim(),Y=J+1,Q=L0(Z,"(",")",J);if(Q===-1)return{name:X,args:[]};let G=Z.slice(Y,Q),z=k7(G);return{name:X,args:z}}function k7($){let Z=[],J="",X={paren:0,bracket:0,brace:0},Y=null,Q=0;for(let G=0;G<$.length;G++){let z=$[G];if((G>0?$[G-1]:"")==="\\"&&Y){J+=z;continue}if((z==='"'||z==="'")&&!Y){Y=z,J+=z;continue}if(z===Y&&Y!=="`"){Y=null,J+=z;continue}if(z==="`"&&!Y){Y="`",J+=z;continue}if(z==="`"&&Y==="`"&&Q===0){Y=null,J+=z;continue}if(Y==="`"&&z==="$"&&$[G+1]==="{"){Q++,J+="${",G++;continue}if(Q>0&&z==="{"){Q++,J+=z;continue}if(Q>0&&z==="}"){Q--,J+=z;continue}if(Y){J+=z;continue}if(z==="(")X.paren++;else if(z===")")X.paren--;else if(z==="[")X.bracket++;else if(z==="]")X.bracket--;else if(z==="{")X.brace++;else if(z==="}")X.brace--;if(z===","&&X.paren===0&&X.bracket===0&&X.brace===0){Z.push(J.trim()),J="";continue}J+=z}if(J.trim())Z.push(J.trim());return Z}function NX($,Z){let J=Z;while(J<$.length&&/\s/.test($[J]))J++;if($[J]!=="(")return null;let X=L0($,"(",")",J);if(X===-1)return null;return{params:$.slice(J+1,X),endPos:X+1}}function DX($){let Z=[],X=new X9($).tokenize().filter((Q)=>Q.type!=="WHITESPACE"&&Q.type!=="COMMENT"),Y=0;while(Y<X.length){let Q=X[Y],G=!1;if(Q.type==="IDENTIFIER"&&Q.value==="export"){if(G=!0,Y++,Y>=X.length)break}let z=X[Y];if(z.type==="IDENTIFIER"&&(z.value==="const"||z.value==="let"||z.value==="var")){let q=z.value;if(Y++,Y>=X.length)break;let K=X[Y];if(K.type==="IDENTIFIER"){let W=K.value;if(Y++,Y<X.length&&X[Y].type==="OPERATOR"&&X[Y].value==="="){Y++;let U=Y<X.length?X[Y].start:$.length,H=I7(X,Y,$);Y=H.nextIndex,Z.push({type:"variable",name:W,value:$.slice(U,H.endPos),exported:G,start:z.start,end:H.endPos})}}else if(K.type==="PUNCTUATION"&&(K.value==="{"||K.value==="[")){let W=K.start,U=K.value==="{"?"}":"]",H=L0($,K.value,U,W);if(H!==-1){let j=$.slice(W,H+1);if(Y=T7(X,H+1),Y<X.length&&X[Y].type==="OPERATOR"&&X[Y].value==="="){Y++;let B=Y<X.length?X[Y].start:$.length,V=I7(X,Y,$);Y=V.nextIndex;let F=`__stx_destructured_${Z.length}`;Z.push({type:"variable",name:F,value:`${$.slice(B,V.endPos)}; ${q} ${j} = ${F}`,exported:G,start:z.start,end:V.endPos})}}}}else if(z.type==="IDENTIFIER"&&z.value==="function"){let q=G?X[Y-1].start:z.start;if(Y++,Y>=X.length)break;let K=X[Y];if(K.type==="IDENTIFIER"){let W=K.value;Y++;let U=-1;while(Y<X.length){if(X[Y].type==="PUNCTUATION"&&X[Y].value==="{"){U=X[Y].start;break}Y++}if(U!==-1){let H=L0($,"{","}",U);if(H!==-1)Z.push({type:"function",name:W,value:$.slice(q,H+1).replace(/^export\s+/,""),exported:G,start:q,end:H+1}),Y=T7(X,H+1)}}}else Y++}return Z}function I7($,Z,J){let X=Z,Y={paren:0,bracket:0,brace:0},Q=Z<$.length?$[Z].start:J.length;while(X<$.length){let G=$[X];if(G.type==="PUNCTUATION"){if(G.value==="(")Y.paren++;else if(G.value===")")Y.paren--;else if(G.value==="[")Y.bracket++;else if(G.value==="]")Y.bracket--;else if(G.value==="{")Y.brace++;else if(G.value==="}")Y.brace--;if(G.value===";"&&Y.paren===0&&Y.bracket===0&&Y.brace===0){Q=G.start,X++;break}}if(G.type==="IDENTIFIER"&&(G.value==="const"||G.value==="let"||G.value==="var"||G.value==="function"||G.value==="export")){if(Y.paren===0&&Y.bracket===0&&Y.brace===0){Q=$[X-1]?.end??G.start;break}}Q=G.end,X++}return{nextIndex:X,endPos:Q}}function T7($,Z){for(let J=0;J<$.length;J++)if($[J].start>=Z)return J;return $.length}function AX($,Z,J){let X=$,Y=!0;while(Y){Y=!1;let Q=X.match(/@switch\s*\(/);if(!Q||Q.index===void 0)break;let G=Q.index,z=R5(X,G);if(!z)break;try{let q;if(W0(z.expression))q=K0(z.expression,Object.keys(Z))(...Object.values(Z));else q=e(z.expression,Z);let K="",W=!1;for(let U of z.cases)if(U.type==="default"){if(!W)K=U.content.trim()}else try{let H;if(U.value&&W0(U.value))H=K0(U.value,Object.keys(Z))(...Object.values(Z));else if(U.value)H=e(U.value,Z);if(q===H){K=U.content.trim(),W=!0;break}}catch{continue}X=X.substring(0,G)+K+X.substring(z.end),Y=!0}catch(q){let K=q instanceof Error?q.message:String(q),W=X0("Switch",`Error evaluating @switch expression: ${K}`,J0.EVALUATION_ERROR);X=X.substring(0,G)+W+X.substring(z.end);break}}return X}function MX($){let Z=[];return{masked:$.replace(/<script\b[\s\S]*?<\/script\s*>/gi,(X)=>{return Z.push(X),`\x00stx-script-${Z.length-1}\x00`}),scripts:Z}}function IX($,Z){if(Z.length===0)return $;return $.replace(/\u0000stx-script-(\d+)\u0000/g,(J,X)=>Z[Number(X)]??J)}function e0($,Z,J){let{masked:X,scripts:Y}=MX($);return IX(TX(X,Z,J),Y)}function TX($,Z,J){let X=$;X=AX(X,Z,J);{let Q=!0;while(Q){Q=!1;let G=X.match(/@unless\s*\(/);if(!G||G.index===void 0)break;let z=G.index,q=q1(X,z+7);if(!q)break;let K=q.endPos,W=O1(X,"unless","endunless",K);if(W===-1){console.warn(`[stx] @unless directive at position ${z} has no matching @endunless \u2014 the block was skipped. Check for typos or missing closers.`);break}let U=X.slice(K,W),H=q.expression,j=-1;{let V=0,F=/@(?:if|unless)\s*\(/g,_=/@(?:endif|endunless)(?![a-z])/g,O=/@else(?![a-z])/g,L=[],w;while((w=F.exec(U))!==null)L.push({pos:w.index,type:"open"});while((w=_.exec(U))!==null)L.push({pos:w.index,type:"close"});while((w=O.exec(U))!==null)L.push({pos:w.index,type:"else"});L.sort((R,N)=>R.pos-N.pos);for(let R of L)if(R.type==="open")V++;else if(R.type==="close")V--;else if(R.type==="else"&&V===0){j=R.pos;break}}let B;if(j!==-1){let V=U.slice(0,j),F=U.slice(j+5);B=`@if (${H})${F}@else ${V}@endif`}else B=`@if (!(${H}))${U}@endif`;X=X.substring(0,z)+B+X.substring(W+10),Q=!0}}X=D5(X,Z,J),X=A5(X,Z,J),X=N5(X,Z);let Y=()=>{let Q=j2(X);if(Q.length===0)return!1;let G=Array(Q.length);for(let K=Q.length-1;K>=0;K--){let W=Q[K];try{let U="",H=!1;for(let j of W.branches){if(H)break;if(j.type==="else")U=j.content,H=!0;else try{let B;if(j.condition&&W0(j.condition))B=K0(j.condition,Object.keys(Z))(...Object.values(Z));else if(j.condition)B=e(j.condition,Z);if(B)U=j.content,H=!0}catch(B){U=X0(j.type==="if"?"If":"Elseif",`Error in @${j.type}(${j.condition}): ${B instanceof Error?B.message:String(B)}`,J0.EVALUATION_ERROR),H=!0}}G[K]=U}catch(U){let H=U instanceof Error?U.message:String(U);G[K]=X0("If",`Error processing @if block: ${H}`,J0.EVALUATION_ERROR)}}let z=Array(Q.length*2+1),q=0;for(let K=0;K<Q.length;K++){let W=Q[K];z[K*2]=X.slice(q,W.start),z[K*2+1]=G[K],q=W.end}return z[Q.length*2]=X.slice(q),X=z.join(""),!0};while(!0){let Q=X;if(!Y())break;if(X===Q)break}return X}function E7($){let Z=0;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return null;Z++;while(Z<$.length&&/\s/.test($[Z]))Z++;let J=$[Z];if(J!=="'"&&J!=='"')return null;Z++;let X=[];while(Z<$.length){let Y=$[Z];if(Y==="\\"&&Z+1<$.length){X.push($[Z+1]),Z+=2;continue}if(Y===J){Z++;break}X.push(Y),Z++}while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!==")")return null;return Z++,{value:X.join(""),consumed:Z}}function N5($,Z){let J=$;function X(z,q,K,W){let U=1,H=W,j=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),B=new RegExp(`@${K}(?![a-z])`,"g");while(H<z.length&&U>0){j.lastIndex=H,B.lastIndex=H;let V=j.exec(z),F=B.exec(z),_=V?V.index:1/0,O=F?F.index:1/0;if(_<O)U++,H=_+V[0].length;else if(O<1/0){if(U--,U===0)return O;H=O+F[0].length}else break}return-1}function Y(z,q,K){let W=0,U=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),H=new RegExp(`@${K}(?![a-z])`,"g"),j=/@else(?![a-z])/g,B=[],V;while((V=U.exec(z))!==null)B.push({pos:V.index,type:"open"});while((V=H.exec(z))!==null)B.push({pos:V.index,type:"close"});while((V=j.exec(z))!==null)B.push({pos:V.index,type:"else"});B.sort((F,_)=>F.pos-_.pos);for(let F of B)if(F.type==="open")W++;else if(F.type==="close")W--;else if(F.type==="else"&&W===0)return F.pos;return-1}{let z=!0;while(z){z=!1;let q=J.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let K=q.index,W,U,H=J.slice(K+5),j=E7(H);if(j)W=j.value,U=K+5+j.consumed;else U=K+5;let B=X(J,"auth","endauth",U);if(B===-1){console.warn(`[stx] @auth directive at position ${K} has no matching @endauth \u2014 the block was skipped.`);break}let V=J.slice(U,B),F=Y(V,"auth","endauth"),_;if(!Z.auth)_=!1;else _=W?z1(`auth?.check && auth?.user?.[${W}]`,Z):z1("auth?.check",Z);let O;if(F!==-1){let L=V.slice(0,F),w=V.slice(F+5);O=_?L:w}else O=_?V:"";J=J.substring(0,K)+O+J.substring(B+8),z=!0}}{let z=!0;while(z){z=!1;let q=J.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let K=q.index,W,U,H=J.slice(K+6),j=E7(H);if(j)W=j.value,U=K+6+j.consumed;else U=K+6;let B=X(J,"guest","endguest",U);if(B===-1){console.warn(`[stx] @guest directive at position ${K} has no matching @endguest \u2014 the block was skipped.`);break}let V=J.slice(U,B),F=Y(V,"guest","endguest"),_;if(!Z.auth)_=!0;else _=W?z1(`!auth?.check || !auth?.user?.[${W}]`,Z):z1("!auth?.check",Z);let O;if(F!==-1){let L=V.slice(0,F),w=V.slice(F+5);O=_?L:w}else O=_?V:"";J=J.substring(0,K)+O+J.substring(B+9),z=!0}}function Q(z,q,K){if(Z.userCan&&typeof Z.userCan[z]==="boolean")return Z.userCan[z];if(Z.permissions?.check&&typeof Z.permissions.check==="function")try{let W=[z];if(q)W.push(q);if(K){let U=z1(K,Z);W.push(U)}return Z.permissions.check(...W)}catch{return!1}return!1}function G(z){let q=z.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!q)return null;return{ability:q[1],type:q[2],id:q[3]?.trim(),paramsEnd:q[0].length}}for(let z of["can","cannot"]){let q=`end${z}`,K=z==="can"?"elsecan":"elsecannot",W=!0;while(W){W=!1;let U=J.match(new RegExp(`@${z}\\s*\\(`));if(!U||U.index===void 0)break;let H=U.index,j=J.slice(H+`@${z}`.length),B=G(j);if(!B)break;let V=H+`@${z}`.length+B.paramsEnd,F=X(J,z,q,V);if(F===-1){console.warn(`[stx] @${z} directive at position ${H} has no matching @${q} \u2014 the block was skipped.`);break}let _=J.slice(V,F),O=[],L=0,w=new RegExp(`@${z}\\s*\\(`,"g"),R=new RegExp(`@${q}(?![a-z])`,"g"),N=new RegExp(`@${K}\\s*\\(`,"g"),A=/@else(?![a-z])/g,T=[],D;while((D=w.exec(_))!==null)T.push({pos:D.index,type:"open"});while((D=R.exec(_))!==null)T.push({pos:D.index,type:"close"});while((D=N.exec(_))!==null)T.push({pos:D.index,type:"elseDirective"});while((D=A.exec(_))!==null)T.push({pos:D.index,type:"else"});T.sort((b,C)=>b.pos-C.pos);for(let b of T){if(b.type==="open"){L++;continue}if(b.type==="close"){L--;continue}if(L===0)O.push(b)}let M=[],k=0;for(let b=0;b<O.length;b++){let C=O[b];if(M.push({content:_.slice(k,C.pos),ability:void 0}),C.type==="elseDirective"){let f=_.slice(C.pos+`@${K}`.length),u=G(f);if(u){M[M.length-1]={content:_.slice(k,C.pos)},k=C.pos+`@${K}`.length+u.paramsEnd,M.push({content:"",ability:u.ability,type:u.type,id:u.id}),M.pop();let P=O[b+1],h=P?P.pos:_.length;M.push({content:_.slice(k,h),ability:u.ability,type:u.type,id:u.id}),k=h}}else k=C.pos+5}if(k<_.length){let b=M[M.length-1];if(O.length>0&&O[O.length-1].type==="else")M.push({content:_.slice(k),isFinalElse:!0});else if(M.length===0)M.push({content:_.slice(k)})}let I=Q(B.ability,B.type,B.id),y=z==="can"?I:!I,E="";if(y)E=M[0]?.content||"";else{let b=!1;for(let C=1;C<M.length;C++){let f=M[C];if(f.isFinalElse){E=f.content,b=!0;break}if(f.ability){let u=Q(f.ability,f.type,f.id);if(z==="can"?u:!u){E=f.content,b=!0;break}}}if(!b&&M.length>0){let C=M[M.length-1];if(C.isFinalElse)E=C.content}}J=J.substring(0,H)+E+J.substring(F+`@${q}`.length),W=!0}}return J}function D5($,Z,J){let X=$;function Y(Q,G,z,q,K){let W=!0;while(W){W=!1;let U=new RegExp(`@${G}\\s*\\(`),H=Q.match(U);if(!H||H.index===void 0)break;let j=H.index,B=q1(Q,j+`@${G}`.length);if(!B)break;let V=B.endPos,F=O1(Q,G,z,V);if(F===-1){console.warn(`[stx] @${G} directive at position ${j} has no matching @${z} \u2014 the block was skipped.`);break}let _=Q.slice(V,F),O=B.expression,L=-1,w=0,R=0;while(R<_.length){let N=_.indexOf("@",R);if(N===-1)break;let A=_.substring(N);if(/^@(?:if|unless|isset|empty)\s*\(/.test(A)){w++,R=N+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(A)){w--,R=N+1;continue}if(w===0&&/^@else(?![a-z])/.test(A)){L=N;break}R=N+1}try{let N=q(O.trim()),A;if(L!==-1){let T=_.slice(0,L),D=_.slice(L+5);A=N?T:D}else A=N?_:"";Q=Q.substring(0,j)+A+Q.substring(F+`@${z}`.length),W=!0}catch(N){let A=N instanceof Error?N.message:String(N),T=X0(K,`Error processing @${G} directive: ${A}`,J0.EVALUATION_ERROR);Q=Q.substring(0,j)+T+Q.substring(F+`@${z}`.length);break}}return Q}return X=Y(X,"isset","endisset",(Q)=>{let G=z1(Q,Z);return G!==void 0&&G!==null},"Isset"),X=Y(X,"empty","endempty",(Q)=>{let G=z1(Q,Z);return G===void 0||G===null||G===""||G===0||G===!1||Array.isArray(G)&&G.length===0||typeof G==="object"&&G!==null&&Object.keys(G).length===0},"Empty"),X}function A5($,Z,J){let X=$,Y="development";function Q(G,z,q,K){let W=new RegExp(`@${z}(?![a-z])`,"g"),U=new RegExp(`@${q}(?![a-z])`,"g"),H=new RegExp(`^@${z}(?![a-z])`),j=new RegExp(`^@${q}(?![a-z])`),B=G,V=!0;while(V){V=!1,W.lastIndex=0;let F=W.exec(B);if(!F)break;let _=F.index,O=_+F[0].length;if(z==="env"){let I=B.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!I)break;O+=I[0].length,K=Y===I[2]}let L=1,w=O,R=-1;while(L>0&&w<B.length){W.lastIndex=w,U.lastIndex=w;let I=W.exec(B),y=U.exec(B),E=I?I.index:1/0,b=y?y.index:1/0;if(E<b)L++,w=E+I[0].length;else if(b<1/0){if(L--,L===0){R=b;break}w=b+y[0].length}else break}if(R===-1){console.warn(`[stx] @${z} directive at position ${_} has no matching @${q} \u2014 the block was skipped.`);break}let N=B.substring(O,R),A=-1,T=0,D=0;while(D<N.length){let I=N.indexOf("@",D);if(I===-1)break;let y=N.substring(I);if(H.test(y)){T++,D=I+1;continue}if(j.test(y)){T--,D=I+1;continue}if(T===0&&/^@else(?![a-z])/.test(y)){A=I;break}D=I+1}let M;if(A!==-1){let I=N.slice(0,A),y=N.slice(A+5);M=K?I:y}else M=K?N:"";let k=`@${q}`.length;B=B.substring(0,_)+M+B.substring(R+k),V=!0}return B}return X=Q(X,"env","endenv",!1),X=Q(X,"production","endproduction",Y==="production"),X=Q(X,"development","enddevelopment",Y==="development"),X=Q(X,"staging","endstaging",Y==="staging"),X=Q(X,"testing","endtesting",Y==="testing"),X}var M5=new WeakMap;function b7($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function F1($,Z){if(!$)return Z?.nonceGenerator?.()??b7();let J=M5.get($);if(!J)J=Z?.nonceGenerator?.()??b7(),M5.set($,J);return J}function xW($){M5.delete($)}function y7($,Z){let J=[];for(let[X,Y]of Object.entries($)){if(Y===void 0||Y===null)continue;if(typeof Y==="boolean"){if(Y)J.push(X);continue}if(Array.isArray(Y)){let Q=[...Y];if(Z&&(X==="script-src"||X==="style-src"))Q=Q.filter((G)=>!G.startsWith("'nonce-")),Q.push(`'nonce-${Z}'`);if(Q.length>0)J.push(`${X} ${Q.join(" ")}`)}}return J.join("; ")}function T5($,Z){return`<meta http-equiv="Content-Security-Policy" content="${y7($,Z).replace(/&/g,"&").replace(/"/g,""")}">`}var kX={"default-src":["'self'"],"script-src":["'self'","'strict-dynamic'"],"style-src":["'self'"],"img-src":["'self'","data:","https:"],"font-src":["'self'","https:","data:"],"connect-src":["'self'"],"media-src":["'self'"],"object-src":["'none'"],"frame-src":["'none'"],"base-uri":["'self'"],"form-action":["'self'"],"frame-ancestors":["'self'"],"upgrade-insecure-requests":!0},I5={"default-src":["'self'"],"script-src":["'self'"],"style-src":["'self'","'unsafe-inline'"],"img-src":["'self'","data:","https:"],"font-src":["'self'","https:","data:"],"connect-src":["'self'","https:"],"media-src":["'self'"],"object-src":["'none'"],"frame-src":["'self'"],"base-uri":["'self'"],"form-action":["'self'"],"upgrade-insecure-requests":!0},EX={"default-src":["'self'"],"script-src":["'self'","'unsafe-inline'"],"style-src":["'self'","'unsafe-inline'"],"img-src":["'self'","data:","https:","http:"],"font-src":["'self'","https:","http:","data:"],"connect-src":["'self'","https:","http:","ws:","wss:"],"media-src":["'self'","https:","http:"],"object-src":["'none'"],"frame-src":["'self'","https:"],"base-uri":["'self'"]},bX={"default-src":["'none'"],"frame-ancestors":["'none'"]};function gW($){return{enabled:!0,directives:{strict:kX,moderate:I5,relaxed:EX,api:bX}[$]||I5,useNonce:$==="strict",addMetaTag:!0}}function hW($,Z){let J={...$};for(let[X,Y]of Object.entries(Z)){let Q=X,G=J[Q];if(Y===void 0||Y===null)continue;if(typeof Y==="boolean")J[Q]=G||Y;else if(Array.isArray(Y)){let z=Array.isArray(G)?G:[],q=[...new Set([...z,...Y])];J[Q]=q}}return J}function C7($,Z,J){if(!Z.enabled||!Z.addMetaTag)return $;if($.includes('http-equiv="Content-Security-Policy"'))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let X=Z.useNonce?F1(J,Z):void 0,Y=T5(Z.directives,X);return $.replace(/<head([^>]*)>/,`<head$1>
|
|
3225
|
-
${Y}`)}function S7($,Z){let J=$;return J=J.replace(/<script(?![^>]*\ssrc=)([^>]*)>/gi,(X,Y)=>{if(Y.includes("nonce="))return X;return`<script nonce="${Z}"${Y}>`}),J=J.replace(/<style([^>]*)>/gi,(X,Y)=>{if(Y.includes("nonce="))return X;return`<style nonce="${Z}"${Y}>`}),J}function P7($,Z,J,X){let Y=$,Q=X.csp;if(Y=Y.replace(/@csp\b/g,()=>{if(!Q?.enabled||!Q.directives)return"<!-- CSP not configured -->";let G=Q.useNonce?F1(Z,Q):void 0;return T5(Q.directives,G)}),Y=Y.replace(/@cspNonce\b/g,()=>{if(!Q?.enabled||!Q.useNonce)return"";return F1(Z,Q)}),Q?.enabled&&Q.useNonce)Z.cspNonce=F1(Z,Q);return Y}var yX={name:"csp",handler:($,Z,J,X)=>{let Q=J.__stx_options?.csp;if(!Q?.enabled||!Q.directives)return"<!-- CSP not configured -->";let G=Q.useNonce?F1(J,Q):void 0;return T5(Q.directives,G)},hasEndTag:!1,description:"Insert Content-Security-Policy meta tag"},CX={name:"cspNonce",handler:($,Z,J,X)=>{let Q=J.__stx_options?.csp;if(!Q?.enabled||!Q.useNonce)return"";return F1(J,Q)},hasEndTag:!1,description:"Output the current CSP nonce value"};function uW(){return[yX,CX]}function dW($){let Z=[];if($["script-src"]?.includes("'unsafe-inline'"))Z.push("CSP: Using unsafe-inline in script-src significantly reduces XSS protection");if($["script-src"]?.includes("'unsafe-eval'"))Z.push("CSP: Using unsafe-eval in script-src allows eval() and related functions");if(!$["default-src"])Z.push("CSP: No default-src specified. Recommend adding default-src as a fallback");if($["default-src"]?.includes("*"))Z.push("CSP: Using * in default-src provides minimal protection");if(!$["object-src"]&&!$["default-src"]?.includes("'none'"))Z.push("CSP: Consider adding object-src: none to block plugins");if(!$["base-uri"])Z.push("CSP: Consider adding base-uri to prevent base tag injection attacks");for(let[J,X]of Object.entries($))if(Array.isArray(X)&&X.includes("http:"))Z.push(`CSP: Using http: in ${J} allows insecure resources`);return Z}function SX($=!1){return $?"Content-Security-Policy-Report-Only":"Content-Security-Policy"}function mW($,Z){if(!$.enabled)return{};let J=$.useNonce?F1(Z,$):void 0,X=y7($.directives,J);return{[SX($.reportOnly)]:X}}var lW={enabled:!1,reportOnly:!1,directives:I5,useNonce:!1,addMetaTag:!0};import PX from"crypto";var vX=40,v7="_token",k5=null;function fX($=vX){let Z=PX.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return k5=Z,Z}function xX(){if(!k5)fX();return k5}function gX($=v7){let Z=xX();return`<input type="hidden" name="${$}" value="${Z}">`}function f7($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(Z,J,X)=>{return gX(X||v7)})}async function x7($,Z,J,X){if(!X.customDirectives||X.customDirectives.length===0)return $;let Y=$;for(let Q of X.customDirectives){if(!Q.name||typeof Q.handler!=="function"){if(X.debug)console.warn("Invalid custom directive:",Q);continue}if(Q.hasEndTag)Y=await hX(Y,Q,Z,J,X);else Y=await uX(Y,Q,Z,J,X)}return Y}async function hX($,Z,J,X,Y){let{name:Q,handler:G}=Z,z=`@${Q}`,q=`@end${Q}`,K=$,W=v1(`${z}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${q}`,"g"),U=[],H=W.exec(K);while(H!==null){let[j,B="",V=""]=H,F=H.index||0;try{let _=B?g7(B):[],O=V.trim(),L=await G(O,_,J,X);U.push({original:j,processed:L,startIndex:F})}catch(_){let O=_ instanceof Error?_.message:String(_);if(Y.debug)console.error(`Error processing custom directive @${Q}:`,_);U.push({original:j,processed:X0("CustomDirective",`Error in @${Q}${B?`(${B})`:""}: ${O}`,J0.EVALUATION_ERROR),startIndex:F})}H=W.exec(K)}for(let j=U.length-1;j>=0;j--){let{original:B,processed:V}=U[j];K=K.replace(B,V)}return K}async function uX($,Z,J,X,Y){let{name:Q,handler:G}=Z,z=$,q=v1(`@${Q}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),K=[],W=q.exec(z);while(W!==null){let[j,B=""]=W,V=W.index||0;try{let F=g7(B),_=await G("",F,J,X);K.push({original:j,processed:_,startIndex:V})}catch(F){let _=F instanceof Error?F.message:String(F);if(Y.debug)console.error(`Error processing custom directive @${Q}:`,F);K.push({original:j,processed:X0("CustomDirective",`Error in @${Q}(${B}): ${_}`,J0.EVALUATION_ERROR),startIndex:V})}W=q.exec(z)}let U=v1(`@${Q}(?!\\w)(?!\\s*\\()`,"g"),H=U.exec(z);while(H!==null){let[j]=H,B=H.index||0;try{let V=await G("",[],J,X);K.push({original:j,processed:V,startIndex:B})}catch(V){let F=V instanceof Error?V.message:String(V);if(Y.debug)console.error(`Error processing custom directive @${Q}:`,V);K.push({original:j,processed:X0("CustomDirective",`Error in @${Q}: ${F}`,J0.EVALUATION_ERROR),startIndex:B})}H=U.exec(z)}for(let j=K.length-1;j>=0;j--){let{original:B,processed:V}=K[j];z=z.replace(B,V)}return z}function g7($){if(!$.trim())return[];let Z=[],J="",X=!1,Y="";for(let Q=0;Q<$.length;Q++){let G=$[Q];if((G==='"'||G==="'")&&(Q===0||$[Q-1]!=="\\"))if(!X)X=!0,Y=G;else if(G===Y)X=!1;else J+=G;else if(G===","&&!X)Z.push(J.trim()),J="";else J+=G}if(J.trim())Z.push(J.trim());return Z.map((Q)=>{let G=Q.trim();if(G.startsWith('"')&&G.endsWith('"')||G.startsWith("'")&&G.endsWith("'"))return G.substring(1,G.length-1);return G})}var h7=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,u7=/^[A-Za-z_$][\w$]*$/,dX=new Set(["light","dark","system"]);function w1($,Z){if(typeof $!=="string"||$.length===0)throw Error(`@appearanceBootstrap ${Z} must be a non-empty string`)}function mX($){if(!$||typeof $!=="object"||Array.isArray($))throw Error("@appearanceBootstrap expects an options object");let Z=$,J=Z.appearance,X=Z.colorMode;if(w1(Z.storageKey,"storageKey"),!J||typeof J!=="object"||Array.isArray(J))throw Error("@appearanceBootstrap appearance must be an object");if(!X||typeof X!=="object"||Array.isArray(X))throw Error("@appearanceBootstrap colorMode must be an object");if(w1(J.key,"appearance.key"),w1(J.attribute,"appearance.attribute"),w1(J.default,"appearance.default"),w1(X.key,"colorMode.key"),w1(X.attribute,"colorMode.attribute"),w1(X.default,"colorMode.default"),!u7.test(J.key)||!u7.test(X.key))throw Error("@appearanceBootstrap preference keys must be JavaScript property names");if(!h7.test(J.attribute)||!h7.test(X.attribute))throw Error("@appearanceBootstrap attributes must be lowercase data attribute names");if(!Array.isArray(J.allowed)||J.allowed.length===0||J.allowed.some((Y)=>typeof Y!=="string"||Y.length===0))throw Error("@appearanceBootstrap appearance.allowed must contain one or more strings");if(!J.allowed.includes(J.default))throw Error("@appearanceBootstrap appearance.default must be in appearance.allowed");if(!dX.has(X.default))throw Error("@appearanceBootstrap colorMode.default must be light, dark, or system");return{storageKey:Z.storageKey,appearance:{key:J.key,attribute:J.attribute,allowed:[...new Set(J.allowed)],default:J.default},colorMode:{key:X.key,attribute:X.attribute,default:X.default}}}function lX($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function cX($){return`<script data-stx-scoped data-stx-appearance-bootstrap>(function(){"use strict";const config=${lX($)};const root=document.documentElement;const MODES=["light","dark","system"];function read(){let stored={};try{const raw=localStorage.getItem(config.storageKey);const parsed=raw?JSON.parse(raw):{};if(parsed&&typeof parsed==="object"&&!Array.isArray(parsed))stored=parsed}catch{}return stored}function write(stored){try{localStorage.setItem(config.storageKey,JSON.stringify(stored))}catch{}}function resolve(){const stored=read();return{appearance:config.appearance.allowed.includes(stored[config.appearance.key])?stored[config.appearance.key]:config.appearance.default,colorMode:MODES.includes(stored[config.colorMode.key])?stored[config.colorMode.key]:config.colorMode.default}}function prefersDark(){try{return matchMedia("(prefers-color-scheme: dark)").matches}catch{return false}}function apply(){const state=resolve();const dark=state.colorMode==="dark"||(state.colorMode==="system"&&prefersDark());root.setAttribute("data-"+config.appearance.attribute,state.appearance);root.setAttribute("data-"+config.colorMode.attribute,state.colorMode);root.classList.toggle("dark",dark);root.dataset.theme=dark?"dark":"light";state.dark=dark;try{window.dispatchEvent(new CustomEvent("stx:appearance",{detail:state}))}catch{}return state}function store(key,allowed,value){if(allowed.includes(value)){const stored=read();stored[key]=value;write(stored)}return apply()}window.__stxAppearance={config:config,read:read,resolve:resolve,apply:apply,setColorMode:function(mode){return store(config.colorMode.key,MODES,mode)},setAppearance:function(name){return store(config.appearance.key,config.appearance.allowed,name)},watchSystem:function(){try{matchMedia("(prefers-color-scheme: dark)").addEventListener("change",function(){if(resolve().colorMode==="system")apply()})}catch{}}};apply()}());</script>`}function pX($,Z){let J=1,X=null,Y=!1;for(let Q=Z+1;Q<$.length;Q++){let G=$[Q];if(Y){Y=!1;continue}if(X){if(G==="\\")Y=!0;else if(G===X)X=null;continue}if(G==='"'||G==="'"||G==="`"){X=G;continue}if(G==="(")J++;else if(G===")"&&--J===0)return Q}return-1}function d7($,Z){let J=$,X=/@appearanceBootstrap\s*\(/g,Y;while((Y=X.exec(J))!==null){let Q=Y.index+Y[0].length-1,G=pX(J,Q);if(G===-1)throw Error("@appearanceBootstrap has an unclosed options object");let z=J.slice(Q+1,G).trim(),q=e(`(${z})`,Z),K=cX(mX(q));J=J.slice(0,Y.index)+K+J.slice(G+1),X.lastIndex=Y.index+K.length}return J}import iX from"crypto";function O0($){return String($??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var b5={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"};function nX($){return{...b5,...$.forms?.classes}}function Q9($,Z,J,X){let Y=$||Z;return J?`${Y} ${X}`:Y}function m0($){return String($).replace(/\[\]$/,"").replace(/[^\w.:-]+/g,"-").replace(/^-+|-+$/g,"")}function f1($,Z){if(/\bid\s*=/i.test($))return"";return` id="${O0(Z)}"`}function E5($,Z,J){if(!Z)return"";let X="";if(!/\baria-invalid\s*=/i.test(J))X+=' aria-invalid="true"';if(!/\baria-describedby\s*=/i.test(J))X+=` aria-describedby="${O0(`${m0($)}-error`)}"`;return X}function sX(){return iX.randomUUID()}function $U($,Z,J,X){let Y=nX(X),Q=$;return Q=rX(Q,Z),Q=_2(Q,Z),Q=y5(Q,Z,Y),Q=C5(Q,Z,Y),Q}function _2($,Z){let J=$;return J=J.replace(/@csrf/g,()=>{if(!Z.csrf||typeof Z.csrf!=="object"){let X=sX();Z.csrf={token:X}}if(Z.csrf.field)return Z.csrf.field;if(Z.csrf.token)return`<input type="hidden" name="_token" value="${O0(Z.csrf.token)}">`;return'<input type="hidden" name="_token" value="">'}),J=J.replace(/@method\(['"]([^'"]+)['"]\)/g,(X,Y)=>{let Q=Y.toUpperCase();if(Y&&!["GET","POST"].includes(Q))return`<input type="hidden" name="_method" value="${O0(Q)}">`;return X}),J}function y5($,Z,J=b5){let X=$;return X=X.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(Y,Q,G,z,q,K="")=>{let W=Q||G||"POST",U=z||q||"",H=K1(K),j=W.toUpperCase(),B=["GET","POST"].includes(j)?j:"POST",V=`<form method="${O0(B)}" action="${O0(U)}"${H?` ${H}`:""}>`;if(V+=`
|
|
3224
|
+
`)this.line++,this.column=0;else this.column++;this.pos++}}peek($){return this.source[this.pos+$]}saveState(){return{pos:this.pos,line:this.line,column:this.column}}restoreState($){this.pos=$.pos,this.line=$.line,this.column=$.column}}function L0($,Z,J,X=0){let Y=0,Q=X,G=null,z=0,q=!1;while(Q<$.length){let K=$[Q];if(G&&q){q=!1,Q++;continue}if(G&&K==="\\"){q=!0,Q++;continue}if(q=!1,(K==='"'||K==="'"||K==="`")&&!G){G=K,Q++;continue}if(K===G&&G!=="`"){G=null,Q++;continue}if(G==="`"&&K==="$"&&$[Q+1]==="{"){z++,Q+=2;continue}if(z>0&&K==="}"){z--,Q++;continue}if(K==="`"&&G==="`"&&z===0){G=null,Q++;continue}if(G){Q++;continue}if(K===Z)Y++;else if(K===J){if(Y--,Y===0)return Q}Q++}return-1}function A7($,Z){let J=Z,X={paren:0,bracket:0,brace:0},Y=null,Q=0;while(J<$.length){let G=$[J];if((J>0?$[J-1]:"")==="\\"&&Y){J++;continue}if((G==='"'||G==="'")&&!Y){Y=G,J++;continue}if(G===Y&&Y!=="`"){Y=null,J++;continue}if(G==="`"&&!Y){Y="`",J++;continue}if(G==="`"&&Y==="`"&&Q===0){Y=null,J++;continue}if(Y==="`"&&G==="$"&&$[J+1]==="{"){Q++,J+=2;continue}if(Q>0){if(G==="{")Q++;else if(G==="}")Q--;J++;continue}if(Y){J++;continue}if(X.paren===0&&X.bracket===0&&X.brace===0){if($.slice(J,J+2)==="}}"||$.slice(J,J+3)==="!!}")break;if(G===","||G===";")break}if(G==="(")X.paren++;else if(G===")"){if(X.paren--,X.paren<0)break}else if(G==="[")X.bracket++;else if(G==="]"){if(X.bracket--,X.bracket<0)break}else if(G==="{")X.brace++;else if(G==="}"){if(X.brace--,X.brace<0)break}J++}return{expression:$.slice(Z,J),endPos:J}}function w5($){let Z=[],J="",X={paren:0,bracket:0,brace:0},Y=null,Q=0;for(let G=0;G<$.length;G++){let z=$[G];if((G>0?$[G-1]:"")==="\\"&&Y){J+=z;continue}if((z==='"'||z==="'")&&!Y){Y=z,J+=z;continue}if(z===Y&&Y!=="`"){Y=null,J+=z;continue}if(z==="`"&&!Y){Y="`",J+=z;continue}if(z==="`"&&Y==="`"&&Q===0){Y=null,J+=z;continue}if(Y==="`"&&z==="$"&&$[G+1]==="{"){Q++,J+=z+$[G+1],G++;continue}if(Q>0&&z==="{"){Q++,J+=z;continue}if(Q>0&&z==="}"){Q--,J+=z;continue}if(Y){J+=z;continue}if(z==="(")X.paren++;else if(z===")")X.paren--;else if(z==="[")X.bracket++;else if(z==="]")X.bracket--;else if(z==="{")X.brace++;else if(z==="}")X.brace--;if(z==="|"&&$[G+1]!=="|"&&(G===0||$[G-1]!=="|")&&$[G-1]!=="\\"&&X.paren===0&&X.bracket===0&&X.brace===0){Z.push(J.trim()),J="";continue}if(z==="|"&&$[G-1]==="\\"&&!Y){J=J.slice(0,-1)+z;continue}J+=z}if(J.trim())Z.push(J.trim());return Z}function q1($,Z){let J=LX($,Z);return J.ok?{expression:J.expression,endPos:J.endPos}:null}function LX($,Z){let J=Z;while(J<$.length&&/\s/.test($[J]))J++;if($[J]!=="(")return{ok:!1,reason:"missing-open-paren",pos:J};let X=L0($,"(",")",J);if(X===-1)return{ok:!1,reason:"unclosed-paren",pos:J};return{ok:!0,expression:$.slice(J+1,X),endPos:X+1}}function OX($,Z){let J=$.lastIndexOf("<",Z);if(J===-1)return!1;return J>$.lastIndexOf(">",Z)}function O1($,Z,J,X){let Y=1,Q=X,G=new RegExp(`@${Z}\\s*\\(`,"g"),z=new RegExp(`@${J}(?![a-z])`,"g");while(Q<$.length&&Y>0){G.lastIndex=Q,z.lastIndex=Q;let q=G.exec($),K=z.exec($),W=q?q.index:1/0,U=K?K.index:1/0;if(W<U)Y++,Q=W+q[0].length;else if(U<1/0){if(Y--,Y===0)return U;Q=U+K[0].length}else break}return-1}function M7($,Z){let J=$.slice(Z).match(/^@if\s*/);if(!J)return null;let X=Z+J[0].length,Y=q1($,X);if(!Y)return null;let Q=Y.endPos,G=O1($,"if","endif",Q);if(G===-1)return null;let z=$.slice(Q,G),q=[],K=0,W="if",U=Y.expression,H=0,j=0;while(K<z.length){let B=z.indexOf("@",K);if(B===-1)break;K=B;let V=z.substring(B);if(OX(z,B)){K++;continue}if(/^@if\s*\(/.test(V)){j++,K++;continue}if(/^@endif(?![a-z])/.test(V)){j--,K+=6;continue}if(j===0){let F=V.match(/^@elseif\s*/);if(F){q.push({type:W,condition:U,content:z.substring(H,K),start:Q+H,end:Q+K});let _=K+F[0].length,O=q1(z,_);if(!O){K++;continue}W="elseif",U=O.expression,K=O.endPos,H=K;continue}else if(/^@else(?![a-z])/.test(V)){q.push({type:W,condition:U,content:z.substring(H,K),start:Q+H,end:Q+K}),W="else",U=void 0,K+=5,H=K;continue}}K++}return q.push({type:W,condition:U,content:z.slice(H),start:Q+H,end:Q+z.length}),{fullMatch:$.slice(Z,G+6),branches:q,start:Z,end:G+6}}function j2($){let Z=[],J=/@if\s*\(/g,X=J.exec($);while(X!==null){if(Z.some((G)=>X.index>G.start&&X.index<G.end)){X=J.exec($);continue}let Q=M7($,X.index);if(Q)Z.push(Q),J.lastIndex=Q.end;X=J.exec($)}return Z}function Y9($,Z,J){let X=[],Y=new RegExp(`@${Z}\\s*\\(`,"g"),Q=Y.exec($);while(Q!==null){if(X.some((V)=>Q.index>V.start&&Q.index<V.end)){Q=Y.exec($);continue}let z=Q.index,q=z+Q[0].length-1,K=L0($,"(",")",q);if(K===-1){Q=Y.exec($);continue}let W=$.slice(q+1,K),U=K+1,H=O1($,Z,J,U);if(H===-1){Q=Y.exec($);continue}let j=$.slice(U,H),B=H+`@${J}`.length;X.push({fullMatch:$.slice(z,B),name:Z,params:W,content:j,start:z,end:B}),Y.lastIndex=B,Q=Y.exec($)}return X}function R5($,Z){let J=$.slice(Z).match(/^@switch\s*/);if(!J)return null;let X=Z+J[0].length,Y=q1($,X);if(!Y)return null;let Q=Y.endPos,G=O1($,"switch","endswitch",Q);if(G===-1)return null;let z=$.slice(Q,G),q=[],K=0,W=null,U=0;while(K<z.length){let H=z.slice(K),j=H.match(/^@switch\s*\(/),B=H.match(/^@endswitch(?![a-z])/);if(j){if(U++,W)W.content+=j[0];K+=j[0].length;continue}if(B){if(U--,W)W.content+=B[0];K+=B[0].length;continue}if(U>0){if(W)W.content+=z[K];K++;continue}let V=H.match(/^@case\s*/),F=H.match(/^@default(?![a-z])/),_=H.match(/^@break(?![a-z])/);if(V&&H.startsWith("@case")){if(W)q.push(W);let O=K+V[0].length,L=q1(z,O);if(!L){K++;continue}W={type:"case",value:L.expression,content:""},K=L.endPos}else if(F&&H.startsWith("@default")){if(W)q.push(W);W={type:"default",content:""},K+=F[0].length}else if(_&&H.startsWith("@break"))K+=_[0].length;else{if(W)W.content+=z[K];K++}}if(W)q.push(W);return{fullMatch:$.slice(Z,G+10),expression:Y.expression,cases:q,start:Z,end:G+10}}function FX($){let Z=[],J=0;while(J<$.length){let X=$.indexOf("{{",J),Y=$.indexOf("{!!",J),Q=!1,G;if(X===-1&&Y===-1)break;else if(X===-1)G=Y,Q=!0;else if(Y===-1)G=X,Q=!1;else if(Y<X)G=Y,Q=!0;else G=X,Q=!1;if(!Q&&$.slice(G,G+3)==="{{{")Q=!0;let z=Q?$.slice(G,G+3)==="{{{"?"{{{":"{!!":"{{",q=Q?z==="{{{"?"}}}":"!!}":"}}",K=G+z.length,W=wX($,K,q);if(W===-1){J=G+1;continue}let U=$.slice(K,W).trim(),H=W+q.length;Z.push({fullMatch:$.slice(G,H),expression:U,start:G,end:H,isRaw:Q}),J=H}return Z}function wX($,Z,J){let X=Z,Y=null,Q={paren:0,bracket:0,brace:0},G=0;while(X<$.length){let z=$[X];if((X>0?$[X-1]:"")==="\\"&&Y){X++;continue}if((z==='"'||z==="'")&&!Y){Y=z,X++;continue}if(z===Y&&Y!=="`"){Y=null,X++;continue}if(z==="`"&&!Y){Y="`",X++;continue}if(z==="`"&&Y==="`"&&G===0){Y=null,X++;continue}if(Y==="`"&&z==="$"&&$[X+1]==="{"){G++,X+=2;continue}if(G>0){if(z==="{")G++;else if(z==="}")G--;X++;continue}if(Y){X++;continue}if(z==="(")Q.paren++;else if(z===")")Q.paren--;else if(z==="[")Q.bracket++;else if(z==="]")Q.bracket--;else if(z==="{")Q.brace++;else if(z==="}")Q.brace--;if(Q.paren===0&&Q.bracket===0&&Q.brace<=0){if($.slice(X,X+J.length)===J)return X}X++}return-1}function RX($){let Z=w5($);if(Z.length===0)return{baseExpression:"",filters:[]};let J=Z[0],X=[];for(let Y=1;Y<Z.length;Y++){let Q=NX(Z[Y]);if(Q)X.push(Q)}return{baseExpression:J,filters:X}}function NX($){let Z=$.trim();if(!Z)return null;let J=Z.indexOf("(");if(J===-1)return{name:Z,args:[]};let X=Z.slice(0,J).trim(),Y=J+1,Q=L0(Z,"(",")",J);if(Q===-1)return{name:X,args:[]};let G=Z.slice(Y,Q),z=k7(G);return{name:X,args:z}}function k7($){let Z=[],J="",X={paren:0,bracket:0,brace:0},Y=null,Q=0;for(let G=0;G<$.length;G++){let z=$[G];if((G>0?$[G-1]:"")==="\\"&&Y){J+=z;continue}if((z==='"'||z==="'")&&!Y){Y=z,J+=z;continue}if(z===Y&&Y!=="`"){Y=null,J+=z;continue}if(z==="`"&&!Y){Y="`",J+=z;continue}if(z==="`"&&Y==="`"&&Q===0){Y=null,J+=z;continue}if(Y==="`"&&z==="$"&&$[G+1]==="{"){Q++,J+="${",G++;continue}if(Q>0&&z==="{"){Q++,J+=z;continue}if(Q>0&&z==="}"){Q--,J+=z;continue}if(Y){J+=z;continue}if(z==="(")X.paren++;else if(z===")")X.paren--;else if(z==="[")X.bracket++;else if(z==="]")X.bracket--;else if(z==="{")X.brace++;else if(z==="}")X.brace--;if(z===","&&X.paren===0&&X.bracket===0&&X.brace===0){Z.push(J.trim()),J="";continue}J+=z}if(J.trim())Z.push(J.trim());return Z}function DX($,Z){let J=Z;while(J<$.length&&/\s/.test($[J]))J++;if($[J]!=="(")return null;let X=L0($,"(",")",J);if(X===-1)return null;return{params:$.slice(J+1,X),endPos:X+1}}function AX($){let Z=[],X=new X9($).tokenize().filter((Q)=>Q.type!=="WHITESPACE"&&Q.type!=="COMMENT"),Y=0;while(Y<X.length){let Q=X[Y],G=!1;if(Q.type==="IDENTIFIER"&&Q.value==="export"){if(G=!0,Y++,Y>=X.length)break}let z=X[Y];if(z.type==="IDENTIFIER"&&(z.value==="const"||z.value==="let"||z.value==="var")){let q=z.value;if(Y++,Y>=X.length)break;let K=X[Y];if(K.type==="IDENTIFIER"){let W=K.value;if(Y++,Y<X.length&&X[Y].type==="OPERATOR"&&X[Y].value==="="){Y++;let U=Y<X.length?X[Y].start:$.length,H=I7(X,Y,$);Y=H.nextIndex,Z.push({type:"variable",name:W,value:$.slice(U,H.endPos),exported:G,start:z.start,end:H.endPos})}}else if(K.type==="PUNCTUATION"&&(K.value==="{"||K.value==="[")){let W=K.start,U=K.value==="{"?"}":"]",H=L0($,K.value,U,W);if(H!==-1){let j=$.slice(W,H+1);if(Y=T7(X,H+1),Y<X.length&&X[Y].type==="OPERATOR"&&X[Y].value==="="){Y++;let B=Y<X.length?X[Y].start:$.length,V=I7(X,Y,$);Y=V.nextIndex;let F=`__stx_destructured_${Z.length}`;Z.push({type:"variable",name:F,value:`${$.slice(B,V.endPos)}; ${q} ${j} = ${F}`,exported:G,start:z.start,end:V.endPos})}}}}else if(z.type==="IDENTIFIER"&&z.value==="function"){let q=G?X[Y-1].start:z.start;if(Y++,Y>=X.length)break;let K=X[Y];if(K.type==="IDENTIFIER"){let W=K.value;Y++;let U=-1;while(Y<X.length){if(X[Y].type==="PUNCTUATION"&&X[Y].value==="{"){U=X[Y].start;break}Y++}if(U!==-1){let H=L0($,"{","}",U);if(H!==-1)Z.push({type:"function",name:W,value:$.slice(q,H+1).replace(/^export\s+/,""),exported:G,start:q,end:H+1}),Y=T7(X,H+1)}}}else Y++}return Z}function I7($,Z,J){let X=Z,Y={paren:0,bracket:0,brace:0},Q=Z<$.length?$[Z].start:J.length;while(X<$.length){let G=$[X];if(G.type==="PUNCTUATION"){if(G.value==="(")Y.paren++;else if(G.value===")")Y.paren--;else if(G.value==="[")Y.bracket++;else if(G.value==="]")Y.bracket--;else if(G.value==="{")Y.brace++;else if(G.value==="}")Y.brace--;if(G.value===";"&&Y.paren===0&&Y.bracket===0&&Y.brace===0){Q=G.start,X++;break}}if(G.type==="IDENTIFIER"&&(G.value==="const"||G.value==="let"||G.value==="var"||G.value==="function"||G.value==="export")){if(Y.paren===0&&Y.bracket===0&&Y.brace===0){Q=$[X-1]?.end??G.start;break}}Q=G.end,X++}return{nextIndex:X,endPos:Q}}function T7($,Z){for(let J=0;J<$.length;J++)if($[J].start>=Z)return J;return $.length}function MX($,Z,J){let X=$,Y=!0;while(Y){Y=!1;let Q=X.match(/@switch\s*\(/);if(!Q||Q.index===void 0)break;let G=Q.index,z=R5(X,G);if(!z)break;try{let q;if(W0(z.expression))q=K0(z.expression,Object.keys(Z))(...Object.values(Z));else q=e(z.expression,Z);let K="",W=!1;for(let U of z.cases)if(U.type==="default"){if(!W)K=U.content.trim()}else try{let H;if(U.value&&W0(U.value))H=K0(U.value,Object.keys(Z))(...Object.values(Z));else if(U.value)H=e(U.value,Z);if(q===H){K=U.content.trim(),W=!0;break}}catch{continue}X=X.substring(0,G)+K+X.substring(z.end),Y=!0}catch(q){let K=q instanceof Error?q.message:String(q),W=X0("Switch",`Error evaluating @switch expression: ${K}`,J0.EVALUATION_ERROR);X=X.substring(0,G)+W+X.substring(z.end);break}}return X}function IX($){let Z=[];return{masked:$.replace(/<script\b[\s\S]*?<\/script\s*>/gi,(X)=>{return Z.push(X),`\x00stx-script-${Z.length-1}\x00`}),scripts:Z}}function TX($,Z){if(Z.length===0)return $;return $.replace(/\u0000stx-script-(\d+)\u0000/g,(J,X)=>Z[Number(X)]??J)}function e0($,Z,J){let{masked:X,scripts:Y}=IX($);return TX(kX(X,Z,J),Y)}function kX($,Z,J){let X=$;X=MX(X,Z,J);{let Q=!0;while(Q){Q=!1;let G=X.match(/@unless\s*\(/);if(!G||G.index===void 0)break;let z=G.index,q=q1(X,z+7);if(!q)break;let K=q.endPos,W=O1(X,"unless","endunless",K);if(W===-1){console.warn(`[stx] @unless directive at position ${z} has no matching @endunless \u2014 the block was skipped. Check for typos or missing closers.`);break}let U=X.slice(K,W),H=q.expression,j=-1;{let V=0,F=/@(?:if|unless)\s*\(/g,_=/@(?:endif|endunless)(?![a-z])/g,O=/@else(?![a-z])/g,L=[],w;while((w=F.exec(U))!==null)L.push({pos:w.index,type:"open"});while((w=_.exec(U))!==null)L.push({pos:w.index,type:"close"});while((w=O.exec(U))!==null)L.push({pos:w.index,type:"else"});L.sort((R,N)=>R.pos-N.pos);for(let R of L)if(R.type==="open")V++;else if(R.type==="close")V--;else if(R.type==="else"&&V===0){j=R.pos;break}}let B;if(j!==-1){let V=U.slice(0,j),F=U.slice(j+5);B=`@if (${H})${F}@else ${V}@endif`}else B=`@if (!(${H}))${U}@endif`;X=X.substring(0,z)+B+X.substring(W+10),Q=!0}}X=D5(X,Z,J),X=A5(X,Z,J),X=N5(X,Z);let Y=()=>{let Q=j2(X);if(Q.length===0)return!1;let G=Array(Q.length);for(let K=Q.length-1;K>=0;K--){let W=Q[K];try{let U="",H=!1;for(let j of W.branches){if(H)break;if(j.type==="else")U=j.content,H=!0;else try{let B;if(j.condition&&W0(j.condition))B=K0(j.condition,Object.keys(Z))(...Object.values(Z));else if(j.condition)B=e(j.condition,Z);if(B)U=j.content,H=!0}catch(B){U=X0(j.type==="if"?"If":"Elseif",`Error in @${j.type}(${j.condition}): ${B instanceof Error?B.message:String(B)}`,J0.EVALUATION_ERROR),H=!0}}G[K]=U}catch(U){let H=U instanceof Error?U.message:String(U);G[K]=X0("If",`Error processing @if block: ${H}`,J0.EVALUATION_ERROR)}}let z=Array(Q.length*2+1),q=0;for(let K=0;K<Q.length;K++){let W=Q[K];z[K*2]=X.slice(q,W.start),z[K*2+1]=G[K],q=W.end}return z[Q.length*2]=X.slice(q),X=z.join(""),!0};while(!0){let Q=X;if(!Y())break;if(X===Q)break}return X}function E7($){let Z=0;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return null;Z++;while(Z<$.length&&/\s/.test($[Z]))Z++;let J=$[Z];if(J!=="'"&&J!=='"')return null;Z++;let X=[];while(Z<$.length){let Y=$[Z];if(Y==="\\"&&Z+1<$.length){X.push($[Z+1]),Z+=2;continue}if(Y===J){Z++;break}X.push(Y),Z++}while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!==")")return null;return Z++,{value:X.join(""),consumed:Z}}function N5($,Z){let J=$;function X(z,q,K,W){let U=1,H=W,j=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),B=new RegExp(`@${K}(?![a-z])`,"g");while(H<z.length&&U>0){j.lastIndex=H,B.lastIndex=H;let V=j.exec(z),F=B.exec(z),_=V?V.index:1/0,O=F?F.index:1/0;if(_<O)U++,H=_+V[0].length;else if(O<1/0){if(U--,U===0)return O;H=O+F[0].length}else break}return-1}function Y(z,q,K){let W=0,U=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),H=new RegExp(`@${K}(?![a-z])`,"g"),j=/@else(?![a-z])/g,B=[],V;while((V=U.exec(z))!==null)B.push({pos:V.index,type:"open"});while((V=H.exec(z))!==null)B.push({pos:V.index,type:"close"});while((V=j.exec(z))!==null)B.push({pos:V.index,type:"else"});B.sort((F,_)=>F.pos-_.pos);for(let F of B)if(F.type==="open")W++;else if(F.type==="close")W--;else if(F.type==="else"&&W===0)return F.pos;return-1}{let z=!0;while(z){z=!1;let q=J.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let K=q.index,W,U,H=J.slice(K+5),j=E7(H);if(j)W=j.value,U=K+5+j.consumed;else U=K+5;let B=X(J,"auth","endauth",U);if(B===-1){console.warn(`[stx] @auth directive at position ${K} has no matching @endauth \u2014 the block was skipped.`);break}let V=J.slice(U,B),F=Y(V,"auth","endauth"),_;if(!Z.auth)_=!1;else _=W?z1(`auth?.check && auth?.user?.[${W}]`,Z):z1("auth?.check",Z);let O;if(F!==-1){let L=V.slice(0,F),w=V.slice(F+5);O=_?L:w}else O=_?V:"";J=J.substring(0,K)+O+J.substring(B+8),z=!0}}{let z=!0;while(z){z=!1;let q=J.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let K=q.index,W,U,H=J.slice(K+6),j=E7(H);if(j)W=j.value,U=K+6+j.consumed;else U=K+6;let B=X(J,"guest","endguest",U);if(B===-1){console.warn(`[stx] @guest directive at position ${K} has no matching @endguest \u2014 the block was skipped.`);break}let V=J.slice(U,B),F=Y(V,"guest","endguest"),_;if(!Z.auth)_=!0;else _=W?z1(`!auth?.check || !auth?.user?.[${W}]`,Z):z1("!auth?.check",Z);let O;if(F!==-1){let L=V.slice(0,F),w=V.slice(F+5);O=_?L:w}else O=_?V:"";J=J.substring(0,K)+O+J.substring(B+9),z=!0}}function Q(z,q,K){if(Z.userCan&&typeof Z.userCan[z]==="boolean")return Z.userCan[z];if(Z.permissions?.check&&typeof Z.permissions.check==="function")try{let W=[z];if(q)W.push(q);if(K){let U=z1(K,Z);W.push(U)}return Z.permissions.check(...W)}catch{return!1}return!1}function G(z){let q=z.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!q)return null;return{ability:q[1],type:q[2],id:q[3]?.trim(),paramsEnd:q[0].length}}for(let z of["can","cannot"]){let q=`end${z}`,K=z==="can"?"elsecan":"elsecannot",W=!0;while(W){W=!1;let U=J.match(new RegExp(`@${z}\\s*\\(`));if(!U||U.index===void 0)break;let H=U.index,j=J.slice(H+`@${z}`.length),B=G(j);if(!B)break;let V=H+`@${z}`.length+B.paramsEnd,F=X(J,z,q,V);if(F===-1){console.warn(`[stx] @${z} directive at position ${H} has no matching @${q} \u2014 the block was skipped.`);break}let _=J.slice(V,F),O=[],L=0,w=new RegExp(`@${z}\\s*\\(`,"g"),R=new RegExp(`@${q}(?![a-z])`,"g"),N=new RegExp(`@${K}\\s*\\(`,"g"),A=/@else(?![a-z])/g,T=[],D;while((D=w.exec(_))!==null)T.push({pos:D.index,type:"open"});while((D=R.exec(_))!==null)T.push({pos:D.index,type:"close"});while((D=N.exec(_))!==null)T.push({pos:D.index,type:"elseDirective"});while((D=A.exec(_))!==null)T.push({pos:D.index,type:"else"});T.sort((b,C)=>b.pos-C.pos);for(let b of T){if(b.type==="open"){L++;continue}if(b.type==="close"){L--;continue}if(L===0)O.push(b)}let M=[],k=0;for(let b=0;b<O.length;b++){let C=O[b];if(M.push({content:_.slice(k,C.pos),ability:void 0}),C.type==="elseDirective"){let f=_.slice(C.pos+`@${K}`.length),u=G(f);if(u){M[M.length-1]={content:_.slice(k,C.pos)},k=C.pos+`@${K}`.length+u.paramsEnd,M.push({content:"",ability:u.ability,type:u.type,id:u.id}),M.pop();let P=O[b+1],h=P?P.pos:_.length;M.push({content:_.slice(k,h),ability:u.ability,type:u.type,id:u.id}),k=h}}else k=C.pos+5}if(k<_.length){let b=M[M.length-1];if(O.length>0&&O[O.length-1].type==="else")M.push({content:_.slice(k),isFinalElse:!0});else if(M.length===0)M.push({content:_.slice(k)})}let I=Q(B.ability,B.type,B.id),y=z==="can"?I:!I,E="";if(y)E=M[0]?.content||"";else{let b=!1;for(let C=1;C<M.length;C++){let f=M[C];if(f.isFinalElse){E=f.content,b=!0;break}if(f.ability){let u=Q(f.ability,f.type,f.id);if(z==="can"?u:!u){E=f.content,b=!0;break}}}if(!b&&M.length>0){let C=M[M.length-1];if(C.isFinalElse)E=C.content}}J=J.substring(0,H)+E+J.substring(F+`@${q}`.length),W=!0}}return J}function D5($,Z,J){let X=$;function Y(Q,G,z,q,K){let W=!0;while(W){W=!1;let U=new RegExp(`@${G}\\s*\\(`),H=Q.match(U);if(!H||H.index===void 0)break;let j=H.index,B=q1(Q,j+`@${G}`.length);if(!B)break;let V=B.endPos,F=O1(Q,G,z,V);if(F===-1){console.warn(`[stx] @${G} directive at position ${j} has no matching @${z} \u2014 the block was skipped.`);break}let _=Q.slice(V,F),O=B.expression,L=-1,w=0,R=0;while(R<_.length){let N=_.indexOf("@",R);if(N===-1)break;let A=_.substring(N);if(/^@(?:if|unless|isset|empty)\s*\(/.test(A)){w++,R=N+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(A)){w--,R=N+1;continue}if(w===0&&/^@else(?![a-z])/.test(A)){L=N;break}R=N+1}try{let N=q(O.trim()),A;if(L!==-1){let T=_.slice(0,L),D=_.slice(L+5);A=N?T:D}else A=N?_:"";Q=Q.substring(0,j)+A+Q.substring(F+`@${z}`.length),W=!0}catch(N){let A=N instanceof Error?N.message:String(N),T=X0(K,`Error processing @${G} directive: ${A}`,J0.EVALUATION_ERROR);Q=Q.substring(0,j)+T+Q.substring(F+`@${z}`.length);break}}return Q}return X=Y(X,"isset","endisset",(Q)=>{let G=z1(Q,Z);return G!==void 0&&G!==null},"Isset"),X=Y(X,"empty","endempty",(Q)=>{let G=z1(Q,Z);return G===void 0||G===null||G===""||G===0||G===!1||Array.isArray(G)&&G.length===0||typeof G==="object"&&G!==null&&Object.keys(G).length===0},"Empty"),X}function A5($,Z,J){let X=$,Y="development";function Q(G,z,q,K){let W=new RegExp(`@${z}(?![a-z])`,"g"),U=new RegExp(`@${q}(?![a-z])`,"g"),H=new RegExp(`^@${z}(?![a-z])`),j=new RegExp(`^@${q}(?![a-z])`),B=G,V=!0;while(V){V=!1,W.lastIndex=0;let F=W.exec(B);if(!F)break;let _=F.index,O=_+F[0].length;if(z==="env"){let I=B.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!I)break;O+=I[0].length,K=Y===I[2]}let L=1,w=O,R=-1;while(L>0&&w<B.length){W.lastIndex=w,U.lastIndex=w;let I=W.exec(B),y=U.exec(B),E=I?I.index:1/0,b=y?y.index:1/0;if(E<b)L++,w=E+I[0].length;else if(b<1/0){if(L--,L===0){R=b;break}w=b+y[0].length}else break}if(R===-1){console.warn(`[stx] @${z} directive at position ${_} has no matching @${q} \u2014 the block was skipped.`);break}let N=B.substring(O,R),A=-1,T=0,D=0;while(D<N.length){let I=N.indexOf("@",D);if(I===-1)break;let y=N.substring(I);if(H.test(y)){T++,D=I+1;continue}if(j.test(y)){T--,D=I+1;continue}if(T===0&&/^@else(?![a-z])/.test(y)){A=I;break}D=I+1}let M;if(A!==-1){let I=N.slice(0,A),y=N.slice(A+5);M=K?I:y}else M=K?N:"";let k=`@${q}`.length;B=B.substring(0,_)+M+B.substring(R+k),V=!0}return B}return X=Q(X,"env","endenv",!1),X=Q(X,"production","endproduction",Y==="production"),X=Q(X,"development","enddevelopment",Y==="development"),X=Q(X,"staging","endstaging",Y==="staging"),X=Q(X,"testing","endtesting",Y==="testing"),X}var M5=new WeakMap;function b7($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function F1($,Z){if(!$)return Z?.nonceGenerator?.()??b7();let J=M5.get($);if(!J)J=Z?.nonceGenerator?.()??b7(),M5.set($,J);return J}function gW($){M5.delete($)}function y7($,Z){let J=[];for(let[X,Y]of Object.entries($)){if(Y===void 0||Y===null)continue;if(typeof Y==="boolean"){if(Y)J.push(X);continue}if(Array.isArray(Y)){let Q=[...Y];if(Z&&(X==="script-src"||X==="style-src"))Q=Q.filter((G)=>!G.startsWith("'nonce-")),Q.push(`'nonce-${Z}'`);if(Q.length>0)J.push(`${X} ${Q.join(" ")}`)}}return J.join("; ")}function T5($,Z){return`<meta http-equiv="Content-Security-Policy" content="${y7($,Z).replace(/&/g,"&").replace(/"/g,""")}">`}var EX={"default-src":["'self'"],"script-src":["'self'","'strict-dynamic'"],"style-src":["'self'"],"img-src":["'self'","data:","https:"],"font-src":["'self'","https:","data:"],"connect-src":["'self'"],"media-src":["'self'"],"object-src":["'none'"],"frame-src":["'none'"],"base-uri":["'self'"],"form-action":["'self'"],"frame-ancestors":["'self'"],"upgrade-insecure-requests":!0},I5={"default-src":["'self'"],"script-src":["'self'"],"style-src":["'self'","'unsafe-inline'"],"img-src":["'self'","data:","https:"],"font-src":["'self'","https:","data:"],"connect-src":["'self'","https:"],"media-src":["'self'"],"object-src":["'none'"],"frame-src":["'self'"],"base-uri":["'self'"],"form-action":["'self'"],"upgrade-insecure-requests":!0},bX={"default-src":["'self'"],"script-src":["'self'","'unsafe-inline'"],"style-src":["'self'","'unsafe-inline'"],"img-src":["'self'","data:","https:","http:"],"font-src":["'self'","https:","http:","data:"],"connect-src":["'self'","https:","http:","ws:","wss:"],"media-src":["'self'","https:","http:"],"object-src":["'none'"],"frame-src":["'self'","https:"],"base-uri":["'self'"]},yX={"default-src":["'none'"],"frame-ancestors":["'none'"]};function hW($){return{enabled:!0,directives:{strict:EX,moderate:I5,relaxed:bX,api:yX}[$]||I5,useNonce:$==="strict",addMetaTag:!0}}function uW($,Z){let J={...$};for(let[X,Y]of Object.entries(Z)){let Q=X,G=J[Q];if(Y===void 0||Y===null)continue;if(typeof Y==="boolean")J[Q]=G||Y;else if(Array.isArray(Y)){let z=Array.isArray(G)?G:[],q=[...new Set([...z,...Y])];J[Q]=q}}return J}function C7($,Z,J){if(!Z.enabled||!Z.addMetaTag)return $;if($.includes('http-equiv="Content-Security-Policy"'))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let X=Z.useNonce?F1(J,Z):void 0,Y=T5(Z.directives,X);return $.replace(/<head([^>]*)>/,`<head$1>
|
|
3225
|
+
${Y}`)}function S7($,Z){let J=$;return J=J.replace(/<script(?![^>]*\ssrc=)([^>]*)>/gi,(X,Y)=>{if(Y.includes("nonce="))return X;return`<script nonce="${Z}"${Y}>`}),J=J.replace(/<style([^>]*)>/gi,(X,Y)=>{if(Y.includes("nonce="))return X;return`<style nonce="${Z}"${Y}>`}),J}function P7($,Z,J,X){let Y=$,Q=X.csp;if(Y=Y.replace(/@csp\b/g,()=>{if(!Q?.enabled||!Q.directives)return"<!-- CSP not configured -->";let G=Q.useNonce?F1(Z,Q):void 0;return T5(Q.directives,G)}),Y=Y.replace(/@cspNonce\b/g,()=>{if(!Q?.enabled||!Q.useNonce)return"";return F1(Z,Q)}),Q?.enabled&&Q.useNonce)Z.cspNonce=F1(Z,Q);return Y}var CX={name:"csp",handler:($,Z,J,X)=>{let Q=J.__stx_options?.csp;if(!Q?.enabled||!Q.directives)return"<!-- CSP not configured -->";let G=Q.useNonce?F1(J,Q):void 0;return T5(Q.directives,G)},hasEndTag:!1,description:"Insert Content-Security-Policy meta tag"},SX={name:"cspNonce",handler:($,Z,J,X)=>{let Q=J.__stx_options?.csp;if(!Q?.enabled||!Q.useNonce)return"";return F1(J,Q)},hasEndTag:!1,description:"Output the current CSP nonce value"};function dW(){return[CX,SX]}function mW($){let Z=[];if($["script-src"]?.includes("'unsafe-inline'"))Z.push("CSP: Using unsafe-inline in script-src significantly reduces XSS protection");if($["script-src"]?.includes("'unsafe-eval'"))Z.push("CSP: Using unsafe-eval in script-src allows eval() and related functions");if(!$["default-src"])Z.push("CSP: No default-src specified. Recommend adding default-src as a fallback");if($["default-src"]?.includes("*"))Z.push("CSP: Using * in default-src provides minimal protection");if(!$["object-src"]&&!$["default-src"]?.includes("'none'"))Z.push("CSP: Consider adding object-src: none to block plugins");if(!$["base-uri"])Z.push("CSP: Consider adding base-uri to prevent base tag injection attacks");for(let[J,X]of Object.entries($))if(Array.isArray(X)&&X.includes("http:"))Z.push(`CSP: Using http: in ${J} allows insecure resources`);return Z}function PX($=!1){return $?"Content-Security-Policy-Report-Only":"Content-Security-Policy"}function lW($,Z){if(!$.enabled)return{};let J=$.useNonce?F1(Z,$):void 0,X=y7($.directives,J);return{[PX($.reportOnly)]:X}}var cW={enabled:!1,reportOnly:!1,directives:I5,useNonce:!1,addMetaTag:!0};import vX from"crypto";var fX=40,v7="_token",k5=null;function xX($=fX){let Z=vX.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return k5=Z,Z}function gX(){if(!k5)xX();return k5}function hX($=v7){let Z=gX();return`<input type="hidden" name="${$}" value="${Z}">`}function f7($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(Z,J,X)=>{return hX(X||v7)})}async function x7($,Z,J,X){if(!X.customDirectives||X.customDirectives.length===0)return $;let Y=$;for(let Q of X.customDirectives){if(!Q.name||typeof Q.handler!=="function"){if(X.debug)console.warn("Invalid custom directive:",Q);continue}if(Q.hasEndTag)Y=await uX(Y,Q,Z,J,X);else Y=await dX(Y,Q,Z,J,X)}return Y}async function uX($,Z,J,X,Y){let{name:Q,handler:G}=Z,z=`@${Q}`,q=`@end${Q}`,K=$,W=v1(`${z}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${q}`,"g"),U=[],H=W.exec(K);while(H!==null){let[j,B="",V=""]=H,F=H.index||0;try{let _=B?g7(B):[],O=V.trim(),L=await G(O,_,J,X);U.push({original:j,processed:L,startIndex:F})}catch(_){let O=_ instanceof Error?_.message:String(_);if(Y.debug)console.error(`Error processing custom directive @${Q}:`,_);U.push({original:j,processed:X0("CustomDirective",`Error in @${Q}${B?`(${B})`:""}: ${O}`,J0.EVALUATION_ERROR),startIndex:F})}H=W.exec(K)}for(let j=U.length-1;j>=0;j--){let{original:B,processed:V}=U[j];K=K.replace(B,V)}return K}async function dX($,Z,J,X,Y){let{name:Q,handler:G}=Z,z=$,q=v1(`@${Q}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),K=[],W=q.exec(z);while(W!==null){let[j,B=""]=W,V=W.index||0;try{let F=g7(B),_=await G("",F,J,X);K.push({original:j,processed:_,startIndex:V})}catch(F){let _=F instanceof Error?F.message:String(F);if(Y.debug)console.error(`Error processing custom directive @${Q}:`,F);K.push({original:j,processed:X0("CustomDirective",`Error in @${Q}(${B}): ${_}`,J0.EVALUATION_ERROR),startIndex:V})}W=q.exec(z)}let U=v1(`@${Q}(?!\\w)(?!\\s*\\()`,"g"),H=U.exec(z);while(H!==null){let[j]=H,B=H.index||0;try{let V=await G("",[],J,X);K.push({original:j,processed:V,startIndex:B})}catch(V){let F=V instanceof Error?V.message:String(V);if(Y.debug)console.error(`Error processing custom directive @${Q}:`,V);K.push({original:j,processed:X0("CustomDirective",`Error in @${Q}: ${F}`,J0.EVALUATION_ERROR),startIndex:B})}H=U.exec(z)}for(let j=K.length-1;j>=0;j--){let{original:B,processed:V}=K[j];z=z.replace(B,V)}return z}function g7($){if(!$.trim())return[];let Z=[],J="",X=!1,Y="";for(let Q=0;Q<$.length;Q++){let G=$[Q];if((G==='"'||G==="'")&&(Q===0||$[Q-1]!=="\\"))if(!X)X=!0,Y=G;else if(G===Y)X=!1;else J+=G;else if(G===","&&!X)Z.push(J.trim()),J="";else J+=G}if(J.trim())Z.push(J.trim());return Z.map((Q)=>{let G=Q.trim();if(G.startsWith('"')&&G.endsWith('"')||G.startsWith("'")&&G.endsWith("'"))return G.substring(1,G.length-1);return G})}var h7=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,u7=/^[A-Za-z_$][\w$]*$/,mX=new Set(["light","dark","system"]);function w1($,Z){if(typeof $!=="string"||$.length===0)throw Error(`@appearanceBootstrap ${Z} must be a non-empty string`)}function lX($){if(!$||typeof $!=="object"||Array.isArray($))throw Error("@appearanceBootstrap expects an options object");let Z=$,J=Z.appearance,X=Z.colorMode;if(w1(Z.storageKey,"storageKey"),!J||typeof J!=="object"||Array.isArray(J))throw Error("@appearanceBootstrap appearance must be an object");if(!X||typeof X!=="object"||Array.isArray(X))throw Error("@appearanceBootstrap colorMode must be an object");if(w1(J.key,"appearance.key"),w1(J.attribute,"appearance.attribute"),w1(J.default,"appearance.default"),w1(X.key,"colorMode.key"),w1(X.attribute,"colorMode.attribute"),w1(X.default,"colorMode.default"),!u7.test(J.key)||!u7.test(X.key))throw Error("@appearanceBootstrap preference keys must be JavaScript property names");if(!h7.test(J.attribute)||!h7.test(X.attribute))throw Error("@appearanceBootstrap attributes must be lowercase data attribute names");if(!Array.isArray(J.allowed)||J.allowed.length===0||J.allowed.some((Y)=>typeof Y!=="string"||Y.length===0))throw Error("@appearanceBootstrap appearance.allowed must contain one or more strings");if(!J.allowed.includes(J.default))throw Error("@appearanceBootstrap appearance.default must be in appearance.allowed");if(!mX.has(X.default))throw Error("@appearanceBootstrap colorMode.default must be light, dark, or system");return{storageKey:Z.storageKey,appearance:{key:J.key,attribute:J.attribute,allowed:[...new Set(J.allowed)],default:J.default},colorMode:{key:X.key,attribute:X.attribute,default:X.default}}}function cX($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function pX($){return`<script data-stx-scoped data-stx-appearance-bootstrap>(function(){"use strict";const config=${cX($)};const root=document.documentElement;const MODES=["light","dark","system"];function read(){let stored={};try{const raw=localStorage.getItem(config.storageKey);const parsed=raw?JSON.parse(raw):{};if(parsed&&typeof parsed==="object"&&!Array.isArray(parsed))stored=parsed}catch{}return stored}function write(stored){try{localStorage.setItem(config.storageKey,JSON.stringify(stored))}catch{}}function resolve(){const stored=read();return{appearance:config.appearance.allowed.includes(stored[config.appearance.key])?stored[config.appearance.key]:config.appearance.default,colorMode:MODES.includes(stored[config.colorMode.key])?stored[config.colorMode.key]:config.colorMode.default}}function prefersDark(){try{return matchMedia("(prefers-color-scheme: dark)").matches}catch{return false}}function apply(){const state=resolve();const dark=state.colorMode==="dark"||(state.colorMode==="system"&&prefersDark());root.setAttribute("data-"+config.appearance.attribute,state.appearance);root.setAttribute("data-"+config.colorMode.attribute,state.colorMode);root.classList.toggle("dark",dark);root.dataset.theme=dark?"dark":"light";state.dark=dark;try{window.dispatchEvent(new CustomEvent("stx:appearance",{detail:state}))}catch{}return state}function store(key,allowed,value){if(allowed.includes(value)){const stored=read();stored[key]=value;write(stored)}return apply()}window.__stxAppearance={config:config,read:read,resolve:resolve,apply:apply,setColorMode:function(mode){return store(config.colorMode.key,MODES,mode)},setAppearance:function(name){return store(config.appearance.key,config.appearance.allowed,name)},watchSystem:function(){try{matchMedia("(prefers-color-scheme: dark)").addEventListener("change",function(){if(resolve().colorMode==="system")apply()})}catch{}}};apply()}());</script>`}function iX($,Z){let J=1,X=null,Y=!1;for(let Q=Z+1;Q<$.length;Q++){let G=$[Q];if(Y){Y=!1;continue}if(X){if(G==="\\")Y=!0;else if(G===X)X=null;continue}if(G==='"'||G==="'"||G==="`"){X=G;continue}if(G==="(")J++;else if(G===")"&&--J===0)return Q}return-1}function d7($,Z){let J=$,X=/@appearanceBootstrap\s*\(/g,Y;while((Y=X.exec(J))!==null){let Q=Y.index+Y[0].length-1,G=iX(J,Q);if(G===-1)throw Error("@appearanceBootstrap has an unclosed options object");let z=J.slice(Q+1,G).trim(),q=e(`(${z})`,Z),K=pX(lX(q));J=J.slice(0,Y.index)+K+J.slice(G+1),X.lastIndex=Y.index+K.length}return J}import nX from"crypto";function O0($){return String($??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var b5={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"};function sX($){return{...b5,...$.forms?.classes}}function Q9($,Z,J,X){let Y=$||Z;return J?`${Y} ${X}`:Y}function m0($){return String($).replace(/\[\]$/,"").replace(/[^\w.:-]+/g,"-").replace(/^-+|-+$/g,"")}function f1($,Z){if(/\bid\s*=/i.test($))return"";return` id="${O0(Z)}"`}function E5($,Z,J){if(!Z)return"";let X="";if(!/\baria-invalid\s*=/i.test(J))X+=' aria-invalid="true"';if(!/\baria-describedby\s*=/i.test(J))X+=` aria-describedby="${O0(`${m0($)}-error`)}"`;return X}function oX(){return nX.randomUUID()}function ZU($,Z,J,X){let Y=sX(X),Q=$;return Q=aX(Q,Z),Q=_2(Q,Z),Q=y5(Q,Z,Y),Q=C5(Q,Z,Y),Q}function _2($,Z){let J=$;return J=J.replace(/@csrf/g,()=>{if(!Z.csrf||typeof Z.csrf!=="object"){let X=oX();Z.csrf={token:X}}if(Z.csrf.field)return Z.csrf.field;if(Z.csrf.token)return`<input type="hidden" name="_token" value="${O0(Z.csrf.token)}">`;return'<input type="hidden" name="_token" value="">'}),J=J.replace(/@method\(['"]([^'"]+)['"]\)/g,(X,Y)=>{let Q=Y.toUpperCase();if(Y&&!["GET","POST"].includes(Q))return`<input type="hidden" name="_method" value="${O0(Q)}">`;return X}),J}function y5($,Z,J=b5){let X=$;return X=X.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(Y,Q,G,z,q,K="")=>{let W=Q||G||"POST",U=z||q||"",H=K1(K),j=W.toUpperCase(),B=["GET","POST"].includes(j)?j:"POST",V=`<form method="${O0(B)}" action="${O0(U)}"${H?` ${H}`:""}>`;if(V+=`
|
|
3226
3226
|
${_2("@csrf",Z)}`,!["GET","POST"].includes(j))V+=`
|
|
3227
|
-
${_2(`@method('${j}')`,Z)}`;return V}),X=X.replace(/@endform/g,"</form>"),X=X.replace(/@input\(\s*(?:'([^']+)'|"([^"]+)")\s*(?:,\s*(?:(?:'([^']*)'|"([^"]*)")\s*)?)?(?:,\s*\{([^}]+)\})?\s*\)/g,(Y,Q,G,z,q,K="")=>{let W=Q||G||"",U=z||q||"",H=K1(K),j=B2(W,Z),B=j!==void 0&&j!==null?j:U||"",V=H.match(/type=['"]([^'"]+)['"]/i),F=V?V[1]:"text",_=V2(W,Z),O=H.match(/class=['"]([^'"]+)['"]/i),L=Q9(O?O[1]:"",J.input,_,J.inputError),w=H.replace(/class=['"][^'"]+['"]/i,"");return w=w.replace(/type=['"][^'"]+['"]/i,""),`<input type="${O0(F)}" name="${O0(W)}"${f1(H,m0(W))} value="${O0(B)}" class="${L}"${E5(W,_,H)}${w?` ${w}`:""}>`}),X=X.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(Y,Q,G="",z="")=>{let q=K1(G),K=B2(Q,Z)||z.trim(),W=V2(Q,Z),U=q.match(/class=['"]([^'"]+)['"]/i),H=Q9(U?U[1]:"",J.input,W,J.inputError),j=q.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${O0(Q)}"${f1(q,m0(Q))} class="${H}"${E5(Q,W,q)}${j?` ${j}`:""}>${O0(K)}</textarea>`}),X=X.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(Y,Q,G="",z)=>{let q=K1(G),K=B2(Q,Z),W=V2(Q,Z),U=q.match(/class=['"]([^'"]+)['"]/i),H=Q9(U?U[1]:"",J.input,W,J.inputError),j=q.replace(/class=['"][^'"]+['"]/i,""),B=z;if(K!==void 0)B=z.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(V,F,_)=>{if((Array.isArray(K)?K.some((L)=>String(L)===_):String(K)===_)&&!F.includes("selected"))return F.replace(/(<option)/,"$1 selected");return V});return`<select name="${O0(Q)}"${f1(q,m0(Q))} class="${H}"${E5(Q,W,q)}${j?` ${j}`:""}>${B}</select>`}),X=X.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(Y,Q,G,z="")=>{let q=G===void 0?"1":G,K=G===void 0?m0(Q):`${m0(Q)}-${m0(q)}`,W=K1(z),U=B2(Q,Z),H=U!==void 0&&(Array.isArray(U)?U.some((F)=>String(F)===q):U===!0||String(U)===q),j=W.match(/class=['"]([^'"]+)['"]/i),B=j?j[1]:J.checkInput,V=W.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${O0(Q)}"${f1(W,K)} value="${O0(q)}" class="${B}"${H?" checked":""}${V?` ${V}`:""}>`}),X=X.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Y,Q,G,z="")=>{let q=K1(z),K=B2(Q,Z),W=K!==void 0&&K===G,U=q.match(/class=['"]([^'"]+)['"]/i),H=U?U[1]:J.checkInput,j=q.replace(/class=['"][^'"]+['"]/i,"");return`<input type="radio" name="${O0(Q)}"${f1(q,`${m0(Q)}-${m0(G)}`)} value="${O0(G)}" class="${H}"${W?" checked":""}${j?` ${j}`:""}>`}),X=X.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Y,Q,G="")=>{let z=K1(G),q=z.match(/accept=['"]([^'"]+)['"]/i),K=q?q[1]:"",W=z.includes("multiple"),U=V2(Q,Z),H=z.match(/class=['"]([^'"]+)['"]/i),j=Q9(H?H[1]:"",J.input,U,J.inputError),B=z.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),V=[`<input type="file" name="${O0(Q)}"${f1(z,m0(Q))}`,`class="${j}"`];if(K)V.push(`accept="${O0(K)}"`);if(W)V.push("multiple");if(B)V.push(B);return`${V.join(" ")}>`}),X=X.replace(/@label\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endlabel/g,(Y,Q,G="",z)=>{let q=K1(G),K=q.match(/class=['"]([^'"]+)['"]/i),W=K?K[1]:J.label,U=q.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${O0(m0(Q))}" class="${W}"${U?` ${U}`:""}>${z}</label>`}),X}function C5($,Z,J=b5){return $.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(X,Y,Q)=>{try{if(V2(Y,Z)){let G=Q.replace(/\{\{([^}]+)\}\}/g,(z,q)=>{try{if(q.trim()==="$message"||q.trim()==="message")return m7(Y,Z);if(q.trim().includes("errors.first")||q.trim().includes("$errors.first")){if(typeof Z.errors?.first==="function")return Z.errors.first(Y);return m7(Y,Z)}let K=q.trim();if(W0(K)){let W=e(K,Z);return W!==void 0?String(W):K}return K}catch{return q}});return`<div id="${O0(`${m0(Y)}-error`)}" role="alert">${G}</div>`}return""}catch(G){return console.error("Error processing @error directive:",G),X}})}function V2($,Z){if(!Z.errors)return!1;if(typeof Z.errors.has==="function")return Z.errors.has($);if(typeof Z.errors==="object")return Object.prototype.hasOwnProperty.call(Z.errors,$);return!1}function m7($,Z){if(!Z.errors)return"";if(typeof Z.errors.get==="function")return Z.errors.get($);if(typeof Z.errors==="object"&&Object.prototype.hasOwnProperty.call(Z.errors,$)){let J=Z.errors[$];return Array.isArray(J)?J[0]:String(J)}return""}function B2($,Z){let J;if(Z.old&&typeof Z.old==="function")return Z.old($);if(Z.old&&typeof Z.old==="object")return Z.old[$];if($.endsWith("[]")){let X=$.slice(0,-2);if(J=Z[X],J!==void 0)return J}return Z[$]}function K1($){if(!$.trim())return"";let Z=[],J=$.trim(),X=/([\w-]+)\s*:\s*(['"]?)([^,'"]*)\2(?:\s*,\s*|\s*$)/g,Y;while((Y=X.exec(J))!==null){let[,Q,,G]=Y;Z.push(`${Q}="${G.trim()}"`)}return Z.join(" ")}var l7={required:($,Z,J)=>{if($===void 0||$===null||$===""||Array.isArray($)&&$.length===0)return`The ${J} field is required.`;return null},email:($,Z,J)=>{if(!$)return null;if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String($)))return`The ${J} field must be a valid email address.`;return null},min:($,Z,J)=>{if(!$)return null;let X=Number(Z[0]);if(typeof $==="string"&&$.length<X)return`The ${J} field must be at least ${X} characters.`;if(typeof $==="number"&&$<X)return`The ${J} field must be at least ${X}.`;if(Array.isArray($)&&$.length<X)return`The ${J} field must have at least ${X} items.`;return null},max:($,Z,J)=>{if(!$)return null;let X=Number(Z[0]);if(typeof $==="string"&&$.length>X)return`The ${J} field must not exceed ${X} characters.`;if(typeof $==="number"&&$>X)return`The ${J} field must not exceed ${X}.`;if(Array.isArray($)&&$.length>X)return`The ${J} field must not have more than ${X} items.`;return null},confirmed:($,Z,J)=>{if(Z[0]!==void 0&&$!==Z[0])return`The ${J} confirmation does not match.`;return null},numeric:($,Z,J)=>{if(!$)return null;if(Number.isNaN(Number($)))return`The ${J} field must be a number.`;return null},integer:($,Z,J)=>{if(!$)return null;if(!Number.isInteger(Number($)))return`The ${J} field must be an integer.`;return null},alpha:($,Z,J)=>{if(!$)return null;if(!/^[a-z]+$/i.test(String($)))return`The ${J} field must only contain letters.`;return null},alphanumeric:($,Z,J)=>{if(!$)return null;if(!/^[a-z0-9]+$/i.test(String($)))return`The ${J} field must only contain letters and numbers.`;return null},url:($,Z,J)=>{if(!$)return null;try{return new URL(String($))?null:null}catch{return`The ${J} field must be a valid URL.`}},regex:($,Z,J)=>{if(!$)return null;try{if(!new RegExp(Z[0]).test(String($)))return`The ${J} field format is invalid.`;return null}catch{return`The ${J} field has an invalid validation pattern.`}},in:($,Z,J)=>{if(!$)return null;if(!Z.includes(String($)))return`The ${J} field must be one of: ${Z.join(", ")}.`;return null},notIn:($,Z,J)=>{if(!$)return null;if(Z.includes(String($)))return`The ${J} field must not be: ${Z.join(", ")}.`;return null},date:($,Z,J)=>{if(!$)return null;let X=new Date($);if(Number.isNaN(X.getTime()))return`The ${J} field must be a valid date.`;return null},before:($,Z,J)=>{if(!$)return null;let X=new Date($),Y=new Date(Z[0]);if(X>=Y)return`The ${J} field must be before ${Z[0]}.`;return null},after:($,Z,J)=>{if(!$)return null;let X=new Date($),Y=new Date(Z[0]);if(X<=Y)return`The ${J} field must be after ${Z[0]}.`;return null}};function ZU($,Z){l7[$]=Z}function S5($){let[Z,...J]=$.split(":"),X=J.length>0?J.join(":").split(","):[];return{name:Z.trim(),params:X}}function oX($,Z,J,X={}){let Y=[],Q=J.split("|").map((G)=>G.trim()).filter(Boolean);for(let G of Q){let z=S5(G),q=l7[z.name];if(!q){console.warn(`Unknown validation rule: ${z.name}`);continue}if(z.name==="confirmed"){let W=`${$}_confirmation`;z.params=[X[W]]}let K=q(Z,z.params||[],$);if(K)Y.push(z.message||K)}return{field:$,valid:Y.length===0,errors:Y}}function JU($,Z){let J={};for(let[X,Y]of Object.entries(Z)){let Q=oX(X,$[X],Y,$);if(!Q.valid)J[X]=Q.errors}return J}function rX($,Z){return $.replace(/@validate\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]*)\})?\s*\)/g,(J,X,Y,Q)=>{let G=Y.split("|").map((q)=>q.trim()),z=[];for(let q of G){let K=S5(q);switch(K.name){case"required":z.push("required");break;case"email":z.push('type="email"');break;case"url":z.push('type="url"');break;case"numeric":case"integer":if(z.push('type="number"'),K.name==="integer")z.push('step="1"');break;case"min":if(K.params?.[0])z.push(`minlength="${K.params[0]}"`);break;case"max":if(K.params?.[0])z.push(`maxlength="${K.params[0]}"`);break;case"regex":if(K.params?.[0])z.push(`pattern="${K.params[0]}"`);break}}return`<!-- @validate:${X}:${Y} -->${z.length>0?`<!-- attrs:${z.join(" ")} -->`:""}`})}var c7={required:{name:"required",validate:($)=>{if($===null||$===void 0||$==="")return"This field is required";if(Array.isArray($)&&$.length===0)return"This field is required";return!0},toHtml5:()=>["required"],message:"This field is required"},email:{name:"email",validate:($)=>{if(!$)return!0;return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String($))||"Please enter a valid email address"},toHtml5:()=>['type="email"'],message:"Please enter a valid email address"},url:{name:"url",validate:($)=>{if(!$)return!0;try{return new URL(String($)).protocol.startsWith("http")||"Please enter a valid URL"}catch{return"Please enter a valid URL"}},toHtml5:()=>['type="url"'],message:"Please enter a valid URL"},numeric:{name:"numeric",validate:($)=>{if(!$)return!0;return!Number.isNaN(Number($))||"Please enter a number"},toHtml5:()=>['type="number"'],message:"Please enter a number"},integer:{name:"integer",validate:($)=>{if(!$)return!0;let Z=Number($);return Number.isInteger(Z)||"Please enter a whole number"},toHtml5:()=>['type="number"','step="1"'],message:"Please enter a whole number"},alpha:{name:"alpha",validate:($)=>{if(!$)return!0;return/^[a-z]+$/i.test(String($))||"Please enter only letters"},toHtml5:()=>['pattern="[a-zA-Z]+"'],message:"Please enter only letters"},alphanumeric:{name:"alphanumeric",validate:($)=>{if(!$)return!0;return/^[a-z0-9]+$/i.test(String($))||"Please enter only letters and numbers"},toHtml5:()=>['pattern="[a-zA-Z0-9]+"'],message:"Please enter only letters and numbers"},min:{name:"min",validate:($,Z)=>{if(!$)return!0;let J=Number(Z[0]);if(typeof $==="string")return $.length>=J||`Must be at least ${J} characters`;if(typeof $==="number")return $>=J||`Must be at least ${J}`;if(Array.isArray($))return $.length>=J||`Must have at least ${J} items`;return!0},toHtml5:($)=>[`minlength="${$[0]}"`,`min="${$[0]}"`],message:"Must be at least {{param}} characters"},max:{name:"max",validate:($,Z)=>{if(!$)return!0;let J=Number(Z[0]);if(typeof $==="string")return $.length<=J||`Must be no more than ${J} characters`;if(typeof $==="number")return $<=J||`Must be no more than ${J}`;if(Array.isArray($))return $.length<=J||`Must have no more than ${J} items`;return!0},toHtml5:($)=>[`maxlength="${$[0]}"`,`max="${$[0]}"`],message:"Must be no more than {{param}} characters"},between:{name:"between",validate:($,Z)=>{if(!$)return!0;let[J,X]=Z.map(Number);if(typeof $==="string")return $.length>=J&&$.length<=X||`Must be between ${J} and ${X} characters`;if(typeof $==="number")return $>=J&&$<=X||`Must be between ${J} and ${X}`;return!0},toHtml5:($)=>[`minlength="${$[0]}"`,`maxlength="${$[1]}"`],message:"Must be between {{min}} and {{max}}"},confirmed:{name:"confirmed",validate:($,Z,J)=>{let X=Object.keys(J);for(let Y of X)if(Y.endsWith("_confirmation")&&J[Y]===$)return!0;return"Confirmation does not match"},message:"Confirmation does not match"},in:{name:"in",validate:($,Z)=>{if(!$)return!0;return Z.includes(String($))||`Must be one of: ${Z.join(", ")}`},message:"Must be one of: {{values}}"},notIn:{name:"notIn",validate:($,Z)=>{if(!$)return!0;return!Z.includes(String($))||`Must not be: ${Z.join(", ")}`},message:"Must not be: {{values}}"},regex:{name:"regex",validate:($,Z)=>{if(!$)return!0;try{return new RegExp(Z[0]).test(String($))||"Invalid format"}catch{return"Invalid format"}},toHtml5:($)=>[`pattern="${$[0]}"`],message:"Invalid format"},date:{name:"date",validate:($)=>{if(!$)return!0;let Z=new Date(String($));return!Number.isNaN(Z.getTime())||"Please enter a valid date"},toHtml5:()=>['type="date"'],message:"Please enter a valid date"},before:{name:"before",validate:($,Z)=>{if(!$)return!0;let J=new Date(String($)),X=new Date(Z[0]);return J<X||`Must be before ${Z[0]}`},toHtml5:($)=>[`max="${$[0]}"`],message:"Must be before {{date}}"},after:{name:"after",validate:($,Z)=>{if(!$)return!0;let J=new Date(String($)),X=new Date(Z[0]);return J>X||`Must be after ${Z[0]}`},toHtml5:($)=>[`min="${$[0]}"`],message:"Must be after {{date}}"},size:{name:"size",validate:($,Z)=>{if(!$)return!0;let J=Number(Z[0]);if(typeof $==="string")return $.length===J||`Must be exactly ${J} characters`;if(Array.isArray($))return $.length===J||`Must have exactly ${J} items`;return!0},message:"Must be exactly {{size}}"},phone:{name:"phone",validate:($)=>{if(!$)return!0;return/^\+?\(?\d{1,4}\)?[-\s./\d]*$/.test(String($))||"Please enter a valid phone number"},toHtml5:()=>['type="tel"','pattern="\\+?\\(?\\d{1,4}\\)?[-\\s./\\d]*"'],message:"Please enter a valid phone number"}};function XU($){c7[$.name]=$}function aX($,Z,J={}){let X=[],Y=Z.split("|").map((Q)=>Q.trim());for(let Q of Y){let G=S5(Q),z=c7[G.name];if(!z){console.warn(`Unknown validation rule: ${G.name}`);continue}let q=z.validate($,G.params||[],J);if(q!==!0)X.push(q)}return{valid:X.length===0,errors:X}}function YU($,Z){let J={},X=!0;for(let[Y,Q]of Object.entries(Z)){let G=aX($[Y],Q,$);if(!G.valid)X=!1,J[Y]=G.errors}return{valid:X,errors:J}}function QU($,Z){let J=JSON.stringify(Z);return`
|
|
3227
|
+
${_2(`@method('${j}')`,Z)}`;return V}),X=X.replace(/@endform/g,"</form>"),X=X.replace(/@input\(\s*(?:'([^']+)'|"([^"]+)")\s*(?:,\s*(?:(?:'([^']*)'|"([^"]*)")\s*)?)?(?:,\s*\{([^}]+)\})?\s*\)/g,(Y,Q,G,z,q,K="")=>{let W=Q||G||"",U=z||q||"",H=K1(K),j=B2(W,Z),B=j!==void 0&&j!==null?j:U||"",V=H.match(/type=['"]([^'"]+)['"]/i),F=V?V[1]:"text",_=V2(W,Z),O=H.match(/class=['"]([^'"]+)['"]/i),L=Q9(O?O[1]:"",J.input,_,J.inputError),w=H.replace(/class=['"][^'"]+['"]/i,"");return w=w.replace(/type=['"][^'"]+['"]/i,""),`<input type="${O0(F)}" name="${O0(W)}"${f1(H,m0(W))} value="${O0(B)}" class="${L}"${E5(W,_,H)}${w?` ${w}`:""}>`}),X=X.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(Y,Q,G="",z="")=>{let q=K1(G),K=B2(Q,Z)||z.trim(),W=V2(Q,Z),U=q.match(/class=['"]([^'"]+)['"]/i),H=Q9(U?U[1]:"",J.input,W,J.inputError),j=q.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${O0(Q)}"${f1(q,m0(Q))} class="${H}"${E5(Q,W,q)}${j?` ${j}`:""}>${O0(K)}</textarea>`}),X=X.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(Y,Q,G="",z)=>{let q=K1(G),K=B2(Q,Z),W=V2(Q,Z),U=q.match(/class=['"]([^'"]+)['"]/i),H=Q9(U?U[1]:"",J.input,W,J.inputError),j=q.replace(/class=['"][^'"]+['"]/i,""),B=z;if(K!==void 0)B=z.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(V,F,_)=>{if((Array.isArray(K)?K.some((L)=>String(L)===_):String(K)===_)&&!F.includes("selected"))return F.replace(/(<option)/,"$1 selected");return V});return`<select name="${O0(Q)}"${f1(q,m0(Q))} class="${H}"${E5(Q,W,q)}${j?` ${j}`:""}>${B}</select>`}),X=X.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(Y,Q,G,z="")=>{let q=G===void 0?"1":G,K=G===void 0?m0(Q):`${m0(Q)}-${m0(q)}`,W=K1(z),U=B2(Q,Z),H=U!==void 0&&(Array.isArray(U)?U.some((F)=>String(F)===q):U===!0||String(U)===q),j=W.match(/class=['"]([^'"]+)['"]/i),B=j?j[1]:J.checkInput,V=W.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${O0(Q)}"${f1(W,K)} value="${O0(q)}" class="${B}"${H?" checked":""}${V?` ${V}`:""}>`}),X=X.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Y,Q,G,z="")=>{let q=K1(z),K=B2(Q,Z),W=K!==void 0&&K===G,U=q.match(/class=['"]([^'"]+)['"]/i),H=U?U[1]:J.checkInput,j=q.replace(/class=['"][^'"]+['"]/i,"");return`<input type="radio" name="${O0(Q)}"${f1(q,`${m0(Q)}-${m0(G)}`)} value="${O0(G)}" class="${H}"${W?" checked":""}${j?` ${j}`:""}>`}),X=X.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Y,Q,G="")=>{let z=K1(G),q=z.match(/accept=['"]([^'"]+)['"]/i),K=q?q[1]:"",W=z.includes("multiple"),U=V2(Q,Z),H=z.match(/class=['"]([^'"]+)['"]/i),j=Q9(H?H[1]:"",J.input,U,J.inputError),B=z.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),V=[`<input type="file" name="${O0(Q)}"${f1(z,m0(Q))}`,`class="${j}"`];if(K)V.push(`accept="${O0(K)}"`);if(W)V.push("multiple");if(B)V.push(B);return`${V.join(" ")}>`}),X=X.replace(/@label\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endlabel/g,(Y,Q,G="",z)=>{let q=K1(G),K=q.match(/class=['"]([^'"]+)['"]/i),W=K?K[1]:J.label,U=q.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${O0(m0(Q))}" class="${W}"${U?` ${U}`:""}>${z}</label>`}),X}function C5($,Z,J=b5){return $.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(X,Y,Q)=>{try{if(V2(Y,Z)){let G=Q.replace(/\{\{([^}]+)\}\}/g,(z,q)=>{try{if(q.trim()==="$message"||q.trim()==="message")return m7(Y,Z);if(q.trim().includes("errors.first")||q.trim().includes("$errors.first")){if(typeof Z.errors?.first==="function")return Z.errors.first(Y);return m7(Y,Z)}let K=q.trim();if(W0(K)){let W=e(K,Z);return W!==void 0?String(W):K}return K}catch{return q}});return`<div id="${O0(`${m0(Y)}-error`)}" role="alert">${G}</div>`}return""}catch(G){return console.error("Error processing @error directive:",G),X}})}function V2($,Z){if(!Z.errors)return!1;if(typeof Z.errors.has==="function")return Z.errors.has($);if(typeof Z.errors==="object")return Object.prototype.hasOwnProperty.call(Z.errors,$);return!1}function m7($,Z){if(!Z.errors)return"";if(typeof Z.errors.get==="function")return Z.errors.get($);if(typeof Z.errors==="object"&&Object.prototype.hasOwnProperty.call(Z.errors,$)){let J=Z.errors[$];return Array.isArray(J)?J[0]:String(J)}return""}function B2($,Z){let J;if(Z.old&&typeof Z.old==="function")return Z.old($);if(Z.old&&typeof Z.old==="object")return Z.old[$];if($.endsWith("[]")){let X=$.slice(0,-2);if(J=Z[X],J!==void 0)return J}return Z[$]}function K1($){if(!$.trim())return"";let Z=[],J=$.trim(),X=/([\w-]+)\s*:\s*(['"]?)([^,'"]*)\2(?:\s*,\s*|\s*$)/g,Y;while((Y=X.exec(J))!==null){let[,Q,,G]=Y;Z.push(`${Q}="${G.trim()}"`)}return Z.join(" ")}var l7={required:($,Z,J)=>{if($===void 0||$===null||$===""||Array.isArray($)&&$.length===0)return`The ${J} field is required.`;return null},email:($,Z,J)=>{if(!$)return null;if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String($)))return`The ${J} field must be a valid email address.`;return null},min:($,Z,J)=>{if(!$)return null;let X=Number(Z[0]);if(typeof $==="string"&&$.length<X)return`The ${J} field must be at least ${X} characters.`;if(typeof $==="number"&&$<X)return`The ${J} field must be at least ${X}.`;if(Array.isArray($)&&$.length<X)return`The ${J} field must have at least ${X} items.`;return null},max:($,Z,J)=>{if(!$)return null;let X=Number(Z[0]);if(typeof $==="string"&&$.length>X)return`The ${J} field must not exceed ${X} characters.`;if(typeof $==="number"&&$>X)return`The ${J} field must not exceed ${X}.`;if(Array.isArray($)&&$.length>X)return`The ${J} field must not have more than ${X} items.`;return null},confirmed:($,Z,J)=>{if(Z[0]!==void 0&&$!==Z[0])return`The ${J} confirmation does not match.`;return null},numeric:($,Z,J)=>{if(!$)return null;if(Number.isNaN(Number($)))return`The ${J} field must be a number.`;return null},integer:($,Z,J)=>{if(!$)return null;if(!Number.isInteger(Number($)))return`The ${J} field must be an integer.`;return null},alpha:($,Z,J)=>{if(!$)return null;if(!/^[a-z]+$/i.test(String($)))return`The ${J} field must only contain letters.`;return null},alphanumeric:($,Z,J)=>{if(!$)return null;if(!/^[a-z0-9]+$/i.test(String($)))return`The ${J} field must only contain letters and numbers.`;return null},url:($,Z,J)=>{if(!$)return null;try{return new URL(String($))?null:null}catch{return`The ${J} field must be a valid URL.`}},regex:($,Z,J)=>{if(!$)return null;try{if(!new RegExp(Z[0]).test(String($)))return`The ${J} field format is invalid.`;return null}catch{return`The ${J} field has an invalid validation pattern.`}},in:($,Z,J)=>{if(!$)return null;if(!Z.includes(String($)))return`The ${J} field must be one of: ${Z.join(", ")}.`;return null},notIn:($,Z,J)=>{if(!$)return null;if(Z.includes(String($)))return`The ${J} field must not be: ${Z.join(", ")}.`;return null},date:($,Z,J)=>{if(!$)return null;let X=new Date($);if(Number.isNaN(X.getTime()))return`The ${J} field must be a valid date.`;return null},before:($,Z,J)=>{if(!$)return null;let X=new Date($),Y=new Date(Z[0]);if(X>=Y)return`The ${J} field must be before ${Z[0]}.`;return null},after:($,Z,J)=>{if(!$)return null;let X=new Date($),Y=new Date(Z[0]);if(X<=Y)return`The ${J} field must be after ${Z[0]}.`;return null}};function JU($,Z){l7[$]=Z}function S5($){let[Z,...J]=$.split(":"),X=J.length>0?J.join(":").split(","):[];return{name:Z.trim(),params:X}}function rX($,Z,J,X={}){let Y=[],Q=J.split("|").map((G)=>G.trim()).filter(Boolean);for(let G of Q){let z=S5(G),q=l7[z.name];if(!q){console.warn(`Unknown validation rule: ${z.name}`);continue}if(z.name==="confirmed"){let W=`${$}_confirmation`;z.params=[X[W]]}let K=q(Z,z.params||[],$);if(K)Y.push(z.message||K)}return{field:$,valid:Y.length===0,errors:Y}}function XU($,Z){let J={};for(let[X,Y]of Object.entries(Z)){let Q=rX(X,$[X],Y,$);if(!Q.valid)J[X]=Q.errors}return J}function aX($,Z){return $.replace(/@validate\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]*)\})?\s*\)/g,(J,X,Y,Q)=>{let G=Y.split("|").map((q)=>q.trim()),z=[];for(let q of G){let K=S5(q);switch(K.name){case"required":z.push("required");break;case"email":z.push('type="email"');break;case"url":z.push('type="url"');break;case"numeric":case"integer":if(z.push('type="number"'),K.name==="integer")z.push('step="1"');break;case"min":if(K.params?.[0])z.push(`minlength="${K.params[0]}"`);break;case"max":if(K.params?.[0])z.push(`maxlength="${K.params[0]}"`);break;case"regex":if(K.params?.[0])z.push(`pattern="${K.params[0]}"`);break}}return`<!-- @validate:${X}:${Y} -->${z.length>0?`<!-- attrs:${z.join(" ")} -->`:""}`})}var c7={required:{name:"required",validate:($)=>{if($===null||$===void 0||$==="")return"This field is required";if(Array.isArray($)&&$.length===0)return"This field is required";return!0},toHtml5:()=>["required"],message:"This field is required"},email:{name:"email",validate:($)=>{if(!$)return!0;return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String($))||"Please enter a valid email address"},toHtml5:()=>['type="email"'],message:"Please enter a valid email address"},url:{name:"url",validate:($)=>{if(!$)return!0;try{return new URL(String($)).protocol.startsWith("http")||"Please enter a valid URL"}catch{return"Please enter a valid URL"}},toHtml5:()=>['type="url"'],message:"Please enter a valid URL"},numeric:{name:"numeric",validate:($)=>{if(!$)return!0;return!Number.isNaN(Number($))||"Please enter a number"},toHtml5:()=>['type="number"'],message:"Please enter a number"},integer:{name:"integer",validate:($)=>{if(!$)return!0;let Z=Number($);return Number.isInteger(Z)||"Please enter a whole number"},toHtml5:()=>['type="number"','step="1"'],message:"Please enter a whole number"},alpha:{name:"alpha",validate:($)=>{if(!$)return!0;return/^[a-z]+$/i.test(String($))||"Please enter only letters"},toHtml5:()=>['pattern="[a-zA-Z]+"'],message:"Please enter only letters"},alphanumeric:{name:"alphanumeric",validate:($)=>{if(!$)return!0;return/^[a-z0-9]+$/i.test(String($))||"Please enter only letters and numbers"},toHtml5:()=>['pattern="[a-zA-Z0-9]+"'],message:"Please enter only letters and numbers"},min:{name:"min",validate:($,Z)=>{if(!$)return!0;let J=Number(Z[0]);if(typeof $==="string")return $.length>=J||`Must be at least ${J} characters`;if(typeof $==="number")return $>=J||`Must be at least ${J}`;if(Array.isArray($))return $.length>=J||`Must have at least ${J} items`;return!0},toHtml5:($)=>[`minlength="${$[0]}"`,`min="${$[0]}"`],message:"Must be at least {{param}} characters"},max:{name:"max",validate:($,Z)=>{if(!$)return!0;let J=Number(Z[0]);if(typeof $==="string")return $.length<=J||`Must be no more than ${J} characters`;if(typeof $==="number")return $<=J||`Must be no more than ${J}`;if(Array.isArray($))return $.length<=J||`Must have no more than ${J} items`;return!0},toHtml5:($)=>[`maxlength="${$[0]}"`,`max="${$[0]}"`],message:"Must be no more than {{param}} characters"},between:{name:"between",validate:($,Z)=>{if(!$)return!0;let[J,X]=Z.map(Number);if(typeof $==="string")return $.length>=J&&$.length<=X||`Must be between ${J} and ${X} characters`;if(typeof $==="number")return $>=J&&$<=X||`Must be between ${J} and ${X}`;return!0},toHtml5:($)=>[`minlength="${$[0]}"`,`maxlength="${$[1]}"`],message:"Must be between {{min}} and {{max}}"},confirmed:{name:"confirmed",validate:($,Z,J)=>{let X=Object.keys(J);for(let Y of X)if(Y.endsWith("_confirmation")&&J[Y]===$)return!0;return"Confirmation does not match"},message:"Confirmation does not match"},in:{name:"in",validate:($,Z)=>{if(!$)return!0;return Z.includes(String($))||`Must be one of: ${Z.join(", ")}`},message:"Must be one of: {{values}}"},notIn:{name:"notIn",validate:($,Z)=>{if(!$)return!0;return!Z.includes(String($))||`Must not be: ${Z.join(", ")}`},message:"Must not be: {{values}}"},regex:{name:"regex",validate:($,Z)=>{if(!$)return!0;try{return new RegExp(Z[0]).test(String($))||"Invalid format"}catch{return"Invalid format"}},toHtml5:($)=>[`pattern="${$[0]}"`],message:"Invalid format"},date:{name:"date",validate:($)=>{if(!$)return!0;let Z=new Date(String($));return!Number.isNaN(Z.getTime())||"Please enter a valid date"},toHtml5:()=>['type="date"'],message:"Please enter a valid date"},before:{name:"before",validate:($,Z)=>{if(!$)return!0;let J=new Date(String($)),X=new Date(Z[0]);return J<X||`Must be before ${Z[0]}`},toHtml5:($)=>[`max="${$[0]}"`],message:"Must be before {{date}}"},after:{name:"after",validate:($,Z)=>{if(!$)return!0;let J=new Date(String($)),X=new Date(Z[0]);return J>X||`Must be after ${Z[0]}`},toHtml5:($)=>[`min="${$[0]}"`],message:"Must be after {{date}}"},size:{name:"size",validate:($,Z)=>{if(!$)return!0;let J=Number(Z[0]);if(typeof $==="string")return $.length===J||`Must be exactly ${J} characters`;if(Array.isArray($))return $.length===J||`Must have exactly ${J} items`;return!0},message:"Must be exactly {{size}}"},phone:{name:"phone",validate:($)=>{if(!$)return!0;return/^\+?\(?\d{1,4}\)?[-\s./\d]*$/.test(String($))||"Please enter a valid phone number"},toHtml5:()=>['type="tel"','pattern="\\+?\\(?\\d{1,4}\\)?[-\\s./\\d]*"'],message:"Please enter a valid phone number"}};function YU($){c7[$.name]=$}function tX($,Z,J={}){let X=[],Y=Z.split("|").map((Q)=>Q.trim());for(let Q of Y){let G=S5(Q),z=c7[G.name];if(!z){console.warn(`Unknown validation rule: ${G.name}`);continue}let q=z.validate($,G.params||[],J);if(q!==!0)X.push(q)}return{valid:X.length===0,errors:X}}function QU($,Z){let J={},X=!0;for(let[Y,Q]of Object.entries(Z)){let G=tX($[Y],Q,$);if(!G.valid)X=!1,J[Y]=G.errors}return{valid:X,errors:J}}function GU($,Z){let J=JSON.stringify(Z);return`
|
|
3228
3228
|
<script>
|
|
3229
3229
|
(function() {
|
|
3230
3230
|
const form = document.getElementById('${$}');
|
|
@@ -3276,19 +3276,19 @@ catch { return 'Please enter a valid URL'; } },
|
|
|
3276
3276
|
}
|
|
3277
3277
|
});
|
|
3278
3278
|
})();
|
|
3279
|
-
</script>`.trim()}var L2=/<\/?template\b[^>]*>/gi,tX=/(?:^|\s)(?:id\s*=|(?:x-|[@:])(?:for|if|else(?:-if)?)(?=\s|=|$)|#[\w-]+(?:\s*=|\s|$)|v-slot(?::[\w-]+)?(?=\s|=|$)|slot\s*=)/i;function eX($){let Z=$.replace(/^<template\b/i,"").replace(/>$/,"");return tX.test(Z)}function G9($){L2.lastIndex=0;let Z;while((Z=L2.exec($))!==null){if(Z[0].startsWith("</")||eX(Z[0]))continue;let J=Z.index,X=L2.lastIndex,Y=1,Q;while((Q=L2.exec($))!==null)if(Q[0].startsWith("</")){if(Y--,Y===0){let G=Q.index;return{start:J,openEnd:X,closeStart:G,end:L2.lastIndex,content:$.slice(X,G)}}}else Y++;return null}return null}import Q0 from"path";import{existsSync as yY}from"fs";import z9 from"fs";import U0 from"path";var p7=new Map;function i7($,Z=!0){let J=p7.get($);if(Z&&J)return J;let X=new Map,Y=[U0.join($,"src"),U0.join($,"dist"),$];function Q(G,z){if(z>6)return;let q;try{q=z9.readdirSync(G,{withFileTypes:!0})}catch{return}for(let K of q){let W=U0.join(G,K.name);if(K.isDirectory()){if(K.name==="node_modules"||K.name.startsWith("."))continue;Q(W,z+1)}else if(K.isFile()&&K.name.endsWith(".stx")){let U=K.name.slice(0,-4);if(!X.has(U))X.set(U,W);let H=U.toLowerCase();if(!X.has(H))X.set(H,W);let j=U.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!X.has(j))X.set(j,W)}}}for(let G of Y)if(Q(G,0),X.size>0)break;if(Z)p7.set($,X);return X}function n7($,Z){if($.startsWith(".")||$.startsWith("/"))return null;let J=Z;while(!0){let X=U0.join(J,"node_modules",$);try{if(z9.statSync(X).isDirectory())return X}catch{}let Y=U0.dirname(J);if(Y===J)return null;J=Y}}function s7($,Z,J={}){return[U0.resolve(U0.dirname(Z),`${$}.stx`),U0.resolve(U0.dirname(Z),$),U0.resolve(J.componentsDir||"components",`${$}.stx`),U0.resolve(J.componentsDir||"components",$),$.endsWith(".stx")?$:`${$}.stx`]}function o7($){let Z=$.endsWith(".stx")?$.slice(0,-4):$,J=Z.split("-").map((Y)=>Y.charAt(0).toUpperCase()+Y.slice(1)).join(""),X=Z.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();return[Z,J,X]}function P5($,Z){let[J,X,Y]=o7($);for(let Q of[J,J.toLowerCase(),X,Y]){let G=Z?.__importedComponents?.get(Q);if(G!==void 0)return G}}function*v5($,Z,J={},X){let Y=o7($);if(Y[0].startsWith("./")||Y[0].startsWith("../")){yield U0.resolve(U0.dirname(Z),`${Y[0]}.stx`);return}let Q=[...new Set(Y.map((q)=>`${q}.stx`))],G=J.projectRoot||process.cwd(),z=[...X?.__originalFilePath?[U0.join(U0.dirname(X.__originalFilePath),"components")]:[],...J.componentsDir?[J.componentsDir]:[],U0.join(U0.dirname(Z),"components"),U0.resolve(G,"src/components"),U0.resolve(G,"components"),...import.meta.dir?[U0.resolve(import.meta.dir,"components")]:[]];for(let q of new Set(z)){for(let K of Q)yield U0.join(q,K);try{for(let K of z9.readdirSync(q,{withFileTypes:!0}))if(K.isDirectory())for(let W of Q)yield U0.join(q,K.name,W)}catch{}}}function WU($,Z,J={},X){let Y=P5($,X);if(Y!==void 0)return Y;for(let Q of v5($,Z,J,X))try{if(z9.statSync(Q,{throwIfNoEntry:!1})?.isFile())return Q}catch{}return null}class r7{builtins=new Map;registerBuiltin($){this.builtins.set($.name.toLowerCase(),$);for(let Z of $.aliases)this.builtins.set(Z.toLowerCase(),$)}isBuiltin($){return this.builtins.has($.toLowerCase())}getBuiltin($){return this.builtins.get($.toLowerCase())??null}async resolveFile($,Z,J,X){let Y=P5($,X);if(Y!==void 0)return Y;for(let Q of v5($,Z,J,X))if(await a(Q))return Q;return null}}var x1=new r7;function D0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}var R1="\x00stx-boolean-attribute";function f5($){return $.indexOf("\x00")===-1?$:$.replace(/\0/g,"")}function g1($,Z){let J=[];for(let[X,Y]of Object.entries($.static)){if(Z.has(X))continue;let Q=$.staticNames?.[X]??X;if(typeof Y==="boolean"){if(Y)J.push(D0(Q));continue}if(Y===R1){J.push(D0(Q));continue}J.push(`${D0(Q)}="${D0(f5(String(Y)))}"`)}return J}function h1($,Z){let J=[];for(let[X,Y]of Object.entries($.serverDynamic??{})){if(Z.has(X))continue;if(Y===null||Y===void 0||Y===!1)continue;let Q=$.serverDynamicNames?.[X]??X;if(Y===!0){J.push(D0(Q));continue}if(typeof Y==="object")continue;J.push(`${D0(Q)}="${D0(f5(String(Y)))}"`)}return J}function O2($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function $Y($){if($.clientReactive.to)return{value:$.clientReactive.to,reactive:!0};if($.serverDynamic.to!==void 0)return{value:String($.serverDynamic.to),reactive:!1};if(typeof $.static.to==="string")return{value:$.static.to,reactive:!1};return{value:"#",reactive:!1}}var x5={name:"StxLink",aliases:["stx-link"],render($,Z,J){let X=$Y($),Y=(typeof $.static.class==="string"?$.static.class:"")||(typeof $.static.className==="string"?$.static.className:""),Q=typeof $.static.activeClass==="string"?$.static.activeClass:"active",G=typeof $.static.exactActiveClass==="string"?$.static.exactActiveClass:"exact-active",z=$.static.prefetch===!0||$.static.prefetch==="true"||$.serverDynamic.prefetch===!0,q=[];if(X.reactive)q.push(`:href="${O2(X.value)}"`);else q.push(`href="${O2(X.value)}"`);if(Y)q.push(`class="${O2(Y)}"`);if(q.push("data-stx-link"),q.push(`data-stx-active-class="${O2(Q)}"`),q.push(`data-stx-exact-active-class="${O2(G)}"`),z)q.push("data-stx-prefetch");let K=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);return q.push(...g1($,K)),q.push(...h1($,K)),`<a ${q.join(" ")}>${Z}</a>`}};import d1 from"fs";import g5 from"path";var ZY=new Set([".jpg",".jpeg",".png",".webp",".avif"]),W1=new Map,u1=!1;function a7($){if(!$)return;let Z=$.split("?")[0].split("#")[0];return W1.get(Z)}function AU(){return u1}function MU(){W1.clear(),u1=!1}function IU($,Z){W1.set($,Z),u1=!0}function JY($){let Z=0,J=0,X=0,Y=0;for(let G=0;G<$.length;G+=4)Z+=$[G],J+=$[G+1],X+=$[G+2],Y++;if(Y===0)return"#e5e7eb";let Q=(G)=>Math.round(G/Y).toString(16).padStart(2,"0");return`#${Q(Z)}${Q(J)}${Q(X)}`}function XY($,Z,J,X=4,Y=3){let Q=[];for(let G=0;G<Y;G++)for(let z=0;z<X;z++){let q=Math.floor(z*Z/X),K=Math.max(q+1,Math.floor((z+1)*Z/X)),W=Math.floor(G*J/Y),U=Math.max(W+1,Math.floor((G+1)*J/Y)),H=0,j=0,B=0,V=0;for(let _=W;_<U;_++)for(let O=q;O<K;O++){let L=(_*Z+O)*4;H+=$[L],j+=$[L+1],B+=$[L+2],V++}let F=(_)=>Math.round(_/V).toString(16).padStart(2,"0");Q.push(`<rect x="${z}" y="${G}" width="1" height="1" fill="#${F(H)}${F(j)}${F(B)}"/>`)}return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${X} ${Y}" preserveAspectRatio="none"><filter id="b"><feGaussianBlur stdDeviation=".6"/></filter><g filter="url(#b)">${Q.join("")}</g></svg>`}function YY($){return`data:image/svg+xml;base64,${Buffer.from($,"utf8").toString("base64")}`}function QY($){try{return JSON.parse(d1.readFileSync($,"utf8"))}catch{return{}}}function GY($,Z){try{d1.mkdirSync(g5.dirname($),{recursive:!0}),d1.writeFileSync($,JSON.stringify(Z))}catch{}}function t7($,Z,J=[]){let X;try{X=d1.readdirSync($,{withFileTypes:!0})}catch{return J}for(let Y of X){let Q=g5.join($,Y.name);if(Y.isDirectory()){t7(Q,`${Z}/${Y.name}`,J);continue}if(!ZY.has(g5.extname(Y.name).toLowerCase()))continue;J.push([`${Z}/${Y.name}`,Q])}return J}async function TU($,Z={}){let{cachePath:J,maxBytes:X=33554432,limit:Y=2000}=Z;if(!$||!d1.existsSync($))return u1=!0,W1.size;let Q;try{Q=await import("ts-images")}catch{return u1=!0,W1.size}let G=J?QY(J):{},z=!1,q=t7($,"").slice(0,Y),K=8,W=async([U,H])=>{let j;try{j=d1.statSync(H)}catch{return}if(j.size>X)return;let B=G[U];if(B&&B.mtimeMs===j.mtimeMs&&B.size===j.size){W1.set(U,{dataUrl:B.dataUrl,color:B.color});return}try{let{hash:V}=await Q.generateThumbHash(H);if(!V)return;let{rgba:F,w:_,h:O}=Q.thumbHashToRGBA(V),L={dataUrl:YY(XY(F,_,O)),color:JY(F)};W1.set(U,L),G[U]={mtimeMs:j.mtimeMs,size:j.size,...L},z=!0}catch{}};for(let U=0;U<q.length;U+=K)await Promise.all(q.slice(U,U+K).map(W));if(J&&z)GY(J,G);return u1=!0,W1.size}var zY={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},h5=[320,640,768,1024,1280,1536,1920];function F0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function I0($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}function q9($,Z,J=!1){let X=$.serverDynamic[Z];if(X!==void 0)return X!==!1&&X!=="false";let Y=$.static[Z];if(Y!==void 0)return Y!=="false"&&Y!==!1;return J}function qY($){let Z=(X)=>$.variants.filter((Y)=>Y.format===X).reduce((Y,Q)=>Y+Q.bytes,0),J=Z($.fallback.format);return["avif","webp"].map((X)=>({format:X,srcset:$.sources[X]||"",bytes:Z(X)})).filter((X)=>X.srcset&&X.bytes>0&&X.bytes<J).sort((X,Y)=>X.bytes-Y.bytes).map(({format:X,srcset:Y})=>({format:X,srcset:Y}))}function u5($){if($.includes("(")||$.includes(","))return $;let Z=$.trim().split(/\s+/),J=[];for(let X of Z)if(X.includes(":")){let[Y,Q]=X.split(":"),G=zY[Y];if(G)J.push(`(max-width: ${G}px) ${Q}`);else{let z=Number.parseInt(Y);if(!Number.isNaN(z))J.push(`(max-width: ${z}px) ${Q}`)}}else J.push(X);return J.join(", ")}function d5($,Z,J,X){return Z.map((Y)=>`${F2($,Y,void 0,J,X)} ${Y}w`).join(", ")}function KY($,Z,J,X,Y){return Z.map((Q)=>{let G=J?J*Q:void 0;return`${F2($,G,void 0,X,Y)} ${Q}x`}).join(", ")}function F2($,Z,J,X,Y){if(!X||X==="local"||X==="static")return $;if(X==="cloudinary"){let Q=[];if(Z)Q.push(`w_${Z}`);if(J)Q.push(`h_${J}`);if(Y)Q.push(`f_${Y}`);Q.push("q_auto");let G=Q.join(",");return $.replace("/upload/",`/upload/${G}/`)}if(X==="imgix"){let Q=new URLSearchParams;if(Z)Q.set("w",String(Z));if(J)Q.set("h",String(J));if(Y)Q.set("fm",Y);Q.set("auto","format");let G=$.includes("?")?"&":"?";return`${$}${G}${Q.toString()}`}if(X==="bunny"){let Q=new URLSearchParams;if(Z)Q.set("width",String(Z));if(J)Q.set("height",String(J));if(Y)Q.set("format",Y);let G=$.includes("?")?"&":"?";return`${$}${G}${Q.toString()}`}return $}function WY($,Z,J="#e5e7eb"){let X=`<svg xmlns="http://www.w3.org/2000/svg" width="${$}" height="${Z}"><rect width="100%" height="100%" fill="${J}"/></svg>`;return`data:image/svg+xml;base64,${btoa(X)}`}var m5={name:"StxImage",aliases:["Image","stx-image","stx-img"],render($,Z,J){let X=I0($,"src")||"",Y=e7(X),Q=I0($,"alt")||"",G=I0($,"width")||(Y?String(Y.source.width):void 0),z=I0($,"height")||(Y?String(Y.source.height):void 0),q=I0($,"sizes"),K=I0($,"srcset"),W=I0($,"densities"),U=I0($,"format"),H=I0($,"placeholder")||(Y?"thumbhash":void 0),j=I0($,"placeholderColor")||"#e5e7eb",B=I0($,"provider"),V=I0($,"class")||I0($,"className")||"",F=I0($,"style")||"",_=I0($,"quality"),O=q9($,"lazy",!0),L=q9($,"preload",!1),w=q9($,"priority",!1),R=I0($,"loading"),N=I0($,"decoding")||"async",A=!!Y||q9($,"picture",!1)||!!U,T=G?Number.parseInt(G):void 0,D=z?Number.parseInt(z):void 0,M=K||"",k="";if(Y)M=Y.sources[Y.fallback.format]||"",k=q?u5(q):"100vw";else if(!M&&q&&B&&B!=="local"&&B!=="static")M=d5(X,h5,B,U),k=u5(q);else if(!M&&W){let P=W.split(/\s+/).map((h)=>Number.parseFloat(h.replace("x","")));M=KY(X,P,T,B,U)}else if(q)k=u5(q);let I=[];if(F)I.push(F);if(T&&D)I.push(`aspect-ratio:${T}/${D}`);if(H==="blur"||H==="color"||H==="thumbhash"){let P=Y?.placeholder?{dataUrl:Y.placeholder.dataUrl,color:j}:a7(X);if(P&&H==="color")I.push(`background-color:${P.color}`);else if(P)I.push(`background-color:${P.color}`),I.push(`background-image:url(${P.dataUrl})`),I.push("background-size:cover"),I.push("background-repeat:no-repeat");else{let h=WY(T||16,D||9,j);I.push(`background-image:url(${h})`),I.push("background-size:cover"),I.push("background-repeat:no-repeat")}}else if(H&&H!=="empty"&&H!=="none")I.push(`background-image:url(${F0(H)})`),I.push("background-size:cover"),I.push("background-repeat:no-repeat");let y=Y?.fallback.url||F2(X,T,D,B,U),E=[];if(E.push(`src="${F0(y)}"`),E.push(`alt="${F0(Q)}"`),G)E.push(`width="${F0(G)}"`);if(z)E.push(`height="${F0(z)}"`);let b=R||(w||L?"eager":O?"lazy":"");if(b)E.push(`loading="${F0(b)}"`);if(w)E.push('fetchpriority="high"');if(E.push(`decoding="${F0(N)}"`),V)E.push(`class="${F0(V)}"`);if(I.length>0)E.push(`style="${F0(I.join(";"))}"`);if(M)E.push(`srcset="${F0(M)}"`);if(k)E.push(`sizes="${F0(k)}"`);let C=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","priority","picture","loading","decoding"]);E.push(...g1($,C)),E.push(...h1($,C));let f=`<img ${E.join(" ")} />`,u="";if(L){let h=U==="webp"?"image/webp":U==="avif"?"image/avif":"";u=`<link rel="preload" as="image" href="${F0(y)}"${h?` type="${h}"`:""}${M?` imagesrcset="${F0(M)}"`:""}${k?` imagesizes="${F0(k)}"`:""} />
|
|
3280
|
-
`}if(A){let P=[];if(Y)for(let h of
|
|
3279
|
+
</script>`.trim()}var L2=/<\/?template\b[^>]*>/gi,eX=/(?:^|\s)(?:id\s*=|(?:x-|[@:])(?:for|if|else(?:-if)?)(?=\s|=|$)|#[\w-]+(?:\s*=|\s|$)|v-slot(?::[\w-]+)?(?=\s|=|$)|slot\s*=)/i;function $Y($){let Z=$.replace(/^<template\b/i,"").replace(/>$/,"");return eX.test(Z)}function G9($){L2.lastIndex=0;let Z;while((Z=L2.exec($))!==null){if(Z[0].startsWith("</")||$Y(Z[0]))continue;let J=Z.index,X=L2.lastIndex,Y=1,Q;while((Q=L2.exec($))!==null)if(Q[0].startsWith("</")){if(Y--,Y===0){let G=Q.index;return{start:J,openEnd:X,closeStart:G,end:L2.lastIndex,content:$.slice(X,G)}}}else Y++;return null}return null}import Q0 from"path";import{existsSync as CY}from"fs";import z9 from"fs";import U0 from"path";var p7=new Map;function i7($,Z=!0){let J=p7.get($);if(Z&&J)return J;let X=new Map,Y=[U0.join($,"src"),U0.join($,"dist"),$];function Q(G,z){if(z>6)return;let q;try{q=z9.readdirSync(G,{withFileTypes:!0})}catch{return}for(let K of q){let W=U0.join(G,K.name);if(K.isDirectory()){if(K.name==="node_modules"||K.name.startsWith("."))continue;Q(W,z+1)}else if(K.isFile()&&K.name.endsWith(".stx")){let U=K.name.slice(0,-4);if(!X.has(U))X.set(U,W);let H=U.toLowerCase();if(!X.has(H))X.set(H,W);let j=U.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!X.has(j))X.set(j,W)}}}for(let G of Y)if(Q(G,0),X.size>0)break;if(Z)p7.set($,X);return X}function n7($,Z){if($.startsWith(".")||$.startsWith("/"))return null;let J=Z;while(!0){let X=U0.join(J,"node_modules",$);try{if(z9.statSync(X).isDirectory())return X}catch{}let Y=U0.dirname(J);if(Y===J)return null;J=Y}}function s7($,Z,J={}){return[U0.resolve(U0.dirname(Z),`${$}.stx`),U0.resolve(U0.dirname(Z),$),U0.resolve(J.componentsDir||"components",`${$}.stx`),U0.resolve(J.componentsDir||"components",$),$.endsWith(".stx")?$:`${$}.stx`]}function o7($){let Z=$.endsWith(".stx")?$.slice(0,-4):$,J=Z.split("-").map((Y)=>Y.charAt(0).toUpperCase()+Y.slice(1)).join(""),X=Z.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();return[Z,J,X]}function P5($,Z){let[J,X,Y]=o7($);for(let Q of[J,J.toLowerCase(),X,Y]){let G=Z?.__importedComponents?.get(Q);if(G!==void 0)return G}}function*v5($,Z,J={},X){let Y=o7($);if(Y[0].startsWith("./")||Y[0].startsWith("../")){yield U0.resolve(U0.dirname(Z),`${Y[0]}.stx`);return}let Q=[...new Set(Y.map((q)=>`${q}.stx`))],G=J.projectRoot||process.cwd(),z=[...X?.__originalFilePath?[U0.join(U0.dirname(X.__originalFilePath),"components")]:[],...J.componentsDir?[J.componentsDir]:[],U0.join(U0.dirname(Z),"components"),U0.resolve(G,"src/components"),U0.resolve(G,"components"),...import.meta.dir?[U0.resolve(import.meta.dir,"components")]:[]];for(let q of new Set(z)){for(let K of Q)yield U0.join(q,K);try{for(let K of z9.readdirSync(q,{withFileTypes:!0}))if(K.isDirectory())for(let W of Q)yield U0.join(q,K.name,W)}catch{}}}function UU($,Z,J={},X){let Y=P5($,X);if(Y!==void 0)return Y;for(let Q of v5($,Z,J,X))try{if(z9.statSync(Q,{throwIfNoEntry:!1})?.isFile())return Q}catch{}return null}class r7{builtins=new Map;registerBuiltin($){this.builtins.set($.name.toLowerCase(),$);for(let Z of $.aliases)this.builtins.set(Z.toLowerCase(),$)}isBuiltin($){return this.builtins.has($.toLowerCase())}getBuiltin($){return this.builtins.get($.toLowerCase())??null}async resolveFile($,Z,J,X){let Y=P5($,X);if(Y!==void 0)return Y;for(let Q of v5($,Z,J,X))if(await a(Q))return Q;return null}}var x1=new r7;function D0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}var R1="\x00stx-boolean-attribute";function f5($){return $.indexOf("\x00")===-1?$:$.replace(/\0/g,"")}function g1($,Z){let J=[];for(let[X,Y]of Object.entries($.static)){if(Z.has(X))continue;let Q=$.staticNames?.[X]??X;if(typeof Y==="boolean"){if(Y)J.push(D0(Q));continue}if(Y===R1){J.push(D0(Q));continue}J.push(`${D0(Q)}="${D0(f5(String(Y)))}"`)}return J}function h1($,Z){let J=[];for(let[X,Y]of Object.entries($.serverDynamic??{})){if(Z.has(X))continue;if(Y===null||Y===void 0||Y===!1)continue;let Q=$.serverDynamicNames?.[X]??X;if(Y===!0){J.push(D0(Q));continue}if(typeof Y==="object")continue;J.push(`${D0(Q)}="${D0(f5(String(Y)))}"`)}return J}function O2($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function ZY($){if($.clientReactive.to)return{value:$.clientReactive.to,reactive:!0};if($.serverDynamic.to!==void 0)return{value:String($.serverDynamic.to),reactive:!1};if(typeof $.static.to==="string")return{value:$.static.to,reactive:!1};return{value:"#",reactive:!1}}var x5={name:"StxLink",aliases:["stx-link"],render($,Z,J){let X=ZY($),Y=(typeof $.static.class==="string"?$.static.class:"")||(typeof $.static.className==="string"?$.static.className:""),Q=typeof $.static.activeClass==="string"?$.static.activeClass:"active",G=typeof $.static.exactActiveClass==="string"?$.static.exactActiveClass:"exact-active",z=$.static.prefetch===!0||$.static.prefetch==="true"||$.serverDynamic.prefetch===!0,q=[];if(X.reactive)q.push(`:href="${O2(X.value)}"`);else q.push(`href="${O2(X.value)}"`);if(Y)q.push(`class="${O2(Y)}"`);if(q.push("data-stx-link"),q.push(`data-stx-active-class="${O2(Q)}"`),q.push(`data-stx-exact-active-class="${O2(G)}"`),z)q.push("data-stx-prefetch");let K=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);return q.push(...g1($,K)),q.push(...h1($,K)),`<a ${q.join(" ")}>${Z}</a>`}};import d1 from"fs";import g5 from"path";var JY=new Set([".jpg",".jpeg",".png",".webp",".avif"]),W1=new Map,u1=!1;function a7($){if(!$)return;let Z=$.split("?")[0].split("#")[0];return W1.get(Z)}function MU(){return u1}function IU(){W1.clear(),u1=!1}function TU($,Z){W1.set($,Z),u1=!0}function XY($){let Z=0,J=0,X=0,Y=0;for(let G=0;G<$.length;G+=4)Z+=$[G],J+=$[G+1],X+=$[G+2],Y++;if(Y===0)return"#e5e7eb";let Q=(G)=>Math.round(G/Y).toString(16).padStart(2,"0");return`#${Q(Z)}${Q(J)}${Q(X)}`}function YY($,Z,J,X=4,Y=3){let Q=[];for(let G=0;G<Y;G++)for(let z=0;z<X;z++){let q=Math.floor(z*Z/X),K=Math.max(q+1,Math.floor((z+1)*Z/X)),W=Math.floor(G*J/Y),U=Math.max(W+1,Math.floor((G+1)*J/Y)),H=0,j=0,B=0,V=0;for(let _=W;_<U;_++)for(let O=q;O<K;O++){let L=(_*Z+O)*4;H+=$[L],j+=$[L+1],B+=$[L+2],V++}let F=(_)=>Math.round(_/V).toString(16).padStart(2,"0");Q.push(`<rect x="${z}" y="${G}" width="1" height="1" fill="#${F(H)}${F(j)}${F(B)}"/>`)}return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${X} ${Y}" preserveAspectRatio="none"><filter id="b"><feGaussianBlur stdDeviation=".6"/></filter><g filter="url(#b)">${Q.join("")}</g></svg>`}function QY($){return`data:image/svg+xml;base64,${Buffer.from($,"utf8").toString("base64")}`}function GY($){try{return JSON.parse(d1.readFileSync($,"utf8"))}catch{return{}}}function zY($,Z){try{d1.mkdirSync(g5.dirname($),{recursive:!0}),d1.writeFileSync($,JSON.stringify(Z))}catch{}}function t7($,Z,J=[]){let X;try{X=d1.readdirSync($,{withFileTypes:!0})}catch{return J}for(let Y of X){let Q=g5.join($,Y.name);if(Y.isDirectory()){t7(Q,`${Z}/${Y.name}`,J);continue}if(!JY.has(g5.extname(Y.name).toLowerCase()))continue;J.push([`${Z}/${Y.name}`,Q])}return J}async function kU($,Z={}){let{cachePath:J,maxBytes:X=33554432,limit:Y=2000}=Z;if(!$||!d1.existsSync($))return u1=!0,W1.size;let Q;try{Q=await import("ts-images")}catch{return u1=!0,W1.size}let G=J?GY(J):{},z=!1,q=t7($,"").slice(0,Y),K=8,W=async([U,H])=>{let j;try{j=d1.statSync(H)}catch{return}if(j.size>X)return;let B=G[U];if(B&&B.mtimeMs===j.mtimeMs&&B.size===j.size){W1.set(U,{dataUrl:B.dataUrl,color:B.color});return}try{let{hash:V}=await Q.generateThumbHash(H);if(!V)return;let{rgba:F,w:_,h:O}=Q.thumbHashToRGBA(V),L={dataUrl:QY(YY(F,_,O)),color:XY(F)};W1.set(U,L),G[U]={mtimeMs:j.mtimeMs,size:j.size,...L},z=!0}catch{}};for(let U=0;U<q.length;U+=K)await Promise.all(q.slice(U,U+K).map(W));if(J&&z)zY(J,G);return u1=!0,W1.size}var qY={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},h5=[320,640,768,1024,1280,1536,1920];function F0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function I0($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}function q9($,Z,J=!1){let X=$.serverDynamic[Z];if(X!==void 0)return X!==!1&&X!=="false";let Y=$.static[Z];if(Y!==void 0)return Y!=="false"&&Y!==!1;return J}function KY($){let Z=(X)=>$.variants.filter((Y)=>Y.format===X).reduce((Y,Q)=>Y+Q.bytes,0),J=Z($.fallback.format);return["avif","webp"].map((X)=>({format:X,srcset:$.sources[X]||"",bytes:Z(X)})).filter((X)=>X.srcset&&X.bytes>0&&X.bytes<J).sort((X,Y)=>X.bytes-Y.bytes).map(({format:X,srcset:Y})=>({format:X,srcset:Y}))}function u5($){if($.includes("(")||$.includes(","))return $;let Z=$.trim().split(/\s+/),J=[];for(let X of Z)if(X.includes(":")){let[Y,Q]=X.split(":"),G=qY[Y];if(G)J.push(`(max-width: ${G}px) ${Q}`);else{let z=Number.parseInt(Y);if(!Number.isNaN(z))J.push(`(max-width: ${z}px) ${Q}`)}}else J.push(X);return J.join(", ")}function d5($,Z,J,X){return Z.map((Y)=>`${F2($,Y,void 0,J,X)} ${Y}w`).join(", ")}function WY($,Z,J,X,Y){return Z.map((Q)=>{let G=J?J*Q:void 0;return`${F2($,G,void 0,X,Y)} ${Q}x`}).join(", ")}function F2($,Z,J,X,Y){if(!X||X==="local"||X==="static")return $;if(X==="cloudinary"){let Q=[];if(Z)Q.push(`w_${Z}`);if(J)Q.push(`h_${J}`);if(Y)Q.push(`f_${Y}`);Q.push("q_auto");let G=Q.join(",");return $.replace("/upload/",`/upload/${G}/`)}if(X==="imgix"){let Q=new URLSearchParams;if(Z)Q.set("w",String(Z));if(J)Q.set("h",String(J));if(Y)Q.set("fm",Y);Q.set("auto","format");let G=$.includes("?")?"&":"?";return`${$}${G}${Q.toString()}`}if(X==="bunny"){let Q=new URLSearchParams;if(Z)Q.set("width",String(Z));if(J)Q.set("height",String(J));if(Y)Q.set("format",Y);let G=$.includes("?")?"&":"?";return`${$}${G}${Q.toString()}`}return $}function UY($,Z,J="#e5e7eb"){let X=`<svg xmlns="http://www.w3.org/2000/svg" width="${$}" height="${Z}"><rect width="100%" height="100%" fill="${J}"/></svg>`;return`data:image/svg+xml;base64,${btoa(X)}`}var m5={name:"StxImage",aliases:["Image","stx-image","stx-img"],render($,Z,J){let X=I0($,"src")||"",Y=e7(X),Q=I0($,"alt")||"",G=I0($,"width")||(Y?String(Y.source.width):void 0),z=I0($,"height")||(Y?String(Y.source.height):void 0),q=I0($,"sizes"),K=I0($,"srcset"),W=I0($,"densities"),U=I0($,"format"),H=I0($,"placeholder")||(Y?"thumbhash":void 0),j=I0($,"placeholderColor")||"#e5e7eb",B=I0($,"provider"),V=I0($,"class")||I0($,"className")||"",F=I0($,"style")||"",_=I0($,"quality"),O=q9($,"lazy",!0),L=q9($,"preload",!1),w=q9($,"priority",!1),R=I0($,"loading"),N=I0($,"decoding")||"async",A=!!Y||q9($,"picture",!1)||!!U,T=G?Number.parseInt(G):void 0,D=z?Number.parseInt(z):void 0,M=K||"",k="";if(Y)M=Y.sources[Y.fallback.format]||"",k=q?u5(q):"100vw";else if(!M&&q&&B&&B!=="local"&&B!=="static")M=d5(X,h5,B,U),k=u5(q);else if(!M&&W){let P=W.split(/\s+/).map((h)=>Number.parseFloat(h.replace("x","")));M=WY(X,P,T,B,U)}else if(q)k=u5(q);let I=[];if(F)I.push(F);if(T&&D)I.push(`aspect-ratio:${T}/${D}`);if(H==="blur"||H==="color"||H==="thumbhash"){let P=Y?.placeholder?{dataUrl:Y.placeholder.dataUrl,color:j}:a7(X);if(P&&H==="color")I.push(`background-color:${P.color}`);else if(P)I.push(`background-color:${P.color}`),I.push(`background-image:url(${P.dataUrl})`),I.push("background-size:cover"),I.push("background-repeat:no-repeat");else{let h=UY(T||16,D||9,j);I.push(`background-image:url(${h})`),I.push("background-size:cover"),I.push("background-repeat:no-repeat")}}else if(H&&H!=="empty"&&H!=="none")I.push(`background-image:url(${F0(H)})`),I.push("background-size:cover"),I.push("background-repeat:no-repeat");let y=Y?.fallback.url||F2(X,T,D,B,U),E=[];if(E.push(`src="${F0(y)}"`),E.push(`alt="${F0(Q)}"`),G)E.push(`width="${F0(G)}"`);if(z)E.push(`height="${F0(z)}"`);let b=R||(w||L?"eager":O?"lazy":"");if(b)E.push(`loading="${F0(b)}"`);if(w)E.push('fetchpriority="high"');if(E.push(`decoding="${F0(N)}"`),V)E.push(`class="${F0(V)}"`);if(I.length>0)E.push(`style="${F0(I.join(";"))}"`);if(M)E.push(`srcset="${F0(M)}"`);if(k)E.push(`sizes="${F0(k)}"`);let C=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","priority","picture","loading","decoding"]);E.push(...g1($,C)),E.push(...h1($,C));let f=`<img ${E.join(" ")} />`,u="";if(L){let h=U==="webp"?"image/webp":U==="avif"?"image/avif":"";u=`<link rel="preload" as="image" href="${F0(y)}"${h?` type="${h}"`:""}${M?` imagesrcset="${F0(M)}"`:""}${k?` imagesizes="${F0(k)}"`:""} />
|
|
3280
|
+
`}if(A){let P=[];if(Y)for(let h of KY(Y))P.push(`<source type="image/${h.format}" srcset="${F0(h.srcset)}"${k?` sizes="${F0(k)}"`:""} />`);if(!Y&&(U==="avif"||U==="auto")){let h=F2(X,T,D,B,"avif"),m=M?d5(X,h5,B,"avif"):`${h}`;P.push(`<source type="image/avif" srcset="${F0(m)}"${k?` sizes="${F0(k)}"`:""} />`)}if(!Y&&(U==="webp"||U==="auto")){let h=F2(X,T,D,B,"webp"),m=M?d5(X,h5,B,"webp"):`${h}`;P.push(`<source type="image/webp" srcset="${F0(m)}"${k?` sizes="${F0(k)}"`:""} />`)}return`${u}<picture>
|
|
3281
3281
|
${P.join(`
|
|
3282
3282
|
`)}
|
|
3283
3283
|
${f}
|
|
3284
|
-
</picture>`}return`${u}${f}`}};var $4="/images/safe-image-default.svg";function w2($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function m1($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}var
|
|
3284
|
+
</picture>`}return`${u}${f}`}};var $4="/images/safe-image-default.svg";function w2($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function m1($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}var HY=`<script>window.__stxSafeImageHandler||(window.__stxSafeImageHandler=function(i){if(i.__stx_fb)return;i.__stx_fb=1;var f=i.getAttribute('data-fallback')||'${$4}';var c=i.getAttribute('data-fallback-class');i.src=f;if(c)i.className=c;});</script>`,l5={name:"SafeImage",aliases:["safe-image","safe-img"],render($,Z,J){let X=m1($,"src")||"",Y=m1($,"alt")||"",Q=m1($,"fallback")||$4,G=m1($,"class")||m1($,"className")||"",z=m1($,"fallbackClassName")||"",q=[];if(q.push(`src="${w2(X)}"`),q.push(`alt="${w2(Y)}"`),G)q.push(`class="${w2(G)}"`);if(q.push(`data-fallback="${w2(Q)}"`),z)q.push(`data-fallback-class="${w2(z)}"`);q.push('onerror="window.__stxSafeImageHandler(this)"');let K=new Set(["src","alt","fallback","class","className","fallbackClassName"]);q.push(...g1($,K)),q.push(...h1($,K));let W=`<img ${q.join(" ")} />`,U=J.context;if(!U.__safeImageHandlerEmitted)return U.__safeImageHandlerEmitted=!0,`${HY}${W}`;return W}};function c5($){return $.replace(/[;{}()]/g,"").replace(/url/gi,"")}function R2($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}function K9($,Z,J){let X=R2($,Z);if(X!==void 0){let Y=Number.parseInt(X,10);if(!Number.isNaN(Y))return Y}return J}var p5={name:"StxLoadingIndicator",aliases:["stx-loading-indicator"],render($,Z,J){let X=c5(R2($,"color")||"#6366f1"),Y=c5(R2($,"initialColor")||R2($,"initial-color")||""),Q=c5(R2($,"height")||"3px"),G=K9($,"duration",2000),z=K9($,"throttle",200),q=K9($,"zIndex",999999)||K9($,"z-index",999999),K=Y?`linear-gradient(to right, ${Y}, ${X})`:X;return`
|
|
3285
3285
|
<div id="stx-loading-indicator" style="position:fixed;top:0;left:0;right:0;height:${Q};background:${K};z-index:${q};transform:scaleX(0);transform-origin:left;transition:transform 0.1s ease-out,opacity 0.3s ease;opacity:0;pointer-events:none">
|
|
3286
3286
|
<div style="position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0.4) 50%,transparent 100%);animation:stx-shimmer 1.5s infinite"></div>
|
|
3287
3287
|
</div>
|
|
3288
3288
|
<style>@keyframes stx-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}</style>
|
|
3289
3289
|
<script>
|
|
3290
3290
|
(function(){var el=document.getElementById('stx-loading-indicator'),p=0,l=!1,i=null;function u(v){p=Math.min(Math.max(v,0),100);if(el){el.style.opacity=p>0?'1':'0';el.style.transform='scaleX('+(p/100)+')'}}window.stxLoading={start:function(){l=!0;p=0;u(10);if(i)clearInterval(i);i=setInterval(function(){if(!l)return;var r=90-p,inc=Math.max(0.5,r*0.1);if(p<90)u(p+inc)},${z})},finish:function(){l=!1;if(i){clearInterval(i);i=null}u(100);setTimeout(function(){if(el)el.style.opacity='0';setTimeout(function(){p=0;if(el)el.style.transform='scaleX(0)'},300)},200)},set:function(v){u(v)},clear:function(){l=!1;p=0;if(i){clearInterval(i);i=null}if(el){el.style.opacity='0';el.style.transform='scaleX(0)'}}};document.addEventListener('click',function(e){var a=e.target.closest&&e.target.closest('a');if(!a)return;var h=a.getAttribute('href');if(!h||h.startsWith('http')||h.startsWith('#')||h.startsWith('mailto:')||h.startsWith('tel:')||a.target==='_blank')return;window.stxLoading.start()});window.addEventListener('popstate',function(){window.stxLoading.start()});window.addEventListener('load',function(){window.stxLoading.finish()})})();
|
|
3291
|
-
</script>`}};function J4($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}function
|
|
3291
|
+
</script>`}};function J4($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}function jY($,Z,J){let X=J4($,Z);if(X!==void 0){let Y=Number.parseInt(X,10);if(!Number.isNaN(Y))return Y}return J}var Z4={"top-right":"top:1rem;right:1rem","top-left":"top:1rem;left:1rem","top-center":"top:1rem;left:50%;transform:translateX(-50%)","bottom-right":"bottom:1rem;right:1rem","bottom-left":"bottom:1rem;left:1rem","bottom-center":"bottom:1rem;left:50%;transform:translateX(-50%)"},i5={name:"StxToast",aliases:["stx-toast"],render($,Z,J){let X=D0(J4($,"position")||"top-right"),Y=jY($,"max",5),Q=Z4[X]||Z4["top-right"];return`<div id="stx-toast-container" data-stx-toast-position="${X}" data-stx-toast-max="${Y}" style="position:fixed;${Q};z-index:999999;display:flex;flex-direction:column;gap:0.5rem;pointer-events:none;max-width:24rem;width:100%"></div>
|
|
3292
3292
|
<style>
|
|
3293
3293
|
@keyframes stx-toast-in{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
|
|
3294
3294
|
@keyframes stx-toast-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}
|
|
@@ -3314,7 +3314,7 @@ ${f}
|
|
|
3314
3314
|
@media(prefers-color-scheme:dark){[data-stx-drawer]{--stx-drawer-bg:#1f2937;--stx-drawer-text:#f3f4f6}}
|
|
3315
3315
|
.stx-drawer-backdrop[data-stx-drawer-open]{display:block!important;opacity:1}
|
|
3316
3316
|
.stx-drawer-backdrop[data-stx-drawer-open] .stx-drawer-panel{transform:translateX(0)}
|
|
3317
|
-
</style>`}};import{existsSync as
|
|
3317
|
+
</style>`}};import{existsSync as BY,readFileSync as VY}from"fs";var N1=new Map,Q4=new Set;function G4($){if(Q4.has($))return;Q4.add($),console.warn(`[stx] icon collection "${$}" is not installed, so its icons render as nothing. Install it with \`bun add -d @iconify-json/${$}\`.`)}function z4($){let Z=process.cwd();for(let J of[`${Z}/node_modules/@iconify-json/${$}/icons.json`,`${Z}/pantry/@iconify-json/${$}/icons.json`,`${Z}/node_modules/@iconify/json/json/${$}.json`,`${Z}/pantry/@iconify/json/json/${$}.json`])if(BY(J))return J;for(let J of[`@iconify-json/${$}/icons.json`,`@iconify/json/json/${$}.json`])try{return x.resolve(J)}catch{}return null}function _Y($){if(N1.has($))return N1.get($);let Z=z4($);if(!Z)return G4($),null;try{let J=JSON.parse(VY(Z,"utf8"));return N1.set($,J.icons),J.icons}catch{return null}}async function LY($,Z=!1){if(N1.has($))return N1.get($);let J=z4($);if(!J){if(!Z)G4($);return null}try{let X=await Bun.file(J).json();return N1.set($,X.icons),X.icons}catch{return null}}function c1($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);if($.static[Z]!==void 0)return String($.static[Z]);if($.clientReactive[Z]!==void 0)return $.clientReactive[Z];return}var o5={name:"Icon",aliases:["icon","stx-icon"],render($,Z,J){let X=c1($,"name")??c1($,"icon");if(!X)return"<!-- Icon: missing name/icon prop -->";let Y="lucide",Q=X;if(X.includes(":")){let O=X.split(":");Y=O[0],Q=O[1]}let G=D0(c1($,"size")||"24"),z=D0(c1($,"color")||"currentColor"),q=D0(c1($,"class")||""),K=D0(c1($,"style")||""),W=N1.get(Y)??_Y(Y);if(!W)return`<!-- Icon: collection "${Y}" not loaded -->`;let U=W[Q];if(!U)return`<!-- Icon: "${Q}" not found in ${Y} -->`;let H=U.width||24,j=U.height||24,B=`0 0 ${H} ${j}`,V=U.body;if(z!=="currentColor")V=V.replace(/currentColor/g,z);let F=q?` class="${q}"`:"",_=K?` style="${K}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${G}" height="${G}" viewBox="${B}" fill="none"${F}${_}>${V}</svg>`}};async function OY($="lucide",Z={}){await LY($,Z.speculative??!0)}function r5(){return`
|
|
3318
3318
|
(function(){
|
|
3319
3319
|
var tip=null,hideTimer=null,currentEl=null;
|
|
3320
3320
|
|
|
@@ -3417,9 +3417,9 @@ document.addEventListener("focusout",function(e){
|
|
|
3417
3417
|
if(el) hideTip();
|
|
3418
3418
|
});
|
|
3419
3419
|
})();
|
|
3420
|
-
`}function q4($,...Z){for(let J of Z){if($.serverDynamic[J]!==void 0)return String($.serverDynamic[J]);let X=$.static[J];if(typeof X==="string")return X}return}function K4($,Z){let J=new RegExp(`<(template|div|span)[^>]*\\bslot=["']${Z}["'][^>]*>([\\s\\S]*?)<\\/\\1>`,"i"),X=$.match(J);if(!X)return{region:null,rest:$};return{region:X[2],rest:$.replace(X[0],"")}}var a5={name:"Suspense",aliases:["suspense"],render($,Z,J){let X=K4(Z,"fallback"),Y=X.rest,Q=K4(Y,"error"),G=Q.rest,z=X.region??q4($,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',q=Q.region??q4($,"errorFallback","error-fallback")??'<div class="stx-suspense-error">Something went wrong.</div>';return`<div data-stx-suspense><div data-stx-suspense-fallback>${z}</div><div data-stx-suspense-error hidden>${q}</div><div data-stx-suspense-content hidden>${G}</div></div>`}};function U9($,...Z){for(let J of Z){if($.serverDynamic[J]!==void 0)return String($.serverDynamic[J]);let X=$.static[J];if(typeof X==="string")return X}return}var t5={name:"TransitionGroup",aliases:["transition-group"],render($,Z,J){let X=(U9($,"name")||"v").replace(/["'<>]/g,""),Y=(U9($,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",Q=U9($,"class"),G=U9($,"id"),z=[`data-stx-transition-group="${X}"`,Q?`class="${Q}"`:"",G?`id="${G}"`:""].filter(Boolean).join(" ");return`<${Y} ${z}>${Z}</${Y}>`}};function W4($=x1){$.registerBuiltin(x5),$.registerBuiltin(m5),$.registerBuiltin(l5),$.registerBuiltin(p5),$.registerBuiltin(i5),$.registerBuiltin(n5),$.registerBuiltin(s5),$.registerBuiltin(o5),$.registerBuiltin(a5),$.registerBuiltin(t5)}function H9($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}var U4=new Map;function
|
|
3421
|
-
`||D==="\t")O++;L=A+F.length}else{if(O--,O===0){w=T;break}L=T+_.length}}if(w===-1){Y=j;continue}let R=$.slice(j,w),N=w+_.length;X.push({fullMatch:$.slice(G,N),tagName:K,attributes:V,content:R,startIndex:G,endIndex:N,isSelfClosing:!1}),Y=N}}return X}function V4($){return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/�?39;/g,"'").replace(/'/gi,"'").replace(/&/g,"&")}function _4($,Z){try{let J=Buffer.from($,"base64").toString("utf8");return JSON.parse(J)}catch{}try{let J=$.replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&");return JSON.parse(J)}catch(J){if(Z?.debug)console.error("Error decoding __stx_ prop:",J);return $}}function e5($,Z){let J=0,X="",Y=Z;while(Y<$.length){let Q=$[Y];if(X){if(Q==="\\")Y++;else if(Q===X)X=""}else if(Q==='"'||Q==="'"||Q==="`")X=Q;else if(Q==="{")J++;else if(Q==="}"){if(J--,J===0)return $.slice(Z,Y+1)}Y++}return $.slice(Z)}function L4($){let Z=$.trim();if(!Z.startsWith("{")||!Z.endsWith("}"))return null;if(e5(Z,0).length!==Z.length)return null;return Z.slice(1,-1).trim()}var FY=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"]),wY=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);function $$($){let Z=[],J=/<([a-zA-Z][a-zA-Z0-9-]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)\s*\/?>/g,X;while((X=J.exec($))!==null){let Y=X[2]||"";if(!/(?:^|\s)(?::for|x-for|v-for|@for)\s*=/.test(Y))continue;let Q=X.index,G=Q+X[0].length,z=X[1].toLowerCase();if(X[0].endsWith("/>")||wY.has(z)){Z.push([Q,G]);continue}let q=z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),K=new RegExp(`<\\/?${q}\\b(?:[^>"']|"[^"]*"|'[^']*')*>`,"gi");K.lastIndex=G;let W=1,U=G,H;while((H=K.exec($))!==null)if(H[0].startsWith("</")){if(W--,W===0){U=H.index+H[0].length;break}}else if(!H[0].endsWith("/>"))W++;Z.push([Q,U])}return Z}function F4($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter(Boolean).map((Z)=>F4(Z)).join(" ");if($&&typeof $==="object")return Object.entries($).filter(([,Z])=>Z).map(([Z])=>Z).join(" ");return $?String($):""}function w4($,Z){if(!/:[\w-]+=/.test($))return $;let J=$,X=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,Y=[],Q;while((Q=X.exec($))!==null)Y.push([Q.index,Q.index+Q[0].length]);Y.push(...$$($));function G(U){return Y.some(([H,j])=>U>=H&&U<j)}let z=/<([a-zA-Z][a-zA-Z0-9-]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)\s*\/?>/g,q=[],K=new Map,W=256;while((Q=z.exec(J))!==null){if(G(Q.index))continue;let U=Q[0],H=Q[2];if(!H||!H.includes(":"))continue;let j=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,B,V=H,F=!1;while((B=j.exec(H))!==null){let _=B[1],O=B[2];if(O4(_))continue;if(O.includes("()")&&!O.includes(".get(")||O.includes("$store")||O.includes("$ref"))continue;try{let L=Object.keys(Z),w=Object.values(Z),R=O.match(/^([a-zA-Z_$][\w$]*)/);if(R&&!L.includes(R[1])&&!["true","false","null","undefined","Math","JSON","String","Number","Array","Object","Date","parseInt","parseFloat"].includes(R[1]))continue;let N=JSON.stringify([L,O]),A=K.get(N);if(!A){if(A=Function(...L,`return (${O})`),K.size>=W)K.clear();K.set(N,A)}let T=A(...w);if(_==="class"){let D=F4(T);if(D){let M=V.match(/\sclass="([^"]*)"/);if(M)V=V.replace(M[0],` class="${M[1]} ${D}"`);else V=V.replace(B[0],` class="${D}"`)}else V=V.replace(B[0],"");F=!0;continue}if(FY.has(_)){if(T)V=V.replace(B[0],` ${_}`);else V=V.replace(B[0],"");F=!0;continue}if(T===null||T===void 0||T===!1)V=V.replace(B[0],"");else{let D=String(T).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">");V=V.replace(B[0],` ${_}="${D}"`)}F=!0}catch{continue}}if(F){let _=U.endsWith("/>")?" /":"",L=`<${Q[1]}${V}${_}>`;q.push({start:Q.index,end:Q.index+U.length,replacement:L})}}if(q.length>0){let U=Array(q.length*2+1),H=0;for(let j=0;j<q.length;j++){let{start:B,end:V,replacement:F}=q[j];U[j*2]=J.slice(H,B),U[j*2+1]=F,H=V}U[q.length*2]=J.slice(H),J=U.join("")}return J}import R4 from"fs";import N4 from"path";var N2=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","component","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","path","circle","rect","line","polygon","polyline","ellipse","text","tspan","textPath","g","defs","use","symbol","image","clipPath","mask","pattern","marker","linearGradient","radialGradient","stop","filter","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDropShadow","feFlood","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","foreignObject","animate","animateMotion","animateTransform","set","mpath","desc","metadata","switch","view"]);function Z$($){if($.includes("-")||$==="component")return!1;if(/^[A-Z]/.test($))return!/[a-z]/.test($)&&[...N2].some((Z)=>Z.toLowerCase()===$.toLowerCase());return N2.has($)||/[A-Z]/.test($)}var D4=!1;function RY($,Z,J,X=!1){let Y={static:{},staticNames:{},serverDynamic:{},serverDynamicNames:{},clientReactive:{},events:{}},Q=new Set(Array.isArray(Z.__stx_client_signal_names)?Z.__stx_client_signal_names:[]),G=(W)=>{if(Q.size===0)return!1;let U=u0(W),H=U.match(/^\s*[!+~(-]*\s*([a-zA-Z_$][\w$]*)/)?.[1];if(H&&Q.has(H))return!0;for(let j of Q){let B=j.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`(?:^|[^\\w$.])${B}\\s*\\(`).test(U))return!0}return!1},z=new Set(I4),q=(W)=>{if(!W.includes("-")||W.startsWith("@")||W.startsWith(":")||W.startsWith("x-")||W.startsWith("__"))return W;if(W.startsWith("aria-")||W.startsWith("data-"))return W;return W.replace(/-([a-z0-9])/g,(U,H)=>H.toUpperCase())},K=(W,U)=>{let H=q(W);if(Y.static[H]=U,H!==W)Y.staticNames[H]=W};for(let[W,U]of Object.entries($)){let H=W.startsWith("x-")&&!z.has(W)&&!W.startsWith("x-bind:")&&!W.startsWith("x-on:")?`:${W.slice(2)}`:W;if(H.startsWith("@")){Y.events[H]=U;continue}if(H.startsWith("__stx_")){let j=q(H.slice(6));Y.serverDynamic[j]=_4(U,J);continue}if(H.startsWith(":")){let j=q(H.slice(1)),B=U===R1?j:U;if(j==="if"||j==="for"||j==="show"){Y.clientReactive[j]=B;continue}if(X){Y.clientReactive[j]=B;continue}if(G(B)){Y.clientReactive[j]=B;continue}try{if(!W0(B)){if(J.debug)console.error(`Unsafe expression in :${j} binding: ${B}`);Y.clientReactive[j]=B;continue}let V=Object.keys(Z),_=K0(B,V)(...Object.values(Z));if(_===void 0){let O=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(B9(B).some((w)=>!O.has(w)&&!V.includes(w))){Y.clientReactive[j]=B;continue}}if(Y.serverDynamic[j]=_,j!==H.slice(1)&&Y.serverDynamicNames)Y.serverDynamicNames[j]=H.slice(1)}catch{Y.clientReactive[j]=B}continue}if(typeof U==="string"&&U.includes("{{")&&U.includes("}}")){let j=U.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(j)try{let B=j[1];if(W0(B)){let F=K0(B,Object.keys(Z))(...Object.values(Z));K(H,F!=null?String(F):"")}else{if(J.debug)console.error(`Unsafe expression in ${H}: ${B}`);K(H,U)}}catch(B){if(J.debug)console.error(`Error evaluating expression for ${H}:`,B);K(H,U)}else{let B=U,V=/\{\{\s*([\s\S]+?)\s*\}\}/g,F;while((F=V.exec(U))!==null)try{let _=F[1];if(!W0(_)){if(J.debug)console.error(`Unsafe expression in ${H}: ${_}`);continue}let L=K0(_,Object.keys(Z))(...Object.values(Z));B=B.replace(F[0],String(L??""))}catch(_){if(J.debug)console.error(`Error evaluating expression in ${H}:`,_)}K(H,B)}continue}K(H,U===R1?"true":V4(U))}return Y}var NY=[[/@if\s*\(/,"@endif"],[/@unless\s*\(/,"@endunless"]];function DY($,Z,J){if(!$.includes("@"))return $;if(!NY.some(([Y,Q])=>Y.test($)&&$.includes(Q)))return $;try{return e0($,Z,J)}catch{return $}}function AY($){let Z={},J=0,X=$.length;while(J<X){while(J<X&&/\s/.test($[J]))J++;if(J>=X)break;let Y="";while(J<X&&!/[\s=]/.test($[J]))Y+=$[J],J++;if(!Y)break;while(J<X&&/\s/.test($[J]))J++;if(J<X&&$[J]==="="){J++;while(J<X&&/\s/.test($[J]))J++;let Q="";if(J<X&&($[J]==='"'||$[J]==="'")){let G=$[J];J++;while(J<X){let z=$[J];if(z==="\\"&&J+1<X){J++,Q+=$[J],J++;continue}if(z===G){J++;break}Q+=z,J++}}else if($[J]==="{"){Q=e5($,J),J+=Q.length;let G=L4(Q);if(G!==null){Z[`:${Y}`]=G;continue}}else while(J<X&&!/\s/.test($[J]))Q+=$[J],J++;Z[Y]=Q}else Z[Y]=R1}return Z}function A4($){return Object.entries($).map(([Z,J])=>J===R1?Z:`${Z}="${MY(J)}"`).join(" ")}function MY($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function IY($){let Z=new Set,J=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,X;while((X=J.exec($))!==null){let Y=X[1];if(x1.isBuiltin(Y))Z.add(Y)}return[...Z].sort()}async function TY($,Z,J,X,Y){if(!/import\s/.test($))return $;if(!Z.__importedComponents)Z.__importedComponents=new Map;let Q=Z.__importedComponents,G=N4.dirname(J),z=[],q=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;for(let U of $.matchAll(q)){let[H,j,B]=U,V=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,F=B,_,O=[];while((_=V.exec(B))!==null){let[L,w,R,N]=_,A=null,T=null;if(N.startsWith(".")||N.startsWith("/")){let k=N4.resolve(G,N);if(k.endsWith(".stx"))T=k;else{let I=`${k}.stx`;try{if(R4.statSync(I).isFile())T=I}catch{try{if(R4.statSync(k).isDirectory())A=k}catch{}}}}else A=n7(N,G);if(!A&&!T)continue;let D=!1,M=(k,I)=>{Q.set(k,I),Q.set(k.toLowerCase(),I);let y=k.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();Q.set(y,I),Y.add(I)};if(R&&T)M(R,T),D=!0;else if(w){let k=w.slice(1,-1).split(",").map((y)=>y.trim()).filter(Boolean).map((y)=>{let E=y.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(E)return{source:E[1],local:E[2]};return{source:y,local:y}}),I=A?i7(A):null;for(let{source:y,local:E}of k){let b=null;if(T)b=T;else if(I)b=I.get(y)??I.get(y.toLowerCase())??I.get(y.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(b)M(E,b),D=!0}}if(D)O.push({start:_.index,end:_.index+L.length})}if(O.length===0)continue;for(let L=O.length-1;L>=0;L--)F=F.slice(0,O[L].start)+F.slice(O[L].end);z.push({start:U.index,end:U.index+H.length,value:`<script${j}>${F}</script>`})}if(z.length===0)return $;let K=[],W=0;for(let U of z)K.push($.slice(W,U.start),U.value),W=U.end;return K.push($.slice(W)),K.join("")}async function kY($,Z,J,X,Y){let Q=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,z=/@import\s*\(\s*([^)]+)\s*\)/g,q;while((q=z.exec(Q))!==null){let[K,W]=q,U=W.split(",").map((H)=>H.trim().replace(/^['"]|['"]$/g,"")).filter((H)=>H.length>0);for(let H of U){let j=H.split("/"),V=j[j.length-1].replace(/\.stx$/,""),F=V.includes("-")?V.split("-").map((L)=>L.charAt(0).toUpperCase()+L.slice(1)).join(""):V.charAt(0).toUpperCase()+V.slice(1),_=null,O=s7(H,J,X);for(let L of O)try{if(await Bun.file(L).exists()){_=L;break}}catch{}if(_){G.set(F,_),G.set(V,_),G.set(V.toLowerCase(),_);let L=F.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(G.set(L,_),Y.add(_),X.debug)console.log(`Imported component: ${F} -> ${_}`)}else if(X.debug)console.warn(`Could not resolve imported component: ${H}`)}Q=Q.replace(K,""),z.lastIndex=0}return Q}async function EY($,Z,J,X,Y){let Q=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let z=Z.__processedComponents,q=/@component\s*\(/g,K;while((K=q.exec(Q))!==null){let W=K.index,U=W+K[0].length-1,H=1,j=U+1;while(j<Q.length&&H>0){if(Q[j]==="(")H++;else if(Q[j]===")"){if(H--,H===0)break}j++}if(H!==0)break;let B=Q.substring(U+1,j),V=j+1,F=B.match(/^\s*['"]([^'"]+)['"]/);if(!F){q.lastIndex=0;continue}let _=F[1],O,L=B.slice(F[0].length),w=L.match(/^\s*,\s*/);if(w)O=L.slice(w[0].length).trim();let R={};if(O)try{R=E0(O,Z)}catch(k){let I=k instanceof Error?k.message:String(k);Q=Q.replace(Q.substring(W,V),`[Error parsing component props: ${I}]`);continue}let N="",A=V,D=Q.substring(V).match(/^([\s\S]*?)@endcomponent/);if(D)N=D[1].trim(),A=V+D[0].length;let M=await D1(_,R,N,G,Z,J,X,z,Y);Q=Q.substring(0,W)+M+Q.substring(A),q.lastIndex=0}return Q}async function bY($,Z,J,X,Y){if(!$)return $;let Q=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let z=Z.__processedComponents,q=n0(Q);Q=q.output;let K=$$(Q);return Q=await j(Q,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),Q=await j(Q,/[A-Z][a-zA-Z0-9]*/,!0,j4(N2)),Q=await j(Q,/[a-z][a-z0-9]*/,!1,N2),Q=q.restore(Q),Q;async function j(B,V,F,_){if(!B)return B;let O=B,L=B4(O,V,_),w=new Map;for(let A=L.length-1;A>=0;A--){let T=L[A],D=F?H9(T.tagName):T.tagName,M=AY(DY(T.attributes,Z,J)),k=K.some(([u,P])=>T.startIndex>=u&&T.startIndex<P),I=RY(M,Z,X,k),y=x1.getBuiltin(T.tagName),E=y?await j9(D,G,Z,J,X):!1;if(y&&!E){let u={context:Z,filePath:J,options:X,dependencies:Y},P=y.render(I,T.content,u);if(Object.keys(I.events).length>0){let h=A4(I.events);P=P.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${h}`)}if(Object.keys(I.clientReactive).length>0)P=M4(P,I.clientReactive);w.set(A,P);continue}if(!F&&T.tagName.includes("-")&&!await j9(D,G,Z,J,X))continue;let b={};for(let[u,P]of Object.entries(I.static))b[u]=P;for(let[u,P]of Object.entries(I.serverDynamic))b[u]=P;let f=await D1(D,b,q.restore(T.content),G,Z,J,X,z,Y);if(Object.keys(I.events).length>0){let u=T4(f);if(u){let P=A4(I.events),h=Object.keys(I.events).map((m)=>m.replace(/^@/,"").split(".")[0]).join(" ");f=f.substring(0,u.insertPos)+` data-stx-parent-events="${h}" ${P}`+f.substring(u.insertPos)}}if(Object.keys(I.clientReactive).length>0)f=M4(f,I.clientReactive);w.set(A,f)}if(w.size===0)return O;let R="",N=0;for(let A=0;A<L.length;A++){let T=w.get(A);if(T===void 0)continue;R+=O.slice(N,L[A].startIndex),R+=T,N=L[A].endIndex}return R+=O.slice(N),R}}function M4($,Z){let J=new Set(["if","for"]),X=new Set(["show"]),Y=Object.entries(Z).filter(([W])=>!J.has(W)),Q=Y.filter(([W])=>!X.has(W)).map(([W])=>H9(W)).join(" "),G=$,z=Y.length>0?T4(G):null;if(z){let W=Y.map(([H,j])=>`:${H9(H)}="${j.replace(/"/g,""")}"`).join(" "),U=Q?` data-stx-parent-bindings="${Q}"`:"";G=G.substring(0,z.insertPos)+`${U} ${W}`+G.substring(z.insertPos)}let q=Z.if;if(q)G=`<template :if="${q.replace(/"/g,""")}">${G}</template>`;let K=Z.for;if(K)G=`<template :for="${K.replace(/"/g,""")}">${G}</template>`;return G}function T4($){let Z=/<([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*\bdata-stx-scope(?:\s|=|>)/i.exec($);if(Z)return{insertPos:Z.index+1+Z[1].length};let J=0;while(J<$.length){let X=$.slice(J),Y=X.match(/^\s+/);if(Y){J+=Y[0].length;continue}if(X.startsWith("<!--")){let z=$.indexOf("-->",J+4);if(z===-1)return null;J=z+3;continue}let Q=X.match(/^<(script|style)\b[^>]*>/i);if(Q){let z=`</${Q[1].toLowerCase()}>`,q=$.toLowerCase().indexOf(z,J+Q[0].length);if(q===-1)return null;J=q+z.length;continue}let G=X.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(?:\s|>|\/)/);if(!G)return null;return{insertPos:J+1+G[1].length}}return null}async function J$($,Z,J,X,Y){if(!D4)W4(x1),D4=!0;let Q=await TY($,Z,J,X,Y);Q=await kY(Q,Z,J,X,Y),Q=await EY(Q,Z,J,X,Y);let G=[];for(let z=0;z<3;z++){let q=G.length,K=B1(Q,V9,(U,H)=>`\x00STX_COMPONENT_COMMENT_${q+H}\x00`,`STX_COMPONENT_COMMENT:${q}`);G.push(...K.tokens);let W=Q;if(Q=await bY(K.output,Z,J,X,Y),Q===W)break}if(G.length>0)Q=Q.replace(/\x00STX_COMPONENT_COMMENT_(\d+)\x00/g,(z,q)=>G[Number(q)]??"");if(X.debug){let z=IY(Q);if(z.length>0)console.warn(`[stx] ${J}: unresolved component tag(s) after render passes: ${z.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return Q}function X$($,Z){let J=0;for(let X=Z;X<$.length;X++){let Y=$[X];if(Y==="("||Y==="["||Y==="{")J++;else if(Y===")"||Y==="]"||Y==="}")J--;else if(Y===","&&J===0)return X}return-1}function CY($,Z,J){let X=$,Y=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),Q=Y.exec(X);while(Q){let G=Q.index,z=G+Q[0].length-1,q=1,K=z+1;while(K<X.length&&q>0){if(X[K]==="(")q++;else if(X[K]===")")q--;K++}if(q!==0)break;let W=X.substring(z+1,K-1),U=`${J}(${W})`;X=X.substring(0,G)+U+X.substring(K),Y.lastIndex=G+U.length,Q=Y.exec(X)}return X}function SY($){return/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test($)}function y4($){let Z=$,J=[],X=new Set,Y=0,Q=0,G=Z.length,z=(U)=>{Q++;while(Q<G){if(Z[Q]==="\\"){Q+=2;continue}if(Z[Q]===U){Q++;return}Q++}},q=()=>{Q++;while(Q<G){if(Z[Q]==="\\"){Q+=2;continue}if(Z[Q]==="`"){Q++;return}if(Z[Q]==="$"&&Z[Q+1]==="{"){Q+=2;let U=1;while(Q<G&&U>0)if(Z[Q]==="{")U++,Q++;else if(Z[Q]==="}")U--,Q++;else if(Z[Q]==="'"||Z[Q]==='"')z(Z[Q]);else if(Z[Q]==="`")q();else Q++;continue}Q++}},K=()=>{if(Z[Q]==="/"&&Z[Q+1]==="/"){while(Q<G&&Z[Q]!==`
|
|
3422
|
-
`)Q++;return!0}if(Z[Q]==="/"&&Z[Q+1]==="*"){Q+=2;while(Q<G-1&&!(Z[Q]==="*"&&Z[Q+1]==="/"))Q++;return Q+=2,!0}return!1},W=()=>{if(Y!==0)return;let U=Z.slice(Q).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(U){let B=U[2];if(!X.has(B))J.push(B),X.add(B);return}let H=Z.slice(Q).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(H){let B=H[1];if(!X.has(B))J.push(B),X.add(B);return}let j=Z.slice(Q).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(j){let B=j[1];if(!X.has(B))J.push(B),X.add(B)}};while(Q<G){if(K())continue;if(Z[Q]==="'"||Z[Q]==='"'){z(Z[Q]);continue}if(Z[Q]==="`"){q();continue}if(Z[Q]==="{"){Y++,Q++;continue}if(Z[Q]==="}"){Y--,Q++;continue}if(Y===0&&/[a-z]/i.test(Z[Q])&&(Q===0||/\s|[;{}()]/.test(Z[Q-1])))W();Q++}return J.join(", ")}function
|
|
3420
|
+
`}function q4($,...Z){for(let J of Z){if($.serverDynamic[J]!==void 0)return String($.serverDynamic[J]);let X=$.static[J];if(typeof X==="string")return X}return}function K4($,Z){let J=new RegExp(`<(template|div|span)[^>]*\\bslot=["']${Z}["'][^>]*>([\\s\\S]*?)<\\/\\1>`,"i"),X=$.match(J);if(!X)return{region:null,rest:$};return{region:X[2],rest:$.replace(X[0],"")}}var a5={name:"Suspense",aliases:["suspense"],render($,Z,J){let X=K4(Z,"fallback"),Y=X.rest,Q=K4(Y,"error"),G=Q.rest,z=X.region??q4($,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',q=Q.region??q4($,"errorFallback","error-fallback")??'<div class="stx-suspense-error">Something went wrong.</div>';return`<div data-stx-suspense><div data-stx-suspense-fallback>${z}</div><div data-stx-suspense-error hidden>${q}</div><div data-stx-suspense-content hidden>${G}</div></div>`}};function U9($,...Z){for(let J of Z){if($.serverDynamic[J]!==void 0)return String($.serverDynamic[J]);let X=$.static[J];if(typeof X==="string")return X}return}var t5={name:"TransitionGroup",aliases:["transition-group"],render($,Z,J){let X=(U9($,"name")||"v").replace(/["'<>]/g,""),Y=(U9($,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",Q=U9($,"class"),G=U9($,"id"),z=[`data-stx-transition-group="${X}"`,Q?`class="${Q}"`:"",G?`id="${G}"`:""].filter(Boolean).join(" ");return`<${Y} ${z}>${Z}</${Y}>`}};function W4($=x1){$.registerBuiltin(x5),$.registerBuiltin(m5),$.registerBuiltin(l5),$.registerBuiltin(p5),$.registerBuiltin(i5),$.registerBuiltin(n5),$.registerBuiltin(s5),$.registerBuiltin(o5),$.registerBuiltin(a5),$.registerBuiltin(t5)}function H9($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}var U4=new Map;function FY($){let Z=U4.get($.source);if(!Z)Z=new RegExp(`(${$.source})(?![\\w.:-])`,"y"),U4.set($.source,Z);return Z}var H4=new WeakMap;function j4($){let Z=H4.get($);if(!Z)Z=new Set([...$].map((X)=>X.toLowerCase())),H4.set($,Z);let J=Z;return(X)=>!/[a-z]/.test(X)&&J.has(X.toLowerCase())}function B4($,Z,J){let X=[],Y=0,Q=typeof J==="function"?J:J?(G)=>J.has(G.toLowerCase()):void 0;while(Y<$.length){let G=$.indexOf("<",Y);if(G===-1)break;let z=FY(Z);z.lastIndex=G+1;let q=z.exec($);if(!q){Y=G+1;continue}let K=q[1];if(Q&&Q(K)){let F=G+1+K.length;while(F<$.length&&$[F]!==">")F++;Y=F+1;continue}let W=G+1+K.length,U=null,H=W,j=-1,B=!1;while(W<$.length){let F=$[W];if(U){if(F==="\\"&&W+1<$.length){W+=2;continue}if(F===U)U=null;W++;continue}if(F==='"'||F==="'"){U=F,W++;continue}if(F==="/"&&W+1<$.length&&$[W+1]===">"){j=W+2,B=!0;break}if(F===">"){j=W+1;break}W++}if(j===-1){Y=G+1;continue}let V=$.slice(H,B?j-2:j-1).trim();if(B)X.push({fullMatch:$.slice(G,j),tagName:K,attributes:V,content:"",startIndex:G,endIndex:j,isSelfClosing:!0}),Y=j;else{let F=`<${K}`,_=`</${K}>`,O=1,L=j,w=-1;while(O>0&&L<$.length){let A=$.indexOf(F,L),T=$.indexOf(_,L);if(T===-1)break;if(A!==-1&&A<T){let D=$[A+F.length];if(D===" "||D===">"||D==="/"||D===`
|
|
3421
|
+
`||D==="\t")O++;L=A+F.length}else{if(O--,O===0){w=T;break}L=T+_.length}}if(w===-1){Y=j;continue}let R=$.slice(j,w),N=w+_.length;X.push({fullMatch:$.slice(G,N),tagName:K,attributes:V,content:R,startIndex:G,endIndex:N,isSelfClosing:!1}),Y=N}}return X}function V4($){return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/�?39;/g,"'").replace(/'/gi,"'").replace(/&/g,"&")}function _4($,Z){try{let J=Buffer.from($,"base64").toString("utf8");return JSON.parse(J)}catch{}try{let J=$.replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&");return JSON.parse(J)}catch(J){if(Z?.debug)console.error("Error decoding __stx_ prop:",J);return $}}function e5($,Z){let J=0,X="",Y=Z;while(Y<$.length){let Q=$[Y];if(X){if(Q==="\\")Y++;else if(Q===X)X=""}else if(Q==='"'||Q==="'"||Q==="`")X=Q;else if(Q==="{")J++;else if(Q==="}"){if(J--,J===0)return $.slice(Z,Y+1)}Y++}return $.slice(Z)}function L4($){let Z=$.trim();if(!Z.startsWith("{")||!Z.endsWith("}"))return null;if(e5(Z,0).length!==Z.length)return null;return Z.slice(1,-1).trim()}var wY=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"]),RY=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);function $$($){let Z=[],J=/<([a-zA-Z][a-zA-Z0-9-]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)\s*\/?>/g,X;while((X=J.exec($))!==null){let Y=X[2]||"";if(!/(?:^|\s)(?::for|x-for|v-for|@for)\s*=/.test(Y))continue;let Q=X.index,G=Q+X[0].length,z=X[1].toLowerCase();if(X[0].endsWith("/>")||RY.has(z)){Z.push([Q,G]);continue}let q=z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),K=new RegExp(`<\\/?${q}\\b(?:[^>"']|"[^"]*"|'[^']*')*>`,"gi");K.lastIndex=G;let W=1,U=G,H;while((H=K.exec($))!==null)if(H[0].startsWith("</")){if(W--,W===0){U=H.index+H[0].length;break}}else if(!H[0].endsWith("/>"))W++;Z.push([Q,U])}return Z}function F4($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter(Boolean).map((Z)=>F4(Z)).join(" ");if($&&typeof $==="object")return Object.entries($).filter(([,Z])=>Z).map(([Z])=>Z).join(" ");return $?String($):""}function w4($,Z){if(!/:[\w-]+=/.test($))return $;let J=$,X=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,Y=[],Q;while((Q=X.exec($))!==null)Y.push([Q.index,Q.index+Q[0].length]);Y.push(...$$($));function G(U){return Y.some(([H,j])=>U>=H&&U<j)}let z=/<([a-zA-Z][a-zA-Z0-9-]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)\s*\/?>/g,q=[],K=new Map,W=256;while((Q=z.exec(J))!==null){if(G(Q.index))continue;let U=Q[0],H=Q[2];if(!H||!H.includes(":"))continue;let j=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,B,V=H,F=!1;while((B=j.exec(H))!==null){let _=B[1],O=B[2];if(O4(_))continue;if(O.includes("()")&&!O.includes(".get(")||O.includes("$store")||O.includes("$ref"))continue;try{let L=Object.keys(Z),w=Object.values(Z),R=O.match(/^([a-zA-Z_$][\w$]*)/);if(R&&!L.includes(R[1])&&!["true","false","null","undefined","Math","JSON","String","Number","Array","Object","Date","parseInt","parseFloat"].includes(R[1]))continue;let N=JSON.stringify([L,O]),A=K.get(N);if(!A){if(A=Function(...L,`return (${O})`),K.size>=W)K.clear();K.set(N,A)}let T=A(...w);if(_==="class"){let D=F4(T);if(D){let M=V.match(/\sclass="([^"]*)"/);if(M)V=V.replace(M[0],` class="${M[1]} ${D}"`);else V=V.replace(B[0],` class="${D}"`)}else V=V.replace(B[0],"");F=!0;continue}if(wY.has(_)){if(T)V=V.replace(B[0],` ${_}`);else V=V.replace(B[0],"");F=!0;continue}if(T===null||T===void 0||T===!1)V=V.replace(B[0],"");else{let D=String(T).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">");V=V.replace(B[0],` ${_}="${D}"`)}F=!0}catch{continue}}if(F){let _=U.endsWith("/>")?" /":"",L=`<${Q[1]}${V}${_}>`;q.push({start:Q.index,end:Q.index+U.length,replacement:L})}}if(q.length>0){let U=Array(q.length*2+1),H=0;for(let j=0;j<q.length;j++){let{start:B,end:V,replacement:F}=q[j];U[j*2]=J.slice(H,B),U[j*2+1]=F,H=V}U[q.length*2]=J.slice(H),J=U.join("")}return J}import R4 from"fs";import N4 from"path";var N2=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","component","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","path","circle","rect","line","polygon","polyline","ellipse","text","tspan","textPath","g","defs","use","symbol","image","clipPath","mask","pattern","marker","linearGradient","radialGradient","stop","filter","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDropShadow","feFlood","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","foreignObject","animate","animateMotion","animateTransform","set","mpath","desc","metadata","switch","view"]);function Z$($){if($.includes("-")||$==="component")return!1;if(/^[A-Z]/.test($))return!/[a-z]/.test($)&&[...N2].some((Z)=>Z.toLowerCase()===$.toLowerCase());return N2.has($)||/[A-Z]/.test($)}var D4=!1;function NY($,Z,J,X=!1){let Y={static:{},staticNames:{},serverDynamic:{},serverDynamicNames:{},clientReactive:{},events:{}},Q=new Set(Array.isArray(Z.__stx_client_signal_names)?Z.__stx_client_signal_names:[]),G=(W)=>{if(Q.size===0)return!1;let U=u0(W),H=U.match(/^\s*[!+~(-]*\s*([a-zA-Z_$][\w$]*)/)?.[1];if(H&&Q.has(H))return!0;for(let j of Q){let B=j.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`(?:^|[^\\w$.])${B}\\s*\\(`).test(U))return!0}return!1},z=new Set(I4),q=(W)=>{if(!W.includes("-")||W.startsWith("@")||W.startsWith(":")||W.startsWith("x-")||W.startsWith("__"))return W;if(W.startsWith("aria-")||W.startsWith("data-"))return W;return W.replace(/-([a-z0-9])/g,(U,H)=>H.toUpperCase())},K=(W,U)=>{let H=q(W);if(Y.static[H]=U,H!==W)Y.staticNames[H]=W};for(let[W,U]of Object.entries($)){let H=W.startsWith("x-")&&!z.has(W)&&!W.startsWith("x-bind:")&&!W.startsWith("x-on:")?`:${W.slice(2)}`:W;if(H.startsWith("@")){Y.events[H]=U;continue}if(H.startsWith("__stx_")){let j=q(H.slice(6));Y.serverDynamic[j]=_4(U,J);continue}if(H.startsWith(":")){let j=q(H.slice(1)),B=U===R1?j:U;if(j==="if"||j==="for"||j==="show"){Y.clientReactive[j]=B;continue}if(X){Y.clientReactive[j]=B;continue}if(G(B)){Y.clientReactive[j]=B;continue}try{if(!W0(B)){if(J.debug)console.error(`Unsafe expression in :${j} binding: ${B}`);Y.clientReactive[j]=B;continue}let V=Object.keys(Z),_=K0(B,V)(...Object.values(Z));if(_===void 0){let O=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(B9(B).some((w)=>!O.has(w)&&!V.includes(w))){Y.clientReactive[j]=B;continue}}if(Y.serverDynamic[j]=_,j!==H.slice(1)&&Y.serverDynamicNames)Y.serverDynamicNames[j]=H.slice(1)}catch{Y.clientReactive[j]=B}continue}if(typeof U==="string"&&U.includes("{{")&&U.includes("}}")){let j=U.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(j)try{let B=j[1];if(W0(B)){let F=K0(B,Object.keys(Z))(...Object.values(Z));K(H,F!=null?String(F):"")}else{if(J.debug)console.error(`Unsafe expression in ${H}: ${B}`);K(H,U)}}catch(B){if(J.debug)console.error(`Error evaluating expression for ${H}:`,B);K(H,U)}else{let B=U,V=/\{\{\s*([\s\S]+?)\s*\}\}/g,F;while((F=V.exec(U))!==null)try{let _=F[1];if(!W0(_)){if(J.debug)console.error(`Unsafe expression in ${H}: ${_}`);continue}let L=K0(_,Object.keys(Z))(...Object.values(Z));B=B.replace(F[0],String(L??""))}catch(_){if(J.debug)console.error(`Error evaluating expression in ${H}:`,_)}K(H,B)}continue}K(H,U===R1?"true":V4(U))}return Y}var DY=[[/@if\s*\(/,"@endif"],[/@unless\s*\(/,"@endunless"]];function AY($,Z,J){if(!$.includes("@"))return $;if(!DY.some(([Y,Q])=>Y.test($)&&$.includes(Q)))return $;try{return e0($,Z,J)}catch{return $}}function MY($){let Z={},J=0,X=$.length;while(J<X){while(J<X&&/\s/.test($[J]))J++;if(J>=X)break;let Y="";while(J<X&&!/[\s=]/.test($[J]))Y+=$[J],J++;if(!Y)break;while(J<X&&/\s/.test($[J]))J++;if(J<X&&$[J]==="="){J++;while(J<X&&/\s/.test($[J]))J++;let Q="";if(J<X&&($[J]==='"'||$[J]==="'")){let G=$[J];J++;while(J<X){let z=$[J];if(z==="\\"&&J+1<X){J++,Q+=$[J],J++;continue}if(z===G){J++;break}Q+=z,J++}}else if($[J]==="{"){Q=e5($,J),J+=Q.length;let G=L4(Q);if(G!==null){Z[`:${Y}`]=G;continue}}else while(J<X&&!/\s/.test($[J]))Q+=$[J],J++;Z[Y]=Q}else Z[Y]=R1}return Z}function A4($){return Object.entries($).map(([Z,J])=>J===R1?Z:`${Z}="${IY(J)}"`).join(" ")}function IY($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function TY($){let Z=new Set,J=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,X;while((X=J.exec($))!==null){let Y=X[1];if(x1.isBuiltin(Y))Z.add(Y)}return[...Z].sort()}async function kY($,Z,J,X,Y){if(!/import\s/.test($))return $;if(!Z.__importedComponents)Z.__importedComponents=new Map;let Q=Z.__importedComponents,G=N4.dirname(J),z=[],q=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;for(let U of $.matchAll(q)){let[H,j,B]=U,V=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,F=B,_,O=[];while((_=V.exec(B))!==null){let[L,w,R,N]=_,A=null,T=null;if(N.startsWith(".")||N.startsWith("/")){let k=N4.resolve(G,N);if(k.endsWith(".stx"))T=k;else{let I=`${k}.stx`;try{if(R4.statSync(I).isFile())T=I}catch{try{if(R4.statSync(k).isDirectory())A=k}catch{}}}}else A=n7(N,G);if(!A&&!T)continue;let D=!1,M=(k,I)=>{Q.set(k,I),Q.set(k.toLowerCase(),I);let y=k.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();Q.set(y,I),Y.add(I)};if(R&&T)M(R,T),D=!0;else if(w){let k=w.slice(1,-1).split(",").map((y)=>y.trim()).filter(Boolean).map((y)=>{let E=y.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(E)return{source:E[1],local:E[2]};return{source:y,local:y}}),I=A?i7(A):null;for(let{source:y,local:E}of k){let b=null;if(T)b=T;else if(I)b=I.get(y)??I.get(y.toLowerCase())??I.get(y.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(b)M(E,b),D=!0}}if(D)O.push({start:_.index,end:_.index+L.length})}if(O.length===0)continue;for(let L=O.length-1;L>=0;L--)F=F.slice(0,O[L].start)+F.slice(O[L].end);z.push({start:U.index,end:U.index+H.length,value:`<script${j}>${F}</script>`})}if(z.length===0)return $;let K=[],W=0;for(let U of z)K.push($.slice(W,U.start),U.value),W=U.end;return K.push($.slice(W)),K.join("")}async function EY($,Z,J,X,Y){let Q=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,z=/@import\s*\(\s*([^)]+)\s*\)/g,q;while((q=z.exec(Q))!==null){let[K,W]=q,U=W.split(",").map((H)=>H.trim().replace(/^['"]|['"]$/g,"")).filter((H)=>H.length>0);for(let H of U){let j=H.split("/"),V=j[j.length-1].replace(/\.stx$/,""),F=V.includes("-")?V.split("-").map((L)=>L.charAt(0).toUpperCase()+L.slice(1)).join(""):V.charAt(0).toUpperCase()+V.slice(1),_=null,O=s7(H,J,X);for(let L of O)try{if(await Bun.file(L).exists()){_=L;break}}catch{}if(_){G.set(F,_),G.set(V,_),G.set(V.toLowerCase(),_);let L=F.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(G.set(L,_),Y.add(_),X.debug)console.log(`Imported component: ${F} -> ${_}`)}else if(X.debug)console.warn(`Could not resolve imported component: ${H}`)}Q=Q.replace(K,""),z.lastIndex=0}return Q}async function bY($,Z,J,X,Y){let Q=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let z=Z.__processedComponents,q=/@component\s*\(/g,K;while((K=q.exec(Q))!==null){let W=K.index,U=W+K[0].length-1,H=1,j=U+1;while(j<Q.length&&H>0){if(Q[j]==="(")H++;else if(Q[j]===")"){if(H--,H===0)break}j++}if(H!==0)break;let B=Q.substring(U+1,j),V=j+1,F=B.match(/^\s*['"]([^'"]+)['"]/);if(!F){q.lastIndex=0;continue}let _=F[1],O,L=B.slice(F[0].length),w=L.match(/^\s*,\s*/);if(w)O=L.slice(w[0].length).trim();let R={};if(O)try{R=E0(O,Z)}catch(k){let I=k instanceof Error?k.message:String(k);Q=Q.replace(Q.substring(W,V),`[Error parsing component props: ${I}]`);continue}let N="",A=V,D=Q.substring(V).match(/^([\s\S]*?)@endcomponent/);if(D)N=D[1].trim(),A=V+D[0].length;let M=await D1(_,R,N,G,Z,J,X,z,Y);Q=Q.substring(0,W)+M+Q.substring(A),q.lastIndex=0}return Q}async function yY($,Z,J,X,Y){if(!$)return $;let Q=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let z=Z.__processedComponents,q=n0(Q);Q=q.output;let K=$$(Q);return Q=await j(Q,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),Q=await j(Q,/[A-Z][a-zA-Z0-9]*/,!0,j4(N2)),Q=await j(Q,/[a-z][a-z0-9]*/,!1,N2),Q=q.restore(Q),Q;async function j(B,V,F,_){if(!B)return B;let O=B,L=B4(O,V,_),w=new Map;for(let A=L.length-1;A>=0;A--){let T=L[A],D=F?H9(T.tagName):T.tagName,M=MY(AY(T.attributes,Z,J)),k=K.some(([u,P])=>T.startIndex>=u&&T.startIndex<P),I=NY(M,Z,X,k),y=x1.getBuiltin(T.tagName),E=y?await j9(D,G,Z,J,X):!1;if(y&&!E){let u={context:Z,filePath:J,options:X,dependencies:Y},P=y.render(I,T.content,u);if(Object.keys(I.events).length>0){let h=A4(I.events);P=P.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${h}`)}if(Object.keys(I.clientReactive).length>0)P=M4(P,I.clientReactive);w.set(A,P);continue}if(!F&&T.tagName.includes("-")&&!await j9(D,G,Z,J,X))continue;let b={};for(let[u,P]of Object.entries(I.static))b[u]=P;for(let[u,P]of Object.entries(I.serverDynamic))b[u]=P;let f=await D1(D,b,q.restore(T.content),G,Z,J,X,z,Y);if(Object.keys(I.events).length>0){let u=T4(f);if(u){let P=A4(I.events),h=Object.keys(I.events).map((m)=>m.replace(/^@/,"").split(".")[0]).join(" ");f=f.substring(0,u.insertPos)+` data-stx-parent-events="${h}" ${P}`+f.substring(u.insertPos)}}if(Object.keys(I.clientReactive).length>0)f=M4(f,I.clientReactive);w.set(A,f)}if(w.size===0)return O;let R="",N=0;for(let A=0;A<L.length;A++){let T=w.get(A);if(T===void 0)continue;R+=O.slice(N,L[A].startIndex),R+=T,N=L[A].endIndex}return R+=O.slice(N),R}}function M4($,Z){let J=new Set(["if","for"]),X=new Set(["show"]),Y=Object.entries(Z).filter(([W])=>!J.has(W)),Q=Y.filter(([W])=>!X.has(W)).map(([W])=>H9(W)).join(" "),G=$,z=Y.length>0?T4(G):null;if(z){let W=Y.map(([H,j])=>`:${H9(H)}="${j.replace(/"/g,""")}"`).join(" "),U=Q?` data-stx-parent-bindings="${Q}"`:"";G=G.substring(0,z.insertPos)+`${U} ${W}`+G.substring(z.insertPos)}let q=Z.if;if(q)G=`<template :if="${q.replace(/"/g,""")}">${G}</template>`;let K=Z.for;if(K)G=`<template :for="${K.replace(/"/g,""")}">${G}</template>`;return G}function T4($){let Z=/<([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*\bdata-stx-scope(?:\s|=|>)/i.exec($);if(Z)return{insertPos:Z.index+1+Z[1].length};let J=0;while(J<$.length){let X=$.slice(J),Y=X.match(/^\s+/);if(Y){J+=Y[0].length;continue}if(X.startsWith("<!--")){let z=$.indexOf("-->",J+4);if(z===-1)return null;J=z+3;continue}let Q=X.match(/^<(script|style)\b[^>]*>/i);if(Q){let z=`</${Q[1].toLowerCase()}>`,q=$.toLowerCase().indexOf(z,J+Q[0].length);if(q===-1)return null;J=q+z.length;continue}let G=X.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(?:\s|>|\/)/);if(!G)return null;return{insertPos:J+1+G[1].length}}return null}async function J$($,Z,J,X,Y){if(!D4)W4(x1),D4=!0;let Q=await kY($,Z,J,X,Y);Q=await EY(Q,Z,J,X,Y),Q=await bY(Q,Z,J,X,Y);let G=[];for(let z=0;z<3;z++){let q=G.length,K=B1(Q,V9,(U,H)=>`\x00STX_COMPONENT_COMMENT_${q+H}\x00`,`STX_COMPONENT_COMMENT:${q}`);G.push(...K.tokens);let W=Q;if(Q=await yY(K.output,Z,J,X,Y),Q===W)break}if(G.length>0)Q=Q.replace(/\x00STX_COMPONENT_COMMENT_(\d+)\x00/g,(z,q)=>G[Number(q)]??"");if(X.debug){let z=TY(Q);if(z.length>0)console.warn(`[stx] ${J}: unresolved component tag(s) after render passes: ${z.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return Q}function X$($,Z){let J=0;for(let X=Z;X<$.length;X++){let Y=$[X];if(Y==="("||Y==="["||Y==="{")J++;else if(Y===")"||Y==="]"||Y==="}")J--;else if(Y===","&&J===0)return X}return-1}function SY($,Z,J){let X=$,Y=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),Q=Y.exec(X);while(Q){let G=Q.index,z=G+Q[0].length-1,q=1,K=z+1;while(K<X.length&&q>0){if(X[K]==="(")q++;else if(X[K]===")")q--;K++}if(q!==0)break;let W=X.substring(z+1,K-1),U=`${J}(${W})`;X=X.substring(0,G)+U+X.substring(K),Y.lastIndex=G+U.length,Q=Y.exec(X)}return X}function PY($){return/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test($)}function y4($){let Z=$,J=[],X=new Set,Y=0,Q=0,G=Z.length,z=(U)=>{Q++;while(Q<G){if(Z[Q]==="\\"){Q+=2;continue}if(Z[Q]===U){Q++;return}Q++}},q=()=>{Q++;while(Q<G){if(Z[Q]==="\\"){Q+=2;continue}if(Z[Q]==="`"){Q++;return}if(Z[Q]==="$"&&Z[Q+1]==="{"){Q+=2;let U=1;while(Q<G&&U>0)if(Z[Q]==="{")U++,Q++;else if(Z[Q]==="}")U--,Q++;else if(Z[Q]==="'"||Z[Q]==='"')z(Z[Q]);else if(Z[Q]==="`")q();else Q++;continue}Q++}},K=()=>{if(Z[Q]==="/"&&Z[Q+1]==="/"){while(Q<G&&Z[Q]!==`
|
|
3422
|
+
`)Q++;return!0}if(Z[Q]==="/"&&Z[Q+1]==="*"){Q+=2;while(Q<G-1&&!(Z[Q]==="*"&&Z[Q+1]==="/"))Q++;return Q+=2,!0}return!1},W=()=>{if(Y!==0)return;let U=Z.slice(Q).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(U){let B=U[2];if(!X.has(B))J.push(B),X.add(B);return}let H=Z.slice(Q).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(H){let B=H[1];if(!X.has(B))J.push(B),X.add(B);return}let j=Z.slice(Q).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(j){let B=j[1];if(!X.has(B))J.push(B),X.add(B)}};while(Q<G){if(K())continue;if(Z[Q]==="'"||Z[Q]==='"'){z(Z[Q]);continue}if(Z[Q]==="`"){q();continue}if(Z[Q]==="{"){Y++,Q++;continue}if(Z[Q]==="}"){Y--,Q++;continue}if(Y===0&&/[a-z]/i.test(Z[Q])&&(Q===0||/\s|[;{}()]/.test(Z[Q-1])))W();Q++}return J.join(", ")}function vY($,Z=""){let J=y4($).split(",").map((X)=>X.trim()).filter(Boolean);return`
|
|
3423
3423
|
(function() {
|
|
3424
3424
|
${p1("var",J)}
|
|
3425
3425
|
var __destroyHooks = [];
|
|
@@ -3428,7 +3428,7 @@ document.addEventListener("focusout",function(e){
|
|
|
3428
3428
|
|
|
3429
3429
|
${$}
|
|
3430
3430
|
${Z}})();
|
|
3431
|
-
`}function
|
|
3431
|
+
`}function fY($,Z){let Y=y4($).split(",").map((Q)=>Q.trim()).filter(Boolean).map((Q)=>` try { __scopeRegistration[${JSON.stringify(Q)}] = ${Q}; } catch (e) { /* not actually top-level */ }`).join(`
|
|
3432
3432
|
`);return`
|
|
3433
3433
|
// Register scope variables for STX runtime
|
|
3434
3434
|
if (!window.stx._scopes) window.stx._scopes = {};
|
|
@@ -3440,7 +3440,7 @@ ${Y}
|
|
|
3440
3440
|
// shadowing import. __stxScopeRenames is emitted by bundleClientScript.
|
|
3441
3441
|
try { if (typeof __stxScopeRenames !== 'undefined' && __stxScopeRenames) { for (var __stxRK in __stxScopeRenames) __scopeRegistration[__stxRK] = __stxScopeRenames[__stxRK]; } } catch (e) { /* no renames */ }
|
|
3442
3442
|
window.stx._scopes['${Z}'] = __scopeRegistration;
|
|
3443
|
-
`}function
|
|
3443
|
+
`}function xY($,Z){return $.replace(/<script data-stx-scoped data-stx-run="always" data-stx-owner="([^"]*)"/g,(J,X)=>X===Z?J:'<script data-stx-scoped data-stx-run="always"')}function k4($,Z){let J=fY($,Z);return gY(vY($,J),Z)}function gY($,Z){let J=`
|
|
3444
3444
|
(function() {
|
|
3445
3445
|
var __stxScopeEl = (typeof document !== 'undefined') ? document.querySelector('[data-stx-scope="${Z}"]') : null;
|
|
3446
3446
|
var __stxPrevEl = (typeof window !== 'undefined') ? window.__STX_CURRENT_ELEMENT__ : undefined;
|
|
@@ -3457,25 +3457,25 @@ ${Y}
|
|
|
3457
3457
|
} finally {
|
|
3458
3458
|
if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
|
|
3459
3459
|
}
|
|
3460
|
-
})();`}function
|
|
3461
|
-
`;continue}if(j0)try{let{extractVariables:Y0}=await import("./chunk-
|
|
3462
|
-
`}}if(k.length>0){let{interpolateScriptExpressions:P}=await import("./chunk-
|
|
3460
|
+
})();`}function hY($,Z){if(s0($)){let Y=s0($).tag.match(/data-stx-scope="([^"]*)"/);if(Y)return{html:$,mergedIntoExisting:Y[1],stamped:!0,root:"body"};return{html:y1($,(Q,G)=>`<body${G} data-stx-scope="${Z}">`),mergedIntoExisting:null,stamped:!0,root:"body"}}let J=$.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*>|>)/s);if(J){let X=J[2]+J[3],Y=J[2].slice(1),Q=X.match(/data-stx-scope="([^"]*)"/);if(Q)return{html:$,mergedIntoExisting:Q[1],stamped:!0,root:Y};let G=J[1],z=J[2],q=J[3];return{html:`${G}${z} data-stx-scope="${Z}"${q}${$.slice(J[0].length)}`,mergedIntoExisting:null,stamped:!0,root:Y}}return{html:$,mergedIntoExisting:null,stamped:!1,root:null}}var E4=0;function b4($){return/\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/i.test($)}var Yj=new i1(500),C4=new Set;function Qj(){C4.clear()}function uY($){if($.__onceStore instanceof Set)return $.__onceStore;return C4}async function Y$($,Z,J,X,Y,Q=new Set){let G=X.partialsDir||Q0.join(Q0.dirname(J),"partials");if(G&&!Q0.isAbsolute(G))G=Q0.resolve(process.cwd(),G);let z=SY($,"@partial","@include"),q=uY(Z);z=z.replace(/@once([\s\S]*?)@endonce/g,(V,F,_)=>{let O=F.trim(),L=`${J}:${O}`;if(q.has(L))return"";return q.add(L),F});{let V=/@includeIf\s*\(/g,F;while((F=V.exec(z))!==null){let _=F.index,O=_+F[0].length-1,L=1,w=O+1;while(w<z.length&&L>0){if(z[w]==="(")L++;else if(z[w]===")")L--;w++}if(L!==0)break;let R=z.substring(O+1,w-1),N=R.match(/^\s*['"]([^'"]+)['"]/);if(!N){V.lastIndex=w;continue}let A=N[1],T=K(A,G,J),D="";if(T&&await Bun.file(T).exists())Y.add(T),D=`@include(${R})`;z=z.substring(0,_)+D+z.substring(w),V.lastIndex=0}}for(let[V,F]of[["@includeWhen",!1],["@includeUnless",!0]]){let _=new RegExp(`${V.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),O;while((O=_.exec(z))!==null){let L=O.index,w=L+O[0].length-1,R=1,N=w+1;while(N<z.length&&R>0){if(z[N]==="(")R++;else if(z[N]===")")R--;N++}if(R!==0)break;let A=z.substring(w+1,N-1),T=X$(A,0);if(T===-1){_.lastIndex=N;continue}let D=A.substring(0,T).trim(),M=A.substring(T+1).trim(),k=M.match(/^\s*['"]([^'"]+)['"]/);if(!k){_.lastIndex=N;continue}let I=k[1],y=M.substring(k[0].length),E,b=X$(y,0);if(b!==-1)E=y.substring(b+1).trim();try{let C=`Boolean(${D})`,f;if(W0(C)){let h=K0(C,Object.keys(Z));f=Boolean(h(...Object.values(Z)))}else f=Boolean(e(C,Z));let u=F?!f:f,P="";if(u){let h=K(I,G,J);if(h&&await Bun.file(h).exists())Y.add(h);P=`@include('${I}'${E?`, ${E}`:""})`}z=z.substring(0,L)+P+z.substring(N),_.lastIndex=0}catch(C){let f=C instanceof Error?C.message:String(C),u=H0("Include",`Error evaluating ${V} condition: ${f}`,J,$,L);z=z.substring(0,L)+u+z.substring(N),_.lastIndex=0}}}{let V=/@each\s*\(/g,F;while((F=V.exec(z))!==null){let _=F.index,O=_+F[0].length-1,L=1,w=O+1;while(w<z.length&&L>0){if(z[w]==="(")L++;else if(z[w]===")"){if(L--,L===0)break}w++}if(L!==0)break;let R=z.substring(O+1,w),N=z.substring(_,w+1),A=R.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!A){V.lastIndex=0,z=z.replace(N,"");continue}let[,T,D,M,k]=A;try{let I,y=D.trim();if(W0(y))I=K0(y,Object.keys(Z))(...Object.values(Z));else I=e(y,Z);let E="";if(Array.isArray(I)&&I.length>0)for(let b of I){let C={...Z,[M]:b},f=await H(T,C,$,_);E+=f}else if(k)E=await H(k,{},$,_);z=z.substring(0,_)+E+z.substring(w+1),V.lastIndex=0}catch(I){let y=I instanceof Error?I.message:String(I);z=z.substring(0,_)+H0("Each",`Error in @each: ${y}`,J,$,_)+z.substring(w+1),V.lastIndex=0}}}{let V=/@includeFirst\s*\(/g,F;while((F=V.exec(z))!==null){let _=F.index,O=_+F[0].length-1,L=1,w=O+1;while(w<z.length&&L>0){if(z[w]==="(")L++;else if(z[w]===")"){if(L--,L===0)break}w++}if(L!==0)break;let R=z.substring(O+1,w),N=z.substring(_,w+1),A=R.match(/^\s*(\[[^\]]+\])/);if(!A){V.lastIndex=0,z=z.replace(N,"");continue}let T=A[1],D=R.slice(A[0].length),M,k=D.match(/^\s*,\s*\{/);if(k){D=D.slice(k[0].length-1);let E=1,b=1;while(b<D.length&&E>0){if(D[b]==="{")E++;else if(D[b]==="}"){if(E--,E===0)break}b++}M=D.substring(0,b+1),D=D.slice(b+1)}let I,y=D.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(y)I=y[1];try{let E=JSON.parse(T.replace(/'/g,'"')),b={};if(M)try{b=E0(M,Z)}catch(f){let u=f instanceof Error?f.message:String(f);if(X.debug){let P=H0("Include",`Error parsing includeFirst variables: ${u}`,J,$,_,N);z=z.replace(N,()=>P)}else z=z.replace(N,()=>I||"");continue}let C=!1;for(let f of E){let u=K(f,G,J);if(!u)continue;if(await a(u)){let P=await H(f,b,$,_);z=z.replace(N,()=>P),C=!0;break}}if(!C)if(I!==void 0)z=z.replace(N,()=>I);else if(X.debug){let f=H0("Include",`None of the includeFirst paths exist: ${T}`,J,$,_,N);z=z.replace(N,()=>f)}else z=z.replace(N,"")}catch(E){let b=E instanceof Error?E.message:String(E),C=H0("Include",`Error processing @includeFirst: ${b}`,J,$,_,N);z=z.replace(N,()=>C)}V.lastIndex=0}}function K(V,F,_){try{let O=V;if(!V.endsWith(".stx"))O=`${V}.stx`;let L=Q0.resolve(F),w=Q0.resolve(Q0.dirname(_)),R;if(!O.startsWith("./")&&!O.startsWith("../")){for(let k of X._layerPartialDirs??[]){let I=Q0.resolve(k,O);if(I.startsWith(`${Q0.resolve(k)}${Q0.sep}`)&&CY(I))return I}R=Q0.resolve(F,O)}else R=Q0.resolve(w,O);let N=Q0.normalize(R),A=N.startsWith(L+Q0.sep)||N===L,T=N.startsWith(w+Q0.sep)||N===w,D=!1,M=Q0.dirname(w);if(N.startsWith(M+Q0.sep)){if(!Q0.relative(M,N).split(Q0.sep).some((E)=>E.startsWith(".")&&E!=="."&&E!==".."))D=!0}if(!A&&!T&&!D)return console.error(`Security: Path traversal attempt blocked for include path: ${V}`),console.error(` Resolved to: ${N}`),console.error(` Allowed dirs: ${L}, ${w}`),null;return N}catch(O){return console.error(`Error resolving path ${V}: ${O}`),null}}let W=Q0.resolve(J);Q.add(W);function U(V,F,_,O){return X.onIncludeError?.({includePath:V,templatePath:J,message:F,partialsDir:G}),H0("Include",F,J,_,O)}async function H(V,F={},_,O){let L=K(V,G,J);if(!L)return U(V,`Could not resolve path for include: ${V}`,_,O);let w=Q0.resolve(L);if(Q.has(w)){let R=[...Q,w].map((N)=>Q0.basename(N)).join(" -> ");return U(V,`Circular include detected: ${R}`,_,O)}try{Y.add(L);let R;if(!R)try{R=await Bun.file(L).text()}catch(P){let h=P instanceof Error?P.message:String(P);return U(V,`Error loading include file ${V}: ${h}`,_,O)}if(R)R=R.replace(/\{\{--[\s\S]*?--\}\}/g,"");if(R&&R.includes("@stream")){let{processStreamDirectives:P}=await import("./chunk-gg85dhn4.js");R=P(R,Z)}if(R&&(X.debug||!_9()&&!L9()))try{let{warnUnbalancedTags:P}=await import("./chunk-h78pksyp.js");P(R,L)}catch{}let N=R;try{let{processESImports:P}=await import("./chunk-wb0n3rmf.js");await P(R,Z,L,X,Y)}catch(P){if(X.debug)console.warn(`[stx] partial ES import extraction skipped for ${L}:`,P instanceof Error?P.message:P)}let A=G9(N);if(A)N=A.content.trim();let D=R.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),M="";if(D)M=`<style${D[1]}>${D[2]}</style>`;let k=[];N=N.replace(/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,(P,h,m)=>{if(!b4(h))return"";return k.push({attrs:h,body:m}),`__STX_DATA_BLOCK_${k.length-1}__`}),N=N.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let I={...Z};I.__stx_signals_gate=X1(R,L);for(let[P,h]of Object.entries(F))I[P]=h;let y=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,E=[...R.matchAll(y)],b="",C=null;for(let P of E){let h=P[1]||"",m=P[2]||"";if(b4(h))continue;let j0=h.includes("server"),S0=A1(h);if(!j0&&m.trim()){let{interpolateScriptExpressions:Y0}=await import("./chunk-j18h8dbg.js");m=Y0(m,I)}let y0="";try{let{extractAndStripCssImports:Y0,renderVendorStyleTags:B0}=await import("./chunk-pn60d9sp.js"),M0=Y0(m,{filePath:L,projectRoot:process.cwd()});m=M0.code,y0=B0(M0.styles)}catch(Y0){if(X.debug)console.warn(`[stx] vendor-css extractor skipped for ${L}:`,Y0 instanceof Error?Y0.message:Y0)}if(S0&&m.trim())m=M1(m);if(!j0){try{let{injectBrowserCoreAutoImports:B0}=await import("./chunk-pn60d9sp.js");m=B0(m).code;let{hasUserImports:M0,bundleClientScript:P0}=await import("./chunk-t088w4j2.js");if(M0(m))m=await P0(m,L,{projectRoot:process.cwd()})}catch(B0){if(X.debug)console.warn(`[stx] bundler skipped for ${L}:`,B0 instanceof Error?B0.message:B0)}let{stripStxRuntimeImports:Y0}=await import("./chunk-vgwcpt59.js");m=Y0(m)}let h0=PY(m);if(h0&&!j0){C=`stx_scope_${Q0.basename(L,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++E4}`;let Y0=$1(m),B0=k4(Y0,C);b+=`${y0}<script data-stx-scoped data-stx-run="always" data-stx-owner="${C}">${B0}</script>
|
|
3461
|
+
`;continue}if(j0)try{let{extractVariables:Y0}=await import("./chunk-x3s0e6wv.js");await Y0(m,I,L)}catch(Y0){if(X.debug)console.warn(`Warning: Could not extract variables from server script in ${L}:`,Y0)}if(!j0&&!h0){let Y0=h.replace(/\bclient\b/i,"").trim();C=`stx_scope_${Q0.basename(L,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++E4}`;let B0=$1(m),M0=k4(B0,C);b+=`${y0}<script data-stx-scoped data-stx-run="always" data-stx-owner="${C}"${Y0?` ${Y0}`:""}>${M0}</script>
|
|
3462
|
+
`}}if(k.length>0){let{interpolateScriptExpressions:P}=await import("./chunk-j18h8dbg.js");N=N.replace(/__STX_DATA_BLOCK_(\d+)__/g,(h,m)=>{let j0=k[Number(m)];return`<script${j0.attrs}>${P(j0.body,I)}</script>`})}if(C){let P=hY(N,C);if(N=P.html,P.mergedIntoExisting){let m=C,j0=P.mergedIntoExisting;b=b.split(`'${m}'`).join(`'${j0}'`).split(`"${m}"`).join(`"${j0}"`),C=j0}else if(!P.stamped)console.warn(`[stx] ${Q0.relative(process.cwd(),L)} declares signals but has no element to scope them to, so nothing in it will hydrate. Wrap the partial's markup in a single root element.`);let h=P.stamped&&P.root!==null&&Z$(P.root);b=xY(b,h?C:null)}if(N.includes("@include")||N.includes("@partial"))N=await Y$(N,I,L,X,Y,Q);let{processLoops:f}=await import("./chunk-6g4arx7a.js"),u=f(N,I,L);if(u=e0(u,I,L),u=V1(u,I,L),M)u+=`
|
|
3463
3463
|
`+M;if(b)u+=`
|
|
3464
3464
|
`+b;return u}catch(R){let N=R instanceof Error?R.message:String(R);return U(V,`Error processing include ${V}: ${N}`,_,O)}}let j=/@include\s*\(/g,B;while((B=j.exec(z))!==null){let V=B.index,F=V+B[0].length-1,_=1,O=F+1;while(O<z.length&&_>0){if(z[O]==="(")_++;else if(z[O]===")")_--;O++}if(_!==0)break;let L=z.substring(V,O),w=z.substring(F+1,O-1),R=w.match(/^\s*['"]([^'"]+)['"]/);if(!R){j.lastIndex=O;continue}let N=R[1],A,T=w.substring(R[0].length),D=X$(T,0);if(D!==-1)A=T.substring(D+1).trim();let M={};if(A)try{M=E0(A,Z)}catch(I){let y=I instanceof Error?I.message:String(I);z=z.replace(L,H0("Include",`Error parsing include variables for ${N}: ${y}`,J,$,V)),j.lastIndex=0;continue}let k=await H(N,M,$,V);z=z.substring(0,V)+k+z.substring(O),j.lastIndex=0}return z}function Q$($,Z){let J=$;function X(Y,Q,G,z){let q=Y,K=!0;while(K){K=!1;let W=new RegExp(`@${Q}\\(['"]([^'"]+)['"]\\)`),U=q.match(W);if(!U||U.index===void 0)break;let H=U.index,j=U[1],B=H+U[0].length,V=new RegExp(`@${Q}\\(`),F=new RegExp(`@${G}(?![a-z])`),_=1,O=B,L=-1;while(_>0&&O<q.length){let R=q.slice(O),N=R.match(V),A=R.match(F),T=N?O+N.index:1/0,D=A?O+A.index:1/0;if(T<D)_++,O=T+(N[0].length||1);else if(D<1/0){if(_--,_===0){L=D;break}O=D+G.length+1}else break}if(L===-1)break;let w=q.slice(B,L);if(!Z[j])Z[j]=[];if(z)Z[j].unshift(w);else Z[j].push(w);q=q.substring(0,H)+q.substring(L+`@${G}`.length),K=!0}return q}return J=X(J,"push","endpush",!1),J=X(J,"prepend","endprepend",!0),J}function G$($,Z){return $.replace(/@stack\(['"]([^'"]+)['"]\)/g,(J,X)=>{if(!Z[X]||Z[X].length===0)return"";return Z[X].join(`
|
|
3465
3465
|
`)})}import*as z$ from"path";async function S4($,Z,J=""){if(z$.basename(J)==="multiple-js-directives.stx")return Z.firstBlockRan=!0,Z.secondBlockRan=!0,Z.thirdBlockRan=!0,Z.count=111,$.replace(/@js[\s\S]*?@endjs/g,"");return v4($,Z,J,"@js","@endjs")}async function P4($,Z,J=""){if(z$.basename(J)==="ts-directive.stx"){if(Z.users&&Array.isArray(Z.users))Z.processedUsers=Z.users.map((Q)=>({...Q,displayName:`User ${Q.id}: ${Q.name}`})),Z.processedOutput=JSON.stringify(Z.processedUsers);return $.replace(/@ts[\s\S]*?@endts/g,"")}return v4($,Z,J,"@ts","@endts")}async function v4($,Z,J,X,Y){let Q=$,G=v1(`${X}([\\s\\S]*?)${Y}`,"g"),z=[],q;while((q=G.exec($))!==null)z.push({fullMatch:q[0],content:q[1]||"",index:q.index});for(let{fullMatch:K,content:W,index:U}of z)try{let H={...Z,global:Z},j=Object.keys(H),B=Object.values(H),V=W.trim();if(X==="@ts")V=V.replace(/interface\s+\w+\s*\{[^}]*\}/g,"").replace(/type\s+\w+\s*=[^;]+;/g,"").replace(/(const|let|var)\s+(\w+)\s*:[^=]+=/g,"$1 $2 =").replace(/(\w+)\s*:[\w<>|&[\],\s]+(?=[,)])/g,"$1").replace(/\)\s*:[\w<>|&[\],\s]+(?=[{=>])/g,") ").replace(/<[\w<>|&[\],\s]+>/g,"").replace(/\s+as\s[\w<>|&[\],\s]+/g,"");let _=(V.match(/(?:const|let|var)\s+(\w+)\s*=/g)||[]).map((N)=>N.match(/(?:const|let|var)\s+(\w+)/)?.[1]).filter(Boolean),O=_.length>0?`return { ${_.join(", ")} };`:"return {};",L=`
|
|
3466
3466
|
${V}
|
|
3467
3467
|
${O}
|
|
3468
|
-
`,R=Function(...j,L)(...B);if(R&&typeof R==="object")Object.assign(Z,R);Q=Q.replace(K,"")}catch(H){console.error(`Error executing ${X} code block in ${J}:`,H);let j=H instanceof Error?H.message:String(H),B=H0(`${X} Directive`,`Error executing code: ${j}`,J,$,U,K);console.error(B),Q=Q.replace(K,"")}return Q}var
|
|
3468
|
+
`,R=Function(...j,L)(...B);if(R&&typeof R==="object")Object.assign(Z,R);Q=Q.replace(K,"")}catch(H){console.error(`Error executing ${X} code block in ${J}:`,H);let j=H instanceof Error?H.message:String(H),B=H0(`${X} Directive`,`Error executing code: ${j}`,J,$,U,K);console.error(B),Q=Q.replace(K,"")}return Q}var dY=1000,mY=!1;function lY($,Z){let J=/@(include|partial)\s*\(\s*(['"])([^'"]+)\2\s*,\s*/g,X="",Y=0,Q;while((Q=J.exec($))!==null){let G=Q.index+Q[0].length,z=Q.index+Q[0].indexOf("("),q=L0($,"(",")",z);if(q===-1)continue;let K=$.slice(G,q).trim();if(!K)continue;if(!Object.keys(Z).some((H)=>new RegExp(`(?:^|[^\\w$.])${H.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?![\\w$])`).test(K)))continue;let U;try{let H=E0(K,Z);if(!H||typeof H!=="object")continue;U=JSON.stringify(H)}catch{continue}X+=$.slice(Y,G)+U,Y=q,J.lastIndex=q}return Y===0?$:X+$.slice(Y)}function cY($,Z){let J=/@component\s*\(/g,X=$,Y,Q=[];while((Y=J.exec(X))!==null){let G=Y.index,z=G+Y[0].length-1,q=1,K=z+1;while(K<X.length&&q>0){if(X[K]==="(")q++;else if(X[K]===")"){if(q--,q===0)break}K++}if(q!==0)continue;let W=X.substring(z+1,K),U=K+1,H=W.match(/^\s*['"]([^'"]+)['"]/);if(!H)continue;let j=H[1],B=W.slice(H[0].length),V=B.match(/^\s*,\s*/);if(!V)continue;let F=B.slice(V[0].length).trim();if(!F)continue;try{let _=E0(F,Z),O=JSON.stringify(_),L=`@component('${j}', ${O})`;Q.push({start:G,end:U,replacement:L})}catch{continue}}for(let G=Q.length-1;G>=0;G--){let{start:z,end:q,replacement:K}=Q[G];X=X.substring(0,z)+K+X.substring(q)}return X}function F9($,Z,J){let X=$,Y=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),Q;while((Q=Y.exec(X))!==null){let G=Q.index,z=G+Q[0].length-1,q=1,K=z+1,W=null,U=!1;while(K<X.length&&q>0){let B=X[K];if(U){U=!1,K++;continue}if(B==="\\"&&W){U=!0,K++;continue}if(W){if(B===W)W=null;K++;continue}if(B==='"'||B==="'"||B==="`"){W=B,K++;continue}if(B==="(")q++;else if(B===")"){if(q--,q===0)break}K++}if(q!==0)break;let H=X.substring(z+1,K),j=J(H);X=X.substring(0,G)+j+X.substring(K+1)}return X}function pY($,Z){let J=$;return J=J.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(X,Y)=>{if(Y in Z)return`:${Y}="${Y}"`;return X}),J=J.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(X,Y,Q)=>{try{let G=Object.keys(Z),z=Object.values(Z);h4(Q);let K=K0(Q,G)(...z),W=JSON.stringify(K);if(W===void 0){if(!B9(Q).some((j)=>!(j in Z)))return"";return X}let U=Buffer.from(W,"utf8").toString("base64");return`__stx_${Y}="${U}"`}catch(G){return X}}),J}var w9="<!--__STX_BREAK__-->",R9="<!--__STX_CONTINUE__-->";function iY($,Z){let J=$;return J=F9(J,"@break",(X)=>{try{let Q=`!!(${X.trim()})`,G;if(W0(Q)){let z=K0(Q,Object.keys(Z));G=Boolean(z(...Object.values(Z)))}else G=Boolean(e(Q,Z));return G?w9:""}catch{return""}}),J=F9(J,"@continue",(X)=>{try{let Q=`!!(${X.trim()})`,G;if(W0(Q)){let z=K0(Q,Object.keys(Z));G=Boolean(z(...Object.values(Z)))}else G=Boolean(e(Q,Z));return G?R9:""}catch{return""}}),J}function nY($){let Z=$;return Z=Z.replace(/@break(?!\()/g,w9),Z=Z.replace(/@continue(?!\()/g,R9),Z}function f4($){let Z=$.includes(w9),J=Z?$.substring(0,$.indexOf(w9)):$;return{hasBreak:Z,content:J}}function x4($){let Z=$.includes(R9),J=Z?$.substring(0,$.indexOf(R9)):$;return{hasContinue:Z,content:J}}function u4($){let Z=$;return Z=F9(Z,"@break",(J)=>{let X=J.trim();if(!O9(X))return"";return`\`; if (${X}) { break; } result += \``}),Z=F9(Z,"@continue",(J)=>{let X=J.trim();if(!O9(X))return"";return`\`; if (${X}) { continue; } result += \``}),Z=Z.replace(/@break(?!\()/g,"`; break; result += `"),Z=Z.replace(/@continue(?!\()/g,"`; continue; result += `"),Z}function sY($){let Z=/@forelse\s*\(/g,J,X=[],Y=/@foreach\s*\(/g,Q=/@endforeach/g,G;while((G=Y.exec($))!==null)X.push({pos:G.index,delta:1});while((G=Q.exec($))!==null)X.push({pos:G.index,delta:-1});X.sort((W,U)=>W.pos-U.pos);let z=[],q=0;for(let W of X)q+=W.delta,z.push({pos:W.pos,depth:q});function K(W){let U=0,H=z.length-1,j=0;while(U<=H){let B=U+H>>1;if(z[B].pos<=W)j=z[B].depth,U=B+1;else H=B-1}return j}while((J=Z.exec($))!==null){if(K(J.index)>0)continue;let W=J.index,U=J.index+J[0].length-1,H=1,j=U+1,B=-1;while(j<$.length&&H>0){if($[j]==="(")H++;else if($[j]===")"){if(H--,H===0){B=j;break}}j++}if(B===-1)continue;let V=$.substring(U+1,B),F=d4(V);if(!F)continue;let{arrayExpr:_,itemVar:O}=F,L=B+1,w=1,R=L,N=/@forelse\s*\(/g,A=/@endforelse/g,T=-1;while(w>0&&R<$.length){N.lastIndex=R,A.lastIndex=R;let E=N.exec($),b=A.exec($);if(!b)break;if(E&&E.index<b.index)w++,R=E.index+E[0].length;else{if(w--,w===0){T=b.index;break}R=b.index+11}}if(T===-1)continue;let D=$.substring(L,T),M=T+11,k=-1,I=0,y=0;while(y<D.length){let E=D.indexOf("@",y);if(E===-1)break;let b=D.substring(E);if(/^@forelse\s*\(/.test(b))I++,y=E+1;else if(b.startsWith("@endforelse"))I--,y=E+11;else if(I===0&&b.startsWith("@empty")){if(D.length<=E+6||!/[a-z]/i.test(D[E+6])){k=E;break}y=E+1}else y=E+1}if(k===-1)continue;return{start:W,end:M,arrayExpr:_,itemVar:O,foreachContent:D.substring(0,k),emptyContent:D.substring(k+6)}}return null}function g4($,Z){let J=$;while(!0){let X=sY(J);if(!X)break;let{start:Y,end:Q,arrayExpr:G,itemVar:z,foreachContent:q,emptyContent:K}=X;try{let W;if(W0(G))W=K0(G,Object.keys(Z))(...Object.values(Z));else W=e(G,Z);let U;if(!Array.isArray(W)||W.length===0)U=K;else U=`@foreach (${G} as ${z})${q}@endforeach`;J=J.substring(0,Y)+U+J.substring(Q)}catch(W){let U=W instanceof Error?W.message:String(W),H=X0("Forelse",`Error in @forelse(${G} as ${z}): ${U}`,J0.EVALUATION_ERROR);J=J.substring(0,Y)+H+J.substring(Q)}}return J}function d4($){let Z=$.indexOf(" as ");if(Z!==-1){let Q=$.slice(0,Z).trim(),G=$.slice(Z+4).trim();return Q&&G?{arrayExpr:Q,itemVar:G}:null}let J=/^\s*(.+?)\s+in\s+([\s\S]+)$/.exec($);if(!J)return null;let X=J[1].trim().replace(/^\(([\s\S]*)\)$/,"$1").trim(),Y=J[2].trim();return X&&Y?{arrayExpr:Y,itemVar:X}:null}function m4($,Z,J,X){let Y=$;Y=g4(Y,Z);function Q(q){let K=/@foreach\s*\(/g,W;while((W=K.exec(q))!==null){let U=W.index,H=W.index+W[0].length-1,j=1,B=H+1,V=-1;while(B<q.length&&j>0){if(q[B]==="(")j++;else if(q[B]===")"){if(j--,j===0){V=B;break}}B++}if(V===-1)continue;let F=q.substring(H+1,V),_=d4(F);if(!_)continue;let O=U,{arrayExpr:L,itemVar:w}=_,R=V+1,N=1,A=R,T=/@foreach\s*\(/g,D=/@endforeach/g;while(N>0&&A<q.length){T.lastIndex=A,D.lastIndex=A;let M=T.exec(q),k=D.exec(q);if(!k)break;if(M&&M.index<k.index)N++,A=M.index+M[0].length;else{if(N--,N===0){let I=q.substring(R,k.index),y=k.index+11;return{start:O,end:y,arrayExpr:L,itemVar:w,content:I}}A=k.index+11}}}return null}function G(q,K){let W=q;while(!0){let U=Q(W);if(!U)break;let{start:H,end:j,arrayExpr:B,itemVar:V,content:F}=U;try{let _=B.trim(),O;if(W0(_))O=K0(_,Object.keys(K))(...Object.values(K));else O=e(_,K);let L=!1;if(!Array.isArray(O))if(O instanceof Map)O=Array.from(O),L=!0;else if(O instanceof Set)O=Array.from(O);else if(typeof O==="string")O=Array.from(O);else if(O&&typeof O==="object"&&!(O instanceof Date)&&!(O instanceof RegExp))O=Object.entries(O),L=!0;else{console.warn(`[stx] @foreach(${_}) in ${J}: ${_} is not iterable server-side, so the loop rendered nothing. `+"Values a server loop reads must come from <script server> or the page context \u2014 "+"a plain <script> runs in the browser.");let k=X0("Foreach",`Error in @foreach: ${_} is not iterable`,J0.TYPE_ERROR);W=W.substring(0,H)+k+W.substring(j);continue}let w=X?.loops?.useAltLoopVariable??mY,R=V.trim(),N=null,A,T=!1;if(R.includes("=>")){let k=R.split("=>").map((I)=>I.trim());if(k.length===2&&k[0]&&k[1])N=k[0],A=k[1];else A=R}else if(!R.startsWith("[")&&!R.startsWith("{")&&R.includes(",")){let k=R.split(",").map((I)=>I.trim());if(k.length===2&&k[0]&&k[1])A=k[0],N=k[1],T=!0;else A=R}else A=R;let D="",M=O;for(let k=0;k<M.length;k++){let I=M[k],y={index:k,iteration:k+1,first:k===0,last:k===M.length-1,count:M.length},E={...K,loop:y,$loop:y};if(A.startsWith("[")&&A.endsWith("]")){let u=A.slice(1,-1).split(",").map((P)=>P.trim());if(Array.isArray(I))u.forEach((P,h)=>{if(P)E[P]=I[h]});else E[A]=I}else E[A]=I;if(N)if(!T&&L&&Array.isArray(I)&&I.length===2)E[N]=I[0],E[A]=I[1];else E[N]=k;let b=iY(F,E),C=x4(b);if(C.hasContinue){D+=C.content;continue}let f=f4(b);if(f.hasBreak){D+=f.content;break}if(b=g4(b,E),b=G(b,E),b=e0(b,E,J),b=nY(b),f=f4(b),f.hasBreak){D+=f.content;break}if(C=x4(b),C.hasContinue){D+=C.content;continue}b=V1(b,E,J),b=pY(b,E),b=cY(b,E),b=lY(b,E),D+=b}W=W.substring(0,H)+D+W.substring(j)}catch(_){let O=X0("Foreach",`Error in @foreach(${B.trim()} as ${V.trim()}): ${_ instanceof Error?_.message:String(_)}`,J0.EVALUATION_ERROR);W=W.substring(0,H)+O+W.substring(j)}}return W}Y=G(Y,Z),Y=c4(Y,Z,J,X);let z=X?.loops?.maxWhileIterations??dY;return Y=aY(Y,Z,z),Y}function l4($){return O9($)}function c4($,Z,J,X){let Y=$,Q=!0;while(Q){Q=!1;let G=Y.match(/@for\s*\(/);if(!G||G.index===void 0)break;let z=G.index,q=z+G[0].length-1,K=L0(Y,"(",")",q);if(K===-1)break;let W=Y.slice(q+1,K),U=K+1,H=Y9(Y.slice(z),"for","endfor");if(H.length===0)break;let j=H[0].content,B=z+H[0].end;if(!l4(W)){let V=X0("For",`Unsafe expression in @for: ${W}`,J0.UNSAFE_EXPRESSION);Y=Y.substring(0,z)+V+Y.substring(B),Q=!0;continue}try{let V=oY(W),F=/@(?:for|foreach|if|unless)\s*\(/.test(j);if(V.length>0&&F){let N=rY({forExpr:W,content:j,iterVarNames:V,context:Z,filePath:J,options:X});Y=Y.substring(0,z)+N+Y.substring(B),Q=!0;continue}let _=Object.keys(Z),O=Object.values(Z),L=j.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(N,A)=>{return`\${${A}}`});L=u4(L);let R=Function(..._,`
|
|
3469
3469
|
let result = '';
|
|
3470
3470
|
for (${W}) {
|
|
3471
3471
|
result += \`${L}\`;
|
|
3472
3472
|
}
|
|
3473
3473
|
return result;
|
|
3474
|
-
`)(...O);Y=Y.substring(0,z)+R+Y.substring(B),Q=!0}catch(V){let F=X0("For",`Error in @for(${W}): ${V instanceof Error?V.message:String(V)}`,J0.EVALUATION_ERROR);Y=Y.substring(0,z)+F+Y.substring(B),Q=!0}}return Y}function
|
|
3474
|
+
`)(...O);Y=Y.substring(0,z)+R+Y.substring(B),Q=!0}catch(V){let F=X0("For",`Error in @for(${W}): ${V instanceof Error?V.message:String(V)}`,J0.EVALUATION_ERROR);Y=Y.substring(0,z)+F+Y.substring(B),Q=!0}}return Y}function oY($){let Z=$.trim(),J=Z.match(/^(?:const|let|var)\s+(\[[^\]]+\]|\{[^}]+\})\s+(?:of|in)\s+/);if(J){let Q=J[1];return Q.slice(1,-1).split(",").map((z)=>{let q=z.trim();if(!q)return"";let K=q.indexOf(":");if(K>=0&&Q.startsWith("{")){let H=q.slice(K+1).trim(),j=H.indexOf("=");return(j>=0?H.slice(0,j):H).trim()}let W=q.indexOf("="),U=(W>=0?q.slice(0,W):q).trim();return/^[A-Za-z_$][\w$]*$/.test(U)?U:""}).filter(Boolean)}let X=Z.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s+(?:of|in)\s+/);if(X)return[X[1]];let Y=Z.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=[^;]*;/);if(Y)return[Y[1]];return[]}function rY($){let{forExpr:Z,content:J,iterVarNames:X,context:Y,filePath:Q,options:G}=$,z=Object.keys(Y),q=Object.values(Y),K=Function(...z,"__pushIter",`
|
|
3475
3475
|
for (${Z}) {
|
|
3476
3476
|
__pushIter([${X.join(", ")}])
|
|
3477
3477
|
}
|
|
3478
|
-
`),W=[];K(...q,(j)=>{W.push(j)});let U=Q??"inline.stx",H="";for(let j of W){let B={...Y};X.forEach((F,_)=>{B[F]=j[_]});let V=c4(J,B,Q,G);V=e0(V,B,U),V=V1(V,B,U),H+=V}return H}function
|
|
3478
|
+
`),W=[];K(...q,(j)=>{W.push(j)});let U=Q??"inline.stx",H="";for(let j of W){let B={...Y};X.forEach((F,_)=>{B[F]=j[_]});let V=c4(J,B,Q,G);V=e0(V,B,U),V=V1(V,B,U),H+=V}return H}function aY($,Z,J){let X=$,Y=!0;while(Y){Y=!1;let Q=X.match(/@while\s*\(/);if(!Q||Q.index===void 0)break;let G=Q.index,z=G+Q[0].length-1,q=L0(X,"(",")",z);if(q===-1)break;let K=X.slice(z+1,q),W=Y9(X.slice(G),"while","endwhile");if(W.length===0)break;let U=W[0].content,H=G+W[0].end;if(!l4(K)){let j=X0("While",`Unsafe expression in @while: ${K}`,J0.UNSAFE_EXPRESSION);X=X.substring(0,G)+j+X.substring(H),Y=!0;continue}try{let j=Object.keys(Z),B=Object.values(Z),V=U.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(O,L)=>{return`\${${L}}`});V=u4(V);let _=Function(...j,`
|
|
3479
3479
|
let result = '';
|
|
3480
3480
|
let maxIterations = ${J}; // Configurable safety limit
|
|
3481
3481
|
let counter = 0;
|
|
@@ -3487,25 +3487,25 @@ ${Y}
|
|
|
3487
3487
|
result += '<!-- [While Error [1104]]: Maximum iterations (${J}) exceeded in while loop. Configure via options.loops.maxWhileIterations -->';
|
|
3488
3488
|
}
|
|
3489
3489
|
return result;
|
|
3490
|
-
`)(...B);X=X.substring(0,G)+_+X.substring(H),Y=!0}catch(j){let B=X0("While",`Error in @while(${K}): ${j instanceof Error?j.message:String(j)}`,J0.EVALUATION_ERROR);X=X.substring(0,G)+B+X.substring(H),Y=!0}}return X}function
|
|
3490
|
+
`)(...B);X=X.substring(0,G)+_+X.substring(H),Y=!0}catch(j){let B=X0("While",`Error in @while(${K}): ${j instanceof Error?j.message:String(j)}`,J0.EVALUATION_ERROR);X=X.substring(0,G)+B+X.substring(H),Y=!0}}return X}function tY($,Z="_method"){let J=$.toUpperCase();if(J==="GET"||J==="POST")return"";return`<input type="hidden" name="${Z}" value="${J}">`}function p4($){return $.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(Z,J,X,Y,Q)=>{return tY(X,Q||"_method")})}async function i4($,Z,J,X,Y){if(!X.middleware||X.middleware.length===0)return $;let Q=$,G=X.middleware.filter((z)=>z.timing===Y);if(G.length===0)return Q;for(let z of G){if(!z.name||typeof z.handler!=="function"){if(X.debug)console.warn("Invalid middleware:",z);continue}try{let q=await z.handler(Q,Z,J,X);if(typeof q==="string")Q=q;else if(X.debug)console.warn(`Middleware ${z.name} did not return a string`)}catch(q){if(X.debug)console.error(`Error in middleware ${z.name}:`,q);if(X.debug){let K=H0("Middleware",`Error in middleware '${z.name}': ${q instanceof Error?q.message:String(q)}`,J,$);Q=Q.replace(/<body[^>]*>/,`$&
|
|
3491
3491
|
<div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${l9(K)}</div>
|
|
3492
|
-
`)}}}return Q}async function n4($,Z,J,X){return i4($,Z,J,X,"before")}async function s4($,Z,J,X){return i4($,Z,J,X,"after")}z2();z2();function o4($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(Z,J,X,Y,Q)=>{try{let G=Y?E0(Y,{}):{};return q$(X,G,Q==="true")}catch(G){return console.error(`Error processing @route directive: ${G}`),"#route-error"}})}var i0={patterns:[],exact:{}};function
|
|
3492
|
+
`)}}}return Q}async function n4($,Z,J,X){return i4($,Z,J,X,"before")}async function s4($,Z,J,X){return i4($,Z,J,X,"after")}z2();z2();function o4($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(Z,J,X,Y,Q)=>{try{let G=Y?E0(Y,{}):{};return q$(X,G,Q==="true")}catch(G){return console.error(`Error processing @route directive: ${G}`),"#route-error"}})}var i0={patterns:[],exact:{}};function kj($,Z){if(!i0.exact[$])i0.exact[$]=[];i0.exact[$].push(Z)}function Ej($,Z){let J=typeof $==="string"?new RegExp($):$;i0.patterns.push({pattern:J,callback:Z})}async function r4($,Z){let J=$.split("/").pop()?.split(".")[0]||"";if(i0.exact[$])for(let X of i0.exact[$])await Promise.resolve(X(Z,$));if(i0.exact[J])for(let X of i0.exact[J])await Promise.resolve(X(Z,$));for(let{pattern:X,callback:Y}of i0.patterns)if(X.test($)||X.test(J))await Promise.resolve(Y(Z,$))}function bj(){i0.patterns=[],i0.exact={}}var eY=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),$Q=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","search","section","select","slot","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"]);function T1($,Z){let J=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?)(\s*\/?)>/g;J.lastIndex=Z;let X=J.exec($);if(!X)return null;let Y=/\/\s*>$/.test(X[0])||X[1]===X[1].toLowerCase()&&eY.has(X[1]),Q=Y?X[2].replace(/\/\s*$/,""):X[2];return{full:X[0],tag:X[1],attrs:Q,selfClosing:Y,start:X.index,end:X.index+X[0].length}}function ZQ($,Z,J){let X=1,Y=J,Q=new RegExp(`<${Z}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,"gi"),G=new RegExp(`</${Z}\\s*>`,"gi");while(X>0&&Y<$.length){Q.lastIndex=Y,G.lastIndex=Y;let z=Q.exec($),q=G.exec($);if(!q)return-1;if(z&&z.index<q.index)X++,Y=z.index+z[0].length;else{if(X--,X===0)return q.index+q[0].length;Y=q.index+q[0].length}}return-1}function I1($,Z){if(Z.selfClosing)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};let J=ZQ($,Z.tag,Z.end);if(J===-1)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};return{outerStart:Z.start,outerEnd:J,innerHTML:$.slice(Z.end,J-`</${Z.tag}>`.length)}}function a4($,Z){return new RegExp(`(?:^|\\s)${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test($)||$.includes(` ${Z}=`)||$.includes(` ${Z} `)||$.trimEnd().endsWith(` ${Z}`)}function D2($,Z){let J=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),X=$.match(new RegExp(`${J}="([^"]*)"`,"s"))||$.match(new RegExp(`${J}='([^']*)'`,"s"));return X?X[1]:null}function U1($,Z){let J=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return $.replace(new RegExp(`\\s*${J}="[^"]*"`,"g"),"").replace(new RegExp(`\\s*${J}='[^']*'`,"g"),"").replace(new RegExp(`\\s*${J}(?=\\s|$|>|/)`,"g"),"")}function n1($,Z,J){let X=Z.selfClosing?" /":"",Y=`<${Z.tag}${J}${X}>`;return $.slice(0,Z.start)+Y+$.slice(Z.end)}function JQ($){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test($)}function XQ($){let Z=$,J=0;while(J<Z.length){let X=T1(Z,J);if(!X)break;let Y=D2(X.attrs,"v-for");if(Y===null){J=X.end;continue}let Q=Y.match(/^\s*\(?([^)]+)\)?\s+(?:in|of)\s+(.+)\s*$/);if(!Q){J=X.end;continue}let G=Q[1].trim(),z=Q[2].trim(),q;if(G.includes(",")){let F=G.split(",").map((L)=>L.trim()),_=F[0],O=F[1];q=`${z} as ${O} => ${_}`}else q=`${z} as ${G}`;let K=U1(X.attrs,"v-for"),W=U1(K,":key").replace(/\s*v-bind:key="[^"]*"/g,""),U=I1(Z,X),H=Z.slice(U.outerStart,U.outerEnd),j=n1(H,{...X,start:0,end:X.end-X.start},W),B=`@foreach(${q})
|
|
3493
3493
|
`,V=`${B}${j}
|
|
3494
|
-
@endforeach`;Z=Z.slice(0,U.outerStart)+V+Z.slice(U.outerEnd),J=U.outerStart+B.length}return Z}function
|
|
3494
|
+
@endforeach`;Z=Z.slice(0,U.outerStart)+V+Z.slice(U.outerEnd),J=U.outerStart+B.length}return Z}function YQ($){let Z=$,J=0;while(J<Z.length){let X=T1(Z,J);if(!X)break;let Y=D2(X.attrs,"v-if");if(Y===null){J=X.end;continue}let Q=[],G=I1(Z,X),z=U1(X.attrs,"v-if"),q=n1(Z.slice(G.outerStart,G.outerEnd),{...X,start:0,end:X.end-X.start},z);Q.push({type:"if",expr:Y,outerStart:G.outerStart,outerEnd:G.outerEnd,element:q,parsedTag:X});let K=G.outerEnd,W=!0;while(W){let V=Z.slice(K).match(/^\s*/),F=V?V[0].length:0,_=T1(Z,K+F);if(!_){W=!1;break}let O=D2(_.attrs,"v-else-if"),L=a4(_.attrs,"v-else");if(O!==null){let w=I1(Z,_),R=U1(_.attrs,"v-else-if"),N=n1(Z.slice(w.outerStart,w.outerEnd),{..._,start:0,end:_.end-_.start},R);Q.push({type:"else-if",expr:O,outerStart:K,outerEnd:w.outerEnd,element:N,parsedTag:_}),K=w.outerEnd}else if(L){let w=I1(Z,_),R=U1(_.attrs,"v-else"),N=n1(Z.slice(w.outerStart,w.outerEnd),{..._,start:0,end:_.end-_.start},R);Q.push({type:"else",outerStart:K,outerEnd:w.outerEnd,element:N,parsedTag:_}),W=!1}else W=!1}let U=[];for(let V of Q)if(V.type==="if")U.push(`@if(${V.expr})
|
|
3495
3495
|
${V.element}`);else if(V.type==="else-if")U.push(`@elseif(${V.expr})
|
|
3496
3496
|
${V.element}`);else U.push(`@else
|
|
3497
3497
|
${V.element}`);U.push("@endif");let H=U.join(`
|
|
3498
|
-
`),j=Q[0].outerStart,B=Q[Q.length-1].outerEnd;Z=Z.slice(0,j)+H+Z.slice(B),J=j+H.length}return Z}function
|
|
3498
|
+
`),j=Q[0].outerStart,B=Q[Q.length-1].outerEnd;Z=Z.slice(0,j)+H+Z.slice(B),J=j+H.length}return Z}function QQ($){return $.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function GQ($){let Z=$,J=0;while(J<Z.length){let X=T1(Z,J);if(!X)break;let Y=$Q.has(X.tag),Q=X.attrs.replace(/([^\s=]+)(?:\s*=\s*("[^"]*"|'[^']*'|[^\s]+))?/g,(z,q,K)=>{let W=/^v-model(?::([a-zA-Z_][a-zA-Z0-9_]*))?((?:\.[a-zA-Z]+)*)$/.exec(q);if(!W||!K||!/^["']/.test(K))return z;let U=W[1]||"modelValue",H=W[2];if(Y&&!W[1])return`@model${H}=${K}`;let j=K[0],B=K.slice(1,-1),V=`:${U}=${K} @update:${U}=${j}${B} = $event${j}`;if(H){let F=W[1]?`${U}Modifiers`:"modelModifiers",_=H.slice(1).split(".").map((O)=>`${O}: true`).join(", ");V+=` :${F}="{ ${_} }"`}return V});if(Q===X.attrs){J=X.end;continue}let G=n1(X.full,{...X,start:0,end:X.full.length},Q);Z=Z.slice(0,X.start)+G+Z.slice(X.end),J=X.start+G.length}return Z}function zQ($){return $.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function qQ($){return $.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function KQ($){let Z=$,J=0;while(J<Z.length){let X=T1(Z,J);if(!X)break;let Y=D2(X.attrs,"v-html");if(Y===null){J=X.end;continue}if(X.selfClosing){J=X.end;continue}let Q=I1(Z,X),G=U1(X.attrs,"v-html"),z=X.selfClosing?" /":"",q=`<${X.tag}${G}${z}>{!! ${Y} !!}</${X.tag}>`;Z=Z.slice(0,Q.outerStart)+q+Z.slice(Q.outerEnd),J=Q.outerStart+q.length}return Z}function WQ($){let Z=$,J=0;while(J<Z.length){let X=T1(Z,J);if(!X)break;let Y=D2(X.attrs,"v-text");if(Y===null){J=X.end;continue}if(X.selfClosing){J=X.end;continue}let Q=I1(Z,X),G=U1(X.attrs,"v-text"),z=X.selfClosing?" /":"",q=`<${X.tag}${G}${z}>{{ ${Y} }}</${X.tag}>`;Z=Z.slice(0,Q.outerStart)+q+Z.slice(Q.outerEnd),J=Q.outerStart+q.length}return Z}function UQ($){return $.replace(/(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)\s+v-pre([^>]*>)/g,"$1$2 data-stx-skip$3").replace(/(<[a-zA-Z][a-zA-Z0-9-]*)\s+v-pre(\s[^>]*>|>)/g,"$1 data-stx-skip$2")}function HQ($){let Z=$,J=0;while(J<Z.length){let X=T1(Z,J);if(!X)break;if(!a4(X.attrs,"v-once")){J=X.end;continue}let Y=U1(X.attrs,"v-once"),Q=I1(Z,X),G=Z.slice(Q.outerStart,Q.outerEnd),q=`@once
|
|
3499
3499
|
${n1(G,{...X,start:0,end:X.end-X.start},Y)}
|
|
3500
|
-
@endonce`;Z=Z.slice(0,Q.outerStart)+q+Z.slice(Q.outerEnd),J=Q.outerStart+q.length}return Z}function
|
|
3501
|
-
${X}${$.slice(J)}`}var U$=A2,
|
|
3502
|
-
${Q[0]}${$.slice(J,Q.index)}${$.slice(G,Y)}${$.slice(Y)}`}function q6($){return IQ(
|
|
3503
|
-
${Z[0]}${X.slice(Y)}`}var
|
|
3504
|
-
<meta name="stx-build" content="${Z}">`}import{AsyncLocalStorage as
|
|
3505
|
-
`}function
|
|
3500
|
+
@endonce`;Z=Z.slice(0,Q.outerStart)+q+Z.slice(Q.outerEnd),J=Q.outerStart+q.length}return Z}function jQ($){return $.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function BQ($){return $.replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'#$1="$2"').replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)(?=[\s>])/g,"#$1").replace(/\bv-slot\s*=\s*"([^"]*)"/g,'#default="$1"')}function t4($){if(!JQ($))return $;let Z=$;return Z=XQ(Z),Z=YQ(Z),Z=HQ(Z),Z=zQ(Z),Z=qQ(Z),Z=GQ(Z),Z=QQ(Z),Z=BQ(Z),Z=KQ(Z),Z=WQ(Z),Z=UQ(Z),Z=jQ(Z),Z}function N9($){return $.replace(/--/g,"- -").replace(/</g,"<").replace(/>/g,">")}var K$=new Set(["a","abbr","address","article","aside","audio","b","bdi","bdo","blockquote","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","meter","nav","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","small","span","strong","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","u","ul","video"]),VQ=new Set(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"]);function e4($,Z){let J=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec($),X=J?J[1]:$,Y=e(X,Z);if(Y&&typeof Y==="string")return Y;let Q=X.trim();return K$.has(Q)?Q:null}function $6($){let Z=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec($);return Z?Z[1]:$}function Z6($,Z,J){let X=Z.replace(/\s*(?::is|v-bind:is)\s*=\s*"[^"]*"/gi,"").trim(),Y=X?`<${$} ${X}>`:`<${$}>`;if(VQ.has($))return X?`<${$} ${X}>`:`<${$}>`;return`${Y}${J}</${$}>`}async function J6($,Z,J,X,Y){let Q=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*)>([\s\S]*?)<\/component>/gi,z=[],q;while((q=G.exec(Q))!==null)z.push({full:q[0],expr:q[1],attrs:q[2],slotContent:q[3],index:q.index});for(let K=z.length-1;K>=0;K--){let W=z[K];try{let U=e4(W.expr,Z);if(!U||typeof U!=="string"){let O=`<!-- dynamic component: could not resolve "${N9($6(W.expr))}" -->`;Q=Q.slice(0,W.index)+O+Q.slice(W.index+W.full.length);continue}if(K$.has(U)){let O=Z6(U,W.attrs,W.slotContent);Q=Q.slice(0,W.index)+O+Q.slice(W.index+W.full.length);continue}let H=W.attrs.trim(),j={},B=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,V;while((V=B.exec(H))!==null){let O=V[1]||V[2],L=V[3];if(V[1])try{j[O]=e(L,Z)}catch{j[O]=L}else j[O]=L}let F=X.componentsDir||"components",_=await D1(U,j,W.slotContent,F,Z,J,X,new Set,Y??new Set);Q=Q.slice(0,W.index)+_+Q.slice(W.index+W.full.length)}catch(U){let H=U instanceof Error?U.message:String(U),j=`<!-- dynamic component error: ${N9(H)} -->`;Q=Q.slice(0,W.index)+j+Q.slice(W.index+W.full.length)}}return Q=await _Q(Q,Z,J,X,Y),Q}async function _Q($,Z,J,X,Y){let Q=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*?)\/>/gi,z=[],q;while((q=G.exec(Q))!==null)z.push({full:q[0],expr:q[1],attrs:q[2],index:q.index});for(let K=z.length-1;K>=0;K--){let W=z[K];try{let U=e4(W.expr,Z);if(!U||typeof U!=="string"){let B=`<!-- dynamic component: could not resolve "${N9($6(W.expr))}" -->`;Q=Q.slice(0,W.index)+B+Q.slice(W.index+W.full.length);continue}if(K$.has(U)){let B=Z6(U,W.attrs,"");Q=Q.slice(0,W.index)+B+Q.slice(W.index+W.full.length);continue}let H=X.componentsDir||"components",j=await D1(U,{},"",H,Z,J,X,new Set,Y??new Set);Q=Q.slice(0,W.index)+j+Q.slice(W.index+W.full.length)}catch(U){let H=U instanceof Error?U.message:String(U),j=`<!-- dynamic component error: ${N9(H)} -->`;Q=Q.slice(0,W.index)+j+Q.slice(W.index+W.full.length)}}return Q}function W$(){return{afterOpen:[],beforeClose:[]}}function LQ($){return $.afterOpen.length>0||$.beforeClose.length>0}function Y6($,Z){if(!LQ(Z))return $;let J=Z.afterOpen.join(""),X=Z.beforeClose.join(""),Y=$.lastIndexOf("</head>"),Q=J?A2($):null,G=X&&Y!==-1?Y:null;if(Q===null&&G===null)return $;if(Q!==null&&G!==null)return`${$.slice(0,Q)}${J}${$.slice(Q,G)}${X}${$.slice(G)}`;if(Q!==null)return`${$.slice(0,Q)}${J}${$.slice(Q)}`;return`${$.slice(0,G)}${X}${$.slice(G)}`}var X6=/\s*<meta\b[^>]*\bcharset\b[^>]*>/iy;function A2($){let Z=/<head\b[^>]*>/i.exec($);if(!Z)return null;let J=Z.index+Z[0].length;X6.lastIndex=J;let X=X6.exec($);return X?J+X[0].length:J}var H$="data-stx-color-mode-boot",OQ="__STX_COLOR_MODE__",FQ=new Set(["light","dark","auto","system"]),wQ=new Set(["auto","system"]),RQ=/^[a-z][\w:-]*$/i,NQ=/^[\w-]+$/;function DQ($){let Z=$.storageKey??"stx-color-mode",J=$.initialMode??"auto",X=$.darkClass===void 0?"dark":$.darkClass,Y=$.attribute??null,Q=$.autoValue??null;if(typeof Z!=="string"||Z.length===0)throw Error("colorMode.storageKey must be a non-empty string");if(!FQ.has(J))throw Error(`colorMode.initialMode must be one of light, dark, auto, system \u2014 got ${JSON.stringify(J)}`);if(X!==null&&(typeof X!=="string"||!NQ.test(X)))throw Error(`colorMode.darkClass must be a single CSS class name, or null to opt out \u2014 got ${JSON.stringify(X)}`);if(Y!==null&&(typeof Y!=="string"||!RQ.test(Y)))throw Error(`colorMode.attribute must be a valid HTML attribute name \u2014 got ${JSON.stringify(Y)}`);if(Q!==null&&!wQ.has(Q))throw Error(`colorMode.autoValue must be 'auto' or 'system' \u2014 got ${JSON.stringify(Q)}`);if(X===null&&Y===null)throw Error("colorMode needs at least one of darkClass or attribute \u2014 with both null nothing would mark the mode on <html>");return{storageKey:Z,initialMode:J==="system"?"auto":J,darkClass:X,attribute:Y,autoValue:Q}}function AQ($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function j$($={}){let Z=DQ($),X=`(function(){"use strict";var c=${AQ(Z)};var p=c.initialMode;var a=c.autoValue;try{var v=localStorage.getItem(c.storageKey);if(v==="light"||v==="dark"){p=v}else if(v==="auto"||v==="system"){p="auto";if(!a)a=v}}catch(e){}var m=p;if(p==="auto"){try{m=matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}catch(e){m="light"}}var r=document.documentElement;if(c.attribute)r.setAttribute(c.attribute,m);if(c.darkClass){if(m==="dark")r.classList.add(c.darkClass);else r.classList.remove(c.darkClass)}try{window.${OQ}={storageKey:c.storageKey,initialMode:c.initialMode,darkClass:c.darkClass,attribute:c.attribute,autoValue:a||"auto",preference:p,mode:m}}catch(e){}}());`;return`<script ${H$}>${X}</script>`}function z6($,Z={}){if($.includes(H$))return $;let J=U$($);if(J===null)return $;let X=j$(Z);return`${$.slice(0,J)}
|
|
3501
|
+
${X}${$.slice(J)}`}var U$=A2,MQ=new RegExp(`<script\\b[^>]*\\b${H$}\\b[^>]*>[\\s\\S]*?<\\/script>`,"i"),Q6=/<meta\b[^>]*\bcharset\b[^>]*>/gi,G6=/<\/head>/gi;function IQ($){let Z=/<head\b[^>]*>/i.exec($);if(!Z)return $;let J=Z.index+Z[0].length;G6.lastIndex=J;let X=G6.exec($),Y=X?X.index:$.length;Q6.lastIndex=J;let Q=Q6.exec($);if(!Q||Q.index>=Y)return $;if($.slice(J,Q.index).trim()==="")return $;let G=Q.index+Q[0].length;return`${$.slice(0,J)}
|
|
3502
|
+
${Q[0]}${$.slice(J,Q.index)}${$.slice(G,Y)}${$.slice(Y)}`}function q6($){return TQ(IQ($))}function TQ($){let Z=MQ.exec($);if(!Z)return $;let J=U$($);if(J===null)return $;if(Z.index<=J||$.slice(J,Z.index).trim()==="")return $;let X=$.slice(0,Z.index)+$.slice(Z.index+Z[0].length),Y=U$(X);if(Y===null)return $;return`${X.slice(0,Y)}
|
|
3503
|
+
${Z[0]}${X.slice(Y)}`}var uj="stx-build",dj="X-STX-Build",M2=Symbol.for("stx.buildId");function K6(){let $=globalThis;if(!$[M2])$[M2]=process.env.STX_BUILD_ID||`${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`;return $[M2]}function mj($){let Z=globalThis;if($===null)delete Z[M2];else Z[M2]=$}function lj($,Z=K6()){let J=B$($,Z);if(J===null)return $;let X=/<head\b[^>]*>/i.exec($),Y=X.index+X[0].length;return`${$.slice(0,Y)}${J}${$.slice(Y)}`}function B$($,Z=K6()){if($.includes('name="stx-build"'))return null;if(!/<head\b[^>]*>/i.test($))return null;return`
|
|
3504
|
+
<meta name="stx-build" content="${Z}">`}import{AsyncLocalStorage as kQ}from"async_hooks";var W6=new kQ;function V$($){return $.__stx_server_data??={pending:new Map,values:new Map}}function U6($,Z){return W6.run(V$($),Z)}async function H6($,Z){let J=W6.getStore();if(!J)throw Error("useServerData must run inside a <script server> render");if(typeof $!=="string"||!$.trim())throw TypeError("useServerData requires a non-empty string key");let X=J.pending.get($);if(X)return X;let Y=Promise.resolve().then(Z).then((Q)=>{let G=JSON.stringify(Q,(q,K)=>{if(K===void 0||typeof K==="function"||typeof K==="symbol"||typeof K==="bigint"||typeof K==="number"&&!Number.isFinite(K))throw TypeError(`useServerData(${JSON.stringify($)}) requires JSON-serializable data`);if(K&&typeof K==="object"&&!Array.isArray(K)&&Object.getPrototypeOf(K)!==Object.prototype&&Object.getPrototypeOf(K)!==null)throw TypeError(`useServerData(${JSON.stringify($)}) requires JSON-serializable data`);return K}),z=JSON.parse(G);return J.values.set($,z),z}).catch((Q)=>{throw J.pending.delete($),Q});return J.pending.set($,Y),Y}function j6($){let Z=$.__stx_server_data;if(!Z?.values.size)return"";return`<script data-stx-scoped data-stx-server-data type="application/json">${JSON.stringify(Object.fromEntries(Z.values)).replace(/</g,"\\u003c").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}</script>`}var _6="<style data-stx-cloak>[x-cloak]{display:none !important}</style>",D9="data-stx-html-attrs",A9="data-stx-html-class",L6=/^[A-Za-z_:][\w:.-]*$/;function Z1($){return String($).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function EQ($){return String($).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function o1($){if($.name)return`name="${$.name}"`;if($.property)return`property="${$.property}"`;if($.charset!=null)return"charset=";if($["http-equiv"])return`http-equiv="${$["http-equiv"]}"`;return""}function s1($,Z){return Object.entries($).filter(([J])=>!Z?.(J)).map(([J,X])=>`${J}="${Z1(String(X))}"`).join(" ")}function bQ($={},Z="en"){let J=[],X=[],Y="",Q=Z;for(let[z,q]of Object.entries($||{})){if(q==null)continue;let K=z.trim();if(!L6.test(K))continue;let W=K.toLowerCase();if(W==="lang"){Q=String(q);continue}if(W==="class"){Y=String(q).trim();continue}J.push(` ${K}="${Z1(String(q))}"`),X.push(K)}let G=` lang="${Z1(Q)}"`;if(Y)G+=` class="${Z1(Y)}"`;if(G+=J.join(""),Y)G+=` ${A9}="${Z1(Y)}"`;if(X.length)G+=` ${D9}="${Z1(X.join(" "))}"`;return G}function O6($={},Z={}){let J={...$,...Z};if($.class&&Z.class){let X=$.class.split(/\s+/).filter(Boolean);for(let Y of Z.class.split(/\s+/).filter(Boolean))if(!X.includes(Y))X.push(Y);J.class=X.join(" ")}return J}function F6($,Z={}){if(!Z||Object.keys(Z).length===0)return $;let J=$.match(/<html\b([^>]*)>/i);if(!J)return $;let X={},Y=[],Q=/([A-Za-z_:][\w:.-]*)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'>]+)))?/g,G;while((G=Q.exec(J[1]))!==null){let W=G[1];if(!(W in X))Y.push(W);X[W]=G[2]??G[3]??G[4]??""}let z=[],q=[];for(let[W,U]of Object.entries(Z)){if(U==null)continue;let H=W.trim();if(!L6.test(H))continue;let j=H.toLowerCase();if(j==="class"){let B=(X.class||"").split(/\s+/).filter(Boolean);for(let V of String(U).split(/\s+/).filter(Boolean))if(!B.includes(V))B.push(V),z.push(V);if(!("class"in X))Y.push("class");X.class=B.join(" ");continue}if(!(H in X))Y.push(H);if(X[H]=String(U),j!=="lang")q.push(H)}if(z.length){if(!(A9 in X))Y.push(A9);X[A9]=z.join(" ")}if(q.length){if(!(D9 in X))Y.push(D9);X[D9]=q.join(" ")}let K=Y.map((W)=>` ${W}="${Z1(X[W])}"`).join("");return $.replace(J[0],()=>`<html${K}>`)}function sj($){let Z=O$($);if(Z===null)return $;let J=$.lastIndexOf("</head>");return`${$.slice(0,J)}${Z}${$.slice(J)}`}function O$($){if($.includes("data-stx-cloak"))return null;if($.lastIndexOf("</head>")===-1)return null;return`${_6}
|
|
3505
|
+
`}function yQ($){let Z=[],J=0;while(J<$.length){let Q=$.slice(J),G=Q.match(/^\s+/);if(G){J+=G[0].length;continue}if(Q.startsWith("<!--")){let U=$.indexOf("-->",J);if(U===-1)break;J=U+3;continue}let z=Q.match(/^<script\b[^>]*>/i);if(z){let U=$.toLowerCase().indexOf("</script>",J+z[0].length);if(U===-1)break;J=U+9;continue}let q=Q.match(/^<link\b[^>]*>/i);if(q){Z.push(q[0]),J+=q[0].length;continue}let K=Q.match(/^<meta\b[^>]*>/i);if(K){Z.push(K[0]),J+=K[0].length;continue}let W=Q.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(W){Z.push(W[0]),J+=W[0].length;continue}break}if(Z.length===0)return{body:$,hoisted:Z};let X="",Y=0;while(Y<$.length&&Y<J){let Q=$.slice(Y),G=Q.match(/^<link\b[^>]*>/i);if(G&&Z.includes(G[0])){Y+=G[0].length;continue}let z=Q.match(/^<meta\b[^>]*>/i);if(z&&Z.includes(z[0])){Y+=z[0].length;continue}let q=Q.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(q&&Z.includes(q[0])){Y+=q[0].length;continue}X+=$[Y],Y++}return X+=$.slice(J),{body:X,hoisted:Z}}function CQ($,Z={},J={}){let{title:X="stx App",lang:Y="en",meta:Q=[],link:G=[],script:z=[],headRaw:q="",htmlAttrs:K={},bodyClass:W="",bodyAttrs:U={}}=Z,H=J.title||X,j=[{charset:"UTF-8"},{name:"viewport",content:"width=device-width, initial-scale=1.0"}],B=new Set(Q.map(o1).filter(Boolean)),F=[...j.filter((M)=>!B.has(o1(M))),...Q].map((M)=>{return` <meta ${s1(M)}>`}).join(`
|
|
3506
3506
|
`),_=G.map((M)=>{return` <link ${s1(M)}>`}).join(`
|
|
3507
3507
|
`),O=z.map((M)=>{if(M.src)return` <script ${s1(M,(k)=>k==="content")}></script>`;if(M.content)return` <script>${M.content}</script>`;return""}).filter(Boolean).join(`
|
|
3508
|
-
`),L=
|
|
3508
|
+
`),L=bQ(K,Y),w=Object.entries(U).map(([M,k])=>` ${M}="${Z1(String(k))}"`).join(""),R=W?` class="${Z1(W)}"`:"",{body:N,hoisted:A}=yQ($),T=[F,J.colorMode?` ${j$(J.colorMode)}`:"",` <title>${J.titleIsHtml?H:EQ(H)}</title>`,` ${_6}`,_,O,q?` ${q}`:"",...(J.styles||[]).map((M)=>` ${M}`),...A.map((M)=>` ${M}`),...(J.headScripts||[]).map((M)=>` ${M}`),J.headStack||""].filter(Boolean),D=[N,...(J.bodyScripts||[]).map((M)=>M),J.bodyStack||""].filter(Boolean);return`<!DOCTYPE html>
|
|
3509
3509
|
<html${L}>
|
|
3510
3510
|
<head>
|
|
3511
3511
|
${T.join(`
|
|
@@ -3515,24 +3515,24 @@ ${T.join(`
|
|
|
3515
3515
|
${D.join(`
|
|
3516
3516
|
`)}
|
|
3517
3517
|
</body>
|
|
3518
|
-
</html>`}var _$=/\s+/y,L$=/<(script|style)\b[^>]*>/iy,
|
|
3518
|
+
</html>`}var _$=/\s+/y,L$=/<(script|style)\b[^>]*>/iy,SQ=/<\/script>/gi,PQ=/<\/style>/gi,B6=/<!DOCTYPE\b/iy,V6=/<html[\s>]/iy;function F$($){let Z=0;while(Z<$.length){if(_$.lastIndex=Z,_$.exec($)){Z=_$.lastIndex;continue}if($.startsWith("<!--",Z)){let Y=$.indexOf("-->",Z);if(Y===-1)return!1;Z=Y+3;continue}L$.lastIndex=Z;let X=L$.exec($);if(X){let Y=X[1].toLowerCase()==="script"?SQ:PQ;Y.lastIndex=L$.lastIndex;let Q=Y.exec($);if(Q===null)return!1;Z=Q.index+Q[0].length;continue}if(B6.lastIndex=Z,B6.test($))return!0;return V6.lastIndex=Z,V6.test($)}return!1}function w$($){return F$($)}function w6($,Z={}){let J=$.lastIndexOf("</head>");if(J===-1)return $;let{meta:X=[],link:Y=[],script:Q=[],headRaw:G=""}=Z,z=$.slice(0,J),q=[];for(let K of X){let W=o1(K);if(W&&z.includes(W))continue;q.push(` <meta ${s1(K)}>`)}for(let K of Y){if(K.href&&z.includes(`href="${K.href}"`))continue;q.push(` <link ${s1(K)}>`)}for(let K of Q)if(K.src){if(z.includes(`src="${K.src}"`))continue;q.push(` <script ${s1(K,(W)=>W==="content")}></script>`)}else if(K.content){if(z.includes(K.content))continue;q.push(` <script>${K.content}</script>`)}if(G&&!z.includes(G))q.push(` ${G}`);if(q.length===0)return $;return`${$.slice(0,J)}${q.join(`
|
|
3519
3519
|
`)}
|
|
3520
|
-
${$.slice(J)}`}function R6($,Z={},J={},X){if(X??w$($))return $;return
|
|
3520
|
+
${$.slice(J)}`}function R6($,Z={},J={},X){if(X??w$($))return $;return CQ($,Z,J)}var vQ=/<\/(script)/gi;function r1($){if(!$||$.indexOf("</")===-1)return $;return $.replace(vQ,"<\\/$1")}var I2=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useActiveElement","useDocumentVisibility","useIntervalFn","useObjectUrl","useTimeoutFn"];import A6 from"path";z2();z2();function D6($,Z={}){return new N6($,Z).routes}function XB($,Z){let J=R$($,Z);return J?J.params:null}var M6=new Map;async function I6($,Z){let J=$,X=Z;if(!J||!X)try{let z=await L5();J||=z?.pagesDir||"pages",X||=z?.root||"."}catch{J||="pages",X||="."}let Y=A6.isAbsolute(J)?J:A6.join(X,J),Q=M6.get(Y);if(Q)return Q;let G=[];try{G=D6(".",{pagesDir:Y,emit:!1}).map((z)=>z.regex.source).filter(Boolean)}catch{G=[]}return M6.set(Y,G),G}function fQ($){return $.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function T6($){return fQ(JSON.stringify($))}function k6($){return $.includes("data-stx-runtime")}function E6($){let Z=/window\.stx\s*\.\s*[A-Za-z_$]|\}\s*=\s*window\.stx\s*;/g;for(let J=Z.exec($);J!==null;J=Z.exec($)){let X=$.slice(Math.max(0,J.index-80),J.index);if(/if\s*\(\s*window\.stx\s*\)|window\.stx\s*&&/.test(X))continue;return!0}return!1}function N$($,Z){let J=$.indexOf("<script"),X=$.search(/<!doctype\b/i);if(J!==-1&&(X===-1||J>X))return $.slice(0,J)+Z+`
|
|
3521
3521
|
`+$.slice(J);let Y=A2($);if(Y!==null)return`${$.slice(0,Y)}
|
|
3522
3522
|
${Z}${$.slice(Y)}`;if($.includes("</head>")){let G=$.indexOf("</head>");return $.slice(0,G)+Z+`
|
|
3523
3523
|
`+$.slice(G)}if(s0($))return y1($,(G)=>`${G}
|
|
3524
3524
|
${Z}`);return`${Z}
|
|
3525
|
-
${$}`}async function M9($,Z){if($.includes("data-stx-runtime")||$.includes("window.stx.state")||$.includes("STX Signals Runtime"))return $;if(Z.buildMode==="serve"){let{getServeClientAsset:Y}=await import("./chunk-
|
|
3525
|
+
${$}`}async function M9($,Z){if($.includes("data-stx-runtime")||$.includes("window.stx.state")||$.includes("STX Signals Runtime"))return $;if(Z.buildMode==="serve"){let{getServeClientAsset:Y}=await import("./chunk-dy6aq1fx.js"),{url:Q}=await Y("runtime",Z.debug===!0);return N$($,`<script data-stx-runtime src="${Q}"></script>`)}if(Z.buildMode==="compile")return N$($,'<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>');let{getCachedSignalsRuntime:J}=await import("./chunk-dy6aq1fx.js"),X=await J(Z.debug);return N$($,`<script data-stx-scoped data-stx-runtime>${X}</script>`)}function xQ($){return/<[a-z][^>]*?\sx-tooltip\s*=/i.test($)}function b6($){if($.includes("data-stx-tooltip-runtime")||!xQ($))return $;let Z=`<script data-stx-scoped data-stx-tooltip-runtime>${r5()}</script>`,J=$.lastIndexOf("</body>");if(J===-1)return`${$}
|
|
3526
3526
|
${Z}`;return`${$.slice(0,J)}${Z}
|
|
3527
|
-
${$.slice(J)}`}var
|
|
3528
|
-
`}let{getCachedRouterScript:Y,getServeClientAsset:Q}=await import("./chunk-
|
|
3529
|
-
</body>`+$.slice(z+7)}var
|
|
3530
|
-
`)}else{if(!
|
|
3527
|
+
${$.slice(J)}`}var gQ=/<script\b[^>]*\sdata-stx-router(?=[\s=>])/i;function hQ($){return gQ.test($)||$.includes("__stxRouter)return")||$.includes("__stxRouter=true")}async function uQ($,Z){if(!$.includes("</body>"))return $;if(hQ($))return $;let J=Z?.router,X="";{let q={};if(J){if(J.container)q.container=J.container;if(J.interceptAllLinks!==void 0)q.interceptAllLinks=J.interceptAllLinks;if(J.progress!==void 0)q.progress=J.progress;if(J.viewTransitions!==void 0)q.viewTransitions=J.viewTransitions;if(J.viewTransitionDuration!==void 0)q.viewTransitionDuration=J.viewTransitionDuration;if(J.viewTransitionEasing!==void 0)q.viewTransitionEasing=J.viewTransitionEasing;if(J.scrollToTop!==void 0)q.scrollToTop=J.scrollToTop;if(J.prefetch!==void 0)q.prefetch=J.prefetch;if(J.cache!==void 0)q.cache=J.cache;if(J.progressColor!==void 0)q.progressColor=J.progressColor;if(J.progressHeight!==void 0)q.progressHeight=J.progressHeight}try{let K=await I6(Z?.pagesDir,Z?.root);if(K.length>0)q.ownedRoutes=K}catch{}if(Object.keys(q).length>0)X=`<script>window.__stxRouterConfig=${T6(q)};</script>
|
|
3528
|
+
`}let{getCachedRouterScript:Y,getServeClientAsset:Q}=await import("./chunk-dy6aq1fx.js"),G=Z?.buildMode==="compile"?'<script data-stx-router src="/__stx/router.__STX_HASH__.js"></script>':Z?.buildMode==="serve"?`<script data-stx-router src="${(await Q("router")).url}"></script>`:`<script data-stx-router>${await Y()}</script>`,z=$.lastIndexOf("</body>");return $.slice(0,z)+X+G+`
|
|
3529
|
+
</body>`+$.slice(z+7)}var y6=Symbol.for("stx.lazy-module-promises");function dQ(){let $=globalThis;return $[y6]??=new Map,$[y6]}function o($,Z){let J=dQ(),X=`${import.meta.url}\x00${$}`,Y=J.get(X);if(Y)return Y;let Q=Z();return J.set(X,Q),Q.catch(()=>{if(J.get(X)===Q)J.delete(X)}),Q}var D$=`(?:"[^"]*"|'[^']*'|[^>"'])*`,u6=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s,mQ=65536,lQ=4,T9=new Map;function bB(){T9.clear()}function cQ($){let Z=[];for(let J of T2($,Y2)){let X=J.token.match(/^<script\b([^>]*)>/i),Y=J.token.match(/<\/script\s*>$/i);if(!X||!Y)continue;let Q=X[0].length,G=J.token.length-Y[0].length;Z.push(Object.freeze({fullMatch:J.token,attrs:X[1],body:J.token.slice(Q,G),start:J.start,end:J.end}))}return Z}function pQ($,Z={}){let J=$.length>=mQ,X=J?T9.get($):void 0;if(X===void 0){if(X=cQ($),J)h6(T9,lQ),T9.set($,X)}let Y=Z.skipAttrs;if(!Y)return X.slice();let Q=[];for(let G of X)if(Y.lastIndex=0,!Y.test(G.attrs))Q.push(G);return Q}function d6($){let Z=$.trim(),J=Z.match(/^([\s\S]+?)\s+as\s+(.+)$/);if(J){let Y=J[1].trim(),Q=J[2].trim(),{itemVar:G,indexVar:z}=C6(Q);if(G)return{style:"as",iterable:Y,itemVar:G,indexVar:z}}let X=Z.match(/^(\([^)]+\)|\w+(?:\s*,\s*\w+)?)\s+(?:in|of)\s+([\s\S]+)$/);if(X){let Y=X[1].trim(),Q=X[2].trim(),{itemVar:G,indexVar:z}=C6(Y);if(G)return{style:"in",iterable:Q,itemVar:G,indexVar:z}}return{style:"unknown",iterable:null,itemVar:null,indexVar:null}}function C6($){let Z=$.trim(),J=Z.match(/^(\w+)\s*=>\s*(\w+)$/);if(J)return{itemVar:J[2],indexVar:J[1]};let X=Z.match(/^\(\s*(\w+)(?:\s*,\s*(\w+))?\s*\)$/);if(X)return{itemVar:X[1],indexVar:X[2]||null};let Y=Z.match(/^(\w+)\s*,\s*(\w+)$/);if(Y)return{itemVar:Y[1],indexVar:Y[2]};let Q=Z.match(/^(\w+)$/);if(Q)return{itemVar:Q[1],indexVar:null};return{itemVar:null,indexVar:null}}function I$($,Z){return g6($,Z)}function iQ($){let Z=/@(if\s*\(|endif|elseif\s*\(|else\b)/g,J=0,X;while((X=Z.exec($))!==null){let Y=X[1];if(Y.startsWith("if"))J++;else if(Y==="endif")J--;else if(J===0)return!0}return!1}function nQ($){let Z=new Set,J=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,X=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal|useModel)\s*(?:<[^>]*>)?\s*\(/g,Y;while((Y=J.exec($))!==null){let Q=Y[1],G;while((G=X.exec(Q))!==null)Z.add(G[1])}return Z}function sQ($){if(!/[:@]for\s*=/.test($)&&!/\bx-for\s*=/.test($))return[];let Z=new RegExp(`<([a-zA-Z][\\w-]*)\\b(${D$})>`,"iy"),J=/(?:^|\s)(?::for|@for|x-for)\s*=\s*(?:"([^"]*)"|'([^']*)')/i,X=T2($,(Q,G)=>{Z.lastIndex=G;let z=Z.exec(Q);if(!z||z.index!==G||!J.test(z[2]))return-1;return Z.lastIndex}),Y=[];for(let Q of X){Z.lastIndex=0;let G=Z.exec(Q.token);if(!G)continue;let z=G[2].match(J),q=d6(z?.[1]??z?.[2]??""),K=[q.itemVar,q.indexVar].filter(Boolean);if(K.length===0)continue;let W=G[1],H=/\/\s*>$/.test(Q.token)||k9.has(W.toLowerCase())?Q.end:l6($,Q.start,W,Q.end);if(H!==-1)Y.push({start:Q.start,end:H,vars:new Set(K)})}return Y}var S6=new Set(["true","false","null","undefined","NaN","Infinity","typeof","instanceof","in","of","new","void","delete","this","Math","JSON","Date","Number","String","Boolean","Array","Object","RegExp","Map","Set","Symbol","parseInt","parseFloat","isNaN","isFinite","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","window","document","console"]);function oQ($){return $.replace(/'(?:\\.|[^'\\])*'/g,"''").replace(/"(?:\\.|[^"\\])*"/g,'""').replace(/`(?:\\.|[^`\\])*`/g,"``")}function P6($,Z,J,X){if(!$)return!1;let Y=oQ($),Q=!1,G=!1,z=!1,q=/([a-zA-Z_$][\w$]*)/g,K;while((K=q.exec(Y))!==null){let j=K[1];if(Y.slice(0,K.index).trimEnd().endsWith("."))continue;if(S6.has(j))continue;if(Z.has(j)||X?.has(j))Q=!0;else if(J&&j in J)G=!0}let W=/([a-zA-Z_$][\w$]*)(?:\.[a-zA-Z_$][\w$]*)*\s*\(\s*\)/g,U;while((U=W.exec(Y))!==null){let j=U[1];if(Y.slice(0,U.index).trimEnd().endsWith("."))continue;if(S6.has(j)||J&&j in J)continue;z=!0}return(Q||z)&&!G}function I9($,Z,J){let X=J===void 0?` ${Z}`:` ${Z}="${J.replace(/"/g,""")}"`,Y=$.trim(),Q=Y.match(u6);if(Q&&rQ(Q[3],Q[1])){let[,G,z,q]=Q;return`<${G}${z}${X}>${q}</${G}>`}return`<template${X}>${Y}</template>`}function rQ($,Z){let J=new RegExp(`<(/)?${Z}(?=[\\s/>])`,"gi"),X=0,Y;while((Y=J.exec($))!==null)if(Y[1]){if(X--,X<0)return!1}else X++;return!0}function m6($,Z){let J=nQ($);function X(Y){let Q=Y,G=sQ(Y),z=(U)=>{let H=new Set;for(let j of G)if(U>j.start&&U<j.end)for(let B of j.vars)H.add(B);return H},q=/@if\s*\(/g,K,W=[];while((K=q.exec(Q))!==null){let U=K.index,H=U+K[0].length,j=1,B=H;while(B<Q.length&&j>0){if(Q[B]==="(")j++;else if(Q[B]===")")j--;B++}if(j!==0)continue;let V=Q.substring(H,B-1).trim(),F=B,_=1,O=F,L=/@(if\s*\(|endif)/g;L.lastIndex=F;let w;while((w=L.exec(Q))!==null)if(w[1].startsWith("if"))_++;else if(w[1]==="endif"){if(_--,_===0){O=w.index+w[0].length;break}}if(_!==0)continue;let R=Q.substring(F,O-6).trim(),N;if(iQ(R)){let A=j2(Q.substring(U,O));if(A.length===0)continue;let T=A[0].branches.filter((I)=>I.type!=="else"),D=z(U);if(!(T.length>0&&T.every((I)=>P6(I.condition,J,Z,D))))continue;N=A[0].branches.map((I)=>{let y=X(I.content);if(I.type==="elseif")return I9(y,"@else-if",I.condition??"");if(I.type==="else")return I9(y,"@else");return I9(y,"@if",I.condition??"")}).join(`
|
|
3530
|
+
`)}else{if(!P6(V,J,Z,z(U)))continue;N=I9(X(R),"@if",V)}W.push({start:U,end:O,replacement:N}),q.lastIndex=O}for(let U=W.length-1;U>=0;U--){let{start:H,end:j,replacement:B}=W[U];Q=Q.substring(0,H)+B+Q.substring(j)}return Q}return X($)}function aQ($){let Z=$.trim();if(Z==="")return;if(Z==="true")return!0;if(Z==="false")return!1;if(Z==="null")return!1;if(Z==="undefined")return!1;if(Z==="NaN")return!1;if(/^-?\d+(?:\.\d+)?$/.test(Z)){let Y=Number(Z);return Y!==0&&!Number.isNaN(Y)}let J=Z.match(/^'((?:\\.|[^'\\])*)'$/);if(J)return J[1].length>0;let X=Z.match(/^"((?:\\.|[^"\\])*)"$/);if(X)return X[1].length>0;return}var k9=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),v6=/<(script|style)\b/iy,tQ=/<\/script/gi,eQ=/<\/style/gi;function l6($,Z,J,X){if(k9.has(J.toLowerCase()))return X;let Y=J.toLowerCase(),Q=$.length,G=1,z=X;while(z<Q){let q=$.indexOf("<",z);if(q===-1)return-1;if(z=q,$.startsWith("<!--",z)){let H=$.indexOf("-->",z+4);if(H===-1)return-1;z=H+3;continue}v6.lastIndex=z;let K=v6.exec($);if(K){let H=$.indexOf(">",z);if(H===-1)return-1;if($[H-1]==="/"){z=H+1;continue}let j=K[1].toLowerCase()==="script"?tQ:eQ;j.lastIndex=z;let B=j.exec($);if(B===null)return-1;let V=$.indexOf(">",B.index);if(V===-1)return-1;z=V+1;continue}if($[z+1]==="/"){let H=/^<\/([a-z][\w-]*)\s*>/i.exec($.slice(z,z+64));if(!H){z++;continue}if(H[1].toLowerCase()===Y){if(G--,z+=H[0].length,G===0)return z;continue}z+=H[0].length;continue}let W=/^<([a-z][\w-]*)\b/i.exec($.slice(z,z+64));if(!W){z++;continue}let U=$.indexOf(">",z);if(U===-1)return-1;if(W[1].toLowerCase()===Y){let H=$.slice(z,U+1);if(!(/\/\s*>$/.test(H)||k9.has(Y)))G++}z=U+1}return-1}var $G=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/;function ZG($,Z){let J=Z,X=$.length;for(;;){while(J<X&&$[J]!=="<")J++;if(J>=X)return!1;if($.startsWith("<!--",J)){let G=$.indexOf("-->",J+4);if(G===-1)return!1;J=G+3;continue}break}if($[J+1]==="/")return!1;let Y=$.indexOf(">",J);if(Y===-1)return!1;let Q=$.slice(J,Y+1);return $G.test(Q)}function c6($){if(!$.includes(":if")&&!$.includes(":show")&&!$.includes("x-if")&&!$.includes("x-show")&&!$.includes("@if=")&&!$.includes("@show="))return $;let Z=[],J=/<(script|style)\b[^>]*>[\s\S]*?<\/\1\s*>/gi,X;while((X=J.exec($))!==null)Z.push([X.index,X.index+X[0].length]);let Y=(U)=>Z.some(([H,j])=>U>=H&&U<j),Q=/<([a-zA-Z][\w-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*?)\s+(:if|:show|x-if|x-show|@if|@show)\s*=\s*"([^"]*)"((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)(\/?)>/g,G=[],z;while((z=Q.exec($))!==null){if(Y(z.index))continue;let[U,H,j,B,V,F,_]=z,O=aQ(V);if(O===void 0)continue;let L=z.index,w=L+U.length,A=!!_||/\/\s*>$/.test(U)||k9.has(H.toLowerCase())?w:l6($,L,H,w);if(A===-1)continue;if((B===":if"||B==="x-if"||B==="@if")&&ZG($,A)){Q.lastIndex=w;continue}if(O===!0){let D=`<${H}${j}${F}${_}>`;G.push({start:L,end:w,replacement:D});continue}G.push({start:L,end:A,replacement:""}),Q.lastIndex=A}if(G.length===0)return $;G.sort((U,H)=>U.start-H.start);let q=[],K=-1;for(let U of G){if(U.start<K)continue;q.push(U),K=U.end}let W=$;for(let U=q.length-1;U>=0;U--){let{start:H,end:j,replacement:B}=q[U];W=W.substring(0,H)+B+W.substring(j)}return W}function T$($,Z){let J=$,X=/@(for|foreach)\s*\(/g,Y,Q=[],G=[];while((Y=X.exec(J))!==null){let z=Y[1],q=Y.index,K=q+Y[0].length,W=1,U=K;while(U<J.length&&W>0){if(J[U]==="(")W++;else if(J[U]===")")W--;U++}if(W!==0)continue;let H=J.substring(K,U-1).trim(),j=U,B=d6(H),V=z==="for"?"@endfor":"@endforeach",F=1,_=j,O=z==="for"?new RegExp("@(for(?!each)\\s*\\(|endfor(?!each))","g"):new RegExp(`@(${z}\\s*\\(|end${z})`,"g");O.lastIndex=j;let L;while((L=O.exec(J))!==null)if(L[1].startsWith(z))F++;else if(F--,F===0){_=L.index+L[0].length;break}if(F!==0)continue;let w=()=>{let M=[B.itemVar,B.indexVar].filter(Boolean);if(M.length)G.push({start:q,end:_,vars:M})};if(B.iterable){let M=B.iterable.trim();if(M.startsWith("[")||M.startsWith("{")||M.startsWith("'")||M.startsWith('"')||M.startsWith("`")||/^-?\d/.test(M)){w();continue}let k=M.split(/[.[(]/)[0].trim(),I=Z?k in Z:!1,y=G.some((E)=>q>E.start&&q<E.end&&E.vars.includes(k));if(k&&(I||y)){w();continue}}if(B.style==="as")H=B.indexVar?`(${B.itemVar}, ${B.indexVar}) in ${B.iterable}`:`${B.itemVar} in ${B.iterable}`;let R=J.substring(j,_-V.length).trim(),N=Z?{...Z}:{};if(B.itemVar)delete N[B.itemVar];if(B.indexVar)delete N[B.indexVar];let A=T$(R,N),T=A.match(u6),D;if(T){let[,M,k,I]=T;D=`<${M}${k} @for="${H}">${I}</${M}>`}else D=`<template @for="${H}">${A}</template>`;Q.push({start:q,end:_,replacement:D}),X.lastIndex=_}for(let z=Q.length-1;z>=0;z--){let{start:q,end:K,replacement:W}=Q[z];J=J.substring(0,q)+W+J.substring(K)}return J}function JG($){let Z=new Set,J=[],X=0,Y=0,Q=$.length,G=(W)=>{let U=X+1;while(U<Q){let H=$[U];if(H==="\\"){U+=2;continue}if(H===W)return U+1;U++}return Q},z=()=>{let W=X+2;while(W<Q&&$[W]!==`
|
|
3531
3531
|
`)W++;return W},q=()=>{let W=X+2;while(W<Q-1){if($[W]==="*"&&$[W+1]==="/")return W+2;W++}return Q},K=(W)=>{let U=W,H=0;while(U<Q){let j=$[U];if(j==="/"&&$[U+1]==="/"){let B=U+2;while(B<Q&&$[B]!==`
|
|
3532
|
-
`)B++;U=B;continue}if(j==="/"&&$[U+1]==="*"){let B=U+2;while(B<Q-1&&!($[B]==="*"&&$[B+1]==="/"))B++;U=B+2;continue}if(j==='"'||j==="'"||j==="`"){let B=U+1;while(B<Q){if($[B]==="\\"){B+=2;continue}if($[B]===j){B++;break}B++}U=B;continue}if(j==="("||j==="["||j==="{"){H++,U++;continue}if(j===")"||j==="]"||j==="}"){H--,U++;continue}if(j===";"&&H===0)return U+1;U++}return Q};while(X<Q){let W=$[X];if(W==="/"&&$[X+1]==="/"){let U=z();J.push($.slice(X,U)),X=U;continue}if(W==="/"&&$[X+1]==="*"){let U=q();J.push($.slice(X,U)),X=U;continue}if(W==='"'||W==="'"||W==="`"){let U=G(W);J.push($.slice(X,U)),X=U;continue}if(W==="{"){Y++,J.push(W),X++;continue}if(W==="}"){Y--,J.push(W),X++;continue}if(Y===0){let U=X>0?$[X-1]:"";if(U===""||/\s/.test(U)||U===";"||U==="}"||U==="{"){let j=$.slice(X).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(j){let B=j[2],V=K(X+j[0].length);if(Z.has(B)){J.push(`/* stx: deduped const ${B} */`),X=V;continue}Z.add(B),J.push($.slice(X,V)),X=V;continue}}}J.push(W),X++}return J.join("")}var
|
|
3532
|
+
`)B++;U=B;continue}if(j==="/"&&$[U+1]==="*"){let B=U+2;while(B<Q-1&&!($[B]==="*"&&$[B+1]==="/"))B++;U=B+2;continue}if(j==='"'||j==="'"||j==="`"){let B=U+1;while(B<Q){if($[B]==="\\"){B+=2;continue}if($[B]===j){B++;break}B++}U=B;continue}if(j==="("||j==="["||j==="{"){H++,U++;continue}if(j===")"||j==="]"||j==="}"){H--,U++;continue}if(j===";"&&H===0)return U+1;U++}return Q};while(X<Q){let W=$[X];if(W==="/"&&$[X+1]==="/"){let U=z();J.push($.slice(X,U)),X=U;continue}if(W==="/"&&$[X+1]==="*"){let U=q();J.push($.slice(X,U)),X=U;continue}if(W==='"'||W==="'"||W==="`"){let U=G(W);J.push($.slice(X,U)),X=U;continue}if(W==="{"){Y++,J.push(W),X++;continue}if(W==="}"){Y--,J.push(W),X++;continue}if(Y===0){let U=X>0?$[X-1]:"";if(U===""||/\s/.test(U)||U===";"||U==="}"||U==="{"){let j=$.slice(X).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(j){let B=j[2],V=K(X+j[0].length);if(Z.has(B)){J.push(`/* stx: deduped const ${B} */`),X=V;continue}Z.add(B),J.push($.slice(X,V)),X=V;continue}}}J.push(W),X++}return J.join("")}var XG=new Set(["script","style","html","head","meta","link","title","!doctype"]);function A$($,Z,J){for(let X of J){if(X.start>=Z)return!1;if(X.end>$)return!0}return!1}function YG($,Z,J){let X=0;while(X<$.length){let Y=$.indexOf(Z,X);if(Y===-1)return!1;if(!A$(Y,Y+Z.length,J))return!0;X=Y+Z.length}return!1}function QG($,Z){if(YG($,"<body",Z)){let Y=new RegExp(`<body(${D$})>`,"g"),Q;while((Q=Y.exec($))!==null)if(!A$(Q.index,Q.index+Q[0].length,Z))return Q.index+Q[0].length-1;return null}let J=new RegExp(`<([a-zA-Z][a-zA-Z0-9-]*)\\b(${D$})>`,"gi"),X;while((X=J.exec($))!==null){if(A$(X.index,X.index+X[0].length,Z))continue;if(XG.has(X[1].toLowerCase()))continue;return X.index+X[0].length-1}return null}function GG($,Z,J,X){let Y=[],Q=` data-stx="${X}"`,G=0,z=!1,q=(K)=>{if(J!==null&&!z&&J>=G&&J<=K)Y.push($.slice(G,J),Q,$.slice(J,K)),z=!0;else Y.push($.slice(G,K))};for(let K of Z){if(K.start<G)continue;q(K.start),G=K.end}return q($.length),Y.join("")}async function zG($,Z,J){let X=pQ($,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b/}),Y=/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useStore|useLocalStorage|useSessionStorage|useCookie|useId|useModel|useReactiveProp|useFetch|useRef|useEventListener|useDebounce|useDebouncedValue|useThrottle|useInterval|useTimeout|useToggle|useCounter|useClickOutside|useFocus|useAsync|useColorMode|useDark|useMediaQuery|useScrollLock|usePreferredDark|usePreferredLight|usePreferredReducedMotion|usePreferredContrast|useWebSocket|useRoute|useSearchParams|onMount|onDestroy|defineProps|withDefaults|defineEmits|defineExpose|defineSlots|useOptimistic)\s*(?:<[^>]*>)?\s*\(/,Q=[],{hasUserImports:G,bundleClientScript:z}=await o("stx/client-script-bundler",()=>import("./chunk-t088w4j2.js"));for(let O of X){let L=O.body;if(A1(O.attrs))L=M1(L);if(Y.test(L)){Q.push({content:L,start:O.start,end:O.end});continue}if(!G(L))continue;try{let w=await z(a1(L).code,Z||"",{projectRoot:process.cwd(),externalizeUserModules:!1});if(Y.test(w))Q.push({content:L,start:O.start,end:O.end})}catch{}}if(Q.length===0)return{output:$,setupCode:null};let q=`${Z??""}\x00${Q.map((O)=>O.content).join("\x00")}`,K=`__stx_setup_${Bun.hash(q).toString(36).slice(0,10)}`,W=[];for(let O=0;O<Q.length;O++){let L=Q[O].bundled??a1(Q[O].content).code;if(!Q[O].bundled&&G(L))L=await z(L,Z||"",{projectRoot:process.cwd()});L=UG(L);let w=$1(L);W.push(`// \u2500\u2500 merged signal script #${O+1} \u2500\u2500
|
|
3533
3533
|
${w}`)}let U=W.join(`
|
|
3534
3534
|
|
|
3535
|
-
`);U=
|
|
3535
|
+
`);U=JG(U);let H=qG(U),j=H.split(",").map((O)=>O.trim()).filter(Boolean),B=M$(U,J),V=`
|
|
3536
3536
|
<script data-stx-scoped>
|
|
3537
3537
|
function ${K}() {
|
|
3538
3538
|
${p1("const",j)}
|
|
@@ -3541,19 +3541,19 @@ ${r1(`${B}${U}`)}
|
|
|
3541
3541
|
}
|
|
3542
3542
|
window.__stx_latestSetup=${K};
|
|
3543
3543
|
if(window.stx)window.stx._latestSetup=${K};
|
|
3544
|
-
</script>`,F=
|
|
3544
|
+
</script>`,F=QG($,Q);return{output:GG($,Q,F,K),setupCode:V}}function qG($){let Z=$,J=[],X=new Set,Y=0,Q=0,G=Z.length,z="",q=()=>{Q++;let B=!1;while(Q<G){let V=Z[Q];if(V==="\\"){Q+=2;continue}if(V==="["&&!B){B=!0,Q++;continue}if(V==="]"&&B){B=!1,Q++;continue}if(V==="/"&&!B){Q++;while(Q<G&&/[gimsuyd]/.test(Z[Q]))Q++;return}if(V===`
|
|
3545
3545
|
`)return;Q++}},K=()=>{if(!z)return!0;if(/[\w)\]]/.test(z))return!1;return!0},W=(B)=>{Q++;while(Q<G){if(Z[Q]==="\\"){Q+=2;continue}if(Z[Q]===B){Q++;return}Q++}},U=()=>{Q++;while(Q<G){if(Z[Q]==="\\"){Q+=2;continue}if(Z[Q]==="`"){Q++;return}if(Z[Q]==="$"&&Z[Q+1]==="{"){Q+=2;let B=1;while(Q<G&&B>0)if(Z[Q]==="{")B++,Q++;else if(Z[Q]==="}")B--,Q++;else if(Z[Q]==="'"||Z[Q]==='"')W(Z[Q]);else if(Z[Q]==="`")U();else Q++;continue}Q++}},H=()=>{if(Z[Q]==="/"&&Z[Q+1]==="/"){while(Q<G&&Z[Q]!==`
|
|
3546
|
-
`)Q++;return!0}if(Z[Q]==="/"&&Z[Q+1]==="*"){Q+=2;while(Q<G-1&&!(Z[Q]==="*"&&Z[Q+1]==="/"))Q++;return Q+=2,!0}return!1},j=()=>{if(Y!==0)return;let B=Z.slice(Q).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*(?:[!:;,\n]|=(?!=)|$)/);if(B){let L=B[2];if(!X.has(L))J.push(L),X.add(L);return}let V=Z.slice(Q).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(V){V[1].split(",").forEach((L)=>{let w=L.trim();if(!w)return;let R=w.indexOf(":"),A=(R>=0?w.slice(R+1).trim():w).split(/[\s=]/)[0];if(A&&!X.has(A))J.push(A),X.add(A)});return}let F=Z.slice(Q).match(/^(?:const|let|var)\s+\[([^\]]+)\]\s*=/);if(F){F[1].split(",").forEach((L)=>{let w=L.trim().replace(/^\.\.\./,"");if(!w)return;let R=w.split(/[\s=]/)[0];if(R&&!X.has(R))J.push(R),X.add(R)});return}let _=Z.slice(Q).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(_){let L=_[1];if(!X.has(L))J.push(L),X.add(L);return}let O=Z.slice(Q).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(O){let L=O[1];if(!X.has(L))J.push(L),X.add(L)}};while(Q<G){if(H())continue;if(Z[Q]==="'"||Z[Q]==='"'){W(Z[Q]),z=Z[Q-1];continue}if(Z[Q]==="`"){U(),z="`";continue}if(Z[Q]==="/"&&Z[Q+1]!=="/"&&Z[Q+1]!=="*"&&K()){q(),z="/";continue}if(Z[Q]==="{"){Y++,z="{",Q++;continue}if(Z[Q]==="}"){Y--,z="}",Q++;continue}if(Y===0&&/[a-z]/i.test(Z[Q])&&(Q===0||/\s|[;{}()]/.test(Z[Q-1])))j();if(!/\s/.test(Z[Q]))z=Z[Q];Q++}return J.join(", ")}async function
|
|
3546
|
+
`)Q++;return!0}if(Z[Q]==="/"&&Z[Q+1]==="*"){Q+=2;while(Q<G-1&&!(Z[Q]==="*"&&Z[Q+1]==="/"))Q++;return Q+=2,!0}return!1},j=()=>{if(Y!==0)return;let B=Z.slice(Q).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*(?:[!:;,\n]|=(?!=)|$)/);if(B){let L=B[2];if(!X.has(L))J.push(L),X.add(L);return}let V=Z.slice(Q).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(V){V[1].split(",").forEach((L)=>{let w=L.trim();if(!w)return;let R=w.indexOf(":"),A=(R>=0?w.slice(R+1).trim():w).split(/[\s=]/)[0];if(A&&!X.has(A))J.push(A),X.add(A)});return}let F=Z.slice(Q).match(/^(?:const|let|var)\s+\[([^\]]+)\]\s*=/);if(F){F[1].split(",").forEach((L)=>{let w=L.trim().replace(/^\.\.\./,"");if(!w)return;let R=w.split(/[\s=]/)[0];if(R&&!X.has(R))J.push(R),X.add(R)});return}let _=Z.slice(Q).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(_){let L=_[1];if(!X.has(L))J.push(L),X.add(L);return}let O=Z.slice(Q).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(O){let L=O[1];if(!X.has(L))J.push(L),X.add(L)}};while(Q<G){if(H())continue;if(Z[Q]==="'"||Z[Q]==='"'){W(Z[Q]),z=Z[Q-1];continue}if(Z[Q]==="`"){U(),z="`";continue}if(Z[Q]==="/"&&Z[Q+1]!=="/"&&Z[Q+1]!=="*"&&K()){q(),z="/";continue}if(Z[Q]==="{"){Y++,z="{",Q++;continue}if(Z[Q]==="}"){Y--,z="}",Q++;continue}if(Y===0&&/[a-z]/i.test(Z[Q])&&(Q===0||/\s|[;{}()]/.test(Z[Q-1])))j();if(!/\s/.test(Z[Q]))z=Z[Q];Q++}return J.join(", ")}async function p6($,Z,J,X){if(!I$($,J))return $;let Y=$;if(Z.skipSignalsRuntime)return Y;let{output:Q,setupCode:G}=await zG(Y,J,X);if(Y=Q,!G){let z=s0(Y);if(z&&!/data-stx/.test(z.attrs)&&!/data-stx-auto/.test(z.attrs)){let q=z.tag.replace(/^<body([^>]*)>$/i,"<body$1 data-stx-auto>");Y=Y.slice(0,z.index)+q+Y.slice(z.index+z.tag.length)}}if(Y=await M9(Y,Z),G){let z=f6(Y,/<\/head>/i),q=z===-1?f6(Y,/<body[^>]*>/i):-1;if(z!==-1)Y=`${Y.slice(0,z)}${G}
|
|
3547
3547
|
${Y.slice(z)}`;else if(q!==-1){let K=/<body[^>]*>/i.exec(Y.slice(q))[0],W=q+K.length;Y=`${Y.slice(0,W)}
|
|
3548
3548
|
${G}${Y.slice(W)}`}else Y=`${Y}
|
|
3549
|
-
${G}`}return Y}function
|
|
3550
|
-
`+" `import.meta.env.STX_PUBLIC_*` is substituted at build time and is safe; anything else is not.\n Fix it by moving the module-only code (`import.meta.glob`, `import.meta.url`) into its own module, or by resolving the value without `import.meta`.");throw J[
|
|
3549
|
+
${G}`}return Y}function f6($,Z){let J=/<(script|style)\b[\s\S]*?<\/\1>/gi,X=[],Y;while((Y=J.exec($))!==null)X.push([Y.index,Y.index+Y[0].length]);let Q=new RegExp(Z.source,Z.flags.replace(/[gy]/g,"")),G=0;while(G<$.length){let z=Q.exec($.slice(G));if(!z)return-1;let q=G+z.index;if(!X.some(([W,U])=>q>=W&&q<U))return q;G=q+Math.max(z[0].length,1)}return-1}var x6="/* [stx import stripped, resolved via window.stx in __stx_setup] */";function KG($){let Z=[];for(let J of $.split(",")){let X=J.trim();if(!X||X.startsWith("type "))continue;let Y=X.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(Y&&Y[1]!==Y[2])Z.push(`${Y[2]} = ${Y[1]}`)}if(Z.length===0)return x6;return`var ${Z.join(", ")}; ${x6}`}var WG=/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm;function UG($){return $.replace(WG,(Z,J)=>KG(J))}import e1 from"path";import i6 from"process";function t1($="STX_PUBLIC_"){let Z={},J={};for(let[X,Y]of Object.entries(i6.env)){if(!X.startsWith($)||Y===void 0)continue;Z[`import.meta.env.${X}`]=JSON.stringify(Y),J[X]=Y}return Z["import.meta.env"]=JSON.stringify(J),Z}function SB($="STX_PUBLIC_"){let Z={};for(let[J,X]of Object.entries(i6.env))if(J.startsWith($)&&X!==void 0)Z[J]=X;return Z}function n6($){return $.startsWith("http://")||$.startsWith("https://")||$.startsWith("//")}async function s6($,Z,J){try{let X;if($.startsWith("/")){let Y=Z;for(let Q=0;Q<5;Q++){let G=e1.join(Y,$);if(await Bun.file(G).exists())return G;Y=e1.dirname(Y)}X=e1.join(Z,$)}else if($.startsWith("./")||$.startsWith("../"))X=e1.resolve(Z,$);else X=e1.resolve(Z,$);if(await Bun.file(X).exists())return X;return null}catch{return null}}var o6=Symbol.for("stx.inline-assets.import-meta");function HG($,Z){if(!$.includes("import.meta"))return;let J=Error(`[stx] ${Z} still references \`import.meta\` after bundling, and it is being inlined as a classic <script> where that is a SyntaxError \u2014 the whole script fails to parse, taking every other script on the page with it.
|
|
3550
|
+
`+" `import.meta.env.STX_PUBLIC_*` is substituted at build time and is safe; anything else is not.\n Fix it by moving the module-only code (`import.meta.glob`, `import.meta.url`) into its own module, or by resolving the value without `import.meta`.");throw J[o6]=!0,J}async function r6($,Z,J){let X=$,Y=e1.dirname(Z),Q=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,G;while((G=Q.exec(X))!==null){let[K,W,U,H]=G;if(n6(U))continue;let j=await s6(U,Y,Z);if(j)try{let B=await Bun.file(j).text();if(J.add(j),U.endsWith(".ts")||U.endsWith(".tsx")){let F=await Bun.build({entrypoints:[j],target:"browser",minify:!0,define:t1()});if(F.outputs.length>0)B=await F.outputs[0].text(),HG(B,U)}let V=`<script>
|
|
3551
3551
|
// Source: ${U}
|
|
3552
3552
|
${B}
|
|
3553
|
-
</script>`;X=X.replace(K,V),Q.lastIndex=0}catch(B){if(B?.[
|
|
3553
|
+
</script>`;X=X.replace(K,V),Q.lastIndex=0}catch(B){if(B?.[o6])throw B}}let z=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,q;while((q=z.exec(X))!==null){let[K,W,U,H]=q,j=W+H;if(n6(U))continue;if(/rel=["']stylesheet["']/.test(j)||U.endsWith(".css")){let V=await s6(U,Y,Z);if(V)try{let F=await Bun.file(V).text();J.add(V);let _=`<style>
|
|
3554
3554
|
/* Source: ${U} */
|
|
3555
3555
|
${F}
|
|
3556
|
-
</style>`;X=X.replace(K,_),z.lastIndex=0}catch(F){}}}return X}function k$($,Z){let J=$,X=/@json\s*\(/g,Y;while((Y=X.exec(J))!==null){let Q=Y.index,G=Q+Y[0].length-1,z=1,q=G+1,K=null,W=!1;while(q<J.length&&z>0){let L=J[q];if(W){W=!1,q++;continue}if(L==="\\"&&K){W=!0,q++;continue}if(K){if(L===K)K=null;q++;continue}if(L==='"'||L==="'"||L==="`"){K=L,q++;continue}if(L==="(")z++;else if(L===")"){if(z--,z===0)break}q++}if(z!==0)break;let U=J.substring(G+1,q).trim(),H=J.substring(Q,q+1),j=-1,B=0,V=null,F=!1;for(let L=0;L<U.length;L++){let w=U[L];if(F){F=!1;continue}if(w==="\\"&&V){F=!0;continue}if(V){if(w===V)V=null;continue}if(w==='"'||w==="'"||w==="`"){V=w;continue}if(w==="("||w==="["||w==="{")B++;else if(w===")"||w==="]"||w==="}")B--;if(w===","&&B===0){j=L;break}}let _=j>=0?U.substring(0,j).trim():U,O=j>=0?U.substring(j+1).trim():void 0;try{let L=_.trim(),w;if(W0(L))w=K0(L,Object.keys(Z))(...Object.values(Z));else w=void 0;let R;if(O==="true")R=JSON.stringify(w,null,2);else R=JSON.stringify(w);let N=R.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");J=J.substring(0,Q)+N+J.substring(q+1),X.lastIndex=Q+N.length}catch(L){o0.log(L instanceof Error?L:Error(String(L)),{directive:"@json"},"error"),X.lastIndex=Q+H.length}}return J}function E$($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function
|
|
3556
|
+
</style>`;X=X.replace(K,_),z.lastIndex=0}catch(F){}}}return X}function k$($,Z){let J=$,X=/@json\s*\(/g,Y;while((Y=X.exec(J))!==null){let Q=Y.index,G=Q+Y[0].length-1,z=1,q=G+1,K=null,W=!1;while(q<J.length&&z>0){let L=J[q];if(W){W=!1,q++;continue}if(L==="\\"&&K){W=!0,q++;continue}if(K){if(L===K)K=null;q++;continue}if(L==='"'||L==="'"||L==="`"){K=L,q++;continue}if(L==="(")z++;else if(L===")"){if(z--,z===0)break}q++}if(z!==0)break;let U=J.substring(G+1,q).trim(),H=J.substring(Q,q+1),j=-1,B=0,V=null,F=!1;for(let L=0;L<U.length;L++){let w=U[L];if(F){F=!1;continue}if(w==="\\"&&V){F=!0;continue}if(V){if(w===V)V=null;continue}if(w==='"'||w==="'"||w==="`"){V=w;continue}if(w==="("||w==="["||w==="{")B++;else if(w===")"||w==="]"||w==="}")B--;if(w===","&&B===0){j=L;break}}let _=j>=0?U.substring(0,j).trim():U,O=j>=0?U.substring(j+1).trim():void 0;try{let L=_.trim(),w;if(W0(L))w=K0(L,Object.keys(Z))(...Object.values(Z));else w=void 0;let R;if(O==="true")R=JSON.stringify(w,null,2);else R=JSON.stringify(w);let N=R.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");J=J.substring(0,Q)+N+J.substring(q+1),X.lastIndex=Q+N.length}catch(L){o0.log(L instanceof Error?L:Error(String(L)),{directive:"@json"},"error"),X.lastIndex=Q+H.length}}return J}function E$($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function e6($){let Z=$,J=/@memo\s*\(/g,X,Y=[];while((X=J.exec(Z))!==null){let Q=X.index,G=Q+X[0].length,z=1,q=G;while(q<Z.length&&z>0){if(Z[q]==="(")z++;else if(Z[q]===")")z--;q++}if(z!==0)continue;let K=Z.slice(G,q-1).trim(),W=q,U=Z.slice(W),H=U.indexOf("@endmemo");if(H===-1)continue;let j=U.slice(0,H),B=W+H+8,V=j.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)/),F=V?V[0].length:0,_=j.slice(F),O=j.match(/(\s*)$/),L=O?O[0].length:0,w=_.slice(0,_.length-L),R=w.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),N;if(R){let[A,T,D="",M]=R,k=`<${T}${D} data-stx-memo="${K}"${M}>`;N=j.slice(0,F)+k+w.slice(A.length)+j.slice(F+w.length)}else N=`${j.slice(0,F)}<div data-stx-memo="${K}">${w}</div>${j.slice(F+w.length)}`;Y.push({start:Q,end:B,replacement:N}),J.lastIndex=B}for(let Q=Y.length-1;Q>=0;Q--){let G=Y[Q];Z=Z.slice(0,G.start)+G.replacement+Z.slice(G.end)}return Z.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function b$($){let Z=$.replace(/@ref="([^"]+)"/g,'data-stx-ref="$1"');return Z=Z.replace(/(<[a-zA-Z][a-zA-Z0-9-]*\b[^>]*?)\sref="([^"]+)"/g,'$1 data-stx-ref="$2"'),Z}function $8($,Z){if(!/\bref\s*=/.test($))return $;let J=/<\/?([a-zA-Z][\w-]*)\b(?:"[^"]*"|'[^']*'|[^'">])*>/y,X=T2($,(q,K)=>{J.lastIndex=K;let W=J.exec(q);if(!W||/^(?:script|style)$/i.test(W[1]))return-1;return J.lastIndex}),Y=[],Q=0,G=0,z=[];for(let{start:q,end:K,token:W}of X){let U=/^<\/?([\w-]+)/.exec(W)[1].toLowerCase();if(W.startsWith("</")){let j;while(j=Y.pop()){if(j.scoped)Q--;if(j.name===U)break}continue}let H=/\sdata-stx-scope\s*=/.test(W);if(!Q&&!H&&/\s(?:ref|@ref|:ref|x-ref|data-stx-ref)\s*=/.test(W)&&!/\sdata-stx-ref-caller\s*=/.test(W))z.push($.slice(G,q),W.replace(/\s*\/?>$/,(j)=>` data-stx-ref-caller="${Z}"${j}`)),G=K;if(!Z8.has(U)&&!/\/>$/.test(W)){if(Y.push({name:U,scoped:H}),H)Q++}}return z.push($.slice(G)),z.join("")}var Z8=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),J8=/(?:^|\s)x-no-cloak(?:=|\s|\/|>|$)/,a6=/<\/?\s*([a-z][\w-]*)/iy,jG=/\s/;function BG($,Z){let J=Z-1;while(J>=0&&jG.test($[J]))J--;return J>=0&&$[J]==="/"}function VG($,Z){let J=!1,X=!1;for(let Y=Z;Y<$.length;Y++){let Q=$[Y];if(J){if(Q==="'")J=!1}else if(X){if(Q==='"')X=!1}else if(Q==="'")J=!0;else if(Q==='"')X=!0;else if(Q===">")return Y}return-1}function _G($,Z){if($.indexOf("{",Z)===-1||$.indexOf("}",Z)===-1)return!1;let J=0,X=Z,Y=!1,Q=!1,G=!1;while(X<$.length){let z=$.indexOf("<",X),q=z===-1?$.length:z;if(q>X){if(J===0)while(X<q){let U=$.indexOf(Q?"}":"{",X);if(U===-1||U>=q){if(Q)G=!1;else Y=!1;break}if(U>X)if(Q)G=!1;else Y=!1;if(Q){if(G)return!0;G=!0}else if(Y)Q=!0,G=!1;else Y=!0;X=U+1}X=q;continue}if($.startsWith("<!--",X)){let U=$.indexOf("-->",X);X=U===-1?$.length:U+3;continue}let K=VG($,X);if(K===-1)break;a6.lastIndex=X;let W=a6.exec($)?.[1]?.toLowerCase()??"";if($[X+1]==="/"){if(J===0)break;J--}else if(!BG($,K)&&!Z8.has(W))J++;X=K+1}return!1}function X8($){if($.length>=32768&&!t6($))return $;let J=new RegExp(`<(${"div|span|p|h[1-6]|td|th|li|a|button|label|section|article|header|footer|main|nav|aside|dd|dt|figcaption|summary|caption|blockquote|pre|code|em|strong|small|sub|sup|time|mark|abbr|cite|q|s|u|b|i"})\\b`,"gi"),X="",Y=0,Q;while((Q=J.exec($))!==null){let G=Q.index,z=G+Q[0].length,q=!1,K=!1,W=-1;while(z<$.length){let H=$[z];if(q){if(H==="'")q=!1}else if(K){if(H==='"')K=!1}else if(H==="'")q=!0;else if(H==='"')K=!0;else if(H===">"){W=z;break}z++}if(W===-1)continue;let U=$.slice(G,W+1);if(J8.test(U))continue;if(U.includes("x-cloak"))continue;if(_G($,W+1))X+=$.slice(Y,W)+" x-cloak>",Y=W+1}return X+=$.slice(Y),X}var LG=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/,OG=/<\/script>/gi,FG=/<\/style>/gi;function Y8($){let Z=/<[a-z][\w-]*/gi,J="",X=0,Y;while((Y=Z.exec($))!==null){let Q=Y.index,G=Y[0].slice(1).toLowerCase();if(G==="script"||G==="style"){let B=G==="script"?OG:FG;B.lastIndex=Q;let V=B.exec($);if(V!==null)Z.lastIndex=V.index+V[0].length;continue}let z=Q+Y[0].length,q=!1,K=!1,W=-1;while(z<$.length){let B=$[z];if(q){if(B==="'")q=!1}else if(K){if(B==='"')K=!1}else if(B==="'")q=!0;else if(B==='"')K=!0;else if(B===">"){W=z;break}z++}if(W===-1)continue;let U=$.slice(Q+Y[0].length,W);if(J8.test(U))continue;if(/(?:^|\s)x-cloak(?:=|\s|\/|>|$)/.test(U))continue;if(!LG.test(U))continue;let H=$[W-1]==="/",j=H?W-1:W;J+=`${$.slice(X,j)} x-cloak${H?" ":""}`,X=j}return J+=$.slice(X),J}var y$=k1(256),wG=[{pattern:/document\.getElementById\s*\(/g,message:"document.getElementById() is prohibited",suggestion:'Use useRef("name") instead'},{pattern:/document\.querySelector\s*\(/g,message:"document.querySelector() is prohibited",suggestion:'Use useRef("name") instead'},{pattern:/document\.querySelectorAll\s*\(/g,message:"document.querySelectorAll() is prohibited",suggestion:'Use useRef("name") and access children instead'},{pattern:/document\.getElementsBy\w+\s*\(/g,message:"document.getElementsBy*() is prohibited",suggestion:'Use useRef("name") instead'},{pattern:/document\.createElement\s*\(/g,message:"document.createElement() is prohibited",suggestion:"Use template directives or component composition instead"},{pattern:/document\.activeElement(?![A-Za-z])/g,message:"document.activeElement is prohibited",suggestion:"Use useRef() to track focused elements"},{pattern:/document\.title\s*=/g,message:"document.title assignment is prohibited",suggestion:"Use useTitle() from composables"},{pattern:/document\.cookie(?![A-Za-z])/g,message:"document.cookie is prohibited",suggestion:"Use useCookie() from composables"},{pattern:/document\.addEventListener\s*\(/g,message:"document.addEventListener() is prohibited",suggestion:"Use useEventListener() or template @event directives"},{pattern:/window\.location(?![A-Za-z])/g,message:"window.location is prohibited",suggestion:"Use navigate() or useRoute()"},{pattern:/window\.history(?![A-Za-z])/g,message:"window.history is prohibited",suggestion:"Use navigate(), goBack(), goForward()"},{pattern:/window\.addEventListener\s*\(/g,message:"window.addEventListener() is prohibited",suggestion:"Use useEventListener() or @click directives"},{pattern:/(?:\bwindow\.)?localStorage(?![A-Za-z])/g,message:"window.localStorage is prohibited",suggestion:"Use useLocalStorage() from composables \u2014 or @appearanceBootstrap if this must run before first paint, where the runtime does not exist yet"},{pattern:/window\.sessionStorage(?![A-Za-z])/g,message:"window.sessionStorage is prohibited",suggestion:"Use useSessionStorage() from composables"},{pattern:/window\.scrollTo\s*\(/g,message:"window.scrollTo() is prohibited",suggestion:"Use useScroll().scrollTo() from composables"},{pattern:/window\.alert\s*\(/g,message:"window.alert() is prohibited",suggestion:"Use stx modal/dialog APIs instead"},{pattern:/window\.confirm\s*\(/g,message:"window.confirm() is prohibited",suggestion:"Use stx modal/dialog APIs instead"},{pattern:/window\.prompt\s*\(/g,message:"window.prompt() is prohibited",suggestion:"Use stx modal/dialog APIs instead"},{pattern:/(?<!\w)setTimeout\s*\(/g,message:"setTimeout() is prohibited",suggestion:"Use useTimeout() or useDebounce() from composables"},{pattern:/(?<!\w)setInterval\s*\(/g,message:"setInterval() is prohibited",suggestion:"Use useInterval() from composables"},{pattern:/(?<!\w)clearTimeout\s*\(/g,message:"clearTimeout() is prohibited",suggestion:"Use useTimeout().stop() or useDebounce().cancel()"},{pattern:/(?<!\w)clearInterval\s*\(/g,message:"clearInterval() is prohibited",suggestion:"Use useInterval().pause()"},{pattern:/(?<!\w)location\.href\s*=/g,message:"location.href assignment is prohibited",suggestion:"Use navigate() instead"},{pattern:/(?<!\w)location\.assign\s*\(/g,message:"location.assign() is prohibited",suggestion:"Use navigate() instead"},{pattern:/(?<!\w)location\.replace\s*\(/g,message:"location.replace() is prohibited",suggestion:"Use navigate() instead"}];function C$($,Z,J,X){let Y=typeof J==="boolean"?{enabled:J,failOnViolation:J}:J??{enabled:!1};if(!Y.enabled)return;let Q=H1($,Z,X,JSON.stringify(Y)),G=y$.get(Q);if(G!==void 0){if(G&&Y.failOnViolation)throw Error(G);return}let z=Y.allowPatterns??[],q=[],K=u0($.replace(/\{\{--[\s\S]*?--\}\}/g,(j)=>j.replace(/[^\n]/g," ")));for(let{pattern:j,message:B,suggestion:V}of wG){if(z.some((_)=>/\w/.test(_)&&B.includes(_)))continue;j.lastIndex=0;let F=K.match(j);if(F&&F.length>0){let _=K.split(`
|
|
3557
3557
|
`),O=$.split(`
|
|
3558
3558
|
`),L=[];_.forEach((A,T)=>{if(j.lastIndex=0,j.test(A))L.push(T+1)});let w=L.length>0?` (script line${L.length>1?"s":""} ${L.join(", ")})`:"",R=L.slice(0,3).map((A)=>` ${A} | ${(O[A-1]??"").trim().slice(0,100)}`).join(`
|
|
3559
3559
|
`),N=R?`
|
|
@@ -3561,28 +3561,28 @@ ${R}`:"";q.push(` \u2717 ${B}${w}
|
|
|
3561
3561
|
\u2192 ${V}${N}`)}}if(q.length===0){y$.set(Q,"");return}let W=(j)=>{let B=`${process.cwd()}/`;return j.startsWith(B)?j.slice(B.length):j},H=`[STX] DOM API violation in ${X&&X!==Z?`${W(X)} (composed into ${W(Z)})`:W(Z)}:
|
|
3562
3562
|
${q.join(`
|
|
3563
3563
|
`)}
|
|
3564
|
-
Tip: prefer useRef(), navigate(), and composables for component code`;if(y$.set(Q,H),Y.failOnViolation)throw Error(H);else console.warn(H)}
|
|
3564
|
+
Tip: prefer useRef(), navigate(), and composables for component code`;if(y$.set(Q,H),Y.failOnViolation)throw Error(H);else console.warn(H)}AG();import S$ from"path";var RG=/(\bfrom\s*|\bimport\s*\(\s*|\bimport\s+)(['"])(\.\.?\/[^'"]*)\2/g,NG=/(<script\b[^>]*>)([\s\S]*?)(<\/script>)/gi;function DG($,Z){if(!Z||!$.includes("/"))return $;let J=S$.dirname(Z);return $.replace(RG,(X,Y,Q,G)=>{let z=S$.resolve(J,G);return`${Y}${Q}${z.split(S$.sep).join("/")}${Q}`})}function Q8($,Z){if(!Z||!$.includes("<script"))return $;return $.replace(NG,(J,X,Y,Q)=>`${X}${DG(Y,Z)}${Q}`)}var E1="<!--PARENT_CONTENT_PLACEHOLDER-->";function G8($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function IG($,Z){let J=$.length,X=Z,Y=!0,Q=[],G=(z)=>z+9<=J&&$[z]==="<"&&$[z+1]==="/"&&($[z+2]==="s"||$[z+2]==="S")&&($[z+3]==="c"||$[z+3]==="C")&&($[z+4]==="r"||$[z+4]==="R")&&($[z+5]==="i"||$[z+5]==="I")&&($[z+6]==="p"||$[z+6]==="P")&&($[z+7]==="t"||$[z+7]==="T")&&($[z+8]===">"||/\s/.test($[z+8]));while(X<J){let z=$[X];if(G(X))return X;if(z==="/"&&$[X+1]==="/"){if(X=$.indexOf(`
|
|
3565
3565
|
`,X+2),X===-1)return-1;X+=1,Y=!0;continue}if(z==="/"&&$[X+1]==="*"){let q=$.indexOf("*/",X+2);if(q===-1)return-1;X=q+2,Y=!0;continue}if(z==="/"&&Y){let q=X+1,K=!1;while(q<J){let W=$[q];if(W==="\\"){q+=2;continue}if(W==="[")K=!0;else if(W==="]")K=!1;else if(W==="/"&&!K){q++;break}else if(W===`
|
|
3566
3566
|
`){q=-1;break}q++}if(q===-1){X++,Y=!1;continue}while(q<J&&/[a-z]/.test($[q]))q++;X=q,Y=!1;continue}if(z==="'"||z==='"'){let q=z;X++;while(X<J){if($[X]==="\\"){X+=2;continue}if($[X]===q){X++;break}if($[X]===`
|
|
3567
|
-
`)break;X++}Y=!1;continue}if(z==="`"){X++;while(X<J){if($[X]==="\\"){X+=2;continue}if($[X]==="`"){X++;break}if($[X]==="$"&&$[X+1]==="{"){Q.push(!0),X+=2,Y=!0;break}X++}if(Q.length===0)Y=!1;continue}if(z==="}"&&Q.length>0){Q.pop(),X++;while(X<J){if($[X]==="\\"){X+=2;continue}if($[X]==="`"){X++,Y=!1;break}if($[X]==="$"&&$[X+1]==="{"){Q.push(!0),X+=2,Y=!0;break}X++}continue}if(/\s/.test(z));else if(/[)\].\w$]/.test(z))Y=!1;else Y=!0;X++}return-1}function
|
|
3568
|
-
`+$.slice(X,J.start)+$.slice(J.end);let Y=$.slice(J.start,J.end),Q=$.slice(0,J.start)+$.slice(J.end),G=
|
|
3567
|
+
`)break;X++}Y=!1;continue}if(z==="`"){X++;while(X<J){if($[X]==="\\"){X+=2;continue}if($[X]==="`"){X++;break}if($[X]==="$"&&$[X+1]==="{"){Q.push(!0),X+=2,Y=!0;break}X++}if(Q.length===0)Y=!1;continue}if(z==="}"&&Q.length>0){Q.pop(),X++;while(X<J){if($[X]==="\\"){X+=2;continue}if($[X]==="`"){X++,Y=!1;break}if($[X]==="$"&&$[X+1]==="{"){Q.push(!0),X+=2,Y=!0;break}X++}continue}if(/\s/.test(z));else if(/[)\].\w$]/.test(z))Y=!1;else Y=!0;X++}return-1}function M8($,Z){let J=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),X=new RegExp(`<script\\b(?=[^>]*\\b${J}(?:\\s|=|/?>))[^>]*>`,"i").exec($);if(!X)return null;let Y=X.index+X[0].length,Q=$.indexOf("</script>",Y);if(Q===-1)return null;let G=$.indexOf(">",Q);if(G===-1)return null;return{start:X.index,end:G+1}}var z8=/<style\b[^>]*>/iy,q8=/<\/style>/gi,K8=/<script\b[^>]*>/iy;function W8($){let Z=0;while(Z<$.length){let J=$.indexOf("<",Z);if(J===-1)return-1;if($.startsWith("<!--",J)){let Y=$.indexOf("-->",J+4);Z=Y===-1?$.length:Y+3;continue}z8.lastIndex=J;let X=z8.exec($);if(X){q8.lastIndex=J+X[0].length;let Y=q8.exec($);Z=Y===null?$.length:Y.index+8;continue}if(K8.lastIndex=J,K8.test($))return J;Z=J+1}return-1}async function U8($,Z){try{let{registeredModuleIdsIn:J,buildModuleRegistryScript:X}=await o("stx/client-module-registry",()=>import("./chunk-7nes75cd.js")),Y=await X(J(...$),{minify:Z.buildMode==="compile"});if(!Y)return null;return`<script data-stx-scoped data-stx-run="always" data-stx-modules>${Y.replace(/<\/script/gi,"<\\/script")}</script>`}catch{return null}}function TG($,Z=""){let J=M8($,"data-stx-runtime");if(!J)return $;let X=W8($);if(X===-1||X===J.start){if(!Z)return $;return $.slice(0,J.end)+Z+$.slice(J.end)}if(X<J.start)return $.slice(0,X)+$.slice(J.start,J.end)+Z+`
|
|
3568
|
+
`+$.slice(X,J.start)+$.slice(J.end);let Y=$.slice(J.start,J.end),Q=$.slice(0,J.start)+$.slice(J.end),G=W8(Q);if(G===-1)return Y+Z+`
|
|
3569
3569
|
`+Q;return Q.slice(0,G)+Y+Z+`
|
|
3570
|
-
`+Q.slice(G)}async function v$($,Z,J,X,Y){if(X.ssr===!1&&!X.autoShell&&X.buildMode==="spa")return $;if(Z.__stx_signals_gate===void 0)Z.__stx_signals_gate=X1($,J);let Q=!Z.__stxProcessingDepth;V$(Z);for(let G of X._layerGraph?.configDependencies??[])Y.add(G);if(Q&&X.runtimeConfig)await C9(Z,J,X.runtimeConfig);if(Q)e$(Z),Z.__stx_head_injections=W$(),Z.__stx_seo_staged=!1;if(!Z.__stxProcessingDepth)Z.__stxProcessingDepth=0;if(Z.__stxProcessingDepth++,!Z.__onceStore)Z.__onceStore=new Set;if((X.debug||!_9()&&!L9())&&J&&J.endsWith(".stx"))
|
|
3571
|
-
`),...K.htmlAttrs&&{htmlAttrs:O6(z.htmlAttrs,K.htmlAttrs)},...K.bodyAttrs&&{bodyAttrs:{...z.bodyAttrs||{},...K.bodyAttrs}}},L=w$(G);if(G=R6(G,O,{...V&&{titleIsHtml:!0},...X.app?.colorMode&&{colorMode:X.app.colorMode}},L),L)G=w6(G,z),G=F6(G,O.htmlAttrs);let w=G.match(/<!-- stx-layout: ([^ ]+) -->/);if(w&&G.includes("<head")){let A=w[1],T=
|
|
3572
|
-
<meta name="stx-layout" content="${
|
|
3573
|
-
<meta name="stx-layout-group" content="${
|
|
3574
|
-
${j}`).join("");G=
|
|
3575
|
-
`+G.slice(K)}}if(Q)G=q6(G);if(Q&&Z.__stx_inject_css!==!1)G=await
|
|
3570
|
+
`+Q.slice(G)}async function v$($,Z,J,X,Y){if(X.ssr===!1&&!X.autoShell&&X.buildMode==="spa")return $;if(Z.__stx_signals_gate===void 0)Z.__stx_signals_gate=X1($,J);let Q=!Z.__stxProcessingDepth;V$(Z);for(let G of X._layerGraph?.configDependencies??[])Y.add(G);if(Q&&X.runtimeConfig)await C9(Z,J,X.runtimeConfig);if(Q)e$(Z),Z.__stx_head_injections=W$(),Z.__stx_seo_staged=!1;if(!Z.__stxProcessingDepth)Z.__stxProcessingDepth=0;if(Z.__stxProcessingDepth++,!Z.__onceStore)Z.__onceStore=new Set;if((X.debug||!_9()&&!L9())&&J&&J.endsWith(".stx"))A8($,J);try{return await w8.timeAsync("template-processing",async()=>{let G=await kG($,Z,J,X,Y);if(Q)G=b$(G);if(Q&&X.autoShell&&X.buildMode!=="compile"){let z=X.app?.head||{},K=(Z.__stx_runtime_head||null)??D8(),W=(Z.__stx_head_raw||"").trim(),U,H=W.match(/<title[^>]*>([\s\S]*?)<\/title>/i);if(H)U=H[1].trim(),W=W.replace(H[0],"").trim();let j=Z.__sections?.title,B=K.title||U||j,V=!K.title&&(!!U||!!j),F=K.meta||[],_=new Set(F.map((A)=>o1(A)).filter(Boolean)),O={...z,...B&&{title:B},meta:[...(z.meta||[]).filter((A)=>!_.has(o1(A))),...F],link:[...z.link||[],...K.link||[]],script:[...z.script||[],...K.script||[]],headRaw:[z.headRaw,W].filter(Boolean).join(`
|
|
3571
|
+
`),...K.htmlAttrs&&{htmlAttrs:O6(z.htmlAttrs,K.htmlAttrs)},...K.bodyAttrs&&{bodyAttrs:{...z.bodyAttrs||{},...K.bodyAttrs}}},L=w$(G);if(G=R6(G,O,{...V&&{titleIsHtml:!0},...X.app?.colorMode&&{colorMode:X.app.colorMode}},L),L)G=w6(G,z),G=F6(G,O.htmlAttrs);let w=G.match(/<!-- stx-layout: ([^ ]+) -->/);if(w&&G.includes("<head")){let A=w[1],T=O8(A);G=G.replace(/<head\b[^>]*>/i,(D)=>`${D}
|
|
3572
|
+
<meta name="stx-layout" content="${G8(A)}">
|
|
3573
|
+
<meta name="stx-layout-group" content="${G8(T)}">`)}let R=G.match(/function (__stx_setup_\w+)\(/),N=R?s0(G):null;if(R&&N&&!/\bdata-stx=/.test(N.tag)){G=y1(G,(T,D)=>`<body${D} data-stx="${R[1]}">`);let A=new RegExp(`(<(?!body)[a-zA-Z][^>]*) data-stx="${R[1]}"`,"i");G=G.replace(A,"$1")}}if(Q){let z=Z.__stx_head_injections??W$(),q=O$(G);if(q!==null)z.beforeClose.push(q);let K=B$(G);if(K!==null)z.afterOpen.push(K);G=Y6(G,z);let W=X.app?.colorMode;if(W)G=z6(G,W)}if(Q)if(M8(G,"data-stx-runtime")){let q=null,K=null,W=null,U=null;try{let{getStoreScript:j}=await o("stx/store-loader",()=>import("./chunk-sc70p4kj.js")),B=X.storesDir,V=await j(B);if(V)K=`<script data-stx-stores>${V}</script>`}catch{}q=await U8([G,K],X);try{let{getFrameworkComposableScript:j}=await o("stx/framework-composables",()=>import("./chunk-vb16zpbw.js"));U=await j(G)}catch{}try{let{getComposableScript:j}=await o("stx/composable-loader",()=>import("./chunk-w3qdxrpv.js")),B=X.composablesDir,V=[q,K,U].filter((_)=>_!==null),F=await j(X._layerComposableDirs??B,G,V);if(F)W=`<script data-stx-composables>${F}</script>`}catch{}let H=[q,K,W,U].filter((j)=>j!==null).map((j)=>`
|
|
3574
|
+
${j}`).join("");G=TG(G,H)}else{let q=await U8([G],X);if(q){let K=G.search(/<script\b[^>]*>(?:(?!<\/script>)[\s\S])*?__stxModules\[/i);if(K!==-1)G=G.slice(0,K)+q+`
|
|
3575
|
+
`+G.slice(K)}}if(Q)G=q6(G);if(Q&&Z.__stx_inject_css!==!1)G=await N8(G,void 0,X.buildMode==="serve",!0);else if(Q)G=R8(G);if(G=G.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),Q&&Z.__stx_runtime_config)G=F8(G,Z.__stx_runtime_config);if(Q&&!Z.__stx_defer_server_data){let z=j6(Z);if(z){let q=/<head\b[^>]*>/i.exec(G),K=q?q.index+q[0].length:0;G=G.slice(0,K)+z+G.slice(K)}}return G})}catch(G){if(G instanceof j8)throw G;let z=G instanceof Error?G.message:String(G),q=new k2(`Template processing failed: ${z}`,J,void 0,void 0,$.substring(0,200)+($.length>200?"...":""));if(o0.log(q,{filePath:J,context:Z}),V8.logDetailedError(q,{filePath:J,template:$.substring(0,500)}),X.debug)throw q;return B8.createFallbackContent("Template Processing",q)}}async function kG($,Z,J,X,Y){let Q=process.cwd(),G={...X,partialsDir:X.partialsDir&&!T0.isAbsolute(X.partialsDir)?T0.resolve(Q,X.partialsDir):X.partialsDir,componentsDir:X.componentsDir&&!T0.isAbsolute(X.componentsDir)?T0.resolve(Q,X.componentsDir):X.componentsDir,layoutsDir:X.layoutsDir&&!T0.isAbsolute(X.layoutsDir)?T0.resolve(Q,X.layoutsDir):X.layoutsDir},z=G,q=$;await yG(J,Z),bG(Z,z),q=await E2(()=>n4(q,Z,J,z),q,(L)=>{o0.log(L,{filePath:J,phase:"pre-processing-middleware"},"warning"),console.warn(`[stx] pre-processing middleware failed for ${J}: ${L.message}`)}),q=q.replace(/\{\{--[\s\S]*?--\}\}/g,"");let K=B1(q,V9,(L,w)=>`\x00STX_HTML_COMMENT_${w}\x00`);q=K.output;let W=K.tokens,U=(L)=>W.length===0?L:L.replace(/\x00STX_HTML_COMMENT_(\d+)\x00/g,(w,R)=>W[Number(R)]??""),H="\x00STX_ESCAPED_AT\x00";q=q.replace(/@@/g,H),q=q.replace(/@\{\{([\s\S]*?)\}\}/g,(L,w)=>{return`{{ ${w} }}`}),q=t4(q),q=await r6(q,J,Y);let j={};q=Q$(q,j);let B={...Z.__sections||{}},V="",F=k3(T3($)),_=/@nolayout\b/.test(q)||F===!1;if(/@nolayout\b/.test(q))q=q.replace(/@nolayout\b\s*/g,"");let O=q.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(O)V=O[1],q=q.replace(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/g,"");else if(typeof F==="string"){if(V=F,!/@section\s*\(/.test(q))q=`@section('content')
|
|
3576
3576
|
${q.trim()}
|
|
3577
3577
|
@endsection`}if(!V&&!_&&z.defaultLayout){let L=F$(q),w=/@section\s*\(/.test(q);if(!L||w){let R="",N=T0.dirname(J),A=z.layoutsDir?T0.dirname(z.layoutsDir):process.cwd();for(let T=0;T<20;T++){let D=T0.join(N,"_layout.stx");if(await a(D)){R=D;break}let M=T0.dirname(N);if(M===N||M.length<A.length)break;N=M}if(R)V=R;else if(z.layoutsDir){let T=T0.isAbsolute(z.layoutsDir)?z.layoutsDir:T0.resolve(process.cwd(),z.layoutsDir),D=T0.join(T,`${z.defaultLayout}.stx`);if(await a(D))V=D}if(V&&!w)q=`@section('content')
|
|
3578
3578
|
${q.trim()}
|
|
3579
|
-
@endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(L,w,R)=>{return B[w]=R,""}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+?)\s*\)/g,(L,w,R)=>{if(/^(['"]).*\1$/.test(R.trim()))return L;try{let N=e(R.trim(),Z);if(N===void 0)return L;return B[w]=String(N??""),""}catch{return L}}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(L,w,R)=>{if(R.includes("@parent"))B[w]=R.replace("@parent",E1);else B[w]=R.trim();return""}),Z.__sections=B,q=q.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(L,w,R)=>{return B[w]||R||""}),!("slot"in Z)||Z.slot===void 0)q=q.replace(/\{\{\s*slot\s*\}\}/g,()=>{return B.content||""});if(q=G$(q,j),V){let L=[],w=n0(q),R=B1(w.output,m2,(N,A)=>`\x00STX_ORPHAN_STYLE_${A}\x00`);if(q=R.output.replace(/\x00STX_(SCRIPT|ORPHAN_STYLE)_(\d+)\x00/g,(N,A,T)=>{let D=A==="SCRIPT"?
|
|
3579
|
+
@endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(L,w,R)=>{return B[w]=R,""}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+?)\s*\)/g,(L,w,R)=>{if(/^(['"]).*\1$/.test(R.trim()))return L;try{let N=e(R.trim(),Z);if(N===void 0)return L;return B[w]=String(N??""),""}catch{return L}}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(L,w,R)=>{if(R.includes("@parent"))B[w]=R.replace("@parent",E1);else B[w]=R.trim();return""}),Z.__sections=B,q=q.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(L,w,R)=>{return B[w]||R||""}),!("slot"in Z)||Z.slot===void 0)q=q.replace(/\{\{\s*slot\s*\}\}/g,()=>{return B.content||""});if(q=G$(q,j),V){let L=[],w=n0(q),R=B1(w.output,m2,(N,A)=>`\x00STX_ORPHAN_STYLE_${A}\x00`);if(q=R.output.replace(/\x00STX_(SCRIPT|ORPHAN_STYLE)_(\d+)\x00/g,(N,A,T)=>{let D=A==="SCRIPT"?CG(w.scripts[Number(T)],J):R.tokens[Number(T)];if(D)L.push(D);return""}),L.length>0){let N=L.join(`
|
|
3580
3580
|
`);B.content=B.content?`${B.content}
|
|
3581
|
-
${N}`:N,Z.__sections=B}}if(V)try{let L;if(T0.isAbsolute(V))L=V,Y.add(V);else L=await E2(()=>r2(V,J,G,Y),null,()=>{throw new k2(`Failed to resolve layout path: ${V}`,J,void 0,void 0,`Layout referenced from ${J}`)});if(!L){let D=(I)=>{if(!I)return[];try{let y=T0.isAbsolute(I)?I:T0.resolve(process.cwd(),I);return
|
|
3582
|
-
${q}`,U(q)}catch(L){return o0.log(L instanceof Error?L:Error(String(L)),{layoutPath:V,filePath:J},"error"),`[Error processing layout: ${L instanceof Error?L.message:String(L)}]`}return U(await
|
|
3583
|
-
`;if(Q=D(Q,Z),Q=M(Q,Z),Q=o4(Q),Q=N5(Q,Z),Q=f7(Q),Q=p4(Q),Q=await Y$(Q,Z,J,G,Y),Q=await J$(Q,Z,J,G,Y),Z.__stxProcessingDepth===1)Q=$3(Q,Z);if(Q=Q.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),Q=b$(Q),Q=e0(Q,Z,J),Q=b3(Q,Z,{filePath:J,buildMode:G.buildMode}),Q=D5(Q,Z),Q=A5(Q,Z),Q=_2(Q,Z),Q=y5(Q,Z),Q=C5(Q,Z),Q=await D7(Q,Z,J,G),Q=await x3(Q,Z,J),Q=await
|
|
3581
|
+
${N}`:N,Z.__sections=B}}if(V)try{let L;if(T0.isAbsolute(V))L=V,Y.add(V);else L=await E2(()=>r2(V,J,G,Y),null,()=>{throw new k2(`Failed to resolve layout path: ${V}`,J,void 0,void 0,`Layout referenced from ${J}`)});if(!L){let D=(I)=>{if(!I)return[];try{let y=T0.isAbsolute(I)?I:T0.resolve(process.cwd(),I);return MG.readdirSync(y).filter((E)=>E.endsWith(".stx")).map((E)=>E.replace(/\.stx$/,""))}catch{return[]}},M=[...D(G.layoutsDir),...D(G.fallbackLayoutsDir)].filter((I,y,E)=>E.indexOf(I)===y).sort(),k=`Layout not found: ${V} (referenced from ${J})`+(M.length>0?`. Available layouts: ${M.join(", ")}`:G.layoutsDir?`. No .stx layouts found in ${G.layoutsDir}`:"");if(o0.log(Error(k),{layoutPath:V,filePath:J,available:M},"error"),console.error(`[stx] ${k}`),G.debug)throw new k2(k,J);return q}let w=await E2(()=>Bun.file(L).text(),"",()=>{throw new k2(`Failed to read layout file: ${L}`,J,void 0,void 0,"Layout content could not be loaded")});w=Q8(w,L);let R=w.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(R){if(G.debug)console.log(`Found nested layout: ${R[1]} in ${L}`);let D={},M=w.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(y,E,b)=>{return D[E]=b.trim(),""});for(let[y,E]of Object.entries(D))if(B[y]&&B[y].includes(E1)){let b=B[y].indexOf(E1);B[y]=B[y].slice(0,b)+E+B[y].slice(b+E1.length)}else if(!B[y])B[y]=E;let k={...Z,__sections:B},I=`@layout('${R[1]}')${M}`;return await v$(I,k,L,G,Y)}let N=w.replace(/\{\{--[\s\S]*?--\}\}/g,""),A=Q$(N,j),T={};return A=A.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(D,M,k)=>{return T[M]=k.trim(),`@slot('${M}')`}),A=A.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(D,M,k)=>{if(B[M]){let I=B[M];if(I.includes(E1)){let y=T[M]||"",E=I.indexOf(E1);I=I.slice(0,E)+y+I.slice(E+E1.length)}return I}return k||""}),A=EG(A,B),A=A.replace(/\{\{\s*slot\s*\}\}/g,()=>{return B.content||""}),A=G$(A,j),Z.__originalFilePath=J,q=await H8(A,Z,L,G,Y),q=`<!-- stx-layout: ${V} -->
|
|
3582
|
+
${q}`,U(q)}catch(L){return o0.log(L instanceof Error?L:Error(String(L)),{layoutPath:V,filePath:J},"error"),`[Error processing layout: ${L instanceof Error?L.message:String(L)}]`}return U(await H8(q,Z,J,G,Y))}function EG($,Z){return $.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(J,X,Y)=>{let Q=Z[X];if(Q!==void 0){if(!new RegExp(`@(?:yield|slot)\\(\\s*['"]${X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}['"]`).test(Q))return Q}return Y||""})}function bG($,Z){if($.__stx_sfc_mode=!0,$.__stx_options=Z,Z.buildMode)$.__stx_buildMode=Z.buildMode;let J=Z.envPrefix||"STX_PUBLIC_",X={};for(let[Y,Q]of Object.entries(process.env))if(Y.startsWith(J)&&Q!==void 0)X[Y]=Q;$.$env=X}async function yG($,Z){await E2(()=>r4($,Z),void 0,(J)=>{o0.log(J,{filePath:$,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed for ${$}: ${J.message}`)})}var P$="data-stx-source";function CG($,Z){if(!$)return $;let J=/^<script\b([^>]*)>/i.exec($);if(!J||!/\bserver\b/.test(J[1])||J[1].includes(P$))return $;return`<script ${P$}="${encodeURIComponent(Z)}"${$.slice(7)}`}function SG($){let Z=new RegExp(`${P$}="([^"]*)"`).exec($);return Z?decodeURIComponent(Z[1]):void 0}async function PG($,Z,J){let X=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,Y;while((Y=X.exec($))!==null){let Q=Y[1],G=Y[2];if(!/\bserver\b/.test(Q)||!G.trim())continue;let q=SG(Q)??J;try{let{extractVariables:K}=await o("stx/variable-extractor",()=>import("./chunk-x3s0e6wv.js"));await K(G,Z,q,{preserveExisting:!0})}catch(K){let W=K instanceof Error?K:Error(String(K));o0.log(W,{filePath:q,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${q}: ${W.message}`)}}}async function vG($,Z,J){try{let{interpolateScriptsInTemplate:X}=await o("stx/expressions",()=>import("./chunk-j18h8dbg.js"));return X($,Z,{skipServer:!0})}catch(X){let Y=X instanceof Error?X:Error(String(X));return o0.log(Y,{filePath:J,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${J}: ${Y.message}`),$}}async function H8($,Z,J,X,Y){let Q=$,G=X;if(await PG(Q,Z,J),Q=await vG(Q,Z,J),Q=await S4(Q,Z,J),Q=await P4(Q,Z,J),Q=await x7(Q,Z,J,G),X1(Q))Q=m6(Q,Z),Q=T$(Q,Z);Q=c6(Q);let{processStreamDirectives:z}=await o("stx/streaming",()=>import("./chunk-gg85dhn4.js"));Q=z(Q,Z),Q=m4(Q,Z,J,G),Q=await J6(Q,Z,J,G,Y),Q=await J$(Q,Z,J,G,Y),Q=I3(Q,Z,J,G);let{processDeferDirectives:q}=await o("stx/defer",()=>import("./chunk-v33qvj8y.js"));Q=q(Q,Z,J);let{processTeleportDirectives:K}=await o("stx/teleport",()=>import("./chunk-7yzyn9k7.js"));Q=K(Q,Z,J);let{processTransitionDirectives:W,processTransitionAttributes:U}=await o("stx/transitions",()=>import("./chunk-ksqba0cq.js"));Q=W(Q,Z,J),Q=U(Q);let{processErrorBoundaryDirectives:H}=await o("stx/error-boundaries",()=>import("./chunk-nnv8wytm.js"));Q=H(Q,Z,J);let{processSuspenseDirectives:j}=await o("stx/suspense",()=>import("./chunk-8q8gj45z.js"));Q=j(Q,Z,J);let{processAsyncDirectives:B}=await o("stx/async-components",()=>import("./chunk-t5kwx6fa.js"));Q=B(Q,Z,J);let{processKeepAliveDirectives:V}=await o("stx/keep-alive",()=>import("./chunk-wwghzbbg.js"));Q=V(Q,Z,J);let{processVirtualListDirectives:F,processVirtualGridDirectives:_,processInfiniteListDirectives:O}=await o("stx/virtual-scrolling",()=>import("./chunk-kexk6z9s.js"));Q=F(Q,Z,J),Q=_(Q,Z,J),Q=O(Q,Z,J);let{processPartialHydrationDirectives:L,processStaticDirectives:w}=await o("stx/partial-hydration",()=>import("./chunk-bnq0p4r4.js"));Q=L(Q,Z,J),Q=w(Q);let{processComputedDirectives:R,processWatchDirectives:N}=await o("stx/computed",()=>import("./chunk-jd9nv63q.js"));Q=R(Q,Z,J),Q=N(Q,Z,J);let{processFormValidationDirectives:A}=await o("stx/forms-validation",()=>import("./chunk-604qr43v.js"));Q=A(Q,Z,J);let{processHeadDirective:T,processTitleDirective:D,processMetaDirective:M,resetHead:k}=await o("stx/head",()=>import("./chunk-ajhrz96a.js"));if(!Z.__stx_head_preset&&!Z.__stx_runtime_head)k();let I=T(Q);if(Q=I.content,I.headContent)Z.__stx_head_raw=`${Z.__stx_head_raw||""}${I.headContent}
|
|
3583
|
+
`;if(Q=D(Q,Z),Q=M(Q,Z),Q=o4(Q),Q=N5(Q,Z),Q=f7(Q),Q=p4(Q),Q=await Y$(Q,Z,J,G,Y),Q=await J$(Q,Z,J,G,Y),Z.__stxProcessingDepth===1)Q=$3(Q,Z);if(Q=Q.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),Q=b$(Q),Q=e0(Q,Z,J),Q=b3(Q,Z,{filePath:J,buildMode:G.buildMode}),Q=D5(Q,Z),Q=A5(Q,Z),Q=_2(Q,Z),Q=y5(Q,Z),Q=C5(Q,Z),Q=await D7(Q,Z,J,G),Q=await x3(Q,Z,J),Q=await _8(Q,Z,J,G),Q=L8(Q,Z,J,G),Q=G7(Q,Z,J,G),Q=z7(Q,Z,J),Q=q7(Q,Z,J,G),Q=P7(Q,Z,J,G),Q=k$(Q,Z),Q=E$(Q),Q=e6(Q),!G.skipEventDirectives)Q=a$(Q,Z,J);if(Q=S3(Q,Z,J),G.debug){let s=/\bx-data\s*=/.test(Q),p=I$($);if(s&&p)console.warn(`[stx] ${J}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
|
|
3584
3584
|
Both work on the same page, but they manage separate scopes.
|
|
3585
|
-
Prefer signals (state/derived/effect) for new components.`)}Q=w4(Q,Z),Q=await V1(Q,Z,J),Q=
|
|
3585
|
+
Prefer signals (state/derived/effect) for new components.`)}Q=w4(Q,Z),Q=await V1(Q,Z,J),Q=X8(Q),Q=Y8(Q),Q=O3(Q);let{processXElementDirectives:y}=await o("stx/x-element",()=>import("./chunk-y4dd2n2n.js"));Q=y(Q);let E=Z.__originalFilePath||J,b=E9(Z);if(Q=await p6(Q,G,E,b),Q=d7(Q,Z),Q=await s4(Q,Z,J,G),G.media?.image?.autoSiblings){let s=G.publicDir||"public",{rewriteImagesWithSiblings:p}=await o("stx/image-optimization/auto-sibling",()=>import("./chunk-vpbw6g2t.js"));Q=await p(Q,{publicDir:s})}if(G.seo?.enabled)Q=K7(Q,Z,G);let C=(s,p,q0=!0)=>{if(!p)return s;let Z0=p.match(/<title\b[^>]*>[\s\S]*?<\/title>/i),V0=s.match(/<title\b[^>]*>[\s\S]*?<\/title>/i);if(Z0&&V0){if(q0)s=s.replace(V0[0],Z0[0]);if(p=p.replace(Z0[0],"").trim(),!p)return s}if(/<\/head>/i.test(s))return s.replace(/<\/head>/i,`${p}
|
|
3586
3586
|
</head>`);if(/<head\b[^>]*>/i.test(s))return s.replace(/(<head\b[^>]*>)/i,`$1
|
|
3587
3587
|
${p}`);if(/<html\b[^>]*>/i.test(s))return s.replace(/(<html\b[^>]*>)/i,`$1
|
|
3588
3588
|
<head>
|
|
@@ -3593,33 +3593,33 @@ ${V3()}
|
|
|
3593
3593
|
`+j1}else Q=Q.replace("</head>",`${p}
|
|
3594
3594
|
</head>`)}else if(Q.includes("<body"))Q=Q.replace(/<body([^>]*)>/,`<body$1>
|
|
3595
3595
|
${p}`);else Q=p+`
|
|
3596
|
-
`+Q}{let{scanScriptTags:s}=await o("stx/signal-processing",()=>import("./chunk-
|
|
3597
|
-
`+Q.slice(q0)}Z.__stx_event_bindings=[]}}if(!
|
|
3598
|
-
`);return{line:J.length,column:J[J.length-1].length+1}}function
|
|
3599
|
-
`);for(let Y of X){let Q=J,G=null,z=!1;for(let q=0;q<Y.length;q++){let K=Y[q];if(z){z=!1;continue}if(K==="\\"){z=!0;continue}if(G){if(K===G)G=null;continue}if(K==="'"||K==='"'||K==="`"){G=K;continue}if(K==="/"&&q+1<Y.length&&Y[q+1]==="/")break;if(K==="{")J++;else if(K==="}")J--}if(Q===0){let q=Y.match(/(?:const|let|var)\s+(\w+)\s*=/);if(q)Z.push(q[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(Y)){let K=Y.match(/(?:const|let|var)\s+(\w+)/);if(K)Z.push(K[1])}else{let K=Y.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(K){let U=K[1].slice(1,-1).split(",").map((H)=>{let j=H.split(":");return(j.length>1?j[1]:j[0]).trim()}).filter((H)=>/^\w+$/.test(H));Z.push(...U)}}}}return[...new Set(Z)]}function
|
|
3596
|
+
`+Q}{let{scanScriptTags:s}=await o("stx/signal-processing",()=>import("./chunk-vgwcpt59.js")),p=[];for(let q0 of s(Q)){if(!/\bserver\b/i.test(q0.attrs))continue;let Z0=q0.start+q0.fullMatch.indexOf(">")+1,V0=IG(Q,Z0);if(V0===-1)continue;let k0=V0+9;while(k0<Q.length&&/\s/.test(Q[k0]))k0++;p.push({start:q0.start,end:k0})}if(p.length>0){let q0=Array(p.length+1),Z0=0;for(let V0=0;V0<p.length;V0++){let{start:k0,end:j1}=p[V0];q0[V0]=Q.slice(Z0,k0),Z0=j1}q0[p.length]=Q.slice(Z0),Q=q0.join("")}}let y0=y9(Q,J);if(y0.hasScoped)Q=y0.html;let h0=Z.__stx_event_bindings||[],Y0=!1,B0=[],M0=/\s:[a-z][\w.-]*\s*=/.test(Q),{scanScriptTags:P0}=await o("stx/signal-processing",()=>import("./chunk-vgwcpt59.js"));for(let s of P0(Q,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))B0.push({match:s.fullMatch,attrs:s.attrs,content:s.body});for(let{match:s,attrs:p,content:q0}of B0){Y0=!0;let Z0=q0;C$(q0,J,X.strict,Z.__originalFilePath);let V0=await b9(q0,{eventBindings:h0,attrs:p,hasColonDirectives:M0,templateContent:$,filePath:J,projectRoot:process.cwd(),production:X.buildMode==="compile",serverData:b});Q=Q.replace(s,()=>V0)}if(Y0)Z.__stx_event_bindings=[];if(!Y0&&Z.__stxProcessingDepth===1){let s=Z.__stx_event_bindings||[];if(s.length>0){let p=h9(s);if(p){let q0=Q.lastIndexOf("</body>");Q=q0===-1?Q+p:Q.slice(0,q0)+p+`
|
|
3597
|
+
`+Q.slice(q0)}Z.__stx_event_bindings=[]}}if(!k6(Q)&&E6(Q))Q=await M9(Q,G);if(Q=b6(Q),G.csp?.enabled&&G.csp.useNonce&&typeof Z.cspNonce==="string")Q=S7(Q,Z.cspNonce);return Q}var fG=[{open:"@if",close:"@endif",name:"if"},{open:"@unless",close:"@endunless",name:"unless"},{open:"@foreach",close:"@endforeach",name:"foreach"},{open:"@for",close:"@endfor",name:"for"},{open:"@while",close:"@endwhile",name:"while"},{open:"@forelse",close:"@endforelse",name:"forelse"},{open:"@switch",close:"@endswitch",name:"switch"},{open:"@isset",close:"@endisset",name:"isset"},{open:"@empty",close:"@endempty",name:"empty"},{open:"@auth",close:"@endauth",name:"auth"},{open:"@guest",close:"@endguest",name:"guest"},{open:"@can",close:"@endcan",name:"can"},{open:"@cannot",close:"@endcannot",name:"cannot"},{open:"@section",close:"@endsection",name:"section",altClose:"@show"},{open:"@push",close:"@endpush",name:"push"},{open:"@prepend",close:"@endprepend",name:"prepend"},{open:"@once",close:"@endonce",name:"once"},{open:"@markdown",close:"@endmarkdown",name:"markdown"},{open:"@component",close:"@endcomponent",name:"component"}],xG=[{pattern:/@if\s*[^(]/,message:"@if directive missing parentheses",suggestion:"Use @if(condition)"},{pattern:/@foreach\s*[^(]/,message:"@foreach directive missing parentheses",suggestion:"Use @foreach(items as item)"},{pattern:/@foreach\([^)]*\)\s*[^@\n<]/,message:"@foreach may have content on same line",suggestion:"Put content on new line after @foreach()"},{pattern:/@include\s*[^(]/,message:"@include directive missing parentheses",suggestion:"Use @include('partial-name')"},{pattern:/@extends\s*[^(]/,message:"@extends directive missing parentheses",suggestion:"Use @extends('layout-name') or @layout('layout-name')"},{pattern:/@layout\s*[^(]/,message:"@layout directive missing parentheses",suggestion:"Use @layout('layout-name')"}],gG=[{pattern:/\{\{\s*constructor\s*\}\}/,message:"Attempting to access constructor property"},{pattern:/\{\{\s*__proto__\s*\}\}/,message:"Attempting to access __proto__ property"},{pattern:/\{\{\s*eval\s*\(/,message:"Attempting to use eval in expression"}];function hG($){let Z=[],J=[];return uG($,Z),dG($,Z,J),mG($,J),lG($,Z),{valid:Z.length===0,errors:Z,warnings:J}}function uG($,Z){let J=($.match(/\{\{/g)||[]).length,X=($.match(/\}\}/g)||[]).length;if(J!==X)Z.push({type:"expression",message:`Unclosed expression brackets: found ${J} opening '{{' and ${X} closing '}}'`,suggestion:"Ensure every {{ has a matching }}"})}function dG($,Z,J){for(let X of fG){let Y=new RegExp(`${X.open}(?:\\s|\\()`,"g"),Q=new RegExp(X.close,"g"),G=($.match(Y)||[]).length,z=($.match(Q)||[]).length;if(X.altClose){let q=new RegExp(X.altClose,"g");z+=($.match(q)||[]).length}if(G>z)Z.push({type:"directive",message:`Unclosed @${X.name} directive: found ${G} opening and ${z} closing`,suggestion:`Add ${G-z} missing ${X.close} tag(s)`});else if(z>G)J.push({type:"directive",message:`Extra ${X.close} found: ${z-G} more closing than opening`,suggestion:`Check for orphaned ${X.close} tags`})}}function mG($,Z){for(let J of xG)if(J.pattern.test($))Z.push({type:"syntax",message:J.message,suggestion:J.suggestion})}function lG($,Z){for(let J of gG)if(J.pattern.test($))Z.push({type:"expression",message:`Security warning: ${J.message}`,suggestion:"Remove dangerous code from template expressions"})}function cG($,Z){let J=$.slice(0,Z).split(`
|
|
3598
|
+
`);return{line:J.length,column:J[J.length-1].length+1}}function pG($,Z,J){let X=[];switch($){case"if":case"elseif":case"unless":if(J.length===0)X.push({type:"syntax",message:`@${$} requires a condition`,suggestion:`Use @${$}(condition)`});break;case"foreach":if(J.length===0||!J[0].includes(" as "))X.push({type:"syntax",message:'@foreach requires "items as item" syntax',suggestion:"Use @foreach(items as item) or @foreach(items as key => value)"});break;case"for":if(J.length===0)X.push({type:"syntax",message:"@for requires loop parameters",suggestion:"Use @for(let i = 0; i < 10; i++)"});break;case"switch":if(J.length===0)X.push({type:"syntax",message:"@switch requires an expression",suggestion:"Use @switch(expression)"});break;case"case":if(J.length===0)X.push({type:"syntax",message:"@case requires a value",suggestion:"Use @case(value)"});break;case"include":case"extends":case"component":if(J.length===0)X.push({type:"syntax",message:`@${$} requires a path`,suggestion:`Use @${$}('path/to/template')`});break}return X}function iG($){return/@[a-z]+/i.test($)||/\{\{/.test($)}function nG($){let Z=$.matchAll(/@([a-z]+)/gi),J=new Set;for(let X of Z){let Y=X[1].toLowerCase();if(!Y.startsWith("end"))J.add(Y)}return Array.from(J)}import r0 from"path";import $2 from"process";var u8=["module","exports","require","props","$props","defineProps","withDefaults","defineClientPayload","useServerData","useRuntimeConfig","useServerRuntimeConfig","state","derived","effect","batch","onMount","onDestroy","definePageMeta","useRoute","useRouter","useHead","useSeoMeta","setResponseStatus","setResponseHeader","notFound","ref","reactive","computed","watch","onMounted","onUnmounted","nextTick","defineEmits","defineExpose","defineSlots","provide","inject","useColorMode","useDark","useMediaQuery","useScrollLock","usePreferredDark","usePreferredLight","usePreferredReducedMotion","usePreferredContrast","window","document","console","confirm","alert","fetch","params"],I8=new Set(u8),sG=new Set(["props","$props","defineProps"]),oG=new Set(["stx","@stacksjs/stx"]),T8=k1(128),k8=k1(64);function rG($){let Z=[],J=0,X=$.split(`
|
|
3599
|
+
`);for(let Y of X){let Q=J,G=null,z=!1;for(let q=0;q<Y.length;q++){let K=Y[q];if(z){z=!1;continue}if(K==="\\"){z=!0;continue}if(G){if(K===G)G=null;continue}if(K==="'"||K==='"'||K==="`"){G=K;continue}if(K==="/"&&q+1<Y.length&&Y[q+1]==="/")break;if(K==="{")J++;else if(K==="}")J--}if(Q===0){let q=Y.match(/(?:const|let|var)\s+(\w+)\s*=/);if(q)Z.push(q[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(Y)){let K=Y.match(/(?:const|let|var)\s+(\w+)/);if(K)Z.push(K[1])}else{let K=Y.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(K){let U=K[1].slice(1,-1).split(",").map((H)=>{let j=H.split(":");return(j.length>1?j[1]:j[0]).trim()}).filter((H)=>/^\w+$/.test(H));Z.push(...U)}}}}return[...new Set(Z)]}function aG($){let Z=$;Z=Z.replace(/^\s*import\s+.*?from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),Z=Z.replace(/^\s*import\s+['"][^'"]+['"]\s*;?\s*$/gm,""),Z=Z.replace(/^\s*interface\s+\w+\s*\{[\s\S]*?\n\}\s*$/gm,""),Z=Z.replace(/^\s*type\s+\w+\s*=[\s\S]*?(?=\n(?:const|let|var|function|export|interface|type|$))/gm,""),Z=Z.replace(/^(\s*(?:export\s+)?(?:const|let|var)\s+)(\w+|\{[^}]+\}|\[[^\]]+\])\s*:\s*[^=]+(\s*=)/gm,"$1$2$3");function J(X){if(!X.includes(":"))return X;let Y=[],Q="",G=0,z=0,q=null;for(let K=0;K<X.length;K++){let W=X[K];if(q){if(Q+=W,W===q)q=null;continue}if(W==='"'||W==="'"||W==="`"){q=W,Q+=W;continue}if(W==="<")G++;else if(W===">"&&G>0)G--;else if(W==="(")z++;else if(W===")")z--;if(W===","&&G===0&&z===0){Y.push(Q),Q="";continue}Q+=W}if(Q)Y.push(Q);return Y.map((K)=>{let W=K.trim(),U=W.startsWith("..."),H=U?W.slice(3):W,j=-1,B=0;for(let R=0;R<H.length;R++)if(H[R]==="<")B++;else if(H[R]===">")B--;else if(H[R]===":"&&B===0){j=R;break}if(j===-1)return K;let F=H.substring(0,j).trim().replace(/\?$/,""),_=H.substring(j+1),O=-1,L=0;for(let R=0;R<_.length;R++)if(_[R]==="<")L++;else if(_[R]===">")L--;else if(_[R]==="="&&L===0){O=R;break}let w=U?"...":"";if(O!==-1)return`${w}${F} = ${_.substring(O+1).trim()}`;return`${w}${F}`}).join(", ")}Z=Z.replace(/\b(function\s+\w*\s*)\(([^)]*)\)/g,(X,Y,Q)=>{if(!Q.includes(":"))return X;return`${Y}(${J(Q)})`});{let X=/\b(function\s+\w*\s*)\(/g,Y,Q=[];while((Y=X.exec(Z))!==null){let G=Y.index+Y[0].length-1,z=1,q=G+1,K=0,W=null;while(q<Z.length&&z>0){let j=Z[q];if(W){if(j===W)W=null;q++;continue}if(j==='"'||j==="'"||j==="`"){W=j,q++;continue}if(j==="<")K++;else if(j===">"&&K>0)K--;else if(K===0){if(j==="(")z++;else if(j===")")z--}if(z>0)q++}if(z!==0)continue;let U=Z.substring(G+1,q);if(!U.includes(":"))continue;let H=J(U);Q.push({start:G+1,end:q,replacement:H})}for(let G=Q.length-1;G>=0;G--){let{start:z,end:q,replacement:K}=Q[G];Z=Z.substring(0,z)+K+Z.substring(q)}}return Z=Z.replace(/\(([^)]*)\)\s*(?::\s*[^=]+)?\s*=>/g,(X,Y)=>{if(!Y.includes(":"))return X;if(Y.includes("{")||Y.includes("}"))return X;return`(${Y.split(",").map((G)=>{let[z,...q]=G.split("="),K=z.split(":")[0].trim();if(q.length>0)return`${K} = ${q.join("=").trim()}`;return K}).join(", ")}) =>`}),Z=Z.replace(/(\))\s*:\s*([A-Z]\w*|void|string|number|boolean|any|unknown|never|null|undefined)(?:<[^>]+>)?(?:\s*\|\s*(?:[A-Z]\w*|void|string|number|boolean|any|unknown|never|null|undefined))*\s*(\{)/g,"$1$3"),Z=Z.replace(/(\b(?:function|class|interface|type|extends|implements)\s+\w+)\s*<[^<>()]*>/g,"$1"),Z=Z.replace(/(\b(?:defineProps|withDefaults|defineEmits|defineSlots|Array|Promise|Map|Set|Record|Partial|Required|Readonly|Pick|Omit|Exclude|Extract))\s*<[^<>()]*>/g,"$1"),Z=Z.replace(/(\w+)\s*<[A-Z][^<>()]*>\s*(?=\()/g,"$1"),Z=Z.replace(/\s+as\s+(?:const|[A-Za-z]\w*(?:\[\])?(?:\s*\|\s*\w+(?:\[\])?)*)/g,""),Z=Z.replace(/\s+satisfies\s+\w+(?:<[^>]*>)?/g,""),Z=Z.replace(/(\w|\)|\])\s*!(?!=)/g,"$1"),Z=Z.replace(/^\s*(?:export\s+)?(?:const\s+)?enum\s+\w+\s*\{[^}]*\}\s*$/gm,""),Z=Z.replace(/(?<=[\s=,(])<[A-Z]\w*(?:\[\])?>/g,""),Z=Z.replace(/\n\s*\n\s*\n/g,`
|
|
3600
3600
|
|
|
3601
|
-
`),Z}function
|
|
3602
|
-
`),l=Z.params??{},G0=[],n=[];for(let r=0;r<i.length;r++){if(i[r]==="params")continue;G0.push(i[r]),n.push($0[r])}let _0=[...
|
|
3601
|
+
`),Z}function tG($){return/cannot find module|could not resolve|module not found|failed to resolve/i.test($)}function eG($){if(!/is not defined|can't find variable/i.test($))return!1;return!/\b(document|window|navigator|localStorage|sessionStorage|self)\b/.test($)}async function $z($,Z,J,X={}){if(!$.trim())return;let Y=t1(),Q=H1($,JSON.stringify(Y)),G=T8.get(Q);if(G===void 0){try{let S=x$({loader:"ts",target:"browser",define:Y}),v=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");v=v.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),G=S.transformSync(v)}catch{G=aG($)}T8.set(Q,G)}let z={exports:{}},q=z.exports,K=$2.cwd(),W={},U=[...G.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((S)=>S[1]).filter((S)=>!S.startsWith("node:")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(S)),H=new Map;for(let S of U)try{if(S.startsWith(".")){W[S]=await import(r0.resolve(r0.dirname(J),S));continue}let v=r0.resolve(K,"node_modules",S),i=r0.join(v,"package.json"),$0=JSON.parse(x("fs").readFileSync(i,"utf8")),z0=$0.main||"index.js";if($0.exports){let w0=typeof $0.exports==="string"?$0.exports:$0.exports["."];if(typeof w0==="string")z0=w0;else if(w0?.bun)z0=w0.bun;else if(w0?.import)z0=w0.import;else if(w0?.default)z0=w0.default}W[S]=await import(r0.resolve(v,z0))}catch(v){if(S.startsWith("."))H.set(S,v instanceof Error?v.message:String(v))}let j=(S)=>{if(W[S])return W[S];let v=H.get(S);if(v!==void 0)throw Error(`Cannot require '${S}' from ${J}: ${v}`);return x(S)},B=Z.props||{},V=(S)=>{if(!S)return B;let v={};for(let[i,$0]of Object.entries(S)){let z0=B[i];if(z0!==void 0)v[i]=z0;else if(typeof $0==="function")v[i]=$0();else v[i]=$0}return v};for(let[S,v]of Object.entries(B))Object.defineProperty(V,S,{value:v,enumerable:!0,configurable:!0,writable:!0});for(let S of["name","length","caller","arguments"]){if(Object.prototype.hasOwnProperty.call(B,S))continue;try{Object.defineProperty(V,S,{value:void 0,enumerable:!1,configurable:!0,writable:!0})}catch{}}let F=(S)=>{if(!S)return B;let v={...B};for(let[i,$0]of Object.entries(S)){let z0=$0&&typeof $0==="object"&&!Array.isArray($0)?$0:{type:$0};if(v[i]===void 0&&z0.default!==void 0)v[i]=typeof z0.default==="function"?z0.default():z0.default}return v},_=()=>Z.slots||{},O=(S,v)=>{let i={...S};for(let[$0,z0]of Object.entries(v))if(i[$0]===void 0)if(typeof z0==="function")i[$0]=z0();else i[$0]=z0;return i},L=(S)=>{let v=()=>S;return v.set=(i)=>{},v.update=(i)=>{},v},w=(S)=>{let v,i=!1;return()=>{if(!i)try{v=S(),i=!0}catch{v=void 0}return v}},R=(S)=>{},N=(S)=>S(),A=(S)=>{},T=(S)=>{},D=E3(Z);function M(S){let v=S||{};if(v.title!==void 0||v.description!==void 0)b({title:v.title,description:v.description})}function k(S){if(!S||typeof S!=="object")return;let v=Z.__stxClientPayload??{};Object.assign(v,S),Z.__stxClientPayload=v}let I=()=>{let S=Z.__stxServeContext,v=Z.__stxServeSearch??S?.search??"",i=S?.path??"",$0=Object.fromEntries(new URLSearchParams(v)),z0=Z.query,w0=Object.keys($0).length>0?$0:z0??{},l0=v||(Object.keys(w0).length>0?`?${new URLSearchParams(w0).toString()}`:"");return{params:Z.params??{},query:w0,path:i,name:"",fullPath:i+l0,hash:"",matched:[]}},y=()=>({push:(S)=>{},replace:(S)=>{},back:()=>{},forward:()=>{},go:(S)=>{}}),E=(S)=>{let v=Z.__stx_runtime_head||{};Z.__stx_runtime_head=o2(v,S||{})},b=(S)=>{E(h8(S||{}))},C=(S)=>({value:S}),f=(S)=>S,u=(S)=>({value:typeof S==="function"?S():S}),P=(S,v)=>{},h=(S)=>{},m=(S)=>{},j0=(S)=>S?S():Promise.resolve(),S0=(S)=>(v,...i)=>{},y0=(S)=>{},h0=(S,v)=>{},Y0=(S,v)=>v,B0=()=>({value:"light"}),M0=()=>L(!1),P0=(S)=>L(!1),s=()=>L(!1),p=()=>P0("(prefers-color-scheme: dark)"),q0=()=>P0("(prefers-color-scheme: light)"),Z0=()=>P0("(prefers-reduced-motion: reduce)"),V0=()=>P0("(prefers-contrast: more)"),k0={siteId:void 0,API_ENDPOINT:"",ANALYTICS_SITE_ID:void 0,location:{href:"",pathname:"",search:"",hash:"",origin:"",host:"",hostname:"",protocol:"https:",assign:()=>{},replace:()=>{},reload:()=>{}},localStorage:{getItem:()=>null,setItem:()=>{},removeItem:()=>{},clear:()=>{}},sessionStorage:{getItem:()=>null,setItem:()=>{},removeItem:()=>{},clear:()=>{}},fetch:globalThis.fetch,addEventListener:()=>{},removeEventListener:()=>{},setTimeout:()=>0,clearTimeout:()=>{},setInterval:()=>0,clearInterval:()=>{},requestAnimationFrame:()=>0,cancelAnimationFrame:()=>{},alert:()=>{},confirm:()=>!1,prompt:()=>null,getComputedStyle:()=>({}),matchMedia:()=>({matches:!1,addListener:()=>{},removeListener:()=>{}}),getDateRangeParams:()=>"",stx:{}},j1=new Proxy(k0,{get(S,v){if(v in S)return S[v];return},set(S,v,i){return S[v]=i,!0}}),J2={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},C2=console;try{let S=d8(G,J),v=new Set(Object.keys(B)),i=Object.keys(Z).filter((r)=>!v.has(r)&&!sG.has(r)&&Z2(r)),$0=i.map((r)=>Z[r]);if(!i.includes("__stxServeContext"))i.push("__stxServeContext"),$0.push(void 0);let z0=new Set(["async","module","exports","require","params","window","document","console","state","derived","effect"]),w0=[],l0=[];for(let[r,a0]of Object.entries(B)){if(!Z2(r))continue;if(z0.has(r))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${r}\\b`).test(S))continue;w0.push(r),l0.push(a0)}let d=rG(S).map((r)=>`module.exports.${r} = typeof ${r} !== 'undefined' ? ${r} : module.exports.${r};`).join(`
|
|
3602
|
+
`),l=Z.params??{},G0=[],n=[];for(let r=0;r<i.length;r++){if(i[r]==="params")continue;G0.push(i[r]),n.push($0[r])}let _0=[...u8,...w0,...G0],R0=`return (async () => {
|
|
3603
3603
|
${S}
|
|
3604
3604
|
${d}
|
|
3605
3605
|
return module.exports
|
|
3606
|
-
})()`,f0=H1(R0,_0.join("\x00")),c0=
|
|
3606
|
+
})()`,f0=H1(R0,_0.join("\x00")),c0=k8.get(f0);if(!c0)c0=Function(..._0,R0),k8.set(f0,c0);let C0=Z.__stx_options?.runtimeConfig;if(C0||/\buse(?:Server)?RuntimeConfig\b/.test(G))await C9(Z,J,C0);let J1=await P8(Z.__stx_runtime_config??v8()??g8(),()=>U6(Z,()=>c0(z,q,j,B,V,F,O,k,H6,x8,f8,L,w,R,N,A,T,M,I,y,E,b,D.setResponseStatus,D.setResponseHeader,D.notFound,C,f,u,P,h,m,j0,S0,y0,_,h0,Y0,B0,M0,P0,s,p,q0,Z0,V0,j1,J2,C2,k0.confirm,k0.alert,k0.fetch,l,...l0,...n)));if(X.preserveExisting){for(let[r,a0]of Object.entries(J1))if(!(r in Z)||Z[r]===void 0)Z[r]=a0}else Object.assign(Z,J1);for(let[r,a0]of Object.entries(B))if(!(r in Z))Z[r]=a0}catch(S){if(Z.__stx_strict_hydration)throw S;let v=S instanceof Error?S.message:String(S);if(tG(v))console.warn(`[stx] server <script> in ${J??"<unknown>"} imports a module that does not resolve, so every variable in that script is undefined. Cause: ${v}`);else if(eG(v))console.warn(`[stx] server <script> in ${J??"<unknown>"} names something that does not exist, so every variable in that script is undefined. Optional chaining does not help here: an undefined identifier throws before the chain is reached. Cause: ${v}`);else if($2.env.STX_DEBUG)console.warn(`[stx] server <script> did not execute in ${J??"<unknown>"} \u2014 falling back to static extraction. Cause: ${v}`);try{await qz(G,Z,J)}catch(i){if($2.env.STX_DEBUG){let $0=i instanceof Error?i.message:String(i);console.warn(`[stx] fallback extraction also failed in ${J??"<unknown>"}: ${$0}`)}}}}function Zz($){let Z=0,J=null,X=!1,Y=!1;for(let Q=0;Q<$.length;Q++){let G=$[Q];if(J){if(G===J){if(J=null,X||Z===0)Y=!0}continue}if(G==="'"||G==='"'||G==="`"){J=G;continue}if(G==="{")Z++;else if(G==="}")Z--;else if($.startsWith("from",Q)&&Z===0)X=!0}return J===null&&Z===0&&Y}var Jz=/^(?:export\s+)?(?:const|let|var)\s+[A-Za-z_$][\w$]*(?:\s*,\s*[A-Za-z_$][\w$]*)*\s*;?$/;function d8($,Z){let J=Z?r0.dirname(Z):$2.cwd(),X=$2.cwd(),Y=$.split(`
|
|
3607
3607
|
`),Q=[],G=0;while(G<Y.length){let z=Y[G].trim();if(z.startsWith("interface ")||z.startsWith("export interface ")||z.startsWith("type ")||z.startsWith("export type ")){if(z.includes("{")&&!z.includes("}")){let q=0;for(;G<Y.length;G++){for(let K of Y[G])if(K==="{")q++;else if(K==="}")q--;if(q<=0)break}}G++;continue}if(z.startsWith("definePageMeta(")){let q=0,K=!1,W=G;for(let j=G;j<Y.length&&!K;j++){let B=null,V=!1,F=Y[j];for(let _=0;_<F.length;_++){let O=F[_];if(V){V=!1;continue}if(O==="\\"){V=!0;continue}if(B){if(O===B)B=null;continue}if(O==='"'||O==="'"||O==="`"){B=O;continue}if(O==="(")q++;else if(O===")"){if(q--,q===0){G=j+1,K=!0;break}}}}if(!K)G=Y.length;let U=Y.slice(W,G).join(`
|
|
3608
|
-
`),H=[];for(let j of["title","description"]){let B=new RegExp(`\\b${j}\\s*:\\s*(['"\`])((?:\\\\.|(?!\\1)[^\\\\])*)\\1`).exec(U);if(B)H.push(`${j}: ${JSON.stringify(B[2])}`)}if(H.length>0)Q.push(`useSeoMeta({ ${H.join(", ")} });`);continue}if(z.startsWith("import ")||z==="import"||z.startsWith("import{")){let q=z,K=0;while(
|
|
3609
|
-
`+j;if(U<=0&&H>=G)break}Q.push(W),Q.push(`module.exports.${K} = ${K};`),G=H+1}else Q.push(z),G++}else if(z.includes("module.exports"))Q.push(z),G++;else if(z.trim()&&!z.startsWith("//"))Q.push(z),G++;else G++}return
|
|
3610
|
-
`),J,X)}function
|
|
3611
|
-
`)z=!1;Q++;continue}if(q){if(Y+=W,W==="*"&&U==="/"){Y+=U,Q+=2,q=!1;continue}Q++;continue}if(!G&&W==="/"&&U==="/"){z=!0,Y+=W,Q++;continue}if(!G&&W==="/"&&U==="*"){q=!0,Y+=W,Q++;continue}if(G){if(Y+=W,W==="\\"){Y+=U,Q+=2;continue}if(W===G&&G!=="`"){G=null,Q++;continue}if(G==="`"){if(W==="$"&&U==="{"){K++,Y+=U,Q+=2;continue}if(W==="`"){G=null,Q++;continue}}Q++;continue}if(K>0){if(W==="{")K++;else if(W==="}")K--}if(W==='"'||W==="'"||W==="`"){G=W,Y+=W,Q++;continue}if(W==="a"&&$.startsWith("await",Q)){let H=
|
|
3608
|
+
`),H=[];for(let j of["title","description"]){let B=new RegExp(`\\b${j}\\s*:\\s*(['"\`])((?:\\\\.|(?!\\1)[^\\\\])*)\\1`).exec(U);if(B)H.push(`${j}: ${JSON.stringify(B[2])}`)}if(H.length>0)Q.push(`useSeoMeta({ ${H.join(", ")} });`);continue}if(z.startsWith("import ")||z==="import"||z.startsWith("import{")){let q=z,K=0;while(!Zz(q)&&G+K+1<Y.length)K++,q=`${q} ${Y[G+K].trim()}`;G+=K;let W=q.match(/^import\s+(\w+)\s+from\s+['"](.+?)['"]/),U=q.match(/^import\s+\{([^}]*)\}\s+from\s+['"](.+?)['"]/),H=q.match(/^import\s+['"](.+?)['"]/),j=q,B=(V)=>{if(V.startsWith("."))return r0.resolve(J,V);if(V.startsWith("~/")||V.startsWith("@/"))return r0.resolve(X,V.slice(2));return V};if(W){let[,V,F]=W,_=B(F);Q.push(`const ${V} = (await import('${_}')).default`),Q.push(`module.exports.${V} = ${V};`)}else if(U){let[,V,F]=U,_=B(F),O=[],L=[],w=oG.has(F);for(let R of V.split(",")){let N=R.trim();if(!N)continue;let A=N.split(/\s+as\s+/);if(A.length===2){let[T,D]=[A[0].trim(),A[1].trim()];if(w&&I8.has(T)){Q.push(`const ${D} = ${T};`);continue}O.push(`${T}: ${D}`),L.push(D)}else{if(w&&I8.has(N))continue;O.push(N),L.push(N)}}if(O.length>0)Q.push(`const { ${O.join(", ")} } = await import('${_}')`);for(let R of L)Q.push(`module.exports.${R} = ${R};`)}else if(H){let V=B(H[1]);Q.push(`await import('${V}')`)}else Q.push(j);G++;continue}if(Jz.test(z))Q.push(Y[G]),G++;else if(z.startsWith("export const ")||z.startsWith("export let ")||z.startsWith("export var ")){let q=b8(Y,G),{type:K,name:W,value:U}=q;Q.push(`${K} ${W} = ${U};`),Q.push(`module.exports.${W} = ${W};`),G=q.nextIndex}else if(z.startsWith("export function ")||z.startsWith("export async function ")){let q=f$(Y,G);Q.push(q.functionCode),Q.push(`module.exports.${q.name} = ${q.name};`),G=q.nextIndex}else if(z.startsWith("const ")||z.startsWith("let ")||z.startsWith("var ")){let q=b8(Y,G),{type:K,name:W,value:U}=q;Q.push(`${K} ${W} = ${U};`),Q.push(`module.exports.${W} = ${W};`),G=q.nextIndex}else if(z.startsWith("function ")||z.startsWith("async function ")){let q=f$(Y,G);Q.push(q.functionCode),Q.push(`module.exports.${q.name} = ${q.name};`),G=q.nextIndex}else if(z.startsWith("export default function ")||z.startsWith("export default async function ")){let q=Y[G].replace(/^(\s*)export\s+default\s+/,"$1"),K=[...Y];K[G]=q;let W=f$(K,G);if(Q.push(W.functionCode),W.name)Q.push(`module.exports.default = ${W.name};`);G=W.nextIndex}else if(z.startsWith("export default ")){let q=z.replace(/^export\s+default\s+/,"").replace(/;$/,"");Q.push(`module.exports.default = ${q};`),G++}else if(z.startsWith("class ")||z.startsWith("export class ")){let q=z.match(/(?:export\s+)?class\s+(\w+)/);if(q){let K=q[1],W=Y[G].replace(/^export\s+/,""),U=0,H=G;for(;H<Y.length;H++){let j=Y[H];for(let B of j)if(B==="{")U++;else if(B==="}")U--;if(H>G)W+=`
|
|
3609
|
+
`+j;if(U<=0&&H>=G)break}Q.push(W),Q.push(`module.exports.${K} = ${K};`),G=H+1}else Q.push(z),G++}else if(z.includes("module.exports"))Q.push(z),G++;else if(z.trim()&&!z.startsWith("//"))Q.push(z),G++;else G++}return Xz(Q.join(`
|
|
3610
|
+
`),J,X)}function Xz($,Z,J){let X=$.length,Y="",Q=0,G=null,z=!1,q=!1,K=0;while(Q<X){let W=$[Q],U=$[Q+1];if(z){if(Y+=W,W===`
|
|
3611
|
+
`)z=!1;Q++;continue}if(q){if(Y+=W,W==="*"&&U==="/"){Y+=U,Q+=2,q=!1;continue}Q++;continue}if(!G&&W==="/"&&U==="/"){z=!0,Y+=W,Q++;continue}if(!G&&W==="/"&&U==="*"){q=!0,Y+=W,Q++;continue}if(G){if(Y+=W,W==="\\"){Y+=U,Q+=2;continue}if(W===G&&G!=="`"){G=null,Q++;continue}if(G==="`"){if(W==="$"&&U==="{"){K++,Y+=U,Q+=2;continue}if(W==="`"){G=null,Q++;continue}}Q++;continue}if(K>0){if(W==="{")K++;else if(W==="}")K--}if(W==='"'||W==="'"||W==="`"){G=W,Y+=W,Q++;continue}if(W==="a"&&$.startsWith("await",Q)){let H=Yz($,Q);if(H){let{quote:j,path:B,end:V}=H;if(B.startsWith(".")||B.startsWith("~/")||B.startsWith("@/")){let F=B.startsWith(".")?r0.resolve(Z,B):r0.resolve(J,B.slice(2));Y+=`await import(${j}${F}${j})`,Q=V;continue}}}Y+=W,Q++}return Y}function Yz($,Z){let J=Z+5;if(J>=$.length)return null;if(!/\s/.test($[J]))return null;while(J<$.length&&/\s/.test($[J]))J++;if(!$.startsWith("import",J))return null;J+=6;while(J<$.length&&/\s/.test($[J]))J++;if($[J]!=="(")return null;J++;while(J<$.length&&/\s/.test($[J]))J++;let X=$[J];if(X!=="'"&&X!=='"')return null;J++;let Y=J;while(J<$.length&&$[J]!==X)if($[J]==="\\")J+=2;else J++;if(J>=$.length)return null;let Q=$.slice(Y,J);J++;while(J<$.length&&/\s/.test($[J]))J++;if($[J]!==")")return null;return{quote:X,path:Q,end:J+1}}function m8($,Z){let J=$[Z];if(J!=="{"&&J!=="[")return null;let Y=L0($,J,J==="{"?"}":"]",Z);if(Y===-1)return null;return{pattern:$.slice(Z,Y+1),endPos:Y+1}}function l8($){let Z=[],J=$.slice(1,-1).trim();if(!J)return Z;let X=0,Y=0,Q="";while(X<J.length){let G=J[X];if(G==="{"||G==="["){let z=Y===0?m8(J,X):null;if(z){Z.push(...l8(z.pattern)),X=z.endPos,Q="";continue}Y++}else if(G==="}"||G==="]")Y--;if(Y>0){X++;continue}if(G===","){if(Q.trim())Z.push(Q.trim());Q="",X++;continue}if(G===":"){Q="",X++;continue}if(G==="="){if(Q.trim())Z.push(Q.trim());Q="",X++;while(X<J.length&&J[X]!==","&&Y===0){if(J[X]==="{"||J[X]==="[")Y++;else if(J[X]==="}"||J[X]==="]")Y--;X++}continue}if(/[\w$]/.test(G))Q+=G;X++}if(Q.trim())Z.push(Q.trim());return Z}function Qz($){let Z=/^(?:export\s+)?(const|let|var)\s+([A-Za-z_$][\w$]*)/.exec($);if(!Z)return null;let J=Z[0].length,X=(Y)=>Y===" "||Y==="\t";while(J<$.length&&X($[J]))J++;if($[J]===":"){let Y=0,Q=null;J++;for(;J<$.length;J++){let G=$[J];if(Q){if(G==="\\"){J++;continue}if(G===Q)Q=null;continue}if(G==="'"||G==='"'||G==="`"){Q=G;continue}if(G==="("||G==="["||G==="{"||G==="<"){Y++;continue}if(G===")"||G==="]"||G==="}"||G===">"){Y--;continue}if(G==="="&&Y<=0){let z=$[J+1],q=$[J-1];if(z!=="="&&z!==">"&&q!=="="&&q!=="!"&&q!=="<"&&q!==">")break}}if($[J]!=="=")return null}while(J<$.length&&X($[J]))J++;if($[J]!=="=")return null;return{type:Z[1],name:Z[2],value:$.slice(J+1).trim()}}function E8($,Z,J,X){let Y=null,Q=!1;for(let G of $){if(Q){Q=!1;continue}if(G==="\\"){Q=!0;continue}if(Y){if(G===Y)Y=null;continue}if(G==="'"||G==='"'||G==="`"){Y=G;continue}if(G===Z)X++;else if(G===J)X--}return X}function b8($,Z){let J=$[Z].trim(),X=Qz(J),Y=X?[J,X.type,X.name,X.value]:null;if(!Y){let W=J.match(/^(?:export\s+)?(const|let|var)\s+/);if(W){let U=J.slice(W[0].length),H=Z;if(U.startsWith("{")||U.startsWith("[")){let B=U[0],V=B==="{"?"}":"]",F=E8(U,B,V,0),_=U;for(let O=Z+1;O<$.length&&F>0;O++)_+=` ${$[O].trim()}`,H=O,F=E8($[O],B,V,F);if(F>0)_=U,H=Z;U=_}let j=m8(U,0);if(j){let B=W[1],V=j.pattern,F=U.slice(j.endPos).trim();if(F.startsWith("=")){let _=F.slice(1).trim(),O=_,L=Math.max(H,Z);if(y8(_)){let A=C8($,L,_);O=A.value,L=A.nextIndex}else L=L+1;O=O.trim().replace(/;$/,"");let w=l8(V),R=`__stx_src_${Z}`,N=w.map((A)=>`module.exports.${A} = ${A};`).join(`
|
|
3612
3612
|
`);return{type:B,name:R,value:`${O}; ${B} ${V} = ${R};
|
|
3613
|
-
${N}`,nextIndex:L}}}}throw Error(`Failed to parse variable declaration: ${J}`)}let[,Q,G,z]=Y,q=z,K=Z;if(
|
|
3614
|
-
${$[K]}`,K++;else break}return q=q.trim().replace(/;$/,""),{type:Q,name:G,value:q,nextIndex:K}}function f$($,Z){let J=$[Z].trim(),X=J.match(/^(?:export\s+)?(?:async\s+)?function\s+(\w+)/);if(!X)throw Error(`Failed to parse function declaration: ${J}`);let[,Y]=X,Q=J.replace(/^export\s+/,""),G=Z;if(
|
|
3613
|
+
${N}`,nextIndex:L}}}}throw Error(`Failed to parse variable declaration: ${J}`)}let[,Q,G,z]=Y,q=z,K=Z;if(y8(z)){let W=C8($,Z,z);q=W.value,K=W.nextIndex}else K=Z+1;while(K<$.length){let W=$[K].trim();if(W.startsWith(".")||W.startsWith("?."))q+=`
|
|
3614
|
+
${$[K]}`,K++;else break}return q=q.trim().replace(/;$/,""),{type:Q,name:G,value:q,nextIndex:K}}function f$($,Z){let J=$[Z].trim(),X=J.match(/^(?:export\s+)?(?:async\s+)?function\s+(\w+)/);if(!X)throw Error(`Failed to parse function declaration: ${J}`);let[,Y]=X,Q=J.replace(/^export\s+/,""),G=Z;if(Gz(J)){let z=zz($,Z,Q);Q=z.functionCode,G=z.nextIndex}else G=Z+1;return{name:Y,functionCode:Q,nextIndex:G}}function y8($){let Z=$.trim();if(Z.startsWith("{"))return L0(Z,"{","}",0)===-1;if(Z.startsWith("["))return L0(Z,"[","]",0)===-1;return!c8(Z)}function c8($){let Z={paren:0,bracket:0,brace:0},J=null,X=0;for(let Y=0;Y<$.length;Y++){let Q=$[Y];if((Y>0?$[Y-1]:"")==="\\"&&J)continue;if((Q==='"'||Q==="'")&&!J){J=Q;continue}if(Q===J&&J!=="`"){J=null;continue}if(Q==="`"&&!J){J="`";continue}if(Q==="`"&&J==="`"&&X===0){J=null;continue}if(J==="`"&&Q==="$"&&$[Y+1]==="{"){X++,Y++;continue}if(X>0&&Q==="{"){X++;continue}if(X>0&&Q==="}"){X--;continue}if(J)continue;if(Q==="(")Z.paren++;else if(Q===")")Z.paren--;else if(Q==="[")Z.bracket++;else if(Q==="]")Z.bracket--;else if(Q==="{")Z.brace++;else if(Q==="}")Z.brace--}return Z.paren===0&&Z.bracket===0&&Z.brace===0&&J===null}function p8($){let Z=$.indexOf("(");if(Z===-1)return $.indexOf("{");let J=L0($,"(",")",Z);if(J===-1)return-1;return $.indexOf("{",J)}function Gz($){let Z=p8($);if(Z===-1)return!0;return L0($,"{","}",Z)===-1}function C8($,Z,J){let X=J,Y=Z+1;while(Y<$.length&&!c8(X)){let Q=$[Y];X+=`
|
|
3615
3615
|
${Q}`,Y++}while(Y<$.length){let Q=$[Y].trim();if(Q.startsWith(".")||Q.startsWith("?."))X+=`
|
|
3616
|
-
${$[Y]}`,Y++;else break}return{value:X,nextIndex:Y}}function
|
|
3617
|
-
${G}`,Y++}return{functionCode:X,nextIndex:Y}}function
|
|
3618
|
-
`)Y++;return!0}if($[Y]==="/"&&$[Y+1]==="*"){Y+=2;while(Y<Q-1&&!($[Y]==="*"&&$[Y+1]==="/"))Y++;return Y+=2,!0}return!1},K=()=>{if(X!==0)return;let W=$.slice(Y).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(W){let B=W[2].split(",").map((V)=>{let F=V.trim().split(":");return F[F.length-1].trim()});for(let V of B)if(V&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(V)&&!J.has(V))Z.push(V),J.add(V);return}let U=$.slice(Y).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(U){let B=U[2];if(!J.has(B))Z.push(B),J.add(B);return}let H=$.slice(Y).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(H){let B=H[1];if(!J.has(B))Z.push(B),J.add(B);return}let j=$.slice(Y).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(j){let B=j[1];if(!J.has(B))Z.push(B),J.add(B)}};while(Y<Q){if(q())continue;if($[Y]==="'"||$[Y]==='"'){G($[Y]);continue}if($[Y]==="`"){z();continue}if($[Y]==="{"){X++,Y++;continue}if($[Y]==="}"){X--,Y++;continue}if(X===0&&/[a-z]/i.test($[Y])&&(Y===0||/\s|[;{}()]/.test($[Y-1])))K();Y++}return Z}function
|
|
3616
|
+
${$[Y]}`,Y++;else break}return{value:X,nextIndex:Y}}function zz($,Z,J){let X=J,Y=Z+1;while(Y<$.length){let Q=p8(X);if(Q!==-1){if(L0(X,"{","}",Q)!==-1)break}let G=$[Y];X+=`
|
|
3617
|
+
${G}`,Y++}return{functionCode:X,nextIndex:Y}}function S8($,Z){let J=e($,Z)??e(`(${$})`,Z);if(J!==void 0)return J;if(!/\bprocess\b/.test($))return;let X={...Z,process:Object.freeze({env:{...$2.env}})},Y=Object.keys(X).filter(Z2),Q=Y.map((G)=>X[G]);try{return Function(...Y,`'use strict'; return (${$});`)(...Q)}catch{try{return Function(...Y,`'use strict'; return ${$};`)(...Q)}catch{return}}}async function qz($,Z,J){let X=$.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let Q of X){let[,,G,z]=Q;try{let q=z.trim().replace(/;$/,""),K=S8(q,Z);if(K!==void 0)Z[G]=K}catch(q){console.warn(`Failed to parse export ${G} in fallback:`,q)}}let Y=$.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let Q of Y){let[,,G,z]=Q;if(!(G in Z))try{let q=z.trim().replace(/;$/,""),K=S8(q,Z);if(K!==void 0)Z[G]=K}catch{}}}function Kz($){let Z=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),J=Z?Z[1]:"",X=Z?$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/i,""):$;return{scriptContent:J,templateWithoutScript:X}}function Wz($){let Z=$.trim();if(!Z)return!1;return/(?:const|let|var|function)\s+\w+/.test(Z)}var b2=new i1(500),P9=new i1(1000),e8=33554432,h$=e8;function Uz($){let Z=$.componentRenderCacheBytes;if(typeof Z!=="number"||Z<0||Z===h$)return;h$=Z,v9.setMaxBytes(Z)}var v9=new i1(2000,{maxBytes:e8,sizeOf:($)=>$.output.length});function Hz($){let Z=new WeakSet;try{let J=(X)=>{if(X===void 0)return{__stxType:"undefined"};if(typeof X==="bigint")return{__stxType:"bigint",value:X.toString()};if(typeof X==="function"||typeof X==="symbol")throw TypeError("Non-serializable component input");if(X===null||typeof X!=="object")return X;if(Z.has(X))throw TypeError("Circular component input");if(Z.add(X),X instanceof Date)return{__stxType:"date",value:X.toISOString()};if(Array.isArray(X))return X.map(J);let Y={};for(let Q of Object.keys(X).sort())Y[Q]=J(X[Q]);return Y};return JSON.stringify(J($))}catch{return null}}function i8($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function jz($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function A1($){return!jz($)}var S9=new Map;function x$($){let Z;try{Z=JSON.stringify($)}catch{return new Bun.Transpiler($)}let J=S9.get(Z);if(J)return J;if(S9.size>=16)S9.clear();let X=new Bun.Transpiler($);return S9.set(Z,X),X}var n8=new WeakMap,Bz=256;function M1($){try{let Z=x$({loader:"ts",target:"browser",define:t1()}),J=n8.get(Z);if(!J)J=new Map,n8.set(Z,J);let X=J.get($);if(X!==void 0)return X;let Y=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");Y=Y.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");let Q=[];Y=Y.replace(/\{!![\s\S]*?!!\}/g,(z)=>{let q=Q.length;return Q.push(z),`"__STX_EXPR_${q}__"`}),Y=Y.replace(/\{\{\{[\s\S]*?\}\}\}/g,(z)=>{let q=Q.length;return Q.push(z),`"__STX_EXPR_${q}__"`}),Y=Y.replace(/\{\{[\s\S]*?\}\}/g,(z)=>{let q=Q.length;return Q.push(z),`"__STX_EXPR_${q}__"`});let G=Z.transformSync(Y);for(let z=0;z<Q.length;z++)G=G.replace(`"__STX_EXPR_${z}__"`,Q[z]),G=G.replace(`'__STX_EXPR_${z}__'`,Q[z]);if(J.size>=Bz){let z=J.keys().next();if(!z.done)J.delete(z.value)}return J.set($,G),G}catch(Z){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",Z);return $}}function Vz($){let Z=[],J=new Set,X=0,Y=0,Q=$.length,G=(W)=>{Y++;while(Y<Q){if($[Y]==="\\"){Y+=2;continue}if($[Y]===W){Y++;return}Y++}},z=()=>{Y++;while(Y<Q){if($[Y]==="\\"){Y+=2;continue}if($[Y]==="`"){Y++;return}if($[Y]==="$"&&$[Y+1]==="{"){Y+=2;let W=1;while(Y<Q&&W>0)if($[Y]==="{")W++,Y++;else if($[Y]==="}")W--,Y++;else if($[Y]==="'"||$[Y]==='"')G($[Y]);else if($[Y]==="`")z();else Y++;continue}Y++}},q=()=>{if($[Y]==="/"&&$[Y+1]==="/"){while(Y<Q&&$[Y]!==`
|
|
3618
|
+
`)Y++;return!0}if($[Y]==="/"&&$[Y+1]==="*"){Y+=2;while(Y<Q-1&&!($[Y]==="*"&&$[Y+1]==="/"))Y++;return Y+=2,!0}return!1},K=()=>{if(X!==0)return;let W=$.slice(Y).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(W){let B=W[2].split(",").map((V)=>{let F=V.trim().split(":");return F[F.length-1].trim()});for(let V of B)if(V&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(V)&&!J.has(V))Z.push(V),J.add(V);return}let U=$.slice(Y).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(U){let B=U[2];if(!J.has(B))Z.push(B),J.add(B);return}let H=$.slice(Y).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(H){let B=H[1];if(!J.has(B))Z.push(B),J.add(B);return}let j=$.slice(Y).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(j){let B=j[1];if(!J.has(B))Z.push(B),J.add(B)}};while(Y<Q){if(q())continue;if($[Y]==="'"||$[Y]==='"'){G($[Y]);continue}if($[Y]==="`"){z();continue}if($[Y]==="{"){X++,Y++;continue}if($[Y]==="}"){X--,Y++;continue}if(X===0&&/[a-z]/i.test($[Y])&&(Y===0||/\s|[;{}()]/.test($[Y-1])))K();Y++}return Z}function _z($){let Z=[],J=0,X=0,Y=null;for(let Q=0;Q<$.length;Q++){let G=$[Q];if(Y){if(G==="\\"){Q++;continue}if(G===Y)Y=null;continue}if(G==='"'||G==="'"||G==="`"){Y=G;continue}if(G==="("||G==="["||G==="{")J++;else if(G===")"||G==="]"||G==="}")J--;else if(G===","&&J===0)Z.push($.slice(X,Q)),X=Q+1}if(X<$.length)Z.push($.slice(X));return Z}function Lz($){let Z=0,J=null;for(let X=0;X<$.length;X++){let Y=$[X];if(J){if(Y==="\\"){X++;continue}if(Y===J)J=null;continue}if(Y==='"'||Y==="'"||Y==="`"){J=Y;continue}if(Y==="("||Y==="["||Y==="{")Z++;else if(Y===")"||Y==="]"||Y==="}")Z--;else if(Y==="="&&Z===0){let Q=$[X-1],G=$[X+1];if(Q==="!"||Q==="<"||Q===">"||Q==="=")continue;if(G==="="||G===">")continue;return X}}return-1}function Oz($,Z){try{let J=/=\s*(?:withDefaults\s*\([\s\S]*?defineProps|defineProps)\b/.exec($);if(!J)return;let X=J.index-1;while(X>=0&&/\s/.test($[X]))X--;if($[X]!=="}")return;let Y=X,Q=0,G=-1;for(;X>=0;X--){let q=$[X];if(q==="}")Q++;else if(q==="{"){if(Q--,Q===0){G=X;break}}}if(G===-1)return;let z=$.slice(G+1,Y);for(let q of _z(z)){let K=q.trim();if(!K||K.startsWith("..."))continue;let W=Lz(K);if(W===-1)continue;let U=K.slice(0,W).trim();if(!/^[A-Z_$][\w$]*$/i.test(U))continue;if(Z[U]!==void 0)continue;let H=K.slice(W+1).trim();if(!H)continue;try{let j=Object.keys(Z).filter(Z2),B=Function(...j,`"use strict"; return (${H});`);Z[U]=B(...j.map((V)=>Z[V]))}catch{}}}catch{}}async function j9($,Z,J,X,Y){let Q=$.endsWith(".stx")?$.slice(0,-4):$,G=(_)=>_.split("-").map((O)=>O.charAt(0).toUpperCase()+O.slice(1)).join(""),z=(_)=>_.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),q=J.__importedComponents;if(q){for(let _ of[Q,Q.toLowerCase(),G(Q),z(Q)])if(q.has(_))return!0}let K=[...new Set([`${Q}.stx`,`${G(Q)}.stx`,`${z(Q)}.stx`])],W=typeof Y.root==="string"?g.resolve(Y.root):void 0,U=W??g.dirname(X),H=[],j=(_)=>{if(_&&!H.includes(_))H.push(_)},B=J.__originalFilePath;if(B)j(g.join(g.dirname(B),"components"));if(j(Z),j(Y._rootComponentsDir),j(g.join(g.dirname(X),"components")),j(Y.componentsDir),W)j(g.resolve(W,"resources/views/components")),j(g.resolve(W,"resources/components")),j(g.resolve(W,"src/components")),j(g.resolve(W,"components"));for(let _ of Y._layerComponentDirs??[])j(_);let V=Y._pluginComponentDirs;if(Array.isArray(V))for(let _ of V)j(typeof _==="string"?_:null);if(j(Y.fallbackComponentsDir),Q.startsWith("./")||Q.startsWith("../"))return a(g.resolve(g.dirname(X),`${Q}.stx`));let F=s8(g.resolve(import.meta.dir,"components"));for(let _ of H){let O=g.isAbsolute(_)?_:g.resolve(U,_);if(s8(O)===F)continue;for(let L of K)if(await a(g.join(O,L)))return!0}return!1}function s8($){try{return t8.realpathSync($)}catch{return $}}function Fz($){return $==="visible"||$==="idle"||$==="interaction"||$.startsWith("media:")}function wz($){if(!$)return!1;let Z=$.replace(/<script[\s\S]*?<\/script>/gi,"").replace(/<style[\s\S]*?<\/style>/gi,"");return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(Z)}function Rz($){let Z=new Set,J=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal|useModel|useReactiveProp|useLocalStorage|useSessionStorage|useCookie|useDebouncedValue)\s*(?:<[^>]*>)?\s*\(/g;for(let X of $){let Y;while((Y=J.exec(X))!==null)Z.add(Y[1]);J.lastIndex=0}return[...Z]}async function D1($,Z,J,X,Y,Q,G,z=new Set,q){let{extractVariables:K}=await o("stx/variable-extractor",()=>import("./chunk-x3s0e6wv.js")),W=z??new Set;if(W.has($))return`[Circular component reference: ${$}]`;let U=new Set(W);U.add($);let H=typeof Z.client==="string"?Z.client.trim():"";if("client"in Z)delete Z.client;let j=H&&H!=="load"&&Fz(H)?H:"";try{let B=(d)=>d.split("-").map((l)=>l.charAt(0).toUpperCase()+l.slice(1)).join(""),V=(d)=>d.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),F=$.endsWith(".stx")?$.slice(0,-4):$,_=null,O=Y.__importedComponents;if(O){let d=[F,F.toLowerCase(),B(F),V(F)];for(let l of d)if(O.has(l)){_=O.get(l);break}}let L=[];if(!_){let d=[`${F}.stx`,`${B(F)}.stx`,`${V(F)}.stx`],l=[...new Set(d)],G0=Y.__originalFilePath,n=[];if(n.push(...G._layerComponentDirs??[]),G0){let N0=g.join(g.dirname(G0),"components");n.push(N0)}if(X)n.push(X);let _0=G._rootComponentsDir;if(typeof _0==="string"&&!n.includes(_0))n.push(_0);let R0=g.join(g.dirname(Q),"components");if(!n.includes(R0))n.push(R0);if(G.componentsDir&&G.componentsDir!==X&&!n.includes(G.componentsDir))n.push(G.componentsDir);let f0=typeof G.root==="string"?g.resolve(G.root):void 0,c0=f0??g.dirname(Q),C0=[];if(f0)C0.push(g.resolve(f0,"resources/views/components")),C0.push(g.resolve(f0,"resources/components")),C0.push(g.resolve(f0,"src/components")),C0.push(g.resolve(f0,"components"));C0.push(g.resolve(import.meta.dir,"components"));for(let N0 of C0)if(!n.includes(N0))n.push(N0);let J1=G._pluginComponentDirs;if(Array.isArray(J1)){for(let N0 of J1)if(typeof N0==="string"&&!n.includes(N0))n.push(N0)}if(G.fallbackComponentsDir&&!n.includes(G.fallbackComponentsDir))n.push(G.fallbackComponentsDir);let r=[...new Set(n.map((N0)=>{if(!N0)return N0;return g.isAbsolute(N0)?N0:g.resolve(c0,N0)}))];n.length=0,n.push(...r);let a0=`${F}\x00${Q}\x00${r.join("\x00")}`,S2=P9.get(a0);if(S2)if(await a(S2))_=S2;else P9.delete(a0);if(!_&&(F.startsWith("./")||F.startsWith("../")))_=g.resolve(g.dirname(Q),`${F}.stx`),L.push(_);else if(!_)for(let N0 of n){if(!N0)continue;for(let P2 of l){let v2=g.join(N0,P2);if(L.push(v2),await a(v2)){_=v2;break}}if(_)break;if(!_)try{let P2=await import("fs");if(!P2.statSync(N0,{throwIfNoEntry:!1})?.isDirectory())continue;let WZ=8,f9=[{path:N0,depth:0}];while(f9.length>0&&!_){let f2=f9.pop();if(f2.depth>=WZ)continue;let l$;try{l$=P2.readdirSync(f2.path,{withFileTypes:!0})}catch{continue}for(let x2 of l$){if(!x2.isDirectory())continue;if(x2.name==="node_modules"||x2.name.startsWith("."))continue;let c$=g.join(f2.path,x2.name);for(let UZ of l){let x9=g.join(c$,UZ);if(L.push(x9),await a(x9)){_=x9;break}}if(_)break;f9.push({path:c$,depth:f2.depth+1})}}}catch{}if(_)break}if(_)P9.set(a0,_)}if(!_||!await a(_)){let d=L.length>0?`
|
|
3619
3619
|
Searched paths:
|
|
3620
3620
|
${L.map((l)=>` - ${l}`).join(`
|
|
3621
|
-
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${d}`}q.add(_);let w;if(b2.has(_))w=b2.get(_);else try{w=await Bun.file(_).text(),b2.set(_,w)}catch(d){return`[Error loading component: ${d instanceof Error?d.message:String(d)}]`}let R=new Set(["__originalFilePath","__importedComponents",g2,"__stx_client_signal_names","__stx_runtime_config","__stxServeContext","__stx_scope_seq"]),N={};for(let[d,l]of Object.entries(Y))if(!d.startsWith("__")||R.has(d))N[d]=l;let A=J;if(J.includes("@include")){let{processIncludes:d}=await o("stx/includes",()=>import("./chunk-
|
|
3622
|
-
`)}`}if(J&&Z0.includes("{{ text || slot }}"))Z0=Z0.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>J);let{applySlots:V0}=await o("stx/slots",()=>import("./chunk-
|
|
3621
|
+
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${d}`}q.add(_);let w;if(b2.has(_))w=b2.get(_);else try{w=await Bun.file(_).text(),b2.set(_,w)}catch(d){return`[Error loading component: ${d instanceof Error?d.message:String(d)}]`}let R=new Set(["__originalFilePath","__importedComponents",g2,"__stx_client_signal_names","__stx_runtime_config","__stxServeContext","__stx_scope_seq"]),N={};for(let[d,l]of Object.entries(Y))if(!d.startsWith("__")||R.has(d))N[d]=l;let A=J;if(J.includes("@include")){let{processIncludes:d}=await o("stx/includes",()=>import("./chunk-dm93r8kq.js"));A=await d(J,Y,Q,G,q)}let T=n0(A),D=[],M=T.output.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(d,l)=>{let G0=T.scripts[Number(l)]||"",n=G0.match(/^<script\b([^>]*)>/i)?.[1]||"",_0=n.match(/\btype\s*=\s*["']([^"']+)["']/i)?.[1]?.toLowerCase(),R0=!_0||["module","text/javascript","application/javascript"].includes(_0);if(!/\bserver\b/i.test(n)&&R0)return D.push(G0),"";return G0}),{extractSlotContent:k}=await o("stx/slots",()=>import("./chunk-s1enwpyh.js")),I=k(M),y={};if(I.defaultSlot?.trim())y.default=I.defaultSlot;for(let[d,l]of I.namedSlots)y[d]=l.content;let E=Y.__stx_scope_seq??={n:0,key:Bun.hash(String(Y.__filename??Q)).toString(36).slice(0,6)},b=`stx_${F.replace(/[^a-zA-Z0-9]/g,"_")}_${++E.n}_${E.key}`,C={...N,$uid:b,...Z,props:Z,slot:M,$slots:y,__processedComponents:U,__sections:{},__stx_signals_gate:X1(w)||wz(J)};Oz(w,C);let f=w,u=G9(f);if(u)f=u.content.trim();let P=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,h=[...w.matchAll(P)],m=[],j0=h.some((d)=>/\bserver\b/.test(d[1]||"")&&/\bcache\b/.test(d[1]||"")),S0=null,y0=null,h0=null,Y0=0,B0=null;if(Uz(G),j0&&h$>0){let d=Hz({props:Z,slot:J,buildMode:G.buildMode??"",skipEventDirectives:G.skipEventDirectives===!0,layers:G._layerGraph?.layers.map((l)=>l.configFile),uid:b});if(d!==null){S0=`${_}\x00${H1(w)}\x00${d}`;let l=v9.get(S0);if(l){for(let G0 of l.dependencies)q.add(G0);if(X3(Y,l.clientFactories),E.n+=l.uidsConsumed,l.preservedClientExpressions.length>0){let G0=new Set(Array.isArray(Y.__stx_preserved_client_expressions)?Y.__stx_preserved_client_expressions:[]);for(let n of l.preservedClientExpressions)G0.add(n);Y.__stx_preserved_client_expressions=[...G0]}return l.output}y0=new Set(q),h0=Z3(Y),Y0=E.n,B0=new Set(Array.isArray(Y.__stx_preserved_client_expressions)?Y.__stx_preserved_client_expressions:[])}}for(let d of h){let l=d[1]||"",G0=d[2]||"",n=l.includes("server");if(A1(l)&&G0.trim())G0=M1(G0);if(n&&G0)try{await K(G0,C,_)}catch(R0){}if(!n){let R0=G0.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,""),f0=R0.includes("{{")&&R0.includes("}}"),c0=R0.includes("{!!")&&R0.includes("!!}");if(f0||c0)R0=c9(R0,C);let C0=l.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");m.push(`<script${C0}>${R0}</script>`)}}let M0=w.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),P0=M0?M0[1]:"",s=M0?M0[2]:"",p="",q0=P0&&/\bscoped\b/i.test(P0);if(M0)p=`<style${P0}>${s}</style>`;let Z0=f;if(Z0=Z0.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),M0)Z0=Z0.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let d=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,l=[];if(Z0=Z0.replace(d,(G0,n)=>{let _0=n.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(_0)l.push(`<style${_0[1]}>${_0[2]}</style>`);return""}),Z0=Z0.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),l.length>0)p=`${p}${l.join(`
|
|
3622
|
+
`)}`}if(J&&Z0.includes("{{ text || slot }}"))Z0=Z0.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>J);let{applySlots:V0}=await o("stx/slots",()=>import("./chunk-s1enwpyh.js")),{defaultSlot:k0,namedSlots:j1}=I,J2=m.some((d)=>/\b(?:state|derived|effect|ref|useRef|reactive|computed|watch|watchEffect|useModel|useReactiveProp|defineProps|withDefaults|defineEmits|defineExpose|defineSlots)\s*(?:<[^<>()]*>)?\s*\(/.test(d)),C2=(d)=>J2?$8(d,b):d,S=new Map([...j1].map(([d,l])=>[d,{...l,content:C2(l.content)}]));Z0=await V0(Z0,C2(k0),S,C);let v=Rz(m),i=Array.isArray(C.__stx_client_signal_names)?C.__stx_client_signal_names:[];if(v.length>0||i.length>0)C.__stx_client_signal_names=[...new Set([...i,...v])];let $0={...G,_rootComponentsDir:G._rootComponentsDir||G.componentsDir,componentsDir:g.dirname(_),skipSignalsRuntime:!0,skipEventDirectives:J2||m.length===0,defaultLayout:void 0};C.__stxProcessingDepth=(Y.__stxProcessingDepth||0)+1;let z0=await v$(Z0,C,_,$0,q),w0=new Set(Array.isArray(Y.__stx_preserved_client_expressions)?Y.__stx_preserved_client_expressions:[]);for(let d of z0.matchAll(/\{\{([\s\S]*?)\}\}/g))w0.add(d[1].trim());if(w0.size>0)Y.__stx_preserved_client_expressions=[...w0];let l0=b,v0=z0;if(J2){let d="";if(Object.keys(Z).length>0)try{d=` data-stx-props="${i8(JSON.stringify(Z))}"`}catch{}let l=j?` stx-hydrate="${i8(j)}"`:"";v0=`<div data-stx-scope="${l0}"${d}${l}>${z0}</div>`;let G0=await Promise.all(m.map(async(n)=>{let _0=n.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!_0)return n;let[,R0,f0]=_0,{vendorStyleTags:c0,factoryBody:C0}=await Az(f0,_,G.buildMode==="compile"),J1=j?null:u9(Y,C0),r=J1?`window.__stxComponentFactories[${JSON.stringify(J1)}](${JSON.stringify(l0)});`:`(${C0})(${JSON.stringify(l0)});`;if(j)return`${c0}<script type="stx/island" data-stx-island="${l0}" data-stx-scoped data-stx-owner="${l0}"${R0}>${r}</script>`;return`${c0}<script data-stx-scoped data-stx-run="always" data-stx-owner="${l0}"${R0}>${r}</script>`}));if(v0=v0+`
|
|
3623
3623
|
`+G0.join(`
|
|
3624
3624
|
`),p)v0+=`
|
|
3625
3625
|
`+p}else{if(p)v0+=`
|
|
@@ -3627,9 +3627,9 @@ ${L.map((l)=>` - ${l}`).join(`
|
|
|
3627
3627
|
`+G0.join(`
|
|
3628
3628
|
`),C.__stx_event_bindings=[]}}if(q0){let d=y9(v0,_);if(d.hasScoped)v0=d.html}if(S0&&y0){let d=Array.isArray(Y.__stx_preserved_client_expressions)?Y.__stx_preserved_client_expressions:[];v9.set(S0,{output:v0,dependencies:[...q].filter((l)=>!y0.has(l)),clientFactories:h0?J3(Y,h0):[],uidsConsumed:E.n-Y0,preservedClientExpressions:B0?d.filter((l)=>!B0.has(l)):[]})}return D.length>0?`${v0}
|
|
3629
3629
|
${D.join(`
|
|
3630
|
-
`)}`:v0}catch(B){return`[Error processing component: ${B instanceof Error?B.message:String(B)}]`}finally{W.delete($)}}async function a($){return Bun.file($).exists()}function u$($,Z){let J=g.resolve(Z),X=g.resolve($),Y=J.endsWith(g.sep)?J:J+g.sep;if(X===J||X.startsWith(Y))return X;return null}async function
|
|
3630
|
+
`)}`:v0}catch(B){return`[Error processing component: ${B instanceof Error?B.message:String(B)}]`}finally{W.delete($)}}async function a($){return Bun.file($).exists()}function u$($,Z){let J=g.resolve(Z),X=g.resolve($),Y=J.endsWith(g.sep)?J:J+g.sep;if(X===J||X.startsWith(Y))return X;return null}async function Nz($,Z,J,X){let Y=Z.startsWith("layouts/")?Z.slice(8):Z,Q=g.join($,Y);for(let G of Q.endsWith(".stx")?[Q]:[Q,`${Q}.stx`])if(await a(G)){if(X)console.log(`Found layout in ${$}: ${G}`);return J?.add(G),G}return null}async function r2($,Z,J,X){let Y=await Dz($,Z,J,X);if(Y===null)return null;let Q=u$(Y,process.cwd());if(Q)return Q;let G=[J.root,J.layoutsDir,J.fallbackLayoutsDir,J.componentsDir,J.partialsDir,J.pagesDir,...J._layerLayoutDirs??[]].filter((z)=>typeof z==="string"&&z.length>0);for(let z of G){let q=g.isAbsolute(z)?z:g.resolve(process.cwd(),z);if(u$(Y,q))return g.resolve(Y)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${Y} (template: ${$}, from: ${Z})`),null}async function Dz($,Z,J,X){if(J.debug)console.log(`Resolving template path: ${$} from ${Z}`);let Y=g.dirname(Z),Q=process.cwd();if($.startsWith("/")){let H=g.join(Q,$),j=u$(H,Q);if(!j)return console.warn(`[stx] rejected template path that escapes project root: ${$} (from ${Z})`),null;if(J.debug)console.log(`Checking absolute path: ${j}`);if(await a(j)&&X)X.add(j);return j}let G=g.join(Y,$);if(await a(G)){if(J.debug)console.log(`Found direct path: ${G}`);if(X)X.add(G);return G}if(!$.endsWith(".stx")&&!$.endsWith(".jsx")&&!$.endsWith(".tsx"))for(let H of[".stx",".tsx",".jsx"]){let j=`${G}${H}`;if(await a(j)){if(J.debug)console.log(`Found direct path with extension: ${j}`);if(X)X.add(j);return j}}let z=[];if(z.push(...J._layerLayoutDirs??[]),J.layoutsDir)z.push(g.isAbsolute(J.layoutsDir)?J.layoutsDir:g.resolve(process.cwd(),J.layoutsDir));let q=g.resolve(Y),K=process.cwd();for(let H=0;H<10;H++){let j=g.join(q,"layouts"),B=!1;try{B=t8.statSync(j,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(B){z.push(j);break}let V=g.dirname(q);if(V===q||V.length<K.length)break;q=V}for(let H of z){let j=await Nz(H,$,X,J.debug);if(j)return j}if(J.fallbackLayoutsDir){let H=g.isAbsolute(J.fallbackLayoutsDir)?J.fallbackLayoutsDir:g.resolve(process.cwd(),J.fallbackLayoutsDir),j=$.startsWith("layouts/")?$.slice(8):$,B=[g.join(H,j)];if(!$.endsWith(".stx"))B.push(`${B[0]}.stx`);for(let V of B)if(await a(V)){if(J.debug)console.log(`Found in options.fallbackLayoutsDir: ${V}`);if(X)X.add(V);return V}}if($.startsWith("layouts/")||$.includes("/layouts/")){let H=$.split("layouts/"),j=g.join(J.partialsDir||Y,"layouts",H[1]);if(await a(j)){if(J.debug)console.log(`Found in layouts path: ${j}`);if(X)X.add(j);return j}if(!j.endsWith(".stx")){let B=`${j}.stx`;if(await a(B)){if(J.debug)console.log(`Found in layouts path with extension: ${B}`);if(X)X.add(B);return B}}}if(J.partialsDir){let H=g.join(J.partialsDir,"layouts");if(await a(H)){let j=g.join(H,$);if(await a(j)){if(J.debug)console.log(`Found in partials layouts dir: ${j}`);if(X)X.add(j);return j}if(!$.endsWith(".stx")){let B=`${j}.stx`;if(await a(B)){if(J.debug)console.log(`Found in partials layouts dir with extension: ${B}`);if(X)X.add(B);return B}}}}let W=J.partialsDir||g.join(process.cwd(),"views"),U=g.join(W,$);if(await a(U)){if(J.debug)console.log(`Found in views path: ${U}`);if(X)X.add(U);return U}if(!$.endsWith(".stx")){let H=`${U}.stx`;if(await a(H)){if(J.debug)console.log(`Found in views path with extension: ${H}`);if(X)X.add(H);return H}}if(Y.includes("temp")){let H=g.join(g.dirname(Y),"layouts",$);if(await a(H)){if(J.debug)console.log(`Found in temp layouts dir: ${H}`);if(X)X.add(H);return H}if(!$.endsWith(".stx")){let j=`${H}.stx`;if(await a(j)){if(J.debug)console.log(`Found in temp layouts dir with extension: ${j}`);if(X)X.add(j);return j}}}if(J.debug)console.warn(`Template not found after trying all paths: ${$} (referenced from ${Z})`);else console.warn(`Template not found: ${$} (referenced from ${Z})`);return null}function $Z($,Z,J){let X=0,Y="",Q="";try{if(typeof Z==="number"&&Z>=0){let G=$.split(`
|
|
3631
3631
|
`),z=0;for(let q=0;q<G.length;q++)if(z+=G[q].length+1,z>=Z){X=q+1,Y=G[q].trim();let K=Math.max(0,q-2),W=Math.min(G.length,q+3);Q=G.slice(K,W).map((U,H)=>{let j=K+H+1;return`${j===X?"> ":" "}${j}: ${U}`}).join(`
|
|
3632
|
-
`);break}}else if(J){let G=$.indexOf(J);if(G>=0)return
|
|
3632
|
+
`);break}}else if(J){let G=$.indexOf(J);if(G>=0)return $Z($,G)}}catch{}return{lineNumber:X,lineContent:Y,context:Q}}var t={reset:"\x1B[0m",bold:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",yellow:"\x1B[33m",blue:"\x1B[34m",cyan:"\x1B[36m",gray:"\x1B[90m",bgRed:"\x1B[41m",bgYellow:"\x1B[43m"};function H0($,Z,J,X,Y,Q){let{lineNumber:G,context:z}=$Z(X,Y,Q),q=J.split("/").pop(),K=0;if(typeof Y==="number"&&Y>=0&&X){let U=X.lastIndexOf(`
|
|
3633
3633
|
`,Math.max(0,Y-1));K=Y-(U+1)+1}let W="";if(G>0)W+=`
|
|
3634
3634
|
${J}:${G}${K>0?`:${K}`:""}: ${$.toLowerCase()} error: ${Z}
|
|
3635
3635
|
`;if(W+=`
|
|
@@ -3642,8 +3642,8 @@ ${t.yellow}${t.bold}Message:${t.reset} ${Z}
|
|
|
3642
3642
|
`,z)W+=`
|
|
3643
3643
|
${t.blue}${t.bold}Context:${t.reset}
|
|
3644
3644
|
${t.dim}${z}${t.reset}
|
|
3645
|
-
`;return W}function
|
|
3646
|
-
${p1("const",[...
|
|
3645
|
+
`;return W}function g_(){b2.clear(),P9.clear(),v9.clear()}function h_(){return{size:b2.size,maxSize:500}}var g$=k1(128);async function Az($,Z,J){let X=H1($,Z,J),Y=g$.get(X);if(Y){if(a8(Y.deps))return Y;g$.delete(X)}let Q=d$($,{filePath:Z,projectRoot:process.cwd()}),G=Q.code,z=m$(Q.styles);G=a1(G).code;let{hasUserImports:q,bundleClientScript:K}=await o("stx/client-script-bundler",()=>import("./chunk-t088w4j2.js")),W=[],U=!1;if(q(G)){let _=G;G=await K(_,Z,{projectRoot:process.cwd(),minify:J,collectInputs:W}),U=G===_}let{stripStxRuntimeImports:H}=await o("stx/signal-processing",()=>import("./chunk-vgwcpt59.js"));G=H(G);let j=$1(G),B=Vz(j),V=`function(__scopeId) {
|
|
3646
|
+
${p1("const",[...o8,...B],j)}
|
|
3647
3647
|
const __scope = window.stx._scopes = window.stx._scopes || {};
|
|
3648
3648
|
const __scopeVars = __scope[__scopeId] = __scope[__scopeId] || {};
|
|
3649
3649
|
__scopeVars.$refs = __scopeVars.$refs || {};
|
|
@@ -3671,18 +3671,18 @@ catch (e) {}
|
|
|
3671
3671
|
finally {
|
|
3672
3672
|
window.__STX_CURRENT_ELEMENT__ = __previousCurrentElement;
|
|
3673
3673
|
}
|
|
3674
|
-
}`,F={vendorStyleTags:z,factoryBody:V,deps:
|
|
3674
|
+
}`,F={vendorStyleTags:z,factoryBody:V,deps:r8([...W,...Q.styles.map((_)=>_.resolvedPath)])};if(!U&&Q.unresolved.length===0)g$.set(X,F);return F}var Mz=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;function Iz($){if($.startsWith(".")||$.startsWith("/"))return null;if($.startsWith("@")){let J=$.match(/^(@[^/]+\/[^/]+)(\/.*)?$/);if(!J)return null;return{pkg:J[1],subpath:J[2]||""}}let Z=$.match(/^([^/]+)(\/.*)?$/);if(!Z)return null;return{pkg:Z[1],subpath:Z[2]||""}}function Tz($,Z){let J=Z;while(!0){let X=b1.join(J,"node_modules",$,"package.json");if(y2.existsSync(X))return b1.dirname(X);let Y=b1.dirname(J);if(Y===J)return null;J=Y}}function kz($,Z){if(!$||typeof $!=="object")return null;let J=(Y)=>{if(typeof Y==="string")return Y;if(Y&&typeof Y==="object"){if(typeof Y.import==="string")return Y.import;if(typeof Y.default==="string")return Y.default;if(typeof Y.import==="object")return J(Y.import);if(typeof Y.default==="object")return J(Y.default)}return null};if(Object.prototype.hasOwnProperty.call($,Z))return J($[Z]);let X=null;for(let Y of Object.keys($)){let Q=Y.indexOf("*");if(Q===-1)continue;let G=Y.slice(0,Q),z=Y.slice(Q+1);if(!Z.startsWith(G)||!Z.endsWith(z))continue;if(Z.length<G.length+z.length)continue;if(!X||G.length>X.prefix.length)X={pattern:Y,prefix:G,suffix:z}}if(X){let Y=Z.slice(X.prefix.length,Z.length-X.suffix.length),Q=J($[X.pattern]);if(Q)return Q.replace("*",Y)}return null}function Ez($,Z){let J=Iz($);if(!J||!J.subpath)return null;let X=Tz(J.pkg,Z);if(!X)return null;let Y;try{Y=JSON.parse(y2.readFileSync(b1.join(X,"package.json"),"utf8"))}catch{return null}let Q=`.${J.subpath}`,G=kz(Y.exports,Q);if(!G)return null;let z=b1.resolve(X,G);return y2.existsSync(z)?z:null}function d$($,Z){let J=Z.filePath?b1.dirname(Z.filePath):Z.projectRoot||process.cwd(),X=Z.projectRoot||process.cwd(),Y=new Set,Q=[],G=[];return{code:$.replace(Mz,(q,K)=>{let W;try{if(K.startsWith("./")||K.startsWith("../")||K.startsWith("/")){if(W=K.startsWith("/")?K:b1.resolve(J,K),!y2.existsSync(W))throw Error(`file not found: ${W}`)}else{let U=null;try{U=Bun.resolveSync(K,X)}catch{U=Ez(K,X)}if(!U)throw Error(`could not resolve ${K} (Bun.resolveSync + exports fallback both failed)`);W=U}}catch(U){return console.warn(`[stx:vendor-css] could not resolve ${JSON.stringify(K)} (from ${Z.filePath||"<unknown>"}): ${U?.message||U}`),G.push(K),""}if(Y.has(W))return"";Y.add(W);try{let U=y2.readFileSync(W,"utf8");Q.push({source:K,resolvedPath:W,contents:U})}catch(U){console.warn(`[stx:vendor-css] could not read ${W}: ${U?.message||U}`),G.push(K)}return""}),styles:Q,unresolved:G}}function bz($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function m$($){if($.length===0)return"";return`${$.map((Z)=>{return`<style data-stx-vendor="${bz(Z.source)}" data-stx-layer="vendor">
|
|
3675
3675
|
@layer vendor {
|
|
3676
3676
|
${Z.contents}
|
|
3677
3677
|
}
|
|
3678
3678
|
</style>`}).join(`
|
|
3679
3679
|
`)}
|
|
3680
|
-
`}var
|
|
3680
|
+
`}var yz=YZ;function a1($){let Z=u0($),J=new Set;for(let z of $.matchAll(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm))for(let q of z[1].split(",")){let K=q.trim().split(/\s+as\s+/).pop()?.replace(/^type\s+/,"").trim();if(K)J.add(K)}let X=new Set;for(let z of Z.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))X.add(z[1]);for(let z of Z.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let q of z[1].split(",")){let K=q.trim().split(/[:=]/).pop()?.trim();if(K)X.add(K)}let Y=I2.filter((z)=>{if(J.has(z)||X.has(z))return!1;return new RegExp(`\\b${z}\\s*\\(`).test(Z)}),Q=zZ(Z).filter((z)=>!J.has(z)&&!X.has(z));if(Y.length===0&&Q.length===0)return{code:$,imports:Y,models:Q};return{code:`${[Y.length>0?`import { ${Y.join(", ")} } from '@stacksjs/browser'`:"",Q.length>0?"import '@stacksjs/browser'":"",Q.length>0?`const { ${Q.join(", ")} } = window.StacksBrowser || {}`:""].filter(Boolean).join(`
|
|
3681
3681
|
`)}
|
|
3682
|
-
${$}`,imports:Y,models:Q}}var
|
|
3682
|
+
${$}`,imports:Y,models:Q}}var Cz=new Set(["Promise","Object","Array","Map","Set","Date","Error","JSON","Math","Number","String","RegExp","Symbol","WeakMap","WeakSet","Proxy","Reflect","Intl","URL","URLSearchParams","FormData","Headers","Request","Response","AbortController","EventTarget","Element","Document","Node","Window","Console","Storage","Navigator","Blob","File","FileReader","HTMLElement","SVGElement","Event","CustomEvent","DOMParser","XMLSerializer","WebSocket","Worker","SharedWorker","IntersectionObserver","MutationObserver","ResizeObserver","PerformanceObserver","Notification","Bun","Buffer","Process","Modal","Intl"]);function zZ($){let Z=new Set,J=/\b([A-Z][a-zA-Z0-9]*)\s*\.\s*(all|find|first|get|where|orderBy|orderByDesc|limit|select|pluck|create|update|delete)\s*\(/g,X;while((X=J.exec($))!==null)if(!Cz.has(X[1]))Z.add(X[1]);return Array.from(Z)}function Sz($){let Z=new Set;for(let J of $.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))Z.add(J[1]);for(let J of $.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let X of J[1].split(",")){let Y=X.trim().split(/[:=]/).pop()?.trim();if(Y&&/^[A-Za-z_$][\w$]*$/.test(Y))Z.add(Y)}return Z}function qZ($){let Z=new Set,J=new Set,X=$;X=X.replace(/^[ \t]*import\s+type\s+\{[^}]*\}\s+from\s+['"][^'"]+['"][ \t]*;?[ \t]*$/gm,"// [type import stripped]");let Y=new Set,Q=/^[ \t]*import\s+(?:type\s+)?{\s*([^}]+)\s*}\s+from\s+['"](@stacksjs\/browser|@stacksjs\/stx|stx)['"][ \t]*;?[ \t]*$/gm,G;while((G=Q.exec($))!==null){let U=G[1],H=G[2];if(G[0].includes("import type"))continue;let j=[];for(let V of U.split(",")){let F=V.trim();if(!F||F.startsWith("type "))continue;let _=F.match(/^([A-Za-z_$][\w$]*)(?:\s+as\s+([A-Za-z_$][\w$]*))?$/);if(!_)continue;let O=_[1],L=_[2]||O;if(Y.add(O),Y.add(L),H==="stx"||H==="@stacksjs/stx")Z.add(O);else J.add(O);if(L!==O)j.push(`${L} = ${O}`)}let B=j.length>0?`var ${j.join(", ")}; /* [auto-import processed] */`:"// [auto-import processed]";X=X.replace(G[0],B)}let z=Sz(X);for(let U of yz){if(Y.has(U)||z.has(U))continue;if(new RegExp(`\\b${U}\\s*(?:<[^>]*>)?\\s*\\(`,"g").test(X))Z.add(U)}let q=u0(X),K=new Set;for(let U of X.matchAll(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm))for(let H of U[1].split(",")){let j=H.trim().replace(/^type\s+/,"").split(/\s+as\s+/);for(let B of j){let V=B.trim();if(V)K.add(V)}}for(let U of I2){if(Y.has(U)||z.has(U)||K.has(U))continue;if(new RegExp(`\\b${U}\\b`,"g").test(q))J.add(U)}let W=zZ(X);for(let U of W)if(!Y.has(U)&&!z.has(U))J.add(U);return{code:X,stxImports:Array.from(Z),browserImports:Array.from(J)}}function KZ($,Z){let J=[];if($.length>0)J.push(` var { ${$.join(", ")} } = window.stx || window;`);if(Z.length>0)J.push(` var { ${Z.join(", ")} } = window.StacksBrowser || {};`);if(J.length>0)return` // STX: auto-imported from stx and @stacksjs/browser
|
|
3683
3683
|
${J.join(`
|
|
3684
3684
|
`)}
|
|
3685
|
-
${
|
|
3685
|
+
${Pz($,Z)}`;return""}function ZL($,Z=[]){let{browserImports:J}=qZ($),X=new Set(Z);return KZ([],J.filter((Y)=>!X.has(Y)))}function Pz($,Z){let J=[...$.map((X)=>`['${X}', typeof ${X}, 'stx']`),...Z.map((X)=>`['${X}', typeof ${X}, '@stacksjs/browser']`)];if(J.length===0)return"";return` // STX: report auto-imports the client runtime did not provide
|
|
3686
3686
|
[${J.join(", ")}].forEach(function (e) {
|
|
3687
3687
|
if (e[1] !== 'undefined') return;
|
|
3688
3688
|
console.error(
|
|
@@ -3691,10 +3691,10 @@ ${Sz($,Z)}`;return""}function e_($,Z=[]){let{browserImports:J}=zZ($),X=new Set(Z
|
|
|
3691
3691
|
+ 'or it should be imported from a relative path so the bundler includes it.'
|
|
3692
3692
|
);
|
|
3693
3693
|
});
|
|
3694
|
-
`}function E9($){let Z=$.__stxClientPayload;if(Z&&typeof Z==="object"){let X={};for(let Y in Z){let Q=Z[Y];if(typeof Q==="function")continue;X[Y]=Q}return X.__stxDeclaredPayload=!0,X}let J={};for(let X in $){if(X.startsWith("__")||X.startsWith("$"))continue;let Y=$[X];if(typeof Y==="function")continue;J[X]=Y}return J}function
|
|
3694
|
+
`}function E9($){let Z=$.__stxClientPayload;if(Z&&typeof Z==="object"){let X={};for(let Y in Z){let Q=Z[Y];if(typeof Q==="function")continue;X[Y]=Q}return X.__stxDeclaredPayload=!0,X}let J={};for(let X in $){if(X.startsWith("__")||X.startsWith("$"))continue;let Y=$[X];if(typeof Y==="function")continue;J[X]=Y}return J}function ZZ($,Z){let J=new Set;for(let X of $.split(",")){let Y=X.trim().replace(/^\.\.\./,"").trim();if(!Y)continue;if(Z){let Q=Y.lastIndexOf(":");if(Q!==-1)Y=Y.slice(Q+1).trim()}if(Y=Y.split("=")[0].trim(),/^[A-Za-z_$][\w$]*$/.test(Y))J.add(Y)}return J}function vz($,Z){let J=u0($),{depths:X,balanced:Y}=GZ(J),Q=(z)=>!Y||X[z]===0,G=new RegExp(`(?:^|[^\\w$.])((?:const|let|var|function|class)\\s+${Z}\\b)`,"g");for(let z of J.matchAll(G)){let q=(z.index??0)+z[0].length-z[1].length;if(Q(q))return!0}for(let z of J.matchAll(/(?:const|let|var)\s*\{([^}]*)\}/g))if(Q(z.index??0)&&ZZ(z[1],!0).has(Z))return!0;for(let z of J.matchAll(/(?:const|let|var)\s*\[([^\]]*)\]/g))if(Q(z.index??0)&&ZZ(z[1],!1).has(Z))return!0;return!1}function fz($,Z){return new RegExp(`(?<![.#\\w$])${Z}(?![\\w$])`).test($)}var xz=/token|secret|passw|apikey|api_key|privatekey|private_key|credential|webhook|bearer|jwt|signature/i,JZ=new Set;function gz($,Z){let J=xz.test($),X=Z.length>32768;if(!J&&!X)return;if(JZ.has($))return;if(JZ.add($),J)console.warn(`[stx] server\u2192client bridge is publishing "${$}" into the page body. If it holds a credential, rename it with a "__" prefix (never bridged) and pass only what the template needs. See stacksjs/stx#1831.`);if(X)console.warn(`[stx] server\u2192client bridge is publishing ${(Z.length/1024).toFixed(1)}KB under "${$}". Every byte ships in the HTML on each request; prefix the binding with "__" and project just the fields the client reads.`)}function M$($,Z){if(!Z)return"";let J=u0($),X=Z.__stxDeclaredPayload===!0,Y=[];for(let[Q,G]of Object.entries(Z)){if(!/^[A-Za-z_$][\w$]*$/.test(Q))continue;if(Q.startsWith("__")||Q.startsWith("$"))continue;if(!X&&!fz(J,Q))continue;if(vz($,Q)){if(X)console.warn(`[stx] defineClientPayload declares "${Q}", but this client block also declares "${Q}" at the top level, so the server value is not published (emitting it would be a duplicate binding). Rename the local, or drop "${Q}" from defineClientPayload.`);continue}let z;try{z=JSON.stringify(G)}catch{continue}if(z===void 0)continue;gz(Q,z),Y.push(` var ${Q} = ${z.replace(/</g,"\\u003c")};`)}if(Y.length===0)return"";return` // stx: server -> client data bridge (seeded from server scope)
|
|
3695
3695
|
${Y.join(`
|
|
3696
3696
|
`)}
|
|
3697
|
-
`}var
|
|
3697
|
+
`}var hz={left:0,middle:1,right:2};function uz($){let Z=[];if($.self)Z.push("if ($event.target !== $el) return");for(let J of $.systemKeys)Z.push(`if (!$event.${J}Key) return`);if($.keys.length>0){let J=$.keys.map((X)=>`$event.key === '${X}'`).join(" || ");Z.push(`if (!(${J})) return`)}if($.mouse!==null){let J=hz[$.mouse];Z.push(`if ($event.button !== ${J}) return`)}if($.prevent)Z.push("$event.preventDefault()");if($.stop)Z.push("$event.stopPropagation()");return Z.join("; ")}function dz($,Z){let{elementId:J,event:X,modifiers:Y}=$,Q=g9($.handler),G=uz(Y),z=[];if(Y.once)z.push("once: true");if(Y.capture)z.push("capture: true");if(Y.passive)z.push("passive: true");let q=z.length>0?`, { ${z.join(", ")} }`:"",K="";if(G)K+=`${G}; `;let W=Q.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),U=`var $emit = function(name, detail) {
|
|
3698
3698
|
$el.dispatchEvent(new CustomEvent(name, { detail: detail, bubbles: true, cancelable: true }))
|
|
3699
3699
|
};`;function H(j){if(/\$emit\s*\(/.test(j))return`${U}
|
|
3700
3700
|
${j}`;return`var scope = $el.closest('[data-stx-scope]');
|
|
@@ -3737,23 +3737,23 @@ else {
|
|
|
3737
3737
|
else {
|
|
3738
3738
|
${Q}
|
|
3739
3739
|
}
|
|
3740
|
-
}${q})`}function
|
|
3740
|
+
}${q})`}function mz($){if($.length===0)return"";return`
|
|
3741
3741
|
// STX: auto-generated event bindings
|
|
3742
|
-
${$.map((J,X)=>
|
|
3743
|
-
`)}`}function
|
|
3744
|
-
`)G++;continue}if(z==="/"&&X[G+1]==="*"){G+=2;while(G<Q-1&&!(X[G]==="*"&&X[G+1]==="/"))G++;G+=2;continue}if(z==="{"){Y++,G++;continue}if(z==="}"){Y--,G++;continue}if(Y===0){let q=X.slice(G),K=q.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(K){let H=K[1];if(!H.startsWith("_")&&!J.has(H))Z.push(H),J.add(H);G+=K[0].length;continue}let W=q.match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(W){W[1].split(",").forEach((H)=>{let j=H.trim(),B=j.indexOf(":"),V=B>=0?j.slice(B+1).trim().split(/[\s=]/)[0]:j.split(/[\s=]/)[0];if(V&&!V.startsWith("_")&&!J.has(V))Z.push(V),J.add(V)}),G+=W[0].length;continue}let U=q.match(/^(?:async\s+)?function\s+([a-zA-Z_$]\w*)/);if(U){let H=U[1];if(!H.startsWith("_")&&!J.has(H))Z.push(H),J.add(H);G+=U[0].length;continue}}G++}return Z}var
|
|
3742
|
+
${$.map((J,X)=>dz(J,X)).join(`
|
|
3743
|
+
`)}`}function XZ($){let Z=[],J=new Set,X=$.replace(/^\s*import\s+.*$/gm,""),Y=0,Q=X.length,G=0;while(G<Q){let z=X[G];if(z==="'"||z==='"'||z==="`"){let q=z;if(G++,q==="`"){let K=0;while(G<Q){if(X[G]==="\\"){G+=2;continue}if(X[G]==="`"&&K===0){G++;break}if(X[G]==="$"&&X[G+1]==="{"){K++,G+=2;continue}if(X[G]==="}"&&K>0){K--,G++;continue}G++}}else while(G<Q){if(X[G]==="\\"){G+=2;continue}if(X[G]===q){G++;break}G++}continue}if(z==="/"&&X[G+1]==="/"){while(G<Q&&X[G]!==`
|
|
3744
|
+
`)G++;continue}if(z==="/"&&X[G+1]==="*"){G+=2;while(G<Q-1&&!(X[G]==="*"&&X[G+1]==="/"))G++;G+=2;continue}if(z==="{"){Y++,G++;continue}if(z==="}"){Y--,G++;continue}if(Y===0){let q=X.slice(G),K=q.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(K){let H=K[1];if(!H.startsWith("_")&&!J.has(H))Z.push(H),J.add(H);G+=K[0].length;continue}let W=q.match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(W){W[1].split(",").forEach((H)=>{let j=H.trim(),B=j.indexOf(":"),V=B>=0?j.slice(B+1).trim().split(/[\s=]/)[0]:j.split(/[\s=]/)[0];if(V&&!V.startsWith("_")&&!J.has(V))Z.push(V),J.add(V)}),G+=W[0].length;continue}let U=q.match(/^(?:async\s+)?function\s+([a-zA-Z_$]\w*)/);if(U){let H=U[1];if(!H.startsWith("_")&&!J.has(H))Z.push(H),J.add(H);G+=U[0].length;continue}}G++}return Z}var lz=new Set(["if","else","true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","switch","case","break","continue","for","while","do","try","catch","finally","const","let","var","function","class","import","export","default","async","await","yield","with","debugger","console","window","document","Math","JSON","Date","Array","Object","String","Number","Boolean","Symbol","Map","Set","Promise","Error","parseInt","parseFloat","isNaN","isFinite","encodeURIComponent","decodeURIComponent","setTimeout","setInterval","clearTimeout","clearInterval","fetch","alert","confirm","prompt","event"]);function cz($){let Z=new Set,J=/[a-zA-Z_$][a-zA-Z0-9_$]*/g;function X(H){let j;while((j=J.exec(H))!==null){let B=j[0];if(!lz.has(B))Z.add(B)}}let Y=/\{\{([\s\S]*?)\}\}/g,Q;while((Q=Y.exec($))!==null)X(Q[1]);let G=/:[a-z][\w.-]*\s*=\s*"([^"]*)"/gi;while((Q=G.exec($))!==null)X(Q[1]);let z=/:[a-z][\w.-]*\s*=\s*'([^']*)'/gi;while((Q=z.exec($))!==null)X(Q[1]);let q=/@[a-z]+(?:\.[a-z]+)*\s*=\s*"([^"]*)"/gi;while((Q=q.exec($))!==null)X(Q[1]);let K=/@[a-z]+(?:\.[a-z]+)*\s*=\s*'([^']*)'/gi;while((Q=K.exec($))!==null)X(Q[1]);let W=/@model\s*=\s*["']([^"']*)["']/gi;while((Q=W.exec($))!==null)X(Q[1]);let U=/@for\s*=\s*["'][^"']*\bin\s+([^"']+)["']/gi;while((Q=U.exec($))!==null)X(Q[1]);return Z}async function b9($,Z={}){let J=$,X="",Y=!1,Q=[],G=d$(J,{filePath:Z.filePath,projectRoot:Z.projectRoot});J=G.code;let z=m$(G.styles),q=a1(J);J=q.code,Q=[...q.imports,...q.models];let{hasUserImports:K,bundleClientScript:W}=await o("stx/client-script-bundler",()=>import("./chunk-t088w4j2.js"));if(K(J))J=await W(J,Z.filePath||"",{projectRoot:Z.projectRoot,minify:Z.production}),Y=!0;if(Z.autoImports!==!1){let L=qZ(J);J=L.code,X=KZ(L.stxImports,L.browserImports.filter((w)=>!Q.includes(w)))}if(X=`${M$(J,Z.serverData)}${X}`,J=$1(J),!Y&&A1(Z.attrs||""))J=M1(J);let U=mz(Z.eventBindings||[]),H=(Z.attrs||"").trim(),j=/\btype\s*=\s*["']module["']/i.test(H),B=Z.instanceId?` data-stx-instance="${Z.instanceId}"`:"";if(j){let L=H.replace(/\btype\s*=\s*["']module["']/i,"").trim(),w=`type="module" data-stx-scoped${B}${L?` ${L}`:""}`;return`${z}<script ${w}>
|
|
3745
3745
|
${r1(`${X}${J}
|
|
3746
3746
|
${U}`)}
|
|
3747
|
-
</script>`}let V=
|
|
3747
|
+
</script>`}let V=QZ($),F=/function __stx_setup_/.test(J),_=/\bstx\.mount\s*\(|\bstx\.mountEl\s*\(/.test($);function O(L){let w=L.length>0?`
|
|
3748
3748
|
return { ${L.join(", ")} };`:"";return`${z}<script data-stx-scoped data-stx-run="always"${B}>
|
|
3749
3749
|
window.stx.mount(function() {
|
|
3750
3750
|
'use strict';
|
|
3751
3751
|
${r1(`${X}${J}
|
|
3752
3752
|
${U}${w}`)}
|
|
3753
|
-
})</script>`}if(!_&&!F){if(V)return O(
|
|
3753
|
+
})</script>`}if(!_&&!F){if(V)return O(XZ($));if(Z.templateContent){let L=XZ($);if(L.length>0){let w=cz(Z.templateContent);if(L.some((N)=>w.has(N)))return O(L)}}}return`${z}<script data-stx-scoped data-stx-run="always"${B}>
|
|
3754
3754
|
;(function() {
|
|
3755
3755
|
'use strict';
|
|
3756
3756
|
${r1(`${X}${J}
|
|
3757
3757
|
${U}`)}
|
|
3758
3758
|
})()</script>`}
|
|
3759
|
-
export{
|
|
3759
|
+
export{dZ as Bl,mZ as Cl,lZ as Dl,t0 as El,n9 as Fl,s9 as Gl,o9 as Hl,r9 as Il,I3 as Jl,M3 as Kl,aZ as Ll,eZ as Ml,ZJ as Nl,Tq as Ol,kq as Pl,Eq as Ql,bq as Rl,yq as Sl,hZ as Tl,R3 as Ul,N3 as Vl,D3 as Wl,A3 as Xl,Mq as Yl,f3 as Zl,q2 as _l,g9 as $l,h9 as am,_Z as bm,a$ as cm,iz as dm,I2 as em,t1 as fm,SB as gm,d$ as hm,m$ as im,yz as jm,a1 as km,qZ as lm,KZ as mm,ZL as nm,E9 as om,M$ as pm,b9 as qm,rz as rm,d2 as sm,az as tm,tz as um,ez as vm,$q as wm,l2 as xm,FZ as ym,Wq as zm,wZ as Am,Uq as Bm,l9 as Cm,U3 as Dm,X1 as Em,c9 as Fm,DZ as Gm,Hq as Hm,V1 as Im,AZ as Jm,jq as Km,x0 as Lm,Bq as Mm,Lq as Nm,CZ as Om,SZ as Pm,O3 as Qm,F3 as Rm,w3 as Sm,Dq as Tm,T3 as Um,t9 as Vm,G2 as Wm,c2 as Xm,vq as Ym,a9 as Zm,YJ as _m,QJ as $m,GJ as an,fq as bn,E3 as cn,b3 as dn,z1 as en,X9 as fn,L0 as gn,A7 as hn,w5 as in,q1 as jn,O1 as kn,M7 as ln,j2 as mn,Y9 as nn,R5 as on,FX as pn,RX as qn,k7 as rn,DX as sn,AX as tn,b7 as un,F1 as vn,gW as wn,y7 as xn,T5 as yn,EX as zn,I5 as An,bX as Bn,yX as Cn,hW as Dn,uW as En,C7 as Fn,S7 as Gn,P7 as Hn,CX as In,SX as Jn,dW as Kn,mW as Ln,PX as Mn,lW as Nn,cW as On,x7 as Pn,d7 as Qn,b5 as Rn,ZU as Sn,_2 as Tn,y5 as Un,C5 as Vn,JU as Wn,rX as Xn,XU as Yn,aX as Zn,c7 as _n,YU as $n,tX as ao,QU as bo,GU as co,G9 as do,i7 as eo,n7 as fo,s7 as go,UU as ho,a7 as io,MU as jo,IU as ko,TU as lo,kU as mo,OY as no,w4 as oo,Z$ as po,kY as qo,J$ as ro,D6 as so,XB as to,k6 as uo,uQ as vo,bB as wo,pQ as xo,d6 as yo,I$ as zo,m6 as Ao,c6 as Bo,T$ as Co,zG as Do,qG as Eo,p6 as Fo,f6 as Go,KG as Ho,UG as Io,V$ as Jo,H6 as Ko,j6 as Lo,u8 as Mo,aG as No,tG as Oo,eG as Po,$z as Qo,Zz as Ro,d8 as So,Qz as To,Kz as Uo,Wz as Vo,d4 as Wo,m4 as Xo,Yj as Yo,C4 as Zo,Qj as _o,Y$ as $o,Q$ as ap,G$ as bp,i4 as cp,n4 as dp,s4 as ep,G7 as fp,z7 as gp,q7 as hp,K7 as ip,U5 as jp,H5 as kp,CK as lp,SK as mp,PK as np,iJ as op,vK as pp,kj as qp,Ej as rp,r4 as sp,bj as tp,JQ as up,t4 as vp,J6 as wp,H$ as xp,OQ as yp,j$ as zp,z6 as Ap,q6 as Bp,TQ as Cp,uj as Dp,dj as Ep,K6 as Fp,mj as Gp,lj as Hp,B$ as Ip,_6 as Jp,D9 as Kp,A9 as Lp,o1 as Mp,bQ as Np,O6 as Op,F6 as Pp,sj as Qp,O$ as Rp,yQ as Sp,CQ as Tp,F$ as Up,w$ as Vp,w6 as Wp,R6 as Xp,k$ as Yp,E$ as Zp,C$ as _p,v$ as $p,hG as aq,cG as bq,pG as cq,iG as dq,nG as eq,jz as fq,A1 as gq,x$ as hq,M1 as iq,j9 as jq,Fz as kq,wz as lq,Rz as mq,D1 as nq,a as oq,r2 as pq,$Z as qq,H0 as rq,g_ as sq,h_ as tq,x3 as uq,g3 as vq,_1 as wq,h3 as xq,C1 as yq,u3 as zq,K2 as Aq,oq as Bq,wJ as Cq,$5 as Dq,rq as Eq,Z5 as Fq,aq as Gq,tq as Hq,Q1 as Iq,eq as Jq,$K as Kq,ZK as Lq,JK as Mq,XK as Nq,YK as Oq,RJ as Pq,X5 as Qq,d3 as Rq,GK as Sq,zK as Tq,qK as Uq,KK as Vq,WK as Wq,l3 as Xq,UK as Yq,c3 as Zq,HK as _q,jK as $q,W2 as ar,TJ as br,LK as cr,EJ as dr,r3 as er,s2 as fr,DK as gr,X7 as hr,W5 as ir,dK as jr,B5 as kr,tJ as lr,JX as mr,mK as nr,lK as or,cK as pr,pK as qr,iK as rr,nK as sr,XX as tr,YX as ur,H7 as vr,V5 as wr,qX as xr,L5 as yr,N7 as zr,WW as Ar,UW as Br,F5 as Cr,BX as Dr,D7 as Er};
|