@stacksjs/stx 0.2.174 → 0.2.175

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/pwa.js CHANGED
@@ -1429,7 +1429,7 @@ else {
1429
1429
  style="--stx-transition-duration: ${G}ms; --stx-transition-ease: ${Q}; --stx-transition-delay: ${q}ms;">${X}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},F2={name:"scrollAnimate",handler:(X,$,Z,Y)=>{if($.length<1)return`<div class="stx-error">@scrollAnimate directive requires at least an animation type</div>${X}`;let J=$[0],G=$.length>1?Number.parseInt($[1],10)||300:300,Q=$.length>2?$[2]||"ease":"ease",q=$.length>3?Number.parseFloat($[3])||0.2:0.2,K=$.length>4?Number.parseInt($[4],10)||0:0,U=`stx-scroll-${Math.random().toString(36).substr(2,9)}`,W=`--stx-transition-duration: ${G}ms; --stx-transition-ease: ${Q}; --stx-transition-delay: ${K}ms; will-change: opacity, transform;`,w="stx-transition stx-observe stx-out";if(J==="fade")w+=" stx-fade";else if(J==="slide-up"||J==="slide")w+=" stx-from-bottom";else if(J==="slide-down")w+=" stx-from-top";else if(J==="slide-left")w+=" stx-from-right";else if(J==="slide-right")w+=" stx-from-left";else if(J==="scale")w+=" stx-scale";else if(J.includes("-"))w+=` stx-${J}`;else w+=` stx-${J}`;return`<div id="${U}" class="${w}" style="${W}" data-threshold="${q}">${X}</div>`},hasEndTag:!0,description:"Applies animations that trigger when scrolled into view"},V2={name:"animationGroup",handler:(X,$,Z,Y)=>{if($.length<2)return`<div class="stx-error">@animationGroup directive requires a group name and at least one element selector</div>${X}`;let J=$[0],G=$.slice(1).map((U)=>U.startsWith("#")||U.startsWith(".")?U:`#${U}`),Q=Z.staggerDelay||50,q=Z.sequence||!0,K=_U(J,G,{staggerDelay:Q,sequence:q});return`${X}
1430
1430
  ${K}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},A2={name:"motion",handler:(X,$,Z,Y)=>{let J=$.length>0?$[0].toLowerCase()==="true":!0,G=wU();return`<div data-animate="${J?"auto":"true"}">${X}</div>${G}`},hasEndTag:!0,description:"Controls motion and animation preferences"}});function H$(X){return X.split(/[\\/]/).filter(Boolean).slice(0,-1).some((Z)=>$7.includes(Z))}function Z7(X){return H$(X.replace(/^\//,""))}var $7;var GX=E(()=>{$7=["components","layouts","partials","emails"]});import _5 from"fs";import Y7 from"path";function J7(X,$){let Z=X.filter((Q)=>!Z7(Q.pattern)),Y=["// Auto-generated by STX - do not edit"];if(Z.length===0)Y.push("// No page routes found \u2014 route paths stay typed as string.","export {}","");else{Y.push("declare module '@stacksjs/stx' {"," interface KnownRoutes {");for(let Q of Z){let q=[];for(let U of Q.params){let W=Q.pattern.includes(`:${U}?`)?"?":"";q.push(`${U}${W}: string`)}let K=q.join("; ");Y.push(` '${Q.pattern}': { ${K} }`)}Y.push(" }","}","","export {}","")}let J=Y.join(`
1431
1431
  `),G=Y7.join($,"route-types.d.ts");try{if(_5.existsSync(G)&&_5.readFileSync(G,"utf8")===J)return;_5.mkdirSync($,{recursive:!0}),_5.writeFileSync(G,J)}catch{}}function G7(X,$,Z){let Y=process.cwd(),J=Y7.relative(Y,Z),G=X.filter((q)=>!Z7(q.pattern)),Q=["// Auto-generated by stx \u2014 do not edit",`// Source: ${J||"pages"}/`,"","export const routes = ["];for(let q of G){let K=Y7.relative(Y,q.filePath).replace(/\\/g,"/"),U=JSON.stringify(q.params),W=q.layout?`, layout: '${Y7.relative(Y,q.layout).replace(/\\/g,"/")}'`:"";Q.push(` { pattern: '${q.pattern}', filePath: '${K}', isDynamic: ${q.isDynamic}, params: ${U}${W} },`)}Q.push("] as const",""),Q.push("export type RouteName = typeof routes[number]['pattern']",""),_5.mkdirSync($,{recursive:!0}),_5.writeFileSync(Y7.join($,"routes.ts"),Q.join(`
1432
- `))}var O$=E(()=>{GX()});import N2 from"path";function QX(X,$){let Y=N2.relative($,X).replace(/\.(stx|md)$/,"");if(Y=Y.split(N2.sep).join("/"),Y==="index")return"/";if(Y.endsWith("/index"))Y=Y.slice(0,-6);return Y=Y.replace(/\[\[([^\]]+)\]\]/g,":$1?"),Y=Y.replace(/\[([^\]]+)\]/g,":$1"),Y=Y.replace(/:\.\.\.([^/]+)/g,":$1*"),`/${Y}`}function Q7(X){let $=[],Z="",Y=0;while(Y<X.length){let J=X.slice(Y),G=/^\/:([^/?*]+)\?/.exec(J);if(G){$.push(G[1]),Z+="(?:/([^/]+))?",Y+=G[0].length;continue}let Q=/^:([^/?*]+)\*/.exec(J);if(Q){$.push(Q[1]),Z+="(.+)",Y+=Q[0].length;continue}let q=/^:([^/?*]+)/.exec(J);if(q){$.push(q[1]),Z+="([^/]+)",Y+=q[0].length;continue}Z+=X[Y].replace(/[.+^${}()|[\]\\*?]/g,"\\$&"),Y+=1}return{regex:new RegExp(`^${Z}$`),params:$}}function qX(X,$){let Z=X===""?"/":X;for(let Y of $){let J=Z.match(Y.regex);if(J){let G={};return Y.params.forEach((Q,q)=>{G[Q]=J[q+1]}),{route:Y,params:G}}}return null}function T2(X){let $=X.replace(/\[\[([^\]]+)\]\]/g,":$1?").replace(/\[([^\]]+)\]/g,":$1").replace(/:\.\.\.([^/]+)/g,":$1*");return Q7($)}var L$=()=>{};import HU from"fs";import F$ from"path";function KX(X,$){let Z=[],Y=F$.dirname(X);while(Y.startsWith($)||Y===$){let J=F$.join(Y,"_layout.stx");if(HU.existsSync(J))Z.unshift(J);if(Y===$)break;Y=F$.dirname(Y)}return Z}var V$=()=>{};import A$ from"fs";import H5 from"path";function M2(X,$){let Z=[];if(!A$.existsSync(X))return Z;let Y=A$.readdirSync(X,{withFileTypes:!0});for(let J of Y){let G=H5.join(X,J.name);if(J.isDirectory()){if(J.name.startsWith("."))continue;if($7.includes(J.name))continue;Z.push(...M2(G,$))}else if(J.isFile()){let Q=H5.extname(J.name);if($.includes(Q)){if(J.name.startsWith("_")&&J.name!=="_layout.stx")continue;if(J.name==="_layout.stx")continue;Z.push(G)}}}return Z}class O5{routes;pagesDir;pagesDirs;config;constructor(X,$={}){this.config=$;let Z=$.pagesDirs&&$.pagesDirs.length>0?$.pagesDirs:[$.pagesDir||"pages"];this.pagesDirs=Z.map((Q)=>H5.resolve(X,Q)),this.pagesDir=this.pagesDirs[0];let Y=$.extensions||[".stx"],J=new Set;this.routes=[];for(let Q of this.pagesDirs){let q=M2(Q,Y);for(let K of q){let U=QX(K,Q);if(J.has(U))continue;J.add(U);let{regex:W,params:w}=Q7(U),z=$.layouts!==!1?KX(K,Q):[];this.routes.push({pattern:U,regex:W,params:w,filePath:K,isDynamic:w.length>0,layout:z.length>0?z[z.length-1]:void 0})}}this.routes.sort((Q,q)=>{if(!Q.isDynamic&&q.isDynamic)return-1;if(Q.isDynamic&&!q.isDynamic)return 1;let K=Q.pattern.split("/").length,U=q.pattern.split("/").length;if(K!==U)return U-K;return Q.pattern.localeCompare(q.pattern)});let G=H5.resolve(X,$.stateDir||process.env.STX_DIR?.trim()||".stx");J7(this.routes,G),G7(this.routes,G,this.pagesDir)}match(X){let $=X===""?"/":X;for(let Z of this.routes){let Y=$.match(Z.regex);if(Y){let J={};return Z.params.forEach((G,Q)=>{J[G]=Y[Q+1]}),{route:Z,params:J}}}return null}resolve(X,$){let Z=this.routes.find((J)=>J.pattern===X||J.filePath.includes(X));if(!Z)return"#not-found";let Y=Z.pattern;if($)for(let[J,G]of Object.entries($))Y=Y.replace(`:${J}`,encodeURIComponent(G));return Y}addRoute(X){this.routes.push(X),this.routes.sort(($,Z)=>{if(!$.isDynamic&&Z.isDynamic)return-1;if($.isDynamic&&!Z.isDynamic)return 1;return $.pattern.localeCompare(Z.pattern)})}getLayout(X){return X.layout??null}}function k2(X,$){return new O5(X,$)}function R$(X,$){let Z=[`${$}.stx`,"error.stx"];for(let Y of Z){let J=H5.join(X,Y);if(A$.existsSync(J))return J}return null}function N$(X,$){return X.map((Z)=>{let Y=H5.relative($,Z.filePath),J=Z.isDynamic?" (dynamic)":"";return`${Z.pattern} \u2192 ${Y}${J}`})}var I2=E(()=>{O$();L$();V$();GX()});function T$(X){UX=X.replace(/\/$/,"")}function M$(X,$,Z={}){L5[X]={path:$,name:X,params:Z}}function k$(X){for(let[$,Z]of Object.entries(X))if(typeof Z==="string")L5[$]={path:Z,name:$};else L5[$]={...Z,name:$}}function q7(X,$={},Z=!1){let Y=L5[X];if(!Y)return console.warn(`Route [${X}] not defined.`),"#undefined-route";let J={...Y.params,...$},G=Y.path;G=G.replace(/:(\w+)/g,(q,K)=>{let U=J[K];if(U===void 0)return console.warn(`Missing parameter [${K}] for route [${X}].`),`:${K}`;return delete J[K],encodeURIComponent(String(U))});let Q=Object.entries(J);if(Q.length>0){let q=Q.map(([K,U])=>`${encodeURIComponent(K)}=${encodeURIComponent(String(U))}`).join("&");G+=(G.includes("?")?"&":"?")+q}return Z&&UX?`${UX}${G}`:G}function I$(){for(let X of Object.keys(L5))delete L5[X];UX=""}var L5,UX="";var E2=E(()=>{L5={}});import D2 from"fs";import y2 from"path";function b2(X,$={}){return{type:"redirect",path:X,options:{replace:$.replace??!1,external:$.external??!1,redirectCode:$.redirectCode??302}}}function S2(X){return{type:"abort",error:typeof X==="string"?{statusCode:500,message:X}:X}}function C2(X,$={}){return{handler:X,mode:$.mode??"universal"}}function E$(X){let $={};if(!X)return $;let Z=X.split(";");for(let Y of Z){let[J,...G]=Y.split("=");if(J){let Q=J.trim(),q=G.join("=").trim();if(Q)$[Q]=decodeURIComponent(q)}}return $}function WX(X,$,Z={}){let Y=`${encodeURIComponent(X)}=${encodeURIComponent($)}`;if(Z.expires){let J=typeof Z.expires==="number"?new Date(Date.now()+Z.expires*1000):Z.expires;Y+=`; Expires=${J.toUTCString()}`}if(Z.path)Y+=`; Path=${Z.path}`;if(Z.domain)Y+=`; Domain=${Z.domain}`;if(Z.secure)Y+="; Secure";if(Z.httpOnly)Y+="; HttpOnly";if(Z.sameSite)Y+=`; SameSite=${Z.sameSite}`;return Y}function D$(X,$){let Z=X.headers.get("cookie")||"",Y=E$(Z);return{get(J){return Y[J]},set(J,G,Q={}){Y[J]=G,$.append("Set-Cookie",WX(J,G,Q))},delete(J){delete Y[J],$.append("Set-Cookie",WX(J,"",{expires:new Date(0),path:"/"}))},getAll(){return{...Y}}}}function y$(){return{get(X){if(typeof document>"u")return;return E$(document.cookie)[X]},set(X,$,Z={}){if(typeof document>"u")return;document.cookie=WX(X,$,Z)},delete(X){if(typeof document>"u")return;document.cookie=WX(X,"",{expires:new Date(0),path:"/"})},getAll(){if(typeof document>"u")return{};return E$(document.cookie)}}}function b$(){let X=typeof window<"u"&&typeof window.localStorage<"u";return{get($){if(!X)return null;try{return window.localStorage.getItem($)}catch{return null}},set($,Z){if(!X)return;try{window.localStorage.setItem($,Z)}catch{}},remove($){if(!X)return;try{window.localStorage.removeItem($)}catch{}},isAvailable(){return X}}}function wX(X,$){K7.set(X,$)}function S$(X){return K7.get(X)}function P2(X){return K7.has(X)}function v2(){K7.clear()}function x2(){return Array.from(K7.keys())}async function f2(X,$="middleware"){let Z=y2.resolve(X,$);if(!D2.existsSync(Z))return;let Y=D2.readdirSync(Z);for(let J of Y){if(!J.endsWith(".ts")&&!J.endsWith(".js"))continue;if(J.includes(".test.")||J.includes(".spec."))continue;let G=J.replace(/\.(ts|js)$/,""),Q=y2.join(Z,J);try{let K=(await import(Q)).default;if(K&&typeof K.handler==="function")wX(G,K);else if(typeof K==="function")wX(G,{handler:K,mode:"universal"})}catch(q){console.warn(`Failed to load middleware '${G}' from ${Q}:`,q)}}}function OU(X){let $={};if(!X)return $;let Z=new URLSearchParams(X);for(let[Y,J]of Z)$[Y]=J;return $}function g2(X,$,Z,Y=""){return{path:X,params:$,query:OU(Y),fullPath:Y?`${X}?${Y}`:X,meta:Z}}function h2(X,$,Z,Y){let J=Y?.isServer??typeof window>"u",G=!J,Q=new Headers;return{to:X,from:$,isClient:G,isServer:J,cookies:J&&Z?D$(Z,Q):y$(),storage:b$(),state:{},request:Z,responseHeaders:Q}}async function u2(X,$){let Z=Array.isArray(X)?X:[X],Y=$.isServer;for(let J of Z){let G=S$(J);if(!G)return console.error(`Route middleware '${J}' is not registered \u2014 failing the guard closed.`),{passed:!1,abort:{type:"abort",error:{statusCode:500,message:`Route middleware '${J}' is not registered`}},state:$.state,responseHeaders:$.responseHeaders};if(G.mode==="server"&&!Y)continue;try{let Q=await G.handler($);if(Q){if(Q.type==="redirect")return{passed:!1,redirect:Q,state:$.state,responseHeaders:$.responseHeaders};if(Q.type==="abort")return{passed:!1,abort:Q,state:$.state,responseHeaders:$.responseHeaders}}}catch(Q){return console.error(`Error in middleware '${J}':`,Q),{passed:!1,abort:{type:"abort",error:{statusCode:500,message:Q instanceof Error?Q.message:"Middleware error"}},state:$.state,responseHeaders:$.responseHeaders}}}return{passed:!0,state:$.state,responseHeaders:$.responseHeaders}}var K7;var d2=E(()=>{K7=new Map});function U7(X){let Z=X.replace(/\\/g,"/").split("/").filter(Boolean),Y=Z.lastIndexOf("layouts"),J=Y>=0?Z[Y+1]:Z.at(-1);if(!J)return"app";return J.replace(/\.stx$/i,"")||"app"}function m2(X){let $=X.match(/<meta\b[^>]*name=["']stx-layout["'][^>]*content=["']([^"']+)["'][^>]*>/i),Z=X.match(/<meta\b[^>]*name=["']stx-layout-group["'][^>]*content=["']([^"']+)["'][^>]*>/i),Y=X.match(/<!--\s*stx-layout:\s*([^ ]+)\s*-->/i),J=$?.[1]||Y?.[1]||"";return{layout:J,group:Z?.[1]||U7(J)}}function LU(X){try{return new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync(X).replace(/\}(var |let |const |function )/g,"};$1").trim()}catch{return X}}function W7(){if(zX)return zX;return zX=LU(`
1432
+ `))}var O$=E(()=>{GX()});import T2 from"path";function QX(X,$){let Y=T2.relative($,X).replace(/\.(stx|md)$/,"");if(Y=Y.split(T2.sep).join("/"),Y==="index")return"/";if(Y.endsWith("/index"))Y=Y.slice(0,-6);return Y=Y.replace(/\[\[([^\]]+)\]\]/g,":$1?"),Y=Y.replace(/\[([^\]]+)\]/g,":$1"),Y=Y.replace(/:\.\.\.([^/]+)/g,":$1*"),`/${Y}`}function Q7(X){let $=[],Z="",Y=0;while(Y<X.length){let J=X.slice(Y),G=/^\/:([^/?*]+)\?/.exec(J);if(G){$.push(G[1]),Z+="(?:/([^/]+))?",Y+=G[0].length;continue}let Q=/^:([^/?*]+)\*/.exec(J);if(Q){$.push(Q[1]),Z+="(.+)",Y+=Q[0].length;continue}let q=/^:([^/?*]+)/.exec(J);if(q){$.push(q[1]),Z+="([^/]+)",Y+=q[0].length;continue}Z+=X[Y].replace(/[.+^${}()|[\]\\*?]/g,"\\$&"),Y+=1}return{regex:new RegExp(`^${Z}$`),params:$}}function qX(X,$){let Z=X===""?"/":X;for(let Y of $){let J=Z.match(Y.regex);if(J){let G={};return Y.params.forEach((Q,q)=>{G[Q]=J[q+1]}),{route:Y,params:G}}}return null}function N2(X){let $=X.replace(/\[\[([^\]]+)\]\]/g,":$1?").replace(/\[([^\]]+)\]/g,":$1").replace(/:\.\.\.([^/]+)/g,":$1*");return Q7($)}var L$=()=>{};import HU from"fs";import F$ from"path";function KX(X,$){let Z=[],Y=F$.dirname(X);while(Y.startsWith($)||Y===$){let J=F$.join(Y,"_layout.stx");if(HU.existsSync(J))Z.unshift(J);if(Y===$)break;Y=F$.dirname(Y)}return Z}var V$=()=>{};import A$ from"fs";import H5 from"path";function M2(X,$){let Z=[];if(!A$.existsSync(X))return Z;let Y=A$.readdirSync(X,{withFileTypes:!0});for(let J of Y){let G=H5.join(X,J.name);if(J.isDirectory()){if(J.name.startsWith("."))continue;if($7.includes(J.name))continue;Z.push(...M2(G,$))}else if(J.isFile()){let Q=H5.extname(J.name);if($.includes(Q)){if(J.name.startsWith("_")&&J.name!=="_layout.stx")continue;if(J.name==="_layout.stx")continue;Z.push(G)}}}return Z}class O5{routes;pagesDir;pagesDirs;config;constructor(X,$={}){this.config=$;let Z=$.pagesDirs&&$.pagesDirs.length>0?$.pagesDirs:[$.pagesDir||"pages"];this.pagesDirs=Z.map((Q)=>H5.resolve(X,Q)),this.pagesDir=this.pagesDirs[0];let Y=$.extensions||[".stx"],J=new Set;this.routes=[];for(let Q of this.pagesDirs){let q=M2(Q,Y);for(let K of q){let U=QX(K,Q);if(J.has(U))continue;J.add(U);let{regex:W,params:w}=Q7(U),z=$.layouts!==!1?KX(K,Q):[];this.routes.push({pattern:U,regex:W,params:w,filePath:K,isDynamic:w.length>0,layout:z.length>0?z[z.length-1]:void 0})}}this.routes.sort((Q,q)=>{if(!Q.isDynamic&&q.isDynamic)return-1;if(Q.isDynamic&&!q.isDynamic)return 1;let K=Q.pattern.split("/").length,U=q.pattern.split("/").length;if(K!==U)return U-K;return Q.pattern.localeCompare(q.pattern)});let G=H5.resolve(X,$.stateDir||process.env.STX_DIR?.trim()||".stx");J7(this.routes,G),G7(this.routes,G,this.pagesDir)}match(X){let $=X===""?"/":X;for(let Z of this.routes){let Y=$.match(Z.regex);if(Y){let J={};return Z.params.forEach((G,Q)=>{J[G]=Y[Q+1]}),{route:Z,params:J}}}return null}resolve(X,$){let Z=this.routes.find((J)=>J.pattern===X||J.filePath.includes(X));if(!Z)return"#not-found";let Y=Z.pattern;if($)for(let[J,G]of Object.entries($))Y=Y.replace(`:${J}`,encodeURIComponent(G));return Y}addRoute(X){this.routes.push(X),this.routes.sort(($,Z)=>{if(!$.isDynamic&&Z.isDynamic)return-1;if($.isDynamic&&!Z.isDynamic)return 1;return $.pattern.localeCompare(Z.pattern)})}getLayout(X){return X.layout??null}}function k2(X,$){return new O5(X,$)}function R$(X,$){let Z=[`${$}.stx`,"error.stx"];for(let Y of Z){let J=H5.join(X,Y);if(A$.existsSync(J))return J}return null}function T$(X,$){return X.map((Z)=>{let Y=H5.relative($,Z.filePath),J=Z.isDynamic?" (dynamic)":"";return`${Z.pattern} \u2192 ${Y}${J}`})}var I2=E(()=>{O$();L$();V$();GX()});function N$(X){UX=X.replace(/\/$/,"")}function M$(X,$,Z={}){L5[X]={path:$,name:X,params:Z}}function k$(X){for(let[$,Z]of Object.entries(X))if(typeof Z==="string")L5[$]={path:Z,name:$};else L5[$]={...Z,name:$}}function q7(X,$={},Z=!1){let Y=L5[X];if(!Y)return console.warn(`Route [${X}] not defined.`),"#undefined-route";let J={...Y.params,...$},G=Y.path;G=G.replace(/:(\w+)/g,(q,K)=>{let U=J[K];if(U===void 0)return console.warn(`Missing parameter [${K}] for route [${X}].`),`:${K}`;return delete J[K],encodeURIComponent(String(U))});let Q=Object.entries(J);if(Q.length>0){let q=Q.map(([K,U])=>`${encodeURIComponent(K)}=${encodeURIComponent(String(U))}`).join("&");G+=(G.includes("?")?"&":"?")+q}return Z&&UX?`${UX}${G}`:G}function I$(){for(let X of Object.keys(L5))delete L5[X];UX=""}var L5,UX="";var E2=E(()=>{L5={}});import D2 from"fs";import y2 from"path";function b2(X,$={}){return{type:"redirect",path:X,options:{replace:$.replace??!1,external:$.external??!1,redirectCode:$.redirectCode??302}}}function S2(X){return{type:"abort",error:typeof X==="string"?{statusCode:500,message:X}:X}}function C2(X,$={}){return{handler:X,mode:$.mode??"universal"}}function E$(X){let $={};if(!X)return $;let Z=X.split(";");for(let Y of Z){let[J,...G]=Y.split("=");if(J){let Q=J.trim(),q=G.join("=").trim();if(Q)$[Q]=decodeURIComponent(q)}}return $}function WX(X,$,Z={}){let Y=`${encodeURIComponent(X)}=${encodeURIComponent($)}`;if(Z.expires){let J=typeof Z.expires==="number"?new Date(Date.now()+Z.expires*1000):Z.expires;Y+=`; Expires=${J.toUTCString()}`}if(Z.path)Y+=`; Path=${Z.path}`;if(Z.domain)Y+=`; Domain=${Z.domain}`;if(Z.secure)Y+="; Secure";if(Z.httpOnly)Y+="; HttpOnly";if(Z.sameSite)Y+=`; SameSite=${Z.sameSite}`;return Y}function D$(X,$){let Z=X.headers.get("cookie")||"",Y=E$(Z);return{get(J){return Y[J]},set(J,G,Q={}){Y[J]=G,$.append("Set-Cookie",WX(J,G,Q))},delete(J){delete Y[J],$.append("Set-Cookie",WX(J,"",{expires:new Date(0),path:"/"}))},getAll(){return{...Y}}}}function y$(){return{get(X){if(typeof document>"u")return;return E$(document.cookie)[X]},set(X,$,Z={}){if(typeof document>"u")return;document.cookie=WX(X,$,Z)},delete(X){if(typeof document>"u")return;document.cookie=WX(X,"",{expires:new Date(0),path:"/"})},getAll(){if(typeof document>"u")return{};return E$(document.cookie)}}}function b$(){let X=typeof window<"u"&&typeof window.localStorage<"u";return{get($){if(!X)return null;try{return window.localStorage.getItem($)}catch{return null}},set($,Z){if(!X)return;try{window.localStorage.setItem($,Z)}catch{}},remove($){if(!X)return;try{window.localStorage.removeItem($)}catch{}},isAvailable(){return X}}}function wX(X,$){K7.set(X,$)}function S$(X){return K7.get(X)}function P2(X){return K7.has(X)}function v2(){K7.clear()}function x2(){return Array.from(K7.keys())}async function f2(X,$="middleware"){let Z=y2.resolve(X,$);if(!D2.existsSync(Z))return;let Y=D2.readdirSync(Z);for(let J of Y){if(!J.endsWith(".ts")&&!J.endsWith(".js"))continue;if(J.includes(".test.")||J.includes(".spec."))continue;let G=J.replace(/\.(ts|js)$/,""),Q=y2.join(Z,J);try{let K=(await import(Q)).default;if(K&&typeof K.handler==="function")wX(G,K);else if(typeof K==="function")wX(G,{handler:K,mode:"universal"})}catch(q){console.warn(`Failed to load middleware '${G}' from ${Q}:`,q)}}}function OU(X){let $={};if(!X)return $;let Z=new URLSearchParams(X);for(let[Y,J]of Z)$[Y]=J;return $}function g2(X,$,Z,Y=""){return{path:X,params:$,query:OU(Y),fullPath:Y?`${X}?${Y}`:X,meta:Z}}function h2(X,$,Z,Y){let J=Y?.isServer??typeof window>"u",G=!J,Q=new Headers;return{to:X,from:$,isClient:G,isServer:J,cookies:J&&Z?D$(Z,Q):y$(),storage:b$(),state:{},request:Z,responseHeaders:Q}}async function u2(X,$){let Z=Array.isArray(X)?X:[X],Y=$.isServer;for(let J of Z){let G=S$(J);if(!G)return console.error(`Route middleware '${J}' is not registered \u2014 failing the guard closed.`),{passed:!1,abort:{type:"abort",error:{statusCode:500,message:`Route middleware '${J}' is not registered`}},state:$.state,responseHeaders:$.responseHeaders};if(G.mode==="server"&&!Y)continue;try{let Q=await G.handler($);if(Q){if(Q.type==="redirect")return{passed:!1,redirect:Q,state:$.state,responseHeaders:$.responseHeaders};if(Q.type==="abort")return{passed:!1,abort:Q,state:$.state,responseHeaders:$.responseHeaders}}}catch(Q){return console.error(`Error in middleware '${J}':`,Q),{passed:!1,abort:{type:"abort",error:{statusCode:500,message:Q instanceof Error?Q.message:"Middleware error"}},state:$.state,responseHeaders:$.responseHeaders}}}return{passed:!0,state:$.state,responseHeaders:$.responseHeaders}}var K7;var d2=E(()=>{K7=new Map});function U7(X){let Z=X.replace(/\\/g,"/").split("/").filter(Boolean),Y=Z.lastIndexOf("layouts"),J=Y>=0?Z[Y+1]:Z.at(-1);if(!J)return"app";return J.replace(/\.stx$/i,"")||"app"}function m2(X){let $=X.match(/<meta\b[^>]*name=["']stx-layout["'][^>]*content=["']([^"']+)["'][^>]*>/i),Z=X.match(/<meta\b[^>]*name=["']stx-layout-group["'][^>]*content=["']([^"']+)["'][^>]*>/i),Y=X.match(/<!--\s*stx-layout:\s*([^ ]+)\s*-->/i),J=$?.[1]||Y?.[1]||"";return{layout:J,group:Z?.[1]||U7(J)}}function LU(X){try{return new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync(X).replace(/\}(var |let |const |function )/g,"};$1").trim()}catch{return X}}function W7(){if(zX)return zX;return zX=LU(`
1433
1433
  ;(function(){
1434
1434
  'use strict';
1435
1435
  var ROUTER_REV=7;
@@ -3079,7 +3079,7 @@ else {
3079
3079
 
3080
3080
  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();
3081
3081
  })();
3082
- `),zX}var zX;var l2={};n(l2,{setAppUrl:()=>T$,runMiddleware:()=>u2,route:()=>q7,resolveLayoutChain:()=>KX,resetRoutes:()=>I$,registerMiddleware:()=>wX,patternToRegex:()=>Q7,navigateTo:()=>b2,matchRoute:()=>qX,loadMiddlewareFromDirectory:()=>f2,isNonPageRoutePattern:()=>Z7,isNonPageRoutePath:()=>H$,hasMiddleware:()=>P2,getRouterScript:()=>W7,getMiddlewareNames:()=>x2,getMiddleware:()=>S$,generateRouteTypes:()=>J7,generateRouteManifest:()=>G7,formatRoutes:()=>N$,findErrorPage:()=>R$,filePathToPattern:()=>QX,extractLayoutMetadata:()=>m2,deriveLayoutGroup:()=>U7,defineRoutes:()=>k$,defineRoute:()=>M$,defineMiddleware:()=>C2,createStorageManager:()=>b$,createServerCookieManager:()=>D$,createRouter:()=>k2,createRouteLocation:()=>g2,createMiddlewareContext:()=>h2,createClientCookieManager:()=>y$,clearMiddleware:()=>v2,bracketPathToRegex:()=>T2,abortNavigation:()=>S2,Router:()=>O5,NON_PAGE_DIRS:()=>$7});var g1=E(()=>{I2();L$();E2();d2();V$();O$();GX()});var c2=E(()=>{g1();C$()});async function FU(X,$,Z,Y){let J=$[0]?.replace(/['"]/g,"")||"main",G=W7();if(J!=="main")G=G.replace("container:'main'",`container:'${J}'`);return`<script data-stx-router>${G}</script>`}var p2;var C$=E(()=>{c2();p2={name:"stxRouter",handler:FU,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"}});function i2(X){let $=X.heatmap;if(!$?.enabled)return"";let Z={...VU,...$};return`
3082
+ `),zX}var zX;var l2={};n(l2,{setAppUrl:()=>N$,runMiddleware:()=>u2,route:()=>q7,resolveLayoutChain:()=>KX,resetRoutes:()=>I$,registerMiddleware:()=>wX,patternToRegex:()=>Q7,navigateTo:()=>b2,matchRoute:()=>qX,loadMiddlewareFromDirectory:()=>f2,isNonPageRoutePattern:()=>Z7,isNonPageRoutePath:()=>H$,hasMiddleware:()=>P2,getRouterScript:()=>W7,getMiddlewareNames:()=>x2,getMiddleware:()=>S$,generateRouteTypes:()=>J7,generateRouteManifest:()=>G7,formatRoutes:()=>T$,findErrorPage:()=>R$,filePathToPattern:()=>QX,extractLayoutMetadata:()=>m2,deriveLayoutGroup:()=>U7,defineRoutes:()=>k$,defineRoute:()=>M$,defineMiddleware:()=>C2,createStorageManager:()=>b$,createServerCookieManager:()=>D$,createRouter:()=>k2,createRouteLocation:()=>g2,createMiddlewareContext:()=>h2,createClientCookieManager:()=>y$,clearMiddleware:()=>v2,bracketPathToRegex:()=>N2,abortNavigation:()=>S2,Router:()=>O5,NON_PAGE_DIRS:()=>$7});var g1=E(()=>{I2();L$();E2();d2();V$();O$();GX()});var c2=E(()=>{g1();C$()});async function FU(X,$,Z,Y){let J=$[0]?.replace(/['"]/g,"")||"main",G=W7();if(J!=="main")G=G.replace("container:'main'",`container:'${J}'`);return`<script data-stx-router>${G}</script>`}var p2;var C$=E(()=>{c2();p2={name:"stxRouter",handler:FU,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"}});function i2(X){let $=X.heatmap;if(!$?.enabled)return"";let Z={...VU,...$};return`
3083
3083
  <!-- stx Heatmap - Privacy-Compliant Tracking -->
3084
3084
  <script>
3085
3085
  (function() {
@@ -3480,7 +3480,7 @@ ${_}
3480
3480
  `:`
3481
3481
  `)}</p>`);if(J=q.join(`
3482
3482
  `),Y)J=J.replace(/\n/g,`<br />
3483
- `);for(let W=0;W<G.length;W++)J=J.replace(`\x00CODEBLOCK${W}\x00`,G[W]);return J=J.replace(/<p>\s*<\/p>/g,""),J.trim()}function F5(X="const",$=[],Z){let Y=$.length?U1.filter((J)=>!$.includes(J)):U1;if(Z!==void 0)Y=Y.filter((J)=>{let G=J.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(^|[^\\w$])${G}(?![\\w$])`).test(Z)});return`${X} { ${Y.join(", ")} } = window.stx;`}function v$(X){if(!X)return!1;return NU.some(($)=>new RegExp(`\\b${$}\\s*(?:<[^>]*>)?\\s*\\(`).test(X))}function x$(X){if(!X)return!1;let $=Z6(X);if(TU.some((Z)=>Z.test($)))return!0;return v$($)}function t2(X){if(!X)return!1;return MU.test(Z6(X))||x$(X)}function $6(){return`{${e2.map((X)=>`'${X}':1`).join(",")}}`}function Z6(X){if(!X)return X;let $=(Z)=>Z.replace(/(<[^>]*>)|([^<]+)/g,(Y,J,G)=>J??" ".repeat(G.length));return X.replace(/(<pre\b[^>]*>)([\s\S]*?)(<\/pre>)/gi,(Z,Y,J,G)=>Y+$(J)+G).replace(/(<code\b[^>]*>)([\s\S]*?)(<\/code>)/gi,(Z,Y,J,G)=>Y+$(J)+G).replace(/<!--[\s\S]*?-->/g,(Z)=>" ".repeat(Z.length))}var U1,a2,RU,NU,TU,MU,e2,kU,X6;var e0=E(()=>{U1=["batch","computed","configureFetch","defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","defineStore","derived","effect","goBack","goForward","inject","invalidateRoute","isDerived","isSignal","navigate","nextTick","onBeforeMount","onBeforeUnmount","onDestroy","onMount","onMounted","onUnmounted","peek","provide","reactive","ref","refresh","registerStoresClient","setRouteParams","state","untrack","useAsync","useClickOutside","useColorMode","useCookie","useCounter","useDark","useDebounce","useDebouncedValue","useEventListener","useFetch","useFocus","useHead","useId","useInterval","useLocalStorage","useMediaQuery","useMutation","useOptimistic","usePreferredContrast","usePreferredDark","usePreferredLight","usePreferredReducedMotion","useQuery","useReactiveProp","useRef","useRoute","useRouteParam","useRouteParams","useScrollLock","useSearchParams","useSeoMeta","useSessionStorage","useSlots","useStore","useThrottle","useTimeout","useToggle","useWebSocket","watch","watchEffect","watchMultiple","withDefaults"],a2=["onMount","onDestroy"];RU=["defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","withDefaults"],NU=U1.filter((X)=>!RU.includes(X));TU=[/@if\s*=/,/@for\s*=/,/@show\s*=/,/@model\s*=/,/@bind:/,/@class\s*=/,/@style\s*=/,/\bx-data\s*=/,/\bstate\s*(?:<[^>]*>)?\s*\(/,/\bderived\s*(?:<[^>]*>)?\s*\(/,/\beffect\s*(?:<[^>]*>)?\s*\(/,/\bref\s*(?:<[^>]*>)?\s*\(/,/\bcomputed\s*(?:<[^>]*>)?\s*\(/,/\breactive\s*(?:<[^>]*>)?\s*\(/,/\bwatch\s*(?:<[^>]*>)?\s*\(/,/\bwatchEffect\s*(?:<[^>]*>)?\s*\(/,/\s:[a-z][\w-]*\s*=\s*["']/i,/\s:(?:if|else-if|else|for|show|text|html|model)\s*=/,/data-stx(?:-auto)?(?![-\w])/,/data-stx-scoped/],MU=/\s@[a-z][\w.:-]*\s*=/i;e2=["x-text","x-html","x-model","x-show","x-if","x-for","x-cloak","x-ref","x-data","x-bind","x-class","x-style","x-tooltip","x-tooltip-position"],kU=["x-init","x-transition","x-effect","x-on"],X6=[...e2,...kU]});function G6(X){let $={prevent:!1,stop:!1,once:!1,capture:!1,self:!1,passive:!1,keys:[],systemKeys:[],mouse:null,debounce:null,throttle:null};for(let Z of X){let Y=Z.toLowerCase();if(Y==="prevent")$.prevent=!0;else if(Y==="stop")$.stop=!0;else if(Y==="once")$.once=!0;else if(Y==="capture")$.capture=!0;else if(Y==="self")$.self=!0;else if(Y==="passive")$.passive=!0;else if(IU.has(Y))$.systemKeys.push(Y);else if(Y in Q6)$.mouse=Y;else if(Y in J6||/^[a-z]$/.test(Y))$.keys.push(J6[Y]||Y.toUpperCase());else if(Y.startsWith("debounce")){let J=Y.match(/debounce(?:\.(\d+))?/);$.debounce=J?.[1]?Number.parseInt(J[1],10):300}else if(Y.startsWith("throttle")){let J=Y.match(/throttle(?:\.(\d+))?/);$.throttle=J?.[1]?Number.parseInt(J[1],10):300}}return $}function q6(X){let $=[],Z=0,Y=/<([a-z][a-z0-9-]*)\s+([^>]*@[a-z][^>]*)>/gi,J;while((J=Y.exec(X))!==null){let[G,Q,q]=J,K=J.index,U=K+G.length,W=`__stx_evt_${Z++}`,w=[],z=/@([a-z][a-z0-9.]*)\s*=\s*"([^"]*)"/gi,B;while((B=z.exec(q))!==null){let[,_,H]=B,L=_.split("."),O=L[0];if(!Y6.has(O))continue;w.push({attribute:`@${_}`,event:O,handler:H,modifiers:G6(L.slice(1)),elementId:W})}let j=/@([a-z][a-z0-9.]*)\s*=\s*'([^']*)'/gi;while((B=j.exec(q))!==null){let[,_,H]=B,L=_.split("."),O=L[0];if(!Y6.has(O))continue;w.push({attribute:`@${_}`,event:O,handler:H,modifiers:G6(L.slice(1)),elementId:W})}if(w.length>0)$.push({originalTag:G,elementId:W,events:w,startIndex:K,endIndex:U})}return $}function EU(X){let $=[],{modifiers:Z}=X;if(Z.self)$.push("if ($event.target !== $el) return");for(let Y of Z.systemKeys)$.push(`if (!$event.${Y}Key) return`);if(Z.keys.length>0){let Y=Z.keys.map((J)=>`$event.key === '${J}'`).join(" || ");$.push(`if (!(${Y})) return`)}if(Z.mouse!==null){let Y=Q6[Z.mouse];$.push(`if ($event.button !== ${Y}) return`)}if(Z.prevent)$.push("$event.preventDefault()");if(Z.stop)$.push("$event.stopPropagation()");return $.join("; ")}function DU(X,$){let Z=X;if($.debounce!==null)Z=`__stx_debounce(() => { ${Z} }, ${$.debounce})`;else if($.throttle!==null)Z=`__stx_throttle(() => { ${Z} }, ${$.throttle})`;return Z}function f$(X){let $=X.trim();if(!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test($))return X;return`if (typeof ${$} === 'function' && !${$}._isSignal) ${$}($event);`}function yU(X){let{modifiers:$}=X,Z=X.elementId.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),Y=EU(X),J=DU(f$(X.handler),$),G=[];if($.once)G.push("once: true");if($.capture)G.push("capture: true");if($.passive)G.push("passive: true");let Q=G.length>0?`, { ${G.join(", ")} }`:"",q=J.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t");if(X.event==="mounted")return`
3483
+ `);for(let W=0;W<G.length;W++)J=J.replace(`\x00CODEBLOCK${W}\x00`,G[W]);return J=J.replace(/<p>\s*<\/p>/g,""),J.trim()}function F5(X="const",$=[],Z){let Y=$.length?U1.filter((J)=>!$.includes(J)):U1;if(Z!==void 0)Y=Y.filter((J)=>{let G=J.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(^|[^\\w$])${G}(?![\\w$])`).test(Z)});return`${X} { ${Y.join(", ")} } = window.stx;`}function v$(X){if(!X)return!1;return TU.some(($)=>new RegExp(`\\b${$}\\s*(?:<[^>]*>)?\\s*\\(`).test(X))}function x$(X){if(!X)return!1;let $=Z6(X);if(NU.some((Z)=>Z.test($)))return!0;return v$($)}function t2(X){if(!X)return!1;return MU.test(Z6(X))||x$(X)}function $6(){return`{${e2.map((X)=>`'${X}':1`).join(",")}}`}function Z6(X){if(!X)return X;let $=(Z)=>Z.replace(/(<[^>]*>)|([^<]+)/g,(Y,J,G)=>J??" ".repeat(G.length));return X.replace(/(<pre\b[^>]*>)([\s\S]*?)(<\/pre>)/gi,(Z,Y,J,G)=>Y+$(J)+G).replace(/(<code\b[^>]*>)([\s\S]*?)(<\/code>)/gi,(Z,Y,J,G)=>Y+$(J)+G).replace(/<!--[\s\S]*?-->/g,(Z)=>" ".repeat(Z.length))}var U1,a2,RU,TU,NU,MU,e2,kU,X6;var X1=E(()=>{U1=["batch","computed","configureFetch","defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","defineStore","derived","effect","goBack","goForward","inject","invalidateRoute","isDerived","isSignal","navigate","nextTick","onBeforeMount","onBeforeUnmount","onDestroy","onMount","onMounted","onUnmounted","peek","provide","reactive","ref","refresh","registerStoresClient","setRouteParams","state","untrack","useAsync","useClickOutside","useColorMode","useCookie","useCounter","useDark","useDebounce","useDebouncedValue","useEventListener","useFetch","useFocus","useHead","useId","useInterval","useLocalStorage","useMediaQuery","useMutation","useOptimistic","usePreferredContrast","usePreferredDark","usePreferredLight","usePreferredReducedMotion","useQuery","useReactiveProp","useRef","useRoute","useRouteParam","useRouteParams","useScrollLock","useSearchParams","useSeoMeta","useSessionStorage","useSlots","useStore","useThrottle","useTimeout","useToggle","useWebSocket","watch","watchEffect","watchMultiple","withDefaults"],a2=["onMount","onDestroy"];RU=["defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","withDefaults"],TU=U1.filter((X)=>!RU.includes(X));NU=[/@if\s*=/,/@for\s*=/,/@show\s*=/,/@model\s*=/,/@bind:/,/@class\s*=/,/@style\s*=/,/\bx-data\s*=/,/\bstate\s*(?:<[^>]*>)?\s*\(/,/\bderived\s*(?:<[^>]*>)?\s*\(/,/\beffect\s*(?:<[^>]*>)?\s*\(/,/\bref\s*(?:<[^>]*>)?\s*\(/,/\bcomputed\s*(?:<[^>]*>)?\s*\(/,/\breactive\s*(?:<[^>]*>)?\s*\(/,/\bwatch\s*(?:<[^>]*>)?\s*\(/,/\bwatchEffect\s*(?:<[^>]*>)?\s*\(/,/\s:[a-z][\w-]*\s*=\s*["']/i,/\s:(?:if|else-if|else|for|show|text|html|model)\s*=/,/data-stx(?:-auto)?(?![-\w])/,/data-stx-scoped/],MU=/\s@[a-z][\w.:-]*\s*=/i;e2=["x-text","x-html","x-model","x-show","x-if","x-for","x-cloak","x-ref","x-data","x-bind","x-class","x-style","x-tooltip","x-tooltip-position"],kU=["x-init","x-transition","x-effect","x-on"],X6=[...e2,...kU]});function G6(X){let $={prevent:!1,stop:!1,once:!1,capture:!1,self:!1,passive:!1,keys:[],systemKeys:[],mouse:null,debounce:null,throttle:null};for(let Z of X){let Y=Z.toLowerCase();if(Y==="prevent")$.prevent=!0;else if(Y==="stop")$.stop=!0;else if(Y==="once")$.once=!0;else if(Y==="capture")$.capture=!0;else if(Y==="self")$.self=!0;else if(Y==="passive")$.passive=!0;else if(IU.has(Y))$.systemKeys.push(Y);else if(Y in Q6)$.mouse=Y;else if(Y in J6||/^[a-z]$/.test(Y))$.keys.push(J6[Y]||Y.toUpperCase());else if(Y.startsWith("debounce")){let J=Y.match(/debounce(?:\.(\d+))?/);$.debounce=J?.[1]?Number.parseInt(J[1],10):300}else if(Y.startsWith("throttle")){let J=Y.match(/throttle(?:\.(\d+))?/);$.throttle=J?.[1]?Number.parseInt(J[1],10):300}}return $}function q6(X){let $=[],Z=0,Y=/<([a-z][a-z0-9-]*)\s+([^>]*@[a-z][^>]*)>/gi,J;while((J=Y.exec(X))!==null){let[G,Q,q]=J,K=J.index,U=K+G.length,W=`__stx_evt_${Z++}`,w=[],z=/@([a-z][a-z0-9.]*)\s*=\s*"([^"]*)"/gi,B;while((B=z.exec(q))!==null){let[,_,H]=B,L=_.split("."),O=L[0];if(!Y6.has(O))continue;w.push({attribute:`@${_}`,event:O,handler:H,modifiers:G6(L.slice(1)),elementId:W})}let j=/@([a-z][a-z0-9.]*)\s*=\s*'([^']*)'/gi;while((B=j.exec(q))!==null){let[,_,H]=B,L=_.split("."),O=L[0];if(!Y6.has(O))continue;w.push({attribute:`@${_}`,event:O,handler:H,modifiers:G6(L.slice(1)),elementId:W})}if(w.length>0)$.push({originalTag:G,elementId:W,events:w,startIndex:K,endIndex:U})}return $}function EU(X){let $=[],{modifiers:Z}=X;if(Z.self)$.push("if ($event.target !== $el) return");for(let Y of Z.systemKeys)$.push(`if (!$event.${Y}Key) return`);if(Z.keys.length>0){let Y=Z.keys.map((J)=>`$event.key === '${J}'`).join(" || ");$.push(`if (!(${Y})) return`)}if(Z.mouse!==null){let Y=Q6[Z.mouse];$.push(`if ($event.button !== ${Y}) return`)}if(Z.prevent)$.push("$event.preventDefault()");if(Z.stop)$.push("$event.stopPropagation()");return $.join("; ")}function DU(X,$){let Z=X;if($.debounce!==null)Z=`__stx_debounce(() => { ${Z} }, ${$.debounce})`;else if($.throttle!==null)Z=`__stx_throttle(() => { ${Z} }, ${$.throttle})`;return Z}function f$(X){let $=X.trim();if(!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test($))return X;return`if (typeof ${$} === 'function' && !${$}._isSignal) ${$}($event);`}function yU(X){let{modifiers:$}=X,Z=X.elementId.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),Y=EU(X),J=DU(f$(X.handler),$),G=[];if($.once)G.push("once: true");if($.capture)G.push("capture: true");if($.passive)G.push("passive: true");let Q=G.length>0?`, { ${G.join(", ")} }`:"",q=J.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t");if(X.event==="mounted")return`
3484
3484
  (function() {
3485
3485
  var $el = document.getElementById('${Z}');
3486
3486
  if (!$el) return;
@@ -3593,40 +3593,40 @@ else {
3593
3593
  `)}
3594
3594
  })();
3595
3595
  </script>`}function bU(X){let $=q6(X);if($.length===0)return{template:X,bindings:[]};let Z=X,Y=[];for(let J=$.length-1;J>=0;J--){let G=$[J],Q=G.originalTag;if(!Q.includes(" id="))Q=Q.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${G.elementId}"`);else{let q=Q.match(/id=["']([^"']+)["']/);if(q)for(let K of G.events)K.elementId=q[1]}for(let q of G.events){let K=q.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),U=new RegExp(`\\s*${K}\\s*=\\s*"[^"]*"`,"g"),W=new RegExp(`\\s*${K}\\s*=\\s*'[^']*'`,"g");Q=Q.replace(U,""),Q=Q.replace(W,"")}Z=Z.slice(0,G.startIndex)+Q+Z.slice(G.endIndex),Y.push(...G.events)}return{template:Z,bindings:Y}}function K6(X,$,Z){if(x$(X))return X;if($.__stx_sfc_mode){if(/x-data\s*=\s*["']/.test(X))return X;let{template:q,bindings:K}=bU(X),U=$.__stx_event_bindings||[];return $.__stx_event_bindings=[...U,...K],q}let Y=q6(X);if(Y.length===0)return X;let J=X;for(let q=Y.length-1;q>=0;q--){let K=Y[q],U=K.originalTag;if(!U.includes(" id="))U=U.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${K.elementId}"`);else{let W=U.match(/id=["']([^"']+)["']/);if(W)for(let w of K.events)w.elementId=W[1]}for(let W of K.events){let w=W.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),z=new RegExp(`\\s*${w}\\s*=\\s*"[^"]*"`,"g"),B=new RegExp(`\\s*${w}\\s*=\\s*'[^']*'`,"g");U=U.replace(z,""),U=U.replace(B,"")}J=J.slice(0,K.startIndex)+U+J.slice(K.endIndex)}let G=g$(Y.flatMap((q)=>q.events)),Q=J.lastIndexOf("</body>");if(Q!==-1)J=J.slice(0,Q)+G+`
3596
- `+J.slice(Q);else J+=G;return J}var Y6,J6,IU,Q6;var h$=E(()=>{e0();Y6=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"]),J6={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"},IU=new Set(["ctrl","alt","shift","meta"]),Q6={left:0,middle:1,right:2}});function f0(X){let $=/import\s*\{([^}]+)\}\s*from\s*['"](@stores|stx\/stores)['"]\s*;?\n?/g;X=X.replace($,(Y,J)=>{return`const { ${J.split(",").map((Q)=>Q.trim()).filter(Boolean).join(", ")} } = window.__STX_STORES__
3596
+ `+J.slice(Q);else J+=G;return J}var Y6,J6,IU,Q6;var h$=E(()=>{X1();Y6=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"]),J6={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"},IU=new Set(["ctrl","alt","shift","meta"]),Q6={left:0,middle:1,right:2}});function f0(X){let $=/import\s*\{([^}]+)\}\s*from\s*['"](@stores|stx\/stores)['"]\s*;?\n?/g;X=X.replace($,(Y,J)=>{return`const { ${J.split(",").map((Q)=>Q.trim()).filter(Boolean).join(", ")} } = window.__STX_STORES__
3597
3597
  `});let Z=/import\s*\{([^}]+)\}\s*from\s*['"]@composables['"]\s*;?\n?/g;return X=X.replace(Z,(Y,J)=>{return`const { ${J.split(",").map((Q)=>Q.trim()).filter(Boolean).join(", ")} } = window.__composables
3598
3598
  `}),X}function jX(X){return X.replace(/^import\s+[^'"]*?from\s*['"][^'"]+['"]\s*;?[ \t]*$/gm,"").replace(/^import\s+['"][^'"]+['"]\s*;?[ \t]*$/gm,"")}function SU(X,$){let Z=X[$],Y=$+1;while(Y<X.length){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]===Z)return Y+1;Y++}return X.length}function CU(X,$){let Z=$+1;while(Z<X.length){if(X[Z]==="\\"){Z+=2;continue}if(X[Z]==="`")return Z+1;if(X[Z]==="$"&&X[Z+1]==="{"){if(Z=BX(X,Z+2),Z<X.length)Z++;continue}Z++}return X.length}function BX(X,$){let Z=1,Y=$;while(Y<X.length){let J=X[Y];if(J==="\\"){Y+=2;continue}if(J==='"'||J==="'"){Y=SU(X,Y);continue}if(J==="`"){Y=CU(X,Y);continue}if(J==="/"&&X[Y+1]==="/"){while(Y<X.length&&X[Y]!==`
3599
- `)Y++;continue}if(J==="/"&&X[Y+1]==="*"){Y+=2;while(Y<X.length&&X.slice(Y,Y+2)!=="*/")Y++;Y+=2;continue}if(J==="{"){Z++,Y++;continue}if(J==="}"){if(Z--,Z===0)return Y;Y++;continue}Y++}return X.length}function X1(X){let $="",Z=0;while(Z<X.length){let Y=X.slice(Z,Z+2);if(Y==="//"){while(Z<X.length&&X[Z]!==`
3599
+ `)Y++;continue}if(J==="/"&&X[Y+1]==="*"){Y+=2;while(Y<X.length&&X.slice(Y,Y+2)!=="*/")Y++;Y+=2;continue}if(J==="{"){Z++,Y++;continue}if(J==="}"){if(Z--,Z===0)return Y;Y++;continue}Y++}return X.length}function l0(X){let $="",Z=0;while(Z<X.length){let Y=X.slice(Z,Z+2);if(Y==="//"){while(Z<X.length&&X[Z]!==`
3600
3600
  `)$+=" ",Z++;continue}if(Y==="/*"){while(Z<X.length&&X.slice(Z,Z+2)!=="*/")$+=X[Z]===`
3601
3601
  `?`
3602
3602
  `:" ",Z++;$+=" ",Z+=2;continue}let J=X[Z];if(J==='"'||J==="'"){let G=J;$+=" ",Z++;while(Z<X.length&&X[Z]!==G){if(X[Z]==="\\"){$+=" ",Z+=2;continue}$+=X[Z]===`
3603
3603
  `?`
3604
- `:" ",Z++}$+=" ",Z++;continue}if(J==="`"){$+=" ",Z++;while(Z<X.length&&X[Z]!=="`"){if(X[Z]==="\\"){$+=" ",Z+=2;continue}if(X[Z]==="$"&&X[Z+1]==="{"){let G=Z+2,Q=BX(X,G);if($+=" ",$+=X1(X.slice(G,Q)),Q<X.length)$+=" ";Z=Q+1;continue}$+=X[Z]===`
3604
+ `:" ",Z++}$+=" ",Z++;continue}if(J==="`"){$+=" ",Z++;while(Z<X.length&&X[Z]!=="`"){if(X[Z]==="\\"){$+=" ",Z+=2;continue}if(X[Z]==="$"&&X[Z+1]==="{"){let G=Z+2,Q=BX(X,G);if($+=" ",$+=l0(X.slice(G,Q)),Q<X.length)$+=" ";Z=Q+1;continue}$+=X[Z]===`
3605
3605
  `?`
3606
3606
  `:" ",Z++}$+=" ",Z++;continue}$+=J,Z++}return $}function PU(){let X=globalThis;return X[U6]??=new Map,X[U6]}function t(X,$){let Z=PU(),Y=`${import.meta.url}\x00${X}`,J=Z.get(Y);if(J)return J;let G=$();return Z.set(Y,G),G.catch(()=>{if(Z.get(Y)===G)Z.delete(Y)}),G}var U6;var z7=E(()=>{U6=Symbol.for("stx.lazy-module-promises")});function V5(X){if(!X||X.indexOf("</")===-1)return X;return X.replace(vU,"<\\/$1")}var vU;var u$=E(()=>{vU=/<\/(script)/gi});import xU from"process";function S0(X="STX_PUBLIC_"){let $={},Z={};for(let[Y,J]of Object.entries(xU.env)){if(!Y.startsWith(X)||J===void 0)continue;$[`import.meta.env.${Y}`]=JSON.stringify(J),Z[Y]=J}return $["import.meta.env"]=JSON.stringify(Z),$}var F1=()=>{};function fU(X){if(!X||typeof X!=="object")return!1;let $=X;return typeof $.message==="string"&&($.name==="BuildMessage"||$.name==="ResolveMessage"||("position"in $))}function gU(X){if(X&&typeof X==="object"&&Array.isArray(X.errors))return X.errors;return[X]}function d$(X,$){let Z=[];for(let Y of gU(X)){if(fU(Y)){let J=Y.position||void 0;Z.push({file:$||J?.file,line:J?.line,column:J?.column,message:Y.message??"",lineText:J?.lineText});continue}Z.push({file:$,message:Y instanceof Error?Y.message:String(Y)})}return Z}function W6(X,$){return d$(X,$).map((Z)=>{let Y=Z.file?`${Z.file}${Z.line?`:${Z.line}${Z.column?`:${Z.column}`:""}`:""}`:"",J=Z.lineText?`
3607
3607
  ${Z.lineText.trim()}`:"";return Y?`${Y}: ${Z.message}${J}`:`${Z.message}${J}`}).join(`
3608
3608
  `)}var j7={};n(j7,{shouldLogBundlerDiagnostics:()=>B6,setBundlerFallbackMode:()=>mU,resolveBundlerFallback:()=>H6,recordBundleFailure:()=>_6,queueClientBundleBuild:()=>O6,hasUserImports:()=>lU,getBundleFailures:()=>uU,clearBundleFailures:()=>dU,bundleClientScript:()=>pU});import _0 from"path";import C0 from"fs";function B6(X=process.env){return X.STX_DEBUG==="true"||X.STX_DEBUG==="1"}function h1(...X){if(B6())console.log("[stx:bundler]",...X)}function _6(X,$,Z){c$.push({filePath:X||"<inline>",message:$,details:Z})}function uU(){return c$.slice()}function dU(){c$.length=0}function mU(X){l$=X}function H6(){if(l$)return l$;try{let X=_7.strict;return typeof X==="object"&&X!==null?X.bundlerFallback??"warn":"warn"}catch{return"warn"}}function lU(X){let $=/^[ \t]*import[ \t]+(?!type(?:[ \t]|{))[\s\S]*?\s+from\s+['"]([^'"]+)['"][ \t]*;?/gm,Z;while((Z=$.exec(X))!==null){let J=Z[1];if(!w6.some((Q)=>Q.test(J)))return h1("detected user import:",J),!0}let Y=/^[ \t]*import[ \t]+['"]([^'"]+)['"]/gm;while((Z=Y.exec(X))!==null){let J=Z[1];if(/\.css(?:\?.*)?$/.test(J))continue;if(!w6.some((Q)=>Q.test(J)))return h1("detected side-effect import:",J),!0}return!1}function cU(X,$,Z,Y){let J=(G,Q)=>{let q=G===Z?$:_0.dirname(G),K=_0.resolve(q,Q),U=[K,`${K}.ts`,`${K}.tsx`,`${K}.js`,`${K}.mjs`,`${K}.jsx`,_0.join(K,"index.ts"),_0.join(K,"index.tsx"),_0.join(K,"index.js"),_0.join(K,"index.mjs")];for(let W of U)try{if(C0.existsSync(W)&&C0.statSync(W,{throwIfNoEntry:!1})?.isFile())return W}catch{}return K};return{name:"stx-client-bundle",setup(G){G.onResolve({filter:/^(stx|@stacksjs\/stx)$/},(Q)=>({path:Q.path,external:!0})),G.onResolve({filter:/^(@stores|@composables|stx\/stores)$/},(Q)=>({path:Q.path,external:!0})),G.onResolve({filter:/^\//},(Q)=>{if(C0.existsSync(Q.path))return{path:Q.path};return{path:Q.path,external:!0}}),G.onResolve({filter:/^\.\.?\//},(Q)=>{let q=J(Q.importer,Q.path);return Y.add(q),{path:q}}),G.onResolve({filter:/^[@~]\//},(Q)=>{let q=_0.resolve(X,Q.path.slice(2)),K=[q,`${q}.ts`,`${q}.tsx`,`${q}.js`,`${q}.mjs`,`${q}.jsx`,_0.join(q,"index.ts"),_0.join(q,"index.tsx"),_0.join(q,"index.js"),_0.join(q,"index.mjs")];for(let U of K)if(C0.existsSync(U)&&C0.statSync(U,{throwIfNoEntry:!1})?.isFile())return h1(`resolved ${Q.path[0]}/ import:`,Q.path,"\u2192",U),Y.add(U),{path:U};return console.warn(`[stx:bundler] could not resolve ${Q.path[0]}/ import:`,Q.path),{path:q}}),G.onLoad({filter:/\.(?:[cm]?[jt]sx?|json)$/},(Q)=>{let q=_0.extname(Q.path).toLowerCase(),K=q===".json"?"json":q===".tsx"?"tsx":q===".jsx"?"jsx":q===".ts"||q===".mts"||q===".cts"?"ts":"js";if(Q.path!==Z)Y.add(Q.path);return{contents:C0.readFileSync(Q.path,"utf8"),loader:K}})}}}function O6(X){let $=globalThis,Y=($[z6]??Promise.resolve()).then(X,X);return $[z6]=Y.then(()=>{return},()=>{return}),Y}async function pU(X,$,Z={}){let Y=Z.projectRoot||process.cwd(),J=Z.minify??!1,G=Z.cacheDir||e5(Y,"bundle-cache"),Q=new Bun.CryptoHasher("md5");Q.update(`${hU}\x00${X}\x00${$}`);let q=Q.digest("hex").slice(0,12),K=_0.join(G,`${q}.js`),U=_0.join(G,`${q}.deps.json`),W=Bun.file(K);if(await W.exists()){let B=Bun.file(U),j=!0;if(await B.exists())try{let _=JSON.parse(await B.text());if(_.metadataVersion!==j6||!Array.isArray(_.files))j=!1;for(let H of Array.isArray(_.files)?_.files:[])try{if(C0.statSync(H.path).mtimeMs!==H.mtimeMs){j=!1;break}}catch{j=!1;break}}catch{j=!1}if(j)return h1("cache hit:",q),await W.text();h1("cache invalidated by dep change:",q)}let w=m$.get(q);if(w)return await w;let z=O6(()=>iU(X,$,{projectRoot:Y,minify:J,cacheDir:G,hash:q,cachePath:K,depsPath:U}));m$.set(q,z);try{return await z}finally{m$.delete(q)}}async function iU(X,$,Z){let{projectRoot:Y,minify:J,cacheDir:G,hash:Q,cachePath:q,depsPath:K}=Z,U=e5(Y,"bundle-tmp"),W=_0.join(U,`${Q}.ts`),w=_0.join(U,"out",Q);C0.mkdirSync(U,{recursive:!0}),C0.mkdirSync(w,{recursive:!0});let z=_0.dirname($),B=[],j=/^(export\s+)?(?:const|let|var)\s+(?:\{([^}]+)\}|(\w+))/gm,_=/^(export\s+)?(?:async\s+)?function\s+(\w+)/gm,H;while((H=j.exec(X))!==null){if(H[1])continue;if(H[2])H[2].split(",").forEach((F)=>{let V=F.split(":")[0].trim();if(V)B.push(V)});else if(H[3])B.push(H[3])}while((H=_.exec(X))!==null){if(H[1])continue;B.push(H[2])}let L=B.length>0?`
3609
- export { ${B.join(", ")} }`:"";await Bun.write(W,X+L),h1("bundling:",Q,"from:",_0.basename($));let O=new Set;try{let F=await Bun.build({entrypoints:[W],outdir:w,target:"browser",format:"esm",minify:J,plugins:[cU(Y,z,W,O)],define:{"process.env.NODE_ENV":J?'"production"':'"development"',...S0()},root:Y});if(!F.success){let I=F.logs.filter((C)=>C.level==="error").map((C)=>C.message).join(", ");return console.warn("[stx:bundler] build failed:",I),X}let V="";for(let I of F.outputs){V=await I.text();break}let A=[];for(let I of V.matchAll(/^\s*export\s*\{([^}]*)\}\s*;?\s*$/gm))for(let C of I[1].split(",")){let S=C.trim().match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(S){A.push([S[2],S[1]]);continue}let b=C.trim();if(/^[A-Za-z_$][\w$]*$/.test(b))A.push([b,b])}let R=V.match(/^\s*import\s+[^;]+;?\s*$/gm)||[];V=V.replace(/^\s*import\s+[^;]+;?\s*$/gm,"").replace(/^\s*export\s*\{[^}]*\}\s*;?\s*$/gm,"").replace(/^\s*export\s+default\s+.*$/gm,"").trim();let N=`__stxBundle_${Q}`,T=A.map(([I,C])=>`${JSON.stringify(I)}: ${C}`).join(", "),k=A.map(([I])=>`var ${I} = undefined;`).join(`
3610
- `),M=A.map(([I])=>`${I} = ${N}[${JSON.stringify(I)}];`).join(`
3609
+ export { ${B.join(", ")} }`:"";await Bun.write(W,X+L),h1("bundling:",Q,"from:",_0.basename($));let O=new Set;try{let F=await Bun.build({entrypoints:[W],outdir:w,target:"browser",format:"esm",minify:J,plugins:[cU(Y,z,W,O)],define:{"process.env.NODE_ENV":J?'"production"':'"development"',...S0()},root:Y});if(!F.success){let I=F.logs.filter((C)=>C.level==="error").map((C)=>C.message).join(", ");return console.warn("[stx:bundler] build failed:",I),X}let V="";for(let I of F.outputs){V=await I.text();break}let A=[];for(let I of V.matchAll(/^\s*export\s*\{([^}]*)\}\s*;?\s*$/gm))for(let C of I[1].split(",")){let S=C.trim().match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(S){A.push([S[2],S[1]]);continue}let b=C.trim();if(/^[A-Za-z_$][\w$]*$/.test(b))A.push([b,b])}let R=V.match(/^\s*import\s+[^;]+;?\s*$/gm)||[];V=V.replace(/^\s*import\s+[^;]+;?\s*$/gm,"").replace(/^\s*export\s*\{[^}]*\}\s*;?\s*$/gm,"").replace(/^\s*export\s+default\s+.*$/gm,"").trim();let T=`__stxBundle_${Q}`,N=A.map(([I,C])=>`${JSON.stringify(I)}: ${C}`).join(", "),k=A.map(([I])=>`var ${I} = undefined;`).join(`
3610
+ `),M=A.map(([I])=>`${I} = ${T}[${JSON.stringify(I)}];`).join(`
3611
3611
  `);if(V=`${R.join(`
3612
3612
  `)}
3613
3613
  ${k}
3614
- var ${N} = (function() {
3614
+ var ${T} = (function() {
3615
3615
  ${V}
3616
- return { ${T} };
3616
+ return { ${N} };
3617
3617
  })();
3618
- ${M}`.trim(),h1("bundled:",Q,"output:",V.length,"bytes"),B.length>0&&A.length===0)return console.warn(`[stx:bundler] dropped every binding for ${_0.basename($)} (${Q}); serving the unbundled source and not caching this result`),X;C0.mkdirSync(G,{recursive:!0}),await Bun.write(q,V);let y=Array.from(O).map((I)=>{try{return{path:I,mtimeMs:C0.statSync(I).mtimeMs}}catch{return null}}).filter((I)=>I!==null);return await Bun.write(K,JSON.stringify({metadataVersion:j6,files:y})),V}catch(F){let V=d$(F,$||void 0),A=W6(F,$||void 0);if(console.warn(`[stx:bundler] error: ${A}`),_6($||"",A,V),H6()==="error")throw F;return X}finally{try{C0.rmSync(W,{force:!0}),C0.rmSync(w,{recursive:!0,force:!0})}catch{}}}var hU=5,j6=1,c$,l$,w6,m$,z6;var B7=E(()=>{F1();JX();V1();c$=[];w6=[/^stx$/,/^@stacksjs\/stx$/,/^@stores$/,/^stx\/stores$/,/^@composables$/];m$=new Map,z6=Symbol.for("stx.client-bundle-build-queue")});var M6={};n(M6,{stripCommentsAndLiterals:()=>X1,renderVendorStyleTags:()=>HX,processClientScript:()=>L7,injectBrowserCoreAutoImports:()=>A5,generateServerDataBridge:()=>OX,generateBrowserAutoImportDestructuring:()=>$W,generateAutoImportDestructuring:()=>p$,findInterpolationEnd:()=>BX,extractBridgeData:()=>O7,extractAndStripCssImports:()=>_X,STX_AUTO_IMPORTS:()=>A6});import u1 from"path";import H7 from"fs";function rU(X){if(X.startsWith(".")||X.startsWith("/"))return null;if(X.startsWith("@")){let Z=X.match(/^(@[^/]+\/[^/]+)(\/.*)?$/);if(!Z)return null;return{pkg:Z[1],subpath:Z[2]||""}}let $=X.match(/^([^/]+)(\/.*)?$/);if(!$)return null;return{pkg:$[1],subpath:$[2]||""}}function oU(X,$){let Z=$;while(!0){let Y=u1.join(Z,"node_modules",X,"package.json");if(H7.existsSync(Y))return u1.dirname(Y);let J=u1.dirname(Z);if(J===Z)return null;Z=J}}function sU(X,$){if(!X||typeof X!=="object")return null;let Z=(J)=>{if(typeof J==="string")return J;if(J&&typeof J==="object"){if(typeof J.import==="string")return J.import;if(typeof J.default==="string")return J.default;if(typeof J.import==="object")return Z(J.import);if(typeof J.default==="object")return Z(J.default)}return null};if(Object.prototype.hasOwnProperty.call(X,$))return Z(X[$]);let Y=null;for(let J of Object.keys(X)){let G=J.indexOf("*");if(G===-1)continue;let Q=J.slice(0,G),q=J.slice(G+1);if(!$.startsWith(Q)||!$.endsWith(q))continue;if($.length<Q.length+q.length)continue;if(!Y||Q.length>Y.prefix.length)Y={pattern:J,prefix:Q,suffix:q}}if(Y){let J=$.slice(Y.prefix.length,$.length-Y.suffix.length),G=Z(X[Y.pattern]);if(G)return G.replace("*",J)}return null}function aU(X,$){let Z=rU(X);if(!Z||!Z.subpath)return null;let Y=oU(Z.pkg,$);if(!Y)return null;let J;try{J=JSON.parse(H7.readFileSync(u1.join(Y,"package.json"),"utf8"))}catch{return null}let G=`.${Z.subpath}`,Q=sU(J.exports,G);if(!Q)return null;let q=u1.resolve(Y,Q);return H7.existsSync(q)?q:null}function _X(X,$){let Z=$.filePath?u1.dirname($.filePath):$.projectRoot||process.cwd(),Y=$.projectRoot||process.cwd(),J=new Set,G=[];return{code:X.replace(nU,(q,K)=>{let U;try{if(K.startsWith("./")||K.startsWith("../")||K.startsWith("/")){if(U=K.startsWith("/")?K:u1.resolve(Z,K),!H7.existsSync(U))throw Error(`file not found: ${U}`)}else{let W=null;try{W=Bun.resolveSync(K,Y)}catch{W=aU(K,Y)}if(!W)throw Error(`could not resolve ${K} (Bun.resolveSync + exports fallback both failed)`);U=W}}catch(W){return console.warn(`[stx:vendor-css] could not resolve ${JSON.stringify(K)} (from ${$.filePath||"<unknown>"}): ${W?.message||W}`),""}if(J.has(U))return"";J.add(U);try{let W=H7.readFileSync(U,"utf8");G.push({source:K,resolvedPath:U,contents:W})}catch(W){console.warn(`[stx:vendor-css] could not read ${U}: ${W?.message||W}`)}return""}),styles:G}}function tU(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function HX(X){if(X.length===0)return"";return`${X.map(($)=>{return`<style data-stx-vendor="${tU($.source)}" data-stx-layer="vendor">
3618
+ ${M}`.trim(),h1("bundled:",Q,"output:",V.length,"bytes"),B.length>0&&A.length===0)return console.warn(`[stx:bundler] dropped every binding for ${_0.basename($)} (${Q}); serving the unbundled source and not caching this result`),X;C0.mkdirSync(G,{recursive:!0}),await Bun.write(q,V);let y=Array.from(O).map((I)=>{try{return{path:I,mtimeMs:C0.statSync(I).mtimeMs}}catch{return null}}).filter((I)=>I!==null);return await Bun.write(K,JSON.stringify({metadataVersion:j6,files:y})),V}catch(F){let V=d$(F,$||void 0),A=W6(F,$||void 0);if(console.warn(`[stx:bundler] error: ${A}`),_6($||"",A,V),H6()==="error")throw F;return X}finally{try{C0.rmSync(W,{force:!0}),C0.rmSync(w,{recursive:!0,force:!0})}catch{}}}var hU=5,j6=1,c$,l$,w6,m$,z6;var B7=E(()=>{F1();JX();V1();c$=[];w6=[/^stx$/,/^@stacksjs\/stx$/,/^@stores$/,/^stx\/stores$/,/^@composables$/];m$=new Map,z6=Symbol.for("stx.client-bundle-build-queue")});var M6={};n(M6,{stripCommentsAndLiterals:()=>l0,renderVendorStyleTags:()=>HX,processClientScript:()=>L7,injectBrowserCoreAutoImports:()=>A5,generateServerDataBridge:()=>OX,generateBrowserAutoImportDestructuring:()=>$W,generateAutoImportDestructuring:()=>p$,findInterpolationEnd:()=>BX,extractBridgeData:()=>O7,extractAndStripCssImports:()=>_X,STX_AUTO_IMPORTS:()=>A6});import u1 from"path";import H7 from"fs";function rU(X){if(X.startsWith(".")||X.startsWith("/"))return null;if(X.startsWith("@")){let Z=X.match(/^(@[^/]+\/[^/]+)(\/.*)?$/);if(!Z)return null;return{pkg:Z[1],subpath:Z[2]||""}}let $=X.match(/^([^/]+)(\/.*)?$/);if(!$)return null;return{pkg:$[1],subpath:$[2]||""}}function oU(X,$){let Z=$;while(!0){let Y=u1.join(Z,"node_modules",X,"package.json");if(H7.existsSync(Y))return u1.dirname(Y);let J=u1.dirname(Z);if(J===Z)return null;Z=J}}function sU(X,$){if(!X||typeof X!=="object")return null;let Z=(J)=>{if(typeof J==="string")return J;if(J&&typeof J==="object"){if(typeof J.import==="string")return J.import;if(typeof J.default==="string")return J.default;if(typeof J.import==="object")return Z(J.import);if(typeof J.default==="object")return Z(J.default)}return null};if(Object.prototype.hasOwnProperty.call(X,$))return Z(X[$]);let Y=null;for(let J of Object.keys(X)){let G=J.indexOf("*");if(G===-1)continue;let Q=J.slice(0,G),q=J.slice(G+1);if(!$.startsWith(Q)||!$.endsWith(q))continue;if($.length<Q.length+q.length)continue;if(!Y||Q.length>Y.prefix.length)Y={pattern:J,prefix:Q,suffix:q}}if(Y){let J=$.slice(Y.prefix.length,$.length-Y.suffix.length),G=Z(X[Y.pattern]);if(G)return G.replace("*",J)}return null}function aU(X,$){let Z=rU(X);if(!Z||!Z.subpath)return null;let Y=oU(Z.pkg,$);if(!Y)return null;let J;try{J=JSON.parse(H7.readFileSync(u1.join(Y,"package.json"),"utf8"))}catch{return null}let G=`.${Z.subpath}`,Q=sU(J.exports,G);if(!Q)return null;let q=u1.resolve(Y,Q);return H7.existsSync(q)?q:null}function _X(X,$){let Z=$.filePath?u1.dirname($.filePath):$.projectRoot||process.cwd(),Y=$.projectRoot||process.cwd(),J=new Set,G=[];return{code:X.replace(nU,(q,K)=>{let U;try{if(K.startsWith("./")||K.startsWith("../")||K.startsWith("/")){if(U=K.startsWith("/")?K:u1.resolve(Z,K),!H7.existsSync(U))throw Error(`file not found: ${U}`)}else{let W=null;try{W=Bun.resolveSync(K,Y)}catch{W=aU(K,Y)}if(!W)throw Error(`could not resolve ${K} (Bun.resolveSync + exports fallback both failed)`);U=W}}catch(W){return console.warn(`[stx:vendor-css] could not resolve ${JSON.stringify(K)} (from ${$.filePath||"<unknown>"}): ${W?.message||W}`),""}if(J.has(U))return"";J.add(U);try{let W=H7.readFileSync(U,"utf8");G.push({source:K,resolvedPath:U,contents:W})}catch(W){console.warn(`[stx:vendor-css] could not read ${U}: ${W?.message||W}`)}return""}),styles:G}}function tU(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function HX(X){if(X.length===0)return"";return`${X.map(($)=>{return`<style data-stx-vendor="${tU($.source)}" data-stx-layer="vendor">
3619
3619
  @layer vendor {
3620
3620
  ${$.contents}
3621
3621
  }
3622
3622
  </style>`}).join(`
3623
3623
  `)}
3624
- `}function A5(X){let $=X1(X),Z=new Set;for(let q of X.matchAll(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm))for(let K of q[1].split(",")){let U=K.trim().split(/\s+as\s+/).pop()?.replace(/^type\s+/,"").trim();if(U)Z.add(U)}let Y=new Set;for(let q of $.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))Y.add(q[1]);for(let q of $.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let K of q[1].split(",")){let U=K.trim().split(/[:=]/).pop()?.trim();if(U)Y.add(U)}let J=R6.filter((q)=>{if(Z.has(q)||Y.has(q))return!1;return new RegExp(`\\b${q}\\s*\\(`).test($)}),G=N6($).filter((q)=>!Z.has(q)&&!Y.has(q));if(J.length===0&&G.length===0)return{code:X,imports:J,models:G};return{code:`${[J.length>0?`import { ${J.join(", ")} } from '@stacksjs/browser'`:"",G.length>0?"import '@stacksjs/browser'":"",G.length>0?`const { ${G.join(", ")} } = window.StacksBrowser || {}`:""].filter(Boolean).join(`
3624
+ `}function A5(X){let $=l0(X),Z=new Set;for(let q of X.matchAll(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm))for(let K of q[1].split(",")){let U=K.trim().split(/\s+as\s+/).pop()?.replace(/^type\s+/,"").trim();if(U)Z.add(U)}let Y=new Set;for(let q of $.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))Y.add(q[1]);for(let q of $.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let K of q[1].split(",")){let U=K.trim().split(/[:=]/).pop()?.trim();if(U)Y.add(U)}let J=R6.filter((q)=>{if(Z.has(q)||Y.has(q))return!1;return new RegExp(`\\b${q}\\s*\\(`).test($)}),G=T6($).filter((q)=>!Z.has(q)&&!Y.has(q));if(J.length===0&&G.length===0)return{code:X,imports:J,models:G};return{code:`${[J.length>0?`import { ${J.join(", ")} } from '@stacksjs/browser'`:"",G.length>0?"import '@stacksjs/browser'":"",G.length>0?`const { ${G.join(", ")} } = window.StacksBrowser || {}`:""].filter(Boolean).join(`
3625
3625
  `)}
3626
- ${X}`,imports:J,models:G}}function N6(X){let $=new Set,Z=/\b([A-Z][a-zA-Z0-9]*)\s*\.\s*(all|find|first|get|where|orderBy|orderByDesc|limit|select|pluck|create|update|delete)\s*\(/g,Y;while((Y=Z.exec(X))!==null)if(!eU.has(Y[1]))$.add(Y[1]);return Array.from($)}function XW(X){let $=new Set;for(let Z of X.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))$.add(Z[1]);for(let Z of X.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let Y of Z[1].split(",")){let J=Y.trim().split(/[:=]/).pop()?.trim();if(J&&/^[A-Za-z_$][\w$]*$/.test(J))$.add(J)}return $}function T6(X){let $=new Set,Z=new Set,Y=X;Y=Y.replace(/^\s*import\s+type\s+\{[^}]*\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm,"// [type import stripped]");let J=new Set,G=/^\s*import\s+(?:type\s+)?{\s*([^}]+)\s*}\s+from\s+['"](@stacksjs\/browser|@stacksjs\/stx|stx)['"]\s*;?\s*$/gm,Q;while((Q=G.exec(X))!==null){let U=Q[1],W=Q[2];if(Q[0].includes("import type"))continue;let w=[];for(let B of U.split(",")){let j=B.trim();if(!j||j.startsWith("type "))continue;let _=j.match(/^([A-Za-z_$][\w$]*)(?:\s+as\s+([A-Za-z_$][\w$]*))?$/);if(!_)continue;let H=_[1],L=_[2]||H;if(J.add(H),J.add(L),W==="stx"||W==="@stacksjs/stx")$.add(H);else Z.add(H);if(L!==H)w.push(`${L} = ${H}`)}let z=w.length>0?`var ${w.join(", ")}; /* [auto-import processed] */`:"// [auto-import processed]";Y=Y.replace(Q[0],z)}let q=XW(Y);for(let U of A6){if(J.has(U)||q.has(U))continue;if(new RegExp(`\\b${U}\\s*(?:<[^>]*>)?\\s*\\(`,"g").test(Y))$.add(U)}for(let U of R6){if(J.has(U)||q.has(U))continue;if(new RegExp(`\\b${U}\\b`,"g").test(Y))Z.add(U)}let K=N6(Y);for(let U of K)if(!J.has(U)&&!q.has(U))Z.add(U);return{code:Y,stxImports:Array.from($),browserImports:Array.from(Z)}}function p$(X,$){let Z=[];if(X.length>0)Z.push(` var { ${X.join(", ")} } = window.stx || window;`);if($.length>0)Z.push(` var { ${$.join(", ")} } = window.StacksBrowser || {};`);if(Z.length>0)return` // STX: auto-imported from stx and @stacksjs/browser
3626
+ ${X}`,imports:J,models:G}}function T6(X){let $=new Set,Z=/\b([A-Z][a-zA-Z0-9]*)\s*\.\s*(all|find|first|get|where|orderBy|orderByDesc|limit|select|pluck|create|update|delete)\s*\(/g,Y;while((Y=Z.exec(X))!==null)if(!eU.has(Y[1]))$.add(Y[1]);return Array.from($)}function XW(X){let $=new Set;for(let Z of X.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))$.add(Z[1]);for(let Z of X.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let Y of Z[1].split(",")){let J=Y.trim().split(/[:=]/).pop()?.trim();if(J&&/^[A-Za-z_$][\w$]*$/.test(J))$.add(J)}return $}function N6(X){let $=new Set,Z=new Set,Y=X;Y=Y.replace(/^\s*import\s+type\s+\{[^}]*\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm,"// [type import stripped]");let J=new Set,G=/^\s*import\s+(?:type\s+)?{\s*([^}]+)\s*}\s+from\s+['"](@stacksjs\/browser|@stacksjs\/stx|stx)['"]\s*;?\s*$/gm,Q;while((Q=G.exec(X))!==null){let U=Q[1],W=Q[2];if(Q[0].includes("import type"))continue;let w=[];for(let B of U.split(",")){let j=B.trim();if(!j||j.startsWith("type "))continue;let _=j.match(/^([A-Za-z_$][\w$]*)(?:\s+as\s+([A-Za-z_$][\w$]*))?$/);if(!_)continue;let H=_[1],L=_[2]||H;if(J.add(H),J.add(L),W==="stx"||W==="@stacksjs/stx")$.add(H);else Z.add(H);if(L!==H)w.push(`${L} = ${H}`)}let z=w.length>0?`var ${w.join(", ")}; /* [auto-import processed] */`:"// [auto-import processed]";Y=Y.replace(Q[0],z)}let q=XW(Y);for(let U of A6){if(J.has(U)||q.has(U))continue;if(new RegExp(`\\b${U}\\s*(?:<[^>]*>)?\\s*\\(`,"g").test(Y))$.add(U)}for(let U of R6){if(J.has(U)||q.has(U))continue;if(new RegExp(`\\b${U}\\b`,"g").test(Y))Z.add(U)}let K=T6(Y);for(let U of K)if(!J.has(U)&&!q.has(U))Z.add(U);return{code:Y,stxImports:Array.from($),browserImports:Array.from(Z)}}function p$(X,$){let Z=[];if(X.length>0)Z.push(` var { ${X.join(", ")} } = window.stx || window;`);if($.length>0)Z.push(` var { ${$.join(", ")} } = window.StacksBrowser || {};`);if(Z.length>0)return` // STX: auto-imported from stx and @stacksjs/browser
3627
3627
  ${Z.join(`
3628
3628
  `)}
3629
- ${ZW(X,$)}`;return""}function $W(X,$=[]){let{browserImports:Z}=T6(X),Y=new Set($);return p$([],Z.filter((J)=>!Y.has(J)))}function ZW(X,$){let Z=[...X.map((Y)=>`['${Y}', typeof ${Y}, 'stx']`),...$.map((Y)=>`['${Y}', typeof ${Y}, '@stacksjs/browser']`)];if(Z.length===0)return"";return` // STX: report auto-imports the client runtime did not provide
3629
+ ${ZW(X,$)}`;return""}function $W(X,$=[]){let{browserImports:Z}=N6(X),Y=new Set($);return p$([],Z.filter((J)=>!Y.has(J)))}function ZW(X,$){let Z=[...X.map((Y)=>`['${Y}', typeof ${Y}, 'stx']`),...$.map((Y)=>`['${Y}', typeof ${Y}, '@stacksjs/browser']`)];if(Z.length===0)return"";return` // STX: report auto-imports the client runtime did not provide
3630
3630
  [${Z.join(", ")}].forEach(function (e) {
3631
3631
  if (e[1] !== 'undefined') return;
3632
3632
  console.error(
@@ -3635,7 +3635,7 @@ ${ZW(X,$)}`;return""}function $W(X,$=[]){let{browserImports:Z}=T6(X),Y=new Set($
3635
3635
  + 'or it should be imported from a relative path so the bundler includes it.'
3636
3636
  );
3637
3637
  });
3638
- `}function O7(X){let $=X.__stxClientPayload;if($&&typeof $==="object"){let Y={};for(let J in $){let G=$[J];if(typeof G==="function")continue;Y[J]=G}return Y.__stxDeclaredPayload=!0,Y}let Z={};for(let Y in X){if(Y.startsWith("__")||Y.startsWith("$"))continue;let J=X[Y];if(typeof J==="function")continue;Z[Y]=J}return Z}function L6(X,$){let Z=new Set;for(let Y of X.split(",")){let J=Y.trim().replace(/^\.\.\./,"").trim();if(!J)continue;if($){let G=J.lastIndexOf(":");if(G!==-1)J=J.slice(G+1).trim()}if(J=J.split("=")[0].trim(),/^[A-Za-z_$][\w$]*$/.test(J))Z.add(J)}return Z}function YW(X,$){if(new RegExp(`(?:const|let|var|function|class)\\s+${$}\\b`).test(X))return!0;for(let Z of X.matchAll(/(?:const|let|var)\s*\{([^}]*)\}/g))if(L6(Z[1],!0).has($))return!0;for(let Z of X.matchAll(/(?:const|let|var)\s*\[([^\]]*)\]/g))if(L6(Z[1],!1).has($))return!0;return!1}function JW(X,$){return new RegExp(`(?<![.#\\w$])${$}(?![\\w$])`).test(X)}function QW(X,$){let Z=GW.test(X),Y=$.length>32768;if(!Z&&!Y)return;if(F6.has(X))return;if(F6.add(X),Z)console.warn(`[stx] server\u2192client bridge is publishing "${X}" 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(Y)console.warn(`[stx] server\u2192client bridge is publishing ${($.length/1024).toFixed(1)}KB under "${X}". Every byte ships in the HTML on each request; prefix the binding with "__" and project just the fields the client reads.`)}function OX(X,$){if(!$)return"";let Z=X1(X),Y=$.__stxDeclaredPayload===!0,J=[];for(let[G,Q]of Object.entries($)){if(!/^[A-Za-z_$][\w$]*$/.test(G))continue;if(G.startsWith("__")||G.startsWith("$"))continue;if(!Y&&!JW(Z,G))continue;if(YW(X,G))continue;let q;try{q=JSON.stringify(Q)}catch{continue}if(q===void 0)continue;QW(G,q),J.push(` var ${G} = ${q.replace(/</g,"\\u003c")};`)}if(J.length===0)return"";return` // stx: server -> client data bridge (seeded from server scope)
3638
+ `}function O7(X){let $=X.__stxClientPayload;if($&&typeof $==="object"){let Y={};for(let J in $){let G=$[J];if(typeof G==="function")continue;Y[J]=G}return Y.__stxDeclaredPayload=!0,Y}let Z={};for(let Y in X){if(Y.startsWith("__")||Y.startsWith("$"))continue;let J=X[Y];if(typeof J==="function")continue;Z[Y]=J}return Z}function L6(X,$){let Z=new Set;for(let Y of X.split(",")){let J=Y.trim().replace(/^\.\.\./,"").trim();if(!J)continue;if($){let G=J.lastIndexOf(":");if(G!==-1)J=J.slice(G+1).trim()}if(J=J.split("=")[0].trim(),/^[A-Za-z_$][\w$]*$/.test(J))Z.add(J)}return Z}function YW(X,$){if(new RegExp(`(?:const|let|var|function|class)\\s+${$}\\b`).test(X))return!0;for(let Z of X.matchAll(/(?:const|let|var)\s*\{([^}]*)\}/g))if(L6(Z[1],!0).has($))return!0;for(let Z of X.matchAll(/(?:const|let|var)\s*\[([^\]]*)\]/g))if(L6(Z[1],!1).has($))return!0;return!1}function JW(X,$){return new RegExp(`(?<![.#\\w$])${$}(?![\\w$])`).test(X)}function QW(X,$){let Z=GW.test(X),Y=$.length>32768;if(!Z&&!Y)return;if(F6.has(X))return;if(F6.add(X),Z)console.warn(`[stx] server\u2192client bridge is publishing "${X}" 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(Y)console.warn(`[stx] server\u2192client bridge is publishing ${($.length/1024).toFixed(1)}KB under "${X}". Every byte ships in the HTML on each request; prefix the binding with "__" and project just the fields the client reads.`)}function OX(X,$){if(!$)return"";let Z=l0(X),Y=$.__stxDeclaredPayload===!0,J=[];for(let[G,Q]of Object.entries($)){if(!/^[A-Za-z_$][\w$]*$/.test(G))continue;if(G.startsWith("__")||G.startsWith("$"))continue;if(!Y&&!JW(Z,G))continue;if(YW(X,G))continue;let q;try{q=JSON.stringify(Q)}catch{continue}if(q===void 0)continue;QW(G,q),J.push(` var ${G} = ${q.replace(/</g,"\\u003c")};`)}if(J.length===0)return"";return` // stx: server -> client data bridge (seeded from server scope)
3639
3639
  ${J.join(`
3640
3640
  `)}
3641
3641
  `}function KW(X){let $=[];if(X.self)$.push("if ($event.target !== $el) return");for(let Z of X.systemKeys)$.push(`if (!$event.${Z}Key) return`);if(X.keys.length>0){let Z=X.keys.map((Y)=>`$event.key === '${Y}'`).join(" || ");$.push(`if (!(${Z})) return`)}if(X.mouse!==null){let Z=qW[X.mouse];$.push(`if ($event.button !== ${Z}) return`)}if(X.prevent)$.push("$event.preventDefault()");if(X.stop)$.push("$event.stopPropagation()");return $.join("; ")}function UW(X,$){let{elementId:Z,event:Y,modifiers:J}=X,G=f$(X.handler),Q=KW(J),q=[];if(J.once)q.push("once: true");if(J.capture)q.push("capture: true");if(J.passive)q.push("passive: true");let K=q.length>0?`, { ${q.join(", ")} }`:"",U="";if(Q)U+=`${Q}; `;let W=G.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),w=`var $emit = function(name, detail) {
@@ -3685,7 +3685,7 @@ else {
3685
3685
  // STX: auto-generated event bindings
3686
3686
  ${X.map((Z,Y)=>UW(Z,Y)).join(`
3687
3687
  `)}`}function V6(X){let $=[],Z=new Set,Y=X.replace(/^\s*import\s+.*$/gm,""),J=0,G=Y.length,Q=0;while(Q<G){let q=Y[Q];if(q==="'"||q==='"'||q==="`"){let K=q;if(Q++,K==="`"){let U=0;while(Q<G){if(Y[Q]==="\\"){Q+=2;continue}if(Y[Q]==="`"&&U===0){Q++;break}if(Y[Q]==="$"&&Y[Q+1]==="{"){U++,Q+=2;continue}if(Y[Q]==="}"&&U>0){U--,Q++;continue}Q++}}else while(Q<G){if(Y[Q]==="\\"){Q+=2;continue}if(Y[Q]===K){Q++;break}Q++}continue}if(q==="/"&&Y[Q+1]==="/"){while(Q<G&&Y[Q]!==`
3688
- `)Q++;continue}if(q==="/"&&Y[Q+1]==="*"){Q+=2;while(Q<G-1&&!(Y[Q]==="*"&&Y[Q+1]==="/"))Q++;Q+=2;continue}if(q==="{"){J++,Q++;continue}if(q==="}"){J--,Q++;continue}if(J===0){let K=Y.slice(Q),U=K.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(U){let z=U[1];if(!z.startsWith("_")&&!Z.has(z))$.push(z),Z.add(z);Q+=U[0].length;continue}let W=K.match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(W){W[1].split(",").forEach((z)=>{let B=z.trim(),j=B.indexOf(":"),_=j>=0?B.slice(j+1).trim().split(/[\s=]/)[0]:B.split(/[\s=]/)[0];if(_&&!_.startsWith("_")&&!Z.has(_))$.push(_),Z.add(_)}),Q+=W[0].length;continue}let w=K.match(/^(?:async\s+)?function\s+([a-zA-Z_$]\w*)/);if(w){let z=w[1];if(!z.startsWith("_")&&!Z.has(z))$.push(z),Z.add(z);Q+=w[0].length;continue}}Q++}return $}function zW(X){let $=new Set,Z=/[a-zA-Z_$][a-zA-Z0-9_$]*/g;function Y(z){let B;while((B=Z.exec(z))!==null){let j=B[0];if(!wW.has(j))$.add(j)}}let J=/\{\{([\s\S]*?)\}\}/g,G;while((G=J.exec(X))!==null)Y(G[1]);let Q=/:[a-z][\w.-]*\s*=\s*"([^"]*)"/gi;while((G=Q.exec(X))!==null)Y(G[1]);let q=/:[a-z][\w.-]*\s*=\s*'([^']*)'/gi;while((G=q.exec(X))!==null)Y(G[1]);let K=/@[a-z]+(?:\.[a-z]+)*\s*=\s*"([^"]*)"/gi;while((G=K.exec(X))!==null)Y(G[1]);let U=/@[a-z]+(?:\.[a-z]+)*\s*=\s*'([^']*)'/gi;while((G=U.exec(X))!==null)Y(G[1]);let W=/@model\s*=\s*["']([^"']*)["']/gi;while((G=W.exec(X))!==null)Y(G[1]);let w=/@for\s*=\s*["'][^"']*\bin\s+([^"']+)["']/gi;while((G=w.exec(X))!==null)Y(G[1]);return $}async function L7(X,$={}){let Z=X,Y="",J=!1,G=[],Q=_X(Z,{filePath:$.filePath,projectRoot:$.projectRoot});Z=Q.code;let q=HX(Q.styles),K=A5(Z);Z=K.code,G=[...K.imports,...K.models];let{hasUserImports:U,bundleClientScript:W}=await t("stx/client-script-bundler",()=>Promise.resolve().then(() => (B7(),j7)));if(U(Z))Z=await W(Z,$.filePath||"",{projectRoot:$.projectRoot,minify:$.production}),J=!0;if($.autoImports!==!1){let O=T6(Z);Z=O.code,Y=p$(O.stxImports,O.browserImports.filter((F)=>!G.includes(F)))}if(Y=`${OX(Z,$.serverData)}${Y}`,Z=f0(Z),!J&&d1($.attrs||""))Z=m1(Z);let w=WW($.eventBindings||[]),z=($.attrs||"").trim();if(/\btype\s*=\s*["']module["']/i.test(z)){let O=z.replace(/\btype\s*=\s*["']module["']/i,"").trim(),F=`type="module" data-stx-scoped${O?` ${O}`:""}`;return`${q}<script ${F}>
3688
+ `)Q++;continue}if(q==="/"&&Y[Q+1]==="*"){Q+=2;while(Q<G-1&&!(Y[Q]==="*"&&Y[Q+1]==="/"))Q++;Q+=2;continue}if(q==="{"){J++,Q++;continue}if(q==="}"){J--,Q++;continue}if(J===0){let K=Y.slice(Q),U=K.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(U){let z=U[1];if(!z.startsWith("_")&&!Z.has(z))$.push(z),Z.add(z);Q+=U[0].length;continue}let W=K.match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(W){W[1].split(",").forEach((z)=>{let B=z.trim(),j=B.indexOf(":"),_=j>=0?B.slice(j+1).trim().split(/[\s=]/)[0]:B.split(/[\s=]/)[0];if(_&&!_.startsWith("_")&&!Z.has(_))$.push(_),Z.add(_)}),Q+=W[0].length;continue}let w=K.match(/^(?:async\s+)?function\s+([a-zA-Z_$]\w*)/);if(w){let z=w[1];if(!z.startsWith("_")&&!Z.has(z))$.push(z),Z.add(z);Q+=w[0].length;continue}}Q++}return $}function zW(X){let $=new Set,Z=/[a-zA-Z_$][a-zA-Z0-9_$]*/g;function Y(z){let B;while((B=Z.exec(z))!==null){let j=B[0];if(!wW.has(j))$.add(j)}}let J=/\{\{([\s\S]*?)\}\}/g,G;while((G=J.exec(X))!==null)Y(G[1]);let Q=/:[a-z][\w.-]*\s*=\s*"([^"]*)"/gi;while((G=Q.exec(X))!==null)Y(G[1]);let q=/:[a-z][\w.-]*\s*=\s*'([^']*)'/gi;while((G=q.exec(X))!==null)Y(G[1]);let K=/@[a-z]+(?:\.[a-z]+)*\s*=\s*"([^"]*)"/gi;while((G=K.exec(X))!==null)Y(G[1]);let U=/@[a-z]+(?:\.[a-z]+)*\s*=\s*'([^']*)'/gi;while((G=U.exec(X))!==null)Y(G[1]);let W=/@model\s*=\s*["']([^"']*)["']/gi;while((G=W.exec(X))!==null)Y(G[1]);let w=/@for\s*=\s*["'][^"']*\bin\s+([^"']+)["']/gi;while((G=w.exec(X))!==null)Y(G[1]);return $}async function L7(X,$={}){let Z=X,Y="",J=!1,G=[],Q=_X(Z,{filePath:$.filePath,projectRoot:$.projectRoot});Z=Q.code;let q=HX(Q.styles),K=A5(Z);Z=K.code,G=[...K.imports,...K.models];let{hasUserImports:U,bundleClientScript:W}=await t("stx/client-script-bundler",()=>Promise.resolve().then(() => (B7(),j7)));if(U(Z))Z=await W(Z,$.filePath||"",{projectRoot:$.projectRoot,minify:$.production}),J=!0;if($.autoImports!==!1){let O=N6(Z);Z=O.code,Y=p$(O.stxImports,O.browserImports.filter((F)=>!G.includes(F)))}if(Y=`${OX(Z,$.serverData)}${Y}`,Z=f0(Z),!J&&d1($.attrs||""))Z=m1(Z);let w=WW($.eventBindings||[]),z=($.attrs||"").trim();if(/\btype\s*=\s*["']module["']/i.test(z)){let O=z.replace(/\btype\s*=\s*["']module["']/i,"").trim(),F=`type="module" data-stx-scoped${O?` ${O}`:""}`;return`${q}<script ${F}>
3689
3689
  ${V5(`${Y}${Z}
3690
3690
  ${w}`)}
3691
3691
  </script>`}let j=v$(X),_=/function __stx_setup_/.test(Z),H=/\bstx\.mount\s*\(|\bstx\.mountEl\s*\(/.test(X);function L(O){let F=O.length>0?`
@@ -3699,7 +3699,7 @@ ${w}${F}`)}
3699
3699
  'use strict';
3700
3700
  ${V5(`${Y}${Z}
3701
3701
  ${w}`)}
3702
- })()</script>`}var nU,A6,R6,eU,GW,F6,qW,wW;var F7=E(()=>{h$();A0();z7();e0();u$();nU=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;A6=U1,R6=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useDocumentVisibility","useIntervalFn"];eU=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"]);GW=/token|secret|passw|apikey|api_key|privatekey|private_key|credential|webhook|bearer|jwt|signature/i,F6=new Set;qW={left:0,middle:1,right:2};wW=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"])});import{createHash as jW}from"crypto";function k6(X){let $=X[LX];return $ instanceof Map?$:null}function I6(X){X[LX]=new Map}function E6(X,$){let Z=k6(X);if(!Z)return null;let Y=jW("sha256").update($).digest("hex").slice(0,16),J=Z.get(Y);if(J)J.instances++;else Z.set(Y,{body:$,instances:1});return Y}function D6(X,$){let Z=k6($);if(!Z?.size)return X;let Y=X;for(let[K,U]of Z){if(U.instances!==1)continue;let W=new RegExp(`window\\.__stxComponentFactories\\[${JSON.stringify(K)}\\]\\(("[^"]+")\\);`,"g");Y=Y.replace(W,(w,z)=>`(${U.body})(${z});`)}let J=[...Z].filter(([,K])=>K.instances>1);if(J.length===0)return Y;let Q=`<script data-stx-scoped data-stx-run="always" data-stx-component-factories>
3702
+ })()</script>`}var nU,A6,R6,eU,GW,F6,qW,wW;var F7=E(()=>{h$();A0();z7();X1();u$();nU=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;A6=U1,R6=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useActiveElement","useDocumentVisibility","useIntervalFn"];eU=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"]);GW=/token|secret|passw|apikey|api_key|privatekey|private_key|credential|webhook|bearer|jwt|signature/i,F6=new Set;qW={left:0,middle:1,right:2};wW=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"])});import{createHash as jW}from"crypto";function k6(X){let $=X[LX];return $ instanceof Map?$:null}function I6(X){X[LX]=new Map}function E6(X,$){let Z=k6(X);if(!Z)return null;let Y=jW("sha256").update($).digest("hex").slice(0,16),J=Z.get(Y);if(J)J.instances++;else Z.set(Y,{body:$,instances:1});return Y}function D6(X,$){let Z=k6($);if(!Z?.size)return X;let Y=X;for(let[K,U]of Z){if(U.instances!==1)continue;let W=new RegExp(`window\\.__stxComponentFactories\\[${JSON.stringify(K)}\\]\\(("[^"]+")\\);`,"g");Y=Y.replace(W,(w,z)=>`(${U.body})(${z});`)}let J=[...Z].filter(([,K])=>K.instances>1);if(J.length===0)return Y;let Q=`<script data-stx-scoped data-stx-run="always" data-stx-component-factories>
3703
3703
  (function() {
3704
3704
  const factories = window.__stxComponentFactories = window.__stxComponentFactories || {};
3705
3705
  ${J.map(([K,U])=>` try { factories[${JSON.stringify(K)}] = factories[${JSON.stringify(K)}] || ${U.body}; }
@@ -3719,7 +3719,7 @@ catch (e) {
3719
3719
  }
3720
3720
  throw e;
3721
3721
  }
3722
- `),q=Q([]);if(G.length===$.length)return y6(q,G,Q);return y6((...U)=>{let W=Array(J.length);for(let w=0;w<J.length;w++)W[w]=U[J[w]];return q(...W)},G,Q,(U)=>{q=Q(U)})}function y6(X,$,Z,Y){let G=/^(\w+) is not defined$/,Q=X,q=[],K=new Set($);return(...U)=>{for(let W=0;W<=8;W++)try{return Q(...U)}catch(w){let z=w instanceof Error?w.message:"",B=G.exec(z);if(!(w instanceof ReferenceError)||!B)return;let j=B[1];if(K.has(j)||P6.has(j))return;K.add(j),q.push(j),Q=Z(q),Y?.(q)}return}}function VX(X){let $=X.trim(),Z=[/\beval\s*\(/i,/\bFunction\s*\(/i,/\bimport\s*\(/i,/\brequire\s*\(/i,/\bprocess\b/i,/\b__proto__\b/i,/\bconstructor\s*[.(]/i,/\bglobalThis\b/i,/\bwindow\b/i,/\bdocument\b/i,/\bfetch\s*\(/i,/\bBun\b/i,/\bDeno\b/i,/\bconsole\b/i,/\bthis\b/i,/\bReflect\b/i,/\bProxy\b/i,/\bprototype\b/i,/\.(bind|call|apply)\s*\(/i];for(let Y of Z)if(Y.test($))return!1;return!0}var BW,b6,S6,_W,C6,HW,P6;var O0=E(()=>{BW={maxSanitizeDepth:10,allowBracketNotation:!1},b6={...BW},S6=[/\b(eval|Function|setTimeout|setInterval|setImmediate)\b/,/\b(process|require|import|exports|module)\b/,/\b(window|document|global|globalThis)\b/,/\b(constructor|prototype|__proto__)\b/,/\b(Reflect|Proxy)\b/,/\bSymbol\b/,/\b(WeakMap|WeakSet|WeakRef|FinalizationRegistry)\b/,/\b(Generator|AsyncGenerator)\b/,/__\w+__/,/\.(bind|call|apply)\s*\(/,/\bnew\s+/,/\bdelete\s+/,/\bthis\b/],_W=new Set(["eval","Function","setTimeout","setInterval","setImmediate","process","require","import","exports","module","window","document","global","globalThis","constructor","prototype","Reflect","Proxy","Symbol","WeakMap","WeakSet","WeakRef","FinalizationRegistry","Generator","AsyncGenerator","delete","this"]),C6=new Set(["__proto__","constructor","prototype"]),HW=/[\w)\]]\s*\[\s*['"]/;P6=new Set(["break","case","catch","class","const","continue","debugger","default","delete","do","else","enum","export","extends","false","finally","for","function","if","import","in","instanceof","new","null","return","super","switch","this","throw","true","try","typeof","var","void","while","with","yield","let","static","implements","interface","package","private","protected","public","arguments","eval","await"])});function AX(X,$){let Z=AW++,Y=`<!--__STX_${X.toUpperCase()}_${Z}__-->`;return RW.set(Y,{type:X,expression:$}),Y}var AW=0,RW;var v6=E(()=>{RW=new Map});function u6(X,$,Z,Y){Z.lastIndex=$;let J=Z.exec(X);if(!J||J.index!==$)return-1;Y.lastIndex=Z.lastIndex;let G=Y.exec(X);if(!G)return-1;return G.index+G[0].length}function A1(X,$){return u6(X,$,x6,f6)}function R5(X,$){return u6(X,$,g6,h6)}function V7(X,$){if(!X.startsWith("<!--",$))return-1;let Z=X.indexOf("-->",$+4);if(Z===-1)return-1;return Z+3}function NW(X,$){if(X.startsWith("<!--",$)){let Z=V7(X,$);return Z===-1?X.length:Z}for(let[Z,Y]of[[x6,f6],[g6,h6]]){Z.lastIndex=$;let J=Z.exec(X);if(!J||J.index!==$)continue;Y.lastIndex=Z.lastIndex;let G=Y.exec(X);return G?G.index+G[0].length:X.length}return-1}function r$(X,$){let Z=[],Y=0,J=X.length,G=!1,Q=null;while(Y<J){let q=X[Y];if(G){if(Q){if(q===Q)Q=null}else if(q==='"'||q==="'")Q=q;else if(q===">")G=!1;Y++;continue}if(q!=="<"){Y++;continue}let K=$(X,Y);if(K>Y){Z.push({start:Y,end:K,token:X.slice(Y,K)}),Y=K;continue}let U=NW(X,Y);if(U>Y){Y=U;continue}if(/^<\/?[a-zA-Z]/.test(X.slice(Y,Y+2)))G=!0;Y++}return Z}function $1(X,$,Z){let Y=r$(X,$);if(Y.length===0)return{output:X,tokens:[]};let J=Y.map((q)=>q.token),G="",Q=0;for(let q=0;q<Y.length;q++){let K=Y[q];G+=X.slice(Q,K.start),G+=Z(K.token,q),Q=K.end}return G+=X.slice(Q),{output:G,tokens:J}}function R1(X){let{output:$,tokens:Z}=$1(X,A1,(Y,J)=>`\x00STX_SCRIPT_${J}\x00`);return{output:$,scripts:Z}}function A7(X,$){if($.length===0)return X;return X.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Z,Y)=>$[+Y]??"")}var x6,f6,g6,h6;var l1=E(()=>{x6=/<script\b[^>]*>/iy,f6=/<\/script\s*>/ig,g6=/<style\b[^>]*>/iy,h6=/<\/style\s*>/ig});var n6={};n(n6,{usesSignalsInScript:()=>W1,unescapeHtml:()=>SW,registerFilters:()=>MW,registerFilter:()=>l6,processExpressions:()=>N1,interpolateScriptsInTemplate:()=>EW,interpolateScriptExpressions:()=>RX,interpolateScriptAttributes:()=>p6,getAllFilters:()=>c6,evaluateExpression:()=>P0,escapeHtml:()=>r0,defaultFilters:()=>N7,clearCustomFilters:()=>kW,applyFilters:()=>i6});function TW(X){let $=d6.get(X);if(!$){let Z=X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");$=new RegExp(`:${Z}(?!\\w)`,"g"),d6.set(X,$)}return $.lastIndex=0,$}function l6(X,$){if(X in N7)console.warn(`Filter "${X}" already exists as a built-in filter. Custom filter will take precedence.`);R7[X]=$}function MW(X){for(let[$,Z]of Object.entries(X))l6($,Z)}function c6(){return{...N7,...R7}}function kW(){for(let X of Object.keys(R7))delete R7[X]}function r0(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function W1(X){let{scripts:$}=R1(X);for(let Z of $){let Y=Z.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i);if(!Y||/\bserver\b|\bsrc\s*=/.test(Y[1]))continue;let J=Y[2];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(J))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test(X))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test(X))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test(X))return!0;return!1}function m6(X,$){let Z=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined","NaN","Infinity","isNaN","isFinite","window","document","console"],Y=X.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),J="",G=!1,Q=0;for(let U=0;U<Y.length;U++){let W=Y[U];if(!G&&W==="`"){G=!0,Q=0;continue}if(G){if(W==="`"&&Q===0){G=!1;continue}if(W==="$"&&Y[U+1]==="{"){Q++,U++,J+=" ";continue}if(W==="}"&&Q>0){Q--;continue}if(Q>0){J+=W;continue}continue}J+=W}Y=J;let q=/(?<![a-zA-Z0-9_$])([a-zA-Z_$][a-zA-Z0-9_$]*)/g,K;while((K=q.exec(Y))!==null){let U=K[1];if(!Y.substring(0,K.index).trimEnd().endsWith(".")){if(!Z.includes(U)&&!(U in $))return!1}}return!0}function IW(X,$){let Z=$.__stx_serverDeclared;if(!Z||Z.size===0)return!1;let Y=X1(X);for(let J of Z)if(new RegExp(`(?<![.#\\w$])${J}(?![\\w$])`).test(Y))return!0;return!1}function RX(X,$){let Z=X;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(Y,J)=>{try{let G=P0(J,$);if(G===void 0)return Y;return G===null?"":String(G)}catch{return Y}}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(Y,J)=>{let G=J.trim();if(/^__[A-Z_]+__$/.test(G))return Y;try{let Q=P0(J,$);if(Q===void 0)return Y;return JSON.stringify(Q).replace(/</g,"\\u003c")}catch{return Y}}),Z}function p6(X,$){if(!X.includes("{"))return X;let Z=X;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(Y,J)=>{try{let G=P0(J,$);if(G===void 0)return Y;return G===null?"":String(G)}catch{return Y}}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(Y,J)=>{let G=J.trim();if(/^__[A-Z_]+__$/.test(G))return Y;try{let Q=P0(J,$);if(Q===void 0)return Y;if(Q===null)return"";return String(Q).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}catch{return Y}}),Z}function EW(X,$,Z={}){let{output:Y,scripts:J}=R1(X),G=J.map((Q)=>{let q=Q.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i),K=Q.match(/^<script\b[^>]*>/i),U=Q.search(/<\/script\s*>$/i);if(!q||!K||U===-1)return Q;let W=q[1],w=q[2];if(/\bdata-raw\b/.test(W))return Q;if(Z.skipServer&&/\bserver\b/.test(W))return Q;let B=`<script${p6(W,$)}>`;if(/\bsrc\s*=/.test(W)||/\btype\s*=\s*["']application\/json["']/.test(W))return B+w+Q.slice(U);return B+RX(w,$)+Q.slice(U)});return A7(Y,G)}function N1(X,$,Z){let Y=X,J=(w,z)=>{let B=R5(w,z);if(B===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(w.slice(z,B))?-1:B},G=(w,z,B,j)=>{let _=B.length,{output:H,tokens:L}=$1(w,z,(O,F)=>j(_+F));return B.push(...L),H},Q=[];Y=G(Y,J,Q,(w)=>`<!--__STX_STYLE_${w}__-->`);let q=[];Y=G(Y,A1,q,(w)=>`<!--__STX_SCRIPT_EXPR_${w}__-->`);let K=$?.__stx_signals_gate===!0||W1(X),U=new Set(Array.isArray($?.__stx_client_signal_names)?$.__stx_client_signal_names:[]),W=new Set(Array.isArray($?.__stx_preserved_client_expressions)?$.__stx_preserved_client_expressions:[]);Y=Y.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(w,z,B)=>{try{let j=P0(z,$);return j!==void 0&&j!==null?String(j):""}catch(j){let _=j instanceof Error?j.message:String(j);return U0("Expression",`Error evaluating: {{{ ${z.trim()}}}}: ${_}`,Z,X,B,w)}}),Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(w,z,B)=>{try{let j=P0(z,$);if(j===void 0&&$.__stx_buildMode==="compile")return AX("raw",z.trim());return j!==void 0&&j!==null?String(j):""}catch(j){if($.__stx_buildMode==="compile")return AX("raw",z.trim());let _=j instanceof Error?j.message:String(j);return U0("Expression",`Error evaluating: {!! ${z.trim()} !!}: ${_}`,Z,X,B,w)}}),Y=G(Y,A1,q,(w)=>`<!--__STX_SCRIPT_EXPR_${w}__-->`),Y=G(Y,J,Q,(w)=>`<!--__STX_STYLE_${w}__-->`),Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(w,z,B)=>{let j=z.trim();if(W.has(j))return w;let _=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],H=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,O=j.match(H)?.[1],F=O&&((O in $)||_.includes(O)),V=Boolean(O&&U.has(O)),A=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,R=j.match(A),N=R&&!_.includes(R[1])&&!(R[1]in $);if(/^__[A-Z_]+__$/.test(j))return"";try{let T=P0(z,$);if(V)return w;if(K&&!m6(j,$))return w;if($.__stx_buildMode==="compile"&&!K&&(T===void 0||IW(j,$)))return AX("expr",j);return T!==void 0&&T!==null?r0(String(T)):""}catch(T){if(V)return w;if(K&&!m6(j,$))return w;if(N)return w;let k=T instanceof Error?T.message:String(T);return U0("Expression",`Error evaluating: {{ ${j} }}: ${k}`,Z,X,B,w)}});for(let w=0;w<q.length;w++)Y=Y.replace(`<!--__STX_SCRIPT_EXPR_${w}__-->`,()=>q[w]);for(let w=0;w<Q.length;w++)Y=Y.replace(`<!--__STX_STYLE_${w}__-->`,()=>Q[w]);return Y}function i6(X,$,Z){if(!$.trim())return X;let Y=X,J=$.trim();while(J.length>0){let G=J.match(/^(\w+)/);if(!G)break;let Q=G[1];J=J.substring(Q.length).trim();let q=R7[Q]||N7[Q];if(!q)throw Error(`Filter not found: ${Q}. Available filters: ${Object.keys(c6()).join(", ")}`);let K=[];if(J.startsWith(":")){let U=J.match(/^:([^|\s]+)/);if(U){let W=U[1].trim();try{let w=Number(W);K=[Number.isNaN(w)?W:w]}catch{K=[W]}J=J.substring(U[0].length).trim()}}else if(J.startsWith("(")){let U=1,W=1;while(U>0&&W<J.length){if(J[W]==="(")U++;if(J[W]===")")U--;W++}if(U===0){let w=J.substring(1,W-1).trim();if(w)try{if(w.startsWith("{")&&w.endsWith("}"))K=[P0(`(${w})`,Z,!0)];else{let z=[],B="",j=null,_=0,H=0,L=0,O=!1;for(let F=0;F<w.length;F++){let V=w[F];if(O){B+=V,O=!1;continue}if(V==="\\"){B+=V,O=!0;continue}if(j){if(B+=V,V===j)j=null;continue}if(V==='"'||V==="'"||V==="`"){j=V,B+=V;continue}if(V==="(")_++;else if(V===")")_--;else if(V==="[")H++;else if(V==="]")H--;else if(V==="{")L++;else if(V==="}")L--;if(V===","&&_===0&&H===0&&L===0){z.push(B),B="";continue}B+=V}if(B)z.push(B);K=z.map((F)=>{let V=F.trim();return P0(V,Z,!0)})}}catch{K=[w]}J=J.substring(W).trim()}}try{Y=q(Y,Z,...K)}catch(U){let W=U instanceof Error?U.message:String(U);throw Error(`Error applying filter '${Q}': ${W}`)}if(J.startsWith("|"))J=J.substring(1).trim();else break}return Y}function DW(X){let $=!1,Z="",Y=0,J=0,G=0,Q=!1;for(let q=0;q<X.length;q++){let K=X[q],U=X[q+1];if($&&Q){Q=!1;continue}if($&&K==="\\"){Q=!0;continue}if(Q=!1,(K==='"'||K==="'"||K==="`")&&!Q){if(!$)$=!0,Z=K;else if(K===Z)$=!1,Z="";continue}if($&&Z==="`"&&K==="$"&&U==="{"){let W=1;q+=2;while(q<X.length&&W>0){if(X[q]==="{")W++;else if(X[q]==="}")W--;if(W>0)q++}continue}if($)continue;if(K==="(")Y++;else if(K===")")Y--;else if(K==="[")J++;else if(K==="]")J--;else if(K==="{")G++;else if(K==="}")G--;if(K==="|"&&Y===0&&J===0&&G===0){if(U==="|"){q++;continue}if(U==="="){q++;continue}return q}}return-1}function P0(X,$,Z=!1){try{let Y=X.trim(),J=DW(Y);if(J>0){let G=Y.substring(0,J).trim(),Q=Y.substring(J+1).trim(),q=P0(G,$,!0);return i6(q,Q,$)}if(!G0(Y)){if(!Z)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${Y}`);return $0(Y,$)}try{let G=Object.keys($),Q=Object.values($);return Q0(Y,G)(...Q)}catch{return $0(Y,$)}}catch(Y){if(Y instanceof ReferenceError){let J=/(\b\w+)\s+is not defined/.exec(Y.message);if(J){let G=J[1],Q=yW(G,Object.keys($));if(Q&&Q!==G)Y.message=`${Y.message} \u2014 did you mean '${Q}'?`}}if(!Z)console.error(`Error evaluating expression: ${X}`,Y);throw Y}}function yW(X,$){let Z=null;for(let J of $){if(J===X)continue;let G=bW(X,J);if(Z===null||G<Z.dist)Z={key:J,dist:G}}if(!Z)return null;let Y=Math.max(X.length,Z.key.length);if(Z.dist<=2||Z.dist/Y<=0.35)return Z.key;return null}function bW(X,$){if(X===$)return 0;if(X.length===0)return $.length;if($.length===0)return X.length;let[Z,Y]=X.length<$.length?[X,$]:[$,X],J=Array(Z.length+1),G=Array(Z.length+1);for(let Q=0;Q<=Z.length;Q++)J[Q]=Q;for(let Q=1;Q<=Y.length;Q++){G[0]=Q;for(let q=1;q<=Z.length;q++){let K=Z[q-1]===Y[Q-1]?0:1;G[q]=Math.min(G[q-1]+1,J[q]+1,J[q-1]+K)}for(let q=0;q<=Z.length;q++)J[q]=G[q]}return J[Z.length]}function SW(X){if(!X)return"";return X.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#039;/g,"'").replace(/&#39;/g,"'").replace(/&amp;/g,"&")}var R7,d6,N7;var Z1=E(()=>{O0();A0();v6();l1();R7={},d6=new Map;N7={uppercase:(X,$)=>{return X!==void 0&&X!==null?String(X).toUpperCase():""},lowercase:(X,$)=>{return X!==void 0&&X!==null?String(X).toLowerCase():""},capitalize:(X,$)=>{if(X===void 0||X===null)return"";let Z=String(X);return Z.charAt(0).toUpperCase()+Z.slice(1)},number:(X,$,Z=0)=>{if(X===void 0||X===null)return"";try{let Y=Number(X);return Number.isNaN(Y)?"":Y.toFixed(Number.parseInt(String(Z),10))}catch{return""}},fmt:(X,$,Z="en-US")=>{if(X===void 0||X===null)return"";try{let Y=Number(X);if(Number.isNaN(Y))return String(X);return Y.toLocaleString(Z)}catch{return String(X)}},join:(X,$,Z=",")=>{if(!Array.isArray(X))return"";return X.join(String(Z))},escape:(X,$)=>{if(X===void 0||X===null)return"";return r0(String(X))},translate:(X,$,Z={})=>{if(!$||!$.__translations)return X;let Y=$.__translations,J=$.__i18nConfig?.fallbackToKey??!0,G=String(X).split("."),Q=Y;for(let K of G){if(Q===void 0||Q===null)break;Q=Q[K]}if(Q===void 0||Q===null)return J?X:"";let q=String(Q);return Object.entries(Z).forEach(([K,U])=>{q=q.replace(TW(K),String(U))}),q},t:(X,$,Z={})=>{return N7.translate(X,$,Z)},truncate:(X,$,Z=50,Y="...")=>{if(X===void 0||X===null)return"";let J=String(X);if(J.length<=Z)return J;if(Z<=Y.length)return Y.substring(0,Z);return J.substring(0,Z-Y.length)+Y},date:(X,$,Z="short",Y="en-US")=>{if(X===void 0||X===null)return"";try{let J=X instanceof Date?X:new Date(X);if(Number.isNaN(J.getTime()))return String(X);let G={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"},time:{timeStyle:"short"},datetime:{dateStyle:"short",timeStyle:"short"},iso:{}};if(Z==="iso")return J.toISOString();return new Intl.DateTimeFormat(Y,G[Z]||G.short).format(J)}catch{return String(X)}},currency:(X,$,Z="USD",Y="en-US")=>{if(X===void 0||X===null)return"";try{let J=Number(X);if(Number.isNaN(J))return String(X);return new Intl.NumberFormat(Y,{style:"currency",currency:Z}).format(J)}catch{return String(X)}},pluralize:(X,$,Z,Y)=>{let J=Number(X);if(Number.isNaN(J))return Z;let G=Y||`${Z}s`;return J===1?Z:G},first:(X,$)=>{if(X===void 0||X===null)return"";if(Array.isArray(X))return X.length===0?"":X[0];return String(X).charAt(0)},last:(X,$)=>{if(X===void 0||X===null)return"";if(Array.isArray(X))return X.length===0?"":X[X.length-1];let Z=String(X);return Z.charAt(Z.length-1)},length:(X,$)=>{if(X===void 0||X===null)return 0;if(Array.isArray(X)||typeof X==="string")return X.length;if(X instanceof Map||X instanceof Set)return X.size;if(typeof X==="object")return Object.keys(X).length;return 0},json:(X,$,Z=!1)=>{if(X===void 0)return"undefined";if(X===null)return"null";try{return Z?JSON.stringify(X,null,2):JSON.stringify(X)}catch{return String(X)}},default:(X,$,Z="")=>{return X===void 0||X===null||X===""?Z:X},reverse:(X,$)=>{if(X===void 0||X===null)return"";if(Array.isArray(X))return[...X].reverse();return String(X).split("").reverse().join("")},slice:(X,$,Z=0,Y)=>{if(X===void 0||X===null)return"";if(Array.isArray(X)||typeof X==="string")return X.slice(Z,Y);return X},replace:(X,$,Z,Y="")=>{if(X===void 0||X===null)return"";let J=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String(X).replace(new RegExp(J,"g"),()=>Y)},stripTags:(X,$)=>{if(X===void 0||X===null)return"";return String(X).replace(/<[^>]*>/g,"")},urlencode:(X,$)=>{if(X===void 0||X===null)return"";return encodeURIComponent(String(X))},abs:(X,$)=>{let Z=Number(X);return Number.isNaN(Z)?0:Math.abs(Z)},round:(X,$,Z=0)=>{let Y=Number(X);if(Number.isNaN(Y))return 0;let J=10**Z;return Math.round(Y*J)/J}}});class c1{cache=new Map;maxSize;constructor(X=100){this.maxSize=X}get(X){if(!this.cache.has(X))return;let $=this.cache.get(X);return this.cache.delete(X),this.cache.set(X,$),$}set(X,$){if(this.cache.has(X))this.cache.delete(X);else if(this.cache.size>=this.maxSize){let Z=this.cache.keys().next().value;if(Z!==void 0)this.cache.delete(Z)}this.cache.set(X,$)}has(X){return this.cache.has(X)}delete(X){return this.cache.delete(X)}clear(){this.cache.clear()}get size(){return this.cache.size}keys(){return this.cache.keys()}values(){return this.cache.values()}}function T5(X,$){if($?.includes("g"))return new RegExp(X,$);let Z=`${X}:${$||""}`;if(!N5.has(Z)){if(N5.size>=CW){let Y=N5.keys().next().value;if(Y)N5.delete(Y)}N5.set(Z,new RegExp(X,$))}return N5.get(Z)}class r6{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator(X){let $=Array.from(new Set(X)),Z=$.sort().join(","),Y=this.pool.find((q)=>q.context.join(",")===Z);if(Y)return Y.func;let J=this.fnCache,G=this.fnCacheMaxSize,Q=(...q)=>{return(K)=>{try{let U=`${Z}:${K}`,W=J.get(U);if(!W){if(J.size>=G){let w=J.keys().next().value;if(w)J.delete(w)}W=Function(...$,`
3722
+ `),q=Q([]);if(G.length===$.length)return y6(q,G,Q);return y6((...U)=>{let W=Array(J.length);for(let w=0;w<J.length;w++)W[w]=U[J[w]];return q(...W)},G,Q,(U)=>{q=Q(U)})}function y6(X,$,Z,Y){let G=/^(\w+) is not defined$/,Q=X,q=[],K=new Set($);return(...U)=>{for(let W=0;W<=8;W++)try{return Q(...U)}catch(w){let z=w instanceof Error?w.message:"",B=G.exec(z);if(!(w instanceof ReferenceError)||!B)return;let j=B[1];if(K.has(j)||P6.has(j))return;K.add(j),q.push(j),Q=Z(q),Y?.(q)}return}}function VX(X){let $=X.trim(),Z=[/\beval\s*\(/i,/\bFunction\s*\(/i,/\bimport\s*\(/i,/\brequire\s*\(/i,/\bprocess\b/i,/\b__proto__\b/i,/\bconstructor\s*[.(]/i,/\bglobalThis\b/i,/\bwindow\b/i,/\bdocument\b/i,/\bfetch\s*\(/i,/\bBun\b/i,/\bDeno\b/i,/\bconsole\b/i,/\bthis\b/i,/\bReflect\b/i,/\bProxy\b/i,/\bprototype\b/i,/\.(bind|call|apply)\s*\(/i];for(let Y of Z)if(Y.test($))return!1;return!0}var BW,b6,S6,_W,C6,HW,P6;var O0=E(()=>{BW={maxSanitizeDepth:10,allowBracketNotation:!1},b6={...BW},S6=[/\b(eval|Function|setTimeout|setInterval|setImmediate)\b/,/\b(process|require|import|exports|module)\b/,/\b(window|document|global|globalThis)\b/,/\b(constructor|prototype|__proto__)\b/,/\b(Reflect|Proxy)\b/,/\bSymbol\b/,/\b(WeakMap|WeakSet|WeakRef|FinalizationRegistry)\b/,/\b(Generator|AsyncGenerator)\b/,/__\w+__/,/\.(bind|call|apply)\s*\(/,/\bnew\s+/,/\bdelete\s+/,/\bthis\b/],_W=new Set(["eval","Function","setTimeout","setInterval","setImmediate","process","require","import","exports","module","window","document","global","globalThis","constructor","prototype","Reflect","Proxy","Symbol","WeakMap","WeakSet","WeakRef","FinalizationRegistry","Generator","AsyncGenerator","delete","this"]),C6=new Set(["__proto__","constructor","prototype"]),HW=/[\w)\]]\s*\[\s*['"]/;P6=new Set(["break","case","catch","class","const","continue","debugger","default","delete","do","else","enum","export","extends","false","finally","for","function","if","import","in","instanceof","new","null","return","super","switch","this","throw","true","try","typeof","var","void","while","with","yield","let","static","implements","interface","package","private","protected","public","arguments","eval","await"])});function AX(X,$){let Z=AW++,Y=`<!--__STX_${X.toUpperCase()}_${Z}__-->`;return RW.set(Y,{type:X,expression:$}),Y}var AW=0,RW;var v6=E(()=>{RW=new Map});function u6(X,$,Z,Y){Z.lastIndex=$;let J=Z.exec(X);if(!J||J.index!==$)return-1;Y.lastIndex=Z.lastIndex;let G=Y.exec(X);if(!G)return-1;return G.index+G[0].length}function A1(X,$){return u6(X,$,x6,f6)}function R5(X,$){return u6(X,$,g6,h6)}function V7(X,$){if(!X.startsWith("<!--",$))return-1;let Z=X.indexOf("-->",$+4);if(Z===-1)return-1;return Z+3}function TW(X,$){if(X.startsWith("<!--",$)){let Z=V7(X,$);return Z===-1?X.length:Z}for(let[Z,Y]of[[x6,f6],[g6,h6]]){Z.lastIndex=$;let J=Z.exec(X);if(!J||J.index!==$)continue;Y.lastIndex=Z.lastIndex;let G=Y.exec(X);return G?G.index+G[0].length:X.length}return-1}function r$(X,$){let Z=[],Y=0,J=X.length,G=!1,Q=null;while(Y<J){let q=X[Y];if(G){if(Q){if(q===Q)Q=null}else if(q==='"'||q==="'")Q=q;else if(q===">")G=!1;Y++;continue}if(q!=="<"){Y++;continue}let K=$(X,Y);if(K>Y){Z.push({start:Y,end:K,token:X.slice(Y,K)}),Y=K;continue}let U=TW(X,Y);if(U>Y){Y=U;continue}if(/^<\/?[a-zA-Z]/.test(X.slice(Y,Y+2)))G=!0;Y++}return Z}function $1(X,$,Z){let Y=r$(X,$);if(Y.length===0)return{output:X,tokens:[]};let J=Y.map((q)=>q.token),G="",Q=0;for(let q=0;q<Y.length;q++){let K=Y[q];G+=X.slice(Q,K.start),G+=Z(K.token,q),Q=K.end}return G+=X.slice(Q),{output:G,tokens:J}}function R1(X){let{output:$,tokens:Z}=$1(X,A1,(Y,J)=>`\x00STX_SCRIPT_${J}\x00`);return{output:$,scripts:Z}}function A7(X,$){if($.length===0)return X;return X.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Z,Y)=>$[+Y]??"")}var x6,f6,g6,h6;var l1=E(()=>{x6=/<script\b[^>]*>/iy,f6=/<\/script\s*>/ig,g6=/<style\b[^>]*>/iy,h6=/<\/style\s*>/ig});var n6={};n(n6,{usesSignalsInScript:()=>W1,unescapeHtml:()=>SW,registerFilters:()=>MW,registerFilter:()=>l6,processExpressions:()=>T1,interpolateScriptsInTemplate:()=>EW,interpolateScriptExpressions:()=>RX,interpolateScriptAttributes:()=>p6,getAllFilters:()=>c6,evaluateExpression:()=>P0,escapeHtml:()=>o0,defaultFilters:()=>T7,clearCustomFilters:()=>kW,applyFilters:()=>i6});function NW(X){let $=d6.get(X);if(!$){let Z=X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");$=new RegExp(`:${Z}(?!\\w)`,"g"),d6.set(X,$)}return $.lastIndex=0,$}function l6(X,$){if(X in T7)console.warn(`Filter "${X}" already exists as a built-in filter. Custom filter will take precedence.`);R7[X]=$}function MW(X){for(let[$,Z]of Object.entries(X))l6($,Z)}function c6(){return{...T7,...R7}}function kW(){for(let X of Object.keys(R7))delete R7[X]}function o0(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function W1(X){let{scripts:$}=R1(X);for(let Z of $){let Y=Z.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i);if(!Y||/\bserver\b|\bsrc\s*=/.test(Y[1]))continue;let J=Y[2];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(J))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test(X))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test(X))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test(X))return!0;return!1}function m6(X,$){let Z=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined","NaN","Infinity","isNaN","isFinite","window","document","console"],Y=X.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),J="",G=!1,Q=0;for(let U=0;U<Y.length;U++){let W=Y[U];if(!G&&W==="`"){G=!0,Q=0;continue}if(G){if(W==="`"&&Q===0){G=!1;continue}if(W==="$"&&Y[U+1]==="{"){Q++,U++,J+=" ";continue}if(W==="}"&&Q>0){Q--;continue}if(Q>0){J+=W;continue}continue}J+=W}Y=J;let q=/(?<![a-zA-Z0-9_$])([a-zA-Z_$][a-zA-Z0-9_$]*)/g,K;while((K=q.exec(Y))!==null){let U=K[1];if(!Y.substring(0,K.index).trimEnd().endsWith(".")){if(!Z.includes(U)&&!(U in $))return!1}}return!0}function IW(X,$){let Z=$.__stx_serverDeclared;if(!Z||Z.size===0)return!1;let Y=l0(X);for(let J of Z)if(new RegExp(`(?<![.#\\w$])${J}(?![\\w$])`).test(Y))return!0;return!1}function RX(X,$){let Z=X;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(Y,J)=>{try{let G=P0(J,$);if(G===void 0)return Y;return G===null?"":String(G)}catch{return Y}}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(Y,J)=>{let G=J.trim();if(/^__[A-Z_]+__$/.test(G))return Y;try{let Q=P0(J,$);if(Q===void 0)return Y;return JSON.stringify(Q).replace(/</g,"\\u003c")}catch{return Y}}),Z}function p6(X,$){if(!X.includes("{"))return X;let Z=X;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(Y,J)=>{try{let G=P0(J,$);if(G===void 0)return Y;return G===null?"":String(G)}catch{return Y}}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(Y,J)=>{let G=J.trim();if(/^__[A-Z_]+__$/.test(G))return Y;try{let Q=P0(J,$);if(Q===void 0)return Y;if(Q===null)return"";return String(Q).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}catch{return Y}}),Z}function EW(X,$,Z={}){let{output:Y,scripts:J}=R1(X),G=J.map((Q)=>{let q=Q.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i),K=Q.match(/^<script\b[^>]*>/i),U=Q.search(/<\/script\s*>$/i);if(!q||!K||U===-1)return Q;let W=q[1],w=q[2];if(/\bdata-raw\b/.test(W))return Q;if(Z.skipServer&&/\bserver\b/.test(W))return Q;let B=`<script${p6(W,$)}>`;if(/\bsrc\s*=/.test(W)||/\btype\s*=\s*["']application\/json["']/.test(W))return B+w+Q.slice(U);return B+RX(w,$)+Q.slice(U)});return A7(Y,G)}function T1(X,$,Z){let Y=X,J=(w,z)=>{let B=R5(w,z);if(B===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(w.slice(z,B))?-1:B},G=(w,z,B,j)=>{let _=B.length,{output:H,tokens:L}=$1(w,z,(O,F)=>j(_+F));return B.push(...L),H},Q=[];Y=G(Y,J,Q,(w)=>`<!--__STX_STYLE_${w}__-->`);let q=[];Y=G(Y,A1,q,(w)=>`<!--__STX_SCRIPT_EXPR_${w}__-->`);let K=$?.__stx_signals_gate===!0||W1(X),U=new Set(Array.isArray($?.__stx_client_signal_names)?$.__stx_client_signal_names:[]),W=new Set(Array.isArray($?.__stx_preserved_client_expressions)?$.__stx_preserved_client_expressions:[]);Y=Y.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(w,z,B)=>{try{let j=P0(z,$);return j!==void 0&&j!==null?String(j):""}catch(j){let _=j instanceof Error?j.message:String(j);return U0("Expression",`Error evaluating: {{{ ${z.trim()}}}}: ${_}`,Z,X,B,w)}}),Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(w,z,B)=>{try{let j=P0(z,$);if(j===void 0&&$.__stx_buildMode==="compile")return AX("raw",z.trim());return j!==void 0&&j!==null?String(j):""}catch(j){if($.__stx_buildMode==="compile")return AX("raw",z.trim());let _=j instanceof Error?j.message:String(j);return U0("Expression",`Error evaluating: {!! ${z.trim()} !!}: ${_}`,Z,X,B,w)}}),Y=G(Y,A1,q,(w)=>`<!--__STX_SCRIPT_EXPR_${w}__-->`),Y=G(Y,J,Q,(w)=>`<!--__STX_STYLE_${w}__-->`),Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(w,z,B)=>{let j=z.trim();if(W.has(j))return w;let _=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],H=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,O=j.match(H)?.[1],F=O&&((O in $)||_.includes(O)),V=Boolean(O&&U.has(O)),A=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,R=j.match(A),T=R&&!_.includes(R[1])&&!(R[1]in $);if(/^__[A-Z_]+__$/.test(j))return"";try{let N=P0(z,$);if(V)return w;if(K&&!m6(j,$))return w;if($.__stx_buildMode==="compile"&&!K&&(N===void 0||IW(j,$)))return AX("expr",j);return N!==void 0&&N!==null?o0(String(N)):""}catch(N){if(V)return w;if(K&&!m6(j,$))return w;if(T)return w;let k=N instanceof Error?N.message:String(N);return U0("Expression",`Error evaluating: {{ ${j} }}: ${k}`,Z,X,B,w)}});for(let w=0;w<q.length;w++)Y=Y.replace(`<!--__STX_SCRIPT_EXPR_${w}__-->`,()=>q[w]);for(let w=0;w<Q.length;w++)Y=Y.replace(`<!--__STX_STYLE_${w}__-->`,()=>Q[w]);return Y}function i6(X,$,Z){if(!$.trim())return X;let Y=X,J=$.trim();while(J.length>0){let G=J.match(/^(\w+)/);if(!G)break;let Q=G[1];J=J.substring(Q.length).trim();let q=R7[Q]||T7[Q];if(!q)throw Error(`Filter not found: ${Q}. Available filters: ${Object.keys(c6()).join(", ")}`);let K=[];if(J.startsWith(":")){let U=J.match(/^:([^|\s]+)/);if(U){let W=U[1].trim();try{let w=Number(W);K=[Number.isNaN(w)?W:w]}catch{K=[W]}J=J.substring(U[0].length).trim()}}else if(J.startsWith("(")){let U=1,W=1;while(U>0&&W<J.length){if(J[W]==="(")U++;if(J[W]===")")U--;W++}if(U===0){let w=J.substring(1,W-1).trim();if(w)try{if(w.startsWith("{")&&w.endsWith("}"))K=[P0(`(${w})`,Z,!0)];else{let z=[],B="",j=null,_=0,H=0,L=0,O=!1;for(let F=0;F<w.length;F++){let V=w[F];if(O){B+=V,O=!1;continue}if(V==="\\"){B+=V,O=!0;continue}if(j){if(B+=V,V===j)j=null;continue}if(V==='"'||V==="'"||V==="`"){j=V,B+=V;continue}if(V==="(")_++;else if(V===")")_--;else if(V==="[")H++;else if(V==="]")H--;else if(V==="{")L++;else if(V==="}")L--;if(V===","&&_===0&&H===0&&L===0){z.push(B),B="";continue}B+=V}if(B)z.push(B);K=z.map((F)=>{let V=F.trim();return P0(V,Z,!0)})}}catch{K=[w]}J=J.substring(W).trim()}}try{Y=q(Y,Z,...K)}catch(U){let W=U instanceof Error?U.message:String(U);throw Error(`Error applying filter '${Q}': ${W}`)}if(J.startsWith("|"))J=J.substring(1).trim();else break}return Y}function DW(X){let $=!1,Z="",Y=0,J=0,G=0,Q=!1;for(let q=0;q<X.length;q++){let K=X[q],U=X[q+1];if($&&Q){Q=!1;continue}if($&&K==="\\"){Q=!0;continue}if(Q=!1,(K==='"'||K==="'"||K==="`")&&!Q){if(!$)$=!0,Z=K;else if(K===Z)$=!1,Z="";continue}if($&&Z==="`"&&K==="$"&&U==="{"){let W=1;q+=2;while(q<X.length&&W>0){if(X[q]==="{")W++;else if(X[q]==="}")W--;if(W>0)q++}continue}if($)continue;if(K==="(")Y++;else if(K===")")Y--;else if(K==="[")J++;else if(K==="]")J--;else if(K==="{")G++;else if(K==="}")G--;if(K==="|"&&Y===0&&J===0&&G===0){if(U==="|"){q++;continue}if(U==="="){q++;continue}return q}}return-1}function P0(X,$,Z=!1){try{let Y=X.trim(),J=DW(Y);if(J>0){let G=Y.substring(0,J).trim(),Q=Y.substring(J+1).trim(),q=P0(G,$,!0);return i6(q,Q,$)}if(!G0(Y)){if(!Z)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${Y}`);return $0(Y,$)}try{let G=Object.keys($),Q=Object.values($);return Q0(Y,G)(...Q)}catch{return $0(Y,$)}}catch(Y){if(Y instanceof ReferenceError){let J=/(\b\w+)\s+is not defined/.exec(Y.message);if(J){let G=J[1],Q=yW(G,Object.keys($));if(Q&&Q!==G)Y.message=`${Y.message} \u2014 did you mean '${Q}'?`}}if(!Z)console.error(`Error evaluating expression: ${X}`,Y);throw Y}}function yW(X,$){let Z=null;for(let J of $){if(J===X)continue;let G=bW(X,J);if(Z===null||G<Z.dist)Z={key:J,dist:G}}if(!Z)return null;let Y=Math.max(X.length,Z.key.length);if(Z.dist<=2||Z.dist/Y<=0.35)return Z.key;return null}function bW(X,$){if(X===$)return 0;if(X.length===0)return $.length;if($.length===0)return X.length;let[Z,Y]=X.length<$.length?[X,$]:[$,X],J=Array(Z.length+1),G=Array(Z.length+1);for(let Q=0;Q<=Z.length;Q++)J[Q]=Q;for(let Q=1;Q<=Y.length;Q++){G[0]=Q;for(let q=1;q<=Z.length;q++){let K=Z[q-1]===Y[Q-1]?0:1;G[q]=Math.min(G[q-1]+1,J[q]+1,J[q-1]+K)}for(let q=0;q<=Z.length;q++)J[q]=G[q]}return J[Z.length]}function SW(X){if(!X)return"";return X.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#039;/g,"'").replace(/&#39;/g,"'").replace(/&amp;/g,"&")}var R7,d6,T7;var Z1=E(()=>{O0();A0();v6();l1();R7={},d6=new Map;T7={uppercase:(X,$)=>{return X!==void 0&&X!==null?String(X).toUpperCase():""},lowercase:(X,$)=>{return X!==void 0&&X!==null?String(X).toLowerCase():""},capitalize:(X,$)=>{if(X===void 0||X===null)return"";let Z=String(X);return Z.charAt(0).toUpperCase()+Z.slice(1)},number:(X,$,Z=0)=>{if(X===void 0||X===null)return"";try{let Y=Number(X);return Number.isNaN(Y)?"":Y.toFixed(Number.parseInt(String(Z),10))}catch{return""}},fmt:(X,$,Z="en-US")=>{if(X===void 0||X===null)return"";try{let Y=Number(X);if(Number.isNaN(Y))return String(X);return Y.toLocaleString(Z)}catch{return String(X)}},join:(X,$,Z=",")=>{if(!Array.isArray(X))return"";return X.join(String(Z))},escape:(X,$)=>{if(X===void 0||X===null)return"";return o0(String(X))},translate:(X,$,Z={})=>{if(!$||!$.__translations)return X;let Y=$.__translations,J=$.__i18nConfig?.fallbackToKey??!0,G=String(X).split("."),Q=Y;for(let K of G){if(Q===void 0||Q===null)break;Q=Q[K]}if(Q===void 0||Q===null)return J?X:"";let q=String(Q);return Object.entries(Z).forEach(([K,U])=>{q=q.replace(NW(K),String(U))}),q},t:(X,$,Z={})=>{return T7.translate(X,$,Z)},truncate:(X,$,Z=50,Y="...")=>{if(X===void 0||X===null)return"";let J=String(X);if(J.length<=Z)return J;if(Z<=Y.length)return Y.substring(0,Z);return J.substring(0,Z-Y.length)+Y},date:(X,$,Z="short",Y="en-US")=>{if(X===void 0||X===null)return"";try{let J=X instanceof Date?X:new Date(X);if(Number.isNaN(J.getTime()))return String(X);let G={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"},time:{timeStyle:"short"},datetime:{dateStyle:"short",timeStyle:"short"},iso:{}};if(Z==="iso")return J.toISOString();return new Intl.DateTimeFormat(Y,G[Z]||G.short).format(J)}catch{return String(X)}},currency:(X,$,Z="USD",Y="en-US")=>{if(X===void 0||X===null)return"";try{let J=Number(X);if(Number.isNaN(J))return String(X);return new Intl.NumberFormat(Y,{style:"currency",currency:Z}).format(J)}catch{return String(X)}},pluralize:(X,$,Z,Y)=>{let J=Number(X);if(Number.isNaN(J))return Z;let G=Y||`${Z}s`;return J===1?Z:G},first:(X,$)=>{if(X===void 0||X===null)return"";if(Array.isArray(X))return X.length===0?"":X[0];return String(X).charAt(0)},last:(X,$)=>{if(X===void 0||X===null)return"";if(Array.isArray(X))return X.length===0?"":X[X.length-1];let Z=String(X);return Z.charAt(Z.length-1)},length:(X,$)=>{if(X===void 0||X===null)return 0;if(Array.isArray(X)||typeof X==="string")return X.length;if(X instanceof Map||X instanceof Set)return X.size;if(typeof X==="object")return Object.keys(X).length;return 0},json:(X,$,Z=!1)=>{if(X===void 0)return"undefined";if(X===null)return"null";try{return Z?JSON.stringify(X,null,2):JSON.stringify(X)}catch{return String(X)}},default:(X,$,Z="")=>{return X===void 0||X===null||X===""?Z:X},reverse:(X,$)=>{if(X===void 0||X===null)return"";if(Array.isArray(X))return[...X].reverse();return String(X).split("").reverse().join("")},slice:(X,$,Z=0,Y)=>{if(X===void 0||X===null)return"";if(Array.isArray(X)||typeof X==="string")return X.slice(Z,Y);return X},replace:(X,$,Z,Y="")=>{if(X===void 0||X===null)return"";let J=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String(X).replace(new RegExp(J,"g"),()=>Y)},stripTags:(X,$)=>{if(X===void 0||X===null)return"";return String(X).replace(/<[^>]*>/g,"")},urlencode:(X,$)=>{if(X===void 0||X===null)return"";return encodeURIComponent(String(X))},abs:(X,$)=>{let Z=Number(X);return Number.isNaN(Z)?0:Math.abs(Z)},round:(X,$,Z=0)=>{let Y=Number(X);if(Number.isNaN(Y))return 0;let J=10**Z;return Math.round(Y*J)/J}}});class c1{cache=new Map;maxSize;constructor(X=100){this.maxSize=X}get(X){if(!this.cache.has(X))return;let $=this.cache.get(X);return this.cache.delete(X),this.cache.set(X,$),$}set(X,$){if(this.cache.has(X))this.cache.delete(X);else if(this.cache.size>=this.maxSize){let Z=this.cache.keys().next().value;if(Z!==void 0)this.cache.delete(Z)}this.cache.set(X,$)}has(X){return this.cache.has(X)}delete(X){return this.cache.delete(X)}clear(){this.cache.clear()}get size(){return this.cache.size}keys(){return this.cache.keys()}values(){return this.cache.values()}}function N5(X,$){if($?.includes("g"))return new RegExp(X,$);let Z=`${X}:${$||""}`;if(!T5.has(Z)){if(T5.size>=CW){let Y=T5.keys().next().value;if(Y)T5.delete(Y)}T5.set(Z,new RegExp(X,$))}return T5.get(Z)}class r6{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator(X){let $=Array.from(new Set(X)),Z=$.sort().join(","),Y=this.pool.find((q)=>q.context.join(",")===Z);if(Y)return Y.func;let J=this.fnCache,G=this.fnCacheMaxSize,Q=(...q)=>{return(K)=>{try{let U=`${Z}:${K}`,W=J.get(U);if(!W){if(J.size>=G){let w=J.keys().next().value;if(w)J.delete(w)}W=Function(...$,`
3723
3723
  'use strict';
3724
3724
  try {
3725
3725
  return ${K};
@@ -3730,34 +3730,34 @@ catch (e) {
3730
3730
  }
3731
3731
  throw e;
3732
3732
  }
3733
- `),J.set(U,W)}return W(...q)}catch{return}}};if(this.pool.length<this.maxPoolSize)this.pool.push({func:Q,context:$.slice()});return Q}clear(){this.pool.length=0,this.fnCache.clear()}}class o6{metrics=new Map;budgets=new Map;violations=[];maxViolations=100;violationHandlers=[];enabled=!0;setEnabled(X){this.enabled=X}isEnabled(){return this.enabled}setBudget(X,$){this.budgets.set(X,{warnThreshold:0.8,action:"warn",...$})}setBudgets(X){for(let[$,Z]of Object.entries(X))this.setBudget($,Z)}removeBudget(X){this.budgets.delete(X)}getBudgets(){let X={};for(let[$,Z]of this.budgets.entries())X[$]=Z;return X}onViolation(X){this.violationHandlers.push(X)}offViolation(X){let $=this.violationHandlers.indexOf(X);if($!==-1)this.violationHandlers.splice($,1)}time(X,$){if(!this.enabled)return $();let Z=performance.now(),Y=$(),J=performance.now()-Z;return this.recordTime(X,J),this.checkBudget(X,J),Y}async timeAsync(X,$){if(!this.enabled)return $();let Z=performance.now(),Y=await $(),J=performance.now()-Z;return this.recordTime(X,J),this.checkBudget(X,J),Y}checkBudget(X,$){let Z=this.budgets.get(X);if(!Z)return;let Y=$/Z.maxTime*100,J=Z.warnThreshold!==void 0?$>=Z.maxTime*Z.warnThreshold&&$<Z.maxTime:!1,G=$>=Z.maxTime;if(!J&&!G)return;let Q={label:X,actualTime:$,budgetTime:Z.maxTime,exceedancePercent:Y,timestamp:new Date,isWarning:J};this.violations.push(Q);while(this.violations.length>this.maxViolations)this.violations.shift();for(let K of this.violationHandlers)try{K(Q)}catch{}let q=J?`[Performance Warning] "${X}" took ${$.toFixed(2)}ms (${Y.toFixed(1)}% of ${Z.maxTime}ms budget)`:`[Performance Budget Exceeded] "${X}" took ${$.toFixed(2)}ms (exceeded ${Z.maxTime}ms budget by ${(Y-100).toFixed(1)}%)`;switch(Z.action){case"log":console.log(q);break;case"warn":console.warn(q);break;case"error":console.error(q);break;case"throw":if(G)throw Error(q);else console.warn(q);break}}recordTime(X,$){let Z=this.metrics.get(X);if(Z)Z.count++,Z.totalTime+=$,Z.maxTime=Math.max(Z.maxTime,$),Z.minTime=Math.min(Z.minTime,$);else this.metrics.set(X,{count:1,totalTime:$,maxTime:$,minTime:$})}getStats(X){if(X){let Z=this.metrics.get(X);if(!Z)return{};let Y=this.budgets.get(X);return{count:Z.count,avgTime:Z.totalTime/Z.count,totalTime:Z.totalTime,maxTime:Z.maxTime,minTime:Z.minTime,budget:Y?.maxTime,budgetUtilization:Y?Z.totalTime/Z.count/Y.maxTime*100:void 0}}let $={};for(let[Z,Y]of this.metrics.entries()){let J=this.budgets.get(Z);$[Z]={count:Y.count,avgTime:Y.totalTime/Y.count,totalTime:Y.totalTime,maxTime:Y.maxTime,minTime:Y.minTime,budget:J?.maxTime,budgetUtilization:J?Y.totalTime/Y.count/J.maxTime*100:void 0}}return $}getViolations(X){if(X)return this.violations.filter(($)=>$.label===X);return[...this.violations]}getViolationStats(){let X={},$=0,Z=0;for(let Y of this.violations)if(X[Y.label]=(X[Y.label]||0)+1,Y.isWarning)$++;else Z++;return{total:this.violations.length,byLabel:X,warnings:$,errors:Z}}clear(){this.metrics.clear()}clearViolations(){this.violations.length=0}clearBudgets(){this.budgets.clear()}reset(){this.clear(),this.clearViolations(),this.clearBudgets(),this.violationHandlers.length=0}}function PW(){if(!o$)o$=new o6;return o$}var N5,CW=500,xV,o$=null,s6;var M5=E(()=>{N5=new Map;xV=new r6;s6=new Proxy({},{get(X,$){return PW()[$]}})});function a6(X,$=""){let Z=`${X}${$}`,Y=0;for(let J=0;J<Z.length;J++){let G=Z.charCodeAt(J);Y=(Y<<5)-Y+G,Y=Y&Y}return`stx-${Math.abs(Y).toString(36)}`}function t6(X,$,Z={}){let{prefix:Y="",preserveHost:J=!0,scopeKeyframes:G=!0,scopeCustomProperties:Q=!1}=Z;if(!X.trim())return"";let q=s$(X),K=[],U=new Map;if(G)for(let W of q){let w=W.selector.match(/@keyframes\s+([a-z_-][a-z0-9_-]*)/i);if(w){let z=w[1],B=`${$}_${z}`;U.set(z,B)}}for(let W of q){let w=e6(W,$,Y,J,U,Q);K.push(w)}return K.join(`
3733
+ `),J.set(U,W)}return W(...q)}catch{return}}};if(this.pool.length<this.maxPoolSize)this.pool.push({func:Q,context:$.slice()});return Q}clear(){this.pool.length=0,this.fnCache.clear()}}class o6{metrics=new Map;budgets=new Map;violations=[];maxViolations=100;violationHandlers=[];enabled=!0;setEnabled(X){this.enabled=X}isEnabled(){return this.enabled}setBudget(X,$){this.budgets.set(X,{warnThreshold:0.8,action:"warn",...$})}setBudgets(X){for(let[$,Z]of Object.entries(X))this.setBudget($,Z)}removeBudget(X){this.budgets.delete(X)}getBudgets(){let X={};for(let[$,Z]of this.budgets.entries())X[$]=Z;return X}onViolation(X){this.violationHandlers.push(X)}offViolation(X){let $=this.violationHandlers.indexOf(X);if($!==-1)this.violationHandlers.splice($,1)}time(X,$){if(!this.enabled)return $();let Z=performance.now(),Y=$(),J=performance.now()-Z;return this.recordTime(X,J),this.checkBudget(X,J),Y}async timeAsync(X,$){if(!this.enabled)return $();let Z=performance.now(),Y=await $(),J=performance.now()-Z;return this.recordTime(X,J),this.checkBudget(X,J),Y}checkBudget(X,$){let Z=this.budgets.get(X);if(!Z)return;let Y=$/Z.maxTime*100,J=Z.warnThreshold!==void 0?$>=Z.maxTime*Z.warnThreshold&&$<Z.maxTime:!1,G=$>=Z.maxTime;if(!J&&!G)return;let Q={label:X,actualTime:$,budgetTime:Z.maxTime,exceedancePercent:Y,timestamp:new Date,isWarning:J};this.violations.push(Q);while(this.violations.length>this.maxViolations)this.violations.shift();for(let K of this.violationHandlers)try{K(Q)}catch{}let q=J?`[Performance Warning] "${X}" took ${$.toFixed(2)}ms (${Y.toFixed(1)}% of ${Z.maxTime}ms budget)`:`[Performance Budget Exceeded] "${X}" took ${$.toFixed(2)}ms (exceeded ${Z.maxTime}ms budget by ${(Y-100).toFixed(1)}%)`;switch(Z.action){case"log":console.log(q);break;case"warn":console.warn(q);break;case"error":console.error(q);break;case"throw":if(G)throw Error(q);else console.warn(q);break}}recordTime(X,$){let Z=this.metrics.get(X);if(Z)Z.count++,Z.totalTime+=$,Z.maxTime=Math.max(Z.maxTime,$),Z.minTime=Math.min(Z.minTime,$);else this.metrics.set(X,{count:1,totalTime:$,maxTime:$,minTime:$})}getStats(X){if(X){let Z=this.metrics.get(X);if(!Z)return{};let Y=this.budgets.get(X);return{count:Z.count,avgTime:Z.totalTime/Z.count,totalTime:Z.totalTime,maxTime:Z.maxTime,minTime:Z.minTime,budget:Y?.maxTime,budgetUtilization:Y?Z.totalTime/Z.count/Y.maxTime*100:void 0}}let $={};for(let[Z,Y]of this.metrics.entries()){let J=this.budgets.get(Z);$[Z]={count:Y.count,avgTime:Y.totalTime/Y.count,totalTime:Y.totalTime,maxTime:Y.maxTime,minTime:Y.minTime,budget:J?.maxTime,budgetUtilization:J?Y.totalTime/Y.count/J.maxTime*100:void 0}}return $}getViolations(X){if(X)return this.violations.filter(($)=>$.label===X);return[...this.violations]}getViolationStats(){let X={},$=0,Z=0;for(let Y of this.violations)if(X[Y.label]=(X[Y.label]||0)+1,Y.isWarning)$++;else Z++;return{total:this.violations.length,byLabel:X,warnings:$,errors:Z}}clear(){this.metrics.clear()}clearViolations(){this.violations.length=0}clearBudgets(){this.budgets.clear()}reset(){this.clear(),this.clearViolations(),this.clearBudgets(),this.violationHandlers.length=0}}function PW(){if(!o$)o$=new o6;return o$}var T5,CW=500,xV,o$=null,s6;var M5=E(()=>{T5=new Map;xV=new r6;s6=new Proxy({},{get(X,$){return PW()[$]}})});function a6(X,$=""){let Z=`${X}${$}`,Y=0;for(let J=0;J<Z.length;J++){let G=Z.charCodeAt(J);Y=(Y<<5)-Y+G,Y=Y&Y}return`stx-${Math.abs(Y).toString(36)}`}function t6(X,$,Z={}){let{prefix:Y="",preserveHost:J=!0,scopeKeyframes:G=!0,scopeCustomProperties:Q=!1}=Z;if(!X.trim())return"";let q=s$(X),K=[],U=new Map;if(G)for(let W of q){let w=W.selector.match(/@keyframes\s+([a-z_-][a-z0-9_-]*)/i);if(w){let z=w[1],B=`${$}_${z}`;U.set(z,B)}}for(let W of q){let w=e6(W,$,Y,J,U,Q);K.push(w)}return K.join(`
3734
3734
 
3735
3735
  `)}function s$(X){let $=[],Z=X.replace(/\/\*[\s\S]*?\*\//g,""),Y=0,J="",G=!1,Q="";for(let q=0;q<Z.length;q++){let K=Z[q];if(K==="@"&&Y===0)G=!0;if(K==="{")Y++;else if(K==="}"){if(Y--,Y===0){if(G){Q+=K;let U=Q.match(/@([a-z-]+)\s*([^{]*)\{([\s\S]*)\}/i);if(U){let[,W,w,z]=U;if(W==="keyframes")$.push({selector:`@keyframes ${w.trim()}`,declarations:z.trim()});else if(W==="media"||W==="supports"||W==="container"){let B=s$(z);$.push({selector:`@${W} ${w.trim()}`,declarations:B.map((j)=>`${j.selector} { ${j.declarations} }`).join(`
3736
3736
  `)})}else $.push({selector:`@${W} ${w.trim()}`,declarations:z.trim()})}Q="",G=!1}else if(J.trim()){J+=K;let U=J.match(/([^{]+)\{([^}]*)\}/);if(U)$.push({selector:U[1].trim(),declarations:U[2].trim()});J=""}continue}}if(G)Q+=K;else J+=K}return $}function e6(X,$,Z,Y,J,G){let{selector:Q,declarations:q}=X;if(Q.startsWith("@")){if(Q.startsWith("@keyframes")){let W=Q.replace("@keyframes ","").trim();return`@keyframes ${J.get(W)||W} { ${q} }`}if(Q.startsWith("@media")||Q.startsWith("@supports")||Q.startsWith("@container")){let w=s$(`x { ${q} }`.replace(/x \{ /,"").replace(/ \}$/,"")).map((z)=>e6(z,$,Z,Y,J,G)).join(`
3737
3737
  `);return`${Q} {
3738
3738
  ${w}
3739
- }`}return`${Q} { ${q} }`}let K=vW(Q,$,Z,Y),U=q;for(let[W,w]of J)U=U.replace(new RegExp(`\\b${W}\\b`,"g"),w);if(G)U=U.replace(/--([a-z-]+)/gi,`--${$}-$1`);return`${K} { ${U} }`}function vW(X,$,Z,Y){let J=X.split(",").map((Q)=>Q.trim()),G=[];for(let Q of J){if(Q.startsWith(":host")){if(Y)G.push(Q);else{let U=Q.replace(/:host(\([^)]*\))?/,`.${$}$1`);G.push(U)}continue}if(Q.includes("::slotted")){G.push(Q);continue}if(Q===":root"){G.push(`:root .${$}`);continue}let q=Z?`${Z} .${$}`:`.${$}`;G.push(`${q} ${Q}`);let K=xW(Q,$);if(K)G.push(Z?`${Z} ${K}`:K)}return G.join(", ")}function xW(X,$){let Z=0,Y=X.length;for(let K=0;K<X.length;K++){let U=X[K];if(U==="["||U==="(")Z++;else if(U==="]"||U===")")Z--;else if(Z===0&&(U===" "||U===">"||U==="+"||U==="~")){Y=K;break}}let J=X.slice(0,Y),G=X.slice(Y);if(!J)return"";let Q=J.length,q=0;for(let K=0;K<J.length;K++){let U=J[K];if(U==="["||U==="(")q++;else if(U==="]"||U===")")q--;else if(Z===0&&q===0&&U===":"){Q=K;break}}return`${J.slice(0,Q)}.${$}${J.slice(Q)}${G}`}function $Z(X){let $=new Set;return X.replace(/<style\b[^>]*\bdata-stx-scoped(?:=(?:"[^"]*"|'[^']*'|[^\s>]+))?[^>]*>[\s\S]*?<\/style>\s*/gi,(Z)=>{let Y=Z.trim();if($.has(Y))return"";return $.add(Y),Z})}function NX(X,$){if(!fW.test(X))return{html:X,hasScoped:!1};let Z=a6($),Y=`data-v-${Z}`,J=X,G=new RegExp(`<style\\s+([^>]*${a$}[^>]*)>([\\s\\S]*?)</style>`,"gi"),Q=!1;if(J=J.replace(G,(q,K,U)=>{Q=!0;let W=gW(U,Y),w=K.replace(new RegExp(a$,"gi"),"").trim(),z=w?` ${w}`:"";return`<style data-stx-scoped="${Z}"${z}>${W}</style>`}),!Q)return{html:X,hasScoped:!1};return J=uW(J,Y),{html:J,hasScoped:!0}}function gW(X,$){return t6(X,"__SCOPE_PLACEHOLDER__",{preserveHost:!1}).replace(/\.(__SCOPE_PLACEHOLDER__) /g,`[${$}] `).replace(/\.(__SCOPE_PLACEHOLDER__)/g,`[${$}]`)}function uW(X,$){let Z=$1(X,(J,G)=>{let Q=A1(J,G);return Q>G?Q:R5(J,G)},(J,G)=>hW(G)),Y=dW(Z.output,$);return XZ.lastIndex=0,Y.replace(XZ,(J,G)=>Z.tokens[Number(G)])}function dW(X,$){let Z=new Set(["script","style","template","html","head","body","meta","link","title","base","!doctype","!DOCTYPE"]);return X.replace(/<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*)?\/?>/g,(Y,J,G)=>{if(Z.has(J.toLowerCase()))return Y;if(Y.includes($))return Y;if(J.toLowerCase()==="style"||J.toLowerCase()==="script")return Y;if(G)return Y.replace(`<${J}${G}`,`<${J} ${$}${G}`);if(Y.endsWith("/>"))return`<${J} ${$} />`;return`<${J} ${$}>`})}var a$,fW,hW=(X)=>`\x00stx-scope-mask-${X}\x00`,XZ;var t$=E(()=>{l1();a$=String.raw`(?<![\w-])scoped(?![\w-])`,fW=new RegExp(`<style\\s+[^>]*${a$}`,"i");XZ=/\u0000stx-scope-mask-(\d+)\u0000/g});function lW(X){let $=X.replace(/^<template\b/i,"").replace(/>$/,"");return mW.test($)}function TX(X){T7.lastIndex=0;let $;while(($=T7.exec(X))!==null){if($[0].startsWith("</")||lW($[0]))continue;let Z=$.index,Y=T7.lastIndex,J=1,G;while((G=T7.exec(X))!==null)if(G[0].startsWith("</")){if(J--,J===0){let Q=G.index;return{start:Z,openEnd:Y,closeStart:Q,end:T7.lastIndex,content:X.slice(Y,Q)}}}else J++;return null}return null}var T7,mW;var e$=E(()=>{T7=/<\/?template\b[^>]*>/gi,mW=/(?:^|\s)(?:id\s*=|(?:x-|[@:])(?:for|if|else(?:-if)?)(?=\s|=|$)|#[\w-]+(?:\s*=|\s|$)|v-slot(?::[\w-]+)?(?=\s|=|$)|slot\s*=)/i});var ZZ=()=>{};function T0(X,$,Z,Y=0){let J=0,G=Y,Q=null,q=0,K=!1;while(G<X.length){let U=X[G];if(Q&&K){K=!1,G++;continue}if(Q&&U==="\\"){K=!0,G++;continue}if(K=!1,(U==='"'||U==="'"||U==="`")&&!Q){Q=U,G++;continue}if(U===Q&&Q!=="`"){Q=null,G++;continue}if(Q==="`"&&U==="$"&&X[G+1]==="{"){q++,G+=2;continue}if(q>0&&U==="}"){q--,G++;continue}if(U==="`"&&Q==="`"&&q===0){Q=null,G++;continue}if(Q){G++;continue}if(U===$)J++;else if(U===Z){if(J--,J===0)return G}G++}return-1}var Z9={};n(Z9,{useTitle:()=>rW,useSeoMeta:()=>YZ,usePageTitle:()=>rW,useHead:()=>$9,seoMetaToHeadConfig:()=>kX,resetHead:()=>iW,renderHtmlAttrs:()=>sW,renderHead:()=>oW,renderBodyAttrs:()=>aW,processTitleDirective:()=>Xw,processMetaDirective:()=>$w,processHeadDirective:()=>eW,mergeHeadConfigs:()=>k5,getPageMeta:()=>pW,getHead:()=>X9,definePageMeta:()=>nW,applyHead:()=>tW});function X9(){return T1}function pW(){return MX}function iW(){T1={},cW.length=0,MX={}}function $9(X){T1=k5(T1,X)}function k5(X,$){return{title:$.title??X.title,titleTemplate:$.titleTemplate??X.titleTemplate,base:$.base??X.base,meta:[...X.meta||[],...$.meta||[]],link:[...X.link||[],...$.link||[]],script:[...X.script||[],...$.script||[]],style:[...X.style||[],...$.style||[]],htmlAttrs:{...X.htmlAttrs,...$.htmlAttrs},bodyAttrs:{...X.bodyAttrs,...$.bodyAttrs}}}function YZ(X){$9(kX(X))}function kX(X){let $=[];if(X.description)$.push({name:"description",content:X.description});if(X.keywords){let K=Array.isArray(X.keywords)?X.keywords.join(", "):X.keywords;$.push({name:"keywords",content:K})}if(X.author)$.push({name:"author",content:X.author});if(X.robots)$.push({name:"robots",content:X.robots});let Z=X.ogTitle??X.title,Y=X.ogDescription??X.description;if(Z)$.push({property:"og:title",content:Z});if(Y)$.push({property:"og:description",content:Y});if(X.ogImage)$.push({property:"og:image",content:X.ogImage});if(X.ogUrl)$.push({property:"og:url",content:X.ogUrl});if(X.ogType)$.push({property:"og:type",content:X.ogType});if(X.ogSiteName)$.push({property:"og:site_name",content:X.ogSiteName});if(X.ogLocale)$.push({property:"og:locale",content:X.ogLocale});let J=X.twitterTitle??X.title,G=X.twitterDescription??X.description,Q=X.twitterImage??X.ogImage;if(X.twitterCard)$.push({name:"twitter:card",content:X.twitterCard});if(J)$.push({name:"twitter:title",content:J});if(G)$.push({name:"twitter:description",content:G});if(Q)$.push({name:"twitter:image",content:Q});if(X.twitterSite)$.push({name:"twitter:site",content:X.twitterSite});if(X.twitterCreator)$.push({name:"twitter:creator",content:X.twitterCreator});if(X.articleAuthor)$.push({property:"article:author",content:X.articleAuthor});if(X.articlePublishedTime)$.push({property:"article:published_time",content:X.articlePublishedTime});if(X.articleModifiedTime)$.push({property:"article:modified_time",content:X.articleModifiedTime});if(X.articleSection)$.push({property:"article:section",content:X.articleSection});if(X.articleTags)for(let K of X.articleTags)$.push({property:"article:tag",content:K});let q=[];if(X.canonical)q.push({rel:"canonical",href:X.canonical});return{title:X.title,titleTemplate:X.titleTemplate,meta:$,link:q}}function nW(X){if(MX={...MX,...X},X.title||X.description)YZ({title:X.title,description:X.description})}function rW(X){let $=typeof X==="function"?X():X;$9({title:$})}function oW(X=T1){let $=[];if(X.title){let Z=X.title;if(X.titleTemplate)Z=typeof X.titleTemplate==="function"?X.titleTemplate(Z):X.titleTemplate.replace("%s",Z);$.push(`<title>${p1(Z)}</title>`)}if(X.base){let Z=Object.entries(X.base).map(([Y,J])=>`${Y}="${p1(J)}"`).join(" ");$.push(`<base ${Z}>`)}for(let Z of X.meta||[]){let Y=Object.entries(Z).filter(([J,G])=>G!==void 0).map(([J,G])=>{return`${J==="httpEquiv"?"http-equiv":J}="${p1(String(G))}"`}).join(" ");$.push(`<meta ${Y}>`)}for(let Z of X.link||[]){let Y=Object.entries(Z).filter(([J,G])=>G!==void 0).map(([J,G])=>`${J}="${p1(String(G))}"`).join(" ");$.push(`<link ${Y}>`)}for(let Z of X.script||[]){let{content:Y,...J}=Z,G=Object.entries(J).filter(([Q,q])=>q!==void 0).map(([Q,q])=>{if(typeof q==="boolean")return q?Q:"";return`${Q}="${p1(String(q))}"`}).filter(Boolean).join(" ");if(Y)$.push(`<script ${G}>${Y}</script>`);else $.push(`<script ${G}></script>`)}for(let Z of X.style||[]){let Y=Z.type?` type="${Z.type}"`:"";$.push(`<style${Y}>${Z.content}</style>`)}return $.join(`
3740
- `)}function sW(X=T1){if(!X.htmlAttrs)return"";return Object.entries(X.htmlAttrs).map(([$,Z])=>`${$}="${p1(Z)}"`).join(" ")}function aW(X=T1){if(!X.bodyAttrs)return"";return Object.entries(X.bodyAttrs).map(([$,Z])=>`${$}="${p1(Z)}"`).join(" ")}function p1(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function tW(X=T1){if(typeof document>"u")return;if(X.title){let $=X.title;if(X.titleTemplate)$=typeof X.titleTemplate==="function"?X.titleTemplate($):X.titleTemplate.replace("%s",$);document.title=$}for(let $ of X.meta||[]){let Z=$.name?`meta[name="${$.name}"]`:$.property?`meta[property="${$.property}"]`:null;if(Z){let Y=document.querySelector(Z);if(!Y){if(Y=document.createElement("meta"),$.name)Y.setAttribute("name",$.name);if($.property)Y.setAttribute("property",$.property);document.head.appendChild(Y)}Y.setAttribute("content",$.content)}}for(let $ of X.link||[]){let Z=`link[rel="${$.rel}"]${$.href?`[href="${$.href}"]`:""}`,Y=document.querySelector(Z);if(!Y)Y=document.createElement("link"),document.head.appendChild(Y);for(let[J,G]of Object.entries($))if(G!==void 0)Y.setAttribute(J,String(G))}if(X.htmlAttrs)for(let[$,Z]of Object.entries(X.htmlAttrs))if($==="class")for(let Y of String(Z).split(/\s+/).filter(Boolean))document.documentElement.classList.add(Y);else document.documentElement.setAttribute($,Z);if(X.bodyAttrs)for(let[$,Z]of Object.entries(X.bodyAttrs))document.body.setAttribute($,Z)}function eW(X){let $="";return{content:X.replace(/@head\s*([\s\S]*?)@endhead/g,(Y,J)=>{return $+=J.trim()+`
3741
- `,""}),headContent:$.trim()}}function Xw(X,$){return X.replace(/@title\s*\(\s*(?:(['"`])(.+?)\1|([^)]+))\s*\)/g,(Z,Y,J,G)=>{let Q=Y?J:$[(G||"").trim()]??G,q=$.__stx_runtime_head??{};return $.__stx_runtime_head=k5(q,{title:Q}),""})}function $w(X,$){return X.replace(/@meta\s*\(\s*(['"`])(.+?)\1\s*,\s*(?:(['"`])(.+?)\3|([^)]+))\s*\)/g,(Z,Y,J,G,Q,q)=>{let K=G?Q:q,U=G?K:$[(K||"").trim()]??K,w=J.includes(":")?{property:J,content:U}:{name:J,content:U},z=$.__stx_runtime_head??{};return $.__stx_runtime_head=k5(z,{meta:[w]}),""})}var T1,cW,MX;var M7=E(()=>{T1={},cW=[],MX={}});var IX={};n(IX,{stripTypeScript:()=>WZ,splitDeclaration:()=>HZ,isModuleResolutionFailure:()=>wZ,isMissingBindingFailure:()=>zZ,isCompleteImport:()=>jZ,hasVariables:()=>VZ,extractVariables:()=>i1,extractScriptFromTemplate:()=>FZ,convertToCommonJS:()=>G9,STX_ENGINE_BINDING_NAMES:()=>J9});import M1 from"path";import I5 from"process";function Yw(X){let $=[],Z=0,Y=X.split(`
3739
+ }`}return`${Q} { ${q} }`}let K=vW(Q,$,Z,Y),U=q;for(let[W,w]of J)U=U.replace(new RegExp(`\\b${W}\\b`,"g"),w);if(G)U=U.replace(/--([a-z-]+)/gi,`--${$}-$1`);return`${K} { ${U} }`}function vW(X,$,Z,Y){let J=X.split(",").map((Q)=>Q.trim()),G=[];for(let Q of J){if(Q.startsWith(":host")){if(Y)G.push(Q);else{let U=Q.replace(/:host(\([^)]*\))?/,`.${$}$1`);G.push(U)}continue}if(Q.includes("::slotted")){G.push(Q);continue}if(Q===":root"){G.push(`:root .${$}`);continue}let q=Z?`${Z} .${$}`:`.${$}`;G.push(`${q} ${Q}`);let K=xW(Q,$);if(K)G.push(Z?`${Z} ${K}`:K)}return G.join(", ")}function xW(X,$){let Z=0,Y=X.length;for(let K=0;K<X.length;K++){let U=X[K];if(U==="["||U==="(")Z++;else if(U==="]"||U===")")Z--;else if(Z===0&&(U===" "||U===">"||U==="+"||U==="~")){Y=K;break}}let J=X.slice(0,Y),G=X.slice(Y);if(!J)return"";let Q=J.length,q=0;for(let K=0;K<J.length;K++){let U=J[K];if(U==="["||U==="(")q++;else if(U==="]"||U===")")q--;else if(Z===0&&q===0&&U===":"){Q=K;break}}return`${J.slice(0,Q)}.${$}${J.slice(Q)}${G}`}function $Z(X){let $=new Set;return X.replace(/<style\b[^>]*\bdata-stx-scoped(?:=(?:"[^"]*"|'[^']*'|[^\s>]+))?[^>]*>[\s\S]*?<\/style>\s*/gi,(Z)=>{let Y=Z.trim();if($.has(Y))return"";return $.add(Y),Z})}function TX(X,$){if(!fW.test(X))return{html:X,hasScoped:!1};let Z=a6($),Y=`data-v-${Z}`,J=X,G=new RegExp(`<style\\s+([^>]*${a$}[^>]*)>([\\s\\S]*?)</style>`,"gi"),Q=!1;if(J=J.replace(G,(q,K,U)=>{Q=!0;let W=gW(U,Y),w=K.replace(new RegExp(a$,"gi"),"").trim(),z=w?` ${w}`:"";return`<style data-stx-scoped="${Z}"${z}>${W}</style>`}),!Q)return{html:X,hasScoped:!1};return J=uW(J,Y),{html:J,hasScoped:!0}}function gW(X,$){return t6(X,"__SCOPE_PLACEHOLDER__",{preserveHost:!1}).replace(/\.(__SCOPE_PLACEHOLDER__) /g,`[${$}] `).replace(/\.(__SCOPE_PLACEHOLDER__)/g,`[${$}]`)}function uW(X,$){let Z=$1(X,(J,G)=>{let Q=A1(J,G);return Q>G?Q:R5(J,G)},(J,G)=>hW(G)),Y=dW(Z.output,$);return XZ.lastIndex=0,Y.replace(XZ,(J,G)=>Z.tokens[Number(G)])}function dW(X,$){let Z=new Set(["script","style","template","html","head","body","meta","link","title","base","!doctype","!DOCTYPE"]);return X.replace(/<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*)?\/?>/g,(Y,J,G)=>{if(Z.has(J.toLowerCase()))return Y;if(Y.includes($))return Y;if(J.toLowerCase()==="style"||J.toLowerCase()==="script")return Y;if(G)return Y.replace(`<${J}${G}`,`<${J} ${$}${G}`);if(Y.endsWith("/>"))return`<${J} ${$} />`;return`<${J} ${$}>`})}var a$,fW,hW=(X)=>`\x00stx-scope-mask-${X}\x00`,XZ;var t$=E(()=>{l1();a$=String.raw`(?<![\w-])scoped(?![\w-])`,fW=new RegExp(`<style\\s+[^>]*${a$}`,"i");XZ=/\u0000stx-scope-mask-(\d+)\u0000/g});function lW(X){let $=X.replace(/^<template\b/i,"").replace(/>$/,"");return mW.test($)}function NX(X){N7.lastIndex=0;let $;while(($=N7.exec(X))!==null){if($[0].startsWith("</")||lW($[0]))continue;let Z=$.index,Y=N7.lastIndex,J=1,G;while((G=N7.exec(X))!==null)if(G[0].startsWith("</")){if(J--,J===0){let Q=G.index;return{start:Z,openEnd:Y,closeStart:Q,end:N7.lastIndex,content:X.slice(Y,Q)}}}else J++;return null}return null}var N7,mW;var e$=E(()=>{N7=/<\/?template\b[^>]*>/gi,mW=/(?:^|\s)(?:id\s*=|(?:x-|[@:])(?:for|if|else(?:-if)?)(?=\s|=|$)|#[\w-]+(?:\s*=|\s|$)|v-slot(?::[\w-]+)?(?=\s|=|$)|slot\s*=)/i});var ZZ=()=>{};function N0(X,$,Z,Y=0){let J=0,G=Y,Q=null,q=0,K=!1;while(G<X.length){let U=X[G];if(Q&&K){K=!1,G++;continue}if(Q&&U==="\\"){K=!0,G++;continue}if(K=!1,(U==='"'||U==="'"||U==="`")&&!Q){Q=U,G++;continue}if(U===Q&&Q!=="`"){Q=null,G++;continue}if(Q==="`"&&U==="$"&&X[G+1]==="{"){q++,G+=2;continue}if(q>0&&U==="}"){q--,G++;continue}if(U==="`"&&Q==="`"&&q===0){Q=null,G++;continue}if(Q){G++;continue}if(U===$)J++;else if(U===Z){if(J--,J===0)return G}G++}return-1}var Z9={};n(Z9,{useTitle:()=>rW,useSeoMeta:()=>YZ,usePageTitle:()=>rW,useHead:()=>$9,seoMetaToHeadConfig:()=>kX,resetHead:()=>iW,renderHtmlAttrs:()=>sW,renderHead:()=>oW,renderBodyAttrs:()=>aW,processTitleDirective:()=>Xw,processMetaDirective:()=>$w,processHeadDirective:()=>eW,mergeHeadConfigs:()=>k5,getPageMeta:()=>pW,getHead:()=>X9,definePageMeta:()=>nW,applyHead:()=>tW});function X9(){return N1}function pW(){return MX}function iW(){N1={},cW.length=0,MX={}}function $9(X){N1=k5(N1,X)}function k5(X,$){return{title:$.title??X.title,titleTemplate:$.titleTemplate??X.titleTemplate,base:$.base??X.base,meta:[...X.meta||[],...$.meta||[]],link:[...X.link||[],...$.link||[]],script:[...X.script||[],...$.script||[]],style:[...X.style||[],...$.style||[]],htmlAttrs:{...X.htmlAttrs,...$.htmlAttrs},bodyAttrs:{...X.bodyAttrs,...$.bodyAttrs}}}function YZ(X){$9(kX(X))}function kX(X){let $=[];if(X.description)$.push({name:"description",content:X.description});if(X.keywords){let K=Array.isArray(X.keywords)?X.keywords.join(", "):X.keywords;$.push({name:"keywords",content:K})}if(X.author)$.push({name:"author",content:X.author});if(X.robots)$.push({name:"robots",content:X.robots});let Z=X.ogTitle??X.title,Y=X.ogDescription??X.description;if(Z)$.push({property:"og:title",content:Z});if(Y)$.push({property:"og:description",content:Y});if(X.ogImage)$.push({property:"og:image",content:X.ogImage});if(X.ogUrl)$.push({property:"og:url",content:X.ogUrl});if(X.ogType)$.push({property:"og:type",content:X.ogType});if(X.ogSiteName)$.push({property:"og:site_name",content:X.ogSiteName});if(X.ogLocale)$.push({property:"og:locale",content:X.ogLocale});let J=X.twitterTitle??X.title,G=X.twitterDescription??X.description,Q=X.twitterImage??X.ogImage;if(X.twitterCard)$.push({name:"twitter:card",content:X.twitterCard});if(J)$.push({name:"twitter:title",content:J});if(G)$.push({name:"twitter:description",content:G});if(Q)$.push({name:"twitter:image",content:Q});if(X.twitterSite)$.push({name:"twitter:site",content:X.twitterSite});if(X.twitterCreator)$.push({name:"twitter:creator",content:X.twitterCreator});if(X.articleAuthor)$.push({property:"article:author",content:X.articleAuthor});if(X.articlePublishedTime)$.push({property:"article:published_time",content:X.articlePublishedTime});if(X.articleModifiedTime)$.push({property:"article:modified_time",content:X.articleModifiedTime});if(X.articleSection)$.push({property:"article:section",content:X.articleSection});if(X.articleTags)for(let K of X.articleTags)$.push({property:"article:tag",content:K});let q=[];if(X.canonical)q.push({rel:"canonical",href:X.canonical});return{title:X.title,titleTemplate:X.titleTemplate,meta:$,link:q}}function nW(X){if(MX={...MX,...X},X.title||X.description)YZ({title:X.title,description:X.description})}function rW(X){let $=typeof X==="function"?X():X;$9({title:$})}function oW(X=N1){let $=[];if(X.title){let Z=X.title;if(X.titleTemplate)Z=typeof X.titleTemplate==="function"?X.titleTemplate(Z):X.titleTemplate.replace("%s",Z);$.push(`<title>${p1(Z)}</title>`)}if(X.base){let Z=Object.entries(X.base).map(([Y,J])=>`${Y}="${p1(J)}"`).join(" ");$.push(`<base ${Z}>`)}for(let Z of X.meta||[]){let Y=Object.entries(Z).filter(([J,G])=>G!==void 0).map(([J,G])=>{return`${J==="httpEquiv"?"http-equiv":J}="${p1(String(G))}"`}).join(" ");$.push(`<meta ${Y}>`)}for(let Z of X.link||[]){let Y=Object.entries(Z).filter(([J,G])=>G!==void 0).map(([J,G])=>`${J}="${p1(String(G))}"`).join(" ");$.push(`<link ${Y}>`)}for(let Z of X.script||[]){let{content:Y,...J}=Z,G=Object.entries(J).filter(([Q,q])=>q!==void 0).map(([Q,q])=>{if(typeof q==="boolean")return q?Q:"";return`${Q}="${p1(String(q))}"`}).filter(Boolean).join(" ");if(Y)$.push(`<script ${G}>${Y}</script>`);else $.push(`<script ${G}></script>`)}for(let Z of X.style||[]){let Y=Z.type?` type="${Z.type}"`:"";$.push(`<style${Y}>${Z.content}</style>`)}return $.join(`
3740
+ `)}function sW(X=N1){if(!X.htmlAttrs)return"";return Object.entries(X.htmlAttrs).map(([$,Z])=>`${$}="${p1(Z)}"`).join(" ")}function aW(X=N1){if(!X.bodyAttrs)return"";return Object.entries(X.bodyAttrs).map(([$,Z])=>`${$}="${p1(Z)}"`).join(" ")}function p1(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function tW(X=N1){if(typeof document>"u")return;if(X.title){let $=X.title;if(X.titleTemplate)$=typeof X.titleTemplate==="function"?X.titleTemplate($):X.titleTemplate.replace("%s",$);document.title=$}for(let $ of X.meta||[]){let Z=$.name?`meta[name="${$.name}"]`:$.property?`meta[property="${$.property}"]`:null;if(Z){let Y=document.querySelector(Z);if(!Y){if(Y=document.createElement("meta"),$.name)Y.setAttribute("name",$.name);if($.property)Y.setAttribute("property",$.property);document.head.appendChild(Y)}Y.setAttribute("content",$.content)}}for(let $ of X.link||[]){let Z=`link[rel="${$.rel}"]${$.href?`[href="${$.href}"]`:""}`,Y=document.querySelector(Z);if(!Y)Y=document.createElement("link"),document.head.appendChild(Y);for(let[J,G]of Object.entries($))if(G!==void 0)Y.setAttribute(J,String(G))}if(X.htmlAttrs)for(let[$,Z]of Object.entries(X.htmlAttrs))if($==="class")for(let Y of String(Z).split(/\s+/).filter(Boolean))document.documentElement.classList.add(Y);else document.documentElement.setAttribute($,Z);if(X.bodyAttrs)for(let[$,Z]of Object.entries(X.bodyAttrs))document.body.setAttribute($,Z)}function eW(X){let $="";return{content:X.replace(/@head\s*([\s\S]*?)@endhead/g,(Y,J)=>{return $+=J.trim()+`
3741
+ `,""}),headContent:$.trim()}}function Xw(X,$){return X.replace(/@title\s*\(\s*(?:(['"`])(.+?)\1|([^)]+))\s*\)/g,(Z,Y,J,G)=>{let Q=Y?J:$[(G||"").trim()]??G,q=$.__stx_runtime_head??{};return $.__stx_runtime_head=k5(q,{title:Q}),""})}function $w(X,$){return X.replace(/@meta\s*\(\s*(['"`])(.+?)\1\s*,\s*(?:(['"`])(.+?)\3|([^)]+))\s*\)/g,(Z,Y,J,G,Q,q)=>{let K=G?Q:q,U=G?K:$[(K||"").trim()]??K,w=J.includes(":")?{property:J,content:U}:{name:J,content:U},z=$.__stx_runtime_head??{};return $.__stx_runtime_head=k5(z,{meta:[w]}),""})}var N1,cW,MX;var M7=E(()=>{N1={},cW=[],MX={}});var IX={};n(IX,{stripTypeScript:()=>WZ,splitDeclaration:()=>HZ,isModuleResolutionFailure:()=>wZ,isMissingBindingFailure:()=>zZ,isCompleteImport:()=>jZ,hasVariables:()=>VZ,extractVariables:()=>i1,extractScriptFromTemplate:()=>FZ,convertToCommonJS:()=>G9,STX_ENGINE_BINDING_NAMES:()=>J9});import M1 from"path";import I5 from"process";function Yw(X){let $=[],Z=0,Y=X.split(`
3742
3742
  `);for(let J of Y){let G=Z,Q=null,q=!1;for(let K=0;K<J.length;K++){let U=J[K];if(q){q=!1;continue}if(U==="\\"){q=!0;continue}if(Q){if(U===Q)Q=null;continue}if(U==="'"||U==='"'||U==="`"){Q=U;continue}if(U==="/"&&K+1<J.length&&J[K+1]==="/")break;if(U==="{")Z++;else if(U==="}")Z--}if(G===0){let K=J.match(/(?:const|let|var)\s+(\w+)\s*=/);if(K)$.push(K[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(J)){let U=J.match(/(?:const|let|var)\s+(\w+)/);if(U)$.push(U[1])}else{let U=J.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(U){let w=U[1].slice(1,-1).split(",").map((z)=>{let B=z.split(":");return(B.length>1?B[1]:B[0]).trim()}).filter((z)=>/^\w+$/.test(z));$.push(...w)}}}}return[...new Set($)]}function WZ(X){let $=X;$=$.replace(/^\s*import\s+.*?from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),$=$.replace(/^\s*import\s+['"][^'"]+['"]\s*;?\s*$/gm,""),$=$.replace(/^\s*interface\s+\w+\s*\{[\s\S]*?\n\}\s*$/gm,""),$=$.replace(/^\s*type\s+\w+\s*=[\s\S]*?(?=\n(?:const|let|var|function|export|interface|type|$))/gm,""),$=$.replace(/^(\s*(?:export\s+)?(?:const|let|var)\s+)(\w+|\{[^}]+\}|\[[^\]]+\])\s*:\s*[^=]+(\s*=)/gm,"$1$2$3");function Z(Y){if(!Y.includes(":"))return Y;let J=[],G="",Q=0,q=0,K=null;for(let U=0;U<Y.length;U++){let W=Y[U];if(K){if(G+=W,W===K)K=null;continue}if(W==='"'||W==="'"||W==="`"){K=W,G+=W;continue}if(W==="<")Q++;else if(W===">"&&Q>0)Q--;else if(W==="(")q++;else if(W===")")q--;if(W===","&&Q===0&&q===0){J.push(G),G="";continue}G+=W}if(G)J.push(G);return J.map((U)=>{let W=U.trim(),w=W.startsWith("..."),z=w?W.slice(3):W,B=-1,j=0;for(let A=0;A<z.length;A++)if(z[A]==="<")j++;else if(z[A]===">")j--;else if(z[A]===":"&&j===0){B=A;break}if(B===-1)return U;let H=z.substring(0,B).trim().replace(/\?$/,""),L=z.substring(B+1),O=-1,F=0;for(let A=0;A<L.length;A++)if(L[A]==="<")F++;else if(L[A]===">")F--;else if(L[A]==="="&&F===0){O=A;break}let V=w?"...":"";if(O!==-1)return`${V}${H} = ${L.substring(O+1).trim()}`;return`${V}${H}`}).join(", ")}$=$.replace(/\b(function\s+\w*\s*)\(([^)]*)\)/g,(Y,J,G)=>{if(!G.includes(":"))return Y;return`${J}(${Z(G)})`});{let Y=/\b(function\s+\w*\s*)\(/g,J,G=[];while((J=Y.exec($))!==null){let Q=J.index+J[0].length-1,q=1,K=Q+1,U=0,W=null;while(K<$.length&&q>0){let B=$[K];if(W){if(B===W)W=null;K++;continue}if(B==='"'||B==="'"||B==="`"){W=B,K++;continue}if(B==="<")U++;else if(B===">"&&U>0)U--;else if(U===0){if(B==="(")q++;else if(B===")")q--}if(q>0)K++}if(q!==0)continue;let w=$.substring(Q+1,K);if(!w.includes(":"))continue;let z=Z(w);G.push({start:Q+1,end:K,replacement:z})}for(let Q=G.length-1;Q>=0;Q--){let{start:q,end:K,replacement:U}=G[Q];$=$.substring(0,q)+U+$.substring(K)}}return $=$.replace(/\(([^)]*)\)\s*(?::\s*[^=]+)?\s*=>/g,(Y,J)=>{if(!J.includes(":"))return Y;if(J.includes("{")||J.includes("}"))return Y;return`(${J.split(",").map((Q)=>{let[q,...K]=Q.split("="),U=q.split(":")[0].trim();if(K.length>0)return`${U} = ${K.join("=").trim()}`;return U}).join(", ")}) =>`}),$=$.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"),$=$.replace(/(\b(?:function|class|interface|type|extends|implements)\s+\w+)\s*<[^<>()]*>/g,"$1"),$=$.replace(/(\b(?:defineProps|withDefaults|defineEmits|defineSlots|Array|Promise|Map|Set|Record|Partial|Required|Readonly|Pick|Omit|Exclude|Extract))\s*<[^<>()]*>/g,"$1"),$=$.replace(/(\w+)\s*<[A-Z][^<>()]*>\s*(?=\()/g,"$1"),$=$.replace(/\s+as\s+(?:const|[A-Za-z]\w*(?:\[\])?(?:\s*\|\s*\w+(?:\[\])?)*)/g,""),$=$.replace(/\s+satisfies\s+\w+(?:<[^>]*>)?/g,""),$=$.replace(/(\w|\)|\])\s*!(?!=)/g,"$1"),$=$.replace(/^\s*(?:export\s+)?(?:const\s+)?enum\s+\w+\s*\{[^}]*\}\s*$/gm,""),$=$.replace(/(?<=[\s=,(])<[A-Z]\w*(?:\[\])?>/g,""),$=$.replace(/\n\s*\n\s*\n/g,`
3743
3743
 
3744
- `),$}function wZ(X){return/cannot find module|could not resolve|module not found|failed to resolve/i.test(X)}function zZ(X){if(!/is not defined|can't find variable/i.test(X))return!1;return!/\b(document|window|navigator|localStorage|sessionStorage|self)\b/.test(X)}async function i1(X,$,Z,Y={}){if(!X.trim())return;let J;try{let D=new Bun.Transpiler({loader:"ts",target:"browser",define:S0()}),v=X.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");v=v.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),J=D.transformSync(v)}catch{J=WZ(X)}let G={exports:{}},Q=G.exports,q=I5.cwd(),K={},U=[...J.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((D)=>D[1]).filter((D)=>!D.startsWith("node:")&&!D.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(D));for(let D of U)try{let v=M1.resolve(q,"node_modules",D),u=M1.join(v,"package.json"),f=JSON.parse(W0("fs").readFileSync(u,"utf8")),o=f.main||"index.js";if(f.exports){let Z0=typeof f.exports==="string"?f.exports:f.exports["."];if(typeof Z0==="string")o=Z0;else if(Z0?.bun)o=Z0.bun;else if(Z0?.import)o=Z0.import;else if(Z0?.default)o=Z0.default}K[D]=await import(M1.resolve(v,o))}catch{}let W=(D)=>{if(K[D])return K[D];return W0(D)},w=$.props||{},z=(D)=>{if(!D)return w;let v={};for(let[u,f]of Object.entries(D)){let o=w[u];if(o!==void 0)v[u]=o;else if(typeof f==="function")v[u]=f();else v[u]=f}return v};for(let[D,v]of Object.entries(w))Object.defineProperty(z,D,{value:v,enumerable:!0,configurable:!0,writable:!0});for(let D of["name","length","caller","arguments"]){if(Object.prototype.hasOwnProperty.call(w,D))continue;try{Object.defineProperty(z,D,{value:void 0,enumerable:!1,configurable:!0,writable:!0})}catch{}}let B=(D)=>{if(!D)return w;let v={...w};for(let[u,f]of Object.entries(D)){let o=f&&typeof f==="object"&&!Array.isArray(f)?f:{type:f};if(v[u]===void 0&&o.default!==void 0)v[u]=typeof o.default==="function"?o.default():o.default}return v},j=()=>$.slots||{},_=(D,v)=>{let u={...D};for(let[f,o]of Object.entries(v))if(u[f]===void 0)if(typeof o==="function")u[f]=o();else u[f]=o;return u},H=(D)=>{let v=()=>D;return v.set=(u)=>{},v.update=(u)=>{},v},L=(D)=>{let v,u=!1;return()=>{if(!u)try{v=D(),u=!0}catch{v=void 0}return v}},O=(D)=>{},F=(D)=>D(),V=(D)=>{},A=(D)=>{};function R(D){let v=D||{};if(v.title!==void 0||v.description!==void 0)y({title:v.title,description:v.description})}function N(D){if(!D||typeof D!=="object")return;let v=$.__stxClientPayload??{};Object.assign(v,D),$.__stxClientPayload=v}let T=()=>{let D=$.__stxServeContext,v=$.__stxServeSearch??D?.search??"",u=D?.path??"",f=Object.fromEntries(new URLSearchParams(v)),o=$.query,Z0=Object.keys(f).length>0?f:o??{},i0=v||(Object.keys(Z0).length>0?`?${new URLSearchParams(Z0).toString()}`:"");return{params:$.params??{},query:Z0,path:u,name:"",fullPath:u+i0,hash:"",matched:[]}},k=()=>({push:(D)=>{},replace:(D)=>{},back:()=>{},forward:()=>{},go:(D)=>{}}),M=(D)=>{let v=$.__stx_runtime_head||{};$.__stx_runtime_head=k5(v,D||{})},y=(D)=>{M(kX(D||{}))},I=(D)=>({value:D}),C=(D)=>D,S=(D)=>({value:typeof D==="function"?D():D}),b=(D,v)=>{},P=(D)=>{},x=(D)=>{},d=(D)=>D?D():Promise.resolve(),m=(D)=>(v,...u)=>{},Y0=(D)=>{},d0=(D,v)=>{},F0=(D,v)=>v,p0=()=>({value:"light"}),l=()=>H(!1),j0=(D)=>H(!1),m0=()=>H(!1),_1=()=>j0("(prefers-color-scheme: dark)"),W5=()=>j0("(prefers-color-scheme: light)"),w5=()=>j0("(prefers-reduced-motion: reduce)"),r=()=>j0("(prefers-contrast: more)"),a={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:{}},K0=new Proxy(a,{get(D,v){if(v in D)return D[v];return},set(D,v,u){return D[v]=u,!0}}),N0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},J0=console;try{let D=G9(J,Z),v=new Set(Object.keys(w)),u=(i)=>/^[a-z_$][\w$]*$/i.test(i),f=Object.keys($).filter((i)=>!v.has(i)&&i!=="props"&&u(i)),o=f.map((i)=>$[i]);if(!f.includes("__stxServeContext"))f.push("__stxServeContext"),o.push(void 0);let Z0=new Set(["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","let","new","return","super","switch","this","throw","try","typeof","var","void","while","with","yield","enum","await","async","module","exports","require","params","window","document","console","state","derived","effect"]),i0=[],b0=[];for(let[i,t0]of Object.entries(w)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(i))continue;if(Z0.has(i))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${i}\\b`).test(D))continue;i0.push(i),b0.push(t0)}let n0=Yw(D).map((i)=>`module.exports.${i} = typeof ${i} !== 'undefined' ? ${i} : module.exports.${i};`).join(`
3745
- `),z5=$.params??{},H1=[],O1=[];for(let i=0;i<f.length;i++){if(f[i]==="params")continue;H1.push(f[i]),O1.push(o[i])}let a0=await Function(...J9,...i0,...H1,`return (async () => {
3744
+ `),$}function wZ(X){return/cannot find module|could not resolve|module not found|failed to resolve/i.test(X)}function zZ(X){if(!/is not defined|can't find variable/i.test(X))return!1;return!/\b(document|window|navigator|localStorage|sessionStorage|self)\b/.test(X)}async function i1(X,$,Z,Y={}){if(!X.trim())return;let J;try{let D=new Bun.Transpiler({loader:"ts",target:"browser",define:S0()}),v=X.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");v=v.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),J=D.transformSync(v)}catch{J=WZ(X)}let G={exports:{}},Q=G.exports,q=I5.cwd(),K={},U=[...J.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((D)=>D[1]).filter((D)=>!D.startsWith("node:")&&!D.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(D));for(let D of U)try{let v=M1.resolve(q,"node_modules",D),u=M1.join(v,"package.json"),f=JSON.parse(W0("fs").readFileSync(u,"utf8")),o=f.main||"index.js";if(f.exports){let Z0=typeof f.exports==="string"?f.exports:f.exports["."];if(typeof Z0==="string")o=Z0;else if(Z0?.bun)o=Z0.bun;else if(Z0?.import)o=Z0.import;else if(Z0?.default)o=Z0.default}K[D]=await import(M1.resolve(v,o))}catch{}let W=(D)=>{if(K[D])return K[D];return W0(D)},w=$.props||{},z=(D)=>{if(!D)return w;let v={};for(let[u,f]of Object.entries(D)){let o=w[u];if(o!==void 0)v[u]=o;else if(typeof f==="function")v[u]=f();else v[u]=f}return v};for(let[D,v]of Object.entries(w))Object.defineProperty(z,D,{value:v,enumerable:!0,configurable:!0,writable:!0});for(let D of["name","length","caller","arguments"]){if(Object.prototype.hasOwnProperty.call(w,D))continue;try{Object.defineProperty(z,D,{value:void 0,enumerable:!1,configurable:!0,writable:!0})}catch{}}let B=(D)=>{if(!D)return w;let v={...w};for(let[u,f]of Object.entries(D)){let o=f&&typeof f==="object"&&!Array.isArray(f)?f:{type:f};if(v[u]===void 0&&o.default!==void 0)v[u]=typeof o.default==="function"?o.default():o.default}return v},j=()=>$.slots||{},_=(D,v)=>{let u={...D};for(let[f,o]of Object.entries(v))if(u[f]===void 0)if(typeof o==="function")u[f]=o();else u[f]=o;return u},H=(D)=>{let v=()=>D;return v.set=(u)=>{},v.update=(u)=>{},v},L=(D)=>{let v,u=!1;return()=>{if(!u)try{v=D(),u=!0}catch{v=void 0}return v}},O=(D)=>{},F=(D)=>D(),V=(D)=>{},A=(D)=>{};function R(D){let v=D||{};if(v.title!==void 0||v.description!==void 0)y({title:v.title,description:v.description})}function T(D){if(!D||typeof D!=="object")return;let v=$.__stxClientPayload??{};Object.assign(v,D),$.__stxClientPayload=v}let N=()=>{let D=$.__stxServeContext,v=$.__stxServeSearch??D?.search??"",u=D?.path??"",f=Object.fromEntries(new URLSearchParams(v)),o=$.query,Z0=Object.keys(f).length>0?f:o??{},n0=v||(Object.keys(Z0).length>0?`?${new URLSearchParams(Z0).toString()}`:"");return{params:$.params??{},query:Z0,path:u,name:"",fullPath:u+n0,hash:"",matched:[]}},k=()=>({push:(D)=>{},replace:(D)=>{},back:()=>{},forward:()=>{},go:(D)=>{}}),M=(D)=>{let v=$.__stx_runtime_head||{};$.__stx_runtime_head=k5(v,D||{})},y=(D)=>{M(kX(D||{}))},I=(D)=>({value:D}),C=(D)=>D,S=(D)=>({value:typeof D==="function"?D():D}),b=(D,v)=>{},P=(D)=>{},x=(D)=>{},d=(D)=>D?D():Promise.resolve(),m=(D)=>(v,...u)=>{},Y0=(D)=>{},d0=(D,v)=>{},F0=(D,v)=>v,i0=()=>({value:"light"}),l=()=>H(!1),j0=(D)=>H(!1),m0=()=>H(!1),_1=()=>j0("(prefers-color-scheme: dark)"),W5=()=>j0("(prefers-color-scheme: light)"),w5=()=>j0("(prefers-reduced-motion: reduce)"),r=()=>j0("(prefers-contrast: more)"),a={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:{}},K0=new Proxy(a,{get(D,v){if(v in D)return D[v];return},set(D,v,u){return D[v]=u,!0}}),T0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},J0=console;try{let D=G9(J,Z),v=new Set(Object.keys(w)),u=(i)=>/^[a-z_$][\w$]*$/i.test(i),f=Object.keys($).filter((i)=>!v.has(i)&&i!=="props"&&u(i)),o=f.map((i)=>$[i]);if(!f.includes("__stxServeContext"))f.push("__stxServeContext"),o.push(void 0);let Z0=new Set(["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","let","new","return","super","switch","this","throw","try","typeof","var","void","while","with","yield","enum","await","async","module","exports","require","params","window","document","console","state","derived","effect"]),n0=[],b0=[];for(let[i,e0]of Object.entries(w)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(i))continue;if(Z0.has(i))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${i}\\b`).test(D))continue;n0.push(i),b0.push(e0)}let r0=Yw(D).map((i)=>`module.exports.${i} = typeof ${i} !== 'undefined' ? ${i} : module.exports.${i};`).join(`
3745
+ `),z5=$.params??{},H1=[],O1=[];for(let i=0;i<f.length;i++){if(f[i]==="params")continue;H1.push(f[i]),O1.push(o[i])}let t0=await Function(...J9,...n0,...H1,`return (async () => {
3746
3746
  ${D}
3747
- ${n0}
3747
+ ${r0}
3748
3748
  return module.exports
3749
- })()`)(G,Q,W,w,z,B,_,N,H,L,O,F,V,A,R,T,k,M,y,I,C,S,b,P,x,d,m,Y0,j,d0,F0,p0,l,j0,m0,_1,W5,w5,r,K0,N0,J0,a.confirm,a.alert,a.fetch,z5,...b0,...O1);if(Y.preserveExisting){for(let[i,t0]of Object.entries(a0))if(!(i in $)||$[i]===void 0)$[i]=t0}else Object.assign($,a0);for(let[i,t0]of Object.entries(w))if(!(i in $))$[i]=t0}catch(D){let v=D instanceof Error?D.message:String(D);if(wZ(v))console.warn(`[stx] server <script> in ${Z??"<unknown>"} imports a module that does not resolve, so every variable in that script is undefined. Cause: ${v}`);else if(zZ(v))console.warn(`[stx] server <script> in ${Z??"<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(I5.env.STX_DEBUG)console.warn(`[stx] server <script> did not execute in ${Z??"<unknown>"} \u2014 falling back to static extraction. Cause: ${v}`);try{await Uw(J,$,Z)}catch(u){if(I5.env.STX_DEBUG){let f=u instanceof Error?u.message:String(u);console.warn(`[stx] fallback extraction also failed in ${Z??"<unknown>"}: ${f}`)}}}}function jZ(X){let $=0,Z=null,Y=!1,J=!1;for(let G=0;G<X.length;G++){let Q=X[G];if(Z){if(Q===Z){if(Z=null,Y||$===0)J=!0}continue}if(Q==="'"||Q==='"'||Q==="`"){Z=Q;continue}if(Q==="{")$++;else if(Q==="}")$--;else if(X.startsWith("from",G)&&$===0)Y=!0}return Z===null&&$===0&&J}function G9(X,$){let Z=$?M1.dirname($):I5.cwd(),Y=I5.cwd(),J=X.split(`
3749
+ })()`)(G,Q,W,w,z,B,_,T,H,L,O,F,V,A,R,N,k,M,y,I,C,S,b,P,x,d,m,Y0,j,d0,F0,i0,l,j0,m0,_1,W5,w5,r,K0,T0,J0,a.confirm,a.alert,a.fetch,z5,...b0,...O1);if(Y.preserveExisting){for(let[i,e0]of Object.entries(t0))if(!(i in $)||$[i]===void 0)$[i]=e0}else Object.assign($,t0);for(let[i,e0]of Object.entries(w))if(!(i in $))$[i]=e0}catch(D){let v=D instanceof Error?D.message:String(D);if(wZ(v))console.warn(`[stx] server <script> in ${Z??"<unknown>"} imports a module that does not resolve, so every variable in that script is undefined. Cause: ${v}`);else if(zZ(v))console.warn(`[stx] server <script> in ${Z??"<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(I5.env.STX_DEBUG)console.warn(`[stx] server <script> did not execute in ${Z??"<unknown>"} \u2014 falling back to static extraction. Cause: ${v}`);try{await Uw(J,$,Z)}catch(u){if(I5.env.STX_DEBUG){let f=u instanceof Error?u.message:String(u);console.warn(`[stx] fallback extraction also failed in ${Z??"<unknown>"}: ${f}`)}}}}function jZ(X){let $=0,Z=null,Y=!1,J=!1;for(let G=0;G<X.length;G++){let Q=X[G];if(Z){if(Q===Z){if(Z=null,Y||$===0)J=!0}continue}if(Q==="'"||Q==='"'||Q==="`"){Z=Q;continue}if(Q==="{")$++;else if(Q==="}")$--;else if(X.startsWith("from",G)&&$===0)Y=!0}return Z===null&&$===0&&J}function G9(X,$){let Z=$?M1.dirname($):I5.cwd(),Y=I5.cwd(),J=X.split(`
3750
3750
  `),G=[],Q=0;while(Q<J.length){let q=J[Q].trim();if(q.startsWith("interface ")||q.startsWith("export interface ")||q.startsWith("type ")||q.startsWith("export type ")){if(q.includes("{")&&!q.includes("}")){let K=0;for(;Q<J.length;Q++){for(let U of J[Q])if(U==="{")K++;else if(U==="}")K--;if(K<=0)break}}Q++;continue}if(q.startsWith("definePageMeta(")){let K=0,U=!1,W=Q;for(let B=Q;B<J.length&&!U;B++){let j=null,_=!1,H=J[B];for(let L=0;L<H.length;L++){let O=H[L];if(_){_=!1;continue}if(O==="\\"){_=!0;continue}if(j){if(O===j)j=null;continue}if(O==='"'||O==="'"||O==="`"){j=O;continue}if(O==="(")K++;else if(O===")"){if(K--,K===0){Q=B+1,U=!0;break}}}}if(!U)Q=J.length;let w=J.slice(W,Q).join(`
3751
- `),z=[];for(let B of["title","description"]){let j=new RegExp(`\\b${B}\\s*:\\s*(['"\`])((?:\\\\.|(?!\\1)[^\\\\])*)\\1`).exec(w);if(j)z.push(`${B}: ${JSON.stringify(j[2])}`)}if(z.length>0)G.push(`useSeoMeta({ ${z.join(", ")} });`);continue}if(q.startsWith("import ")||q==="import"||q.startsWith("import{")){let K=q,U=0;while(!jZ(K)&&Q+U+1<J.length)U++,K=`${K} ${J[Q+U].trim()}`;Q+=U;let W=K.match(/^import\s+(\w+)\s+from\s+['"](.+?)['"]/),w=K.match(/^import\s+\{([^}]*)\}\s+from\s+['"](.+?)['"]/),z=K.match(/^import\s+['"](.+?)['"]/),B=K,j=(_)=>{if(_.startsWith("."))return M1.resolve(Z,_);if(_.startsWith("~/")||_.startsWith("@/"))return M1.resolve(Y,_.slice(2));return _};if(W){let[,_,H]=W,L=j(H);G.push(`const ${_} = (await import('${L}')).default`),G.push(`module.exports.${_} = ${_};`)}else if(w){let[,_,H]=w,L=j(H),O=[],F=[],V=Zw.has(H);for(let A of _.split(",")){let R=A.trim();if(!R)continue;let N=R.split(/\s+as\s+/);if(N.length===2){let[T,k]=[N[0].trim(),N[1].trim()];if(V&&JZ.has(T)){G.push(`const ${k} = ${T};`),F.push(k);continue}O.push(`${T}: ${k}`),F.push(k)}else{if(V&&JZ.has(R)){F.push(R);continue}O.push(R),F.push(R)}}if(O.length>0)G.push(`const { ${O.join(", ")} } = await import('${L}')`);for(let A of F)G.push(`module.exports.${A} = ${A};`)}else if(z){let _=j(z[1]);G.push(`await import('${_}')`)}else G.push(B);Q++;continue}if(Jw.test(q))G.push(J[Q]),Q++;else if(q.startsWith("export const ")||q.startsWith("export let ")||q.startsWith("export var ")){let K=QZ(J,Q),{type:U,name:W,value:w}=K;G.push(`${U} ${W} = ${w};`),G.push(`module.exports.${W} = ${W};`),Q=K.nextIndex}else if(q.startsWith("export function ")||q.startsWith("export async function ")){let K=Y9(J,Q);G.push(K.functionCode),G.push(`module.exports.${K.name} = ${K.name};`),Q=K.nextIndex}else if(q.startsWith("const ")||q.startsWith("let ")||q.startsWith("var ")){let K=QZ(J,Q),{type:U,name:W,value:w}=K;G.push(`${U} ${W} = ${w};`),G.push(`module.exports.${W} = ${W};`),Q=K.nextIndex}else if(q.startsWith("function ")||q.startsWith("async function ")){let K=Y9(J,Q);G.push(K.functionCode),G.push(`module.exports.${K.name} = ${K.name};`),Q=K.nextIndex}else if(q.startsWith("export default function ")||q.startsWith("export default async function ")){let K=J[Q].replace(/^(\s*)export\s+default\s+/,"$1"),U=[...J];U[Q]=K;let W=Y9(U,Q);if(G.push(W.functionCode),W.name)G.push(`module.exports.default = ${W.name};`);Q=W.nextIndex}else if(q.startsWith("export default ")){let K=q.replace(/^export\s+default\s+/,"").replace(/;$/,"");G.push(`module.exports.default = ${K};`),Q++}else if(q.startsWith("class ")||q.startsWith("export class ")){let K=q.match(/(?:export\s+)?class\s+(\w+)/);if(K){let U=K[1],W=J[Q].replace(/^export\s+/,""),w=0,z=Q;for(;z<J.length;z++){let B=J[z];for(let j of B)if(j==="{")w++;else if(j==="}")w--;if(z>Q)W+=`
3751
+ `),z=[];for(let B of["title","description"]){let j=new RegExp(`\\b${B}\\s*:\\s*(['"\`])((?:\\\\.|(?!\\1)[^\\\\])*)\\1`).exec(w);if(j)z.push(`${B}: ${JSON.stringify(j[2])}`)}if(z.length>0)G.push(`useSeoMeta({ ${z.join(", ")} });`);continue}if(q.startsWith("import ")||q==="import"||q.startsWith("import{")){let K=q,U=0;while(!jZ(K)&&Q+U+1<J.length)U++,K=`${K} ${J[Q+U].trim()}`;Q+=U;let W=K.match(/^import\s+(\w+)\s+from\s+['"](.+?)['"]/),w=K.match(/^import\s+\{([^}]*)\}\s+from\s+['"](.+?)['"]/),z=K.match(/^import\s+['"](.+?)['"]/),B=K,j=(_)=>{if(_.startsWith("."))return M1.resolve(Z,_);if(_.startsWith("~/")||_.startsWith("@/"))return M1.resolve(Y,_.slice(2));return _};if(W){let[,_,H]=W,L=j(H);G.push(`const ${_} = (await import('${L}')).default`),G.push(`module.exports.${_} = ${_};`)}else if(w){let[,_,H]=w,L=j(H),O=[],F=[],V=Zw.has(H);for(let A of _.split(",")){let R=A.trim();if(!R)continue;let T=R.split(/\s+as\s+/);if(T.length===2){let[N,k]=[T[0].trim(),T[1].trim()];if(V&&JZ.has(N)){G.push(`const ${k} = ${N};`),F.push(k);continue}O.push(`${N}: ${k}`),F.push(k)}else{if(V&&JZ.has(R)){F.push(R);continue}O.push(R),F.push(R)}}if(O.length>0)G.push(`const { ${O.join(", ")} } = await import('${L}')`);for(let A of F)G.push(`module.exports.${A} = ${A};`)}else if(z){let _=j(z[1]);G.push(`await import('${_}')`)}else G.push(B);Q++;continue}if(Jw.test(q))G.push(J[Q]),Q++;else if(q.startsWith("export const ")||q.startsWith("export let ")||q.startsWith("export var ")){let K=QZ(J,Q),{type:U,name:W,value:w}=K;G.push(`${U} ${W} = ${w};`),G.push(`module.exports.${W} = ${W};`),Q=K.nextIndex}else if(q.startsWith("export function ")||q.startsWith("export async function ")){let K=Y9(J,Q);G.push(K.functionCode),G.push(`module.exports.${K.name} = ${K.name};`),Q=K.nextIndex}else if(q.startsWith("const ")||q.startsWith("let ")||q.startsWith("var ")){let K=QZ(J,Q),{type:U,name:W,value:w}=K;G.push(`${U} ${W} = ${w};`),G.push(`module.exports.${W} = ${W};`),Q=K.nextIndex}else if(q.startsWith("function ")||q.startsWith("async function ")){let K=Y9(J,Q);G.push(K.functionCode),G.push(`module.exports.${K.name} = ${K.name};`),Q=K.nextIndex}else if(q.startsWith("export default function ")||q.startsWith("export default async function ")){let K=J[Q].replace(/^(\s*)export\s+default\s+/,"$1"),U=[...J];U[Q]=K;let W=Y9(U,Q);if(G.push(W.functionCode),W.name)G.push(`module.exports.default = ${W.name};`);Q=W.nextIndex}else if(q.startsWith("export default ")){let K=q.replace(/^export\s+default\s+/,"").replace(/;$/,"");G.push(`module.exports.default = ${K};`),Q++}else if(q.startsWith("class ")||q.startsWith("export class ")){let K=q.match(/(?:export\s+)?class\s+(\w+)/);if(K){let U=K[1],W=J[Q].replace(/^export\s+/,""),w=0,z=Q;for(;z<J.length;z++){let B=J[z];for(let j of B)if(j==="{")w++;else if(j==="}")w--;if(z>Q)W+=`
3752
3752
  `+B;if(w<=0&&z>=Q)break}G.push(W),G.push(`module.exports.${U} = ${U};`),Q=z+1}else G.push(q),Q++}else if(q.includes("module.exports"))G.push(q),Q++;else if(q.trim()&&!q.startsWith("//"))G.push(q),Q++;else Q++}return Gw(G.join(`
3753
3753
  `),Z,Y)}function Gw(X,$,Z){let Y=X.length,J="",G=0,Q=null,q=!1,K=!1,U=0;while(G<Y){let W=X[G],w=X[G+1];if(q){if(J+=W,W===`
3754
- `)q=!1;G++;continue}if(K){if(J+=W,W==="*"&&w==="/"){J+=w,G+=2,K=!1;continue}G++;continue}if(!Q&&W==="/"&&w==="/"){q=!0,J+=W,G++;continue}if(!Q&&W==="/"&&w==="*"){K=!0,J+=W,G++;continue}if(Q){if(J+=W,W==="\\"){J+=w,G+=2;continue}if(W===Q&&Q!=="`"){Q=null,G++;continue}if(Q==="`"){if(W==="$"&&w==="{"){U++,J+=w,G+=2;continue}if(W==="`"){Q=null,G++;continue}}G++;continue}if(U>0){if(W==="{")U++;else if(W==="}")U--}if(W==='"'||W==="'"||W==="`"){Q=W,J+=W,G++;continue}if(W==="a"&&X.startsWith("await",G)){let z=Qw(X,G);if(z){let{quote:B,path:j,end:_}=z;if(j.startsWith(".")||j.startsWith("~/")||j.startsWith("@/")){let H=j.startsWith(".")?M1.resolve($,j):M1.resolve(Z,j.slice(2));J+=`await import(${B}${H}${B})`,G=_;continue}}}J+=W,G++}return J}function Qw(X,$){let Z=$+5;if(Z>=X.length)return null;if(!/\s/.test(X[Z]))return null;while(Z<X.length&&/\s/.test(X[Z]))Z++;if(!X.startsWith("import",Z))return null;Z+=6;while(Z<X.length&&/\s/.test(X[Z]))Z++;if(X[Z]!=="(")return null;Z++;while(Z<X.length&&/\s/.test(X[Z]))Z++;let Y=X[Z];if(Y!=="'"&&Y!=='"')return null;Z++;let J=Z;while(Z<X.length&&X[Z]!==Y)if(X[Z]==="\\")Z+=2;else Z++;if(Z>=X.length)return null;let G=X.slice(J,Z);Z++;while(Z<X.length&&/\s/.test(X[Z]))Z++;if(X[Z]!==")")return null;return{quote:Y,path:G,end:Z+1}}function BZ(X,$){let Z=X[$];if(Z!=="{"&&Z!=="[")return null;let J=T0(X,Z,Z==="{"?"}":"]",$);if(J===-1)return null;return{pattern:X.slice($,J+1),endPos:J+1}}function _Z(X){let $=[],Z=X.slice(1,-1).trim();if(!Z)return $;let Y=0,J=0,G="";while(Y<Z.length){let Q=Z[Y];if(Q==="{"||Q==="["){let q=J===0?BZ(Z,Y):null;if(q){$.push(..._Z(q.pattern)),Y=q.endPos,G="";continue}J++}else if(Q==="}"||Q==="]")J--;if(J>0){Y++;continue}if(Q===","){if(G.trim())$.push(G.trim());G="",Y++;continue}if(Q===":"){G="",Y++;continue}if(Q==="="){if(G.trim())$.push(G.trim());G="",Y++;while(Y<Z.length&&Z[Y]!==","&&J===0){if(Z[Y]==="{"||Z[Y]==="[")J++;else if(Z[Y]==="}"||Z[Y]==="]")J--;Y++}continue}if(/[\w$]/.test(Q))G+=Q;Y++}if(G.trim())$.push(G.trim());return $}function HZ(X){let $=/^(?:export\s+)?(const|let|var)\s+([A-Za-z_$][\w$]*)/.exec(X);if(!$)return null;let Z=$[0].length,Y=(J)=>J===" "||J==="\t";while(Z<X.length&&Y(X[Z]))Z++;if(X[Z]===":"){let J=0,G=null;Z++;for(;Z<X.length;Z++){let Q=X[Z];if(G){if(Q==="\\"){Z++;continue}if(Q===G)G=null;continue}if(Q==="'"||Q==='"'||Q==="`"){G=Q;continue}if(Q==="("||Q==="["||Q==="{"||Q==="<"){J++;continue}if(Q===")"||Q==="]"||Q==="}"||Q===">"){J--;continue}if(Q==="="&&J<=0){let q=X[Z+1],K=X[Z-1];if(q!=="="&&q!==">"&&K!=="="&&K!=="!"&&K!=="<"&&K!==">")break}}if(X[Z]!=="=")return null}while(Z<X.length&&Y(X[Z]))Z++;if(X[Z]!=="=")return null;return{type:$[1],name:$[2],value:X.slice(Z+1).trim()}}function GZ(X,$,Z,Y){let J=null,G=!1;for(let Q of X){if(G){G=!1;continue}if(Q==="\\"){G=!0;continue}if(J){if(Q===J)J=null;continue}if(Q==="'"||Q==='"'||Q==="`"){J=Q;continue}if(Q===$)Y++;else if(Q===Z)Y--}return Y}function QZ(X,$){let Z=X[$].trim(),Y=HZ(Z),J=Y?[Z,Y.type,Y.name,Y.value]:null;if(!J){let W=Z.match(/^(?:export\s+)?(const|let|var)\s+/);if(W){let w=Z.slice(W[0].length),z=$;if(w.startsWith("{")||w.startsWith("[")){let j=w[0],_=j==="{"?"}":"]",H=GZ(w,j,_,0),L=w;for(let O=$+1;O<X.length&&H>0;O++)L+=` ${X[O].trim()}`,z=O,H=GZ(X[O],j,_,H);if(H>0)L=w,z=$;w=L}let B=BZ(w,0);if(B){let j=W[1],_=B.pattern,H=w.slice(B.endPos).trim();if(H.startsWith("=")){let L=H.slice(1).trim(),O=L,F=Math.max(z,$);if(qZ(L)){let N=KZ(X,F,L);O=N.value,F=N.nextIndex}else F=F+1;O=O.trim().replace(/;$/,"");let V=_Z(_),A=`__stx_src_${$}`,R=V.map((N)=>`module.exports.${N} = ${N};`).join(`
3754
+ `)q=!1;G++;continue}if(K){if(J+=W,W==="*"&&w==="/"){J+=w,G+=2,K=!1;continue}G++;continue}if(!Q&&W==="/"&&w==="/"){q=!0,J+=W,G++;continue}if(!Q&&W==="/"&&w==="*"){K=!0,J+=W,G++;continue}if(Q){if(J+=W,W==="\\"){J+=w,G+=2;continue}if(W===Q&&Q!=="`"){Q=null,G++;continue}if(Q==="`"){if(W==="$"&&w==="{"){U++,J+=w,G+=2;continue}if(W==="`"){Q=null,G++;continue}}G++;continue}if(U>0){if(W==="{")U++;else if(W==="}")U--}if(W==='"'||W==="'"||W==="`"){Q=W,J+=W,G++;continue}if(W==="a"&&X.startsWith("await",G)){let z=Qw(X,G);if(z){let{quote:B,path:j,end:_}=z;if(j.startsWith(".")||j.startsWith("~/")||j.startsWith("@/")){let H=j.startsWith(".")?M1.resolve($,j):M1.resolve(Z,j.slice(2));J+=`await import(${B}${H}${B})`,G=_;continue}}}J+=W,G++}return J}function Qw(X,$){let Z=$+5;if(Z>=X.length)return null;if(!/\s/.test(X[Z]))return null;while(Z<X.length&&/\s/.test(X[Z]))Z++;if(!X.startsWith("import",Z))return null;Z+=6;while(Z<X.length&&/\s/.test(X[Z]))Z++;if(X[Z]!=="(")return null;Z++;while(Z<X.length&&/\s/.test(X[Z]))Z++;let Y=X[Z];if(Y!=="'"&&Y!=='"')return null;Z++;let J=Z;while(Z<X.length&&X[Z]!==Y)if(X[Z]==="\\")Z+=2;else Z++;if(Z>=X.length)return null;let G=X.slice(J,Z);Z++;while(Z<X.length&&/\s/.test(X[Z]))Z++;if(X[Z]!==")")return null;return{quote:Y,path:G,end:Z+1}}function BZ(X,$){let Z=X[$];if(Z!=="{"&&Z!=="[")return null;let J=N0(X,Z,Z==="{"?"}":"]",$);if(J===-1)return null;return{pattern:X.slice($,J+1),endPos:J+1}}function _Z(X){let $=[],Z=X.slice(1,-1).trim();if(!Z)return $;let Y=0,J=0,G="";while(Y<Z.length){let Q=Z[Y];if(Q==="{"||Q==="["){let q=J===0?BZ(Z,Y):null;if(q){$.push(..._Z(q.pattern)),Y=q.endPos,G="";continue}J++}else if(Q==="}"||Q==="]")J--;if(J>0){Y++;continue}if(Q===","){if(G.trim())$.push(G.trim());G="",Y++;continue}if(Q===":"){G="",Y++;continue}if(Q==="="){if(G.trim())$.push(G.trim());G="",Y++;while(Y<Z.length&&Z[Y]!==","&&J===0){if(Z[Y]==="{"||Z[Y]==="[")J++;else if(Z[Y]==="}"||Z[Y]==="]")J--;Y++}continue}if(/[\w$]/.test(Q))G+=Q;Y++}if(G.trim())$.push(G.trim());return $}function HZ(X){let $=/^(?:export\s+)?(const|let|var)\s+([A-Za-z_$][\w$]*)/.exec(X);if(!$)return null;let Z=$[0].length,Y=(J)=>J===" "||J==="\t";while(Z<X.length&&Y(X[Z]))Z++;if(X[Z]===":"){let J=0,G=null;Z++;for(;Z<X.length;Z++){let Q=X[Z];if(G){if(Q==="\\"){Z++;continue}if(Q===G)G=null;continue}if(Q==="'"||Q==='"'||Q==="`"){G=Q;continue}if(Q==="("||Q==="["||Q==="{"||Q==="<"){J++;continue}if(Q===")"||Q==="]"||Q==="}"||Q===">"){J--;continue}if(Q==="="&&J<=0){let q=X[Z+1],K=X[Z-1];if(q!=="="&&q!==">"&&K!=="="&&K!=="!"&&K!=="<"&&K!==">")break}}if(X[Z]!=="=")return null}while(Z<X.length&&Y(X[Z]))Z++;if(X[Z]!=="=")return null;return{type:$[1],name:$[2],value:X.slice(Z+1).trim()}}function GZ(X,$,Z,Y){let J=null,G=!1;for(let Q of X){if(G){G=!1;continue}if(Q==="\\"){G=!0;continue}if(J){if(Q===J)J=null;continue}if(Q==="'"||Q==='"'||Q==="`"){J=Q;continue}if(Q===$)Y++;else if(Q===Z)Y--}return Y}function QZ(X,$){let Z=X[$].trim(),Y=HZ(Z),J=Y?[Z,Y.type,Y.name,Y.value]:null;if(!J){let W=Z.match(/^(?:export\s+)?(const|let|var)\s+/);if(W){let w=Z.slice(W[0].length),z=$;if(w.startsWith("{")||w.startsWith("[")){let j=w[0],_=j==="{"?"}":"]",H=GZ(w,j,_,0),L=w;for(let O=$+1;O<X.length&&H>0;O++)L+=` ${X[O].trim()}`,z=O,H=GZ(X[O],j,_,H);if(H>0)L=w,z=$;w=L}let B=BZ(w,0);if(B){let j=W[1],_=B.pattern,H=w.slice(B.endPos).trim();if(H.startsWith("=")){let L=H.slice(1).trim(),O=L,F=Math.max(z,$);if(qZ(L)){let T=KZ(X,F,L);O=T.value,F=T.nextIndex}else F=F+1;O=O.trim().replace(/;$/,"");let V=_Z(_),A=`__stx_src_${$}`,R=V.map((T)=>`module.exports.${T} = ${T};`).join(`
3755
3755
  `);return{type:j,name:A,value:`${O}; ${j} ${_} = ${A};
3756
3756
  ${R}`,nextIndex:F}}}}throw Error(`Failed to parse variable declaration: ${Z}`)}let[,G,Q,q]=J,K=q,U=$;if(qZ(q)){let W=KZ(X,$,q);K=W.value,U=W.nextIndex}else U=$+1;while(U<X.length){let W=X[U].trim();if(W.startsWith(".")||W.startsWith("?."))K+=`
3757
- ${X[U]}`,U++;else break}return K=K.trim().replace(/;$/,""),{type:G,name:Q,value:K,nextIndex:U}}function Y9(X,$){let Z=X[$].trim(),Y=Z.match(/^(?:export\s+)?(?:async\s+)?function\s+(\w+)/);if(!Y)throw Error(`Failed to parse function declaration: ${Z}`);let[,J]=Y,G=Z.replace(/^export\s+/,""),Q=$;if(qw(Z)){let q=Kw(X,$,G);G=q.functionCode,Q=q.nextIndex}else Q=$+1;return{name:J,functionCode:G,nextIndex:Q}}function qZ(X){let $=X.trim();if($.startsWith("{"))return T0($,"{","}",0)===-1;if($.startsWith("["))return T0($,"[","]",0)===-1;return!OZ($)}function OZ(X){let $={paren:0,bracket:0,brace:0},Z=null,Y=0;for(let J=0;J<X.length;J++){let G=X[J];if((J>0?X[J-1]:"")==="\\"&&Z)continue;if((G==='"'||G==="'")&&!Z){Z=G;continue}if(G===Z&&Z!=="`"){Z=null;continue}if(G==="`"&&!Z){Z="`";continue}if(G==="`"&&Z==="`"&&Y===0){Z=null;continue}if(Z==="`"&&G==="$"&&X[J+1]==="{"){Y++,J++;continue}if(Y>0&&G==="{"){Y++;continue}if(Y>0&&G==="}"){Y--;continue}if(Z)continue;if(G==="(")$.paren++;else if(G===")")$.paren--;else if(G==="[")$.bracket++;else if(G==="]")$.bracket--;else if(G==="{")$.brace++;else if(G==="}")$.brace--}return $.paren===0&&$.bracket===0&&$.brace===0&&Z===null}function LZ(X){let $=X.indexOf("(");if($===-1)return X.indexOf("{");let Z=T0(X,"(",")",$);if(Z===-1)return-1;return X.indexOf("{",Z)}function qw(X){let $=LZ(X);if($===-1)return!0;return T0(X,"{","}",$)===-1}function KZ(X,$,Z){let Y=Z,J=$+1;while(J<X.length&&!OZ(Y)){let G=X[J];Y+=`
3757
+ ${X[U]}`,U++;else break}return K=K.trim().replace(/;$/,""),{type:G,name:Q,value:K,nextIndex:U}}function Y9(X,$){let Z=X[$].trim(),Y=Z.match(/^(?:export\s+)?(?:async\s+)?function\s+(\w+)/);if(!Y)throw Error(`Failed to parse function declaration: ${Z}`);let[,J]=Y,G=Z.replace(/^export\s+/,""),Q=$;if(qw(Z)){let q=Kw(X,$,G);G=q.functionCode,Q=q.nextIndex}else Q=$+1;return{name:J,functionCode:G,nextIndex:Q}}function qZ(X){let $=X.trim();if($.startsWith("{"))return N0($,"{","}",0)===-1;if($.startsWith("["))return N0($,"[","]",0)===-1;return!OZ($)}function OZ(X){let $={paren:0,bracket:0,brace:0},Z=null,Y=0;for(let J=0;J<X.length;J++){let G=X[J];if((J>0?X[J-1]:"")==="\\"&&Z)continue;if((G==='"'||G==="'")&&!Z){Z=G;continue}if(G===Z&&Z!=="`"){Z=null;continue}if(G==="`"&&!Z){Z="`";continue}if(G==="`"&&Z==="`"&&Y===0){Z=null;continue}if(Z==="`"&&G==="$"&&X[J+1]==="{"){Y++,J++;continue}if(Y>0&&G==="{"){Y++;continue}if(Y>0&&G==="}"){Y--;continue}if(Z)continue;if(G==="(")$.paren++;else if(G===")")$.paren--;else if(G==="[")$.bracket++;else if(G==="]")$.bracket--;else if(G==="{")$.brace++;else if(G==="}")$.brace--}return $.paren===0&&$.bracket===0&&$.brace===0&&Z===null}function LZ(X){let $=X.indexOf("(");if($===-1)return X.indexOf("{");let Z=N0(X,"(",")",$);if(Z===-1)return-1;return X.indexOf("{",Z)}function qw(X){let $=LZ(X);if($===-1)return!0;return N0(X,"{","}",$)===-1}function KZ(X,$,Z){let Y=Z,J=$+1;while(J<X.length&&!OZ(Y)){let G=X[J];Y+=`
3758
3758
  ${G}`,J++}while(J<X.length){let G=X[J].trim();if(G.startsWith(".")||G.startsWith("?."))Y+=`
3759
- ${X[J]}`,J++;else break}return{value:Y,nextIndex:J}}function Kw(X,$,Z){let Y=Z,J=$+1;while(J<X.length){let G=LZ(Y);if(G!==-1){if(T0(Y,"{","}",G)!==-1)break}let Q=X[J];Y+=`
3760
- ${Q}`,J++}return{functionCode:Y,nextIndex:J}}function UZ(X,$){let Z=$0(X,$)??$0(`(${X})`,$);if(Z!==void 0)return Z;if(!/\bprocess\b/.test(X))return;let Y={...$,process:Object.freeze({env:{...I5.env}})};try{return Function(...Object.keys(Y),`'use strict'; return (${X});`)(...Object.values(Y))}catch{try{return Function(...Object.keys(Y),`'use strict'; return ${X};`)(...Object.values(Y))}catch{return}}}async function Uw(X,$,Z){let Y=X.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let G of Y){let[,,Q,q]=G;try{let K=q.trim().replace(/;$/,""),U=UZ(K,$);if(U!==void 0)$[Q]=U}catch(K){console.warn(`Failed to parse export ${Q} in fallback:`,K)}}let J=X.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let G of J){let[,,Q,q]=G;if(!(Q in $))try{let K=q.trim().replace(/;$/,""),U=UZ(K,$);if(U!==void 0)$[Q]=U}catch{}}}function FZ(X){let $=X.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Z=$?$[1]:"",Y=$?X.replace(/<script\b[^>]*>[\s\S]*?<\/script>/i,""):X;return{scriptContent:Z,templateWithoutScript:Y}}function VZ(X){let $=X.trim();if(!$)return!1;return/(?:const|let|var|function)\s+\w+/.test($)}var J9,JZ,Zw,Jw;var k7=E(()=>{M7();F1();O0();J9=["module","exports","require","props","$props","defineProps","withDefaults","defineClientPayload","state","derived","effect","batch","onMount","onDestroy","definePageMeta","useRoute","useRouter","useHead","useSeoMeta","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"],JZ=new Set(J9),Zw=new Set(["stx","@stacksjs/stx"]);Jw=/^(?:export\s+)?(?:const|let|var)\s+[A-Za-z_$][\w$]*(?:\s*,\s*[A-Za-z_$][\w$]*)*\s*;?$/});var Q9={};n(Q9,{renderSlot:()=>RZ,processSlots:()=>TZ,parseSlots:()=>AZ,parseSlotElement:()=>Bw,extractSlotContent:()=>Ow,applySlots:()=>Lw});function Ww(X,$){let Z=1,Y=$,J="<template",G="</template";while(Y<X.length&&Z>0){let Q=X.indexOf("<",Y);if(Q===-1)break;if(Y=Q,X.startsWith(J,Y)&&(Y+J.length>=X.length||/[\s>\/]/.test(X[Y+J.length]))){Z++,Y+=J.length;continue}if(X.startsWith(G,Y)){let q=X.indexOf(">",Y+G.length);if(q!==-1){if(Z--,Z===0)return q+1;Y=q+1;continue}}Y++}return Z===0?Y:-1}function zw(X,$){let Z=null;for(let Y=$;Y<X.length;Y++){let J=X[Y];if(Z){if(J==="\\"){Y++;continue}if(J===Z)Z=null;continue}if(J==='"'||J==="'"){Z=J;continue}if(J===">")return Y+1}return-1}function jw(X){let $=[],Z=[],Y=/^<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>$/i,J=0;while(J<X.length){let G=X.indexOf("<",J);if(G===-1)break;if(X.startsWith("<!--",G)){let z=X.indexOf("-->",G+4);J=z===-1?X.length:z+3;continue}let Q=zw(X,G+1);if(Q===-1)break;let q=X.slice(G,Q),K=q.match(/^<\s*(\/?)\s*([a-zA-Z][\w-]*)/);if(!K){J=Q;continue}let U=K[1]==="/",W=K[2].toLowerCase();if(U){let z=Z.lastIndexOf(W);if(z!==-1)Z.splice(z);J=Q;continue}if(W==="template"&&Z.length===0){let z=q.match(Y);if(z){let B=Ww(X,Q);if(B!==-1){let j=z[1]||z[2]||z[3];$.push({start:G,end:B,slotName:j,content:X.slice(Q,B-11).trim(),propsBinding:z[4]||void 0}),J=B;continue}}}if(!/\/\s*>$/.test(q)&&!ww.has(W)){if(Z.push(W),W==="script"||W==="style"){let z=X.toLowerCase().indexOf(`</${W}>`,Q);if(z!==-1){J=z;continue}}}J=Q}return $}function AZ(X){let $={default:"",named:new Map},Z=X,Y=jw(X);for(let K of Y)$.named.set(K.slotName,{name:K.slotName,content:K.content,propsBinding:K.propsBinding});Y.sort((K,U)=>U.start-K.start);for(let K of Y)Z=Z.slice(0,K.start)+Z.slice(K.end);let J=[],G=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,Q;while((Q=G.exec(Z))!==null){let[K,U,W,w,z,B]=Q,j=W.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),_=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=(j+_).trim(),L=`<${U}${H?" "+H:""}>${B}</${U}>`;J.push({start:Q.index,end:Q.index+K.length,slotName:w,element:L})}let q=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((Q=q.exec(Z))!==null){let[K,U,W,w,z]=Q,B=W.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),j=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),_=(B+j).trim(),H=`<${U}${_?" "+_:""} />`;J.push({start:Q.index,end:Q.index+K.length,slotName:w,element:H})}J.sort((K,U)=>U.start-K.start);for(let K of J){let U=$.named.get(K.slotName);if(U)U.content+=K.element;else $.named.set(K.slotName,{name:K.slotName,content:K.element});Z=Z.slice(0,K.start)+Z.slice(K.end)}return $.default=Z.trim(),$}function Bw(X){let $=X.match(/name\s*=\s*["']([^"']+)["']/),Z=$?$[1]:"",Y={},J=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,G;while((G=J.exec(X))!==null)Y[G[1]]=G[2];let Q=X.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),q=Q?Q[1].trim():"";return{name:Z,props:Y,defaultContent:q}}async function RZ(X,$,Z,Y){if(!X)return Z;let J=X.content;if(X.propsBinding&&Object.keys($).length>0){let G=X.propsBinding.trim(),Q={...Y};if(G.startsWith("{")&&G.endsWith("}")){let q=G.slice(1,-1).split(",").map((K)=>K.trim()).filter(Boolean);for(let K of q){let[U,W]=K.split(":").map((z)=>z.trim()),w=W||U;if($[U]!==void 0)Q[w]=$[U]}}else Q[G]=$;J=_w(J,Q)}return J}function _w(X,$){return X.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Z,Y)=>{try{let J=Y.trim(),G=NZ(J,$);return r0(String(G??""))}catch{return`{{ ${Y} }}`}})}function NZ(X,$){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test(X)){let Y=X.split("."),J=$;for(let G of Y)if(J&&typeof J==="object"&&G in J)J=J[G];else return;return J}let Z=X.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(Z){let[,Y,J,G]=Z,Q=$[Y],q=parseInt(G,10);if(typeof Q==="number")switch(J){case"+":return Q+q;case"-":return Q-q;case"*":return Q*q;case"/":return Q/q}}try{if(!G0(X))return;return Q0(X,Object.keys($))(...Object.values($))}catch{return}}async function TZ(X,$,Z){let Y=X;Y=await Hw(Y,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(Q,q,K,U)=>{let W=$.named.get(q),w=U?.trim()||"",z=K||"",B={},j=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,_;while((_=j.exec(z))!==null){let H=_[1],L=_[2];B[H]=NZ(L,Z)}return await RZ(W,B,w,Z)});let G=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return Y=Y.replace(G,(Q,q)=>{if(Q.includes("name="))return Q;let K=q?.trim()||"";return $.default||K}),Y}async function Hw(X,$,Z){let Y=[],J=[];X.replace($,(q,...K)=>{let U=K[K.length-2];return J.push({match:q,index:U}),Y.push(Z(q,...K.slice(0,-2))),q});let G=await Promise.all(Y),Q=X;for(let q=J.length-1;q>=0;q--){let{match:K,index:U}=J[q];Q=Q.slice(0,U)+G[q]+Q.slice(U+K.length)}return Q}function Ow(X){let $=AZ(X);return{defaultSlot:$.default,namedSlots:$.named}}async function Lw(X,$,Z,Y){return await TZ(X,{default:$,named:Z},Y)}var ww;var q9=E(()=>{Z1();O0();ww=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function k1(X,$){let Z=Fw(X,$);return Z.ok?{expression:Z.expression,endPos:Z.endPos}:null}function Fw(X,$){let Z=$;while(Z<X.length&&/\s/.test(X[Z]))Z++;if(X[Z]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Z};let Y=T0(X,"(",")",Z);if(Y===-1)return{ok:!1,reason:"unclosed-paren",pos:Z};return{ok:!0,expression:X.slice(Z+1,Y),endPos:Y+1}}function Vw(X,$){let Z=X.lastIndexOf("<",$);if(Z===-1)return!1;return Z>X.lastIndexOf(">",$)}function n1(X,$,Z,Y){let J=1,G=Y,Q=new RegExp(`@${$}\\s*\\(`,"g"),q=new RegExp(`@${Z}(?![a-z])`,"g");while(G<X.length&&J>0){Q.lastIndex=G,q.lastIndex=G;let K=Q.exec(X),U=q.exec(X),W=K?K.index:1/0,w=U?U.index:1/0;if(W<w)J++,G=W+K[0].length;else if(w<1/0){if(J--,J===0)return w;G=w+U[0].length}else break}return-1}function MZ(X,$){let Z=X.slice($).match(/^@if\s*/);if(!Z)return null;let Y=$+Z[0].length,J=k1(X,Y);if(!J)return null;let G=J.endPos,Q=n1(X,"if","endif",G);if(Q===-1)return null;let q=X.slice(G,Q),K=[],U=0,W="if",w=J.expression,z=0,B=0;while(U<q.length){let j=q.indexOf("@",U);if(j===-1)break;U=j;let _=q.substring(j);if(Vw(q,j)){U++;continue}if(/^@if\s*\(/.test(_)){B++,U++;continue}if(/^@endif(?![a-z])/.test(_)){B--,U+=6;continue}if(B===0){let H=_.match(/^@elseif\s*/);if(H){K.push({type:W,condition:w,content:q.substring(z,U),start:G+z,end:G+U});let L=U+H[0].length,O=k1(q,L);if(!O){U++;continue}W="elseif",w=O.expression,U=O.endPos,z=U;continue}else if(/^@else(?![a-z])/.test(_)){K.push({type:W,condition:w,content:q.substring(z,U),start:G+z,end:G+U}),W="else",w=void 0,U+=5,z=U;continue}}U++}return K.push({type:W,condition:w,content:q.slice(z),start:G+z,end:G+q.length}),{fullMatch:X.slice($,Q+6),branches:K,start:$,end:Q+6}}function I7(X){let $=[],Z=/@if\s*\(/g,Y=Z.exec(X);while(Y!==null){if($.some((Q)=>Y.index>Q.start&&Y.index<Q.end)){Y=Z.exec(X);continue}let G=MZ(X,Y.index);if(G)$.push(G),Z.lastIndex=G.end;Y=Z.exec(X)}return $}function EX(X,$,Z){let Y=[],J=new RegExp(`@${$}\\s*\\(`,"g"),G=J.exec(X);while(G!==null){if(Y.some((_)=>G.index>_.start&&G.index<_.end)){G=J.exec(X);continue}let q=G.index,K=q+G[0].length-1,U=T0(X,"(",")",K);if(U===-1){G=J.exec(X);continue}let W=X.slice(K+1,U),w=U+1,z=n1(X,$,Z,w);if(z===-1){G=J.exec(X);continue}let B=X.slice(w,z),j=z+`@${Z}`.length;Y.push({fullMatch:X.slice(q,j),name:$,params:W,content:B,start:q,end:j}),J.lastIndex=j,G=J.exec(X)}return Y}function K9(X,$){let Z=X.slice($).match(/^@switch\s*/);if(!Z)return null;let Y=$+Z[0].length,J=k1(X,Y);if(!J)return null;let G=J.endPos,Q=n1(X,"switch","endswitch",G);if(Q===-1)return null;let q=X.slice(G,Q),K=[],U=0,W=null,w=0;while(U<q.length){let z=q.slice(U),B=z.match(/^@switch\s*\(/),j=z.match(/^@endswitch(?![a-z])/);if(B){if(w++,W)W.content+=B[0];U+=B[0].length;continue}if(j){if(w--,W)W.content+=j[0];U+=j[0].length;continue}if(w>0){if(W)W.content+=q[U];U++;continue}let _=z.match(/^@case\s*/),H=z.match(/^@default(?![a-z])/),L=z.match(/^@break(?![a-z])/);if(_&&z.startsWith("@case")){if(W)K.push(W);let O=U+_[0].length,F=k1(q,O);if(!F){U++;continue}W={type:"case",value:F.expression,content:""},U=F.endPos}else if(H&&z.startsWith("@default")){if(W)K.push(W);W={type:"default",content:""},U+=H[0].length}else if(L&&z.startsWith("@break"))U+=L[0].length;else{if(W)W.content+=q[U];U++}}if(W)K.push(W);return{fullMatch:X.slice($,Q+10),expression:J.expression,cases:K,start:$,end:Q+10}}var kZ=()=>{};var IZ=()=>{};var DX=E(()=>{kZ();IZ()});function EZ(X,$={}){return new O5(X,$).routes}var DZ=E(()=>{g1();g1()});async function bZ(X){let $=X;if(!$)try{$=(await I1())?.pagesDir||"pages"}catch{$="pages"}let Z=$,Y=yZ.get(Z);if(Y)return Y;let J=[];try{J=EZ(".",{pagesDir:Z}).map((G)=>G.regex.source).filter(Boolean)}catch{J=[]}return yZ.set(Z,J),J}var yZ;var SZ=E(()=>{DZ();V1();yZ=new Map});function Tw(X){return X.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function CZ(X){return Tw(JSON.stringify(X))}function E7(X){let $=0,Z,Y=U9.map(()=>{return});while($<X.length){if(Z===void 0||Z!==null&&Z.index<$)PZ.lastIndex=$,Z=PZ.exec(X);if(!Z)return null;let J=Z.index,G=-1,Q=null;for(let K=0;K<U9.length;K++){let U=U9[K],W=Y[K];if(W===void 0||W!==null&&W.index<$)U.open.lastIndex=$,W=U.open.exec(X),Y[K]=W;if(!W)continue;if(W.index<J&&(G===-1||W.index<G))G=W.index,Q=U.close}if(G===-1||!Q)return{index:J,tag:Z[0],attrs:Z[1]??""};Q.lastIndex=G;let q=Q.exec(X);if(!q)return null;$=q.index+q[0].length}return null}function yX(X,$){let Z=E7(X);if(!Z)return X;return X.slice(0,Z.index)+$(Z.tag,Z.attrs)+X.slice(Z.index+Z.tag.length)}var U9,PZ;var W9=E(()=>{U9=[{open:/<!--/g,close:/-->/g},{open:/<script\b/gi,close:/<\/script\s*>/gi},{open:/<style\b/gi,close:/<\/style\s*>/gi}],PZ=/<body\b([^>]*)>/gi});function z9(){return r1}function j9(X){let $=r1;return vZ.push(X),r1=X,$}function B9(X){vZ.pop(),r1=X}function _9(){return bX>0}function H9(X){w9.add(X)}function xZ(X){bX++;try{X()}finally{if(bX--,bX===0){let $=[...w9];w9.clear();for(let Z of $)Z()}}}function fZ(X){let $=r1;r1=null;try{return X()}finally{r1=$}}var r1=null,vZ,bX=0,w9;var gZ=E(()=>{vZ=[],w9=new Set});function E1(X){let $=X,Z=new Set,Y=new Set,J=()=>{let G=z9();if(G)Y.add(G);return $};return J.set=(G)=>{if(!Object.is(G,$)){let Q=$;if($=G,Z.forEach((q)=>q($,Q)),_9())Y.forEach((q)=>H9(q));else Y.forEach((q)=>q())}},J.update=(G)=>{J.set(G($))},J.subscribe=(G)=>{return Z.add(G),()=>Z.delete(G)},Object.defineProperty(J,"_isSignal",{value:!0,writable:!1}),Object.defineProperty(J,"value",{get:()=>J(),set:(G)=>J.set(G),configurable:!0}),J}function CX(X){let $,Z=!0,Y=new Set,J=()=>{if(!Z)if(Z=!0,_9())Y.forEach((Q)=>H9(Q));else Y.forEach((Q)=>Q())},G=()=>{let Q=z9();if(Q)Y.add(Q);if(Z){let q=j9(J);try{$=X()}finally{B9(q)}Z=!1}return $};return Object.defineProperty(G,"_isDerived",{value:!0,writable:!1}),Object.defineProperty(G,"value",{get:()=>G(),configurable:!0}),G}function PX(X,$={}){let Z,Y=!1,J=()=>{if(Y)return;if(Z)Z(),Z=void 0;let G=j9(J);try{let Q=X();Z=typeof Q==="function"?Q:void 0}finally{B9(G)}};if($.immediate!==!1)J();return()=>{if(Y=!0,Z)Z()}}function L9(X){xZ(X)}function F9(X){O9.push(X)}function V9(X){SX.push(X)}function Mw(){hZ(O9,"onMount",SX)}function kw(){hZ(SX,"onDestroy")}function hZ(X,$,Z){let Y=X.splice(0,X.length);for(let J of Y)try{let G=J();if(Z&&typeof G==="function")Z.push(G)}catch(G){console.error(`[stx] ${$} callback threw:`,G)}}function Iw(){return{mount:O9.length,destroy:SX.length}}function vX(X){return typeof X==="function"&&X._isSignal===!0}function xX(X){return typeof X==="function"&&X._isDerived===!0}function A9(X){if(vX(X)||xX(X))return X();return X}function fX(X){return fZ(X)}function Ew(X,$){let Z=typeof X==="function"?X:()=>X,Y=E1([]),J=CX(()=>Y().reduce((q,K)=>$(q,K.action),Z())),G=!1;return PX(()=>{if(Z(),!G){G=!0;return}if(fX(()=>Y().length))Y.set([])}),[J,(q,K)=>{let U={action:q};Y.set([...Y(),U]);let W=()=>{let w=Y().filter((z)=>z!==U);if(w.length!==Y().length)Y.set(w)};if(K&&typeof K.then==="function")Promise.resolve(K).then(W,W);return W}]}var O9,SX;var gX=E(()=>{gZ();O9=[],SX=[]});var dZ={};n(dZ,{useOptimistic:()=>Ew,untrack:()=>A9,state:()=>E1,runMountCallbacks:()=>Mw,runDestroyCallbacks:()=>kw,pendingLifecycleCounts:()=>Iw,peek:()=>fX,onMount:()=>F9,onDestroy:()=>V9,isSignal:()=>vX,isDerived:()=>xX,generateSignalsRuntimeDev:()=>R9,generateSignalsRuntime:()=>uZ,effect:()=>PX,derived:()=>CX,default:()=>yw,batch:()=>L9});function uZ(){let X=Dw(R9());try{let Z=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync(X);return Z=Z.replace(/\}(var |let |const |function )/g,"};$1"),Z}catch{return X}}function Dw(X){let $=[],Z=0,Y="console.log(";while(Z<X.length){let J=X.indexOf(Y,Z);if(J===-1){$.push(X.slice(Z));break}$.push(X.slice(Z,J));let G=1,Q=J+Y.length;while(Q<X.length&&G>0){let q=X[Q];if(q==='"'||q==="'"||q==="`"){let K=q;Q++;while(Q<X.length&&X[Q]!==K){if(X[Q]==="\\")Q++;Q++}Q++;continue}if(q==="(")G++;else if(q===")")G--;Q++}$.push("0"),Z=Q}return $.join("")}function R9(){return`
3759
+ ${X[J]}`,J++;else break}return{value:Y,nextIndex:J}}function Kw(X,$,Z){let Y=Z,J=$+1;while(J<X.length){let G=LZ(Y);if(G!==-1){if(N0(Y,"{","}",G)!==-1)break}let Q=X[J];Y+=`
3760
+ ${Q}`,J++}return{functionCode:Y,nextIndex:J}}function UZ(X,$){let Z=$0(X,$)??$0(`(${X})`,$);if(Z!==void 0)return Z;if(!/\bprocess\b/.test(X))return;let Y={...$,process:Object.freeze({env:{...I5.env}})};try{return Function(...Object.keys(Y),`'use strict'; return (${X});`)(...Object.values(Y))}catch{try{return Function(...Object.keys(Y),`'use strict'; return ${X};`)(...Object.values(Y))}catch{return}}}async function Uw(X,$,Z){let Y=X.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let G of Y){let[,,Q,q]=G;try{let K=q.trim().replace(/;$/,""),U=UZ(K,$);if(U!==void 0)$[Q]=U}catch(K){console.warn(`Failed to parse export ${Q} in fallback:`,K)}}let J=X.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let G of J){let[,,Q,q]=G;if(!(Q in $))try{let K=q.trim().replace(/;$/,""),U=UZ(K,$);if(U!==void 0)$[Q]=U}catch{}}}function FZ(X){let $=X.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Z=$?$[1]:"",Y=$?X.replace(/<script\b[^>]*>[\s\S]*?<\/script>/i,""):X;return{scriptContent:Z,templateWithoutScript:Y}}function VZ(X){let $=X.trim();if(!$)return!1;return/(?:const|let|var|function)\s+\w+/.test($)}var J9,JZ,Zw,Jw;var k7=E(()=>{M7();F1();O0();J9=["module","exports","require","props","$props","defineProps","withDefaults","defineClientPayload","state","derived","effect","batch","onMount","onDestroy","definePageMeta","useRoute","useRouter","useHead","useSeoMeta","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"],JZ=new Set(J9),Zw=new Set(["stx","@stacksjs/stx"]);Jw=/^(?:export\s+)?(?:const|let|var)\s+[A-Za-z_$][\w$]*(?:\s*,\s*[A-Za-z_$][\w$]*)*\s*;?$/});var Q9={};n(Q9,{renderSlot:()=>RZ,processSlots:()=>NZ,parseSlots:()=>AZ,parseSlotElement:()=>Bw,extractSlotContent:()=>Ow,applySlots:()=>Lw});function Ww(X,$){let Z=1,Y=$,J="<template",G="</template";while(Y<X.length&&Z>0){let Q=X.indexOf("<",Y);if(Q===-1)break;if(Y=Q,X.startsWith(J,Y)&&(Y+J.length>=X.length||/[\s>\/]/.test(X[Y+J.length]))){Z++,Y+=J.length;continue}if(X.startsWith(G,Y)){let q=X.indexOf(">",Y+G.length);if(q!==-1){if(Z--,Z===0)return q+1;Y=q+1;continue}}Y++}return Z===0?Y:-1}function zw(X,$){let Z=null;for(let Y=$;Y<X.length;Y++){let J=X[Y];if(Z){if(J==="\\"){Y++;continue}if(J===Z)Z=null;continue}if(J==='"'||J==="'"){Z=J;continue}if(J===">")return Y+1}return-1}function jw(X){let $=[],Z=[],Y=/^<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>$/i,J=0;while(J<X.length){let G=X.indexOf("<",J);if(G===-1)break;if(X.startsWith("<!--",G)){let z=X.indexOf("-->",G+4);J=z===-1?X.length:z+3;continue}let Q=zw(X,G+1);if(Q===-1)break;let q=X.slice(G,Q),K=q.match(/^<\s*(\/?)\s*([a-zA-Z][\w-]*)/);if(!K){J=Q;continue}let U=K[1]==="/",W=K[2].toLowerCase();if(U){let z=Z.lastIndexOf(W);if(z!==-1)Z.splice(z);J=Q;continue}if(W==="template"&&Z.length===0){let z=q.match(Y);if(z){let B=Ww(X,Q);if(B!==-1){let j=z[1]||z[2]||z[3];$.push({start:G,end:B,slotName:j,content:X.slice(Q,B-11).trim(),propsBinding:z[4]||void 0}),J=B;continue}}}if(!/\/\s*>$/.test(q)&&!ww.has(W)){if(Z.push(W),W==="script"||W==="style"){let z=X.toLowerCase().indexOf(`</${W}>`,Q);if(z!==-1){J=z;continue}}}J=Q}return $}function AZ(X){let $={default:"",named:new Map},Z=X,Y=jw(X);for(let K of Y)$.named.set(K.slotName,{name:K.slotName,content:K.content,propsBinding:K.propsBinding});Y.sort((K,U)=>U.start-K.start);for(let K of Y)Z=Z.slice(0,K.start)+Z.slice(K.end);let J=[],G=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,Q;while((Q=G.exec(Z))!==null){let[K,U,W,w,z,B]=Q,j=W.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),_=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=(j+_).trim(),L=`<${U}${H?" "+H:""}>${B}</${U}>`;J.push({start:Q.index,end:Q.index+K.length,slotName:w,element:L})}let q=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((Q=q.exec(Z))!==null){let[K,U,W,w,z]=Q,B=W.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),j=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),_=(B+j).trim(),H=`<${U}${_?" "+_:""} />`;J.push({start:Q.index,end:Q.index+K.length,slotName:w,element:H})}J.sort((K,U)=>U.start-K.start);for(let K of J){let U=$.named.get(K.slotName);if(U)U.content+=K.element;else $.named.set(K.slotName,{name:K.slotName,content:K.element});Z=Z.slice(0,K.start)+Z.slice(K.end)}return $.default=Z.trim(),$}function Bw(X){let $=X.match(/name\s*=\s*["']([^"']+)["']/),Z=$?$[1]:"",Y={},J=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,G;while((G=J.exec(X))!==null)Y[G[1]]=G[2];let Q=X.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),q=Q?Q[1].trim():"";return{name:Z,props:Y,defaultContent:q}}async function RZ(X,$,Z,Y){if(!X)return Z;let J=X.content;if(X.propsBinding&&Object.keys($).length>0){let G=X.propsBinding.trim(),Q={...Y};if(G.startsWith("{")&&G.endsWith("}")){let q=G.slice(1,-1).split(",").map((K)=>K.trim()).filter(Boolean);for(let K of q){let[U,W]=K.split(":").map((z)=>z.trim()),w=W||U;if($[U]!==void 0)Q[w]=$[U]}}else Q[G]=$;J=_w(J,Q)}return J}function _w(X,$){return X.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Z,Y)=>{try{let J=Y.trim(),G=TZ(J,$);return o0(String(G??""))}catch{return`{{ ${Y} }}`}})}function TZ(X,$){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test(X)){let Y=X.split("."),J=$;for(let G of Y)if(J&&typeof J==="object"&&G in J)J=J[G];else return;return J}let Z=X.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(Z){let[,Y,J,G]=Z,Q=$[Y],q=parseInt(G,10);if(typeof Q==="number")switch(J){case"+":return Q+q;case"-":return Q-q;case"*":return Q*q;case"/":return Q/q}}try{if(!G0(X))return;return Q0(X,Object.keys($))(...Object.values($))}catch{return}}async function NZ(X,$,Z){let Y=X;Y=await Hw(Y,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(Q,q,K,U)=>{let W=$.named.get(q),w=U?.trim()||"",z=K||"",B={},j=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,_;while((_=j.exec(z))!==null){let H=_[1],L=_[2];B[H]=TZ(L,Z)}return await RZ(W,B,w,Z)});let G=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return Y=Y.replace(G,(Q,q)=>{if(Q.includes("name="))return Q;let K=q?.trim()||"";return $.default||K}),Y}async function Hw(X,$,Z){let Y=[],J=[];X.replace($,(q,...K)=>{let U=K[K.length-2];return J.push({match:q,index:U}),Y.push(Z(q,...K.slice(0,-2))),q});let G=await Promise.all(Y),Q=X;for(let q=J.length-1;q>=0;q--){let{match:K,index:U}=J[q];Q=Q.slice(0,U)+G[q]+Q.slice(U+K.length)}return Q}function Ow(X){let $=AZ(X);return{defaultSlot:$.default,namedSlots:$.named}}async function Lw(X,$,Z,Y){return await NZ(X,{default:$,named:Z},Y)}var ww;var q9=E(()=>{Z1();O0();ww=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function k1(X,$){let Z=Fw(X,$);return Z.ok?{expression:Z.expression,endPos:Z.endPos}:null}function Fw(X,$){let Z=$;while(Z<X.length&&/\s/.test(X[Z]))Z++;if(X[Z]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Z};let Y=N0(X,"(",")",Z);if(Y===-1)return{ok:!1,reason:"unclosed-paren",pos:Z};return{ok:!0,expression:X.slice(Z+1,Y),endPos:Y+1}}function Vw(X,$){let Z=X.lastIndexOf("<",$);if(Z===-1)return!1;return Z>X.lastIndexOf(">",$)}function n1(X,$,Z,Y){let J=1,G=Y,Q=new RegExp(`@${$}\\s*\\(`,"g"),q=new RegExp(`@${Z}(?![a-z])`,"g");while(G<X.length&&J>0){Q.lastIndex=G,q.lastIndex=G;let K=Q.exec(X),U=q.exec(X),W=K?K.index:1/0,w=U?U.index:1/0;if(W<w)J++,G=W+K[0].length;else if(w<1/0){if(J--,J===0)return w;G=w+U[0].length}else break}return-1}function MZ(X,$){let Z=X.slice($).match(/^@if\s*/);if(!Z)return null;let Y=$+Z[0].length,J=k1(X,Y);if(!J)return null;let G=J.endPos,Q=n1(X,"if","endif",G);if(Q===-1)return null;let q=X.slice(G,Q),K=[],U=0,W="if",w=J.expression,z=0,B=0;while(U<q.length){let j=q.indexOf("@",U);if(j===-1)break;U=j;let _=q.substring(j);if(Vw(q,j)){U++;continue}if(/^@if\s*\(/.test(_)){B++,U++;continue}if(/^@endif(?![a-z])/.test(_)){B--,U+=6;continue}if(B===0){let H=_.match(/^@elseif\s*/);if(H){K.push({type:W,condition:w,content:q.substring(z,U),start:G+z,end:G+U});let L=U+H[0].length,O=k1(q,L);if(!O){U++;continue}W="elseif",w=O.expression,U=O.endPos,z=U;continue}else if(/^@else(?![a-z])/.test(_)){K.push({type:W,condition:w,content:q.substring(z,U),start:G+z,end:G+U}),W="else",w=void 0,U+=5,z=U;continue}}U++}return K.push({type:W,condition:w,content:q.slice(z),start:G+z,end:G+q.length}),{fullMatch:X.slice($,Q+6),branches:K,start:$,end:Q+6}}function I7(X){let $=[],Z=/@if\s*\(/g,Y=Z.exec(X);while(Y!==null){if($.some((Q)=>Y.index>Q.start&&Y.index<Q.end)){Y=Z.exec(X);continue}let G=MZ(X,Y.index);if(G)$.push(G),Z.lastIndex=G.end;Y=Z.exec(X)}return $}function EX(X,$,Z){let Y=[],J=new RegExp(`@${$}\\s*\\(`,"g"),G=J.exec(X);while(G!==null){if(Y.some((_)=>G.index>_.start&&G.index<_.end)){G=J.exec(X);continue}let q=G.index,K=q+G[0].length-1,U=N0(X,"(",")",K);if(U===-1){G=J.exec(X);continue}let W=X.slice(K+1,U),w=U+1,z=n1(X,$,Z,w);if(z===-1){G=J.exec(X);continue}let B=X.slice(w,z),j=z+`@${Z}`.length;Y.push({fullMatch:X.slice(q,j),name:$,params:W,content:B,start:q,end:j}),J.lastIndex=j,G=J.exec(X)}return Y}function K9(X,$){let Z=X.slice($).match(/^@switch\s*/);if(!Z)return null;let Y=$+Z[0].length,J=k1(X,Y);if(!J)return null;let G=J.endPos,Q=n1(X,"switch","endswitch",G);if(Q===-1)return null;let q=X.slice(G,Q),K=[],U=0,W=null,w=0;while(U<q.length){let z=q.slice(U),B=z.match(/^@switch\s*\(/),j=z.match(/^@endswitch(?![a-z])/);if(B){if(w++,W)W.content+=B[0];U+=B[0].length;continue}if(j){if(w--,W)W.content+=j[0];U+=j[0].length;continue}if(w>0){if(W)W.content+=q[U];U++;continue}let _=z.match(/^@case\s*/),H=z.match(/^@default(?![a-z])/),L=z.match(/^@break(?![a-z])/);if(_&&z.startsWith("@case")){if(W)K.push(W);let O=U+_[0].length,F=k1(q,O);if(!F){U++;continue}W={type:"case",value:F.expression,content:""},U=F.endPos}else if(H&&z.startsWith("@default")){if(W)K.push(W);W={type:"default",content:""},U+=H[0].length}else if(L&&z.startsWith("@break"))U+=L[0].length;else{if(W)W.content+=q[U];U++}}if(W)K.push(W);return{fullMatch:X.slice($,Q+10),expression:J.expression,cases:K,start:$,end:Q+10}}var kZ=()=>{};var IZ=()=>{};var DX=E(()=>{kZ();IZ()});function EZ(X,$={}){return new O5(X,$).routes}var DZ=E(()=>{g1();g1()});async function bZ(X){let $=X;if(!$)try{$=(await I1())?.pagesDir||"pages"}catch{$="pages"}let Z=$,Y=yZ.get(Z);if(Y)return Y;let J=[];try{J=EZ(".",{pagesDir:Z}).map((G)=>G.regex.source).filter(Boolean)}catch{J=[]}return yZ.set(Z,J),J}var yZ;var SZ=E(()=>{DZ();V1();yZ=new Map});function Nw(X){return X.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function CZ(X){return Nw(JSON.stringify(X))}function E7(X){let $=0,Z,Y=U9.map(()=>{return});while($<X.length){if(Z===void 0||Z!==null&&Z.index<$)PZ.lastIndex=$,Z=PZ.exec(X);if(!Z)return null;let J=Z.index,G=-1,Q=null;for(let K=0;K<U9.length;K++){let U=U9[K],W=Y[K];if(W===void 0||W!==null&&W.index<$)U.open.lastIndex=$,W=U.open.exec(X),Y[K]=W;if(!W)continue;if(W.index<J&&(G===-1||W.index<G))G=W.index,Q=U.close}if(G===-1||!Q)return{index:J,tag:Z[0],attrs:Z[1]??""};Q.lastIndex=G;let q=Q.exec(X);if(!q)return null;$=q.index+q[0].length}return null}function yX(X,$){let Z=E7(X);if(!Z)return X;return X.slice(0,Z.index)+$(Z.tag,Z.attrs)+X.slice(Z.index+Z.tag.length)}var U9,PZ;var W9=E(()=>{U9=[{open:/<!--/g,close:/-->/g},{open:/<script\b/gi,close:/<\/script\s*>/gi},{open:/<style\b/gi,close:/<\/style\s*>/gi}],PZ=/<body\b([^>]*)>/gi});function z9(){return r1}function j9(X){let $=r1;return vZ.push(X),r1=X,$}function B9(X){vZ.pop(),r1=X}function _9(){return bX>0}function H9(X){w9.add(X)}function xZ(X){bX++;try{X()}finally{if(bX--,bX===0){let $=[...w9];w9.clear();for(let Z of $)Z()}}}function fZ(X){let $=r1;r1=null;try{return X()}finally{r1=$}}var r1=null,vZ,bX=0,w9;var gZ=E(()=>{vZ=[],w9=new Set});function E1(X){let $=X,Z=new Set,Y=new Set,J=()=>{let G=z9();if(G)Y.add(G);return $};return J.set=(G)=>{if(!Object.is(G,$)){let Q=$;if($=G,Z.forEach((q)=>q($,Q)),_9())Y.forEach((q)=>H9(q));else Y.forEach((q)=>q())}},J.update=(G)=>{J.set(G($))},J.subscribe=(G)=>{return Z.add(G),()=>Z.delete(G)},Object.defineProperty(J,"_isSignal",{value:!0,writable:!1}),Object.defineProperty(J,"value",{get:()=>J(),set:(G)=>J.set(G),configurable:!0}),J}function CX(X){let $,Z=!0,Y=new Set,J=()=>{if(!Z)if(Z=!0,_9())Y.forEach((Q)=>H9(Q));else Y.forEach((Q)=>Q())},G=()=>{let Q=z9();if(Q)Y.add(Q);if(Z){let q=j9(J);try{$=X()}finally{B9(q)}Z=!1}return $};return Object.defineProperty(G,"_isDerived",{value:!0,writable:!1}),Object.defineProperty(G,"value",{get:()=>G(),configurable:!0}),G}function PX(X,$={}){let Z,Y=!1,J=()=>{if(Y)return;if(Z)Z(),Z=void 0;let G=j9(J);try{let Q=X();Z=typeof Q==="function"?Q:void 0}finally{B9(G)}};if($.immediate!==!1)J();return()=>{if(Y=!0,Z)Z()}}function L9(X){xZ(X)}function F9(X){O9.push(X)}function V9(X){SX.push(X)}function Mw(){hZ(O9,"onMount",SX)}function kw(){hZ(SX,"onDestroy")}function hZ(X,$,Z){let Y=X.splice(0,X.length);for(let J of Y)try{let G=J();if(Z&&typeof G==="function")Z.push(G)}catch(G){console.error(`[stx] ${$} callback threw:`,G)}}function Iw(){return{mount:O9.length,destroy:SX.length}}function vX(X){return typeof X==="function"&&X._isSignal===!0}function xX(X){return typeof X==="function"&&X._isDerived===!0}function A9(X){if(vX(X)||xX(X))return X();return X}function fX(X){return fZ(X)}function Ew(X,$){let Z=typeof X==="function"?X:()=>X,Y=E1([]),J=CX(()=>Y().reduce((q,K)=>$(q,K.action),Z())),G=!1;return PX(()=>{if(Z(),!G){G=!0;return}if(fX(()=>Y().length))Y.set([])}),[J,(q,K)=>{let U={action:q};Y.set([...Y(),U]);let W=()=>{let w=Y().filter((z)=>z!==U);if(w.length!==Y().length)Y.set(w)};if(K&&typeof K.then==="function")Promise.resolve(K).then(W,W);return W}]}var O9,SX;var gX=E(()=>{gZ();O9=[],SX=[]});var dZ={};n(dZ,{useOptimistic:()=>Ew,untrack:()=>A9,state:()=>E1,runMountCallbacks:()=>Mw,runDestroyCallbacks:()=>kw,pendingLifecycleCounts:()=>Iw,peek:()=>fX,onMount:()=>F9,onDestroy:()=>V9,isSignal:()=>vX,isDerived:()=>xX,generateSignalsRuntimeDev:()=>R9,generateSignalsRuntime:()=>uZ,effect:()=>PX,derived:()=>CX,default:()=>yw,batch:()=>L9});function uZ(){let X=Dw(R9());try{let Z=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync(X);return Z=Z.replace(/\}(var |let |const |function )/g,"};$1"),Z}catch{return X}}function Dw(X){let $=[],Z=0,Y="console.log(";while(Z<X.length){let J=X.indexOf(Y,Z);if(J===-1){$.push(X.slice(Z));break}$.push(X.slice(Z,J));let G=1,Q=J+Y.length;while(Q<X.length&&G>0){let q=X[Q];if(q==='"'||q==="'"||q==="`"){let K=q;Q++;while(Q<X.length&&X[Q]!==K){if(X[Q]==="\\")Q++;Q++}Q++;continue}if(q==="(")G++;else if(q===")")G--;Q++}$.push("0"),Z=Q}return $.join("")}function R9(){return`
3761
3761
  // STX Signals Runtime (Development Build)
3762
3762
  console.log('[stx] signals runtime loading');
3763
3763
  // Pre-initialization shim: capture onMount/onDestroy calls made before the runtime IIFE runs
@@ -4891,7 +4891,7 @@ else if (immediate) {
4891
4891
  var ownerScope = currentLifecycleScope() || componentScope;
4892
4892
  return {
4893
4893
  get current() {
4894
- return ownerScope.$refs ? ownerScope.$refs[name] : null;
4894
+ return (ownerScope.$refs && ownerScope.$refs[name]) || null;
4895
4895
  },
4896
4896
  get value() {
4897
4897
  return this.current;
@@ -8075,33 +8075,30 @@ catch (e2) {
8075
8075
  }
8076
8076
 
8077
8077
  // Helper to evaluate with captured scope (auto-unwraps signals).
8078
- // Mirrors bindStyle/bindShow/evalAttrExpr: first try the auto-unwrap
8079
- // proxy (so a bare-reference comparison like count > 5 reads the signal
8080
- // as a primitive), then retry with the raw scope so call-syntax
8081
- // expressions like count() === 0 or !recording() still work. The proxy
8082
- // unwraps signals to their values, which turns count() into 0() ->
8083
- // TypeError; pre-fix (stacksjs/stx#1733) the single catch swallowed
8084
- // that TypeError and returned '' (falsy), silently hiding the element
8085
- // for EVERY comparison/boolean expression. bindIf was the only
8086
- // directive missing this retry.
8078
+ // A with-scope resolves only identifiers the expression actually references,
8079
+ // so the conditional subscribes narrowly instead of reading every signal
8080
+ // in a component scope. That broad subscription made an unrelated ref
8081
+ // update re-enter structural removal while the real condition was already
8082
+ // removing the same subtree. First try the auto-unwrap proxy (so a bare
8083
+ // comparison like count > 5 reads the signal value), then retry with the
8084
+ // raw scope so call syntax like count() === 0 still works (#1733).
8087
8085
  const evalExpr = (expression) => {
8088
8086
  // Skip placeholder expressions like __TITLE__ (build-time placeholders)
8089
8087
  if (/^__[A-Z_]+__$/.test(expression.trim())) {
8090
8088
  return expression;
8091
8089
  }
8092
8090
  try {
8093
- // Use captured componentScope (with @for vars) merged with element scope
8094
8091
  const scope = { ...globalHelpers, ...capturedComponentScope, ...(capturedElementScope || {}) };
8095
8092
  const unwrapScope = createExpressionAutoUnwrapProxy(scope, expression);
8096
- const fn = new Function(...Object.keys(scope), 'return ' + expression);
8097
- return fn(...Object.values(unwrapScope));
8093
+ const fn = new Function('__scope__', 'with(__scope__) { return ' + expression + ' }');
8094
+ return fn(unwrapScope);
8098
8095
  }
8099
8096
  catch (e1) {
8100
8097
  try {
8101
8098
  // Retry without the unwrap proxy so call-syntax (signal()) works.
8102
8099
  const scope2 = { ...globalHelpers, ...capturedComponentScope, ...(capturedElementScope || {}) };
8103
- const fn2 = new Function(...Object.keys(scope2), 'return ' + expression);
8104
- return fn2(...Object.values(scope2));
8100
+ const fn2 = new Function('__scope__', 'with(__scope__) { return ' + expression + ' }');
8101
+ return fn2(scope2);
8105
8102
  }
8106
8103
  catch (e2) {
8107
8104
  if (!(e2 instanceof ReferenceError) && !(e2 instanceof TypeError)) console.warn('[STX] Expression error:', expression, e2);
@@ -8158,11 +8155,6 @@ catch (e2) {
8158
8155
  value = directSignal();
8159
8156
  console.log('[stx] bindIf effect (direct):', expr, '\u2192', value, 'isInserted:', isInserted);
8160
8157
  } else {
8161
- // Complex expression: read all signals first for tracking, then evaluate
8162
- for (var sk in fullScope) {
8163
- var sv = fullScope[sk];
8164
- if (sv && typeof sv === 'function' && (sv._isSignal || sv._isDerived)) sv();
8165
- }
8166
8158
  value = evalExpr(expr);
8167
8159
  }
8168
8160
 
@@ -8600,12 +8592,19 @@ else if (timer === null) {
8600
8592
  };
8601
8593
  }
8602
8594
 
8603
- // Queue work after the current synchronous signal/effect flush. This mirrors
8604
- // the Composition API nextTick contract and gives template refs a chance to
8605
- // resolve after a structural directive inserts their elements.
8595
+ // Queue work after the current synchronous signal/effect flush and after
8596
+ // structural directives finish their deferred subtree hydration. The
8597
+ // microtask schedules this timer only after every subscriber has run, so a
8598
+ // :if/:for timer created later in the same signal flush runs first and its
8599
+ // template refs are available to the callback.
8606
8600
  function nextTick(fn) {
8607
8601
  return Promise.resolve().then(function() {
8608
- if (fn) fn();
8602
+ return new Promise(function(resolve) {
8603
+ setTimeout(function() {
8604
+ if (fn) fn();
8605
+ resolve();
8606
+ }, 0);
8607
+ });
8609
8608
  });
8610
8609
  }
8611
8610
 
@@ -11602,15 +11601,15 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
11602
11601
  }
11603
11602
  }
11604
11603
  })();
11605
- `}var yw;var mZ=E(()=>{gX();e0();gX();yw={state:E1,derived:CX,effect:PX,batch:L9,onMount:F9,onDestroy:V9,isSignal:vX,isDerived:xX,untrack:A9,peek:fX,generateSignalsRuntime:uZ,generateSignalsRuntimeDev:R9}});var N9={};n(N9,{templateCache:()=>lZ,readFileCached:()=>bw,invalidateFileCacheByDir:()=>Cw,invalidateFileCache:()=>Sw,hashFilePath:()=>D7,getCachedSignalsRuntime:()=>xw,getCachedRouterScript:()=>fw,clearDevCaches:()=>gw,checkCache:()=>hw,cacheTemplate:()=>uw,__setSignalsGeneratorsForTest:()=>vw});import D1 from"fs";import E5 from"path";async function bw(X){let Z;for(let Y=0;Y<3;Y++)try{let G=(await D1.promises.stat(X)).mtime.getTime(),Q=o1.get(X);if(Q&&Q.mtime===G)return Q.content;let q=await Bun.file(X).text(),U=(await D1.promises.stat(X)).mtime.getTime();if(U!==G)continue;return o1.set(X,{content:q,mtime:U}),q}catch(J){Z=J;break}throw o1.delete(X),Error(`File not found: ${X}${Z?` (${Z.message})`:""}`)}function Sw(X){o1.delete(X)}function Cw(X){for(let $ of o1.keys())if($.startsWith(X))o1.delete($)}function vw(X){cZ=X}async function xw(X=!1){let $=cZ??await Promise.resolve().then(() => (mZ(),dZ));if(X)return $.generateSignalsRuntimeDev();if(hX===null)hX=$.generateSignalsRuntime();return hX}async function fw(){if(uX===null){let{getRouterScript:X}=await Promise.resolve().then(() => (g1(),l2));uX=X()}return uX}function gw(){o1.clear(),iZ(),hX=null,Pw=null,uX=null}function pZ(X){let $={debug:X.debug===!0,middleware:(X.middleware??[]).map((Z)=>({name:Z.name,timing:Z.timing,handler:String(Z.handler)})),customDirectives:(X.customDirectives??[]).map((Z)=>({name:Z.name,hasEndTag:Z.hasEndTag===!0,handler:String(Z.handler)}))};return new Bun.CryptoHasher("sha1").update(JSON.stringify($)).digest("hex")}async function hw(X,$){try{if(!$.cachePath)return null;let Z=E5.resolve($.cachePath),Y=E5.join(Z,`${D7(X)}.html`),J=E5.join(Z,`${D7(X)}.meta.json`);if(!await p(Y)||!await p(J))return null;let G=await Bun.file(J).text(),Q=JSON.parse(G);if(Q.cacheVersion!==$.cacheVersion)return null;if(Q.optionsSignature!==pZ($))return null;if((await D1.promises.stat(X)).mtime.getTime()>Q.mtime)return null;for(let K of Q.dependencies)if(await p(K)){if((await D1.promises.stat(K)).mtime.getTime()>Q.mtime)return null}else return null;return await Bun.file(Y).text()}catch(Z){return console.warn(`Cache error for ${X}:`,Z),null}}async function uw(X,$,Z,Y){try{if(!Y.cachePath)return;let J=E5.resolve(Y.cachePath);await D1.promises.mkdir(J,{recursive:!0});let G=E5.join(J,`${D7(X)}.html`),Q=E5.join(J,`${D7(X)}.meta.json`),q=await D1.promises.stat(X);await Bun.write(G,$);let K={sourcePath:X,mtime:q.mtime.getTime(),dependencies:Array.from(Z),cacheVersion:Y.cacheVersion,optionsSignature:pZ(Y),generatedAt:Date.now()};await Bun.write(Q,JSON.stringify(K,null,2)),lZ.set(X,{output:$,mtime:q.mtime.getTime(),dependencies:Z})}catch(J){console.warn(`Failed to cache template ${X}:`,J)}}function D7(X){return new Bun.CryptoHasher("sha1").update(X).digest("hex").substring(0,dw)}var lZ,o1,hX=null,Pw=null,cZ=null,uX=null,dw=16;var T9=E(()=>{A0();lZ=new Map,o1=new Map});function nZ(X){return X.includes("data-stx-runtime")}function rZ(X){let $=/window\.stx\s*\.\s*[A-Za-z_$]|\}\s*=\s*window\.stx\s*;/g;for(let Z=$.exec(X);Z!==null;Z=$.exec(X)){let Y=X.slice(Math.max(0,Z.index-80),Z.index);if(/if\s*\(\s*window\.stx\s*\)|window\.stx\s*&&/.test(Y))continue;return!0}return!1}function M9(X,$){let Z=X.indexOf("<script"),Y=X.search(/<!doctype\b/i);if(Z!==-1&&(Y===-1||Z>Y))return X.slice(0,Z)+$+`
11604
+ `}var yw;var mZ=E(()=>{gX();X1();gX();yw={state:E1,derived:CX,effect:PX,batch:L9,onMount:F9,onDestroy:V9,isSignal:vX,isDerived:xX,untrack:A9,peek:fX,generateSignalsRuntime:uZ,generateSignalsRuntimeDev:R9}});var T9={};n(T9,{templateCache:()=>lZ,readFileCached:()=>bw,invalidateFileCacheByDir:()=>Cw,invalidateFileCache:()=>Sw,hashFilePath:()=>D7,getCachedSignalsRuntime:()=>xw,getCachedRouterScript:()=>fw,clearDevCaches:()=>gw,checkCache:()=>hw,cacheTemplate:()=>uw,__setSignalsGeneratorsForTest:()=>vw});import D1 from"fs";import E5 from"path";async function bw(X){let Z;for(let Y=0;Y<3;Y++)try{let G=(await D1.promises.stat(X)).mtime.getTime(),Q=o1.get(X);if(Q&&Q.mtime===G)return Q.content;let q=await Bun.file(X).text(),U=(await D1.promises.stat(X)).mtime.getTime();if(U!==G)continue;return o1.set(X,{content:q,mtime:U}),q}catch(J){Z=J;break}throw o1.delete(X),Error(`File not found: ${X}${Z?` (${Z.message})`:""}`)}function Sw(X){o1.delete(X)}function Cw(X){for(let $ of o1.keys())if($.startsWith(X))o1.delete($)}function vw(X){cZ=X}async function xw(X=!1){let $=cZ??await Promise.resolve().then(() => (mZ(),dZ));if(X)return $.generateSignalsRuntimeDev();if(hX===null)hX=$.generateSignalsRuntime();return hX}async function fw(){if(uX===null){let{getRouterScript:X}=await Promise.resolve().then(() => (g1(),l2));uX=X()}return uX}function gw(){o1.clear(),iZ(),hX=null,Pw=null,uX=null}function pZ(X){let $={debug:X.debug===!0,middleware:(X.middleware??[]).map((Z)=>({name:Z.name,timing:Z.timing,handler:String(Z.handler)})),customDirectives:(X.customDirectives??[]).map((Z)=>({name:Z.name,hasEndTag:Z.hasEndTag===!0,handler:String(Z.handler)}))};return new Bun.CryptoHasher("sha1").update(JSON.stringify($)).digest("hex")}async function hw(X,$){try{if(!$.cachePath)return null;let Z=E5.resolve($.cachePath),Y=E5.join(Z,`${D7(X)}.html`),J=E5.join(Z,`${D7(X)}.meta.json`);if(!await p(Y)||!await p(J))return null;let G=await Bun.file(J).text(),Q=JSON.parse(G);if(Q.cacheVersion!==$.cacheVersion)return null;if(Q.optionsSignature!==pZ($))return null;if((await D1.promises.stat(X)).mtime.getTime()>Q.mtime)return null;for(let K of Q.dependencies)if(await p(K)){if((await D1.promises.stat(K)).mtime.getTime()>Q.mtime)return null}else return null;return await Bun.file(Y).text()}catch(Z){return console.warn(`Cache error for ${X}:`,Z),null}}async function uw(X,$,Z,Y){try{if(!Y.cachePath)return;let J=E5.resolve(Y.cachePath);await D1.promises.mkdir(J,{recursive:!0});let G=E5.join(J,`${D7(X)}.html`),Q=E5.join(J,`${D7(X)}.meta.json`),q=await D1.promises.stat(X);await Bun.write(G,$);let K={sourcePath:X,mtime:q.mtime.getTime(),dependencies:Array.from(Z),cacheVersion:Y.cacheVersion,optionsSignature:pZ(Y),generatedAt:Date.now()};await Bun.write(Q,JSON.stringify(K,null,2)),lZ.set(X,{output:$,mtime:q.mtime.getTime(),dependencies:Z})}catch(J){console.warn(`Failed to cache template ${X}:`,J)}}function D7(X){return new Bun.CryptoHasher("sha1").update(X).digest("hex").substring(0,dw)}var lZ,o1,hX=null,Pw=null,cZ=null,uX=null,dw=16;var N9=E(()=>{A0();lZ=new Map,o1=new Map});function nZ(X){return X.includes("data-stx-runtime")}function rZ(X){let $=/window\.stx\s*\.\s*[A-Za-z_$]|\}\s*=\s*window\.stx\s*;/g;for(let Z=$.exec(X);Z!==null;Z=$.exec(X)){let Y=X.slice(Math.max(0,Z.index-80),Z.index);if(/if\s*\(\s*window\.stx\s*\)|window\.stx\s*&&/.test(Y))continue;return!0}return!1}function M9(X,$){let Z=X.indexOf("<script"),Y=X.search(/<!doctype\b/i);if(Z!==-1&&(Y===-1||Z>Y))return X.slice(0,Z)+$+`
11606
11605
  `+X.slice(Z);let J=/<head\b[^>]*>/i.exec(X);if(J){let Q=J.index+J[0].length;return`${X.slice(0,Q)}
11607
11606
  ${$}${X.slice(Q)}`}if(X.includes("</head>")){let Q=X.indexOf("</head>");return X.slice(0,Q)+$+`
11608
11607
  `+X.slice(Q)}if(E7(X))return yX(X,(Q)=>`${Q}
11609
11608
  ${$}`);return`${$}
11610
- ${X}`}async function dX(X,$){if(X.includes("data-stx-runtime")||X.includes("window.stx.state")||X.includes("STX Signals Runtime"))return X;if($.buildMode==="serve")return M9(X,'<script data-stx-runtime src="/_stx/runtime.js"></script>');if($.buildMode==="compile")return M9(X,'<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>');let{getCachedSignalsRuntime:Z}=await Promise.resolve().then(() => (T9(),N9)),Y=await Z($.debug);return M9(X,`<script data-stx-scoped data-stx-runtime>${Y}</script>`)}async function oZ(X,$){if(!X.includes("</body>"))return X;if(X.includes("data-stx-router")||X.includes("__stxRouter)return")||X.includes("__stxRouter=true"))return X;let Z=$?.router,Y="";{let q={};if(Z){if(Z.container)q.container=Z.container;if(Z.interceptAllLinks!==void 0)q.interceptAllLinks=Z.interceptAllLinks;if(Z.progress!==void 0)q.progress=Z.progress;if(Z.viewTransitions!==void 0)q.viewTransitions=Z.viewTransitions;if(Z.viewTransitionDuration!==void 0)q.viewTransitionDuration=Z.viewTransitionDuration;if(Z.viewTransitionEasing!==void 0)q.viewTransitionEasing=Z.viewTransitionEasing;if(Z.scrollToTop!==void 0)q.scrollToTop=Z.scrollToTop;if(Z.prefetch!==void 0)q.prefetch=Z.prefetch;if(Z.cache!==void 0)q.cache=Z.cache;if(Z.progressColor!==void 0)q.progressColor=Z.progressColor;if(Z.progressHeight!==void 0)q.progressHeight=Z.progressHeight}try{let K=await bZ($?.pagesDir);if(K.length>0)q.ownedRoutes=K}catch{}if(Object.keys(q).length>0)Y=`<script>window.__stxRouterConfig=${CZ(q)};</script>
11611
- `}let{getCachedRouterScript:J}=await Promise.resolve().then(() => (T9(),N9)),G=$?.buildMode==="compile"?'<script data-stx-router src="/__stx/router.__STX_HASH__.js"></script>':$?.buildMode==="serve"?'<script data-stx-router src="/_stx/router.js"></script>':`<script data-stx-router>${await J()}</script>`,Q=X.lastIndexOf("</body>");return X.slice(0,Q)+Y+G+`
11609
+ ${X}`}async function dX(X,$){if(X.includes("data-stx-runtime")||X.includes("window.stx.state")||X.includes("STX Signals Runtime"))return X;if($.buildMode==="serve")return M9(X,'<script data-stx-runtime src="/_stx/runtime.js"></script>');if($.buildMode==="compile")return M9(X,'<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>');let{getCachedSignalsRuntime:Z}=await Promise.resolve().then(() => (N9(),T9)),Y=await Z($.debug);return M9(X,`<script data-stx-scoped data-stx-runtime>${Y}</script>`)}async function oZ(X,$){if(!X.includes("</body>"))return X;if(X.includes("data-stx-router")||X.includes("__stxRouter)return")||X.includes("__stxRouter=true"))return X;let Z=$?.router,Y="";{let q={};if(Z){if(Z.container)q.container=Z.container;if(Z.interceptAllLinks!==void 0)q.interceptAllLinks=Z.interceptAllLinks;if(Z.progress!==void 0)q.progress=Z.progress;if(Z.viewTransitions!==void 0)q.viewTransitions=Z.viewTransitions;if(Z.viewTransitionDuration!==void 0)q.viewTransitionDuration=Z.viewTransitionDuration;if(Z.viewTransitionEasing!==void 0)q.viewTransitionEasing=Z.viewTransitionEasing;if(Z.scrollToTop!==void 0)q.scrollToTop=Z.scrollToTop;if(Z.prefetch!==void 0)q.prefetch=Z.prefetch;if(Z.cache!==void 0)q.cache=Z.cache;if(Z.progressColor!==void 0)q.progressColor=Z.progressColor;if(Z.progressHeight!==void 0)q.progressHeight=Z.progressHeight}try{let K=await bZ($?.pagesDir);if(K.length>0)q.ownedRoutes=K}catch{}if(Object.keys(q).length>0)Y=`<script>window.__stxRouterConfig=${CZ(q)};</script>
11610
+ `}let{getCachedRouterScript:J}=await Promise.resolve().then(() => (N9(),T9)),G=$?.buildMode==="compile"?'<script data-stx-router src="/__stx/router.__STX_HASH__.js"></script>':$?.buildMode==="serve"?'<script data-stx-router src="/_stx/router.js"></script>':`<script data-stx-router>${await J()}</script>`,Q=X.lastIndexOf("</body>");return X.slice(0,Q)+Y+G+`
11612
11611
  </body>`+X.slice(Q+7)}var mX=E(()=>{SZ();W9()});var iX={};n(iX,{scanScriptTags:()=>ZY,rewriteStxImportSpecifiers:()=>QY,processSignals:()=>y9,processScriptSetup:()=>JY,preEvalLiteralReactiveIfs:()=>E9,parseLoopExpression:()=>YY,hasSignalsSyntax:()=>pX,findMarkupIndexOutsideScripts:()=>cX,extractExports:()=>GY,convertSignalLoopsToAttributes:()=>D9,convertSignalDirectivesToAttributes:()=>I9});function ZY(X,$={}){let Z=[];for(let Y of r$(X,A1)){let J=Y.token.match(/^<script\b([^>]*)>/i),G=Y.token.match(/<\/script\s*>$/i);if(!J||!G)continue;let Q=J[1];if($.skipAttrs){if($.skipAttrs.lastIndex=0,$.skipAttrs.test(Q))continue}let q=J[0].length,K=Y.token.length-G[0].length;Z.push({fullMatch:Y.token,attrs:Q,body:Y.token.slice(q,K),start:Y.start,end:Y.end})}return Z}function YY(X){let $=X.trim(),Z=$.match(/^([\s\S]+?)\s+as\s+(.+)$/);if(Z){let J=Z[1].trim(),G=Z[2].trim(),{itemVar:Q,indexVar:q}=aZ(G);if(Q)return{style:"as",iterable:J,itemVar:Q,indexVar:q}}let Y=$.match(/^(\([^)]+\)|\w+(?:\s*,\s*\w+)?)\s+(?:in|of)\s+([\s\S]+)$/);if(Y){let J=Y[1].trim(),G=Y[2].trim(),{itemVar:Q,indexVar:q}=aZ(J);if(Q)return{style:"in",iterable:G,itemVar:Q,indexVar:q}}return{style:"unknown",iterable:null,itemVar:null,indexVar:null}}function aZ(X){let $=X.trim(),Z=$.match(/^(\w+)\s*=>\s*(\w+)$/);if(Z)return{itemVar:Z[2],indexVar:Z[1]};let Y=$.match(/^\(\s*(\w+)(?:\s*,\s*(\w+))?\s*\)$/);if(Y)return{itemVar:Y[1],indexVar:Y[2]||null};let J=$.match(/^(\w+)\s*,\s*(\w+)$/);if(J)return{itemVar:J[1],indexVar:J[2]};let G=$.match(/^(\w+)$/);if(G)return{itemVar:G[1],indexVar:null};return{itemVar:null,indexVar:null}}function pX(X){return t2(X)}function lw(X){let $=/@(if\s*\(|endif|elseif\s*\(|else\b)/g,Z=0,Y;while((Y=$.exec(X))!==null){let J=Y[1];if(J.startsWith("if"))Z++;else if(J==="endif")Z--;else if(Z===0)return!0}return!1}function cw(X){let $=new Set,Z=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,Y=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal)\s*(?:<[^>]*>)?\s*\(/g,J;while((J=Z.exec(X))!==null){let G=J[1],Q;while((Q=Y.exec(G))!==null)$.add(Q[1])}return $}function pw(X){return X.replace(/'(?:\\.|[^'\\])*'/g,"''").replace(/"(?:\\.|[^"\\])*"/g,'""').replace(/`(?:\\.|[^`\\])*`/g,"``")}function eZ(X,$,Z){if(!X)return!1;let Y=pw(X),J=!1,G=!1,Q=!1,q=/([a-zA-Z_$][\w$]*)/g,K;while((K=q.exec(Y))!==null){let z=K[1];if(Y.slice(0,K.index).trimEnd().endsWith("."))continue;if(tZ.has(z))continue;if($.has(z))J=!0;else if(Z&&z in Z)G=!0}let U=/([a-zA-Z_$][\w$]*)(?:\.[a-zA-Z_$][\w$]*)*\s*\(\s*\)/g,W;while((W=U.exec(Y))!==null){let z=W[1];if(Y.slice(0,W.index).trimEnd().endsWith("."))continue;if(tZ.has(z)||Z&&z in Z)continue;Q=!0}return(J||Q)&&!G}function lX(X,$,Z){let Y=Z===void 0?` ${$}`:` ${$}="${Z.replace(/"/g,"&quot;")}"`,J=X.trim(),G=J.match($Y);if(G&&iw(G[3],G[1])){let[,Q,q,K]=G;return`<${Q}${q}${Y}>${K}</${Q}>`}return`<template${Y}>${J}</template>`}function iw(X,$){let Z=new RegExp(`<(/)?${$}(?=[\\s/>])`,"gi"),Y=0,J;while((J=Z.exec(X))!==null)if(J[1]){if(Y--,Y<0)return!1}else Y++;return!0}function I9(X,$){let Z=cw(X);function Y(J){let G=J,Q=/@if\s*\(/g,q,K=[];while((q=Q.exec(G))!==null){let U=q.index,W=U+q[0].length,w=1,z=W;while(z<G.length&&w>0){if(G[z]==="(")w++;else if(G[z]===")")w--;z++}if(w!==0)continue;let B=G.substring(W,z-1).trim(),j=z,_=1,H=j,L=/@(if\s*\(|endif)/g;L.lastIndex=j;let O;while((O=L.exec(G))!==null)if(O[1].startsWith("if"))_++;else if(O[1]==="endif"){if(_--,_===0){H=O.index+O[0].length;break}}if(_!==0)continue;let F=G.substring(j,H-6).trim(),V;if(lw(F)){let A=I7(G.substring(U,H));if(A.length===0)continue;let R=A[0].branches.filter((k)=>k.type!=="else");if(!(R.length>0&&R.every((k)=>eZ(k.condition,Z,$))))continue;V=A[0].branches.map((k)=>{let M=Y(k.content);if(k.type==="elseif")return lX(M,"@else-if",k.condition??"");if(k.type==="else")return lX(M,"@else");return lX(M,"@if",k.condition??"")}).join(`
11613
- `)}else{if(!eZ(B,Z,$))continue;V=lX(Y(F),"@if",B)}K.push({start:U,end:H,replacement:V}),Q.lastIndex=H}for(let U=K.length-1;U>=0;U--){let{start:W,end:w,replacement:z}=K[U];G=G.substring(0,W)+z+G.substring(w)}return G}return Y(X)}function nw(X){let $=X.trim();if($==="")return;if($==="true")return!0;if($==="false")return!1;if($==="null")return!1;if($==="undefined")return!1;if($==="NaN")return!1;if(/^-?\d+(?:\.\d+)?$/.test($)){let J=Number($);return J!==0&&!Number.isNaN(J)}let Z=$.match(/^'((?:\\.|[^'\\])*)'$/);if(Z)return Z[1].length>0;let Y=$.match(/^"((?:\\.|[^"\\])*)"$/);if(Y)return Y[1].length>0;return}function rw(X,$,Z,Y){if(k9.has(Z.toLowerCase()))return Y;let J=Z.toLowerCase(),G=X.toLowerCase(),Q=X.length,q=1,K=Y;while(K<Q){let U=X.indexOf("<",K);if(U===-1)return-1;if(K=U,X.startsWith("<!--",K)){let B=X.indexOf("-->",K+4);if(B===-1)return-1;K=B+3;continue}let W=/^<(script|style)\b/i.exec(X.slice(K,K+8));if(W){let B=X.indexOf(">",K);if(B===-1)return-1;if(X[B-1]==="/"){K=B+1;continue}let j=G.indexOf(`</${W[1].toLowerCase()}`,K);if(j===-1)return-1;let _=X.indexOf(">",j);if(_===-1)return-1;K=_+1;continue}if(X[K+1]==="/"){let B=/^<\/([a-z][\w-]*)\s*>/i.exec(X.slice(K,K+64));if(!B){K++;continue}if(B[1].toLowerCase()===J){if(q--,K+=B[0].length,q===0)return K;continue}K+=B[0].length;continue}let w=/^<([a-z][\w-]*)\b/i.exec(X.slice(K,K+64));if(!w){K++;continue}let z=X.indexOf(">",K);if(z===-1)return-1;if(w[1].toLowerCase()===J){let B=X.slice(K,z+1);if(!(/\/\s*>$/.test(B)||k9.has(J)))q++}K=z+1}return-1}function sw(X,$){let Z=$,Y=X.length;for(;;){while(Z<Y&&X[Z]!=="<")Z++;if(Z>=Y)return!1;if(X.startsWith("<!--",Z)){let Q=X.indexOf("-->",Z+4);if(Q===-1)return!1;Z=Q+3;continue}break}if(X[Z+1]==="/")return!1;let J=X.indexOf(">",Z);if(J===-1)return!1;let G=X.slice(Z,J+1);return ow.test(G)}function E9(X){if(!X.includes(":if")&&!X.includes(":show")&&!X.includes("x-if")&&!X.includes("x-show")&&!X.includes("@if=")&&!X.includes("@show="))return X;let $=[],Z=/<(script|style)\b[^>]*>[\s\S]*?<\/\1\s*>/gi,Y;while((Y=Z.exec(X))!==null)$.push([Y.index,Y.index+Y[0].length]);let J=(w)=>$.some(([z,B])=>w>=z&&w<B),G=/<([a-zA-Z][\w-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*?)\s+(:if|:show|x-if|x-show|@if|@show)\s*=\s*"([^"]*)"((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)(\/?)>/g,Q=[],q;while((q=G.exec(X))!==null){if(J(q.index))continue;let[w,z,B,j,_,H,L]=q,O=nw(_);if(O===void 0)continue;let F=q.index,V=F+w.length,N=!!L||/\/\s*>$/.test(w)||k9.has(z.toLowerCase())?V:rw(X,F,z,V);if(N===-1)continue;if((j===":if"||j==="x-if"||j==="@if")&&sw(X,N)){G.lastIndex=V;continue}if(O===!0){let k=`<${z}${B}${H}${L}>`;Q.push({start:F,end:V,replacement:k});continue}Q.push({start:F,end:N,replacement:""}),G.lastIndex=N}if(Q.length===0)return X;Q.sort((w,z)=>w.start-z.start);let K=[],U=-1;for(let w of Q){if(w.start<U)continue;K.push(w),U=w.end}let W=X;for(let w=K.length-1;w>=0;w--){let{start:z,end:B,replacement:j}=K[w];W=W.substring(0,z)+j+W.substring(B)}return W}function D9(X,$){let Z=X,Y=/@(for|foreach)\s*\(/g,J,G=[],Q=[];while((J=Y.exec(Z))!==null){let q=J[1],K=J.index,U=K+J[0].length,W=1,w=U;while(w<Z.length&&W>0){if(Z[w]==="(")W++;else if(Z[w]===")")W--;w++}if(W!==0)continue;let z=Z.substring(U,w-1).trim(),B=w,j=YY(z),_=q==="for"?"@endfor":"@endforeach",H=1,L=B,O=q==="for"?new RegExp("@(for(?!each)\\s*\\(|endfor(?!each))","g"):new RegExp(`@(${q}\\s*\\(|end${q})`,"g");O.lastIndex=B;let F;while((F=O.exec(Z))!==null)if(F[1].startsWith(q))H++;else if(H--,H===0){L=F.index+F[0].length;break}if(H!==0)continue;let V=()=>{let T=[j.itemVar,j.indexVar].filter(Boolean);if(T.length)Q.push({start:K,end:L,vars:T})};if(j.iterable){let T=j.iterable.trim();if(T.startsWith("[")||T.startsWith("{")||T.startsWith("'")||T.startsWith('"')||T.startsWith("`")||/^-?\d/.test(T)){V();continue}let k=T.split(/[.[(]/)[0].trim(),M=$?k in $:!1,y=Q.some((I)=>K>I.start&&K<I.end&&I.vars.includes(k));if(k&&(M||y)){V();continue}}if(j.style==="as")z=j.indexVar?`(${j.itemVar}, ${j.indexVar}) in ${j.iterable}`:`${j.itemVar} in ${j.iterable}`;let A=Z.substring(B,L-_.length).trim(),R=A.match($Y),N;if(R){let[,T,k,M]=R;N=`<${T}${k} @for="${z}">${M}</${T}>`}else N=`<template @for="${z}">${A}</template>`;G.push({start:K,end:L,replacement:N})}for(let q=G.length-1;q>=0;q--){let{start:K,end:U,replacement:W}=G[q];Z=Z.substring(0,K)+W+Z.substring(U)}return Z}function aw(X){let $=new Set,Z=[],Y=0,J=0,G=X.length,Q=(W)=>{let w=Y+1;while(w<G){let z=X[w];if(z==="\\"){w+=2;continue}if(z===W)return w+1;w++}return G},q=()=>{let W=Y+2;while(W<G&&X[W]!==`
11612
+ `)}else{if(!eZ(B,Z,$))continue;V=lX(Y(F),"@if",B)}K.push({start:U,end:H,replacement:V}),Q.lastIndex=H}for(let U=K.length-1;U>=0;U--){let{start:W,end:w,replacement:z}=K[U];G=G.substring(0,W)+z+G.substring(w)}return G}return Y(X)}function nw(X){let $=X.trim();if($==="")return;if($==="true")return!0;if($==="false")return!1;if($==="null")return!1;if($==="undefined")return!1;if($==="NaN")return!1;if(/^-?\d+(?:\.\d+)?$/.test($)){let J=Number($);return J!==0&&!Number.isNaN(J)}let Z=$.match(/^'((?:\\.|[^'\\])*)'$/);if(Z)return Z[1].length>0;let Y=$.match(/^"((?:\\.|[^"\\])*)"$/);if(Y)return Y[1].length>0;return}function rw(X,$,Z,Y){if(k9.has(Z.toLowerCase()))return Y;let J=Z.toLowerCase(),G=X.toLowerCase(),Q=X.length,q=1,K=Y;while(K<Q){let U=X.indexOf("<",K);if(U===-1)return-1;if(K=U,X.startsWith("<!--",K)){let B=X.indexOf("-->",K+4);if(B===-1)return-1;K=B+3;continue}let W=/^<(script|style)\b/i.exec(X.slice(K,K+8));if(W){let B=X.indexOf(">",K);if(B===-1)return-1;if(X[B-1]==="/"){K=B+1;continue}let j=G.indexOf(`</${W[1].toLowerCase()}`,K);if(j===-1)return-1;let _=X.indexOf(">",j);if(_===-1)return-1;K=_+1;continue}if(X[K+1]==="/"){let B=/^<\/([a-z][\w-]*)\s*>/i.exec(X.slice(K,K+64));if(!B){K++;continue}if(B[1].toLowerCase()===J){if(q--,K+=B[0].length,q===0)return K;continue}K+=B[0].length;continue}let w=/^<([a-z][\w-]*)\b/i.exec(X.slice(K,K+64));if(!w){K++;continue}let z=X.indexOf(">",K);if(z===-1)return-1;if(w[1].toLowerCase()===J){let B=X.slice(K,z+1);if(!(/\/\s*>$/.test(B)||k9.has(J)))q++}K=z+1}return-1}function sw(X,$){let Z=$,Y=X.length;for(;;){while(Z<Y&&X[Z]!=="<")Z++;if(Z>=Y)return!1;if(X.startsWith("<!--",Z)){let Q=X.indexOf("-->",Z+4);if(Q===-1)return!1;Z=Q+3;continue}break}if(X[Z+1]==="/")return!1;let J=X.indexOf(">",Z);if(J===-1)return!1;let G=X.slice(Z,J+1);return ow.test(G)}function E9(X){if(!X.includes(":if")&&!X.includes(":show")&&!X.includes("x-if")&&!X.includes("x-show")&&!X.includes("@if=")&&!X.includes("@show="))return X;let $=[],Z=/<(script|style)\b[^>]*>[\s\S]*?<\/\1\s*>/gi,Y;while((Y=Z.exec(X))!==null)$.push([Y.index,Y.index+Y[0].length]);let J=(w)=>$.some(([z,B])=>w>=z&&w<B),G=/<([a-zA-Z][\w-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*?)\s+(:if|:show|x-if|x-show|@if|@show)\s*=\s*"([^"]*)"((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)(\/?)>/g,Q=[],q;while((q=G.exec(X))!==null){if(J(q.index))continue;let[w,z,B,j,_,H,L]=q,O=nw(_);if(O===void 0)continue;let F=q.index,V=F+w.length,T=!!L||/\/\s*>$/.test(w)||k9.has(z.toLowerCase())?V:rw(X,F,z,V);if(T===-1)continue;if((j===":if"||j==="x-if"||j==="@if")&&sw(X,T)){G.lastIndex=V;continue}if(O===!0){let k=`<${z}${B}${H}${L}>`;Q.push({start:F,end:V,replacement:k});continue}Q.push({start:F,end:T,replacement:""}),G.lastIndex=T}if(Q.length===0)return X;Q.sort((w,z)=>w.start-z.start);let K=[],U=-1;for(let w of Q){if(w.start<U)continue;K.push(w),U=w.end}let W=X;for(let w=K.length-1;w>=0;w--){let{start:z,end:B,replacement:j}=K[w];W=W.substring(0,z)+j+W.substring(B)}return W}function D9(X,$){let Z=X,Y=/@(for|foreach)\s*\(/g,J,G=[],Q=[];while((J=Y.exec(Z))!==null){let q=J[1],K=J.index,U=K+J[0].length,W=1,w=U;while(w<Z.length&&W>0){if(Z[w]==="(")W++;else if(Z[w]===")")W--;w++}if(W!==0)continue;let z=Z.substring(U,w-1).trim(),B=w,j=YY(z),_=q==="for"?"@endfor":"@endforeach",H=1,L=B,O=q==="for"?new RegExp("@(for(?!each)\\s*\\(|endfor(?!each))","g"):new RegExp(`@(${q}\\s*\\(|end${q})`,"g");O.lastIndex=B;let F;while((F=O.exec(Z))!==null)if(F[1].startsWith(q))H++;else if(H--,H===0){L=F.index+F[0].length;break}if(H!==0)continue;let V=()=>{let N=[j.itemVar,j.indexVar].filter(Boolean);if(N.length)Q.push({start:K,end:L,vars:N})};if(j.iterable){let N=j.iterable.trim();if(N.startsWith("[")||N.startsWith("{")||N.startsWith("'")||N.startsWith('"')||N.startsWith("`")||/^-?\d/.test(N)){V();continue}let k=N.split(/[.[(]/)[0].trim(),M=$?k in $:!1,y=Q.some((I)=>K>I.start&&K<I.end&&I.vars.includes(k));if(k&&(M||y)){V();continue}}if(j.style==="as")z=j.indexVar?`(${j.itemVar}, ${j.indexVar}) in ${j.iterable}`:`${j.itemVar} in ${j.iterable}`;let A=Z.substring(B,L-_.length).trim(),R=A.match($Y),T;if(R){let[,N,k,M]=R;T=`<${N}${k} @for="${z}">${M}</${N}>`}else T=`<template @for="${z}">${A}</template>`;G.push({start:K,end:L,replacement:T})}for(let q=G.length-1;q>=0;q--){let{start:K,end:U,replacement:W}=G[q];Z=Z.substring(0,K)+W+Z.substring(U)}return Z}function aw(X){let $=new Set,Z=[],Y=0,J=0,G=X.length,Q=(W)=>{let w=Y+1;while(w<G){let z=X[w];if(z==="\\"){w+=2;continue}if(z===W)return w+1;w++}return G},q=()=>{let W=Y+2;while(W<G&&X[W]!==`
11614
11613
  `)W++;return W},K=()=>{let W=Y+2;while(W<G-1){if(X[W]==="*"&&X[W+1]==="/")return W+2;W++}return G},U=(W)=>{let w=W,z=0;while(w<G){let B=X[w];if(B==="/"&&X[w+1]==="/"){let j=w+2;while(j<G&&X[j]!==`
11615
11614
  `)j++;w=j;continue}if(B==="/"&&X[w+1]==="*"){let j=w+2;while(j<G-1&&!(X[j]==="*"&&X[j+1]==="/"))j++;w=j+2;continue}if(B==='"'||B==="'"||B==="`"){let j=w+1;while(j<G){if(X[j]==="\\"){j+=2;continue}if(X[j]===B){j++;break}j++}w=j;continue}if(B==="("||B==="["||B==="{"){z++,w++;continue}if(B===")"||B==="]"||B==="}"){z--,w++;continue}if(B===";"&&z===0)return w+1;w++}return G};while(Y<G){let W=X[Y];if(W==="/"&&X[Y+1]==="/"){let w=q();Z.push(X.slice(Y,w)),Y=w;continue}if(W==="/"&&X[Y+1]==="*"){let w=K();Z.push(X.slice(Y,w)),Y=w;continue}if(W==='"'||W==="'"||W==="`"){let w=Q(W);Z.push(X.slice(Y,w)),Y=w;continue}if(W==="{"){J++,Z.push(W),Y++;continue}if(W==="}"){J--,Z.push(W),Y++;continue}if(J===0){let w=Y>0?X[Y-1]:"";if(w===""||/\s/.test(w)||w===";"||w==="}"||w==="{"){let B=X.slice(Y).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(B){let j=B[2],_=U(Y+B[0].length);if($.has(j)){Z.push(`/* stx: deduped const ${j} */`),Y=_;continue}$.add(j),Z.push(X.slice(Y,_)),Y=_;continue}}}Z.push(W),Y++}return Z.join("")}async function JY(X,$,Z){let Y=ZY(X,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b/}),J=/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useStore|useLocalStorage|useSessionStorage|useCookie|useId|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*\(/,G=[];for(let H of Y){let L=H.body;if(d1(H.attrs))L=m1(L);if(J.test(L))G.push({fullMatch:H.fullMatch,attrs:H.attrs,content:L})}if(G.length===0)return{output:X,setupCode:null};let Q=`__stx_setup_${Date.now()}_${mw++}`,{hasUserImports:q,bundleClientScript:K}=await t("stx/client-script-bundler",()=>Promise.resolve().then(() => (B7(),j7))),U=[];for(let H=0;H<G.length;H++){let L=G[H].content;if(L=A5(L).code,q(L))L=await K(L,$||"",{projectRoot:process.cwd()});L=L.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(F,V)=>QY(V));let O=f0(L);U.push(`// \u2500\u2500 merged signal script #${H+1} \u2500\u2500
11616
11615
  ${O}`)}let W=U.join(`
@@ -11626,16 +11625,16 @@ window.__stx_latestSetup=${Q};
11626
11625
  if(window.stx)window.stx._latestSetup=${Q};
11627
11626
  </script>`,_=X;for(let H of G)_=_.split(H.fullMatch).join("");if(_.includes("<body"))_=_.replace(new RegExp(`<body(${sZ})>`),`<body$1 data-stx="${Q}">`);else{let H=["script","style","html","head","meta","link","title","!doctype"],L=!1;_=_.replace(new RegExp(`<([a-zA-Z][a-zA-Z0-9-]*)\\b(${sZ})>`,"gi"),(O,F,V)=>{if(L||H.includes(F.toLowerCase()))return O;return L=!0,`<${F}${V} data-stx="${Q}">`})}return{output:_,setupCode:j}}function GY(X){let $=X,Z=[],Y=new Set,J=0,G=0,Q=$.length,q="",K=()=>{G++;let j=!1;while(G<Q){let _=$[G];if(_==="\\"){G+=2;continue}if(_==="["&&!j){j=!0,G++;continue}if(_==="]"&&j){j=!1,G++;continue}if(_==="/"&&!j){G++;while(G<Q&&/[gimsuyd]/.test($[G]))G++;return}if(_===`
11628
11627
  `)return;G++}},U=()=>{if(!q)return!0;if(/[\w)\]]/.test(q))return!1;return!0},W=(j)=>{G++;while(G<Q){if($[G]==="\\"){G+=2;continue}if($[G]===j){G++;return}G++}},w=()=>{G++;while(G<Q){if($[G]==="\\"){G+=2;continue}if($[G]==="`"){G++;return}if($[G]==="$"&&$[G+1]==="{"){G+=2;let j=1;while(G<Q&&j>0)if($[G]==="{")j++,G++;else if($[G]==="}")j--,G++;else if($[G]==="'"||$[G]==='"')W($[G]);else if($[G]==="`")w();else G++;continue}G++}},z=()=>{if($[G]==="/"&&$[G+1]==="/"){while(G<Q&&$[G]!==`
11629
- `)G++;return!0}if($[G]==="/"&&$[G+1]==="*"){G+=2;while(G<Q-1&&!($[G]==="*"&&$[G+1]==="/"))G++;return G+=2,!0}return!1},B=()=>{if(J!==0)return;let j=$.slice(G).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(j){let F=j[2];if(!Y.has(F))Z.push(F),Y.add(F);return}let _=$.slice(G).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(_){_[1].split(",").forEach((F)=>{let V=F.trim();if(!V)return;let A=V.indexOf(":"),N=(A>=0?V.slice(A+1).trim():V).split(/[\s=]/)[0];if(N&&!Y.has(N))Z.push(N),Y.add(N)});return}let H=$.slice(G).match(/^(?:const|let|var)\s+\[([^\]]+)\]\s*=/);if(H){H[1].split(",").forEach((F)=>{let V=F.trim().replace(/^\.\.\./,"");if(!V)return;let A=V.split(/[\s=]/)[0];if(A&&!Y.has(A))Z.push(A),Y.add(A)});return}let L=$.slice(G).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(L){let F=L[1];if(!Y.has(F))Z.push(F),Y.add(F);return}let O=$.slice(G).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(O){let F=O[1];if(!Y.has(F))Z.push(F),Y.add(F)}};while(G<Q){if(z())continue;if($[G]==="'"||$[G]==='"'){W($[G]),q=$[G-1];continue}if($[G]==="`"){w(),q="`";continue}if($[G]==="/"&&$[G+1]!=="/"&&$[G+1]!=="*"&&U()){K(),q="/";continue}if($[G]==="{"){J++,q="{",G++;continue}if($[G]==="}"){J--,q="}",G++;continue}if(J===0&&/[a-z]/i.test($[G])&&(G===0||/\s|[;{}()]/.test($[G-1])))B();if(!/\s/.test($[G]))q=$[G];G++}return Z.join(", ")}async function y9(X,$,Z,Y){if(!pX(X))return X;let J=X;if($.skipSignalsRuntime)return J;let{output:G,setupCode:Q}=await JY(J,Z,Y);if(J=G,J=await dX(J,$),Q){let W=cX(J,/<\/head>/i),w=W===-1?cX(J,/<body[^>]*>/i):-1;if(W!==-1)J=`${J.slice(0,W)}${Q}
11628
+ `)G++;return!0}if($[G]==="/"&&$[G+1]==="*"){G+=2;while(G<Q-1&&!($[G]==="*"&&$[G+1]==="/"))G++;return G+=2,!0}return!1},B=()=>{if(J!==0)return;let j=$.slice(G).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(j){let F=j[2];if(!Y.has(F))Z.push(F),Y.add(F);return}let _=$.slice(G).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(_){_[1].split(",").forEach((F)=>{let V=F.trim();if(!V)return;let A=V.indexOf(":"),T=(A>=0?V.slice(A+1).trim():V).split(/[\s=]/)[0];if(T&&!Y.has(T))Z.push(T),Y.add(T)});return}let H=$.slice(G).match(/^(?:const|let|var)\s+\[([^\]]+)\]\s*=/);if(H){H[1].split(",").forEach((F)=>{let V=F.trim().replace(/^\.\.\./,"");if(!V)return;let A=V.split(/[\s=]/)[0];if(A&&!Y.has(A))Z.push(A),Y.add(A)});return}let L=$.slice(G).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(L){let F=L[1];if(!Y.has(F))Z.push(F),Y.add(F);return}let O=$.slice(G).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(O){let F=O[1];if(!Y.has(F))Z.push(F),Y.add(F)}};while(G<Q){if(z())continue;if($[G]==="'"||$[G]==='"'){W($[G]),q=$[G-1];continue}if($[G]==="`"){w(),q="`";continue}if($[G]==="/"&&$[G+1]!=="/"&&$[G+1]!=="*"&&U()){K(),q="/";continue}if($[G]==="{"){J++,q="{",G++;continue}if($[G]==="}"){J--,q="}",G++;continue}if(J===0&&/[a-z]/i.test($[G])&&(G===0||/\s|[;{}()]/.test($[G-1])))B();if(!/\s/.test($[G]))q=$[G];G++}return Z.join(", ")}async function y9(X,$,Z,Y){if(!pX(X))return X;let J=X;if($.skipSignalsRuntime)return J;let{output:G,setupCode:Q}=await JY(J,Z,Y);if(J=G,J=await dX(J,$),Q){let W=cX(J,/<\/head>/i),w=W===-1?cX(J,/<body[^>]*>/i):-1;if(W!==-1)J=`${J.slice(0,W)}${Q}
11630
11629
  ${J.slice(W)}`;else if(w!==-1){let z=/<body[^>]*>/i.exec(J.slice(w))[0],B=w+z.length;J=`${J.slice(0,B)}
11631
11630
  ${Q}${J.slice(B)}`}else J=`${J}
11632
- ${Q}`}let K=J.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),U=K&&/data-stx/.test(K[1]);if(!Q&&!U&&K&&!/data-stx-auto/.test(K[1])){let W=/<body[^>]*>/i,w=cX(J,W);if(w!==-1){let z=J.slice(0,w),B=J.slice(w).replace(W,(j)=>j.replace(/^<body([^>]*)>$/i,"<body$1 data-stx-auto>"));J=z+B}}return J}function cX(X,$){let Z=/<(script|style)\b[\s\S]*?<\/\1>/gi,Y=[],J;while((J=Z.exec(X))!==null)Y.push([J.index,J.index+J[0].length]);let G=new RegExp($.source,$.flags.replace(/[gy]/g,"")),Q=0;while(Q<X.length){let q=G.exec(X.slice(Q));if(!q)return-1;let K=Q+q.index;if(!Y.some(([W,w])=>K>=W&&K<w))return K;Q=K+Math.max(q[0].length,1)}return-1}function QY(X){let $=[];for(let Z of X.split(",")){let Y=Z.trim();if(!Y||Y.startsWith("type "))continue;let J=Y.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(J&&J[1]!==J[2])$.push(`${J[2]} = ${J[1]}`)}if($.length===0)return XY;return`var ${$.join(", ")}; ${XY}`}var mw=0,sZ=`(?:"[^"]*"|'[^']*'|[^>"'])*`,$Y,tZ,k9,ow,XY="/* [stx import stripped, resolved via window.stx in __stx_setup] */";var y7=E(()=>{F7();DX();e0();u$();A0();mX();l1();z7();$Y=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s;tZ=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"]);k9=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);ow=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/});import tw from"fs";import g from"path";function Xz(X){let $=new WeakSet;try{let Z=(Y)=>{if(Y===void 0)return{__stxType:"undefined"};if(typeof Y==="bigint")return{__stxType:"bigint",value:Y.toString()};if(typeof Y==="function"||typeof Y==="symbol")throw TypeError("Non-serializable component input");if(Y===null||typeof Y!=="object")return Y;if($.has(Y))throw TypeError("Circular component input");if($.add(Y),Y instanceof Date)return{__stxType:"date",value:Y.toISOString()};if(Array.isArray(Y))return Y.map(Z);let J={};for(let G of Object.keys(Y).sort())J[G]=Z(Y[G]);return J};return JSON.stringify(Z(X))}catch{return null}}function qY(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function $z(X){return/\bjs\b/.test(X)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test(X)}function d1(X){return!$z(X)}function m1(X){try{let $=X.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");$=$.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");let Z=[];$=$.replace(/\{!![\s\S]*?!!\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`}),$=$.replace(/\{\{\{[\s\S]*?\}\}\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`}),$=$.replace(/\{\{[\s\S]*?\}\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`});let J=new Bun.Transpiler({loader:"ts",target:"browser",define:S0()}).transformSync($);for(let G=0;G<Z.length;G++)J=J.replace(`"__STX_EXPR_${G}__"`,Z[G]),J=J.replace(`'__STX_EXPR_${G}__'`,Z[G]);return J}catch($){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",$);return X}}function Zz(X){let $=[],Z=new Set,Y=0,J=0,G=X.length,Q=(W)=>{J++;while(J<G){if(X[J]==="\\"){J+=2;continue}if(X[J]===W){J++;return}J++}},q=()=>{J++;while(J<G){if(X[J]==="\\"){J+=2;continue}if(X[J]==="`"){J++;return}if(X[J]==="$"&&X[J+1]==="{"){J+=2;let W=1;while(J<G&&W>0)if(X[J]==="{")W++,J++;else if(X[J]==="}")W--,J++;else if(X[J]==="'"||X[J]==='"')Q(X[J]);else if(X[J]==="`")q();else J++;continue}J++}},K=()=>{if(X[J]==="/"&&X[J+1]==="/"){while(J<G&&X[J]!==`
11633
- `)J++;return!0}if(X[J]==="/"&&X[J+1]==="*"){J+=2;while(J<G-1&&!(X[J]==="*"&&X[J+1]==="/"))J++;return J+=2,!0}return!1},U=()=>{if(Y!==0)return;let W=X.slice(J).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(W){let j=W[2].split(",").map((_)=>{let H=_.trim().split(":");return H[H.length-1].trim()});for(let _ of j)if(_&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(_)&&!Z.has(_))$.push(_),Z.add(_);return}let w=X.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(w){let j=w[2];if(!Z.has(j))$.push(j),Z.add(j);return}let z=X.slice(J).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let j=z[1];if(!Z.has(j))$.push(j),Z.add(j);return}let B=X.slice(J).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let j=B[1];if(!Z.has(j))$.push(j),Z.add(j)}};while(J<G){if(K())continue;if(X[J]==="'"||X[J]==='"'){Q(X[J]);continue}if(X[J]==="`"){q();continue}if(X[J]==="{"){Y++,J++;continue}if(X[J]==="}"){Y--,J++;continue}if(Y===0&&/[a-z]/i.test(X[J])&&(J===0||/\s|[;{}()]/.test(X[J-1])))U();J++}return $}function Yz(X){let $=[],Z=0,Y=0,J=null;for(let G=0;G<X.length;G++){let Q=X[G];if(J){if(Q==="\\"){G++;continue}if(Q===J)J=null;continue}if(Q==='"'||Q==="'"||Q==="`"){J=Q;continue}if(Q==="("||Q==="["||Q==="{")Z++;else if(Q===")"||Q==="]"||Q==="}")Z--;else if(Q===","&&Z===0)$.push(X.slice(Y,G)),Y=G+1}if(Y<X.length)$.push(X.slice(Y));return $}function Jz(X){let $=0,Z=null;for(let Y=0;Y<X.length;Y++){let J=X[Y];if(Z){if(J==="\\"){Y++;continue}if(J===Z)Z=null;continue}if(J==='"'||J==="'"||J==="`"){Z=J;continue}if(J==="("||J==="["||J==="{")$++;else if(J===")"||J==="]"||J==="}")$--;else if(J==="="&&$===0){let G=X[Y-1],Q=X[Y+1];if(G==="!"||G==="<"||G===">"||G==="=")continue;if(Q==="="||Q===">")continue;return Y}}return-1}function Gz(X,$){try{let Z=/=\s*(?:withDefaults\s*\([\s\S]*?defineProps|defineProps)\b/.exec(X);if(!Z)return;let Y=Z.index-1;while(Y>=0&&/\s/.test(X[Y]))Y--;if(X[Y]!=="}")return;let J=Y,G=0,Q=-1;for(;Y>=0;Y--){let K=X[Y];if(K==="}")G++;else if(K==="{"){if(G--,G===0){Q=Y;break}}}if(Q===-1)return;let q=X.slice(Q+1,J);for(let K of Yz(q)){let U=K.trim();if(!U||U.startsWith("..."))continue;let W=Jz(U);if(W===-1)continue;let w=U.slice(0,W).trim();if(!/^[A-Z_$][\w$]*$/i.test(w))continue;if($[w]!==void 0)continue;let z=U.slice(W+1).trim();if(!z)continue;try{let B=Object.keys($),j=Function(...B,`"use strict"; return (${z});`);$[w]=j(...B.map((_)=>$[_]))}catch{}}}catch{}}async function oX(X,$,Z,Y,J){let G=X.endsWith(".stx")?X.slice(0,-4):X,Q=(H)=>H.split("-").map((L)=>L.charAt(0).toUpperCase()+L.slice(1)).join(""),q=(H)=>H.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),K=Z.__importedComponents;if(K){for(let H of[G,G.toLowerCase(),Q(G),q(G)])if(K.has(H))return!0}let U=[...new Set([`${G}.stx`,`${Q(G)}.stx`,`${q(G)}.stx`])],W=typeof J.root==="string"?g.resolve(J.root):void 0,w=W??g.dirname(Y),z=[],B=(H)=>{if(H&&!z.includes(H))z.push(H)},j=Z.__originalFilePath;if(j)B(g.join(g.dirname(j),"components"));B($),B(J._rootComponentsDir),B(g.join(g.dirname(Y),"components")),B(J.componentsDir);let _=J._pluginComponentDirs;if(Array.isArray(_))for(let H of _)B(typeof H==="string"?H:null);if(W)B(g.resolve(W,"resources/views/components")),B(g.resolve(W,"resources/components")),B(g.resolve(W,"src/components")),B(g.resolve(W,"components"));if(G.startsWith("./")||G.startsWith("../"))return p(g.resolve(g.dirname(Y),`${G}.stx`));for(let H of z){let L=g.isAbsolute(H)?H:g.resolve(w,H);for(let O of U)if(await p(g.join(L,O)))return!0}return!1}function Qz(X){return X==="visible"||X==="idle"||X==="interaction"||X.startsWith("media:")}function qz(X){if(!X)return!1;let $=X.replace(/<script[\s\S]*?<\/script>/gi,"").replace(/<style[\s\S]*?<\/style>/gi,"");return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test($)}function Kz(X){let $=new Set,Z=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal|useReactiveProp|useLocalStorage|useSessionStorage|useCookie|useDebouncedValue)\s*(?:<[^>]*>)?\s*\(/g;for(let Y of X){let J;while((J=Z.exec(Y))!==null)$.add(J[1]);Z.lastIndex=0}return[...$]}async function s1(X,$,Z,Y,J,G,Q,q=new Set,K){let{extractVariables:U}=await t("stx/variable-extractor",()=>Promise.resolve().then(() => (k7(),IX))),W=q??new Set;if(W.has(X))return`[Circular component reference: ${X}]`;let w=new Set(W);w.add(X);let z=typeof $.client==="string"?$.client.trim():"";if("client"in $)delete $.client;let B=z&&z!=="load"&&Qz(z)?z:"";try{let j=(D)=>D.split("-").map((v)=>v.charAt(0).toUpperCase()+v.slice(1)).join(""),_=(D)=>D.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),H=X.endsWith(".stx")?X.slice(0,-4):X,L=null,O=J.__importedComponents;if(O){let D=[H,H.toLowerCase(),j(H),_(H)];for(let v of D)if(O.has(v)){L=O.get(v);break}}let F=[];if(!L){let D=[`${H}.stx`,`${j(H)}.stx`,`${_(H)}.stx`],v=[...new Set(D)],u=J.__originalFilePath,f=[];if(u){let w0=g.join(g.dirname(u),"components");f.push(w0)}if(Y)f.push(Y);let o=Q._rootComponentsDir;if(typeof o==="string"&&!f.includes(o))f.push(o);let Z0=g.join(g.dirname(G),"components");if(!f.includes(Z0))f.push(Z0);if(Q.componentsDir&&Q.componentsDir!==Y&&!f.includes(Q.componentsDir))f.push(Q.componentsDir);let i0=Q._pluginComponentDirs;if(Array.isArray(i0)){for(let w0 of i0)if(typeof w0==="string"&&!f.includes(w0))f.push(w0)}let b0=typeof Q.root==="string"?g.resolve(Q.root):void 0,x0=b0??g.dirname(G),n0=[];if(b0)n0.push(g.resolve(b0,"resources/views/components")),n0.push(g.resolve(b0,"resources/components")),n0.push(g.resolve(b0,"src/components")),n0.push(g.resolve(b0,"components"));n0.push(g.resolve(import.meta.dir,"components"));for(let w0 of n0)if(!f.includes(w0))f.push(w0);let z5=[...new Set(f.map((w0)=>{if(!w0)return w0;return g.isAbsolute(w0)?w0:g.resolve(x0,w0)}))];f.length=0,f.push(...z5);let H1=`${H}\x00${G}\x00${z5.join("\x00")}`,O1=rX.get(H1);if(O1)if(await p(O1))L=O1;else rX.delete(H1);if(!L&&(H.startsWith("./")||H.startsWith("../")))L=g.resolve(g.dirname(G),`${H}.stx`),F.push(L);else if(!L)for(let w0 of f){if(!w0)continue;for(let a0 of v){let i=g.join(w0,a0);if(F.push(i),await p(i)){L=i;break}}if(L)break;if(!L)try{let a0=await import("fs");if(!a0.statSync(w0,{throwIfNoEntry:!1})?.isDirectory())continue;let t0=8,x1=[{path:w0,depth:0}];while(x1.length>0&&!L){let Q1=x1.pop();if(Q1.depth>=t0)continue;let s7;try{s7=a0.readdirSync(Q1.path,{withFileTypes:!0})}catch{continue}for(let a7 of s7){if(!a7.isDirectory())continue;if(a7.name==="node_modules"||a7.name.startsWith("."))continue;let c4=g.join(Q1.path,a7.name);for(let DK of v){let K$=g.join(c4,DK);if(F.push(K$),await p(K$)){L=K$;break}}if(L)break;x1.push({path:c4,depth:Q1.depth+1})}}}catch{}if(L)break}if(L)rX.set(H1,L)}if(!L||!await p(L)){let D=F.length>0?`
11631
+ ${Q}`}let K=J.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),U=K&&/data-stx/.test(K[1]);if(!Q&&!U&&K&&!/data-stx-auto/.test(K[1])){let W=/<body[^>]*>/i,w=cX(J,W);if(w!==-1){let z=J.slice(0,w),B=J.slice(w).replace(W,(j)=>j.replace(/^<body([^>]*)>$/i,"<body$1 data-stx-auto>"));J=z+B}}return J}function cX(X,$){let Z=/<(script|style)\b[\s\S]*?<\/\1>/gi,Y=[],J;while((J=Z.exec(X))!==null)Y.push([J.index,J.index+J[0].length]);let G=new RegExp($.source,$.flags.replace(/[gy]/g,"")),Q=0;while(Q<X.length){let q=G.exec(X.slice(Q));if(!q)return-1;let K=Q+q.index;if(!Y.some(([W,w])=>K>=W&&K<w))return K;Q=K+Math.max(q[0].length,1)}return-1}function QY(X){let $=[];for(let Z of X.split(",")){let Y=Z.trim();if(!Y||Y.startsWith("type "))continue;let J=Y.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(J&&J[1]!==J[2])$.push(`${J[2]} = ${J[1]}`)}if($.length===0)return XY;return`var ${$.join(", ")}; ${XY}`}var mw=0,sZ=`(?:"[^"]*"|'[^']*'|[^>"'])*`,$Y,tZ,k9,ow,XY="/* [stx import stripped, resolved via window.stx in __stx_setup] */";var y7=E(()=>{F7();DX();X1();u$();A0();mX();l1();z7();$Y=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s;tZ=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"]);k9=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);ow=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/});import tw from"fs";import g from"path";function Xz(X){let $=new WeakSet;try{let Z=(Y)=>{if(Y===void 0)return{__stxType:"undefined"};if(typeof Y==="bigint")return{__stxType:"bigint",value:Y.toString()};if(typeof Y==="function"||typeof Y==="symbol")throw TypeError("Non-serializable component input");if(Y===null||typeof Y!=="object")return Y;if($.has(Y))throw TypeError("Circular component input");if($.add(Y),Y instanceof Date)return{__stxType:"date",value:Y.toISOString()};if(Array.isArray(Y))return Y.map(Z);let J={};for(let G of Object.keys(Y).sort())J[G]=Z(Y[G]);return J};return JSON.stringify(Z(X))}catch{return null}}function qY(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function $z(X){return/\bjs\b/.test(X)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test(X)}function d1(X){return!$z(X)}function m1(X){try{let $=X.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");$=$.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");let Z=[];$=$.replace(/\{!![\s\S]*?!!\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`}),$=$.replace(/\{\{\{[\s\S]*?\}\}\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`}),$=$.replace(/\{\{[\s\S]*?\}\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`});let J=new Bun.Transpiler({loader:"ts",target:"browser",define:S0()}).transformSync($);for(let G=0;G<Z.length;G++)J=J.replace(`"__STX_EXPR_${G}__"`,Z[G]),J=J.replace(`'__STX_EXPR_${G}__'`,Z[G]);return J}catch($){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",$);return X}}function Zz(X){let $=[],Z=new Set,Y=0,J=0,G=X.length,Q=(W)=>{J++;while(J<G){if(X[J]==="\\"){J+=2;continue}if(X[J]===W){J++;return}J++}},q=()=>{J++;while(J<G){if(X[J]==="\\"){J+=2;continue}if(X[J]==="`"){J++;return}if(X[J]==="$"&&X[J+1]==="{"){J+=2;let W=1;while(J<G&&W>0)if(X[J]==="{")W++,J++;else if(X[J]==="}")W--,J++;else if(X[J]==="'"||X[J]==='"')Q(X[J]);else if(X[J]==="`")q();else J++;continue}J++}},K=()=>{if(X[J]==="/"&&X[J+1]==="/"){while(J<G&&X[J]!==`
11632
+ `)J++;return!0}if(X[J]==="/"&&X[J+1]==="*"){J+=2;while(J<G-1&&!(X[J]==="*"&&X[J+1]==="/"))J++;return J+=2,!0}return!1},U=()=>{if(Y!==0)return;let W=X.slice(J).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(W){let j=W[2].split(",").map((_)=>{let H=_.trim().split(":");return H[H.length-1].trim()});for(let _ of j)if(_&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(_)&&!Z.has(_))$.push(_),Z.add(_);return}let w=X.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(w){let j=w[2];if(!Z.has(j))$.push(j),Z.add(j);return}let z=X.slice(J).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let j=z[1];if(!Z.has(j))$.push(j),Z.add(j);return}let B=X.slice(J).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let j=B[1];if(!Z.has(j))$.push(j),Z.add(j)}};while(J<G){if(K())continue;if(X[J]==="'"||X[J]==='"'){Q(X[J]);continue}if(X[J]==="`"){q();continue}if(X[J]==="{"){Y++,J++;continue}if(X[J]==="}"){Y--,J++;continue}if(Y===0&&/[a-z]/i.test(X[J])&&(J===0||/\s|[;{}()]/.test(X[J-1])))U();J++}return $}function Yz(X){let $=[],Z=0,Y=0,J=null;for(let G=0;G<X.length;G++){let Q=X[G];if(J){if(Q==="\\"){G++;continue}if(Q===J)J=null;continue}if(Q==='"'||Q==="'"||Q==="`"){J=Q;continue}if(Q==="("||Q==="["||Q==="{")Z++;else if(Q===")"||Q==="]"||Q==="}")Z--;else if(Q===","&&Z===0)$.push(X.slice(Y,G)),Y=G+1}if(Y<X.length)$.push(X.slice(Y));return $}function Jz(X){let $=0,Z=null;for(let Y=0;Y<X.length;Y++){let J=X[Y];if(Z){if(J==="\\"){Y++;continue}if(J===Z)Z=null;continue}if(J==='"'||J==="'"||J==="`"){Z=J;continue}if(J==="("||J==="["||J==="{")$++;else if(J===")"||J==="]"||J==="}")$--;else if(J==="="&&$===0){let G=X[Y-1],Q=X[Y+1];if(G==="!"||G==="<"||G===">"||G==="=")continue;if(Q==="="||Q===">")continue;return Y}}return-1}function Gz(X,$){try{let Z=/=\s*(?:withDefaults\s*\([\s\S]*?defineProps|defineProps)\b/.exec(X);if(!Z)return;let Y=Z.index-1;while(Y>=0&&/\s/.test(X[Y]))Y--;if(X[Y]!=="}")return;let J=Y,G=0,Q=-1;for(;Y>=0;Y--){let K=X[Y];if(K==="}")G++;else if(K==="{"){if(G--,G===0){Q=Y;break}}}if(Q===-1)return;let q=X.slice(Q+1,J);for(let K of Yz(q)){let U=K.trim();if(!U||U.startsWith("..."))continue;let W=Jz(U);if(W===-1)continue;let w=U.slice(0,W).trim();if(!/^[A-Z_$][\w$]*$/i.test(w))continue;if($[w]!==void 0)continue;let z=U.slice(W+1).trim();if(!z)continue;try{let B=Object.keys($),j=Function(...B,`"use strict"; return (${z});`);$[w]=j(...B.map((_)=>$[_]))}catch{}}}catch{}}async function oX(X,$,Z,Y,J){let G=X.endsWith(".stx")?X.slice(0,-4):X,Q=(H)=>H.split("-").map((L)=>L.charAt(0).toUpperCase()+L.slice(1)).join(""),q=(H)=>H.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),K=Z.__importedComponents;if(K){for(let H of[G,G.toLowerCase(),Q(G),q(G)])if(K.has(H))return!0}let U=[...new Set([`${G}.stx`,`${Q(G)}.stx`,`${q(G)}.stx`])],W=typeof J.root==="string"?g.resolve(J.root):void 0,w=W??g.dirname(Y),z=[],B=(H)=>{if(H&&!z.includes(H))z.push(H)},j=Z.__originalFilePath;if(j)B(g.join(g.dirname(j),"components"));B($),B(J._rootComponentsDir),B(g.join(g.dirname(Y),"components")),B(J.componentsDir);let _=J._pluginComponentDirs;if(Array.isArray(_))for(let H of _)B(typeof H==="string"?H:null);if(W)B(g.resolve(W,"resources/views/components")),B(g.resolve(W,"resources/components")),B(g.resolve(W,"src/components")),B(g.resolve(W,"components"));if(G.startsWith("./")||G.startsWith("../"))return p(g.resolve(g.dirname(Y),`${G}.stx`));for(let H of z){let L=g.isAbsolute(H)?H:g.resolve(w,H);for(let O of U)if(await p(g.join(L,O)))return!0}return!1}function Qz(X){return X==="visible"||X==="idle"||X==="interaction"||X.startsWith("media:")}function qz(X){if(!X)return!1;let $=X.replace(/<script[\s\S]*?<\/script>/gi,"").replace(/<style[\s\S]*?<\/style>/gi,"");return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test($)}function Kz(X){let $=new Set,Z=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal|useReactiveProp|useLocalStorage|useSessionStorage|useCookie|useDebouncedValue)\s*(?:<[^>]*>)?\s*\(/g;for(let Y of X){let J;while((J=Z.exec(Y))!==null)$.add(J[1]);Z.lastIndex=0}return[...$]}async function s1(X,$,Z,Y,J,G,Q,q=new Set,K){let{extractVariables:U}=await t("stx/variable-extractor",()=>Promise.resolve().then(() => (k7(),IX))),W=q??new Set;if(W.has(X))return`[Circular component reference: ${X}]`;let w=new Set(W);w.add(X);let z=typeof $.client==="string"?$.client.trim():"";if("client"in $)delete $.client;let B=z&&z!=="load"&&Qz(z)?z:"";try{let j=(D)=>D.split("-").map((v)=>v.charAt(0).toUpperCase()+v.slice(1)).join(""),_=(D)=>D.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),H=X.endsWith(".stx")?X.slice(0,-4):X,L=null,O=J.__importedComponents;if(O){let D=[H,H.toLowerCase(),j(H),_(H)];for(let v of D)if(O.has(v)){L=O.get(v);break}}let F=[];if(!L){let D=[`${H}.stx`,`${j(H)}.stx`,`${_(H)}.stx`],v=[...new Set(D)],u=J.__originalFilePath,f=[];if(u){let w0=g.join(g.dirname(u),"components");f.push(w0)}if(Y)f.push(Y);let o=Q._rootComponentsDir;if(typeof o==="string"&&!f.includes(o))f.push(o);let Z0=g.join(g.dirname(G),"components");if(!f.includes(Z0))f.push(Z0);if(Q.componentsDir&&Q.componentsDir!==Y&&!f.includes(Q.componentsDir))f.push(Q.componentsDir);let n0=Q._pluginComponentDirs;if(Array.isArray(n0)){for(let w0 of n0)if(typeof w0==="string"&&!f.includes(w0))f.push(w0)}let b0=typeof Q.root==="string"?g.resolve(Q.root):void 0,x0=b0??g.dirname(G),r0=[];if(b0)r0.push(g.resolve(b0,"resources/views/components")),r0.push(g.resolve(b0,"resources/components")),r0.push(g.resolve(b0,"src/components")),r0.push(g.resolve(b0,"components"));r0.push(g.resolve(import.meta.dir,"components"));for(let w0 of r0)if(!f.includes(w0))f.push(w0);let z5=[...new Set(f.map((w0)=>{if(!w0)return w0;return g.isAbsolute(w0)?w0:g.resolve(x0,w0)}))];f.length=0,f.push(...z5);let H1=`${H}\x00${G}\x00${z5.join("\x00")}`,O1=rX.get(H1);if(O1)if(await p(O1))L=O1;else rX.delete(H1);if(!L&&(H.startsWith("./")||H.startsWith("../")))L=g.resolve(g.dirname(G),`${H}.stx`),F.push(L);else if(!L)for(let w0 of f){if(!w0)continue;for(let t0 of v){let i=g.join(w0,t0);if(F.push(i),await p(i)){L=i;break}}if(L)break;if(!L)try{let t0=await import("fs");if(!t0.statSync(w0,{throwIfNoEntry:!1})?.isDirectory())continue;let e0=8,x1=[{path:w0,depth:0}];while(x1.length>0&&!L){let Q1=x1.pop();if(Q1.depth>=e0)continue;let s7;try{s7=t0.readdirSync(Q1.path,{withFileTypes:!0})}catch{continue}for(let a7 of s7){if(!a7.isDirectory())continue;if(a7.name==="node_modules"||a7.name.startsWith("."))continue;let c4=g.join(Q1.path,a7.name);for(let DK of v){let K$=g.join(c4,DK);if(F.push(K$),await p(K$)){L=K$;break}}if(L)break;x1.push({path:c4,depth:Q1.depth+1})}}}catch{}if(L)break}if(L)rX.set(H1,L)}if(!L||!await p(L)){let D=F.length>0?`
11634
11633
  Searched paths:
11635
11634
  ${F.map((v)=>` - ${v}`).join(`
11636
- `)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${X}']${D}`}K.add(L);let V;if(nX.has(L))V=nX.get(L);else try{V=await Bun.file(L).text(),nX.set(L,V)}catch(D){return`[Error loading component: ${D instanceof Error?D.message:String(D)}]`}let A=new Set(["__originalFilePath","__importedComponents",LX]),R={};for(let[D,v]of Object.entries(J))if(!D.startsWith("__")||A.has(D))R[D]=v;let{extractSlotContent:N}=await t("stx/slots",()=>Promise.resolve().then(() => (q9(),Q9))),T=N(Z),k={};if(T.defaultSlot?.trim())k.default=T.defaultSlot;for(let[D,v]of T.namedSlots)k[D]=v.content;let M={...R,...$,props:$,slot:Z,$slots:k,__processedComponents:w,__sections:{},__stx_signals_gate:W1(V)||qz(Z)};Gz(V,M);let y=V,I=TX(y);if(I)y=I.content.trim();let C=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,S=[...V.matchAll(C)],b=[],P=S.some((D)=>/\bserver\b/.test(D[1]||"")&&/\bcache\b/.test(D[1]||""))&&S.every((D)=>/\bserver\b/.test(D[1]||"")),x=null,d=null;if(P){let D=Xz({props:$,slot:Z,buildMode:Q.buildMode??"",skipEventDirectives:Q.skipEventDirectives===!0});if(D!==null){x=`${L}\x00${D}`;let v=b9.get(x);if(v){for(let u of v.dependencies)K.add(u);return v.output}d=new Set(K)}}for(let D of S){let v=D[1]||"",u=D[2]||"",f=v.includes("server");if(d1(v)&&u.trim())u=m1(u);if(f&&u)try{await U(u,M,L)}catch(Z0){}if(!f){let Z0=u.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,""),i0=Z0.includes("{{")&&Z0.includes("}}"),b0=Z0.includes("{!!")&&Z0.includes("!!}");if(i0||b0)Z0=RX(Z0,M);let x0=v.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");b.push(`<script${x0}>${Z0}</script>`)}}let m=V.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),Y0=m?m[1]:"",d0=m?m[2]:"",F0="",p0=Y0&&/\bscoped\b/i.test(Y0);if(m)F0=`<style${Y0}>${d0}</style>`;let l=y;if(l=l.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),m)l=l.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let D=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,v=[];if(l=l.replace(D,(u,f)=>{let o=f.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(o)v.push(`<style${o[1]}>${o[2]}</style>`);return""}),l=l.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),v.length>0)F0=`${F0}${v.join(`
11637
- `)}`}if(Z&&l.includes("{{ text || slot }}"))l=l.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Z);let{applySlots:j0}=await t("stx/slots",()=>Promise.resolve().then(() => (q9(),Q9))),{defaultSlot:m0,namedSlots:_1}=T;l=await j0(l,m0,_1,M);let W5=b.some((D)=>/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useReactiveProp|defineProps|withDefaults|defineEmits|defineExpose|defineSlots)\s*(?:<[^<>()]*>)?\s*\(/.test(D)),w5=Kz(b);if(w5.length>0)M.__stx_client_signal_names=w5;let r={...Q,_rootComponentsDir:Q._rootComponentsDir||Q.componentsDir,componentsDir:g.dirname(L),skipSignalsRuntime:!0,skipEventDirectives:W5||b.length===0,defaultLayout:void 0};M.__stxProcessingDepth=(J.__stxProcessingDepth||0)+1;let a=await R0(l,M,L,r,K),K0=new Set(Array.isArray(J.__stx_preserved_client_expressions)?J.__stx_preserved_client_expressions:[]);for(let D of a.matchAll(/\{\{([\s\S]*?)\}\}/g))K0.add(D[1].trim());if(K0.size>0)J.__stx_preserved_client_expressions=[...K0];let N0=`stx_${H.replace(/[^a-zA-Z0-9]/g,"_")}_${++ew}_${Math.random().toString(36).slice(2,8)}`,J0=a;if(W5){let D="";if(Object.keys($).length>0)try{D=` data-stx-props="${qY(JSON.stringify($))}"`}catch{}let v=B?` stx-hydrate="${qY(B)}"`:"";J0=`<div data-stx-scope="${N0}"${D}${v}>${a}</div>`;let u=await Promise.all(b.map(async(f)=>{let o=f.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!o)return f;let[,Z0,i0]=o,b0=_X(i0,{filePath:L,projectRoot:process.cwd()}),x0=b0.code,n0=HX(b0.styles);x0=A5(x0).code;let{hasUserImports:z5,bundleClientScript:H1}=await t("stx/client-script-bundler",()=>Promise.resolve().then(() => (B7(),j7)));if(z5(x0))x0=await H1(x0,L,{projectRoot:process.cwd(),minify:Q.buildMode==="compile"});let{rewriteStxImportSpecifiers:O1}=await t("stx/signal-processing",()=>Promise.resolve().then(() => (y7(),iX)));x0=x0.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(Q1,s7)=>O1(s7));let w0=f0(x0),a0=Zz(w0),i=`function(__scopeId) {
11638
- ${F5("const",[...a2,...a0],w0)}
11635
+ `)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${X}']${D}`}K.add(L);let V;if(nX.has(L))V=nX.get(L);else try{V=await Bun.file(L).text(),nX.set(L,V)}catch(D){return`[Error loading component: ${D instanceof Error?D.message:String(D)}]`}let A=new Set(["__originalFilePath","__importedComponents",LX]),R={};for(let[D,v]of Object.entries(J))if(!D.startsWith("__")||A.has(D))R[D]=v;let{extractSlotContent:T}=await t("stx/slots",()=>Promise.resolve().then(() => (q9(),Q9))),N=T(Z),k={};if(N.defaultSlot?.trim())k.default=N.defaultSlot;for(let[D,v]of N.namedSlots)k[D]=v.content;let M={...R,...$,props:$,slot:Z,$slots:k,__processedComponents:w,__sections:{},__stx_signals_gate:W1(V)||qz(Z)};Gz(V,M);let y=V,I=NX(y);if(I)y=I.content.trim();let C=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,S=[...V.matchAll(C)],b=[],P=S.some((D)=>/\bserver\b/.test(D[1]||"")&&/\bcache\b/.test(D[1]||""))&&S.every((D)=>/\bserver\b/.test(D[1]||"")),x=null,d=null;if(P){let D=Xz({props:$,slot:Z,buildMode:Q.buildMode??"",skipEventDirectives:Q.skipEventDirectives===!0});if(D!==null){x=`${L}\x00${D}`;let v=b9.get(x);if(v){for(let u of v.dependencies)K.add(u);return v.output}d=new Set(K)}}for(let D of S){let v=D[1]||"",u=D[2]||"",f=v.includes("server");if(d1(v)&&u.trim())u=m1(u);if(f&&u)try{await U(u,M,L)}catch(Z0){}if(!f){let Z0=u.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,""),n0=Z0.includes("{{")&&Z0.includes("}}"),b0=Z0.includes("{!!")&&Z0.includes("!!}");if(n0||b0)Z0=RX(Z0,M);let x0=v.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");b.push(`<script${x0}>${Z0}</script>`)}}let m=V.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),Y0=m?m[1]:"",d0=m?m[2]:"",F0="",i0=Y0&&/\bscoped\b/i.test(Y0);if(m)F0=`<style${Y0}>${d0}</style>`;let l=y;if(l=l.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),m)l=l.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let D=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,v=[];if(l=l.replace(D,(u,f)=>{let o=f.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(o)v.push(`<style${o[1]}>${o[2]}</style>`);return""}),l=l.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),v.length>0)F0=`${F0}${v.join(`
11636
+ `)}`}if(Z&&l.includes("{{ text || slot }}"))l=l.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Z);let{applySlots:j0}=await t("stx/slots",()=>Promise.resolve().then(() => (q9(),Q9))),{defaultSlot:m0,namedSlots:_1}=N;l=await j0(l,m0,_1,M);let W5=b.some((D)=>/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useReactiveProp|defineProps|withDefaults|defineEmits|defineExpose|defineSlots)\s*(?:<[^<>()]*>)?\s*\(/.test(D)),w5=Kz(b);if(w5.length>0)M.__stx_client_signal_names=w5;let r={...Q,_rootComponentsDir:Q._rootComponentsDir||Q.componentsDir,componentsDir:g.dirname(L),skipSignalsRuntime:!0,skipEventDirectives:W5||b.length===0,defaultLayout:void 0};M.__stxProcessingDepth=(J.__stxProcessingDepth||0)+1;let a=await R0(l,M,L,r,K),K0=new Set(Array.isArray(J.__stx_preserved_client_expressions)?J.__stx_preserved_client_expressions:[]);for(let D of a.matchAll(/\{\{([\s\S]*?)\}\}/g))K0.add(D[1].trim());if(K0.size>0)J.__stx_preserved_client_expressions=[...K0];let T0=`stx_${H.replace(/[^a-zA-Z0-9]/g,"_")}_${++ew}_${Math.random().toString(36).slice(2,8)}`,J0=a;if(W5){let D="";if(Object.keys($).length>0)try{D=` data-stx-props="${qY(JSON.stringify($))}"`}catch{}let v=B?` stx-hydrate="${qY(B)}"`:"";J0=`<div data-stx-scope="${T0}"${D}${v}>${a}</div>`;let u=await Promise.all(b.map(async(f)=>{let o=f.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!o)return f;let[,Z0,n0]=o,b0=_X(n0,{filePath:L,projectRoot:process.cwd()}),x0=b0.code,r0=HX(b0.styles);x0=A5(x0).code;let{hasUserImports:z5,bundleClientScript:H1}=await t("stx/client-script-bundler",()=>Promise.resolve().then(() => (B7(),j7)));if(z5(x0))x0=await H1(x0,L,{projectRoot:process.cwd(),minify:Q.buildMode==="compile"});let{rewriteStxImportSpecifiers:O1}=await t("stx/signal-processing",()=>Promise.resolve().then(() => (y7(),iX)));x0=x0.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(Q1,s7)=>O1(s7));let w0=f0(x0),t0=Zz(w0),i=`function(__scopeId) {
11637
+ ${F5("const",[...a2,...t0],w0)}
11639
11638
  const __scope = window.stx._scopes = window.stx._scopes || {};
11640
11639
  const __scopeVars = __scope[__scopeId] = __scope[__scopeId] || {};
11641
11640
  __scopeVars.$refs = __scopeVars.$refs || {};
@@ -11654,7 +11653,7 @@ ${w0}
11654
11653
  // Register all defined signals and functions in this scope
11655
11654
  const __localVars = {};
11656
11655
  try {
11657
- ${a0.map((Q1)=>`if (typeof ${Q1} !== 'undefined') __localVars['${Q1}'] = ${Q1};`).join(`
11656
+ ${t0.map((Q1)=>`if (typeof ${Q1} !== 'undefined') __localVars['${Q1}'] = ${Q1};`).join(`
11658
11657
  `)}
11659
11658
  }
11660
11659
  catch (e) {}
@@ -11663,13 +11662,13 @@ catch (e) {}
11663
11662
  finally {
11664
11663
  window.__STX_CURRENT_ELEMENT__ = __previousCurrentElement;
11665
11664
  }
11666
- }`,t0=B?null:E6(J,i),x1=t0?`window.__stxComponentFactories[${JSON.stringify(t0)}](${JSON.stringify(N0)});`:`(${i})(${JSON.stringify(N0)});`;if(B)return`${n0}<script type="stx/island" data-stx-island="${N0}" data-stx-scoped${Z0}>${x1}</script>`;return`${n0}<script data-stx-scoped data-stx-run="always"${Z0}>${x1}</script>`}));if(J0=J0+`
11665
+ }`,e0=B?null:E6(J,i),x1=e0?`window.__stxComponentFactories[${JSON.stringify(e0)}](${JSON.stringify(T0)});`:`(${i})(${JSON.stringify(T0)});`;if(B)return`${r0}<script type="stx/island" data-stx-island="${T0}" data-stx-scoped${Z0}>${x1}</script>`;return`${r0}<script data-stx-scoped data-stx-run="always"${Z0}>${x1}</script>`}));if(J0=J0+`
11667
11666
  `+u.join(`
11668
11667
  `),F0)J0+=`
11669
11668
  `+F0}else{if(F0)J0+=`
11670
11669
  `+F0;if(b.length>0){let D=M.__stx_event_bindings||[],v=O7(M),u=await Promise.all(b.map(async(f)=>{let o=f.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!o)return f;return await L7(o[1],{eventBindings:D,templateContent:J0,filePath:L,projectRoot:process.cwd(),serverData:v})}));J0+=`
11671
11670
  `+u.join(`
11672
- `),M.__stx_event_bindings=[]}}if(p0){let D=NX(J0,L);if(D.hasScoped)J0=D.html}if(x&&d)b9.set(x,{output:J0,dependencies:[...K].filter((D)=>!d.has(D))});return J0}catch(j){return`[Error processing component: ${j instanceof Error?j.message:String(j)}]`}finally{W.delete(X)}}async function p(X){return Bun.file(X).exists()}function S9(X,$){let Z=g.resolve($),Y=g.resolve(X),J=Z.endsWith(g.sep)?Z:Z+g.sep;if(Y===Z||Y.startsWith(J))return Y;return null}async function C9(X,$,Z,Y){let J=await Uz(X,$,Z,Y);if(J===null)return null;let G=S9(J,process.cwd());if(G)return G;let Q=[Z.root,Z.layoutsDir,Z.componentsDir,Z.partialsDir,Z.pagesDir].filter((q)=>typeof q==="string"&&q.length>0);for(let q of Q){let K=g.isAbsolute(q)?q:g.resolve(process.cwd(),q);if(S9(J,K))return g.resolve(J)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${J} (template: ${X}, from: ${$})`),null}async function Uz(X,$,Z,Y){if(Z.debug)console.log(`Resolving template path: ${X} from ${$}`);let J=g.dirname($),G=process.cwd();if(X.startsWith("/")){let z=g.join(G,X),B=S9(z,G);if(!B)return console.warn(`[stx] rejected template path that escapes project root: ${X} (from ${$})`),null;if(Z.debug)console.log(`Checking absolute path: ${B}`);if(await p(B)&&Y)Y.add(B);return B}let Q=g.join(J,X);if(await p(Q)){if(Z.debug)console.log(`Found direct path: ${Q}`);if(Y)Y.add(Q);return Q}if(!X.endsWith(".stx")&&!X.endsWith(".jsx")&&!X.endsWith(".tsx"))for(let z of[".stx",".tsx",".jsx"]){let B=`${Q}${z}`;if(await p(B)){if(Z.debug)console.log(`Found direct path with extension: ${B}`);if(Y)Y.add(B);return B}}let q="",K=g.resolve(J),U=process.cwd();for(let z=0;z<10;z++){let B=g.join(K,"layouts"),j=!1;try{j=tw.statSync(B,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(j){q=B;break}let _=g.dirname(K);if(_===K||_.length<U.length)break;K=_}if(q){let z=X.startsWith("layouts/")?X.slice(8):X,B=g.join(q,z);if(await p(B)){if(Z.debug)console.log(`Found in current layouts dir: ${B}`);if(Y)Y.add(B);return B}if(!z.endsWith(".stx")){let j=`${B}.stx`;if(await p(j)){if(Z.debug)console.log(`Found in current layouts dir with extension: ${j}`);if(Y)Y.add(j);return j}}}if(Z.layoutsDir){let z=g.isAbsolute(Z.layoutsDir)?Z.layoutsDir:g.resolve(process.cwd(),Z.layoutsDir),B=X.startsWith("layouts/")?X.slice(8):X,j=g.join(z,B);if(await p(j)){if(Z.debug)console.log(`Found in options.layoutsDir: ${j}`);if(Y)Y.add(j);return j}if(!X.endsWith(".stx")){let _=`${j}.stx`;if(await p(_)){if(Z.debug)console.log(`Found in options.layoutsDir with extension: ${_}`);if(Y)Y.add(_);return _}}}if(X.startsWith("layouts/")||X.includes("/layouts/")){let z=X.split("layouts/"),B=g.join(Z.partialsDir||J,"layouts",z[1]);if(await p(B)){if(Z.debug)console.log(`Found in layouts path: ${B}`);if(Y)Y.add(B);return B}if(!B.endsWith(".stx")){let j=`${B}.stx`;if(await p(j)){if(Z.debug)console.log(`Found in layouts path with extension: ${j}`);if(Y)Y.add(j);return j}}}if(Z.partialsDir){if(q=g.join(Z.partialsDir,"layouts"),await p(q)){let z=g.join(q,X);if(await p(z)){if(Z.debug)console.log(`Found in partials layouts dir: ${z}`);if(Y)Y.add(z);return z}if(!X.endsWith(".stx")){let B=`${z}.stx`;if(await p(B)){if(Z.debug)console.log(`Found in partials layouts dir with extension: ${B}`);if(Y)Y.add(B);return B}}}}let W=Z.partialsDir||g.join(process.cwd(),"views"),w=g.join(W,X);if(await p(w)){if(Z.debug)console.log(`Found in views path: ${w}`);if(Y)Y.add(w);return w}if(!X.endsWith(".stx")){let z=`${w}.stx`;if(await p(z)){if(Z.debug)console.log(`Found in views path with extension: ${z}`);if(Y)Y.add(z);return z}}if(J.includes("temp")){let z=g.join(g.dirname(J),"layouts",X);if(await p(z)){if(Z.debug)console.log(`Found in temp layouts dir: ${z}`);if(Y)Y.add(z);return z}if(!X.endsWith(".stx")){let B=`${z}.stx`;if(await p(B)){if(Z.debug)console.log(`Found in temp layouts dir with extension: ${B}`);if(Y)Y.add(B);return B}}}if(Z.debug)console.warn(`Template not found after trying all paths: ${X} (referenced from ${$})`);else console.warn(`Template not found: ${X} (referenced from ${$})`);return null}function KY(X,$,Z){let Y=0,J="",G="";try{if(typeof $==="number"&&$>=0){let Q=X.split(`
11671
+ `),M.__stx_event_bindings=[]}}if(i0){let D=TX(J0,L);if(D.hasScoped)J0=D.html}if(x&&d)b9.set(x,{output:J0,dependencies:[...K].filter((D)=>!d.has(D))});return J0}catch(j){return`[Error processing component: ${j instanceof Error?j.message:String(j)}]`}finally{W.delete(X)}}async function p(X){return Bun.file(X).exists()}function S9(X,$){let Z=g.resolve($),Y=g.resolve(X),J=Z.endsWith(g.sep)?Z:Z+g.sep;if(Y===Z||Y.startsWith(J))return Y;return null}async function C9(X,$,Z,Y){let J=await Uz(X,$,Z,Y);if(J===null)return null;let G=S9(J,process.cwd());if(G)return G;let Q=[Z.root,Z.layoutsDir,Z.componentsDir,Z.partialsDir,Z.pagesDir].filter((q)=>typeof q==="string"&&q.length>0);for(let q of Q){let K=g.isAbsolute(q)?q:g.resolve(process.cwd(),q);if(S9(J,K))return g.resolve(J)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${J} (template: ${X}, from: ${$})`),null}async function Uz(X,$,Z,Y){if(Z.debug)console.log(`Resolving template path: ${X} from ${$}`);let J=g.dirname($),G=process.cwd();if(X.startsWith("/")){let z=g.join(G,X),B=S9(z,G);if(!B)return console.warn(`[stx] rejected template path that escapes project root: ${X} (from ${$})`),null;if(Z.debug)console.log(`Checking absolute path: ${B}`);if(await p(B)&&Y)Y.add(B);return B}let Q=g.join(J,X);if(await p(Q)){if(Z.debug)console.log(`Found direct path: ${Q}`);if(Y)Y.add(Q);return Q}if(!X.endsWith(".stx")&&!X.endsWith(".jsx")&&!X.endsWith(".tsx"))for(let z of[".stx",".tsx",".jsx"]){let B=`${Q}${z}`;if(await p(B)){if(Z.debug)console.log(`Found direct path with extension: ${B}`);if(Y)Y.add(B);return B}}let q="",K=g.resolve(J),U=process.cwd();for(let z=0;z<10;z++){let B=g.join(K,"layouts"),j=!1;try{j=tw.statSync(B,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(j){q=B;break}let _=g.dirname(K);if(_===K||_.length<U.length)break;K=_}if(q){let z=X.startsWith("layouts/")?X.slice(8):X,B=g.join(q,z);if(await p(B)){if(Z.debug)console.log(`Found in current layouts dir: ${B}`);if(Y)Y.add(B);return B}if(!z.endsWith(".stx")){let j=`${B}.stx`;if(await p(j)){if(Z.debug)console.log(`Found in current layouts dir with extension: ${j}`);if(Y)Y.add(j);return j}}}if(Z.layoutsDir){let z=g.isAbsolute(Z.layoutsDir)?Z.layoutsDir:g.resolve(process.cwd(),Z.layoutsDir),B=X.startsWith("layouts/")?X.slice(8):X,j=g.join(z,B);if(await p(j)){if(Z.debug)console.log(`Found in options.layoutsDir: ${j}`);if(Y)Y.add(j);return j}if(!X.endsWith(".stx")){let _=`${j}.stx`;if(await p(_)){if(Z.debug)console.log(`Found in options.layoutsDir with extension: ${_}`);if(Y)Y.add(_);return _}}}if(X.startsWith("layouts/")||X.includes("/layouts/")){let z=X.split("layouts/"),B=g.join(Z.partialsDir||J,"layouts",z[1]);if(await p(B)){if(Z.debug)console.log(`Found in layouts path: ${B}`);if(Y)Y.add(B);return B}if(!B.endsWith(".stx")){let j=`${B}.stx`;if(await p(j)){if(Z.debug)console.log(`Found in layouts path with extension: ${j}`);if(Y)Y.add(j);return j}}}if(Z.partialsDir){if(q=g.join(Z.partialsDir,"layouts"),await p(q)){let z=g.join(q,X);if(await p(z)){if(Z.debug)console.log(`Found in partials layouts dir: ${z}`);if(Y)Y.add(z);return z}if(!X.endsWith(".stx")){let B=`${z}.stx`;if(await p(B)){if(Z.debug)console.log(`Found in partials layouts dir with extension: ${B}`);if(Y)Y.add(B);return B}}}}let W=Z.partialsDir||g.join(process.cwd(),"views"),w=g.join(W,X);if(await p(w)){if(Z.debug)console.log(`Found in views path: ${w}`);if(Y)Y.add(w);return w}if(!X.endsWith(".stx")){let z=`${w}.stx`;if(await p(z)){if(Z.debug)console.log(`Found in views path with extension: ${z}`);if(Y)Y.add(z);return z}}if(J.includes("temp")){let z=g.join(g.dirname(J),"layouts",X);if(await p(z)){if(Z.debug)console.log(`Found in temp layouts dir: ${z}`);if(Y)Y.add(z);return z}if(!X.endsWith(".stx")){let B=`${z}.stx`;if(await p(B)){if(Z.debug)console.log(`Found in temp layouts dir with extension: ${B}`);if(Y)Y.add(B);return B}}}if(Z.debug)console.warn(`Template not found after trying all paths: ${X} (referenced from ${$})`);else console.warn(`Template not found: ${X} (referenced from ${$})`);return null}function KY(X,$,Z){let Y=0,J="",G="";try{if(typeof $==="number"&&$>=0){let Q=X.split(`
11673
11672
  `),q=0;for(let K=0;K<Q.length;K++)if(q+=Q[K].length+1,q>=$){Y=K+1,J=Q[K].trim();let U=Math.max(0,K-2),W=Math.min(Q.length,K+3);G=Q.slice(U,W).map((w,z)=>{let B=U+z+1;return`${B===Y?"> ":" "}${B}: ${w}`}).join(`
11674
11673
  `);break}}else if(Z){let Q=X.indexOf(Z);if(Q>=0)return KY(X,Q)}}catch{}return{lineNumber:Y,lineContent:J,context:G}}function U0(X,$,Z,Y,J,G){let{lineNumber:Q,context:q}=KY(Y,J,G),K=Z.split("/").pop(),U=0;if(typeof J==="number"&&J>=0&&Y){let w=Y.lastIndexOf(`
11675
11674
  `,Math.max(0,J-1));U=J-(w+1)+1}let W="";if(Q>0)W+=`
@@ -11684,7 +11683,7 @@ ${e.yellow}${e.bold}Message:${e.reset} ${$}
11684
11683
  `,q)W+=`
11685
11684
  ${e.blue}${e.bold}Context:${e.reset}
11686
11685
  ${e.dim}${q}${e.reset}
11687
- `;return W}function iZ(){nX.clear(),rX.clear(),b9.clear()}var nX,rX,b9,ew=0,e;var A0=E(()=>{F7();i$();Z1();e0();M5();sX();F1();t$();e$();z7();ZZ();k7();nX=new c1(500),rX=new c1(1000),b9=new c1(2000);e={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"}});async function UY(X,$,Z=""){let Y=X,J=[],G=/@markdown(?:\([^)]*\))?/g,Q;while((Q=G.exec(X))!==null){let q=Q.index,K=Q[0].match(/@markdown\(([^)]*)\)/),U=K?K[1]:"",W=q+Q[0].length,w=1,z=W,B=-1;while(w>0&&z<X.length){let H=X.indexOf("@markdown",z),L=X.indexOf("@endmarkdown",z);if(L===-1)break;if(H!==-1&&H<L&&H!==q){let O=X[H+9];if(O==="("||O===`
11686
+ `;return W}function iZ(){nX.clear(),rX.clear(),b9.clear()}var nX,rX,b9,ew=0,e;var A0=E(()=>{F7();i$();Z1();X1();M5();sX();F1();t$();e$();z7();ZZ();k7();nX=new c1(500),rX=new c1(1000),b9=new c1(2000);e={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"}});async function UY(X,$,Z=""){let Y=X,J=[],G=/@markdown(?:\([^)]*\))?/g,Q;while((Q=G.exec(X))!==null){let q=Q.index,K=Q[0].match(/@markdown\(([^)]*)\)/),U=K?K[1]:"",W=q+Q[0].length,w=1,z=W,B=-1;while(w>0&&z<X.length){let H=X.indexOf("@markdown",z),L=X.indexOf("@endmarkdown",z);if(L===-1)break;if(H!==-1&&H<L&&H!==q){let O=X[H+9];if(O==="("||O===`
11688
11687
  `||O==="\r"||O===" "||O===void 0)w++;z=H+9}else{if(w--,w===0){B=L;break}z=L+12}}if(B===-1)continue;let j=X.slice(W,B),_=X.slice(q,B+12);J.push({fullMatch:_,options:U,content:j,index:q}),G.lastIndex=B+12}for(let{fullMatch:q,options:K,content:U,index:W}of J)try{let w={};if(K)K.split(",").forEach((j)=>{let _=j.trim();if(_)w[_]=!0});let z={gfm:w.gfm??!0,breaks:w.breaks??!1},B=w7(U.trim(),z);Y=Y.split(q).join(B)}catch(w){let z=w instanceof Error?w.message:String(w),B=U0("Markdown Directive",`Error processing markdown: ${z}`,Z,X,W,q);Y=Y.split(q).join(B)}return Y}async function WY(X,$,Z,Y){let J={gfm:!0,breaks:!1};return $.forEach((G)=>{let Q=G.trim().replace(/['"]/g,"");if(Q==="breaks")J.breaks=!0;if(Q==="no-gfm")J.gfm=!1}),w7(X.trim(),J)}var P9=E(()=>{A0()});function zz(X){if(Wz.set(X.name,X),X.client)wz.set(X.name,X.client)}function aX(X){return zz(X),{name:X.name,hasEndTag:X.hasEndTag??!0,description:X.description,handler:async(Z,Y,J,G)=>{let Q=jz(Y,X.defaults);if(X.validate){let K=X.validate(Q);if(K!==!0){let U=typeof K==="string"?K:`Invalid parameters for @${X.name}`;throw Error(U)}}let q=Z;if(X.transform)q=await X.transform(Z,Q,J,G);if(X.clientScript){let K=X.clientScript(Q);q+=`<script>${K}</script>`}if(X.css){let K=X.css(Q);q+=`<style>${K}</style>`}return q}}}function jz(X,$){let Z={...$};for(let Y of X){let J=Y.indexOf(":"),G=Y.indexOf("="),Q=J>=0&&(G<0||J<G)?J:G;if(Q>=0){let q=Y.slice(0,Q).trim(),K=Y.slice(Q+1).trim();if(K==="true")K=!0;else if(K==="false")K=!1;else if(K==="null")K=null;else if(!Number.isNaN(Number(K)))K=Number(K);else if(typeof K==="string"&&K.startsWith("{"))try{K=JSON.parse(K)}catch{}Z[q]=K}else{let q=Object.keys(Z).filter((K)=>!$||!(K in $)).length;Z[q===0?"value":`arg${q}`]=Y}}return Z}var Wz,wz;var v9=E(()=>{Wz=new Map,wz=new Map});function x9(X,$=D5,Z={},Y){return $.sort((J,G)=>J-G).map((J)=>{return`${S7(X,{...Z,w:J,fm:Y})} ${J}w`}).join(", ")}function wY(X,$,Z=Bz,Y={},J){return Z.sort((G,Q)=>G-Q).map((G)=>{let Q=Math.round($*G);return`${S7(X,{...Y,w:Q,dpr:G,fm:J})} ${G}x`}).join(", ")}function f9(X,$="100vw"){if(!X||Object.keys(X).length===0)return $;let Y=Object.entries(X).map(([J,G])=>{let Q=/^\d+$/.test(J)?`${J}px`:J;return{bp:Q,size:G,numericBp:Number.parseInt(Q)||0}}).sort((J,G)=>J.numericBp-G.numericBp).map(({bp:J,size:G})=>`(max-width: ${J}) ${G}`);return Y.push($),Y.join(", ")}function S7(X,$={}){let Z=Object.entries($).filter(([,G])=>G!==void 0&&G!==null).map(([G,Q])=>{if(Array.isArray(Q))return[G,Q.join(",")];return[G,String(Q)]});if(Z.length===0)return X;let Y=Z.map(([G,Q])=>`${G}=${encodeURIComponent(Q)}`).join("&"),J=X.includes("?")?"&":"?";return`${X}${J}${Y}`}function g9(X){return _z[X]||"application/octet-stream"}var D5,Bz,b7,_z;var h9=E(()=>{D5=[320,480,640,768,1024,1280,1536,1920,2560],Bz=[1,1.5,2,3],b7=["avif","webp","jpeg"],_z={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"}});async function Oz(){try{return await import("ts-images")}catch{return null}}async function Lz(X,$={}){let Z={...Hz,...$},Y=await Oz();if(Y)try{return await Fz(X,Z,Y)}catch(J){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${J}`)}return Vz(X,Z)}async function Fz(X,$,Z){let{generatePlaceholder:Y,generateThumbHash:J}=Z,Q={blur:"blur",thumbhash:"thumbhash",blurhash:"thumbhash",pixelate:"pixelate","dominant-color":"dominant-color",none:"blur"}[$.strategy]||"blur";if($.strategy==="thumbhash")return{dataURL:(await J(X)).dataUrl,width:32,height:32,aspectRatio:1,originalWidth:0,originalHeight:0,strategy:"thumbhash"};let q=await Y(X,{width:$.width,height:$.height,quality:$.quality,blurLevel:$.blurLevel,strategy:Q,base64Encode:!0});return{dataURL:q.dataURL,width:q.width,height:q.height,aspectRatio:q.aspectRatio,originalWidth:q.originalWidth,originalHeight:q.originalHeight,strategy:$.strategy,dominantColor:q.dominantColor,css:q.css}}function Vz(X,$){let Z=$.width||20,Y=$.height||Z,J="#e5e7eb",G=`<svg xmlns="http://www.w3.org/2000/svg" width="${Z}" height="${Y}" viewBox="0 0 ${Z} ${Y}"><rect fill="#e5e7eb" width="${Z}" height="${Y}"/></svg>`;return{dataURL:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(G)}`,width:Z,height:Y,aspectRatio:Z/Y,originalWidth:0,originalHeight:0,strategy:$.strategy,dominantColor:"#e5e7eb"}}function zY(X,$,Z={}){let Y=Z.transitionDuration||300,J=Z.easing||"ease-out";return`
11689
11688
  #${X} {
11690
11689
  --stx-img-transition-duration: ${Y}ms;
@@ -11731,8 +11730,8 @@ ${e.dim}${q}${e.reset}
11731
11730
  filter: blur(0);
11732
11731
  transform: scale(1);
11733
11732
  }
11734
- `.trim();u9=new Map});import{createHash as HY}from"crypto";import{readFile as Az,stat as OY}from"fs/promises";async function D0(X){try{let $=await Az(X);return HY("sha256").update($).digest("hex").slice(0,16)}catch{return""}}function _Y(X){return HY("sha256").update(X).digest("hex").slice(0,16)}function tX(X,$){let Z=JSON.stringify($,Object.keys($).sort());return`${_Y(X)}-${_Y(Z)}`}async function m9(X){try{return(await OY(X)).mtimeMs}catch{return 0}}async function M0(X){try{return await OY(X),!0}catch{return!1}}var a1=()=>{};import{mkdir as Rz,readFile as Nz,writeFile as Tz,readdir as NR,rm as Mz,stat as TR}from"fs/promises";import{join as FY,dirname as kz}from"path";async function Iz(X){try{await Rz(X,{recursive:!0})}catch{}}function VY(X,$,Z){return FY(X,Z,`${$}.json`)}async function LY(X,$,Z){if((Date.now()-X.createdAt)/86400000>Z)return!1;if(await m9($)!==X.srcMtime)return!1;return!0}async function eX(X,$,Z,Y=l9){if(!Y.enabled)return null;let J=tX(X,$),G=y5.get(J);if(G){if(await LY(G,X,Y.maxAge))return G.lastAccessedAt=Date.now(),G.data;y5.delete(J)}let Q=VY(Y.directory,J,Z);if(await M0(Q))try{let q=await Nz(Q,"utf-8"),K=JSON.parse(q);if(await LY(K,X,Y.maxAge))return K.lastAccessedAt=Date.now(),y5.set(J,K),K.data}catch{}return null}async function X8(X,$,Z,Y,J=l9){if(!J.enabled)return;let G=tX(X,$),Q=await D0(X),q=await m9(X),K={key:G,src:X,srcHash:Q,srcMtime:q,optionsHash:tX("",$),data:Z,createdAt:Date.now(),lastAccessedAt:Date.now()};y5.set(G,K);let U=VY(J.directory,G,Y);try{await Iz(kz(U)),await Tz(U,JSON.stringify(K,null,2))}catch(W){console.warn(`[stx-media] Failed to write cache: ${W}`)}}async function $8(X,$=l9){if(X==="all")y5.clear();else y5.clear();let Z=X==="all"?["image","video"]:[X];for(let Y of Z){let J=FY($.directory,Y);try{await Mz(J,{recursive:!0,force:!0})}catch{}}}var y5,l9;var c9=E(()=>{a1();y5=new Map,l9={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class Y8{config;constructor(X={}){this.config={...Ez,...X}}async get(X,$){return eX(X,$,"image",this.config)}async set(X,$,Z){return X8(X,$,Z,"image",this.config)}async clear(){return $8("image",this.config)}updateConfig(X){this.config={...this.config,...X}}}function p9(X){if(!Z8)Z8=new Y8(X);else if(X)Z8.updateConfig(X);return Z8}async function J8(X,$,Z){let Y=Z?{directory:`${Z.outputDir}/../.cache`}:{};return p9(Y).get(X,$)}async function G8(X,$,Z,Y){let J=Y?{directory:`${Y.outputDir}/../.cache`}:{};return p9(J).set(X,$,Z)}async function AY(){return p9().clear()}var Ez,Z8=null;var i9=E(()=>{c9();Ez={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as Dz,basename as yz,extname as bz,join as Sz}from"path";import{mkdir as Cz}from"fs/promises";async function n9(){try{return await import("ts-images")}catch{return null}}function RY(X){switch(X){case"quality":return{jpeg:{quality:90,mozjpeg:!0,progressive:!0},png:{compressionLevel:6,palette:!1},webp:{quality:90,effort:6,smartSubsample:!0},avif:{quality:85,effort:6}};case"performance":return{jpeg:{quality:70,mozjpeg:!0,progressive:!0},png:{compressionLevel:9,palette:!0},webp:{quality:70,effort:4,smartSubsample:!0},avif:{quality:60,effort:2}};case"web":default:return{jpeg:{quality:82,mozjpeg:!0,progressive:!0},png:{compressionLevel:8,palette:!1},webp:{quality:82,effort:5,smartSubsample:!0},avif:{quality:75,effort:4}}}}function Pz(X,$){let Z=$?RY($):RY("web"),Y=X.formatQuality||{};return{jpeg:{...Z.jpeg,...Y.jpeg},png:{...Z.png,...Y.png},webp:{...Z.webp,...Y.webp},avif:{...Z.avif,...Y.avif}}}async function NY(X,$,Z){let Y=await n9();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:X,processed:!1};let J=await J8(X,$,Z);if(J)return J;try{let G=Dz(X);if(!await M0(G))return{src:X,processed:!1,errors:[`Source file not found: ${X}`]};let Q=Pz(Z,$.preset),q=Z.outputDir||"dist/images",K=Z.baseUrl||"/images";await Cz(q,{recursive:!0});let U=await D0(G),W=yz(X,bz(X)),w=$.outputFormat?[$.outputFormat]:Z.defaultFormats||["avif","webp","jpeg"],z={src:X,processed:!0,variants:[],hash:U},B=null;if($.transformations&&$.transformations.length>0)B=await r9(G,$.transformations,Y);for(let j of w){let _=Q[j]||{},H=`${W}-${U}.${j}`,L=Sz(q,H);try{let O=await Y.optimizeImage({input:B||G,output:L,format:j,quality:_.quality,progressive:_.progressive});if(O){if(z.variants.push({path:L,url:`${K}/${H}`,width:O.width||0,height:O.height||0,format:j,size:O.outputSize||0}),!z.originalWidth&&O.width)z.originalWidth=O.width,z.originalHeight=O.height}}catch(O){z.errors=z.errors||[],z.errors.push(`Failed to optimize ${j}: ${O}`)}}if($.embedThumbhash||$.placeholder==="thumbhash")try{let j=await Y.generateThumbHash(G);z.placeholder=j.dataUrl}catch(j){z.errors=z.errors||[],z.errors.push(`Failed to generate thumbhash: ${j}`)}if($.useDominantColor)try{let j=await Y.generatePlaceholder(G,{strategy:"dominant-color"});z.dominantColor=j.dominantColor}catch(j){z.errors=z.errors||[],z.errors.push(`Failed to extract dominant color: ${j}`)}return await G8(X,$,z,Z),z}catch(G){return{src:X,processed:!1,errors:[`Processing failed: ${G}`]}}}async function TY(X,$,Z,Y){let J=await n9();if(!J)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await J.optimizeImage({input:X,output:Y,format:$,quality:Z}))?.outputSize}}catch(G){return{success:!1,error:String(G)}}}async function r9(X,$,Z){let Y=Z||await n9();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let J=await Y.decode(X);for(let G of $){let Q=G.options||{};switch(G.type){case"resize":if(Q.width||Q.height)J=await Y.resize(J,{width:Q.width,height:Q.height,fit:Q.fit});break;case"blur":if(Q.sigma!==void 0)J=await Y.blur(J,Q.sigma);break;case"sharpen":if(Q.amount!==void 0)J=await Y.sharpen(J,Q.amount);break;case"grayscale":J=await Y.grayscale(J);break;case"rotate":if(Q.angle!==void 0)J=await Y.rotate(J,Q.angle);break;case"flip":J=await Y.flip(J);break;case"flop":J=await Y.flop(J);break;case"brightness":if(Q.value!==void 0)J=await Y.brightness(J,Q.value);break;case"contrast":if(Q.value!==void 0)J=await Y.contrast(J,Q.value);break;case"saturation":if(Q.value!==void 0)J=await Y.saturation(J,Q.value);break}}return await Y.encode(J,"png")}catch(J){return console.error(`[stx-media] Transformation failed: ${J}`),null}}var MY=E(()=>{a1();i9()});import{resolve as vz,basename as xz,extname as fz,join as gz}from"path";import{mkdir as hz}from"fs/promises";async function uz(){try{return await import("ts-images")}catch{return null}}async function kY(X,$,Z){let Y=await uz();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let J=vz(X);if(!await M0(J))return console.warn(`[stx-media] Source file not found: ${X}`),null;try{let G=$.responsiveWidths||Z.breakpoints||dz,Q=$.formats||Z.defaultFormats||["avif","webp","jpeg"],q=Z.outputDir||"dist/images",K=Z.baseUrl||"/images";await hz(q,{recursive:!0});let U=await D0(J),W=xz(X,fz(X)),w=Z.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},z={src:X,byFormat:{},srcsets:{}};for(let j of Q){z.byFormat[j]=[];let _=[];for(let H of G){let L=`${W}-${H}w-${U}.${j}`,O=gz(q,L),F=`${K}/${L}`;try{let V=w[j]?.quality||80;if(await M0(O)){z.byFormat[j].push({path:O,url:F,width:H,height:0,format:j,size:0}),_.push(`${F} ${H}w`);continue}let A=await Y.processImage({input:J,output:O,format:j,quality:V,resize:{width:H}});if(A)z.byFormat[j].push({path:O,url:F,width:H,height:A.height||Math.round(H*(A.height||1)/(A.width||1)),format:j,size:A.outputSize||0}),_.push(`${F} ${H}w`)}catch(V){console.warn(`[stx-media] Failed to generate ${j} at ${H}w: ${V}`)}}z.srcsets[j]=_.join(", ")}let B=$.placeholder||Z.placeholderStrategy||"thumbhash";if(B!=="none")try{if(B==="thumbhash"){let j=await Y.generateThumbHash(J);z.placeholder={dataURL:j.dataUrl,width:j.width||32,height:j.height||32,strategy:"thumbhash"}}else{let j=await Y.generatePlaceholder(J,{strategy:B,width:20});z.placeholder={dataURL:j.dataURL,width:j.width,height:j.height,strategy:B}}}catch(j){console.warn(`[stx-media] Failed to generate placeholder: ${j}`)}return z.sizes=$.sizes||mz(G),z}catch(G){return console.error(`[stx-media] Responsive generation failed: ${G}`),null}}function mz(X){let $=[...X].sort((Y,J)=>Y-J),Z=[];for(let Y=0;Y<$.length-1;Y++){let J=$[Y];Z.push(`(max-width: ${J}px) ${J}px`)}return Z.push(`${$[$.length-1]}px`),Z.join(", ")}function IY(X,$="width"){if(!X||X.length===0)return"";if($==="dpr")return X.filter((Z)=>Z.dpr).map((Z)=>`${Z.url} ${Z.dpr}x`).join(", ");return X.map((Z)=>`${Z.url} ${Z.width}w`).join(", ")}var dz;var EY=E(()=>{a1();dz=[320,480,640,768,1024,1280,1536,1920]});var DY={};n(DY,{setCachedImageResult:()=>G8,processImage:()=>NY,optimizeImage:()=>TY,getCachedImageResult:()=>J8,generateSrcset:()=>IY,generateResponsiveVariants:()=>kY,clearImageCache:()=>AY,applyTransformations:()=>r9,ImageProcessorCache:()=>Y8});var yY=E(()=>{MY();EY();i9()});async function lz(){try{return await Promise.resolve().then(() => (yY(),DY))}catch(X){if(!bY)console.warn("[stx-media] Image processor not available, some features disabled:",X),bY=!0;return null}}async function Q8(X,$={}){let Z=$,Y=X;if(Y.process&&!Y.skipOptimization){if(Z.tsImagesConfig?.enabled&&!Z.isDev)return nz(Y,Z)}if(Z.processedResult?.processed)return t9(X,Z.processedResult,$);if(Z.responsiveVariants)return vY(X,Z.responsiveVariants,$);let{src:J,alt:G,width:Q,height:q,sizes:K,widths:U=D5,dpr:W,formats:w=b7,quality:z=o9,params:B={},placeholder:j="none",placeholderOptions:_={},lazy:H=!0,priority:L=!1,loading:O=L?"eager":K8,decoding:F=q8,fetchpriority:V,objectFit:A,objectPosition:R,crossorigin:N,referrerpolicy:T}=X,k=X.class,M=X.style,y=X.id,I=X.data||{},{isDev:C=!1,baseUrl:S=""}=$;if(C&&!$.optimize)return iz(X);let b,P,x=y||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!L)try{b=await jY(J,{strategy:j,..._}),P=zY(x,b,_)}catch{}let d=W!==void 0&&Q!==void 0,m;if(d)m=pz(X,x,b,$);else m=await cz(X,x,b,$);let Y0;if(L){let p0=w.includes("webp")?"webp":w[0],l=x9(J,U,{...B,q:z},p0),j0=typeof K==="object"?f9(K):K||"100vw";Y0=`<link rel="preload" as="image" imagesrcset="${l}" imagesizes="${j0}" />`}let d0=[];if(!SY&&j!=="none")d0.push(d9),SY=!0;if(P)d0.push(P);let F0=H?PY(x):void 0;return{html:m,preloadLink:Y0,css:d0.length>0?d0.join(`
11735
- `):void 0,script:F0}}async function cz(X,$,Z,Y){let{src:J,alt:G,width:Q,height:q,sizes:K,widths:U=D5,formats:W=b7,quality:w=o9,params:z={},lazy:B=!0,priority:j=!1,loading:_=j?"eager":K8,decoding:H=q8,fetchpriority:L,objectFit:O,objectPosition:F,crossorigin:V,referrerpolicy:A}=X,R=X.class,N=X.style,T=X.data||{},k=typeof K==="object"?f9(K):K||"100vw",M=[];for(let C of W){let S=x9(J,U,{...z,q:w},C),b=g9(C);if(B&&!j)M.push(` <source type="${b}" data-srcset="${S}" data-sizes="${k}" />`);else M.push(` <source type="${b}" srcset="${S}" sizes="${k}" />`)}let y=s9({src:S7(J,{...z,q:w}),alt:G,width:Q,height:q,loading:j?void 0:_,decoding:H,fetchpriority:j?"high":L,objectFit:O,objectPosition:F,crossorigin:V,referrerpolicy:A,className:CY(R,Z),style:a9(N,O,F,Z),lazy:B&&!j,data:T}),I;if(Z){let C=`background-image: url('${Z.dataURL}'); background-size: cover; background-position: center;`;I=`<div id="${$}" class="stx-img-placeholder" style="${C}">
11733
+ `.trim();u9=new Map});import{createHash as HY}from"crypto";import{readFile as Az,stat as OY}from"fs/promises";async function D0(X){try{let $=await Az(X);return HY("sha256").update($).digest("hex").slice(0,16)}catch{return""}}function _Y(X){return HY("sha256").update(X).digest("hex").slice(0,16)}function tX(X,$){let Z=JSON.stringify($,Object.keys($).sort());return`${_Y(X)}-${_Y(Z)}`}async function m9(X){try{return(await OY(X)).mtimeMs}catch{return 0}}async function M0(X){try{return await OY(X),!0}catch{return!1}}var a1=()=>{};import{mkdir as Rz,readFile as Tz,writeFile as Nz,readdir as TR,rm as Mz,stat as NR}from"fs/promises";import{join as FY,dirname as kz}from"path";async function Iz(X){try{await Rz(X,{recursive:!0})}catch{}}function VY(X,$,Z){return FY(X,Z,`${$}.json`)}async function LY(X,$,Z){if((Date.now()-X.createdAt)/86400000>Z)return!1;if(await m9($)!==X.srcMtime)return!1;return!0}async function eX(X,$,Z,Y=l9){if(!Y.enabled)return null;let J=tX(X,$),G=y5.get(J);if(G){if(await LY(G,X,Y.maxAge))return G.lastAccessedAt=Date.now(),G.data;y5.delete(J)}let Q=VY(Y.directory,J,Z);if(await M0(Q))try{let q=await Tz(Q,"utf-8"),K=JSON.parse(q);if(await LY(K,X,Y.maxAge))return K.lastAccessedAt=Date.now(),y5.set(J,K),K.data}catch{}return null}async function X8(X,$,Z,Y,J=l9){if(!J.enabled)return;let G=tX(X,$),Q=await D0(X),q=await m9(X),K={key:G,src:X,srcHash:Q,srcMtime:q,optionsHash:tX("",$),data:Z,createdAt:Date.now(),lastAccessedAt:Date.now()};y5.set(G,K);let U=VY(J.directory,G,Y);try{await Iz(kz(U)),await Nz(U,JSON.stringify(K,null,2))}catch(W){console.warn(`[stx-media] Failed to write cache: ${W}`)}}async function $8(X,$=l9){if(X==="all")y5.clear();else y5.clear();let Z=X==="all"?["image","video"]:[X];for(let Y of Z){let J=FY($.directory,Y);try{await Mz(J,{recursive:!0,force:!0})}catch{}}}var y5,l9;var c9=E(()=>{a1();y5=new Map,l9={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class Y8{config;constructor(X={}){this.config={...Ez,...X}}async get(X,$){return eX(X,$,"image",this.config)}async set(X,$,Z){return X8(X,$,Z,"image",this.config)}async clear(){return $8("image",this.config)}updateConfig(X){this.config={...this.config,...X}}}function p9(X){if(!Z8)Z8=new Y8(X);else if(X)Z8.updateConfig(X);return Z8}async function J8(X,$,Z){let Y=Z?{directory:`${Z.outputDir}/../.cache`}:{};return p9(Y).get(X,$)}async function G8(X,$,Z,Y){let J=Y?{directory:`${Y.outputDir}/../.cache`}:{};return p9(J).set(X,$,Z)}async function AY(){return p9().clear()}var Ez,Z8=null;var i9=E(()=>{c9();Ez={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as Dz,basename as yz,extname as bz,join as Sz}from"path";import{mkdir as Cz}from"fs/promises";async function n9(){try{return await import("ts-images")}catch{return null}}function RY(X){switch(X){case"quality":return{jpeg:{quality:90,mozjpeg:!0,progressive:!0},png:{compressionLevel:6,palette:!1},webp:{quality:90,effort:6,smartSubsample:!0},avif:{quality:85,effort:6}};case"performance":return{jpeg:{quality:70,mozjpeg:!0,progressive:!0},png:{compressionLevel:9,palette:!0},webp:{quality:70,effort:4,smartSubsample:!0},avif:{quality:60,effort:2}};case"web":default:return{jpeg:{quality:82,mozjpeg:!0,progressive:!0},png:{compressionLevel:8,palette:!1},webp:{quality:82,effort:5,smartSubsample:!0},avif:{quality:75,effort:4}}}}function Pz(X,$){let Z=$?RY($):RY("web"),Y=X.formatQuality||{};return{jpeg:{...Z.jpeg,...Y.jpeg},png:{...Z.png,...Y.png},webp:{...Z.webp,...Y.webp},avif:{...Z.avif,...Y.avif}}}async function TY(X,$,Z){let Y=await n9();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:X,processed:!1};let J=await J8(X,$,Z);if(J)return J;try{let G=Dz(X);if(!await M0(G))return{src:X,processed:!1,errors:[`Source file not found: ${X}`]};let Q=Pz(Z,$.preset),q=Z.outputDir||"dist/images",K=Z.baseUrl||"/images";await Cz(q,{recursive:!0});let U=await D0(G),W=yz(X,bz(X)),w=$.outputFormat?[$.outputFormat]:Z.defaultFormats||["avif","webp","jpeg"],z={src:X,processed:!0,variants:[],hash:U},B=null;if($.transformations&&$.transformations.length>0)B=await r9(G,$.transformations,Y);for(let j of w){let _=Q[j]||{},H=`${W}-${U}.${j}`,L=Sz(q,H);try{let O=await Y.optimizeImage({input:B||G,output:L,format:j,quality:_.quality,progressive:_.progressive});if(O){if(z.variants.push({path:L,url:`${K}/${H}`,width:O.width||0,height:O.height||0,format:j,size:O.outputSize||0}),!z.originalWidth&&O.width)z.originalWidth=O.width,z.originalHeight=O.height}}catch(O){z.errors=z.errors||[],z.errors.push(`Failed to optimize ${j}: ${O}`)}}if($.embedThumbhash||$.placeholder==="thumbhash")try{let j=await Y.generateThumbHash(G);z.placeholder=j.dataUrl}catch(j){z.errors=z.errors||[],z.errors.push(`Failed to generate thumbhash: ${j}`)}if($.useDominantColor)try{let j=await Y.generatePlaceholder(G,{strategy:"dominant-color"});z.dominantColor=j.dominantColor}catch(j){z.errors=z.errors||[],z.errors.push(`Failed to extract dominant color: ${j}`)}return await G8(X,$,z,Z),z}catch(G){return{src:X,processed:!1,errors:[`Processing failed: ${G}`]}}}async function NY(X,$,Z,Y){let J=await n9();if(!J)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await J.optimizeImage({input:X,output:Y,format:$,quality:Z}))?.outputSize}}catch(G){return{success:!1,error:String(G)}}}async function r9(X,$,Z){let Y=Z||await n9();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let J=await Y.decode(X);for(let G of $){let Q=G.options||{};switch(G.type){case"resize":if(Q.width||Q.height)J=await Y.resize(J,{width:Q.width,height:Q.height,fit:Q.fit});break;case"blur":if(Q.sigma!==void 0)J=await Y.blur(J,Q.sigma);break;case"sharpen":if(Q.amount!==void 0)J=await Y.sharpen(J,Q.amount);break;case"grayscale":J=await Y.grayscale(J);break;case"rotate":if(Q.angle!==void 0)J=await Y.rotate(J,Q.angle);break;case"flip":J=await Y.flip(J);break;case"flop":J=await Y.flop(J);break;case"brightness":if(Q.value!==void 0)J=await Y.brightness(J,Q.value);break;case"contrast":if(Q.value!==void 0)J=await Y.contrast(J,Q.value);break;case"saturation":if(Q.value!==void 0)J=await Y.saturation(J,Q.value);break}}return await Y.encode(J,"png")}catch(J){return console.error(`[stx-media] Transformation failed: ${J}`),null}}var MY=E(()=>{a1();i9()});import{resolve as vz,basename as xz,extname as fz,join as gz}from"path";import{mkdir as hz}from"fs/promises";async function uz(){try{return await import("ts-images")}catch{return null}}async function kY(X,$,Z){let Y=await uz();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let J=vz(X);if(!await M0(J))return console.warn(`[stx-media] Source file not found: ${X}`),null;try{let G=$.responsiveWidths||Z.breakpoints||dz,Q=$.formats||Z.defaultFormats||["avif","webp","jpeg"],q=Z.outputDir||"dist/images",K=Z.baseUrl||"/images";await hz(q,{recursive:!0});let U=await D0(J),W=xz(X,fz(X)),w=Z.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},z={src:X,byFormat:{},srcsets:{}};for(let j of Q){z.byFormat[j]=[];let _=[];for(let H of G){let L=`${W}-${H}w-${U}.${j}`,O=gz(q,L),F=`${K}/${L}`;try{let V=w[j]?.quality||80;if(await M0(O)){z.byFormat[j].push({path:O,url:F,width:H,height:0,format:j,size:0}),_.push(`${F} ${H}w`);continue}let A=await Y.processImage({input:J,output:O,format:j,quality:V,resize:{width:H}});if(A)z.byFormat[j].push({path:O,url:F,width:H,height:A.height||Math.round(H*(A.height||1)/(A.width||1)),format:j,size:A.outputSize||0}),_.push(`${F} ${H}w`)}catch(V){console.warn(`[stx-media] Failed to generate ${j} at ${H}w: ${V}`)}}z.srcsets[j]=_.join(", ")}let B=$.placeholder||Z.placeholderStrategy||"thumbhash";if(B!=="none")try{if(B==="thumbhash"){let j=await Y.generateThumbHash(J);z.placeholder={dataURL:j.dataUrl,width:j.width||32,height:j.height||32,strategy:"thumbhash"}}else{let j=await Y.generatePlaceholder(J,{strategy:B,width:20});z.placeholder={dataURL:j.dataURL,width:j.width,height:j.height,strategy:B}}}catch(j){console.warn(`[stx-media] Failed to generate placeholder: ${j}`)}return z.sizes=$.sizes||mz(G),z}catch(G){return console.error(`[stx-media] Responsive generation failed: ${G}`),null}}function mz(X){let $=[...X].sort((Y,J)=>Y-J),Z=[];for(let Y=0;Y<$.length-1;Y++){let J=$[Y];Z.push(`(max-width: ${J}px) ${J}px`)}return Z.push(`${$[$.length-1]}px`),Z.join(", ")}function IY(X,$="width"){if(!X||X.length===0)return"";if($==="dpr")return X.filter((Z)=>Z.dpr).map((Z)=>`${Z.url} ${Z.dpr}x`).join(", ");return X.map((Z)=>`${Z.url} ${Z.width}w`).join(", ")}var dz;var EY=E(()=>{a1();dz=[320,480,640,768,1024,1280,1536,1920]});var DY={};n(DY,{setCachedImageResult:()=>G8,processImage:()=>TY,optimizeImage:()=>NY,getCachedImageResult:()=>J8,generateSrcset:()=>IY,generateResponsiveVariants:()=>kY,clearImageCache:()=>AY,applyTransformations:()=>r9,ImageProcessorCache:()=>Y8});var yY=E(()=>{MY();EY();i9()});async function lz(){try{return await Promise.resolve().then(() => (yY(),DY))}catch(X){if(!bY)console.warn("[stx-media] Image processor not available, some features disabled:",X),bY=!0;return null}}async function Q8(X,$={}){let Z=$,Y=X;if(Y.process&&!Y.skipOptimization){if(Z.tsImagesConfig?.enabled&&!Z.isDev)return nz(Y,Z)}if(Z.processedResult?.processed)return t9(X,Z.processedResult,$);if(Z.responsiveVariants)return vY(X,Z.responsiveVariants,$);let{src:J,alt:G,width:Q,height:q,sizes:K,widths:U=D5,dpr:W,formats:w=b7,quality:z=o9,params:B={},placeholder:j="none",placeholderOptions:_={},lazy:H=!0,priority:L=!1,loading:O=L?"eager":K8,decoding:F=q8,fetchpriority:V,objectFit:A,objectPosition:R,crossorigin:T,referrerpolicy:N}=X,k=X.class,M=X.style,y=X.id,I=X.data||{},{isDev:C=!1,baseUrl:S=""}=$;if(C&&!$.optimize)return iz(X);let b,P,x=y||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!L)try{b=await jY(J,{strategy:j,..._}),P=zY(x,b,_)}catch{}let d=W!==void 0&&Q!==void 0,m;if(d)m=pz(X,x,b,$);else m=await cz(X,x,b,$);let Y0;if(L){let i0=w.includes("webp")?"webp":w[0],l=x9(J,U,{...B,q:z},i0),j0=typeof K==="object"?f9(K):K||"100vw";Y0=`<link rel="preload" as="image" imagesrcset="${l}" imagesizes="${j0}" />`}let d0=[];if(!SY&&j!=="none")d0.push(d9),SY=!0;if(P)d0.push(P);let F0=H?PY(x):void 0;return{html:m,preloadLink:Y0,css:d0.length>0?d0.join(`
11734
+ `):void 0,script:F0}}async function cz(X,$,Z,Y){let{src:J,alt:G,width:Q,height:q,sizes:K,widths:U=D5,formats:W=b7,quality:w=o9,params:z={},lazy:B=!0,priority:j=!1,loading:_=j?"eager":K8,decoding:H=q8,fetchpriority:L,objectFit:O,objectPosition:F,crossorigin:V,referrerpolicy:A}=X,R=X.class,T=X.style,N=X.data||{},k=typeof K==="object"?f9(K):K||"100vw",M=[];for(let C of W){let S=x9(J,U,{...z,q:w},C),b=g9(C);if(B&&!j)M.push(` <source type="${b}" data-srcset="${S}" data-sizes="${k}" />`);else M.push(` <source type="${b}" srcset="${S}" sizes="${k}" />`)}let y=s9({src:S7(J,{...z,q:w}),alt:G,width:Q,height:q,loading:j?void 0:_,decoding:H,fetchpriority:j?"high":L,objectFit:O,objectPosition:F,crossorigin:V,referrerpolicy:A,className:CY(R,Z),style:a9(T,O,F,Z),lazy:B&&!j,data:N}),I;if(Z){let C=`background-image: url('${Z.dataURL}'); background-size: cover; background-position: center;`;I=`<div id="${$}" class="stx-img-placeholder" style="${C}">
11736
11735
  <picture>
11737
11736
  ${M.join(`
11738
11737
  `)}
@@ -11742,9 +11741,9 @@ ${M.join(`
11742
11741
  ${M.join(`
11743
11742
  `)}
11744
11743
  <img ${y} />
11745
- </picture>`;return I}function pz(X,$,Z,Y){let{src:J,alt:G,width:Q,height:q,dpr:K=[1,2,3],quality:U=o9,params:W={},lazy:w=!0,priority:z=!1,loading:B=z?"eager":K8,decoding:j=q8,fetchpriority:_,objectFit:H,objectPosition:L,crossorigin:O,referrerpolicy:F}=X,V=X.class,A=X.style,R=X.data||{},N=typeof Q==="number"?Q:Number.parseInt(String(Q),10),T=wY(J,N,K,{...W,q:U}),k=s9({src:S7(J,{...W,w:N,q:U}),alt:G,width:Q,height:q,loading:z?void 0:B,decoding:j,fetchpriority:z?"high":_,objectFit:H,objectPosition:L,crossorigin:O,referrerpolicy:F,className:CY(V,Z),style:a9(A,H,L,Z),lazy:w&&!z,data:R}),M=w&&!z?`data-srcset="${T}"`:`srcset="${T}"`;if(Z){let y=`background-image: url('${Z.dataURL}'); background-size: cover; background-position: center;`;return`<div id="${$}" class="stx-img-placeholder" style="${y}">
11744
+ </picture>`;return I}function pz(X,$,Z,Y){let{src:J,alt:G,width:Q,height:q,dpr:K=[1,2,3],quality:U=o9,params:W={},lazy:w=!0,priority:z=!1,loading:B=z?"eager":K8,decoding:j=q8,fetchpriority:_,objectFit:H,objectPosition:L,crossorigin:O,referrerpolicy:F}=X,V=X.class,A=X.style,R=X.data||{},T=typeof Q==="number"?Q:Number.parseInt(String(Q),10),N=wY(J,T,K,{...W,q:U}),k=s9({src:S7(J,{...W,w:T,q:U}),alt:G,width:Q,height:q,loading:z?void 0:B,decoding:j,fetchpriority:z?"high":_,objectFit:H,objectPosition:L,crossorigin:O,referrerpolicy:F,className:CY(V,Z),style:a9(A,H,L,Z),lazy:w&&!z,data:R}),M=w&&!z?`data-srcset="${N}"`:`srcset="${N}"`;if(Z){let y=`background-image: url('${Z.dataURL}'); background-size: cover; background-position: center;`;return`<div id="${$}" class="stx-img-placeholder" style="${y}">
11746
11745
  <img ${k} ${M} />
11747
- </div>`}return`<img ${$?`id="${$}" `:""}${k} ${M} />`}function iz(X){let{src:$,alt:Z,width:Y,height:J,loading:G=K8,decoding:Q=q8,fetchpriority:q,objectFit:K,objectPosition:U,crossorigin:W,referrerpolicy:w,priority:z=!1}=X,B=X.class,j=X.style,_=X.id,H=X.data||{};return{html:`<img ${s9({src:$,alt:Z,width:Y,height:J,loading:z?"eager":G,decoding:Q,fetchpriority:z?"high":q,objectFit:K,objectPosition:U,crossorigin:W,referrerpolicy:w,className:B,style:a9(j,K,U),id:_,data:H})} />`}}function s9(X){let $=[];if(X.lazy)$.push(`data-src="${o0(X.src)}"`),$.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"');else $.push(`src="${o0(X.src)}"`);if($.push(`alt="${o0(X.alt)}"`),X.width)$.push(`width="${X.width}"`);if(X.height)$.push(`height="${X.height}"`);if(X.loading)$.push(`loading="${X.loading}"`);if(X.decoding)$.push(`decoding="${X.decoding}"`);if(X.fetchpriority)$.push(`fetchpriority="${X.fetchpriority}"`);if(X.crossorigin)$.push(`crossorigin="${X.crossorigin}"`);if(X.referrerpolicy)$.push(`referrerpolicy="${X.referrerpolicy}"`);if(X.className)$.push(`class="${o0(X.className)}"`);if(X.style)$.push(`style="${o0(X.style)}"`);if(X.id)$.push(`id="${o0(X.id)}"`);if(X.data)for(let[Z,Y]of Object.entries(X.data))$.push(`data-${Z}="${o0(Y)}"`);if(X.lazy)$.push("data-stx-lazy");return $.join(" ")}function CY(X,$){let Z=[];if(X)Z.push(X);if($)Z.push("stx-img-blur");return Z.join(" ")||""}function a9(X,$,Z,Y){let J=[];if($)J.push(`object-fit: ${$}`);if(Z)J.push(`object-position: ${Z}`);if(Y)J.push("opacity: 0; transition: opacity 300ms ease-out");if(X)J.push(X);return J.join("; ")}function o0(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function PY(X){return`
11746
+ </div>`}return`<img ${$?`id="${$}" `:""}${k} ${M} />`}function iz(X){let{src:$,alt:Z,width:Y,height:J,loading:G=K8,decoding:Q=q8,fetchpriority:q,objectFit:K,objectPosition:U,crossorigin:W,referrerpolicy:w,priority:z=!1}=X,B=X.class,j=X.style,_=X.id,H=X.data||{};return{html:`<img ${s9({src:$,alt:Z,width:Y,height:J,loading:z?"eager":G,decoding:Q,fetchpriority:z?"high":q,objectFit:K,objectPosition:U,crossorigin:W,referrerpolicy:w,className:B,style:a9(j,K,U),id:_,data:H})} />`}}function s9(X){let $=[];if(X.lazy)$.push(`data-src="${s0(X.src)}"`),$.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"');else $.push(`src="${s0(X.src)}"`);if($.push(`alt="${s0(X.alt)}"`),X.width)$.push(`width="${X.width}"`);if(X.height)$.push(`height="${X.height}"`);if(X.loading)$.push(`loading="${X.loading}"`);if(X.decoding)$.push(`decoding="${X.decoding}"`);if(X.fetchpriority)$.push(`fetchpriority="${X.fetchpriority}"`);if(X.crossorigin)$.push(`crossorigin="${X.crossorigin}"`);if(X.referrerpolicy)$.push(`referrerpolicy="${X.referrerpolicy}"`);if(X.className)$.push(`class="${s0(X.className)}"`);if(X.style)$.push(`style="${s0(X.style)}"`);if(X.id)$.push(`id="${s0(X.id)}"`);if(X.data)for(let[Z,Y]of Object.entries(X.data))$.push(`data-${Z}="${s0(Y)}"`);if(X.lazy)$.push("data-stx-lazy");return $.join(" ")}function CY(X,$){let Z=[];if(X)Z.push(X);if($)Z.push("stx-img-blur");return Z.join(" ")||""}function a9(X,$,Z,Y){let J=[];if($)J.push(`object-fit: ${$}`);if(Z)J.push(`object-position: ${Z}`);if(Y)J.push("opacity: 0; transition: opacity 300ms ease-out");if(X)J.push(X);return J.join("; ")}function s0(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function PY(X){return`
11748
11747
  (function() {
11749
11748
  const container = document.getElementById('${X}');
11750
11749
  if (!container) return;
@@ -11781,22 +11780,22 @@ ${M.join(`
11781
11780
 
11782
11781
  observer.observe(container);
11783
11782
  })();
11784
- `.trim()}async function nz(X,$){let Z=await lz();if(!Z)return Q8({...X,process:!1},$);let Y=$.tsImagesConfig;if(X.responsiveWidths&&X.responsiveWidths.length>0||X.widths&&X.widths.length>0||!X.width&&!X.dpr){let G=await Z.generateResponsiveVariants(X.src,X,Y);if(G)return vY(X,G,$)}else{let G=await Z.processImage(X.src,X,Y);if(G.processed)return t9(X,G,$)}return Q8({...X,process:!1},$)}async function t9(X,$,Z){let{alt:Y,width:J,height:G,lazy:Q=!0,priority:q=!1,objectFit:K,objectPosition:U,crossorigin:W,referrerpolicy:w}=X,z=X.class,B=X.style,j=X.id||`stx-img-${Math.random().toString(36).slice(2,8)}`,_=X.data||{},H=$.variants||[],L=H.find((P)=>P.format==="jpeg")||H.find((P)=>P.format==="webp")||H[0],O=L?.url||X.src,F=H.filter((P)=>P.format===(L?.format||"jpeg")).map((P)=>`${P.url} ${P.width}w`).join(", "),V=new Map;for(let P of H){if(!V.has(P.format))V.set(P.format,[]);V.get(P.format).push(P)}let A=[],R=["avif","webp","jpeg","png"];for(let P of R){let x=V.get(P);if(x&&x.length>0){let d=x.map((Y0)=>`${Y0.url} ${Y0.width}w`).join(", "),m=g9(P);if(Q&&!q)A.push(` <source type="${m}" data-srcset="${d}" />`);else A.push(` <source type="${m}" srcset="${d}" />`)}}let N=[];if(Q&&!q){if(N.push(`data-src="${o0(O)}"`),N.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),F)N.push(`data-srcset="${F}"`)}else if(N.push(`src="${o0(O)}"`),F)N.push(`srcset="${F}"`);N.push(`alt="${o0(Y)}"`);let T=J||$.originalWidth,k=G||$.originalHeight;if(T)N.push(`width="${T}"`);if(k)N.push(`height="${k}"`);if(!q)N.push(`loading="${Q?"lazy":"eager"}"`);if(N.push('decoding="async"'),q)N.push('fetchpriority="high"');if(W)N.push(`crossorigin="${W}"`);if(w)N.push(`referrerpolicy="${w}"`);let M=[];if(K)M.push(`object-fit: ${K}`);if(U)M.push(`object-position: ${U}`);if($.placeholder&&Q)M.push("opacity: 0; transition: opacity 300ms ease-out");if(B)M.push(B);if(M.length>0)N.push(`style="${M.join("; ")}"`);let y=[];if(z)y.push(z);if($.placeholder)y.push("stx-img-blur");if(y.length>0)N.push(`class="${y.join(" ")}"`);if(Q&&!q)N.push("data-stx-lazy");for(let[P,x]of Object.entries(_))N.push(`data-${P}="${o0(x)}"`);let I;if($.placeholder||$.dominantColor&&X.useDominantColor){let P=$.placeholder?`background-image: url('${$.placeholder}'); background-size: cover; background-position: center;`:`background-color: ${$.dominantColor};`;I=`<div id="${j}" class="stx-img-placeholder" style="${P}">
11783
+ `.trim()}async function nz(X,$){let Z=await lz();if(!Z)return Q8({...X,process:!1},$);let Y=$.tsImagesConfig;if(X.responsiveWidths&&X.responsiveWidths.length>0||X.widths&&X.widths.length>0||!X.width&&!X.dpr){let G=await Z.generateResponsiveVariants(X.src,X,Y);if(G)return vY(X,G,$)}else{let G=await Z.processImage(X.src,X,Y);if(G.processed)return t9(X,G,$)}return Q8({...X,process:!1},$)}async function t9(X,$,Z){let{alt:Y,width:J,height:G,lazy:Q=!0,priority:q=!1,objectFit:K,objectPosition:U,crossorigin:W,referrerpolicy:w}=X,z=X.class,B=X.style,j=X.id||`stx-img-${Math.random().toString(36).slice(2,8)}`,_=X.data||{},H=$.variants||[],L=H.find((P)=>P.format==="jpeg")||H.find((P)=>P.format==="webp")||H[0],O=L?.url||X.src,F=H.filter((P)=>P.format===(L?.format||"jpeg")).map((P)=>`${P.url} ${P.width}w`).join(", "),V=new Map;for(let P of H){if(!V.has(P.format))V.set(P.format,[]);V.get(P.format).push(P)}let A=[],R=["avif","webp","jpeg","png"];for(let P of R){let x=V.get(P);if(x&&x.length>0){let d=x.map((Y0)=>`${Y0.url} ${Y0.width}w`).join(", "),m=g9(P);if(Q&&!q)A.push(` <source type="${m}" data-srcset="${d}" />`);else A.push(` <source type="${m}" srcset="${d}" />`)}}let T=[];if(Q&&!q){if(T.push(`data-src="${s0(O)}"`),T.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),F)T.push(`data-srcset="${F}"`)}else if(T.push(`src="${s0(O)}"`),F)T.push(`srcset="${F}"`);T.push(`alt="${s0(Y)}"`);let N=J||$.originalWidth,k=G||$.originalHeight;if(N)T.push(`width="${N}"`);if(k)T.push(`height="${k}"`);if(!q)T.push(`loading="${Q?"lazy":"eager"}"`);if(T.push('decoding="async"'),q)T.push('fetchpriority="high"');if(W)T.push(`crossorigin="${W}"`);if(w)T.push(`referrerpolicy="${w}"`);let M=[];if(K)M.push(`object-fit: ${K}`);if(U)M.push(`object-position: ${U}`);if($.placeholder&&Q)M.push("opacity: 0; transition: opacity 300ms ease-out");if(B)M.push(B);if(M.length>0)T.push(`style="${M.join("; ")}"`);let y=[];if(z)y.push(z);if($.placeholder)y.push("stx-img-blur");if(y.length>0)T.push(`class="${y.join(" ")}"`);if(Q&&!q)T.push("data-stx-lazy");for(let[P,x]of Object.entries(_))T.push(`data-${P}="${s0(x)}"`);let I;if($.placeholder||$.dominantColor&&X.useDominantColor){let P=$.placeholder?`background-image: url('${$.placeholder}'); background-size: cover; background-position: center;`:`background-color: ${$.dominantColor};`;I=`<div id="${j}" class="stx-img-placeholder" style="${P}">
11785
11784
  <picture>
11786
11785
  ${A.join(`
11787
11786
  `)}
11788
- <img ${N.join(" ")} />
11787
+ <img ${T.join(" ")} />
11789
11788
  </picture>
11790
11789
  </div>`}else I=`<picture${j?` id="${j}"`:""}>
11791
11790
  ${A.join(`
11792
11791
  `)}
11793
- <img ${N.join(" ")} />
11792
+ <img ${T.join(" ")} />
11794
11793
  </picture>`;let C=[];if($.placeholder)C.push(d9);let S=Q?PY(j):void 0,b;if(q&&F)b=`<link rel="preload" as="image" imagesrcset="${F}" />`;return{html:I,preloadLink:b,css:C.length>0?C.join(`
11795
11794
  `):void 0,script:S}}async function vY(X,$,Z){let Y={src:$.src,processed:!0,variants:[],placeholder:$.placeholder?.dataURL,originalWidth:$.placeholder?.width,originalHeight:$.placeholder?.height};for(let[J,G]of Object.entries($.byFormat))if(G)Y.variants.push(...G);return t9(X,Y,Z)}var bY=!1,o9=80,q8="async",K8="lazy",SY=!1;var xY=E(()=>{h9();BY()});function rz(){return aX({name:"img",hasEndTag:!1,description:"Render an optimized responsive image with srcset and lazy loading",transform:async(X,$,Z,Y)=>{let{src:J,alt:G,options:Q}=oz(X,$,Z);if(!J)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let q={src:J,alt:G||"",widths:Q.widths||D5,formats:Q.formats||b7,quality:Q.quality,sizes:Q.sizes,dpr:Q.dpr,params:Q.params,placeholder:Q.placeholder,placeholderOptions:Q.placeholderOptions,lazy:Q.lazy!==!1,priority:Q.priority||!1,loading:Q.loading,decoding:Q.decoding,fetchpriority:Q.fetchpriority,objectFit:Q.objectFit,objectPosition:Q.objectPosition,class:Q.class,style:Q.style,id:Q.id,width:Q.width,height:Q.height},K=Z.__isDev||!1,U=await Q8(q,{isDev:K}),W=U.html;if(U.preloadLink)W=U.preloadLink+`
11796
11795
  `+W;if(U.css)W+=`
11797
11796
  <style>${U.css}</style>`;if(U.script)W+=`
11798
- <script>${U.script}</script>`;return W},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function oz(X,$,Z){if($.src)return{src:String($.src),alt:String($.alt||""),options:$.options||{}};let Y=X.trim();if(Y.startsWith("@img(")||Y.startsWith("("))Y=Y.replace(/^@img\(/,"").replace(/^\(/,"").replace(/\)$/,"");let J=sz(Y),G=e9(J[0],Z)||"",Q=e9(J[1],Z)||"",q={};if(J[2]){let K=e9(J[2],Z);if(typeof K==="object"&&K!==null)q=K;else if(typeof J[2]==="string")try{q=JSON.parse(J[2])}catch{}}return{src:G,alt:Q,options:q}}function sz(X){let $=[],Z="",Y=!1,J="",G=0,Q=0;for(let q=0;q<X.length;q++){let K=X[q],U=q>0?X[q-1]:"";if((K==='"'||K==="'"||K==="`")&&U!=="\\"){if(!Y)Y=!0,J=K;else if(K===J)Y=!1,J="";else Z+=K;continue}if(!Y){if(K==="{")G++;if(K==="}")G--;if(K==="[")Q++;if(K==="]")Q--;if(K===","&&G===0&&Q===0){$.push(Z.trim()),Z="";continue}}Z+=K}if(Z.trim())$.push(Z.trim());return $}function e9(X,$){if(typeof X!=="string")return X;let Z=X.trim();if(Z.startsWith('"')&&Z.endsWith('"')||Z.startsWith("'")&&Z.endsWith("'"))return Z.slice(1,-1);if(!Z.startsWith("/")&&!Z.startsWith(".")&&!Z.startsWith("http")&&!Z.startsWith("{")){let Y=$[Z];if(Y!==void 0)return Y}if(Z.startsWith("{")||Z.startsWith("["))try{return JSON.parse(Z)}catch{}return Z}var fY;var gY=E(()=>{v9();xY();h9();fY=rz()});class W8{config;constructor(X={}){this.config={...az,...X}}async get(X,$){return eX(X,$,"video",this.config)}async set(X,$,Z){return X8(X,$,Z,"video",this.config)}async clear(){return $8("video",this.config)}updateConfig(X){this.config={...this.config,...X}}}function X3(X){if(!U8)U8=new W8(X);else if(X)U8.updateConfig(X);return U8}async function w8(X,$,Z){let Y=Z?{directory:`${Z.outputDir}/../.cache`}:{};return X3(Y).get(X,$)}async function z8(X,$,Z,Y){let J=Y?{directory:`${Y.outputDir}/../.cache`}:{};return X3(J).set(X,$,Z)}async function hY(){return X3().clear()}var az,U8=null;var $3=E(()=>{c9();az={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as Z3,basename as Y3,extname as J3,join as j8}from"path";import{mkdir as G3}from"fs/promises";async function Q3(){try{return await import("ts-videos")}catch{return null}}async function B8(X,$,Z,Y){let J=await Q3();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let G=Z3(X);if(!await M0(G))return null;await G3(Z,{recursive:!0});let Q=await D0(G),q=Y3(X,J3(X)),K=$.format||"webp",U=$.timestamp||0,W=`${q}-poster-${Q}.${K}`,w=j8(Z,W),z=await J.extractThumbnails(G,{timestamps:[U],width:$.width||1280,height:$.height,format:K,quality:$.quality||85,outputDir:Z,outputPattern:W.replace(`.${K}`,"")});if(z&&z.length>0){let B=z[0];return{path:w,url:`${Y}/${W}`,width:B.width||$.width||1280,height:B.height||720,timestamp:U,size:B.size||0}}return null}catch(G){return console.warn(`[stx-media] Failed to generate poster: ${G}`),null}}async function _8(X,$,Z,Y){let J=await Q3();if(!J)return[];try{let G=Z3(X);if(!await M0(G))return[];await G3(Z,{recursive:!0});let Q=await D0(G),q=Y3(X,J3(X)),K=$.format||"webp",w=(await new J.Input(G).getInfo()).duration||60,z=$.count||10,B=$.interval||w/z,j=[];for(let H=0;H<z&&H*B<w;H++)j.push(H*B);let _=await J.extractThumbnails(G,{timestamps:j,width:$.width||320,format:K,quality:$.quality||80,outputDir:Z,outputPattern:`${q}-thumb-${Q}`});if(_&&_.length>0)return _.map((H,L)=>({path:H.path||j8(Z,`${q}-thumb-${Q}-${L}.${K}`),url:`${Y}/${q}-thumb-${Q}-${L}.${K}`,width:H.width||$.width||320,height:H.height||180,timestamp:j[L],size:H.size||0}));return[]}catch(G){return console.warn(`[stx-media] Failed to generate thumbnails: ${G}`),[]}}async function uY(X,$,Z,Y){let J=await Q3();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let G=Z3(X);if(!await M0(G))return null;await G3(Z,{recursive:!0});let Q=await D0(G),q=Y3(X,J3(X)),W=(await new J.Input(G).getInfo()).duration||60,w=$.columns||10,z=$.interval||5,B=$.thumbnailWidth||160,j=$.thumbnailHeight||90,_=$.format||"jpeg",H=Math.ceil(W/z),L=Math.ceil(H/w),O=`${q}-sprite-${Q}.${_}`,F=j8(Z,O),V=[];for(let R=0;R<H;R++)V.push(R*z);let A=await J.extractThumbnails(G,{timestamps:V,width:B,height:j,format:_,quality:$.quality||70,outputDir:j8(Z,".temp")});if(!A||A.length===0)return null;try{let R=await import("ts-images"),N=w*B,T=L*j,k=await R.createSprite({images:A.map((M)=>M.path),columns:w,padding:0,outputPath:F,format:_,quality:$.quality||70});return{url:`${Y}/${O}`,path:F,columns:w,rows:L,thumbnailWidth:B,thumbnailHeight:j,interval:z,totalFrames:H}}catch{return console.warn("[stx-media] ts-images not installed, sprite sheet generation skipped"),null}}catch(G){return console.warn(`[stx-media] Failed to generate sprite sheet: ${G}`),null}}var q3=E(()=>{a1()});import{resolve as mY,basename as lY,extname as cY,join as t1}from"path";import{mkdir as H8,writeFile as pY}from"fs/promises";async function iY(){try{return await import("ts-videos")}catch{return null}}async function O8(X,$,Z,Y,J){let G=await iY();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let Q=mY(X);if(!await M0(Q))return null;let q=await D0(Q),K=lY(X,cY(X)),U=t1(Z,`${K}-${q}-hls`);await H8(U,{recursive:!0});let W=$.length>0?$:nY,w=J?.segmentDuration||6,j=(await new G.Input(Q).getInfo()).duration||0,_=[],H=0;for(let F of W){let V=t1(U,F.label);await H8(V,{recursive:!0});let A=`${F.label}.m3u8`,R=t1(V,A);try{let N=await G.generateHLS(Q,{outputDir:V,segmentDuration:w,width:F.width,height:F.height,videoBitrate:F.bitrate,audioBitrate:F.audioBitrate,playlistName:F.label});if(N)_.push({quality:F,url:`${Y}/${K}-${q}-hls/${F.label}/${A}`,path:R}),H+=N.segmentCount||Math.ceil(j/w)}catch(N){console.warn(`[stx-media] Failed to generate HLS for ${F.label}: ${N}`)}}if(_.length===0)return null;let L=t1(U,"master.m3u8"),O=tz(_,Y,K,q);return await pY(L,O),{manifestUrl:`${Y}/${K}-${q}-hls/master.m3u8`,manifestPath:L,playlists:_,segmentCount:H,duration:j}}catch(Q){return console.warn(`[stx-media] Failed to generate HLS manifest: ${Q}`),null}}function tz(X,$,Z,Y){let J=["#EXTM3U","#EXT-X-VERSION:3"];for(let G of X){let{quality:Q}=G,q=Q.bitrate+(Q.audioBitrate||128000),K=`${Q.width}x${Q.height||Math.round(Q.width*9/16)}`;J.push(`#EXT-X-STREAM-INF:BANDWIDTH=${q},RESOLUTION=${K},NAME="${Q.label}"`,`${Q.label}/${Q.label}.m3u8`)}return J.join(`
11799
- `)}async function L8(X,$,Z,Y,J){let G=await iY();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let Q=mY(X);if(!await M0(Q))return null;let q=await D0(Q),K=lY(X,cY(X)),U=t1(Z,`${K}-${q}-dash`);await H8(U,{recursive:!0});let W=$.length>0?$:nY,w=J?.segmentDuration||4,z=J?.minBufferTime||2,_=(await new G.Input(Q).getInfo()).duration||0,H=[],L=[];for(let A of W){let R=t1(U,A.label);await H8(R,{recursive:!0});try{if(await G.generateDASH(Q,{outputDir:R,segmentDuration:w,width:A.width,height:A.height,videoBitrate:A.bitrate,audioBitrate:A.audioBitrate})){if(H.push({bandwidth:A.bitrate,width:A.width,height:A.height||Math.round(A.width*9/16),url:`${Y}/${K}-${q}-dash/${A.label}/video`}),A.audioBitrate)L.push({bandwidth:A.audioBitrate,url:`${Y}/${K}-${q}-dash/${A.label}/audio`})}}catch(N){console.warn(`[stx-media] Failed to generate DASH for ${A.label}: ${N}`)}}if(H.length===0)return null;let O=t1(U,"manifest.mpd"),F=ez(H,L,_,w,z);await pY(O,F);let V=[{type:"video",representations:H}];if(L.length>0)V.push({type:"audio",representations:L});return{manifestUrl:`${Y}/${K}-${q}-dash/manifest.mpd`,manifestPath:O,adaptationSets:V,duration:_}}catch(Q){return console.warn(`[stx-media] Failed to generate DASH manifest: ${Q}`),null}}function ez(X,$,Z,Y,J){let G=dY(Z),Q=dY(J),q=`<?xml version="1.0" encoding="UTF-8"?>
11797
+ <script>${U.script}</script>`;return W},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function oz(X,$,Z){if($.src)return{src:String($.src),alt:String($.alt||""),options:$.options||{}};let Y=X.trim();if(Y.startsWith("@img(")||Y.startsWith("("))Y=Y.replace(/^@img\(/,"").replace(/^\(/,"").replace(/\)$/,"");let J=sz(Y),G=e9(J[0],Z)||"",Q=e9(J[1],Z)||"",q={};if(J[2]){let K=e9(J[2],Z);if(typeof K==="object"&&K!==null)q=K;else if(typeof J[2]==="string")try{q=JSON.parse(J[2])}catch{}}return{src:G,alt:Q,options:q}}function sz(X){let $=[],Z="",Y=!1,J="",G=0,Q=0;for(let q=0;q<X.length;q++){let K=X[q],U=q>0?X[q-1]:"";if((K==='"'||K==="'"||K==="`")&&U!=="\\"){if(!Y)Y=!0,J=K;else if(K===J)Y=!1,J="";else Z+=K;continue}if(!Y){if(K==="{")G++;if(K==="}")G--;if(K==="[")Q++;if(K==="]")Q--;if(K===","&&G===0&&Q===0){$.push(Z.trim()),Z="";continue}}Z+=K}if(Z.trim())$.push(Z.trim());return $}function e9(X,$){if(typeof X!=="string")return X;let Z=X.trim();if(Z.startsWith('"')&&Z.endsWith('"')||Z.startsWith("'")&&Z.endsWith("'"))return Z.slice(1,-1);if(!Z.startsWith("/")&&!Z.startsWith(".")&&!Z.startsWith("http")&&!Z.startsWith("{")){let Y=$[Z];if(Y!==void 0)return Y}if(Z.startsWith("{")||Z.startsWith("["))try{return JSON.parse(Z)}catch{}return Z}var fY;var gY=E(()=>{v9();xY();h9();fY=rz()});class W8{config;constructor(X={}){this.config={...az,...X}}async get(X,$){return eX(X,$,"video",this.config)}async set(X,$,Z){return X8(X,$,Z,"video",this.config)}async clear(){return $8("video",this.config)}updateConfig(X){this.config={...this.config,...X}}}function X3(X){if(!U8)U8=new W8(X);else if(X)U8.updateConfig(X);return U8}async function w8(X,$,Z){let Y=Z?{directory:`${Z.outputDir}/../.cache`}:{};return X3(Y).get(X,$)}async function z8(X,$,Z,Y){let J=Y?{directory:`${Y.outputDir}/../.cache`}:{};return X3(J).set(X,$,Z)}async function hY(){return X3().clear()}var az,U8=null;var $3=E(()=>{c9();az={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as Z3,basename as Y3,extname as J3,join as j8}from"path";import{mkdir as G3}from"fs/promises";async function Q3(){try{return await import("ts-videos")}catch{return null}}async function B8(X,$,Z,Y){let J=await Q3();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let G=Z3(X);if(!await M0(G))return null;await G3(Z,{recursive:!0});let Q=await D0(G),q=Y3(X,J3(X)),K=$.format||"webp",U=$.timestamp||0,W=`${q}-poster-${Q}.${K}`,w=j8(Z,W),z=await J.extractThumbnails(G,{timestamps:[U],width:$.width||1280,height:$.height,format:K,quality:$.quality||85,outputDir:Z,outputPattern:W.replace(`.${K}`,"")});if(z&&z.length>0){let B=z[0];return{path:w,url:`${Y}/${W}`,width:B.width||$.width||1280,height:B.height||720,timestamp:U,size:B.size||0}}return null}catch(G){return console.warn(`[stx-media] Failed to generate poster: ${G}`),null}}async function _8(X,$,Z,Y){let J=await Q3();if(!J)return[];try{let G=Z3(X);if(!await M0(G))return[];await G3(Z,{recursive:!0});let Q=await D0(G),q=Y3(X,J3(X)),K=$.format||"webp",w=(await new J.Input(G).getInfo()).duration||60,z=$.count||10,B=$.interval||w/z,j=[];for(let H=0;H<z&&H*B<w;H++)j.push(H*B);let _=await J.extractThumbnails(G,{timestamps:j,width:$.width||320,format:K,quality:$.quality||80,outputDir:Z,outputPattern:`${q}-thumb-${Q}`});if(_&&_.length>0)return _.map((H,L)=>({path:H.path||j8(Z,`${q}-thumb-${Q}-${L}.${K}`),url:`${Y}/${q}-thumb-${Q}-${L}.${K}`,width:H.width||$.width||320,height:H.height||180,timestamp:j[L],size:H.size||0}));return[]}catch(G){return console.warn(`[stx-media] Failed to generate thumbnails: ${G}`),[]}}async function uY(X,$,Z,Y){let J=await Q3();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let G=Z3(X);if(!await M0(G))return null;await G3(Z,{recursive:!0});let Q=await D0(G),q=Y3(X,J3(X)),W=(await new J.Input(G).getInfo()).duration||60,w=$.columns||10,z=$.interval||5,B=$.thumbnailWidth||160,j=$.thumbnailHeight||90,_=$.format||"jpeg",H=Math.ceil(W/z),L=Math.ceil(H/w),O=`${q}-sprite-${Q}.${_}`,F=j8(Z,O),V=[];for(let R=0;R<H;R++)V.push(R*z);let A=await J.extractThumbnails(G,{timestamps:V,width:B,height:j,format:_,quality:$.quality||70,outputDir:j8(Z,".temp")});if(!A||A.length===0)return null;try{let R=await import("ts-images"),T=w*B,N=L*j,k=await R.createSprite({images:A.map((M)=>M.path),columns:w,padding:0,outputPath:F,format:_,quality:$.quality||70});return{url:`${Y}/${O}`,path:F,columns:w,rows:L,thumbnailWidth:B,thumbnailHeight:j,interval:z,totalFrames:H}}catch{return console.warn("[stx-media] ts-images not installed, sprite sheet generation skipped"),null}}catch(G){return console.warn(`[stx-media] Failed to generate sprite sheet: ${G}`),null}}var q3=E(()=>{a1()});import{resolve as mY,basename as lY,extname as cY,join as t1}from"path";import{mkdir as H8,writeFile as pY}from"fs/promises";async function iY(){try{return await import("ts-videos")}catch{return null}}async function O8(X,$,Z,Y,J){let G=await iY();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let Q=mY(X);if(!await M0(Q))return null;let q=await D0(Q),K=lY(X,cY(X)),U=t1(Z,`${K}-${q}-hls`);await H8(U,{recursive:!0});let W=$.length>0?$:nY,w=J?.segmentDuration||6,j=(await new G.Input(Q).getInfo()).duration||0,_=[],H=0;for(let F of W){let V=t1(U,F.label);await H8(V,{recursive:!0});let A=`${F.label}.m3u8`,R=t1(V,A);try{let T=await G.generateHLS(Q,{outputDir:V,segmentDuration:w,width:F.width,height:F.height,videoBitrate:F.bitrate,audioBitrate:F.audioBitrate,playlistName:F.label});if(T)_.push({quality:F,url:`${Y}/${K}-${q}-hls/${F.label}/${A}`,path:R}),H+=T.segmentCount||Math.ceil(j/w)}catch(T){console.warn(`[stx-media] Failed to generate HLS for ${F.label}: ${T}`)}}if(_.length===0)return null;let L=t1(U,"master.m3u8"),O=tz(_,Y,K,q);return await pY(L,O),{manifestUrl:`${Y}/${K}-${q}-hls/master.m3u8`,manifestPath:L,playlists:_,segmentCount:H,duration:j}}catch(Q){return console.warn(`[stx-media] Failed to generate HLS manifest: ${Q}`),null}}function tz(X,$,Z,Y){let J=["#EXTM3U","#EXT-X-VERSION:3"];for(let G of X){let{quality:Q}=G,q=Q.bitrate+(Q.audioBitrate||128000),K=`${Q.width}x${Q.height||Math.round(Q.width*9/16)}`;J.push(`#EXT-X-STREAM-INF:BANDWIDTH=${q},RESOLUTION=${K},NAME="${Q.label}"`,`${Q.label}/${Q.label}.m3u8`)}return J.join(`
11798
+ `)}async function L8(X,$,Z,Y,J){let G=await iY();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let Q=mY(X);if(!await M0(Q))return null;let q=await D0(Q),K=lY(X,cY(X)),U=t1(Z,`${K}-${q}-dash`);await H8(U,{recursive:!0});let W=$.length>0?$:nY,w=J?.segmentDuration||4,z=J?.minBufferTime||2,_=(await new G.Input(Q).getInfo()).duration||0,H=[],L=[];for(let A of W){let R=t1(U,A.label);await H8(R,{recursive:!0});try{if(await G.generateDASH(Q,{outputDir:R,segmentDuration:w,width:A.width,height:A.height,videoBitrate:A.bitrate,audioBitrate:A.audioBitrate})){if(H.push({bandwidth:A.bitrate,width:A.width,height:A.height||Math.round(A.width*9/16),url:`${Y}/${K}-${q}-dash/${A.label}/video`}),A.audioBitrate)L.push({bandwidth:A.audioBitrate,url:`${Y}/${K}-${q}-dash/${A.label}/audio`})}}catch(T){console.warn(`[stx-media] Failed to generate DASH for ${A.label}: ${T}`)}}if(H.length===0)return null;let O=t1(U,"manifest.mpd"),F=ez(H,L,_,w,z);await pY(O,F);let V=[{type:"video",representations:H}];if(L.length>0)V.push({type:"audio",representations:L});return{manifestUrl:`${Y}/${K}-${q}-dash/manifest.mpd`,manifestPath:O,adaptationSets:V,duration:_}}catch(Q){return console.warn(`[stx-media] Failed to generate DASH manifest: ${Q}`),null}}function ez(X,$,Z,Y,J){let G=dY(Z),Q=dY(J),q=`<?xml version="1.0" encoding="UTF-8"?>
11800
11799
  <MPD xmlns="urn:mpeg:dash:schema:mpd:2011"
11801
11800
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
11802
11801
  xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"
@@ -11822,7 +11821,7 @@ ${A.join(`
11822
11821
  </Representation>
11823
11822
  `}q+=` </AdaptationSet>
11824
11823
  `}return q+=` </Period>
11825
- </MPD>`,q}function dY(X){let $=Math.floor(X/3600),Z=Math.floor(X%3600/60),Y=Math.floor(X%60),J="PT";if($>0)J+=`${$}H`;if(Z>0)J+=`${Z}M`;return J+=`${Y}S`,J}var nY;var K3=E(()=>{a1();nY=[{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},{label:"360p",width:640,height:360,bitrate:600000,audioBitrate:64000}]});import{resolve as rY,basename as Xj,extname as $j,join as Zj}from"path";import{mkdir as Yj}from"fs/promises";async function oY(){try{return await import("ts-videos")}catch{return null}}function Jj(X){switch(X){case"very-low":return 500000;case"low":return 1e6;case"medium":return 2500000;case"high":return 5000000;case"very-high":return 1e7;case"lossless":return 0;default:return 2500000}}function Gj(X){switch(X){case"youtube":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000};case"twitter":return{codec:"h264",maxWidth:1280,maxHeight:720,frameRate:30,bitrate:5000000,audioCodec:"aac",audioBitrate:128000};case"instagram-feed":return{codec:"h264",maxWidth:1080,maxHeight:1080,frameRate:30,bitrate:3500000,audioCodec:"aac",audioBitrate:128000};case"instagram-story":case"instagram-reels":return{codec:"h264",maxWidth:1080,maxHeight:1920,frameRate:30,bitrate:3500000,audioCodec:"aac",audioBitrate:128000};case"tiktok":return{codec:"h264",maxWidth:1080,maxHeight:1920,frameRate:30,bitrate:4000000,audioCodec:"aac",audioBitrate:128000};case"discord":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:60,bitrate:8000000,audioCodec:"aac",audioBitrate:192000};case"linkedin":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,bitrate:5000000,audioCodec:"aac",audioBitrate:128000};case"facebook":return{codec:"h264",maxWidth:1280,maxHeight:720,frameRate:30,bitrate:4000000,audioCodec:"aac",audioBitrate:128000};case"web-progressive":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000,twoPass:!0};case"web-streaming":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000};default:return{}}}async function U3(X){let $=await oY();if(!$)return null;try{let Z=rY(X),J=await new $.Input(Z).getInfo();return{duration:J.duration||0,width:J.width||0,height:J.height||0,frameRate:J.frameRate||0,bitrate:J.bitrate||0,codec:J.videoCodec||"",audioCodec:J.audioCodec}}catch(Z){return console.warn(`[stx-media] Failed to analyze video: ${Z}`),null}}async function sY(X,$,Z,Y){let J=await oY();if(!J)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:X,processed:!1};let G=await w8(X,$,Z);if(G)return G;try{let Q=rY(X);if(!await M0(Q))return{src:X,processed:!1,errors:[`Source file not found: ${X}`]};let q=Z.outputDir||"dist/videos",K=Z.baseUrl||"/videos";await Yj(q,{recursive:!0});let U=await D0(Q),W=Xj(X,$j(X)),w={src:X,processed:!0,hash:U};Y?.({percentage:5,stage:"analyzing"}),w.metadata=await U3(Q)||void 0;let z={};if($.quality)z.bitrate=Jj($.quality);if($.platform)Object.assign(z,Gj($.platform));if($.transcode)Object.assign(z,$.transcode);if(Object.keys(z).length>0||$.process){Y?.({percentage:10,stage:"transcoding"});let B=`${W}-${U}.mp4`,j=Zj(q,B);try{let _=await Qj(Q,j,z,J,(H)=>Y?.({percentage:10+H*0.5,stage:"transcoding"}));if(_)w.transcoded={path:j,url:`${K}/${B}`,duration:_.duration,size:_.size,video:{codec:z.codec||"h264",width:_.width,height:_.height,bitrate:_.bitrate,frameRate:_.frameRate},audio:_.audioCodec?{codec:z.audioCodec||"aac",bitrate:z.audioBitrate||128000,sampleRate:z.sampleRate||48000,channels:z.channels||2}:void 0}}catch(_){w.errors=w.errors||[],w.errors.push(`Transcoding failed: ${_}`)}}if($.generatePoster){Y?.({percentage:65,stage:"generating-poster"});let B=typeof $.generatePoster==="object"?$.generatePoster:{timestamp:0},j=await B8(Q,B,q,K);if(j)w.poster=j}if(Z.thumbnails?.enabled){Y?.({percentage:70,stage:"generating-thumbnails"});let B=await _8(Q,Z.thumbnails,q,K);if(B.length>0)w.thumbnails=B}if($.streaming){Y?.({percentage:80,stage:"generating-manifests"});let B=typeof $.streaming==="object"?$.streaming:Z.streaming||{format:"hls"};if(B.format==="hls"||B.format===void 0){let j=await O8(Q,B.qualities||Z.streaming?.defaultQualities||[],q,K);if(j)w.streaming={...w.streaming,hls:j}}if(B.format==="dash"){let j=await L8(Q,B.qualities||Z.streaming?.defaultQualities||[],q,K);if(j)w.streaming={...w.streaming,dash:j}}}if($.spriteSheet)Y?.({percentage:90,stage:"generating-sprite-sheet"});return Y?.({percentage:100,stage:"complete"}),await z8(X,$,w,Z),w}catch(Q){return{src:X,processed:!1,errors:[`Processing failed: ${Q}`]}}}async function Qj(X,$,Z,Y,J){try{let Q=await new Y.Conversion(X,$,{videoCodec:Z.codec,videoBitrate:Z.bitrate,width:Z.maxWidth,height:Z.maxHeight,frameRate:Z.frameRate,audioCodec:Z.audioCodec,audioBitrate:Z.audioBitrate,sampleRate:Z.sampleRate,channels:Z.channels}).run((q)=>{J?.(q.percentage/100)});return{duration:Q.duration||0,size:Q.size||0,width:Q.width||Z.maxWidth||0,height:Q.height||Z.maxHeight||0,bitrate:Q.bitrate||Z.bitrate||0,frameRate:Q.frameRate||Z.frameRate||30,audioCodec:Q.audioCodec}}catch(G){return console.error(`[stx-media] Transcoding failed: ${G}`),null}}var aY=E(()=>{a1();$3();q3();K3()});var tY={};n(tY,{setCachedVideoResult:()=>z8,processVideo:()=>sY,getCachedVideoResult:()=>w8,generateThumbnails:()=>_8,generateSpriteSheet:()=>uY,generatePoster:()=>B8,generateHLSManifest:()=>O8,generateDASHManifest:()=>L8,clearVideoCache:()=>hY,analyzeVideo:()=>U3,VideoProcessorCache:()=>W8});var eY=E(()=>{aY();q3();K3();$3()});async function $J(){try{return await Promise.resolve().then(() => (eY(),tY))}catch(X){if(!XJ)console.warn("[stx-media] Video processor not available, some features disabled:",X),XJ=!0;return null}}async function F8(X,$={}){let Z=$,Y=X;if(Y.process&&!Y.skipProcessing){if(Z.tsVideosConfig?.enabled&&!Z.isDev)return zj(Y,Z)}if(Z.processedResult?.processed)return GJ(X,Z.processedResult,$);let J;if(Y.generatePoster&&Y.src&&!X.poster)J=await jj(Y,Z);let{src:G,sources:Q=[],poster:q,posterPlaceholder:K,controls:U=ZJ,autoplay:W=!1,muted:w=!1,loop:z=!1,preload:B=YJ,playsinline:j=!0,lazy:_=!0,player:H="native",type:L,width:O,height:F,crossorigin:V,disablePictureInPicture:A=!1,disableRemotePlayback:R=!1}=X,N=J||q,T=X.class,k=X.style,M=X.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(H==="ts-video")return Uj(X,$);if(L&&L!=="video")return Kj(G||"",L,X);let y=Q.length>0?Q:G?[{src:G,type:JJ(G)}]:[],I=[`id="${M}"`];if(U)I.push("controls");if(W)I.push("autoplay");if(w)I.push("muted");if(z)I.push("loop");if(j)I.push("playsinline");if(A)I.push("disablepictureinpicture");if(R)I.push("disableremoteplayback");if(V)I.push(`crossorigin="${V}"`);if(_){if(I.push(`data-preload="${B}"`),I.push('preload="none"'),N)I.push(`data-poster="${L0(N)}"`);I.push("data-stx-lazy")}else if(I.push(`preload="${B}"`),N)I.push(`poster="${L0(N)}"`);if(O)I.push(`width="${O}"`);if(F)I.push(`height="${F}"`);if(T)I.push(`class="${L0(T)}"`);if(k)I.push(`style="${L0(k)}"`);let C=y.map((P)=>{return` <source ${_?`data-src="${L0(P.src)}"`:`src="${L0(P.src)}"`} type="${P.type}"${P.media?` media="${P.media}"`:""} />`}).join(`
11824
+ </MPD>`,q}function dY(X){let $=Math.floor(X/3600),Z=Math.floor(X%3600/60),Y=Math.floor(X%60),J="PT";if($>0)J+=`${$}H`;if(Z>0)J+=`${Z}M`;return J+=`${Y}S`,J}var nY;var K3=E(()=>{a1();nY=[{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},{label:"360p",width:640,height:360,bitrate:600000,audioBitrate:64000}]});import{resolve as rY,basename as Xj,extname as $j,join as Zj}from"path";import{mkdir as Yj}from"fs/promises";async function oY(){try{return await import("ts-videos")}catch{return null}}function Jj(X){switch(X){case"very-low":return 500000;case"low":return 1e6;case"medium":return 2500000;case"high":return 5000000;case"very-high":return 1e7;case"lossless":return 0;default:return 2500000}}function Gj(X){switch(X){case"youtube":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000};case"twitter":return{codec:"h264",maxWidth:1280,maxHeight:720,frameRate:30,bitrate:5000000,audioCodec:"aac",audioBitrate:128000};case"instagram-feed":return{codec:"h264",maxWidth:1080,maxHeight:1080,frameRate:30,bitrate:3500000,audioCodec:"aac",audioBitrate:128000};case"instagram-story":case"instagram-reels":return{codec:"h264",maxWidth:1080,maxHeight:1920,frameRate:30,bitrate:3500000,audioCodec:"aac",audioBitrate:128000};case"tiktok":return{codec:"h264",maxWidth:1080,maxHeight:1920,frameRate:30,bitrate:4000000,audioCodec:"aac",audioBitrate:128000};case"discord":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:60,bitrate:8000000,audioCodec:"aac",audioBitrate:192000};case"linkedin":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,bitrate:5000000,audioCodec:"aac",audioBitrate:128000};case"facebook":return{codec:"h264",maxWidth:1280,maxHeight:720,frameRate:30,bitrate:4000000,audioCodec:"aac",audioBitrate:128000};case"web-progressive":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000,twoPass:!0};case"web-streaming":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000};default:return{}}}async function U3(X){let $=await oY();if(!$)return null;try{let Z=rY(X),J=await new $.Input(Z).getInfo();return{duration:J.duration||0,width:J.width||0,height:J.height||0,frameRate:J.frameRate||0,bitrate:J.bitrate||0,codec:J.videoCodec||"",audioCodec:J.audioCodec}}catch(Z){return console.warn(`[stx-media] Failed to analyze video: ${Z}`),null}}async function sY(X,$,Z,Y){let J=await oY();if(!J)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:X,processed:!1};let G=await w8(X,$,Z);if(G)return G;try{let Q=rY(X);if(!await M0(Q))return{src:X,processed:!1,errors:[`Source file not found: ${X}`]};let q=Z.outputDir||"dist/videos",K=Z.baseUrl||"/videos";await Yj(q,{recursive:!0});let U=await D0(Q),W=Xj(X,$j(X)),w={src:X,processed:!0,hash:U};Y?.({percentage:5,stage:"analyzing"}),w.metadata=await U3(Q)||void 0;let z={};if($.quality)z.bitrate=Jj($.quality);if($.platform)Object.assign(z,Gj($.platform));if($.transcode)Object.assign(z,$.transcode);if(Object.keys(z).length>0||$.process){Y?.({percentage:10,stage:"transcoding"});let B=`${W}-${U}.mp4`,j=Zj(q,B);try{let _=await Qj(Q,j,z,J,(H)=>Y?.({percentage:10+H*0.5,stage:"transcoding"}));if(_)w.transcoded={path:j,url:`${K}/${B}`,duration:_.duration,size:_.size,video:{codec:z.codec||"h264",width:_.width,height:_.height,bitrate:_.bitrate,frameRate:_.frameRate},audio:_.audioCodec?{codec:z.audioCodec||"aac",bitrate:z.audioBitrate||128000,sampleRate:z.sampleRate||48000,channels:z.channels||2}:void 0}}catch(_){w.errors=w.errors||[],w.errors.push(`Transcoding failed: ${_}`)}}if($.generatePoster){Y?.({percentage:65,stage:"generating-poster"});let B=typeof $.generatePoster==="object"?$.generatePoster:{timestamp:0},j=await B8(Q,B,q,K);if(j)w.poster=j}if(Z.thumbnails?.enabled){Y?.({percentage:70,stage:"generating-thumbnails"});let B=await _8(Q,Z.thumbnails,q,K);if(B.length>0)w.thumbnails=B}if($.streaming){Y?.({percentage:80,stage:"generating-manifests"});let B=typeof $.streaming==="object"?$.streaming:Z.streaming||{format:"hls"};if(B.format==="hls"||B.format===void 0){let j=await O8(Q,B.qualities||Z.streaming?.defaultQualities||[],q,K);if(j)w.streaming={...w.streaming,hls:j}}if(B.format==="dash"){let j=await L8(Q,B.qualities||Z.streaming?.defaultQualities||[],q,K);if(j)w.streaming={...w.streaming,dash:j}}}if($.spriteSheet)Y?.({percentage:90,stage:"generating-sprite-sheet"});return Y?.({percentage:100,stage:"complete"}),await z8(X,$,w,Z),w}catch(Q){return{src:X,processed:!1,errors:[`Processing failed: ${Q}`]}}}async function Qj(X,$,Z,Y,J){try{let Q=await new Y.Conversion(X,$,{videoCodec:Z.codec,videoBitrate:Z.bitrate,width:Z.maxWidth,height:Z.maxHeight,frameRate:Z.frameRate,audioCodec:Z.audioCodec,audioBitrate:Z.audioBitrate,sampleRate:Z.sampleRate,channels:Z.channels}).run((q)=>{J?.(q.percentage/100)});return{duration:Q.duration||0,size:Q.size||0,width:Q.width||Z.maxWidth||0,height:Q.height||Z.maxHeight||0,bitrate:Q.bitrate||Z.bitrate||0,frameRate:Q.frameRate||Z.frameRate||30,audioCodec:Q.audioCodec}}catch(G){return console.error(`[stx-media] Transcoding failed: ${G}`),null}}var aY=E(()=>{a1();$3();q3();K3()});var tY={};n(tY,{setCachedVideoResult:()=>z8,processVideo:()=>sY,getCachedVideoResult:()=>w8,generateThumbnails:()=>_8,generateSpriteSheet:()=>uY,generatePoster:()=>B8,generateHLSManifest:()=>O8,generateDASHManifest:()=>L8,clearVideoCache:()=>hY,analyzeVideo:()=>U3,VideoProcessorCache:()=>W8});var eY=E(()=>{aY();q3();K3();$3()});async function $J(){try{return await Promise.resolve().then(() => (eY(),tY))}catch(X){if(!XJ)console.warn("[stx-media] Video processor not available, some features disabled:",X),XJ=!0;return null}}async function F8(X,$={}){let Z=$,Y=X;if(Y.process&&!Y.skipProcessing){if(Z.tsVideosConfig?.enabled&&!Z.isDev)return zj(Y,Z)}if(Z.processedResult?.processed)return GJ(X,Z.processedResult,$);let J;if(Y.generatePoster&&Y.src&&!X.poster)J=await jj(Y,Z);let{src:G,sources:Q=[],poster:q,posterPlaceholder:K,controls:U=ZJ,autoplay:W=!1,muted:w=!1,loop:z=!1,preload:B=YJ,playsinline:j=!0,lazy:_=!0,player:H="native",type:L,width:O,height:F,crossorigin:V,disablePictureInPicture:A=!1,disableRemotePlayback:R=!1}=X,T=J||q,N=X.class,k=X.style,M=X.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(H==="ts-video")return Uj(X,$);if(L&&L!=="video")return Kj(G||"",L,X);let y=Q.length>0?Q:G?[{src:G,type:JJ(G)}]:[],I=[`id="${M}"`];if(U)I.push("controls");if(W)I.push("autoplay");if(w)I.push("muted");if(z)I.push("loop");if(j)I.push("playsinline");if(A)I.push("disablepictureinpicture");if(R)I.push("disableremoteplayback");if(V)I.push(`crossorigin="${V}"`);if(_){if(I.push(`data-preload="${B}"`),I.push('preload="none"'),T)I.push(`data-poster="${L0(T)}"`);I.push("data-stx-lazy")}else if(I.push(`preload="${B}"`),T)I.push(`poster="${L0(T)}"`);if(O)I.push(`width="${O}"`);if(F)I.push(`height="${F}"`);if(N)I.push(`class="${L0(N)}"`);if(k)I.push(`style="${L0(k)}"`);let C=y.map((P)=>{return` <source ${_?`data-src="${L0(P.src)}"`:`src="${L0(P.src)}"`} type="${P.type}"${P.media?` media="${P.media}"`:""} />`}).join(`
11826
11825
  `),S=`<video ${I.join(" ")}>
11827
11826
  ${C}
11828
11827
  Your browser does not support the video tag.
@@ -12030,7 +12029,7 @@ else {
12030
12029
  .ts-video-player__play-button svg {
12031
12030
  margin-left: 4px;
12032
12031
  }
12033
- `.trim();return{html:F,script:V,css:A}}function JJ(X){switch(X.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 Wj(X){let $=[/youtube\.com\/watch\?v=([^&]+)/,/youtube\.com\/embed\/([^?]+)/,/youtu\.be\/([^?]+)/,/youtube\.com\/v\/([^?]+)/];for(let Z of $){let Y=X.match(Z);if(Y)return Y[1]}return null}function wj(X){let $=X.match(/vimeo\.com\/(\d+)/);return $?$[1]:null}function L0(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}async function zj(X,$){let Z=await $J();if(!Z)return F8({...X,process:!1},$);let Y=$.tsVideosConfig,J=await Z.processVideo(X.src,X,Y,X.onProcessProgress);if(J.processed)return GJ(X,J,$);return F8({...X,process:!1},$)}async function jj(X,$){let Z=await $J();if(!Z||!X.src)return;let Y=typeof X.generatePoster==="object"?X.generatePoster:{timestamp:0},J=$.tsVideosConfig||{enabled:!0,outputDir:"dist/videos",baseUrl:"/videos"};return(await Z.generatePoster(X.src,Y,J.outputDir,J.baseUrl||"/videos"))?.url}function GJ(X,$,Z){let{controls:Y=ZJ,autoplay:J=!1,muted:G=!1,loop:Q=!1,preload:q=YJ,playsinline:K=!0,lazy:U=!0,width:W,height:w,crossorigin:z,disablePictureInPicture:B=!1,disableRemotePlayback:j=!1}=X,_=X.class,H=X.style,L=X.id||`stx-video-${Math.random().toString(36).slice(2,8)}`,O=X.src,F=JJ(O);if($.transcoded)O=$.transcoded.url,F="video/mp4";let V=$.streaming?.hls||$.streaming?.dash;if(V){if($.streaming?.hls)O=$.streaming.hls.manifestUrl,F="application/x-mpegURL";else if($.streaming?.dash)O=$.streaming.dash.manifestUrl,F="application/dash+xml"}let A=$.poster?.url||X.poster,R=[`id="${L}"`];if(Y)R.push("controls");if(J)R.push("autoplay");if(G)R.push("muted");if(Q)R.push("loop");if(K)R.push("playsinline");if(B)R.push("disablepictureinpicture");if(j)R.push("disableremoteplayback");if(z)R.push(`crossorigin="${z}"`);if(U){if(R.push(`data-preload="${q}"`),R.push('preload="none"'),A)R.push(`data-poster="${L0(A)}"`);R.push("data-stx-lazy")}else if(R.push(`preload="${q}"`),A)R.push(`poster="${L0(A)}"`);let N=W||$.metadata?.width,T=w||$.metadata?.height;if(N)R.push(`width="${N}"`);if(T)R.push(`height="${T}"`);if(_)R.push(`class="${L0(_)}"`);if(H)R.push(`style="${L0(H)}"`);let M=` <source ${U?`data-src="${L0(O)}"`:`src="${L0(O)}"`} type="${F}" />`,y=`<video ${R.join(" ")}>
12032
+ `.trim();return{html:F,script:V,css:A}}function JJ(X){switch(X.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 Wj(X){let $=[/youtube\.com\/watch\?v=([^&]+)/,/youtube\.com\/embed\/([^?]+)/,/youtu\.be\/([^?]+)/,/youtube\.com\/v\/([^?]+)/];for(let Z of $){let Y=X.match(Z);if(Y)return Y[1]}return null}function wj(X){let $=X.match(/vimeo\.com\/(\d+)/);return $?$[1]:null}function L0(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}async function zj(X,$){let Z=await $J();if(!Z)return F8({...X,process:!1},$);let Y=$.tsVideosConfig,J=await Z.processVideo(X.src,X,Y,X.onProcessProgress);if(J.processed)return GJ(X,J,$);return F8({...X,process:!1},$)}async function jj(X,$){let Z=await $J();if(!Z||!X.src)return;let Y=typeof X.generatePoster==="object"?X.generatePoster:{timestamp:0},J=$.tsVideosConfig||{enabled:!0,outputDir:"dist/videos",baseUrl:"/videos"};return(await Z.generatePoster(X.src,Y,J.outputDir,J.baseUrl||"/videos"))?.url}function GJ(X,$,Z){let{controls:Y=ZJ,autoplay:J=!1,muted:G=!1,loop:Q=!1,preload:q=YJ,playsinline:K=!0,lazy:U=!0,width:W,height:w,crossorigin:z,disablePictureInPicture:B=!1,disableRemotePlayback:j=!1}=X,_=X.class,H=X.style,L=X.id||`stx-video-${Math.random().toString(36).slice(2,8)}`,O=X.src,F=JJ(O);if($.transcoded)O=$.transcoded.url,F="video/mp4";let V=$.streaming?.hls||$.streaming?.dash;if(V){if($.streaming?.hls)O=$.streaming.hls.manifestUrl,F="application/x-mpegURL";else if($.streaming?.dash)O=$.streaming.dash.manifestUrl,F="application/dash+xml"}let A=$.poster?.url||X.poster,R=[`id="${L}"`];if(Y)R.push("controls");if(J)R.push("autoplay");if(G)R.push("muted");if(Q)R.push("loop");if(K)R.push("playsinline");if(B)R.push("disablepictureinpicture");if(j)R.push("disableremoteplayback");if(z)R.push(`crossorigin="${z}"`);if(U){if(R.push(`data-preload="${q}"`),R.push('preload="none"'),A)R.push(`data-poster="${L0(A)}"`);R.push("data-stx-lazy")}else if(R.push(`preload="${q}"`),A)R.push(`poster="${L0(A)}"`);let T=W||$.metadata?.width,N=w||$.metadata?.height;if(T)R.push(`width="${T}"`);if(N)R.push(`height="${N}"`);if(_)R.push(`class="${L0(_)}"`);if(H)R.push(`style="${L0(H)}"`);let M=` <source ${U?`data-src="${L0(O)}"`:`src="${L0(O)}"`} type="${F}" />`,y=`<video ${R.join(" ")}>
12034
12033
  ${M}
12035
12034
  Your browser does not support the video tag.
12036
12035
  </video>`;if($.spriteSheet)y=`<div class="stx-video-wrapper" data-sprite-sheet="${L0($.spriteSheet.url)}" data-sprite-cols="${$.spriteSheet.columns}" data-sprite-interval="${$.spriteSheet.interval}">
@@ -12380,7 +12379,7 @@ catch (error) {
12380
12379
  init();
12381
12380
  }
12382
12381
  })();
12383
- </script>`}function NN(X){return[...X,...z3]}var Vj,Aj,Rj,Nj,z3;var j3=E(()=>{Vj={name:"pwa.installButton",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return Hj(X,J)},hasEndTag:!0,description:"Renders a PWA install prompt button that appears when the app can be installed"},Aj={name:"pwa.updatePrompt",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return Oj(X,J)},hasEndTag:!0,description:"Renders a PWA update notification UI when a new version is available"},Rj={name:"pwa.offlineIndicator",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return Lj(X,J)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},Nj={name:"pwa.pushSubscribe",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return Fj(X,J)},hasEndTag:!0,description:"Renders a push notification subscription button"},z3=[Vj,Aj,Rj,Nj]});function B3(X){for(let[$,Z]of Object.entries(s))if(Z===X)return $;return}var s;var V8=E(()=>{s={UNCLOSED_DIRECTIVE:1001,UNCLOSED_EXPRESSION:1002,INVALID_DIRECTIVE_SYNTAX:1003,MALFORMED_EXPRESSION:1004,UNEXPECTED_TOKEN:1005,UNDEFINED_VARIABLE:1101,TYPE_ERROR:1102,EVALUATION_ERROR:1103,INFINITE_LOOP:1104,CIRCULAR_REFERENCE:1105,UNSAFE_EXPRESSION:1201,PATH_TRAVERSAL:1202,XSS_ATTEMPT:1203,CODE_INJECTION:1204,DOM_API_VIOLATION:1205,FILE_NOT_FOUND:1301,FILE_READ_ERROR:1302,INVALID_FILE_PATH:1303,PERMISSION_DENIED:1304,INVALID_CONFIG:1401,MISSING_REQUIRED_CONFIG:1402,DEPRECATED_CONFIG:1403,COMPONENT_NOT_FOUND:1501,INVALID_PROPS:1502,COMPONENT_RENDER_ERROR:1503,FILTER_NOT_FOUND:1601,INVALID_FILTER_ARGS:1602,EXPRESSION_TIMEOUT:1603}});function C7(){return!1}function P7(){return!C7()||process.env.STX_DEBUG==="true"}function A8(){return!1}import Tj from"path";function R8(){return{..._3}}function N8(X){if(!_3.showRelativePaths||!X)return X;let $=_3.baseDir||process.cwd();try{let Z=Tj.relative($,X);return Z.startsWith("..")?X:Z}catch{return X}}var Mj,_3,T8,e1,M8;var k8=E(()=>{V8();Mj={showRelativePaths:!1,enableAutoRecovery:P7(),logRecoveryWarnings:!0},_3={...Mj};T8=class T8 extends Error{code;filePath;line;column;context;numericCode;constructor(X,$,Z,Y,J,G,Q){super(X);this.code=$;this.filePath=Z;this.line=Y;this.column=J;this.context=G;if(this.name="StxError",this.numericCode=Q||s.EVALUATION_ERROR,this.filePath)this.filePath=N8(this.filePath)}};e1=class e1 extends T8{constructor(X,$,Z,Y,J,G){super(X,"stx_RUNTIME_ERROR",$,Z,Y,J,G||s.EVALUATION_ERROR);this.name="StxRuntimeError"}};M8=class M8 extends T8{isFatal=!0;constructor(X,$,Z,Y,J,G){super(X,"stx_VALIDATION_ERROR",$,Z,Y,J,G||s.DOM_API_VIOLATION);this.name="StxValidationError"}}});function WJ(X){let{type:$,message:Z,code:Y,filePath:J,line:G,column:Q,template:q,offset:K,snippet:U,suggestion:W,format:w="text"}=X,z=G,B=Q;if(!z&&q&&K!==void 0){let O=bj(q,K);z=O.line,B=O.column}let j=J?N8(J):void 0,_=Y?B3(Y):void 0,H={type:$,code:Y,codeName:_,message:Z,filePath:j,line:z,column:B,snippet:U,suggestion:W,timestamp:new Date().toISOString()},L;switch(w){case"html":L=Ij(H);break;case"json":L=JSON.stringify(H,null,2);break;case"console":L=Ej(H,q,K);break;case"text":default:L=kj(H,q,K);break}return{formatted:L,data:H}}function kj(X,$,Z){let Y=[],J=X.code?` [${X.codeName||X.code}]`:"";if(Y.push(`[${X.type} Error${J}]`),X.filePath){let G=X.filePath;if(X.line){if(G+=`:${X.line}`,X.column)G+=`:${X.column}`}Y.push(`at ${G}`)}if(Y.push(`
12382
+ </script>`}function TT(X){return[...X,...z3]}var Vj,Aj,Rj,Tj,z3;var j3=E(()=>{Vj={name:"pwa.installButton",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return Hj(X,J)},hasEndTag:!0,description:"Renders a PWA install prompt button that appears when the app can be installed"},Aj={name:"pwa.updatePrompt",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return Oj(X,J)},hasEndTag:!0,description:"Renders a PWA update notification UI when a new version is available"},Rj={name:"pwa.offlineIndicator",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return Lj(X,J)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},Tj={name:"pwa.pushSubscribe",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return Fj(X,J)},hasEndTag:!0,description:"Renders a push notification subscription button"},z3=[Vj,Aj,Rj,Tj]});function B3(X){for(let[$,Z]of Object.entries(s))if(Z===X)return $;return}var s;var V8=E(()=>{s={UNCLOSED_DIRECTIVE:1001,UNCLOSED_EXPRESSION:1002,INVALID_DIRECTIVE_SYNTAX:1003,MALFORMED_EXPRESSION:1004,UNEXPECTED_TOKEN:1005,UNDEFINED_VARIABLE:1101,TYPE_ERROR:1102,EVALUATION_ERROR:1103,INFINITE_LOOP:1104,CIRCULAR_REFERENCE:1105,UNSAFE_EXPRESSION:1201,PATH_TRAVERSAL:1202,XSS_ATTEMPT:1203,CODE_INJECTION:1204,DOM_API_VIOLATION:1205,FILE_NOT_FOUND:1301,FILE_READ_ERROR:1302,INVALID_FILE_PATH:1303,PERMISSION_DENIED:1304,INVALID_CONFIG:1401,MISSING_REQUIRED_CONFIG:1402,DEPRECATED_CONFIG:1403,COMPONENT_NOT_FOUND:1501,INVALID_PROPS:1502,COMPONENT_RENDER_ERROR:1503,FILTER_NOT_FOUND:1601,INVALID_FILTER_ARGS:1602,EXPRESSION_TIMEOUT:1603}});function C7(){return!1}function P7(){return!C7()||process.env.STX_DEBUG==="true"}function A8(){return!1}import Nj from"path";function R8(){return{..._3}}function T8(X){if(!_3.showRelativePaths||!X)return X;let $=_3.baseDir||process.cwd();try{let Z=Nj.relative($,X);return Z.startsWith("..")?X:Z}catch{return X}}var Mj,_3,N8,e1,M8;var k8=E(()=>{V8();Mj={showRelativePaths:!1,enableAutoRecovery:P7(),logRecoveryWarnings:!0},_3={...Mj};N8=class N8 extends Error{code;filePath;line;column;context;numericCode;constructor(X,$,Z,Y,J,G,Q){super(X);this.code=$;this.filePath=Z;this.line=Y;this.column=J;this.context=G;if(this.name="StxError",this.numericCode=Q||s.EVALUATION_ERROR,this.filePath)this.filePath=T8(this.filePath)}};e1=class e1 extends N8{constructor(X,$,Z,Y,J,G){super(X,"stx_RUNTIME_ERROR",$,Z,Y,J,G||s.EVALUATION_ERROR);this.name="StxRuntimeError"}};M8=class M8 extends N8{isFatal=!0;constructor(X,$,Z,Y,J,G){super(X,"stx_VALIDATION_ERROR",$,Z,Y,J,G||s.DOM_API_VIOLATION);this.name="StxValidationError"}}});function WJ(X){let{type:$,message:Z,code:Y,filePath:J,line:G,column:Q,template:q,offset:K,snippet:U,suggestion:W,format:w="text"}=X,z=G,B=Q;if(!z&&q&&K!==void 0){let O=bj(q,K);z=O.line,B=O.column}let j=J?T8(J):void 0,_=Y?B3(Y):void 0,H={type:$,code:Y,codeName:_,message:Z,filePath:j,line:z,column:B,snippet:U,suggestion:W,timestamp:new Date().toISOString()},L;switch(w){case"html":L=Ij(H);break;case"json":L=JSON.stringify(H,null,2);break;case"console":L=Ej(H,q,K);break;case"text":default:L=kj(H,q,K);break}return{formatted:L,data:H}}function kj(X,$,Z){let Y=[],J=X.code?` [${X.codeName||X.code}]`:"";if(Y.push(`[${X.type} Error${J}]`),X.filePath){let G=X.filePath;if(X.line){if(G+=`:${X.line}`,X.column)G+=`:${X.column}`}Y.push(`at ${G}`)}if(Y.push(`
12384
12383
  ${X.message}`),$&&X.line){let G=Dj($,X.line,2);if(G)Y.push(`
12385
12384
  ${G}`)}if(X.snippet)Y.push(`
12386
12385
  Snippet: ${X.snippet}`);if(X.suggestion)Y.push(`
@@ -12404,8 +12403,8 @@ ${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\
12404
12403
  `)}writeToFile(X){this.writeQueue=this.writeQueue.then(async()=>{try{let $=await import("fs"),Y=(await import("path")).dirname(this.logFilePath);if(!$.existsSync(Y))$.mkdirSync(Y,{recursive:!0});await this.rotateIfNeeded($);let J=`${this.formatEntry(X)}
12405
12404
  `;$.appendFileSync(this.logFilePath,J,"utf-8")}catch($){if(process.env.STX_DEBUG==="true")console.error("Failed to write to error log:",$)}})}async rotateIfNeeded(X){try{if(!X.existsSync(this.logFilePath))return;if(X.statSync(this.logFilePath).size<this.maxFileSize)return;for(let Z=this.maxLogFiles-1;Z>=1;Z--){let Y=`${this.logFilePath}.${Z}`,J=`${this.logFilePath}.${Z+1}`;if(X.existsSync(Y))if(Z>=this.maxLogFiles-1)X.unlinkSync(Y);else X.renameSync(Y,J)}if(this.maxLogFiles<=1)X.writeFileSync(this.logFilePath,"");else X.renameSync(this.logFilePath,`${this.logFilePath}.1`)}catch($){if(process.env.STX_DEBUG==="true")console.error("Failed to rotate error logs:",$)}}getRecentErrors(X=10){return this.errors.slice(-X)}getErrorsByType(X){return this.errors.filter(($)=>$.error.constructor.name===X)}getErrorsByLevel(X){return this.errors.filter(($)=>$.level===X)}clear(){this.errors.length=0}async clearLogFile(){try{let X=await import("fs");if(X.existsSync(this.logFilePath))X.writeFileSync(this.logFilePath,"","utf-8")}catch(X){if(process.env.STX_DEBUG==="true")console.error("Failed to clear error log:",X)}}getStats(){let X={},$={error:0,warning:0,info:0};for(let Z of this.errors){let Y=Z.error.constructor.name;X[Y]=(X[Y]||0)+1;let J=Z.level||"error";$[J]=($[J]||0)+1}return{total:this.errors.length,byType:X,byLevel:$}}async exportToFile(X,$="json"){let Z=await import("fs"),J=(await import("path")).dirname(X);if(!Z.existsSync(J))Z.mkdirSync(J,{recursive:!0});if($==="json"){let G=this.errors.map((Q)=>({timestamp:Q.timestamp.toISOString(),level:Q.level||"error",type:Q.error.constructor.name,message:Q.error.message,stack:Q.error.stack,context:Q.context}));Z.writeFileSync(X,JSON.stringify(G,null,2),"utf-8")}else{let G=this.errors.map((Q)=>this.formatEntry(Q));Z.writeFileSync(X,G.join(`
12406
12405
 
12407
- `),"utf-8")}}async flush(){await this.writeQueue}}var H3,s0,L3;var zJ=E(()=>{k8();H3={isEnabled(){return R8().enableAutoRecovery},fixCommonSyntaxErrors(X){let $=R8();if(!$.enableAutoRecovery)return{fixed:X,fixes:[]};let Z=X,Y=[],J=(Z.match(/\{\{/g)||[]).length,G=(Z.match(/\}\}/g)||[]).length;if(J>G){let q=J-G;Z+="}}".repeat(q),Y.push(`Added ${q} missing closing braces '}}'`)}let Q=["if","foreach","for","switch","section"];for(let q of Q){let K=(Z.match(new RegExp(`@${q}\\b`,"g"))||[]).length,U=(Z.match(new RegExp(`@end${q}\\b`,"g"))||[]).length;if(K>U){let W=K-U;for(let w=0;w<W;w++)Z+=`
12408
- @end${q}`;Y.push(`Added ${W} missing @end${q}`)}}if(Y.length>0&&$.logRecoveryWarnings)console.warn("[stx] Auto-recovery applied fixes:"),Y.forEach((q)=>console.warn(` - ${q}`)),console.warn(" Consider fixing these issues in your template.");return{fixed:Z,fixes:Y}},createFallbackContent(X,$){if(P7())return`<!-- ${X} failed: ${$.message} -->`;return"<!-- stx rendering error -->"}};s0=new O3,L3={isDevelopment(){return P7()},logDetailedError(X,$){if(!this.isDevelopment())return;if(console.error("=== stx Detailed Error ==="),console.error("Error:",X.message),console.error("Stack:",X.stack),$)console.error("Context:",$);console.error("========================")},createErrorReport(X,$){let Z=["=== stx Error Report ===",`Time: ${new Date().toISOString()}`,`Error: ${X.message}`,`Type: ${X.constructor.name}`,`Stack: ${X.stack}`];if($)Z.push(`Context: ${JSON.stringify($,null,2)}`);return Z.push("========================"),Z.join(`
12406
+ `),"utf-8")}}async flush(){await this.writeQueue}}var H3,a0,L3;var zJ=E(()=>{k8();H3={isEnabled(){return R8().enableAutoRecovery},fixCommonSyntaxErrors(X){let $=R8();if(!$.enableAutoRecovery)return{fixed:X,fixes:[]};let Z=X,Y=[],J=(Z.match(/\{\{/g)||[]).length,G=(Z.match(/\}\}/g)||[]).length;if(J>G){let q=J-G;Z+="}}".repeat(q),Y.push(`Added ${q} missing closing braces '}}'`)}let Q=["if","foreach","for","switch","section"];for(let q of Q){let K=(Z.match(new RegExp(`@${q}\\b`,"g"))||[]).length,U=(Z.match(new RegExp(`@end${q}\\b`,"g"))||[]).length;if(K>U){let W=K-U;for(let w=0;w<W;w++)Z+=`
12407
+ @end${q}`;Y.push(`Added ${W} missing @end${q}`)}}if(Y.length>0&&$.logRecoveryWarnings)console.warn("[stx] Auto-recovery applied fixes:"),Y.forEach((q)=>console.warn(` - ${q}`)),console.warn(" Consider fixing these issues in your template.");return{fixed:Z,fixes:Y}},createFallbackContent(X,$){if(P7())return`<!-- ${X} failed: ${$.message} -->`;return"<!-- stx rendering error -->"}};a0=new O3,L3={isDevelopment(){return P7()},logDetailedError(X,$){if(!this.isDevelopment())return;if(console.error("=== stx Detailed Error ==="),console.error("Error:",X.message),console.error("Stack:",X.stack),$)console.error("Context:",$);console.error("========================")},createErrorReport(X,$){let Z=["=== stx Error Report ===",`Time: ${new Date().toISOString()}`,`Error: ${X.message}`,`Type: ${X.constructor.name}`,`Stack: ${X.stack}`];if($)Z.push(`Context: ${JSON.stringify($,null,2)}`);return Z.push("========================"),Z.join(`
12409
12408
  `)}}});var jJ=()=>{};var BJ=E(()=>{V8();wJ();zJ();jJ();k8()});var w1=E(()=>{BJ()});function _J(X,$,Z,Y){let J=X;J=J.replace(/@meta\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(q,K,U)=>{if(!U&&K.includes(":")){let W=K.split(":"),w=K,z=W.length>1?W[1]:"";if(z&&$[z])U=$[z];else if(w.startsWith("og:")&&$.openGraph&&$.openGraph[W[1]])U=$.openGraph[W[1]];else U="";return U?`<meta property="${c(w)}" content="${c(U)}">`:""}return U?`<meta name="${c(K)}" content="${c(U)}">`:""});let G=/@metaTag\s*\(/g,Q;while((Q=G.exec(J))!==null){let q=Q.index,K=q+Q[0].length-1,U=1,W=K+1;while(W<J.length&&U>0){if(J[W]==="(")U++;else if(J[W]===")"){if(U--,U===0)break}W++}if(U!==0)break;let w=J.substring(K+1,W).trim(),z=W+1,B=(()=>{try{let j=H0(w,$);if(!j)return"";let _="<meta";if(j.name)_+=` name="${c(String(j.name))}"`;if(j.property)_+=` property="${c(String(j.property))}"`;if(j.httpEquiv)_+=` http-equiv="${c(String(j.httpEquiv))}"`;if(j.content)_+=` content="${c(String(j.content))}"`;return _+=">",_}catch(j){let _=j instanceof Error?j.message:String(j);return X0("MetaTag",_,s.EVALUATION_ERROR)}})();J=J.substring(0,q)+B+J.substring(z),G.lastIndex=0}return J}function HJ(X,$,Z){let Y=X,J=/@structuredData\s*\(/g,G;while((G=J.exec(Y))!==null){let Q=G.index,q=Q+G[0].length-1,K=1,U=q+1;while(U<Y.length&&K>0){if(Y[U]==="(")K++;else if(Y[U]===")"){if(K--,K===0)break}U++}if(K!==0)break;let W=Y.substring(q+1,U).trim(),w=U+1,z=(()=>{try{let B=H0(W,$);if(!B)return"";if(!B["@context"])B["@context"]="https://schema.org";return`<script type="application/ld+json">${JSON.stringify(B).replace(/<\//g,"<\\/")}</script>`}catch(B){let j=B instanceof Error?B.message:String(B);return X0("StructuredData",j,s.EVALUATION_ERROR)}})();Y=Y.substring(0,Q)+z+Y.substring(w),J.lastIndex=0}return Y}function OJ(X,$,Z,Y){let J=X,G=/@seo\s*\(\s*\{/g,Q;while((Q=G.exec(J))!==null){let q=J.indexOf("{",Q.index+4),K=1,U=q+1,W=null,w=!1;while(U<J.length&&K>0){let L=J[U];if(w){w=!1,U++;continue}if(L==="\\"&&W){w=!0,U++;continue}if(W){if(L===W)W=null;U++;continue}if(L==='"'||L==="'"||L==="`"){W=L,U++;continue}if(L==="{")K++;else if(L==="}")K--;U++}if(K!==0)break;let z=J.substring(U).match(/^\s*\)/);if(!z)break;let B=U+z[0].length,j=J.substring(q,U),_=J.substring(Q.index,B),H=((L)=>{try{let O=H0(L,$);if(!O)return"";let F="";if(O.title)F+=`<title>${c(O.title)}</title>
12410
12409
  `,F+=`<meta name="title" content="${c(O.title)}">
12411
12410
  `;if(O.description)F+=`<meta name="description" content="${c(O.description)}">
@@ -12497,10 +12496,10 @@ ${W}
12497
12496
  customElements.define('${$}', ${Q});
12498
12497
  `}async function AJ(X,$,Z,Y){if($.length<1)return X0("WebComponent","@webcomponent directive requires at least the tag name parameter",s.INVALID_DIRECTIVE_SYNTAX);let J=$[0].replace(/['"]/g,""),Q=(Z.__stx_options||{}).componentsDir||"components",q=[v7.join(v7.dirname(Y),Q,`${J}.stx`),v7.join(process.cwd(),Q,`${J}.stx`),v7.join(v7.dirname(Y),`${J}.stx`)],K=null;for(let w of q)if(await p(w)){K=await Bun.file(w).text();break}if(!K)return X0("WebComponent",`Component file not found: ${J}.stx`,s.FILE_NOT_FOUND);let U=Sj(K,J);return`<script type="module">
12499
12498
  ${Cj(U)}
12500
- </script>`}var RJ=E(()=>{w1();A0()});var NJ={};n(NJ,{timingPlugin:()=>gj,pluginManager:()=>Pj,definePlugin:()=>I8,debugPlugin:()=>fj,createVariablesPlugin:()=>hj,createFilterPlugin:()=>xj,createDirectivePlugin:()=>vj,PluginManager:()=>V3});function I8(X){return X}class V3{plugins=new Map;sortedPlugins=[];initialized=!1;async register(X,$){if(this.plugins.has(X.name))throw Error(`Plugin "${X.name}" is already registered`);if(X.dependencies){for(let Z of X.dependencies)if(!this.plugins.has(Z))throw Error(`Plugin "${X.name}" depends on "${Z}" which is not registered`)}if(this.plugins.set(X.name,X),X.onRegister)await X.onRegister($);this.sortPlugins()}async unregister(X){let $=this.plugins.get(X);if(!$)return!1;for(let[Z,Y]of this.plugins)if(Y.dependencies?.includes(X))throw Error(`Cannot unregister "${X}" because "${Z}" depends on it`);if($.onUnregister)await $.onUnregister();return this.plugins.delete(X),this.sortPlugins(),!0}get(X){return this.plugins.get(X)}has(X){return this.plugins.has(X)}getAll(){return[...this.sortedPlugins]}getAllDirectives(){let X=[];for(let $ of this.sortedPlugins)if($.registerDirectives)X.push(...$.registerDirectives());return X}getAllFilters(){let X={};for(let $ of this.sortedPlugins)if($.registerFilters)Object.assign(X,$.registerFilters());return X}async runBeforeProcess(X){return this.runHooks("beforeProcess",X)}async runAfterParse(X){return this.runHooks("afterParse",X)}async runBeforeDirective(X,$){return this.runDirectiveHooks("beforeDirective",X,$)}async runAfterDirective(X,$){return this.runDirectiveHooks("afterDirective",X,$)}async runBeforeRender(X){return this.runHooks("beforeRender",X)}async runAfterRender(X){return this.runHooks("afterRender",X)}async runOnError(X){for(let $ of this.sortedPlugins)if($.onError)try{let Z=await $.onError(X);if(Z){if(Z.template!==void 0)X.template=Z.template;if(Z.context)X.context={...X.context,...Z.context};if(Z.metadata)X.metadata={...X.metadata,...Z.metadata};if(Z.skip)return X}}catch(Z){console.error(`Error in plugin "${$.name}" onError hook:`,Z)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort((X,$)=>(X.priority??100)-($.priority??100))}async runHooks(X,$){let Z={...$};for(let Y of this.sortedPlugins){let J=Y[X];if(J)try{let G=await J(Z);if(G){if(G.template!==void 0)Z.template=G.template;if(G.context)Z.context={...Z.context,...G.context};if(G.metadata)Z.metadata={...Z.metadata,...G.metadata};if(G.skip)break}}catch(G){console.error(`Error in plugin "${Y.name}" ${X} hook:`,G)}}return Z}async runDirectiveHooks(X,$,Z){let Y={...Z};for(let J of this.sortedPlugins){let G=J[X];if(G)try{let Q=await G($,Y);if(Q){if(Q.template!==void 0)Y.template=Q.template;if(Q.context)Y.context={...Y.context,...Q.context};if(Q.metadata)Y.metadata={...Y.metadata,...Q.metadata};if(Q.skip)break}}catch(Q){console.error(`Error in plugin "${J.name}" ${X} hook:`,Q)}}return Y}}function vj(X,$,Z={}){return{name:X,...Z,registerDirectives:()=>$}}function xj(X,$,Z={}){return{name:X,...Z,registerFilters:()=>$}}function hj(X){return I8({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess($){return{context:{...$.context,...X}}}})}var Pj,fj,gj;var TJ=E(()=>{Pj=new V3;fj=I8({name:"stx-debug",version:"1.0.0",description:"Logs all plugin lifecycle events for debugging",priority:0,beforeProcess(X){console.log("[stx-debug] beforeProcess:",X.filePath)},afterParse(X){console.log("[stx-debug] afterParse:",X.template.length,"chars")},beforeDirective(X,$){console.log("[stx-debug] beforeDirective:",X)},afterDirective(X,$){console.log("[stx-debug] afterDirective:",X)},beforeRender(X){console.log("[stx-debug] beforeRender")},afterRender(X){console.log("[stx-debug] afterRender:",X.template.length,"chars")},onError(X){console.error("[stx-debug] onError:",X.error.message,"in phase:",X.phase)}}),gj=I8({name:"stx-timing",version:"1.0.0",description:"Measures template processing time",priority:1,beforeProcess(X){X.metadata.startTime=performance.now()},afterRender(X){let $=X.metadata.startTime;if($){let Z=performance.now()-$;console.log(`[stx-timing] Processing took ${Z.toFixed(2)}ms`)}}})});var EJ={};n(EJ,{validateConfig:()=>ij,resolveStxDirectories:()=>IJ,loadStxConfig:()=>I1,defineStxConfig:()=>pj,defaultConfig:()=>X5,config:()=>_7});import E8 from"fs";import g0 from"path";import{loadConfigWithResult as uj}from"bunfig";function dj(X,$,Z){let Y=$||"pages";if(X)return{root:X,pagesDir:Y};let J=Z||process.cwd(),G=g0.join(J,"resources","views"),Q=g0.join(J,"resources","layouts");if(E8.existsSync(G)&&E8.existsSync(Q))return{root:"resources",pagesDir:"views"};let q=g0.join(J,"resources","views","pages");if(E8.existsSync(q))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}function mj(X,$){let Z=$.replace(/[\\/]+$/,"");if(!Z||Z===".")return!0;let Y=X.replace(/\\/g,"/"),J=Z.replace(/\\/g,"/");return Y===J||Y.startsWith(`${J}/`)}function IJ(X,$){let Z=!X.root,Y=dj(X.root,X.pagesDir,$);if(X.root=Y.root,X.pagesDir=Y.pagesDir,Z&&Y.root!=="."){let J=`${$}::${Y.root}`;if(!MJ.has(J))MJ.add(J),console.warn(`[stx] No "root" in config \u2014 inferred "${Y.root}" from the project layout. Template directories are resolved under it; set root explicitly to pin this.`)}if(X.root&&X.root!=="."){let J=X.root;for(let G of["partialsDir","componentsDir","layoutsDir"]){let Q=X[G];if(typeof Q!=="string"||!Q)continue;if(g0.isAbsolute(Q)||mj(Q,J))continue;X[G]=g0.join(J,Q)}}return X}function lj(X,$){let Z=["componentsDir","layoutsDir","partialsDir"];for(let Y of Z){let J=X[Y];if(typeof J!=="string"||!J)continue;let G=g0.isAbsolute(J)?J:g0.join($,J);if(E8.existsSync(G))continue;let Q=X.root,q=!!Q&&Q!==".";console.warn(`[stx] ${String(Y)} resolves to "${G}", which does not exist. Configured as "${J}"`+(q?`, resolved under root "${Q}".`:"."))}}function cj(X){if(j2(X.stateDir),X.stateDir=t5(),X.cachePath=X7(X.cachePath),X.build)X.build.cacheDir=X7(X.build.cacheDir);if(X.media?.cache)X.media.cache.directory=X7(X.media.cache.directory);if(X.story)X.story.outDir=X7(X.story.outDir)}async function I1(X){if(!X){if(S5)return S5;if(D8)return D8}let $=X?g0.resolve(X):process.cwd(),Z=kJ.get($);if(Z)return Z;let Y=(async()=>{let G=(await uj({name:"stx",alias:"ui",cwd:$,defaultConfig:X5,verbose:!1})).config;if(cj(G),IJ(G,$),lj(G,$),G.plugins&&G.plugins.length>0){let{pluginManager:Q}=await Promise.resolve().then(() => (TJ(),NJ)),q=[],K=[];for(let U of G.plugins){let W=typeof U==="string"?U:U[0],w=typeof U==="string"?{}:U[1]||{};try{let z,B;try{z=await import(W),B=g0.dirname(W0.resolve(W))}catch{let _=g0.resolve(process.cwd(),W);z=await import(_),B=g0.dirname(_)}let j=z.default||z;if(Q.register(j,G),j.components){let _=Array.isArray(j.components)?j.components:[j.components];for(let H of _)q.push(g0.resolve(B,H))}if(j.pages){let _=g0.resolve(B,j.pages),H=w.path||"/";K.push({dir:_,prefix:H})}if(j.setup){let _={addDirective:(H)=>{G.customDirectives=G.customDirectives||[],G.customDirectives.push(H)},addRoute:(H,L)=>{G.apiRoutes=G.apiRoutes||{},G.apiRoutes[H]=L},addMiddleware:(H)=>{G.middleware=G.middleware||[],G.middleware.push(H)},pluginDir:B,config:G};await j.setup(w,_)}console.log(`[stx] Plugin loaded: ${j.name||W}`)}catch(z){console.warn(`[stx] Failed to load plugin ${W}:`,z.message)}}G._pluginComponentDirs=q,G._pluginPageDirs=K}return G})();if(kJ.set($,Y),!X)D8=Y,Y.then((J)=>{S5=J}).catch(()=>{});return Y}function pj(X){return X}function ij(X){let $=[],Z=[];if(X.partialsDir!==void 0&&typeof X.partialsDir!=="string")$.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if(X.componentsDir!==void 0&&typeof X.componentsDir!=="string")$.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if(X.cache!==void 0&&typeof X.cache!=="boolean")$.push({path:"cache",message:"cache must be a boolean",severity:"error"});if(X.debug!==void 0&&typeof X.debug!=="boolean")$.push({path:"debug",message:"debug must be a boolean",severity:"error"});if(X.streaming){if(X.streaming.bufferSize!==void 0){if(typeof X.streaming.bufferSize!=="number"||X.streaming.bufferSize<=0)$.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if(X.streaming.timeout!==void 0){if(typeof X.streaming.timeout!=="number"||X.streaming.timeout<=0)$.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if(X.streaming.strategy!==void 0){let Y=["auto","manual","sections"];if(!Y.includes(X.streaming.strategy))$.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.i18n){if(X.i18n.format!==void 0){let Y=["json","yaml","yml","js"];if(!Y.includes(X.i18n.format))$.push({path:"i18n.format",message:`i18n.format must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.animation){if(X.animation.defaultDuration!==void 0){if(typeof X.animation.defaultDuration!=="number"||X.animation.defaultDuration<0)$.push({path:"animation.defaultDuration",message:"animation.defaultDuration must be a non-negative number",severity:"error"})}if(X.animation.staggerDelay!==void 0){if(typeof X.animation.staggerDelay!=="number"||X.animation.staggerDelay<0)$.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if(X.a11y){if(X.a11y.level!==void 0){let Y=["AA","AAA"];if(!Y.includes(X.a11y.level))$.push({path:"a11y.level",message:`a11y.level must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.hydration){if(X.hydration.mode!==void 0){let Y=["progressive","islands"];if(!Y.includes(X.hydration.mode))$.push({path:"hydration.mode",message:`hydration.mode must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.hydration.preload!==void 0){let Y=["none","eager","lazy"];if(!Y.includes(X.hydration.preload))$.push({path:"hydration.preload",message:`hydration.preload must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.customDirectives)if(!Array.isArray(X.customDirectives))$.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else X.customDirectives.forEach((Y,J)=>{if(!Y.name||typeof Y.name!=="string")$.push({path:`customDirectives[${J}].name`,message:"Custom directive must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")$.push({path:`customDirectives[${J}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if(X.middleware)if(!Array.isArray(X.middleware))$.push({path:"middleware",message:"middleware must be an array",severity:"error"});else X.middleware.forEach((Y,J)=>{if(!Y.name||typeof Y.name!=="string")$.push({path:`middleware[${J}].name`,message:"Middleware must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")$.push({path:`middleware[${J}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!Y.timing||!["before","after"].includes(Y.timing))$.push({path:`middleware[${J}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if(X.debug===!0&&X.cache===!0)Z.push({path:"debug+cache",message:"Debug mode with caching enabled may show stale content during development",severity:"warning"});if(X.seo?.enabled===!0&&!X.seo?.defaultConfig?.title)Z.push({path:"seo.defaultConfig.title",message:"SEO is enabled but no default title is set",severity:"warning"});if(X.pwa){if(X.pwa.enabled===!0&&!X.pwa.manifest?.name)$.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if(X.pwa.manifest?.display!==void 0){let Y=["fullscreen","standalone","minimal-ui","browser"];if(!Y.includes(X.pwa.manifest.display))$.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.manifest?.orientation!==void 0){let Y=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!Y.includes(X.pwa.manifest.orientation))$.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.routes){let Y=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];X.pwa.routes.forEach((J,G)=>{if(!J.pattern||typeof J.pattern!=="string")$.push({path:`pwa.routes[${G}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!Y.includes(J.strategy))$.push({path:`pwa.routes[${G}].strategy`,message:`PWA route strategy must be one of: ${Y.join(", ")}`,severity:"error"});if(J.maxAgeSeconds!==void 0&&(typeof J.maxAgeSeconds!=="number"||J.maxAgeSeconds<0))$.push({path:`pwa.routes[${G}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(J.maxEntries!==void 0&&(typeof J.maxEntries!=="number"||J.maxEntries<1))$.push({path:`pwa.routes[${G}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if(X.pwa.icons?.sizes){if(!Array.isArray(X.pwa.icons.sizes))$.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if(X.pwa.icons.sizes.filter((J)=>typeof J!=="number"||J<16||J>1024).length>0)$.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if(X.pwa.icons?.purpose){let Y=["any","maskable","monochrome"];if(X.pwa.icons.purpose.filter((G)=>!Y.includes(G)).length>0)$.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.enabled===!0&&!X.pwa.icons?.src)Z.push({path:"pwa.icons.src",message:"PWA is enabled but no icon source specified. Provide a 512x512 PNG for best results.",severity:"warning"});if(X.pwa.enabled===!0&&!X.pwa.manifest?.themeColor)Z.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:$.length===0,errors:$,warnings:Z}}var X5,MJ,S5=null,kJ,D8=null,_7;var V1=E(()=>{B$();_$();C$();P$();P9();gY();w3();j3();F3();JX();RJ();X5={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:B5,cachePath:".stx/cache",cacheVersion:"1.0.0",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:WY,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:AJ,hasEndTag:!1,description:"Include a web component in the template"},H2,O2,FJ,VJ,L2,V2,A2,F2,p2,r2,fY,W3,...z3],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}};MJ=new Set;kJ=new Map;_7=new Proxy(X5,{get(X,$){if(S5&&$ in S5)return S5[$];if(!D8)I1().catch((Z)=>{console.warn("[stx] Failed to load config file:",Z?.message||Z)});return X[$]}})});import q0 from"path";import{hasLocalConfig as nj}from"bunfig";function b8(X){return Bun.hash(X).toString(16).padStart(16,"0").slice(0,16)}function R3(X,$){if($5.has(X))$5.delete(X);else if($5.size>=bJ)$5.delete($5.keys().next().value);$5.set(X,$)}function rj(X){let $=b8(X);if(C5.has($))C5.delete($);else if(C5.size>=bJ)C5.delete(C5.keys().next().value);return C5.set($,X),$}async function oj(X){if(!y1)return null;try{let $=Bun.file(q0.join(y1,`cw-${b8(X)}.css`));if(!await $.exists())return null;return await $.text()}catch{return null}}async function sj(X,$){if(!y1)return;try{if(!fs.existsSync(y1))fs.mkdirSync(y1,{recursive:!0});await Bun.write(q0.join(y1,`cw-${b8(X)}.css`),$)}catch{}}async function yJ(X){try{let $=await import(X);if($&&$.CSSGenerator)return{CSSGenerator:$.CSSGenerator,config:$.config,build:$.build,defaultConfig:$.defaultConfig,extractClasses:$.extractClasses}}catch{}return null}function aj(){let X=[],$=process.cwd();while($!==q0.dirname($))X.push(q0.join($,"node_modules","@cwcss","crosswind","dist","index.js")),X.push(q0.join($,"node_modules","@cwcss","crosswind","src","index.ts")),X.push(q0.join($,"pantry","@cwcss","crosswind","dist","index.js")),X.push(q0.join($,"pantry","@cwcss","crosswind","src","index.ts")),X.push(q0.join($,"node_modules","@stacksjs","crosswind","dist","index.js")),X.push(q0.join($,"pantry","@stacksjs","crosswind","dist","index.js")),$=q0.dirname($);return X}function tj(){let X=[],$=process.env.HOME||process.env.USERPROFILE||"";if($){let Z=[q0.join($,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),q0.join($,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),q0.join($,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),q0.join($,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),q0.join($,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),q0.join($,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];X.push(...Z)}return X.push(q0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),X.push(q0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),X}async function ej(){if(DJ)return z1;DJ=!0;try{let X=async(J)=>{for(let G of J){if(!await Bun.file(G).exists())continue;let Q=await yJ(G);if(Q){if(!process.env.STACKS_DEV_QUIET)console.log(`${V0.green}[Crosswind]${V0.reset} CSS engine loaded from ${q0.dirname(q0.dirname(G))}`);return Q}}return null};if(process.env.CROSSWIND_SRC){let J=q0.resolve(process.env.CROSSWIND_SRC),G=await X([J]);if(!G)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${J}`);return z1=G,z1}let $=await X(aj());if($)return z1=$,z1;let Z=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let J of Z){let G=await yJ(J);if(G){if(z1=G,!process.env.STACKS_DEV_QUIET)console.log(`${V0.green}[Crosswind]${V0.reset} CSS engine loaded`);return z1}}let Y=await X(tj());if(Y)return z1=Y,z1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${V0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${V0.reset}`),console.warn(`${V0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${V0.reset}`),null}}async function XB(X){try{if(!nj({name:"crosswind",cwd:X}))return null;let{loadConfigWithResult:$}=await import("bunfig"),Z=await $({name:"crosswind",cwd:X,defaultConfig:{},checkEnv:!1,verbose:!1});if(!Z?.path||!Z.config||Object.keys(Z.config).length===0)return null;let Y=q0.relative(X,Z.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${V0.green}[Crosswind]${V0.reset} Loaded config from ${Y||Z.path}`);return Z.config}catch($){if($ instanceof Error&&$.name==="ConfigNotFoundError")return null;return console.warn(`${V0.yellow}[Crosswind]${V0.reset} Failed to load crosswind config:`,$ instanceof Error?$.message:$),null}}function $B(X){let $=new Set,Z=/class\s*=\s*["']([^"']+)["']/gi,Y=Z.exec(X);while(Y!==null){for(let Q of Y[1].split(/\s+/))if(Q.trim())$.add(Q.trim());Y=Z.exec(X)}let J=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,G=J.exec(X);while(G!==null){let Q=G[1].match(/'([^']+)'/g);if(Q){for(let q of Q)for(let K of q.slice(1,-1).split(/\s+/))if(K.trim())$.add(K.trim())}G=J.exec(X)}return $}async function ZB(X,$){try{let Z=await ej();if(!Z)return"";let Y=typeof Z.extractClasses==="function"?Z.extractClasses(X):$B(X);if(Y.size===0)return"";let J=$?q0.resolve($):process.cwd();if(!y1)y1=e5(J,"cache");let G=[...Y].sort().join(" "),Q=`${A3||"default"}::${G}`,q=$5.get(Q);if(q!==void 0)return R3(Q,q),q;let K=await oj(Q);if(K!==null)return R3(Q,K),K;if(!y8){let V=null;try{let{loadStxConfig:A}=await Promise.resolve().then(() => (V1(),EJ)),R=await A(J);if(R.css)if(typeof R.css==="string"){let N=q0.isAbsolute(R.css)?R.css:q0.resolve(J,R.css);if(await Bun.file(N).exists()){let T=await import(N);V=T.default||T,console.log(`${V0.green}[Crosswind]${V0.reset} Loaded config from stx.config.ts \u2192 ${R.css}`)}}else{if(V={...R.css,content:R.css.content||[],preflight:R.css.preflight??!0,minify:R.css.minify??!1},R.css.config){let N=q0.isAbsolute(R.css.config)?R.css.config:q0.resolve(J,R.css.config);if(await Bun.file(N).exists()){let T=await import(N);V={...T.default||T,...V}}}console.log(`${V0.green}[Crosswind]${V0.reset} Using inline CSS config from stx.config.ts`)}}catch{}y8=V||await XB(J);try{A3=b8(JSON.stringify(y8??{}))}catch{A3="unhashable"}}let U=Z.defaultConfig||Z.config,W=y8||{},w=w2(U,W),{safelist:z,includePreflight:B,minify:j}=w,_=w.config,H=new Z.CSSGenerator(_);for(let V of z)H.generate(V);for(let V of Y)H.generate(V);let L=H.toCSS(B,j),O=_.shortcuts||W.shortcuts||{};for(let[V,A]of Object.entries(O)){if(!Y.has(V)&&!z.includes(V))continue;let R=A.split(/\s+/).filter(Boolean);for(let N of R)H.generate(N)}L=H.toCSS(B,j);let F=L.split(`
12501
- `);for(let[V,A]of Object.entries(O)){if(!Y.has(V)&&!z.includes(V))continue;let R=A.split(/\s+/).filter(Boolean),N=[],T=[];for(let k of R){let M=k.startsWith("dark:"),C=`.${(M?k.slice(5):k).replace(/\//g,"\\/").replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%")}`;for(let S=0;S<F.length;S++){let b=F[S].trim();if(b===`${C} {`||b.startsWith(`${C} {`)){let P=S,x="";while(P<F.length){if(x+=F[P],F[P].includes("}"))break;P++}let d=x.match(/\{([^}]+)\}/);if(d)if(M)T.push(d[1].trim());else N.push(d[1].trim());break}}}if(N.length)L+=`
12502
- .${V} { ${N.join(" ")} }`;if(T.length)L+=`
12503
- @media (prefers-color-scheme: dark) { .dark .${V} { ${T.join(" ")} } }`}return R3(Q,L),sj(Q,L),L}catch(Z){return console.warn("Failed to generate Crosswind CSS:",Z),""}}async function SJ(X,$,Z=!1){let Y=await ZB(X,$);if(!Y)return X;let J=Z?`<link data-crosswind="generated" rel="stylesheet" href="/_stx/crosswind.${rj(Y)}.css">`:`<style data-crosswind="generated">
12499
+ </script>`}var RJ=E(()=>{w1();A0()});var TJ={};n(TJ,{timingPlugin:()=>gj,pluginManager:()=>Pj,definePlugin:()=>I8,debugPlugin:()=>fj,createVariablesPlugin:()=>hj,createFilterPlugin:()=>xj,createDirectivePlugin:()=>vj,PluginManager:()=>V3});function I8(X){return X}class V3{plugins=new Map;sortedPlugins=[];initialized=!1;async register(X,$){if(this.plugins.has(X.name))throw Error(`Plugin "${X.name}" is already registered`);if(X.dependencies){for(let Z of X.dependencies)if(!this.plugins.has(Z))throw Error(`Plugin "${X.name}" depends on "${Z}" which is not registered`)}if(this.plugins.set(X.name,X),X.onRegister)await X.onRegister($);this.sortPlugins()}async unregister(X){let $=this.plugins.get(X);if(!$)return!1;for(let[Z,Y]of this.plugins)if(Y.dependencies?.includes(X))throw Error(`Cannot unregister "${X}" because "${Z}" depends on it`);if($.onUnregister)await $.onUnregister();return this.plugins.delete(X),this.sortPlugins(),!0}get(X){return this.plugins.get(X)}has(X){return this.plugins.has(X)}getAll(){return[...this.sortedPlugins]}getAllDirectives(){let X=[];for(let $ of this.sortedPlugins)if($.registerDirectives)X.push(...$.registerDirectives());return X}getAllFilters(){let X={};for(let $ of this.sortedPlugins)if($.registerFilters)Object.assign(X,$.registerFilters());return X}async runBeforeProcess(X){return this.runHooks("beforeProcess",X)}async runAfterParse(X){return this.runHooks("afterParse",X)}async runBeforeDirective(X,$){return this.runDirectiveHooks("beforeDirective",X,$)}async runAfterDirective(X,$){return this.runDirectiveHooks("afterDirective",X,$)}async runBeforeRender(X){return this.runHooks("beforeRender",X)}async runAfterRender(X){return this.runHooks("afterRender",X)}async runOnError(X){for(let $ of this.sortedPlugins)if($.onError)try{let Z=await $.onError(X);if(Z){if(Z.template!==void 0)X.template=Z.template;if(Z.context)X.context={...X.context,...Z.context};if(Z.metadata)X.metadata={...X.metadata,...Z.metadata};if(Z.skip)return X}}catch(Z){console.error(`Error in plugin "${$.name}" onError hook:`,Z)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort((X,$)=>(X.priority??100)-($.priority??100))}async runHooks(X,$){let Z={...$};for(let Y of this.sortedPlugins){let J=Y[X];if(J)try{let G=await J(Z);if(G){if(G.template!==void 0)Z.template=G.template;if(G.context)Z.context={...Z.context,...G.context};if(G.metadata)Z.metadata={...Z.metadata,...G.metadata};if(G.skip)break}}catch(G){console.error(`Error in plugin "${Y.name}" ${X} hook:`,G)}}return Z}async runDirectiveHooks(X,$,Z){let Y={...Z};for(let J of this.sortedPlugins){let G=J[X];if(G)try{let Q=await G($,Y);if(Q){if(Q.template!==void 0)Y.template=Q.template;if(Q.context)Y.context={...Y.context,...Q.context};if(Q.metadata)Y.metadata={...Y.metadata,...Q.metadata};if(Q.skip)break}}catch(Q){console.error(`Error in plugin "${J.name}" ${X} hook:`,Q)}}return Y}}function vj(X,$,Z={}){return{name:X,...Z,registerDirectives:()=>$}}function xj(X,$,Z={}){return{name:X,...Z,registerFilters:()=>$}}function hj(X){return I8({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess($){return{context:{...$.context,...X}}}})}var Pj,fj,gj;var NJ=E(()=>{Pj=new V3;fj=I8({name:"stx-debug",version:"1.0.0",description:"Logs all plugin lifecycle events for debugging",priority:0,beforeProcess(X){console.log("[stx-debug] beforeProcess:",X.filePath)},afterParse(X){console.log("[stx-debug] afterParse:",X.template.length,"chars")},beforeDirective(X,$){console.log("[stx-debug] beforeDirective:",X)},afterDirective(X,$){console.log("[stx-debug] afterDirective:",X)},beforeRender(X){console.log("[stx-debug] beforeRender")},afterRender(X){console.log("[stx-debug] afterRender:",X.template.length,"chars")},onError(X){console.error("[stx-debug] onError:",X.error.message,"in phase:",X.phase)}}),gj=I8({name:"stx-timing",version:"1.0.0",description:"Measures template processing time",priority:1,beforeProcess(X){X.metadata.startTime=performance.now()},afterRender(X){let $=X.metadata.startTime;if($){let Z=performance.now()-$;console.log(`[stx-timing] Processing took ${Z.toFixed(2)}ms`)}}})});var EJ={};n(EJ,{validateConfig:()=>ij,resolveStxDirectories:()=>IJ,loadStxConfig:()=>I1,defineStxConfig:()=>pj,defaultConfig:()=>X5,config:()=>_7});import E8 from"fs";import g0 from"path";import{loadConfigWithResult as uj}from"bunfig";function dj(X,$,Z){let Y=$||"pages";if(X)return{root:X,pagesDir:Y};let J=Z||process.cwd(),G=g0.join(J,"resources","views"),Q=g0.join(J,"resources","layouts");if(E8.existsSync(G)&&E8.existsSync(Q))return{root:"resources",pagesDir:"views"};let q=g0.join(J,"resources","views","pages");if(E8.existsSync(q))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}function mj(X,$){let Z=$.replace(/[\\/]+$/,"");if(!Z||Z===".")return!0;let Y=X.replace(/\\/g,"/"),J=Z.replace(/\\/g,"/");return Y===J||Y.startsWith(`${J}/`)}function IJ(X,$){let Z=!X.root,Y=dj(X.root,X.pagesDir,$);if(X.root=Y.root,X.pagesDir=Y.pagesDir,Z&&Y.root!=="."){let J=`${$}::${Y.root}`;if(!MJ.has(J))MJ.add(J),console.warn(`[stx] No "root" in config \u2014 inferred "${Y.root}" from the project layout. Template directories are resolved under it; set root explicitly to pin this.`)}if(X.root&&X.root!=="."){let J=X.root;for(let G of["partialsDir","componentsDir","layoutsDir"]){let Q=X[G];if(typeof Q!=="string"||!Q)continue;if(g0.isAbsolute(Q)||mj(Q,J))continue;X[G]=g0.join(J,Q)}}return X}function lj(X,$){let Z=["componentsDir","layoutsDir","partialsDir"];for(let Y of Z){let J=X[Y];if(typeof J!=="string"||!J)continue;let G=g0.isAbsolute(J)?J:g0.join($,J);if(E8.existsSync(G))continue;let Q=X.root,q=!!Q&&Q!==".";console.warn(`[stx] ${String(Y)} resolves to "${G}", which does not exist. Configured as "${J}"`+(q?`, resolved under root "${Q}".`:"."))}}function cj(X){if(j2(X.stateDir),X.stateDir=t5(),X.cachePath=X7(X.cachePath),X.build)X.build.cacheDir=X7(X.build.cacheDir);if(X.media?.cache)X.media.cache.directory=X7(X.media.cache.directory);if(X.story)X.story.outDir=X7(X.story.outDir)}async function I1(X){if(!X){if(S5)return S5;if(D8)return D8}let $=X?g0.resolve(X):process.cwd(),Z=kJ.get($);if(Z)return Z;let Y=(async()=>{let G=(await uj({name:"stx",alias:"ui",cwd:$,defaultConfig:X5,verbose:!1})).config;if(cj(G),IJ(G,$),lj(G,$),G.plugins&&G.plugins.length>0){let{pluginManager:Q}=await Promise.resolve().then(() => (NJ(),TJ)),q=[],K=[];for(let U of G.plugins){let W=typeof U==="string"?U:U[0],w=typeof U==="string"?{}:U[1]||{};try{let z,B;try{z=await import(W),B=g0.dirname(W0.resolve(W))}catch{let _=g0.resolve(process.cwd(),W);z=await import(_),B=g0.dirname(_)}let j=z.default||z;if(Q.register(j,G),j.components){let _=Array.isArray(j.components)?j.components:[j.components];for(let H of _)q.push(g0.resolve(B,H))}if(j.pages){let _=g0.resolve(B,j.pages),H=w.path||"/";K.push({dir:_,prefix:H})}if(j.setup){let _={addDirective:(H)=>{G.customDirectives=G.customDirectives||[],G.customDirectives.push(H)},addRoute:(H,L)=>{G.apiRoutes=G.apiRoutes||{},G.apiRoutes[H]=L},addMiddleware:(H)=>{G.middleware=G.middleware||[],G.middleware.push(H)},pluginDir:B,config:G};await j.setup(w,_)}console.log(`[stx] Plugin loaded: ${j.name||W}`)}catch(z){console.warn(`[stx] Failed to load plugin ${W}:`,z.message)}}G._pluginComponentDirs=q,G._pluginPageDirs=K}return G})();if(kJ.set($,Y),!X)D8=Y,Y.then((J)=>{S5=J}).catch(()=>{});return Y}function pj(X){return X}function ij(X){let $=[],Z=[];if(X.partialsDir!==void 0&&typeof X.partialsDir!=="string")$.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if(X.componentsDir!==void 0&&typeof X.componentsDir!=="string")$.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if(X.cache!==void 0&&typeof X.cache!=="boolean")$.push({path:"cache",message:"cache must be a boolean",severity:"error"});if(X.debug!==void 0&&typeof X.debug!=="boolean")$.push({path:"debug",message:"debug must be a boolean",severity:"error"});if(X.streaming){if(X.streaming.bufferSize!==void 0){if(typeof X.streaming.bufferSize!=="number"||X.streaming.bufferSize<=0)$.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if(X.streaming.timeout!==void 0){if(typeof X.streaming.timeout!=="number"||X.streaming.timeout<=0)$.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if(X.streaming.strategy!==void 0){let Y=["auto","manual","sections"];if(!Y.includes(X.streaming.strategy))$.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.i18n){if(X.i18n.format!==void 0){let Y=["json","yaml","yml","js"];if(!Y.includes(X.i18n.format))$.push({path:"i18n.format",message:`i18n.format must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.animation){if(X.animation.defaultDuration!==void 0){if(typeof X.animation.defaultDuration!=="number"||X.animation.defaultDuration<0)$.push({path:"animation.defaultDuration",message:"animation.defaultDuration must be a non-negative number",severity:"error"})}if(X.animation.staggerDelay!==void 0){if(typeof X.animation.staggerDelay!=="number"||X.animation.staggerDelay<0)$.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if(X.a11y){if(X.a11y.level!==void 0){let Y=["AA","AAA"];if(!Y.includes(X.a11y.level))$.push({path:"a11y.level",message:`a11y.level must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.hydration){if(X.hydration.mode!==void 0){let Y=["progressive","islands"];if(!Y.includes(X.hydration.mode))$.push({path:"hydration.mode",message:`hydration.mode must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.hydration.preload!==void 0){let Y=["none","eager","lazy"];if(!Y.includes(X.hydration.preload))$.push({path:"hydration.preload",message:`hydration.preload must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.customDirectives)if(!Array.isArray(X.customDirectives))$.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else X.customDirectives.forEach((Y,J)=>{if(!Y.name||typeof Y.name!=="string")$.push({path:`customDirectives[${J}].name`,message:"Custom directive must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")$.push({path:`customDirectives[${J}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if(X.middleware)if(!Array.isArray(X.middleware))$.push({path:"middleware",message:"middleware must be an array",severity:"error"});else X.middleware.forEach((Y,J)=>{if(!Y.name||typeof Y.name!=="string")$.push({path:`middleware[${J}].name`,message:"Middleware must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")$.push({path:`middleware[${J}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!Y.timing||!["before","after"].includes(Y.timing))$.push({path:`middleware[${J}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if(X.debug===!0&&X.cache===!0)Z.push({path:"debug+cache",message:"Debug mode with caching enabled may show stale content during development",severity:"warning"});if(X.seo?.enabled===!0&&!X.seo?.defaultConfig?.title)Z.push({path:"seo.defaultConfig.title",message:"SEO is enabled but no default title is set",severity:"warning"});if(X.pwa){if(X.pwa.enabled===!0&&!X.pwa.manifest?.name)$.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if(X.pwa.manifest?.display!==void 0){let Y=["fullscreen","standalone","minimal-ui","browser"];if(!Y.includes(X.pwa.manifest.display))$.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.manifest?.orientation!==void 0){let Y=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!Y.includes(X.pwa.manifest.orientation))$.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.routes){let Y=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];X.pwa.routes.forEach((J,G)=>{if(!J.pattern||typeof J.pattern!=="string")$.push({path:`pwa.routes[${G}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!Y.includes(J.strategy))$.push({path:`pwa.routes[${G}].strategy`,message:`PWA route strategy must be one of: ${Y.join(", ")}`,severity:"error"});if(J.maxAgeSeconds!==void 0&&(typeof J.maxAgeSeconds!=="number"||J.maxAgeSeconds<0))$.push({path:`pwa.routes[${G}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(J.maxEntries!==void 0&&(typeof J.maxEntries!=="number"||J.maxEntries<1))$.push({path:`pwa.routes[${G}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if(X.pwa.icons?.sizes){if(!Array.isArray(X.pwa.icons.sizes))$.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if(X.pwa.icons.sizes.filter((J)=>typeof J!=="number"||J<16||J>1024).length>0)$.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if(X.pwa.icons?.purpose){let Y=["any","maskable","monochrome"];if(X.pwa.icons.purpose.filter((G)=>!Y.includes(G)).length>0)$.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.enabled===!0&&!X.pwa.icons?.src)Z.push({path:"pwa.icons.src",message:"PWA is enabled but no icon source specified. Provide a 512x512 PNG for best results.",severity:"warning"});if(X.pwa.enabled===!0&&!X.pwa.manifest?.themeColor)Z.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:$.length===0,errors:$,warnings:Z}}var X5,MJ,S5=null,kJ,D8=null,_7;var V1=E(()=>{B$();_$();C$();P$();P9();gY();w3();j3();F3();JX();RJ();X5={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:B5,cachePath:".stx/cache",cacheVersion:"1.0.0",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:WY,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:AJ,hasEndTag:!1,description:"Include a web component in the template"},H2,O2,FJ,VJ,L2,V2,A2,F2,p2,r2,fY,W3,...z3],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}};MJ=new Set;kJ=new Map;_7=new Proxy(X5,{get(X,$){if(S5&&$ in S5)return S5[$];if(!D8)I1().catch((Z)=>{console.warn("[stx] Failed to load config file:",Z?.message||Z)});return X[$]}})});import q0 from"path";import{hasLocalConfig as nj}from"bunfig";function b8(X){return Bun.hash(X).toString(16).padStart(16,"0").slice(0,16)}function R3(X,$){if($5.has(X))$5.delete(X);else if($5.size>=bJ)$5.delete($5.keys().next().value);$5.set(X,$)}function rj(X){let $=b8(X);if(C5.has($))C5.delete($);else if(C5.size>=bJ)C5.delete(C5.keys().next().value);return C5.set($,X),$}async function oj(X){if(!y1)return null;try{let $=Bun.file(q0.join(y1,`cw-${b8(X)}.css`));if(!await $.exists())return null;return await $.text()}catch{return null}}async function sj(X,$){if(!y1)return;try{if(!fs.existsSync(y1))fs.mkdirSync(y1,{recursive:!0});await Bun.write(q0.join(y1,`cw-${b8(X)}.css`),$)}catch{}}async function yJ(X){try{let $=await import(X);if($&&$.CSSGenerator)return{CSSGenerator:$.CSSGenerator,config:$.config,build:$.build,defaultConfig:$.defaultConfig,extractClasses:$.extractClasses}}catch{}return null}function aj(){let X=[],$=process.cwd();while($!==q0.dirname($))X.push(q0.join($,"node_modules","@cwcss","crosswind","dist","index.js")),X.push(q0.join($,"node_modules","@cwcss","crosswind","src","index.ts")),X.push(q0.join($,"pantry","@cwcss","crosswind","dist","index.js")),X.push(q0.join($,"pantry","@cwcss","crosswind","src","index.ts")),X.push(q0.join($,"node_modules","@stacksjs","crosswind","dist","index.js")),X.push(q0.join($,"pantry","@stacksjs","crosswind","dist","index.js")),$=q0.dirname($);return X}function tj(){let X=[],$=process.env.HOME||process.env.USERPROFILE||"";if($){let Z=[q0.join($,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),q0.join($,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),q0.join($,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),q0.join($,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),q0.join($,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),q0.join($,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];X.push(...Z)}return X.push(q0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),X.push(q0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),X}async function ej(){if(DJ)return z1;DJ=!0;try{let X=async(J)=>{for(let G of J){if(!await Bun.file(G).exists())continue;let Q=await yJ(G);if(Q){if(!process.env.STACKS_DEV_QUIET)console.log(`${V0.green}[Crosswind]${V0.reset} CSS engine loaded from ${q0.dirname(q0.dirname(G))}`);return Q}}return null};if(process.env.CROSSWIND_SRC){let J=q0.resolve(process.env.CROSSWIND_SRC),G=await X([J]);if(!G)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${J}`);return z1=G,z1}let $=await X(aj());if($)return z1=$,z1;let Z=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let J of Z){let G=await yJ(J);if(G){if(z1=G,!process.env.STACKS_DEV_QUIET)console.log(`${V0.green}[Crosswind]${V0.reset} CSS engine loaded`);return z1}}let Y=await X(tj());if(Y)return z1=Y,z1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${V0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${V0.reset}`),console.warn(`${V0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${V0.reset}`),null}}async function XB(X){try{if(!nj({name:"crosswind",cwd:X}))return null;let{loadConfigWithResult:$}=await import("bunfig"),Z=await $({name:"crosswind",cwd:X,defaultConfig:{},checkEnv:!1,verbose:!1});if(!Z?.path||!Z.config||Object.keys(Z.config).length===0)return null;let Y=q0.relative(X,Z.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${V0.green}[Crosswind]${V0.reset} Loaded config from ${Y||Z.path}`);return Z.config}catch($){if($ instanceof Error&&$.name==="ConfigNotFoundError")return null;return console.warn(`${V0.yellow}[Crosswind]${V0.reset} Failed to load crosswind config:`,$ instanceof Error?$.message:$),null}}function $B(X){let $=new Set,Z=/class\s*=\s*["']([^"']+)["']/gi,Y=Z.exec(X);while(Y!==null){for(let Q of Y[1].split(/\s+/))if(Q.trim())$.add(Q.trim());Y=Z.exec(X)}let J=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,G=J.exec(X);while(G!==null){let Q=G[1].match(/'([^']+)'/g);if(Q){for(let q of Q)for(let K of q.slice(1,-1).split(/\s+/))if(K.trim())$.add(K.trim())}G=J.exec(X)}return $}async function ZB(X,$){try{let Z=await ej();if(!Z)return"";let Y=typeof Z.extractClasses==="function"?Z.extractClasses(X):$B(X);if(Y.size===0)return"";let J=$?q0.resolve($):process.cwd();if(!y1)y1=e5(J,"cache");let G=[...Y].sort().join(" "),Q=`${A3||"default"}::${G}`,q=$5.get(Q);if(q!==void 0)return R3(Q,q),q;let K=await oj(Q);if(K!==null)return R3(Q,K),K;if(!y8){let V=null;try{let{loadStxConfig:A}=await Promise.resolve().then(() => (V1(),EJ)),R=await A(J);if(R.css)if(typeof R.css==="string"){let T=q0.isAbsolute(R.css)?R.css:q0.resolve(J,R.css);if(await Bun.file(T).exists()){let N=await import(T);V=N.default||N,console.log(`${V0.green}[Crosswind]${V0.reset} Loaded config from stx.config.ts \u2192 ${R.css}`)}}else{if(V={...R.css,content:R.css.content||[],preflight:R.css.preflight??!0,minify:R.css.minify??!1},R.css.config){let T=q0.isAbsolute(R.css.config)?R.css.config:q0.resolve(J,R.css.config);if(await Bun.file(T).exists()){let N=await import(T);V={...N.default||N,...V}}}console.log(`${V0.green}[Crosswind]${V0.reset} Using inline CSS config from stx.config.ts`)}}catch{}y8=V||await XB(J);try{A3=b8(JSON.stringify(y8??{}))}catch{A3="unhashable"}}let U=Z.defaultConfig||Z.config,W=y8||{},w=w2(U,W),{safelist:z,includePreflight:B,minify:j}=w,_=w.config,H=new Z.CSSGenerator(_);for(let V of z)H.generate(V);for(let V of Y)H.generate(V);let L=H.toCSS(B,j),O=_.shortcuts||W.shortcuts||{};for(let[V,A]of Object.entries(O)){if(!Y.has(V)&&!z.includes(V))continue;let R=A.split(/\s+/).filter(Boolean);for(let T of R)H.generate(T)}L=H.toCSS(B,j);let F=L.split(`
12500
+ `);for(let[V,A]of Object.entries(O)){if(!Y.has(V)&&!z.includes(V))continue;let R=A.split(/\s+/).filter(Boolean),T=[],N=[];for(let k of R){let M=k.startsWith("dark:"),C=`.${(M?k.slice(5):k).replace(/\//g,"\\/").replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%")}`;for(let S=0;S<F.length;S++){let b=F[S].trim();if(b===`${C} {`||b.startsWith(`${C} {`)){let P=S,x="";while(P<F.length){if(x+=F[P],F[P].includes("}"))break;P++}let d=x.match(/\{([^}]+)\}/);if(d)if(M)N.push(d[1].trim());else T.push(d[1].trim());break}}}if(T.length)L+=`
12501
+ .${V} { ${T.join(" ")} }`;if(N.length)L+=`
12502
+ @media (prefers-color-scheme: dark) { .dark .${V} { ${N.join(" ")} } }`}return R3(Q,L),sj(Q,L),L}catch(Z){return console.warn("Failed to generate Crosswind CSS:",Z),""}}async function SJ(X,$,Z=!1){let Y=await ZB(X,$);if(!Y)return X;let J=Z?`<link data-crosswind="generated" rel="stylesheet" href="/_stx/crosswind.${rj(Y)}.css">`:`<style data-crosswind="generated">
12504
12503
  ${Y}
12505
12504
  </style>`,G=/(?:<style\b[^>]*\bdata-crosswind=(?:"generated"|'generated')[^>]*>[\s\S]*?<\/style>|<link\b[^>]*\bdata-crosswind=(?:"generated"|'generated')[^>]*>)/g;if(G.test(X)){let Q=!1;return X.replace(G,()=>{if(Q)return"";return Q=!0,J})}if(X.includes("</head>"))return X.replace("</head>",`${J}
12506
12505
  </head>`);if(X.includes("<body"))return X.replace(/<body([^>]*)>/,`<body$1>
@@ -12849,7 +12848,7 @@ else {
12849
12848
 
12850
12849
  console.log('[stx] Lifecycle runtime initialized');
12851
12850
  })();
12852
- `}function N3(X){return Symbol(X)}var uT,dT,mT;var vJ=E(()=>{uT=N3("theme"),dT=N3("router"),mT=N3("i18n")});import*as fJ from"crypto";function xJ(X){let $=/\$(\w+)\./g,Z=[],Y;while((Y=$.exec(X))!==null)if(!Z.includes(Y[1]))Z.push(Y[1]);return Z}function YB(){return`stx-${fJ.randomBytes(4).toString("hex")}`}function JB(X){return/\$\w+\./.test(X)}function GB(X){let $=[],Z=new Set,Y=/<(\w+)([^>]*?)(\s*\/?>)/g,J=X;return J=J.replace(Y,(G,Q,q,K)=>{if(["script","style","template"].includes(Q.toLowerCase()))return G;let U=[],W=!1,w=q,z=/(\w+(?:-\w+)*)\s*=\s*"([^"]*\{\{[^}]*\$\w+[^}]*\}\}[^"]*)"/g,B=[...q.matchAll(z)];for(let H of B){let L=H[0],O=H[1],F=H[2];if(JB(F)){W=!0;let V=F.match(/\{\{\s*([\s\S]+?)\s*\}\}/);if(V){let A=V[1];if(U.push({attr:O,expr:A,fullMatch:L,originalAttr:O}),xJ(A).forEach((N)=>Z.add(N)),O==="text")w=w.replace(L,"");else if(O==="class")w=w.replace(L,'class=""');else if(O==="disabled"||O==="hidden")w=w.replace(L,"");else w=w.replace(L,`${O}=""`)}}}if(!W)return G;let j=w.match(/\bid\s*=\s*"([^"]+)"/),_;if(j)_=j[1];else _=YB(),w=` id="${_}"${w}`;for(let H of U)$.push({elementId:_,attribute:H.attr,expression:H.expr,stores:xJ(H.expr)});return`<${Q}${w}${K}`}),{html:J,bindings:$,stores:Z}}function QB(X,$){if(X.length===0)return"";let Z=Array.from($),Y=`
12851
+ `}function T3(X){return Symbol(X)}var uN,dN,mN;var vJ=E(()=>{uN=T3("theme"),dN=T3("router"),mN=T3("i18n")});import*as fJ from"crypto";function xJ(X){let $=/\$(\w+)\./g,Z=[],Y;while((Y=$.exec(X))!==null)if(!Z.includes(Y[1]))Z.push(Y[1]);return Z}function YB(){return`stx-${fJ.randomBytes(4).toString("hex")}`}function JB(X){return/\$\w+\./.test(X)}function GB(X){let $=[],Z=new Set,Y=/<(\w+)([^>]*?)(\s*\/?>)/g,J=X;return J=J.replace(Y,(G,Q,q,K)=>{if(["script","style","template"].includes(Q.toLowerCase()))return G;let U=[],W=!1,w=q,z=/(\w+(?:-\w+)*)\s*=\s*"([^"]*\{\{[^}]*\$\w+[^}]*\}\}[^"]*)"/g,B=[...q.matchAll(z)];for(let H of B){let L=H[0],O=H[1],F=H[2];if(JB(F)){W=!0;let V=F.match(/\{\{\s*([\s\S]+?)\s*\}\}/);if(V){let A=V[1];if(U.push({attr:O,expr:A,fullMatch:L,originalAttr:O}),xJ(A).forEach((T)=>Z.add(T)),O==="text")w=w.replace(L,"");else if(O==="class")w=w.replace(L,'class=""');else if(O==="disabled"||O==="hidden")w=w.replace(L,"");else w=w.replace(L,`${O}=""`)}}}if(!W)return G;let j=w.match(/\bid\s*=\s*"([^"]+)"/),_;if(j)_=j[1];else _=YB(),w=` id="${_}"${w}`;for(let H of U)$.push({elementId:_,attribute:H.attr,expression:H.expr,stores:xJ(H.expr)});return`<${Q}${w}${K}`}),{html:J,bindings:$,stores:Z}}function QB(X,$){if(X.length===0)return"";let Z=Array.from($),Y=`
12853
12852
  <script>
12854
12853
  (function() {
12855
12854
  'use strict';
@@ -13283,11 +13282,11 @@ window.__stx_reactive = (function() {
13283
13282
  ${LB()}
13284
13283
  ${Z}
13285
13284
  </script>`}function nJ(X,$,Z){if(iJ=0,!AB(X))return X;let Y=BB(X);if(Y.length===0)return X;let J=VB(X,Y),G=FB(Y,$),Q=J.lastIndexOf("</body>");if(Q!==-1)J=J.slice(0,Q)+G+`
13286
- `+J.slice(Q);else J+=G;return J}function VB(X,$){let Z=0,Y=X.replace(/<([a-z][a-z0-9-]*)(\s+[^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,(J,G,Q)=>{let q=$[Z++];if(!q)return J;let K=/data-stx-scope="([^"]*)"/.exec(Q);if(K)return q.id=K[1],q.selector=`[data-stx-scope="${q.id}"]`,J;return`<${G} data-stx-scope="${q.id}"${Q}>`});return Y=Y.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),Y=Y.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),Y=Y.replace(/\s*x-init\s*=\s*"[^"]*"/g,""),Y=Y.replace(/\s*x-init\s*=\s*'[^']*'/g,""),Y}function AB(X){return/x-data\s*=\s*["']/.test(X)}var iJ=0,jB=0;var rJ=E(()=>{Z1()});import RB from"fs";import T3 from"path";import{createHighlighter as NB}from"ts-syntax-highlighter";async function TB(X,$={}){try{if(!await p(X))throw Error(`Markdown file not found: ${X}`);let Y=(await RB.promises.stat(X)).mtime.getTime();if($.cache&&M3.has(X)){let w=M3.get(X);if(w.updatedAt>=Y)return{content:w.content,data:w.data}}let J=await Bun.file(X).text(),{data:G,content:Q}=s2(J),q=$.markdown||_7.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},U=w7(Q,{gfm:!0});if(q.syntaxHighlighting?.enabled&&q.syntaxHighlighting?.serverSide)U=await MB(U,q.syntaxHighlighting?.defaultTheme||"github-dark",q.syntaxHighlighting?.highlightUnknownLanguages||!1);let W={content:U,data:G||{}};if($.cache)M3.set(X,{...W,updatedAt:Y});return W}catch(Z){if($.debug)console.error(`Error reading/parsing markdown file ${X}:`,Z);let Y=Z instanceof Error?Z.message:String(Z);return{content:U0("Markdown File",`Error reading/parsing markdown file: ${Y}`,X,"",0,""),data:{}}}}async function MB(X,$,Z){let Y=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!S8)try{S8=await NB({theme:$||"github-dark",cache:!0})}catch(q){return console.error("Failed to initialize ts-syntax-highlighter:",q),X}let J=async(q,K,U,W)=>{let w=W.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#39;/g,"'"),z=U||(Z?"text":"");if(!z)return q;try{if(!S8.getSupportedLanguages().includes(z))return q;return(await S8.highlight(w,z,{theme:$})).html}catch(B){console.error(`Error highlighting code block with language ${U}:`,B)}return q},G=X,Q=X.matchAll(Y);for(let q of Q){let[K,U,W,w]=q,z=await J(K,U,W,w);G=G.replace(K,z)}return G}async function oJ(X,$,Z="",Y={}){return await kB(X,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(Q,q,K,U)=>{try{let W=q;if(!T3.isAbsolute(q))W=T3.resolve(T3.dirname(Z),q);let w={};if(K)try{try{w=JSON.parse(K)}catch{if(Y.debug)console.warn("Using safer alternative for parsing JS object literal");let O=K.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let F of O){let V=F.indexOf(":");if(V>0){let A=F.substring(0,V).trim(),R=F.substring(V+1).trim(),N=R.startsWith('"')&&R.endsWith('"'),T=R.startsWith("'")&&R.endsWith("'");if(N||T)R=R.substring(1,R.length-1);w[A]=R}}}}catch(L){if(Y.debug)console.error("Error parsing context in @markdown-file directive:",L)}let{content:z,data:B}=await TB(W,Y),j={...$,...B,...w},_=z,H=/\{\{([^}]+)\}\}/g;return _=_.replace(H,(L,O)=>{let F=O.trim();return j[F]!==void 0?String(j[F]):L}),_}catch(W){let w=W instanceof Error?W.message:String(W);return U0("Markdown File",`Error including markdown file: ${w}`,Z,X,U,Q)}})}async function kB(X,$,Z){let Y=[],J;while((J=$.exec(X))!==null){let q=J[0],K=J.index,U=J;Y.push(Z(...U).then((W)=>({match:q,replacement:W,index:K})))}let G=await Promise.all(Y);G.sort((q,K)=>K.index-q.index);let Q=X;for(let{match:q,replacement:K}of G)Q=Q.replace(q,()=>K);return Q}var M3,S8=null;var sJ=E(()=>{V1();A0();M3=new Map});function b1(X,$){try{let Z=X.trim();if(G0(Z))return Q0(Z,Object.keys($))(...Object.values($));else return $0(Z,$)}catch{return!1}}var aJ=E(()=>{O0()});function IB(X,$,Z){let Y=X,J=!0;while(J){J=!1;let G=Y.match(/@switch\s*\(/);if(!G||G.index===void 0)break;let Q=G.index,q=K9(Y,Q);if(!q)break;try{let K;if(G0(q.expression))K=Q0(q.expression,Object.keys($))(...Object.values($));else K=$0(q.expression,$);let U="",W=!1;for(let w of q.cases)if(w.type==="default"){if(!W)U=w.content.trim()}else try{let z;if(w.value&&G0(w.value))z=Q0(w.value,Object.keys($))(...Object.values($));else if(w.value)z=$0(w.value,$);if(K===z){U=w.content.trim(),W=!0;break}}catch{continue}Y=Y.substring(0,Q)+U+Y.substring(q.end),J=!0}catch(K){let U=K instanceof Error?K.message:String(K),W=X0("Switch",`Error evaluating @switch expression: ${U}`,s.EVALUATION_ERROR);Y=Y.substring(0,Q)+W+Y.substring(q.end);break}}return Y}function EB(X){let $=[];return{masked:X.replace(/<script\b[\s\S]*?<\/script\s*>/gi,(Y)=>{return $.push(Y),`\x00stx-script-${$.length-1}\x00`}),scripts:$}}function DB(X,$){if($.length===0)return X;return X.replace(/\u0000stx-script-(\d+)\u0000/g,(Z,Y)=>$[Number(Y)]??Z)}function Z5(X,$,Z){let{masked:Y,scripts:J}=EB(X);return DB(yB(Y,$,Z),J)}function yB(X,$,Z){let Y=X;Y=IB(Y,$,Z);{let G=!0;while(G){G=!1;let Q=Y.match(/@unless\s*\(/);if(!Q||Q.index===void 0)break;let q=Q.index,K=k1(Y,q+7);if(!K)break;let U=K.endPos,W=n1(Y,"unless","endunless",U);if(W===-1){console.warn(`[stx] @unless directive at position ${q} has no matching @endunless \u2014 the block was skipped. Check for typos or missing closers.`);break}let w=Y.slice(U,W),z=K.expression,B=-1;{let _=0,H=/@(?:if|unless)\s*\(/g,L=/@(?:endif|endunless)(?![a-z])/g,O=/@else(?![a-z])/g,F=[],V;while((V=H.exec(w))!==null)F.push({pos:V.index,type:"open"});while((V=L.exec(w))!==null)F.push({pos:V.index,type:"close"});while((V=O.exec(w))!==null)F.push({pos:V.index,type:"else"});F.sort((A,R)=>A.pos-R.pos);for(let A of F)if(A.type==="open")_++;else if(A.type==="close")_--;else if(A.type==="else"&&_===0){B=A.pos;break}}let j;if(B!==-1){let _=w.slice(0,B),H=w.slice(B+5);j=`@if (${z})${H}@else ${_}@endif`}else j=`@if (!(${z}))${w}@endif`;Y=Y.substring(0,q)+j+Y.substring(W+10),G=!0}}Y=I3(Y,$,Z),Y=E3(Y,$,Z),Y=k3(Y,$);let J=()=>{let G=I7(Y);if(G.length===0)return!1;for(let Q=G.length-1;Q>=0;Q--){let q=G[Q];try{let K="",U=!1;for(let W of q.branches){if(U)break;if(W.type==="else")K=W.content,U=!0;else try{let w;if(W.condition&&G0(W.condition))w=Q0(W.condition,Object.keys($))(...Object.values($));else if(W.condition)w=$0(W.condition,$);if(w)K=W.content,U=!0}catch(w){K=X0(W.type==="if"?"If":"Elseif",`Error in @${W.type}(${W.condition}): ${w instanceof Error?w.message:String(w)}`,s.EVALUATION_ERROR),U=!0}}Y=Y.substring(0,q.start)+K+Y.substring(q.end)}catch(K){let U=K instanceof Error?K.message:String(K),W=X0("If",`Error processing @if block: ${U}`,s.EVALUATION_ERROR);Y=Y.substring(0,q.start)+W+Y.substring(q.end)}}return!0};while(!0){let G=Y;if(!J())break;if(Y===G)break}return Y}function tJ(X){let $=0;while($<X.length&&/\s/.test(X[$]))$++;if(X[$]!=="(")return null;$++;while($<X.length&&/\s/.test(X[$]))$++;let Z=X[$];if(Z!=="'"&&Z!=='"')return null;$++;let Y=[];while($<X.length){let J=X[$];if(J==="\\"&&$+1<X.length){Y.push(X[$+1]),$+=2;continue}if(J===Z){$++;break}Y.push(J),$++}while($<X.length&&/\s/.test(X[$]))$++;if(X[$]!==")")return null;return $++,{value:Y.join(""),consumed:$}}function k3(X,$){let Z=X;function Y(q,K,U,W){let w=1,z=W,B=new RegExp(`@${K}(?:\\s*\\(|\\s|$)`,"g"),j=new RegExp(`@${U}(?![a-z])`,"g");while(z<q.length&&w>0){B.lastIndex=z,j.lastIndex=z;let _=B.exec(q),H=j.exec(q),L=_?_.index:1/0,O=H?H.index:1/0;if(L<O)w++,z=L+_[0].length;else if(O<1/0){if(w--,w===0)return O;z=O+H[0].length}else break}return-1}function J(q,K,U){let W=0,w=new RegExp(`@${K}(?:\\s*\\(|\\s|$)`,"g"),z=new RegExp(`@${U}(?![a-z])`,"g"),B=/@else(?![a-z])/g,j=[],_;while((_=w.exec(q))!==null)j.push({pos:_.index,type:"open"});while((_=z.exec(q))!==null)j.push({pos:_.index,type:"close"});while((_=B.exec(q))!==null)j.push({pos:_.index,type:"else"});j.sort((H,L)=>H.pos-L.pos);for(let H of j)if(H.type==="open")W++;else if(H.type==="close")W--;else if(H.type==="else"&&W===0)return H.pos;return-1}{let q=!0;while(q){q=!1;let K=Z.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!K||K.index===void 0)break;let U=K.index,W,w,z=Z.slice(U+5),B=tJ(z);if(B)W=B.value,w=U+5+B.consumed;else w=U+5;let j=Y(Z,"auth","endauth",w);if(j===-1){console.warn(`[stx] @auth directive at position ${U} has no matching @endauth \u2014 the block was skipped.`);break}let _=Z.slice(w,j),H=J(_,"auth","endauth"),L;if(!$.auth)L=!1;else L=W?b1(`auth?.check && auth?.user?.[${W}]`,$):b1("auth?.check",$);let O;if(H!==-1){let F=_.slice(0,H),V=_.slice(H+5);O=L?F:V}else O=L?_:"";Z=Z.substring(0,U)+O+Z.substring(j+8),q=!0}}{let q=!0;while(q){q=!1;let K=Z.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!K||K.index===void 0)break;let U=K.index,W,w,z=Z.slice(U+6),B=tJ(z);if(B)W=B.value,w=U+6+B.consumed;else w=U+6;let j=Y(Z,"guest","endguest",w);if(j===-1){console.warn(`[stx] @guest directive at position ${U} has no matching @endguest \u2014 the block was skipped.`);break}let _=Z.slice(w,j),H=J(_,"guest","endguest"),L;if(!$.auth)L=!0;else L=W?b1(`!auth?.check || !auth?.user?.[${W}]`,$):b1("!auth?.check",$);let O;if(H!==-1){let F=_.slice(0,H),V=_.slice(H+5);O=L?F:V}else O=L?_:"";Z=Z.substring(0,U)+O+Z.substring(j+9),q=!0}}function G(q,K,U){if($.userCan&&typeof $.userCan[q]==="boolean")return $.userCan[q];if($.permissions?.check&&typeof $.permissions.check==="function")try{let W=[q];if(K)W.push(K);if(U){let w=b1(U,$);W.push(w)}return $.permissions.check(...W)}catch{return!1}return!1}function Q(q){let K=q.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!K)return null;return{ability:K[1],type:K[2],id:K[3]?.trim(),paramsEnd:K[0].length}}for(let q of["can","cannot"]){let K=`end${q}`,U=q==="can"?"elsecan":"elsecannot",W=!0;while(W){W=!1;let w=Z.match(new RegExp(`@${q}\\s*\\(`));if(!w||w.index===void 0)break;let z=w.index,B=Z.slice(z+`@${q}`.length),j=Q(B);if(!j)break;let _=z+`@${q}`.length+j.paramsEnd,H=Y(Z,q,K,_);if(H===-1){console.warn(`[stx] @${q} directive at position ${z} has no matching @${K} \u2014 the block was skipped.`);break}let L=Z.slice(_,H),O=[],F=0,V=new RegExp(`@${q}\\s*\\(`,"g"),A=new RegExp(`@${K}(?![a-z])`,"g"),R=new RegExp(`@${U}\\s*\\(`,"g"),N=/@else(?![a-z])/g,T=[],k;while((k=V.exec(L))!==null)T.push({pos:k.index,type:"open"});while((k=A.exec(L))!==null)T.push({pos:k.index,type:"close"});while((k=R.exec(L))!==null)T.push({pos:k.index,type:"elseDirective"});while((k=N.exec(L))!==null)T.push({pos:k.index,type:"else"});T.sort((b,P)=>b.pos-P.pos);for(let b of T){if(b.type==="open"){F++;continue}if(b.type==="close"){F--;continue}if(F===0)O.push(b)}let M=[],y=0;for(let b=0;b<O.length;b++){let P=O[b];if(M.push({content:L.slice(y,P.pos),ability:void 0}),P.type==="elseDirective"){let x=L.slice(P.pos+`@${U}`.length),d=Q(x);if(d){M[M.length-1]={content:L.slice(y,P.pos)},y=P.pos+`@${U}`.length+d.paramsEnd,M.push({content:"",ability:d.ability,type:d.type,id:d.id}),M.pop();let m=O[b+1],Y0=m?m.pos:L.length;M.push({content:L.slice(y,Y0),ability:d.ability,type:d.type,id:d.id}),y=Y0}}else y=P.pos+5}if(y<L.length){let b=M[M.length-1];if(O.length>0&&O[O.length-1].type==="else")M.push({content:L.slice(y),isFinalElse:!0});else if(M.length===0)M.push({content:L.slice(y)})}let I=G(j.ability,j.type,j.id),C=q==="can"?I:!I,S="";if(C)S=M[0]?.content||"";else{let b=!1;for(let P=1;P<M.length;P++){let x=M[P];if(x.isFinalElse){S=x.content,b=!0;break}if(x.ability){let d=G(x.ability,x.type,x.id);if(q==="can"?d:!d){S=x.content,b=!0;break}}}if(!b&&M.length>0){let P=M[M.length-1];if(P.isFinalElse)S=P.content}}Z=Z.substring(0,z)+S+Z.substring(H+`@${K}`.length),W=!0}}return Z}function I3(X,$,Z){let Y=X;function J(G,Q,q,K,U){let W=!0;while(W){W=!1;let w=new RegExp(`@${Q}\\s*\\(`),z=G.match(w);if(!z||z.index===void 0)break;let B=z.index,j=k1(G,B+`@${Q}`.length);if(!j)break;let _=j.endPos,H=n1(G,Q,q,_);if(H===-1){console.warn(`[stx] @${Q} directive at position ${B} has no matching @${q} \u2014 the block was skipped.`);break}let L=G.slice(_,H),O=j.expression,F=-1,V=0,A=0;while(A<L.length){let R=L.indexOf("@",A);if(R===-1)break;let N=L.substring(R);if(/^@(?:if|unless|isset|empty)\s*\(/.test(N)){V++,A=R+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(N)){V--,A=R+1;continue}if(V===0&&/^@else(?![a-z])/.test(N)){F=R;break}A=R+1}try{let R=K(O.trim()),N;if(F!==-1){let T=L.slice(0,F),k=L.slice(F+5);N=R?T:k}else N=R?L:"";G=G.substring(0,B)+N+G.substring(H+`@${q}`.length),W=!0}catch(R){let N=R instanceof Error?R.message:String(R),T=X0(U,`Error processing @${Q} directive: ${N}`,s.EVALUATION_ERROR);G=G.substring(0,B)+T+G.substring(H+`@${q}`.length);break}}return G}return Y=J(Y,"isset","endisset",(G)=>{let Q=b1(G,$);return Q!==void 0&&Q!==null},"Isset"),Y=J(Y,"empty","endempty",(G)=>{let Q=b1(G,$);return Q===void 0||Q===null||Q===""||Q===0||Q===!1||Array.isArray(Q)&&Q.length===0||typeof Q==="object"&&Q!==null&&Object.keys(Q).length===0},"Empty"),Y}function E3(X,$,Z){let Y=X,J="development";function G(Q,q,K,U){let W=new RegExp(`@${q}(?![a-z])`,"g"),w=new RegExp(`@${K}(?![a-z])`,"g"),z=new RegExp(`^@${q}(?![a-z])`),B=new RegExp(`^@${K}(?![a-z])`),j=Q,_=!0;while(_){_=!1,W.lastIndex=0;let H=W.exec(j);if(!H)break;let L=H.index,O=L+H[0].length;if(q==="env"){let I=j.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!I)break;O+=I[0].length,U=J===I[2]}let F=1,V=O,A=-1;while(F>0&&V<j.length){W.lastIndex=V,w.lastIndex=V;let I=W.exec(j),C=w.exec(j),S=I?I.index:1/0,b=C?C.index:1/0;if(S<b)F++,V=S+I[0].length;else if(b<1/0){if(F--,F===0){A=b;break}V=b+C[0].length}else break}if(A===-1){console.warn(`[stx] @${q} directive at position ${L} has no matching @${K} \u2014 the block was skipped.`);break}let R=j.substring(O,A),N=-1,T=0,k=0;while(k<R.length){let I=R.indexOf("@",k);if(I===-1)break;let C=R.substring(I);if(z.test(C)){T++,k=I+1;continue}if(B.test(C)){T--,k=I+1;continue}if(T===0&&/^@else(?![a-z])/.test(C)){N=I;break}k=I+1}let M;if(N!==-1){let I=R.slice(0,N),C=R.slice(N+5);M=U?I:C}else M=U?R:"";let y=`@${K}`.length;j=j.substring(0,L)+M+j.substring(A+y),_=!0}return j}return Y=G(Y,"env","endenv",!1),Y=G(Y,"production","endproduction",J==="production"),Y=G(Y,"development","enddevelopment",J==="development"),Y=G(Y,"staging","endstaging",J==="staging"),Y=G(Y,"testing","endtesting",J==="testing"),Y}var C8=E(()=>{aJ();w1();DX();O0()});function XG(X=16){let $=new Uint8Array(X);return crypto.getRandomValues($),btoa(String.fromCharCode(...$))}function P8(X,$){if(!X)return $?.nonceGenerator?.()??XG();let Z=eJ.get(X);if(!Z)Z=$?.nonceGenerator?.()??XG(),eJ.set(X,Z);return Z}function bB(X,$){let Z=[];for(let[Y,J]of Object.entries(X)){if(J===void 0||J===null)continue;if(typeof J==="boolean"){if(J)Z.push(Y);continue}if(Array.isArray(J)){let G=[...J];if($&&(Y==="script-src"||Y==="style-src"))G=G.filter((Q)=>!Q.startsWith("'nonce-")),G.push(`'nonce-${$}'`);if(G.length>0)Z.push(`${Y} ${G.join(" ")}`)}}return Z.join("; ")}function $G(X,$){return`<meta http-equiv="Content-Security-Policy" content="${bB(X,$).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}">`}function ZG(X,$,Z){if(!$.enabled||!$.addMetaTag)return X;if(X.includes('http-equiv="Content-Security-Policy"'))return X;if(!X.includes("<head>")&&!X.includes("<head "))return X;let Y=$.useNonce?P8(Z,$):void 0,J=$G($.directives,Y);return X.replace(/<head([^>]*)>/,`<head$1>
13287
- ${J}`)}function YG(X,$){let Z=X;return Z=Z.replace(/<script(?![^>]*\ssrc=)([^>]*)>/gi,(Y,J)=>{if(J.includes("nonce="))return Y;return`<script nonce="${$}"${J}>`}),Z=Z.replace(/<style([^>]*)>/gi,(Y,J)=>{if(J.includes("nonce="))return Y;return`<style nonce="${$}"${J}>`}),Z}function JG(X,$,Z,Y){let J=X,G=Y.csp;if(J=J.replace(/@csp\b/g,()=>{if(!G?.enabled||!G.directives)return"<!-- CSP not configured -->";let Q=G.useNonce?P8($,G):void 0;return $G(G.directives,Q)}),J=J.replace(/@cspNonce\b/g,()=>{if(!G?.enabled||!G.useNonce)return"";return P8($,G)}),G?.enabled&&G.useNonce)$.cspNonce=P8($,G);return J}var eJ;var GG=E(()=>{eJ=new WeakMap});import SB from"crypto";function PB(X=CB){let $=SB.randomBytes(Math.ceil(X/2)).toString("hex").slice(0,X);return D3=$,$}function vB(){if(!D3)PB();return D3}function xB(X=QG){let $=vB();return`<input type="hidden" name="${X}" value="${$}">`}function qG(X){return X.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,($,Z,Y)=>{return xB(Y||QG)})}var CB=40,QG="_token",D3=null;var KG=()=>{};async function UG(X,$,Z,Y){if(!Y.customDirectives||Y.customDirectives.length===0)return X;let J=X;for(let G of Y.customDirectives){if(!G.name||typeof G.handler!=="function"){if(Y.debug)console.warn("Invalid custom directive:",G);continue}if(G.hasEndTag)J=await fB(J,G,$,Z,Y);else J=await gB(J,G,$,Z,Y)}return J}async function fB(X,$,Z,Y,J){let{name:G,handler:Q}=$,q=`@${G}`,K=`@end${G}`,U=X,W=T5(`${q}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${K}`,"g"),w=[],z=W.exec(U);while(z!==null){let[B,j="",_=""]=z,H=z.index||0;try{let L=j?WG(j):[],O=_.trim(),F=await Q(O,L,Z,Y);w.push({original:B,processed:F,startIndex:H})}catch(L){let O=L instanceof Error?L.message:String(L);if(J.debug)console.error(`Error processing custom directive @${G}:`,L);w.push({original:B,processed:X0("CustomDirective",`Error in @${G}${j?`(${j})`:""}: ${O}`,s.EVALUATION_ERROR),startIndex:H})}z=W.exec(U)}for(let B=w.length-1;B>=0;B--){let{original:j,processed:_}=w[B];U=U.replace(j,_)}return U}async function gB(X,$,Z,Y,J){let{name:G,handler:Q}=$,q=X,K=T5(`@${G}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),U=[],W=K.exec(q);while(W!==null){let[B,j=""]=W,_=W.index||0;try{let H=WG(j),L=await Q("",H,Z,Y);U.push({original:B,processed:L,startIndex:_})}catch(H){let L=H instanceof Error?H.message:String(H);if(J.debug)console.error(`Error processing custom directive @${G}:`,H);U.push({original:B,processed:X0("CustomDirective",`Error in @${G}(${j}): ${L}`,s.EVALUATION_ERROR),startIndex:_})}W=K.exec(q)}let w=T5(`@${G}(?!\\w)(?!\\s*\\()`,"g"),z=w.exec(q);while(z!==null){let[B]=z,j=z.index||0;try{let _=await Q("",[],Z,Y);U.push({original:B,processed:_,startIndex:j})}catch(_){let H=_ instanceof Error?_.message:String(_);if(J.debug)console.error(`Error processing custom directive @${G}:`,_);U.push({original:B,processed:X0("CustomDirective",`Error in @${G}: ${H}`,s.EVALUATION_ERROR),startIndex:j})}z=w.exec(q)}for(let B=U.length-1;B>=0;B--){let{original:j,processed:_}=U[B];q=q.replace(j,_)}return q}function WG(X){if(!X.trim())return[];let $=[],Z="",Y=!1,J="";for(let G=0;G<X.length;G++){let Q=X[G];if((Q==='"'||Q==="'")&&(G===0||X[G-1]!=="\\"))if(!Y)Y=!0,J=Q;else if(Q===J)Y=!1;else Z+=Q;else if(Q===","&&!Y)$.push(Z.trim()),Z="";else Z+=Q}if(Z.trim())$.push(Z.trim());return $.map((G)=>{let Q=G.trim();if(Q.startsWith('"')&&Q.endsWith('"')||Q.startsWith("'")&&Q.endsWith("'"))return Q.substring(1,Q.length-1);return Q})}var wG=E(()=>{w1();M5()});function Y5(X,$){if(typeof X!=="string"||X.length===0)throw Error(`@appearanceBootstrap ${$} must be a non-empty string`)}function uB(X){if(!X||typeof X!=="object"||Array.isArray(X))throw Error("@appearanceBootstrap expects an options object");let $=X,Z=$.appearance,Y=$.colorMode;if(Y5($.storageKey,"storageKey"),!Z||typeof Z!=="object"||Array.isArray(Z))throw Error("@appearanceBootstrap appearance must be an object");if(!Y||typeof Y!=="object"||Array.isArray(Y))throw Error("@appearanceBootstrap colorMode must be an object");if(Y5(Z.key,"appearance.key"),Y5(Z.attribute,"appearance.attribute"),Y5(Z.default,"appearance.default"),Y5(Y.key,"colorMode.key"),Y5(Y.attribute,"colorMode.attribute"),Y5(Y.default,"colorMode.default"),!jG.test(Z.key)||!jG.test(Y.key))throw Error("@appearanceBootstrap preference keys must be JavaScript property names");if(!zG.test(Z.attribute)||!zG.test(Y.attribute))throw Error("@appearanceBootstrap attributes must be lowercase data attribute names");if(!Array.isArray(Z.allowed)||Z.allowed.length===0||Z.allowed.some((J)=>typeof J!=="string"||J.length===0))throw Error("@appearanceBootstrap appearance.allowed must contain one or more strings");if(!Z.allowed.includes(Z.default))throw Error("@appearanceBootstrap appearance.default must be in appearance.allowed");if(!hB.has(Y.default))throw Error("@appearanceBootstrap colorMode.default must be light, dark, or system");return{storageKey:$.storageKey,appearance:{key:Z.key,attribute:Z.attribute,allowed:[...new Set(Z.allowed)],default:Z.default},colorMode:{key:Y.key,attribute:Y.attribute,default:Y.default}}}function dB(X){return JSON.stringify(X).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function mB(X){return`<script data-stx-scoped data-stx-appearance-bootstrap>(function(){"use strict";const config=${dB(X)};const root=document.documentElement;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{}const selectedAppearance=config.appearance.allowed.includes(stored[config.appearance.key])?stored[config.appearance.key]:config.appearance.default;const selectedMode=["light","dark","system"].includes(stored[config.colorMode.key])?stored[config.colorMode.key]:config.colorMode.default;root.setAttribute("data-"+config.appearance.attribute,selectedAppearance);root.setAttribute("data-"+config.colorMode.attribute,selectedMode);let dark=selectedMode==="dark";if(selectedMode==="system"){try{dark=matchMedia("(prefers-color-scheme: dark)").matches}catch{dark=false}}root.classList.toggle("dark",dark);root.dataset.theme=dark?"dark":"light"}());</script>`}function lB(X,$){let Z=1,Y=null,J=!1;for(let G=$+1;G<X.length;G++){let Q=X[G];if(J){J=!1;continue}if(Y){if(Q==="\\")J=!0;else if(Q===Y)Y=null;continue}if(Q==='"'||Q==="'"||Q==="`"){Y=Q;continue}if(Q==="(")Z++;else if(Q===")"&&--Z===0)return G}return-1}function BG(X,$){let Z=X,Y=/@appearanceBootstrap\s*\(/g,J;while((J=Y.exec(Z))!==null){let G=J.index+J[0].length-1,Q=lB(Z,G);if(Q===-1)throw Error("@appearanceBootstrap has an unclosed options object");let q=Z.slice(G+1,Q).trim(),K=$0(`(${q})`,$),U=mB(uB(K));Z=Z.slice(0,J.index)+U+Z.slice(Q+1),Y.lastIndex=J.index+U.length}return Z}var zG,jG,hB;var _G=E(()=>{O0();zG=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,jG=/^[A-Za-z_$][\w$]*$/,hB=new Set(["light","dark","system"])});import cB from"crypto";function B0(X){return String(X??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function v8(X,$,Z,Y){let J=X||$;return Z?`${J} ${Y}`:J}function l0(X){return String(X).replace(/\[\]$/,"").replace(/[^\w.:-]+/g,"-").replace(/^-+|-+$/g,"")}function P5(X,$){if(/\bid\s*=/i.test(X))return"";return` id="${B0($)}"`}function y3(X,$,Z){if(!$)return"";let Y="";if(!/\baria-invalid\s*=/i.test(Z))Y+=' aria-invalid="true"';if(!/\baria-describedby\s*=/i.test(Z))Y+=` aria-describedby="${B0(`${l0(X)}-error`)}"`;return Y}function pB(){return cB.randomUUID()}function x8(X,$){let Z=X;return Z=Z.replace(/@csrf/g,()=>{if(!$.csrf||typeof $.csrf!=="object"){let Y=pB();$.csrf={token:Y}}if($.csrf.field)return $.csrf.field;if($.csrf.token)return`<input type="hidden" name="_token" value="${B0($.csrf.token)}">`;return'<input type="hidden" name="_token" value="">'}),Z=Z.replace(/@method\(['"]([^'"]+)['"]\)/g,(Y,J)=>{let G=J.toUpperCase();if(J&&!["GET","POST"].includes(G))return`<input type="hidden" name="_method" value="${B0(G)}">`;return Y}),Z}function LG(X,$,Z=OG){let Y=X;return Y=Y.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(J,G,Q,q,K,U="")=>{let W=G||Q||"POST",w=q||K||"",z=S1(U),B=W.toUpperCase(),j=["GET","POST"].includes(B)?B:"POST",_=`<form method="${B0(j)}" action="${B0(w)}"${z?` ${z}`:""}>`;if(_+=`
13285
+ `+J.slice(Q);else J+=G;return J}function VB(X,$){let Z=0,Y=X.replace(/<([a-z][a-z0-9-]*)(\s+[^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,(J,G,Q)=>{let q=$[Z++];if(!q)return J;let K=/data-stx-scope="([^"]*)"/.exec(Q);if(K)return q.id=K[1],q.selector=`[data-stx-scope="${q.id}"]`,J;return`<${G} data-stx-scope="${q.id}"${Q}>`});return Y=Y.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),Y=Y.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),Y=Y.replace(/\s*x-init\s*=\s*"[^"]*"/g,""),Y=Y.replace(/\s*x-init\s*=\s*'[^']*'/g,""),Y}function AB(X){return/x-data\s*=\s*["']/.test(X)}var iJ=0,jB=0;var rJ=E(()=>{Z1()});import RB from"fs";import N3 from"path";import{createHighlighter as TB}from"ts-syntax-highlighter";async function NB(X,$={}){try{if(!await p(X))throw Error(`Markdown file not found: ${X}`);let Y=(await RB.promises.stat(X)).mtime.getTime();if($.cache&&M3.has(X)){let w=M3.get(X);if(w.updatedAt>=Y)return{content:w.content,data:w.data}}let J=await Bun.file(X).text(),{data:G,content:Q}=s2(J),q=$.markdown||_7.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},U=w7(Q,{gfm:!0});if(q.syntaxHighlighting?.enabled&&q.syntaxHighlighting?.serverSide)U=await MB(U,q.syntaxHighlighting?.defaultTheme||"github-dark",q.syntaxHighlighting?.highlightUnknownLanguages||!1);let W={content:U,data:G||{}};if($.cache)M3.set(X,{...W,updatedAt:Y});return W}catch(Z){if($.debug)console.error(`Error reading/parsing markdown file ${X}:`,Z);let Y=Z instanceof Error?Z.message:String(Z);return{content:U0("Markdown File",`Error reading/parsing markdown file: ${Y}`,X,"",0,""),data:{}}}}async function MB(X,$,Z){let Y=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!S8)try{S8=await TB({theme:$||"github-dark",cache:!0})}catch(q){return console.error("Failed to initialize ts-syntax-highlighter:",q),X}let J=async(q,K,U,W)=>{let w=W.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#39;/g,"'"),z=U||(Z?"text":"");if(!z)return q;try{if(!S8.getSupportedLanguages().includes(z))return q;return(await S8.highlight(w,z,{theme:$})).html}catch(B){console.error(`Error highlighting code block with language ${U}:`,B)}return q},G=X,Q=X.matchAll(Y);for(let q of Q){let[K,U,W,w]=q,z=await J(K,U,W,w);G=G.replace(K,z)}return G}async function oJ(X,$,Z="",Y={}){return await kB(X,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(Q,q,K,U)=>{try{let W=q;if(!N3.isAbsolute(q))W=N3.resolve(N3.dirname(Z),q);let w={};if(K)try{try{w=JSON.parse(K)}catch{if(Y.debug)console.warn("Using safer alternative for parsing JS object literal");let O=K.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let F of O){let V=F.indexOf(":");if(V>0){let A=F.substring(0,V).trim(),R=F.substring(V+1).trim(),T=R.startsWith('"')&&R.endsWith('"'),N=R.startsWith("'")&&R.endsWith("'");if(T||N)R=R.substring(1,R.length-1);w[A]=R}}}}catch(L){if(Y.debug)console.error("Error parsing context in @markdown-file directive:",L)}let{content:z,data:B}=await NB(W,Y),j={...$,...B,...w},_=z,H=/\{\{([^}]+)\}\}/g;return _=_.replace(H,(L,O)=>{let F=O.trim();return j[F]!==void 0?String(j[F]):L}),_}catch(W){let w=W instanceof Error?W.message:String(W);return U0("Markdown File",`Error including markdown file: ${w}`,Z,X,U,Q)}})}async function kB(X,$,Z){let Y=[],J;while((J=$.exec(X))!==null){let q=J[0],K=J.index,U=J;Y.push(Z(...U).then((W)=>({match:q,replacement:W,index:K})))}let G=await Promise.all(Y);G.sort((q,K)=>K.index-q.index);let Q=X;for(let{match:q,replacement:K}of G)Q=Q.replace(q,()=>K);return Q}var M3,S8=null;var sJ=E(()=>{V1();A0();M3=new Map});function b1(X,$){try{let Z=X.trim();if(G0(Z))return Q0(Z,Object.keys($))(...Object.values($));else return $0(Z,$)}catch{return!1}}var aJ=E(()=>{O0()});function IB(X,$,Z){let Y=X,J=!0;while(J){J=!1;let G=Y.match(/@switch\s*\(/);if(!G||G.index===void 0)break;let Q=G.index,q=K9(Y,Q);if(!q)break;try{let K;if(G0(q.expression))K=Q0(q.expression,Object.keys($))(...Object.values($));else K=$0(q.expression,$);let U="",W=!1;for(let w of q.cases)if(w.type==="default"){if(!W)U=w.content.trim()}else try{let z;if(w.value&&G0(w.value))z=Q0(w.value,Object.keys($))(...Object.values($));else if(w.value)z=$0(w.value,$);if(K===z){U=w.content.trim(),W=!0;break}}catch{continue}Y=Y.substring(0,Q)+U+Y.substring(q.end),J=!0}catch(K){let U=K instanceof Error?K.message:String(K),W=X0("Switch",`Error evaluating @switch expression: ${U}`,s.EVALUATION_ERROR);Y=Y.substring(0,Q)+W+Y.substring(q.end);break}}return Y}function EB(X){let $=[];return{masked:X.replace(/<script\b[\s\S]*?<\/script\s*>/gi,(Y)=>{return $.push(Y),`\x00stx-script-${$.length-1}\x00`}),scripts:$}}function DB(X,$){if($.length===0)return X;return X.replace(/\u0000stx-script-(\d+)\u0000/g,(Z,Y)=>$[Number(Y)]??Z)}function Z5(X,$,Z){let{masked:Y,scripts:J}=EB(X);return DB(yB(Y,$,Z),J)}function yB(X,$,Z){let Y=X;Y=IB(Y,$,Z);{let G=!0;while(G){G=!1;let Q=Y.match(/@unless\s*\(/);if(!Q||Q.index===void 0)break;let q=Q.index,K=k1(Y,q+7);if(!K)break;let U=K.endPos,W=n1(Y,"unless","endunless",U);if(W===-1){console.warn(`[stx] @unless directive at position ${q} has no matching @endunless \u2014 the block was skipped. Check for typos or missing closers.`);break}let w=Y.slice(U,W),z=K.expression,B=-1;{let _=0,H=/@(?:if|unless)\s*\(/g,L=/@(?:endif|endunless)(?![a-z])/g,O=/@else(?![a-z])/g,F=[],V;while((V=H.exec(w))!==null)F.push({pos:V.index,type:"open"});while((V=L.exec(w))!==null)F.push({pos:V.index,type:"close"});while((V=O.exec(w))!==null)F.push({pos:V.index,type:"else"});F.sort((A,R)=>A.pos-R.pos);for(let A of F)if(A.type==="open")_++;else if(A.type==="close")_--;else if(A.type==="else"&&_===0){B=A.pos;break}}let j;if(B!==-1){let _=w.slice(0,B),H=w.slice(B+5);j=`@if (${z})${H}@else ${_}@endif`}else j=`@if (!(${z}))${w}@endif`;Y=Y.substring(0,q)+j+Y.substring(W+10),G=!0}}Y=I3(Y,$,Z),Y=E3(Y,$,Z),Y=k3(Y,$);let J=()=>{let G=I7(Y);if(G.length===0)return!1;for(let Q=G.length-1;Q>=0;Q--){let q=G[Q];try{let K="",U=!1;for(let W of q.branches){if(U)break;if(W.type==="else")K=W.content,U=!0;else try{let w;if(W.condition&&G0(W.condition))w=Q0(W.condition,Object.keys($))(...Object.values($));else if(W.condition)w=$0(W.condition,$);if(w)K=W.content,U=!0}catch(w){K=X0(W.type==="if"?"If":"Elseif",`Error in @${W.type}(${W.condition}): ${w instanceof Error?w.message:String(w)}`,s.EVALUATION_ERROR),U=!0}}Y=Y.substring(0,q.start)+K+Y.substring(q.end)}catch(K){let U=K instanceof Error?K.message:String(K),W=X0("If",`Error processing @if block: ${U}`,s.EVALUATION_ERROR);Y=Y.substring(0,q.start)+W+Y.substring(q.end)}}return!0};while(!0){let G=Y;if(!J())break;if(Y===G)break}return Y}function tJ(X){let $=0;while($<X.length&&/\s/.test(X[$]))$++;if(X[$]!=="(")return null;$++;while($<X.length&&/\s/.test(X[$]))$++;let Z=X[$];if(Z!=="'"&&Z!=='"')return null;$++;let Y=[];while($<X.length){let J=X[$];if(J==="\\"&&$+1<X.length){Y.push(X[$+1]),$+=2;continue}if(J===Z){$++;break}Y.push(J),$++}while($<X.length&&/\s/.test(X[$]))$++;if(X[$]!==")")return null;return $++,{value:Y.join(""),consumed:$}}function k3(X,$){let Z=X;function Y(q,K,U,W){let w=1,z=W,B=new RegExp(`@${K}(?:\\s*\\(|\\s|$)`,"g"),j=new RegExp(`@${U}(?![a-z])`,"g");while(z<q.length&&w>0){B.lastIndex=z,j.lastIndex=z;let _=B.exec(q),H=j.exec(q),L=_?_.index:1/0,O=H?H.index:1/0;if(L<O)w++,z=L+_[0].length;else if(O<1/0){if(w--,w===0)return O;z=O+H[0].length}else break}return-1}function J(q,K,U){let W=0,w=new RegExp(`@${K}(?:\\s*\\(|\\s|$)`,"g"),z=new RegExp(`@${U}(?![a-z])`,"g"),B=/@else(?![a-z])/g,j=[],_;while((_=w.exec(q))!==null)j.push({pos:_.index,type:"open"});while((_=z.exec(q))!==null)j.push({pos:_.index,type:"close"});while((_=B.exec(q))!==null)j.push({pos:_.index,type:"else"});j.sort((H,L)=>H.pos-L.pos);for(let H of j)if(H.type==="open")W++;else if(H.type==="close")W--;else if(H.type==="else"&&W===0)return H.pos;return-1}{let q=!0;while(q){q=!1;let K=Z.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!K||K.index===void 0)break;let U=K.index,W,w,z=Z.slice(U+5),B=tJ(z);if(B)W=B.value,w=U+5+B.consumed;else w=U+5;let j=Y(Z,"auth","endauth",w);if(j===-1){console.warn(`[stx] @auth directive at position ${U} has no matching @endauth \u2014 the block was skipped.`);break}let _=Z.slice(w,j),H=J(_,"auth","endauth"),L;if(!$.auth)L=!1;else L=W?b1(`auth?.check && auth?.user?.[${W}]`,$):b1("auth?.check",$);let O;if(H!==-1){let F=_.slice(0,H),V=_.slice(H+5);O=L?F:V}else O=L?_:"";Z=Z.substring(0,U)+O+Z.substring(j+8),q=!0}}{let q=!0;while(q){q=!1;let K=Z.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!K||K.index===void 0)break;let U=K.index,W,w,z=Z.slice(U+6),B=tJ(z);if(B)W=B.value,w=U+6+B.consumed;else w=U+6;let j=Y(Z,"guest","endguest",w);if(j===-1){console.warn(`[stx] @guest directive at position ${U} has no matching @endguest \u2014 the block was skipped.`);break}let _=Z.slice(w,j),H=J(_,"guest","endguest"),L;if(!$.auth)L=!0;else L=W?b1(`!auth?.check || !auth?.user?.[${W}]`,$):b1("!auth?.check",$);let O;if(H!==-1){let F=_.slice(0,H),V=_.slice(H+5);O=L?F:V}else O=L?_:"";Z=Z.substring(0,U)+O+Z.substring(j+9),q=!0}}function G(q,K,U){if($.userCan&&typeof $.userCan[q]==="boolean")return $.userCan[q];if($.permissions?.check&&typeof $.permissions.check==="function")try{let W=[q];if(K)W.push(K);if(U){let w=b1(U,$);W.push(w)}return $.permissions.check(...W)}catch{return!1}return!1}function Q(q){let K=q.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!K)return null;return{ability:K[1],type:K[2],id:K[3]?.trim(),paramsEnd:K[0].length}}for(let q of["can","cannot"]){let K=`end${q}`,U=q==="can"?"elsecan":"elsecannot",W=!0;while(W){W=!1;let w=Z.match(new RegExp(`@${q}\\s*\\(`));if(!w||w.index===void 0)break;let z=w.index,B=Z.slice(z+`@${q}`.length),j=Q(B);if(!j)break;let _=z+`@${q}`.length+j.paramsEnd,H=Y(Z,q,K,_);if(H===-1){console.warn(`[stx] @${q} directive at position ${z} has no matching @${K} \u2014 the block was skipped.`);break}let L=Z.slice(_,H),O=[],F=0,V=new RegExp(`@${q}\\s*\\(`,"g"),A=new RegExp(`@${K}(?![a-z])`,"g"),R=new RegExp(`@${U}\\s*\\(`,"g"),T=/@else(?![a-z])/g,N=[],k;while((k=V.exec(L))!==null)N.push({pos:k.index,type:"open"});while((k=A.exec(L))!==null)N.push({pos:k.index,type:"close"});while((k=R.exec(L))!==null)N.push({pos:k.index,type:"elseDirective"});while((k=T.exec(L))!==null)N.push({pos:k.index,type:"else"});N.sort((b,P)=>b.pos-P.pos);for(let b of N){if(b.type==="open"){F++;continue}if(b.type==="close"){F--;continue}if(F===0)O.push(b)}let M=[],y=0;for(let b=0;b<O.length;b++){let P=O[b];if(M.push({content:L.slice(y,P.pos),ability:void 0}),P.type==="elseDirective"){let x=L.slice(P.pos+`@${U}`.length),d=Q(x);if(d){M[M.length-1]={content:L.slice(y,P.pos)},y=P.pos+`@${U}`.length+d.paramsEnd,M.push({content:"",ability:d.ability,type:d.type,id:d.id}),M.pop();let m=O[b+1],Y0=m?m.pos:L.length;M.push({content:L.slice(y,Y0),ability:d.ability,type:d.type,id:d.id}),y=Y0}}else y=P.pos+5}if(y<L.length){let b=M[M.length-1];if(O.length>0&&O[O.length-1].type==="else")M.push({content:L.slice(y),isFinalElse:!0});else if(M.length===0)M.push({content:L.slice(y)})}let I=G(j.ability,j.type,j.id),C=q==="can"?I:!I,S="";if(C)S=M[0]?.content||"";else{let b=!1;for(let P=1;P<M.length;P++){let x=M[P];if(x.isFinalElse){S=x.content,b=!0;break}if(x.ability){let d=G(x.ability,x.type,x.id);if(q==="can"?d:!d){S=x.content,b=!0;break}}}if(!b&&M.length>0){let P=M[M.length-1];if(P.isFinalElse)S=P.content}}Z=Z.substring(0,z)+S+Z.substring(H+`@${K}`.length),W=!0}}return Z}function I3(X,$,Z){let Y=X;function J(G,Q,q,K,U){let W=!0;while(W){W=!1;let w=new RegExp(`@${Q}\\s*\\(`),z=G.match(w);if(!z||z.index===void 0)break;let B=z.index,j=k1(G,B+`@${Q}`.length);if(!j)break;let _=j.endPos,H=n1(G,Q,q,_);if(H===-1){console.warn(`[stx] @${Q} directive at position ${B} has no matching @${q} \u2014 the block was skipped.`);break}let L=G.slice(_,H),O=j.expression,F=-1,V=0,A=0;while(A<L.length){let R=L.indexOf("@",A);if(R===-1)break;let T=L.substring(R);if(/^@(?:if|unless|isset|empty)\s*\(/.test(T)){V++,A=R+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(T)){V--,A=R+1;continue}if(V===0&&/^@else(?![a-z])/.test(T)){F=R;break}A=R+1}try{let R=K(O.trim()),T;if(F!==-1){let N=L.slice(0,F),k=L.slice(F+5);T=R?N:k}else T=R?L:"";G=G.substring(0,B)+T+G.substring(H+`@${q}`.length),W=!0}catch(R){let T=R instanceof Error?R.message:String(R),N=X0(U,`Error processing @${Q} directive: ${T}`,s.EVALUATION_ERROR);G=G.substring(0,B)+N+G.substring(H+`@${q}`.length);break}}return G}return Y=J(Y,"isset","endisset",(G)=>{let Q=b1(G,$);return Q!==void 0&&Q!==null},"Isset"),Y=J(Y,"empty","endempty",(G)=>{let Q=b1(G,$);return Q===void 0||Q===null||Q===""||Q===0||Q===!1||Array.isArray(Q)&&Q.length===0||typeof Q==="object"&&Q!==null&&Object.keys(Q).length===0},"Empty"),Y}function E3(X,$,Z){let Y=X,J="development";function G(Q,q,K,U){let W=new RegExp(`@${q}(?![a-z])`,"g"),w=new RegExp(`@${K}(?![a-z])`,"g"),z=new RegExp(`^@${q}(?![a-z])`),B=new RegExp(`^@${K}(?![a-z])`),j=Q,_=!0;while(_){_=!1,W.lastIndex=0;let H=W.exec(j);if(!H)break;let L=H.index,O=L+H[0].length;if(q==="env"){let I=j.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!I)break;O+=I[0].length,U=J===I[2]}let F=1,V=O,A=-1;while(F>0&&V<j.length){W.lastIndex=V,w.lastIndex=V;let I=W.exec(j),C=w.exec(j),S=I?I.index:1/0,b=C?C.index:1/0;if(S<b)F++,V=S+I[0].length;else if(b<1/0){if(F--,F===0){A=b;break}V=b+C[0].length}else break}if(A===-1){console.warn(`[stx] @${q} directive at position ${L} has no matching @${K} \u2014 the block was skipped.`);break}let R=j.substring(O,A),T=-1,N=0,k=0;while(k<R.length){let I=R.indexOf("@",k);if(I===-1)break;let C=R.substring(I);if(z.test(C)){N++,k=I+1;continue}if(B.test(C)){N--,k=I+1;continue}if(N===0&&/^@else(?![a-z])/.test(C)){T=I;break}k=I+1}let M;if(T!==-1){let I=R.slice(0,T),C=R.slice(T+5);M=U?I:C}else M=U?R:"";let y=`@${K}`.length;j=j.substring(0,L)+M+j.substring(A+y),_=!0}return j}return Y=G(Y,"env","endenv",!1),Y=G(Y,"production","endproduction",J==="production"),Y=G(Y,"development","enddevelopment",J==="development"),Y=G(Y,"staging","endstaging",J==="staging"),Y=G(Y,"testing","endtesting",J==="testing"),Y}var C8=E(()=>{aJ();w1();DX();O0()});function XG(X=16){let $=new Uint8Array(X);return crypto.getRandomValues($),btoa(String.fromCharCode(...$))}function P8(X,$){if(!X)return $?.nonceGenerator?.()??XG();let Z=eJ.get(X);if(!Z)Z=$?.nonceGenerator?.()??XG(),eJ.set(X,Z);return Z}function bB(X,$){let Z=[];for(let[Y,J]of Object.entries(X)){if(J===void 0||J===null)continue;if(typeof J==="boolean"){if(J)Z.push(Y);continue}if(Array.isArray(J)){let G=[...J];if($&&(Y==="script-src"||Y==="style-src"))G=G.filter((Q)=>!Q.startsWith("'nonce-")),G.push(`'nonce-${$}'`);if(G.length>0)Z.push(`${Y} ${G.join(" ")}`)}}return Z.join("; ")}function $G(X,$){return`<meta http-equiv="Content-Security-Policy" content="${bB(X,$).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}">`}function ZG(X,$,Z){if(!$.enabled||!$.addMetaTag)return X;if(X.includes('http-equiv="Content-Security-Policy"'))return X;if(!X.includes("<head>")&&!X.includes("<head "))return X;let Y=$.useNonce?P8(Z,$):void 0,J=$G($.directives,Y);return X.replace(/<head([^>]*)>/,`<head$1>
13286
+ ${J}`)}function YG(X,$){let Z=X;return Z=Z.replace(/<script(?![^>]*\ssrc=)([^>]*)>/gi,(Y,J)=>{if(J.includes("nonce="))return Y;return`<script nonce="${$}"${J}>`}),Z=Z.replace(/<style([^>]*)>/gi,(Y,J)=>{if(J.includes("nonce="))return Y;return`<style nonce="${$}"${J}>`}),Z}function JG(X,$,Z,Y){let J=X,G=Y.csp;if(J=J.replace(/@csp\b/g,()=>{if(!G?.enabled||!G.directives)return"<!-- CSP not configured -->";let Q=G.useNonce?P8($,G):void 0;return $G(G.directives,Q)}),J=J.replace(/@cspNonce\b/g,()=>{if(!G?.enabled||!G.useNonce)return"";return P8($,G)}),G?.enabled&&G.useNonce)$.cspNonce=P8($,G);return J}var eJ;var GG=E(()=>{eJ=new WeakMap});import SB from"crypto";function PB(X=CB){let $=SB.randomBytes(Math.ceil(X/2)).toString("hex").slice(0,X);return D3=$,$}function vB(){if(!D3)PB();return D3}function xB(X=QG){let $=vB();return`<input type="hidden" name="${X}" value="${$}">`}function qG(X){return X.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,($,Z,Y)=>{return xB(Y||QG)})}var CB=40,QG="_token",D3=null;var KG=()=>{};async function UG(X,$,Z,Y){if(!Y.customDirectives||Y.customDirectives.length===0)return X;let J=X;for(let G of Y.customDirectives){if(!G.name||typeof G.handler!=="function"){if(Y.debug)console.warn("Invalid custom directive:",G);continue}if(G.hasEndTag)J=await fB(J,G,$,Z,Y);else J=await gB(J,G,$,Z,Y)}return J}async function fB(X,$,Z,Y,J){let{name:G,handler:Q}=$,q=`@${G}`,K=`@end${G}`,U=X,W=N5(`${q}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${K}`,"g"),w=[],z=W.exec(U);while(z!==null){let[B,j="",_=""]=z,H=z.index||0;try{let L=j?WG(j):[],O=_.trim(),F=await Q(O,L,Z,Y);w.push({original:B,processed:F,startIndex:H})}catch(L){let O=L instanceof Error?L.message:String(L);if(J.debug)console.error(`Error processing custom directive @${G}:`,L);w.push({original:B,processed:X0("CustomDirective",`Error in @${G}${j?`(${j})`:""}: ${O}`,s.EVALUATION_ERROR),startIndex:H})}z=W.exec(U)}for(let B=w.length-1;B>=0;B--){let{original:j,processed:_}=w[B];U=U.replace(j,_)}return U}async function gB(X,$,Z,Y,J){let{name:G,handler:Q}=$,q=X,K=N5(`@${G}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),U=[],W=K.exec(q);while(W!==null){let[B,j=""]=W,_=W.index||0;try{let H=WG(j),L=await Q("",H,Z,Y);U.push({original:B,processed:L,startIndex:_})}catch(H){let L=H instanceof Error?H.message:String(H);if(J.debug)console.error(`Error processing custom directive @${G}:`,H);U.push({original:B,processed:X0("CustomDirective",`Error in @${G}(${j}): ${L}`,s.EVALUATION_ERROR),startIndex:_})}W=K.exec(q)}let w=N5(`@${G}(?!\\w)(?!\\s*\\()`,"g"),z=w.exec(q);while(z!==null){let[B]=z,j=z.index||0;try{let _=await Q("",[],Z,Y);U.push({original:B,processed:_,startIndex:j})}catch(_){let H=_ instanceof Error?_.message:String(_);if(J.debug)console.error(`Error processing custom directive @${G}:`,_);U.push({original:B,processed:X0("CustomDirective",`Error in @${G}: ${H}`,s.EVALUATION_ERROR),startIndex:j})}z=w.exec(q)}for(let B=U.length-1;B>=0;B--){let{original:j,processed:_}=U[B];q=q.replace(j,_)}return q}function WG(X){if(!X.trim())return[];let $=[],Z="",Y=!1,J="";for(let G=0;G<X.length;G++){let Q=X[G];if((Q==='"'||Q==="'")&&(G===0||X[G-1]!=="\\"))if(!Y)Y=!0,J=Q;else if(Q===J)Y=!1;else Z+=Q;else if(Q===","&&!Y)$.push(Z.trim()),Z="";else Z+=Q}if(Z.trim())$.push(Z.trim());return $.map((G)=>{let Q=G.trim();if(Q.startsWith('"')&&Q.endsWith('"')||Q.startsWith("'")&&Q.endsWith("'"))return Q.substring(1,Q.length-1);return Q})}var wG=E(()=>{w1();M5()});function Y5(X,$){if(typeof X!=="string"||X.length===0)throw Error(`@appearanceBootstrap ${$} must be a non-empty string`)}function uB(X){if(!X||typeof X!=="object"||Array.isArray(X))throw Error("@appearanceBootstrap expects an options object");let $=X,Z=$.appearance,Y=$.colorMode;if(Y5($.storageKey,"storageKey"),!Z||typeof Z!=="object"||Array.isArray(Z))throw Error("@appearanceBootstrap appearance must be an object");if(!Y||typeof Y!=="object"||Array.isArray(Y))throw Error("@appearanceBootstrap colorMode must be an object");if(Y5(Z.key,"appearance.key"),Y5(Z.attribute,"appearance.attribute"),Y5(Z.default,"appearance.default"),Y5(Y.key,"colorMode.key"),Y5(Y.attribute,"colorMode.attribute"),Y5(Y.default,"colorMode.default"),!jG.test(Z.key)||!jG.test(Y.key))throw Error("@appearanceBootstrap preference keys must be JavaScript property names");if(!zG.test(Z.attribute)||!zG.test(Y.attribute))throw Error("@appearanceBootstrap attributes must be lowercase data attribute names");if(!Array.isArray(Z.allowed)||Z.allowed.length===0||Z.allowed.some((J)=>typeof J!=="string"||J.length===0))throw Error("@appearanceBootstrap appearance.allowed must contain one or more strings");if(!Z.allowed.includes(Z.default))throw Error("@appearanceBootstrap appearance.default must be in appearance.allowed");if(!hB.has(Y.default))throw Error("@appearanceBootstrap colorMode.default must be light, dark, or system");return{storageKey:$.storageKey,appearance:{key:Z.key,attribute:Z.attribute,allowed:[...new Set(Z.allowed)],default:Z.default},colorMode:{key:Y.key,attribute:Y.attribute,default:Y.default}}}function dB(X){return JSON.stringify(X).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function mB(X){return`<script data-stx-scoped data-stx-appearance-bootstrap>(function(){"use strict";const config=${dB(X)};const root=document.documentElement;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{}const selectedAppearance=config.appearance.allowed.includes(stored[config.appearance.key])?stored[config.appearance.key]:config.appearance.default;const selectedMode=["light","dark","system"].includes(stored[config.colorMode.key])?stored[config.colorMode.key]:config.colorMode.default;root.setAttribute("data-"+config.appearance.attribute,selectedAppearance);root.setAttribute("data-"+config.colorMode.attribute,selectedMode);let dark=selectedMode==="dark";if(selectedMode==="system"){try{dark=matchMedia("(prefers-color-scheme: dark)").matches}catch{dark=false}}root.classList.toggle("dark",dark);root.dataset.theme=dark?"dark":"light"}());</script>`}function lB(X,$){let Z=1,Y=null,J=!1;for(let G=$+1;G<X.length;G++){let Q=X[G];if(J){J=!1;continue}if(Y){if(Q==="\\")J=!0;else if(Q===Y)Y=null;continue}if(Q==='"'||Q==="'"||Q==="`"){Y=Q;continue}if(Q==="(")Z++;else if(Q===")"&&--Z===0)return G}return-1}function BG(X,$){let Z=X,Y=/@appearanceBootstrap\s*\(/g,J;while((J=Y.exec(Z))!==null){let G=J.index+J[0].length-1,Q=lB(Z,G);if(Q===-1)throw Error("@appearanceBootstrap has an unclosed options object");let q=Z.slice(G+1,Q).trim(),K=$0(`(${q})`,$),U=mB(uB(K));Z=Z.slice(0,J.index)+U+Z.slice(Q+1),Y.lastIndex=J.index+U.length}return Z}var zG,jG,hB;var _G=E(()=>{O0();zG=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,jG=/^[A-Za-z_$][\w$]*$/,hB=new Set(["light","dark","system"])});import cB from"crypto";function B0(X){return String(X??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function v8(X,$,Z,Y){let J=X||$;return Z?`${J} ${Y}`:J}function c0(X){return String(X).replace(/\[\]$/,"").replace(/[^\w.:-]+/g,"-").replace(/^-+|-+$/g,"")}function P5(X,$){if(/\bid\s*=/i.test(X))return"";return` id="${B0($)}"`}function y3(X,$,Z){if(!$)return"";let Y="";if(!/\baria-invalid\s*=/i.test(Z))Y+=' aria-invalid="true"';if(!/\baria-describedby\s*=/i.test(Z))Y+=` aria-describedby="${B0(`${c0(X)}-error`)}"`;return Y}function pB(){return cB.randomUUID()}function x8(X,$){let Z=X;return Z=Z.replace(/@csrf/g,()=>{if(!$.csrf||typeof $.csrf!=="object"){let Y=pB();$.csrf={token:Y}}if($.csrf.field)return $.csrf.field;if($.csrf.token)return`<input type="hidden" name="_token" value="${B0($.csrf.token)}">`;return'<input type="hidden" name="_token" value="">'}),Z=Z.replace(/@method\(['"]([^'"]+)['"]\)/g,(Y,J)=>{let G=J.toUpperCase();if(J&&!["GET","POST"].includes(G))return`<input type="hidden" name="_method" value="${B0(G)}">`;return Y}),Z}function LG(X,$,Z=OG){let Y=X;return Y=Y.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(J,G,Q,q,K,U="")=>{let W=G||Q||"POST",w=q||K||"",z=S1(U),B=W.toUpperCase(),j=["GET","POST"].includes(B)?B:"POST",_=`<form method="${B0(j)}" action="${B0(w)}"${z?` ${z}`:""}>`;if(_+=`
13288
13287
  ${x8("@csrf",$)}`,!["GET","POST"].includes(B))_+=`
13289
- ${x8(`@method('${B}')`,$)}`;return _}),Y=Y.replace(/@endform/g,"</form>"),Y=Y.replace(/@input\(\s*(?:'([^']+)'|"([^"]+)")\s*(?:,\s*(?:(?:'([^']*)'|"([^"]*)")\s*)?)?(?:,\s*\{([^}]+)\})?\s*\)/g,(J,G,Q,q,K,U="")=>{let W=G||Q||"",w=q||K||"",z=S1(U),B=x7(W,$),j=B!==void 0&&B!==null?B:w||"",_=z.match(/type=['"]([^'"]+)['"]/i),H=_?_[1]:"text",L=f7(W,$),O=z.match(/class=['"]([^'"]+)['"]/i),F=v8(O?O[1]:"",Z.input,L,Z.inputError),V=z.replace(/class=['"][^'"]+['"]/i,"");return V=V.replace(/type=['"][^'"]+['"]/i,""),`<input type="${B0(H)}" name="${B0(W)}"${P5(z,l0(W))} value="${B0(j)}" class="${F}"${y3(W,L,z)}${V?` ${V}`:""}>`}),Y=Y.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(J,G,Q="",q="")=>{let K=S1(Q),U=x7(G,$)||q.trim(),W=f7(G,$),w=K.match(/class=['"]([^'"]+)['"]/i),z=v8(w?w[1]:"",Z.input,W,Z.inputError),B=K.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${B0(G)}"${P5(K,l0(G))} class="${z}"${y3(G,W,K)}${B?` ${B}`:""}>${B0(U)}</textarea>`}),Y=Y.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(J,G,Q="",q)=>{let K=S1(Q),U=x7(G,$),W=f7(G,$),w=K.match(/class=['"]([^'"]+)['"]/i),z=v8(w?w[1]:"",Z.input,W,Z.inputError),B=K.replace(/class=['"][^'"]+['"]/i,""),j=q;if(U!==void 0)j=q.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(_,H,L)=>{if((Array.isArray(U)?U.some((F)=>String(F)===L):String(U)===L)&&!H.includes("selected"))return H.replace(/(<option)/,"$1 selected");return _});return`<select name="${B0(G)}"${P5(K,l0(G))} class="${z}"${y3(G,W,K)}${B?` ${B}`:""}>${j}</select>`}),Y=Y.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(J,G,Q,q="")=>{let K=Q===void 0?"1":Q,U=Q===void 0?l0(G):`${l0(G)}-${l0(K)}`,W=S1(q),w=x7(G,$),z=w!==void 0&&(Array.isArray(w)?w.some((H)=>String(H)===K):w===!0||String(w)===K),B=W.match(/class=['"]([^'"]+)['"]/i),j=B?B[1]:Z.checkInput,_=W.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${B0(G)}"${P5(W,U)} value="${B0(K)}" class="${j}"${z?" checked":""}${_?` ${_}`:""}>`}),Y=Y.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(J,G,Q,q="")=>{let K=S1(q),U=x7(G,$),W=U!==void 0&&U===Q,w=K.match(/class=['"]([^'"]+)['"]/i),z=w?w[1]:Z.checkInput,B=K.replace(/class=['"][^'"]+['"]/i,"");return`<input type="radio" name="${B0(G)}"${P5(K,`${l0(G)}-${l0(Q)}`)} value="${B0(Q)}" class="${z}"${W?" checked":""}${B?` ${B}`:""}>`}),Y=Y.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(J,G,Q="")=>{let q=S1(Q),K=q.match(/accept=['"]([^'"]+)['"]/i),U=K?K[1]:"",W=q.includes("multiple"),w=f7(G,$),z=q.match(/class=['"]([^'"]+)['"]/i),B=v8(z?z[1]:"",Z.input,w,Z.inputError),j=q.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),_=[`<input type="file" name="${B0(G)}"${P5(q,l0(G))}`,`class="${B}"`];if(U)_.push(`accept="${B0(U)}"`);if(W)_.push("multiple");if(j)_.push(j);return`${_.join(" ")}>`}),Y=Y.replace(/@label\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endlabel/g,(J,G,Q="",q)=>{let K=S1(Q),U=K.match(/class=['"]([^'"]+)['"]/i),W=U?U[1]:Z.label,w=K.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${B0(l0(G))}" class="${W}"${w?` ${w}`:""}>${q}</label>`}),Y}function FG(X,$,Z=OG){return X.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(Y,J,G)=>{try{if(f7(J,$)){let Q=G.replace(/\{\{([^}]+)\}\}/g,(q,K)=>{try{if(K.trim()==="$message"||K.trim()==="message")return HG(J,$);if(K.trim().includes("errors.first")||K.trim().includes("$errors.first")){if(typeof $.errors?.first==="function")return $.errors.first(J);return HG(J,$)}let U=K.trim();if(G0(U)){let W=$0(U,$);return W!==void 0?String(W):U}return U}catch{return K}});return`<div id="${B0(`${l0(J)}-error`)}" role="alert">${Q}</div>`}return""}catch(Q){return console.error("Error processing @error directive:",Q),Y}})}function f7(X,$){if(!$.errors)return!1;if(typeof $.errors.has==="function")return $.errors.has(X);if(typeof $.errors==="object")return Object.prototype.hasOwnProperty.call($.errors,X);return!1}function HG(X,$){if(!$.errors)return"";if(typeof $.errors.get==="function")return $.errors.get(X);if(typeof $.errors==="object"&&Object.prototype.hasOwnProperty.call($.errors,X)){let Z=$.errors[X];return Array.isArray(Z)?Z[0]:String(Z)}return""}function x7(X,$){let Z;if($.old&&typeof $.old==="function")return $.old(X);if($.old&&typeof $.old==="object")return $.old[X];if(X.endsWith("[]")){let Y=X.slice(0,-2);if(Z=$[Y],Z!==void 0)return Z}return $[X]}function S1(X){if(!X.trim())return"";let $=[],Z=X.trim(),Y=/([\w-]+)\s*:\s*(['"]?)([^,'"]*)\2(?:\s*,\s*|\s*$)/g,J;while((J=Y.exec(Z))!==null){let[,G,,Q]=J;$.push(`${G}="${Q.trim()}"`)}return $.join(" ")}var OG;var VG=E(()=>{O0();OG={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"}});import C3 from"path";async function iB(){if(g7!==void 0)return g7;try{g7=(await import("@stacksjs/ts-i18n")).loadLocale??null}catch{g7=null}return g7}function nB(X,$=0){if($<=0)return!1;return Date.now()-X.loadedAt>$}async function rB(X,$){if({...x3,...$.i18n}.cache&&P3[X]){let J=P3[X],G=$.i18n?.cacheMaxAge??0;if(!nB(J,G))return J.translations}if(h7[X]?.state==="loading")return h7[X].promise;b3[X]="loading";let Y=v3(X,$).then((J)=>{return b3[X]="loaded",delete h7[X],J}).catch((J)=>{throw b3[X]="error",h7[X]={promise:Y,state:"error",error:J instanceof Error?J:Error(String(J))},J});return h7[X]={promise:Y,state:"loading"},Y}async function v3(X,$){let Z={...x3,...$.i18n},Y=C3.isAbsolute(Z.translationsDir)?Z.translationsDir:C3.resolve($.root||process.cwd(),Z.translationsDir);try{let J=await iB(),G=J?await J(X,{translationsDir:Y,defaultLocale:Z.defaultLocale,sources:eB(Z.format)}):await oB(X,Z,Y);if(G===void 0){if(X!==Z.defaultLocale)return v3(Z.defaultLocale,$);return{}}let Q=G;if(Z.cache)P3[X]={translations:Q,loadedAt:Date.now(),locale:X};return Q}catch(J){if($.debug)console.error(`Error loading translation file for locale "${X}":`,J);if(X!==Z.defaultLocale)return v3(Z.defaultLocale,$);return{}}}async function oB(X,$,Z){let Y=C3.join(Z,`${X}${sB($.format)}`);try{let J=await import(Y);return J.default||J}catch(J){try{let G=await Bun.file(Y).text();if($.format==="yaml"||$.format==="yml")return aB(G);if($.format==="json")return JSON.parse(G);throw J}catch{return}}}function sB(X){switch(X){case"yaml":return".yaml";case"yml":return".yml";case"js":return".js";case"ts":return".ts";case"json":default:return".json"}}function aB(X){let $={},Z=X.split(`
13290
- `),Y=[{obj:$,indent:-1}];for(let J of Z){let G=J.replace(/#.*$/,"").trimEnd();if(!G.trim())continue;let Q=G.search(/\S/);if(Q===-1)continue;while(Y.length>1&&Y[Y.length-1].indent>=Q)Y.pop();let q=Y[Y.length-1].obj,K=G.match(/^(\s*)(\S[^:]*):\s*(.*)$/);if(K){let[,,U,W]=K,w=U.trim(),z=W.trim();if(z==="")q[w]={},Y.push({obj:q[w],indent:Q});else q[w]=tB(z)}}return $}function tB(X){if(X.startsWith("'")&&X.endsWith("'")||X.startsWith('"')&&X.endsWith('"'))return X.slice(1,-1);let $=X.toLowerCase();if($==="true"||$==="yes")return!0;if($==="false"||$==="no")return!1;if($==="null"||$==="~")return null;let Z=Number(X);if(!Number.isNaN(Z)&&X!=="")return Z;return X}function eB(X){switch(X){case"yaml":case"yml":return["yaml"];case"js":case"ts":return["ts"];case"json":default:return["json"]}}async function X_(X,$){return rB(X,$)}function $_(X,$){for(let Z of X){let Y=Z.trim(),J=Y.match(/^\{(\d+)\}\s*(.*)$/);if(J){let Q=Number.parseInt(J[1],10);if($===Q)return J[2];continue}let G=Y.match(/^\[(\d+),(\d+|\*)\]\s*(.*)$/);if(G){let Q=Number.parseInt(G[1],10),q=G[2]==="*"?Number.POSITIVE_INFINITY:Number.parseInt(G[2],10);if($>=Q&&$<=q)return G[3];continue}}if(X.length===2)return $===1?X[0].trim():X[1].trim();if($<X.length)return X[$].trim();return X[X.length-1].trim()}function Z_(X,$={}){return NG(X,$)}function NG(X,$){let Z="",Y=0;while(Y<X.length)if(X[Y]==="{"){let J=Y_(X,Y);if(J===-1){Z+=X[Y],Y++;continue}let G=X.slice(Y+1,J);Z+=J_(G,$),Y=J+1}else if(X[Y]==="'"&&Y+1<X.length)if(X[Y+1]==="'")Z+="'",Y+=2;else if(X[Y+1]==="{"||X[Y+1]==="}")Z+=X[Y+1],Y+=2;else Z+=X[Y],Y++;else Z+=X[Y],Y++;return Z}function Y_(X,$){let Z=0;for(let Y=$;Y<X.length;Y++)if(X[Y]==="{")Z++;else if(X[Y]==="}"){if(Z--,Z===0)return Y}return-1}function J_(X,$){let Z=G_(X);if(Z.length===0)return`{${X}}`;let Y=Z[0].trim(),J=$[Y];if(Z.length===1)return J!==void 0?String(J):`{${Y}}`;switch(Z[1].trim().toLowerCase()){case"plural":return Q_(J,Z.slice(2).join(","),$);case"select":return K_(J,Z.slice(2).join(","));case"selectordinal":return U_(J,Z.slice(2).join(","));case"number":return w_(J,Z[2]?.trim());case"date":return z_(J,Z[2]?.trim());case"time":return j_(J,Z[2]?.trim());default:return J!==void 0?String(J):`{${X}}`}}function G_(X){let $=[],Z="",Y=0;for(let J=0;J<X.length;J++){let G=X[J];if(G==="{")Y++,Z+=G;else if(G==="}")Y--,Z+=G;else if(G===","&&Y===0)$.push(Z),Z="";else Z+=G}if(Z)$.push(Z);return $}function Q_(X,$,Z){let Y=Number(X)||0,J=f3($),G=`=${Y}`;if(J[G])return S3(J[G],Y,Z);let Q=q_(Y);if(J[Q])return S3(J[Q],Y,Z);if(J.other)return S3(J.other,Y,Z);return String(Y)}function S3(X,$,Z){let Y=X.replace(/#/g,String($));return NG(Y,Z)}function q_(X){let $=Math.abs(X),Z=Math.floor($),Y=String(X).includes(".")?String(X).split(".")[1].length:0;if(Z===1&&Y===0)return"one";return"other"}function K_(X,$){let Z=String(X||""),Y=f3($);if(Y[Z])return Y[Z];return Y.other||String(X)}function U_(X,$){let Z=Number(X)||0,Y=f3($),J=W_(Z);if(Y[J])return Y[J].replace(/#/g,String(Z));if(Y.other)return Y.other.replace(/#/g,String(Z));return String(Z)}function W_(X){let $=Math.abs(X),Z=$%10,Y=$%100;if(Z===1&&Y!==11)return"one";if(Z===2&&Y!==12)return"two";if(Z===3&&Y!==13)return"few";return"other"}function f3(X){let $={},Z=/(\w+|=\d+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g,Y=Z.exec(X);while(Y!==null)$[Y[1]]=Y[2],Y=Z.exec(X);return $}function w_(X,$){let Z=Number(X);if(Number.isNaN(Z))return String(X);switch($){case"integer":return Math.floor(Z).toLocaleString();case"percent":return`${(Z*100).toFixed(0)}%`;case"currency":return Z.toLocaleString(void 0,{style:"currency",currency:"USD"});default:return Z.toLocaleString()}}function z_(X,$){let Z=X instanceof Date?X:new Date(String(X));if(Number.isNaN(Z.getTime()))return String(X);let Y={};switch($){case"short":Y.dateStyle="short";break;case"medium":Y.dateStyle="medium";break;case"long":Y.dateStyle="long";break;case"full":Y.dateStyle="full";break;default:Y.dateStyle="medium"}return Z.toLocaleDateString(void 0,Y)}function j_(X,$){let Z=X instanceof Date?X:new Date(String(X));if(Number.isNaN(Z.getTime()))return String(X);let Y={};switch($){case"short":Y.timeStyle="short";break;case"medium":Y.timeStyle="medium";break;case"long":Y.timeStyle="long";break;case"full":Y.timeStyle="full";break;default:Y.timeStyle="short"}return Z.toLocaleTimeString(void 0,Y)}function B_(X){return/\{[^}]+,\s*(?:plural|select|selectordinal|number|date|time)\s*,/.test(X)}function AG(X,$,Z=!0,Y={}){let J=X.split("."),G=$;for(let q of J){if(G===void 0||G===null)break;G=G[q]}if(G===void 0||G===null)return Z?X:"";let Q=String(G);if(B_(Q))return Z_(Q,Y);if(Q.includes("|")&&"count"in Y){let q=Number(Y.count),K=Q.split("|");Q=$_(K,q)}for(let[q,K]of Object.entries(Y)){let U=q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Q=Q.replace(new RegExp(`:${U}`,"g"),String(K))}return Q}async function TG(X,$,Z,Y){let J=X,G=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)([\s\S]*?)@endtranslate/g,Q={...x3,...Y.i18n},q=await X_(Q.locale,Y);$.__translations=q,$.__locale=Q.locale,$.__i18nConfig=Q,J=await RG(J,G,async(W,w,z,B,j)=>{try{let _={};if(z)try{let L=[()=>JSON.parse(z),()=>{let O=`{"data":${z}}`,F=JSON.parse(O);return typeof F.data==="object"?F.data:{}},()=>{return H0(z,$)}];for(let O of L)try{if(_=O(),Object.keys(_).length>0)break}catch{}}catch(L){if(Y.debug)console.error("Error parsing parameters for @translate directive:",L)}return AG(w,q,Q.fallbackToKey,_)||B.trim()}catch(_){if(Y.debug)console.error("Error processing @translate directive:",_);return X0("Translate",`Error in @translate('${w}'): ${_ instanceof Error?_.message:String(_)}`,s.EVALUATION_ERROR)}});let K=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]+\})\s*)?\)/g;if(Y.debug){console.warn(`Processing translations in template. Sections: ${J.includes("<h2>Translation with Parameters</h2>")?"Parameters section found":"Parameters section missing"}`);let W=[...J.matchAll(K)];console.warn(`Found ${W.length} @translate matches`),W.forEach((w,z)=>console.warn(`Match ${z}: ${w[0]}, Key: ${w[1]}, Params: ${w[2]||"none"}`))}return J=await RG(J,/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)/g,async(W,w,z,B)=>{try{let j={};if(z)try{let _=[()=>JSON.parse(z),()=>{let H=`{"data":${z}}`,L=JSON.parse(H);return typeof L.data==="object"?L.data:{}},()=>{return H0(z,$)}];for(let H of _)try{if(j=H(),Object.keys(j).length>0)break}catch{}}catch(_){if(Y.debug)console.error("Error parsing parameters for @translate directive:",_)}return AG(w,q,Q.fallbackToKey,j)}catch(j){if(Y.debug)console.error("Error processing @translate directive:",j);return X0("Translate",`Error in @translate('${w}'): ${j instanceof Error?j.message:String(j)}`,s.EVALUATION_ERROR)}}),J}async function RG(X,$,Z){let Y=[];return X.replace($,(G,...Q)=>{let q=Z(G,...Q).then((K)=>({match:G,replacement:K}));return Y.push(q),G}),(await Promise.all(Y)).reduce((G,{match:Q,replacement:q})=>G.replace(Q,q),X)}var g7,x3,P3,h7,b3;var MG=E(()=>{w1();O0();x3={defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},P3={},h7={},b3={}});var u3={};n(u3,{streamingSuspenseDirective:()=>EG,streamToResponse:()=>k_,streamTemplateSimple:()=>R_,streamTemplate:()=>H_,renderStreamingPage:()=>L_,registerStreamingDirectives:()=>T_,processStreamDirectives:()=>V_,processSectionDirectives:()=>M_,islandDirective:()=>DG,generateHydrationRuntime:()=>I_,extractStreamBoundaries:()=>A_,createStreamRenderer:()=>N_,buildSuspenseResolveScript:()=>h3,SUSPENSE_RESOLVER_RUNTIME:()=>IG});import f8 from"path";function __(X){let $=[],Z=0,Y;kG.lastIndex=0;while((Y=kG.exec(X))!==null){if(Y.index>Z){let Q=X.slice(Z,Y.index);if(Q.trim())$.push({type:$.length===0?"shell":"content",content:Q})}let J=Y[1],G=Y[2];$.push({type:"suspense",name:J,content:G}),Z=Y.index+Y[0].length}if(Z<X.length){let J=X.slice(Z);if(J.trim())$.push({type:$.length===0?"shell":"content",content:J})}if($.length===0)$.push({type:"shell",content:X});return $}async function H_(X,$={},Z={}){let Y={...X5,...Z,streaming:{...g3,...Z.streaming}},J=Y.streaming?.bufferSize||16384;return new ReadableStream({async start(G){try{let Q=await Bun.file(X).text(),q=Q.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),K=q?q[1]:"",U=Q.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),W={...$,__filename:X,__dirname:f8.dirname(X)};if(K.trim())await i1(K,W,X);let w=__(U),z=new Set;if(!w.some((j)=>j.type==="suspense")){let j=Y.streaming?.strategy||"auto",_=new RegExp(J5.source,"g");if(!(j!=="manual"&&_.test(U))){let L=await R0(U,W,X,Y,z);for(let O=0;O<L.length;O+=J)G.enqueue(L.slice(O,O+J)),await new Promise((F)=>setTimeout(F,0))}else{let L=[],O=new RegExp(J5.source,"g"),F;while((F=O.exec(U))!==null)L.push({name:F[1],content:F[2],start:F.index,end:F.index+F[0].length});let V=0;for(let A of L){if(A.start>V){let N=U.slice(V,A.start);if(N.trim()){let T=await R0(N,W,X,Y,z);G.enqueue(T),await new Promise((k)=>setTimeout(k,0))}}let R=await R0(A.content,W,X,Y,z);G.enqueue(R),await new Promise((N)=>setTimeout(N,0)),V=A.end}if(V<U.length){let A=U.slice(V);if(A.trim()){let R=await R0(A,W,X,Y,z);G.enqueue(R)}}}}else{let j=new Map;for(let H of w)if(H.type==="shell"||H.type==="content"){let L=await R0(H.content,W,X,Y,z);G.enqueue(L)}else if(H.type==="suspense"&&H.name){let L=`stx-suspense-${H.name}`;G.enqueue(`<div id="${L}" data-suspense="${H.name}" style="display:contents;">
13288
+ ${x8(`@method('${B}')`,$)}`;return _}),Y=Y.replace(/@endform/g,"</form>"),Y=Y.replace(/@input\(\s*(?:'([^']+)'|"([^"]+)")\s*(?:,\s*(?:(?:'([^']*)'|"([^"]*)")\s*)?)?(?:,\s*\{([^}]+)\})?\s*\)/g,(J,G,Q,q,K,U="")=>{let W=G||Q||"",w=q||K||"",z=S1(U),B=x7(W,$),j=B!==void 0&&B!==null?B:w||"",_=z.match(/type=['"]([^'"]+)['"]/i),H=_?_[1]:"text",L=f7(W,$),O=z.match(/class=['"]([^'"]+)['"]/i),F=v8(O?O[1]:"",Z.input,L,Z.inputError),V=z.replace(/class=['"][^'"]+['"]/i,"");return V=V.replace(/type=['"][^'"]+['"]/i,""),`<input type="${B0(H)}" name="${B0(W)}"${P5(z,c0(W))} value="${B0(j)}" class="${F}"${y3(W,L,z)}${V?` ${V}`:""}>`}),Y=Y.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(J,G,Q="",q="")=>{let K=S1(Q),U=x7(G,$)||q.trim(),W=f7(G,$),w=K.match(/class=['"]([^'"]+)['"]/i),z=v8(w?w[1]:"",Z.input,W,Z.inputError),B=K.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${B0(G)}"${P5(K,c0(G))} class="${z}"${y3(G,W,K)}${B?` ${B}`:""}>${B0(U)}</textarea>`}),Y=Y.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(J,G,Q="",q)=>{let K=S1(Q),U=x7(G,$),W=f7(G,$),w=K.match(/class=['"]([^'"]+)['"]/i),z=v8(w?w[1]:"",Z.input,W,Z.inputError),B=K.replace(/class=['"][^'"]+['"]/i,""),j=q;if(U!==void 0)j=q.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(_,H,L)=>{if((Array.isArray(U)?U.some((F)=>String(F)===L):String(U)===L)&&!H.includes("selected"))return H.replace(/(<option)/,"$1 selected");return _});return`<select name="${B0(G)}"${P5(K,c0(G))} class="${z}"${y3(G,W,K)}${B?` ${B}`:""}>${j}</select>`}),Y=Y.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(J,G,Q,q="")=>{let K=Q===void 0?"1":Q,U=Q===void 0?c0(G):`${c0(G)}-${c0(K)}`,W=S1(q),w=x7(G,$),z=w!==void 0&&(Array.isArray(w)?w.some((H)=>String(H)===K):w===!0||String(w)===K),B=W.match(/class=['"]([^'"]+)['"]/i),j=B?B[1]:Z.checkInput,_=W.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${B0(G)}"${P5(W,U)} value="${B0(K)}" class="${j}"${z?" checked":""}${_?` ${_}`:""}>`}),Y=Y.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(J,G,Q,q="")=>{let K=S1(q),U=x7(G,$),W=U!==void 0&&U===Q,w=K.match(/class=['"]([^'"]+)['"]/i),z=w?w[1]:Z.checkInput,B=K.replace(/class=['"][^'"]+['"]/i,"");return`<input type="radio" name="${B0(G)}"${P5(K,`${c0(G)}-${c0(Q)}`)} value="${B0(Q)}" class="${z}"${W?" checked":""}${B?` ${B}`:""}>`}),Y=Y.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(J,G,Q="")=>{let q=S1(Q),K=q.match(/accept=['"]([^'"]+)['"]/i),U=K?K[1]:"",W=q.includes("multiple"),w=f7(G,$),z=q.match(/class=['"]([^'"]+)['"]/i),B=v8(z?z[1]:"",Z.input,w,Z.inputError),j=q.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),_=[`<input type="file" name="${B0(G)}"${P5(q,c0(G))}`,`class="${B}"`];if(U)_.push(`accept="${B0(U)}"`);if(W)_.push("multiple");if(j)_.push(j);return`${_.join(" ")}>`}),Y=Y.replace(/@label\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endlabel/g,(J,G,Q="",q)=>{let K=S1(Q),U=K.match(/class=['"]([^'"]+)['"]/i),W=U?U[1]:Z.label,w=K.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${B0(c0(G))}" class="${W}"${w?` ${w}`:""}>${q}</label>`}),Y}function FG(X,$,Z=OG){return X.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(Y,J,G)=>{try{if(f7(J,$)){let Q=G.replace(/\{\{([^}]+)\}\}/g,(q,K)=>{try{if(K.trim()==="$message"||K.trim()==="message")return HG(J,$);if(K.trim().includes("errors.first")||K.trim().includes("$errors.first")){if(typeof $.errors?.first==="function")return $.errors.first(J);return HG(J,$)}let U=K.trim();if(G0(U)){let W=$0(U,$);return W!==void 0?String(W):U}return U}catch{return K}});return`<div id="${B0(`${c0(J)}-error`)}" role="alert">${Q}</div>`}return""}catch(Q){return console.error("Error processing @error directive:",Q),Y}})}function f7(X,$){if(!$.errors)return!1;if(typeof $.errors.has==="function")return $.errors.has(X);if(typeof $.errors==="object")return Object.prototype.hasOwnProperty.call($.errors,X);return!1}function HG(X,$){if(!$.errors)return"";if(typeof $.errors.get==="function")return $.errors.get(X);if(typeof $.errors==="object"&&Object.prototype.hasOwnProperty.call($.errors,X)){let Z=$.errors[X];return Array.isArray(Z)?Z[0]:String(Z)}return""}function x7(X,$){let Z;if($.old&&typeof $.old==="function")return $.old(X);if($.old&&typeof $.old==="object")return $.old[X];if(X.endsWith("[]")){let Y=X.slice(0,-2);if(Z=$[Y],Z!==void 0)return Z}return $[X]}function S1(X){if(!X.trim())return"";let $=[],Z=X.trim(),Y=/([\w-]+)\s*:\s*(['"]?)([^,'"]*)\2(?:\s*,\s*|\s*$)/g,J;while((J=Y.exec(Z))!==null){let[,G,,Q]=J;$.push(`${G}="${Q.trim()}"`)}return $.join(" ")}var OG;var VG=E(()=>{O0();OG={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"}});import C3 from"path";async function iB(){if(g7!==void 0)return g7;try{g7=(await import("@stacksjs/ts-i18n")).loadLocale??null}catch{g7=null}return g7}function nB(X,$=0){if($<=0)return!1;return Date.now()-X.loadedAt>$}async function rB(X,$){if({...x3,...$.i18n}.cache&&P3[X]){let J=P3[X],G=$.i18n?.cacheMaxAge??0;if(!nB(J,G))return J.translations}if(h7[X]?.state==="loading")return h7[X].promise;b3[X]="loading";let Y=v3(X,$).then((J)=>{return b3[X]="loaded",delete h7[X],J}).catch((J)=>{throw b3[X]="error",h7[X]={promise:Y,state:"error",error:J instanceof Error?J:Error(String(J))},J});return h7[X]={promise:Y,state:"loading"},Y}async function v3(X,$){let Z={...x3,...$.i18n},Y=C3.isAbsolute(Z.translationsDir)?Z.translationsDir:C3.resolve($.root||process.cwd(),Z.translationsDir);try{let J=await iB(),G=J?await J(X,{translationsDir:Y,defaultLocale:Z.defaultLocale,sources:eB(Z.format)}):await oB(X,Z,Y);if(G===void 0){if(X!==Z.defaultLocale)return v3(Z.defaultLocale,$);return{}}let Q=G;if(Z.cache)P3[X]={translations:Q,loadedAt:Date.now(),locale:X};return Q}catch(J){if($.debug)console.error(`Error loading translation file for locale "${X}":`,J);if(X!==Z.defaultLocale)return v3(Z.defaultLocale,$);return{}}}async function oB(X,$,Z){let Y=C3.join(Z,`${X}${sB($.format)}`);try{let J=await import(Y);return J.default||J}catch(J){try{let G=await Bun.file(Y).text();if($.format==="yaml"||$.format==="yml")return aB(G);if($.format==="json")return JSON.parse(G);throw J}catch{return}}}function sB(X){switch(X){case"yaml":return".yaml";case"yml":return".yml";case"js":return".js";case"ts":return".ts";case"json":default:return".json"}}function aB(X){let $={},Z=X.split(`
13289
+ `),Y=[{obj:$,indent:-1}];for(let J of Z){let G=J.replace(/#.*$/,"").trimEnd();if(!G.trim())continue;let Q=G.search(/\S/);if(Q===-1)continue;while(Y.length>1&&Y[Y.length-1].indent>=Q)Y.pop();let q=Y[Y.length-1].obj,K=G.match(/^(\s*)(\S[^:]*):\s*(.*)$/);if(K){let[,,U,W]=K,w=U.trim(),z=W.trim();if(z==="")q[w]={},Y.push({obj:q[w],indent:Q});else q[w]=tB(z)}}return $}function tB(X){if(X.startsWith("'")&&X.endsWith("'")||X.startsWith('"')&&X.endsWith('"'))return X.slice(1,-1);let $=X.toLowerCase();if($==="true"||$==="yes")return!0;if($==="false"||$==="no")return!1;if($==="null"||$==="~")return null;let Z=Number(X);if(!Number.isNaN(Z)&&X!=="")return Z;return X}function eB(X){switch(X){case"yaml":case"yml":return["yaml"];case"js":case"ts":return["ts"];case"json":default:return["json"]}}async function X_(X,$){return rB(X,$)}function $_(X,$){for(let Z of X){let Y=Z.trim(),J=Y.match(/^\{(\d+)\}\s*(.*)$/);if(J){let Q=Number.parseInt(J[1],10);if($===Q)return J[2];continue}let G=Y.match(/^\[(\d+),(\d+|\*)\]\s*(.*)$/);if(G){let Q=Number.parseInt(G[1],10),q=G[2]==="*"?Number.POSITIVE_INFINITY:Number.parseInt(G[2],10);if($>=Q&&$<=q)return G[3];continue}}if(X.length===2)return $===1?X[0].trim():X[1].trim();if($<X.length)return X[$].trim();return X[X.length-1].trim()}function Z_(X,$={}){return TG(X,$)}function TG(X,$){let Z="",Y=0;while(Y<X.length)if(X[Y]==="{"){let J=Y_(X,Y);if(J===-1){Z+=X[Y],Y++;continue}let G=X.slice(Y+1,J);Z+=J_(G,$),Y=J+1}else if(X[Y]==="'"&&Y+1<X.length)if(X[Y+1]==="'")Z+="'",Y+=2;else if(X[Y+1]==="{"||X[Y+1]==="}")Z+=X[Y+1],Y+=2;else Z+=X[Y],Y++;else Z+=X[Y],Y++;return Z}function Y_(X,$){let Z=0;for(let Y=$;Y<X.length;Y++)if(X[Y]==="{")Z++;else if(X[Y]==="}"){if(Z--,Z===0)return Y}return-1}function J_(X,$){let Z=G_(X);if(Z.length===0)return`{${X}}`;let Y=Z[0].trim(),J=$[Y];if(Z.length===1)return J!==void 0?String(J):`{${Y}}`;switch(Z[1].trim().toLowerCase()){case"plural":return Q_(J,Z.slice(2).join(","),$);case"select":return K_(J,Z.slice(2).join(","));case"selectordinal":return U_(J,Z.slice(2).join(","));case"number":return w_(J,Z[2]?.trim());case"date":return z_(J,Z[2]?.trim());case"time":return j_(J,Z[2]?.trim());default:return J!==void 0?String(J):`{${X}}`}}function G_(X){let $=[],Z="",Y=0;for(let J=0;J<X.length;J++){let G=X[J];if(G==="{")Y++,Z+=G;else if(G==="}")Y--,Z+=G;else if(G===","&&Y===0)$.push(Z),Z="";else Z+=G}if(Z)$.push(Z);return $}function Q_(X,$,Z){let Y=Number(X)||0,J=f3($),G=`=${Y}`;if(J[G])return S3(J[G],Y,Z);let Q=q_(Y);if(J[Q])return S3(J[Q],Y,Z);if(J.other)return S3(J.other,Y,Z);return String(Y)}function S3(X,$,Z){let Y=X.replace(/#/g,String($));return TG(Y,Z)}function q_(X){let $=Math.abs(X),Z=Math.floor($),Y=String(X).includes(".")?String(X).split(".")[1].length:0;if(Z===1&&Y===0)return"one";return"other"}function K_(X,$){let Z=String(X||""),Y=f3($);if(Y[Z])return Y[Z];return Y.other||String(X)}function U_(X,$){let Z=Number(X)||0,Y=f3($),J=W_(Z);if(Y[J])return Y[J].replace(/#/g,String(Z));if(Y.other)return Y.other.replace(/#/g,String(Z));return String(Z)}function W_(X){let $=Math.abs(X),Z=$%10,Y=$%100;if(Z===1&&Y!==11)return"one";if(Z===2&&Y!==12)return"two";if(Z===3&&Y!==13)return"few";return"other"}function f3(X){let $={},Z=/(\w+|=\d+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g,Y=Z.exec(X);while(Y!==null)$[Y[1]]=Y[2],Y=Z.exec(X);return $}function w_(X,$){let Z=Number(X);if(Number.isNaN(Z))return String(X);switch($){case"integer":return Math.floor(Z).toLocaleString();case"percent":return`${(Z*100).toFixed(0)}%`;case"currency":return Z.toLocaleString(void 0,{style:"currency",currency:"USD"});default:return Z.toLocaleString()}}function z_(X,$){let Z=X instanceof Date?X:new Date(String(X));if(Number.isNaN(Z.getTime()))return String(X);let Y={};switch($){case"short":Y.dateStyle="short";break;case"medium":Y.dateStyle="medium";break;case"long":Y.dateStyle="long";break;case"full":Y.dateStyle="full";break;default:Y.dateStyle="medium"}return Z.toLocaleDateString(void 0,Y)}function j_(X,$){let Z=X instanceof Date?X:new Date(String(X));if(Number.isNaN(Z.getTime()))return String(X);let Y={};switch($){case"short":Y.timeStyle="short";break;case"medium":Y.timeStyle="medium";break;case"long":Y.timeStyle="long";break;case"full":Y.timeStyle="full";break;default:Y.timeStyle="short"}return Z.toLocaleTimeString(void 0,Y)}function B_(X){return/\{[^}]+,\s*(?:plural|select|selectordinal|number|date|time)\s*,/.test(X)}function AG(X,$,Z=!0,Y={}){let J=X.split("."),G=$;for(let q of J){if(G===void 0||G===null)break;G=G[q]}if(G===void 0||G===null)return Z?X:"";let Q=String(G);if(B_(Q))return Z_(Q,Y);if(Q.includes("|")&&"count"in Y){let q=Number(Y.count),K=Q.split("|");Q=$_(K,q)}for(let[q,K]of Object.entries(Y)){let U=q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Q=Q.replace(new RegExp(`:${U}`,"g"),String(K))}return Q}async function NG(X,$,Z,Y){let J=X,G=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)([\s\S]*?)@endtranslate/g,Q={...x3,...Y.i18n},q=await X_(Q.locale,Y);$.__translations=q,$.__locale=Q.locale,$.__i18nConfig=Q,J=await RG(J,G,async(W,w,z,B,j)=>{try{let _={};if(z)try{let L=[()=>JSON.parse(z),()=>{let O=`{"data":${z}}`,F=JSON.parse(O);return typeof F.data==="object"?F.data:{}},()=>{return H0(z,$)}];for(let O of L)try{if(_=O(),Object.keys(_).length>0)break}catch{}}catch(L){if(Y.debug)console.error("Error parsing parameters for @translate directive:",L)}return AG(w,q,Q.fallbackToKey,_)||B.trim()}catch(_){if(Y.debug)console.error("Error processing @translate directive:",_);return X0("Translate",`Error in @translate('${w}'): ${_ instanceof Error?_.message:String(_)}`,s.EVALUATION_ERROR)}});let K=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]+\})\s*)?\)/g;if(Y.debug){console.warn(`Processing translations in template. Sections: ${J.includes("<h2>Translation with Parameters</h2>")?"Parameters section found":"Parameters section missing"}`);let W=[...J.matchAll(K)];console.warn(`Found ${W.length} @translate matches`),W.forEach((w,z)=>console.warn(`Match ${z}: ${w[0]}, Key: ${w[1]}, Params: ${w[2]||"none"}`))}return J=await RG(J,/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)/g,async(W,w,z,B)=>{try{let j={};if(z)try{let _=[()=>JSON.parse(z),()=>{let H=`{"data":${z}}`,L=JSON.parse(H);return typeof L.data==="object"?L.data:{}},()=>{return H0(z,$)}];for(let H of _)try{if(j=H(),Object.keys(j).length>0)break}catch{}}catch(_){if(Y.debug)console.error("Error parsing parameters for @translate directive:",_)}return AG(w,q,Q.fallbackToKey,j)}catch(j){if(Y.debug)console.error("Error processing @translate directive:",j);return X0("Translate",`Error in @translate('${w}'): ${j instanceof Error?j.message:String(j)}`,s.EVALUATION_ERROR)}}),J}async function RG(X,$,Z){let Y=[];return X.replace($,(G,...Q)=>{let q=Z(G,...Q).then((K)=>({match:G,replacement:K}));return Y.push(q),G}),(await Promise.all(Y)).reduce((G,{match:Q,replacement:q})=>G.replace(Q,q),X)}var g7,x3,P3,h7,b3;var MG=E(()=>{w1();O0();x3={defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},P3={},h7={},b3={}});var u3={};n(u3,{streamingSuspenseDirective:()=>EG,streamToResponse:()=>k_,streamTemplateSimple:()=>R_,streamTemplate:()=>H_,renderStreamingPage:()=>L_,registerStreamingDirectives:()=>N_,processStreamDirectives:()=>V_,processSectionDirectives:()=>M_,islandDirective:()=>DG,generateHydrationRuntime:()=>I_,extractStreamBoundaries:()=>A_,createStreamRenderer:()=>T_,buildSuspenseResolveScript:()=>h3,SUSPENSE_RESOLVER_RUNTIME:()=>IG});import f8 from"path";function __(X){let $=[],Z=0,Y;kG.lastIndex=0;while((Y=kG.exec(X))!==null){if(Y.index>Z){let Q=X.slice(Z,Y.index);if(Q.trim())$.push({type:$.length===0?"shell":"content",content:Q})}let J=Y[1],G=Y[2];$.push({type:"suspense",name:J,content:G}),Z=Y.index+Y[0].length}if(Z<X.length){let J=X.slice(Z);if(J.trim())$.push({type:$.length===0?"shell":"content",content:J})}if($.length===0)$.push({type:"shell",content:X});return $}async function H_(X,$={},Z={}){let Y={...X5,...Z,streaming:{...g3,...Z.streaming}},J=Y.streaming?.bufferSize||16384;return new ReadableStream({async start(G){try{let Q=await Bun.file(X).text(),q=Q.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),K=q?q[1]:"",U=Q.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),W={...$,__filename:X,__dirname:f8.dirname(X)};if(K.trim())await i1(K,W,X);let w=__(U),z=new Set;if(!w.some((j)=>j.type==="suspense")){let j=Y.streaming?.strategy||"auto",_=new RegExp(J5.source,"g");if(!(j!=="manual"&&_.test(U))){let L=await R0(U,W,X,Y,z);for(let O=0;O<L.length;O+=J)G.enqueue(L.slice(O,O+J)),await new Promise((F)=>setTimeout(F,0))}else{let L=[],O=new RegExp(J5.source,"g"),F;while((F=O.exec(U))!==null)L.push({name:F[1],content:F[2],start:F.index,end:F.index+F[0].length});let V=0;for(let A of L){if(A.start>V){let T=U.slice(V,A.start);if(T.trim()){let N=await R0(T,W,X,Y,z);G.enqueue(N),await new Promise((k)=>setTimeout(k,0))}}let R=await R0(A.content,W,X,Y,z);G.enqueue(R),await new Promise((T)=>setTimeout(T,0)),V=A.end}if(V<U.length){let A=U.slice(V);if(A.trim()){let R=await R0(A,W,X,Y,z);G.enqueue(R)}}}}else{let j=new Map;for(let H of w)if(H.type==="shell"||H.type==="content"){let L=await R0(H.content,W,X,Y,z);G.enqueue(L)}else if(H.type==="suspense"&&H.name){let L=`stx-suspense-${H.name}`;G.enqueue(`<div id="${L}" data-suspense="${H.name}" style="display:contents;">
13291
13290
  <template data-suspense-fallback>Loading...</template>
13292
13291
  </div>`),j.set(H.name,R0(H.content,W,X,Y,z))}G.enqueue(`
13293
13292
  <script>
@@ -13310,8 +13309,8 @@ ${J}`)}function YG(X,$){let Z=X;return Z=Z.replace(/<script(?![^>]*\ssrc=)([^>]*
13310
13309
  window.__stxSuspense.resolve('${X}', \`${Y}\`);
13311
13310
  </script>`}catch(Z){let Y=Z instanceof Error?Z.message:String(Z);return`
13312
13311
  <script>
13313
- window.__stxSuspense.resolve('${X}', '<div class="stx-error">Error loading content: ${r0(Y)}</div>');
13314
- </script>`}}function O_(X,$,Z){if(!$||$<=0)return X;let Y,J=new Promise((G,Q)=>{Y=setTimeout(()=>Q(Error(`streaming boundary "${Z}" timed out after ${$}ms`)),$)});return Promise.race([X,J]).finally(()=>clearTimeout(Y))}function L_(X,$=[],Z={}){let Y=Z.timeoutMs??0;return new ReadableStream({async start(J){try{if(J.enqueue(X),$.length>0)J.enqueue(IG),await Promise.all($.map(async(G)=>{let Q=O_(G.render(),Y,G.id);J.enqueue(await h3(G.id,Q))}));J.close()}catch(G){J.error(G)}}})}function V_(X,$){return X.replace(F_,(Z,Y,J)=>{let G=Y.trim(),Q=J.split(/@fallback/i),q=Q[0].trim(),K=Q.length>1?Q.slice(1).join("@fallback").trim():"";if(!$.__streamTemplates)$.__streamTemplates={};return $.__streamTemplates[G]=q,`<div data-suspense="${G}">${K}</div>`})}function A_(X){let $=X?.streamBoundaries;if(!$||typeof $!=="object")return;let Z=Object.entries($).filter(([,Y])=>typeof Y==="function");return Z.length>0?Z.map(([Y,J])=>({id:Y,render:J})):void 0}async function R_(X,$={},Z={}){let Y={...X5,...Z,streaming:{...g3,...Z.streaming}},J=Y.streaming?.bufferSize||16384;return new ReadableStream({async start(G){try{let Q=await Bun.file(X).text(),q=Q.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),K=q?q[1]:"",U=Q.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),W={...$,__filename:X,__dirname:f8.dirname(X)};if(K.trim())await i1(K,W,X);let w=new Set,z=Y.streaming?.strategy||"auto",B=new RegExp(J5.source,"g");if(!(z!=="manual"&&B.test(U))){let _=await R0(U,W,X,Y,w);for(let H=0;H<_.length;H+=J)G.enqueue(_.slice(H,H+J))}else{let _=[],H=new RegExp(J5.source,"g"),L;while((L=H.exec(U))!==null)_.push({name:L[1],content:L[2],start:L.index,end:L.index+L[0].length});let O=0;for(let F of _){if(F.start>O){let A=U.slice(O,F.start);if(A.trim()){let R=await R0(A,W,X,Y,w);G.enqueue(R)}}let V=await R0(F.content,W,X,Y,w);G.enqueue(V),O=F.end}if(O<U.length){let F=U.slice(O);if(F.trim()){let V=await R0(F,W,X,Y,w);G.enqueue(V)}}}G.close()}catch(Q){G.error(Q)}}})}async function N_(X,$={}){let Z={...X5,...$,streaming:{...g3,...$.streaming}},Y=await Bun.file(X).text(),J=Y.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),G=J?J[1]:"",Q=Y.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),q=Q,K={},U;J5.lastIndex=0;while((U=J5.exec(Q))!==null){let z=U[1],B=U[2];K[z]=B}let W=Q.replace(J5,"");return{renderShell:async(z={})=>{let B={...z,__filename:X,__dirname:f8.dirname(X)};return await i1(G,B,X),R0(W,B,X,Z,new Set)},renderSection:async(z,B={})=>{try{if(!K[z])return`<div class="error-message">Section "${r0(z)}" not found in template "${r0(X)}"</div>`;let j={...B,__filename:X,__dirname:f8.dirname(X)};await i1(G,j,X);let _=new Set;return await R0(K[z],j,X,Z,_)}catch(j){let _=j instanceof Error?j.message:String(j);return U0("Expression",_,X,K[z]||"",0,K[z]||"")}},getSections:()=>{return Object.keys(K)},getTemplate:()=>{return q}}}function T_(X={}){let $=[];if(X.streaming?.enabled)$.push(EG);if(X.hydration?.enabled)$.push(DG);return $}async function M_(X,$,Z,Y={}){return X}function k_(X,$={}){let Z=new TextEncoder,Y=X.pipeThrough(new TransformStream({transform(G,Q){Q.enqueue(Z.encode(G))}})),J=new Headers($.headers);if(!J.has("Content-Type"))J.set("Content-Type","text/html; charset=utf-8");if(!J.has("Transfer-Encoding"))J.set("Transfer-Encoding","chunked");if(!J.has("X-Content-Type-Options"))J.set("X-Content-Type-Options","nosniff");if(!J.has("X-Accel-Buffering"))J.set("X-Accel-Buffering","no");return new Response(Y,{...$,headers:J})}function I_(X={mode:"full"}){let{mode:$,components:Z={},dynamicImports:Y=!0}=X,J=Object.entries(Z).map(([G,Q])=>`'${G}': ${Y?`() => import('${Q}')`:`require('${Q}')`}`).join(`,
13312
+ window.__stxSuspense.resolve('${X}', '<div class="stx-error">Error loading content: ${o0(Y)}</div>');
13313
+ </script>`}}function O_(X,$,Z){if(!$||$<=0)return X;let Y,J=new Promise((G,Q)=>{Y=setTimeout(()=>Q(Error(`streaming boundary "${Z}" timed out after ${$}ms`)),$)});return Promise.race([X,J]).finally(()=>clearTimeout(Y))}function L_(X,$=[],Z={}){let Y=Z.timeoutMs??0;return new ReadableStream({async start(J){try{if(J.enqueue(X),$.length>0)J.enqueue(IG),await Promise.all($.map(async(G)=>{let Q=O_(G.render(),Y,G.id);J.enqueue(await h3(G.id,Q))}));J.close()}catch(G){J.error(G)}}})}function V_(X,$){return X.replace(F_,(Z,Y,J)=>{let G=Y.trim(),Q=J.split(/@fallback/i),q=Q[0].trim(),K=Q.length>1?Q.slice(1).join("@fallback").trim():"";if(!$.__streamTemplates)$.__streamTemplates={};return $.__streamTemplates[G]=q,`<div data-suspense="${G}">${K}</div>`})}function A_(X){let $=X?.streamBoundaries;if(!$||typeof $!=="object")return;let Z=Object.entries($).filter(([,Y])=>typeof Y==="function");return Z.length>0?Z.map(([Y,J])=>({id:Y,render:J})):void 0}async function R_(X,$={},Z={}){let Y={...X5,...Z,streaming:{...g3,...Z.streaming}},J=Y.streaming?.bufferSize||16384;return new ReadableStream({async start(G){try{let Q=await Bun.file(X).text(),q=Q.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),K=q?q[1]:"",U=Q.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),W={...$,__filename:X,__dirname:f8.dirname(X)};if(K.trim())await i1(K,W,X);let w=new Set,z=Y.streaming?.strategy||"auto",B=new RegExp(J5.source,"g");if(!(z!=="manual"&&B.test(U))){let _=await R0(U,W,X,Y,w);for(let H=0;H<_.length;H+=J)G.enqueue(_.slice(H,H+J))}else{let _=[],H=new RegExp(J5.source,"g"),L;while((L=H.exec(U))!==null)_.push({name:L[1],content:L[2],start:L.index,end:L.index+L[0].length});let O=0;for(let F of _){if(F.start>O){let A=U.slice(O,F.start);if(A.trim()){let R=await R0(A,W,X,Y,w);G.enqueue(R)}}let V=await R0(F.content,W,X,Y,w);G.enqueue(V),O=F.end}if(O<U.length){let F=U.slice(O);if(F.trim()){let V=await R0(F,W,X,Y,w);G.enqueue(V)}}}G.close()}catch(Q){G.error(Q)}}})}async function T_(X,$={}){let Z={...X5,...$,streaming:{...g3,...$.streaming}},Y=await Bun.file(X).text(),J=Y.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),G=J?J[1]:"",Q=Y.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),q=Q,K={},U;J5.lastIndex=0;while((U=J5.exec(Q))!==null){let z=U[1],B=U[2];K[z]=B}let W=Q.replace(J5,"");return{renderShell:async(z={})=>{let B={...z,__filename:X,__dirname:f8.dirname(X)};return await i1(G,B,X),R0(W,B,X,Z,new Set)},renderSection:async(z,B={})=>{try{if(!K[z])return`<div class="error-message">Section "${o0(z)}" not found in template "${o0(X)}"</div>`;let j={...B,__filename:X,__dirname:f8.dirname(X)};await i1(G,j,X);let _=new Set;return await R0(K[z],j,X,Z,_)}catch(j){let _=j instanceof Error?j.message:String(j);return U0("Expression",_,X,K[z]||"",0,K[z]||"")}},getSections:()=>{return Object.keys(K)},getTemplate:()=>{return q}}}function N_(X={}){let $=[];if(X.streaming?.enabled)$.push(EG);if(X.hydration?.enabled)$.push(DG);return $}async function M_(X,$,Z,Y={}){return X}function k_(X,$={}){let Z=new TextEncoder,Y=X.pipeThrough(new TransformStream({transform(G,Q){Q.enqueue(Z.encode(G))}})),J=new Headers($.headers);if(!J.has("Content-Type"))J.set("Content-Type","text/html; charset=utf-8");if(!J.has("Transfer-Encoding"))J.set("Transfer-Encoding","chunked");if(!J.has("X-Content-Type-Options"))J.set("X-Content-Type-Options","nosniff");if(!J.has("X-Accel-Buffering"))J.set("X-Accel-Buffering","no");return new Response(Y,{...$,headers:J})}function I_(X={mode:"full"}){let{mode:$,components:Z={},dynamicImports:Y=!0}=X,J=Object.entries(Z).map(([G,Q])=>`'${G}': ${Y?`() => import('${Q}')`:`require('${Q}')`}`).join(`,
13315
13314
  `);if($==="loader")return`
13316
13315
  (function() {
13317
13316
  window.__stx = window.__stx || {};
@@ -13479,8 +13478,8 @@ else {
13479
13478
  ${K?`{${K}}`:"{}"}
13480
13479
  </script>
13481
13480
  </div>`}}});var SG={};n(SG,{warnUnbalancedTags:()=>m3,findUnbalancedTags:()=>bG});function v5(X){return X.replace(/[^\n]/g," ")}function bG(X){let $=X.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,v5).replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,v5).replace(/<!--[\s\S]*?-->/g,v5).replace(/\{\{\{[\s\S]*?\}\}\}/g,v5).replace(/\{\{[\s\S]*?\}\}/g,v5).replace(/\{!![\s\S]*?!!\}/g,v5),Z=new Map,Y=new Map,J=/<(\/?)([A-Za-z][\w-]*)\b(?:[^>"']|"[^"]*"|'[^']*')*?(\/?)>/g,G;while((G=J.exec($))!==null){let q=G[1]==="/",K=G[2],U=G[3]==="/";if(E_.has(K.toLowerCase()))continue;if(U)continue;if(q)Y.set(K,(Y.get(K)??0)+1);else{let W=Z.get(K);if(W)W.count++;else{let w=$.slice(0,G.index).split(`
13482
- `).length;Z.set(K,{count:1,firstLine:w})}}}let Q=[];for(let q of new Set([...Z.keys(),...Y.keys()])){if(D_.has(q.toLowerCase()))continue;let K=Z.get(q)?.count??0,U=Y.get(q)??0;if(K!==U)Q.push({tag:q,opened:K,closed:U,firstOpenLine:Z.get(q)?.firstLine??0})}return Q}function m3(X,$){let Z;try{Z=bG(X)}catch{return}if(Z.length===0)return;let Y=`${$}:${X.length}`;if(yG.has(Y))return;yG.add(Y);let J=$?$.split(/[/\\]/).pop()||$:"template";for(let{tag:G,opened:Q,closed:q,firstOpenLine:K}of Z)if(Q>q){let U=K?` (first opened at line ${K})`:"";console.warn(`[stx] ${J}: <${G}> ${Q} opened, ${q} closed \u2014 an unclosed <${G}>${U} may swallow the content that follows it.`)}else console.warn(`[stx] ${J}: <${G}> ${Q} opened, ${q} closed \u2014 ${q-Q} stray </${G}>.`)}var E_,D_,yG;var l3=E(()=>{E_=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),D_=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);yG=new Set});import c0 from"path";import c3 from"fs";function CG(X){return X.split("-").map(($)=>$.charAt(0).toUpperCase()+$.slice(1)).join("")}function PG(X){return X.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class vG{builtins=new Map;registerBuiltin(X){this.builtins.set(X.name.toLowerCase(),X);for(let $ of X.aliases)this.builtins.set($.toLowerCase(),X)}isBuiltin(X){return this.builtins.has(X.toLowerCase())}getBuiltin(X){return this.builtins.get(X.toLowerCase())??null}async resolveFile(X,$,Z,Y){let J=X.endsWith(".stx")?X.slice(0,-4):X,G=Y?.__importedComponents;if(G){let B=[J,J.toLowerCase(),CG(J),PG(J)];for(let j of B)if(G.has(j))return G.get(j)}let Q=[...new Set([`${J}.stx`,`${CG(J)}.stx`,`${PG(J)}.stx`])];if(J.startsWith("./")||J.startsWith("../")){let B=c0.resolve(c0.dirname($),`${J}.stx`);if(await p(B))return B;return null}let q=[],K=Z.componentsDir||"",U=Y?.__originalFilePath;if(U)q.push(c0.join(c0.dirname(U),"components"));if(K)q.push(K);let W=c0.join(c0.dirname($),"components");if(!q.includes(W))q.push(W);let w=process.cwd(),z=[c0.resolve(w,"src/components"),c0.resolve(w,"components"),c0.resolve(import.meta.dir,"components")];for(let B of z)if(!q.includes(B))q.push(B);for(let B of q){if(!B)continue;for(let j of Q){let _=c0.join(B,j);if(await p(_))return _}try{if(!c3.statSync(B,{throwIfNoEntry:!1})?.isDirectory())continue;let _=c3.readdirSync(B,{withFileTypes:!0});for(let H of _)if(H.isDirectory()){let L=c0.join(B,H.name);for(let O of Q){let F=c0.join(L,O);if(await p(F))return F}}}catch{}}return null}}var v0;var p3=E(()=>{A0();v0=new vG});function k0(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function xG(X){return X.indexOf("\x00")===-1?X:X.replace(/\0/g,"")}var G5="\x00stx-boolean-attribute";function x5(X,$){let Z=[];for(let[Y,J]of Object.entries(X.static)){if($.has(Y))continue;let G=X.staticNames?.[Y]??Y;if(typeof J==="boolean"){if(J)Z.push(k0(G));continue}if(J===G5){Z.push(k0(G));continue}Z.push(`${k0(G)}="${k0(xG(String(J)))}"`)}return Z}var g8=()=>{};function u7(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function y_(X){if(X.clientReactive.to)return{value:X.clientReactive.to,reactive:!0};if(X.serverDynamic.to!==void 0)return{value:String(X.serverDynamic.to),reactive:!1};if(typeof X.static.to==="string")return{value:X.static.to,reactive:!1};return{value:"#",reactive:!1}}var i3;var n3=E(()=>{g8();i3={name:"StxLink",aliases:["stx-link"],render(X,$,Z){let Y=y_(X),J=(typeof X.static.class==="string"?X.static.class:"")||(typeof X.static.className==="string"?X.static.className:""),G=typeof X.static.activeClass==="string"?X.static.activeClass:"active",Q=typeof X.static.exactActiveClass==="string"?X.static.exactActiveClass:"exact-active",q=X.static.prefetch===!0||X.static.prefetch==="true"||X.serverDynamic.prefetch===!0,K=[];if(Y.reactive)K.push(`:href="${u7(Y.value)}"`);else K.push(`href="${u7(Y.value)}"`);if(J)K.push(`class="${u7(J)}"`);if(K.push("data-stx-link"),K.push(`data-stx-active-class="${u7(G)}"`),K.push(`data-stx-exact-active-class="${u7(Q)}"`),q)K.push("data-stx-prefetch");let U=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);return K.push(...x5(X,U)),`<a ${K.join(" ")}>${$}</a>`}}});function I0(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function y0(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}function o3(X,$,Z=!1){let Y=X.serverDynamic[$];if(Y!==void 0)return Y!==!1&&Y!=="false";let J=X.static[$];if(J!==void 0)return J!=="false"&&J!==!1;return Z}function fG(X){if(X.includes("(")||X.includes(","))return X;let $=X.trim().split(/\s+/),Z=[];for(let Y of $)if(Y.includes(":")){let[J,G]=Y.split(":"),Q=b_[J];if(Q)Z.push(`(max-width: ${Q}px) ${G}`);else{let q=Number.parseInt(J);if(!Number.isNaN(q))Z.push(`(max-width: ${q}px) ${G}`)}}else Z.push(Y);return Z.join(", ")}function s3(X,$,Z,Y){return $.map((J)=>`${d7(X,J,void 0,Z,Y)} ${J}w`).join(", ")}function S_(X,$,Z,Y,J){return $.map((G)=>{let Q=Z?Z*G:void 0;return`${d7(X,Q,void 0,Y,J)} ${G}x`}).join(", ")}function d7(X,$,Z,Y,J){if(!Y||Y==="local"||Y==="static")return X;if(Y==="cloudinary"){let G=[];if($)G.push(`w_${$}`);if(Z)G.push(`h_${Z}`);if(J)G.push(`f_${J}`);G.push("q_auto");let Q=G.join(",");return X.replace("/upload/",`/upload/${Q}/`)}if(Y==="imgix"){let G=new URLSearchParams;if($)G.set("w",String($));if(Z)G.set("h",String(Z));if(J)G.set("fm",J);G.set("auto","format");let Q=X.includes("?")?"&":"?";return`${X}${Q}${G.toString()}`}if(Y==="bunny"){let G=new URLSearchParams;if($)G.set("width",String($));if(Z)G.set("height",String(Z));if(J)G.set("format",J);let Q=X.includes("?")?"&":"?";return`${X}${Q}${G.toString()}`}return X}function C_(X,$,Z="#e5e7eb"){let Y=`<svg xmlns="http://www.w3.org/2000/svg" width="${X}" height="${$}"><rect width="100%" height="100%" fill="${Z}"/></svg>`;return`data:image/svg+xml;base64,${btoa(Y)}`}var b_,r3,a3;var t3=E(()=>{g8();b_={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},r3=[320,640,768,1024,1280,1536,1920];a3={name:"StxImage",aliases:["stx-image","stx-img"],render(X,$,Z){let Y=y0(X,"src")||"",J=y0(X,"alt")||"",G=y0(X,"width"),Q=y0(X,"height"),q=y0(X,"sizes"),K=y0(X,"srcset"),U=y0(X,"densities"),W=y0(X,"format"),w=y0(X,"placeholder"),z=y0(X,"placeholderColor")||"#e5e7eb",B=y0(X,"provider"),j=y0(X,"class")||y0(X,"className")||"",_=y0(X,"style")||"",H=y0(X,"quality"),L=o3(X,"lazy",!0),O=o3(X,"preload",!1),F=o3(X,"picture",!1)||!!W,V=G?Number.parseInt(G):void 0,A=Q?Number.parseInt(Q):void 0,R=K||"",N="";if(!R&&q)R=s3(Y,r3,B,W),N=fG(q);else if(!R&&U){let S=U.split(/\s+/).map((b)=>Number.parseFloat(b.replace("x","")));R=S_(Y,S,V,B,W)}else if(q)N=fG(q);let T=[];if(_)T.push(_);if(V&&A)T.push(`aspect-ratio:${V}/${A}`);if(w==="blur"||w==="color"||w==="thumbhash"){let S=C_(V||16,A||9,z);T.push(`background-image:url(${S})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat")}else if(w&&w!=="empty"&&w!=="none")T.push(`background-image:url(${I0(w)})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat");let k=d7(Y,V,A,B,W),M=[];if(M.push(`src="${I0(k)}"`),M.push(`alt="${I0(J)}"`),G)M.push(`width="${I0(G)}"`);if(Q)M.push(`height="${I0(Q)}"`);if(L)M.push('loading="lazy"');if(M.push('decoding="async"'),j)M.push(`class="${I0(j)}"`);if(T.length>0)M.push(`style="${I0(T.join(";"))}"`);if(R)M.push(`srcset="${I0(R)}"`);if(N)M.push(`sizes="${I0(N)}"`);let y=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);M.push(...x5(X,y));let I=`<img ${M.join(" ")} />`,C="";if(O){let b=W==="webp"?"image/webp":W==="avif"?"image/avif":"";C=`<link rel="preload" as="image" href="${I0(k)}"${b?` type="${b}"`:""}${R?` imagesrcset="${I0(R)}"`:""}${N?` imagesizes="${I0(N)}"`:""} />
13483
- `}if(F){let S=[];if(W==="avif"||W==="auto"){let b=d7(Y,V,A,B,"avif"),P=R?s3(Y,r3,B,"avif"):`${b}`;S.push(`<source type="image/avif" srcset="${I0(P)}"${N?` sizes="${I0(N)}"`:""} />`)}if(W==="webp"||W==="auto"){let b=d7(Y,V,A,B,"webp"),P=R?s3(Y,r3,B,"webp"):`${b}`;S.push(`<source type="image/webp" srcset="${I0(P)}"${N?` sizes="${I0(N)}"`:""} />`)}return`${C}<picture>
13481
+ `).length;Z.set(K,{count:1,firstLine:w})}}}let Q=[];for(let q of new Set([...Z.keys(),...Y.keys()])){if(D_.has(q.toLowerCase()))continue;let K=Z.get(q)?.count??0,U=Y.get(q)??0;if(K!==U)Q.push({tag:q,opened:K,closed:U,firstOpenLine:Z.get(q)?.firstLine??0})}return Q}function m3(X,$){let Z;try{Z=bG(X)}catch{return}if(Z.length===0)return;let Y=`${$}:${X.length}`;if(yG.has(Y))return;yG.add(Y);let J=$?$.split(/[/\\]/).pop()||$:"template";for(let{tag:G,opened:Q,closed:q,firstOpenLine:K}of Z)if(Q>q){let U=K?` (first opened at line ${K})`:"";console.warn(`[stx] ${J}: <${G}> ${Q} opened, ${q} closed \u2014 an unclosed <${G}>${U} may swallow the content that follows it.`)}else console.warn(`[stx] ${J}: <${G}> ${Q} opened, ${q} closed \u2014 ${q-Q} stray </${G}>.`)}var E_,D_,yG;var l3=E(()=>{E_=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),D_=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);yG=new Set});import p0 from"path";import c3 from"fs";function CG(X){return X.split("-").map(($)=>$.charAt(0).toUpperCase()+$.slice(1)).join("")}function PG(X){return X.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class vG{builtins=new Map;registerBuiltin(X){this.builtins.set(X.name.toLowerCase(),X);for(let $ of X.aliases)this.builtins.set($.toLowerCase(),X)}isBuiltin(X){return this.builtins.has(X.toLowerCase())}getBuiltin(X){return this.builtins.get(X.toLowerCase())??null}async resolveFile(X,$,Z,Y){let J=X.endsWith(".stx")?X.slice(0,-4):X,G=Y?.__importedComponents;if(G){let B=[J,J.toLowerCase(),CG(J),PG(J)];for(let j of B)if(G.has(j))return G.get(j)}let Q=[...new Set([`${J}.stx`,`${CG(J)}.stx`,`${PG(J)}.stx`])];if(J.startsWith("./")||J.startsWith("../")){let B=p0.resolve(p0.dirname($),`${J}.stx`);if(await p(B))return B;return null}let q=[],K=Z.componentsDir||"",U=Y?.__originalFilePath;if(U)q.push(p0.join(p0.dirname(U),"components"));if(K)q.push(K);let W=p0.join(p0.dirname($),"components");if(!q.includes(W))q.push(W);let w=process.cwd(),z=[p0.resolve(w,"src/components"),p0.resolve(w,"components"),p0.resolve(import.meta.dir,"components")];for(let B of z)if(!q.includes(B))q.push(B);for(let B of q){if(!B)continue;for(let j of Q){let _=p0.join(B,j);if(await p(_))return _}try{if(!c3.statSync(B,{throwIfNoEntry:!1})?.isDirectory())continue;let _=c3.readdirSync(B,{withFileTypes:!0});for(let H of _)if(H.isDirectory()){let L=p0.join(B,H.name);for(let O of Q){let F=p0.join(L,O);if(await p(F))return F}}}catch{}}return null}}var v0;var p3=E(()=>{A0();v0=new vG});function k0(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function xG(X){return X.indexOf("\x00")===-1?X:X.replace(/\0/g,"")}var G5="\x00stx-boolean-attribute";function x5(X,$){let Z=[];for(let[Y,J]of Object.entries(X.static)){if($.has(Y))continue;let G=X.staticNames?.[Y]??Y;if(typeof J==="boolean"){if(J)Z.push(k0(G));continue}if(J===G5){Z.push(k0(G));continue}Z.push(`${k0(G)}="${k0(xG(String(J)))}"`)}return Z}var g8=()=>{};function u7(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function y_(X){if(X.clientReactive.to)return{value:X.clientReactive.to,reactive:!0};if(X.serverDynamic.to!==void 0)return{value:String(X.serverDynamic.to),reactive:!1};if(typeof X.static.to==="string")return{value:X.static.to,reactive:!1};return{value:"#",reactive:!1}}var i3;var n3=E(()=>{g8();i3={name:"StxLink",aliases:["stx-link"],render(X,$,Z){let Y=y_(X),J=(typeof X.static.class==="string"?X.static.class:"")||(typeof X.static.className==="string"?X.static.className:""),G=typeof X.static.activeClass==="string"?X.static.activeClass:"active",Q=typeof X.static.exactActiveClass==="string"?X.static.exactActiveClass:"exact-active",q=X.static.prefetch===!0||X.static.prefetch==="true"||X.serverDynamic.prefetch===!0,K=[];if(Y.reactive)K.push(`:href="${u7(Y.value)}"`);else K.push(`href="${u7(Y.value)}"`);if(J)K.push(`class="${u7(J)}"`);if(K.push("data-stx-link"),K.push(`data-stx-active-class="${u7(G)}"`),K.push(`data-stx-exact-active-class="${u7(Q)}"`),q)K.push("data-stx-prefetch");let U=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);return K.push(...x5(X,U)),`<a ${K.join(" ")}>${$}</a>`}}});function I0(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function y0(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}function o3(X,$,Z=!1){let Y=X.serverDynamic[$];if(Y!==void 0)return Y!==!1&&Y!=="false";let J=X.static[$];if(J!==void 0)return J!=="false"&&J!==!1;return Z}function fG(X){if(X.includes("(")||X.includes(","))return X;let $=X.trim().split(/\s+/),Z=[];for(let Y of $)if(Y.includes(":")){let[J,G]=Y.split(":"),Q=b_[J];if(Q)Z.push(`(max-width: ${Q}px) ${G}`);else{let q=Number.parseInt(J);if(!Number.isNaN(q))Z.push(`(max-width: ${q}px) ${G}`)}}else Z.push(Y);return Z.join(", ")}function s3(X,$,Z,Y){return $.map((J)=>`${d7(X,J,void 0,Z,Y)} ${J}w`).join(", ")}function S_(X,$,Z,Y,J){return $.map((G)=>{let Q=Z?Z*G:void 0;return`${d7(X,Q,void 0,Y,J)} ${G}x`}).join(", ")}function d7(X,$,Z,Y,J){if(!Y||Y==="local"||Y==="static")return X;if(Y==="cloudinary"){let G=[];if($)G.push(`w_${$}`);if(Z)G.push(`h_${Z}`);if(J)G.push(`f_${J}`);G.push("q_auto");let Q=G.join(",");return X.replace("/upload/",`/upload/${Q}/`)}if(Y==="imgix"){let G=new URLSearchParams;if($)G.set("w",String($));if(Z)G.set("h",String(Z));if(J)G.set("fm",J);G.set("auto","format");let Q=X.includes("?")?"&":"?";return`${X}${Q}${G.toString()}`}if(Y==="bunny"){let G=new URLSearchParams;if($)G.set("width",String($));if(Z)G.set("height",String(Z));if(J)G.set("format",J);let Q=X.includes("?")?"&":"?";return`${X}${Q}${G.toString()}`}return X}function C_(X,$,Z="#e5e7eb"){let Y=`<svg xmlns="http://www.w3.org/2000/svg" width="${X}" height="${$}"><rect width="100%" height="100%" fill="${Z}"/></svg>`;return`data:image/svg+xml;base64,${btoa(Y)}`}var b_,r3,a3;var t3=E(()=>{g8();b_={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},r3=[320,640,768,1024,1280,1536,1920];a3={name:"StxImage",aliases:["stx-image","stx-img"],render(X,$,Z){let Y=y0(X,"src")||"",J=y0(X,"alt")||"",G=y0(X,"width"),Q=y0(X,"height"),q=y0(X,"sizes"),K=y0(X,"srcset"),U=y0(X,"densities"),W=y0(X,"format"),w=y0(X,"placeholder"),z=y0(X,"placeholderColor")||"#e5e7eb",B=y0(X,"provider"),j=y0(X,"class")||y0(X,"className")||"",_=y0(X,"style")||"",H=y0(X,"quality"),L=o3(X,"lazy",!0),O=o3(X,"preload",!1),F=o3(X,"picture",!1)||!!W,V=G?Number.parseInt(G):void 0,A=Q?Number.parseInt(Q):void 0,R=K||"",T="";if(!R&&q)R=s3(Y,r3,B,W),T=fG(q);else if(!R&&U){let S=U.split(/\s+/).map((b)=>Number.parseFloat(b.replace("x","")));R=S_(Y,S,V,B,W)}else if(q)T=fG(q);let N=[];if(_)N.push(_);if(V&&A)N.push(`aspect-ratio:${V}/${A}`);if(w==="blur"||w==="color"||w==="thumbhash"){let S=C_(V||16,A||9,z);N.push(`background-image:url(${S})`),N.push("background-size:cover"),N.push("background-repeat:no-repeat")}else if(w&&w!=="empty"&&w!=="none")N.push(`background-image:url(${I0(w)})`),N.push("background-size:cover"),N.push("background-repeat:no-repeat");let k=d7(Y,V,A,B,W),M=[];if(M.push(`src="${I0(k)}"`),M.push(`alt="${I0(J)}"`),G)M.push(`width="${I0(G)}"`);if(Q)M.push(`height="${I0(Q)}"`);if(L)M.push('loading="lazy"');if(M.push('decoding="async"'),j)M.push(`class="${I0(j)}"`);if(N.length>0)M.push(`style="${I0(N.join(";"))}"`);if(R)M.push(`srcset="${I0(R)}"`);if(T)M.push(`sizes="${I0(T)}"`);let y=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);M.push(...x5(X,y));let I=`<img ${M.join(" ")} />`,C="";if(O){let b=W==="webp"?"image/webp":W==="avif"?"image/avif":"";C=`<link rel="preload" as="image" href="${I0(k)}"${b?` type="${b}"`:""}${R?` imagesrcset="${I0(R)}"`:""}${T?` imagesizes="${I0(T)}"`:""} />
13482
+ `}if(F){let S=[];if(W==="avif"||W==="auto"){let b=d7(Y,V,A,B,"avif"),P=R?s3(Y,r3,B,"avif"):`${b}`;S.push(`<source type="image/avif" srcset="${I0(P)}"${T?` sizes="${I0(T)}"`:""} />`)}if(W==="webp"||W==="auto"){let b=d7(Y,V,A,B,"webp"),P=R?s3(Y,r3,B,"webp"):`${b}`;S.push(`<source type="image/webp" srcset="${I0(P)}"${T?` sizes="${I0(T)}"`:""} />`)}return`${C}<picture>
13484
13483
  ${S.join(`
13485
13484
  `)}
13486
13485
  ${I}
@@ -13517,8 +13516,8 @@ ${I}
13517
13516
  @media(prefers-color-scheme:dark){[data-stx-drawer]{--stx-drawer-bg:#1f2937;--stx-drawer-text:#f3f4f6}}
13518
13517
  .stx-drawer-backdrop[data-stx-drawer-open]{display:block!important;opacity:1}
13519
13518
  .stx-drawer-backdrop[data-stx-drawer-open] .stx-drawer-panel{transform:translateX(0)}
13520
- </style>`}}});import{existsSync as x_,readFileSync as f_}from"fs";function g_(X){if(lG.has(X))return;lG.add(X),console.warn(`[stx] icon collection "${X}" is not installed, so its icons render as nothing. Install it with \`bun add -d @iconify-json/${X}\`.`)}function h_(X){let $=process.cwd();for(let Z of[`${$}/node_modules/@iconify-json/${X}/icons.json`,`${$}/pantry/@iconify-json/${X}/icons.json`,`${$}/node_modules/@iconify/json/json/${X}.json`,`${$}/pantry/@iconify/json/json/${X}.json`])if(x_(Z))return Z;for(let Z of[`@iconify-json/${X}/icons.json`,`@iconify/json/json/${X}.json`])try{return W0.resolve(Z)}catch{}return null}function u_(X){if(d8.has(X))return d8.get(X);let $=h_(X);if(!$)return g_(X),null;try{let Z=JSON.parse(f_($,"utf8"));return d8.set(X,Z.icons),Z.icons}catch{return null}}function h5(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);if(X.static[$]!==void 0)return String(X.static[$]);if(X.clientReactive[$]!==void 0)return X.clientReactive[$];return}var d8,lG,W4;var w4=E(()=>{d8=new Map,lG=new Set;W4={name:"Icon",aliases:["icon","stx-icon"],render(X,$,Z){let Y=h5(X,"name")??h5(X,"icon");if(!Y)return"<!-- Icon: missing name/icon prop -->";let J="lucide",G=Y;if(Y.includes(":")){let O=Y.split(":");J=O[0],G=O[1]}let Q=k0(h5(X,"size")||"24"),q=k0(h5(X,"color")||"currentColor"),K=k0(h5(X,"class")||""),U=k0(h5(X,"style")||""),W=d8.get(J)??u_(J);if(!W)return`<!-- Icon: collection "${J}" not loaded -->`;let w=W[G];if(!w)return`<!-- Icon: "${G}" not found in ${J} -->`;let z=w.width||24,B=w.height||24,j=`0 0 ${z} ${B}`,_=w.body;if(q!=="currentColor")_=_.replace(/currentColor/g,q);let H=K?` class="${K}"`:"",L=U?` style="${U}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${Q}" height="${Q}" viewBox="${j}" fill="none"${H}${L}>${_}</svg>`}}});function cG(X,...$){for(let Z of $){if(X.serverDynamic[Z]!==void 0)return String(X.serverDynamic[Z]);let Y=X.static[Z];if(typeof Y==="string")return Y}return}function pG(X,$){let Z=new RegExp(`<(template|div|span)[^>]*\\bslot=["']${$}["'][^>]*>([\\s\\S]*?)<\\/\\1>`,"i"),Y=X.match(Z);if(!Y)return{region:null,rest:X};return{region:Y[2],rest:X.replace(Y[0],"")}}var z4;var j4=E(()=>{z4={name:"Suspense",aliases:["suspense"],render(X,$,Z){let Y=pG($,"fallback"),J=Y.rest,G=pG(J,"error"),Q=G.rest,q=Y.region??cG(X,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',K=G.region??cG(X,"errorFallback","error-fallback")??'<div class="stx-suspense-error">Something went wrong.</div>';return`<div data-stx-suspense><div data-stx-suspense-fallback>${q}</div><div data-stx-suspense-error hidden>${K}</div><div data-stx-suspense-content hidden>${Q}</div></div>`}}});function m8(X,...$){for(let Z of $){if(X.serverDynamic[Z]!==void 0)return String(X.serverDynamic[Z]);let Y=X.static[Z];if(typeof Y==="string")return Y}return}var B4;var _4=E(()=>{B4={name:"TransitionGroup",aliases:["transition-group"],render(X,$,Z){let Y=(m8(X,"name")||"v").replace(/["'<>]/g,""),J=(m8(X,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",G=m8(X,"class"),Q=m8(X,"id"),q=[`data-stx-transition-group="${Y}"`,G?`class="${G}"`:"",Q?`id="${Q}"`:""].filter(Boolean).join(" ");return`<${J} ${q}>${$}</${J}>`}}});function iG(){v0.registerBuiltin(i3),v0.registerBuiltin(a3),v0.registerBuiltin(e3),v0.registerBuiltin(Z4),v0.registerBuiltin(J4),v0.registerBuiltin(Q4),v0.registerBuiltin(K4),v0.registerBuiltin(W4),v0.registerBuiltin(z4),v0.registerBuiltin(B4)}var nG=E(()=>{n3();t3();X4();Y4();G4();q4();U4();w4();j4();_4();p3();n3();t3();X4();Y4();G4();q4();U4();w4();j4();_4()});function l8(X){return X.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function rG(X,$,Z){let Y=[],J=0;while(J<X.length){let G=X.indexOf("<",J);if(G===-1)break;let q=X.slice(G+1).match(new RegExp(`^(${$.source})(?![\\w.:-])`));if(!q){J=G+1;continue}let K=q[1];if(Z&&Z.has(K.toLowerCase())){let _=G+1+K.length;while(_<X.length&&X[_]!==">")_++;J=_+1;continue}let U=G+1+K.length,W=null,w=U,z=-1,B=!1;while(U<X.length){let _=X[U];if(W){if(_==="\\"&&U+1<X.length){U+=2;continue}if(_===W)W=null;U++;continue}if(_==='"'||_==="'"){W=_,U++;continue}if(_==="/"&&U+1<X.length&&X[U+1]===">"){z=U+2,B=!0;break}if(_===">"){z=U+1;break}U++}if(z===-1){J=G+1;continue}let j=X.slice(w,B?z-2:z-1).trim();if(B)Y.push({fullMatch:X.slice(G,z),tagName:K,attributes:j,content:"",startIndex:G,endIndex:z,isSelfClosing:!0}),J=z;else{let _=`<${K}`,H=`</${K}>`,L=1,O=z,F=-1;while(L>0&&O<X.length){let R=X.indexOf(_,O),N=X.indexOf(H,O);if(N===-1)break;if(R!==-1&&R<N){let T=X[R+_.length];if(T===" "||T===">"||T==="/"||T===`
13521
- `||T==="\t")L++;O=R+_.length}else{if(L--,L===0){F=N;break}O=N+H.length}}if(F===-1){J=z;continue}let V=X.slice(z,F),A=F+H.length;Y.push({fullMatch:X.slice(G,A),tagName:K,attributes:j,content:V,startIndex:G,endIndex:A,isSelfClosing:!1}),J=A}}return Y}function oG(X){return X.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#0?39;/g,"'").replace(/&#x27;/gi,"'").replace(/&amp;/g,"&")}function sG(X,$){try{let Z=Buffer.from(X,"base64").toString("utf8");return JSON.parse(Z)}catch{}try{let Z=X.replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&");return JSON.parse(Z)}catch(Z){if($?.debug)console.error("Error decoding __stx_ prop:",Z);return X}}var aG=E(()=>{O0();A0();l1()});var JQ={};n(JQ,{processESImports:()=>ZQ,processComponents:()=>p8});import c8 from"fs";import u0 from"path";function m_(X,$,Z){let Y={static:{},staticNames:{},serverDynamic:{},clientReactive:{},events:{}},J=new Set(X6),G=(q)=>{if(!q.includes("-")||q.startsWith("@")||q.startsWith(":")||q.startsWith("x-")||q.startsWith("__"))return q;if(q.startsWith("aria-")||q.startsWith("data-"))return q;return q.replace(/-([a-z0-9])/g,(K,U)=>U.toUpperCase())},Q=(q,K)=>{let U=G(q);if(Y.static[U]=K,U!==q)Y.staticNames[U]=q};for(let[q,K]of Object.entries(X)){let U=q.startsWith("x-")&&!J.has(q)&&!q.startsWith("x-bind:")&&!q.startsWith("x-on:")?`:${q.slice(2)}`:q;if(U.startsWith("@")){Y.events[U]=K;continue}if(U.startsWith("__stx_")){let W=G(U.slice(6));Y.serverDynamic[W]=sG(K,Z);continue}if(U.startsWith(":")){let W=G(U.slice(1)),w=K===G5?W:K;if(W==="if"||W==="for"||W==="show"){Y.clientReactive[W]=w;continue}try{if(!G0(w)){if(Z.debug)console.error(`Unsafe expression in :${W} binding: ${w}`);Y.clientReactive[W]=w;continue}let z=Object.keys($),j=Q0(w,z)(...Object.values($));if(j===void 0){let _=w.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],H=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(_.some((O)=>!H.has(O)&&!z.includes(O))){Y.clientReactive[W]=w;continue}}Y.serverDynamic[W]=j}catch{Y.clientReactive[W]=w}continue}if(typeof K==="string"&&K.includes("{{")&&K.includes("}}")){let W=K.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(W)try{let w=W[1];if(G0(w)){let B=Q0(w,Object.keys($))(...Object.values($));Q(U,B!=null?String(B):"")}else{if(Z.debug)console.error(`Unsafe expression in ${U}: ${w}`);Q(U,K)}}catch(w){if(Z.debug)console.error(`Error evaluating expression for ${U}:`,w);Q(U,K)}else{let w=K,z=/\{\{\s*([\s\S]+?)\s*\}\}/g,B;while((B=z.exec(K))!==null)try{let j=B[1];if(!G0(j)){if(Z.debug)console.error(`Unsafe expression in ${U}: ${j}`);continue}let H=Q0(j,Object.keys($))(...Object.values($));w=w.replace(B[0],String(H??""))}catch(j){if(Z.debug)console.error(`Error evaluating expression in ${U}:`,j)}Q(U,w)}continue}Q(U,K===G5?"true":oG(K))}return Y}function l_(X){let $={},Z=0,Y=X.length;while(Z<Y){while(Z<Y&&/\s/.test(X[Z]))Z++;if(Z>=Y)break;let J="";while(Z<Y&&!/[\s=]/.test(X[Z]))J+=X[Z],Z++;if(!J)break;while(Z<Y&&/\s/.test(X[Z]))Z++;if(Z<Y&&X[Z]==="="){Z++;while(Z<Y&&/\s/.test(X[Z]))Z++;let G="";if(Z<Y&&(X[Z]==='"'||X[Z]==="'")){let Q=X[Z];Z++;while(Z<Y){let q=X[Z];if(q==="\\"&&Z+1<Y){Z++,G+=X[Z],Z++;continue}if(q===Q){Z++;break}G+=q,Z++}}else while(Z<Y&&!/\s/.test(X[Z]))G+=X[Z],Z++;$[J]=G}else $[J]=G5}return $}function eG(X){return Object.entries(X).map(([$,Z])=>Z===G5?$:`${$}="${c_(Z)}"`).join(" ")}function c_(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function p_(X){let $=new Set,Z=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1];if(v0.isBuiltin(J))$.add(J)}return[...$].sort()}function i_(X){let $=XQ.get(X);if($)return $;let Z=new Map,Y=[u0.join(X,"src"),u0.join(X,"dist"),X];function J(G,Q){if(Q>6)return;let q;try{q=c8.readdirSync(G,{withFileTypes:!0})}catch{return}for(let K of q){let U=u0.join(G,K.name);if(K.isDirectory()){if(K.name==="node_modules"||K.name.startsWith("."))continue;J(U,Q+1)}else if(K.isFile()&&K.name.endsWith(".stx")){let W=K.name.slice(0,-4);if(!Z.has(W))Z.set(W,U);let w=W.toLowerCase();if(!Z.has(w))Z.set(w,U);let z=W.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Z.has(z))Z.set(z,U)}}}for(let G of Y)if(J(G,0),Z.size>0)break;return XQ.set(X,Z),Z}function n_(X,$){if(X.startsWith(".")||X.startsWith("/"))return null;let Z=$;while(!0){let Y=u0.join(Z,"node_modules",X);try{if(c8.statSync(Y).isDirectory())return Y}catch{}let J=u0.dirname(Z);if(J===Z)return null;Z=J}}async function ZQ(X,$,Z,Y,J){if(!X.includes("import"))return X;if(!$.__importedComponents)$.__importedComponents=new Map;let G=$.__importedComponents,Q=u0.dirname(Z),q=X,K=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return q=q.replace(K,(U,W,w)=>{let z=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,B=w,j,_=[];while((j=z.exec(w))!==null){let[H,L,O,F]=j,V=null,A=null;if(F.startsWith(".")||F.startsWith("/")){let T=u0.resolve(Q,F);if(T.endsWith(".stx"))A=T;else{let k=`${T}.stx`;try{if(c8.statSync(k).isFile())A=k}catch{try{if(c8.statSync(T).isDirectory())V=T}catch{}}}}else V=n_(F,Q);if(!V&&!A)continue;let R=!1,N=(T,k)=>{G.set(T,k),G.set(T.toLowerCase(),k);let M=T.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();G.set(M,k),J.add(k)};if(O&&A)N(O,A),R=!0;else if(L){let T=L.slice(1,-1).split(",").map((M)=>M.trim()).filter(Boolean).map((M)=>{let y=M.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(y)return{source:y[1],local:y[2]};return{source:M,local:M}}),k=V?i_(V):null;for(let{source:M,local:y}of T){let I=null;if(A)I=A;else if(k)I=k.get(M)??k.get(M.toLowerCase())??k.get(M.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(I)N(y,I),R=!0}}if(R)_.push({start:j.index,end:j.index+H.length})}if(_.length===0)return U;for(let H=_.length-1;H>=0;H--)B=B.slice(0,_[H].start)+B.slice(_[H].end);return`<script${W}>${B}</script>`}),q}async function r_(X,$,Z,Y,J){let G=X;if(!$.__importedComponents)$.__importedComponents=new Map;let Q=$.__importedComponents,q=/@import\s*\(\s*([^)]+)\s*\)/g,K;while((K=q.exec(G))!==null){let[U,W]=K,w=W.split(",").map((z)=>z.trim().replace(/^['"]|['"]$/g,"")).filter((z)=>z.length>0);for(let z of w){let B=z.split("/"),_=B[B.length-1].replace(/\.stx$/,""),H=_.includes("-")?_.split("-").map((F)=>F.charAt(0).toUpperCase()+F.slice(1)).join(""):_.charAt(0).toUpperCase()+_.slice(1),L=null,O=[u0.resolve(u0.dirname(Z),`${z}.stx`),u0.resolve(u0.dirname(Z),z),u0.resolve(Y.componentsDir||"components",`${z}.stx`),u0.resolve(Y.componentsDir||"components",z),z.endsWith(".stx")?z:`${z}.stx`];for(let F of O)try{if(await Bun.file(F).exists()){L=F;break}}catch{}if(L){Q.set(H,L),Q.set(_,L),Q.set(_.toLowerCase(),L);let F=H.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(Q.set(F,L),J.add(L),Y.debug)console.log(`Imported component: ${H} -> ${L}`)}else if(Y.debug)console.warn(`Could not resolve imported component: ${z}`)}G=G.replace(U,""),q.lastIndex=0}return G}async function o_(X,$,Z,Y,J){let G=X,Q=Y.componentsDir||"components";if(!$.__processedComponents)$.__processedComponents=new Set;let q=$.__processedComponents,K=/@component\s*\(/g,U;while((U=K.exec(G))!==null){let W=U.index,w=W+U[0].length-1,z=1,B=w+1;while(B<G.length&&z>0){if(G[B]==="(")z++;else if(G[B]===")"){if(z--,z===0)break}B++}if(z!==0)break;let j=G.substring(w+1,B),_=B+1,H=j.match(/^\s*['"]([^'"]+)['"]/);if(!H){K.lastIndex=0;continue}let L=H[1],O,F=j.slice(H[0].length),V=F.match(/^\s*,\s*/);if(V)O=F.slice(V[0].length).trim();let A={};if(O)try{A=H0(O,$)}catch(y){let I=y instanceof Error?y.message:String(y);G=G.replace(G.substring(W,_),`[Error parsing component props: ${I}]`);continue}let R="",N=_,k=G.substring(_).match(/^([\s\S]*?)@endcomponent/);if(k)R=k[1].trim(),N=_+k[0].length;let M=await s1(L,A,R,Q,$,Z,Y,q,J);G=G.substring(0,W)+M+G.substring(N),K.lastIndex=0}return G}async function s_(X,$,Z,Y,J){if(!X)return X;let G=X,Q=Y.componentsDir||"components";if(!$.__processedComponents)$.__processedComponents=new Set;let q=$.__processedComponents,K=R1(G);return G=K.output,G=await z(G,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),G=await z(G,/[A-Z][a-zA-Z0-9]*/,!0),G=await z(G,/[a-z][a-z0-9]*/,!1,d_),G=A7(G,K.scripts),G;async function z(B,j,_,H){if(!B)return B;let L=B,O=rG(L,j,H);for(let F=O.length-1;F>=0;F--){let V=O[F],A=_?l8(V.tagName):V.tagName,R=l_(V.attributes),N=m_(R,$,Y),T=v0.getBuiltin(V.tagName),k=T?await oX(A,Q,$,Z,Y):!1;if(T&&!k){let C={context:$,filePath:Z,options:Y,dependencies:J},S=T.render(N,V.content,C);if(Object.keys(N.clientReactive).length>0)S=$Q(S,N.clientReactive);if(Object.keys(N.events).length>0){let b=eG(N.events);S=S.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${b}`)}L=L.substring(0,V.startIndex)+S+L.substring(V.endIndex);continue}if(!_&&V.tagName.includes("-")&&!await oX(A,Q,$,Z,Y))continue;let M={};for(let[C,S]of Object.entries(N.static))M[C]=S;for(let[C,S]of Object.entries(N.serverDynamic))M[C]=S;let I=await s1(A,M,V.content,Q,$,Z,Y,q,J);if(Object.keys(N.clientReactive).length>0)I=$Q(I,N.clientReactive);if(Object.keys(N.events).length>0){let C=YQ(I);if(C){let S=eG(N.events),b=Object.keys(N.events).map((P)=>P.replace(/^@/,"").split(".")[0]).join(" ");I=I.substring(0,C.insertPos)+` data-stx-parent-events="${b}" ${S}`+I.substring(C.insertPos)}}L=L.substring(0,V.startIndex)+I+L.substring(V.endIndex)}return L}}function $Q(X,$){let Z=new Set(["if","for"]),Y=new Set(["show"]),J=Object.entries($).filter(([W])=>!Z.has(W)),G=J.filter(([W])=>!Y.has(W)).map(([W])=>l8(W)).join(" "),Q=X,q=J.length>0?YQ(Q):null;if(q){let W=J.map(([z,B])=>`:${l8(z)}="${B.replace(/"/g,"&quot;")}"`).join(" "),w=G?` data-stx-parent-bindings="${G}"`:"";Q=Q.substring(0,q.insertPos)+`${w} ${W}`+Q.substring(q.insertPos)}let K=$.if;if(K)Q=`<template :if="${K.replace(/"/g,"&quot;")}">${Q}</template>`;let U=$.for;if(U)Q=`<template :for="${U.replace(/"/g,"&quot;")}">${Q}</template>`;return Q}function YQ(X){let $=/<([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*\bdata-stx-scope(?:\s|=|>)/i.exec(X);if($)return{insertPos:$.index+1+$[1].length};let Z=0;while(Z<X.length){let Y=X.slice(Z),J=Y.match(/^\s+/);if(J){Z+=J[0].length;continue}if(Y.startsWith("<!--")){let q=X.indexOf("-->",Z+4);if(q===-1)return null;Z=q+3;continue}let G=Y.match(/^<(script|style)\b[^>]*>/i);if(G){let q=`</${G[1].toLowerCase()}>`,K=X.toLowerCase().indexOf(q,Z+G[0].length);if(K===-1)return null;Z=K+q.length;continue}let Q=Y.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(?:\s|>|\/)/);if(!Q)return null;return{insertPos:Z+1+Q[1].length}}return null}async function p8(X,$,Z,Y,J){if(!tG)iG(),tG=!0;let G=await ZQ(X,$,Z,Y,J);G=await r_(G,$,Z,Y,J),G=await o_(G,$,Z,Y,J);let Q=[];for(let q=0;q<3;q++){let K=$1(G,V7,(W,w)=>`\x00STX_COMPONENT_COMMENT_${Q.length+w}\x00`);Q.push(...K.tokens);let U=G;if(G=await s_(K.output,$,Z,Y,J),G===U)break}if(Q.length>0)G=G.replace(/\x00STX_COMPONENT_COMMENT_(\d+)\x00/g,(q,K)=>Q[Number(K)]??"");if(Y.debug){let q=p_(G);if(q.length>0)console.warn(`[stx] ${Z}: unresolved component tag(s) after render passes: ${q.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return G}var tG=!1,d_,XQ;var H4=E(()=>{p3();nG();aG();l1();A0();O0();e0();d_=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"]);XQ=new Map});var wQ={};n(wQ,{processLoops:()=>L4,parseLoopBinding:()=>O4});function e_(X,$){let Z=/@(include|partial)\s*\(\s*(['"])([^'"]+)\2\s*,\s*/g,Y="",J=0,G;while((G=Z.exec(X))!==null){let Q=G.index+G[0].length,q=G.index+G[0].indexOf("("),K=T0(X,"(",")",q);if(K===-1)continue;let U=X.slice(Q,K).trim();if(!U)continue;if(!Object.keys($).some((z)=>new RegExp(`(?:^|[^\\w$.])${z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?![\\w$])`).test(U)))continue;let w;try{let z=H0(U,$);if(!z||typeof z!=="object")continue;w=JSON.stringify(z)}catch{continue}Y+=X.slice(J,Q)+w,J=K,Z.lastIndex=K}return J===0?X:Y+X.slice(J)}function XH(X,$){let Z=/@component\s*\(/g,Y=X,J,G=[];while((J=Z.exec(Y))!==null){let Q=J.index,q=Q+J[0].length-1,K=1,U=q+1;while(U<Y.length&&K>0){if(Y[U]==="(")K++;else if(Y[U]===")"){if(K--,K===0)break}U++}if(K!==0)continue;let W=Y.substring(q+1,U),w=U+1,z=W.match(/^\s*['"]([^'"]+)['"]/);if(!z)continue;let B=z[1],j=W.slice(z[0].length),_=j.match(/^\s*,\s*/);if(!_)continue;let H=j.slice(_[0].length).trim();if(!H)continue;try{let L=H0(H,$),O=JSON.stringify(L),F=`@component('${B}', ${O})`;G.push({start:Q,end:w,replacement:F})}catch{continue}}for(let Q=G.length-1;Q>=0;Q--){let{start:q,end:K,replacement:U}=G[Q];Y=Y.substring(0,q)+U+Y.substring(K)}return Y}function i8(X,$,Z){let Y=X,J=new RegExp(`${$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),G;while((G=J.exec(Y))!==null){let Q=G.index,q=Q+G[0].length-1,K=1,U=q+1,W=null,w=!1;while(U<Y.length&&K>0){let j=Y[U];if(w){w=!1,U++;continue}if(j==="\\"&&W){w=!0,U++;continue}if(W){if(j===W)W=null;U++;continue}if(j==='"'||j==="'"||j==="`"){W=j,U++;continue}if(j==="(")K++;else if(j===")"){if(K--,K===0)break}U++}if(K!==0)break;let z=Y.substring(q+1,U),B=Z(z);Y=Y.substring(0,Q)+B+Y.substring(U+1)}return Y}function $H(X,$){let Z=X;return Z=Z.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(Y,J)=>{if(J in $)return`:${J}="${J}"`;return Y}),Z=Z.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(Y,J,G)=>{try{let Q=Object.keys($),q=Object.values($);FX(G);let U=Q0(G,Q)(...q),W=JSON.stringify(U),w=Buffer.from(W,"utf8").toString("base64");return`__stx_${J}="${w}"`}catch(Q){return Y}}),Z}function ZH(X,$){let Z=X;return Z=i8(Z,"@break",(Y)=>{try{let G=`!!(${Y.trim()})`,Q;if(G0(G)){let q=Q0(G,Object.keys($));Q=Boolean(q(...Object.values($)))}else Q=Boolean($0(G,$));return Q?n8:""}catch{return""}}),Z=i8(Z,"@continue",(Y)=>{try{let G=`!!(${Y.trim()})`,Q;if(G0(G)){let q=Q0(G,Object.keys($));Q=Boolean(q(...Object.values($)))}else Q=Boolean($0(G,$));return Q?r8:""}catch{return""}}),Z}function YH(X){let $=X;return $=$.replace(/@break(?!\()/g,n8),$=$.replace(/@continue(?!\()/g,r8),$}function GQ(X){let $=X.includes(n8),Z=$?X.substring(0,X.indexOf(n8)):X;return{hasBreak:$,content:Z}}function QQ(X){let $=X.includes(r8),Z=$?X.substring(0,X.indexOf(r8)):X;return{hasContinue:$,content:Z}}function KQ(X){let $=X;return $=i8($,"@break",(Z)=>{let Y=Z.trim();if(!VX(Y))return"";return`\`; if (${Y}) { break; } result += \``}),$=i8($,"@continue",(Z)=>{let Y=Z.trim();if(!VX(Y))return"";return`\`; if (${Y}) { continue; } result += \``}),$=$.replace(/@break(?!\()/g,"`; break; result += `"),$=$.replace(/@continue(?!\()/g,"`; continue; result += `"),$}function JH(X){let $=/@forelse\s*\(/g,Z,Y=[],J=/@foreach\s*\(/g,G=/@endforeach/g,Q;while((Q=J.exec(X))!==null)Y.push({pos:Q.index,delta:1});while((Q=G.exec(X))!==null)Y.push({pos:Q.index,delta:-1});Y.sort((W,w)=>W.pos-w.pos);let q=[],K=0;for(let W of Y)K+=W.delta,q.push({pos:W.pos,depth:K});function U(W){let w=0,z=q.length-1,B=0;while(w<=z){let j=w+z>>1;if(q[j].pos<=W)B=q[j].depth,w=j+1;else z=j-1}return B}while((Z=$.exec(X))!==null){if(U(Z.index)>0)continue;let W=Z.index,w=Z.index+Z[0].length-1,z=1,B=w+1,j=-1;while(B<X.length&&z>0){if(X[B]==="(")z++;else if(X[B]===")"){if(z--,z===0){j=B;break}}B++}if(j===-1)continue;let _=X.substring(w+1,j),H=O4(_);if(!H)continue;let{arrayExpr:L,itemVar:O}=H,F=j+1,V=1,A=F,R=/@forelse\s*\(/g,N=/@endforelse/g,T=-1;while(V>0&&A<X.length){R.lastIndex=A,N.lastIndex=A;let S=R.exec(X),b=N.exec(X);if(!b)break;if(S&&S.index<b.index)V++,A=S.index+S[0].length;else{if(V--,V===0){T=b.index;break}A=b.index+11}}if(T===-1)continue;let k=X.substring(F,T),M=T+11,y=-1,I=0,C=0;while(C<k.length){let S=k.indexOf("@",C);if(S===-1)break;let b=k.substring(S);if(/^@forelse\s*\(/.test(b))I++,C=S+1;else if(b.startsWith("@endforelse"))I--,C=S+11;else if(I===0&&b.startsWith("@empty")){if(k.length<=S+6||!/[a-z]/i.test(k[S+6])){y=S;break}C=S+1}else C=S+1}if(y===-1)continue;return{start:W,end:M,arrayExpr:L,itemVar:O,foreachContent:k.substring(0,y),emptyContent:k.substring(y+6)}}return null}function qQ(X,$){let Z=X;while(!0){let Y=JH(Z);if(!Y)break;let{start:J,end:G,arrayExpr:Q,itemVar:q,foreachContent:K,emptyContent:U}=Y;try{let W;if(G0(Q))W=Q0(Q,Object.keys($))(...Object.values($));else W=$0(Q,$);let w;if(!Array.isArray(W)||W.length===0)w=U;else w=`@foreach (${Q} as ${q})${K}@endforeach`;Z=Z.substring(0,J)+w+Z.substring(G)}catch(W){let w=W instanceof Error?W.message:String(W),z=X0("Forelse",`Error in @forelse(${Q} as ${q}): ${w}`,s.EVALUATION_ERROR);Z=Z.substring(0,J)+z+Z.substring(G)}}return Z}function O4(X){let $=X.indexOf(" as ");if($!==-1){let G=X.slice(0,$).trim(),Q=X.slice($+4).trim();return G&&Q?{arrayExpr:G,itemVar:Q}:null}let Z=/^\s*(.+?)\s+in\s+([\s\S]+)$/.exec(X);if(!Z)return null;let Y=Z[1].trim().replace(/^\(([\s\S]*)\)$/,"$1").trim(),J=Z[2].trim();return Y&&J?{arrayExpr:J,itemVar:Y}:null}function L4(X,$,Z,Y){let J=X;J=qQ(J,$);function G(K){let U=/@foreach\s*\(/g,W;while((W=U.exec(K))!==null){let w=W.index,z=W.index+W[0].length-1,B=1,j=z+1,_=-1;while(j<K.length&&B>0){if(K[j]==="(")B++;else if(K[j]===")"){if(B--,B===0){_=j;break}}j++}if(_===-1)continue;let H=K.substring(z+1,_),L=O4(H);if(!L)continue;let O=w,{arrayExpr:F,itemVar:V}=L,A=_+1,R=1,N=A,T=/@foreach\s*\(/g,k=/@endforeach/g;while(R>0&&N<K.length){T.lastIndex=N,k.lastIndex=N;let M=T.exec(K),y=k.exec(K);if(!y)break;if(M&&M.index<y.index)R++,N=M.index+M[0].length;else{if(R--,R===0){let I=K.substring(A,y.index),C=y.index+11;return{start:O,end:C,arrayExpr:F,itemVar:V,content:I}}N=y.index+11}}}return null}function Q(K,U){let W=K;while(!0){let w=G(W);if(!w)break;let{start:z,end:B,arrayExpr:j,itemVar:_,content:H}=w;try{let L=j.trim(),O;if(G0(L))O=Q0(L,Object.keys(U))(...Object.values(U));else O=$0(L,U);let F=!1;if(!Array.isArray(O))if(O instanceof Map)O=Array.from(O),F=!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),F=!0;else{console.warn(`[stx] @foreach(${L}) in ${Z}: ${L} 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 y=X0("Foreach",`Error in @foreach: ${L} is not iterable`,s.TYPE_ERROR);W=W.substring(0,z)+y+W.substring(B);continue}let V=Y?.loops?.useAltLoopVariable??t_,A=_.trim(),R=null,N,T=!1;if(A.includes("=>")){let y=A.split("=>").map((I)=>I.trim());if(y.length===2&&y[0]&&y[1])R=y[0],N=y[1];else N=A}else if(!A.startsWith("[")&&!A.startsWith("{")&&A.includes(",")){let y=A.split(",").map((I)=>I.trim());if(y.length===2&&y[0]&&y[1])N=y[0],R=y[1],T=!0;else N=A}else N=A;let k="",M=O;for(let y=0;y<M.length;y++){let I=M[y],C={index:y,iteration:y+1,first:y===0,last:y===M.length-1,count:M.length},S={...U,loop:C,$loop:C};if(N.startsWith("[")&&N.endsWith("]")){let d=N.slice(1,-1).split(",").map((m)=>m.trim());if(Array.isArray(I))d.forEach((m,Y0)=>{if(m)S[m]=I[Y0]});else S[N]=I}else S[N]=I;if(R)if(!T&&F&&Array.isArray(I)&&I.length===2)S[R]=I[0],S[N]=I[1];else S[R]=y;let b=ZH(H,S),P=QQ(b);if(P.hasContinue){k+=P.content;continue}let x=GQ(b);if(x.hasBreak){k+=x.content;break}if(b=qQ(b,S),b=Q(b,S),b=Z5(b,S,Z),b=YH(b),x=GQ(b),x.hasBreak){k+=x.content;break}if(P=QQ(b),P.hasContinue){k+=P.content;continue}b=N1(b,S,Z),b=$H(b,S),b=XH(b,S),b=e_(b,S),k+=b}W=W.substring(0,z)+k+W.substring(B)}catch(L){let O=X0("Foreach",`Error in @foreach(${j.trim()} as ${_.trim()}): ${L instanceof Error?L.message:String(L)}`,s.EVALUATION_ERROR);W=W.substring(0,z)+O+W.substring(B)}}return W}J=Q(J,$),J=WQ(J,$,Z,Y);let q=Y?.loops?.maxWhileIterations??a_;return J=qH(J,$,q),J}function UQ(X){return VX(X)}function WQ(X,$,Z,Y){let J=X,G=!0;while(G){G=!1;let Q=J.match(/@for\s*\(/);if(!Q||Q.index===void 0)break;let q=Q.index,K=q+Q[0].length-1,U=T0(J,"(",")",K);if(U===-1)break;let W=J.slice(K+1,U),w=U+1,z=EX(J.slice(q),"for","endfor");if(z.length===0)break;let B=z[0].content,j=q+z[0].end;if(!UQ(W)){let _=X0("For",`Unsafe expression in @for: ${W}`,s.UNSAFE_EXPRESSION);J=J.substring(0,q)+_+J.substring(j),G=!0;continue}try{let _=GH(W),H=/@(?:for|foreach|if|unless)\s*\(/.test(B);if(_.length>0&&H){let R=QH({forExpr:W,content:B,iterVarNames:_,context:$,filePath:Z,options:Y});J=J.substring(0,q)+R+J.substring(j),G=!0;continue}let L=Object.keys($),O=Object.values($),F=B.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(R,N)=>{return`\${${N}}`});F=KQ(F);let A=Function(...L,`
13519
+ </style>`}}});import{existsSync as x_,readFileSync as f_}from"fs";function g_(X){if(lG.has(X))return;lG.add(X),console.warn(`[stx] icon collection "${X}" is not installed, so its icons render as nothing. Install it with \`bun add -d @iconify-json/${X}\`.`)}function h_(X){let $=process.cwd();for(let Z of[`${$}/node_modules/@iconify-json/${X}/icons.json`,`${$}/pantry/@iconify-json/${X}/icons.json`,`${$}/node_modules/@iconify/json/json/${X}.json`,`${$}/pantry/@iconify/json/json/${X}.json`])if(x_(Z))return Z;for(let Z of[`@iconify-json/${X}/icons.json`,`@iconify/json/json/${X}.json`])try{return W0.resolve(Z)}catch{}return null}function u_(X){if(d8.has(X))return d8.get(X);let $=h_(X);if(!$)return g_(X),null;try{let Z=JSON.parse(f_($,"utf8"));return d8.set(X,Z.icons),Z.icons}catch{return null}}function h5(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);if(X.static[$]!==void 0)return String(X.static[$]);if(X.clientReactive[$]!==void 0)return X.clientReactive[$];return}var d8,lG,W4;var w4=E(()=>{d8=new Map,lG=new Set;W4={name:"Icon",aliases:["icon","stx-icon"],render(X,$,Z){let Y=h5(X,"name")??h5(X,"icon");if(!Y)return"<!-- Icon: missing name/icon prop -->";let J="lucide",G=Y;if(Y.includes(":")){let O=Y.split(":");J=O[0],G=O[1]}let Q=k0(h5(X,"size")||"24"),q=k0(h5(X,"color")||"currentColor"),K=k0(h5(X,"class")||""),U=k0(h5(X,"style")||""),W=d8.get(J)??u_(J);if(!W)return`<!-- Icon: collection "${J}" not loaded -->`;let w=W[G];if(!w)return`<!-- Icon: "${G}" not found in ${J} -->`;let z=w.width||24,B=w.height||24,j=`0 0 ${z} ${B}`,_=w.body;if(q!=="currentColor")_=_.replace(/currentColor/g,q);let H=K?` class="${K}"`:"",L=U?` style="${U}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${Q}" height="${Q}" viewBox="${j}" fill="none"${H}${L}>${_}</svg>`}}});function cG(X,...$){for(let Z of $){if(X.serverDynamic[Z]!==void 0)return String(X.serverDynamic[Z]);let Y=X.static[Z];if(typeof Y==="string")return Y}return}function pG(X,$){let Z=new RegExp(`<(template|div|span)[^>]*\\bslot=["']${$}["'][^>]*>([\\s\\S]*?)<\\/\\1>`,"i"),Y=X.match(Z);if(!Y)return{region:null,rest:X};return{region:Y[2],rest:X.replace(Y[0],"")}}var z4;var j4=E(()=>{z4={name:"Suspense",aliases:["suspense"],render(X,$,Z){let Y=pG($,"fallback"),J=Y.rest,G=pG(J,"error"),Q=G.rest,q=Y.region??cG(X,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',K=G.region??cG(X,"errorFallback","error-fallback")??'<div class="stx-suspense-error">Something went wrong.</div>';return`<div data-stx-suspense><div data-stx-suspense-fallback>${q}</div><div data-stx-suspense-error hidden>${K}</div><div data-stx-suspense-content hidden>${Q}</div></div>`}}});function m8(X,...$){for(let Z of $){if(X.serverDynamic[Z]!==void 0)return String(X.serverDynamic[Z]);let Y=X.static[Z];if(typeof Y==="string")return Y}return}var B4;var _4=E(()=>{B4={name:"TransitionGroup",aliases:["transition-group"],render(X,$,Z){let Y=(m8(X,"name")||"v").replace(/["'<>]/g,""),J=(m8(X,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",G=m8(X,"class"),Q=m8(X,"id"),q=[`data-stx-transition-group="${Y}"`,G?`class="${G}"`:"",Q?`id="${Q}"`:""].filter(Boolean).join(" ");return`<${J} ${q}>${$}</${J}>`}}});function iG(){v0.registerBuiltin(i3),v0.registerBuiltin(a3),v0.registerBuiltin(e3),v0.registerBuiltin(Z4),v0.registerBuiltin(J4),v0.registerBuiltin(Q4),v0.registerBuiltin(K4),v0.registerBuiltin(W4),v0.registerBuiltin(z4),v0.registerBuiltin(B4)}var nG=E(()=>{n3();t3();X4();Y4();G4();q4();U4();w4();j4();_4();p3();n3();t3();X4();Y4();G4();q4();U4();w4();j4();_4()});function l8(X){return X.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function rG(X,$,Z){let Y=[],J=0;while(J<X.length){let G=X.indexOf("<",J);if(G===-1)break;let q=X.slice(G+1).match(new RegExp(`^(${$.source})(?![\\w.:-])`));if(!q){J=G+1;continue}let K=q[1];if(Z&&Z.has(K.toLowerCase())){let _=G+1+K.length;while(_<X.length&&X[_]!==">")_++;J=_+1;continue}let U=G+1+K.length,W=null,w=U,z=-1,B=!1;while(U<X.length){let _=X[U];if(W){if(_==="\\"&&U+1<X.length){U+=2;continue}if(_===W)W=null;U++;continue}if(_==='"'||_==="'"){W=_,U++;continue}if(_==="/"&&U+1<X.length&&X[U+1]===">"){z=U+2,B=!0;break}if(_===">"){z=U+1;break}U++}if(z===-1){J=G+1;continue}let j=X.slice(w,B?z-2:z-1).trim();if(B)Y.push({fullMatch:X.slice(G,z),tagName:K,attributes:j,content:"",startIndex:G,endIndex:z,isSelfClosing:!0}),J=z;else{let _=`<${K}`,H=`</${K}>`,L=1,O=z,F=-1;while(L>0&&O<X.length){let R=X.indexOf(_,O),T=X.indexOf(H,O);if(T===-1)break;if(R!==-1&&R<T){let N=X[R+_.length];if(N===" "||N===">"||N==="/"||N===`
13520
+ `||N==="\t")L++;O=R+_.length}else{if(L--,L===0){F=T;break}O=T+H.length}}if(F===-1){J=z;continue}let V=X.slice(z,F),A=F+H.length;Y.push({fullMatch:X.slice(G,A),tagName:K,attributes:j,content:V,startIndex:G,endIndex:A,isSelfClosing:!1}),J=A}}return Y}function oG(X){return X.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#0?39;/g,"'").replace(/&#x27;/gi,"'").replace(/&amp;/g,"&")}function sG(X,$){try{let Z=Buffer.from(X,"base64").toString("utf8");return JSON.parse(Z)}catch{}try{let Z=X.replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&");return JSON.parse(Z)}catch(Z){if($?.debug)console.error("Error decoding __stx_ prop:",Z);return X}}var aG=E(()=>{O0();A0();l1()});var JQ={};n(JQ,{processESImports:()=>ZQ,processComponents:()=>p8});import c8 from"fs";import u0 from"path";function m_(X,$,Z){let Y={static:{},staticNames:{},serverDynamic:{},clientReactive:{},events:{}},J=new Set(Array.isArray($.__stx_client_signal_names)?$.__stx_client_signal_names:[]),G=(U)=>{if(J.size===0)return!1;let W=l0(U),w=W.match(/^\s*[!+~(-]*\s*([a-zA-Z_$][\w$]*)/)?.[1];if(w&&J.has(w))return!0;for(let z of J){let B=z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`(?:^|[^\\w$.])${B}\\s*\\(`).test(W))return!0}return!1},Q=new Set(X6),q=(U)=>{if(!U.includes("-")||U.startsWith("@")||U.startsWith(":")||U.startsWith("x-")||U.startsWith("__"))return U;if(U.startsWith("aria-")||U.startsWith("data-"))return U;return U.replace(/-([a-z0-9])/g,(W,w)=>w.toUpperCase())},K=(U,W)=>{let w=q(U);if(Y.static[w]=W,w!==U)Y.staticNames[w]=U};for(let[U,W]of Object.entries(X)){let w=U.startsWith("x-")&&!Q.has(U)&&!U.startsWith("x-bind:")&&!U.startsWith("x-on:")?`:${U.slice(2)}`:U;if(w.startsWith("@")){Y.events[w]=W;continue}if(w.startsWith("__stx_")){let z=q(w.slice(6));Y.serverDynamic[z]=sG(W,Z);continue}if(w.startsWith(":")){let z=q(w.slice(1)),B=W===G5?z:W;if(z==="if"||z==="for"||z==="show"){Y.clientReactive[z]=B;continue}if(G(B)){Y.clientReactive[z]=B;continue}try{if(!G0(B)){if(Z.debug)console.error(`Unsafe expression in :${z} binding: ${B}`);Y.clientReactive[z]=B;continue}let j=Object.keys($),H=Q0(B,j)(...Object.values($));if(H===void 0){let L=B.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],O=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(L.some((V)=>!O.has(V)&&!j.includes(V))){Y.clientReactive[z]=B;continue}}Y.serverDynamic[z]=H}catch{Y.clientReactive[z]=B}continue}if(typeof W==="string"&&W.includes("{{")&&W.includes("}}")){let z=W.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(z)try{let B=z[1];if(G0(B)){let _=Q0(B,Object.keys($))(...Object.values($));K(w,_!=null?String(_):"")}else{if(Z.debug)console.error(`Unsafe expression in ${w}: ${B}`);K(w,W)}}catch(B){if(Z.debug)console.error(`Error evaluating expression for ${w}:`,B);K(w,W)}else{let B=W,j=/\{\{\s*([\s\S]+?)\s*\}\}/g,_;while((_=j.exec(W))!==null)try{let H=_[1];if(!G0(H)){if(Z.debug)console.error(`Unsafe expression in ${w}: ${H}`);continue}let O=Q0(H,Object.keys($))(...Object.values($));B=B.replace(_[0],String(O??""))}catch(H){if(Z.debug)console.error(`Error evaluating expression in ${w}:`,H)}K(w,B)}continue}K(w,W===G5?"true":oG(W))}return Y}function l_(X){let $={},Z=0,Y=X.length;while(Z<Y){while(Z<Y&&/\s/.test(X[Z]))Z++;if(Z>=Y)break;let J="";while(Z<Y&&!/[\s=]/.test(X[Z]))J+=X[Z],Z++;if(!J)break;while(Z<Y&&/\s/.test(X[Z]))Z++;if(Z<Y&&X[Z]==="="){Z++;while(Z<Y&&/\s/.test(X[Z]))Z++;let G="";if(Z<Y&&(X[Z]==='"'||X[Z]==="'")){let Q=X[Z];Z++;while(Z<Y){let q=X[Z];if(q==="\\"&&Z+1<Y){Z++,G+=X[Z],Z++;continue}if(q===Q){Z++;break}G+=q,Z++}}else while(Z<Y&&!/\s/.test(X[Z]))G+=X[Z],Z++;$[J]=G}else $[J]=G5}return $}function eG(X){return Object.entries(X).map(([$,Z])=>Z===G5?$:`${$}="${c_(Z)}"`).join(" ")}function c_(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function p_(X){let $=new Set,Z=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1];if(v0.isBuiltin(J))$.add(J)}return[...$].sort()}function i_(X){let $=XQ.get(X);if($)return $;let Z=new Map,Y=[u0.join(X,"src"),u0.join(X,"dist"),X];function J(G,Q){if(Q>6)return;let q;try{q=c8.readdirSync(G,{withFileTypes:!0})}catch{return}for(let K of q){let U=u0.join(G,K.name);if(K.isDirectory()){if(K.name==="node_modules"||K.name.startsWith("."))continue;J(U,Q+1)}else if(K.isFile()&&K.name.endsWith(".stx")){let W=K.name.slice(0,-4);if(!Z.has(W))Z.set(W,U);let w=W.toLowerCase();if(!Z.has(w))Z.set(w,U);let z=W.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Z.has(z))Z.set(z,U)}}}for(let G of Y)if(J(G,0),Z.size>0)break;return XQ.set(X,Z),Z}function n_(X,$){if(X.startsWith(".")||X.startsWith("/"))return null;let Z=$;while(!0){let Y=u0.join(Z,"node_modules",X);try{if(c8.statSync(Y).isDirectory())return Y}catch{}let J=u0.dirname(Z);if(J===Z)return null;Z=J}}async function ZQ(X,$,Z,Y,J){if(!X.includes("import"))return X;if(!$.__importedComponents)$.__importedComponents=new Map;let G=$.__importedComponents,Q=u0.dirname(Z),q=X,K=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return q=q.replace(K,(U,W,w)=>{let z=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,B=w,j,_=[];while((j=z.exec(w))!==null){let[H,L,O,F]=j,V=null,A=null;if(F.startsWith(".")||F.startsWith("/")){let N=u0.resolve(Q,F);if(N.endsWith(".stx"))A=N;else{let k=`${N}.stx`;try{if(c8.statSync(k).isFile())A=k}catch{try{if(c8.statSync(N).isDirectory())V=N}catch{}}}}else V=n_(F,Q);if(!V&&!A)continue;let R=!1,T=(N,k)=>{G.set(N,k),G.set(N.toLowerCase(),k);let M=N.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();G.set(M,k),J.add(k)};if(O&&A)T(O,A),R=!0;else if(L){let N=L.slice(1,-1).split(",").map((M)=>M.trim()).filter(Boolean).map((M)=>{let y=M.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(y)return{source:y[1],local:y[2]};return{source:M,local:M}}),k=V?i_(V):null;for(let{source:M,local:y}of N){let I=null;if(A)I=A;else if(k)I=k.get(M)??k.get(M.toLowerCase())??k.get(M.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(I)T(y,I),R=!0}}if(R)_.push({start:j.index,end:j.index+H.length})}if(_.length===0)return U;for(let H=_.length-1;H>=0;H--)B=B.slice(0,_[H].start)+B.slice(_[H].end);return`<script${W}>${B}</script>`}),q}async function r_(X,$,Z,Y,J){let G=X;if(!$.__importedComponents)$.__importedComponents=new Map;let Q=$.__importedComponents,q=/@import\s*\(\s*([^)]+)\s*\)/g,K;while((K=q.exec(G))!==null){let[U,W]=K,w=W.split(",").map((z)=>z.trim().replace(/^['"]|['"]$/g,"")).filter((z)=>z.length>0);for(let z of w){let B=z.split("/"),_=B[B.length-1].replace(/\.stx$/,""),H=_.includes("-")?_.split("-").map((F)=>F.charAt(0).toUpperCase()+F.slice(1)).join(""):_.charAt(0).toUpperCase()+_.slice(1),L=null,O=[u0.resolve(u0.dirname(Z),`${z}.stx`),u0.resolve(u0.dirname(Z),z),u0.resolve(Y.componentsDir||"components",`${z}.stx`),u0.resolve(Y.componentsDir||"components",z),z.endsWith(".stx")?z:`${z}.stx`];for(let F of O)try{if(await Bun.file(F).exists()){L=F;break}}catch{}if(L){Q.set(H,L),Q.set(_,L),Q.set(_.toLowerCase(),L);let F=H.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(Q.set(F,L),J.add(L),Y.debug)console.log(`Imported component: ${H} -> ${L}`)}else if(Y.debug)console.warn(`Could not resolve imported component: ${z}`)}G=G.replace(U,""),q.lastIndex=0}return G}async function o_(X,$,Z,Y,J){let G=X,Q=Y.componentsDir||"components";if(!$.__processedComponents)$.__processedComponents=new Set;let q=$.__processedComponents,K=/@component\s*\(/g,U;while((U=K.exec(G))!==null){let W=U.index,w=W+U[0].length-1,z=1,B=w+1;while(B<G.length&&z>0){if(G[B]==="(")z++;else if(G[B]===")"){if(z--,z===0)break}B++}if(z!==0)break;let j=G.substring(w+1,B),_=B+1,H=j.match(/^\s*['"]([^'"]+)['"]/);if(!H){K.lastIndex=0;continue}let L=H[1],O,F=j.slice(H[0].length),V=F.match(/^\s*,\s*/);if(V)O=F.slice(V[0].length).trim();let A={};if(O)try{A=H0(O,$)}catch(y){let I=y instanceof Error?y.message:String(y);G=G.replace(G.substring(W,_),`[Error parsing component props: ${I}]`);continue}let R="",T=_,k=G.substring(_).match(/^([\s\S]*?)@endcomponent/);if(k)R=k[1].trim(),T=_+k[0].length;let M=await s1(L,A,R,Q,$,Z,Y,q,J);G=G.substring(0,W)+M+G.substring(T),K.lastIndex=0}return G}async function s_(X,$,Z,Y,J){if(!X)return X;let G=X,Q=Y.componentsDir||"components";if(!$.__processedComponents)$.__processedComponents=new Set;let q=$.__processedComponents,K=R1(G);return G=K.output,G=await z(G,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),G=await z(G,/[A-Z][a-zA-Z0-9]*/,!0),G=await z(G,/[a-z][a-z0-9]*/,!1,d_),G=A7(G,K.scripts),G;async function z(B,j,_,H){if(!B)return B;let L=B,O=rG(L,j,H);for(let F=O.length-1;F>=0;F--){let V=O[F],A=_?l8(V.tagName):V.tagName,R=l_(V.attributes),T=m_(R,$,Y),N=v0.getBuiltin(V.tagName),k=N?await oX(A,Q,$,Z,Y):!1;if(N&&!k){let C={context:$,filePath:Z,options:Y,dependencies:J},S=N.render(T,V.content,C);if(Object.keys(T.clientReactive).length>0)S=$Q(S,T.clientReactive);if(Object.keys(T.events).length>0){let b=eG(T.events);S=S.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${b}`)}L=L.substring(0,V.startIndex)+S+L.substring(V.endIndex);continue}if(!_&&V.tagName.includes("-")&&!await oX(A,Q,$,Z,Y))continue;let M={};for(let[C,S]of Object.entries(T.static))M[C]=S;for(let[C,S]of Object.entries(T.serverDynamic))M[C]=S;let I=await s1(A,M,V.content,Q,$,Z,Y,q,J);if(Object.keys(T.clientReactive).length>0)I=$Q(I,T.clientReactive);if(Object.keys(T.events).length>0){let C=YQ(I);if(C){let S=eG(T.events),b=Object.keys(T.events).map((P)=>P.replace(/^@/,"").split(".")[0]).join(" ");I=I.substring(0,C.insertPos)+` data-stx-parent-events="${b}" ${S}`+I.substring(C.insertPos)}}L=L.substring(0,V.startIndex)+I+L.substring(V.endIndex)}return L}}function $Q(X,$){let Z=new Set(["if","for"]),Y=new Set(["show"]),J=Object.entries($).filter(([W])=>!Z.has(W)),G=J.filter(([W])=>!Y.has(W)).map(([W])=>l8(W)).join(" "),Q=X,q=J.length>0?YQ(Q):null;if(q){let W=J.map(([z,B])=>`:${l8(z)}="${B.replace(/"/g,"&quot;")}"`).join(" "),w=G?` data-stx-parent-bindings="${G}"`:"";Q=Q.substring(0,q.insertPos)+`${w} ${W}`+Q.substring(q.insertPos)}let K=$.if;if(K)Q=`<template :if="${K.replace(/"/g,"&quot;")}">${Q}</template>`;let U=$.for;if(U)Q=`<template :for="${U.replace(/"/g,"&quot;")}">${Q}</template>`;return Q}function YQ(X){let $=/<([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*\bdata-stx-scope(?:\s|=|>)/i.exec(X);if($)return{insertPos:$.index+1+$[1].length};let Z=0;while(Z<X.length){let Y=X.slice(Z),J=Y.match(/^\s+/);if(J){Z+=J[0].length;continue}if(Y.startsWith("<!--")){let q=X.indexOf("-->",Z+4);if(q===-1)return null;Z=q+3;continue}let G=Y.match(/^<(script|style)\b[^>]*>/i);if(G){let q=`</${G[1].toLowerCase()}>`,K=X.toLowerCase().indexOf(q,Z+G[0].length);if(K===-1)return null;Z=K+q.length;continue}let Q=Y.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(?:\s|>|\/)/);if(!Q)return null;return{insertPos:Z+1+Q[1].length}}return null}async function p8(X,$,Z,Y,J){if(!tG)iG(),tG=!0;let G=await ZQ(X,$,Z,Y,J);G=await r_(G,$,Z,Y,J),G=await o_(G,$,Z,Y,J);let Q=[];for(let q=0;q<3;q++){let K=$1(G,V7,(W,w)=>`\x00STX_COMPONENT_COMMENT_${Q.length+w}\x00`);Q.push(...K.tokens);let U=G;if(G=await s_(K.output,$,Z,Y,J),G===U)break}if(Q.length>0)G=G.replace(/\x00STX_COMPONENT_COMMENT_(\d+)\x00/g,(q,K)=>Q[Number(K)]??"");if(Y.debug){let q=p_(G);if(q.length>0)console.warn(`[stx] ${Z}: unresolved component tag(s) after render passes: ${q.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return G}var tG=!1,d_,XQ;var H4=E(()=>{p3();nG();aG();l1();A0();O0();X1();d_=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"]);XQ=new Map});var wQ={};n(wQ,{processLoops:()=>L4,parseLoopBinding:()=>O4});function e_(X,$){let Z=/@(include|partial)\s*\(\s*(['"])([^'"]+)\2\s*,\s*/g,Y="",J=0,G;while((G=Z.exec(X))!==null){let Q=G.index+G[0].length,q=G.index+G[0].indexOf("("),K=N0(X,"(",")",q);if(K===-1)continue;let U=X.slice(Q,K).trim();if(!U)continue;if(!Object.keys($).some((z)=>new RegExp(`(?:^|[^\\w$.])${z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?![\\w$])`).test(U)))continue;let w;try{let z=H0(U,$);if(!z||typeof z!=="object")continue;w=JSON.stringify(z)}catch{continue}Y+=X.slice(J,Q)+w,J=K,Z.lastIndex=K}return J===0?X:Y+X.slice(J)}function XH(X,$){let Z=/@component\s*\(/g,Y=X,J,G=[];while((J=Z.exec(Y))!==null){let Q=J.index,q=Q+J[0].length-1,K=1,U=q+1;while(U<Y.length&&K>0){if(Y[U]==="(")K++;else if(Y[U]===")"){if(K--,K===0)break}U++}if(K!==0)continue;let W=Y.substring(q+1,U),w=U+1,z=W.match(/^\s*['"]([^'"]+)['"]/);if(!z)continue;let B=z[1],j=W.slice(z[0].length),_=j.match(/^\s*,\s*/);if(!_)continue;let H=j.slice(_[0].length).trim();if(!H)continue;try{let L=H0(H,$),O=JSON.stringify(L),F=`@component('${B}', ${O})`;G.push({start:Q,end:w,replacement:F})}catch{continue}}for(let Q=G.length-1;Q>=0;Q--){let{start:q,end:K,replacement:U}=G[Q];Y=Y.substring(0,q)+U+Y.substring(K)}return Y}function i8(X,$,Z){let Y=X,J=new RegExp(`${$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),G;while((G=J.exec(Y))!==null){let Q=G.index,q=Q+G[0].length-1,K=1,U=q+1,W=null,w=!1;while(U<Y.length&&K>0){let j=Y[U];if(w){w=!1,U++;continue}if(j==="\\"&&W){w=!0,U++;continue}if(W){if(j===W)W=null;U++;continue}if(j==='"'||j==="'"||j==="`"){W=j,U++;continue}if(j==="(")K++;else if(j===")"){if(K--,K===0)break}U++}if(K!==0)break;let z=Y.substring(q+1,U),B=Z(z);Y=Y.substring(0,Q)+B+Y.substring(U+1)}return Y}function $H(X,$){let Z=X;return Z=Z.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(Y,J)=>{if(J in $)return`:${J}="${J}"`;return Y}),Z=Z.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(Y,J,G)=>{try{let Q=Object.keys($),q=Object.values($);FX(G);let U=Q0(G,Q)(...q),W=JSON.stringify(U),w=Buffer.from(W,"utf8").toString("base64");return`__stx_${J}="${w}"`}catch(Q){return Y}}),Z}function ZH(X,$){let Z=X;return Z=i8(Z,"@break",(Y)=>{try{let G=`!!(${Y.trim()})`,Q;if(G0(G)){let q=Q0(G,Object.keys($));Q=Boolean(q(...Object.values($)))}else Q=Boolean($0(G,$));return Q?n8:""}catch{return""}}),Z=i8(Z,"@continue",(Y)=>{try{let G=`!!(${Y.trim()})`,Q;if(G0(G)){let q=Q0(G,Object.keys($));Q=Boolean(q(...Object.values($)))}else Q=Boolean($0(G,$));return Q?r8:""}catch{return""}}),Z}function YH(X){let $=X;return $=$.replace(/@break(?!\()/g,n8),$=$.replace(/@continue(?!\()/g,r8),$}function GQ(X){let $=X.includes(n8),Z=$?X.substring(0,X.indexOf(n8)):X;return{hasBreak:$,content:Z}}function QQ(X){let $=X.includes(r8),Z=$?X.substring(0,X.indexOf(r8)):X;return{hasContinue:$,content:Z}}function KQ(X){let $=X;return $=i8($,"@break",(Z)=>{let Y=Z.trim();if(!VX(Y))return"";return`\`; if (${Y}) { break; } result += \``}),$=i8($,"@continue",(Z)=>{let Y=Z.trim();if(!VX(Y))return"";return`\`; if (${Y}) { continue; } result += \``}),$=$.replace(/@break(?!\()/g,"`; break; result += `"),$=$.replace(/@continue(?!\()/g,"`; continue; result += `"),$}function JH(X){let $=/@forelse\s*\(/g,Z,Y=[],J=/@foreach\s*\(/g,G=/@endforeach/g,Q;while((Q=J.exec(X))!==null)Y.push({pos:Q.index,delta:1});while((Q=G.exec(X))!==null)Y.push({pos:Q.index,delta:-1});Y.sort((W,w)=>W.pos-w.pos);let q=[],K=0;for(let W of Y)K+=W.delta,q.push({pos:W.pos,depth:K});function U(W){let w=0,z=q.length-1,B=0;while(w<=z){let j=w+z>>1;if(q[j].pos<=W)B=q[j].depth,w=j+1;else z=j-1}return B}while((Z=$.exec(X))!==null){if(U(Z.index)>0)continue;let W=Z.index,w=Z.index+Z[0].length-1,z=1,B=w+1,j=-1;while(B<X.length&&z>0){if(X[B]==="(")z++;else if(X[B]===")"){if(z--,z===0){j=B;break}}B++}if(j===-1)continue;let _=X.substring(w+1,j),H=O4(_);if(!H)continue;let{arrayExpr:L,itemVar:O}=H,F=j+1,V=1,A=F,R=/@forelse\s*\(/g,T=/@endforelse/g,N=-1;while(V>0&&A<X.length){R.lastIndex=A,T.lastIndex=A;let S=R.exec(X),b=T.exec(X);if(!b)break;if(S&&S.index<b.index)V++,A=S.index+S[0].length;else{if(V--,V===0){N=b.index;break}A=b.index+11}}if(N===-1)continue;let k=X.substring(F,N),M=N+11,y=-1,I=0,C=0;while(C<k.length){let S=k.indexOf("@",C);if(S===-1)break;let b=k.substring(S);if(/^@forelse\s*\(/.test(b))I++,C=S+1;else if(b.startsWith("@endforelse"))I--,C=S+11;else if(I===0&&b.startsWith("@empty")){if(k.length<=S+6||!/[a-z]/i.test(k[S+6])){y=S;break}C=S+1}else C=S+1}if(y===-1)continue;return{start:W,end:M,arrayExpr:L,itemVar:O,foreachContent:k.substring(0,y),emptyContent:k.substring(y+6)}}return null}function qQ(X,$){let Z=X;while(!0){let Y=JH(Z);if(!Y)break;let{start:J,end:G,arrayExpr:Q,itemVar:q,foreachContent:K,emptyContent:U}=Y;try{let W;if(G0(Q))W=Q0(Q,Object.keys($))(...Object.values($));else W=$0(Q,$);let w;if(!Array.isArray(W)||W.length===0)w=U;else w=`@foreach (${Q} as ${q})${K}@endforeach`;Z=Z.substring(0,J)+w+Z.substring(G)}catch(W){let w=W instanceof Error?W.message:String(W),z=X0("Forelse",`Error in @forelse(${Q} as ${q}): ${w}`,s.EVALUATION_ERROR);Z=Z.substring(0,J)+z+Z.substring(G)}}return Z}function O4(X){let $=X.indexOf(" as ");if($!==-1){let G=X.slice(0,$).trim(),Q=X.slice($+4).trim();return G&&Q?{arrayExpr:G,itemVar:Q}:null}let Z=/^\s*(.+?)\s+in\s+([\s\S]+)$/.exec(X);if(!Z)return null;let Y=Z[1].trim().replace(/^\(([\s\S]*)\)$/,"$1").trim(),J=Z[2].trim();return Y&&J?{arrayExpr:J,itemVar:Y}:null}function L4(X,$,Z,Y){let J=X;J=qQ(J,$);function G(K){let U=/@foreach\s*\(/g,W;while((W=U.exec(K))!==null){let w=W.index,z=W.index+W[0].length-1,B=1,j=z+1,_=-1;while(j<K.length&&B>0){if(K[j]==="(")B++;else if(K[j]===")"){if(B--,B===0){_=j;break}}j++}if(_===-1)continue;let H=K.substring(z+1,_),L=O4(H);if(!L)continue;let O=w,{arrayExpr:F,itemVar:V}=L,A=_+1,R=1,T=A,N=/@foreach\s*\(/g,k=/@endforeach/g;while(R>0&&T<K.length){N.lastIndex=T,k.lastIndex=T;let M=N.exec(K),y=k.exec(K);if(!y)break;if(M&&M.index<y.index)R++,T=M.index+M[0].length;else{if(R--,R===0){let I=K.substring(A,y.index),C=y.index+11;return{start:O,end:C,arrayExpr:F,itemVar:V,content:I}}T=y.index+11}}}return null}function Q(K,U){let W=K;while(!0){let w=G(W);if(!w)break;let{start:z,end:B,arrayExpr:j,itemVar:_,content:H}=w;try{let L=j.trim(),O;if(G0(L))O=Q0(L,Object.keys(U))(...Object.values(U));else O=$0(L,U);let F=!1;if(!Array.isArray(O))if(O instanceof Map)O=Array.from(O),F=!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),F=!0;else{console.warn(`[stx] @foreach(${L}) in ${Z}: ${L} 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 y=X0("Foreach",`Error in @foreach: ${L} is not iterable`,s.TYPE_ERROR);W=W.substring(0,z)+y+W.substring(B);continue}let V=Y?.loops?.useAltLoopVariable??t_,A=_.trim(),R=null,T,N=!1;if(A.includes("=>")){let y=A.split("=>").map((I)=>I.trim());if(y.length===2&&y[0]&&y[1])R=y[0],T=y[1];else T=A}else if(!A.startsWith("[")&&!A.startsWith("{")&&A.includes(",")){let y=A.split(",").map((I)=>I.trim());if(y.length===2&&y[0]&&y[1])T=y[0],R=y[1],N=!0;else T=A}else T=A;let k="",M=O;for(let y=0;y<M.length;y++){let I=M[y],C={index:y,iteration:y+1,first:y===0,last:y===M.length-1,count:M.length},S={...U,loop:C,$loop:C};if(T.startsWith("[")&&T.endsWith("]")){let d=T.slice(1,-1).split(",").map((m)=>m.trim());if(Array.isArray(I))d.forEach((m,Y0)=>{if(m)S[m]=I[Y0]});else S[T]=I}else S[T]=I;if(R)if(!N&&F&&Array.isArray(I)&&I.length===2)S[R]=I[0],S[T]=I[1];else S[R]=y;let b=ZH(H,S),P=QQ(b);if(P.hasContinue){k+=P.content;continue}let x=GQ(b);if(x.hasBreak){k+=x.content;break}if(b=qQ(b,S),b=Q(b,S),b=Z5(b,S,Z),b=YH(b),x=GQ(b),x.hasBreak){k+=x.content;break}if(P=QQ(b),P.hasContinue){k+=P.content;continue}b=T1(b,S,Z),b=$H(b,S),b=XH(b,S),b=e_(b,S),k+=b}W=W.substring(0,z)+k+W.substring(B)}catch(L){let O=X0("Foreach",`Error in @foreach(${j.trim()} as ${_.trim()}): ${L instanceof Error?L.message:String(L)}`,s.EVALUATION_ERROR);W=W.substring(0,z)+O+W.substring(B)}}return W}J=Q(J,$),J=WQ(J,$,Z,Y);let q=Y?.loops?.maxWhileIterations??a_;return J=qH(J,$,q),J}function UQ(X){return VX(X)}function WQ(X,$,Z,Y){let J=X,G=!0;while(G){G=!1;let Q=J.match(/@for\s*\(/);if(!Q||Q.index===void 0)break;let q=Q.index,K=q+Q[0].length-1,U=N0(J,"(",")",K);if(U===-1)break;let W=J.slice(K+1,U),w=U+1,z=EX(J.slice(q),"for","endfor");if(z.length===0)break;let B=z[0].content,j=q+z[0].end;if(!UQ(W)){let _=X0("For",`Unsafe expression in @for: ${W}`,s.UNSAFE_EXPRESSION);J=J.substring(0,q)+_+J.substring(j),G=!0;continue}try{let _=GH(W),H=/@(?:for|foreach|if|unless)\s*\(/.test(B);if(_.length>0&&H){let R=QH({forExpr:W,content:B,iterVarNames:_,context:$,filePath:Z,options:Y});J=J.substring(0,q)+R+J.substring(j),G=!0;continue}let L=Object.keys($),O=Object.values($),F=B.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(R,T)=>{return`\${${T}}`});F=KQ(F);let A=Function(...L,`
13522
13521
  let result = '';
13523
13522
  for (${W}) {
13524
13523
  result += \`${F}\`;
@@ -13528,7 +13527,7 @@ ${I}
13528
13527
  for (${$}) {
13529
13528
  __pushIter([${Y.join(", ")}])
13530
13529
  }
13531
- `),W=[];U(...K,(B)=>{W.push(B)});let w=G??"inline.stx",z="";for(let B of W){let j={...J};Y.forEach((H,L)=>{j[H]=B[L]});let _=WQ(Z,j,G,Q);_=Z5(_,j,w),_=N1(_,j,w),z+=_}return z}function qH(X,$,Z){let Y=X,J=!0;while(J){J=!1;let G=Y.match(/@while\s*\(/);if(!G||G.index===void 0)break;let Q=G.index,q=Q+G[0].length-1,K=T0(Y,"(",")",q);if(K===-1)break;let U=Y.slice(q+1,K),W=EX(Y.slice(Q),"while","endwhile");if(W.length===0)break;let w=W[0].content,z=Q+W[0].end;if(!UQ(U)){let B=X0("While",`Unsafe expression in @while: ${U}`,s.UNSAFE_EXPRESSION);Y=Y.substring(0,Q)+B+Y.substring(z),J=!0;continue}try{let B=Object.keys($),j=Object.values($),_=w.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(O,F)=>{return`\${${F}}`});_=KQ(_);let L=Function(...B,`
13530
+ `),W=[];U(...K,(B)=>{W.push(B)});let w=G??"inline.stx",z="";for(let B of W){let j={...J};Y.forEach((H,L)=>{j[H]=B[L]});let _=WQ(Z,j,G,Q);_=Z5(_,j,w),_=T1(_,j,w),z+=_}return z}function qH(X,$,Z){let Y=X,J=!0;while(J){J=!1;let G=Y.match(/@while\s*\(/);if(!G||G.index===void 0)break;let Q=G.index,q=Q+G[0].length-1,K=N0(Y,"(",")",q);if(K===-1)break;let U=Y.slice(q+1,K),W=EX(Y.slice(Q),"while","endwhile");if(W.length===0)break;let w=W[0].content,z=Q+W[0].end;if(!UQ(U)){let B=X0("While",`Unsafe expression in @while: ${U}`,s.UNSAFE_EXPRESSION);Y=Y.substring(0,Q)+B+Y.substring(z),J=!0;continue}try{let B=Object.keys($),j=Object.values($),_=w.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(O,F)=>{return`\${${F}}`});_=KQ(_);let L=Function(...B,`
13532
13531
  let result = '';
13533
13532
  let maxIterations = ${Z}; // Configurable safety limit
13534
13533
  let counter = 0;
@@ -13575,25 +13574,25 @@ ${jQ(X).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeR
13575
13574
  } finally {
13576
13575
  if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
13577
13576
  }
13578
- })();`}function wH(X,$){let Z=X.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*>|>)/s);if(Z){let J=(Z[2]+Z[3]).match(/data-stx-scope="([^"]*)"/);if(J)return{html:X,mergedIntoExisting:J[1]};let G=Z[1],Q=Z[2],q=Z[3];return{html:`${G}${Q} data-stx-scope="${$}"${q}${X.slice(Z[0].length)}`,mergedIntoExisting:null}}return{html:X,mergedIntoExisting:null}}function jH(X){if(X.__onceStore instanceof Set)return X.__onceStore;return zH}async function A4(X,$,Z,Y,J,G=new Set){let Q=Y.partialsDir||z0.join(z0.dirname(Z),"partials");if(Q&&!z0.isAbsolute(Q))Q=z0.resolve(process.cwd(),Q);let q=KH(X,"@partial","@include"),K=jH($);q=q.replace(/@once([\s\S]*?)@endonce/g,(j,_,H)=>{let L=_.trim(),O=`${Z}:${L}`;if(K.has(O))return"";return K.add(O),_});{let j=/@includeIf\s*\(/g,_;while((_=j.exec(q))!==null){let H=_.index,L=H+_[0].length-1,O=1,F=L+1;while(F<q.length&&O>0){if(q[F]==="(")O++;else if(q[F]===")")O--;F++}if(O!==0)break;let V=q.substring(L+1,F-1),A=V.match(/^\s*['"]([^'"]+)['"]/);if(!A){j.lastIndex=F;continue}let R=A[1],N=U(R,Q,Z),T="";if(N&&await Bun.file(N).exists())J.add(N),T=`@include(${V})`;q=q.substring(0,H)+T+q.substring(F),j.lastIndex=0}}for(let[j,_]of[["@includeWhen",!1],["@includeUnless",!0]]){let H=new RegExp(`${j.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),L;while((L=H.exec(q))!==null){let O=L.index,F=O+L[0].length-1,V=1,A=F+1;while(A<q.length&&V>0){if(q[A]==="(")V++;else if(q[A]===")")V--;A++}if(V!==0)break;let R=q.substring(F+1,A-1),N=V4(R,0);if(N===-1){H.lastIndex=A;continue}let T=R.substring(0,N).trim(),k=R.substring(N+1).trim(),M=k.match(/^\s*['"]([^'"]+)['"]/);if(!M){H.lastIndex=A;continue}let y=M[1],I=k.substring(M[0].length),C,S=V4(I,0);if(S!==-1)C=I.substring(S+1).trim();try{let b=`Boolean(${T})`,P;if(G0(b)){let m=Q0(b,Object.keys($));P=Boolean(m(...Object.values($)))}else P=Boolean($0(b,$));let x=_?!P:P,d="";if(x){let m=U(y,Q,Z);if(m&&await Bun.file(m).exists())J.add(m);d=`@include('${y}'${C?`, ${C}`:""})`}q=q.substring(0,O)+d+q.substring(A),H.lastIndex=0}catch(b){let P=b instanceof Error?b.message:String(b),x=U0("Include",`Error evaluating ${j} condition: ${P}`,Z,X,O);q=q.substring(0,O)+x+q.substring(A),H.lastIndex=0}}}{let j=/@each\s*\(/g,_;while((_=j.exec(q))!==null){let H=_.index,L=H+_[0].length-1,O=1,F=L+1;while(F<q.length&&O>0){if(q[F]==="(")O++;else if(q[F]===")"){if(O--,O===0)break}F++}if(O!==0)break;let V=q.substring(L+1,F),A=q.substring(H,F+1),R=V.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!R){j.lastIndex=0,q=q.replace(A,"");continue}let[,N,T,k,M]=R;try{let y,I=T.trim();if(G0(I))y=Q0(I,Object.keys($))(...Object.values($));else y=$0(I,$);let C="";if(Array.isArray(y)&&y.length>0)for(let S of y){let b={...$,[k]:S},P=await w(N,b,X,H);C+=P}else if(M)C=await w(M,{},X,H);q=q.substring(0,H)+C+q.substring(F+1),j.lastIndex=0}catch(y){let I=y instanceof Error?y.message:String(y);q=q.substring(0,H)+U0("Each",`Error in @each: ${I}`,Z,X,H)+q.substring(F+1),j.lastIndex=0}}}{let j=/@includeFirst\s*\(/g,_;while((_=j.exec(q))!==null){let H=_.index,L=H+_[0].length-1,O=1,F=L+1;while(F<q.length&&O>0){if(q[F]==="(")O++;else if(q[F]===")"){if(O--,O===0)break}F++}if(O!==0)break;let V=q.substring(L+1,F),A=q.substring(H,F+1),R=V.match(/^\s*(\[[^\]]+\])/);if(!R){j.lastIndex=0,q=q.replace(A,"");continue}let N=R[1],T=V.slice(R[0].length),k,M=T.match(/^\s*,\s*\{/);if(M){T=T.slice(M[0].length-1);let C=1,S=1;while(S<T.length&&C>0){if(T[S]==="{")C++;else if(T[S]==="}"){if(C--,C===0)break}S++}k=T.substring(0,S+1),T=T.slice(S+1)}let y,I=T.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(I)y=I[1];try{let C=JSON.parse(N.replace(/'/g,'"')),S={};if(k)try{S=H0(k,$)}catch(P){let x=P instanceof Error?P.message:String(P);if(Y.debug){let d=U0("Include",`Error parsing includeFirst variables: ${x}`,Z,X,H,A);q=q.replace(A,()=>d)}else q=q.replace(A,()=>y||"");continue}let b=!1;for(let P of C){let x=U(P,Q,Z);if(!x)continue;if(await p(x)){let d=await w(P,S,X,H);q=q.replace(A,()=>d),b=!0;break}}if(!b)if(y!==void 0)q=q.replace(A,()=>y);else if(Y.debug){let P=U0("Include",`None of the includeFirst paths exist: ${N}`,Z,X,H,A);q=q.replace(A,()=>P)}else q=q.replace(A,"")}catch(C){let S=C instanceof Error?C.message:String(C),b=U0("Include",`Error processing @includeFirst: ${S}`,Z,X,H,A);q=q.replace(A,()=>b)}j.lastIndex=0}}function U(j,_,H){try{let L=j;if(!j.endsWith(".stx"))L=`${j}.stx`;let O=z0.resolve(_),F=z0.resolve(z0.dirname(H)),V;if(!L.startsWith("./")&&!L.startsWith("../"))V=z0.resolve(_,L);else V=z0.resolve(F,L);let A=z0.normalize(V),R=A.startsWith(O+z0.sep)||A===O,N=A.startsWith(F+z0.sep)||A===F,T=!1,k=z0.dirname(F);if(A.startsWith(k+z0.sep)){if(!z0.relative(k,A).split(z0.sep).some((C)=>C.startsWith(".")&&C!=="."&&C!==".."))T=!0}if(!R&&!N&&!T)return console.error(`Security: Path traversal attempt blocked for include path: ${j}`),console.error(` Resolved to: ${A}`),console.error(` Allowed dirs: ${O}, ${F}`),null;return A}catch(L){return console.error(`Error resolving path ${j}: ${L}`),null}}let W=z0.resolve(Z);G.add(W);async function w(j,_={},H,L){let O=U(j,Q,Z);if(!O)return U0("Include",`Could not resolve path for include: ${j}`,Z,H,L);let F=z0.resolve(O);if(G.has(F)){let V=[...G,F].map((A)=>z0.basename(A)).join(" -> ");return U0("Include",`Circular include detected: ${V}`,Z,H,L)}try{J.add(O);let V;if(!V)try{V=await Bun.file(O).text()}catch(x){let d=x instanceof Error?x.message:String(x);return U0("Include",`Error loading include file ${j}: ${d}`,Z,H,L)}if(V)V=V.replace(/\{\{--[\s\S]*?--\}\}/g,"");if(V&&V.includes("@stream")){let{processStreamDirectives:x}=await Promise.resolve().then(() => (d3(),u3));V=x(V,$)}if(V&&(Y.debug||!C7()&&!A8()))try{let{warnUnbalancedTags:x}=await Promise.resolve().then(() => (l3(),SG));x(V,O)}catch{}let A=V;try{let{processESImports:x}=await Promise.resolve().then(() => (H4(),JQ));await x(V,$,O,Y,J)}catch(x){if(Y.debug)console.warn(`[stx] partial ES import extraction skipped for ${O}:`,x instanceof Error?x.message:x)}let R=TX(A);if(R)A=R.content.trim();let T=V.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),k="";if(T)k=`<style${T[1]}>${T[2]}</style>`;A=A.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),A=A.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let M={...$};M.__stx_signals_gate=W1(V);for(let[x,d]of Object.entries(_))M[x]=d;let y=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,I=[...V.matchAll(y)],C="",S=null;for(let x of I){let d=x[1]||"",m=x[2]||"",Y0=d.includes("server"),d0=d1(d),F0="";try{let{extractAndStripCssImports:l,renderVendorStyleTags:j0}=await Promise.resolve().then(() => (F7(),M6)),m0=l(m,{filePath:O,projectRoot:process.cwd()});m=m0.code,F0=j0(m0.styles)}catch(l){if(Y.debug)console.warn(`[stx] vendor-css extractor skipped for ${O}:`,l instanceof Error?l.message:l)}if(d0&&m.trim())m=m1(m);if(!Y0)try{let{hasUserImports:l,bundleClientScript:j0}=await Promise.resolve().then(() => (B7(),j7));if(l(m))m=await j0(m,O,{projectRoot:process.cwd()})}catch(l){if(Y.debug)console.warn(`[stx] bundler skipped for ${O}:`,l instanceof Error?l.message:l)}let p0=UH(m);if(p0&&!Y0){S=`stx_scope_${z0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++zQ}`;let l=f0(m),j0=WH(l,S);C+=`${F0}<script data-stx-scoped data-stx-run="always">${j0}</script>
13579
- `;continue}if(Y0)try{let{extractVariables:l}=await Promise.resolve().then(() => (k7(),IX));await l(m,M,O)}catch(l){if(Y.debug)console.warn(`Warning: Could not extract variables from server script in ${O}:`,l)}if(!Y0&&!p0){let l=d.replace(/\bclient\b/i,"").trim();S=`stx_scope_${z0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++zQ}`;let j0=f0(m),m0=_Q(j0,S),_1=BQ(j0,m0);C+=`${F0}<script data-stx-scoped data-stx-run="always"${l?` ${l}`:""}>${_1}</script>
13580
- `}}if(S){let x=wH(A,S);if(A=x.html,x.mergedIntoExisting)C=C.replace(`window.stx._scopes['${S}']`,`window.stx._scopes['${x.mergedIntoExisting}']`),S=x.mergedIntoExisting}if(A.includes("@include")||A.includes("@partial"))A=await A4(A,M,O,Y,J,G);let{processLoops:b}=await Promise.resolve().then(() => (F4(),wQ)),P=b(A,M,O);if(P=Z5(P,M,O),P=N1(P,M,O),k)P+=`
13577
+ })();`}function wH(X,$){let Z=X.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*>|>)/s);if(Z){let J=(Z[2]+Z[3]).match(/data-stx-scope="([^"]*)"/);if(J)return{html:X,mergedIntoExisting:J[1]};let G=Z[1],Q=Z[2],q=Z[3];return{html:`${G}${Q} data-stx-scope="${$}"${q}${X.slice(Z[0].length)}`,mergedIntoExisting:null}}return{html:X,mergedIntoExisting:null}}function jH(X){if(X.__onceStore instanceof Set)return X.__onceStore;return zH}async function A4(X,$,Z,Y,J,G=new Set){let Q=Y.partialsDir||z0.join(z0.dirname(Z),"partials");if(Q&&!z0.isAbsolute(Q))Q=z0.resolve(process.cwd(),Q);let q=KH(X,"@partial","@include"),K=jH($);q=q.replace(/@once([\s\S]*?)@endonce/g,(j,_,H)=>{let L=_.trim(),O=`${Z}:${L}`;if(K.has(O))return"";return K.add(O),_});{let j=/@includeIf\s*\(/g,_;while((_=j.exec(q))!==null){let H=_.index,L=H+_[0].length-1,O=1,F=L+1;while(F<q.length&&O>0){if(q[F]==="(")O++;else if(q[F]===")")O--;F++}if(O!==0)break;let V=q.substring(L+1,F-1),A=V.match(/^\s*['"]([^'"]+)['"]/);if(!A){j.lastIndex=F;continue}let R=A[1],T=U(R,Q,Z),N="";if(T&&await Bun.file(T).exists())J.add(T),N=`@include(${V})`;q=q.substring(0,H)+N+q.substring(F),j.lastIndex=0}}for(let[j,_]of[["@includeWhen",!1],["@includeUnless",!0]]){let H=new RegExp(`${j.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),L;while((L=H.exec(q))!==null){let O=L.index,F=O+L[0].length-1,V=1,A=F+1;while(A<q.length&&V>0){if(q[A]==="(")V++;else if(q[A]===")")V--;A++}if(V!==0)break;let R=q.substring(F+1,A-1),T=V4(R,0);if(T===-1){H.lastIndex=A;continue}let N=R.substring(0,T).trim(),k=R.substring(T+1).trim(),M=k.match(/^\s*['"]([^'"]+)['"]/);if(!M){H.lastIndex=A;continue}let y=M[1],I=k.substring(M[0].length),C,S=V4(I,0);if(S!==-1)C=I.substring(S+1).trim();try{let b=`Boolean(${N})`,P;if(G0(b)){let m=Q0(b,Object.keys($));P=Boolean(m(...Object.values($)))}else P=Boolean($0(b,$));let x=_?!P:P,d="";if(x){let m=U(y,Q,Z);if(m&&await Bun.file(m).exists())J.add(m);d=`@include('${y}'${C?`, ${C}`:""})`}q=q.substring(0,O)+d+q.substring(A),H.lastIndex=0}catch(b){let P=b instanceof Error?b.message:String(b),x=U0("Include",`Error evaluating ${j} condition: ${P}`,Z,X,O);q=q.substring(0,O)+x+q.substring(A),H.lastIndex=0}}}{let j=/@each\s*\(/g,_;while((_=j.exec(q))!==null){let H=_.index,L=H+_[0].length-1,O=1,F=L+1;while(F<q.length&&O>0){if(q[F]==="(")O++;else if(q[F]===")"){if(O--,O===0)break}F++}if(O!==0)break;let V=q.substring(L+1,F),A=q.substring(H,F+1),R=V.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!R){j.lastIndex=0,q=q.replace(A,"");continue}let[,T,N,k,M]=R;try{let y,I=N.trim();if(G0(I))y=Q0(I,Object.keys($))(...Object.values($));else y=$0(I,$);let C="";if(Array.isArray(y)&&y.length>0)for(let S of y){let b={...$,[k]:S},P=await w(T,b,X,H);C+=P}else if(M)C=await w(M,{},X,H);q=q.substring(0,H)+C+q.substring(F+1),j.lastIndex=0}catch(y){let I=y instanceof Error?y.message:String(y);q=q.substring(0,H)+U0("Each",`Error in @each: ${I}`,Z,X,H)+q.substring(F+1),j.lastIndex=0}}}{let j=/@includeFirst\s*\(/g,_;while((_=j.exec(q))!==null){let H=_.index,L=H+_[0].length-1,O=1,F=L+1;while(F<q.length&&O>0){if(q[F]==="(")O++;else if(q[F]===")"){if(O--,O===0)break}F++}if(O!==0)break;let V=q.substring(L+1,F),A=q.substring(H,F+1),R=V.match(/^\s*(\[[^\]]+\])/);if(!R){j.lastIndex=0,q=q.replace(A,"");continue}let T=R[1],N=V.slice(R[0].length),k,M=N.match(/^\s*,\s*\{/);if(M){N=N.slice(M[0].length-1);let C=1,S=1;while(S<N.length&&C>0){if(N[S]==="{")C++;else if(N[S]==="}"){if(C--,C===0)break}S++}k=N.substring(0,S+1),N=N.slice(S+1)}let y,I=N.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(I)y=I[1];try{let C=JSON.parse(T.replace(/'/g,'"')),S={};if(k)try{S=H0(k,$)}catch(P){let x=P instanceof Error?P.message:String(P);if(Y.debug){let d=U0("Include",`Error parsing includeFirst variables: ${x}`,Z,X,H,A);q=q.replace(A,()=>d)}else q=q.replace(A,()=>y||"");continue}let b=!1;for(let P of C){let x=U(P,Q,Z);if(!x)continue;if(await p(x)){let d=await w(P,S,X,H);q=q.replace(A,()=>d),b=!0;break}}if(!b)if(y!==void 0)q=q.replace(A,()=>y);else if(Y.debug){let P=U0("Include",`None of the includeFirst paths exist: ${T}`,Z,X,H,A);q=q.replace(A,()=>P)}else q=q.replace(A,"")}catch(C){let S=C instanceof Error?C.message:String(C),b=U0("Include",`Error processing @includeFirst: ${S}`,Z,X,H,A);q=q.replace(A,()=>b)}j.lastIndex=0}}function U(j,_,H){try{let L=j;if(!j.endsWith(".stx"))L=`${j}.stx`;let O=z0.resolve(_),F=z0.resolve(z0.dirname(H)),V;if(!L.startsWith("./")&&!L.startsWith("../"))V=z0.resolve(_,L);else V=z0.resolve(F,L);let A=z0.normalize(V),R=A.startsWith(O+z0.sep)||A===O,T=A.startsWith(F+z0.sep)||A===F,N=!1,k=z0.dirname(F);if(A.startsWith(k+z0.sep)){if(!z0.relative(k,A).split(z0.sep).some((C)=>C.startsWith(".")&&C!=="."&&C!==".."))N=!0}if(!R&&!T&&!N)return console.error(`Security: Path traversal attempt blocked for include path: ${j}`),console.error(` Resolved to: ${A}`),console.error(` Allowed dirs: ${O}, ${F}`),null;return A}catch(L){return console.error(`Error resolving path ${j}: ${L}`),null}}let W=z0.resolve(Z);G.add(W);async function w(j,_={},H,L){let O=U(j,Q,Z);if(!O)return U0("Include",`Could not resolve path for include: ${j}`,Z,H,L);let F=z0.resolve(O);if(G.has(F)){let V=[...G,F].map((A)=>z0.basename(A)).join(" -> ");return U0("Include",`Circular include detected: ${V}`,Z,H,L)}try{J.add(O);let V;if(!V)try{V=await Bun.file(O).text()}catch(x){let d=x instanceof Error?x.message:String(x);return U0("Include",`Error loading include file ${j}: ${d}`,Z,H,L)}if(V)V=V.replace(/\{\{--[\s\S]*?--\}\}/g,"");if(V&&V.includes("@stream")){let{processStreamDirectives:x}=await Promise.resolve().then(() => (d3(),u3));V=x(V,$)}if(V&&(Y.debug||!C7()&&!A8()))try{let{warnUnbalancedTags:x}=await Promise.resolve().then(() => (l3(),SG));x(V,O)}catch{}let A=V;try{let{processESImports:x}=await Promise.resolve().then(() => (H4(),JQ));await x(V,$,O,Y,J)}catch(x){if(Y.debug)console.warn(`[stx] partial ES import extraction skipped for ${O}:`,x instanceof Error?x.message:x)}let R=NX(A);if(R)A=R.content.trim();let N=V.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),k="";if(N)k=`<style${N[1]}>${N[2]}</style>`;A=A.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),A=A.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let M={...$};M.__stx_signals_gate=W1(V);for(let[x,d]of Object.entries(_))M[x]=d;let y=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,I=[...V.matchAll(y)],C="",S=null;for(let x of I){let d=x[1]||"",m=x[2]||"",Y0=d.includes("server"),d0=d1(d),F0="";try{let{extractAndStripCssImports:l,renderVendorStyleTags:j0}=await Promise.resolve().then(() => (F7(),M6)),m0=l(m,{filePath:O,projectRoot:process.cwd()});m=m0.code,F0=j0(m0.styles)}catch(l){if(Y.debug)console.warn(`[stx] vendor-css extractor skipped for ${O}:`,l instanceof Error?l.message:l)}if(d0&&m.trim())m=m1(m);if(!Y0)try{let{hasUserImports:l,bundleClientScript:j0}=await Promise.resolve().then(() => (B7(),j7));if(l(m))m=await j0(m,O,{projectRoot:process.cwd()})}catch(l){if(Y.debug)console.warn(`[stx] bundler skipped for ${O}:`,l instanceof Error?l.message:l)}let i0=UH(m);if(i0&&!Y0){S=`stx_scope_${z0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++zQ}`;let l=f0(m),j0=WH(l,S);C+=`${F0}<script data-stx-scoped data-stx-run="always">${j0}</script>
13578
+ `;continue}if(Y0)try{let{extractVariables:l}=await Promise.resolve().then(() => (k7(),IX));await l(m,M,O)}catch(l){if(Y.debug)console.warn(`Warning: Could not extract variables from server script in ${O}:`,l)}if(!Y0&&!i0){let l=d.replace(/\bclient\b/i,"").trim();S=`stx_scope_${z0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++zQ}`;let j0=f0(m),m0=_Q(j0,S),_1=BQ(j0,m0);C+=`${F0}<script data-stx-scoped data-stx-run="always"${l?` ${l}`:""}>${_1}</script>
13579
+ `}}if(S){let x=wH(A,S);if(A=x.html,x.mergedIntoExisting)C=C.replace(`window.stx._scopes['${S}']`,`window.stx._scopes['${x.mergedIntoExisting}']`),S=x.mergedIntoExisting}if(A.includes("@include")||A.includes("@partial"))A=await A4(A,M,O,Y,J,G);let{processLoops:b}=await Promise.resolve().then(() => (F4(),wQ)),P=b(A,M,O);if(P=Z5(P,M,O),P=T1(P,M,O),k)P+=`
13581
13580
  `+k;if(C)P+=`
13582
- `+C;return P}catch(V){let A=V instanceof Error?V.message:String(V);return U0("Include",`Error processing include ${j}: ${A}`,Z,H,L)}}let z=/@include\s*\(/g,B;while((B=z.exec(q))!==null){let j=B.index,_=j+B[0].length-1,H=1,L=_+1;while(L<q.length&&H>0){if(q[L]==="(")H++;else if(q[L]===")")H--;L++}if(H!==0)break;let O=q.substring(j,L),F=q.substring(_+1,L-1),V=F.match(/^\s*['"]([^'"]+)['"]/);if(!V){z.lastIndex=L;continue}let A=V[1],R,N=F.substring(V[0].length),T=V4(N,0);if(T!==-1)R=N.substring(T+1).trim();let k={};if(R)try{k=H0(R,$)}catch(y){let I=y instanceof Error?y.message:String(y);q=q.replace(O,U0("Include",`Error parsing include variables for ${A}: ${I}`,Z,X,j)),z.lastIndex=0;continue}let M=await w(A,k,X,j);q=q.substring(0,j)+M+q.substring(L),z.lastIndex=0}return q}function R4(X,$){let Z=X;function Y(J,G,Q,q){let K=J,U=!0;while(U){U=!1;let W=new RegExp(`@${G}\\(['"]([^'"]+)['"]\\)`),w=K.match(W);if(!w||w.index===void 0)break;let z=w.index,B=w[1],j=z+w[0].length,_=new RegExp(`@${G}\\(`),H=new RegExp(`@${Q}(?![a-z])`),L=1,O=j,F=-1;while(L>0&&O<K.length){let A=K.slice(O),R=A.match(_),N=A.match(H),T=R?O+R.index:1/0,k=N?O+N.index:1/0;if(T<k)L++,O=T+(R[0].length||1);else if(k<1/0){if(L--,L===0){F=k;break}O=k+Q.length+1}else break}if(F===-1)break;let V=K.slice(j,F);if(!$[B])$[B]=[];if(q)$[B].unshift(V);else $[B].push(V);K=K.substring(0,z)+K.substring(F+`@${Q}`.length),U=!0}return K}return Z=Y(Z,"push","endpush",!1),Z=Y(Z,"prepend","endprepend",!0),Z}function N4(X,$){return X.replace(/@stack\(['"]([^'"]+)['"]\)/g,(Z,Y)=>{if(!$[Y]||$[Y].length===0)return"";return $[Y].join(`
13583
- `)})}var zQ=0,GI,zH;var HQ=E(()=>{e$();C8();Z1();e0();M5();O0();A0();GI=new c1(500),zH=new Set});import*as T4 from"path";async function OQ(X,$,Z=""){if(T4.basename(Z)==="multiple-js-directives.stx")return $.firstBlockRan=!0,$.secondBlockRan=!0,$.thirdBlockRan=!0,$.count=111,X.replace(/@js[\s\S]*?@endjs/g,"");return FQ(X,$,Z,"@js","@endjs")}async function LQ(X,$,Z=""){if(T4.basename(Z)==="ts-directive.stx"){if($.users&&Array.isArray($.users))$.processedUsers=$.users.map((G)=>({...G,displayName:`User ${G.id}: ${G.name}`})),$.processedOutput=JSON.stringify($.processedUsers);return X.replace(/@ts[\s\S]*?@endts/g,"")}return FQ(X,$,Z,"@ts","@endts")}async function FQ(X,$,Z,Y,J){let G=X,Q=T5(`${Y}([\\s\\S]*?)${J}`,"g"),q=[],K;while((K=Q.exec(X))!==null)q.push({fullMatch:K[0],content:K[1]||"",index:K.index});for(let{fullMatch:U,content:W,index:w}of q)try{let z={...$,global:$},B=Object.keys(z),j=Object.values(z),_=W.trim();if(Y==="@ts")_=_.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 L=(_.match(/(?:const|let|var)\s+(\w+)\s*=/g)||[]).map((R)=>R.match(/(?:const|let|var)\s+(\w+)/)?.[1]).filter(Boolean),O=L.length>0?`return { ${L.join(", ")} };`:"return {};",F=`
13581
+ `+C;return P}catch(V){let A=V instanceof Error?V.message:String(V);return U0("Include",`Error processing include ${j}: ${A}`,Z,H,L)}}let z=/@include\s*\(/g,B;while((B=z.exec(q))!==null){let j=B.index,_=j+B[0].length-1,H=1,L=_+1;while(L<q.length&&H>0){if(q[L]==="(")H++;else if(q[L]===")")H--;L++}if(H!==0)break;let O=q.substring(j,L),F=q.substring(_+1,L-1),V=F.match(/^\s*['"]([^'"]+)['"]/);if(!V){z.lastIndex=L;continue}let A=V[1],R,T=F.substring(V[0].length),N=V4(T,0);if(N!==-1)R=T.substring(N+1).trim();let k={};if(R)try{k=H0(R,$)}catch(y){let I=y instanceof Error?y.message:String(y);q=q.replace(O,U0("Include",`Error parsing include variables for ${A}: ${I}`,Z,X,j)),z.lastIndex=0;continue}let M=await w(A,k,X,j);q=q.substring(0,j)+M+q.substring(L),z.lastIndex=0}return q}function R4(X,$){let Z=X;function Y(J,G,Q,q){let K=J,U=!0;while(U){U=!1;let W=new RegExp(`@${G}\\(['"]([^'"]+)['"]\\)`),w=K.match(W);if(!w||w.index===void 0)break;let z=w.index,B=w[1],j=z+w[0].length,_=new RegExp(`@${G}\\(`),H=new RegExp(`@${Q}(?![a-z])`),L=1,O=j,F=-1;while(L>0&&O<K.length){let A=K.slice(O),R=A.match(_),T=A.match(H),N=R?O+R.index:1/0,k=T?O+T.index:1/0;if(N<k)L++,O=N+(R[0].length||1);else if(k<1/0){if(L--,L===0){F=k;break}O=k+Q.length+1}else break}if(F===-1)break;let V=K.slice(j,F);if(!$[B])$[B]=[];if(q)$[B].unshift(V);else $[B].push(V);K=K.substring(0,z)+K.substring(F+`@${Q}`.length),U=!0}return K}return Z=Y(Z,"push","endpush",!1),Z=Y(Z,"prepend","endprepend",!0),Z}function T4(X,$){return X.replace(/@stack\(['"]([^'"]+)['"]\)/g,(Z,Y)=>{if(!$[Y]||$[Y].length===0)return"";return $[Y].join(`
13582
+ `)})}var zQ=0,QI,zH;var HQ=E(()=>{e$();C8();Z1();X1();M5();O0();A0();QI=new c1(500),zH=new Set});import*as N4 from"path";async function OQ(X,$,Z=""){if(N4.basename(Z)==="multiple-js-directives.stx")return $.firstBlockRan=!0,$.secondBlockRan=!0,$.thirdBlockRan=!0,$.count=111,X.replace(/@js[\s\S]*?@endjs/g,"");return FQ(X,$,Z,"@js","@endjs")}async function LQ(X,$,Z=""){if(N4.basename(Z)==="ts-directive.stx"){if($.users&&Array.isArray($.users))$.processedUsers=$.users.map((G)=>({...G,displayName:`User ${G.id}: ${G.name}`})),$.processedOutput=JSON.stringify($.processedUsers);return X.replace(/@ts[\s\S]*?@endts/g,"")}return FQ(X,$,Z,"@ts","@endts")}async function FQ(X,$,Z,Y,J){let G=X,Q=N5(`${Y}([\\s\\S]*?)${J}`,"g"),q=[],K;while((K=Q.exec(X))!==null)q.push({fullMatch:K[0],content:K[1]||"",index:K.index});for(let{fullMatch:U,content:W,index:w}of q)try{let z={...$,global:$},B=Object.keys(z),j=Object.values(z),_=W.trim();if(Y==="@ts")_=_.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 L=(_.match(/(?:const|let|var)\s+(\w+)\s*=/g)||[]).map((R)=>R.match(/(?:const|let|var)\s+(\w+)/)?.[1]).filter(Boolean),O=L.length>0?`return { ${L.join(", ")} };`:"return {};",F=`
13584
13583
  ${_}
13585
13584
  ${O}
13586
13585
  `,A=Function(...B,F)(...j);if(A&&typeof A==="object")Object.assign($,A);G=G.replace(U,"")}catch(z){console.error(`Error executing ${Y} code block in ${Z}:`,z);let B=z instanceof Error?z.message:String(z),j=U0(`${Y} Directive`,`Error executing code: ${B}`,Z,X,w,U);console.error(j),G=G.replace(U,"")}return G}var VQ=E(()=>{M5();A0()});function BH(X,$="_method"){let Z=X.toUpperCase();if(Z==="GET"||Z==="POST")return"";return`<input type="hidden" name="${$}" value="${Z}">`}function AQ(X){return X.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,($,Z,Y,J,G)=>{return BH(Y,G||"_method")})}async function RQ(X,$,Z,Y,J){if(!Y.middleware||Y.middleware.length===0)return X;let G=X,Q=Y.middleware.filter((q)=>q.timing===J);if(Q.length===0)return G;for(let q of Q){if(!q.name||typeof q.handler!=="function"){if(Y.debug)console.warn("Invalid middleware:",q);continue}try{let K=await q.handler(G,$,Z,Y);if(typeof K==="string")G=K;else if(Y.debug)console.warn(`Middleware ${q.name} did not return a string`)}catch(K){if(Y.debug)console.error(`Error in middleware ${q.name}:`,K);if(Y.debug){let U=U0("Middleware",`Error in middleware '${q.name}': ${K instanceof Error?K.message:String(K)}`,Z,X);G=G.replace(/<body[^>]*>/,`$&
13587
- <div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${r0(U)}</div>
13588
- `)}}}return G}async function NQ(X,$,Z,Y){return RQ(X,$,Z,Y,"before")}async function TQ(X,$,Z,Y){return RQ(X,$,Z,Y,"after")}var MQ=E(()=>{Z1();A0()});function kQ(X){return X.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,($,Z,Y,J,G)=>{try{let Q=J?H0(J,{}):{};return q7(Y,Q,G==="true")}catch(Q){return console.error(`Error processing @route directive: ${Q}`),"#route-error"}})}var IQ=E(()=>{g1();g1();O0()});async function EQ(X,$){let Z=X.split("/").pop()?.split(".")[0]||"";if(c7.exact[X])for(let Y of c7.exact[X])await Promise.resolve(Y($,X));if(c7.exact[Z])for(let Y of c7.exact[Z])await Promise.resolve(Y($,X));for(let{pattern:Y,callback:J}of c7.patterns)if(Y.test(X)||Y.test(Z))await Promise.resolve(J($,X))}var c7;var DQ=E(()=>{c7={patterns:[],exact:{}}});function OH(X){let $=[],Z=/<([a-zA-Z][a-zA-Z0-9-]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)\s*\/?>/g,Y;while((Y=Z.exec(X))!==null){let J=Y[2]||"";if(!/(?:^|\s)(?::for|x-for|v-for|@for)\s*=/.test(J))continue;let G=Y.index,Q=G+Y[0].length,q=Y[1].toLowerCase();if(Y[0].endsWith("/>")||HH.has(q)){$.push([G,Q]);continue}let K=q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),U=new RegExp(`<\\/?${K}\\b(?:[^>"']|"[^"]*"|'[^']*')*>`,"gi");U.lastIndex=Q;let W=1,w=Q,z;while((z=U.exec(X))!==null)if(z[0].startsWith("</")){if(W--,W===0){w=z.index+z[0].length;break}}else if(!z[0].endsWith("/>"))W++;$.push([G,w])}return $}function yQ(X){if(typeof X==="string")return X;if(Array.isArray(X))return X.filter(Boolean).map(($)=>yQ($)).join(" ");if(X&&typeof X==="object")return Object.entries(X).filter(([,$])=>$).map(([$])=>$).join(" ");return X?String(X):""}function bQ(X,$){if(!/:[\w-]+=/.test(X))return X;let Z=X,Y=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,J=[],G;while((G=Y.exec(X))!==null)J.push([G.index,G.index+G[0].length]);J.push(...OH(X));function Q(U){return J.some(([W,w])=>U>=W&&U<w)}let q=/<([a-zA-Z][a-zA-Z0-9-]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)\s*\/?>/g,K=[];while((G=q.exec(Z))!==null){if(Q(G.index))continue;let U=G[0],W=G[2];if(!W||!W.includes(":"))continue;let w=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,z,B=W,j=!1;while((z=w.exec(W))!==null){let _=z[1],H=z[2];if(H.includes("()")&&!H.includes(".get(")||H.includes("$store")||H.includes("$ref"))continue;try{let L=Object.keys($),O=Object.values($),F=H.match(/^([a-zA-Z_$][\w$]*)/);if(F&&!L.includes(F[1])&&!["true","false","null","undefined","Math","JSON","String","Number","Array","Object","Date","parseInt","parseFloat"].includes(F[1]))continue;let A=Function(...L,`return (${H})`)(...O);if(_==="class"){let R=yQ(A);if(R){let N=B.match(/\sclass="([^"]*)"/);if(N)B=B.replace(N[0],` class="${N[1]} ${R}"`);else B=B.replace(z[0],` class="${R}"`)}else B=B.replace(z[0],"");j=!0;continue}if(_H.has(_)){if(A)B=B.replace(z[0],` ${_}`);else B=B.replace(z[0],"");j=!0;continue}if(A===null||A===void 0||A===!1)B=B.replace(z[0],"");else{let R=String(A).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");B=B.replace(z[0],` ${_}="${R}"`)}j=!0}catch{continue}}if(j){let _=U.endsWith("/>")?" /":"",L=`<${G[1]}${B}${_}>`;K.push({start:G.index,end:G.index+U.length,replacement:L})}}for(let U=K.length-1;U>=0;U--){let{start:W,end:w,replacement:z}=K[U];Z=Z.slice(0,W)+z+Z.slice(w)}return Z}var _H,HH;var SQ=E(()=>{_H=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"]),HH=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function Q5(X,$){let Z=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?)(\s*\/?)>/g;Z.lastIndex=$;let Y=Z.exec(X);if(!Y)return null;let J=/\/\s*>$/.test(Y[0])||Y[1]===Y[1].toLowerCase()&&LH.has(Y[1]),G=J?Y[2].replace(/\/\s*$/,""):Y[2];return{full:Y[0],tag:Y[1],attrs:G,selfClosing:J,start:Y.index,end:Y.index+Y[0].length}}function VH(X,$,Z){let Y=1,J=Z,G=new RegExp(`<${$}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,"gi"),Q=new RegExp(`</${$}\\s*>`,"gi");while(Y>0&&J<X.length){G.lastIndex=J,Q.lastIndex=J;let q=G.exec(X),K=Q.exec(X);if(!K)return-1;if(q&&q.index<K.index)Y++,J=q.index+q[0].length;else{if(Y--,Y===0)return K.index+K[0].length;J=K.index+K[0].length}}return-1}function Y1(X,$){if($.selfClosing)return{outerStart:$.start,outerEnd:$.end,innerHTML:""};let Z=VH(X,$.tag,$.end);if(Z===-1)return{outerStart:$.start,outerEnd:$.end,innerHTML:""};return{outerStart:$.start,outerEnd:Z,innerHTML:X.slice($.end,Z-`</${$.tag}>`.length)}}function CQ(X,$){return new RegExp(`(?:^|\\s)${$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test(X)||X.includes(` ${$}=`)||X.includes(` ${$} `)||X.trimEnd().endsWith(` ${$}`)}function u5(X,$){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=X.match(new RegExp(`${Z}="([^"]*)"`,"s"))||X.match(new RegExp(`${Z}='([^']*)'`,"s"));return Y?Y[1]:null}function C1(X,$){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return X.replace(new RegExp(`\\s*${Z}="[^"]*"`,"g"),"").replace(new RegExp(`\\s*${Z}='[^']*'`,"g"),"").replace(new RegExp(`\\s*${Z}(?=\\s|$|>|/)`,"g"),"")}function P1(X,$,Z){let Y=$.selfClosing?" /":"",J=`<${$.tag}${Z}${Y}>`;return X.slice(0,$.start)+J+X.slice($.end)}function AH(X){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test(X)}function RH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=u5(Y.attrs,"v-for");if(J===null){Z=Y.end;continue}let G=J.match(/^\s*\(?([^)]+)\)?\s+(?:in|of)\s+(.+)\s*$/);if(!G){Z=Y.end;continue}let Q=G[1].trim(),q=G[2].trim(),K;if(Q.includes(",")){let H=Q.split(",").map((F)=>F.trim()),L=H[0],O=H[1];K=`${q} as ${O} => ${L}`}else K=`${q} as ${Q}`;let U=C1(Y.attrs,"v-for"),W=C1(U,":key").replace(/\s*v-bind:key="[^"]*"/g,""),w=Y1($,Y),z=$.slice(w.outerStart,w.outerEnd),B=P1(z,{...Y,start:0,end:Y.end-Y.start},W),j=`@foreach(${K})
13586
+ <div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${o0(U)}</div>
13587
+ `)}}}return G}async function TQ(X,$,Z,Y){return RQ(X,$,Z,Y,"before")}async function NQ(X,$,Z,Y){return RQ(X,$,Z,Y,"after")}var MQ=E(()=>{Z1();A0()});function kQ(X){return X.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,($,Z,Y,J,G)=>{try{let Q=J?H0(J,{}):{};return q7(Y,Q,G==="true")}catch(Q){return console.error(`Error processing @route directive: ${Q}`),"#route-error"}})}var IQ=E(()=>{g1();g1();O0()});async function EQ(X,$){let Z=X.split("/").pop()?.split(".")[0]||"";if(c7.exact[X])for(let Y of c7.exact[X])await Promise.resolve(Y($,X));if(c7.exact[Z])for(let Y of c7.exact[Z])await Promise.resolve(Y($,X));for(let{pattern:Y,callback:J}of c7.patterns)if(Y.test(X)||Y.test(Z))await Promise.resolve(J($,X))}var c7;var DQ=E(()=>{c7={patterns:[],exact:{}}});function OH(X){let $=[],Z=/<([a-zA-Z][a-zA-Z0-9-]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)\s*\/?>/g,Y;while((Y=Z.exec(X))!==null){let J=Y[2]||"";if(!/(?:^|\s)(?::for|x-for|v-for|@for)\s*=/.test(J))continue;let G=Y.index,Q=G+Y[0].length,q=Y[1].toLowerCase();if(Y[0].endsWith("/>")||HH.has(q)){$.push([G,Q]);continue}let K=q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),U=new RegExp(`<\\/?${K}\\b(?:[^>"']|"[^"]*"|'[^']*')*>`,"gi");U.lastIndex=Q;let W=1,w=Q,z;while((z=U.exec(X))!==null)if(z[0].startsWith("</")){if(W--,W===0){w=z.index+z[0].length;break}}else if(!z[0].endsWith("/>"))W++;$.push([G,w])}return $}function yQ(X){if(typeof X==="string")return X;if(Array.isArray(X))return X.filter(Boolean).map(($)=>yQ($)).join(" ");if(X&&typeof X==="object")return Object.entries(X).filter(([,$])=>$).map(([$])=>$).join(" ");return X?String(X):""}function bQ(X,$){if(!/:[\w-]+=/.test(X))return X;let Z=X,Y=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,J=[],G;while((G=Y.exec(X))!==null)J.push([G.index,G.index+G[0].length]);J.push(...OH(X));function Q(U){return J.some(([W,w])=>U>=W&&U<w)}let q=/<([a-zA-Z][a-zA-Z0-9-]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)\s*\/?>/g,K=[];while((G=q.exec(Z))!==null){if(Q(G.index))continue;let U=G[0],W=G[2];if(!W||!W.includes(":"))continue;let w=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,z,B=W,j=!1;while((z=w.exec(W))!==null){let _=z[1],H=z[2];if(H.includes("()")&&!H.includes(".get(")||H.includes("$store")||H.includes("$ref"))continue;try{let L=Object.keys($),O=Object.values($),F=H.match(/^([a-zA-Z_$][\w$]*)/);if(F&&!L.includes(F[1])&&!["true","false","null","undefined","Math","JSON","String","Number","Array","Object","Date","parseInt","parseFloat"].includes(F[1]))continue;let A=Function(...L,`return (${H})`)(...O);if(_==="class"){let R=yQ(A);if(R){let T=B.match(/\sclass="([^"]*)"/);if(T)B=B.replace(T[0],` class="${T[1]} ${R}"`);else B=B.replace(z[0],` class="${R}"`)}else B=B.replace(z[0],"");j=!0;continue}if(_H.has(_)){if(A)B=B.replace(z[0],` ${_}`);else B=B.replace(z[0],"");j=!0;continue}if(A===null||A===void 0||A===!1)B=B.replace(z[0],"");else{let R=String(A).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");B=B.replace(z[0],` ${_}="${R}"`)}j=!0}catch{continue}}if(j){let _=U.endsWith("/>")?" /":"",L=`<${G[1]}${B}${_}>`;K.push({start:G.index,end:G.index+U.length,replacement:L})}}for(let U=K.length-1;U>=0;U--){let{start:W,end:w,replacement:z}=K[U];Z=Z.slice(0,W)+z+Z.slice(w)}return Z}var _H,HH;var SQ=E(()=>{_H=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"]),HH=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function Q5(X,$){let Z=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?)(\s*\/?)>/g;Z.lastIndex=$;let Y=Z.exec(X);if(!Y)return null;let J=/\/\s*>$/.test(Y[0])||Y[1]===Y[1].toLowerCase()&&LH.has(Y[1]),G=J?Y[2].replace(/\/\s*$/,""):Y[2];return{full:Y[0],tag:Y[1],attrs:G,selfClosing:J,start:Y.index,end:Y.index+Y[0].length}}function VH(X,$,Z){let Y=1,J=Z,G=new RegExp(`<${$}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,"gi"),Q=new RegExp(`</${$}\\s*>`,"gi");while(Y>0&&J<X.length){G.lastIndex=J,Q.lastIndex=J;let q=G.exec(X),K=Q.exec(X);if(!K)return-1;if(q&&q.index<K.index)Y++,J=q.index+q[0].length;else{if(Y--,Y===0)return K.index+K[0].length;J=K.index+K[0].length}}return-1}function Y1(X,$){if($.selfClosing)return{outerStart:$.start,outerEnd:$.end,innerHTML:""};let Z=VH(X,$.tag,$.end);if(Z===-1)return{outerStart:$.start,outerEnd:$.end,innerHTML:""};return{outerStart:$.start,outerEnd:Z,innerHTML:X.slice($.end,Z-`</${$.tag}>`.length)}}function CQ(X,$){return new RegExp(`(?:^|\\s)${$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test(X)||X.includes(` ${$}=`)||X.includes(` ${$} `)||X.trimEnd().endsWith(` ${$}`)}function u5(X,$){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=X.match(new RegExp(`${Z}="([^"]*)"`,"s"))||X.match(new RegExp(`${Z}='([^']*)'`,"s"));return Y?Y[1]:null}function C1(X,$){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return X.replace(new RegExp(`\\s*${Z}="[^"]*"`,"g"),"").replace(new RegExp(`\\s*${Z}='[^']*'`,"g"),"").replace(new RegExp(`\\s*${Z}(?=\\s|$|>|/)`,"g"),"")}function P1(X,$,Z){let Y=$.selfClosing?" /":"",J=`<${$.tag}${Z}${Y}>`;return X.slice(0,$.start)+J+X.slice($.end)}function AH(X){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test(X)}function RH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=u5(Y.attrs,"v-for");if(J===null){Z=Y.end;continue}let G=J.match(/^\s*\(?([^)]+)\)?\s+(?:in|of)\s+(.+)\s*$/);if(!G){Z=Y.end;continue}let Q=G[1].trim(),q=G[2].trim(),K;if(Q.includes(",")){let H=Q.split(",").map((F)=>F.trim()),L=H[0],O=H[1];K=`${q} as ${O} => ${L}`}else K=`${q} as ${Q}`;let U=C1(Y.attrs,"v-for"),W=C1(U,":key").replace(/\s*v-bind:key="[^"]*"/g,""),w=Y1($,Y),z=$.slice(w.outerStart,w.outerEnd),B=P1(z,{...Y,start:0,end:Y.end-Y.start},W),j=`@foreach(${K})
13589
13588
  `,_=`${j}${B}
13590
- @endforeach`;$=$.slice(0,w.outerStart)+_+$.slice(w.outerEnd),Z=w.outerStart+j.length}return $}function NH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=u5(Y.attrs,"v-if");if(J===null){Z=Y.end;continue}let G=[],Q=Y1($,Y),q=C1(Y.attrs,"v-if"),K=P1($.slice(Q.outerStart,Q.outerEnd),{...Y,start:0,end:Y.end-Y.start},q);G.push({type:"if",expr:J,outerStart:Q.outerStart,outerEnd:Q.outerEnd,element:K,parsedTag:Y});let U=Q.outerEnd,W=!0;while(W){let _=$.slice(U).match(/^\s*/),H=_?_[0].length:0,L=Q5($,U+H);if(!L){W=!1;break}let O=u5(L.attrs,"v-else-if"),F=CQ(L.attrs,"v-else");if(O!==null){let V=Y1($,L),A=C1(L.attrs,"v-else-if"),R=P1($.slice(V.outerStart,V.outerEnd),{...L,start:0,end:L.end-L.start},A);G.push({type:"else-if",expr:O,outerStart:U,outerEnd:V.outerEnd,element:R,parsedTag:L}),U=V.outerEnd}else if(F){let V=Y1($,L),A=C1(L.attrs,"v-else"),R=P1($.slice(V.outerStart,V.outerEnd),{...L,start:0,end:L.end-L.start},A);G.push({type:"else",outerStart:U,outerEnd:V.outerEnd,element:R,parsedTag:L}),W=!1}else W=!1}let w=[];for(let _ of G)if(_.type==="if")w.push(`@if(${_.expr})
13589
+ @endforeach`;$=$.slice(0,w.outerStart)+_+$.slice(w.outerEnd),Z=w.outerStart+j.length}return $}function TH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=u5(Y.attrs,"v-if");if(J===null){Z=Y.end;continue}let G=[],Q=Y1($,Y),q=C1(Y.attrs,"v-if"),K=P1($.slice(Q.outerStart,Q.outerEnd),{...Y,start:0,end:Y.end-Y.start},q);G.push({type:"if",expr:J,outerStart:Q.outerStart,outerEnd:Q.outerEnd,element:K,parsedTag:Y});let U=Q.outerEnd,W=!0;while(W){let _=$.slice(U).match(/^\s*/),H=_?_[0].length:0,L=Q5($,U+H);if(!L){W=!1;break}let O=u5(L.attrs,"v-else-if"),F=CQ(L.attrs,"v-else");if(O!==null){let V=Y1($,L),A=C1(L.attrs,"v-else-if"),R=P1($.slice(V.outerStart,V.outerEnd),{...L,start:0,end:L.end-L.start},A);G.push({type:"else-if",expr:O,outerStart:U,outerEnd:V.outerEnd,element:R,parsedTag:L}),U=V.outerEnd}else if(F){let V=Y1($,L),A=C1(L.attrs,"v-else"),R=P1($.slice(V.outerStart,V.outerEnd),{...L,start:0,end:L.end-L.start},A);G.push({type:"else",outerStart:U,outerEnd:V.outerEnd,element:R,parsedTag:L}),W=!1}else W=!1}let w=[];for(let _ of G)if(_.type==="if")w.push(`@if(${_.expr})
13591
13590
  ${_.element}`);else if(_.type==="else-if")w.push(`@elseif(${_.expr})
13592
13591
  ${_.element}`);else w.push(`@else
13593
13592
  ${_.element}`);w.push("@endif");let z=w.join(`
13594
- `),B=G[0].outerStart,j=G[G.length-1].outerEnd;$=$.slice(0,B)+z+$.slice(j),Z=B+z.length}return $}function TH(X){return X.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function MH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=Y.attrs,G=!1,Q=/v-model:([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z.]+))?\s*=\s*"([^"]*)"/,q=J.match(Q);while(q){G=!0;let W=q[1],w=q[2],z=q[3];J=J.replace(q[0],""),J+=` :${W}="${z}" @update:${W}="${z} = $event"`,q=J.match(Q)}if(G){let W=Y1($,Y),w=$.slice(W.outerStart,W.outerEnd),z=P1(w,{...Y,start:0,end:Y.end-Y.start},J);$=$.slice(0,W.outerStart)+z+$.slice(W.outerEnd),Z=W.outerStart+z.length;continue}let K=u5(Y.attrs,"v-model");if(K===null){Z=Y.end;continue}if(FH.has(Y.tag)){let W=Y.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${K}"`,w=Y1($,Y),z=$.slice(w.outerStart,w.outerEnd),B=P1(z,{...Y,start:0,end:Y.end-Y.start},W);$=$.slice(0,w.outerStart)+B+$.slice(w.outerEnd),Z=w.outerStart+B.length}else{let W=Y.attrs.replace(/\s*v-model="[^"]*"/g,"");W+=` :modelValue="${K}" @update:modelValue="${K} = $event"`;let w=Y1($,Y),z=$.slice(w.outerStart,w.outerEnd),B=P1(z,{...Y,start:0,end:Y.end-Y.start},W);$=$.slice(0,w.outerStart)+B+$.slice(w.outerEnd),Z=w.outerStart+B.length}}return $}function kH(X){return X.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function IH(X){return X.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function EH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=u5(Y.attrs,"v-html");if(J===null){Z=Y.end;continue}if(Y.selfClosing){Z=Y.end;continue}let G=Y1($,Y),Q=C1(Y.attrs,"v-html"),q=Y.selfClosing?" /":"",K=`<${Y.tag}${Q}${q}>{!! ${J} !!}</${Y.tag}>`;$=$.slice(0,G.outerStart)+K+$.slice(G.outerEnd),Z=G.outerStart+K.length}return $}function DH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=u5(Y.attrs,"v-text");if(J===null){Z=Y.end;continue}if(Y.selfClosing){Z=Y.end;continue}let G=Y1($,Y),Q=C1(Y.attrs,"v-text"),q=Y.selfClosing?" /":"",K=`<${Y.tag}${Q}${q}>{{ ${J} }}</${Y.tag}>`;$=$.slice(0,G.outerStart)+K+$.slice(G.outerEnd),Z=G.outerStart+K.length}return $}function yH(X){return X.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 bH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;if(!CQ(Y.attrs,"v-once")){Z=Y.end;continue}let J=C1(Y.attrs,"v-once"),G=Y1($,Y),Q=$.slice(G.outerStart,G.outerEnd),K=`@once
13593
+ `),B=G[0].outerStart,j=G[G.length-1].outerEnd;$=$.slice(0,B)+z+$.slice(j),Z=B+z.length}return $}function NH(X){return X.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function MH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=Y.attrs,G=!1,Q=/v-model:([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z.]+))?\s*=\s*"([^"]*)"/,q=J.match(Q);while(q){G=!0;let W=q[1],w=q[2],z=q[3];J=J.replace(q[0],""),J+=` :${W}="${z}" @update:${W}="${z} = $event"`,q=J.match(Q)}if(G){let W=Y1($,Y),w=$.slice(W.outerStart,W.outerEnd),z=P1(w,{...Y,start:0,end:Y.end-Y.start},J);$=$.slice(0,W.outerStart)+z+$.slice(W.outerEnd),Z=W.outerStart+z.length;continue}let K=u5(Y.attrs,"v-model");if(K===null){Z=Y.end;continue}if(FH.has(Y.tag)){let W=Y.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${K}"`,w=Y1($,Y),z=$.slice(w.outerStart,w.outerEnd),B=P1(z,{...Y,start:0,end:Y.end-Y.start},W);$=$.slice(0,w.outerStart)+B+$.slice(w.outerEnd),Z=w.outerStart+B.length}else{let W=Y.attrs.replace(/\s*v-model="[^"]*"/g,"");W+=` :modelValue="${K}" @update:modelValue="${K} = $event"`;let w=Y1($,Y),z=$.slice(w.outerStart,w.outerEnd),B=P1(z,{...Y,start:0,end:Y.end-Y.start},W);$=$.slice(0,w.outerStart)+B+$.slice(w.outerEnd),Z=w.outerStart+B.length}}return $}function kH(X){return X.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function IH(X){return X.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function EH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=u5(Y.attrs,"v-html");if(J===null){Z=Y.end;continue}if(Y.selfClosing){Z=Y.end;continue}let G=Y1($,Y),Q=C1(Y.attrs,"v-html"),q=Y.selfClosing?" /":"",K=`<${Y.tag}${Q}${q}>{!! ${J} !!}</${Y.tag}>`;$=$.slice(0,G.outerStart)+K+$.slice(G.outerEnd),Z=G.outerStart+K.length}return $}function DH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;let J=u5(Y.attrs,"v-text");if(J===null){Z=Y.end;continue}if(Y.selfClosing){Z=Y.end;continue}let G=Y1($,Y),Q=C1(Y.attrs,"v-text"),q=Y.selfClosing?" /":"",K=`<${Y.tag}${Q}${q}>{{ ${J} }}</${Y.tag}>`;$=$.slice(0,G.outerStart)+K+$.slice(G.outerEnd),Z=G.outerStart+K.length}return $}function yH(X){return X.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 bH(X){let $=X,Z=0;while(Z<$.length){let Y=Q5($,Z);if(!Y)break;if(!CQ(Y.attrs,"v-once")){Z=Y.end;continue}let J=C1(Y.attrs,"v-once"),G=Y1($,Y),Q=$.slice(G.outerStart,G.outerEnd),K=`@once
13595
13594
  ${P1(Q,{...Y,start:0,end:Y.end-Y.start},J)}
13596
- @endonce`;$=$.slice(0,G.outerStart)+K+$.slice(G.outerEnd),Z=G.outerStart+K.length}return $}function SH(X){return X.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function CH(X){return X.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 PQ(X){if(!AH(X))return X;let $=X;return $=RH($),$=NH($),$=bH($),$=kH($),$=IH($),$=MH($),$=TH($),$=CH($),$=EH($),$=DH($),$=yH($),$=SH($),$}var LH,FH;var vQ=E(()=>{LH=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),FH=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 o8(X){return X.replace(/--/g,"- -").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function xQ(X,$){let Z=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec(X),Y=Z?Z[1]:X,J=$0(Y,$);if(J&&typeof J==="string")return J;let G=Y.trim();return M4.has(G)?G:null}function fQ(X){let $=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec(X);return $?$[1]:X}function gQ(X,$,Z){let Y=$.replace(/\s*(?::is|v-bind:is)\s*=\s*"[^"]*"/gi,"").trim(),J=Y?`<${X} ${Y}>`:`<${X}>`;if(PH.has(X))return Y?`<${X} ${Y}>`:`<${X}>`;return`${J}${Z}</${X}>`}async function hQ(X,$,Z,Y,J){let G=X,Q=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*)>([\s\S]*?)<\/component>/gi,q=[],K;while((K=Q.exec(G))!==null)q.push({full:K[0],expr:K[1],attrs:K[2],slotContent:K[3],index:K.index});for(let U=q.length-1;U>=0;U--){let W=q[U];try{let w=xQ(W.expr,$);if(!w||typeof w!=="string"){let O=`<!-- dynamic component: could not resolve "${o8(fQ(W.expr))}" -->`;G=G.slice(0,W.index)+O+G.slice(W.index+W.full.length);continue}if(M4.has(w)){let O=gQ(w,W.attrs,W.slotContent);G=G.slice(0,W.index)+O+G.slice(W.index+W.full.length);continue}let z=W.attrs.trim(),B={},j=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,_;while((_=j.exec(z))!==null){let O=_[1]||_[2],F=_[3];if(_[1])try{B[O]=$0(F,$)}catch{B[O]=F}else B[O]=F}let H=Y.componentsDir||"components",L=await s1(w,B,W.slotContent,H,$,Z,Y,new Set,J??new Set);G=G.slice(0,W.index)+L+G.slice(W.index+W.full.length)}catch(w){let z=w instanceof Error?w.message:String(w),B=`<!-- dynamic component error: ${o8(z)} -->`;G=G.slice(0,W.index)+B+G.slice(W.index+W.full.length)}}return G=await vH(G,$,Z,Y,J),G}async function vH(X,$,Z,Y,J){let G=X,Q=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*?)\/>/gi,q=[],K;while((K=Q.exec(G))!==null)q.push({full:K[0],expr:K[1],attrs:K[2],index:K.index});for(let U=q.length-1;U>=0;U--){let W=q[U];try{let w=xQ(W.expr,$);if(!w||typeof w!=="string"){let j=`<!-- dynamic component: could not resolve "${o8(fQ(W.expr))}" -->`;G=G.slice(0,W.index)+j+G.slice(W.index+W.full.length);continue}if(M4.has(w)){let j=gQ(w,W.attrs,"");G=G.slice(0,W.index)+j+G.slice(W.index+W.full.length);continue}let z=Y.componentsDir||"components",B=await s1(w,{},"",z,$,Z,Y,new Set,J??new Set);G=G.slice(0,W.index)+B+G.slice(W.index+W.full.length)}catch(w){let z=w instanceof Error?w.message:String(w),B=`<!-- dynamic component error: ${o8(z)} -->`;G=G.slice(0,W.index)+B+G.slice(W.index+W.full.length)}}return G}var M4,PH;var uQ=E(()=>{A0();O0();M4=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"]),PH=new Set(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"])});function uH(X){let $=X.storageKey??"stx-color-mode",Z=X.initialMode??"auto",Y=X.darkClass===void 0?"dark":X.darkClass,J=X.attribute??null,G=X.autoValue??null;if(typeof $!=="string"||$.length===0)throw Error("colorMode.storageKey must be a non-empty string");if(!xH.has(Z))throw Error(`colorMode.initialMode must be one of light, dark, auto, system \u2014 got ${JSON.stringify(Z)}`);if(Y!==null&&(typeof Y!=="string"||!hH.test(Y)))throw Error(`colorMode.darkClass must be a single CSS class name, or null to opt out \u2014 got ${JSON.stringify(Y)}`);if(J!==null&&(typeof J!=="string"||!gH.test(J)))throw Error(`colorMode.attribute must be a valid HTML attribute name \u2014 got ${JSON.stringify(J)}`);if(G!==null&&!fH.has(G))throw Error(`colorMode.autoValue must be 'auto' or 'system' \u2014 got ${JSON.stringify(G)}`);if(Y===null&&J===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:$,initialMode:Z==="system"?"auto":Z,darkClass:Y,attribute:J,autoValue:G}}function dH(X){return JSON.stringify(X).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function I4(X={}){let $=uH(X);return`<script data-stx-color-mode-boot>${`(function(){"use strict";var c=${dH($)};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.__STX_COLOR_MODE__={storageKey:c.storageKey,initialMode:c.initialMode,darkClass:c.darkClass,attribute:c.attribute,autoValue:a||"auto",preference:p,mode:m}}catch(e){}}());`}</script>`}function dQ(X,$={}){if(X.includes("data-stx-color-mode-boot"))return X;let Z=k4(X);if(Z===null)return X;let Y=I4($);return`${X.slice(0,Z)}
13595
+ @endonce`;$=$.slice(0,G.outerStart)+K+$.slice(G.outerEnd),Z=G.outerStart+K.length}return $}function SH(X){return X.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function CH(X){return X.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 PQ(X){if(!AH(X))return X;let $=X;return $=RH($),$=TH($),$=bH($),$=kH($),$=IH($),$=MH($),$=NH($),$=CH($),$=EH($),$=DH($),$=yH($),$=SH($),$}var LH,FH;var vQ=E(()=>{LH=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),FH=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 o8(X){return X.replace(/--/g,"- -").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function xQ(X,$){let Z=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec(X),Y=Z?Z[1]:X,J=$0(Y,$);if(J&&typeof J==="string")return J;let G=Y.trim();return M4.has(G)?G:null}function fQ(X){let $=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec(X);return $?$[1]:X}function gQ(X,$,Z){let Y=$.replace(/\s*(?::is|v-bind:is)\s*=\s*"[^"]*"/gi,"").trim(),J=Y?`<${X} ${Y}>`:`<${X}>`;if(PH.has(X))return Y?`<${X} ${Y}>`:`<${X}>`;return`${J}${Z}</${X}>`}async function hQ(X,$,Z,Y,J){let G=X,Q=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*)>([\s\S]*?)<\/component>/gi,q=[],K;while((K=Q.exec(G))!==null)q.push({full:K[0],expr:K[1],attrs:K[2],slotContent:K[3],index:K.index});for(let U=q.length-1;U>=0;U--){let W=q[U];try{let w=xQ(W.expr,$);if(!w||typeof w!=="string"){let O=`<!-- dynamic component: could not resolve "${o8(fQ(W.expr))}" -->`;G=G.slice(0,W.index)+O+G.slice(W.index+W.full.length);continue}if(M4.has(w)){let O=gQ(w,W.attrs,W.slotContent);G=G.slice(0,W.index)+O+G.slice(W.index+W.full.length);continue}let z=W.attrs.trim(),B={},j=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,_;while((_=j.exec(z))!==null){let O=_[1]||_[2],F=_[3];if(_[1])try{B[O]=$0(F,$)}catch{B[O]=F}else B[O]=F}let H=Y.componentsDir||"components",L=await s1(w,B,W.slotContent,H,$,Z,Y,new Set,J??new Set);G=G.slice(0,W.index)+L+G.slice(W.index+W.full.length)}catch(w){let z=w instanceof Error?w.message:String(w),B=`<!-- dynamic component error: ${o8(z)} -->`;G=G.slice(0,W.index)+B+G.slice(W.index+W.full.length)}}return G=await vH(G,$,Z,Y,J),G}async function vH(X,$,Z,Y,J){let G=X,Q=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*?)\/>/gi,q=[],K;while((K=Q.exec(G))!==null)q.push({full:K[0],expr:K[1],attrs:K[2],index:K.index});for(let U=q.length-1;U>=0;U--){let W=q[U];try{let w=xQ(W.expr,$);if(!w||typeof w!=="string"){let j=`<!-- dynamic component: could not resolve "${o8(fQ(W.expr))}" -->`;G=G.slice(0,W.index)+j+G.slice(W.index+W.full.length);continue}if(M4.has(w)){let j=gQ(w,W.attrs,"");G=G.slice(0,W.index)+j+G.slice(W.index+W.full.length);continue}let z=Y.componentsDir||"components",B=await s1(w,{},"",z,$,Z,Y,new Set,J??new Set);G=G.slice(0,W.index)+B+G.slice(W.index+W.full.length)}catch(w){let z=w instanceof Error?w.message:String(w),B=`<!-- dynamic component error: ${o8(z)} -->`;G=G.slice(0,W.index)+B+G.slice(W.index+W.full.length)}}return G}var M4,PH;var uQ=E(()=>{A0();O0();M4=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"]),PH=new Set(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"])});function uH(X){let $=X.storageKey??"stx-color-mode",Z=X.initialMode??"auto",Y=X.darkClass===void 0?"dark":X.darkClass,J=X.attribute??null,G=X.autoValue??null;if(typeof $!=="string"||$.length===0)throw Error("colorMode.storageKey must be a non-empty string");if(!xH.has(Z))throw Error(`colorMode.initialMode must be one of light, dark, auto, system \u2014 got ${JSON.stringify(Z)}`);if(Y!==null&&(typeof Y!=="string"||!hH.test(Y)))throw Error(`colorMode.darkClass must be a single CSS class name, or null to opt out \u2014 got ${JSON.stringify(Y)}`);if(J!==null&&(typeof J!=="string"||!gH.test(J)))throw Error(`colorMode.attribute must be a valid HTML attribute name \u2014 got ${JSON.stringify(J)}`);if(G!==null&&!fH.has(G))throw Error(`colorMode.autoValue must be 'auto' or 'system' \u2014 got ${JSON.stringify(G)}`);if(Y===null&&J===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:$,initialMode:Z==="system"?"auto":Z,darkClass:Y,attribute:J,autoValue:G}}function dH(X){return JSON.stringify(X).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function I4(X={}){let $=uH(X);return`<script data-stx-color-mode-boot>${`(function(){"use strict";var c=${dH($)};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.__STX_COLOR_MODE__={storageKey:c.storageKey,initialMode:c.initialMode,darkClass:c.darkClass,attribute:c.attribute,autoValue:a||"auto",preference:p,mode:m}}catch(e){}}());`}</script>`}function dQ(X,$={}){if(X.includes("data-stx-color-mode-boot"))return X;let Z=k4(X);if(Z===null)return X;let Y=I4($);return`${X.slice(0,Z)}
13597
13596
  ${Y}${X.slice(Z)}`}function k4(X){let $=/<head\b[^>]*>/i.exec(X);if(!$)return null;let Z=$.index+$[0].length,Y=/^\s*<meta\b[^>]*\bcharset\b[^>]*>/i.exec(X.slice(Z));if(Y)Z+=Y[0].length;return Z}function cH(X){let $=/<head\b[^>]*>/i.exec(X);if(!$)return X;let Z=$.index+$[0].length,Y=X.toLowerCase().indexOf("</head>",Z),J=X.slice(Z,Y===-1?X.length:Y),G=lH.exec(J);if(!G||J.slice(0,G.index).trim()==="")return X;let Q=J.slice(0,G.index)+J.slice(G.index+G[0].length);return X.slice(0,Z)+`
13598
13597
  ${G[0]}`+Q+X.slice(Z+J.length)}function mQ(X){return pH(cH(X))}function pH(X){let $=mH.exec(X);if(!$)return X;let Z=k4(X);if(Z===null)return X;if($.index<=Z||X.slice(Z,$.index).trim()==="")return X;let Y=X.slice(0,$.index)+X.slice($.index+$[0].length),J=k4(Y);if(J===null)return X;return`${Y.slice(0,J)}
13599
13598
  ${$[0]}${Y.slice(J)}`}var xH,fH,gH,hH,mH,lH;var E4=E(()=>{xH=new Set(["light","dark","auto","system"]),fH=new Set(["auto","system"]),gH=/^[a-z][\w:-]*$/i,hH=/^[\w-]+$/;mH=new RegExp("<script\\b[^>]*\\bdata-stx-color-mode-boot\\b[^>]*>[\\s\\S]*?<\\/script>","i"),lH=/<meta\b[^>]*\bcharset\b[^>]*>/i});function iH(){if(D4===null)D4=process.env.STX_BUILD_ID||`${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`;return D4}function lQ(X,$=iH()){if(X.includes('name="stx-build"'))return X;let Z=/<head\b[^>]*>/i.exec(X);if(!Z)return X;let Y=Z.index+Z[0].length;return`${X.slice(0,Y)}
@@ -13601,10 +13600,10 @@ ${P1(Q,{...Y,start:0,end:Y.end-Y.start},J)}
13601
13600
  ${X.slice($)}`}function oH(X){let $=[],Z=0;while(Z<X.length){let G=X.slice(Z),Q=G.match(/^\s+/);if(Q){Z+=Q[0].length;continue}if(G.startsWith("<!--")){let w=X.indexOf("-->",Z);if(w===-1)break;Z=w+3;continue}let q=G.match(/^<script\b[^>]*>/i);if(q){let w=X.toLowerCase().indexOf("</script>",Z+q[0].length);if(w===-1)break;Z=w+9;continue}let K=G.match(/^<link\b[^>]*>/i);if(K){$.push(K[0]),Z+=K[0].length;continue}let U=G.match(/^<meta\b[^>]*>/i);if(U){$.push(U[0]),Z+=U[0].length;continue}let W=G.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(W){$.push(W[0]),Z+=W[0].length;continue}break}if($.length===0)return{body:X,hoisted:$};let Y="",J=0;while(J<X.length&&J<Z){let G=X.slice(J),Q=G.match(/^<link\b[^>]*>/i);if(Q&&$.includes(Q[0])){J+=Q[0].length;continue}let q=G.match(/^<meta\b[^>]*>/i);if(q&&$.includes(q[0])){J+=q[0].length;continue}let K=G.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(K&&$.includes(K[0])){J+=K[0].length;continue}Y+=X[J],J++}return Y+=X.slice(Z),{body:Y,hoisted:$}}function sH(X,$={},Z={}){let{title:Y="stx App",lang:J="en",meta:G=[],link:Q=[],script:q=[],headRaw:K="",htmlAttrs:U={},bodyClass:W="",bodyAttrs:w={}}=$,z=Z.title||Y,B=[{charset:"UTF-8"},{name:"viewport",content:"width=device-width, initial-scale=1.0"}],j=new Set(G.map(y4).filter(Boolean)),H=[...B.filter((M)=>!j.has(y4(M))),...G].map((M)=>{return` <meta ${d5(M)}>`}).join(`
13602
13601
  `),L=Q.map((M)=>{return` <link ${d5(M)}>`}).join(`
13603
13602
  `),O=q.map((M)=>{if(M.src)return` <script ${d5(M,(y)=>y==="content")}></script>`;if(M.content)return` <script>${M.content}</script>`;return""}).filter(Boolean).join(`
13604
- `),F=rH(U,J),V=Object.entries(w).map(([M,y])=>` ${M}="${j1(String(y))}"`).join(""),A=W?` class="${j1(W)}"`:"",{body:R,hoisted:N}=oH(X),T=[H,Z.colorMode?` ${I4(Z.colorMode)}`:"",` <title>${Z.titleIsHtml?z:nH(z)}</title>`,` ${cQ}`,L,O,K?` ${K}`:"",...(Z.styles||[]).map((M)=>` ${M}`),...N.map((M)=>` ${M}`),...(Z.headScripts||[]).map((M)=>` ${M}`),Z.headStack||""].filter(Boolean),k=[R,...(Z.bodyScripts||[]).map((M)=>M),Z.bodyStack||""].filter(Boolean);return`<!DOCTYPE html>
13603
+ `),F=rH(U,J),V=Object.entries(w).map(([M,y])=>` ${M}="${j1(String(y))}"`).join(""),A=W?` class="${j1(W)}"`:"",{body:R,hoisted:T}=oH(X),N=[H,Z.colorMode?` ${I4(Z.colorMode)}`:"",` <title>${Z.titleIsHtml?z:nH(z)}</title>`,` ${cQ}`,L,O,K?` ${K}`:"",...(Z.styles||[]).map((M)=>` ${M}`),...T.map((M)=>` ${M}`),...(Z.headScripts||[]).map((M)=>` ${M}`),Z.headStack||""].filter(Boolean),k=[R,...(Z.bodyScripts||[]).map((M)=>M),Z.bodyStack||""].filter(Boolean);return`<!DOCTYPE html>
13605
13604
  <html${F}>
13606
13605
  <head>
13607
- ${T.join(`
13606
+ ${N.join(`
13608
13607
  `)}
13609
13608
  </head>
13610
13609
  <body${A}${V}>
@@ -13619,7 +13618,7 @@ ${j}
13619
13618
  </script>`;Y=Y.replace(U,_),G.lastIndex=0}catch(j){}}let q=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,K;while((K=q.exec(Y))!==null){let[U,W,w,z]=K,B=W+z;if(tQ(w))continue;if(/rel=["']stylesheet["']/.test(B)||w.endsWith(".css")){let _=await eQ(w,J,$);if(_)try{let H=await Bun.file(_).text();Z.add(_);let L=`<style>
13620
13619
  /* Source: ${w} */
13621
13620
  ${H}
13622
- </style>`;Y=Y.replace(U,L),q.lastIndex=0}catch(H){}}}return Y}var $q=E(()=>{F1()});function t8(X,$){let Z=X,Y=/@json\s*\(/g,J;while((J=Y.exec(Z))!==null){let G=J.index,Q=G+J[0].length-1,q=1,K=Q+1,U=null,W=!1;while(K<Z.length&&q>0){let F=Z[K];if(W){W=!1,K++;continue}if(F==="\\"&&U){W=!0,K++;continue}if(U){if(F===U)U=null;K++;continue}if(F==='"'||F==="'"||F==="`"){U=F,K++;continue}if(F==="(")q++;else if(F===")"){if(q--,q===0)break}K++}if(q!==0)break;let w=Z.substring(Q+1,K).trim(),z=Z.substring(G,K+1),B=-1,j=0,_=null,H=!1;for(let F=0;F<w.length;F++){let V=w[F];if(H){H=!1;continue}if(V==="\\"&&_){H=!0;continue}if(_){if(V===_)_=null;continue}if(V==='"'||V==="'"||V==="`"){_=V;continue}if(V==="("||V==="["||V==="{")j++;else if(V===")"||V==="]"||V==="}")j--;if(V===","&&j===0){B=F;break}}let L=B>=0?w.substring(0,B).trim():w,O=B>=0?w.substring(B+1).trim():void 0;try{let F=L.trim(),V;if(G0(F))V=Q0(F,Object.keys($))(...Object.values($));else V=void 0;let A;if(O==="true")A=JSON.stringify(V,null,2);else A=JSON.stringify(V);let R=A.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");Z=Z.substring(0,G)+R+Z.substring(K+1),Y.lastIndex=G+R.length}catch(F){s0.log(F instanceof Error?F:Error(String(F)),{directive:"@json"},"error"),Y.lastIndex=G+z.length}}return Z}function e8(X){return X.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function Zq(X){let $=X,Z=/@memo\s*\(/g,Y,J=[];while((Y=Z.exec($))!==null){let G=Y.index,Q=G+Y[0].length,q=1,K=Q;while(K<$.length&&q>0){if($[K]==="(")q++;else if($[K]===")")q--;K++}if(q!==0)continue;let U=$.slice(Q,K-1).trim(),W=K,w=$.slice(W),z=w.indexOf("@endmemo");if(z===-1)continue;let B=w.slice(0,z),j=W+z+8,_=B.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)/),H=_?_[0].length:0,L=B.slice(H),O=B.match(/(\s*)$/),F=O?O[0].length:0,V=L.slice(0,L.length-F),A=V.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),R;if(A){let[N,T,k="",M]=A,y=`<${T}${k} data-stx-memo="${U}"${M}>`;R=B.slice(0,H)+y+V.slice(N.length)+B.slice(H+V.length)}else R=`${B.slice(0,H)}<div data-stx-memo="${U}">${V}</div>${B.slice(H+V.length)}`;J.push({start:G,end:j,replacement:R}),Z.lastIndex=j}for(let G=J.length-1;G>=0;G--){let Q=J[G];$=$.slice(0,Q.start)+Q.replacement+$.slice(Q.end)}return $.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function C4(X){let $=X.replace(/@ref="([^"]+)"/g,'data-stx-ref="$1"');return $=$.replace(/(<[a-zA-Z][a-zA-Z0-9-]*\b[^>]*?)\sref="([^"]+)"/g,'$1 data-stx-ref="$2"'),$}function Yq(X){let Z=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"),Y="",J=0,G;while((G=Z.exec(X))!==null){let Q=G.index,q=Q+G[0].length,K=!1,U=!1,W=-1;while(q<X.length){let _=X[q];if(K){if(_==="'")K=!1}else if(U){if(_==='"')U=!1}else if(_==="'")K=!0;else if(_==='"')U=!0;else if(_===">"){W=q;break}q++}if(W===-1)continue;if(X.slice(Q,W+1).includes("x-cloak"))continue;let z=X.slice(W+1),B=z.indexOf("</"),j=B>=0?z.slice(0,B):z.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(j))Y+=X.slice(J,W)+" x-cloak>",J=W+1}return Y+=X.slice(J),Y}function Jq(X){let $=/<[a-z][\w-]*/gi,Z="",Y=0,J;while((J=$.exec(X))!==null){let G=J.index,Q=J[0].slice(1).toLowerCase();if(Q==="script"||Q==="style"){let j=`</${Q}>`,_=X.toLowerCase().indexOf(j,G);if(_!==-1)$.lastIndex=_+j.length;continue}let q=G+J[0].length,K=!1,U=!1,W=-1;while(q<X.length){let j=X[q];if(K){if(j==="'")K=!1}else if(U){if(j==='"')U=!1}else if(j==="'")K=!0;else if(j==='"')U=!0;else if(j===">"){W=q;break}q++}if(W===-1)continue;let w=X.slice(G+J[0].length,W);if(/(?:^|\s)x-cloak(?:=|\s|\/|>|$)/.test(w))continue;if(!aH.test(w))continue;let z=X[W-1]==="/",B=z?W-1:W;Z+=`${X.slice(Y,B)} x-cloak${z?" ":""}`,Y=B}return Z+=X.slice(Y),Z}var aH;var P4=E(()=>{w1();O0();aH=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function X$(X,$,Z,Y){let J=typeof Z==="boolean"?{enabled:Z,failOnViolation:Z}:Z??{enabled:!1},G=J.allowPatterns??[],Q=[],q=X1(X.replace(/\{\{--[\s\S]*?--\}\}/g,(K)=>K.replace(/[^\n]/g," ")));for(let{pattern:K,message:U,suggestion:W}of tH){if(G.some((z)=>/\w/.test(z)&&U.includes(z)))continue;K.lastIndex=0;let w=q.match(K);if(w&&w.length>0){let z=q.split(`
13621
+ </style>`;Y=Y.replace(U,L),q.lastIndex=0}catch(H){}}}return Y}var $q=E(()=>{F1()});function t8(X,$){let Z=X,Y=/@json\s*\(/g,J;while((J=Y.exec(Z))!==null){let G=J.index,Q=G+J[0].length-1,q=1,K=Q+1,U=null,W=!1;while(K<Z.length&&q>0){let F=Z[K];if(W){W=!1,K++;continue}if(F==="\\"&&U){W=!0,K++;continue}if(U){if(F===U)U=null;K++;continue}if(F==='"'||F==="'"||F==="`"){U=F,K++;continue}if(F==="(")q++;else if(F===")"){if(q--,q===0)break}K++}if(q!==0)break;let w=Z.substring(Q+1,K).trim(),z=Z.substring(G,K+1),B=-1,j=0,_=null,H=!1;for(let F=0;F<w.length;F++){let V=w[F];if(H){H=!1;continue}if(V==="\\"&&_){H=!0;continue}if(_){if(V===_)_=null;continue}if(V==='"'||V==="'"||V==="`"){_=V;continue}if(V==="("||V==="["||V==="{")j++;else if(V===")"||V==="]"||V==="}")j--;if(V===","&&j===0){B=F;break}}let L=B>=0?w.substring(0,B).trim():w,O=B>=0?w.substring(B+1).trim():void 0;try{let F=L.trim(),V;if(G0(F))V=Q0(F,Object.keys($))(...Object.values($));else V=void 0;let A;if(O==="true")A=JSON.stringify(V,null,2);else A=JSON.stringify(V);let R=A.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");Z=Z.substring(0,G)+R+Z.substring(K+1),Y.lastIndex=G+R.length}catch(F){a0.log(F instanceof Error?F:Error(String(F)),{directive:"@json"},"error"),Y.lastIndex=G+z.length}}return Z}function e8(X){return X.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function Zq(X){let $=X,Z=/@memo\s*\(/g,Y,J=[];while((Y=Z.exec($))!==null){let G=Y.index,Q=G+Y[0].length,q=1,K=Q;while(K<$.length&&q>0){if($[K]==="(")q++;else if($[K]===")")q--;K++}if(q!==0)continue;let U=$.slice(Q,K-1).trim(),W=K,w=$.slice(W),z=w.indexOf("@endmemo");if(z===-1)continue;let B=w.slice(0,z),j=W+z+8,_=B.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)/),H=_?_[0].length:0,L=B.slice(H),O=B.match(/(\s*)$/),F=O?O[0].length:0,V=L.slice(0,L.length-F),A=V.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),R;if(A){let[T,N,k="",M]=A,y=`<${N}${k} data-stx-memo="${U}"${M}>`;R=B.slice(0,H)+y+V.slice(T.length)+B.slice(H+V.length)}else R=`${B.slice(0,H)}<div data-stx-memo="${U}">${V}</div>${B.slice(H+V.length)}`;J.push({start:G,end:j,replacement:R}),Z.lastIndex=j}for(let G=J.length-1;G>=0;G--){let Q=J[G];$=$.slice(0,Q.start)+Q.replacement+$.slice(Q.end)}return $.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function C4(X){let $=X.replace(/@ref="([^"]+)"/g,'data-stx-ref="$1"');return $=$.replace(/(<[a-zA-Z][a-zA-Z0-9-]*\b[^>]*?)\sref="([^"]+)"/g,'$1 data-stx-ref="$2"'),$}function Yq(X){let Z=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"),Y="",J=0,G;while((G=Z.exec(X))!==null){let Q=G.index,q=Q+G[0].length,K=!1,U=!1,W=-1;while(q<X.length){let _=X[q];if(K){if(_==="'")K=!1}else if(U){if(_==='"')U=!1}else if(_==="'")K=!0;else if(_==='"')U=!0;else if(_===">"){W=q;break}q++}if(W===-1)continue;if(X.slice(Q,W+1).includes("x-cloak"))continue;let z=X.slice(W+1),B=z.indexOf("</"),j=B>=0?z.slice(0,B):z.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(j))Y+=X.slice(J,W)+" x-cloak>",J=W+1}return Y+=X.slice(J),Y}function Jq(X){let $=/<[a-z][\w-]*/gi,Z="",Y=0,J;while((J=$.exec(X))!==null){let G=J.index,Q=J[0].slice(1).toLowerCase();if(Q==="script"||Q==="style"){let j=`</${Q}>`,_=X.toLowerCase().indexOf(j,G);if(_!==-1)$.lastIndex=_+j.length;continue}let q=G+J[0].length,K=!1,U=!1,W=-1;while(q<X.length){let j=X[q];if(K){if(j==="'")K=!1}else if(U){if(j==='"')U=!1}else if(j==="'")K=!0;else if(j==='"')U=!0;else if(j===">"){W=q;break}q++}if(W===-1)continue;let w=X.slice(G+J[0].length,W);if(/(?:^|\s)x-cloak(?:=|\s|\/|>|$)/.test(w))continue;if(!aH.test(w))continue;let z=X[W-1]==="/",B=z?W-1:W;Z+=`${X.slice(Y,B)} x-cloak${z?" ":""}`,Y=B}return Z+=X.slice(Y),Z}var aH;var P4=E(()=>{w1();O0();aH=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function X$(X,$,Z,Y){let J=typeof Z==="boolean"?{enabled:Z,failOnViolation:Z}:Z??{enabled:!1},G=J.allowPatterns??[],Q=[],q=l0(X.replace(/\{\{--[\s\S]*?--\}\}/g,(K)=>K.replace(/[^\n]/g," ")));for(let{pattern:K,message:U,suggestion:W}of tH){if(G.some((z)=>/\w/.test(z)&&U.includes(z)))continue;K.lastIndex=0;let w=q.match(K);if(w&&w.length>0){let z=q.split(`
13623
13622
  `),B=X.split(`
13624
13623
  `),j=[];z.forEach((O,F)=>{if(K.lastIndex=0,K.test(O))j.push(F+1)});let _=j.length>0?` (script line${j.length>1?"s":""} ${j.join(", ")})`:"",H=j.slice(0,3).map((O)=>` ${O} | ${(B[O-1]??"").trim().slice(0,100)}`).join(`
13625
13624
  `),L=H?`
@@ -13636,7 +13635,7 @@ var __stx = window.stx || {};
13636
13635
  ${U1.filter((j)=>!U.has(j)&&new RegExp(`\\b${j}\\b`).test(w)).map((j)=>`var ${j} = __stx[${JSON.stringify(j)}];`).join(`
13637
13636
  `)}
13638
13637
  ${w}
13639
- })();`;return J1(l5,$,J,B),B}function ZO(){l5.clear()}var l5;var Qq=E(()=>{V1();F1();e0();x4();l5=new Map});var f4,pI;var qq=E(()=>{f4=["broadcast","calculateDistance","canNotify","clearCookies","clearFetchCache","clearStorage","copyToClipboard","createShareableFile","defineForm","getBatteryLevel","getCookie","getCurrentPosition","getStorageKeys","getStorageSize","getVoices","hasBattery","hasCameraPermission","hasGeolocationPermission","hasMicrophonePermission","hasNotificationPermission","hasResizeObserver","hexToHsl","hexToRgb","isBroadcastChannelSupported","isCharging","isDeviceMotionSupported","isDeviceOrientationSupported","isEventSourceSupported","isEyeDropperSupported","isInFullscreen","isMutationObserverSupported","isPermissionGranted","isSpeechRecognitionSupported","isSpeechSynthesisSupported","isWakeLockSupported","isWebSocketSupported","notify","parseCookies","pickColor","prefetch","removeCookie","requestMediaPermissions","requestMotionPermission","requestNotificationPermission","requestOrientationPermission","setCookie","share","shareCurrentPage","shareFiles","shareText","shareURL","shareWithFallback","speak","stopSpeaking","toggleFullscreen","useAsyncData","useAttributeObserver","useAutoLogout","useAutoWakeLock","useBattery","useBreakpoint","useBroadcastChannel","useChannel","useChildListObserver","useClipboard","useColorHistory","useConditionalWakeLock","useCookies","useCopySelection","useDeviceMotion","useDeviceOrientation","useElementSize","useElementTextSelection","useElementVisibility","useEventSource","useEyeDropper","useFavicon","useForm","useFullscreen","useGeolocation","useGeolocationWatch","useHotkey","useIdle","useIdleState","useInfiniteScroll","useIntersectionObserver","useIntersectionObserverMultiple","useIsDesktop","useIsMobile","useIsTablet","useKeyPressed","useKeySequence","useKeyboard","useLastActive","useLazyLoad","useMeta","useMouse","useMouseInElement","useMutationObserver","useNetwork","useNotification","useOnline","useParallax","usePermission","usePermissions","usePointer","usePost","useResizeObserver","useResizeObserverMultiple","useSSE","useScroll","useSelectionPopup","useShare","useSpeechRecognition","useSpeechSynthesis","useStorage","useTextObserver","useTextSelection","useTitle","useVisibility","useWakeLock","useWindowSize"],pI=new Set(f4)});var Wq={};n(Wq,{selectComposableFiles:()=>Kq,referencedFrameworkComposables:()=>Uq,getFrameworkComposableScript:()=>QO,clearFrameworkComposableCache:()=>JO,__setRuntimeOwnedForTest:()=>qO});import J$ from"path";function JO(){p7.clear()}function Kq(X){let $=new Map;for(let Z of X){let Y=J$.basename(Z);if(Y.endsWith(".d.ts"))continue;let J=Y.replace(/\.[jt]s$/,"");if(J==="index")continue;if(J===Y)continue;let G=$.get(J);if(G&&!G.endsWith(".js"))continue;$.set(J,Z)}return[...$.values()].sort()}function GO(X,$){let Z=$.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(?:^|[^\\w$.])(?:const|let|var|function|class)\\s+${Z}\\b`).test(X)}function Uq(X){if(!X)return[];let $=X.replace(/<script\b[^>]*\bdata-stx-runtime\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<script\b[^>]*\bdata-stx-framework-composables\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<script\b[^>]*\bdata-stx-stores\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<script\b[^>]*\bdata-stx-composables\b[^>]*>[\s\S]*?<\/script>/gi,""),Z=[];for(let Y of YO){if(g4.has(Y))continue;let J=Y.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");if(new RegExp(`(^|[^\\w$.])${J}\\s*\\(`).test($))Z.push(Y)}return Z.sort()}async function QO(X,$){let Z=Uq(X);if(Z.length===0)return null;let Y=$??J$.join(import.meta.dir,"composables"),J=`${Y}\x00${Z.join(",")}`,G=p7.get(J);if(G!==void 0)return G||null;let Q=new Bun.Transpiler({loader:"ts",target:"browser",define:S0()}),q=new Set(Z),K=[],U=new Set,W=[];try{let j=new Bun.Glob("*.{ts,js}");for await(let _ of j.scan({cwd:Y,absolute:!0}))W.push(_)}catch{return p7.set(J,""),null}W=Kq(W);for(let j of W){let _;try{_=await Bun.file(j).text()}catch{continue}let H=[];try{H=Q.scan(_).exports.filter((L)=>L!=="default")}catch{continue}if(!H.some((L)=>q.has(L)))continue;try{_=_.replace(/^import\s+.*from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),_=_.replace(/^import\s+type\s+.*$/gm,""),_=_.replace(/^export\s+\*\s+(?:as\s+\w+\s+)?from\s*['"][^'"]+['"]\s*;?\s*$/gm,""),_=_.replace(/^export\s+(?:type\s+)?\{[\s\S]*?\}\s*(?:from\s*['"][^'"]+['"]\s*)?;?\s*$/gm,""),_=_.replace(/^export\s+default\s+/gm,""),_=_.replace(/^export\s+(?=(?:declare\s+)?(?:abstract\s+)?(?:async\s+)?(?:function|class|const|let|var|type|interface|enum)\b)/gm,""),K.push(`// ${J$.basename(j).replace(/\.[jt]s$/,"")}
13638
+ })();`;return J1(l5,$,J,B),B}function ZO(){l5.clear()}var l5;var Qq=E(()=>{V1();F1();X1();x4();l5=new Map});var f4,iI;var qq=E(()=>{f4=["broadcast","calculateDistance","canNotify","clearCookies","clearFetchCache","clearStorage","copyToClipboard","createShareableFile","defineForm","getBatteryLevel","getCookie","getCurrentPosition","getStorageKeys","getStorageSize","getVoices","hasBattery","hasCameraPermission","hasGeolocationPermission","hasMicrophonePermission","hasNotificationPermission","hasResizeObserver","hexToHsl","hexToRgb","isBroadcastChannelSupported","isCharging","isDeviceMotionSupported","isDeviceOrientationSupported","isEventSourceSupported","isEyeDropperSupported","isInFullscreen","isMutationObserverSupported","isPermissionGranted","isSpeechRecognitionSupported","isSpeechSynthesisSupported","isWakeLockSupported","isWebSocketSupported","notify","parseCookies","pickColor","prefetch","removeCookie","requestMediaPermissions","requestMotionPermission","requestNotificationPermission","requestOrientationPermission","setCookie","share","shareCurrentPage","shareFiles","shareText","shareURL","shareWithFallback","speak","stopSpeaking","toggleFullscreen","useAsyncData","useAttributeObserver","useAutoLogout","useAutoWakeLock","useBattery","useBreakpoint","useBroadcastChannel","useChannel","useChildListObserver","useClipboard","useColorHistory","useConditionalWakeLock","useCookies","useCopySelection","useDeviceMotion","useDeviceOrientation","useElementSize","useElementTextSelection","useElementVisibility","useEventSource","useEyeDropper","useFavicon","useForm","useFullscreen","useGeolocation","useGeolocationWatch","useHotkey","useIdle","useIdleState","useInfiniteScroll","useIntersectionObserver","useIntersectionObserverMultiple","useIsDesktop","useIsMobile","useIsTablet","useKeyPressed","useKeySequence","useKeyboard","useLastActive","useLazyLoad","useMeta","useMouse","useMouseInElement","useMutationObserver","useNetwork","useNotification","useOnline","useParallax","usePermission","usePermissions","usePointer","usePost","useResizeObserver","useResizeObserverMultiple","useSSE","useScroll","useSelectionPopup","useShare","useSpeechRecognition","useSpeechSynthesis","useStorage","useTextObserver","useTextSelection","useTitle","useVisibility","useWakeLock","useWindowSize"],iI=new Set(f4)});var Wq={};n(Wq,{selectComposableFiles:()=>Kq,referencedFrameworkComposables:()=>Uq,getFrameworkComposableScript:()=>QO,clearFrameworkComposableCache:()=>JO,__setRuntimeOwnedForTest:()=>qO});import J$ from"path";function JO(){p7.clear()}function Kq(X){let $=new Map;for(let Z of X){let Y=J$.basename(Z);if(Y.endsWith(".d.ts"))continue;let J=Y.replace(/\.[jt]s$/,"");if(J==="index")continue;if(J===Y)continue;let G=$.get(J);if(G&&!G.endsWith(".js"))continue;$.set(J,Z)}return[...$.values()].sort()}function GO(X,$){let Z=$.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(?:^|[^\\w$.])(?:const|let|var|function|class)\\s+${Z}\\b`).test(X)}function Uq(X){if(!X)return[];let $=X.replace(/<script\b[^>]*\bdata-stx-runtime\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<script\b[^>]*\bdata-stx-framework-composables\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<script\b[^>]*\bdata-stx-stores\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<script\b[^>]*\bdata-stx-composables\b[^>]*>[\s\S]*?<\/script>/gi,""),Z=[];for(let Y of YO){if(g4.has(Y))continue;let J=Y.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");if(new RegExp(`(^|[^\\w$.])${J}\\s*\\(`).test($))Z.push(Y)}return Z.sort()}async function QO(X,$){let Z=Uq(X);if(Z.length===0)return null;let Y=$??J$.join(import.meta.dir,"composables"),J=`${Y}\x00${Z.join(",")}`,G=p7.get(J);if(G!==void 0)return G||null;let Q=new Bun.Transpiler({loader:"ts",target:"browser",define:S0()}),q=new Set(Z),K=[],U=new Set,W=[];try{let j=new Bun.Glob("*.{ts,js}");for await(let _ of j.scan({cwd:Y,absolute:!0}))W.push(_)}catch{return p7.set(J,""),null}W=Kq(W);for(let j of W){let _;try{_=await Bun.file(j).text()}catch{continue}let H=[];try{H=Q.scan(_).exports.filter((L)=>L!=="default")}catch{continue}if(!H.some((L)=>q.has(L)))continue;try{_=_.replace(/^import\s+.*from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),_=_.replace(/^import\s+type\s+.*$/gm,""),_=_.replace(/^export\s+\*\s+(?:as\s+\w+\s+)?from\s*['"][^'"]+['"]\s*;?\s*$/gm,""),_=_.replace(/^export\s+(?:type\s+)?\{[\s\S]*?\}\s*(?:from\s*['"][^'"]+['"]\s*)?;?\s*$/gm,""),_=_.replace(/^export\s+default\s+/gm,""),_=_.replace(/^export\s+(?=(?:declare\s+)?(?:abstract\s+)?(?:async\s+)?(?:function|class|const|let|var|type|interface|enum)\b)/gm,""),K.push(`// ${J$.basename(j).replace(/\.[jt]s$/,"")}
13640
13639
  ${Q.transformSync(_).trim()}`);for(let L of H)U.add(L)}catch(L){console.warn(`[stx] framework composable ${J$.basename(j)} could not be bundled:`,L)}}let w=Z.filter((j)=>!U.has(j)&&!GO(X,j));if(w.length>0)console.warn(`[stx] could not bundle ${w.join(", ")} from @stacksjs/stx/composables \u2014 `+"calls to them will throw ReferenceError in the browser. Import them explicitly so the bundler inlines them, or use a runtime equivalent from window.stx.");if(K.length===0)return p7.set(J,""),null;let z=[...U].map((j)=>` try { if (!(${JSON.stringify(j)} in __s)) { __s[${JSON.stringify(j)}] = ${j}; if (!(${JSON.stringify(j)} in window)) window[${JSON.stringify(j)}] = ${j}; } } catch (e) {}`).join(`
13641
13640
  `),B=`<script data-stx-framework-composables>
13642
13641
  ;(function(){
@@ -13671,7 +13670,7 @@ ${U}
13671
13670
  }
13672
13671
  window[__n] = __c[__n];
13673
13672
  }
13674
- })();`;return J1(c5,$,Y,B),B}function zO(){c5.clear(),h4.clear()}var c5,h4,KO;var Bq=E(()=>{V1();F1();x4();e0();c5=new Map,h4=new Map,KO=["composables","functions"]});var Hq={};n(Hq,{processDeferDirectives:()=>OO});function jO(){return`stx-defer-${++_q}`}function BO(X){let $=X.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if($)return{trigger:$[1],value:$[2]};return{trigger:"immediate"}}function _O(X,$,Z){let{trigger:Y,value:J}=BO($),G=Z,Q,q,K,U=Z.match(/@placeholder\s*([\s\S]*?)(?=@loading|@error|$)/);if(U)Q=U[1].trim(),G=G.replace(/@placeholder[\s\S]*?(?=@loading|@error|$)/,"");let W=Z.match(/@loading\s*([\s\S]*?)(?=@error|$)/);if(W)q=W[1].trim(),G=G.replace(/@loading[\s\S]*?(?=@error|$)/,"");let w=Z.match(/@error(?:\s*\(\s*(\w+)\s*\))?\s*([\s\S]*)$/);if(w)K=w[2].trim(),G=G.replace(/@error(?:\s*\(\s*\w+\s*\))?[\s\S]*$/,"");return G=G.trim(),{trigger:Y,triggerValue:J,content:G,placeholder:Q,loading:q,error:K}}function HO(X,$){let{trigger:Z,triggerValue:Y}=$,J;switch(Z){case"visible":J=`
13673
+ })();`;return J1(c5,$,Y,B),B}function zO(){c5.clear(),h4.clear()}var c5,h4,KO;var Bq=E(()=>{V1();F1();x4();X1();c5=new Map,h4=new Map,KO=["composables","functions"]});var Hq={};n(Hq,{processDeferDirectives:()=>OO});function jO(){return`stx-defer-${++_q}`}function BO(X){let $=X.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if($)return{trigger:$[1],value:$[2]};return{trigger:"immediate"}}function _O(X,$,Z){let{trigger:Y,value:J}=BO($),G=Z,Q,q,K,U=Z.match(/@placeholder\s*([\s\S]*?)(?=@loading|@error|$)/);if(U)Q=U[1].trim(),G=G.replace(/@placeholder[\s\S]*?(?=@loading|@error|$)/,"");let W=Z.match(/@loading\s*([\s\S]*?)(?=@error|$)/);if(W)q=W[1].trim(),G=G.replace(/@loading[\s\S]*?(?=@error|$)/,"");let w=Z.match(/@error(?:\s*\(\s*(\w+)\s*\))?\s*([\s\S]*)$/);if(w)K=w[2].trim(),G=G.replace(/@error(?:\s*\(\s*\w+\s*\))?[\s\S]*$/,"");return G=G.trim(),{trigger:Y,triggerValue:J,content:G,placeholder:Q,loading:q,error:K}}function HO(X,$){let{trigger:Z,triggerValue:Y}=$,J;switch(Z){case"visible":J=`
13675
13674
  const observer = new IntersectionObserver((entries) => {
13676
13675
  if (entries[0].isIntersecting) {
13677
13676
  observer.disconnect();
@@ -13820,7 +13819,7 @@ else {
13820
13819
  });
13821
13820
  })();
13822
13821
  </script>
13823
- `}var Oq=0;var Rq={};n(Rq,{processTransitionDirectives:()=>kO,processTransitionAttributes:()=>yO,performLeave:()=>MO,performEnter:()=>TO,generateTransitionRuntime:()=>DO,generateTransitionCSS:()=>EO});function Fq(X,$={}){return{enterFrom:$.enterClass||`${X}-enter-from`,enterActive:$.enterActiveClass||`${X}-enter-active`,enterTo:$.enterToClass||`${X}-enter-to`,leaveFrom:$.leaveClass||`${X}-leave-from`,leaveActive:$.leaveActiveClass||`${X}-leave-active`,leaveTo:$.leaveToClass||`${X}-leave-to`}}function NO(X){let $=getComputedStyle(X),Z=$.transitionDuration||"0s",Y=$.animationDuration||"0s",J=(G)=>{let Q=G.match(/^([\d.]+)(s|ms)?$/);if(!Q)return 0;let q=parseFloat(Q[1]);return(Q[2]||"s")==="ms"?q:q*1000};return Math.max(J(Z),J(Y))}function Vq(X,$){return new Promise((Z)=>{let Y=$??NO(X);if(Y===0){Z();return}let J=!1,G=()=>{if(J)return;J=!0,X.removeEventListener("transitionend",Q),X.removeEventListener("animationend",Q),Z()},Q=(q)=>{if(q.target===X)G()};X.addEventListener("transitionend",Q),X.addEventListener("animationend",Q),setTimeout(G,Y+50)})}function Aq(X){X.offsetHeight}async function TO(X,$={}){let Z=$.name||"stx",Y=Fq(Z,$),J=typeof $.duration==="object"?$.duration.enter:$.duration;if($.onBeforeEnter?.(X),X.classList.add(Y.enterFrom),X.classList.add(Y.enterActive),Aq(X),X.classList.remove(Y.enterFrom),X.classList.add(Y.enterTo),$.onEnter)await new Promise((G)=>{$.onEnter(X,G)});else await Vq(X,J);X.classList.remove(Y.enterActive),X.classList.remove(Y.enterTo),$.onAfterEnter?.(X)}async function MO(X,$={}){let Z=$.name||"stx",Y=Fq(Z,$),J=typeof $.duration==="object"?$.duration.leave:$.duration;if($.onBeforeLeave?.(X),X.classList.add(Y.leaveFrom),X.classList.add(Y.leaveActive),Aq(X),X.classList.remove(Y.leaveFrom),X.classList.add(Y.leaveTo),$.onLeave)await new Promise((G)=>{$.onLeave(X,G)});else await Vq(X,J);X.classList.remove(Y.leaveActive),X.classList.remove(Y.leaveTo),$.onAfterLeave?.(X)}function kO(X,$={},Z){let Y=/@transition\s*\(([^)]*)\)([\s\S]*?)@endtransition/gi;return X.replace(Y,(J,G,Q)=>{let q=IO(G),K=q.name||"stx",U=q.duration||300,W=`stx-transition-${Math.random().toString(36).slice(2,9)}`;return`
13822
+ `}var Oq=0;var Rq={};n(Rq,{processTransitionDirectives:()=>kO,processTransitionAttributes:()=>yO,performLeave:()=>MO,performEnter:()=>NO,generateTransitionRuntime:()=>DO,generateTransitionCSS:()=>EO});function Fq(X,$={}){return{enterFrom:$.enterClass||`${X}-enter-from`,enterActive:$.enterActiveClass||`${X}-enter-active`,enterTo:$.enterToClass||`${X}-enter-to`,leaveFrom:$.leaveClass||`${X}-leave-from`,leaveActive:$.leaveActiveClass||`${X}-leave-active`,leaveTo:$.leaveToClass||`${X}-leave-to`}}function TO(X){let $=getComputedStyle(X),Z=$.transitionDuration||"0s",Y=$.animationDuration||"0s",J=(G)=>{let Q=G.match(/^([\d.]+)(s|ms)?$/);if(!Q)return 0;let q=parseFloat(Q[1]);return(Q[2]||"s")==="ms"?q:q*1000};return Math.max(J(Z),J(Y))}function Vq(X,$){return new Promise((Z)=>{let Y=$??TO(X);if(Y===0){Z();return}let J=!1,G=()=>{if(J)return;J=!0,X.removeEventListener("transitionend",Q),X.removeEventListener("animationend",Q),Z()},Q=(q)=>{if(q.target===X)G()};X.addEventListener("transitionend",Q),X.addEventListener("animationend",Q),setTimeout(G,Y+50)})}function Aq(X){X.offsetHeight}async function NO(X,$={}){let Z=$.name||"stx",Y=Fq(Z,$),J=typeof $.duration==="object"?$.duration.enter:$.duration;if($.onBeforeEnter?.(X),X.classList.add(Y.enterFrom),X.classList.add(Y.enterActive),Aq(X),X.classList.remove(Y.enterFrom),X.classList.add(Y.enterTo),$.onEnter)await new Promise((G)=>{$.onEnter(X,G)});else await Vq(X,J);X.classList.remove(Y.enterActive),X.classList.remove(Y.enterTo),$.onAfterEnter?.(X)}async function MO(X,$={}){let Z=$.name||"stx",Y=Fq(Z,$),J=typeof $.duration==="object"?$.duration.leave:$.duration;if($.onBeforeLeave?.(X),X.classList.add(Y.leaveFrom),X.classList.add(Y.leaveActive),Aq(X),X.classList.remove(Y.leaveFrom),X.classList.add(Y.leaveTo),$.onLeave)await new Promise((G)=>{$.onLeave(X,G)});else await Vq(X,J);X.classList.remove(Y.leaveActive),X.classList.remove(Y.leaveTo),$.onAfterLeave?.(X)}function kO(X,$={},Z){let Y=/@transition\s*\(([^)]*)\)([\s\S]*?)@endtransition/gi;return X.replace(Y,(J,G,Q)=>{let q=IO(G),K=q.name||"stx",U=q.duration||300,W=`stx-transition-${Math.random().toString(36).slice(2,9)}`;return`
13824
13823
  <div
13825
13824
  class="stx-transition-wrapper"
13826
13825
  data-transition="${K}"
@@ -14138,7 +14137,7 @@ else {
14138
14137
 
14139
14138
  console.log('[stx] Transition runtime initialized');
14140
14139
  })();
14141
- `}function yO(X){let $=/@transition\.([a-z-]+)(?:\.(\d+))?="([^"]+)"/gi;return X.replace($,(Z,Y,J,G)=>{let Q=J||"300",q=`stx-t-${Math.random().toString(36).slice(2,7)}`;return`data-stx-transition="${Y}" data-stx-transition-duration="${Q}" data-stx-transition-condition="${G}" data-stx-transition-id="${q}"`})}var Tq={};n(Tq,{withErrorBoundary:()=>Nq,processErrorBoundaryDirectives:()=>CO,generateErrorBoundaryRuntime:()=>gO,generateErrorBoundaryCSS:()=>fO,createErrorBoundary:()=>xO});function SO(){return`eb-${++bO}-${Date.now().toString(36)}`}function CO(X,$={},Z){let Y=/@errorBoundary(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@enderrorBoundary/gi;return X.replace(Y,(J,G,Q,q)=>{let K=SO(),U=PO(G||"");return vO(K,Q.trim(),q.trim(),U)})}function PO(X){let $={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3]||Y[4];switch(J){case"id":$.id=G;break;case"logErrors":$.logErrors=G==="true";break}}return $}function vO(X,$,Z,Y){let J=Y.logErrors!==!1;return`
14140
+ `}function yO(X){let $=/@transition\.([a-z-]+)(?:\.(\d+))?="([^"]+)"/gi;return X.replace($,(Z,Y,J,G)=>{let Q=J||"300",q=`stx-t-${Math.random().toString(36).slice(2,7)}`;return`data-stx-transition="${Y}" data-stx-transition-duration="${Q}" data-stx-transition-condition="${G}" data-stx-transition-id="${q}"`})}var Nq={};n(Nq,{withErrorBoundary:()=>Tq,processErrorBoundaryDirectives:()=>CO,generateErrorBoundaryRuntime:()=>gO,generateErrorBoundaryCSS:()=>fO,createErrorBoundary:()=>xO});function SO(){return`eb-${++bO}-${Date.now().toString(36)}`}function CO(X,$={},Z){let Y=/@errorBoundary(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@enderrorBoundary/gi;return X.replace(Y,(J,G,Q,q)=>{let K=SO(),U=PO(G||"");return vO(K,Q.trim(),q.trim(),U)})}function PO(X){let $={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3]||Y[4];switch(J){case"id":$.id=G;break;case"logErrors":$.logErrors=G==="true";break}}return $}function vO(X,$,Z,Y){let J=Y.logErrors!==!1;return`
14142
14141
  <div class="stx-error-boundary" data-boundary-id="${X}" data-has-error="false">
14143
14142
  <div class="stx-error-boundary-content" data-boundary-content="${X}">
14144
14143
  ${$}
@@ -14258,7 +14257,7 @@ else {
14258
14257
  };
14259
14258
  })();
14260
14259
  </script>
14261
- `}async function Nq(X,$,Z){try{return await X()}catch(Y){if(Z)Z(Y instanceof Error?Y:Error(String(Y)));else console.error("[stx:errorBoundary] SSR Error:",Y);return $}}function xO(X,$={}){let Z=$.onError?(Y)=>$.onError(Y,{timestamp:Date.now(),boundaryId:"ssr"}):void 0;return(Y)=>Nq(Y,X,Z)}function fO(){return`
14260
+ `}async function Tq(X,$,Z){try{return await X()}catch(Y){if(Z)Z(Y instanceof Error?Y:Error(String(Y)));else console.error("[stx:errorBoundary] SSR Error:",Y);return $}}function xO(X,$={}){let Z=$.onError?(Y)=>$.onError(Y,{timestamp:Date.now(),boundaryId:"ssr"}):void 0;return(Y)=>Tq(Y,X,Z)}function fO(){return`
14262
14261
  /* STX Error Boundary Styles */
14263
14262
  .stx-error-boundary {
14264
14263
  position: relative;
@@ -15408,7 +15407,7 @@ else {
15408
15407
 
15409
15408
  console.log('[stx] Keep-alive runtime initialized');
15410
15409
  })();
15411
- `}function KL(X){if(typeof document<"u")document.addEventListener("stx:activated",($)=>{X($.detail)})}function UL(X){if(typeof document<"u")document.addEventListener("stx:deactivated",($)=>{X($.detail)})}var XL=0;var xq={};n(xq,{useVirtualList:()=>Cq,processVirtualListDirectives:()=>d4,processVirtualGridDirectives:()=>vq,processInfiniteListDirectives:()=>Pq,generateVirtualListCSS:()=>Sq,default:()=>WL,createVirtualList:()=>u4});function u4(X,$){let{itemHeight:Z,containerHeight:Y,overscan:J=3,keyProperty:G="id",dynamicHeight:Q=!1,estimatedItemHeight:q=Z,direction:K="vertical"}=$,U=[...X],W=0,w=new Map;function z(){if(Q)return B();let R=Math.max(0,Math.floor(W/Z)-J),N=Math.ceil(Y/Z),T=Math.min(U.length-1,R+N+J*2);return{startIndex:R,endIndex:T}}function B(){let R=0,N=0,T=U.length-1;for(let k=0;k<U.length;k++){let M=w.get(k)||q;if(R+M>W){N=Math.max(0,k-J);break}R+=M}R=0;for(let k=0;k<U.length;k++){let M=w.get(k)||q;if(R+=M,R>W+Y){T=Math.min(U.length-1,k+J);break}}return{startIndex:N,endIndex:T}}function j(){if(Q){let R=0;for(let N=0;N<U.length;N++)R+=w.get(N)||q;return R}return U.length*Z}function _(R){if(Q){let N=0;for(let T=0;T<R;T++)N+=w.get(T)||q;return N}return R*Z}function H(){let{startIndex:R,endIndex:N}=z();return{startIndex:R,endIndex:N,scrollTop:W,totalHeight:j(),visibleItems:U.slice(R,N+1),itemHeights:new Map(w)}}function L(R,N="auto"){let T=_(R);O(T,N)}function O(R,N="auto"){W=Math.max(0,Math.min(R,j()-Y))}function F(){z()}function V(R){U=[...R],w.clear(),F()}function A(){U=[],w.clear()}return{scrollToIndex:L,scrollToOffset:O,getState:H,refresh:F,setItems:V,destroy:A}}function d4(X,$={},Z){let Y=/@virtualList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualList/gi;return X.replace(Y,(J,G,Q,q)=>{let K=G.trim(),U=$[K];if(!U||!Array.isArray(U))return`<!-- virtualList: items "${K}" not found or not an array -->`;let W={itemHeight:50,containerHeight:400,overscan:3};if(Q)try{let O=Q.trim(),F=Function(`return ${O}`)();W={...W,...F}}catch{}let w=`vlist-${Math.random().toString(36).substring(2,9)}`,z=Math.ceil(W.containerHeight/W.itemHeight),B=W.overscan||3,j=0,_=Math.min(U.length-1,z+B),H="";for(let O=j;O<=_&&O<U.length;O++){let F=U[O],V=q.replace(/\{\{\s*item\s*\}\}/g,typeof F==="object"?JSON.stringify(F):String(F)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(A,R)=>{if(typeof F==="object"&&F!==null)return String(F[R]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(O));H+=`
15410
+ `}function KL(X){if(typeof document<"u")document.addEventListener("stx:activated",($)=>{X($.detail)})}function UL(X){if(typeof document<"u")document.addEventListener("stx:deactivated",($)=>{X($.detail)})}var XL=0;var xq={};n(xq,{useVirtualList:()=>Cq,processVirtualListDirectives:()=>d4,processVirtualGridDirectives:()=>vq,processInfiniteListDirectives:()=>Pq,generateVirtualListCSS:()=>Sq,default:()=>WL,createVirtualList:()=>u4});function u4(X,$){let{itemHeight:Z,containerHeight:Y,overscan:J=3,keyProperty:G="id",dynamicHeight:Q=!1,estimatedItemHeight:q=Z,direction:K="vertical"}=$,U=[...X],W=0,w=new Map;function z(){if(Q)return B();let R=Math.max(0,Math.floor(W/Z)-J),T=Math.ceil(Y/Z),N=Math.min(U.length-1,R+T+J*2);return{startIndex:R,endIndex:N}}function B(){let R=0,T=0,N=U.length-1;for(let k=0;k<U.length;k++){let M=w.get(k)||q;if(R+M>W){T=Math.max(0,k-J);break}R+=M}R=0;for(let k=0;k<U.length;k++){let M=w.get(k)||q;if(R+=M,R>W+Y){N=Math.min(U.length-1,k+J);break}}return{startIndex:T,endIndex:N}}function j(){if(Q){let R=0;for(let T=0;T<U.length;T++)R+=w.get(T)||q;return R}return U.length*Z}function _(R){if(Q){let T=0;for(let N=0;N<R;N++)T+=w.get(N)||q;return T}return R*Z}function H(){let{startIndex:R,endIndex:T}=z();return{startIndex:R,endIndex:T,scrollTop:W,totalHeight:j(),visibleItems:U.slice(R,T+1),itemHeights:new Map(w)}}function L(R,T="auto"){let N=_(R);O(N,T)}function O(R,T="auto"){W=Math.max(0,Math.min(R,j()-Y))}function F(){z()}function V(R){U=[...R],w.clear(),F()}function A(){U=[],w.clear()}return{scrollToIndex:L,scrollToOffset:O,getState:H,refresh:F,setItems:V,destroy:A}}function d4(X,$={},Z){let Y=/@virtualList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualList/gi;return X.replace(Y,(J,G,Q,q)=>{let K=G.trim(),U=$[K];if(!U||!Array.isArray(U))return`<!-- virtualList: items "${K}" not found or not an array -->`;let W={itemHeight:50,containerHeight:400,overscan:3};if(Q)try{let O=Q.trim(),F=Function(`return ${O}`)();W={...W,...F}}catch{}let w=`vlist-${Math.random().toString(36).substring(2,9)}`,z=Math.ceil(W.containerHeight/W.itemHeight),B=W.overscan||3,j=0,_=Math.min(U.length-1,z+B),H="";for(let O=j;O<=_&&O<U.length;O++){let F=U[O],V=q.replace(/\{\{\s*item\s*\}\}/g,typeof F==="object"?JSON.stringify(F):String(F)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(A,R)=>{if(typeof F==="object"&&F!==null)return String(F[R]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(O));H+=`
15412
15411
  <div class="virtual-item ${W.itemClass||""}"
15413
15412
  style="position: absolute; top: ${O*W.itemHeight}px; height: ${W.itemHeight}px; width: 100%;"
15414
15413
  data-index="${O}">
@@ -15551,9 +15550,9 @@ else {
15551
15550
  ${K}
15552
15551
  </div>
15553
15552
  </div>
15554
- `})}function vq(X,$={},Z){let Y=/@virtualGrid\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualGrid/gi;return X.replace(Y,(J,G,Q,q)=>{let K=G.trim(),U=$[K];if(!U||!Array.isArray(U))return`<!-- virtualGrid: items "${K}" not found or not an array -->`;let W={columns:3,rowHeight:100,containerHeight:400,gap:10,overscan:2};if(Q)try{let F=Function(`return ${Q.trim()}`)();W={...W,...F}}catch{}let w=`vgrid-${Math.random().toString(36).substring(2,9)}`,z=Math.ceil(U.length/W.columns),B=z*(W.rowHeight+(W.gap||0)),j=Math.ceil(W.containerHeight/(W.rowHeight+(W.gap||0))),_=W.overscan||2,H=0,L=Math.min(z-1,j+_),O="";for(let F=H;F<=L;F++)for(let V=0;V<W.columns;V++){let A=F*W.columns+V;if(A>=U.length)break;let R=U[A],N=V*(100/W.columns),T=F*(W.rowHeight+(W.gap||0)),k=q.replace(/\{\{\s*item\s*\}\}/g,typeof R==="object"?JSON.stringify(R):String(R)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(M,y)=>{if(typeof R==="object"&&R!==null)return String(R[y]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(A));O+=`
15553
+ `})}function vq(X,$={},Z){let Y=/@virtualGrid\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualGrid/gi;return X.replace(Y,(J,G,Q,q)=>{let K=G.trim(),U=$[K];if(!U||!Array.isArray(U))return`<!-- virtualGrid: items "${K}" not found or not an array -->`;let W={columns:3,rowHeight:100,containerHeight:400,gap:10,overscan:2};if(Q)try{let F=Function(`return ${Q.trim()}`)();W={...W,...F}}catch{}let w=`vgrid-${Math.random().toString(36).substring(2,9)}`,z=Math.ceil(U.length/W.columns),B=z*(W.rowHeight+(W.gap||0)),j=Math.ceil(W.containerHeight/(W.rowHeight+(W.gap||0))),_=W.overscan||2,H=0,L=Math.min(z-1,j+_),O="";for(let F=H;F<=L;F++)for(let V=0;V<W.columns;V++){let A=F*W.columns+V;if(A>=U.length)break;let R=U[A],T=V*(100/W.columns),N=F*(W.rowHeight+(W.gap||0)),k=q.replace(/\{\{\s*item\s*\}\}/g,typeof R==="object"?JSON.stringify(R):String(R)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(M,y)=>{if(typeof R==="object"&&R!==null)return String(R[y]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(A));O+=`
15555
15554
  <div class="virtual-grid-item"
15556
- style="position: absolute; top: ${T}px; left: ${N}%; width: calc(${100/W.columns}% - ${W.gap||0}px); height: ${W.rowHeight}px;"
15555
+ style="position: absolute; top: ${N}px; left: ${T}%; width: calc(${100/W.columns}% - ${W.gap||0}px); height: ${W.rowHeight}px;"
15557
15556
  data-index="${A}">
15558
15557
  ${k}
15559
15558
  </div>`}return`
@@ -16023,7 +16022,7 @@ else {
16023
16022
  </script>
16024
16023
  `})}function q5(X){if(X===null||typeof X!=="object")return X;if(Array.isArray(X))return X.map((Z)=>q5(Z));if(X instanceof Date)return new Date(X.getTime());if(X instanceof Map){let Z=new Map;return X.forEach((Y,J)=>Z.set(q5(J),q5(Y))),Z}if(X instanceof Set){let Z=new Set;return X.forEach((Y)=>Z.add(q5(Y))),Z}let $={};for(let Z in X)if(Object.prototype.hasOwnProperty.call(X,Z))$[Z]=q5(X[Z]);return $}function qK(X,$=100){let Z=i5(X()),Y=null,J=()=>{if(Y)clearTimeout(Y);Y=setTimeout(()=>{Z.value=X()},$)};return r7(X).subscribe(()=>J()),{get value(){return Z.value},set value(Q){console.warn("Debounced computed is readonly")},subscribe:Z.subscribe,peek:Z.peek,invalidate(){J()},get dirty(){return!1},get deps(){return new Set}}}function KK(X,$=100){let Z=i5(X()),Y=0,J=()=>{let Q=Date.now();if(Q-Y>=$)Y=Q,Z.value=X()};return r7(X).subscribe(()=>J()),{get value(){return Z.value},set value(Q){console.warn("Throttled computed is readonly")},subscribe:Z.subscribe,peek:Z.peek,invalidate(){J()},get dirty(){return!1},get deps(){return new Set}}}var G1=null,G$,n7,FL;var WK=E(()=>{G$=[],n7=new WeakMap;FL={ref:i5,computed:r7,watch:ZK,watchMultiple:YK,watchEffect:JK,isRef:v1,unref:eq,toRefs:XK,shallowRef:$K,debouncedComputed:qK,throttledComputed:KK,processComputedDirectives:GK,processWatchDirectives:QK}});function o7(X,$){let Z={};for(let Y of X)Z[Y]=E1($(Y));return new Proxy({},{get:(Y,J)=>Z[J]?.(),set:(Y,J,G)=>{if(Z[J])Z[J].set(G);else Z[J]=E1(G);return!0},has:(Y,J)=>(J in Z),deleteProperty:(Y,J)=>{return delete Z[J],!0},ownKeys:()=>Reflect.ownKeys(Z),getOwnPropertyDescriptor:(Y,J)=>(J in Z)?{enumerable:!0,configurable:!0,writable:!0,value:Z[J]()}:void 0})}function VL(X,$){let Z={};for(let Y of $)Z[Y]=X[Y];return Z}function m4(X,$){let Z=Object.keys(X),Y=o7(Z,(O)=>$?.[O]??X[O].getDefaultValue()),J=o7(Z,()=>[]),G=o7(Z,()=>!1),Q=o7(Z,()=>!1),q=o7(Z,()=>!1),K=E1(!1);async function U(O){q[O]=!0;let F=await X[O].validate(Y[O],Y);return J[O]=F,q[O]=!1,F.length===0}async function W(){K.set(!0);let O=await Promise.all(Z.map(U));return K.set(!1),O.every(Boolean)}function w(){for(let O of Z)Y[O]=$?.[O]??X[O].getDefaultValue(),J[O]=[],G[O]=!1,Q[O]=!1}function z(O){for(let F of Z)if(F in O)Y[F]=O[F],Q[F]=!0}function B(O,F){Y[O]=F,Q[O]=!0}function j(O,F=!0){if(G[O]=F,F)U(O)}function _(O){return{value:Y[O],errors:J[O],touched:G[O],dirty:Q[O],valid:J[O].length===0,validating:q[O]}}function H(O){return async(F)=>{F?.preventDefault?.();for(let A of Z)G[A]=!0;if(await W())await O(VL(Y,Z))}}return{values:Y,errors:J,touched:G,dirty:Q,get isValid(){return Z.every((O)=>J[O].length===0)},get isValidating(){return K()||Z.some((O)=>q[O])},get isDirty(){return Z.some((O)=>Q[O])},validate:W,validateField:U,reset:w,setValues:z,setFieldValue:B,setFieldTouched:j,getFieldState:_,handleSubmit:H}}var wK;var zK=E(()=>{gX();wK=m4});var HK={};n(HK,{v:()=>AL,useForm:()=>m4,processHasErrorsDirective:()=>_K,processFormValidationDirectives:()=>RL,processErrorsDirective:()=>BK,processErrorDirective:()=>jK,defineForm:()=>wK,Validator:()=>n5});class n5{rules=[];defaultValue="";addRule(X){let $=new n5;return $.rules=[...this.rules,X],$.defaultValue=this.defaultValue,$}required(X="This field is required"){return this.addRule({name:"required",message:X,validate:($)=>{if($===null||$===void 0)return X;if(typeof $==="string"&&$.trim()==="")return X;if(Array.isArray($)&&$.length===0)return X;return!0}})}email(X="Please enter a valid email"){return this.addRule({name:"email",message:X,validate:($)=>{if(!$)return!0;return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String($))||X}})}url(X="Please enter a valid URL"){return this.addRule({name:"url",message:X,validate:($)=>{if(!$)return!0;try{return new URL(String($)),!0}catch{return X}}})}min(X,$){let Z=$||`Must be at least ${X} characters`;return this.addRule({name:"min",message:Z,validate:(Y)=>{if(!Y)return!0;return String(Y).length>=X||Z}})}max(X,$){let Z=$||`Must be no more than ${X} characters`;return this.addRule({name:"max",message:Z,validate:(Y)=>{if(!Y)return!0;return String(Y).length<=X||Z}})}length(X,$,Z){let Y=Z||`Must be between ${X} and ${$} characters`;return this.addRule({name:"length",message:Y,validate:(J)=>{if(!J)return!0;let G=String(J).length;return G>=X&&G<=$||Y}})}pattern(X,$="Invalid format"){return this.addRule({name:"pattern",message:$,validate:(Z)=>{if(!Z)return!0;return X.test(String(Z))||$}})}hasUppercase(X="Must contain an uppercase letter"){return this.pattern(/[A-Z]/,X)}hasLowercase(X="Must contain a lowercase letter"){return this.pattern(/[a-z]/,X)}hasNumber(X="Must contain a number"){return this.pattern(/\d/,X)}hasSpecial(X="Must contain a special character"){return this.pattern(/[!@#$%^&*(),.?":{}|<>]/,X)}alphanumeric(X="Only letters and numbers allowed"){return this.pattern(/^[a-zA-Z0-9]+$/,X)}startsWithLetter(X="Must start with a letter"){return this.pattern(/^[a-zA-Z]/,X)}noSpaces(X="Spaces are not allowed"){return this.addRule({name:"noSpaces",message:X,validate:($)=>{if(!$)return!0;return!String($).includes(" ")||X}})}number(X="Must be a number"){let $=this.addRule({name:"number",message:X,validate:(Z)=>{if(!Z&&Z!==0)return!0;return!Number.isNaN(Number(Z))||X}});return $.defaultValue=0,$}integer(X="Must be a whole number"){return this.addRule({name:"integer",message:X,validate:($)=>{if(!$&&$!==0)return!0;return Number.isInteger(Number($))||X}})}positive(X="Must be a positive number"){return this.addRule({name:"positive",message:X,validate:($)=>{if(!$&&$!==0)return!0;return Number($)>0||X}})}negative(X="Must be a negative number"){return this.addRule({name:"negative",message:X,validate:($)=>{if(!$&&$!==0)return!0;return Number($)<0||X}})}minValue(X,$){let Z=$||`Must be at least ${X}`;return this.addRule({name:"minValue",message:Z,validate:(Y)=>{if(!Y&&Y!==0)return!0;return Number(Y)>=X||Z}})}maxValue(X,$){let Z=$||`Must be no more than ${X}`;return this.addRule({name:"maxValue",message:Z,validate:(Y)=>{if(!Y&&Y!==0)return!0;return Number(Y)<=X||Z}})}between(X,$,Z){let Y=Z||`Must be between ${X} and ${$}`;return this.addRule({name:"between",message:Y,validate:(J)=>{if(!J&&J!==0)return!0;let G=Number(J);return G>=X&&G<=$||Y}})}matches(X,$){let Z=$||`Must match ${X}`;return this.addRule({name:"matches",message:Z,validate:(Y,J)=>{if(!J)return!0;return Y===J[X]||Z}})}oneOf(X,$){let Z=$||`Must be one of: ${X.join(", ")}`;return this.addRule({name:"oneOf",message:Z,validate:(Y)=>{if(!Y)return!0;return X.includes(Y)||Z}})}notOneOf(X,$){let Z=$||`Cannot be one of: ${X.join(", ")}`;return this.addRule({name:"notOneOf",message:Z,validate:(Y)=>{if(!Y)return!0;return!X.includes(Y)||Z}})}date(X="Must be a valid date"){return this.addRule({name:"date",message:X,validate:($)=>{if(!$)return!0;let Z=new Date(String($));return!Number.isNaN(Z.getTime())||X}})}before(X,$){let Z=new Date(X),Y=$||`Must be before ${Z.toLocaleDateString()}`;return this.addRule({name:"before",message:Y,validate:(J)=>{if(!J)return!0;return new Date(String(J))<Z||Y}})}after(X,$){let Z=new Date(X),Y=$||`Must be after ${Z.toLocaleDateString()}`;return this.addRule({name:"after",message:Y,validate:(J)=>{if(!J)return!0;return new Date(String(J))>Z||Y}})}custom(X,$="Invalid value"){return this.addRule({name:"custom",message:$,validate:X})}async(X,$="Invalid value"){return this.addRule({name:"async",message:$,async:!0,validate:X})}when(X,$){let Z=new n5;Z.rules=[...this.rules],Z.defaultValue=this.defaultValue;for(let Y of $.getRules())Z.rules.push({...Y,validate:(J,G)=>{if(!X(J,G||{}))return!0;return Y.validate(J,G)}});return Z}getRules(){return this.rules}getDefaultValue(){return this.defaultValue}default(X){let $=new n5;return $.rules=[...this.rules],$.defaultValue=X,$}async validate(X,$){let Z=[];for(let Y of this.rules){let J=await Y.validate(X,$);if(J!==!0)Z.push(J)}return Z}validateSync(X,$){let Z=[];for(let Y of this.rules){if(Y.async)continue;let J=Y.validate(X,$);if(J!==!0)Z.push(J)}return Z}}function jK(X,$,Z){let Y=/@error\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderror/g;return X.replace(Y,(J,G,Q)=>{try{let q=G.trim().split("."),K=$;for(let W of q)if(K&&typeof K==="object"&&W in K)K=K[W];else return"";let U=K;if(!U||!Array.isArray(U)||U.length===0)return"";return U.map((W)=>{return Q.replace(/\{\{\s*message\s*\}\}/g,W)}).join(`
16025
16024
  `)}catch{return""}})}function BK(X,$,Z){let Y=/@errors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderrors/g;return X.replace(Y,(J,G,Q)=>{try{let q=G.trim().split("."),K=$;for(let W of q)if(K&&typeof K==="object"&&W in K)K=K[W];else return"";let U=K;if(!U||!Array.isArray(U)||U.length===0)return"";return U.map((W)=>Q.replace(/\{\{\s*message\s*\}\}/g,W)).join(`
16026
- `)}catch{return""}})}function _K(X,$,Z){let Y=/@hasErrors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@endhasErrors/g;return X.replace(Y,(J,G,Q)=>{try{let q=G.trim().split("."),K=$;for(let W of q)if(K&&typeof K==="object"&&W in K)K=K[W];else return"";let U=K;if(!U||!Array.isArray(U)||U.length===0)return"";return Q}catch{return""}})}function RL(X,$,Z){let Y=X;return Y=jK(Y,$,Z),Y=BK(Y,$,Z),Y=_K(Y,$,Z),Y}var AL;var OK=E(()=>{zK();AL=new n5});var VK={};n(VK,{processXElementDirectives:()=>NL,hasXElementDirectives:()=>FK,generateXElementRuntime:()=>LK});function LK(){return`<script data-stx-scoped data-stx-x-element-runtime data-stx-run="always">
16025
+ `)}catch{return""}})}function _K(X,$,Z){let Y=/@hasErrors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@endhasErrors/g;return X.replace(Y,(J,G,Q)=>{try{let q=G.trim().split("."),K=$;for(let W of q)if(K&&typeof K==="object"&&W in K)K=K[W];else return"";let U=K;if(!U||!Array.isArray(U)||U.length===0)return"";return Q}catch{return""}})}function RL(X,$,Z){let Y=X;return Y=jK(Y,$,Z),Y=BK(Y,$,Z),Y=_K(Y,$,Z),Y}var AL;var OK=E(()=>{zK();AL=new n5});var VK={};n(VK,{processXElementDirectives:()=>TL,hasXElementDirectives:()=>FK,generateXElementRuntime:()=>LK});function LK(){return`<script data-stx-scoped data-stx-x-element-runtime data-stx-run="always">
16027
16026
  (function() {
16028
16027
  'use strict';
16029
16028
 
@@ -16307,41 +16306,41 @@ else {
16307
16306
  // Expose for manual initialization
16308
16307
  window.XElement = XElement;
16309
16308
  })();
16310
- </script>`}function FK(X){return/\bx-data(?:\s|=)/.test(X)}function NL(X){let $=/<script\b(?=[^>]*\bdata-stx-x-element-runtime\b)[^>]*>[\s\S]*?<\/script>\s*/gi,Z=X.match($)||[],Y=Z.length>0?X.replace($,""):X;if(!FK(Y))return Y;let J=Z[0]?.trim()||LK(),G=Y.lastIndexOf("</body>");if(G!==-1)return Y.slice(0,G)+J+`
16309
+ </script>`}function FK(X){return/\bx-data(?:\s|=)/.test(X)}function TL(X){let $=/<script\b(?=[^>]*\bdata-stx-x-element-runtime\b)[^>]*>[\s\S]*?<\/script>\s*/gi,Z=X.match($)||[],Y=Z.length>0?X.replace($,""):X;if(!FK(Y))return Y;let J=Z[0]?.trim()||LK(),G=Y.lastIndexOf("</body>");if(G!==-1)return Y.slice(0,G)+J+`
16311
16310
  `+Y.slice(G);return Y+`
16312
- `+J}var AK={};n(AK,{rewriteImagesWithSiblings:()=>kL});import B1 from"path";async function kL(X,$){let Z=$.formats??ML;if(!$.publicDir)return X;let Y=DL(X),J=[],G=/<img\b[^>]*?>/gi,Q=[],q;while((q=G.exec(X))!==null){let w=q[0],z=w.match(/\bsrc=["']([^"']+)["']/i);if(!z)continue;if(yL(q.index,Y))continue;Q.push({idx:q.index,length:w.length,src:z[1],raw:w})}if(Q.length===0)return X;let K=await Promise.all(Q.map(async(w)=>{let z=await IL(w.src,$.publicDir,Z);return{match:w,sources:z}}));for(let{match:w,sources:z}of K){if(z.length===0)continue;let j=`<picture>${z.map((_)=>`<source type="${_.mime}" srcset="${bL(_.url)}">`).join("")}${w.raw}</picture>`;J.push({start:w.idx,end:w.idx+w.length,replacement:j})}if(J.length===0)return X;let U="",W=0;for(let w of J)U+=X.slice(W,w.start),U+=w.replacement,W=w.end;return U+=X.slice(W),U}async function IL(X,$,Z){if(!EL(X))return[];let Y=B1.extname(X).toLowerCase();if(!TL.has(Y))return[];if(!X.startsWith("/"))return[];let J=B1.join($,X.slice(1)),G=B1.dirname(J),Q=B1.basename(J,Y),q=B1.resolve(G),K=B1.resolve($);if(!q.startsWith(K))return[];let U=B1.posix.dirname(X),W=Z.map(async(z)=>{let B=B1.join(G,`${Q}${z.ext}`);if(!await Bun.file(B).exists())return null;return{url:B1.posix.join(U,`${Q}${z.ext}`),mime:z.mime}});return(await Promise.all(W)).filter((z)=>z!==null)}function EL(X){if(!X)return!1;if(X.startsWith("http://")||X.startsWith("https://"))return!1;if(X.startsWith("//"))return!1;if(X.startsWith("data:"))return!1;return!0}function DL(X){let $=[],Z=/<picture\b[^>]*>[\s\S]*?<\/picture>/gi,Y;while((Y=Z.exec(X))!==null)$.push([Y.index,Y.index+Y[0].length]);return $}function yL(X,$){for(let[Z,Y]of $)if(X>=Z&&X<Y)return!0;return!1}function bL(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;")}var TL,ML;var RK=E(()=>{TL=new Set([".jpg",".jpeg",".png",".gif"]),ML=[{ext:".avif",mime:"image/avif"},{ext:".webp",mime:"image/webp"}]});var kK={};n(kK,{validateClientScript:()=>X$,processOnceDirective:()=>e8,processJsonDirective:()=>t8,processDirectives:()=>R0,injectRouterScript:()=>oZ});import SL from"fs";import E0 from"path";function NK(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function CL(X,$){let Z=X.length,Y=$,J=!0,G=[],Q=(q)=>q+9<=Z&&X[q]==="<"&&X[q+1]==="/"&&(X[q+2]==="s"||X[q+2]==="S")&&(X[q+3]==="c"||X[q+3]==="C")&&(X[q+4]==="r"||X[q+4]==="R")&&(X[q+5]==="i"||X[q+5]==="I")&&(X[q+6]==="p"||X[q+6]==="P")&&(X[q+7]==="t"||X[q+7]==="T")&&(X[q+8]===">"||/\s/.test(X[q+8]));while(Y<Z){let q=X[Y];if(Q(Y))return Y;if(q==="/"&&X[Y+1]==="/"){if(Y=X.indexOf(`
16311
+ `+J}var AK={};n(AK,{rewriteImagesWithSiblings:()=>kL});import B1 from"path";async function kL(X,$){let Z=$.formats??ML;if(!$.publicDir)return X;let Y=DL(X),J=[],G=/<img\b[^>]*?>/gi,Q=[],q;while((q=G.exec(X))!==null){let w=q[0],z=w.match(/\bsrc=["']([^"']+)["']/i);if(!z)continue;if(yL(q.index,Y))continue;Q.push({idx:q.index,length:w.length,src:z[1],raw:w})}if(Q.length===0)return X;let K=await Promise.all(Q.map(async(w)=>{let z=await IL(w.src,$.publicDir,Z);return{match:w,sources:z}}));for(let{match:w,sources:z}of K){if(z.length===0)continue;let j=`<picture>${z.map((_)=>`<source type="${_.mime}" srcset="${bL(_.url)}">`).join("")}${w.raw}</picture>`;J.push({start:w.idx,end:w.idx+w.length,replacement:j})}if(J.length===0)return X;let U="",W=0;for(let w of J)U+=X.slice(W,w.start),U+=w.replacement,W=w.end;return U+=X.slice(W),U}async function IL(X,$,Z){if(!EL(X))return[];let Y=B1.extname(X).toLowerCase();if(!NL.has(Y))return[];if(!X.startsWith("/"))return[];let J=B1.join($,X.slice(1)),G=B1.dirname(J),Q=B1.basename(J,Y),q=B1.resolve(G),K=B1.resolve($);if(!q.startsWith(K))return[];let U=B1.posix.dirname(X),W=Z.map(async(z)=>{let B=B1.join(G,`${Q}${z.ext}`);if(!await Bun.file(B).exists())return null;return{url:B1.posix.join(U,`${Q}${z.ext}`),mime:z.mime}});return(await Promise.all(W)).filter((z)=>z!==null)}function EL(X){if(!X)return!1;if(X.startsWith("http://")||X.startsWith("https://"))return!1;if(X.startsWith("//"))return!1;if(X.startsWith("data:"))return!1;return!0}function DL(X){let $=[],Z=/<picture\b[^>]*>[\s\S]*?<\/picture>/gi,Y;while((Y=Z.exec(X))!==null)$.push([Y.index,Y.index+Y[0].length]);return $}function yL(X,$){for(let[Z,Y]of $)if(X>=Z&&X<Y)return!0;return!1}function bL(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;")}var NL,ML;var RK=E(()=>{NL=new Set([".jpg",".jpeg",".png",".gif"]),ML=[{ext:".avif",mime:"image/avif"},{ext:".webp",mime:"image/webp"}]});var kK={};n(kK,{validateClientScript:()=>X$,processOnceDirective:()=>e8,processJsonDirective:()=>t8,processDirectives:()=>R0,injectRouterScript:()=>oZ});import SL from"fs";import E0 from"path";function TK(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function CL(X,$){let Z=X.length,Y=$,J=!0,G=[],Q=(q)=>q+9<=Z&&X[q]==="<"&&X[q+1]==="/"&&(X[q+2]==="s"||X[q+2]==="S")&&(X[q+3]==="c"||X[q+3]==="C")&&(X[q+4]==="r"||X[q+4]==="R")&&(X[q+5]==="i"||X[q+5]==="I")&&(X[q+6]==="p"||X[q+6]==="P")&&(X[q+7]==="t"||X[q+7]==="T")&&(X[q+8]===">"||/\s/.test(X[q+8]));while(Y<Z){let q=X[Y];if(Q(Y))return Y;if(q==="/"&&X[Y+1]==="/"){if(Y=X.indexOf(`
16313
16312
  `,Y+2),Y===-1)return-1;Y+=1,J=!0;continue}if(q==="/"&&X[Y+1]==="*"){let K=X.indexOf("*/",Y+2);if(K===-1)return-1;Y=K+2,J=!0;continue}if(q==="/"&&J){let K=Y+1,U=!1;while(K<Z){let W=X[K];if(W==="\\"){K+=2;continue}if(W==="[")U=!0;else if(W==="]")U=!1;else if(W==="/"&&!U){K++;break}else if(W===`
16314
16313
  `){K=-1;break}K++}if(K===-1){Y++,J=!1;continue}while(K<Z&&/[a-z]/.test(X[K]))K++;Y=K,J=!1;continue}if(q==="'"||q==='"'){let K=q;Y++;while(Y<Z){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]===K){Y++;break}if(X[Y]===`
16315
- `)break;Y++}J=!1;continue}if(q==="`"){Y++;while(Y<Z){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]==="`"){Y++;break}if(X[Y]==="$"&&X[Y+1]==="{"){G.push(!0),Y+=2,J=!0;break}Y++}if(G.length===0)J=!1;continue}if(q==="}"&&G.length>0){G.pop(),Y++;while(Y<Z){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]==="`"){Y++,J=!1;break}if(X[Y]==="$"&&X[Y+1]==="{"){G.push(!0),Y+=2,J=!0;break}Y++}continue}if(/\s/.test(q));else if(/[)\].\w$]/.test(q))J=!1;else J=!0;Y++}return-1}function r5(X,$){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=new RegExp(`<script\\b(?=[^>]*\\b${Z}(?:\\s|=|/?>))[^>]*>`,"i").exec(X);if(!Y)return null;let J=Y.index+Y[0].length,G=X.indexOf("</script>",J);if(G===-1)return null;let Q=X.indexOf(">",G);if(Q===-1)return null;return{start:Y.index,end:Q+1}}function TK(X){let $=0;while($<X.length){let Z=X.indexOf("<",$);if(Z===-1)return-1;if(X.startsWith("<!--",Z)){let G=X.indexOf("-->",Z+4);$=G===-1?X.length:G+3;continue}let Y=X.slice(Z),J=/^<style\b[^>]*>/i.exec(Y);if(J){let G=X.toLowerCase().indexOf("</style>",Z+J[0].length);$=G===-1?X.length:G+8;continue}if(/^<script\b[^>]*>/i.test(Y))return Z;$=Z+1}return-1}function PL(X){let $=r5(X,"data-stx-runtime");if(!$)return X;let Z=TK(X);if(Z===-1||Z===$.start)return X;let Y=X.slice($.start,$.end),J=X.slice(0,$.start)+X.slice($.end),G=TK(J);if(G===-1)return Y+`
16314
+ `)break;Y++}J=!1;continue}if(q==="`"){Y++;while(Y<Z){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]==="`"){Y++;break}if(X[Y]==="$"&&X[Y+1]==="{"){G.push(!0),Y+=2,J=!0;break}Y++}if(G.length===0)J=!1;continue}if(q==="}"&&G.length>0){G.pop(),Y++;while(Y<Z){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]==="`"){Y++,J=!1;break}if(X[Y]==="$"&&X[Y+1]==="{"){G.push(!0),Y+=2,J=!0;break}Y++}continue}if(/\s/.test(q));else if(/[)\].\w$]/.test(q))J=!1;else J=!0;Y++}return-1}function r5(X,$){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=new RegExp(`<script\\b(?=[^>]*\\b${Z}(?:\\s|=|/?>))[^>]*>`,"i").exec(X);if(!Y)return null;let J=Y.index+Y[0].length,G=X.indexOf("</script>",J);if(G===-1)return null;let Q=X.indexOf(">",G);if(Q===-1)return null;return{start:Y.index,end:Q+1}}function NK(X){let $=0;while($<X.length){let Z=X.indexOf("<",$);if(Z===-1)return-1;if(X.startsWith("<!--",Z)){let G=X.indexOf("-->",Z+4);$=G===-1?X.length:G+3;continue}let Y=X.slice(Z),J=/^<style\b[^>]*>/i.exec(Y);if(J){let G=X.toLowerCase().indexOf("</style>",Z+J[0].length);$=G===-1?X.length:G+8;continue}if(/^<script\b[^>]*>/i.test(Y))return Z;$=Z+1}return-1}function PL(X){let $=r5(X,"data-stx-runtime");if(!$)return X;let Z=NK(X);if(Z===-1||Z===$.start)return X;let Y=X.slice($.start,$.end),J=X.slice(0,$.start)+X.slice($.end),G=NK(J);if(G===-1)return Y+`
16316
16315
  `+J;return J.slice(0,G)+Y+`
16317
16316
  `+J.slice(G)}async function R0(X,$,Z,Y,J){if(Y.ssr===!1&&!Y.autoShell&&Y.buildMode==="spa")return X;if($.__stx_signals_gate===void 0)$.__stx_signals_gate=W1(X);let G=!$.__stxProcessingDepth;if(G)I6($);if(!$.__stxProcessingDepth)$.__stxProcessingDepth=0;if($.__stxProcessingDepth++,!$.__onceStore)$.__onceStore=new Set;if((Y.debug||!C7()&&!A8())&&Z&&Z.endsWith(".stx"))m3(X,Z);try{return await s6.timeAsync("template-processing",async()=>{let Q=await vL(X,$,Z,Y,J);if(G)Q=C4(Q);if(G&&Y.autoShell&&Y.buildMode!=="compile"){let q=Y.app?.head||{},U=($.__stx_runtime_head||null)??X9(),W=($.__stx_head_raw||"").trim(),w,z=W.match(/<title[^>]*>([\s\S]*?)<\/title>/i);if(z)w=z[1].trim(),W=W.replace(z[0],"").trim();let B=$.__sections?.title,j=U.title||w||B,_=!U.title&&(!!w||!!B),H={...q,...j&&{title:j},meta:[...q.meta||[],...U.meta||[]],link:[...q.link||[],...U.link||[]],script:[...q.script||[],...U.script||[]],headRaw:[q.headRaw,W].filter(Boolean).join(`
16318
- `),...U.htmlAttrs&&{htmlAttrs:iQ(q.htmlAttrs,U.htmlAttrs)},...U.bodyAttrs&&{bodyAttrs:{...q.bodyAttrs||{},...U.bodyAttrs}}},L=S4(Q);if(Q=sQ(Q,H,{..._&&{titleIsHtml:!0},...Y.app?.colorMode&&{colorMode:Y.app.colorMode}}),L)Q=oQ(Q,q),Q=nQ(Q,H.htmlAttrs);let O=Q.match(/<!-- stx-layout: ([^ ]+) -->/);if(O&&Q.includes("<head")){let A=O[1],R=U7(A);Q=Q.replace(/<head\b[^>]*>/i,(N)=>`${N}
16319
- <meta name="stx-layout" content="${NK(A)}">
16320
- <meta name="stx-layout-group" content="${NK(R)}">`)}let F=Q.match(/function (__stx_setup_\d+_\d+)\(/),V=F?E7(Q):null;if(F&&V&&!/\bdata-stx=/.test(V.tag)){Q=yX(Q,(R,N)=>`<body${N} data-stx="${F[1]}">`);let A=new RegExp(`(<(?!body)[a-zA-Z][^>]*) data-stx="${F[1]}"`,"i");Q=Q.replace(A,"$1")}}if(G){Q=rQ(Q);let q=Y.app?.colorMode;if(q)Q=dQ(Q,q);Q=lQ(Q),Q=PL(Q)}if(G)try{let{getStoreScript:q}=await t("stx/store-loader",()=>Promise.resolve().then(() => (Qq(),Gq))),K=Y.storesDir,U=await q(K);if(U){let W=`<script data-stx-stores>${U}</script>`,w=r5(Q,"data-stx-runtime");if(w)Q=Q.slice(0,w.end)+`
16317
+ `),...U.htmlAttrs&&{htmlAttrs:iQ(q.htmlAttrs,U.htmlAttrs)},...U.bodyAttrs&&{bodyAttrs:{...q.bodyAttrs||{},...U.bodyAttrs}}},L=S4(Q);if(Q=sQ(Q,H,{..._&&{titleIsHtml:!0},...Y.app?.colorMode&&{colorMode:Y.app.colorMode}}),L)Q=oQ(Q,q),Q=nQ(Q,H.htmlAttrs);let O=Q.match(/<!-- stx-layout: ([^ ]+) -->/);if(O&&Q.includes("<head")){let A=O[1],R=U7(A);Q=Q.replace(/<head\b[^>]*>/i,(T)=>`${T}
16318
+ <meta name="stx-layout" content="${TK(A)}">
16319
+ <meta name="stx-layout-group" content="${TK(R)}">`)}let F=Q.match(/function (__stx_setup_\d+_\d+)\(/),V=F?E7(Q):null;if(F&&V&&!/\bdata-stx=/.test(V.tag)){Q=yX(Q,(R,T)=>`<body${T} data-stx="${F[1]}">`);let A=new RegExp(`(<(?!body)[a-zA-Z][^>]*) data-stx="${F[1]}"`,"i");Q=Q.replace(A,"$1")}}if(G){Q=rQ(Q);let q=Y.app?.colorMode;if(q)Q=dQ(Q,q);Q=lQ(Q),Q=PL(Q)}if(G)try{let{getStoreScript:q}=await t("stx/store-loader",()=>Promise.resolve().then(() => (Qq(),Gq))),K=Y.storesDir,U=await q(K);if(U){let W=`<script data-stx-stores>${U}</script>`,w=r5(Q,"data-stx-runtime");if(w)Q=Q.slice(0,w.end)+`
16321
16320
  `+W+Q.slice(w.end)}}catch{}if(G)try{let{getFrameworkComposableScript:q}=await t("stx/framework-composables",()=>Promise.resolve().then(() => (wq(),Wq))),K=await q(Q);if(K){let U=r5(Q,"data-stx-stores")||r5(Q,"data-stx-runtime");if(U)Q=Q.slice(0,U.end)+`
16322
16321
  `+K+Q.slice(U.end)}}catch{}if(G)try{let{getComposableScript:q}=await t("stx/composable-loader",()=>Promise.resolve().then(() => (Bq(),jq))),K=Y.composablesDir,U=await q(K);if(U){let W=`<script data-stx-composables>${U}</script>`,w=r5(Q,"data-stx-stores")||r5(Q,"data-stx-runtime");if(w)Q=Q.slice(0,w.end)+`
16323
- `+W+Q.slice(w.end)}}catch{}if(G)Q=mQ(Q);if(G&&$.__stx_inject_css!==!1)Q=await SJ(Q,void 0,Y.buildMode==="serve");if(G)Q=$Z(Q);return Q=Q.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),Q})}catch(Q){if(Q instanceof M8)throw Q;let q=Q instanceof Error?Q.message:String(Q),K=new e1(`Template processing failed: ${q}`,Z,void 0,void 0,X.substring(0,200)+(X.length>200?"...":""));if(s0.log(K,{filePath:Z,context:$}),L3.logDetailedError(K,{filePath:Z,template:X.substring(0,500)}),Y.debug)throw K;return H3.createFallbackContent("Template Processing",K)}}async function vL(X,$,Z,Y,J){let G=process.cwd(),Q={...Y,partialsDir:Y.partialsDir&&!E0.isAbsolute(Y.partialsDir)?E0.resolve(G,Y.partialsDir):Y.partialsDir,componentsDir:Y.componentsDir&&!E0.isAbsolute(Y.componentsDir)?E0.resolve(G,Y.componentsDir):Y.componentsDir,layoutsDir:Y.layoutsDir&&!E0.isAbsolute(Y.layoutsDir)?E0.resolve(G,Y.layoutsDir):Y.layoutsDir},q=Q,K=X;await gL(Z,$),fL($,q),K=await b5(()=>NQ(K,$,Z,q),K,(F)=>{s0.log(F,{filePath:Z,phase:"pre-processing-middleware"},"warning"),console.warn(`[stx] pre-processing middleware failed for ${Z}: ${F.message}`)}),K=K.replace(/\{\{--[\s\S]*?--\}\}/g,"");let U=$1(K,V7,(F,V)=>`\x00STX_HTML_COMMENT_${V}\x00`);K=U.output;let W=U.tokens,w=(F)=>W.length===0?F:F.replace(/\x00STX_HTML_COMMENT_(\d+)\x00/g,(V,A)=>W[Number(A)]??""),z="\x00STX_ESCAPED_AT\x00";K=K.replace(/@@/g,z),K=K.replace(/@\{\{([\s\S]*?)\}\}/g,(F,V)=>{return`{{ ${V} }}`}),K=PQ(K),K=await Xq(K,Z,J);let B={};K=R4(K,B);let j={...$.__sections||{}},_="",H=lJ(mJ(X)),L=/@nolayout\b/.test(K)||H===!1;if(/@nolayout\b/.test(K))K=K.replace(/@nolayout\b\s*/g,"");let O=K.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(O)_=O[1],K=K.replace(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/g,"");else if(typeof H==="string"){if(_=H,!/@section\s*\(/.test(K))K=`@section('content')
16322
+ `+W+Q.slice(w.end)}}catch{}if(G)Q=mQ(Q);if(G&&$.__stx_inject_css!==!1)Q=await SJ(Q,void 0,Y.buildMode==="serve");if(G)Q=$Z(Q);return Q=Q.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),Q})}catch(Q){if(Q instanceof M8)throw Q;let q=Q instanceof Error?Q.message:String(Q),K=new e1(`Template processing failed: ${q}`,Z,void 0,void 0,X.substring(0,200)+(X.length>200?"...":""));if(a0.log(K,{filePath:Z,context:$}),L3.logDetailedError(K,{filePath:Z,template:X.substring(0,500)}),Y.debug)throw K;return H3.createFallbackContent("Template Processing",K)}}async function vL(X,$,Z,Y,J){let G=process.cwd(),Q={...Y,partialsDir:Y.partialsDir&&!E0.isAbsolute(Y.partialsDir)?E0.resolve(G,Y.partialsDir):Y.partialsDir,componentsDir:Y.componentsDir&&!E0.isAbsolute(Y.componentsDir)?E0.resolve(G,Y.componentsDir):Y.componentsDir,layoutsDir:Y.layoutsDir&&!E0.isAbsolute(Y.layoutsDir)?E0.resolve(G,Y.layoutsDir):Y.layoutsDir},q=Q,K=X;await gL(Z,$),fL($,q),K=await b5(()=>TQ(K,$,Z,q),K,(F)=>{a0.log(F,{filePath:Z,phase:"pre-processing-middleware"},"warning"),console.warn(`[stx] pre-processing middleware failed for ${Z}: ${F.message}`)}),K=K.replace(/\{\{--[\s\S]*?--\}\}/g,"");let U=$1(K,V7,(F,V)=>`\x00STX_HTML_COMMENT_${V}\x00`);K=U.output;let W=U.tokens,w=(F)=>W.length===0?F:F.replace(/\x00STX_HTML_COMMENT_(\d+)\x00/g,(V,A)=>W[Number(A)]??""),z="\x00STX_ESCAPED_AT\x00";K=K.replace(/@@/g,z),K=K.replace(/@\{\{([\s\S]*?)\}\}/g,(F,V)=>{return`{{ ${V} }}`}),K=PQ(K),K=await Xq(K,Z,J);let B={};K=R4(K,B);let j={...$.__sections||{}},_="",H=lJ(mJ(X)),L=/@nolayout\b/.test(K)||H===!1;if(/@nolayout\b/.test(K))K=K.replace(/@nolayout\b\s*/g,"");let O=K.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(O)_=O[1],K=K.replace(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/g,"");else if(typeof H==="string"){if(_=H,!/@section\s*\(/.test(K))K=`@section('content')
16324
16323
  ${K.trim()}
16325
- @endsection`}if(!_&&!L&&q.defaultLayout){let F=b4(K),V=/@section\s*\(/.test(K);if(!F||V){let A="",R=E0.dirname(Z),N=q.layoutsDir?E0.dirname(q.layoutsDir):process.cwd();for(let T=0;T<20;T++){let k=E0.join(R,"_layout.stx");if(await p(k)){A=k;break}let M=E0.dirname(R);if(M===R||M.length<N.length)break;R=M}if(A)_=A;else if(q.layoutsDir){let T=E0.isAbsolute(q.layoutsDir)?q.layoutsDir:E0.resolve(process.cwd(),q.layoutsDir),k=E0.join(T,`${q.defaultLayout}.stx`);if(await p(k))_=k}if(_&&!V)K=`@section('content')
16324
+ @endsection`}if(!_&&!L&&q.defaultLayout){let F=b4(K),V=/@section\s*\(/.test(K);if(!F||V){let A="",R=E0.dirname(Z),T=q.layoutsDir?E0.dirname(q.layoutsDir):process.cwd();for(let N=0;N<20;N++){let k=E0.join(R,"_layout.stx");if(await p(k)){A=k;break}let M=E0.dirname(R);if(M===R||M.length<T.length)break;R=M}if(A)_=A;else if(q.layoutsDir){let N=E0.isAbsolute(q.layoutsDir)?q.layoutsDir:E0.resolve(process.cwd(),q.layoutsDir),k=E0.join(N,`${q.defaultLayout}.stx`);if(await p(k))_=k}if(_&&!V)K=`@section('content')
16326
16325
  ${K.trim()}
16327
- @endsection`}}if(K=K.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(F,V,A)=>{return j[V]=A,""}),K=K.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+?)\s*\)/g,(F,V,A)=>{if(/^(['"]).*\1$/.test(A.trim()))return F;try{let R=$0(A.trim(),$);if(R===void 0)return F;return j[V]=String(R??""),""}catch{return F}}),K=K.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(F,V,A)=>{if(A.includes("@parent"))j[V]=A.replace("@parent",K5);else j[V]=A.trim();return""}),$.__sections=j,K=K.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(F,V,A)=>{return j[V]||A||""}),!("slot"in $)||$.slot===void 0)K=K.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""});if(K=N4(K,B),_){let F=[],V=R1(K),A=$1(V.output,R5,(R,N)=>`\x00STX_ORPHAN_STYLE_${N}\x00`);if(K=A.output.replace(/\x00STX_(SCRIPT|ORPHAN_STYLE)_(\d+)\x00/g,(R,N,T)=>{let k=N==="SCRIPT"?V.scripts[Number(T)]:A.tokens[Number(T)];if(k)F.push(k);return""}),F.length>0){let R=F.join(`
16326
+ @endsection`}}if(K=K.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(F,V,A)=>{return j[V]=A,""}),K=K.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+?)\s*\)/g,(F,V,A)=>{if(/^(['"]).*\1$/.test(A.trim()))return F;try{let R=$0(A.trim(),$);if(R===void 0)return F;return j[V]=String(R??""),""}catch{return F}}),K=K.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(F,V,A)=>{if(A.includes("@parent"))j[V]=A.replace("@parent",K5);else j[V]=A.trim();return""}),$.__sections=j,K=K.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(F,V,A)=>{return j[V]||A||""}),!("slot"in $)||$.slot===void 0)K=K.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""});if(K=T4(K,B),_){let F=[],V=R1(K),A=$1(V.output,R5,(R,T)=>`\x00STX_ORPHAN_STYLE_${T}\x00`);if(K=A.output.replace(/\x00STX_(SCRIPT|ORPHAN_STYLE)_(\d+)\x00/g,(R,T,N)=>{let k=T==="SCRIPT"?V.scripts[Number(N)]:A.tokens[Number(N)];if(k)F.push(k);return""}),F.length>0){let R=F.join(`
16328
16327
  `);j.content=j.content?`${j.content}
16329
- ${R}`:R,$.__sections=j}}if(_)try{let F;if(E0.isAbsolute(_))F=_,J.add(_);else F=await b5(()=>C9(_,Z,Q,J),null,()=>{throw new e1(`Failed to resolve layout path: ${_}`,Z,void 0,void 0,`Layout referenced from ${Z}`)});if(!F){let k=[];try{let y=Q.layoutsDir;if(y){let I=E0.isAbsolute(y)?y:E0.resolve(process.cwd(),y);k=SL.readdirSync(I).filter((C)=>C.endsWith(".stx")).map((C)=>C.replace(/\.stx$/,"")).sort()}}catch{}let M=`Layout not found: ${_} (referenced from ${Z})`+(k.length>0?`. Available layouts: ${k.join(", ")}`:Q.layoutsDir?`. No .stx layouts found in ${Q.layoutsDir}`:"");if(s0.log(Error(M),{layoutPath:_,filePath:Z,available:k},"error"),console.error(`[stx] ${M}`),Q.debug)throw new e1(M,Z);return K}let V=await b5(()=>Bun.file(F).text(),"",()=>{throw new e1(`Failed to read layout file: ${F}`,Z,void 0,void 0,"Layout content could not be loaded")}),A=V.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(A){if(Q.debug)console.log(`Found nested layout: ${A[1]} in ${F}`);let k={},M=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(C,S,b)=>{return k[S]=b.trim(),""});for(let[C,S]of Object.entries(k))if(j[C]&&j[C].includes(K5)){let b=j[C].indexOf(K5);j[C]=j[C].slice(0,b)+S+j[C].slice(b+K5.length)}else if(!j[C])j[C]=S;let y={...$,__sections:j},I=`@layout('${A[1]}')${M}`;return await R0(I,y,F,Q,J)}let R=V.replace(/\{\{--[\s\S]*?--\}\}/g,""),N=R4(R,B),T={};return N=N.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(k,M,y)=>{return T[M]=y.trim(),`@slot('${M}')`}),N=N.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(k,M,y)=>{if(j[M]){let I=j[M];if(I.includes(K5)){let C=T[M]||"",S=I.indexOf(K5);I=I.slice(0,S)+C+I.slice(S+K5.length)}return I}return y||""}),N=xL(N,j),N=N.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""}),N=N4(N,B),$.__originalFilePath=Z,K=await MK(N,$,F,Q,J),K=`<!-- stx-layout: ${_} -->
16330
- ${K}`,w(K)}catch(F){return s0.log(F instanceof Error?F:Error(String(F)),{layoutPath:_,filePath:Z},"error"),`[Error processing layout: ${F instanceof Error?F.message:String(F)}]`}return w(await MK(K,$,Z,Q,J))}function xL(X,$){return X.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(Z,Y,J)=>{let G=$[Y];if(G!==void 0){if(!new RegExp(`@(?:yield|slot)\\(\\s*['"]${Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}['"]`).test(G))return G}return J||""})}function fL(X,$){if(X.__stx_sfc_mode=!0,X.__stx_options=$,$.buildMode)X.__stx_buildMode=$.buildMode;let Z=$.envPrefix||"STX_PUBLIC_",Y={};for(let[J,G]of Object.entries(process.env))if(J.startsWith(Z)&&G!==void 0)Y[J]=G;X.$env=Y}async function gL(X,$){await b5(()=>EQ(X,$),void 0,(Z)=>{s0.log(Z,{filePath:X,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed for ${X}: ${Z.message}`)})}async function hL(X,$,Z){let Y=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,J;while((J=Y.exec(X))!==null){let G=J[1],Q=J[2];if(!/\bserver\b/.test(G)||!Q.trim())continue;try{let{extractVariables:K}=await t("stx/variable-extractor",()=>Promise.resolve().then(() => (k7(),IX)));await K(Q,$,Z,{preserveExisting:!0})}catch(K){let U=K instanceof Error?K:Error(String(K));s0.log(U,{filePath:Z,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${Z}: ${U.message}`)}}}async function uL(X,$,Z){try{let{interpolateScriptsInTemplate:Y}=await t("stx/expressions",()=>Promise.resolve().then(() => (Z1(),n6)));return Y(X,$,{skipServer:!0})}catch(Y){let J=Y instanceof Error?Y:Error(String(Y));return s0.log(J,{filePath:Z,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${Z}: ${J.message}`),X}}async function MK(X,$,Z,Y,J){let G=X,Q=Y;if(await hL(G,$,Z),G=await uL(G,$,Z),G=await OQ(G,$,Z),G=await LQ(G,$,Z),G=await UG(G,$,Z,Q),W1(G))G=I9(G,$),G=D9(G,$);G=E9(G);let{processStreamDirectives:q}=await t("stx/streaming",()=>Promise.resolve().then(() => (d3(),u3)));G=q(G,$),G=L4(G,$,Z,Q),G=await hQ(G,$,Z,Q,J),G=await p8(G,$,Z,Q,J),G=R2(G,$,Z,Q);let{processDeferDirectives:K}=await t("stx/defer",()=>Promise.resolve().then(() => Hq));G=K(G,$,Z);let{processTeleportDirectives:U}=await t("stx/teleport",()=>Promise.resolve().then(() => Lq));G=U(G,$,Z);let{processTransitionDirectives:W,processTransitionAttributes:w}=await t("stx/transitions",()=>Promise.resolve().then(() => Rq));G=W(G,$,Z),G=w(G);let{processErrorBoundaryDirectives:z}=await t("stx/error-boundaries",()=>Promise.resolve().then(() => Tq));G=z(G,$,Z);let{processSuspenseDirectives:B}=await t("stx/suspense",()=>Promise.resolve().then(() => Mq));G=B(G,$,Z);let{processAsyncDirectives:j}=await t("stx/async-components",()=>Promise.resolve().then(() => Dq));G=j(G,$,Z);let{processKeepAliveDirectives:_}=await t("stx/keep-alive",()=>Promise.resolve().then(() => bq));G=_(G,$,Z);let{processVirtualListDirectives:H,processVirtualGridDirectives:L,processInfiniteListDirectives:O}=await t("stx/virtual-scrolling",()=>Promise.resolve().then(() => (fq(),xq)));G=H(G,$,Z),G=L(G,$,Z),G=O(G,$,Z);let{processPartialHydrationDirectives:F,processStaticDirectives:V}=await t("stx/partial-hydration",()=>Promise.resolve().then(() => (tq(),aq)));G=F(G,$,Z),G=V(G);let{processComputedDirectives:A,processWatchDirectives:R}=await t("stx/computed",()=>Promise.resolve().then(() => (WK(),UK)));G=A(G,$,Z),G=R(G,$,Z);let{processFormValidationDirectives:N}=await t("stx/forms-validation",()=>Promise.resolve().then(() => (OK(),HK)));G=N(G,$,Z);let{processHeadDirective:T,processTitleDirective:k,processMetaDirective:M,resetHead:y}=await t("stx/head",()=>Promise.resolve().then(() => (M7(),Z9)));if(!$.__stx_head_preset&&!$.__stx_runtime_head)y();let I=T(G);if(G=I.content,I.headContent)$.__stx_head_raw=`${$.__stx_head_raw||""}${I.headContent}
16331
- `;if(G=k(G,$),G=M(G,$),G=kQ(G),G=k3(G,$),G=qG(G),G=AQ(G),G=await A4(G,$,Z,Q,J),G=await p8(G,$,Z,Q,J),$.__stxProcessingDepth===1)G=D6(G,$);if(G=G.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),G=C4(G),G=Z5(G,$,Z),G=I3(G,$),G=E3(G,$),G=x8(G,$),G=LG(G,$),G=FG(G,$),G=await oJ(G,$,Z,Q),G=await UY(G,$,Z),G=await TG(G,$,Z,Q),G=_2(G,$,Z,Q),G=_J(G,$,Z,Q),G=HJ(G,$,Z),G=OJ(G,$,Z,Q),G=JG(G,$,Z,Q),G=t8(G,$),G=e8(G),G=Zq(G),!Q.skipEventDirectives)G=K6(G,$,Z);if(G=nJ(G,$,Z),Q.debug){let r=/\bx-data\s*=/.test(G),a=pX(X);if(r&&a)console.warn(`[stx] ${Z}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
16328
+ ${R}`:R,$.__sections=j}}if(_)try{let F;if(E0.isAbsolute(_))F=_,J.add(_);else F=await b5(()=>C9(_,Z,Q,J),null,()=>{throw new e1(`Failed to resolve layout path: ${_}`,Z,void 0,void 0,`Layout referenced from ${Z}`)});if(!F){let k=[];try{let y=Q.layoutsDir;if(y){let I=E0.isAbsolute(y)?y:E0.resolve(process.cwd(),y);k=SL.readdirSync(I).filter((C)=>C.endsWith(".stx")).map((C)=>C.replace(/\.stx$/,"")).sort()}}catch{}let M=`Layout not found: ${_} (referenced from ${Z})`+(k.length>0?`. Available layouts: ${k.join(", ")}`:Q.layoutsDir?`. No .stx layouts found in ${Q.layoutsDir}`:"");if(a0.log(Error(M),{layoutPath:_,filePath:Z,available:k},"error"),console.error(`[stx] ${M}`),Q.debug)throw new e1(M,Z);return K}let V=await b5(()=>Bun.file(F).text(),"",()=>{throw new e1(`Failed to read layout file: ${F}`,Z,void 0,void 0,"Layout content could not be loaded")}),A=V.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(A){if(Q.debug)console.log(`Found nested layout: ${A[1]} in ${F}`);let k={},M=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(C,S,b)=>{return k[S]=b.trim(),""});for(let[C,S]of Object.entries(k))if(j[C]&&j[C].includes(K5)){let b=j[C].indexOf(K5);j[C]=j[C].slice(0,b)+S+j[C].slice(b+K5.length)}else if(!j[C])j[C]=S;let y={...$,__sections:j},I=`@layout('${A[1]}')${M}`;return await R0(I,y,F,Q,J)}let R=V.replace(/\{\{--[\s\S]*?--\}\}/g,""),T=R4(R,B),N={};return T=T.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(k,M,y)=>{return N[M]=y.trim(),`@slot('${M}')`}),T=T.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(k,M,y)=>{if(j[M]){let I=j[M];if(I.includes(K5)){let C=N[M]||"",S=I.indexOf(K5);I=I.slice(0,S)+C+I.slice(S+K5.length)}return I}return y||""}),T=xL(T,j),T=T.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""}),T=T4(T,B),$.__originalFilePath=Z,K=await MK(T,$,F,Q,J),K=`<!-- stx-layout: ${_} -->
16329
+ ${K}`,w(K)}catch(F){return a0.log(F instanceof Error?F:Error(String(F)),{layoutPath:_,filePath:Z},"error"),`[Error processing layout: ${F instanceof Error?F.message:String(F)}]`}return w(await MK(K,$,Z,Q,J))}function xL(X,$){return X.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(Z,Y,J)=>{let G=$[Y];if(G!==void 0){if(!new RegExp(`@(?:yield|slot)\\(\\s*['"]${Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}['"]`).test(G))return G}return J||""})}function fL(X,$){if(X.__stx_sfc_mode=!0,X.__stx_options=$,$.buildMode)X.__stx_buildMode=$.buildMode;let Z=$.envPrefix||"STX_PUBLIC_",Y={};for(let[J,G]of Object.entries(process.env))if(J.startsWith(Z)&&G!==void 0)Y[J]=G;X.$env=Y}async function gL(X,$){await b5(()=>EQ(X,$),void 0,(Z)=>{a0.log(Z,{filePath:X,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed for ${X}: ${Z.message}`)})}async function hL(X,$,Z){let Y=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,J;while((J=Y.exec(X))!==null){let G=J[1],Q=J[2];if(!/\bserver\b/.test(G)||!Q.trim())continue;try{let{extractVariables:K}=await t("stx/variable-extractor",()=>Promise.resolve().then(() => (k7(),IX)));await K(Q,$,Z,{preserveExisting:!0})}catch(K){let U=K instanceof Error?K:Error(String(K));a0.log(U,{filePath:Z,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${Z}: ${U.message}`)}}}async function uL(X,$,Z){try{let{interpolateScriptsInTemplate:Y}=await t("stx/expressions",()=>Promise.resolve().then(() => (Z1(),n6)));return Y(X,$,{skipServer:!0})}catch(Y){let J=Y instanceof Error?Y:Error(String(Y));return a0.log(J,{filePath:Z,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${Z}: ${J.message}`),X}}async function MK(X,$,Z,Y,J){let G=X,Q=Y;if(await hL(G,$,Z),G=await uL(G,$,Z),G=await OQ(G,$,Z),G=await LQ(G,$,Z),G=await UG(G,$,Z,Q),W1(G))G=I9(G,$),G=D9(G,$);G=E9(G);let{processStreamDirectives:q}=await t("stx/streaming",()=>Promise.resolve().then(() => (d3(),u3)));G=q(G,$),G=L4(G,$,Z,Q),G=await hQ(G,$,Z,Q,J),G=await p8(G,$,Z,Q,J),G=R2(G,$,Z,Q);let{processDeferDirectives:K}=await t("stx/defer",()=>Promise.resolve().then(() => Hq));G=K(G,$,Z);let{processTeleportDirectives:U}=await t("stx/teleport",()=>Promise.resolve().then(() => Lq));G=U(G,$,Z);let{processTransitionDirectives:W,processTransitionAttributes:w}=await t("stx/transitions",()=>Promise.resolve().then(() => Rq));G=W(G,$,Z),G=w(G);let{processErrorBoundaryDirectives:z}=await t("stx/error-boundaries",()=>Promise.resolve().then(() => Nq));G=z(G,$,Z);let{processSuspenseDirectives:B}=await t("stx/suspense",()=>Promise.resolve().then(() => Mq));G=B(G,$,Z);let{processAsyncDirectives:j}=await t("stx/async-components",()=>Promise.resolve().then(() => Dq));G=j(G,$,Z);let{processKeepAliveDirectives:_}=await t("stx/keep-alive",()=>Promise.resolve().then(() => bq));G=_(G,$,Z);let{processVirtualListDirectives:H,processVirtualGridDirectives:L,processInfiniteListDirectives:O}=await t("stx/virtual-scrolling",()=>Promise.resolve().then(() => (fq(),xq)));G=H(G,$,Z),G=L(G,$,Z),G=O(G,$,Z);let{processPartialHydrationDirectives:F,processStaticDirectives:V}=await t("stx/partial-hydration",()=>Promise.resolve().then(() => (tq(),aq)));G=F(G,$,Z),G=V(G);let{processComputedDirectives:A,processWatchDirectives:R}=await t("stx/computed",()=>Promise.resolve().then(() => (WK(),UK)));G=A(G,$,Z),G=R(G,$,Z);let{processFormValidationDirectives:T}=await t("stx/forms-validation",()=>Promise.resolve().then(() => (OK(),HK)));G=T(G,$,Z);let{processHeadDirective:N,processTitleDirective:k,processMetaDirective:M,resetHead:y}=await t("stx/head",()=>Promise.resolve().then(() => (M7(),Z9)));if(!$.__stx_head_preset&&!$.__stx_runtime_head)y();let I=N(G);if(G=I.content,I.headContent)$.__stx_head_raw=`${$.__stx_head_raw||""}${I.headContent}
16330
+ `;if(G=k(G,$),G=M(G,$),G=kQ(G),G=k3(G,$),G=qG(G),G=AQ(G),G=await A4(G,$,Z,Q,J),G=await p8(G,$,Z,Q,J),$.__stxProcessingDepth===1)G=D6(G,$);if(G=G.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),G=C4(G),G=Z5(G,$,Z),G=I3(G,$),G=E3(G,$),G=x8(G,$),G=LG(G,$),G=FG(G,$),G=await oJ(G,$,Z,Q),G=await UY(G,$,Z),G=await NG(G,$,Z,Q),G=_2(G,$,Z,Q),G=_J(G,$,Z,Q),G=HJ(G,$,Z),G=OJ(G,$,Z,Q),G=JG(G,$,Z,Q),G=t8(G,$),G=e8(G),G=Zq(G),!Q.skipEventDirectives)G=K6(G,$,Z);if(G=nJ(G,$,Z),Q.debug){let r=/\bx-data\s*=/.test(G),a=pX(X);if(r&&a)console.warn(`[stx] ${Z}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
16332
16331
  Both work on the same page, but they manage separate scopes.
16333
- Prefer signals (state/derived/effect) for new components.`)}G=bQ(G,$),G=await N1(G,$,Z),G=Yq(G),G=Jq(G),G=gJ(G);let{processXElementDirectives:C}=await t("stx/x-element",()=>Promise.resolve().then(() => VK));G=C(G);let S=$.__originalFilePath||Z,b=O7($);if(G=await y9(G,Q,S,b),G=BG(G,$),G=await TQ(G,$,Z,Q),Q.media?.image?.autoSiblings){let r=Q.publicDir||"public",{rewriteImagesWithSiblings:a}=await t("stx/image-optimization/auto-sibling",()=>Promise.resolve().then(() => (RK(),AK)));G=await a(G,{publicDir:r})}if(Q.seo?.enabled)G=LJ(G,$,Q);let P=(r,a,K0=!0)=>{if(!a)return r;let N0=a.match(/<title\b[^>]*>[\s\S]*?<\/title>/i),J0=r.match(/<title\b[^>]*>[\s\S]*?<\/title>/i);if(N0&&J0){if(K0)r=r.replace(J0[0],N0[0]);if(a=a.replace(N0[0],"").trim(),!a)return r}if(/<\/head>/i.test(r))return r.replace(/<\/head>/i,`${a}
16332
+ Prefer signals (state/derived/effect) for new components.`)}G=bQ(G,$),G=await T1(G,$,Z),G=Yq(G),G=Jq(G),G=gJ(G);let{processXElementDirectives:C}=await t("stx/x-element",()=>Promise.resolve().then(() => VK));G=C(G);let S=$.__originalFilePath||Z,b=O7($);if(G=await y9(G,Q,S,b),G=BG(G,$),G=await NQ(G,$,Z,Q),Q.media?.image?.autoSiblings){let r=Q.publicDir||"public",{rewriteImagesWithSiblings:a}=await t("stx/image-optimization/auto-sibling",()=>Promise.resolve().then(() => (RK(),AK)));G=await a(G,{publicDir:r})}if(Q.seo?.enabled)G=LJ(G,$,Q);let P=(r,a,K0=!0)=>{if(!a)return r;let T0=a.match(/<title\b[^>]*>[\s\S]*?<\/title>/i),J0=r.match(/<title\b[^>]*>[\s\S]*?<\/title>/i);if(T0&&J0){if(K0)r=r.replace(J0[0],T0[0]);if(a=a.replace(T0[0],"").trim(),!a)return r}if(/<\/head>/i.test(r))return r.replace(/<\/head>/i,`${a}
16334
16333
  </head>`);if(/<head\b[^>]*>/i.test(r))return r.replace(/(<head\b[^>]*>)/i,`$1
16335
16334
  ${a}`);if(/<html\b[^>]*>/i.test(r))return r.replace(/(<html\b[^>]*>)/i,`$1
16336
16335
  <head>
16337
16336
  ${a}
16338
- </head>`);return r},{renderHead:x,getHead:d}=await t("stx/head",()=>Promise.resolve().then(() => (M7(),Z9))),Y0=$.__stx_runtime_head??d();if(Y0.title||Y0.meta?.length||Y0.link?.length){let r=x(Y0);if(r)G=P(G,r)}if(I.headContent)G=P(G,I.headContent,!Y0.title);if(Q.csp?.enabled&&Q.csp.addMetaTag)G=ZG(G,Q.csp,$);if(Q.analytics?.enabled)G=uJ(G,Q);if(Q.heatmap?.enabled)G=n2(G,Q);if(Q.pwa?.enabled&&Q.pwa.autoInject!==!1){let{injectPwaTags:r}=await t("stx/pwa/inject",()=>Promise.resolve().then(() => (YX(),K2)));G=r(G,Q)}let d0=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(G),F0=/\bSTX\.\w+/.test(G),p0=/window\.STX\s*=/.test(G);if(d0&&F0&&!p0){let a=`<script data-stx-scoped data-stx-run="once">
16337
+ </head>`);return r},{renderHead:x,getHead:d}=await t("stx/head",()=>Promise.resolve().then(() => (M7(),Z9))),Y0=$.__stx_runtime_head??d();if(Y0.title||Y0.meta?.length||Y0.link?.length){let r=x(Y0);if(r)G=P(G,r)}if(I.headContent)G=P(G,I.headContent,!Y0.title);if(Q.csp?.enabled&&Q.csp.addMetaTag)G=ZG(G,Q.csp,$);if(Q.analytics?.enabled)G=uJ(G,Q);if(Q.heatmap?.enabled)G=n2(G,Q);if(Q.pwa?.enabled&&Q.pwa.autoInject!==!1){let{injectPwaTags:r}=await t("stx/pwa/inject",()=>Promise.resolve().then(() => (YX(),K2)));G=r(G,Q)}let d0=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(G),F0=/\bSTX\.\w+/.test(G),i0=/window\.STX\s*=/.test(G);if(d0&&F0&&!i0){let a=`<script data-stx-scoped data-stx-run="once">
16339
16338
  ${PJ()}
16340
16339
  </script>`;if(G.includes("</head>")){let K0=G.indexOf("</head>"),J0=G.slice(0,K0).indexOf("<script");if(J0!==-1){let D=G.slice(0,J0),v=G.slice(J0);G=D+a+`
16341
16340
  `+v}else G=G.replace("</head>",`${a}
16342
16341
  </head>`)}else if(G.includes("<body"))G=G.replace(/<body([^>]*)>/,`<body$1>
16343
16342
  ${a}`);else G=a+`
16344
- `+G}{let{scanScriptTags:r}=await t("stx/signal-processing",()=>Promise.resolve().then(() => (y7(),iX))),a=[];for(let K0 of r(G)){if(!/\bserver\b/i.test(K0.attrs))continue;let N0=K0.start+K0.fullMatch.indexOf(">")+1,J0=CL(G,N0);if(J0===-1)continue;let D=J0+9;while(D<G.length&&/\s/.test(G[D]))D++;a.push({start:K0.start,end:D})}for(let K0=a.length-1;K0>=0;K0--){let{start:N0,end:J0}=a[K0];G=G.substring(0,N0)+G.substring(J0)}}let l=NX(G,Z);if(l.hasScoped)G=l.html;let j0=$.__stx_event_bindings||[],m0=!1,_1=[],W5=/\s:[a-z][\w.-]*\s*=/.test(G),{scanScriptTags:w5}=await t("stx/signal-processing",()=>Promise.resolve().then(() => (y7(),iX)));for(let r of w5(G,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))_1.push({match:r.fullMatch,attrs:r.attrs,content:r.body});for(let{match:r,attrs:a,content:K0}of _1){m0=!0;let N0=K0;X$(K0,Z,Y.strict,$.__originalFilePath);let J0=await L7(K0,{eventBindings:j0,attrs:a,hasColonDirectives:W5,templateContent:X,filePath:Z,projectRoot:process.cwd(),production:Y.buildMode==="compile",serverData:b});G=G.replace(r,()=>J0)}if(m0)$.__stx_event_bindings=[];if(!m0&&$.__stxProcessingDepth===1){let r=$.__stx_event_bindings||[];if(r.length>0){let a=g$(r);if(a){let K0=G.lastIndexOf("</body>");G=K0===-1?G+a:G.slice(0,K0)+a+`
16343
+ `+G}{let{scanScriptTags:r}=await t("stx/signal-processing",()=>Promise.resolve().then(() => (y7(),iX))),a=[];for(let K0 of r(G)){if(!/\bserver\b/i.test(K0.attrs))continue;let T0=K0.start+K0.fullMatch.indexOf(">")+1,J0=CL(G,T0);if(J0===-1)continue;let D=J0+9;while(D<G.length&&/\s/.test(G[D]))D++;a.push({start:K0.start,end:D})}for(let K0=a.length-1;K0>=0;K0--){let{start:T0,end:J0}=a[K0];G=G.substring(0,T0)+G.substring(J0)}}let l=TX(G,Z);if(l.hasScoped)G=l.html;let j0=$.__stx_event_bindings||[],m0=!1,_1=[],W5=/\s:[a-z][\w.-]*\s*=/.test(G),{scanScriptTags:w5}=await t("stx/signal-processing",()=>Promise.resolve().then(() => (y7(),iX)));for(let r of w5(G,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))_1.push({match:r.fullMatch,attrs:r.attrs,content:r.body});for(let{match:r,attrs:a,content:K0}of _1){m0=!0;let T0=K0;X$(K0,Z,Y.strict,$.__originalFilePath);let J0=await L7(K0,{eventBindings:j0,attrs:a,hasColonDirectives:W5,templateContent:X,filePath:Z,projectRoot:process.cwd(),production:Y.buildMode==="compile",serverData:b});G=G.replace(r,()=>J0)}if(m0)$.__stx_event_bindings=[];if(!m0&&$.__stxProcessingDepth===1){let r=$.__stx_event_bindings||[];if(r.length>0){let a=g$(r);if(a){let K0=G.lastIndexOf("</body>");G=K0===-1?G+a:G.slice(0,K0)+a+`
16345
16344
  `+G.slice(K0)}$.__stx_event_bindings=[]}}if(!nZ(G)&&rZ(G))G=await dX(G,Q);if(Q.csp?.enabled&&Q.csp.useNonce&&typeof $.cspNonce==="string")G=YG(G,$.cspNonce);return G}var K5="<!--PARENT_CONTENT_PLACEHOLDER-->";var sX=E(()=>{CJ();W9();l1();B$();vJ();hJ();dJ();P$();_$();h$();F7();rJ();sJ();C8();GG();KG();wG();_G();w1();M7();Z1();VG();MG();HQ();VQ();F4();P9();MQ();M5();IQ();F3();A0();DQ();SQ();vQ();uQ();t$();E4();aQ();y7();H4();$q();P4();v4();O0();l3();i$();z7();mX();mX();P4();v4()});import pL from"fs";import l4 from"path";import xK from"fs";import q1 from"path";var n4=[72,96,128,144,152,192,384,512],r4=[120,152,167,180],o4=[16,32];async function s4(X,$){let Z={success:!0,generatedFiles:[],errors:[],warnings:[]},Y=X.pwa?.icons;if(!Y?.src)return Z.errors.push("No source icon specified in pwa.icons.src"),Z.success=!1,Z;let J=q1.isAbsolute(Y.src)?Y.src:q1.resolve(process.cwd(),Y.src);if(!await Bun.file(J).exists())return Z.errors.push(`Source icon not found: ${J}`),Z.success=!1,Z;let G=q1.resolve($,Y.outputDir||"pwa-icons");try{xK.mkdirSync(G,{recursive:!0})}catch{return Z.errors.push(`Failed to create output directory: ${G}`),Z.success=!1,Z}let Q=Y.sizes||n4,q=Y.generateWebP??!0,K=Y.generateAppleIcons??!0;try{let U;try{U=await import("sharp")}catch{return Z.errors.push(`sharp is not installed. Install it with: bun add sharp
16346
16345
  Icon generation requires the sharp package for image processing.`),Z.success=!1,Z}let w=await U.default(J).metadata();if(w.width&&w.width<512)Z.warnings.push(`Source icon is ${w.width}x${w.height}. Recommend using at least 512x512 for best quality.`);for(let H of Q){let L=q1.join(G,`icon-${H}x${H}.png`);if(await U.default(J).resize(H,H,{fit:"contain",background:{r:0,g:0,b:0,alpha:0}}).png().toFile(L),Z.generatedFiles.push(L),q){let O=q1.join(G,`icon-${H}x${H}.webp`);await U.default(J).resize(H,H,{fit:"contain",background:{r:0,g:0,b:0,alpha:0}}).webp({quality:90}).toFile(O),Z.generatedFiles.push(O)}}if(K){for(let L of r4){let O=q1.join(G,`apple-touch-icon-${L}x${L}.png`);await U.default(J).resize(L,L,{fit:"contain",background:{r:255,g:255,b:255,alpha:1}}).png().toFile(O),Z.generatedFiles.push(O)}let H=q1.join(G,"apple-touch-icon.png");await U.default(J).resize(180,180,{fit:"contain",background:{r:255,g:255,b:255,alpha:1}}).png().toFile(H),Z.generatedFiles.push(H)}for(let H of o4){let L=q1.join(G,`favicon-${H}x${H}.png`);await U.default(J).resize(H,H,{fit:"contain",background:{r:0,g:0,b:0,alpha:0}}).png().toFile(L),Z.generatedFiles.push(L)}let z=512,B=q1.join(G,`icon-maskable-${z}x${z}.png`),j=Math.floor(z*0.1),_=z-j*2;await U.default(J).resize(_,_,{fit:"contain",background:{r:0,g:0,b:0,alpha:0}}).extend({top:j,bottom:j,left:j,right:j,background:{r:255,g:255,b:255,alpha:1}}).png().toFile(B),Z.generatedFiles.push(B)}catch(U){let W=U instanceof Error?U.message:String(U);Z.errors.push(`Icon generation failed: ${W}`),Z.success=!1}return Z}function oL(X){let $=X.sizes||n4,Z=X.outputDir?`/${X.outputDir}`:"/pwa-icons",Y=X.generateWebP??!0,J=X.generateAppleIcons??!0,G=[];for(let Q of $)if(G.push(`${Z}/icon-${Q}x${Q}.png`),Y)G.push(`${Z}/icon-${Q}x${Q}.webp`);if(J){G.push(`${Z}/apple-touch-icon.png`);for(let Q of r4)G.push(`${Z}/apple-touch-icon-${Q}x${Q}.png`)}for(let Q of o4)G.push(`${Z}/favicon-${Q}x${Q}.png`);return G.push(`${Z}/icon-maskable-512x512.png`),G}async function a4(){try{return await import("sharp"),!0}catch{return!1}}YX();function YU(X,$,Z,Y){let J=[],G=Y.join(" ");for(let Q of X)if(J.push({src:`${$}/icon-${Q}x${Q}.png`,sizes:`${Q}x${Q}`,type:"image/png",purpose:G}),Z)J.push({src:`${$}/icon-${Q}x${Q}.webp`,sizes:`${Q}x${Q}`,type:"image/webp",purpose:G});return J}function JU(X){return X.map(($)=>({name:$.name,short_name:$.shortName,description:$.description,url:$.url,icons:$.icons?.map((Z)=>({src:Z.src,sizes:Z.sizes,type:Z.type}))}))}function GU(X){let $=X.pwa?.shareTarget;if(!$?.enabled)return;let Z={action:$.action||"/share",method:$.method||"POST",enctype:$.enctype||"multipart/form-data",params:{title:$.params?.title||"title",text:$.params?.text||"text",url:$.params?.url||"url"}};if($.acceptFiles&&$.acceptFiles.length>0)Z.params.files=$.acceptFiles.map((Y)=>({name:Y.name,accept:Y.accept}));return Z}function QU(X){let $=X.pwa?.fileHandlers;if(!$?.enabled||!$.accept)return;let Z=[{action:$.action||"/",accept:$.accept,launch_type:$.launchType||"single-client"}];if($.icons)Z[0].icons=$.icons.map((Y)=>({src:Y.src,sizes:Y.sizes,type:Y.type}));return Z}function qU(X){let $=X.pwa?.protocolHandlers;if(!$||$.length===0)return;return $.map((Z)=>({protocol:Z.protocol,url:Z.url}))}function KU(X){let $=X.pwa;if(!$?.enabled||!$.manifest)return null;let{manifest:Z,icons:Y}=$,J=Y?.sizes||[72,96,128,144,152,192,384,512],G=Y?.outputDir?`/${Y.outputDir}`:"/pwa-icons",Q=Y?.generateWebP??!0,q=Y?.purpose||["any","maskable"],K={name:Z.name,short_name:Z.shortName||Z.name,description:Z.description,start_url:Z.startUrl||"/",display:Z.display||"standalone",display_override:Z.displayOverride,orientation:Z.orientation,theme_color:Z.themeColor,background_color:Z.backgroundColor,scope:Z.scope||"/",lang:Z.lang,dir:Z.dir,id:Z.id,categories:Z.categories,icons:YU(J,G,Q,q)};if(Z.shortcuts&&Z.shortcuts.length>0)K.shortcuts=JU(Z.shortcuts);if(Z.screenshots&&Z.screenshots.length>0)K.screenshots=Z.screenshots.map((z)=>({src:z.src,sizes:z.sizes,type:z.type,label:z.label,form_factor:z.platform}));let U=GU(X);if(U)K.share_target=U;let W=QU(X);if(W)K.file_handlers=W;let w=qU(X);if(w)K.protocol_handlers=w;if(Z.launchHandler)K.launch_handler={client_mode:Z.launchHandler};if(Z.handleLinks)K.handle_links=Z.handleLinks;if(Z.edgeSidePanel?.enabled)K.edge_side_panel={preferred_width:Z.edgeSidePanel.preferredWidth};return K}function U2(X){let $=KU(X);if(!$)return"";let Z=JSON.parse(JSON.stringify($));return JSON.stringify(Z,null,2)}function GF(X,$){return{...$,...X,shortcuts:X.shortcuts||$.shortcuts,screenshots:X.screenshots||$.screenshots,categories:X.categories||$.categories}}function QF(X){let $=[],Z=X.pwa;if(!Z?.enabled)return $;let Y=Z.manifest;if(!Y)return $.push("PWA manifest configuration is missing"),$;if(!Y.name)$.push("Manifest name is required");let J=["fullscreen","standalone","minimal-ui","browser"];if(Y.display&&!J.includes(Y.display))$.push(`Invalid display mode: ${Y.display}. Must be one of: ${J.join(", ")}`);let G=["any","natural","landscape","landscape-primary","landscape-secondary","portrait","portrait-primary","portrait-secondary"];if(Y.orientation&&!G.includes(Y.orientation))$.push(`Invalid orientation: ${Y.orientation}`);let Q=/^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/;if(Y.themeColor&&!Q.test(Y.themeColor))$.push(`Invalid theme color: ${Y.themeColor}. Must be a valid hex color.`);if(Y.backgroundColor&&!Q.test(Y.backgroundColor))$.push(`Invalid background color: ${Y.backgroundColor}. Must be a valid hex color.`);if(Z.shareTarget?.enabled){if(!Z.shareTarget.action)$.push("Share target action URL is required")}if(Z.fileHandlers?.enabled){if(!Z.fileHandlers.accept||Object.keys(Z.fileHandlers.accept).length===0)$.push("File handlers must specify accepted MIME types")}if(Z.protocolHandlers)for(let q of Z.protocolHandlers){if(!q.protocol)$.push("Protocol handler missing protocol");if(!q.url||!q.url.includes("%s"))$.push(`Protocol handler URL must contain %s placeholder: ${q.protocol}`)}return $}import IK from"path";async function EK(X){let $=X.pwa?.offline;if(!$?.enabled)return"";if($.page){let Z=IK.isAbsolute($.page)?$.page:IK.resolve(process.cwd(),$.page);if(await Bun.file(Z).exists())try{let{processDirectives:Y}=await Promise.resolve().then(() => (sX(),kK)),J=await Bun.file(Z).text();return await Y(J,{},Z,X,new Set)}catch(Y){console.warn(`[PWA] Failed to process custom offline page: ${Y}`)}else console.warn(`[PWA] Custom offline page not found: ${Z}`)}return dL(X)}function dL(X){let $=X.pwa?.offline,Z=X.pwa?.manifest,Y=$?.fallbackTitle||"You are offline",J=$?.fallbackMessage||"Please check your internet connection and try again.",G=Z?.themeColor||"#4f46e5",Q=Z?.shortName||Z?.name||"App";return`<!DOCTYPE html>
16347
16346
  <html lang="en">
@@ -16576,9 +16575,9 @@ Icon generation requires the sharp package for image processing.`),Z.success=!1,
16576
16575
  }, 5000);
16577
16576
  </script>
16578
16577
  </body>
16579
- </html>`}function Q$(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}o5();s5();import U5 from"fs";import q$ from"path";function mL(X){let $=[],Z=X.pwa;if($.push({id:"pwa-enabled",name:"PWA Enabled",category:"required",passed:Z?.enabled===!0,message:Z?.enabled?"PWA is enabled":"PWA is not enabled in config"}),!Z?.enabled)return $;$.push({id:"manifest-name",name:"App Name",category:"required",passed:Boolean(Z.manifest?.name),message:Z.manifest?.name?`App name: "${Z.manifest.name}"`:"Missing required manifest name"}),$.push({id:"manifest-short-name",name:"Short Name",category:"recommended",passed:Boolean(Z.manifest?.shortName),message:Z.manifest?.shortName?`Short name: "${Z.manifest.shortName}"`:"Short name not set (will use full name)"}),$.push({id:"manifest-description",name:"App Description",category:"recommended",passed:Boolean(Z.manifest?.description),message:Z.manifest?.description?"Description is set":"App description not provided"}),$.push({id:"manifest-theme-color",name:"Theme Color",category:"required",passed:Boolean(Z.manifest?.themeColor),message:Z.manifest?.themeColor?`Theme color: ${Z.manifest.themeColor}`:"Theme color not set"}),$.push({id:"manifest-background-color",name:"Background Color",category:"required",passed:Boolean(Z.manifest?.backgroundColor),message:Z.manifest?.backgroundColor?`Background color: ${Z.manifest.backgroundColor}`:"Background color not set"}),$.push({id:"manifest-display",name:"Display Mode",category:"required",passed:["standalone","fullscreen","minimal-ui"].includes(Z.manifest?.display||""),message:Z.manifest?.display?`Display mode: ${Z.manifest.display}`:"Display mode should be standalone, fullscreen, or minimal-ui"}),$.push({id:"manifest-start-url",name:"Start URL",category:"required",passed:Boolean(Z.manifest?.startUrl),message:Z.manifest?.startUrl?`Start URL: ${Z.manifest.startUrl}`:"Start URL not set"}),$.push({id:"icons-source",name:"Icon Source",category:"required",passed:Boolean(Z.icons?.src),message:Z.icons?.src?`Icon source: ${Z.icons.src}`:"No icon source configured"});let Y=Z.icons?.sizes||[];$.push({id:"icons-192",name:"192x192 Icon",category:"required",passed:Y.includes(192),message:Y.includes(192)?"192x192 icon will be generated":"Missing 192x192 icon (required for Android)"}),$.push({id:"icons-512",name:"512x512 Icon",category:"required",passed:Y.includes(512),message:Y.includes(512)?"512x512 icon will be generated":"Missing 512x512 icon (required for splash screen)"}),$.push({id:"icons-maskable",name:"Maskable Icon",category:"recommended",passed:Z.icons?.purpose?.includes("maskable")||!1,message:Z.icons?.purpose?.includes("maskable")?"Maskable icon purpose is set":"Consider adding maskable icon purpose for adaptive icons"}),$.push({id:"sw-configured",name:"Service Worker",category:"required",passed:Boolean(Z.serviceWorker),message:Z.serviceWorker?"Service worker is configured":"Service worker configuration missing"}),$.push({id:"sw-cache-version",name:"Cache Version",category:"recommended",passed:Boolean(Z.serviceWorker?.cacheVersion),message:Z.serviceWorker?.cacheVersion?`Cache version: ${Z.serviceWorker.cacheVersion}`:"Set cache version for proper cache busting"}),$.push({id:"offline-enabled",name:"Offline Support",category:"required",passed:Z.offline?.enabled===!0,message:Z.offline?.enabled?"Offline support is enabled":"Offline support is disabled"});let J=Z.routes||[];return $.push({id:"caching-strategies",name:"Caching Strategies",category:"recommended",passed:J.length>0,message:J.length>0?`${J.length} route caching strategies configured`:"No custom caching strategies defined"}),$.push({id:"push-config",name:"Push Notifications",category:"optional",passed:!Z.push?.enabled||Boolean(Z.push?.vapidPublicKey),message:Z.push?.enabled?Z.push?.vapidPublicKey?"Push notifications configured with VAPID key":"Push enabled but missing VAPID key":"Push notifications not enabled"}),$.push({id:"share-target",name:"Share Target",category:"optional",passed:!0,message:Z.shareTarget?.enabled?`Share target enabled at ${Z.shareTarget.action}`:"Share target not enabled"}),$.push({id:"auto-inject",name:"Auto-injection",category:"recommended",passed:Z.autoInject!==!1,message:Z.autoInject!==!1?"PWA tags will be auto-injected":"Auto-injection disabled - manual tag insertion required"}),$}function lL(X){let $=[],Z=q$.join(X,"manifest.json"),Y=U5.existsSync(Z);if($.push({id:"build-manifest",name:"Manifest File",category:"required",passed:Y,message:Y?"manifest.json exists":"manifest.json not found in build output"}),Y)try{let W=JSON.parse(U5.readFileSync(Z,"utf-8"));$.push({id:"build-manifest-valid",name:"Valid Manifest JSON",category:"required",passed:!0,message:"Manifest is valid JSON"}),$.push({id:"build-manifest-icons",name:"Manifest Icons",category:"required",passed:Array.isArray(W.icons)&&W.icons.length>0,message:W.icons?.length?`${W.icons.length} icons defined in manifest`:"No icons defined in manifest"})}catch{$.push({id:"build-manifest-valid",name:"Valid Manifest JSON",category:"required",passed:!1,message:"Manifest is not valid JSON"})}let J=q$.join(X,"sw.js"),G=U5.existsSync(J);$.push({id:"build-sw",name:"Service Worker File",category:"required",passed:G,message:G?"Service worker (sw.js) exists":"Service worker not found in build output"});let Q=q$.join(X,"offline.html"),q=U5.existsSync(Q);$.push({id:"build-offline",name:"Offline Page",category:"recommended",passed:q,message:q?"Offline page exists":"No offline.html found"});let K=q$.join(X,"pwa-icons");if(U5.existsSync(K)){let W=U5.readdirSync(K).filter((w)=>w.endsWith(".png")||w.endsWith(".webp"));$.push({id:"build-icons",name:"Generated Icons",category:"required",passed:W.length>0,message:W.length>0?`${W.length} icon files generated`:"No icon files found"})}else $.push({id:"build-icons",name:"Generated Icons",category:"required",passed:!1,message:"Icons directory not found"});return $}function cL(X){let $=X.filter((K)=>K.category==="required"),Z=X.filter((K)=>K.category==="recommended"),Y=$.filter((K)=>K.passed).length,J=Z.filter((K)=>K.passed).length,G=$.length>0?Y/$.length*70:70,Q=Z.length>0?J/Z.length*30:30;return{score:Math.round(G+Q),passed:X.filter((K)=>K.passed).length,failed:X.filter((K)=>!K.passed&&K.category==="required").length,warnings:X.filter((K)=>!K.passed&&K.category!=="required").length,checks:X}}function LD(X,$){let Z=mL(X),Y=$&&U5.existsSync($)?lL($):[];return cL([...Z,...Y])}function FD(X){let $=[];$.push(`
16578
+ </html>`}function Q$(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}o5();s5();import U5 from"fs";import q$ from"path";function mL(X){let $=[],Z=X.pwa;if($.push({id:"pwa-enabled",name:"PWA Enabled",category:"required",passed:Z?.enabled===!0,message:Z?.enabled?"PWA is enabled":"PWA is not enabled in config"}),!Z?.enabled)return $;$.push({id:"manifest-name",name:"App Name",category:"required",passed:Boolean(Z.manifest?.name),message:Z.manifest?.name?`App name: "${Z.manifest.name}"`:"Missing required manifest name"}),$.push({id:"manifest-short-name",name:"Short Name",category:"recommended",passed:Boolean(Z.manifest?.shortName),message:Z.manifest?.shortName?`Short name: "${Z.manifest.shortName}"`:"Short name not set (will use full name)"}),$.push({id:"manifest-description",name:"App Description",category:"recommended",passed:Boolean(Z.manifest?.description),message:Z.manifest?.description?"Description is set":"App description not provided"}),$.push({id:"manifest-theme-color",name:"Theme Color",category:"required",passed:Boolean(Z.manifest?.themeColor),message:Z.manifest?.themeColor?`Theme color: ${Z.manifest.themeColor}`:"Theme color not set"}),$.push({id:"manifest-background-color",name:"Background Color",category:"required",passed:Boolean(Z.manifest?.backgroundColor),message:Z.manifest?.backgroundColor?`Background color: ${Z.manifest.backgroundColor}`:"Background color not set"}),$.push({id:"manifest-display",name:"Display Mode",category:"required",passed:["standalone","fullscreen","minimal-ui"].includes(Z.manifest?.display||""),message:Z.manifest?.display?`Display mode: ${Z.manifest.display}`:"Display mode should be standalone, fullscreen, or minimal-ui"}),$.push({id:"manifest-start-url",name:"Start URL",category:"required",passed:Boolean(Z.manifest?.startUrl),message:Z.manifest?.startUrl?`Start URL: ${Z.manifest.startUrl}`:"Start URL not set"}),$.push({id:"icons-source",name:"Icon Source",category:"required",passed:Boolean(Z.icons?.src),message:Z.icons?.src?`Icon source: ${Z.icons.src}`:"No icon source configured"});let Y=Z.icons?.sizes||[];$.push({id:"icons-192",name:"192x192 Icon",category:"required",passed:Y.includes(192),message:Y.includes(192)?"192x192 icon will be generated":"Missing 192x192 icon (required for Android)"}),$.push({id:"icons-512",name:"512x512 Icon",category:"required",passed:Y.includes(512),message:Y.includes(512)?"512x512 icon will be generated":"Missing 512x512 icon (required for splash screen)"}),$.push({id:"icons-maskable",name:"Maskable Icon",category:"recommended",passed:Z.icons?.purpose?.includes("maskable")||!1,message:Z.icons?.purpose?.includes("maskable")?"Maskable icon purpose is set":"Consider adding maskable icon purpose for adaptive icons"}),$.push({id:"sw-configured",name:"Service Worker",category:"required",passed:Boolean(Z.serviceWorker),message:Z.serviceWorker?"Service worker is configured":"Service worker configuration missing"}),$.push({id:"sw-cache-version",name:"Cache Version",category:"recommended",passed:Boolean(Z.serviceWorker?.cacheVersion),message:Z.serviceWorker?.cacheVersion?`Cache version: ${Z.serviceWorker.cacheVersion}`:"Set cache version for proper cache busting"}),$.push({id:"offline-enabled",name:"Offline Support",category:"required",passed:Z.offline?.enabled===!0,message:Z.offline?.enabled?"Offline support is enabled":"Offline support is disabled"});let J=Z.routes||[];return $.push({id:"caching-strategies",name:"Caching Strategies",category:"recommended",passed:J.length>0,message:J.length>0?`${J.length} route caching strategies configured`:"No custom caching strategies defined"}),$.push({id:"push-config",name:"Push Notifications",category:"optional",passed:!Z.push?.enabled||Boolean(Z.push?.vapidPublicKey),message:Z.push?.enabled?Z.push?.vapidPublicKey?"Push notifications configured with VAPID key":"Push enabled but missing VAPID key":"Push notifications not enabled"}),$.push({id:"share-target",name:"Share Target",category:"optional",passed:!0,message:Z.shareTarget?.enabled?`Share target enabled at ${Z.shareTarget.action}`:"Share target not enabled"}),$.push({id:"auto-inject",name:"Auto-injection",category:"recommended",passed:Z.autoInject!==!1,message:Z.autoInject!==!1?"PWA tags will be auto-injected":"Auto-injection disabled - manual tag insertion required"}),$}function lL(X){let $=[],Z=q$.join(X,"manifest.json"),Y=U5.existsSync(Z);if($.push({id:"build-manifest",name:"Manifest File",category:"required",passed:Y,message:Y?"manifest.json exists":"manifest.json not found in build output"}),Y)try{let W=JSON.parse(U5.readFileSync(Z,"utf-8"));$.push({id:"build-manifest-valid",name:"Valid Manifest JSON",category:"required",passed:!0,message:"Manifest is valid JSON"}),$.push({id:"build-manifest-icons",name:"Manifest Icons",category:"required",passed:Array.isArray(W.icons)&&W.icons.length>0,message:W.icons?.length?`${W.icons.length} icons defined in manifest`:"No icons defined in manifest"})}catch{$.push({id:"build-manifest-valid",name:"Valid Manifest JSON",category:"required",passed:!1,message:"Manifest is not valid JSON"})}let J=q$.join(X,"sw.js"),G=U5.existsSync(J);$.push({id:"build-sw",name:"Service Worker File",category:"required",passed:G,message:G?"Service worker (sw.js) exists":"Service worker not found in build output"});let Q=q$.join(X,"offline.html"),q=U5.existsSync(Q);$.push({id:"build-offline",name:"Offline Page",category:"recommended",passed:q,message:q?"Offline page exists":"No offline.html found"});let K=q$.join(X,"pwa-icons");if(U5.existsSync(K)){let W=U5.readdirSync(K).filter((w)=>w.endsWith(".png")||w.endsWith(".webp"));$.push({id:"build-icons",name:"Generated Icons",category:"required",passed:W.length>0,message:W.length>0?`${W.length} icon files generated`:"No icon files found"})}else $.push({id:"build-icons",name:"Generated Icons",category:"required",passed:!1,message:"Icons directory not found"});return $}function cL(X){let $=X.filter((K)=>K.category==="required"),Z=X.filter((K)=>K.category==="recommended"),Y=$.filter((K)=>K.passed).length,J=Z.filter((K)=>K.passed).length,G=$.length>0?Y/$.length*70:70,Q=Z.length>0?J/Z.length*30:30;return{score:Math.round(G+Q),passed:X.filter((K)=>K.passed).length,failed:X.filter((K)=>!K.passed&&K.category==="required").length,warnings:X.filter((K)=>!K.passed&&K.category!=="required").length,checks:X}}function FD(X,$){let Z=mL(X),Y=$&&U5.existsSync($)?lL($):[];return cL([...Z,...Y])}function VD(X){let $=[];$.push(`
16580
16579
  === PWA Audit Report ===
16581
16580
  `);let Z=X.score>=90?"32":X.score>=70?"33":"31";$.push(`Score: \x1B[${Z}m${X.score}/100\x1B[0m`),$.push(`Passed: ${X.passed} | Failed: ${X.failed} | Warnings: ${X.warnings}
16582
16581
  `);let Y=["required","recommended","optional"];for(let J of Y){let G=X.checks.filter((Q)=>Q.category===J);if(G.length===0)continue;$.push(`
16583
16582
  ${J.toUpperCase()}:`);for(let Q of G){let q=Q.passed?"\x1B[32m\u2713\x1B[0m":"\x1B[31m\u2717\x1B[0m";if($.push(` ${q} ${Q.name}: ${Q.message}`),Q.details)$.push(` ${Q.details}`)}}return $.push(""),$.join(`
16584
- `)}j3();YX();o5();s5();async function DD(X,$){let Z={success:!0,files:{icons:[]},errors:[],warnings:[]},Y=X.pwa;if(!Y?.enabled)return Z;try{pL.mkdirSync($,{recursive:!0})}catch{return Z.errors.push(`Failed to create output directory: ${$}`),Z.success=!1,Z}try{let G=U2(X);if(G){let Q=l4.join($,"manifest.json");await Bun.write(Q,G),Z.files.manifest=Q}}catch(G){let Q=G instanceof Error?G.message:String(G);Z.errors.push(`Failed to generate manifest.json: ${Q}`),Z.success=!1}if(Y.icons?.src)if(await a4()){let Q=await s4(X,$);if(Z.files.icons=Q.generatedFiles,Z.warnings.push(...Q.warnings),!Q.success)Z.errors.push(...Q.errors),Z.success=!1}else Z.warnings.push("sharp is not installed. Skipping icon generation. Install with: bun add sharp");if(Y.offline?.enabled)try{let G=await EK(X);if(G){let Q=l4.join($,"offline.html");await Bun.write(Q,G),Z.files.offlinePage=Q}}catch(G){let Q=G instanceof Error?G.message:String(G);Z.errors.push(`Failed to generate offline page: ${Q}`),Z.success=!1}let J;if(Y.precache?.enabled){let G=f1($,X);J={fileCount:G.fileCount,totalSize:G.totalSize},Z.precacheStats=J}try{let G=$X(X,$);if(G){let Q=j5(X),q=l4.join($,Q);await Bun.write(q,G),Z.files.serviceWorker=q}}catch(G){let Q=G instanceof Error?G.message:String(G);Z.errors.push(`Failed to generate service worker: ${Q}`),Z.success=!1}return Z}function yD(X,$){return z$(X,$)}function bD(X){return X.pwa?.enabled===!0}export{QF as validateManifest,LD as runPwaAudit,NN as registerPwaDirectives,Aj as pwaUpdateDirective,Nj as pwaPushDirective,Rj as pwaOfflineDirective,Vj as pwaInstallDirective,z3 as pwaDirectives,yD as processPwaHtml,GF as mergeManifestConfig,q2 as isWorkboxEnabled,a4 as isSharpAvailable,bD as isPwaEnabled,z$ as injectPwaTags,j5 as getServiceWorkerFileName,oL as getExpectedIconPaths,ZU as generateThemeColorMeta,XU as generateSwRegistrationScript,eK as generateServiceWorkerAuto,$X as generateServiceWorker,ZX as generatePwaTags,s4 as generatePwaIcons,XX as generatePrecacheManifestJs,f1 as generatePrecacheManifest,EK as generateOfflinePage,$U as generateManifestLink,U2 as generateManifestJson,KU as generateManifest,e4 as formatSize,FD as formatAuditResult,cL as calculateAuditResult,DD as buildPwaAssets,mL as auditConfig,lL as auditBuildOutput,o4 as FAVICON_SIZES,n4 as DEFAULT_ICON_SIZES,r4 as APPLE_TOUCH_ICON_SIZES};
16583
+ `)}j3();YX();o5();s5();async function yD(X,$){let Z={success:!0,files:{icons:[]},errors:[],warnings:[]},Y=X.pwa;if(!Y?.enabled)return Z;try{pL.mkdirSync($,{recursive:!0})}catch{return Z.errors.push(`Failed to create output directory: ${$}`),Z.success=!1,Z}try{let G=U2(X);if(G){let Q=l4.join($,"manifest.json");await Bun.write(Q,G),Z.files.manifest=Q}}catch(G){let Q=G instanceof Error?G.message:String(G);Z.errors.push(`Failed to generate manifest.json: ${Q}`),Z.success=!1}if(Y.icons?.src)if(await a4()){let Q=await s4(X,$);if(Z.files.icons=Q.generatedFiles,Z.warnings.push(...Q.warnings),!Q.success)Z.errors.push(...Q.errors),Z.success=!1}else Z.warnings.push("sharp is not installed. Skipping icon generation. Install with: bun add sharp");if(Y.offline?.enabled)try{let G=await EK(X);if(G){let Q=l4.join($,"offline.html");await Bun.write(Q,G),Z.files.offlinePage=Q}}catch(G){let Q=G instanceof Error?G.message:String(G);Z.errors.push(`Failed to generate offline page: ${Q}`),Z.success=!1}let J;if(Y.precache?.enabled){let G=f1($,X);J={fileCount:G.fileCount,totalSize:G.totalSize},Z.precacheStats=J}try{let G=$X(X,$);if(G){let Q=j5(X),q=l4.join($,Q);await Bun.write(q,G),Z.files.serviceWorker=q}}catch(G){let Q=G instanceof Error?G.message:String(G);Z.errors.push(`Failed to generate service worker: ${Q}`),Z.success=!1}return Z}function bD(X,$){return z$(X,$)}function SD(X){return X.pwa?.enabled===!0}export{QF as validateManifest,FD as runPwaAudit,TT as registerPwaDirectives,Aj as pwaUpdateDirective,Tj as pwaPushDirective,Rj as pwaOfflineDirective,Vj as pwaInstallDirective,z3 as pwaDirectives,bD as processPwaHtml,GF as mergeManifestConfig,q2 as isWorkboxEnabled,a4 as isSharpAvailable,SD as isPwaEnabled,z$ as injectPwaTags,j5 as getServiceWorkerFileName,oL as getExpectedIconPaths,ZU as generateThemeColorMeta,XU as generateSwRegistrationScript,eK as generateServiceWorkerAuto,$X as generateServiceWorker,ZX as generatePwaTags,s4 as generatePwaIcons,XX as generatePrecacheManifestJs,f1 as generatePrecacheManifest,EK as generateOfflinePage,$U as generateManifestLink,U2 as generateManifestJson,KU as generateManifest,e4 as formatSize,VD as formatAuditResult,cL as calculateAuditResult,yD as buildPwaAssets,mL as auditConfig,lL as auditBuildOutput,o4 as FAVICON_SIZES,n4 as DEFAULT_ICON_SIZES,r4 as APPLE_TOUCH_ICON_SIZES};