@stacksjs/stx 0.2.176 → 0.2.178

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.
Files changed (44) hide show
  1. package/dist/builtins/attrs.d.ts +19 -0
  2. package/dist/builtins/attrs.js +18 -0
  3. package/dist/builtins/safe-image.js +2 -1
  4. package/dist/builtins/stx-image.js +2 -1
  5. package/dist/builtins/stx-link.js +2 -1
  6. package/dist/cli-flags.d.ts +34 -0
  7. package/dist/cli-flags.js +20 -0
  8. package/dist/cli.js +899 -778
  9. package/dist/client-script.js +2 -1
  10. package/dist/component-registry.d.ts +9 -0
  11. package/dist/component-renderer.js +20 -1
  12. package/dist/composables/use-fetch.d.ts +6 -1
  13. package/dist/composables/use-fetch.js +40 -18
  14. package/dist/composables/use-query.d.ts +7 -2
  15. package/dist/cookie-serialize.d.ts +40 -0
  16. package/dist/cookie-serialize.js +18 -0
  17. package/dist/craft.js +500 -381
  18. package/dist/crosswind-config.d.ts +13 -0
  19. package/dist/crosswind-config.js +6 -2
  20. package/dist/dev-server/crosswind.js +2 -1
  21. package/dist/edge-runtime.d.ts +2 -9
  22. package/dist/edge-runtime.js +2 -16
  23. package/dist/index.d.ts +2 -0
  24. package/dist/index.js +2 -0
  25. package/dist/page-action.d.ts +10 -20
  26. package/dist/page-action.js +33 -9
  27. package/dist/production-server.js +8 -7
  28. package/dist/pwa.js +452 -333
  29. package/dist/reactive.js +2 -3
  30. package/dist/signal-processing.js +37 -6
  31. package/dist/signals.js +150 -32
  32. package/dist/ssg.js +465 -346
  33. package/dist/ssr.js +2 -16
  34. package/dist/stx-virtual-ts.d.ts +45 -1
  35. package/dist/stx-virtual-ts.js +75 -5
  36. package/dist/stx.d.ts +66 -7
  37. package/dist/template-hydrator.d.ts +1 -1
  38. package/dist/template-hydrator.js +6 -6
  39. package/dist/theme-tokens.d.ts +88 -0
  40. package/dist/theme-tokens.js +71 -0
  41. package/dist/typecheck.d.ts +6 -1
  42. package/dist/typecheck.js +7 -6
  43. package/package.json +5 -5
  44. package/stx.d.ts +66 -7
package/dist/ssg.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // @bun
2
- var Pq=Object.defineProperty;var vq=($)=>$;function xq($,X){this[$]=vq.bind(null,X)}var t=($,X)=>{for(var Z in X)Pq($,Z,{get:X[Z],enumerable:!0,configurable:!0,set:xq.bind(X,Z)})};var E=($,X)=>()=>($&&(X=$($=0)),X);var U0=import.meta.require;function V9($){return $.split(/[\\/]/).filter(Boolean).slice(0,-1).some((Z)=>e5.includes(Z))}function $7($){return V9($.replace(/^\//,""))}var e5;var z8=E(()=>{e5=["components","layouts","partials","emails"]});import O5 from"fs";import X7 from"path";function Z7($,X){let Z=$.filter((Q)=>!$7(Q.pattern)),J=["// Auto-generated by STX - do not edit"];if(Z.length===0)J.push("// No page routes found \u2014 route paths stay typed as string.","export {}","");else{J.push("declare module '@stacksjs/stx' {"," interface KnownRoutes {");for(let Q of Z){let w=[];for(let W of Q.params){let K=Q.pattern.includes(`:${W}?`)?"?":"";w.push(`${W}${K}: string`)}let q=w.join("; ");J.push(` '${Q.pattern}': { ${q} }`)}J.push(" }","}","","export {}","")}let Y=J.join(`
3
- `),G=X7.join(X,"route-types.d.ts");try{if(O5.existsSync(G)&&O5.readFileSync(G,"utf8")===Y)return;O5.mkdirSync(X,{recursive:!0}),O5.writeFileSync(G,Y)}catch{}}function J7($,X,Z){let J=process.cwd(),Y=X7.relative(J,Z),G=$.filter((w)=>!$7(w.pattern)),Q=["// Auto-generated by stx \u2014 do not edit",`// Source: ${Y||"pages"}/`,"","export const routes = ["];for(let w of G){let q=X7.relative(J,w.filePath).replace(/\\/g,"/"),W=JSON.stringify(w.params),K=w.layout?`, layout: '${X7.relative(J,w.layout).replace(/\\/g,"/")}'`:"";Q.push(` { pattern: '${w.pattern}', filePath: '${q}', isDynamic: ${w.isDynamic}, params: ${W}${K} },`)}Q.push("] as const",""),Q.push("export type RouteName = typeof routes[number]['pattern']",""),O5.mkdirSync(X,{recursive:!0}),O5.writeFileSync(X7.join(X,"routes.ts"),Q.join(`
4
- `))}var A9=E(()=>{z8()});import z6 from"path";function U8($,X){let J=z6.relative(X,$).replace(/\.(stx|md)$/,"");if(J=J.split(z6.sep).join("/"),J==="index")return"/";if(J.endsWith("/index"))J=J.slice(0,-6);return J=J.replace(/\[\[([^\]]+)\]\]/g,":$1?"),J=J.replace(/\[([^\]]+)\]/g,":$1"),J=J.replace(/:\.\.\.([^/]+)/g,":$1*"),`/${J}`}function Y7($){let X=[],Z="",J=0;while(J<$.length){let Y=$.slice(J),G=/^\/:([^/?*]+)\?/.exec(Y);if(G){X.push(G[1]),Z+="(?:/([^/]+))?",J+=G[0].length;continue}let Q=/^:([^/?*]+)\*/.exec(Y);if(Q){X.push(Q[1]),Z+="(.+)",J+=Q[0].length;continue}let w=/^:([^/?*]+)/.exec(Y);if(w){X.push(w[1]),Z+="([^/]+)",J+=w[0].length;continue}Z+=$[J].replace(/[.+^${}()|[\]\\*?]/g,"\\$&"),J+=1}return{regex:new RegExp(`^${Z}$`),params:X}}function j8($,X){let Z=$===""?"/":$;for(let J of X){let Y=Z.match(J.regex);if(Y){let G={};return J.params.forEach((Q,w)=>{G[Q]=Y[w+1]}),{route:J,params:G}}}return null}function U6($){let X=$.replace(/\[\[([^\]]+)\]\]/g,":$1?").replace(/\[([^\]]+)\]/g,":$1").replace(/:\.\.\.([^/]+)/g,":$1*");return Y7(X)}var R9=()=>{};import mq from"fs";import N9 from"path";function B8($,X){let Z=[],J=N9.dirname($);while(J.startsWith(X)||J===X){let Y=N9.join(J,"_layout.stx");if(mq.existsSync(Y))Z.unshift(Y);if(J===X)break;J=N9.dirname(J)}return Z}var T9=()=>{};import M9 from"fs";import L5 from"path";function j6($,X){let Z=[];if(!M9.existsSync($))return Z;let J=M9.readdirSync($,{withFileTypes:!0});for(let Y of J){let G=L5.join($,Y.name);if(Y.isDirectory()){if(Y.name.startsWith("."))continue;if(e5.includes(Y.name))continue;Z.push(...j6(G,X))}else if(Y.isFile()){let Q=L5.extname(Y.name);if(X.includes(Q)){if(Y.name.startsWith("_")&&Y.name!=="_layout.stx")continue;if(Y.name==="_layout.stx")continue;Z.push(G)}}}return Z}class F5{routes;pagesDir;pagesDirs;config;constructor($,X={}){this.config=X;let Z=X.pagesDirs&&X.pagesDirs.length>0?X.pagesDirs:[X.pagesDir||"pages"];this.pagesDirs=Z.map((Q)=>L5.resolve($,Q)),this.pagesDir=this.pagesDirs[0];let J=X.extensions||[".stx"],Y=new Set;this.routes=[];for(let Q of this.pagesDirs){let w=j6(Q,J);for(let q of w){let W=U8(q,Q);if(Y.has(W))continue;Y.add(W);let{regex:K,params:z}=Y7(W),U=X.layouts!==!1?B8(q,Q):[];this.routes.push({pattern:W,regex:K,params:z,filePath:q,isDynamic:z.length>0,layout:U.length>0?U[U.length-1]:void 0})}}this.routes.sort((Q,w)=>{if(!Q.isDynamic&&w.isDynamic)return-1;if(Q.isDynamic&&!w.isDynamic)return 1;let q=Q.pattern.split("/").length,W=w.pattern.split("/").length;if(q!==W)return W-q;return Q.pattern.localeCompare(w.pattern)});let G=L5.resolve($,X.stateDir||process.env.STX_DIR?.trim()||".stx");Z7(this.routes,G),J7(this.routes,G,this.pagesDir)}match($){let X=$===""?"/":$;for(let Z of this.routes){let J=X.match(Z.regex);if(J){let Y={};return Z.params.forEach((G,Q)=>{Y[G]=J[Q+1]}),{route:Z,params:Y}}}return null}resolve($,X){let Z=this.routes.find((Y)=>Y.pattern===$||Y.filePath.includes($));if(!Z)return"#not-found";let J=Z.pattern;if(X)for(let[Y,G]of Object.entries(X))J=J.replace(`:${Y}`,encodeURIComponent(G));return J}addRoute($){this.routes.push($),this.routes.sort((X,Z)=>{if(!X.isDynamic&&Z.isDynamic)return-1;if(X.isDynamic&&!Z.isDynamic)return 1;return X.pattern.localeCompare(Z.pattern)})}getLayout($){return $.layout??null}}function B6($,X){return new F5($,X)}function k9($,X){let Z=[`${X}.stx`,"error.stx"];for(let J of Z){let Y=L5.join($,J);if(M9.existsSync(Y))return Y}return null}function I9($,X){return $.map((Z)=>{let J=L5.relative(X,Z.filePath),Y=Z.isDynamic?" (dynamic)":"";return`${Z.pattern} \u2192 ${J}${Y}`})}var _6=E(()=>{A9();R9();T9();z8()});function E9($){_8=$.replace(/\/$/,"")}function D9($,X,Z={}){V5[$]={path:X,name:$,params:Z}}function y9($){for(let[X,Z]of Object.entries($))if(typeof Z==="string")V5[X]={path:Z,name:X};else V5[X]={...Z,name:X}}function G7($,X={},Z=!1){let J=V5[$];if(!J)return console.warn(`Route [${$}] not defined.`),"#undefined-route";let Y={...J.params,...X},G=J.path;G=G.replace(/:(\w+)/g,(w,q)=>{let W=Y[q];if(W===void 0)return console.warn(`Missing parameter [${q}] for route [${$}].`),`:${q}`;return delete Y[q],encodeURIComponent(String(W))});let Q=Object.entries(Y);if(Q.length>0){let w=Q.map(([q,W])=>`${encodeURIComponent(q)}=${encodeURIComponent(String(W))}`).join("&");G+=(G.includes("?")?"&":"?")+w}return Z&&_8?`${_8}${G}`:G}function b9(){for(let $ of Object.keys(V5))delete V5[$];_8=""}var V5,_8="";var H6=E(()=>{V5={}});import O6 from"fs";import L6 from"path";function C9($,X={}){return{type:"redirect",path:$,options:{replace:X.replace??!1,external:X.external??!1,redirectCode:X.redirectCode??302}}}function P9($){return{type:"abort",error:typeof $==="string"?{statusCode:500,message:$}:$}}function v9($,X={}){return{handler:$,mode:X.mode??"universal"}}function S9($){let X={};if(!$)return X;let Z=$.split(";");for(let J of Z){let[Y,...G]=J.split("=");if(Y){let Q=Y.trim(),w=G.join("=").trim();if(Q)X[Q]=decodeURIComponent(w)}}return X}function H8($,X,Z={}){let J=`${encodeURIComponent($)}=${encodeURIComponent(X)}`;if(Z.expires){let Y=typeof Z.expires==="number"?new Date(Date.now()+Z.expires*1000):Z.expires;J+=`; Expires=${Y.toUTCString()}`}if(Z.path)J+=`; Path=${Z.path}`;if(Z.domain)J+=`; Domain=${Z.domain}`;if(Z.secure)J+="; Secure";if(Z.httpOnly)J+="; HttpOnly";if(Z.sameSite)J+=`; SameSite=${Z.sameSite}`;return J}function O8($,X){let Z=$.headers.get("cookie")||"",J=S9(Z);return{get(Y){return J[Y]},set(Y,G,Q={}){J[Y]=G,X.append("Set-Cookie",H8(Y,G,Q))},delete(Y){delete J[Y],X.append("Set-Cookie",H8(Y,"",{expires:new Date(0),path:"/"}))},getAll(){return{...J}}}}function L8(){return{get($){if(typeof document>"u")return;return S9(document.cookie)[$]},set($,X,Z={}){if(typeof document>"u")return;document.cookie=H8($,X,Z)},delete($){if(typeof document>"u")return;document.cookie=H8($,"",{expires:new Date(0),path:"/"})},getAll(){if(typeof document>"u")return{};return S9(document.cookie)}}}function F8(){let $=typeof window<"u"&&typeof window.localStorage<"u";return{get(X){if(!$)return null;try{return window.localStorage.getItem(X)}catch{return null}},set(X,Z){if(!$)return;try{window.localStorage.setItem(X,Z)}catch{}},remove(X){if(!$)return;try{window.localStorage.removeItem(X)}catch{}},isAvailable(){return $}}}function Q7($,X){w7.set($,X)}function V8($){return w7.get($)}function x9($){return w7.has($)}function q7(){w7.clear()}function W7(){return Array.from(w7.keys())}async function K7($,X="middleware"){let Z=L6.resolve($,X);if(!O6.existsSync(Z))return;let J=O6.readdirSync(Z);for(let Y of J){if(!Y.endsWith(".ts")&&!Y.endsWith(".js"))continue;if(Y.includes(".test.")||Y.includes(".spec."))continue;let G=Y.replace(/\.(ts|js)$/,""),Q=L6.join(Z,Y);try{let q=(await import(Q)).default;if(q&&typeof q.handler==="function")Q7(G,q);else if(typeof q==="function")Q7(G,{handler:q,mode:"universal"})}catch(w){console.warn(`Failed to load middleware '${G}' from ${Q}:`,w)}}}function lq($){let X={};if(!$)return X;let Z=new URLSearchParams($);for(let[J,Y]of Z)X[J]=Y;return X}function z7($,X,Z,J=""){return{path:$,params:X,query:lq(J),fullPath:J?`${$}?${J}`:$,meta:Z}}function U7($,X,Z,J){let Y=J?.isServer??typeof window>"u",G=!Y,Q=new Headers;return{to:$,from:X,isClient:G,isServer:Y,cookies:Y&&Z?O8(Z,Q):L8(),storage:F8(),state:{},request:Z,responseHeaders:Q}}async function j7($,X){let Z=Array.isArray($)?$:[$],J=X.isServer;for(let Y of Z){let G=V8(Y);if(!G)return console.error(`Route middleware '${Y}' is not registered \u2014 failing the guard closed.`),{passed:!1,abort:{type:"abort",error:{statusCode:500,message:`Route middleware '${Y}' is not registered`}},state:X.state,responseHeaders:X.responseHeaders};if(G.mode==="server"&&!J)continue;try{let Q=await G.handler(X);if(Q){if(Q.type==="redirect")return{passed:!1,redirect:Q,state:X.state,responseHeaders:X.responseHeaders};if(Q.type==="abort")return{passed:!1,abort:Q,state:X.state,responseHeaders:X.responseHeaders}}}catch(Q){return console.error(`Error in middleware '${Y}':`,Q),{passed:!1,abort:{type:"abort",error:{statusCode:500,message:Q instanceof Error?Q.message:"Middleware error"}},state:X.state,responseHeaders:X.responseHeaders}}}return{passed:!0,state:X.state,responseHeaders:X.responseHeaders}}var w7;var F6=E(()=>{w7=new Map});function B7($){let Z=$.replace(/\\/g,"/").split("/").filter(Boolean),J=Z.lastIndexOf("layouts"),Y=J>=0?Z[J+1]:Z.at(-1);if(!Y)return"app";return Y.replace(/\.stx$/i,"")||"app"}function V6($){let X=$.match(/<meta\b[^>]*name=["']stx-layout["'][^>]*content=["']([^"']+)["'][^>]*>/i),Z=$.match(/<meta\b[^>]*name=["']stx-layout-group["'][^>]*content=["']([^"']+)["'][^>]*>/i),J=$.match(/<!--\s*stx-layout:\s*([^ ]+)\s*-->/i),Y=X?.[1]||J?.[1]||"";return{layout:Y,group:Z?.[1]||B7(Y)}}function cq($){try{return new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($).replace(/\}(var |let |const |function )/g,"};$1").trim()}catch{return $}}function _7(){if(A8)return A8;return A8=cq(`
2
+ var mq=Object.defineProperty;var lq=($)=>$;function cq($,X){this[$]=lq.bind(null,X)}var t=($,X)=>{for(var Z in X)mq($,Z,{get:X[Z],enumerable:!0,configurable:!0,set:cq.bind(X,Z)})};var E=($,X)=>()=>($&&(X=$($=0)),X);var U0=import.meta.require;function N9($){return $.split(/[\\/]/).filter(Boolean).slice(0,-1).some((Z)=>$7.includes(Z))}function X7($){return N9($.replace(/^\//,""))}var $7;var j8=E(()=>{$7=["components","layouts","partials","emails"]});import O5 from"fs";import Z7 from"path";function J7($,X){let Z=$.filter((Q)=>!X7(Q.pattern)),J=["// Auto-generated by STX - do not edit"];if(Z.length===0)J.push("// No page routes found \u2014 route paths stay typed as string.","export {}","");else{J.push("declare module '@stacksjs/stx' {"," interface KnownRoutes {");for(let Q of Z){let w=[];for(let W of Q.params){let K=Q.pattern.includes(`:${W}?`)?"?":"";w.push(`${W}${K}: string`)}let q=w.join("; ");J.push(` '${Q.pattern}': { ${q} }`)}J.push(" }","}","","export {}","")}let Y=J.join(`
3
+ `),G=Z7.join(X,"route-types.d.ts");try{if(O5.existsSync(G)&&O5.readFileSync(G,"utf8")===Y)return;O5.mkdirSync(X,{recursive:!0}),O5.writeFileSync(G,Y)}catch{}}function Y7($,X,Z){let J=process.cwd(),Y=Z7.relative(J,Z),G=$.filter((w)=>!X7(w.pattern)),Q=["// Auto-generated by stx \u2014 do not edit",`// Source: ${Y||"pages"}/`,"","export const routes = ["];for(let w of G){let q=Z7.relative(J,w.filePath).replace(/\\/g,"/"),W=JSON.stringify(w.params),K=w.layout?`, layout: '${Z7.relative(J,w.layout).replace(/\\/g,"/")}'`:"";Q.push(` { pattern: '${w.pattern}', filePath: '${q}', isDynamic: ${w.isDynamic}, params: ${W}${K} },`)}Q.push("] as const",""),Q.push("export type RouteName = typeof routes[number]['pattern']",""),O5.mkdirSync(X,{recursive:!0}),O5.writeFileSync(Z7.join(X,"routes.ts"),Q.join(`
4
+ `))}var T9=E(()=>{j8()});import O6 from"path";function B8($,X){let J=O6.relative(X,$).replace(/\.(stx|md)$/,"");if(J=J.split(O6.sep).join("/"),J==="index")return"/";if(J.endsWith("/index"))J=J.slice(0,-6);return J=J.replace(/\[\[([^\]]+)\]\]/g,":$1?"),J=J.replace(/\[([^\]]+)\]/g,":$1"),J=J.replace(/:\.\.\.([^/]+)/g,":$1*"),`/${J}`}function G7($){let X=[],Z="",J=0;while(J<$.length){let Y=$.slice(J),G=/^\/:([^/?*]+)\?/.exec(Y);if(G){X.push(G[1]),Z+="(?:/([^/]+))?",J+=G[0].length;continue}let Q=/^:([^/?*]+)\*/.exec(Y);if(Q){X.push(Q[1]),Z+="(.+)",J+=Q[0].length;continue}let w=/^:([^/?*]+)/.exec(Y);if(w){X.push(w[1]),Z+="([^/]+)",J+=w[0].length;continue}Z+=$[J].replace(/[.+^${}()|[\]\\*?]/g,"\\$&"),J+=1}return{regex:new RegExp(`^${Z}$`),params:X}}function _8($,X){let Z=$===""?"/":$;for(let J of X){let Y=Z.match(J.regex);if(Y){let G={};return J.params.forEach((Q,w)=>{G[Q]=Y[w+1]}),{route:J,params:G}}}return null}function L6($){let X=$.replace(/\[\[([^\]]+)\]\]/g,":$1?").replace(/\[([^\]]+)\]/g,":$1").replace(/:\.\.\.([^/]+)/g,":$1*");return G7(X)}var M9=()=>{};import sq from"fs";import k9 from"path";function H8($,X){let Z=[],J=k9.dirname($);while(J.startsWith(X)||J===X){let Y=k9.join(J,"_layout.stx");if(sq.existsSync(Y))Z.unshift(Y);if(J===X)break;J=k9.dirname(J)}return Z}var I9=()=>{};import E9 from"fs";import L5 from"path";function F6($,X){let Z=[];if(!E9.existsSync($))return Z;let J=E9.readdirSync($,{withFileTypes:!0});for(let Y of J){let G=L5.join($,Y.name);if(Y.isDirectory()){if(Y.name.startsWith("."))continue;if($7.includes(Y.name))continue;Z.push(...F6(G,X))}else if(Y.isFile()){let Q=L5.extname(Y.name);if(X.includes(Q)){if(Y.name.startsWith("_")&&Y.name!=="_layout.stx")continue;if(Y.name==="_layout.stx")continue;Z.push(G)}}}return Z}class F5{routes;pagesDir;pagesDirs;config;constructor($,X={}){this.config=X;let Z=X.pagesDirs&&X.pagesDirs.length>0?X.pagesDirs:[X.pagesDir||"pages"];this.pagesDirs=Z.map((Q)=>L5.resolve($,Q)),this.pagesDir=this.pagesDirs[0];let J=X.extensions||[".stx"],Y=new Set;this.routes=[];for(let Q of this.pagesDirs){let w=F6(Q,J);for(let q of w){let W=B8(q,Q);if(Y.has(W))continue;Y.add(W);let{regex:K,params:z}=G7(W),U=X.layouts!==!1?H8(q,Q):[];this.routes.push({pattern:W,regex:K,params:z,filePath:q,isDynamic:z.length>0,layout:U.length>0?U[U.length-1]:void 0})}}this.routes.sort((Q,w)=>{if(!Q.isDynamic&&w.isDynamic)return-1;if(Q.isDynamic&&!w.isDynamic)return 1;let q=Q.pattern.split("/").length,W=w.pattern.split("/").length;if(q!==W)return W-q;return Q.pattern.localeCompare(w.pattern)});let G=L5.resolve($,X.stateDir||process.env.STX_DIR?.trim()||".stx");J7(this.routes,G),Y7(this.routes,G,this.pagesDir)}match($){let X=$===""?"/":$;for(let Z of this.routes){let J=X.match(Z.regex);if(J){let Y={};return Z.params.forEach((G,Q)=>{Y[G]=J[Q+1]}),{route:Z,params:Y}}}return null}resolve($,X){let Z=this.routes.find((Y)=>Y.pattern===$||Y.filePath.includes($));if(!Z)return"#not-found";let J=Z.pattern;if(X)for(let[Y,G]of Object.entries(X))J=J.replace(`:${Y}`,encodeURIComponent(G));return J}addRoute($){this.routes.push($),this.routes.sort((X,Z)=>{if(!X.isDynamic&&Z.isDynamic)return-1;if(X.isDynamic&&!Z.isDynamic)return 1;return X.pattern.localeCompare(Z.pattern)})}getLayout($){return $.layout??null}}function V6($,X){return new F5($,X)}function D9($,X){let Z=[`${X}.stx`,"error.stx"];for(let J of Z){let Y=L5.join($,J);if(E9.existsSync(Y))return Y}return null}function y9($,X){return $.map((Z)=>{let J=L5.relative(X,Z.filePath),Y=Z.isDynamic?" (dynamic)":"";return`${Z.pattern} \u2192 ${J}${Y}`})}var A6=E(()=>{T9();M9();I9();j8()});function b9($){O8=$.replace(/\/$/,"")}function S9($,X,Z={}){V5[$]={path:X,name:$,params:Z}}function C9($){for(let[X,Z]of Object.entries($))if(typeof Z==="string")V5[X]={path:Z,name:X};else V5[X]={...Z,name:X}}function Q7($,X={},Z=!1){let J=V5[$];if(!J)return console.warn(`Route [${$}] not defined.`),"#undefined-route";let Y={...J.params,...X},G=J.path;G=G.replace(/:(\w+)/g,(w,q)=>{let W=Y[q];if(W===void 0)return console.warn(`Missing parameter [${q}] for route [${$}].`),`:${q}`;return delete Y[q],encodeURIComponent(String(W))});let Q=Object.entries(Y);if(Q.length>0){let w=Q.map(([q,W])=>`${encodeURIComponent(q)}=${encodeURIComponent(String(W))}`).join("&");G+=(G.includes("?")?"&":"?")+w}return Z&&O8?`${O8}${G}`:G}function P9(){for(let $ of Object.keys(V5))delete V5[$];O8=""}var V5,O8="";var R6=E(()=>{V5={}});import N6 from"fs";import T6 from"path";function x9($,X={}){return{type:"redirect",path:$,options:{replace:X.replace??!1,external:X.external??!1,redirectCode:X.redirectCode??302}}}function f9($){return{type:"abort",error:typeof $==="string"?{statusCode:500,message:$}:$}}function g9($,X={}){return{handler:$,mode:X.mode??"universal"}}function v9($){let X={};if(!$)return X;let Z=$.split(";");for(let J of Z){let[Y,...G]=J.split("=");if(Y){let Q=Y.trim(),w=G.join("=").trim();if(Q)X[Q]=decodeURIComponent(w)}}return X}function L8($,X,Z={}){let J=`${encodeURIComponent($)}=${encodeURIComponent(X)}`;if(Z.expires){let Y=typeof Z.expires==="number"?new Date(Date.now()+Z.expires*1000):Z.expires;J+=`; Expires=${Y.toUTCString()}`}if(Z.path)J+=`; Path=${Z.path}`;if(Z.domain)J+=`; Domain=${Z.domain}`;if(Z.secure)J+="; Secure";if(Z.httpOnly)J+="; HttpOnly";if(Z.sameSite)J+=`; SameSite=${Z.sameSite}`;return J}function F8($,X){let Z=$.headers.get("cookie")||"",J=v9(Z);return{get(Y){return J[Y]},set(Y,G,Q={}){J[Y]=G,X.append("Set-Cookie",L8(Y,G,Q))},delete(Y){delete J[Y],X.append("Set-Cookie",L8(Y,"",{expires:new Date(0),path:"/"}))},getAll(){return{...J}}}}function V8(){return{get($){if(typeof document>"u")return;return v9(document.cookie)[$]},set($,X,Z={}){if(typeof document>"u")return;document.cookie=L8($,X,Z)},delete($){if(typeof document>"u")return;document.cookie=L8($,"",{expires:new Date(0),path:"/"})},getAll(){if(typeof document>"u")return{};return v9(document.cookie)}}}function A8(){let $=typeof window<"u"&&typeof window.localStorage<"u";return{get(X){if(!$)return null;try{return window.localStorage.getItem(X)}catch{return null}},set(X,Z){if(!$)return;try{window.localStorage.setItem(X,Z)}catch{}},remove(X){if(!$)return;try{window.localStorage.removeItem(X)}catch{}},isAvailable(){return $}}}function w7($,X){q7.set($,X)}function R8($){return q7.get($)}function h9($){return q7.has($)}function W7(){q7.clear()}function K7(){return Array.from(q7.keys())}async function z7($,X="middleware"){let Z=T6.resolve($,X);if(!N6.existsSync(Z))return;let J=N6.readdirSync(Z);for(let Y of J){if(!Y.endsWith(".ts")&&!Y.endsWith(".js"))continue;if(Y.includes(".test.")||Y.includes(".spec."))continue;let G=Y.replace(/\.(ts|js)$/,""),Q=T6.join(Z,Y);try{let q=(await import(Q)).default;if(q&&typeof q.handler==="function")w7(G,q);else if(typeof q==="function")w7(G,{handler:q,mode:"universal"})}catch(w){console.warn(`Failed to load middleware '${G}' from ${Q}:`,w)}}}function aq($){let X={};if(!$)return X;let Z=new URLSearchParams($);for(let[J,Y]of Z)X[J]=Y;return X}function U7($,X,Z,J=""){return{path:$,params:X,query:aq(J),fullPath:J?`${$}?${J}`:$,meta:Z}}function j7($,X,Z,J){let Y=J?.isServer??typeof window>"u",G=!Y,Q=new Headers;return{to:$,from:X,isClient:G,isServer:Y,cookies:Y&&Z?F8(Z,Q):V8(),storage:A8(),state:{},request:Z,responseHeaders:Q}}async function B7($,X){let Z=Array.isArray($)?$:[$],J=X.isServer;for(let Y of Z){let G=R8(Y);if(!G)return console.error(`Route middleware '${Y}' is not registered \u2014 failing the guard closed.`),{passed:!1,abort:{type:"abort",error:{statusCode:500,message:`Route middleware '${Y}' is not registered`}},state:X.state,responseHeaders:X.responseHeaders};if(G.mode==="server"&&!J)continue;try{let Q=await G.handler(X);if(Q){if(Q.type==="redirect")return{passed:!1,redirect:Q,state:X.state,responseHeaders:X.responseHeaders};if(Q.type==="abort")return{passed:!1,abort:Q,state:X.state,responseHeaders:X.responseHeaders}}}catch(Q){return console.error(`Error in middleware '${Y}':`,Q),{passed:!1,abort:{type:"abort",error:{statusCode:500,message:Q instanceof Error?Q.message:"Middleware error"}},state:X.state,responseHeaders:X.responseHeaders}}}return{passed:!0,state:X.state,responseHeaders:X.responseHeaders}}var q7;var M6=E(()=>{q7=new Map});function _7($){let Z=$.replace(/\\/g,"/").split("/").filter(Boolean),J=Z.lastIndexOf("layouts"),Y=J>=0?Z[J+1]:Z.at(-1);if(!Y)return"app";return Y.replace(/\.stx$/i,"")||"app"}function k6($){let X=$.match(/<meta\b[^>]*name=["']stx-layout["'][^>]*content=["']([^"']+)["'][^>]*>/i),Z=$.match(/<meta\b[^>]*name=["']stx-layout-group["'][^>]*content=["']([^"']+)["'][^>]*>/i),J=$.match(/<!--\s*stx-layout:\s*([^ ]+)\s*-->/i),Y=X?.[1]||J?.[1]||"";return{layout:Y,group:Z?.[1]||_7(Y)}}function tq($){try{return new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($).replace(/\}(var |let |const |function )/g,"};$1").trim()}catch{return $}}function H7(){if(N8)return N8;return N8=tq(`
5
5
  ;(function(){
6
6
  'use strict';
7
7
  var ROUTER_REV=7;
@@ -1651,7 +1651,8 @@ else {
1651
1651
 
1652
1652
  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();
1653
1653
  })();
1654
- `),A8}var A8;var A6={};t(A6,{setAppUrl:()=>E9,runMiddleware:()=>j7,route:()=>G7,resolveLayoutChain:()=>B8,resetRoutes:()=>b9,registerMiddleware:()=>Q7,patternToRegex:()=>Y7,navigateTo:()=>C9,matchRoute:()=>j8,loadMiddlewareFromDirectory:()=>K7,isNonPageRoutePattern:()=>$7,isNonPageRoutePath:()=>V9,hasMiddleware:()=>x9,getRouterScript:()=>_7,getMiddlewareNames:()=>W7,getMiddleware:()=>V8,generateRouteTypes:()=>Z7,generateRouteManifest:()=>J7,formatRoutes:()=>I9,findErrorPage:()=>k9,filePathToPattern:()=>U8,extractLayoutMetadata:()=>V6,deriveLayoutGroup:()=>B7,defineRoutes:()=>y9,defineRoute:()=>D9,defineMiddleware:()=>v9,createStorageManager:()=>F8,createServerCookieManager:()=>O8,createRouter:()=>B6,createRouteLocation:()=>z7,createMiddlewareContext:()=>U7,createClientCookieManager:()=>L8,clearMiddleware:()=>q7,bracketPathToRegex:()=>U6,abortNavigation:()=>P9,Router:()=>F5,NON_PAGE_DIRS:()=>e5});var k1=E(()=>{_6();R9();H6();F6();T9();A9();z8()});function H7($,X={}){return new F5($,X).routes}var f9=E(()=>{k1();k1()});function R6($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function g9($,X){let Z={...$};for(let[J,Y]of Object.entries(X))Z[J]=R6(Y)&&R6(Z[J])?g9(Z[J],Y):Y;return Z}function N6($={},X={}){let Z=$.theme||{},J=X.theme||{},{extend:Y,...G}=J,{extend:Q,...w}=Z,q=g9(w,G),W=g9(Q||{},Y||{});if(Object.keys(W).length>0)q.extend=W;let K=[...$.safelist||[],...X.safelist||[]],z={...$.shortcuts||{},...X.shortcuts||{}},U=[...$.preflights||[],...X.preflights||[]];return{config:{...$,...X,theme:q,safelist:K,shortcuts:z,...U.length>0?{preflights:U}:{},content:[],output:""},safelist:K,shortcuts:z,includePreflight:X.preflight!==!1,minify:X.minify===!0}}import O7 from"path";function M6($){T6=$?.trim()||null}function L7(){return process.env[pq]?.trim()||T6||A5}function _1($=process.cwd(),...X){let Z=L7();return O7.isAbsolute(Z)?O7.join(Z,...X):O7.join($,Z,...X)}function F7($){if(!$||O7.isAbsolute($))return $;let X=$.replace(/\\/g,"/");if(X!==A5&&!X.startsWith(`${A5}/`))return $;let Z=X.slice(A5.length+1);return Z?O7.join(L7(),Z):L7()}var A5=".stx",pq="STX_DIR",T6=null;var V7=()=>{};var H0;var k6=E(()=>{H0={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",gray:"\x1B[90m",bgBlack:"\x1B[40m",bgRed:"\x1B[41m",bgGreen:"\x1B[42m",bgYellow:"\x1B[43m",bgBlue:"\x1B[44m",bgMagenta:"\x1B[45m",bgCyan:"\x1B[46m",bgWhite:"\x1B[47m",bgGray:"\x1B[100m"}});var I6=()=>{};function E6($,X,Z,J){let Y=$;Y=Y.replace(/@a11y\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(Q,w,q)=>{let K={"aria-label":"Ensure interactive elements have accessible labels","alt-text":"Provide alternative text for images",focus:"Ensure the element can receive keyboard focus",landmark:"Use appropriate landmark roles","heading-order":"Maintain proper heading hierarchy","color-contrast":"Ensure sufficient color contrast","keyboard-nav":"Make sure element is keyboard navigable","screen-reader":"Optimize for screen reader users"}[w]||"Make this element accessible";return`<!-- a11y-hint: ${q||K} -->`});let G=/@screenReader\(([^@]*)\)@endScreenReader/g;return Y=Y.replace(G,(Q,w)=>{return`<span class="sr-only">${w.trim()}</span>`}),Y=Y.replace(/@ariaDescribe\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(Q,w,q)=>{return`<span id="${`desc-${w}`}" class="sr-only">${q}</span>`}),Y}var D6,y6;var h9=E(()=>{I6();D6={name:"a11y",handler:($,X,Z,J)=>{if(!X.length)return $;let Y=X[0].replace(/['"]/g,""),G=X.length>1?X[1].replace(/['"]/g,""):"",w={"aria-label":"Ensure interactive elements have accessible labels","alt-text":"Provide alternative text for images",focus:"Ensure the element can receive keyboard focus",landmark:"Use appropriate landmark roles","heading-order":"Maintain proper heading hierarchy","color-contrast":"Ensure sufficient color contrast","keyboard-nav":"Make sure element is keyboard navigable","screen-reader":"Optimize for screen reader users"}[Y]||"Make this element accessible";return`<!-- a11y-hint: ${G||w} -->${$}`},hasEndTag:!1},y6={name:"screenReader",handler:($)=>{return`<span class="sr-only">${$}</span>`},hasEndTag:!0}});function iq($,X={}){let{duration:Z,delay:J,ease:Y,direction:G,custom:Q}={...H1,...X};if($==="custom"&&Q)return Q;switch($){case"fade":return`${G==="in"?"opacity: 0; animation: fadeIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":G==="out"?"opacity: 1; animation: fadeOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"opacity: 1; transition: opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
1654
+ `),N8}var N8;var I6={};t(I6,{setAppUrl:()=>b9,runMiddleware:()=>B7,route:()=>Q7,resolveLayoutChain:()=>H8,resetRoutes:()=>P9,registerMiddleware:()=>w7,patternToRegex:()=>G7,navigateTo:()=>x9,matchRoute:()=>_8,loadMiddlewareFromDirectory:()=>z7,isNonPageRoutePattern:()=>X7,isNonPageRoutePath:()=>N9,hasMiddleware:()=>h9,getRouterScript:()=>H7,getMiddlewareNames:()=>K7,getMiddleware:()=>R8,generateRouteTypes:()=>J7,generateRouteManifest:()=>Y7,formatRoutes:()=>y9,findErrorPage:()=>D9,filePathToPattern:()=>B8,extractLayoutMetadata:()=>k6,deriveLayoutGroup:()=>_7,defineRoutes:()=>C9,defineRoute:()=>S9,defineMiddleware:()=>g9,createStorageManager:()=>A8,createServerCookieManager:()=>F8,createRouter:()=>V6,createRouteLocation:()=>U7,createMiddlewareContext:()=>j7,createClientCookieManager:()=>V8,clearMiddleware:()=>W7,bracketPathToRegex:()=>L6,abortNavigation:()=>f9,Router:()=>F5,NON_PAGE_DIRS:()=>$7});var I1=E(()=>{A6();M9();R6();M6();I9();T9();j8()});function O7($,X={}){return new F5($,X).routes}var u9=E(()=>{I1();I1()});function d9($){return`--stx-${$}`}function m9($,X){let Z=X.lastIndexOf("-");if(Z===-1)return typeof $[X]==="string"?$[X]:void 0;let J=$[X.slice(0,Z)];if(!J||typeof J!=="object")return;let Y=J[X.slice(Z+1)];return typeof Y==="string"?Y:void 0}function D6($){let X={};for(let[Z,J]of Object.entries(E6)){let Y=m9($,J.light);if(Y===void 0)continue;X[Z]=`var(${d9(Z)}, ${Y})`}return X}function y6($){let X=[],Z=[];for(let[J,Y]of Object.entries(E6)){let G=m9($,Y.light),Q=m9($,Y.dark);if(G===void 0)continue;if(X.push(` ${d9(J)}: ${G};`),Q!==void 0)Z.push(` ${d9(J)}: ${Q};`)}if(X.length===0)return"";return["/* stx role tokens \u2014 override any of these to re-theme by meaning. */",":root {",...X,"}",".dark {",...Z,"}",""].join(`
1655
+ `)}var E6;var b6=E(()=>{E6={fg:{light:"gray-900",dark:"gray-100",description:"Primary text"},"fg-strong":{light:"gray-700",dark:"gray-300",description:"Labels, secondary headings"},"fg-muted":{light:"gray-600",dark:"gray-400",description:"Supporting text"},"fg-soft":{light:"gray-500",dark:"gray-400",description:"De-emphasised text"},"fg-subtle":{light:"gray-400",dark:"gray-500",description:"Placeholders, disabled text"},surface:{light:"gray-50",dark:"gray-800",description:"Page and panel background"},"surface-raised":{light:"gray-100",dark:"gray-700",description:"Cards, popovers"},"surface-sunken":{light:"gray-200",dark:"gray-700",description:"Wells, track backgrounds"},line:{light:"gray-200",dark:"gray-700",description:"Default border, divider"},"line-strong":{light:"gray-300",dark:"gray-600",description:"Input border, focus ring track"},accent:{light:"indigo-600",dark:"indigo-400",description:"Primary action, selected state"},info:{light:"blue-600",dark:"blue-400",description:"Informational emphasis, links"},danger:{light:"red-600",dark:"red-400",description:"Errors, destructive actions"},success:{light:"green-600",dark:"green-400",description:"Confirmation"},warning:{light:"yellow-500",dark:"yellow-400",description:"Caution"},"accent-solid":{light:"indigo-600",dark:"indigo-500",description:"Primary button fill"},"info-solid":{light:"blue-600",dark:"blue-500",description:"Informational fill"},"danger-solid":{light:"red-600",dark:"red-500",description:"Destructive button fill"},"success-solid":{light:"green-600",dark:"green-500",description:"Confirmation fill"}}});function S6($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function l9($,X){let Z={...$};for(let[J,Y]of Object.entries(X))Z[J]=S6(Y)&&S6(Z[J])?l9(Z[J],Y):Y;return Z}function C6($={},X={}){let Z=$.theme||{},J=X.theme||{},{extend:Y,...G}=J,{extend:Q,...w}=Z,q=w.colors||{};w.colors={...q,...D6(q)};let W=l9(w,G),K=l9(Q||{},Y||{});if(Object.keys(K).length>0)W.extend=K;let z=[...$.safelist||[],...X.safelist||[]],U={...$.shortcuts||{},...X.shortcuts||{}},B=[...$.preflights||[],...X.preflights||[]];return{config:{...$,...X,theme:W,safelist:z,shortcuts:U,...B.length>0?{preflights:B}:{},content:[],output:""},safelist:z,shortcuts:U,includePreflight:X.preflight!==!1,minify:X.minify===!0,tokenCSS:y6(q)}}var P6=E(()=>{b6()});import L7 from"path";function x6($){v6=$?.trim()||null}function F7(){return process.env[eq]?.trim()||v6||A5}function _1($=process.cwd(),...X){let Z=F7();return L7.isAbsolute(Z)?L7.join(Z,...X):L7.join($,Z,...X)}function V7($){if(!$||L7.isAbsolute($))return $;let X=$.replace(/\\/g,"/");if(X!==A5&&!X.startsWith(`${A5}/`))return $;let Z=X.slice(A5.length+1);return Z?L7.join(F7(),Z):F7()}var A5=".stx",eq="STX_DIR",v6=null;var A7=()=>{};var H0;var f6=E(()=>{H0={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",gray:"\x1B[90m",bgBlack:"\x1B[40m",bgRed:"\x1B[41m",bgGreen:"\x1B[42m",bgYellow:"\x1B[43m",bgBlue:"\x1B[44m",bgMagenta:"\x1B[45m",bgCyan:"\x1B[46m",bgWhite:"\x1B[47m",bgGray:"\x1B[100m"}});var g6=()=>{};function h6($,X,Z,J){let Y=$;Y=Y.replace(/@a11y\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(Q,w,q)=>{let K={"aria-label":"Ensure interactive elements have accessible labels","alt-text":"Provide alternative text for images",focus:"Ensure the element can receive keyboard focus",landmark:"Use appropriate landmark roles","heading-order":"Maintain proper heading hierarchy","color-contrast":"Ensure sufficient color contrast","keyboard-nav":"Make sure element is keyboard navigable","screen-reader":"Optimize for screen reader users"}[w]||"Make this element accessible";return`<!-- a11y-hint: ${q||K} -->`});let G=/@screenReader\(([^@]*)\)@endScreenReader/g;return Y=Y.replace(G,(Q,w)=>{return`<span class="sr-only">${w.trim()}</span>`}),Y=Y.replace(/@ariaDescribe\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(Q,w,q)=>{return`<span id="${`desc-${w}`}" class="sr-only">${q}</span>`}),Y}var u6,d6;var c9=E(()=>{g6();u6={name:"a11y",handler:($,X,Z,J)=>{if(!X.length)return $;let Y=X[0].replace(/['"]/g,""),G=X.length>1?X[1].replace(/['"]/g,""):"",w={"aria-label":"Ensure interactive elements have accessible labels","alt-text":"Provide alternative text for images",focus:"Ensure the element can receive keyboard focus",landmark:"Use appropriate landmark roles","heading-order":"Maintain proper heading hierarchy","color-contrast":"Ensure sufficient color contrast","keyboard-nav":"Make sure element is keyboard navigable","screen-reader":"Optimize for screen reader users"}[Y]||"Make this element accessible";return`<!-- a11y-hint: ${G||w} -->${$}`},hasEndTag:!1},d6={name:"screenReader",handler:($)=>{return`<span class="sr-only">${$}</span>`},hasEndTag:!0}});function $W($,X={}){let{duration:Z,delay:J,ease:Y,direction:G,custom:Q}={...H1,...X};if($==="custom"&&Q)return Q;switch($){case"fade":return`${G==="in"?"opacity: 0; animation: fadeIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":G==="out"?"opacity: 1; animation: fadeOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"opacity: 1; transition: opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
1655
1656
  @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
1656
1657
  @keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } }`;case"slide":return`${G==="in"?"transform: translateY(20px); opacity: 0; animation: slideIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":G==="out"?"transform: translateY(0); opacity: 1; animation: slideOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"transform: translateY(0); opacity: 1; transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms), opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
1657
1658
  @keyframes slideIn { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@@ -1661,7 +1662,7 @@ else {
1661
1662
  @keyframes flipIn { from { transform: perspective(400px) rotateX(-90deg); opacity: 0; } to { transform: perspective(400px) rotateX(0); opacity: 1; } }
1662
1663
  @keyframes flipOut { from { transform: perspective(400px) rotateX(0); opacity: 1; } to { transform: perspective(400px) rotateX(90deg); opacity: 0; } }`;case"rotate":return`${G==="in"?"transform: rotate(-90deg); opacity: 0; animation: rotateIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":G==="out"?"transform: rotate(0); opacity: 1; animation: rotateOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"transform: rotate(0); opacity: 1; transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms), opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
1663
1664
  @keyframes rotateIn { from { transform: rotate(-90deg); opacity: 0; } to { transform: rotate(0); opacity: 1; } }
1664
- @keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function nq(){return`
1665
+ @keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function XW(){return`
1665
1666
  <script data-stx-scoped data-stx-run="once">
1666
1667
  // Motion preferences handling
1667
1668
  (function() {
@@ -1689,7 +1690,7 @@ else {
1689
1690
  });
1690
1691
  })();
1691
1692
  </script>
1692
- `}function rq($){return[/@animate\b/,/@transition\b/,/@scroll(?:Animate)?\b/,/@staggered\b/,/@sequence\b/,/@motion\b/,/@animationGroup\b/,/\bstx-transition\b/,/\bstx-(?:fade|scale|flip|rotate|slide|from-|observe)\b/,/data-animate=['"](?:auto|true|false)['"]/].some((Z)=>Z.test($))}function oq($=0.1,X="0px"){return`
1693
+ `}function ZW($){return[/@animate\b/,/@transition\b/,/@scroll(?:Animate)?\b/,/@staggered\b/,/@sequence\b/,/@motion\b/,/@animationGroup\b/,/\bstx-transition\b/,/\bstx-(?:fade|scale|flip|rotate|slide|from-|observe)\b/,/data-animate=['"](?:auto|true|false)['"]/].some((Z)=>Z.test($))}function JW($=0.1,X="0px"){return`
1693
1694
  <script data-stx-scoped data-stx-run="always">
1694
1695
  // Intersection Observer for scroll animations
1695
1696
  (function() {
@@ -1732,7 +1733,7 @@ else {
1732
1733
  }
1733
1734
  })();
1734
1735
  </script>
1735
- `}function sq(){return`
1736
+ `}function YW(){return`
1736
1737
  <style id="stx-animation-base">
1737
1738
  :root {
1738
1739
  --stx-transition-duration: 300ms;
@@ -1847,7 +1848,7 @@ else {
1847
1848
  transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
1848
1849
  }
1849
1850
  </style>
1850
- `}function aq($,X,Z={}){let{staggerDelay:J=50,sequence:Y=!1}=Z;return`
1851
+ `}function GW($,X,Z={}){let{staggerDelay:J=50,sequence:Y=!1}=Z;return`
1851
1852
  <script data-stx-scoped data-stx-run="always">
1852
1853
  // Animation Group: ${$}
1853
1854
  (function() {
@@ -1884,11 +1885,11 @@ else {
1884
1885
  }
1885
1886
  })();
1886
1887
  </script>
1887
- `}function v6($,X,Z,J){let Y=$;if(J.animation?.enabled===!1)return Y;let G=Z.includes("test")&&Z.includes("animation");if(!rq(Y)&&!G)return Y;if(!Y.includes('<style id="stx-animation-base">')){let w=sq();Y=Y.replace("</head>",`${w}
1888
- </head>`)}if(Y.includes("stx-observe")){if(!Y.includes("Intersection Observer for scroll animations")){let q=oq(),W=Y.lastIndexOf("</body>");if(W!==-1)Y=Y.slice(0,W)+q+`
1889
- `+Y.slice(W)}}return Y}var H1,b6,S6,C6,P6;var u9=E(()=>{H1={duration:300,delay:0,ease:"ease",direction:"both"};b6={name:"transition",handler:($,X,Z,J)=>{if(X.length<1)return`<div class="stx-error">@transition directive requires at least a transition type</div>${$}`;let Y=X[0],G=X.length>1?Number.parseInt(X[1],10)||H1.duration:H1.duration,Q=X.length>2?X[2]||H1.ease:H1.ease,w=X.length>3?Number.parseInt(X[3],10)||H1.delay:H1.delay,q=X.length>4?X[4]||H1.direction:H1.direction,W=`stx-transition-${Math.random().toString(36).substr(2,9)}`,K=iq(Y,{duration:G,delay:w,ease:Q,direction:q}),z="stx-transition",U="";if(Y==="fade")U="stx-fade";else if(Y==="slide")U="stx-slide";else if(Y==="scale")U="stx-scale";else if(Y==="flip")U="stx-flip";else if(Y==="rotate")U="stx-rotate";return`<div id="${W}" class="${z} ${U} ${q==="out"?"stx-out":""}"
1890
- style="--stx-transition-duration: ${G}ms; --stx-transition-ease: ${Q}; --stx-transition-delay: ${w}ms;">${$}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},S6={name:"scrollAnimate",handler:($,X,Z,J)=>{if(X.length<1)return`<div class="stx-error">@scrollAnimate directive requires at least an animation type</div>${$}`;let Y=X[0],G=X.length>1?Number.parseInt(X[1],10)||300:300,Q=X.length>2?X[2]||"ease":"ease",w=X.length>3?Number.parseFloat(X[3])||0.2:0.2,q=X.length>4?Number.parseInt(X[4],10)||0:0,W=`stx-scroll-${Math.random().toString(36).substr(2,9)}`,K=`--stx-transition-duration: ${G}ms; --stx-transition-ease: ${Q}; --stx-transition-delay: ${q}ms; will-change: opacity, transform;`,z="stx-transition stx-observe stx-out";if(Y==="fade")z+=" stx-fade";else if(Y==="slide-up"||Y==="slide")z+=" stx-from-bottom";else if(Y==="slide-down")z+=" stx-from-top";else if(Y==="slide-left")z+=" stx-from-right";else if(Y==="slide-right")z+=" stx-from-left";else if(Y==="scale")z+=" stx-scale";else if(Y.includes("-"))z+=` stx-${Y}`;else z+=` stx-${Y}`;return`<div id="${W}" class="${z}" style="${K}" data-threshold="${w}">${$}</div>`},hasEndTag:!0,description:"Applies animations that trigger when scrolled into view"},C6={name:"animationGroup",handler:($,X,Z,J)=>{if(X.length<2)return`<div class="stx-error">@animationGroup directive requires a group name and at least one element selector</div>${$}`;let Y=X[0],G=X.slice(1).map((W)=>W.startsWith("#")||W.startsWith(".")?W:`#${W}`),Q=Z.staggerDelay||50,w=Z.sequence||!0,q=aq(Y,G,{staggerDelay:Q,sequence:w});return`${$}
1891
- ${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},P6={name:"motion",handler:($,X,Z,J)=>{let Y=X.length>0?X[0].toLowerCase()==="true":!0,G=nq();return`<div data-animate="${Y?"auto":"true"}">${$}</div>${G}`},hasEndTag:!0,description:"Controls motion and animation preferences"}});var x6=E(()=>{k1();d9()});async function tq($,X,Z,J){let Y=X[0]?.replace(/['"]/g,"")||"main",G=_7();if(Y!=="main")G=G.replace("container:'main'",`container:'${Y}'`);return`<script data-stx-router>${G}</script>`}var f6;var d9=E(()=>{x6();f6={name:"stxRouter",handler:tq,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"}});function g6($){let X=$.heatmap;if(!X?.enabled)return"";let Z={...eq,...X};return`
1888
+ `}function i6($,X,Z,J){let Y=$;if(J.animation?.enabled===!1)return Y;let G=Z.includes("test")&&Z.includes("animation");if(!ZW(Y)&&!G)return Y;if(!Y.includes('<style id="stx-animation-base">')){let w=YW();Y=Y.replace("</head>",`${w}
1889
+ </head>`)}if(Y.includes("stx-observe")){if(!Y.includes("Intersection Observer for scroll animations")){let q=JW(),W=Y.lastIndexOf("</body>");if(W!==-1)Y=Y.slice(0,W)+q+`
1890
+ `+Y.slice(W)}}return Y}var H1,m6,l6,c6,p6;var p9=E(()=>{H1={duration:300,delay:0,ease:"ease",direction:"both"};m6={name:"transition",handler:($,X,Z,J)=>{if(X.length<1)return`<div class="stx-error">@transition directive requires at least a transition type</div>${$}`;let Y=X[0],G=X.length>1?Number.parseInt(X[1],10)||H1.duration:H1.duration,Q=X.length>2?X[2]||H1.ease:H1.ease,w=X.length>3?Number.parseInt(X[3],10)||H1.delay:H1.delay,q=X.length>4?X[4]||H1.direction:H1.direction,W=`stx-transition-${Math.random().toString(36).substr(2,9)}`,K=$W(Y,{duration:G,delay:w,ease:Q,direction:q}),z="stx-transition",U="";if(Y==="fade")U="stx-fade";else if(Y==="slide")U="stx-slide";else if(Y==="scale")U="stx-scale";else if(Y==="flip")U="stx-flip";else if(Y==="rotate")U="stx-rotate";return`<div id="${W}" class="${z} ${U} ${q==="out"?"stx-out":""}"
1891
+ style="--stx-transition-duration: ${G}ms; --stx-transition-ease: ${Q}; --stx-transition-delay: ${w}ms;">${$}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},l6={name:"scrollAnimate",handler:($,X,Z,J)=>{if(X.length<1)return`<div class="stx-error">@scrollAnimate directive requires at least an animation type</div>${$}`;let Y=X[0],G=X.length>1?Number.parseInt(X[1],10)||300:300,Q=X.length>2?X[2]||"ease":"ease",w=X.length>3?Number.parseFloat(X[3])||0.2:0.2,q=X.length>4?Number.parseInt(X[4],10)||0:0,W=`stx-scroll-${Math.random().toString(36).substr(2,9)}`,K=`--stx-transition-duration: ${G}ms; --stx-transition-ease: ${Q}; --stx-transition-delay: ${q}ms; will-change: opacity, transform;`,z="stx-transition stx-observe stx-out";if(Y==="fade")z+=" stx-fade";else if(Y==="slide-up"||Y==="slide")z+=" stx-from-bottom";else if(Y==="slide-down")z+=" stx-from-top";else if(Y==="slide-left")z+=" stx-from-right";else if(Y==="slide-right")z+=" stx-from-left";else if(Y==="scale")z+=" stx-scale";else if(Y.includes("-"))z+=` stx-${Y}`;else z+=` stx-${Y}`;return`<div id="${W}" class="${z}" style="${K}" data-threshold="${w}">${$}</div>`},hasEndTag:!0,description:"Applies animations that trigger when scrolled into view"},c6={name:"animationGroup",handler:($,X,Z,J)=>{if(X.length<2)return`<div class="stx-error">@animationGroup directive requires a group name and at least one element selector</div>${$}`;let Y=X[0],G=X.slice(1).map((W)=>W.startsWith("#")||W.startsWith(".")?W:`#${W}`),Q=Z.staggerDelay||50,w=Z.sequence||!0,q=GW(Y,G,{staggerDelay:Q,sequence:w});return`${$}
1892
+ ${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},p6={name:"motion",handler:($,X,Z,J)=>{let Y=X.length>0?X[0].toLowerCase()==="true":!0,G=XW();return`<div data-animate="${Y?"auto":"true"}">${$}</div>${G}`},hasEndTag:!0,description:"Controls motion and animation preferences"}});var n6=E(()=>{I1();i9()});async function QW($,X,Z,J){let Y=X[0]?.replace(/['"]/g,"")||"main",G=H7();if(Y!=="main")G=G.replace("container:'main'",`container:'${Y}'`);return`<script data-stx-router>${G}</script>`}var r6;var i9=E(()=>{n6();r6={name:"stxRouter",handler:QW,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"}});function o6($){let X=$.heatmap;if(!X?.enabled)return"";let Z={...wW,...X};return`
1892
1893
  <!-- stx Heatmap - Privacy-Compliant Tracking -->
1893
1894
  <script>
1894
1895
  (function() {
@@ -2271,10 +2272,10 @@ else {
2271
2272
  };
2272
2273
  })();
2273
2274
  </script>
2274
- `}function h6($,X){let Z=g6(X);if(!Z)return $;let J=$.lastIndexOf("</body>");if(J!==-1)return $.slice(0,J)+Z+$.slice(J);return $+Z}function $W($){let X={},Z=$.match(/(\w+)=["']?([^"'\s]+)["']?/g)||[];for(let J of Z){let[Y,G]=J.split("="),Q=G?.replace(/["']/g,"");switch(Y){case"endpoint":X.endpoint=Q;break;case"samplingRate":X.samplingRate=Number.parseInt(Q,10);break;case"batchSize":X.batchSize=Number.parseInt(Q,10);break;case"trackMouse":X.trackMouse=Q==="true";break;case"trackClicks":X.trackClicks=Q==="true";break;case"trackScroll":X.trackScroll=Q==="true";break;case"honorDnt":X.honorDnt=Q==="true";break;case"debugOverlay":X.debugOverlay=Q==="true";break}}return X}var eq,u6;var m9=E(()=>{eq={enabled:!1,trackMouse:!0,trackClicks:!0,trackScroll:!0,samplingRate:100,honorDnt:!0,batchSize:50,maxDataPoints:1000,sessionTimeout:30,persistData:!1,storagePrefix:"stx_heatmap",captureAttributes:["data-heatmap-id","data-track"],ignoreSelectors:["[data-heatmap-ignore]",".heatmap-ignore"],debugOverlay:!1};u6={name:"heatmap",hasEndTag:!1,description:"Inject privacy-compliant heatmap tracking script",handler:async($,X,Z,J)=>{let Y=Z.__stx_config||{};if(X.length>0){let G=$W(X.join(" "));Y.heatmap={...Y.heatmap,...G,enabled:!0}}return g6(Y)}}});function I1($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function d6($){let X=$.trim().toLowerCase();return!X.startsWith("javascript:")&&!X.startsWith("vbscript:")&&!X.startsWith("data:text/html")}function m6($){let X=/^---\r?\n([\s\S]*?)\r?\n---\r?\n/,Z=$.match(X);if(!Z)return{data:{},content:$.trim()};let J=Z[1],Y=$.slice(Z[0].length),G={};for(let Q of J.split(`
2275
- `)){let w=Q.trim();if(!w||w.startsWith("#"))continue;let q=w.indexOf(":");if(q===-1)continue;let W=w.slice(0,q).trim(),K=w.slice(q+1).trim();if(typeof K==="string"){if(K.startsWith('"')&&K.endsWith('"')||K.startsWith("'")&&K.endsWith("'"))K=K.slice(1,-1);else if(K.startsWith("[")&&K.endsWith("]"))try{K=JSON.parse(K)}catch{}else if(K==="true")K=!0;else if(K==="false")K=!1;else if(/^-?\d+(?:\.\d+)?$/.test(K))K=Number(K)}G[W]=K}return{data:G,content:Y.trim()}}function A7($,X={}){let{gfm:Z=!0,breaks:J=!1}=X,Y=$,G=[];if(Y=Y.replace(/```(\w*)\n([\s\S]*?)```/g,(K,z,U)=>{let B=G.length,j=z?` class="language-${I1(z)}"`:"";return G.push(`<pre><code${j}>${I1(U.trim())}</code></pre>`),`\x00CODEBLOCK${B}\x00`}),Y=Y.replace(/`([^`]*)`/g,(K,z)=>`<code>${I1(z)}</code>`),Y=Y.replace(/^######\s+(.*)$/gm,"<h6>$1</h6>"),Y=Y.replace(/^#####\s+(.*)$/gm,"<h5>$1</h5>"),Y=Y.replace(/^####\s+(.*)$/gm,"<h4>$1</h4>"),Y=Y.replace(/^###\s+(.*)$/gm,"<h3>$1</h3>"),Y=Y.replace(/^##\s+(.*)$/gm,"<h2>$1</h2>"),Y=Y.replace(/^#\s+(.*)$/gm,"<h1>$1</h1>"),Y=Y.replace(/\*\*\*(.+?)\*\*\*/g,"<strong><em>$1</em></strong>"),Y=Y.replace(/___(.+?)___/g,"<strong><em>$1</em></strong>"),Y=Y.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),Y=Y.replace(/__(.+?)__/g,"<strong>$1</strong>"),Y=Y.replace(/\*(.+?)\*/g,"<em>$1</em>"),Y=Y.replace(/(?<![a-zA-Z0-9])_(.+?)_(?![a-zA-Z0-9])/g,"<em>$1</em>"),Z)Y=Y.replace(/~~(.+?)~~/g,"<del>$1</del>");if(Y=Y.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,(K,z,U)=>{return`<img src="${d6(U)?I1(U):""}" alt="${I1(z)}" />`}),Y=Y.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(K,z,U)=>{return`<a href="${d6(U)?I1(U):""}">${z}</a>`}),Y=Y.replace(/^(?:---|\*\*\*|___)\s*$/gm,"<hr />"),Y=Y.replace(/^>\s+(.*)$/gm,"<blockquote>$1</blockquote>"),Y=Y.replace(/<\/blockquote>\n<blockquote>/g,`
2276
- `),Y=Y.replace(/^[*\-+]\s+(.*)$/gm,"<li data-ul>$1</li>"),Y=Y.replace(/(<li data-ul>.*<\/li>\n?)+/g,"<ul>$&</ul>"),Y=Y.replace(/<\/ul>\n<ul>/g,""),Y=Y.replace(/^\d+\.\s+(.*)$/gm,"<li data-ol>$1</li>"),Y=Y.replace(/(<li data-ol>.*<\/li>\n?)+/g,"<ol>$&</ol>"),Y=Y.replace(/<\/ol>\n<ol>/g,""),Y=Y.replace(/<li data-ul>/g,"<li>"),Y=Y.replace(/<li data-ol>/g,"<li>"),Z)Y=Y.replace(/^\|(.+)\|\s*\n\|[-:\s|]+\|\s*\n((?:\|.+\|\s*\n)*)/gm,(K,z,U)=>{let j=`<tr>${z.split("|").map((H)=>H.trim()).filter(Boolean).map((H)=>`<th>${I1(H)}</th>`).join("")}</tr>`,_=U.trim().split(`
2277
- `).map((H)=>{return`<tr>${H.split("|").map((L)=>L.trim()).filter(Boolean).map((L)=>`<td>${I1(L)}</td>`).join("")}</tr>`}).join(`
2275
+ `}function s6($,X){let Z=o6(X);if(!Z)return $;let J=$.lastIndexOf("</body>");if(J!==-1)return $.slice(0,J)+Z+$.slice(J);return $+Z}function qW($){let X={},Z=$.match(/(\w+)=["']?([^"'\s]+)["']?/g)||[];for(let J of Z){let[Y,G]=J.split("="),Q=G?.replace(/["']/g,"");switch(Y){case"endpoint":X.endpoint=Q;break;case"samplingRate":X.samplingRate=Number.parseInt(Q,10);break;case"batchSize":X.batchSize=Number.parseInt(Q,10);break;case"trackMouse":X.trackMouse=Q==="true";break;case"trackClicks":X.trackClicks=Q==="true";break;case"trackScroll":X.trackScroll=Q==="true";break;case"honorDnt":X.honorDnt=Q==="true";break;case"debugOverlay":X.debugOverlay=Q==="true";break}}return X}var wW,a6;var n9=E(()=>{wW={enabled:!1,trackMouse:!0,trackClicks:!0,trackScroll:!0,samplingRate:100,honorDnt:!0,batchSize:50,maxDataPoints:1000,sessionTimeout:30,persistData:!1,storagePrefix:"stx_heatmap",captureAttributes:["data-heatmap-id","data-track"],ignoreSelectors:["[data-heatmap-ignore]",".heatmap-ignore"],debugOverlay:!1};a6={name:"heatmap",hasEndTag:!1,description:"Inject privacy-compliant heatmap tracking script",handler:async($,X,Z,J)=>{let Y=Z.__stx_config||{};if(X.length>0){let G=qW(X.join(" "));Y.heatmap={...Y.heatmap,...G,enabled:!0}}return o6(Y)}}});function E1($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function t6($){let X=$.trim().toLowerCase();return!X.startsWith("javascript:")&&!X.startsWith("vbscript:")&&!X.startsWith("data:text/html")}function e6($){let X=/^---\r?\n([\s\S]*?)\r?\n---\r?\n/,Z=$.match(X);if(!Z)return{data:{},content:$.trim()};let J=Z[1],Y=$.slice(Z[0].length),G={};for(let Q of J.split(`
2276
+ `)){let w=Q.trim();if(!w||w.startsWith("#"))continue;let q=w.indexOf(":");if(q===-1)continue;let W=w.slice(0,q).trim(),K=w.slice(q+1).trim();if(typeof K==="string"){if(K.startsWith('"')&&K.endsWith('"')||K.startsWith("'")&&K.endsWith("'"))K=K.slice(1,-1);else if(K.startsWith("[")&&K.endsWith("]"))try{K=JSON.parse(K)}catch{}else if(K==="true")K=!0;else if(K==="false")K=!1;else if(/^-?\d+(?:\.\d+)?$/.test(K))K=Number(K)}G[W]=K}return{data:G,content:Y.trim()}}function R7($,X={}){let{gfm:Z=!0,breaks:J=!1}=X,Y=$,G=[];if(Y=Y.replace(/```(\w*)\n([\s\S]*?)```/g,(K,z,U)=>{let B=G.length,j=z?` class="language-${E1(z)}"`:"";return G.push(`<pre><code${j}>${E1(U.trim())}</code></pre>`),`\x00CODEBLOCK${B}\x00`}),Y=Y.replace(/`([^`]*)`/g,(K,z)=>`<code>${E1(z)}</code>`),Y=Y.replace(/^######\s+(.*)$/gm,"<h6>$1</h6>"),Y=Y.replace(/^#####\s+(.*)$/gm,"<h5>$1</h5>"),Y=Y.replace(/^####\s+(.*)$/gm,"<h4>$1</h4>"),Y=Y.replace(/^###\s+(.*)$/gm,"<h3>$1</h3>"),Y=Y.replace(/^##\s+(.*)$/gm,"<h2>$1</h2>"),Y=Y.replace(/^#\s+(.*)$/gm,"<h1>$1</h1>"),Y=Y.replace(/\*\*\*(.+?)\*\*\*/g,"<strong><em>$1</em></strong>"),Y=Y.replace(/___(.+?)___/g,"<strong><em>$1</em></strong>"),Y=Y.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),Y=Y.replace(/__(.+?)__/g,"<strong>$1</strong>"),Y=Y.replace(/\*(.+?)\*/g,"<em>$1</em>"),Y=Y.replace(/(?<![a-zA-Z0-9])_(.+?)_(?![a-zA-Z0-9])/g,"<em>$1</em>"),Z)Y=Y.replace(/~~(.+?)~~/g,"<del>$1</del>");if(Y=Y.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,(K,z,U)=>{return`<img src="${t6(U)?E1(U):""}" alt="${E1(z)}" />`}),Y=Y.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(K,z,U)=>{return`<a href="${t6(U)?E1(U):""}">${z}</a>`}),Y=Y.replace(/^(?:---|\*\*\*|___)\s*$/gm,"<hr />"),Y=Y.replace(/^>\s+(.*)$/gm,"<blockquote>$1</blockquote>"),Y=Y.replace(/<\/blockquote>\n<blockquote>/g,`
2277
+ `),Y=Y.replace(/^[*\-+]\s+(.*)$/gm,"<li data-ul>$1</li>"),Y=Y.replace(/(<li data-ul>.*<\/li>\n?)+/g,"<ul>$&</ul>"),Y=Y.replace(/<\/ul>\n<ul>/g,""),Y=Y.replace(/^\d+\.\s+(.*)$/gm,"<li data-ol>$1</li>"),Y=Y.replace(/(<li data-ol>.*<\/li>\n?)+/g,"<ol>$&</ol>"),Y=Y.replace(/<\/ol>\n<ol>/g,""),Y=Y.replace(/<li data-ul>/g,"<li>"),Y=Y.replace(/<li data-ol>/g,"<li>"),Z)Y=Y.replace(/^\|(.+)\|\s*\n\|[-:\s|]+\|\s*\n((?:\|.+\|\s*\n)*)/gm,(K,z,U)=>{let j=`<tr>${z.split("|").map((H)=>H.trim()).filter(Boolean).map((H)=>`<th>${E1(H)}</th>`).join("")}</tr>`,_=U.trim().split(`
2278
+ `).map((H)=>{return`<tr>${H.split("|").map((O)=>O.trim()).filter(Boolean).map((O)=>`<td>${E1(O)}</td>`).join("")}</tr>`}).join(`
2278
2279
  `);return`<table>
2279
2280
  <thead>
2280
2281
  ${j}
@@ -2289,7 +2290,7 @@ ${_}
2289
2290
  `:`
2290
2291
  `)}</p>`);if(Y=w.join(`
2291
2292
  `),J)Y=Y.replace(/\n/g,`<br />
2292
- `);for(let K=0;K<G.length;K++)Y=Y.replace(`\x00CODEBLOCK${K}\x00`,G[K]);return Y=Y.replace(/<p>\s*<\/p>/g,""),Y.trim()}function R5($="const",X=[],Z){let J=X.length?O1.filter((Y)=>!X.includes(Y)):O1;if(Z!==void 0)J=J.filter((Y)=>{let G=Y.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(^|[^\\w$])${G}(?![\\w$])`).test(Z)});return`${$} { ${J.join(", ")} } = window.stx;`}function l9($){if(!$)return!1;return ZW.some((X)=>new RegExp(`\\b${X}\\s*(?:<[^>]*>)?\\s*\\(`).test($))}function c9($){if(!$)return!1;let X=o6($);if(JW.some((Z)=>Z.test(X)))return!0;return l9(X)}function c6($){if(!$)return!1;return YW.test(o6($))||c9($)}function p6($){return GW.includes($.toLowerCase())}function r6(){return`{${i6.map(($)=>`'${$}':1`).join(",")}}`}function o6($){if(!$)return $;let X=(Z)=>Z.replace(/(<[^>]*>)|([^<]+)/g,(J,Y,G)=>Y??" ".repeat(G.length));return $.replace(/(<pre\b[^>]*>)([\s\S]*?)(<\/pre>)/gi,(Z,J,Y,G)=>J+X(Y)+G).replace(/(<code\b[^>]*>)([\s\S]*?)(<\/code>)/gi,(Z,J,Y,G)=>J+X(Y)+G).replace(/<!--[\s\S]*?-->/g,(Z)=>" ".repeat(Z.length))}var O1,l6,XW,ZW,JW,YW,GW,i6,QW,n6;var e0=E(()=>{O1=["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"],l6=["onMount","onDestroy"];XW=["defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","withDefaults"],ZW=O1.filter(($)=>!XW.includes($));JW=[/@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/],YW=/\s@[a-z][\w.:-]*\s*=/i;GW=["if","else-if","elseif","else","for","show","key","text","html","model","ref"];i6=["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"],QW=["x-init","x-transition","x-effect","x-on"],n6=[...i6,...QW]});function t6($){let X={prevent:!1,stop:!1,once:!1,capture:!1,self:!1,passive:!1,keys:[],systemKeys:[],mouse:null,debounce:null,throttle:null};for(let Z of $){let J=Z.toLowerCase();if(J==="prevent")X.prevent=!0;else if(J==="stop")X.stop=!0;else if(J==="once")X.once=!0;else if(J==="capture")X.capture=!0;else if(J==="self")X.self=!0;else if(J==="passive")X.passive=!0;else if(wW.has(J))X.systemKeys.push(J);else if(J in e6)X.mouse=J;else if(J in a6||/^[a-z]$/.test(J))X.keys.push(a6[J]||J.toUpperCase());else if(J.startsWith("debounce")){let Y=J.match(/debounce(?:\.(\d+))?/);X.debounce=Y?.[1]?Number.parseInt(Y[1],10):300}else if(J.startsWith("throttle")){let Y=J.match(/throttle(?:\.(\d+))?/);X.throttle=Y?.[1]?Number.parseInt(Y[1],10):300}}return X}function $2($){let X=[],Z=0,J=/<([a-z][a-z0-9-]*)\s+([^>]*@[a-z][^>]*)>/gi,Y;while((Y=J.exec($))!==null){let[G,Q,w]=Y,q=Y.index,W=q+G.length,K=`__stx_evt_${Z++}`,z=[],U=/@([a-z][a-z0-9.]*)\s*=\s*"([^"]*)"/gi,B;while((B=U.exec(w))!==null){let[,_,H]=B,O=_.split("."),L=O[0];if(!s6.has(L))continue;z.push({attribute:`@${_}`,event:L,handler:H,modifiers:t6(O.slice(1)),elementId:K})}let j=/@([a-z][a-z0-9.]*)\s*=\s*'([^']*)'/gi;while((B=j.exec(w))!==null){let[,_,H]=B,O=_.split("."),L=O[0];if(!s6.has(L))continue;z.push({attribute:`@${_}`,event:L,handler:H,modifiers:t6(O.slice(1)),elementId:K})}if(z.length>0)X.push({originalTag:G,elementId:K,events:z,startIndex:q,endIndex:W})}return X}function qW($){let X=[],{modifiers:Z}=$;if(Z.self)X.push("if ($event.target !== $el) return");for(let J of Z.systemKeys)X.push(`if (!$event.${J}Key) return`);if(Z.keys.length>0){let J=Z.keys.map((Y)=>`$event.key === '${Y}'`).join(" || ");X.push(`if (!(${J})) return`)}if(Z.mouse!==null){let J=e6[Z.mouse];X.push(`if ($event.button !== ${J}) return`)}if(Z.prevent)X.push("$event.preventDefault()");if(Z.stop)X.push("$event.stopPropagation()");return X.join("; ")}function WW($,X){let Z=$;if(X.debounce!==null)Z=`__stx_debounce(() => { ${Z} }, ${X.debounce})`;else if(X.throttle!==null)Z=`__stx_throttle(() => { ${Z} }, ${X.throttle})`;return Z}function p9($){let X=$.trim();if(!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(X))return $;return`if (typeof ${X} === 'function' && !${X}._isSignal) ${X}($event);`}function KW($){let{modifiers:X}=$,Z=$.elementId.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),J=qW($),Y=WW(p9($.handler),X),G=[];if(X.once)G.push("once: true");if(X.capture)G.push("capture: true");if(X.passive)G.push("passive: true");let Q=G.length>0?`, { ${G.join(", ")} }`:"",w=Y.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t");if($.event==="mounted")return`
2293
+ `);for(let K=0;K<G.length;K++)Y=Y.replace(`\x00CODEBLOCK${K}\x00`,G[K]);return Y=Y.replace(/<p>\s*<\/p>/g,""),Y.trim()}function R5($="const",X=[],Z){let J=X.length?O1.filter((Y)=>!X.includes(Y)):O1;if(Z!==void 0)J=J.filter((Y)=>{let G=Y.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(^|[^\\w$])${G}(?![\\w$])`).test(Z)});return`${$} { ${J.join(", ")} } = window.stx;`}function r9($){if(!$)return!1;return KW.some((X)=>new RegExp(`\\b${X}\\s*(?:<[^>]*>)?\\s*\\(`).test($))}function o9($){if(!$)return!1;let X=Q2($);if(zW.some((Z)=>Z.test(X)))return!0;return r9(X)}function X2($){if(!$)return!1;return UW.test(Q2($))||o9($)}function Z2($){return jW.includes($.toLowerCase())}function G2(){return`{${J2.map(($)=>`'${$}':1`).join(",")}}`}function Q2($){if(!$)return $;let X=(Z)=>Z.replace(/(<[^>]*>)|([^<]+)/g,(J,Y,G)=>Y??" ".repeat(G.length));return $.replace(/(<pre\b[^>]*>)([\s\S]*?)(<\/pre>)/gi,(Z,J,Y,G)=>J+X(Y)+G).replace(/(<code\b[^>]*>)([\s\S]*?)(<\/code>)/gi,(Z,J,Y,G)=>J+X(Y)+G).replace(/<!--[\s\S]*?-->/g,(Z)=>" ".repeat(Z.length))}var O1,$2,WW,KW,zW,UW,jW,J2,BW,Y2;var e0=E(()=>{O1=["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"],$2=["onMount","onDestroy"];WW=["defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","withDefaults"],KW=O1.filter(($)=>!WW.includes($));zW=[/@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/],UW=/\s@[a-z][\w.:-]*\s*=/i;jW=["if","else-if","elseif","else","for","show","key","text","html","model","ref"];J2=["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"],BW=["x-init","x-transition","x-effect","x-on"],Y2=[...J2,...BW]});function W2($){let X={prevent:!1,stop:!1,once:!1,capture:!1,self:!1,passive:!1,keys:[],systemKeys:[],mouse:null,debounce:null,throttle:null};for(let Z of $){let J=Z.toLowerCase();if(J==="prevent")X.prevent=!0;else if(J==="stop")X.stop=!0;else if(J==="once")X.once=!0;else if(J==="capture")X.capture=!0;else if(J==="self")X.self=!0;else if(J==="passive")X.passive=!0;else if(_W.has(J))X.systemKeys.push(J);else if(J in K2)X.mouse=J;else if(J in q2||/^[a-z]$/.test(J))X.keys.push(q2[J]||J.toUpperCase());else if(J.startsWith("debounce")){let Y=J.match(/debounce(?:\.(\d+))?/);X.debounce=Y?.[1]?Number.parseInt(Y[1],10):300}else if(J.startsWith("throttle")){let Y=J.match(/throttle(?:\.(\d+))?/);X.throttle=Y?.[1]?Number.parseInt(Y[1],10):300}}return X}function z2($){let X=[],Z=0,J=/<([a-z][a-z0-9-]*)\s+([^>]*@[a-z][^>]*)>/gi,Y;while((Y=J.exec($))!==null){let[G,Q,w]=Y,q=Y.index,W=q+G.length,K=`__stx_evt_${Z++}`,z=[],U=/@([a-z][a-z0-9.]*)\s*=\s*"([^"]*)"/gi,B;while((B=U.exec(w))!==null){let[,_,H]=B,L=_.split("."),O=L[0];if(!w2.has(O))continue;z.push({attribute:`@${_}`,event:O,handler:H,modifiers:W2(L.slice(1)),elementId:K})}let j=/@([a-z][a-z0-9.]*)\s*=\s*'([^']*)'/gi;while((B=j.exec(w))!==null){let[,_,H]=B,L=_.split("."),O=L[0];if(!w2.has(O))continue;z.push({attribute:`@${_}`,event:O,handler:H,modifiers:W2(L.slice(1)),elementId:K})}if(z.length>0)X.push({originalTag:G,elementId:K,events:z,startIndex:q,endIndex:W})}return X}function HW($){let X=[],{modifiers:Z}=$;if(Z.self)X.push("if ($event.target !== $el) return");for(let J of Z.systemKeys)X.push(`if (!$event.${J}Key) return`);if(Z.keys.length>0){let J=Z.keys.map((Y)=>`$event.key === '${Y}'`).join(" || ");X.push(`if (!(${J})) return`)}if(Z.mouse!==null){let J=K2[Z.mouse];X.push(`if ($event.button !== ${J}) return`)}if(Z.prevent)X.push("$event.preventDefault()");if(Z.stop)X.push("$event.stopPropagation()");return X.join("; ")}function OW($,X){let Z=$;if(X.debounce!==null)Z=`__stx_debounce(() => { ${Z} }, ${X.debounce})`;else if(X.throttle!==null)Z=`__stx_throttle(() => { ${Z} }, ${X.throttle})`;return Z}function s9($){let X=$.trim();if(!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(X))return $;return`if (typeof ${X} === 'function' && !${X}._isSignal) ${X}($event);`}function LW($){let{modifiers:X}=$,Z=$.elementId.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),J=HW($),Y=OW(s9($.handler),X),G=[];if(X.once)G.push("once: true");if(X.capture)G.push("capture: true");if(X.passive)G.push("passive: true");let Q=G.length>0?`, { ${G.join(", ")} }`:"",w=Y.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t");if($.event==="mounted")return`
2293
2294
  (function() {
2294
2295
  var $el = document.getElementById('${Z}');
2295
2296
  if (!$el) return;
@@ -2343,7 +2344,7 @@ else {
2343
2344
  __stx_runHandler('${w}', $event, $el);
2344
2345
  }
2345
2346
  }${Q});
2346
- })();`}function i9($){if($.length===0)return"";return`
2347
+ })();`}function a9($){if($.length===0)return"";return`
2347
2348
  <script data-stx-events>
2348
2349
  (function() {
2349
2350
  'use strict';
@@ -2398,44 +2399,44 @@ else {
2398
2399
  }
2399
2400
 
2400
2401
  // Event listeners
2401
- ${$.map(KW).join(`
2402
+ ${$.map(LW).join(`
2402
2403
  `)}
2403
2404
  })();
2404
- </script>`}function zW($){let X=$2($);if(X.length===0)return{template:$,bindings:[]};let Z=$,J=[];for(let Y=X.length-1;Y>=0;Y--){let G=X[Y],Q=G.originalTag;if(!Q.includes(" id="))Q=Q.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${G.elementId}"`);else{let w=Q.match(/id=["']([^"']+)["']/);if(w)for(let q of G.events)q.elementId=w[1]}for(let w of G.events){let q=w.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),W=new RegExp(`\\s*${q}\\s*=\\s*"[^"]*"`,"g"),K=new RegExp(`\\s*${q}\\s*=\\s*'[^']*'`,"g");Q=Q.replace(W,""),Q=Q.replace(K,"")}Z=Z.slice(0,G.startIndex)+Q+Z.slice(G.endIndex),J.push(...G.events)}return{template:Z,bindings:J}}function X2($,X,Z){if(c9($))return $;if(X.__stx_sfc_mode){if(/x-data\s*=\s*["']/.test($))return $;let{template:w,bindings:q}=zW($),W=X.__stx_event_bindings||[];return X.__stx_event_bindings=[...W,...q],w}let J=$2($);if(J.length===0)return $;let Y=$;for(let w=J.length-1;w>=0;w--){let q=J[w],W=q.originalTag;if(!W.includes(" id="))W=W.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${q.elementId}"`);else{let K=W.match(/id=["']([^"']+)["']/);if(K)for(let z of q.events)z.elementId=K[1]}for(let K of q.events){let z=K.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),U=new RegExp(`\\s*${z}\\s*=\\s*"[^"]*"`,"g"),B=new RegExp(`\\s*${z}\\s*=\\s*'[^']*'`,"g");W=W.replace(U,""),W=W.replace(B,"")}Y=Y.slice(0,q.startIndex)+W+Y.slice(q.endIndex)}let G=i9(J.flatMap((w)=>w.events)),Q=Y.lastIndexOf("</body>");if(Q!==-1)Y=Y.slice(0,Q)+G+`
2405
- `+Y.slice(Q);else Y+=G;return Y}var s6,a6,wW,e6;var n9=E(()=>{e0();s6=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"]),a6={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"},wW=new Set(["ctrl","alt","shift","meta"]),e6={left:0,middle:1,right:2}});function c0($){let X=/import\s*\{([^}]+)\}\s*from\s*['"](@stores|stx\/stores)['"]\s*;?\n?/g;$=$.replace(X,(J,Y)=>{return`const { ${Y.split(",").map((Q)=>Q.trim()).filter(Boolean).join(", ")} } = window.__STX_STORES__
2405
+ </script>`}function FW($){let X=z2($);if(X.length===0)return{template:$,bindings:[]};let Z=$,J=[];for(let Y=X.length-1;Y>=0;Y--){let G=X[Y],Q=G.originalTag;if(!Q.includes(" id="))Q=Q.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${G.elementId}"`);else{let w=Q.match(/id=["']([^"']+)["']/);if(w)for(let q of G.events)q.elementId=w[1]}for(let w of G.events){let q=w.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),W=new RegExp(`\\s*${q}\\s*=\\s*"[^"]*"`,"g"),K=new RegExp(`\\s*${q}\\s*=\\s*'[^']*'`,"g");Q=Q.replace(W,""),Q=Q.replace(K,"")}Z=Z.slice(0,G.startIndex)+Q+Z.slice(G.endIndex),J.push(...G.events)}return{template:Z,bindings:J}}function U2($,X,Z){if(o9($))return $;if(X.__stx_sfc_mode){if(/x-data\s*=\s*["']/.test($))return $;let{template:w,bindings:q}=FW($),W=X.__stx_event_bindings||[];return X.__stx_event_bindings=[...W,...q],w}let J=z2($);if(J.length===0)return $;let Y=$;for(let w=J.length-1;w>=0;w--){let q=J[w],W=q.originalTag;if(!W.includes(" id="))W=W.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${q.elementId}"`);else{let K=W.match(/id=["']([^"']+)["']/);if(K)for(let z of q.events)z.elementId=K[1]}for(let K of q.events){let z=K.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),U=new RegExp(`\\s*${z}\\s*=\\s*"[^"]*"`,"g"),B=new RegExp(`\\s*${z}\\s*=\\s*'[^']*'`,"g");W=W.replace(U,""),W=W.replace(B,"")}Y=Y.slice(0,q.startIndex)+W+Y.slice(q.endIndex)}let G=a9(J.flatMap((w)=>w.events)),Q=Y.lastIndexOf("</body>");if(Q!==-1)Y=Y.slice(0,Q)+G+`
2406
+ `+Y.slice(Q);else Y+=G;return Y}var w2,q2,_W,K2;var t9=E(()=>{e0();w2=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"]),q2={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"},_W=new Set(["ctrl","alt","shift","meta"]),K2={left:0,middle:1,right:2}});function c0($){let X=/import\s*\{([^}]+)\}\s*from\s*['"](@stores|stx\/stores)['"]\s*;?\n?/g;$=$.replace(X,(J,Y)=>{return`const { ${Y.split(",").map((Q)=>Q.trim()).filter(Boolean).join(", ")} } = window.__STX_STORES__
2406
2407
  `});let Z=/import\s*\{([^}]+)\}\s*from\s*['"]@composables['"]\s*;?\n?/g;return $=$.replace(Z,(J,Y)=>{return`const { ${Y.split(",").map((Q)=>Q.trim()).filter(Boolean).join(", ")} } = window.__composables
2407
- `}),$}function R8($){return $.replace(/^import\s+[^'"]*?from\s*['"][^'"]+['"]\s*;?[ \t]*$/gm,"").replace(/^import\s+['"][^'"]+['"]\s*;?[ \t]*$/gm,"")}function UW($,X){let Z=$[X],J=X+1;while(J<$.length){if($[J]==="\\"){J+=2;continue}if($[J]===Z)return J+1;J++}return $.length}function jW($,X){let Z=X+1;while(Z<$.length){if($[Z]==="\\"){Z+=2;continue}if($[Z]==="`")return Z+1;if($[Z]==="$"&&$[Z+1]==="{"){if(Z=N8($,Z+2),Z<$.length)Z++;continue}Z++}return $.length}function N8($,X){let Z=1,J=X;while(J<$.length){let Y=$[J];if(Y==="\\"){J+=2;continue}if(Y==='"'||Y==="'"){J=UW($,J);continue}if(Y==="`"){J=jW($,J);continue}if(Y==="/"&&$[J+1]==="/"){while(J<$.length&&$[J]!==`
2408
+ `}),$}function T8($){return $.replace(/^import\s+[^'"]*?from\s*['"][^'"]+['"]\s*;?[ \t]*$/gm,"").replace(/^import\s+['"][^'"]+['"]\s*;?[ \t]*$/gm,"")}function VW($,X){let Z=$[X],J=X+1;while(J<$.length){if($[J]==="\\"){J+=2;continue}if($[J]===Z)return J+1;J++}return $.length}function AW($,X){let Z=X+1;while(Z<$.length){if($[Z]==="\\"){Z+=2;continue}if($[Z]==="`")return Z+1;if($[Z]==="$"&&$[Z+1]==="{"){if(Z=M8($,Z+2),Z<$.length)Z++;continue}Z++}return $.length}function M8($,X){let Z=1,J=X;while(J<$.length){let Y=$[J];if(Y==="\\"){J+=2;continue}if(Y==='"'||Y==="'"){J=VW($,J);continue}if(Y==="`"){J=AW($,J);continue}if(Y==="/"&&$[J+1]==="/"){while(J<$.length&&$[J]!==`
2408
2409
  `)J++;continue}if(Y==="/"&&$[J+1]==="*"){J+=2;while(J<$.length&&$.slice(J,J+2)!=="*/")J++;J+=2;continue}if(Y==="{"){Z++,J++;continue}if(Y==="}"){if(Z--,Z===0)return J;J++;continue}J++}return $.length}function o0($){let X="",Z=0;while(Z<$.length){let J=$.slice(Z,Z+2);if(J==="//"){while(Z<$.length&&$[Z]!==`
2409
2410
  `)X+=" ",Z++;continue}if(J==="/*"){while(Z<$.length&&$.slice(Z,Z+2)!=="*/")X+=$[Z]===`
2410
2411
  `?`
2411
2412
  `:" ",Z++;X+=" ",Z+=2;continue}let Y=$[Z];if(Y==='"'||Y==="'"){let G=Y;X+=" ",Z++;while(Z<$.length&&$[Z]!==G){if($[Z]==="\\"){X+=" ",Z+=2;continue}X+=$[Z]===`
2412
2413
  `?`
2413
- `:" ",Z++}X+=" ",Z++;continue}if(Y==="`"){X+=" ",Z++;while(Z<$.length&&$[Z]!=="`"){if($[Z]==="\\"){X+=" ",Z+=2;continue}if($[Z]==="$"&&$[Z+1]==="{"){let G=Z+2,Q=N8($,G);if(X+=" ",X+=o0($.slice(G,Q)),Q<$.length)X+=" ";Z=Q+1;continue}X+=$[Z]===`
2414
+ `:" ",Z++}X+=" ",Z++;continue}if(Y==="`"){X+=" ",Z++;while(Z<$.length&&$[Z]!=="`"){if($[Z]==="\\"){X+=" ",Z+=2;continue}if($[Z]==="$"&&$[Z+1]==="{"){let G=Z+2,Q=M8($,G);if(X+=" ",X+=o0($.slice(G,Q)),Q<$.length)X+=" ";Z=Q+1;continue}X+=$[Z]===`
2414
2415
  `?`
2415
- `:" ",Z++}X+=" ",Z++;continue}X+=Y,Z++}return X}function BW(){let $=globalThis;return $[Z2]??=new Map,$[Z2]}function e($,X){let Z=BW(),J=`${import.meta.url}\x00${$}`,Y=Z.get(J);if(Y)return Y;let G=X();return Z.set(J,G),G.catch(()=>{if(Z.get(J)===G)Z.delete(J)}),G}var Z2;var R7=E(()=>{Z2=Symbol.for("stx.lazy-module-promises")});function N5($){if(!$||$.indexOf("</")===-1)return $;return $.replace(_W,"<\\/$1")}var _W;var r9=E(()=>{_W=/<\/(script)/gi});import HW from"process";function h0($="STX_PUBLIC_"){let X={},Z={};for(let[J,Y]of Object.entries(HW.env)){if(!J.startsWith($)||Y===void 0)continue;X[`import.meta.env.${J}`]=JSON.stringify(Y),Z[J]=Y}return X["import.meta.env"]=JSON.stringify(Z),X}var E1=()=>{};function OW($){if(!$||typeof $!=="object")return!1;let X=$;return typeof X.message==="string"&&(X.name==="BuildMessage"||X.name==="ResolveMessage"||("position"in X))}function LW($){if($&&typeof $==="object"&&Array.isArray($.errors))return $.errors;return[$]}function o9($,X){let Z=[];for(let J of LW($)){if(OW(J)){let Y=J.position||void 0;Z.push({file:X||Y?.file,line:Y?.line,column:Y?.column,message:J.message??"",lineText:Y?.lineText});continue}Z.push({file:X,message:J instanceof Error?J.message:String(J)})}return Z}function J2($,X){return o9($,X).map((Z)=>{let J=Z.file?`${Z.file}${Z.line?`:${Z.line}${Z.column?`:${Z.column}`:""}`:""}`:"",Y=Z.lineText?`
2416
+ `:" ",Z++}X+=" ",Z++;continue}X+=Y,Z++}return X}function RW(){let $=globalThis;return $[j2]??=new Map,$[j2]}function e($,X){let Z=RW(),J=`${import.meta.url}\x00${$}`,Y=Z.get(J);if(Y)return Y;let G=X();return Z.set(J,G),G.catch(()=>{if(Z.get(J)===G)Z.delete(J)}),G}var j2;var N7=E(()=>{j2=Symbol.for("stx.lazy-module-promises")});function N5($){if(!$||$.indexOf("</")===-1)return $;return $.replace(NW,"<\\/$1")}var NW;var e9=E(()=>{NW=/<\/(script)/gi});import TW from"process";function h0($="STX_PUBLIC_"){let X={},Z={};for(let[J,Y]of Object.entries(TW.env)){if(!J.startsWith($)||Y===void 0)continue;X[`import.meta.env.${J}`]=JSON.stringify(Y),Z[J]=Y}return X["import.meta.env"]=JSON.stringify(Z),X}var D1=()=>{};function MW($){if(!$||typeof $!=="object")return!1;let X=$;return typeof X.message==="string"&&(X.name==="BuildMessage"||X.name==="ResolveMessage"||("position"in X))}function kW($){if($&&typeof $==="object"&&Array.isArray($.errors))return $.errors;return[$]}function $X($,X){let Z=[];for(let J of kW($)){if(MW(J)){let Y=J.position||void 0;Z.push({file:X||Y?.file,line:Y?.line,column:Y?.column,message:J.message??"",lineText:Y?.lineText});continue}Z.push({file:X,message:J instanceof Error?J.message:String(J)})}return Z}function B2($,X){return $X($,X).map((Z)=>{let J=Z.file?`${Z.file}${Z.line?`:${Z.line}${Z.column?`:${Z.column}`:""}`:""}`:"",Y=Z.lineText?`
2416
2417
  ${Z.lineText.trim()}`:"";return J?`${J}: ${Z.message}${Y}`:`${Z.message}${Y}`}).join(`
2417
- `)}var N7={};t(N7,{shouldLogBundlerDiagnostics:()=>w2,setBundlerFallbackMode:()=>RW,resolveBundlerFallback:()=>W2,recordBundleFailure:()=>q2,queueClientBundleBuild:()=>K2,hasUserImports:()=>NW,getBundleFailures:()=>VW,clearBundleFailures:()=>AW,bundleClientScript:()=>MW});import N0 from"path";import u0 from"fs";function w2($=process.env){return $.STX_DEBUG==="true"||$.STX_DEBUG==="1"}function c1(...$){if(w2())console.log("[stx:bundler]",...$)}function q2($,X,Z){t9.push({filePath:$||"<inline>",message:X,details:Z})}function VW(){return t9.slice()}function AW(){t9.length=0}function RW($){a9=$}function W2(){if(a9)return a9;try{let $=M7.strict;return typeof $==="object"&&$!==null?$.bundlerFallback??"warn":"warn"}catch{return"warn"}}function NW($){let X=/^[ \t]*import[ \t]+(?!type(?:[ \t]|{))[\s\S]*?\s+from\s+['"]([^'"]+)['"][ \t]*;?/gm,Z;while((Z=X.exec($))!==null){let Y=Z[1];if(!Y2.some((Q)=>Q.test(Y)))return c1("detected user import:",Y),!0}let J=/^[ \t]*import[ \t]+['"]([^'"]+)['"]/gm;while((Z=J.exec($))!==null){let Y=Z[1];if(/\.css(?:\?.*)?$/.test(Y))continue;if(!Y2.some((Q)=>Q.test(Y)))return c1("detected side-effect import:",Y),!0}return!1}function TW($,X,Z,J){let Y=(G,Q)=>{let w=G===Z?X:N0.dirname(G),q=N0.resolve(w,Q),W=[q,`${q}.ts`,`${q}.tsx`,`${q}.js`,`${q}.mjs`,`${q}.jsx`,N0.join(q,"index.ts"),N0.join(q,"index.tsx"),N0.join(q,"index.js"),N0.join(q,"index.mjs")];for(let K of W)try{if(u0.existsSync(K)&&u0.statSync(K,{throwIfNoEntry:!1})?.isFile())return K}catch{}return q};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(u0.existsSync(Q.path))return{path:Q.path};return{path:Q.path,external:!0}}),G.onResolve({filter:/^\.\.?\//},(Q)=>{let w=Y(Q.importer,Q.path);return J.add(w),{path:w}}),G.onResolve({filter:/^[@~]\//},(Q)=>{let w=N0.resolve($,Q.path.slice(2)),q=[w,`${w}.ts`,`${w}.tsx`,`${w}.js`,`${w}.mjs`,`${w}.jsx`,N0.join(w,"index.ts"),N0.join(w,"index.tsx"),N0.join(w,"index.js"),N0.join(w,"index.mjs")];for(let W of q)if(u0.existsSync(W)&&u0.statSync(W,{throwIfNoEntry:!1})?.isFile())return c1(`resolved ${Q.path[0]}/ import:`,Q.path,"\u2192",W),J.add(W),{path:W};return console.warn(`[stx:bundler] could not resolve ${Q.path[0]}/ import:`,Q.path),{path:w}}),G.onLoad({filter:/\.(?:[cm]?[jt]sx?|json)$/},(Q)=>{let w=N0.extname(Q.path).toLowerCase(),q=w===".json"?"json":w===".tsx"?"tsx":w===".jsx"?"jsx":w===".ts"||w===".mts"||w===".cts"?"ts":"js";if(Q.path!==Z)J.add(Q.path);return{contents:u0.readFileSync(Q.path,"utf8"),loader:q}})}}}function K2($){let X=globalThis,J=(X[G2]??Promise.resolve()).then($,$);return X[G2]=J.then(()=>{return},()=>{return}),J}async function MW($,X,Z={}){let J=Z.projectRoot||process.cwd(),Y=Z.minify??!1,G=Z.cacheDir||_1(J,"bundle-cache"),Q=new Bun.CryptoHasher("md5");Q.update(`${FW}\x00${$}\x00${X}`);let w=Q.digest("hex").slice(0,12),q=N0.join(G,`${w}.js`),W=N0.join(G,`${w}.deps.json`),K=Bun.file(q);if(await K.exists()){let B=Bun.file(W),j=!0;if(await B.exists())try{let _=JSON.parse(await B.text());if(_.metadataVersion!==Q2||!Array.isArray(_.files))j=!1;for(let H of Array.isArray(_.files)?_.files:[])try{if(u0.statSync(H.path).mtimeMs!==H.mtimeMs){j=!1;break}}catch{j=!1;break}}catch{j=!1}if(j)return c1("cache hit:",w),await K.text();c1("cache invalidated by dep change:",w)}let z=s9.get(w);if(z)return await z;let U=K2(()=>kW($,X,{projectRoot:J,minify:Y,cacheDir:G,hash:w,cachePath:q,depsPath:W}));s9.set(w,U);try{return await U}finally{s9.delete(w)}}async function kW($,X,Z){let{projectRoot:J,minify:Y,cacheDir:G,hash:Q,cachePath:w,depsPath:q}=Z,W=_1(J,"bundle-tmp"),K=N0.join(W,`${Q}.ts`),z=N0.join(W,"out",Q);u0.mkdirSync(W,{recursive:!0}),u0.mkdirSync(z,{recursive:!0});let U=N0.dirname(X),B=[],j=/^(export\s+)?(?:const|let|var)\s+(?:\{([^}]+)\}|(\w+))/gm,_=/^(export\s+)?(?:async\s+)?function\s+(\w+)/gm,H;while((H=j.exec($))!==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($))!==null){if(H[1])continue;B.push(H[2])}let O=B.length>0?`
2418
- export { ${B.join(", ")} }`:"";await Bun.write(K,$+O),c1("bundling:",Q,"from:",N0.basename(X));let L=new Set;try{let F=await Bun.build({entrypoints:[K],outdir:z,target:"browser",format:"esm",minify:Y,plugins:[TW(J,U,K,L)],define:{"process.env.NODE_ENV":Y?'"production"':'"development"',...h0()},root:J});if(!F.success){let I=F.logs.filter((S)=>S.level==="error").map((S)=>S.message).join(", ");return console.warn("[stx:bundler] build failed:",I),$}let V="";for(let I of F.outputs){V=await I.text();break}let R=[];for(let I of V.matchAll(/^\s*export\s*\{([^}]*)\}\s*;?\s*$/gm))for(let S of I[1].split(",")){let b=S.trim().match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(b){R.push([b[2],b[1]]);continue}let y=S.trim();if(/^[A-Za-z_$][\w$]*$/.test(y))R.push([y,y])}let A=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}`,M=R.map(([I,S])=>`${JSON.stringify(I)}: ${S}`).join(", "),T=R.map(([I])=>`var ${I} = undefined;`).join(`
2419
- `),k=R.map(([I])=>`${I} = ${N}[${JSON.stringify(I)}];`).join(`
2420
- `);if(V=`${A.join(`
2418
+ `)}var T7={};t(T7,{shouldLogBundlerDiagnostics:()=>L2,setBundlerFallbackMode:()=>yW,resolveBundlerFallback:()=>V2,recordBundleFailure:()=>F2,queueClientBundleBuild:()=>A2,hasUserImports:()=>bW,getBundleFailures:()=>EW,clearBundleFailures:()=>DW,bundleClientScript:()=>CW});import N0 from"path";import u0 from"fs";function L2($=process.env){return $.STX_DEBUG==="true"||$.STX_DEBUG==="1"}function p1(...$){if(L2())console.log("[stx:bundler]",...$)}function F2($,X,Z){JX.push({filePath:$||"<inline>",message:X,details:Z})}function EW(){return JX.slice()}function DW(){JX.length=0}function yW($){ZX=$}function V2(){if(ZX)return ZX;try{let $=k7.strict;return typeof $==="object"&&$!==null?$.bundlerFallback??"warn":"warn"}catch{return"warn"}}function bW($){let X=/^[ \t]*import[ \t]+(?!type(?:[ \t]|{))[\s\S]*?\s+from\s+['"]([^'"]+)['"][ \t]*;?/gm,Z;while((Z=X.exec($))!==null){let Y=Z[1];if(!_2.some((Q)=>Q.test(Y)))return p1("detected user import:",Y),!0}let J=/^[ \t]*import[ \t]+['"]([^'"]+)['"]/gm;while((Z=J.exec($))!==null){let Y=Z[1];if(/\.css(?:\?.*)?$/.test(Y))continue;if(!_2.some((Q)=>Q.test(Y)))return p1("detected side-effect import:",Y),!0}return!1}function SW($,X,Z,J){let Y=(G,Q)=>{let w=G===Z?X:N0.dirname(G),q=N0.resolve(w,Q),W=[q,`${q}.ts`,`${q}.tsx`,`${q}.js`,`${q}.mjs`,`${q}.jsx`,N0.join(q,"index.ts"),N0.join(q,"index.tsx"),N0.join(q,"index.js"),N0.join(q,"index.mjs")];for(let K of W)try{if(u0.existsSync(K)&&u0.statSync(K,{throwIfNoEntry:!1})?.isFile())return K}catch{}return q};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(u0.existsSync(Q.path))return{path:Q.path};return{path:Q.path,external:!0}}),G.onResolve({filter:/^\.\.?\//},(Q)=>{let w=Y(Q.importer,Q.path);return J.add(w),{path:w}}),G.onResolve({filter:/^[@~]\//},(Q)=>{let w=N0.resolve($,Q.path.slice(2)),q=[w,`${w}.ts`,`${w}.tsx`,`${w}.js`,`${w}.mjs`,`${w}.jsx`,N0.join(w,"index.ts"),N0.join(w,"index.tsx"),N0.join(w,"index.js"),N0.join(w,"index.mjs")];for(let W of q)if(u0.existsSync(W)&&u0.statSync(W,{throwIfNoEntry:!1})?.isFile())return p1(`resolved ${Q.path[0]}/ import:`,Q.path,"\u2192",W),J.add(W),{path:W};return console.warn(`[stx:bundler] could not resolve ${Q.path[0]}/ import:`,Q.path),{path:w}}),G.onLoad({filter:/\.(?:[cm]?[jt]sx?|json)$/},(Q)=>{let w=N0.extname(Q.path).toLowerCase(),q=w===".json"?"json":w===".tsx"?"tsx":w===".jsx"?"jsx":w===".ts"||w===".mts"||w===".cts"?"ts":"js";if(Q.path!==Z)J.add(Q.path);return{contents:u0.readFileSync(Q.path,"utf8"),loader:q}})}}}function A2($){let X=globalThis,J=(X[H2]??Promise.resolve()).then($,$);return X[H2]=J.then(()=>{return},()=>{return}),J}async function CW($,X,Z={}){let J=Z.projectRoot||process.cwd(),Y=Z.minify??!1,G=Z.cacheDir||_1(J,"bundle-cache"),Q=new Bun.CryptoHasher("md5");Q.update(`${IW}\x00${$}\x00${X}`);let w=Q.digest("hex").slice(0,12),q=N0.join(G,`${w}.js`),W=N0.join(G,`${w}.deps.json`),K=Bun.file(q);if(await K.exists()){let B=Bun.file(W),j=!0;if(await B.exists())try{let _=JSON.parse(await B.text());if(_.metadataVersion!==O2||!Array.isArray(_.files))j=!1;for(let H of Array.isArray(_.files)?_.files:[])try{if(u0.statSync(H.path).mtimeMs!==H.mtimeMs){j=!1;break}}catch{j=!1;break}}catch{j=!1}if(j)return p1("cache hit:",w),await K.text();p1("cache invalidated by dep change:",w)}let z=XX.get(w);if(z)return await z;let U=A2(()=>PW($,X,{projectRoot:J,minify:Y,cacheDir:G,hash:w,cachePath:q,depsPath:W}));XX.set(w,U);try{return await U}finally{XX.delete(w)}}async function PW($,X,Z){let{projectRoot:J,minify:Y,cacheDir:G,hash:Q,cachePath:w,depsPath:q}=Z,W=_1(J,"bundle-tmp"),K=N0.join(W,`${Q}.ts`),z=N0.join(W,"out",Q);u0.mkdirSync(W,{recursive:!0}),u0.mkdirSync(z,{recursive:!0});let U=N0.dirname(X),B=[],j=/^(export\s+)?(?:const|let|var)\s+(?:\{([^}]+)\}|(\w+))/gm,_=/^(export\s+)?(?:async\s+)?function\s+(\w+)/gm,H;while((H=j.exec($))!==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($))!==null){if(H[1])continue;B.push(H[2])}let L=B.length>0?`
2419
+ export { ${B.join(", ")} }`:"";await Bun.write(K,$+L),p1("bundling:",Q,"from:",N0.basename(X));let O=new Set;try{let F=await Bun.build({entrypoints:[K],outdir:z,target:"browser",format:"esm",minify:Y,plugins:[SW(J,U,K,O)],define:{"process.env.NODE_ENV":Y?'"production"':'"development"',...h0()},root:J});if(!F.success){let I=F.logs.filter((S)=>S.level==="error").map((S)=>S.message).join(", ");return console.warn("[stx:bundler] build failed:",I),$}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 S of I[1].split(",")){let b=S.trim().match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(b){A.push([b[2],b[1]]);continue}let y=S.trim();if(/^[A-Za-z_$][\w$]*$/.test(y))A.push([y,y])}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}`,M=A.map(([I,S])=>`${JSON.stringify(I)}: ${S}`).join(", "),T=A.map(([I])=>`var ${I} = undefined;`).join(`
2420
+ `),k=A.map(([I])=>`${I} = ${N}[${JSON.stringify(I)}];`).join(`
2421
+ `);if(V=`${R.join(`
2421
2422
  `)}
2422
2423
  ${T}
2423
2424
  var ${N} = (function() {
2424
2425
  ${V}
2425
2426
  return { ${M} };
2426
2427
  })();
2427
- ${k}`.trim(),c1("bundled:",Q,"output:",V.length,"bytes"),B.length>0&&R.length===0)return console.warn(`[stx:bundler] dropped every binding for ${N0.basename(X)} (${Q}); serving the unbundled source and not caching this result`),$;u0.mkdirSync(G,{recursive:!0}),await Bun.write(w,V);let D=Array.from(L).map((I)=>{try{return{path:I,mtimeMs:u0.statSync(I).mtimeMs}}catch{return null}}).filter((I)=>I!==null);return await Bun.write(q,JSON.stringify({metadataVersion:Q2,files:D})),V}catch(F){let V=o9(F,X||void 0),R=J2(F,X||void 0);if(console.warn(`[stx:bundler] error: ${R}`),q2(X||"",R,V),W2()==="error")throw F;return $}finally{try{u0.rmSync(K,{force:!0}),u0.rmSync(z,{recursive:!0,force:!0})}catch{}}}var FW=5,Q2=1,t9,a9,Y2,s9,G2;var T7=E(()=>{E1();V7();L1();t9=[];Y2=[/^stx$/,/^@stacksjs\/stx$/,/^@stores$/,/^stx\/stores$/,/^@composables$/];s9=new Map,G2=Symbol.for("stx.client-bundle-build-queue")});var L2={};t(L2,{stripCommentsAndLiterals:()=>o0,renderVendorStyleTags:()=>M8,processClientScript:()=>E7,injectBrowserCoreAutoImports:()=>T5,generateServerDataBridge:()=>k8,generateBrowserAutoImportDestructuring:()=>vW,generateAutoImportDestructuring:()=>e9,findInterpolationEnd:()=>N8,extractBridgeData:()=>I7,extractAndStripCssImports:()=>T8,STX_AUTO_IMPORTS:()=>B2});import p1 from"path";import k7 from"fs";function EW($){if($.startsWith(".")||$.startsWith("/"))return null;if($.startsWith("@")){let Z=$.match(/^(@[^/]+\/[^/]+)(\/.*)?$/);if(!Z)return null;return{pkg:Z[1],subpath:Z[2]||""}}let X=$.match(/^([^/]+)(\/.*)?$/);if(!X)return null;return{pkg:X[1],subpath:X[2]||""}}function DW($,X){let Z=X;while(!0){let J=p1.join(Z,"node_modules",$,"package.json");if(k7.existsSync(J))return p1.dirname(J);let Y=p1.dirname(Z);if(Y===Z)return null;Z=Y}}function yW($,X){if(!$||typeof $!=="object")return null;let Z=(Y)=>{if(typeof Y==="string")return Y;if(Y&&typeof Y==="object"){if(typeof Y.import==="string")return Y.import;if(typeof Y.default==="string")return Y.default;if(typeof Y.import==="object")return Z(Y.import);if(typeof Y.default==="object")return Z(Y.default)}return null};if(Object.prototype.hasOwnProperty.call($,X))return Z($[X]);let J=null;for(let Y of Object.keys($)){let G=Y.indexOf("*");if(G===-1)continue;let Q=Y.slice(0,G),w=Y.slice(G+1);if(!X.startsWith(Q)||!X.endsWith(w))continue;if(X.length<Q.length+w.length)continue;if(!J||Q.length>J.prefix.length)J={pattern:Y,prefix:Q,suffix:w}}if(J){let Y=X.slice(J.prefix.length,X.length-J.suffix.length),G=Z($[J.pattern]);if(G)return G.replace("*",Y)}return null}function bW($,X){let Z=EW($);if(!Z||!Z.subpath)return null;let J=DW(Z.pkg,X);if(!J)return null;let Y;try{Y=JSON.parse(k7.readFileSync(p1.join(J,"package.json"),"utf8"))}catch{return null}let G=`.${Z.subpath}`,Q=yW(Y.exports,G);if(!Q)return null;let w=p1.resolve(J,Q);return k7.existsSync(w)?w:null}function T8($,X){let Z=X.filePath?p1.dirname(X.filePath):X.projectRoot||process.cwd(),J=X.projectRoot||process.cwd(),Y=new Set,G=[];return{code:$.replace(IW,(w,q)=>{let W;try{if(q.startsWith("./")||q.startsWith("../")||q.startsWith("/")){if(W=q.startsWith("/")?q:p1.resolve(Z,q),!k7.existsSync(W))throw Error(`file not found: ${W}`)}else{let K=null;try{K=Bun.resolveSync(q,J)}catch{K=bW(q,J)}if(!K)throw Error(`could not resolve ${q} (Bun.resolveSync + exports fallback both failed)`);W=K}}catch(K){return console.warn(`[stx:vendor-css] could not resolve ${JSON.stringify(q)} (from ${X.filePath||"<unknown>"}): ${K?.message||K}`),""}if(Y.has(W))return"";Y.add(W);try{let K=k7.readFileSync(W,"utf8");G.push({source:q,resolvedPath:W,contents:K})}catch(K){console.warn(`[stx:vendor-css] could not read ${W}: ${K?.message||K}`)}return""}),styles:G}}function SW($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function M8($){if($.length===0)return"";return`${$.map((X)=>{return`<style data-stx-vendor="${SW(X.source)}" data-stx-layer="vendor">
2428
+ ${k}`.trim(),p1("bundled:",Q,"output:",V.length,"bytes"),B.length>0&&A.length===0)return console.warn(`[stx:bundler] dropped every binding for ${N0.basename(X)} (${Q}); serving the unbundled source and not caching this result`),$;u0.mkdirSync(G,{recursive:!0}),await Bun.write(w,V);let D=Array.from(O).map((I)=>{try{return{path:I,mtimeMs:u0.statSync(I).mtimeMs}}catch{return null}}).filter((I)=>I!==null);return await Bun.write(q,JSON.stringify({metadataVersion:O2,files:D})),V}catch(F){let V=$X(F,X||void 0),A=B2(F,X||void 0);if(console.warn(`[stx:bundler] error: ${A}`),F2(X||"",A,V),V2()==="error")throw F;return $}finally{try{u0.rmSync(K,{force:!0}),u0.rmSync(z,{recursive:!0,force:!0})}catch{}}}var IW=5,O2=1,JX,ZX,_2,XX,H2;var M7=E(()=>{D1();A7();L1();JX=[];_2=[/^stx$/,/^@stacksjs\/stx$/,/^@stores$/,/^stx\/stores$/,/^@composables$/];XX=new Map,H2=Symbol.for("stx.client-bundle-build-queue")});var D2={};t(D2,{stripCommentsAndLiterals:()=>o0,renderVendorStyleTags:()=>I8,processClientScript:()=>D7,injectBrowserCoreAutoImports:()=>T5,generateServerDataBridge:()=>E8,generateBrowserAutoImportDestructuring:()=>lW,generateAutoImportDestructuring:()=>YX,findInterpolationEnd:()=>M8,extractBridgeData:()=>E7,extractAndStripCssImports:()=>k8,STX_AUTO_IMPORTS:()=>M2});import i1 from"path";import I7 from"fs";function xW($){if($.startsWith(".")||$.startsWith("/"))return null;if($.startsWith("@")){let Z=$.match(/^(@[^/]+\/[^/]+)(\/.*)?$/);if(!Z)return null;return{pkg:Z[1],subpath:Z[2]||""}}let X=$.match(/^([^/]+)(\/.*)?$/);if(!X)return null;return{pkg:X[1],subpath:X[2]||""}}function fW($,X){let Z=X;while(!0){let J=i1.join(Z,"node_modules",$,"package.json");if(I7.existsSync(J))return i1.dirname(J);let Y=i1.dirname(Z);if(Y===Z)return null;Z=Y}}function gW($,X){if(!$||typeof $!=="object")return null;let Z=(Y)=>{if(typeof Y==="string")return Y;if(Y&&typeof Y==="object"){if(typeof Y.import==="string")return Y.import;if(typeof Y.default==="string")return Y.default;if(typeof Y.import==="object")return Z(Y.import);if(typeof Y.default==="object")return Z(Y.default)}return null};if(Object.prototype.hasOwnProperty.call($,X))return Z($[X]);let J=null;for(let Y of Object.keys($)){let G=Y.indexOf("*");if(G===-1)continue;let Q=Y.slice(0,G),w=Y.slice(G+1);if(!X.startsWith(Q)||!X.endsWith(w))continue;if(X.length<Q.length+w.length)continue;if(!J||Q.length>J.prefix.length)J={pattern:Y,prefix:Q,suffix:w}}if(J){let Y=X.slice(J.prefix.length,X.length-J.suffix.length),G=Z($[J.pattern]);if(G)return G.replace("*",Y)}return null}function hW($,X){let Z=xW($);if(!Z||!Z.subpath)return null;let J=fW(Z.pkg,X);if(!J)return null;let Y;try{Y=JSON.parse(I7.readFileSync(i1.join(J,"package.json"),"utf8"))}catch{return null}let G=`.${Z.subpath}`,Q=gW(Y.exports,G);if(!Q)return null;let w=i1.resolve(J,Q);return I7.existsSync(w)?w:null}function k8($,X){let Z=X.filePath?i1.dirname(X.filePath):X.projectRoot||process.cwd(),J=X.projectRoot||process.cwd(),Y=new Set,G=[];return{code:$.replace(vW,(w,q)=>{let W;try{if(q.startsWith("./")||q.startsWith("../")||q.startsWith("/")){if(W=q.startsWith("/")?q:i1.resolve(Z,q),!I7.existsSync(W))throw Error(`file not found: ${W}`)}else{let K=null;try{K=Bun.resolveSync(q,J)}catch{K=hW(q,J)}if(!K)throw Error(`could not resolve ${q} (Bun.resolveSync + exports fallback both failed)`);W=K}}catch(K){return console.warn(`[stx:vendor-css] could not resolve ${JSON.stringify(q)} (from ${X.filePath||"<unknown>"}): ${K?.message||K}`),""}if(Y.has(W))return"";Y.add(W);try{let K=I7.readFileSync(W,"utf8");G.push({source:q,resolvedPath:W,contents:K})}catch(K){console.warn(`[stx:vendor-css] could not read ${W}: ${K?.message||K}`)}return""}),styles:G}}function uW($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function I8($){if($.length===0)return"";return`${$.map((X)=>{return`<style data-stx-vendor="${uW(X.source)}" data-stx-layer="vendor">
2428
2429
  @layer vendor {
2429
2430
  ${X.contents}
2430
2431
  }
2431
2432
  </style>`}).join(`
2432
2433
  `)}
2433
- `}function T5($){let X=o0($),Z=new Set;for(let w of $.matchAll(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm))for(let q of w[1].split(",")){let W=q.trim().split(/\s+as\s+/).pop()?.replace(/^type\s+/,"").trim();if(W)Z.add(W)}let J=new Set;for(let w of X.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))J.add(w[1]);for(let w of X.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let q of w[1].split(",")){let W=q.trim().split(/[:=]/).pop()?.trim();if(W)J.add(W)}let Y=_2.filter((w)=>{if(Z.has(w)||J.has(w))return!1;return new RegExp(`\\b${w}\\s*\\(`).test(X)}),G=H2(X).filter((w)=>!Z.has(w)&&!J.has(w));if(Y.length===0&&G.length===0)return{code:$,imports:Y,models:G};return{code:`${[Y.length>0?`import { ${Y.join(", ")} } from '@stacksjs/browser'`:"",G.length>0?"import '@stacksjs/browser'":"",G.length>0?`const { ${G.join(", ")} } = window.StacksBrowser || {}`:""].filter(Boolean).join(`
2434
+ `}function T5($){let X=o0($),Z=new Set;for(let w of $.matchAll(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm))for(let q of w[1].split(",")){let W=q.trim().split(/\s+as\s+/).pop()?.replace(/^type\s+/,"").trim();if(W)Z.add(W)}let J=new Set;for(let w of X.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))J.add(w[1]);for(let w of X.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let q of w[1].split(",")){let W=q.trim().split(/[:=]/).pop()?.trim();if(W)J.add(W)}let Y=k2.filter((w)=>{if(Z.has(w)||J.has(w))return!1;return new RegExp(`\\b${w}\\s*\\(`).test(X)}),G=I2(X).filter((w)=>!Z.has(w)&&!J.has(w));if(Y.length===0&&G.length===0)return{code:$,imports:Y,models:G};return{code:`${[Y.length>0?`import { ${Y.join(", ")} } from '@stacksjs/browser'`:"",G.length>0?"import '@stacksjs/browser'":"",G.length>0?`const { ${G.join(", ")} } = window.StacksBrowser || {}`:""].filter(Boolean).join(`
2434
2435
  `)}
2435
- ${$}`,imports:Y,models:G}}function H2($){let X=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,J;while((J=Z.exec($))!==null)if(!CW.has(J[1]))X.add(J[1]);return Array.from(X)}function PW($){let X=new Set;for(let Z of $.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))X.add(Z[1]);for(let Z of $.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let J of Z[1].split(",")){let Y=J.trim().split(/[:=]/).pop()?.trim();if(Y&&/^[A-Za-z_$][\w$]*$/.test(Y))X.add(Y)}return X}function O2($){let X=new Set,Z=new Set,J=$;J=J.replace(/^\s*import\s+type\s+\{[^}]*\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm,"// [type import stripped]");let Y=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($))!==null){let W=Q[1],K=Q[2];if(Q[0].includes("import type"))continue;let z=[];for(let B of W.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],O=_[2]||H;if(Y.add(H),Y.add(O),K==="stx"||K==="@stacksjs/stx")X.add(H);else Z.add(H);if(O!==H)z.push(`${O} = ${H}`)}let U=z.length>0?`var ${z.join(", ")}; /* [auto-import processed] */`:"// [auto-import processed]";J=J.replace(Q[0],U)}let w=PW(J);for(let W of B2){if(Y.has(W)||w.has(W))continue;if(new RegExp(`\\b${W}\\s*(?:<[^>]*>)?\\s*\\(`,"g").test(J))X.add(W)}for(let W of _2){if(Y.has(W)||w.has(W))continue;if(new RegExp(`\\b${W}\\b`,"g").test(J))Z.add(W)}let q=H2(J);for(let W of q)if(!Y.has(W)&&!w.has(W))Z.add(W);return{code:J,stxImports:Array.from(X),browserImports:Array.from(Z)}}function e9($,X){let Z=[];if($.length>0)Z.push(` var { ${$.join(", ")} } = window.stx || window;`);if(X.length>0)Z.push(` var { ${X.join(", ")} } = window.StacksBrowser || {};`);if(Z.length>0)return` // STX: auto-imported from stx and @stacksjs/browser
2436
+ ${$}`,imports:Y,models:G}}function I2($){let X=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,J;while((J=Z.exec($))!==null)if(!dW.has(J[1]))X.add(J[1]);return Array.from(X)}function mW($){let X=new Set;for(let Z of $.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))X.add(Z[1]);for(let Z of $.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let J of Z[1].split(",")){let Y=J.trim().split(/[:=]/).pop()?.trim();if(Y&&/^[A-Za-z_$][\w$]*$/.test(Y))X.add(Y)}return X}function E2($){let X=new Set,Z=new Set,J=$;J=J.replace(/^\s*import\s+type\s+\{[^}]*\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm,"// [type import stripped]");let Y=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($))!==null){let W=Q[1],K=Q[2];if(Q[0].includes("import type"))continue;let z=[];for(let B of W.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(Y.add(H),Y.add(L),K==="stx"||K==="@stacksjs/stx")X.add(H);else Z.add(H);if(L!==H)z.push(`${L} = ${H}`)}let U=z.length>0?`var ${z.join(", ")}; /* [auto-import processed] */`:"// [auto-import processed]";J=J.replace(Q[0],U)}let w=mW(J);for(let W of M2){if(Y.has(W)||w.has(W))continue;if(new RegExp(`\\b${W}\\s*(?:<[^>]*>)?\\s*\\(`,"g").test(J))X.add(W)}for(let W of k2){if(Y.has(W)||w.has(W))continue;if(new RegExp(`\\b${W}\\b`,"g").test(J))Z.add(W)}let q=I2(J);for(let W of q)if(!Y.has(W)&&!w.has(W))Z.add(W);return{code:J,stxImports:Array.from(X),browserImports:Array.from(Z)}}function YX($,X){let Z=[];if($.length>0)Z.push(` var { ${$.join(", ")} } = window.stx || window;`);if(X.length>0)Z.push(` var { ${X.join(", ")} } = window.StacksBrowser || {};`);if(Z.length>0)return` // STX: auto-imported from stx and @stacksjs/browser
2436
2437
  ${Z.join(`
2437
2438
  `)}
2438
- ${xW($,X)}`;return""}function vW($,X=[]){let{browserImports:Z}=O2($),J=new Set(X);return e9([],Z.filter((Y)=>!J.has(Y)))}function xW($,X){let Z=[...$.map((J)=>`['${J}', typeof ${J}, 'stx']`),...X.map((J)=>`['${J}', typeof ${J}, '@stacksjs/browser']`)];if(Z.length===0)return"";return` // STX: report auto-imports the client runtime did not provide
2439
+ ${cW($,X)}`;return""}function lW($,X=[]){let{browserImports:Z}=E2($),J=new Set(X);return YX([],Z.filter((Y)=>!J.has(Y)))}function cW($,X){let Z=[...$.map((J)=>`['${J}', typeof ${J}, 'stx']`),...X.map((J)=>`['${J}', typeof ${J}, '@stacksjs/browser']`)];if(Z.length===0)return"";return` // STX: report auto-imports the client runtime did not provide
2439
2440
  [${Z.join(", ")}].forEach(function (e) {
2440
2441
  if (e[1] !== 'undefined') return;
2441
2442
  console.error(
@@ -2444,10 +2445,10 @@ ${xW($,X)}`;return""}function vW($,X=[]){let{browserImports:Z}=O2($),J=new Set(X
2444
2445
  + 'or it should be imported from a relative path so the bundler includes it.'
2445
2446
  );
2446
2447
  });
2447
- `}function I7($){let X=$.__stxClientPayload;if(X&&typeof X==="object"){let J={};for(let Y in X){let G=X[Y];if(typeof G==="function")continue;J[Y]=G}return J.__stxDeclaredPayload=!0,J}let Z={};for(let J in $){if(J.startsWith("__")||J.startsWith("$"))continue;let Y=$[J];if(typeof Y==="function")continue;Z[J]=Y}return Z}function z2($,X){let Z=new Set;for(let J of $.split(",")){let Y=J.trim().replace(/^\.\.\./,"").trim();if(!Y)continue;if(X){let G=Y.lastIndexOf(":");if(G!==-1)Y=Y.slice(G+1).trim()}if(Y=Y.split("=")[0].trim(),/^[A-Za-z_$][\w$]*$/.test(Y))Z.add(Y)}return Z}function fW($,X){if(new RegExp(`(?:const|let|var|function|class)\\s+${X}\\b`).test($))return!0;for(let Z of $.matchAll(/(?:const|let|var)\s*\{([^}]*)\}/g))if(z2(Z[1],!0).has(X))return!0;for(let Z of $.matchAll(/(?:const|let|var)\s*\[([^\]]*)\]/g))if(z2(Z[1],!1).has(X))return!0;return!1}function gW($,X){return new RegExp(`(?<![.#\\w$])${X}(?![\\w$])`).test($)}function uW($,X){let Z=hW.test($),J=X.length>32768;if(!Z&&!J)return;if(U2.has($))return;if(U2.add($),Z)console.warn(`[stx] server\u2192client bridge is publishing "${$}" into the page body. If it holds a credential, rename it with a "__" prefix (never bridged) and pass only what the template needs. See stacksjs/stx#1831.`);if(J)console.warn(`[stx] server\u2192client bridge is publishing ${(X.length/1024).toFixed(1)}KB under "${$}". Every byte ships in the HTML on each request; prefix the binding with "__" and project just the fields the client reads.`)}function k8($,X){if(!X)return"";let Z=o0($),J=X.__stxDeclaredPayload===!0,Y=[];for(let[G,Q]of Object.entries(X)){if(!/^[A-Za-z_$][\w$]*$/.test(G))continue;if(G.startsWith("__")||G.startsWith("$"))continue;if(!J&&!gW(Z,G))continue;if(fW($,G))continue;let w;try{w=JSON.stringify(Q)}catch{continue}if(w===void 0)continue;uW(G,w),Y.push(` var ${G} = ${w.replace(/</g,"\\u003c")};`)}if(Y.length===0)return"";return` // stx: server -> client data bridge (seeded from server scope)
2448
+ `}function E7($){let X=$.__stxClientPayload;if(X&&typeof X==="object"){let J={};for(let Y in X){let G=X[Y];if(typeof G==="function")continue;J[Y]=G}return J.__stxDeclaredPayload=!0,J}let Z={};for(let J in $){if(J.startsWith("__")||J.startsWith("$"))continue;let Y=$[J];if(typeof Y==="function")continue;Z[J]=Y}return Z}function R2($,X){let Z=new Set;for(let J of $.split(",")){let Y=J.trim().replace(/^\.\.\./,"").trim();if(!Y)continue;if(X){let G=Y.lastIndexOf(":");if(G!==-1)Y=Y.slice(G+1).trim()}if(Y=Y.split("=")[0].trim(),/^[A-Za-z_$][\w$]*$/.test(Y))Z.add(Y)}return Z}function pW($,X){if(new RegExp(`(?:const|let|var|function|class)\\s+${X}\\b`).test($))return!0;for(let Z of $.matchAll(/(?:const|let|var)\s*\{([^}]*)\}/g))if(R2(Z[1],!0).has(X))return!0;for(let Z of $.matchAll(/(?:const|let|var)\s*\[([^\]]*)\]/g))if(R2(Z[1],!1).has(X))return!0;return!1}function iW($,X){return new RegExp(`(?<![.#\\w$])${X}(?![\\w$])`).test($)}function rW($,X){let Z=nW.test($),J=X.length>32768;if(!Z&&!J)return;if(N2.has($))return;if(N2.add($),Z)console.warn(`[stx] server\u2192client bridge is publishing "${$}" into the page body. If it holds a credential, rename it with a "__" prefix (never bridged) and pass only what the template needs. See stacksjs/stx#1831.`);if(J)console.warn(`[stx] server\u2192client bridge is publishing ${(X.length/1024).toFixed(1)}KB under "${$}". Every byte ships in the HTML on each request; prefix the binding with "__" and project just the fields the client reads.`)}function E8($,X){if(!X)return"";let Z=o0($),J=X.__stxDeclaredPayload===!0,Y=[];for(let[G,Q]of Object.entries(X)){if(!/^[A-Za-z_$][\w$]*$/.test(G))continue;if(G.startsWith("__")||G.startsWith("$"))continue;if(!J&&!iW(Z,G))continue;if(pW($,G))continue;let w;try{w=JSON.stringify(Q)}catch{continue}if(w===void 0)continue;rW(G,w),Y.push(` var ${G} = ${w.replace(/</g,"\\u003c")};`)}if(Y.length===0)return"";return` // stx: server -> client data bridge (seeded from server scope)
2448
2449
  ${Y.join(`
2449
2450
  `)}
2450
- `}function mW($){let X=[];if($.self)X.push("if ($event.target !== $el) return");for(let Z of $.systemKeys)X.push(`if (!$event.${Z}Key) return`);if($.keys.length>0){let Z=$.keys.map((J)=>`$event.key === '${J}'`).join(" || ");X.push(`if (!(${Z})) return`)}if($.mouse!==null){let Z=dW[$.mouse];X.push(`if ($event.button !== ${Z}) return`)}if($.prevent)X.push("$event.preventDefault()");if($.stop)X.push("$event.stopPropagation()");return X.join("; ")}function lW($,X){let{elementId:Z,event:J,modifiers:Y}=$,G=p9($.handler),Q=mW(Y),w=[];if(Y.once)w.push("once: true");if(Y.capture)w.push("capture: true");if(Y.passive)w.push("passive: true");let q=w.length>0?`, { ${w.join(", ")} }`:"",W="";if(Q)W+=`${Q}; `;let K=G.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),z=`var $emit = function(name, detail) {
2451
+ `}function sW($){let X=[];if($.self)X.push("if ($event.target !== $el) return");for(let Z of $.systemKeys)X.push(`if (!$event.${Z}Key) return`);if($.keys.length>0){let Z=$.keys.map((J)=>`$event.key === '${J}'`).join(" || ");X.push(`if (!(${Z})) return`)}if($.mouse!==null){let Z=oW[$.mouse];X.push(`if ($event.button !== ${Z}) return`)}if($.prevent)X.push("$event.preventDefault()");if($.stop)X.push("$event.stopPropagation()");return X.join("; ")}function aW($,X){let{elementId:Z,event:J,modifiers:Y}=$,G=s9($.handler),Q=sW(Y),w=[];if(Y.once)w.push("once: true");if(Y.capture)w.push("capture: true");if(Y.passive)w.push("passive: true");let q=w.length>0?`, { ${w.join(", ")} }`:"",W="";if(Q)W+=`${Q}; `;let K=G.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),z=`var $emit = function(name, detail) {
2451
2452
  $el.dispatchEvent(new CustomEvent(name, { detail: detail, bubbles: true, cancelable: true }))
2452
2453
  };`;function U(B){if(/\$emit\s*\(/.test(B))return`${z}
2453
2454
  ${B}`;return`var scope = $el.closest('[data-stx-scope]');
@@ -2490,25 +2491,25 @@ else {
2490
2491
  else {
2491
2492
  ${G}
2492
2493
  }
2493
- }${q})`}function cW($){if($.length===0)return"";return`
2494
+ }${q})`}function tW($){if($.length===0)return"";return`
2494
2495
  // STX: auto-generated event bindings
2495
- ${$.map((Z,J)=>lW(Z,J)).join(`
2496
- `)}`}function j2($){let X=[],Z=new Set,J=$.replace(/^\s*import\s+.*$/gm,""),Y=0,G=J.length,Q=0;while(Q<G){let w=J[Q];if(w==="'"||w==='"'||w==="`"){let q=w;if(Q++,q==="`"){let W=0;while(Q<G){if(J[Q]==="\\"){Q+=2;continue}if(J[Q]==="`"&&W===0){Q++;break}if(J[Q]==="$"&&J[Q+1]==="{"){W++,Q+=2;continue}if(J[Q]==="}"&&W>0){W--,Q++;continue}Q++}}else while(Q<G){if(J[Q]==="\\"){Q+=2;continue}if(J[Q]===q){Q++;break}Q++}continue}if(w==="/"&&J[Q+1]==="/"){while(Q<G&&J[Q]!==`
2497
- `)Q++;continue}if(w==="/"&&J[Q+1]==="*"){Q+=2;while(Q<G-1&&!(J[Q]==="*"&&J[Q+1]==="/"))Q++;Q+=2;continue}if(w==="{"){Y++,Q++;continue}if(w==="}"){Y--,Q++;continue}if(Y===0){let q=J.slice(Q),W=q.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(W){let U=W[1];if(!U.startsWith("_")&&!Z.has(U))X.push(U),Z.add(U);Q+=W[0].length;continue}let K=q.match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(K){K[1].split(",").forEach((U)=>{let B=U.trim(),j=B.indexOf(":"),_=j>=0?B.slice(j+1).trim().split(/[\s=]/)[0]:B.split(/[\s=]/)[0];if(_&&!_.startsWith("_")&&!Z.has(_))X.push(_),Z.add(_)}),Q+=K[0].length;continue}let z=q.match(/^(?:async\s+)?function\s+([a-zA-Z_$]\w*)/);if(z){let U=z[1];if(!U.startsWith("_")&&!Z.has(U))X.push(U),Z.add(U);Q+=z[0].length;continue}}Q++}return X}function iW($){let X=new Set,Z=/[a-zA-Z_$][a-zA-Z0-9_$]*/g;function J(U){let B;while((B=Z.exec(U))!==null){let j=B[0];if(!pW.has(j))X.add(j)}}let Y=/\{\{([\s\S]*?)\}\}/g,G;while((G=Y.exec($))!==null)J(G[1]);let Q=/:[a-z][\w.-]*\s*=\s*"([^"]*)"/gi;while((G=Q.exec($))!==null)J(G[1]);let w=/:[a-z][\w.-]*\s*=\s*'([^']*)'/gi;while((G=w.exec($))!==null)J(G[1]);let q=/@[a-z]+(?:\.[a-z]+)*\s*=\s*"([^"]*)"/gi;while((G=q.exec($))!==null)J(G[1]);let W=/@[a-z]+(?:\.[a-z]+)*\s*=\s*'([^']*)'/gi;while((G=W.exec($))!==null)J(G[1]);let K=/@model\s*=\s*["']([^"']*)["']/gi;while((G=K.exec($))!==null)J(G[1]);let z=/@for\s*=\s*["'][^"']*\bin\s+([^"']+)["']/gi;while((G=z.exec($))!==null)J(G[1]);return X}async function E7($,X={}){let Z=$,J="",Y=!1,G=[],Q=T8(Z,{filePath:X.filePath,projectRoot:X.projectRoot});Z=Q.code;let w=M8(Q.styles),q=T5(Z);Z=q.code,G=[...q.imports,...q.models];let{hasUserImports:W,bundleClientScript:K}=await e("stx/client-script-bundler",()=>Promise.resolve().then(() => (T7(),N7)));if(W(Z))Z=await K(Z,X.filePath||"",{projectRoot:X.projectRoot,minify:X.production}),Y=!0;if(X.autoImports!==!1){let L=O2(Z);Z=L.code,J=e9(L.stxImports,L.browserImports.filter((F)=>!G.includes(F)))}if(J=`${k8(Z,X.serverData)}${J}`,Z=c0(Z),!Y&&i1(X.attrs||""))Z=n1(Z);let z=cW(X.eventBindings||[]),U=(X.attrs||"").trim();if(/\btype\s*=\s*["']module["']/i.test(U)){let L=U.replace(/\btype\s*=\s*["']module["']/i,"").trim(),F=`type="module" data-stx-scoped${L?` ${L}`:""}`;return`${w}<script ${F}>
2496
+ ${$.map((Z,J)=>aW(Z,J)).join(`
2497
+ `)}`}function T2($){let X=[],Z=new Set,J=$.replace(/^\s*import\s+.*$/gm,""),Y=0,G=J.length,Q=0;while(Q<G){let w=J[Q];if(w==="'"||w==='"'||w==="`"){let q=w;if(Q++,q==="`"){let W=0;while(Q<G){if(J[Q]==="\\"){Q+=2;continue}if(J[Q]==="`"&&W===0){Q++;break}if(J[Q]==="$"&&J[Q+1]==="{"){W++,Q+=2;continue}if(J[Q]==="}"&&W>0){W--,Q++;continue}Q++}}else while(Q<G){if(J[Q]==="\\"){Q+=2;continue}if(J[Q]===q){Q++;break}Q++}continue}if(w==="/"&&J[Q+1]==="/"){while(Q<G&&J[Q]!==`
2498
+ `)Q++;continue}if(w==="/"&&J[Q+1]==="*"){Q+=2;while(Q<G-1&&!(J[Q]==="*"&&J[Q+1]==="/"))Q++;Q+=2;continue}if(w==="{"){Y++,Q++;continue}if(w==="}"){Y--,Q++;continue}if(Y===0){let q=J.slice(Q),W=q.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(W){let U=W[1];if(!U.startsWith("_")&&!Z.has(U))X.push(U),Z.add(U);Q+=W[0].length;continue}let K=q.match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(K){K[1].split(",").forEach((U)=>{let B=U.trim(),j=B.indexOf(":"),_=j>=0?B.slice(j+1).trim().split(/[\s=]/)[0]:B.split(/[\s=]/)[0];if(_&&!_.startsWith("_")&&!Z.has(_))X.push(_),Z.add(_)}),Q+=K[0].length;continue}let z=q.match(/^(?:async\s+)?function\s+([a-zA-Z_$]\w*)/);if(z){let U=z[1];if(!U.startsWith("_")&&!Z.has(U))X.push(U),Z.add(U);Q+=z[0].length;continue}}Q++}return X}function $K($){let X=new Set,Z=/[a-zA-Z_$][a-zA-Z0-9_$]*/g;function J(U){let B;while((B=Z.exec(U))!==null){let j=B[0];if(!eW.has(j))X.add(j)}}let Y=/\{\{([\s\S]*?)\}\}/g,G;while((G=Y.exec($))!==null)J(G[1]);let Q=/:[a-z][\w.-]*\s*=\s*"([^"]*)"/gi;while((G=Q.exec($))!==null)J(G[1]);let w=/:[a-z][\w.-]*\s*=\s*'([^']*)'/gi;while((G=w.exec($))!==null)J(G[1]);let q=/@[a-z]+(?:\.[a-z]+)*\s*=\s*"([^"]*)"/gi;while((G=q.exec($))!==null)J(G[1]);let W=/@[a-z]+(?:\.[a-z]+)*\s*=\s*'([^']*)'/gi;while((G=W.exec($))!==null)J(G[1]);let K=/@model\s*=\s*["']([^"']*)["']/gi;while((G=K.exec($))!==null)J(G[1]);let z=/@for\s*=\s*["'][^"']*\bin\s+([^"']+)["']/gi;while((G=z.exec($))!==null)J(G[1]);return X}async function D7($,X={}){let Z=$,J="",Y=!1,G=[],Q=k8(Z,{filePath:X.filePath,projectRoot:X.projectRoot});Z=Q.code;let w=I8(Q.styles),q=T5(Z);Z=q.code,G=[...q.imports,...q.models];let{hasUserImports:W,bundleClientScript:K}=await e("stx/client-script-bundler",()=>Promise.resolve().then(() => (M7(),T7)));if(W(Z))Z=await K(Z,X.filePath||"",{projectRoot:X.projectRoot,minify:X.production}),Y=!0;if(X.autoImports!==!1){let O=E2(Z);Z=O.code,J=YX(O.stxImports,O.browserImports.filter((F)=>!G.includes(F)))}if(J=`${E8(Z,X.serverData)}${J}`,Z=c0(Z),!Y&&n1(X.attrs||""))Z=r1(Z);let z=tW(X.eventBindings||[]),U=(X.attrs||"").trim();if(/\btype\s*=\s*["']module["']/i.test(U)){let O=U.replace(/\btype\s*=\s*["']module["']/i,"").trim(),F=`type="module" data-stx-scoped${O?` ${O}`:""}`;return`${w}<script ${F}>
2498
2499
  ${N5(`${J}${Z}
2499
2500
  ${z}`)}
2500
- </script>`}let j=l9($),_=/function __stx_setup_/.test(Z),H=/\bstx\.mount\s*\(|\bstx\.mountEl\s*\(/.test($);function O(L){let F=L.length>0?`
2501
- return { ${L.join(", ")} };`:"";return`${w}<script data-stx-scoped data-stx-run="always">
2501
+ </script>`}let j=r9($),_=/function __stx_setup_/.test(Z),H=/\bstx\.mount\s*\(|\bstx\.mountEl\s*\(/.test($);function L(O){let F=O.length>0?`
2502
+ return { ${O.join(", ")} };`:"";return`${w}<script data-stx-scoped data-stx-run="always">
2502
2503
  window.stx.mount(function() {
2503
2504
  'use strict';
2504
2505
  ${N5(`${J}${Z}
2505
2506
  ${z}${F}`)}
2506
- })</script>`}if(!H&&!_){if(j)return O(j2($));if(X.templateContent){let L=j2($);if(L.length>0){let F=iW(X.templateContent);if(L.some((R)=>F.has(R)))return O(L)}}}return`${w}<script data-stx-scoped data-stx-run="always">
2507
+ })</script>`}if(!H&&!_){if(j)return L(T2($));if(X.templateContent){let O=T2($);if(O.length>0){let F=$K(X.templateContent);if(O.some((A)=>F.has(A)))return L(O)}}}return`${w}<script data-stx-scoped data-stx-run="always">
2507
2508
  ;(function() {
2508
2509
  'use strict';
2509
2510
  ${N5(`${J}${Z}
2510
2511
  ${z}`)}
2511
- })()</script>`}var IW,B2,_2,CW,hW,U2,dW,pW;var D7=E(()=>{n9();D0();R7();e0();r9();IW=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;B2=O1,_2=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useActiveElement","useDocumentVisibility","useIntervalFn"];CW=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"]);hW=/token|secret|passw|apikey|api_key|privatekey|private_key|credential|webhook|bearer|jwt|signature/i,U2=new Set;dW={left:0,middle:1,right:2};pW=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 nW}from"crypto";function F2($){let X=$[I8];return X instanceof Map?X:null}function V2($){$[I8]=new Map}function A2($,X){let Z=F2($);if(!Z)return null;let J=nW("sha256").update(X).digest("hex").slice(0,16),Y=Z.get(J);if(Y)Y.instances++;else Z.set(J,{body:X,instances:1});return J}function R2($,X){let Z=F2(X);if(!Z?.size)return $;let J=$;for(let[q,W]of Z){if(W.instances!==1)continue;let K=new RegExp(`window\\.__stxComponentFactories\\[${JSON.stringify(q)}\\]\\(("[^"]+")\\);`,"g");J=J.replace(K,(z,U)=>`(${W.body})(${U});`)}let Y=[...Z].filter(([,q])=>q.instances>1);if(Y.length===0)return J;let Q=`<script data-stx-scoped data-stx-run="always" data-stx-component-factories>
2512
+ })()</script>`}var vW,M2,k2,dW,nW,N2,oW,eW;var y7=E(()=>{t9();y0();N7();e0();e9();vW=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;M2=O1,k2=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useActiveElement","useDocumentVisibility","useIntervalFn","useTimeoutFn"];dW=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"]);nW=/token|secret|passw|apikey|api_key|privatekey|private_key|credential|webhook|bearer|jwt|signature/i,N2=new Set;oW={left:0,middle:1,right:2};eW=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 XK}from"crypto";function y2($){let X=$[D8];return X instanceof Map?X:null}function b2($){$[D8]=new Map}function S2($,X){let Z=y2($);if(!Z)return null;let J=XK("sha256").update(X).digest("hex").slice(0,16),Y=Z.get(J);if(Y)Y.instances++;else Z.set(J,{body:X,instances:1});return J}function C2($,X){let Z=y2(X);if(!Z?.size)return $;let J=$;for(let[q,W]of Z){if(W.instances!==1)continue;let K=new RegExp(`window\\.__stxComponentFactories\\[${JSON.stringify(q)}\\]\\(("[^"]+")\\);`,"g");J=J.replace(K,(z,U)=>`(${W.body})(${U});`)}let Y=[...Z].filter(([,q])=>q.instances>1);if(Y.length===0)return J;let Q=`<script data-stx-scoped data-stx-run="always" data-stx-component-factories>
2512
2513
  (function() {
2513
2514
  const factories = window.__stxComponentFactories = window.__stxComponentFactories || {};
2514
2515
  ${Y.map(([q,W])=>` try { factories[${JSON.stringify(q)}] = factories[${JSON.stringify(q)}] || ${W.body}; }
@@ -2517,7 +2518,7 @@ ${Y.map(([q,W])=>` try { factories[${JSON.stringify(q)}] = factories[${JSON.str
2517
2518
  })();
2518
2519
  </script>`,w=J.search(/<script\b(?=[^>]*\bdata-stx-scoped\b)/i);if(w<0)return`${Q}
2519
2520
  ${J}`;return`${J.slice(0,w)}${Q}
2520
- ${J.slice(w)}`}var I8="__stx_component_client_factories";var $X=()=>{};function aW($){let X="",Z=null,J=!1;for(let Y=0;Y<$.length;Y++){let G=$[Y];if(J){J=!1;continue}if(G==="\\"&&Z){J=!0;continue}if(Z){if(Z==="`"&&G==="$"&&Y+1<$.length&&$[Y+1]==="{"){let Q=1;Y+=2;while(Y<$.length&&Q>0){if($[Y]==="{")Q++;else if($[Y]==="}")Q--;if(Q>0)X+=$[Y],Y++}continue}if(G===Z)Z=null;continue}if(G==='"'||G==="'"||G==="`"){Z=G;continue}X+=G}return X}function tW($,X){let Z=/[$A-Z_a-z][$\w]*/g,J;while((J=Z.exec($))!==null){let Y=J[0],G=$[J.index-1];if(oW.has(Y))throw Error(`Potentially unsafe expression (matched /\\b${Y}\\b/; identifier ${Y}): ${X}`);if(G==="."&&k2.has(Y))throw Error(`Potentially unsafe expression (matched /.${Y}/; property ${Y}): ${X}`)}}function eW($){let X=/\[\s*(['"])(.*?)\1\s*\]/g,Z;while((Z=X.exec($))!==null){let J=Z[2];if(!k2.has(J))continue;let Y=$.slice(0,Z.index).match(/\S(?=\s*$)/)?.[0],G=$.slice(Z.index+Z[0].length).match(/^\s*(\S)/)?.[1];if(!((Y==="{"||Y===",")&&G===":"))throw Error(`Potentially unsafe expression (bracket key ${Z[2]}): ${$}`)}}function E8($){let X=$.trim(),Z=aW(X);tW(Z,X),eW(X);for(let J of M2)if(J.test(Z))throw Error(`Potentially unsafe expression (matched /${J.source}/): ${X}`);if(!T2.allowBracketNotation&&sW.test(X))throw Error(`Bracket notation with strings not allowed: ${X}. Enable with configureSafeEvaluator({ allowBracketNotation: true })`);return X}function $K($){let X={};X.Math=Math,X.JSON=JSON,X.Date=Date,X.String=String,X.Number=Number,X.Boolean=Boolean,X.Array=Array,X.parseInt=Number.parseInt,X.parseFloat=Number.parseFloat,X.isNaN=Number.isNaN,X.isFinite=Number.isFinite,X.encodeURIComponent=encodeURIComponent,X.decodeURIComponent=decodeURIComponent;for(let[Z,J]of Object.entries($)){if(Z.startsWith("__")||M2.some((Y)=>Y.test(Z)))continue;if(J&&typeof J==="object"&&!Array.isArray(J))X[Z]=XX(J);else X[Z]=J}return X}function XX($,X=0){if(X>=T2.maxSanitizeDepth)return"[Object too deep]";if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((J)=>XX(J,X+1));if($ instanceof Date||$ instanceof RegExp||$ instanceof Map||$ instanceof Set||$ instanceof Error)return $;let Z={};for(let[J,Y]of Object.entries($)){if(J.startsWith("__")||J==="constructor"||J==="prototype")continue;if(Y&&typeof Y==="object")Z[J]=XX(Y,X+1);else Z[J]=Y}return Z}function Y0($,X){try{let Z=$K(X),J=Object.keys(Z),Y=Object.values(Z);return q0($,J)(...Y)}catch{return}}function w0($){try{return E8($),!0}catch{return!1}}function k0($,X){try{let Z=Y0($,X);if(Z&&typeof Z==="object"&&!Array.isArray(Z))return Z;return{}}catch{return{}}}function q0($,X){let Z=E8($),J=/^[A-Za-z_$][\w$]*$/,Y=[],G=[];for(let W=0;W<X.length;W++){let K=X[W];if(!J.test(K))continue;if(I2.has(K))continue;Y.push(W),G.push(K)}let Q=(W)=>Function(...G,...W,`
2521
+ ${J.slice(w)}`}var D8="__stx_component_client_factories";var GX=()=>{};function GK($){let X="",Z=null,J=!1;for(let Y=0;Y<$.length;Y++){let G=$[Y];if(J){J=!1;continue}if(G==="\\"&&Z){J=!0;continue}if(Z){if(Z==="`"&&G==="$"&&Y+1<$.length&&$[Y+1]==="{"){let Q=1;Y+=2;while(Y<$.length&&Q>0){if($[Y]==="{")Q++;else if($[Y]==="}")Q--;if(Q>0)X+=$[Y],Y++}continue}if(G===Z)Z=null;continue}if(G==='"'||G==="'"||G==="`"){Z=G;continue}X+=G}return X}function QK($,X){let Z=/[$A-Z_a-z][$\w]*/g,J;while((J=Z.exec($))!==null){let Y=J[0],G=$[J.index-1];if(JK.has(Y))throw Error(`Potentially unsafe expression (matched /\\b${Y}\\b/; identifier ${Y}): ${X}`);if(G==="."&&f2.has(Y))throw Error(`Potentially unsafe expression (matched /.${Y}/; property ${Y}): ${X}`)}}function wK($){let X=/\[\s*(['"])(.*?)\1\s*\]/g,Z;while((Z=X.exec($))!==null){let J=Z[2];if(!f2.has(J))continue;let Y=$.slice(0,Z.index).match(/\S(?=\s*$)/)?.[0],G=$.slice(Z.index+Z[0].length).match(/^\s*(\S)/)?.[1];if(!((Y==="{"||Y===",")&&G===":"))throw Error(`Potentially unsafe expression (bracket key ${Z[2]}): ${$}`)}}function y8($){let X=$.trim(),Z=GK(X);QK(Z,X),wK(X);for(let J of x2)if(J.test(Z))throw Error(`Potentially unsafe expression (matched /${J.source}/): ${X}`);if(!v2.allowBracketNotation&&YK.test(X))throw Error(`Bracket notation with strings not allowed: ${X}. Enable with configureSafeEvaluator({ allowBracketNotation: true })`);return X}function qK($){let X={};X.Math=Math,X.JSON=JSON,X.Date=Date,X.String=String,X.Number=Number,X.Boolean=Boolean,X.Array=Array,X.parseInt=Number.parseInt,X.parseFloat=Number.parseFloat,X.isNaN=Number.isNaN,X.isFinite=Number.isFinite,X.encodeURIComponent=encodeURIComponent,X.decodeURIComponent=decodeURIComponent;for(let[Z,J]of Object.entries($)){if(Z.startsWith("__")||x2.some((Y)=>Y.test(Z)))continue;if(J&&typeof J==="object"&&!Array.isArray(J))X[Z]=QX(J);else X[Z]=J}return X}function QX($,X=0){if(X>=v2.maxSanitizeDepth)return"[Object too deep]";if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((J)=>QX(J,X+1));if($ instanceof Date||$ instanceof RegExp||$ instanceof Map||$ instanceof Set||$ instanceof Error)return $;let Z={};for(let[J,Y]of Object.entries($)){if(J.startsWith("__")||J==="constructor"||J==="prototype")continue;if(Y&&typeof Y==="object")Z[J]=QX(Y,X+1);else Z[J]=Y}return Z}function Y0($,X){try{let Z=qK(X),J=Object.keys(Z),Y=Object.values(Z);return q0($,J)(...Y)}catch{return}}function w0($){try{return y8($),!0}catch{return!1}}function I0($,X){try{let Z=Y0($,X);if(Z&&typeof Z==="object"&&!Array.isArray(Z))return Z;return{}}catch{return{}}}function q0($,X){let Z=y8($),J=/^[A-Za-z_$][\w$]*$/,Y=[],G=[];for(let W=0;W<X.length;W++){let K=X[W];if(!J.test(K))continue;if(g2.has(K))continue;Y.push(W),G.push(K)}let Q=(W)=>Function(...G,...W,`
2521
2522
  'use strict';
2522
2523
  try {
2523
2524
  return ${Z};
@@ -2528,7 +2529,7 @@ catch (e) {
2528
2529
  }
2529
2530
  throw e;
2530
2531
  }
2531
- `),w=Q([]);if(G.length===X.length)return N2(w,G,Q);return N2((...W)=>{let K=Array(Y.length);for(let z=0;z<Y.length;z++)K[z]=W[Y[z]];return w(...K)},G,Q,(W)=>{w=Q(W)})}function N2($,X,Z,J){let G=/^(\w+) is not defined$/,Q=$,w=[],q=new Set(X);return(...W)=>{for(let K=0;K<=8;K++)try{return Q(...W)}catch(z){let U=z instanceof Error?z.message:"",B=G.exec(U);if(!(z instanceof ReferenceError)||!B)return;let j=B[1];if(q.has(j)||I2.has(j))return;q.add(j),w.push(j),Q=Z(w),J?.(w)}return}}function D8($){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 J of Z)if(J.test(X))return!1;return!0}var rW,T2,M2,oW,k2,sW,I2;var I0=E(()=>{rW={maxSanitizeDepth:10,allowBracketNotation:!1},T2={...rW},M2=[/\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/],oW=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"]),k2=new Set(["__proto__","constructor","prototype"]),sW=/[\w)\]]\s*\[\s*['"]/;I2=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 y8($,X){let Z=XK++,J=`<!--__STX_${$.toUpperCase()}_${Z}__-->`;return ZK.set(J,{type:$,expression:X}),J}var XK=0,ZK;var E2=E(()=>{ZK=new Map});function C2($,X,Z,J){Z.lastIndex=X;let Y=Z.exec($);if(!Y||Y.index!==X)return-1;J.lastIndex=Z.lastIndex;let G=J.exec($);if(!G)return-1;return G.index+G[0].length}function D1($,X){return C2($,X,D2,y2)}function M5($,X){return C2($,X,b2,S2)}function y7($,X){if(!$.startsWith("<!--",X))return-1;let Z=$.indexOf("-->",X+4);if(Z===-1)return-1;return Z+3}function JK($,X){if($.startsWith("<!--",X)){let Z=y7($,X);return Z===-1?$.length:Z}for(let[Z,J]of[[D2,y2],[b2,S2]]){Z.lastIndex=X;let Y=Z.exec($);if(!Y||Y.index!==X)continue;J.lastIndex=Z.lastIndex;let G=J.exec($);return G?G.index+G[0].length:$.length}return-1}function ZX($,X){let Z=[],J=0,Y=$.length,G=!1,Q=null;while(J<Y){let w=$[J];if(G){if(Q){if(w===Q)Q=null}else if(w==='"'||w==="'")Q=w;else if(w===">")G=!1;J++;continue}if(w!=="<"){J++;continue}let q=X($,J);if(q>J){Z.push({start:J,end:q,token:$.slice(J,q)}),J=q;continue}let W=JK($,J);if(W>J){J=W;continue}if(/^<\/?[a-zA-Z]/.test($.slice(J,J+2)))G=!0;J++}return Z}function w1($,X,Z){let J=ZX($,X);if(J.length===0)return{output:$,tokens:[]};let Y=J.map((w)=>w.token),G="",Q=0;for(let w=0;w<J.length;w++){let q=J[w];G+=$.slice(Q,q.start),G+=Z(q.token,w),Q=q.end}return G+=$.slice(Q),{output:G,tokens:Y}}function y1($){let{output:X,tokens:Z}=w1($,D1,(J,Y)=>`\x00STX_SCRIPT_${Y}\x00`);return{output:X,scripts:Z}}function b7($,X){if(X.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Z,J)=>X[+J]??"")}var D2,y2,b2,S2;var r1=E(()=>{D2=/<script\b[^>]*>/iy,y2=/<\/script\s*>/ig,b2=/<style\b[^>]*>/iy,S2=/<\/style\s*>/ig});var u2={};t(u2,{usesSignalsInScript:()=>F1,unescapeHtml:()=>UK,registerFilters:()=>GK,registerFilter:()=>x2,processExpressions:()=>b1,interpolateScriptsInTemplate:()=>qK,interpolateScriptExpressions:()=>b8,interpolateScriptAttributes:()=>g2,getAllFilters:()=>f2,evaluateExpression:()=>d0,escapeHtml:()=>$1,defaultFilters:()=>C7,clearCustomFilters:()=>QK,applyFilters:()=>h2});function YK($){let X=P2.get($);if(!X){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");X=new RegExp(`:${Z}(?!\\w)`,"g"),P2.set($,X)}return X.lastIndex=0,X}function x2($,X){if($ in C7)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);S7[$]=X}function GK($){for(let[X,Z]of Object.entries($))x2(X,Z)}function f2(){return{...C7,...S7}}function QK(){for(let $ of Object.keys(S7))delete S7[$]}function $1($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function F1($){let{scripts:X}=y1($);for(let Z of X){let J=Z.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i);if(!J||/\bserver\b|\bsrc\s*=/.test(J[1]))continue;let Y=J[2];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(Y))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test($))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test($))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test($))return!0;return!1}function v2($,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"],J=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),Y="",G=!1,Q=0;for(let W=0;W<J.length;W++){let K=J[W];if(!G&&K==="`"){G=!0,Q=0;continue}if(G){if(K==="`"&&Q===0){G=!1;continue}if(K==="$"&&J[W+1]==="{"){Q++,W++,Y+=" ";continue}if(K==="}"&&Q>0){Q--;continue}if(Q>0){Y+=K;continue}continue}Y+=K}J=Y;let w=/(?<![a-zA-Z0-9_$])([a-zA-Z_$][a-zA-Z0-9_$]*)/g,q;while((q=w.exec(J))!==null){let W=q[1];if(!J.substring(0,q.index).trimEnd().endsWith(".")){if(!Z.includes(W)&&!(W in X))return!1}}return!0}function wK($,X){let Z=X.__stx_serverDeclared;if(!Z||Z.size===0)return!1;let J=o0($);for(let Y of Z)if(new RegExp(`(?<![.#\\w$])${Y}(?![\\w$])`).test(J))return!0;return!1}function b8($,X){let Z=$;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(J,Y)=>{try{let G=d0(Y,X);if(G===void 0)return J;return G===null?"":String(G)}catch{return J}}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(J,Y)=>{let G=Y.trim();if(/^__[A-Z_]+__$/.test(G))return J;try{let Q=d0(Y,X);if(Q===void 0)return J;return JSON.stringify(Q).replace(/</g,"\\u003c")}catch{return J}}),Z}function g2($,X){if(!$.includes("{"))return $;let Z=$;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(J,Y)=>{try{let G=d0(Y,X);if(G===void 0)return J;return G===null?"":String(G)}catch{return J}}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(J,Y)=>{let G=Y.trim();if(/^__[A-Z_]+__$/.test(G))return J;try{let Q=d0(Y,X);if(Q===void 0)return J;if(Q===null)return"";return String(Q).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}catch{return J}}),Z}function qK($,X,Z={}){let{output:J,scripts:Y}=y1($),G=Y.map((Q)=>{let w=Q.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i),q=Q.match(/^<script\b[^>]*>/i),W=Q.search(/<\/script\s*>$/i);if(!w||!q||W===-1)return Q;let K=w[1],z=w[2];if(/\bdata-raw\b/.test(K))return Q;if(Z.skipServer&&/\bserver\b/.test(K))return Q;let B=`<script${g2(K,X)}>`;if(/\bsrc\s*=/.test(K)||/\btype\s*=\s*["']application\/json["']/.test(K))return B+z+Q.slice(W);return B+b8(z,X)+Q.slice(W)});return b7(J,G)}function b1($,X,Z){let J=$,Y=(z,U)=>{let B=M5(z,U);if(B===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(z.slice(U,B))?-1:B},G=(z,U,B,j)=>{let _=B.length,{output:H,tokens:O}=w1(z,U,(L,F)=>j(_+F));return B.push(...O),H},Q=[];J=G(J,Y,Q,(z)=>`<!--__STX_STYLE_${z}__-->`);let w=[];J=G(J,D1,w,(z)=>`<!--__STX_SCRIPT_EXPR_${z}__-->`);let q=X?.__stx_signals_gate===!0||F1($),W=new Set(Array.isArray(X?.__stx_client_signal_names)?X.__stx_client_signal_names:[]),K=new Set(Array.isArray(X?.__stx_preserved_client_expressions)?X.__stx_preserved_client_expressions:[]);J=J.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(z,U,B)=>{try{let j=d0(U,X);return j!==void 0&&j!==null?String(j):""}catch(j){let _=j instanceof Error?j.message:String(j);return j0("Expression",`Error evaluating: {{{ ${U.trim()}}}}: ${_}`,Z,$,B,z)}}),J=J.replace(/\{!!([\s\S]*?)!!\}/g,(z,U,B)=>{try{let j=d0(U,X);if(j===void 0&&X.__stx_buildMode==="compile")return y8("raw",U.trim());return j!==void 0&&j!==null?String(j):""}catch(j){if(X.__stx_buildMode==="compile")return y8("raw",U.trim());let _=j instanceof Error?j.message:String(j);return j0("Expression",`Error evaluating: {!! ${U.trim()} !!}: ${_}`,Z,$,B,z)}}),J=G(J,D1,w,(z)=>`<!--__STX_SCRIPT_EXPR_${z}__-->`),J=G(J,Y,Q,(z)=>`<!--__STX_STYLE_${z}__-->`),J=J.replace(/\{\{([\s\S]*?)\}\}/g,(z,U,B)=>{let j=U.trim();if(K.has(j))return z;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_$]*)/,L=j.match(H)?.[1],F=L&&((L in X)||_.includes(L)),V=Boolean(L&&W.has(L)),R=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,A=j.match(R),N=A&&!_.includes(A[1])&&!(A[1]in X);if(/^__[A-Z_]+__$/.test(j))return"";try{let M=d0(U,X);if(V)return z;if(q&&!v2(j,X))return z;if(X.__stx_buildMode==="compile"&&!q&&(M===void 0||wK(j,X)))return y8("expr",j);return M!==void 0&&M!==null?$1(String(M)):""}catch(M){if(V)return z;if(q&&!v2(j,X))return z;if(N)return z;let T=M instanceof Error?M.message:String(M);return j0("Expression",`Error evaluating: {{ ${j} }}: ${T}`,Z,$,B,z)}});for(let z=0;z<w.length;z++)J=J.replace(`<!--__STX_SCRIPT_EXPR_${z}__-->`,()=>w[z]);for(let z=0;z<Q.length;z++)J=J.replace(`<!--__STX_STYLE_${z}__-->`,()=>Q[z]);return J}function h2($,X,Z){if(!X.trim())return $;let J=$,Y=X.trim();while(Y.length>0){let G=Y.match(/^(\w+)/);if(!G)break;let Q=G[1];Y=Y.substring(Q.length).trim();let w=S7[Q]||C7[Q];if(!w)throw Error(`Filter not found: ${Q}. Available filters: ${Object.keys(f2()).join(", ")}`);let q=[];if(Y.startsWith(":")){let W=Y.match(/^:([^|\s]+)/);if(W){let K=W[1].trim();try{let z=Number(K);q=[Number.isNaN(z)?K:z]}catch{q=[K]}Y=Y.substring(W[0].length).trim()}}else if(Y.startsWith("(")){let W=1,K=1;while(W>0&&K<Y.length){if(Y[K]==="(")W++;if(Y[K]===")")W--;K++}if(W===0){let z=Y.substring(1,K-1).trim();if(z)try{if(z.startsWith("{")&&z.endsWith("}"))q=[d0(`(${z})`,Z,!0)];else{let U=[],B="",j=null,_=0,H=0,O=0,L=!1;for(let F=0;F<z.length;F++){let V=z[F];if(L){B+=V,L=!1;continue}if(V==="\\"){B+=V,L=!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==="{")O++;else if(V==="}")O--;if(V===","&&_===0&&H===0&&O===0){U.push(B),B="";continue}B+=V}if(B)U.push(B);q=U.map((F)=>{let V=F.trim();return d0(V,Z,!0)})}}catch{q=[z]}Y=Y.substring(K).trim()}}try{J=w(J,Z,...q)}catch(W){let K=W instanceof Error?W.message:String(W);throw Error(`Error applying filter '${Q}': ${K}`)}if(Y.startsWith("|"))Y=Y.substring(1).trim();else break}return J}function WK($){let X=!1,Z="",J=0,Y=0,G=0,Q=!1;for(let w=0;w<$.length;w++){let q=$[w],W=$[w+1];if(X&&Q){Q=!1;continue}if(X&&q==="\\"){Q=!0;continue}if(Q=!1,(q==='"'||q==="'"||q==="`")&&!Q){if(!X)X=!0,Z=q;else if(q===Z)X=!1,Z="";continue}if(X&&Z==="`"&&q==="$"&&W==="{"){let K=1;w+=2;while(w<$.length&&K>0){if($[w]==="{")K++;else if($[w]==="}")K--;if(K>0)w++}continue}if(X)continue;if(q==="(")J++;else if(q===")")J--;else if(q==="[")Y++;else if(q==="]")Y--;else if(q==="{")G++;else if(q==="}")G--;if(q==="|"&&J===0&&Y===0&&G===0){if(W==="|"){w++;continue}if(W==="="){w++;continue}return w}}return-1}function d0($,X,Z=!1){try{let J=$.trim(),Y=WK(J);if(Y>0){let G=J.substring(0,Y).trim(),Q=J.substring(Y+1).trim(),w=d0(G,X,!0);return h2(w,Q,X)}if(!w0(J)){if(!Z)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${J}`);return Y0(J,X)}try{let G=Object.keys(X),Q=Object.values(X);return q0(J,G)(...Q)}catch{return Y0(J,X)}}catch(J){if(J instanceof ReferenceError){let Y=/(\b\w+)\s+is not defined/.exec(J.message);if(Y){let G=Y[1],Q=KK(G,Object.keys(X));if(Q&&Q!==G)J.message=`${J.message} \u2014 did you mean '${Q}'?`}}if(!Z)console.error(`Error evaluating expression: ${$}`,J);throw J}}function KK($,X){let Z=null;for(let Y of X){if(Y===$)continue;let G=zK($,Y);if(Z===null||G<Z.dist)Z={key:Y,dist:G}}if(!Z)return null;let J=Math.max($.length,Z.key.length);if(Z.dist<=2||Z.dist/J<=0.35)return Z.key;return null}function zK($,X){if($===X)return 0;if($.length===0)return X.length;if(X.length===0)return $.length;let[Z,J]=$.length<X.length?[$,X]:[X,$],Y=Array(Z.length+1),G=Array(Z.length+1);for(let Q=0;Q<=Z.length;Q++)Y[Q]=Q;for(let Q=1;Q<=J.length;Q++){G[0]=Q;for(let w=1;w<=Z.length;w++){let q=Z[w-1]===J[Q-1]?0:1;G[w]=Math.min(G[w-1]+1,Y[w]+1,Y[w-1]+q)}for(let w=0;w<=Z.length;w++)Y[w]=G[w]}return Y[Z.length]}function UK($){if(!$)return"";return $.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#039;/g,"'").replace(/&#39;/g,"'").replace(/&amp;/g,"&")}var S7,P2,C7;var q1=E(()=>{I0();D0();E2();r1();S7={},P2=new Map;C7={uppercase:($,X)=>{return $!==void 0&&$!==null?String($).toUpperCase():""},lowercase:($,X)=>{return $!==void 0&&$!==null?String($).toLowerCase():""},capitalize:($,X)=>{if($===void 0||$===null)return"";let Z=String($);return Z.charAt(0).toUpperCase()+Z.slice(1)},number:($,X,Z=0)=>{if($===void 0||$===null)return"";try{let J=Number($);return Number.isNaN(J)?"":J.toFixed(Number.parseInt(String(Z),10))}catch{return""}},fmt:($,X,Z="en-US")=>{if($===void 0||$===null)return"";try{let J=Number($);if(Number.isNaN(J))return String($);return J.toLocaleString(Z)}catch{return String($)}},join:($,X,Z=",")=>{if(!Array.isArray($))return"";return $.join(String(Z))},escape:($,X)=>{if($===void 0||$===null)return"";return $1(String($))},translate:($,X,Z={})=>{if(!X||!X.__translations)return $;let J=X.__translations,Y=X.__i18nConfig?.fallbackToKey??!0,G=String($).split("."),Q=J;for(let q of G){if(Q===void 0||Q===null)break;Q=Q[q]}if(Q===void 0||Q===null)return Y?$:"";let w=String(Q);return Object.entries(Z).forEach(([q,W])=>{w=w.replace(YK(q),String(W))}),w},t:($,X,Z={})=>{return C7.translate($,X,Z)},truncate:($,X,Z=50,J="...")=>{if($===void 0||$===null)return"";let Y=String($);if(Y.length<=Z)return Y;if(Z<=J.length)return J.substring(0,Z);return Y.substring(0,Z-J.length)+J},date:($,X,Z="short",J="en-US")=>{if($===void 0||$===null)return"";try{let Y=$ instanceof Date?$:new Date($);if(Number.isNaN(Y.getTime()))return String($);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 Y.toISOString();return new Intl.DateTimeFormat(J,G[Z]||G.short).format(Y)}catch{return String($)}},currency:($,X,Z="USD",J="en-US")=>{if($===void 0||$===null)return"";try{let Y=Number($);if(Number.isNaN(Y))return String($);return new Intl.NumberFormat(J,{style:"currency",currency:Z}).format(Y)}catch{return String($)}},pluralize:($,X,Z,J)=>{let Y=Number($);if(Number.isNaN(Y))return Z;let G=J||`${Z}s`;return Y===1?Z:G},first:($,X)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[0];return String($).charAt(0)},last:($,X)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[$.length-1];let Z=String($);return Z.charAt(Z.length-1)},length:($,X)=>{if($===void 0||$===null)return 0;if(Array.isArray($)||typeof $==="string")return $.length;if($ instanceof Map||$ instanceof Set)return $.size;if(typeof $==="object")return Object.keys($).length;return 0},json:($,X,Z=!1)=>{if($===void 0)return"undefined";if($===null)return"null";try{return Z?JSON.stringify($,null,2):JSON.stringify($)}catch{return String($)}},default:($,X,Z="")=>{return $===void 0||$===null||$===""?Z:$},reverse:($,X)=>{if($===void 0||$===null)return"";if(Array.isArray($))return[...$].reverse();return String($).split("").reverse().join("")},slice:($,X,Z=0,J)=>{if($===void 0||$===null)return"";if(Array.isArray($)||typeof $==="string")return $.slice(Z,J);return $},replace:($,X,Z,J="")=>{if($===void 0||$===null)return"";let Y=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(Y,"g"),()=>J)},stripTags:($,X)=>{if($===void 0||$===null)return"";return String($).replace(/<[^>]*>/g,"")},urlencode:($,X)=>{if($===void 0||$===null)return"";return encodeURIComponent(String($))},abs:($,X)=>{let Z=Number($);return Number.isNaN(Z)?0:Math.abs(Z)},round:($,X,Z=0)=>{let J=Number($);if(Number.isNaN(J))return 0;let Y=10**Z;return Math.round(J*Y)/Y}}});class o1{cache=new Map;maxSize;constructor($=100){this.maxSize=$}get($){if(!this.cache.has($))return;let X=this.cache.get($);return this.cache.delete($),this.cache.set($,X),X}set($,X){if(this.cache.has($))this.cache.delete($);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($){return this.cache.has($)}delete($){return this.cache.delete($)}clear(){this.cache.clear()}get size(){return this.cache.size}keys(){return this.cache.keys()}values(){return this.cache.values()}}function I5($,X){if(X?.includes("g"))return new RegExp($,X);let Z=`${$}:${X||""}`;if(!k5.has(Z)){if(k5.size>=jK){let J=k5.keys().next().value;if(J)k5.delete(J)}k5.set(Z,new RegExp($,X))}return k5.get(Z)}class d2{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator($){let X=Array.from(new Set($)),Z=X.sort().join(","),J=this.pool.find((w)=>w.context.join(",")===Z);if(J)return J.func;let Y=this.fnCache,G=this.fnCacheMaxSize,Q=(...w)=>{return(q)=>{try{let W=`${Z}:${q}`,K=Y.get(W);if(!K){if(Y.size>=G){let z=Y.keys().next().value;if(z)Y.delete(z)}K=Function(...X,`
2532
+ `),w=Q([]);if(G.length===X.length)return P2(w,G,Q);return P2((...W)=>{let K=Array(Y.length);for(let z=0;z<Y.length;z++)K[z]=W[Y[z]];return w(...K)},G,Q,(W)=>{w=Q(W)})}function P2($,X,Z,J){let G=/^(\w+) is not defined$/,Q=$,w=[],q=new Set(X);return(...W)=>{for(let K=0;K<=8;K++)try{return Q(...W)}catch(z){let U=z instanceof Error?z.message:"",B=G.exec(U);if(!(z instanceof ReferenceError)||!B)return;let j=B[1];if(q.has(j)||g2.has(j))return;q.add(j),w.push(j),Q=Z(w),J?.(w)}return}}function b8($){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 J of Z)if(J.test(X))return!1;return!0}var ZK,v2,x2,JK,f2,YK,g2;var E0=E(()=>{ZK={maxSanitizeDepth:10,allowBracketNotation:!1},v2={...ZK},x2=[/\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/],JK=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"]),f2=new Set(["__proto__","constructor","prototype"]),YK=/[\w)\]]\s*\[\s*['"]/;g2=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 S8($,X){let Z=WK++,J=`<!--__STX_${$.toUpperCase()}_${Z}__-->`;return KK.set(J,{type:$,expression:X}),J}var WK=0,KK;var h2=E(()=>{KK=new Map});function c2($,X,Z,J){Z.lastIndex=X;let Y=Z.exec($);if(!Y||Y.index!==X)return-1;J.lastIndex=Z.lastIndex;let G=J.exec($);if(!G)return-1;return G.index+G[0].length}function y1($,X){return c2($,X,u2,d2)}function M5($,X){return c2($,X,m2,l2)}function b7($,X){if(!$.startsWith("<!--",X))return-1;let Z=$.indexOf("-->",X+4);if(Z===-1)return-1;return Z+3}function zK($,X){if($.startsWith("<!--",X)){let Z=b7($,X);return Z===-1?$.length:Z}for(let[Z,J]of[[u2,d2],[m2,l2]]){Z.lastIndex=X;let Y=Z.exec($);if(!Y||Y.index!==X)continue;J.lastIndex=Z.lastIndex;let G=J.exec($);return G?G.index+G[0].length:$.length}return-1}function C8($,X){let Z=[],J=0,Y=$.length,G=!1,Q=null;while(J<Y){let w=$[J];if(G){if(Q){if(w===Q)Q=null}else if(w==='"'||w==="'")Q=w;else if(w===">")G=!1;J++;continue}if(w!=="<"){J++;continue}let q=X($,J);if(q>J){Z.push({start:J,end:q,token:$.slice(J,q)}),J=q;continue}let W=zK($,J);if(W>J){J=W;continue}if(/^<\/?[a-zA-Z]/.test($.slice(J,J+2)))G=!0;J++}return Z}function w1($,X,Z){let J=C8($,X);if(J.length===0)return{output:$,tokens:[]};let Y=J.map((w)=>w.token),G="",Q=0;for(let w=0;w<J.length;w++){let q=J[w];G+=$.slice(Q,q.start),G+=Z(q.token,w),Q=q.end}return G+=$.slice(Q),{output:G,tokens:Y}}function b1($){let{output:X,tokens:Z}=w1($,y1,(J,Y)=>`\x00STX_SCRIPT_${Y}\x00`);return{output:X,scripts:Z}}function S7($,X){if(X.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Z,J)=>X[+J]??"")}var u2,d2,m2,l2;var o1=E(()=>{u2=/<script\b[^>]*>/iy,d2=/<\/script\s*>/ig,m2=/<style\b[^>]*>/iy,l2=/<\/style\s*>/ig});var a2={};t(a2,{usesSignalsInScript:()=>F1,unescapeHtml:()=>VK,registerFilters:()=>jK,registerFilter:()=>n2,processExpressions:()=>S1,interpolateScriptsInTemplate:()=>HK,interpolateScriptExpressions:()=>P8,interpolateScriptAttributes:()=>o2,getAllFilters:()=>r2,evaluateExpression:()=>d0,escapeHtml:()=>$1,defaultFilters:()=>P7,clearCustomFilters:()=>BK,applyFilters:()=>s2});function UK($){let X=p2.get($);if(!X){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");X=new RegExp(`:${Z}(?!\\w)`,"g"),p2.set($,X)}return X.lastIndex=0,X}function n2($,X){if($ in P7)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);C7[$]=X}function jK($){for(let[X,Z]of Object.entries($))n2(X,Z)}function r2(){return{...P7,...C7}}function BK(){for(let $ of Object.keys(C7))delete C7[$]}function $1($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function F1($){let{scripts:X}=b1($);for(let Z of X){let J=Z.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i);if(!J||/\bserver\b|\bsrc\s*=/.test(J[1]))continue;let Y=J[2];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(Y))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test($))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test($))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test($))return!0;return!1}function i2($,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"],J=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),Y="",G=!1,Q=0;for(let W=0;W<J.length;W++){let K=J[W];if(!G&&K==="`"){G=!0,Q=0;continue}if(G){if(K==="`"&&Q===0){G=!1;continue}if(K==="$"&&J[W+1]==="{"){Q++,W++,Y+=" ";continue}if(K==="}"&&Q>0){Q--;continue}if(Q>0){Y+=K;continue}continue}Y+=K}J=Y;let w=/(?<![a-zA-Z0-9_$])([a-zA-Z_$][a-zA-Z0-9_$]*)/g,q;while((q=w.exec(J))!==null){let W=q[1];if(!J.substring(0,q.index).trimEnd().endsWith(".")){if(!Z.includes(W)&&!(W in X))return!1}}return!0}function _K($,X){let Z=X.__stx_serverDeclared;if(!Z||Z.size===0)return!1;let J=o0($);for(let Y of Z)if(new RegExp(`(?<![.#\\w$])${Y}(?![\\w$])`).test(J))return!0;return!1}function P8($,X){let Z=$;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(J,Y)=>{try{let G=d0(Y,X);if(G===void 0)return J;return G===null?"":String(G)}catch{return J}}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(J,Y)=>{let G=Y.trim();if(/^__[A-Z_]+__$/.test(G))return J;try{let Q=d0(Y,X);if(Q===void 0)return J;return JSON.stringify(Q).replace(/</g,"\\u003c")}catch{return J}}),Z}function o2($,X){if(!$.includes("{"))return $;let Z=$;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(J,Y)=>{try{let G=d0(Y,X);if(G===void 0)return J;return G===null?"":String(G)}catch{return J}}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(J,Y)=>{let G=Y.trim();if(/^__[A-Z_]+__$/.test(G))return J;try{let Q=d0(Y,X);if(Q===void 0)return J;if(Q===null)return"";return String(Q).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}catch{return J}}),Z}function HK($,X,Z={}){let{output:J,scripts:Y}=b1($),G=Y.map((Q)=>{let w=Q.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i),q=Q.match(/^<script\b[^>]*>/i),W=Q.search(/<\/script\s*>$/i);if(!w||!q||W===-1)return Q;let K=w[1],z=w[2];if(/\bdata-raw\b/.test(K))return Q;if(Z.skipServer&&/\bserver\b/.test(K))return Q;let B=`<script${o2(K,X)}>`;if(/\bsrc\s*=/.test(K)||/\btype\s*=\s*["']application\/json["']/.test(K))return B+z+Q.slice(W);return B+P8(z,X)+Q.slice(W)});return S7(J,G)}function S1($,X,Z){let J=$,Y=(z,U)=>{let B=M5(z,U);if(B===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(z.slice(U,B))?-1:B},G=(z,U,B,j)=>{let _=B.length,{output:H,tokens:L}=w1(z,U,(O,F)=>j(_+F));return B.push(...L),H},Q=[];J=G(J,Y,Q,(z)=>`<!--__STX_STYLE_${z}__-->`);let w=[];J=G(J,y1,w,(z)=>`<!--__STX_SCRIPT_EXPR_${z}__-->`);let q=X?.__stx_signals_gate===!0||F1($),W=new Set(Array.isArray(X?.__stx_client_signal_names)?X.__stx_client_signal_names:[]),K=new Set(Array.isArray(X?.__stx_preserved_client_expressions)?X.__stx_preserved_client_expressions:[]);J=J.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(z,U,B)=>{try{let j=d0(U,X);return j!==void 0&&j!==null?String(j):""}catch(j){let _=j instanceof Error?j.message:String(j);return j0("Expression",`Error evaluating: {{{ ${U.trim()}}}}: ${_}`,Z,$,B,z)}}),J=J.replace(/\{!!([\s\S]*?)!!\}/g,(z,U,B)=>{try{let j=d0(U,X);if(j===void 0&&X.__stx_buildMode==="compile")return S8("raw",U.trim());return j!==void 0&&j!==null?String(j):""}catch(j){if(X.__stx_buildMode==="compile")return S8("raw",U.trim());let _=j instanceof Error?j.message:String(j);return j0("Expression",`Error evaluating: {!! ${U.trim()} !!}: ${_}`,Z,$,B,z)}}),J=G(J,y1,w,(z)=>`<!--__STX_SCRIPT_EXPR_${z}__-->`),J=G(J,Y,Q,(z)=>`<!--__STX_STYLE_${z}__-->`),J=J.replace(/\{\{([\s\S]*?)\}\}/g,(z,U,B)=>{let j=U.trim();if(K.has(j))return z;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 X)||_.includes(O)),V=Boolean(O&&W.has(O)),A=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,R=j.match(A),N=R&&!_.includes(R[1])&&!(R[1]in X);if(/^__[A-Z_]+__$/.test(j))return"";try{let M=d0(U,X);if(V)return z;if(q&&!i2(j,X))return z;if(X.__stx_buildMode==="compile"&&!q&&(M===void 0||_K(j,X)))return S8("expr",j);return M!==void 0&&M!==null?$1(String(M)):""}catch(M){if(V)return z;if(q&&!i2(j,X))return z;if(N)return z;let T=M instanceof Error?M.message:String(M);return j0("Expression",`Error evaluating: {{ ${j} }}: ${T}`,Z,$,B,z)}});for(let z=0;z<w.length;z++)J=J.replace(`<!--__STX_SCRIPT_EXPR_${z}__-->`,()=>w[z]);for(let z=0;z<Q.length;z++)J=J.replace(`<!--__STX_STYLE_${z}__-->`,()=>Q[z]);return J}function s2($,X,Z){if(!X.trim())return $;let J=$,Y=X.trim();while(Y.length>0){let G=Y.match(/^(\w+)/);if(!G)break;let Q=G[1];Y=Y.substring(Q.length).trim();let w=C7[Q]||P7[Q];if(!w)throw Error(`Filter not found: ${Q}. Available filters: ${Object.keys(r2()).join(", ")}`);let q=[];if(Y.startsWith(":")){let W=Y.match(/^:([^|\s]+)/);if(W){let K=W[1].trim();try{let z=Number(K);q=[Number.isNaN(z)?K:z]}catch{q=[K]}Y=Y.substring(W[0].length).trim()}}else if(Y.startsWith("(")){let W=1,K=1;while(W>0&&K<Y.length){if(Y[K]==="(")W++;if(Y[K]===")")W--;K++}if(W===0){let z=Y.substring(1,K-1).trim();if(z)try{if(z.startsWith("{")&&z.endsWith("}"))q=[d0(`(${z})`,Z,!0)];else{let U=[],B="",j=null,_=0,H=0,L=0,O=!1;for(let F=0;F<z.length;F++){let V=z[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){U.push(B),B="";continue}B+=V}if(B)U.push(B);q=U.map((F)=>{let V=F.trim();return d0(V,Z,!0)})}}catch{q=[z]}Y=Y.substring(K).trim()}}try{J=w(J,Z,...q)}catch(W){let K=W instanceof Error?W.message:String(W);throw Error(`Error applying filter '${Q}': ${K}`)}if(Y.startsWith("|"))Y=Y.substring(1).trim();else break}return J}function OK($){let X=!1,Z="",J=0,Y=0,G=0,Q=!1;for(let w=0;w<$.length;w++){let q=$[w],W=$[w+1];if(X&&Q){Q=!1;continue}if(X&&q==="\\"){Q=!0;continue}if(Q=!1,(q==='"'||q==="'"||q==="`")&&!Q){if(!X)X=!0,Z=q;else if(q===Z)X=!1,Z="";continue}if(X&&Z==="`"&&q==="$"&&W==="{"){let K=1;w+=2;while(w<$.length&&K>0){if($[w]==="{")K++;else if($[w]==="}")K--;if(K>0)w++}continue}if(X)continue;if(q==="(")J++;else if(q===")")J--;else if(q==="[")Y++;else if(q==="]")Y--;else if(q==="{")G++;else if(q==="}")G--;if(q==="|"&&J===0&&Y===0&&G===0){if(W==="|"){w++;continue}if(W==="="){w++;continue}return w}}return-1}function d0($,X,Z=!1){try{let J=$.trim(),Y=OK(J);if(Y>0){let G=J.substring(0,Y).trim(),Q=J.substring(Y+1).trim(),w=d0(G,X,!0);return s2(w,Q,X)}if(!w0(J)){if(!Z)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${J}`);return Y0(J,X)}try{let G=Object.keys(X),Q=Object.values(X);return q0(J,G)(...Q)}catch{return Y0(J,X)}}catch(J){if(J instanceof ReferenceError){let Y=/(\b\w+)\s+is not defined/.exec(J.message);if(Y){let G=Y[1],Q=LK(G,Object.keys(X));if(Q&&Q!==G)J.message=`${J.message} \u2014 did you mean '${Q}'?`}}if(!Z)console.error(`Error evaluating expression: ${$}`,J);throw J}}function LK($,X){let Z=null;for(let Y of X){if(Y===$)continue;let G=FK($,Y);if(Z===null||G<Z.dist)Z={key:Y,dist:G}}if(!Z)return null;let J=Math.max($.length,Z.key.length);if(Z.dist<=2||Z.dist/J<=0.35)return Z.key;return null}function FK($,X){if($===X)return 0;if($.length===0)return X.length;if(X.length===0)return $.length;let[Z,J]=$.length<X.length?[$,X]:[X,$],Y=Array(Z.length+1),G=Array(Z.length+1);for(let Q=0;Q<=Z.length;Q++)Y[Q]=Q;for(let Q=1;Q<=J.length;Q++){G[0]=Q;for(let w=1;w<=Z.length;w++){let q=Z[w-1]===J[Q-1]?0:1;G[w]=Math.min(G[w-1]+1,Y[w]+1,Y[w-1]+q)}for(let w=0;w<=Z.length;w++)Y[w]=G[w]}return Y[Z.length]}function VK($){if(!$)return"";return $.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#039;/g,"'").replace(/&#39;/g,"'").replace(/&amp;/g,"&")}var C7,p2,P7;var q1=E(()=>{E0();y0();h2();o1();C7={},p2=new Map;P7={uppercase:($,X)=>{return $!==void 0&&$!==null?String($).toUpperCase():""},lowercase:($,X)=>{return $!==void 0&&$!==null?String($).toLowerCase():""},capitalize:($,X)=>{if($===void 0||$===null)return"";let Z=String($);return Z.charAt(0).toUpperCase()+Z.slice(1)},number:($,X,Z=0)=>{if($===void 0||$===null)return"";try{let J=Number($);return Number.isNaN(J)?"":J.toFixed(Number.parseInt(String(Z),10))}catch{return""}},fmt:($,X,Z="en-US")=>{if($===void 0||$===null)return"";try{let J=Number($);if(Number.isNaN(J))return String($);return J.toLocaleString(Z)}catch{return String($)}},join:($,X,Z=",")=>{if(!Array.isArray($))return"";return $.join(String(Z))},escape:($,X)=>{if($===void 0||$===null)return"";return $1(String($))},translate:($,X,Z={})=>{if(!X||!X.__translations)return $;let J=X.__translations,Y=X.__i18nConfig?.fallbackToKey??!0,G=String($).split("."),Q=J;for(let q of G){if(Q===void 0||Q===null)break;Q=Q[q]}if(Q===void 0||Q===null)return Y?$:"";let w=String(Q);return Object.entries(Z).forEach(([q,W])=>{w=w.replace(UK(q),String(W))}),w},t:($,X,Z={})=>{return P7.translate($,X,Z)},truncate:($,X,Z=50,J="...")=>{if($===void 0||$===null)return"";let Y=String($);if(Y.length<=Z)return Y;if(Z<=J.length)return J.substring(0,Z);return Y.substring(0,Z-J.length)+J},date:($,X,Z="short",J="en-US")=>{if($===void 0||$===null)return"";try{let Y=$ instanceof Date?$:new Date($);if(Number.isNaN(Y.getTime()))return String($);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 Y.toISOString();return new Intl.DateTimeFormat(J,G[Z]||G.short).format(Y)}catch{return String($)}},currency:($,X,Z="USD",J="en-US")=>{if($===void 0||$===null)return"";try{let Y=Number($);if(Number.isNaN(Y))return String($);return new Intl.NumberFormat(J,{style:"currency",currency:Z}).format(Y)}catch{return String($)}},pluralize:($,X,Z,J)=>{let Y=Number($);if(Number.isNaN(Y))return Z;let G=J||`${Z}s`;return Y===1?Z:G},first:($,X)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[0];return String($).charAt(0)},last:($,X)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[$.length-1];let Z=String($);return Z.charAt(Z.length-1)},length:($,X)=>{if($===void 0||$===null)return 0;if(Array.isArray($)||typeof $==="string")return $.length;if($ instanceof Map||$ instanceof Set)return $.size;if(typeof $==="object")return Object.keys($).length;return 0},json:($,X,Z=!1)=>{if($===void 0)return"undefined";if($===null)return"null";try{return Z?JSON.stringify($,null,2):JSON.stringify($)}catch{return String($)}},default:($,X,Z="")=>{return $===void 0||$===null||$===""?Z:$},reverse:($,X)=>{if($===void 0||$===null)return"";if(Array.isArray($))return[...$].reverse();return String($).split("").reverse().join("")},slice:($,X,Z=0,J)=>{if($===void 0||$===null)return"";if(Array.isArray($)||typeof $==="string")return $.slice(Z,J);return $},replace:($,X,Z,J="")=>{if($===void 0||$===null)return"";let Y=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(Y,"g"),()=>J)},stripTags:($,X)=>{if($===void 0||$===null)return"";return String($).replace(/<[^>]*>/g,"")},urlencode:($,X)=>{if($===void 0||$===null)return"";return encodeURIComponent(String($))},abs:($,X)=>{let Z=Number($);return Number.isNaN(Z)?0:Math.abs(Z)},round:($,X,Z=0)=>{let J=Number($);if(Number.isNaN(J))return 0;let Y=10**Z;return Math.round(J*Y)/Y}}});class s1{cache=new Map;maxSize;constructor($=100){this.maxSize=$}get($){if(!this.cache.has($))return;let X=this.cache.get($);return this.cache.delete($),this.cache.set($,X),X}set($,X){if(this.cache.has($))this.cache.delete($);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($){return this.cache.has($)}delete($){return this.cache.delete($)}clear(){this.cache.clear()}get size(){return this.cache.size}keys(){return this.cache.keys()}values(){return this.cache.values()}}function I5($,X){if(X?.includes("g"))return new RegExp($,X);let Z=`${$}:${X||""}`;if(!k5.has(Z)){if(k5.size>=AK){let J=k5.keys().next().value;if(J)k5.delete(J)}k5.set(Z,new RegExp($,X))}return k5.get(Z)}class t2{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator($){let X=Array.from(new Set($)),Z=X.sort().join(","),J=this.pool.find((w)=>w.context.join(",")===Z);if(J)return J.func;let Y=this.fnCache,G=this.fnCacheMaxSize,Q=(...w)=>{return(q)=>{try{let W=`${Z}:${q}`,K=Y.get(W);if(!K){if(Y.size>=G){let z=Y.keys().next().value;if(z)Y.delete(z)}K=Function(...X,`
2532
2533
  'use strict';
2533
2534
  try {
2534
2535
  return ${q};
@@ -2539,34 +2540,34 @@ catch (e) {
2539
2540
  }
2540
2541
  throw e;
2541
2542
  }
2542
- `),Y.set(W,K)}return K(...w)}catch{return}}};if(this.pool.length<this.maxPoolSize)this.pool.push({func:Q,context:X.slice()});return Q}clear(){this.pool.length=0,this.fnCache.clear()}}class m2{metrics=new Map;budgets=new Map;violations=[];maxViolations=100;violationHandlers=[];enabled=!0;setEnabled($){this.enabled=$}isEnabled(){return this.enabled}setBudget($,X){this.budgets.set($,{warnThreshold:0.8,action:"warn",...X})}setBudgets($){for(let[X,Z]of Object.entries($))this.setBudget(X,Z)}removeBudget($){this.budgets.delete($)}getBudgets(){let $={};for(let[X,Z]of this.budgets.entries())$[X]=Z;return $}onViolation($){this.violationHandlers.push($)}offViolation($){let X=this.violationHandlers.indexOf($);if(X!==-1)this.violationHandlers.splice(X,1)}time($,X){if(!this.enabled)return X();let Z=performance.now(),J=X(),Y=performance.now()-Z;return this.recordTime($,Y),this.checkBudget($,Y),J}async timeAsync($,X){if(!this.enabled)return X();let Z=performance.now(),J=await X(),Y=performance.now()-Z;return this.recordTime($,Y),this.checkBudget($,Y),J}checkBudget($,X){let Z=this.budgets.get($);if(!Z)return;let J=X/Z.maxTime*100,Y=Z.warnThreshold!==void 0?X>=Z.maxTime*Z.warnThreshold&&X<Z.maxTime:!1,G=X>=Z.maxTime;if(!Y&&!G)return;let Q={label:$,actualTime:X,budgetTime:Z.maxTime,exceedancePercent:J,timestamp:new Date,isWarning:Y};this.violations.push(Q);while(this.violations.length>this.maxViolations)this.violations.shift();for(let q of this.violationHandlers)try{q(Q)}catch{}let w=Y?`[Performance Warning] "${$}" took ${X.toFixed(2)}ms (${J.toFixed(1)}% of ${Z.maxTime}ms budget)`:`[Performance Budget Exceeded] "${$}" took ${X.toFixed(2)}ms (exceeded ${Z.maxTime}ms budget by ${(J-100).toFixed(1)}%)`;switch(Z.action){case"log":console.log(w);break;case"warn":console.warn(w);break;case"error":console.error(w);break;case"throw":if(G)throw Error(w);else console.warn(w);break}}recordTime($,X){let Z=this.metrics.get($);if(Z)Z.count++,Z.totalTime+=X,Z.maxTime=Math.max(Z.maxTime,X),Z.minTime=Math.min(Z.minTime,X);else this.metrics.set($,{count:1,totalTime:X,maxTime:X,minTime:X})}getStats($){if($){let Z=this.metrics.get($);if(!Z)return{};let J=this.budgets.get($);return{count:Z.count,avgTime:Z.totalTime/Z.count,totalTime:Z.totalTime,maxTime:Z.maxTime,minTime:Z.minTime,budget:J?.maxTime,budgetUtilization:J?Z.totalTime/Z.count/J.maxTime*100:void 0}}let X={};for(let[Z,J]of this.metrics.entries()){let Y=this.budgets.get(Z);X[Z]={count:J.count,avgTime:J.totalTime/J.count,totalTime:J.totalTime,maxTime:J.maxTime,minTime:J.minTime,budget:Y?.maxTime,budgetUtilization:Y?J.totalTime/J.count/Y.maxTime*100:void 0}}return X}getViolations($){if($)return this.violations.filter((X)=>X.label===$);return[...this.violations]}getViolationStats(){let $={},X=0,Z=0;for(let J of this.violations)if($[J.label]=($[J.label]||0)+1,J.isWarning)X++;else Z++;return{total:this.violations.length,byLabel:$,warnings:X,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 BK(){if(!JX)JX=new m2;return JX}var k5,jK=500,mV,JX=null,l2;var E5=E(()=>{k5=new Map;mV=new d2;l2=new Proxy({},{get($,X){return BK()[X]}})});function c2($,X=""){let Z=`${$}${X}`,J=0;for(let Y=0;Y<Z.length;Y++){let G=Z.charCodeAt(Y);J=(J<<5)-J+G,J=J&J}return`stx-${Math.abs(J).toString(36)}`}function p2($,X,Z={}){let{prefix:J="",preserveHost:Y=!0,scopeKeyframes:G=!0,scopeCustomProperties:Q=!1}=Z;if(!$.trim())return"";let w=YX($),q=[],W=new Map;if(G)for(let K of w){let z=K.selector.match(/@keyframes\s+([a-z_-][a-z0-9_-]*)/i);if(z){let U=z[1],B=`${X}_${U}`;W.set(U,B)}}for(let K of w){let z=i2(K,X,J,Y,W,Q);q.push(z)}return q.join(`
2543
+ `),Y.set(W,K)}return K(...w)}catch{return}}};if(this.pool.length<this.maxPoolSize)this.pool.push({func:Q,context:X.slice()});return Q}clear(){this.pool.length=0,this.fnCache.clear()}}class e2{metrics=new Map;budgets=new Map;violations=[];maxViolations=100;violationHandlers=[];enabled=!0;setEnabled($){this.enabled=$}isEnabled(){return this.enabled}setBudget($,X){this.budgets.set($,{warnThreshold:0.8,action:"warn",...X})}setBudgets($){for(let[X,Z]of Object.entries($))this.setBudget(X,Z)}removeBudget($){this.budgets.delete($)}getBudgets(){let $={};for(let[X,Z]of this.budgets.entries())$[X]=Z;return $}onViolation($){this.violationHandlers.push($)}offViolation($){let X=this.violationHandlers.indexOf($);if(X!==-1)this.violationHandlers.splice(X,1)}time($,X){if(!this.enabled)return X();let Z=performance.now(),J=X(),Y=performance.now()-Z;return this.recordTime($,Y),this.checkBudget($,Y),J}async timeAsync($,X){if(!this.enabled)return X();let Z=performance.now(),J=await X(),Y=performance.now()-Z;return this.recordTime($,Y),this.checkBudget($,Y),J}checkBudget($,X){let Z=this.budgets.get($);if(!Z)return;let J=X/Z.maxTime*100,Y=Z.warnThreshold!==void 0?X>=Z.maxTime*Z.warnThreshold&&X<Z.maxTime:!1,G=X>=Z.maxTime;if(!Y&&!G)return;let Q={label:$,actualTime:X,budgetTime:Z.maxTime,exceedancePercent:J,timestamp:new Date,isWarning:Y};this.violations.push(Q);while(this.violations.length>this.maxViolations)this.violations.shift();for(let q of this.violationHandlers)try{q(Q)}catch{}let w=Y?`[Performance Warning] "${$}" took ${X.toFixed(2)}ms (${J.toFixed(1)}% of ${Z.maxTime}ms budget)`:`[Performance Budget Exceeded] "${$}" took ${X.toFixed(2)}ms (exceeded ${Z.maxTime}ms budget by ${(J-100).toFixed(1)}%)`;switch(Z.action){case"log":console.log(w);break;case"warn":console.warn(w);break;case"error":console.error(w);break;case"throw":if(G)throw Error(w);else console.warn(w);break}}recordTime($,X){let Z=this.metrics.get($);if(Z)Z.count++,Z.totalTime+=X,Z.maxTime=Math.max(Z.maxTime,X),Z.minTime=Math.min(Z.minTime,X);else this.metrics.set($,{count:1,totalTime:X,maxTime:X,minTime:X})}getStats($){if($){let Z=this.metrics.get($);if(!Z)return{};let J=this.budgets.get($);return{count:Z.count,avgTime:Z.totalTime/Z.count,totalTime:Z.totalTime,maxTime:Z.maxTime,minTime:Z.minTime,budget:J?.maxTime,budgetUtilization:J?Z.totalTime/Z.count/J.maxTime*100:void 0}}let X={};for(let[Z,J]of this.metrics.entries()){let Y=this.budgets.get(Z);X[Z]={count:J.count,avgTime:J.totalTime/J.count,totalTime:J.totalTime,maxTime:J.maxTime,minTime:J.minTime,budget:Y?.maxTime,budgetUtilization:Y?J.totalTime/J.count/Y.maxTime*100:void 0}}return X}getViolations($){if($)return this.violations.filter((X)=>X.label===$);return[...this.violations]}getViolationStats(){let $={},X=0,Z=0;for(let J of this.violations)if($[J.label]=($[J.label]||0)+1,J.isWarning)X++;else Z++;return{total:this.violations.length,byLabel:$,warnings:X,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 RK(){if(!wX)wX=new e2;return wX}var k5,AK=500,XA,wX=null,$Z;var E5=E(()=>{k5=new Map;XA=new t2;$Z=new Proxy({},{get($,X){return RK()[X]}})});function XZ($,X=""){let Z=`${$}${X}`,J=0;for(let Y=0;Y<Z.length;Y++){let G=Z.charCodeAt(Y);J=(J<<5)-J+G,J=J&J}return`stx-${Math.abs(J).toString(36)}`}function ZZ($,X,Z={}){let{prefix:J="",preserveHost:Y=!0,scopeKeyframes:G=!0,scopeCustomProperties:Q=!1}=Z;if(!$.trim())return"";let w=qX($),q=[],W=new Map;if(G)for(let K of w){let z=K.selector.match(/@keyframes\s+([a-z_-][a-z0-9_-]*)/i);if(z){let U=z[1],B=`${X}_${U}`;W.set(U,B)}}for(let K of w){let z=JZ(K,X,J,Y,W,Q);q.push(z)}return q.join(`
2543
2544
 
2544
- `)}function YX($){let X=[],Z=$.replace(/\/\*[\s\S]*?\*\//g,""),J=0,Y="",G=!1,Q="";for(let w=0;w<Z.length;w++){let q=Z[w];if(q==="@"&&J===0)G=!0;if(q==="{")J++;else if(q==="}"){if(J--,J===0){if(G){Q+=q;let W=Q.match(/@([a-z-]+)\s*([^{]*)\{([\s\S]*)\}/i);if(W){let[,K,z,U]=W;if(K==="keyframes")X.push({selector:`@keyframes ${z.trim()}`,declarations:U.trim()});else if(K==="media"||K==="supports"||K==="container"){let B=YX(U);X.push({selector:`@${K} ${z.trim()}`,declarations:B.map((j)=>`${j.selector} { ${j.declarations} }`).join(`
2545
- `)})}else X.push({selector:`@${K} ${z.trim()}`,declarations:U.trim()})}Q="",G=!1}else if(Y.trim()){Y+=q;let W=Y.match(/([^{]+)\{([^}]*)\}/);if(W)X.push({selector:W[1].trim(),declarations:W[2].trim()});Y=""}continue}}if(G)Q+=q;else Y+=q}return X}function i2($,X,Z,J,Y,G){let{selector:Q,declarations:w}=$;if(Q.startsWith("@")){if(Q.startsWith("@keyframes")){let K=Q.replace("@keyframes ","").trim();return`@keyframes ${Y.get(K)||K} { ${w} }`}if(Q.startsWith("@media")||Q.startsWith("@supports")||Q.startsWith("@container")){let z=YX(`x { ${w} }`.replace(/x \{ /,"").replace(/ \}$/,"")).map((U)=>i2(U,X,Z,J,Y,G)).join(`
2545
+ `)}function qX($){let X=[],Z=$.replace(/\/\*[\s\S]*?\*\//g,""),J=0,Y="",G=!1,Q="";for(let w=0;w<Z.length;w++){let q=Z[w];if(q==="@"&&J===0)G=!0;if(q==="{")J++;else if(q==="}"){if(J--,J===0){if(G){Q+=q;let W=Q.match(/@([a-z-]+)\s*([^{]*)\{([\s\S]*)\}/i);if(W){let[,K,z,U]=W;if(K==="keyframes")X.push({selector:`@keyframes ${z.trim()}`,declarations:U.trim()});else if(K==="media"||K==="supports"||K==="container"){let B=qX(U);X.push({selector:`@${K} ${z.trim()}`,declarations:B.map((j)=>`${j.selector} { ${j.declarations} }`).join(`
2546
+ `)})}else X.push({selector:`@${K} ${z.trim()}`,declarations:U.trim()})}Q="",G=!1}else if(Y.trim()){Y+=q;let W=Y.match(/([^{]+)\{([^}]*)\}/);if(W)X.push({selector:W[1].trim(),declarations:W[2].trim()});Y=""}continue}}if(G)Q+=q;else Y+=q}return X}function JZ($,X,Z,J,Y,G){let{selector:Q,declarations:w}=$;if(Q.startsWith("@")){if(Q.startsWith("@keyframes")){let K=Q.replace("@keyframes ","").trim();return`@keyframes ${Y.get(K)||K} { ${w} }`}if(Q.startsWith("@media")||Q.startsWith("@supports")||Q.startsWith("@container")){let z=qX(`x { ${w} }`.replace(/x \{ /,"").replace(/ \}$/,"")).map((U)=>JZ(U,X,Z,J,Y,G)).join(`
2546
2547
  `);return`${Q} {
2547
2548
  ${z}
2548
- }`}return`${Q} { ${w} }`}let q=_K(Q,X,Z,J),W=w;for(let[K,z]of Y)W=W.replace(new RegExp(`\\b${K}\\b`,"g"),z);if(G)W=W.replace(/--([a-z-]+)/gi,`--${X}-$1`);return`${q} { ${W} }`}function _K($,X,Z,J){let Y=$.split(",").map((Q)=>Q.trim()),G=[];for(let Q of Y){if(Q.startsWith(":host")){if(J)G.push(Q);else{let W=Q.replace(/:host(\([^)]*\))?/,`.${X}$1`);G.push(W)}continue}if(Q.includes("::slotted")){G.push(Q);continue}if(Q===":root"){G.push(`:root .${X}`);continue}let w=Z?`${Z} .${X}`:`.${X}`;G.push(`${w} ${Q}`);let q=HK(Q,X);if(q)G.push(Z?`${Z} ${q}`:q)}return G.join(", ")}function HK($,X){let Z=0,J=$.length;for(let q=0;q<$.length;q++){let W=$[q];if(W==="["||W==="(")Z++;else if(W==="]"||W===")")Z--;else if(Z===0&&(W===" "||W===">"||W==="+"||W==="~")){J=q;break}}let Y=$.slice(0,J),G=$.slice(J);if(!Y)return"";let Q=Y.length,w=0;for(let q=0;q<Y.length;q++){let W=Y[q];if(W==="["||W==="(")w++;else if(W==="]"||W===")")w--;else if(Z===0&&w===0&&W===":"){Q=q;break}}return`${Y.slice(0,Q)}.${X}${Y.slice(Q)}${G}`}function r2($){let X=new Set;return $.replace(/<style\b[^>]*\bdata-stx-scoped(?:=(?:"[^"]*"|'[^']*'|[^\s>]+))?[^>]*>[\s\S]*?<\/style>\s*/gi,(Z)=>{let J=Z.trim();if(X.has(J))return"";return X.add(J),Z})}function S8($,X){if(!OK.test($))return{html:$,hasScoped:!1};let Z=c2(X),J=`data-v-${Z}`,Y=$,G=new RegExp(`<style\\s+([^>]*${GX}[^>]*)>([\\s\\S]*?)</style>`,"gi"),Q=!1;if(Y=Y.replace(G,(w,q,W)=>{Q=!0;let K=LK(W,J),z=q.replace(new RegExp(GX,"gi"),"").trim(),U=z?` ${z}`:"";return`<style data-stx-scoped="${Z}"${U}>${K}</style>`}),!Q)return{html:$,hasScoped:!1};return Y=VK(Y,J),{html:Y,hasScoped:!0}}function LK($,X){return p2($,"__SCOPE_PLACEHOLDER__",{preserveHost:!1}).replace(/\.(__SCOPE_PLACEHOLDER__) /g,`[${X}] `).replace(/\.(__SCOPE_PLACEHOLDER__)/g,`[${X}]`)}function VK($,X){let Z=w1($,(Y,G)=>{let Q=D1(Y,G);return Q>G?Q:M5(Y,G)},(Y,G)=>FK(G)),J=AK(Z.output,X);return n2.lastIndex=0,J.replace(n2,(Y,G)=>Z.tokens[Number(G)])}function AK($,X){let Z=new Set(["script","style","template","html","head","body","meta","link","title","base","!doctype","!DOCTYPE"]);return $.replace(/<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*)?\/?>/g,(J,Y,G)=>{if(Z.has(Y.toLowerCase()))return J;if(J.includes(X))return J;if(Y.toLowerCase()==="style"||Y.toLowerCase()==="script")return J;if(G)return J.replace(`<${Y}${G}`,`<${Y} ${X}${G}`);if(J.endsWith("/>"))return`<${Y} ${X} />`;return`<${Y} ${X}>`})}var GX,OK,FK=($)=>`\x00stx-scope-mask-${$}\x00`,n2;var QX=E(()=>{r1();GX=String.raw`(?<![\w-])scoped(?![\w-])`,OK=new RegExp(`<style\\s+[^>]*${GX}`,"i");n2=/\u0000stx-scope-mask-(\d+)\u0000/g});function NK($){let X=$.replace(/^<template\b/i,"").replace(/>$/,"");return RK.test(X)}function C8($){P7.lastIndex=0;let X;while((X=P7.exec($))!==null){if(X[0].startsWith("</")||NK(X[0]))continue;let Z=X.index,J=P7.lastIndex,Y=1,G;while((G=P7.exec($))!==null)if(G[0].startsWith("</")){if(Y--,Y===0){let Q=G.index;return{start:Z,openEnd:J,closeStart:Q,end:P7.lastIndex,content:$.slice(J,Q)}}}else Y++;return null}return null}var P7,RK;var wX=E(()=>{P7=/<\/?template\b[^>]*>/gi,RK=/(?:^|\s)(?:id\s*=|(?:x-|[@:])(?:for|if|else(?:-if)?)(?=\s|=|$)|#[\w-]+(?:\s*=|\s|$)|v-slot(?::[\w-]+)?(?=\s|=|$)|slot\s*=)/i});var o2=()=>{};function y0($,X,Z,J=0){let Y=0,G=J,Q=null,w=0,q=!1;while(G<$.length){let W=$[G];if(Q&&q){q=!1,G++;continue}if(Q&&W==="\\"){q=!0,G++;continue}if(q=!1,(W==='"'||W==="'"||W==="`")&&!Q){Q=W,G++;continue}if(W===Q&&Q!=="`"){Q=null,G++;continue}if(Q==="`"&&W==="$"&&$[G+1]==="{"){w++,G+=2;continue}if(w>0&&W==="}"){w--,G++;continue}if(W==="`"&&Q==="`"&&w===0){Q=null,G++;continue}if(Q){G++;continue}if(W===X)Y++;else if(W===Z){if(Y--,Y===0)return G}G++}return-1}var KX={};t(KX,{useTitle:()=>EK,useSeoMeta:()=>s2,usePageTitle:()=>EK,useHead:()=>WX,seoMetaToHeadConfig:()=>v8,resetHead:()=>kK,renderHtmlAttrs:()=>yK,renderHead:()=>DK,renderBodyAttrs:()=>bK,processTitleDirective:()=>PK,processMetaDirective:()=>vK,processHeadDirective:()=>CK,mergeHeadConfigs:()=>D5,getPageMeta:()=>MK,getHead:()=>qX,definePageMeta:()=>IK,applyHead:()=>SK});function qX(){return S1}function MK(){return P8}function kK(){S1={},TK.length=0,P8={}}function WX($){S1=D5(S1,$)}function D5($,X){return{title:X.title??$.title,titleTemplate:X.titleTemplate??$.titleTemplate,base:X.base??$.base,meta:[...$.meta||[],...X.meta||[]],link:[...$.link||[],...X.link||[]],script:[...$.script||[],...X.script||[]],style:[...$.style||[],...X.style||[]],htmlAttrs:{...$.htmlAttrs,...X.htmlAttrs},bodyAttrs:{...$.bodyAttrs,...X.bodyAttrs}}}function s2($){WX(v8($))}function v8($){let X=[];if($.description)X.push({name:"description",content:$.description});if($.keywords){let q=Array.isArray($.keywords)?$.keywords.join(", "):$.keywords;X.push({name:"keywords",content:q})}if($.author)X.push({name:"author",content:$.author});if($.robots)X.push({name:"robots",content:$.robots});let Z=$.ogTitle??$.title,J=$.ogDescription??$.description;if(Z)X.push({property:"og:title",content:Z});if(J)X.push({property:"og:description",content:J});if($.ogImage)X.push({property:"og:image",content:$.ogImage});if($.ogUrl)X.push({property:"og:url",content:$.ogUrl});if($.ogType)X.push({property:"og:type",content:$.ogType});if($.ogSiteName)X.push({property:"og:site_name",content:$.ogSiteName});if($.ogLocale)X.push({property:"og:locale",content:$.ogLocale});let Y=$.twitterTitle??$.title,G=$.twitterDescription??$.description,Q=$.twitterImage??$.ogImage;if($.twitterCard)X.push({name:"twitter:card",content:$.twitterCard});if(Y)X.push({name:"twitter:title",content:Y});if(G)X.push({name:"twitter:description",content:G});if(Q)X.push({name:"twitter:image",content:Q});if($.twitterSite)X.push({name:"twitter:site",content:$.twitterSite});if($.twitterCreator)X.push({name:"twitter:creator",content:$.twitterCreator});if($.articleAuthor)X.push({property:"article:author",content:$.articleAuthor});if($.articlePublishedTime)X.push({property:"article:published_time",content:$.articlePublishedTime});if($.articleModifiedTime)X.push({property:"article:modified_time",content:$.articleModifiedTime});if($.articleSection)X.push({property:"article:section",content:$.articleSection});if($.articleTags)for(let q of $.articleTags)X.push({property:"article:tag",content:q});let w=[];if($.canonical)w.push({rel:"canonical",href:$.canonical});return{title:$.title,titleTemplate:$.titleTemplate,meta:X,link:w}}function IK($){if(P8={...P8,...$},$.title||$.description)s2({title:$.title,description:$.description})}function EK($){let X=typeof $==="function"?$():$;WX({title:X})}function DK($=S1){let X=[];if($.title){let Z=$.title;if($.titleTemplate)Z=typeof $.titleTemplate==="function"?$.titleTemplate(Z):$.titleTemplate.replace("%s",Z);X.push(`<title>${s1(Z)}</title>`)}if($.base){let Z=Object.entries($.base).map(([J,Y])=>`${J}="${s1(Y)}"`).join(" ");X.push(`<base ${Z}>`)}for(let Z of $.meta||[]){let J=Object.entries(Z).filter(([Y,G])=>G!==void 0).map(([Y,G])=>{return`${Y==="httpEquiv"?"http-equiv":Y}="${s1(String(G))}"`}).join(" ");X.push(`<meta ${J}>`)}for(let Z of $.link||[]){let J=Object.entries(Z).filter(([Y,G])=>G!==void 0).map(([Y,G])=>`${Y}="${s1(String(G))}"`).join(" ");X.push(`<link ${J}>`)}for(let Z of $.script||[]){let{content:J,...Y}=Z,G=Object.entries(Y).filter(([Q,w])=>w!==void 0).map(([Q,w])=>{if(typeof w==="boolean")return w?Q:"";return`${Q}="${s1(String(w))}"`}).filter(Boolean).join(" ");if(J)X.push(`<script ${G}>${J}</script>`);else X.push(`<script ${G}></script>`)}for(let Z of $.style||[]){let J=Z.type?` type="${Z.type}"`:"";X.push(`<style${J}>${Z.content}</style>`)}return X.join(`
2549
- `)}function yK($=S1){if(!$.htmlAttrs)return"";return Object.entries($.htmlAttrs).map(([X,Z])=>`${X}="${s1(Z)}"`).join(" ")}function bK($=S1){if(!$.bodyAttrs)return"";return Object.entries($.bodyAttrs).map(([X,Z])=>`${X}="${s1(Z)}"`).join(" ")}function s1($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function SK($=S1){if(typeof document>"u")return;if($.title){let X=$.title;if($.titleTemplate)X=typeof $.titleTemplate==="function"?$.titleTemplate(X):$.titleTemplate.replace("%s",X);document.title=X}for(let X of $.meta||[]){let Z=X.name?`meta[name="${X.name}"]`:X.property?`meta[property="${X.property}"]`:null;if(Z){let J=document.querySelector(Z);if(!J){if(J=document.createElement("meta"),X.name)J.setAttribute("name",X.name);if(X.property)J.setAttribute("property",X.property);document.head.appendChild(J)}J.setAttribute("content",X.content)}}for(let X of $.link||[]){let Z=`link[rel="${X.rel}"]${X.href?`[href="${X.href}"]`:""}`,J=document.querySelector(Z);if(!J)J=document.createElement("link"),document.head.appendChild(J);for(let[Y,G]of Object.entries(X))if(G!==void 0)J.setAttribute(Y,String(G))}if($.htmlAttrs)for(let[X,Z]of Object.entries($.htmlAttrs))if(X==="class")for(let J of String(Z).split(/\s+/).filter(Boolean))document.documentElement.classList.add(J);else document.documentElement.setAttribute(X,Z);if($.bodyAttrs)for(let[X,Z]of Object.entries($.bodyAttrs))document.body.setAttribute(X,Z)}function CK($){let X="";return{content:$.replace(/@head\s*([\s\S]*?)@endhead/g,(J,Y)=>{return X+=Y.trim()+`
2550
- `,""}),headContent:X.trim()}}function PK($,X){return $.replace(/@title\s*\(\s*(?:(['"`])(.+?)\1|([^)]+))\s*\)/g,(Z,J,Y,G)=>{let Q=J?Y:X[(G||"").trim()]??G,w=X.__stx_runtime_head??{};return X.__stx_runtime_head=D5(w,{title:Q}),""})}function vK($,X){return $.replace(/@meta\s*\(\s*(['"`])(.+?)\1\s*,\s*(?:(['"`])(.+?)\3|([^)]+))\s*\)/g,(Z,J,Y,G,Q,w)=>{let q=G?Q:w,W=G?q:X[(q||"").trim()]??q,z=Y.includes(":")?{property:Y,content:W}:{name:Y,content:W},U=X.__stx_runtime_head??{};return X.__stx_runtime_head=D5(U,{meta:[z]}),""})}var S1,TK,P8;var v7=E(()=>{S1={},TK=[],P8={}});var x8={};t(x8,{stripTypeScript:()=>JZ,splitDeclaration:()=>WZ,isModuleResolutionFailure:()=>YZ,isMissingBindingFailure:()=>GZ,isCompleteImport:()=>QZ,hasVariables:()=>jZ,extractVariables:()=>a1,extractScriptFromTemplate:()=>UZ,convertToCommonJS:()=>jX,STX_ENGINE_BINDING_NAMES:()=>UX});import C1 from"path";import y5 from"process";function fK($){let X=[],Z=0,J=$.split(`
2551
- `);for(let Y of J){let G=Z,Q=null,w=!1;for(let q=0;q<Y.length;q++){let W=Y[q];if(w){w=!1;continue}if(W==="\\"){w=!0;continue}if(Q){if(W===Q)Q=null;continue}if(W==="'"||W==='"'||W==="`"){Q=W;continue}if(W==="/"&&q+1<Y.length&&Y[q+1]==="/")break;if(W==="{")Z++;else if(W==="}")Z--}if(G===0){let q=Y.match(/(?:const|let|var)\s+(\w+)\s*=/);if(q)X.push(q[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(Y)){let W=Y.match(/(?:const|let|var)\s+(\w+)/);if(W)X.push(W[1])}else{let W=Y.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(W){let z=W[1].slice(1,-1).split(",").map((U)=>{let B=U.split(":");return(B.length>1?B[1]:B[0]).trim()}).filter((U)=>/^\w+$/.test(U));X.push(...z)}}}}return[...new Set(X)]}function JZ($){let X=$;X=X.replace(/^\s*import\s+.*?from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),X=X.replace(/^\s*import\s+['"][^'"]+['"]\s*;?\s*$/gm,""),X=X.replace(/^\s*interface\s+\w+\s*\{[\s\S]*?\n\}\s*$/gm,""),X=X.replace(/^\s*type\s+\w+\s*=[\s\S]*?(?=\n(?:const|let|var|function|export|interface|type|$))/gm,""),X=X.replace(/^(\s*(?:export\s+)?(?:const|let|var)\s+)(\w+|\{[^}]+\}|\[[^\]]+\])\s*:\s*[^=]+(\s*=)/gm,"$1$2$3");function Z(J){if(!J.includes(":"))return J;let Y=[],G="",Q=0,w=0,q=null;for(let W=0;W<J.length;W++){let K=J[W];if(q){if(G+=K,K===q)q=null;continue}if(K==='"'||K==="'"||K==="`"){q=K,G+=K;continue}if(K==="<")Q++;else if(K===">"&&Q>0)Q--;else if(K==="(")w++;else if(K===")")w--;if(K===","&&Q===0&&w===0){Y.push(G),G="";continue}G+=K}if(G)Y.push(G);return Y.map((W)=>{let K=W.trim(),z=K.startsWith("..."),U=z?K.slice(3):K,B=-1,j=0;for(let R=0;R<U.length;R++)if(U[R]==="<")j++;else if(U[R]===">")j--;else if(U[R]===":"&&j===0){B=R;break}if(B===-1)return W;let H=U.substring(0,B).trim().replace(/\?$/,""),O=U.substring(B+1),L=-1,F=0;for(let R=0;R<O.length;R++)if(O[R]==="<")F++;else if(O[R]===">")F--;else if(O[R]==="="&&F===0){L=R;break}let V=z?"...":"";if(L!==-1)return`${V}${H} = ${O.substring(L+1).trim()}`;return`${V}${H}`}).join(", ")}X=X.replace(/\b(function\s+\w*\s*)\(([^)]*)\)/g,(J,Y,G)=>{if(!G.includes(":"))return J;return`${Y}(${Z(G)})`});{let J=/\b(function\s+\w*\s*)\(/g,Y,G=[];while((Y=J.exec(X))!==null){let Q=Y.index+Y[0].length-1,w=1,q=Q+1,W=0,K=null;while(q<X.length&&w>0){let B=X[q];if(K){if(B===K)K=null;q++;continue}if(B==='"'||B==="'"||B==="`"){K=B,q++;continue}if(B==="<")W++;else if(B===">"&&W>0)W--;else if(W===0){if(B==="(")w++;else if(B===")")w--}if(w>0)q++}if(w!==0)continue;let z=X.substring(Q+1,q);if(!z.includes(":"))continue;let U=Z(z);G.push({start:Q+1,end:q,replacement:U})}for(let Q=G.length-1;Q>=0;Q--){let{start:w,end:q,replacement:W}=G[Q];X=X.substring(0,w)+W+X.substring(q)}}return X=X.replace(/\(([^)]*)\)\s*(?::\s*[^=]+)?\s*=>/g,(J,Y)=>{if(!Y.includes(":"))return J;if(Y.includes("{")||Y.includes("}"))return J;return`(${Y.split(",").map((Q)=>{let[w,...q]=Q.split("="),W=w.split(":")[0].trim();if(q.length>0)return`${W} = ${q.join("=").trim()}`;return W}).join(", ")}) =>`}),X=X.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"),X=X.replace(/(\b(?:function|class|interface|type|extends|implements)\s+\w+)\s*<[^<>()]*>/g,"$1"),X=X.replace(/(\b(?:defineProps|withDefaults|defineEmits|defineSlots|Array|Promise|Map|Set|Record|Partial|Required|Readonly|Pick|Omit|Exclude|Extract))\s*<[^<>()]*>/g,"$1"),X=X.replace(/(\w+)\s*<[A-Z][^<>()]*>\s*(?=\()/g,"$1"),X=X.replace(/\s+as\s+(?:const|[A-Za-z]\w*(?:\[\])?(?:\s*\|\s*\w+(?:\[\])?)*)/g,""),X=X.replace(/\s+satisfies\s+\w+(?:<[^>]*>)?/g,""),X=X.replace(/(\w|\)|\])\s*!(?!=)/g,"$1"),X=X.replace(/^\s*(?:export\s+)?(?:const\s+)?enum\s+\w+\s*\{[^}]*\}\s*$/gm,""),X=X.replace(/(?<=[\s=,(])<[A-Z]\w*(?:\[\])?>/g,""),X=X.replace(/\n\s*\n\s*\n/g,`
2549
+ }`}return`${Q} { ${w} }`}let q=NK(Q,X,Z,J),W=w;for(let[K,z]of Y)W=W.replace(new RegExp(`\\b${K}\\b`,"g"),z);if(G)W=W.replace(/--([a-z-]+)/gi,`--${X}-$1`);return`${q} { ${W} }`}function NK($,X,Z,J){let Y=$.split(",").map((Q)=>Q.trim()),G=[];for(let Q of Y){if(Q.startsWith(":host")){if(J)G.push(Q);else{let W=Q.replace(/:host(\([^)]*\))?/,`.${X}$1`);G.push(W)}continue}if(Q.includes("::slotted")){G.push(Q);continue}if(Q===":root"){G.push(`:root .${X}`);continue}let w=Z?`${Z} .${X}`:`.${X}`;G.push(`${w} ${Q}`);let q=TK(Q,X);if(q)G.push(Z?`${Z} ${q}`:q)}return G.join(", ")}function TK($,X){let Z=0,J=$.length;for(let q=0;q<$.length;q++){let W=$[q];if(W==="["||W==="(")Z++;else if(W==="]"||W===")")Z--;else if(Z===0&&(W===" "||W===">"||W==="+"||W==="~")){J=q;break}}let Y=$.slice(0,J),G=$.slice(J);if(!Y)return"";let Q=Y.length,w=0;for(let q=0;q<Y.length;q++){let W=Y[q];if(W==="["||W==="(")w++;else if(W==="]"||W===")")w--;else if(Z===0&&w===0&&W===":"){Q=q;break}}return`${Y.slice(0,Q)}.${X}${Y.slice(Q)}${G}`}function GZ($){let X=new Set;return $.replace(/<style\b[^>]*\bdata-stx-scoped(?:=(?:"[^"]*"|'[^']*'|[^\s>]+))?[^>]*>[\s\S]*?<\/style>\s*/gi,(Z)=>{let J=Z.trim();if(X.has(J))return"";return X.add(J),Z})}function v8($,X){if(!MK.test($))return{html:$,hasScoped:!1};let Z=XZ(X),J=`data-v-${Z}`,Y=$,G=new RegExp(`<style\\s+([^>]*${WX}[^>]*)>([\\s\\S]*?)</style>`,"gi"),Q=!1;if(Y=Y.replace(G,(w,q,W)=>{Q=!0;let K=kK(W,J),z=q.replace(new RegExp(WX,"gi"),"").trim(),U=z?` ${z}`:"";return`<style data-stx-scoped="${Z}"${U}>${K}</style>`}),!Q)return{html:$,hasScoped:!1};return Y=EK(Y,J),{html:Y,hasScoped:!0}}function kK($,X){return ZZ($,"__SCOPE_PLACEHOLDER__",{preserveHost:!1}).replace(/\.(__SCOPE_PLACEHOLDER__) /g,`[${X}] `).replace(/\.(__SCOPE_PLACEHOLDER__)/g,`[${X}]`)}function EK($,X){let Z=w1($,(Y,G)=>{let Q=y1(Y,G);return Q>G?Q:M5(Y,G)},(Y,G)=>IK(G)),J=DK(Z.output,X);return YZ.lastIndex=0,J.replace(YZ,(Y,G)=>Z.tokens[Number(G)])}function DK($,X){let Z=new Set(["script","style","template","html","head","body","meta","link","title","base","!doctype","!DOCTYPE"]);return $.replace(/<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*)?\/?>/g,(J,Y,G)=>{if(Z.has(Y.toLowerCase()))return J;if(J.includes(X))return J;if(Y.toLowerCase()==="style"||Y.toLowerCase()==="script")return J;if(G)return J.replace(`<${Y}${G}`,`<${Y} ${X}${G}`);if(J.endsWith("/>"))return`<${Y} ${X} />`;return`<${Y} ${X}>`})}var WX,MK,IK=($)=>`\x00stx-scope-mask-${$}\x00`,YZ;var KX=E(()=>{o1();WX=String.raw`(?<![\w-])scoped(?![\w-])`,MK=new RegExp(`<style\\s+[^>]*${WX}`,"i");YZ=/\u0000stx-scope-mask-(\d+)\u0000/g});function bK($){let X=$.replace(/^<template\b/i,"").replace(/>$/,"");return yK.test(X)}function x8($){v7.lastIndex=0;let X;while((X=v7.exec($))!==null){if(X[0].startsWith("</")||bK(X[0]))continue;let Z=X.index,J=v7.lastIndex,Y=1,G;while((G=v7.exec($))!==null)if(G[0].startsWith("</")){if(Y--,Y===0){let Q=G.index;return{start:Z,openEnd:J,closeStart:Q,end:v7.lastIndex,content:$.slice(J,Q)}}}else Y++;return null}return null}var v7,yK;var zX=E(()=>{v7=/<\/?template\b[^>]*>/gi,yK=/(?:^|\s)(?:id\s*=|(?:x-|[@:])(?:for|if|else(?:-if)?)(?=\s|=|$)|#[\w-]+(?:\s*=|\s|$)|v-slot(?::[\w-]+)?(?=\s|=|$)|slot\s*=)/i});var QZ=()=>{};function b0($,X,Z,J=0){let Y=0,G=J,Q=null,w=0,q=!1;while(G<$.length){let W=$[G];if(Q&&q){q=!1,G++;continue}if(Q&&W==="\\"){q=!0,G++;continue}if(q=!1,(W==='"'||W==="'"||W==="`")&&!Q){Q=W,G++;continue}if(W===Q&&Q!=="`"){Q=null,G++;continue}if(Q==="`"&&W==="$"&&$[G+1]==="{"){w++,G+=2;continue}if(w>0&&W==="}"){w--,G++;continue}if(W==="`"&&Q==="`"&&w===0){Q=null,G++;continue}if(Q){G++;continue}if(W===X)Y++;else if(W===Z){if(Y--,Y===0)return G}G++}return-1}var BX={};t(BX,{useTitle:()=>xK,useSeoMeta:()=>wZ,usePageTitle:()=>xK,useHead:()=>jX,seoMetaToHeadConfig:()=>g8,resetHead:()=>PK,renderHtmlAttrs:()=>gK,renderHead:()=>fK,renderBodyAttrs:()=>hK,processTitleDirective:()=>mK,processMetaDirective:()=>lK,processHeadDirective:()=>dK,mergeHeadConfigs:()=>D5,getPageMeta:()=>CK,getHead:()=>UX,definePageMeta:()=>vK,applyHead:()=>uK});function UX(){return C1}function CK(){return f8}function PK(){C1={},SK.length=0,f8={}}function jX($){C1=D5(C1,$)}function D5($,X){return{title:X.title??$.title,titleTemplate:X.titleTemplate??$.titleTemplate,base:X.base??$.base,meta:[...$.meta||[],...X.meta||[]],link:[...$.link||[],...X.link||[]],script:[...$.script||[],...X.script||[]],style:[...$.style||[],...X.style||[]],htmlAttrs:{...$.htmlAttrs,...X.htmlAttrs},bodyAttrs:{...$.bodyAttrs,...X.bodyAttrs}}}function wZ($){jX(g8($))}function g8($){let X=[];if($.description)X.push({name:"description",content:$.description});if($.keywords){let q=Array.isArray($.keywords)?$.keywords.join(", "):$.keywords;X.push({name:"keywords",content:q})}if($.author)X.push({name:"author",content:$.author});if($.robots)X.push({name:"robots",content:$.robots});let Z=$.ogTitle??$.title,J=$.ogDescription??$.description;if(Z)X.push({property:"og:title",content:Z});if(J)X.push({property:"og:description",content:J});if($.ogImage)X.push({property:"og:image",content:$.ogImage});if($.ogUrl)X.push({property:"og:url",content:$.ogUrl});if($.ogType)X.push({property:"og:type",content:$.ogType});if($.ogSiteName)X.push({property:"og:site_name",content:$.ogSiteName});if($.ogLocale)X.push({property:"og:locale",content:$.ogLocale});let Y=$.twitterTitle??$.title,G=$.twitterDescription??$.description,Q=$.twitterImage??$.ogImage;if($.twitterCard)X.push({name:"twitter:card",content:$.twitterCard});if(Y)X.push({name:"twitter:title",content:Y});if(G)X.push({name:"twitter:description",content:G});if(Q)X.push({name:"twitter:image",content:Q});if($.twitterSite)X.push({name:"twitter:site",content:$.twitterSite});if($.twitterCreator)X.push({name:"twitter:creator",content:$.twitterCreator});if($.articleAuthor)X.push({property:"article:author",content:$.articleAuthor});if($.articlePublishedTime)X.push({property:"article:published_time",content:$.articlePublishedTime});if($.articleModifiedTime)X.push({property:"article:modified_time",content:$.articleModifiedTime});if($.articleSection)X.push({property:"article:section",content:$.articleSection});if($.articleTags)for(let q of $.articleTags)X.push({property:"article:tag",content:q});let w=[];if($.canonical)w.push({rel:"canonical",href:$.canonical});return{title:$.title,titleTemplate:$.titleTemplate,meta:X,link:w}}function vK($){if(f8={...f8,...$},$.title||$.description)wZ({title:$.title,description:$.description})}function xK($){let X=typeof $==="function"?$():$;jX({title:X})}function fK($=C1){let X=[];if($.title){let Z=$.title;if($.titleTemplate)Z=typeof $.titleTemplate==="function"?$.titleTemplate(Z):$.titleTemplate.replace("%s",Z);X.push(`<title>${a1(Z)}</title>`)}if($.base){let Z=Object.entries($.base).map(([J,Y])=>`${J}="${a1(Y)}"`).join(" ");X.push(`<base ${Z}>`)}for(let Z of $.meta||[]){let J=Object.entries(Z).filter(([Y,G])=>G!==void 0).map(([Y,G])=>{return`${Y==="httpEquiv"?"http-equiv":Y}="${a1(String(G))}"`}).join(" ");X.push(`<meta ${J}>`)}for(let Z of $.link||[]){let J=Object.entries(Z).filter(([Y,G])=>G!==void 0).map(([Y,G])=>`${Y}="${a1(String(G))}"`).join(" ");X.push(`<link ${J}>`)}for(let Z of $.script||[]){let{content:J,...Y}=Z,G=Object.entries(Y).filter(([Q,w])=>w!==void 0).map(([Q,w])=>{if(typeof w==="boolean")return w?Q:"";return`${Q}="${a1(String(w))}"`}).filter(Boolean).join(" ");if(J)X.push(`<script ${G}>${J}</script>`);else X.push(`<script ${G}></script>`)}for(let Z of $.style||[]){let J=Z.type?` type="${Z.type}"`:"";X.push(`<style${J}>${Z.content}</style>`)}return X.join(`
2550
+ `)}function gK($=C1){if(!$.htmlAttrs)return"";return Object.entries($.htmlAttrs).map(([X,Z])=>`${X}="${a1(Z)}"`).join(" ")}function hK($=C1){if(!$.bodyAttrs)return"";return Object.entries($.bodyAttrs).map(([X,Z])=>`${X}="${a1(Z)}"`).join(" ")}function a1($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function uK($=C1){if(typeof document>"u")return;if($.title){let X=$.title;if($.titleTemplate)X=typeof $.titleTemplate==="function"?$.titleTemplate(X):$.titleTemplate.replace("%s",X);document.title=X}for(let X of $.meta||[]){let Z=X.name?`meta[name="${X.name}"]`:X.property?`meta[property="${X.property}"]`:null;if(Z){let J=document.querySelector(Z);if(!J){if(J=document.createElement("meta"),X.name)J.setAttribute("name",X.name);if(X.property)J.setAttribute("property",X.property);document.head.appendChild(J)}J.setAttribute("content",X.content)}}for(let X of $.link||[]){let Z=`link[rel="${X.rel}"]${X.href?`[href="${X.href}"]`:""}`,J=document.querySelector(Z);if(!J)J=document.createElement("link"),document.head.appendChild(J);for(let[Y,G]of Object.entries(X))if(G!==void 0)J.setAttribute(Y,String(G))}if($.htmlAttrs)for(let[X,Z]of Object.entries($.htmlAttrs))if(X==="class")for(let J of String(Z).split(/\s+/).filter(Boolean))document.documentElement.classList.add(J);else document.documentElement.setAttribute(X,Z);if($.bodyAttrs)for(let[X,Z]of Object.entries($.bodyAttrs))document.body.setAttribute(X,Z)}function dK($){let X="";return{content:$.replace(/@head\s*([\s\S]*?)@endhead/g,(J,Y)=>{return X+=Y.trim()+`
2551
+ `,""}),headContent:X.trim()}}function mK($,X){return $.replace(/@title\s*\(\s*(?:(['"`])(.+?)\1|([^)]+))\s*\)/g,(Z,J,Y,G)=>{let Q=J?Y:X[(G||"").trim()]??G,w=X.__stx_runtime_head??{};return X.__stx_runtime_head=D5(w,{title:Q}),""})}function lK($,X){return $.replace(/@meta\s*\(\s*(['"`])(.+?)\1\s*,\s*(?:(['"`])(.+?)\3|([^)]+))\s*\)/g,(Z,J,Y,G,Q,w)=>{let q=G?Q:w,W=G?q:X[(q||"").trim()]??q,z=Y.includes(":")?{property:Y,content:W}:{name:Y,content:W},U=X.__stx_runtime_head??{};return X.__stx_runtime_head=D5(U,{meta:[z]}),""})}var C1,SK,f8;var x7=E(()=>{C1={},SK=[],f8={}});var h8={};t(h8,{stripTypeScript:()=>BZ,splitDeclaration:()=>VZ,isModuleResolutionFailure:()=>_Z,isMissingBindingFailure:()=>HZ,isCompleteImport:()=>OZ,hasVariables:()=>TZ,extractVariables:()=>t1,extractScriptFromTemplate:()=>NZ,convertToCommonJS:()=>OX,STX_ENGINE_BINDING_NAMES:()=>HX});import P1 from"path";import y5 from"process";function pK($){let X=[],Z=0,J=$.split(`
2552
+ `);for(let Y of J){let G=Z,Q=null,w=!1;for(let q=0;q<Y.length;q++){let W=Y[q];if(w){w=!1;continue}if(W==="\\"){w=!0;continue}if(Q){if(W===Q)Q=null;continue}if(W==="'"||W==='"'||W==="`"){Q=W;continue}if(W==="/"&&q+1<Y.length&&Y[q+1]==="/")break;if(W==="{")Z++;else if(W==="}")Z--}if(G===0){let q=Y.match(/(?:const|let|var)\s+(\w+)\s*=/);if(q)X.push(q[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(Y)){let W=Y.match(/(?:const|let|var)\s+(\w+)/);if(W)X.push(W[1])}else{let W=Y.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(W){let z=W[1].slice(1,-1).split(",").map((U)=>{let B=U.split(":");return(B.length>1?B[1]:B[0]).trim()}).filter((U)=>/^\w+$/.test(U));X.push(...z)}}}}return[...new Set(X)]}function BZ($){let X=$;X=X.replace(/^\s*import\s+.*?from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),X=X.replace(/^\s*import\s+['"][^'"]+['"]\s*;?\s*$/gm,""),X=X.replace(/^\s*interface\s+\w+\s*\{[\s\S]*?\n\}\s*$/gm,""),X=X.replace(/^\s*type\s+\w+\s*=[\s\S]*?(?=\n(?:const|let|var|function|export|interface|type|$))/gm,""),X=X.replace(/^(\s*(?:export\s+)?(?:const|let|var)\s+)(\w+|\{[^}]+\}|\[[^\]]+\])\s*:\s*[^=]+(\s*=)/gm,"$1$2$3");function Z(J){if(!J.includes(":"))return J;let Y=[],G="",Q=0,w=0,q=null;for(let W=0;W<J.length;W++){let K=J[W];if(q){if(G+=K,K===q)q=null;continue}if(K==='"'||K==="'"||K==="`"){q=K,G+=K;continue}if(K==="<")Q++;else if(K===">"&&Q>0)Q--;else if(K==="(")w++;else if(K===")")w--;if(K===","&&Q===0&&w===0){Y.push(G),G="";continue}G+=K}if(G)Y.push(G);return Y.map((W)=>{let K=W.trim(),z=K.startsWith("..."),U=z?K.slice(3):K,B=-1,j=0;for(let A=0;A<U.length;A++)if(U[A]==="<")j++;else if(U[A]===">")j--;else if(U[A]===":"&&j===0){B=A;break}if(B===-1)return W;let H=U.substring(0,B).trim().replace(/\?$/,""),L=U.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=z?"...":"";if(O!==-1)return`${V}${H} = ${L.substring(O+1).trim()}`;return`${V}${H}`}).join(", ")}X=X.replace(/\b(function\s+\w*\s*)\(([^)]*)\)/g,(J,Y,G)=>{if(!G.includes(":"))return J;return`${Y}(${Z(G)})`});{let J=/\b(function\s+\w*\s*)\(/g,Y,G=[];while((Y=J.exec(X))!==null){let Q=Y.index+Y[0].length-1,w=1,q=Q+1,W=0,K=null;while(q<X.length&&w>0){let B=X[q];if(K){if(B===K)K=null;q++;continue}if(B==='"'||B==="'"||B==="`"){K=B,q++;continue}if(B==="<")W++;else if(B===">"&&W>0)W--;else if(W===0){if(B==="(")w++;else if(B===")")w--}if(w>0)q++}if(w!==0)continue;let z=X.substring(Q+1,q);if(!z.includes(":"))continue;let U=Z(z);G.push({start:Q+1,end:q,replacement:U})}for(let Q=G.length-1;Q>=0;Q--){let{start:w,end:q,replacement:W}=G[Q];X=X.substring(0,w)+W+X.substring(q)}}return X=X.replace(/\(([^)]*)\)\s*(?::\s*[^=]+)?\s*=>/g,(J,Y)=>{if(!Y.includes(":"))return J;if(Y.includes("{")||Y.includes("}"))return J;return`(${Y.split(",").map((Q)=>{let[w,...q]=Q.split("="),W=w.split(":")[0].trim();if(q.length>0)return`${W} = ${q.join("=").trim()}`;return W}).join(", ")}) =>`}),X=X.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"),X=X.replace(/(\b(?:function|class|interface|type|extends|implements)\s+\w+)\s*<[^<>()]*>/g,"$1"),X=X.replace(/(\b(?:defineProps|withDefaults|defineEmits|defineSlots|Array|Promise|Map|Set|Record|Partial|Required|Readonly|Pick|Omit|Exclude|Extract))\s*<[^<>()]*>/g,"$1"),X=X.replace(/(\w+)\s*<[A-Z][^<>()]*>\s*(?=\()/g,"$1"),X=X.replace(/\s+as\s+(?:const|[A-Za-z]\w*(?:\[\])?(?:\s*\|\s*\w+(?:\[\])?)*)/g,""),X=X.replace(/\s+satisfies\s+\w+(?:<[^>]*>)?/g,""),X=X.replace(/(\w|\)|\])\s*!(?!=)/g,"$1"),X=X.replace(/^\s*(?:export\s+)?(?:const\s+)?enum\s+\w+\s*\{[^}]*\}\s*$/gm,""),X=X.replace(/(?<=[\s=,(])<[A-Z]\w*(?:\[\])?>/g,""),X=X.replace(/\n\s*\n\s*\n/g,`
2552
2553
 
2553
- `),X}function YZ($){return/cannot find module|could not resolve|module not found|failed to resolve/i.test($)}function GZ($){if(!/is not defined|can't find variable/i.test($))return!1;return!/\b(document|window|navigator|localStorage|sessionStorage|self)\b/.test($)}async function a1($,X,Z,J={}){if(!$.trim())return;let Y;try{let P=new Bun.Transpiler({loader:"ts",target:"browser",define:h0()}),C=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");C=C.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),Y=P.transformSync(C)}catch{Y=JZ($)}let G={exports:{}},Q=G.exports,w=y5.cwd(),q={},W=[...Y.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((P)=>P[1]).filter((P)=>!P.startsWith("node:")&&!P.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(P));for(let P of W)try{let C=C1.resolve(w,"node_modules",P),g=C1.join(C,"package.json"),m=JSON.parse(U0("fs").readFileSync(g,"utf8")),d=m.main||"index.js";if(m.exports){let Q0=typeof m.exports==="string"?m.exports:m.exports["."];if(typeof Q0==="string")d=Q0;else if(Q0?.bun)d=Q0.bun;else if(Q0?.import)d=Q0.import;else if(Q0?.default)d=Q0.default}q[P]=await import(C1.resolve(C,d))}catch{}let K=(P)=>{if(q[P])return q[P];return U0(P)},z=X.props||{},U=(P)=>{if(!P)return z;let C={};for(let[g,m]of Object.entries(P)){let d=z[g];if(d!==void 0)C[g]=d;else if(typeof m==="function")C[g]=m();else C[g]=m}return C};for(let[P,C]of Object.entries(z))Object.defineProperty(U,P,{value:C,enumerable:!0,configurable:!0,writable:!0});for(let P of["name","length","caller","arguments"]){if(Object.prototype.hasOwnProperty.call(z,P))continue;try{Object.defineProperty(U,P,{value:void 0,enumerable:!1,configurable:!0,writable:!0})}catch{}}let B=(P)=>{if(!P)return z;let C={...z};for(let[g,m]of Object.entries(P)){let d=m&&typeof m==="object"&&!Array.isArray(m)?m:{type:m};if(C[g]===void 0&&d.default!==void 0)C[g]=typeof d.default==="function"?d.default():d.default}return C},j=()=>X.slots||{},_=(P,C)=>{let g={...P};for(let[m,d]of Object.entries(C))if(g[m]===void 0)if(typeof d==="function")g[m]=d();else g[m]=d;return g},H=(P)=>{let C=()=>P;return C.set=(g)=>{},C.update=(g)=>{},C},O=(P)=>{let C,g=!1;return()=>{if(!g)try{C=P(),g=!0}catch{C=void 0}return C}},L=(P)=>{},F=(P)=>P(),V=(P)=>{},R=(P)=>{};function A(P){let C=P||{};if(C.title!==void 0||C.description!==void 0)D({title:C.title,description:C.description})}function N(P){if(!P||typeof P!=="object")return;let C=X.__stxClientPayload??{};Object.assign(C,P),X.__stxClientPayload=C}let M=()=>{let P=X.__stxServeContext,C=X.__stxServeSearch??P?.search??"",g=P?.path??"",m=Object.fromEntries(new URLSearchParams(C)),d=X.query,Q0=Object.keys(m).length>0?m:d??{},R0=C||(Object.keys(Q0).length>0?`?${new URLSearchParams(Q0).toString()}`:"");return{params:X.params??{},query:Q0,path:g,name:"",fullPath:g+R0,hash:"",matched:[]}},T=()=>({push:(P)=>{},replace:(P)=>{},back:()=>{},forward:()=>{},go:(P)=>{}}),k=(P)=>{let C=X.__stx_runtime_head||{};X.__stx_runtime_head=D5(C,P||{})},D=(P)=>{k(v8(P||{}))},I=(P)=>({value:P}),S=(P)=>P,b=(P)=>({value:typeof P==="function"?P():P}),y=(P,C)=>{},v=(P)=>{},f=(P)=>{},x=(P)=>P?P():Promise.resolve(),p=(P)=>(C,...g)=>{},l=(P)=>{},T0=(P,C)=>{},W0=(P,C)=>C,A0=()=>({value:"light"}),s=()=>H(!1),c=(P)=>H(!1),_0=()=>H(!1),M0=()=>c("(prefers-color-scheme: dark)"),T1=()=>c("(prefers-color-scheme: light)"),j5=()=>c("(prefers-reduced-motion: reduce)"),r=()=>c("(prefers-contrast: more)"),$0={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($0,{get(P,C){if(C in P)return P[C];return},set(P,C,g){return P[C]=g,!0}}),v0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},L0=console;try{let P=jX(Y,Z),C=new Set(Object.keys(z)),g=(o)=>/^[a-z_$][\w$]*$/i.test(o),m=Object.keys(X).filter((o)=>!C.has(o)&&o!=="props"&&g(o)),d=m.map((o)=>X[o]);if(!m.includes("__stxServeContext"))m.push("__stxServeContext"),d.push(void 0);let Q0=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"]),R0=[],j1=[];for(let[o,l0]of Object.entries(z)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(o))continue;if(Q0.has(o))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${o}\\b`).test(P))continue;R0.push(o),j1.push(l0)}let g0=fK(P).map((o)=>`module.exports.${o} = typeof ${o} !== 'undefined' ? ${o} : module.exports.${o};`).join(`
2554
- `),t0=X.params??{},l1=[],M1=[];for(let o=0;o<m.length;o++){if(m[o]==="params")continue;l1.push(m[o]),M1.push(d[o])}let z0=await Function(...UX,...R0,...l1,`return (async () => {
2554
+ `),X}function _Z($){return/cannot find module|could not resolve|module not found|failed to resolve/i.test($)}function HZ($){if(!/is not defined|can't find variable/i.test($))return!1;return!/\b(document|window|navigator|localStorage|sessionStorage|self)\b/.test($)}async function t1($,X,Z,J={}){if(!$.trim())return;let Y;try{let P=new Bun.Transpiler({loader:"ts",target:"browser",define:h0()}),C=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");C=C.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),Y=P.transformSync(C)}catch{Y=BZ($)}let G={exports:{}},Q=G.exports,w=y5.cwd(),q={},W=[...Y.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((P)=>P[1]).filter((P)=>!P.startsWith("node:")&&!P.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(P));for(let P of W)try{let C=P1.resolve(w,"node_modules",P),g=P1.join(C,"package.json"),m=JSON.parse(U0("fs").readFileSync(g,"utf8")),u=m.main||"index.js";if(m.exports){let Q0=typeof m.exports==="string"?m.exports:m.exports["."];if(typeof Q0==="string")u=Q0;else if(Q0?.bun)u=Q0.bun;else if(Q0?.import)u=Q0.import;else if(Q0?.default)u=Q0.default}q[P]=await import(P1.resolve(C,u))}catch{}let K=(P)=>{if(q[P])return q[P];return U0(P)},z=X.props||{},U=(P)=>{if(!P)return z;let C={};for(let[g,m]of Object.entries(P)){let u=z[g];if(u!==void 0)C[g]=u;else if(typeof m==="function")C[g]=m();else C[g]=m}return C};for(let[P,C]of Object.entries(z))Object.defineProperty(U,P,{value:C,enumerable:!0,configurable:!0,writable:!0});for(let P of["name","length","caller","arguments"]){if(Object.prototype.hasOwnProperty.call(z,P))continue;try{Object.defineProperty(U,P,{value:void 0,enumerable:!1,configurable:!0,writable:!0})}catch{}}let B=(P)=>{if(!P)return z;let C={...z};for(let[g,m]of Object.entries(P)){let u=m&&typeof m==="object"&&!Array.isArray(m)?m:{type:m};if(C[g]===void 0&&u.default!==void 0)C[g]=typeof u.default==="function"?u.default():u.default}return C},j=()=>X.slots||{},_=(P,C)=>{let g={...P};for(let[m,u]of Object.entries(C))if(g[m]===void 0)if(typeof u==="function")g[m]=u();else g[m]=u;return g},H=(P)=>{let C=()=>P;return C.set=(g)=>{},C.update=(g)=>{},C},L=(P)=>{let C,g=!1;return()=>{if(!g)try{C=P(),g=!0}catch{C=void 0}return C}},O=(P)=>{},F=(P)=>P(),V=(P)=>{},A=(P)=>{};function R(P){let C=P||{};if(C.title!==void 0||C.description!==void 0)D({title:C.title,description:C.description})}function N(P){if(!P||typeof P!=="object")return;let C=X.__stxClientPayload??{};Object.assign(C,P),X.__stxClientPayload=C}let M=()=>{let P=X.__stxServeContext,C=X.__stxServeSearch??P?.search??"",g=P?.path??"",m=Object.fromEntries(new URLSearchParams(C)),u=X.query,Q0=Object.keys(m).length>0?m:u??{},R0=C||(Object.keys(Q0).length>0?`?${new URLSearchParams(Q0).toString()}`:"");return{params:X.params??{},query:Q0,path:g,name:"",fullPath:g+R0,hash:"",matched:[]}},T=()=>({push:(P)=>{},replace:(P)=>{},back:()=>{},forward:()=>{},go:(P)=>{}}),k=(P)=>{let C=X.__stx_runtime_head||{};X.__stx_runtime_head=D5(C,P||{})},D=(P)=>{k(g8(P||{}))},I=(P)=>({value:P}),S=(P)=>P,b=(P)=>({value:typeof P==="function"?P():P}),y=(P,C)=>{},v=(P)=>{},f=(P)=>{},x=(P)=>P?P():Promise.resolve(),l=(P)=>(C,...g)=>{},c=(P)=>{},M0=(P,C)=>{},W0=(P,C)=>C,A0=()=>({value:"light"}),s=()=>H(!1),p=(P)=>H(!1),_0=()=>H(!1),k0=()=>p("(prefers-color-scheme: dark)"),M1=()=>p("(prefers-color-scheme: light)"),j5=()=>p("(prefers-reduced-motion: reduce)"),r=()=>p("(prefers-contrast: more)"),$0={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($0,{get(P,C){if(C in P)return P[C];return},set(P,C,g){return P[C]=g,!0}}),v0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},L0=console;try{let P=OX(Y,Z),C=new Set(Object.keys(z)),g=(o)=>/^[a-z_$][\w$]*$/i.test(o),m=Object.keys(X).filter((o)=>!C.has(o)&&o!=="props"&&g(o)),u=m.map((o)=>X[o]);if(!m.includes("__stxServeContext"))m.push("__stxServeContext"),u.push(void 0);let Q0=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"]),R0=[],j1=[];for(let[o,l0]of Object.entries(z)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(o))continue;if(Q0.has(o))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${o}\\b`).test(P))continue;R0.push(o),j1.push(l0)}let g0=pK(P).map((o)=>`module.exports.${o} = typeof ${o} !== 'undefined' ? ${o} : module.exports.${o};`).join(`
2555
+ `),t0=X.params??{},c1=[],k1=[];for(let o=0;o<m.length;o++){if(m[o]==="params")continue;c1.push(m[o]),k1.push(u[o])}let z0=await Function(...HX,...R0,...c1,`return (async () => {
2555
2556
  ${P}
2556
2557
  ${g0}
2557
2558
  return module.exports
2558
- })()`)(G,Q,K,z,U,B,_,N,H,O,L,F,V,R,A,M,T,k,D,I,S,b,y,v,f,x,p,l,j,T0,W0,A0,s,c,_0,M0,T1,j5,r,K0,v0,L0,$0.confirm,$0.alert,$0.fetch,t0,...j1,...M1);if(J.preserveExisting){for(let[o,l0]of Object.entries(z0))if(!(o in X)||X[o]===void 0)X[o]=l0}else Object.assign(X,z0);for(let[o,l0]of Object.entries(z))if(!(o in X))X[o]=l0}catch(P){let C=P instanceof Error?P.message:String(P);if(YZ(C))console.warn(`[stx] server <script> in ${Z??"<unknown>"} imports a module that does not resolve, so every variable in that script is undefined. Cause: ${C}`);else if(GZ(C))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: ${C}`);else if(y5.env.STX_DEBUG)console.warn(`[stx] server <script> did not execute in ${Z??"<unknown>"} \u2014 falling back to static extraction. Cause: ${C}`);try{await lK(Y,X,Z)}catch(g){if(y5.env.STX_DEBUG){let m=g instanceof Error?g.message:String(g);console.warn(`[stx] fallback extraction also failed in ${Z??"<unknown>"}: ${m}`)}}}}function QZ($){let X=0,Z=null,J=!1,Y=!1;for(let G=0;G<$.length;G++){let Q=$[G];if(Z){if(Q===Z){if(Z=null,J||X===0)Y=!0}continue}if(Q==="'"||Q==='"'||Q==="`"){Z=Q;continue}if(Q==="{")X++;else if(Q==="}")X--;else if($.startsWith("from",G)&&X===0)J=!0}return Z===null&&X===0&&Y}function jX($,X){let Z=X?C1.dirname(X):y5.cwd(),J=y5.cwd(),Y=$.split(`
2559
- `),G=[],Q=0;while(Q<Y.length){let w=Y[Q].trim();if(w.startsWith("interface ")||w.startsWith("export interface ")||w.startsWith("type ")||w.startsWith("export type ")){if(w.includes("{")&&!w.includes("}")){let q=0;for(;Q<Y.length;Q++){for(let W of Y[Q])if(W==="{")q++;else if(W==="}")q--;if(q<=0)break}}Q++;continue}if(w.startsWith("definePageMeta(")){let q=0,W=!1,K=Q;for(let B=Q;B<Y.length&&!W;B++){let j=null,_=!1,H=Y[B];for(let O=0;O<H.length;O++){let L=H[O];if(_){_=!1;continue}if(L==="\\"){_=!0;continue}if(j){if(L===j)j=null;continue}if(L==='"'||L==="'"||L==="`"){j=L;continue}if(L==="(")q++;else if(L===")"){if(q--,q===0){Q=B+1,W=!0;break}}}}if(!W)Q=Y.length;let z=Y.slice(K,Q).join(`
2560
- `),U=[];for(let B of["title","description"]){let j=new RegExp(`\\b${B}\\s*:\\s*(['"\`])((?:\\\\.|(?!\\1)[^\\\\])*)\\1`).exec(z);if(j)U.push(`${B}: ${JSON.stringify(j[2])}`)}if(U.length>0)G.push(`useSeoMeta({ ${U.join(", ")} });`);continue}if(w.startsWith("import ")||w==="import"||w.startsWith("import{")){let q=w,W=0;while(!QZ(q)&&Q+W+1<Y.length)W++,q=`${q} ${Y[Q+W].trim()}`;Q+=W;let K=q.match(/^import\s+(\w+)\s+from\s+['"](.+?)['"]/),z=q.match(/^import\s+\{([^}]*)\}\s+from\s+['"](.+?)['"]/),U=q.match(/^import\s+['"](.+?)['"]/),B=q,j=(_)=>{if(_.startsWith("."))return C1.resolve(Z,_);if(_.startsWith("~/")||_.startsWith("@/"))return C1.resolve(J,_.slice(2));return _};if(K){let[,_,H]=K,O=j(H);G.push(`const ${_} = (await import('${O}')).default`),G.push(`module.exports.${_} = ${_};`)}else if(z){let[,_,H]=z,O=j(H),L=[],F=[],V=xK.has(H);for(let R of _.split(",")){let A=R.trim();if(!A)continue;let N=A.split(/\s+as\s+/);if(N.length===2){let[M,T]=[N[0].trim(),N[1].trim()];if(V&&a2.has(M)){G.push(`const ${T} = ${M};`),F.push(T);continue}L.push(`${M}: ${T}`),F.push(T)}else{if(V&&a2.has(A)){F.push(A);continue}L.push(A),F.push(A)}}if(L.length>0)G.push(`const { ${L.join(", ")} } = await import('${O}')`);for(let R of F)G.push(`module.exports.${R} = ${R};`)}else if(U){let _=j(U[1]);G.push(`await import('${_}')`)}else G.push(B);Q++;continue}if(gK.test(w))G.push(Y[Q]),Q++;else if(w.startsWith("export const ")||w.startsWith("export let ")||w.startsWith("export var ")){let q=e2(Y,Q),{type:W,name:K,value:z}=q;G.push(`${W} ${K} = ${z};`),G.push(`module.exports.${K} = ${K};`),Q=q.nextIndex}else if(w.startsWith("export function ")||w.startsWith("export async function ")){let q=zX(Y,Q);G.push(q.functionCode),G.push(`module.exports.${q.name} = ${q.name};`),Q=q.nextIndex}else if(w.startsWith("const ")||w.startsWith("let ")||w.startsWith("var ")){let q=e2(Y,Q),{type:W,name:K,value:z}=q;G.push(`${W} ${K} = ${z};`),G.push(`module.exports.${K} = ${K};`),Q=q.nextIndex}else if(w.startsWith("function ")||w.startsWith("async function ")){let q=zX(Y,Q);G.push(q.functionCode),G.push(`module.exports.${q.name} = ${q.name};`),Q=q.nextIndex}else if(w.startsWith("export default function ")||w.startsWith("export default async function ")){let q=Y[Q].replace(/^(\s*)export\s+default\s+/,"$1"),W=[...Y];W[Q]=q;let K=zX(W,Q);if(G.push(K.functionCode),K.name)G.push(`module.exports.default = ${K.name};`);Q=K.nextIndex}else if(w.startsWith("export default ")){let q=w.replace(/^export\s+default\s+/,"").replace(/;$/,"");G.push(`module.exports.default = ${q};`),Q++}else if(w.startsWith("class ")||w.startsWith("export class ")){let q=w.match(/(?:export\s+)?class\s+(\w+)/);if(q){let W=q[1],K=Y[Q].replace(/^export\s+/,""),z=0,U=Q;for(;U<Y.length;U++){let B=Y[U];for(let j of B)if(j==="{")z++;else if(j==="}")z--;if(U>Q)K+=`
2561
- `+B;if(z<=0&&U>=Q)break}G.push(K),G.push(`module.exports.${W} = ${W};`),Q=U+1}else G.push(w),Q++}else if(w.includes("module.exports"))G.push(w),Q++;else if(w.trim()&&!w.startsWith("//"))G.push(w),Q++;else Q++}return hK(G.join(`
2562
- `),Z,J)}function hK($,X,Z){let J=$.length,Y="",G=0,Q=null,w=!1,q=!1,W=0;while(G<J){let K=$[G],z=$[G+1];if(w){if(Y+=K,K===`
2563
- `)w=!1;G++;continue}if(q){if(Y+=K,K==="*"&&z==="/"){Y+=z,G+=2,q=!1;continue}G++;continue}if(!Q&&K==="/"&&z==="/"){w=!0,Y+=K,G++;continue}if(!Q&&K==="/"&&z==="*"){q=!0,Y+=K,G++;continue}if(Q){if(Y+=K,K==="\\"){Y+=z,G+=2;continue}if(K===Q&&Q!=="`"){Q=null,G++;continue}if(Q==="`"){if(K==="$"&&z==="{"){W++,Y+=z,G+=2;continue}if(K==="`"){Q=null,G++;continue}}G++;continue}if(W>0){if(K==="{")W++;else if(K==="}")W--}if(K==='"'||K==="'"||K==="`"){Q=K,Y+=K,G++;continue}if(K==="a"&&$.startsWith("await",G)){let U=uK($,G);if(U){let{quote:B,path:j,end:_}=U;if(j.startsWith(".")||j.startsWith("~/")||j.startsWith("@/")){let H=j.startsWith(".")?C1.resolve(X,j):C1.resolve(Z,j.slice(2));Y+=`await import(${B}${H}${B})`,G=_;continue}}}Y+=K,G++}return Y}function uK($,X){let Z=X+5;if(Z>=$.length)return null;if(!/\s/.test($[Z]))return null;while(Z<$.length&&/\s/.test($[Z]))Z++;if(!$.startsWith("import",Z))return null;Z+=6;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return null;Z++;while(Z<$.length&&/\s/.test($[Z]))Z++;let J=$[Z];if(J!=="'"&&J!=='"')return null;Z++;let Y=Z;while(Z<$.length&&$[Z]!==J)if($[Z]==="\\")Z+=2;else Z++;if(Z>=$.length)return null;let G=$.slice(Y,Z);Z++;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!==")")return null;return{quote:J,path:G,end:Z+1}}function wZ($,X){let Z=$[X];if(Z!=="{"&&Z!=="[")return null;let Y=y0($,Z,Z==="{"?"}":"]",X);if(Y===-1)return null;return{pattern:$.slice(X,Y+1),endPos:Y+1}}function qZ($){let X=[],Z=$.slice(1,-1).trim();if(!Z)return X;let J=0,Y=0,G="";while(J<Z.length){let Q=Z[J];if(Q==="{"||Q==="["){let w=Y===0?wZ(Z,J):null;if(w){X.push(...qZ(w.pattern)),J=w.endPos,G="";continue}Y++}else if(Q==="}"||Q==="]")Y--;if(Y>0){J++;continue}if(Q===","){if(G.trim())X.push(G.trim());G="",J++;continue}if(Q===":"){G="",J++;continue}if(Q==="="){if(G.trim())X.push(G.trim());G="",J++;while(J<Z.length&&Z[J]!==","&&Y===0){if(Z[J]==="{"||Z[J]==="[")Y++;else if(Z[J]==="}"||Z[J]==="]")Y--;J++}continue}if(/[\w$]/.test(Q))G+=Q;J++}if(G.trim())X.push(G.trim());return X}function WZ($){let X=/^(?:export\s+)?(const|let|var)\s+([A-Za-z_$][\w$]*)/.exec($);if(!X)return null;let Z=X[0].length,J=(Y)=>Y===" "||Y==="\t";while(Z<$.length&&J($[Z]))Z++;if($[Z]===":"){let Y=0,G=null;Z++;for(;Z<$.length;Z++){let Q=$[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==="<"){Y++;continue}if(Q===")"||Q==="]"||Q==="}"||Q===">"){Y--;continue}if(Q==="="&&Y<=0){let w=$[Z+1],q=$[Z-1];if(w!=="="&&w!==">"&&q!=="="&&q!=="!"&&q!=="<"&&q!==">")break}}if($[Z]!=="=")return null}while(Z<$.length&&J($[Z]))Z++;if($[Z]!=="=")return null;return{type:X[1],name:X[2],value:$.slice(Z+1).trim()}}function t2($,X,Z,J){let Y=null,G=!1;for(let Q of $){if(G){G=!1;continue}if(Q==="\\"){G=!0;continue}if(Y){if(Q===Y)Y=null;continue}if(Q==="'"||Q==='"'||Q==="`"){Y=Q;continue}if(Q===X)J++;else if(Q===Z)J--}return J}function e2($,X){let Z=$[X].trim(),J=WZ(Z),Y=J?[Z,J.type,J.name,J.value]:null;if(!Y){let K=Z.match(/^(?:export\s+)?(const|let|var)\s+/);if(K){let z=Z.slice(K[0].length),U=X;if(z.startsWith("{")||z.startsWith("[")){let j=z[0],_=j==="{"?"}":"]",H=t2(z,j,_,0),O=z;for(let L=X+1;L<$.length&&H>0;L++)O+=` ${$[L].trim()}`,U=L,H=t2($[L],j,_,H);if(H>0)O=z,U=X;z=O}let B=wZ(z,0);if(B){let j=K[1],_=B.pattern,H=z.slice(B.endPos).trim();if(H.startsWith("=")){let O=H.slice(1).trim(),L=O,F=Math.max(U,X);if($Z(O)){let N=XZ($,F,O);L=N.value,F=N.nextIndex}else F=F+1;L=L.trim().replace(/;$/,"");let V=qZ(_),R=`__stx_src_${X}`,A=V.map((N)=>`module.exports.${N} = ${N};`).join(`
2564
- `);return{type:j,name:R,value:`${L}; ${j} ${_} = ${R};
2565
- ${A}`,nextIndex:F}}}}throw Error(`Failed to parse variable declaration: ${Z}`)}let[,G,Q,w]=Y,q=w,W=X;if($Z(w)){let K=XZ($,X,w);q=K.value,W=K.nextIndex}else W=X+1;while(W<$.length){let K=$[W].trim();if(K.startsWith(".")||K.startsWith("?."))q+=`
2566
- ${$[W]}`,W++;else break}return q=q.trim().replace(/;$/,""),{type:G,name:Q,value:q,nextIndex:W}}function zX($,X){let Z=$[X].trim(),J=Z.match(/^(?:export\s+)?(?:async\s+)?function\s+(\w+)/);if(!J)throw Error(`Failed to parse function declaration: ${Z}`);let[,Y]=J,G=Z.replace(/^export\s+/,""),Q=X;if(dK(Z)){let w=mK($,X,G);G=w.functionCode,Q=w.nextIndex}else Q=X+1;return{name:Y,functionCode:G,nextIndex:Q}}function $Z($){let X=$.trim();if(X.startsWith("{"))return y0(X,"{","}",0)===-1;if(X.startsWith("["))return y0(X,"[","]",0)===-1;return!KZ(X)}function KZ($){let X={paren:0,bracket:0,brace:0},Z=null,J=0;for(let Y=0;Y<$.length;Y++){let G=$[Y];if((Y>0?$[Y-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==="`"&&J===0){Z=null;continue}if(Z==="`"&&G==="$"&&$[Y+1]==="{"){J++,Y++;continue}if(J>0&&G==="{"){J++;continue}if(J>0&&G==="}"){J--;continue}if(Z)continue;if(G==="(")X.paren++;else if(G===")")X.paren--;else if(G==="[")X.bracket++;else if(G==="]")X.bracket--;else if(G==="{")X.brace++;else if(G==="}")X.brace--}return X.paren===0&&X.bracket===0&&X.brace===0&&Z===null}function zZ($){let X=$.indexOf("(");if(X===-1)return $.indexOf("{");let Z=y0($,"(",")",X);if(Z===-1)return-1;return $.indexOf("{",Z)}function dK($){let X=zZ($);if(X===-1)return!0;return y0($,"{","}",X)===-1}function XZ($,X,Z){let J=Z,Y=X+1;while(Y<$.length&&!KZ(J)){let G=$[Y];J+=`
2559
+ })()`)(G,Q,K,z,U,B,_,N,H,L,O,F,V,A,R,M,T,k,D,I,S,b,y,v,f,x,l,c,j,M0,W0,A0,s,p,_0,k0,M1,j5,r,K0,v0,L0,$0.confirm,$0.alert,$0.fetch,t0,...j1,...k1);if(J.preserveExisting){for(let[o,l0]of Object.entries(z0))if(!(o in X)||X[o]===void 0)X[o]=l0}else Object.assign(X,z0);for(let[o,l0]of Object.entries(z))if(!(o in X))X[o]=l0}catch(P){let C=P instanceof Error?P.message:String(P);if(_Z(C))console.warn(`[stx] server <script> in ${Z??"<unknown>"} imports a module that does not resolve, so every variable in that script is undefined. Cause: ${C}`);else if(HZ(C))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: ${C}`);else if(y5.env.STX_DEBUG)console.warn(`[stx] server <script> did not execute in ${Z??"<unknown>"} \u2014 falling back to static extraction. Cause: ${C}`);try{await aK(Y,X,Z)}catch(g){if(y5.env.STX_DEBUG){let m=g instanceof Error?g.message:String(g);console.warn(`[stx] fallback extraction also failed in ${Z??"<unknown>"}: ${m}`)}}}}function OZ($){let X=0,Z=null,J=!1,Y=!1;for(let G=0;G<$.length;G++){let Q=$[G];if(Z){if(Q===Z){if(Z=null,J||X===0)Y=!0}continue}if(Q==="'"||Q==='"'||Q==="`"){Z=Q;continue}if(Q==="{")X++;else if(Q==="}")X--;else if($.startsWith("from",G)&&X===0)J=!0}return Z===null&&X===0&&Y}function OX($,X){let Z=X?P1.dirname(X):y5.cwd(),J=y5.cwd(),Y=$.split(`
2560
+ `),G=[],Q=0;while(Q<Y.length){let w=Y[Q].trim();if(w.startsWith("interface ")||w.startsWith("export interface ")||w.startsWith("type ")||w.startsWith("export type ")){if(w.includes("{")&&!w.includes("}")){let q=0;for(;Q<Y.length;Q++){for(let W of Y[Q])if(W==="{")q++;else if(W==="}")q--;if(q<=0)break}}Q++;continue}if(w.startsWith("definePageMeta(")){let q=0,W=!1,K=Q;for(let B=Q;B<Y.length&&!W;B++){let j=null,_=!1,H=Y[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==="(")q++;else if(O===")"){if(q--,q===0){Q=B+1,W=!0;break}}}}if(!W)Q=Y.length;let z=Y.slice(K,Q).join(`
2561
+ `),U=[];for(let B of["title","description"]){let j=new RegExp(`\\b${B}\\s*:\\s*(['"\`])((?:\\\\.|(?!\\1)[^\\\\])*)\\1`).exec(z);if(j)U.push(`${B}: ${JSON.stringify(j[2])}`)}if(U.length>0)G.push(`useSeoMeta({ ${U.join(", ")} });`);continue}if(w.startsWith("import ")||w==="import"||w.startsWith("import{")){let q=w,W=0;while(!OZ(q)&&Q+W+1<Y.length)W++,q=`${q} ${Y[Q+W].trim()}`;Q+=W;let K=q.match(/^import\s+(\w+)\s+from\s+['"](.+?)['"]/),z=q.match(/^import\s+\{([^}]*)\}\s+from\s+['"](.+?)['"]/),U=q.match(/^import\s+['"](.+?)['"]/),B=q,j=(_)=>{if(_.startsWith("."))return P1.resolve(Z,_);if(_.startsWith("~/")||_.startsWith("@/"))return P1.resolve(J,_.slice(2));return _};if(K){let[,_,H]=K,L=j(H);G.push(`const ${_} = (await import('${L}')).default`),G.push(`module.exports.${_} = ${_};`)}else if(z){let[,_,H]=z,L=j(H),O=[],F=[],V=cK.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[M,T]=[N[0].trim(),N[1].trim()];if(V&&qZ.has(M)){G.push(`const ${T} = ${M};`),F.push(T);continue}O.push(`${M}: ${T}`),F.push(T)}else{if(V&&qZ.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(U){let _=j(U[1]);G.push(`await import('${_}')`)}else G.push(B);Q++;continue}if(iK.test(w))G.push(Y[Q]),Q++;else if(w.startsWith("export const ")||w.startsWith("export let ")||w.startsWith("export var ")){let q=KZ(Y,Q),{type:W,name:K,value:z}=q;G.push(`${W} ${K} = ${z};`),G.push(`module.exports.${K} = ${K};`),Q=q.nextIndex}else if(w.startsWith("export function ")||w.startsWith("export async function ")){let q=_X(Y,Q);G.push(q.functionCode),G.push(`module.exports.${q.name} = ${q.name};`),Q=q.nextIndex}else if(w.startsWith("const ")||w.startsWith("let ")||w.startsWith("var ")){let q=KZ(Y,Q),{type:W,name:K,value:z}=q;G.push(`${W} ${K} = ${z};`),G.push(`module.exports.${K} = ${K};`),Q=q.nextIndex}else if(w.startsWith("function ")||w.startsWith("async function ")){let q=_X(Y,Q);G.push(q.functionCode),G.push(`module.exports.${q.name} = ${q.name};`),Q=q.nextIndex}else if(w.startsWith("export default function ")||w.startsWith("export default async function ")){let q=Y[Q].replace(/^(\s*)export\s+default\s+/,"$1"),W=[...Y];W[Q]=q;let K=_X(W,Q);if(G.push(K.functionCode),K.name)G.push(`module.exports.default = ${K.name};`);Q=K.nextIndex}else if(w.startsWith("export default ")){let q=w.replace(/^export\s+default\s+/,"").replace(/;$/,"");G.push(`module.exports.default = ${q};`),Q++}else if(w.startsWith("class ")||w.startsWith("export class ")){let q=w.match(/(?:export\s+)?class\s+(\w+)/);if(q){let W=q[1],K=Y[Q].replace(/^export\s+/,""),z=0,U=Q;for(;U<Y.length;U++){let B=Y[U];for(let j of B)if(j==="{")z++;else if(j==="}")z--;if(U>Q)K+=`
2562
+ `+B;if(z<=0&&U>=Q)break}G.push(K),G.push(`module.exports.${W} = ${W};`),Q=U+1}else G.push(w),Q++}else if(w.includes("module.exports"))G.push(w),Q++;else if(w.trim()&&!w.startsWith("//"))G.push(w),Q++;else Q++}return nK(G.join(`
2563
+ `),Z,J)}function nK($,X,Z){let J=$.length,Y="",G=0,Q=null,w=!1,q=!1,W=0;while(G<J){let K=$[G],z=$[G+1];if(w){if(Y+=K,K===`
2564
+ `)w=!1;G++;continue}if(q){if(Y+=K,K==="*"&&z==="/"){Y+=z,G+=2,q=!1;continue}G++;continue}if(!Q&&K==="/"&&z==="/"){w=!0,Y+=K,G++;continue}if(!Q&&K==="/"&&z==="*"){q=!0,Y+=K,G++;continue}if(Q){if(Y+=K,K==="\\"){Y+=z,G+=2;continue}if(K===Q&&Q!=="`"){Q=null,G++;continue}if(Q==="`"){if(K==="$"&&z==="{"){W++,Y+=z,G+=2;continue}if(K==="`"){Q=null,G++;continue}}G++;continue}if(W>0){if(K==="{")W++;else if(K==="}")W--}if(K==='"'||K==="'"||K==="`"){Q=K,Y+=K,G++;continue}if(K==="a"&&$.startsWith("await",G)){let U=rK($,G);if(U){let{quote:B,path:j,end:_}=U;if(j.startsWith(".")||j.startsWith("~/")||j.startsWith("@/")){let H=j.startsWith(".")?P1.resolve(X,j):P1.resolve(Z,j.slice(2));Y+=`await import(${B}${H}${B})`,G=_;continue}}}Y+=K,G++}return Y}function rK($,X){let Z=X+5;if(Z>=$.length)return null;if(!/\s/.test($[Z]))return null;while(Z<$.length&&/\s/.test($[Z]))Z++;if(!$.startsWith("import",Z))return null;Z+=6;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return null;Z++;while(Z<$.length&&/\s/.test($[Z]))Z++;let J=$[Z];if(J!=="'"&&J!=='"')return null;Z++;let Y=Z;while(Z<$.length&&$[Z]!==J)if($[Z]==="\\")Z+=2;else Z++;if(Z>=$.length)return null;let G=$.slice(Y,Z);Z++;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!==")")return null;return{quote:J,path:G,end:Z+1}}function LZ($,X){let Z=$[X];if(Z!=="{"&&Z!=="[")return null;let Y=b0($,Z,Z==="{"?"}":"]",X);if(Y===-1)return null;return{pattern:$.slice(X,Y+1),endPos:Y+1}}function FZ($){let X=[],Z=$.slice(1,-1).trim();if(!Z)return X;let J=0,Y=0,G="";while(J<Z.length){let Q=Z[J];if(Q==="{"||Q==="["){let w=Y===0?LZ(Z,J):null;if(w){X.push(...FZ(w.pattern)),J=w.endPos,G="";continue}Y++}else if(Q==="}"||Q==="]")Y--;if(Y>0){J++;continue}if(Q===","){if(G.trim())X.push(G.trim());G="",J++;continue}if(Q===":"){G="",J++;continue}if(Q==="="){if(G.trim())X.push(G.trim());G="",J++;while(J<Z.length&&Z[J]!==","&&Y===0){if(Z[J]==="{"||Z[J]==="[")Y++;else if(Z[J]==="}"||Z[J]==="]")Y--;J++}continue}if(/[\w$]/.test(Q))G+=Q;J++}if(G.trim())X.push(G.trim());return X}function VZ($){let X=/^(?:export\s+)?(const|let|var)\s+([A-Za-z_$][\w$]*)/.exec($);if(!X)return null;let Z=X[0].length,J=(Y)=>Y===" "||Y==="\t";while(Z<$.length&&J($[Z]))Z++;if($[Z]===":"){let Y=0,G=null;Z++;for(;Z<$.length;Z++){let Q=$[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==="<"){Y++;continue}if(Q===")"||Q==="]"||Q==="}"||Q===">"){Y--;continue}if(Q==="="&&Y<=0){let w=$[Z+1],q=$[Z-1];if(w!=="="&&w!==">"&&q!=="="&&q!=="!"&&q!=="<"&&q!==">")break}}if($[Z]!=="=")return null}while(Z<$.length&&J($[Z]))Z++;if($[Z]!=="=")return null;return{type:X[1],name:X[2],value:$.slice(Z+1).trim()}}function WZ($,X,Z,J){let Y=null,G=!1;for(let Q of $){if(G){G=!1;continue}if(Q==="\\"){G=!0;continue}if(Y){if(Q===Y)Y=null;continue}if(Q==="'"||Q==='"'||Q==="`"){Y=Q;continue}if(Q===X)J++;else if(Q===Z)J--}return J}function KZ($,X){let Z=$[X].trim(),J=VZ(Z),Y=J?[Z,J.type,J.name,J.value]:null;if(!Y){let K=Z.match(/^(?:export\s+)?(const|let|var)\s+/);if(K){let z=Z.slice(K[0].length),U=X;if(z.startsWith("{")||z.startsWith("[")){let j=z[0],_=j==="{"?"}":"]",H=WZ(z,j,_,0),L=z;for(let O=X+1;O<$.length&&H>0;O++)L+=` ${$[O].trim()}`,U=O,H=WZ($[O],j,_,H);if(H>0)L=z,U=X;z=L}let B=LZ(z,0);if(B){let j=K[1],_=B.pattern,H=z.slice(B.endPos).trim();if(H.startsWith("=")){let L=H.slice(1).trim(),O=L,F=Math.max(U,X);if(zZ(L)){let N=UZ($,F,L);O=N.value,F=N.nextIndex}else F=F+1;O=O.trim().replace(/;$/,"");let V=FZ(_),A=`__stx_src_${X}`,R=V.map((N)=>`module.exports.${N} = ${N};`).join(`
2565
+ `);return{type:j,name:A,value:`${O}; ${j} ${_} = ${A};
2566
+ ${R}`,nextIndex:F}}}}throw Error(`Failed to parse variable declaration: ${Z}`)}let[,G,Q,w]=Y,q=w,W=X;if(zZ(w)){let K=UZ($,X,w);q=K.value,W=K.nextIndex}else W=X+1;while(W<$.length){let K=$[W].trim();if(K.startsWith(".")||K.startsWith("?."))q+=`
2567
+ ${$[W]}`,W++;else break}return q=q.trim().replace(/;$/,""),{type:G,name:Q,value:q,nextIndex:W}}function _X($,X){let Z=$[X].trim(),J=Z.match(/^(?:export\s+)?(?:async\s+)?function\s+(\w+)/);if(!J)throw Error(`Failed to parse function declaration: ${Z}`);let[,Y]=J,G=Z.replace(/^export\s+/,""),Q=X;if(oK(Z)){let w=sK($,X,G);G=w.functionCode,Q=w.nextIndex}else Q=X+1;return{name:Y,functionCode:G,nextIndex:Q}}function zZ($){let X=$.trim();if(X.startsWith("{"))return b0(X,"{","}",0)===-1;if(X.startsWith("["))return b0(X,"[","]",0)===-1;return!AZ(X)}function AZ($){let X={paren:0,bracket:0,brace:0},Z=null,J=0;for(let Y=0;Y<$.length;Y++){let G=$[Y];if((Y>0?$[Y-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==="`"&&J===0){Z=null;continue}if(Z==="`"&&G==="$"&&$[Y+1]==="{"){J++,Y++;continue}if(J>0&&G==="{"){J++;continue}if(J>0&&G==="}"){J--;continue}if(Z)continue;if(G==="(")X.paren++;else if(G===")")X.paren--;else if(G==="[")X.bracket++;else if(G==="]")X.bracket--;else if(G==="{")X.brace++;else if(G==="}")X.brace--}return X.paren===0&&X.bracket===0&&X.brace===0&&Z===null}function RZ($){let X=$.indexOf("(");if(X===-1)return $.indexOf("{");let Z=b0($,"(",")",X);if(Z===-1)return-1;return $.indexOf("{",Z)}function oK($){let X=RZ($);if(X===-1)return!0;return b0($,"{","}",X)===-1}function UZ($,X,Z){let J=Z,Y=X+1;while(Y<$.length&&!AZ(J)){let G=$[Y];J+=`
2567
2568
  ${G}`,Y++}while(Y<$.length){let G=$[Y].trim();if(G.startsWith(".")||G.startsWith("?."))J+=`
2568
- ${$[Y]}`,Y++;else break}return{value:J,nextIndex:Y}}function mK($,X,Z){let J=Z,Y=X+1;while(Y<$.length){let G=zZ(J);if(G!==-1){if(y0(J,"{","}",G)!==-1)break}let Q=$[Y];J+=`
2569
- ${Q}`,Y++}return{functionCode:J,nextIndex:Y}}function ZZ($,X){let Z=Y0($,X)??Y0(`(${$})`,X);if(Z!==void 0)return Z;if(!/\bprocess\b/.test($))return;let J={...X,process:Object.freeze({env:{...y5.env}})};try{return Function(...Object.keys(J),`'use strict'; return (${$});`)(...Object.values(J))}catch{try{return Function(...Object.keys(J),`'use strict'; return ${$};`)(...Object.values(J))}catch{return}}}async function lK($,X,Z){let J=$.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let G of J){let[,,Q,w]=G;try{let q=w.trim().replace(/;$/,""),W=ZZ(q,X);if(W!==void 0)X[Q]=W}catch(q){console.warn(`Failed to parse export ${Q} in fallback:`,q)}}let Y=$.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let G of Y){let[,,Q,w]=G;if(!(Q in X))try{let q=w.trim().replace(/;$/,""),W=ZZ(q,X);if(W!==void 0)X[Q]=W}catch{}}}function UZ($){let X=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Z=X?X[1]:"",J=X?$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/i,""):$;return{scriptContent:Z,templateWithoutScript:J}}function jZ($){let X=$.trim();if(!X)return!1;return/(?:const|let|var|function)\s+\w+/.test(X)}var UX,a2,xK,gK;var x7=E(()=>{v7();E1();I0();UX=["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"],a2=new Set(UX),xK=new Set(["stx","@stacksjs/stx"]);gK=/^(?:export\s+)?(?:const|let|var)\s+[A-Za-z_$][\w$]*(?:\s*,\s*[A-Za-z_$][\w$]*)*\s*;?$/});var BX={};t(BX,{renderSlot:()=>_Z,processSlots:()=>OZ,parseSlots:()=>BZ,parseSlotElement:()=>rK,extractSlotContent:()=>aK,applySlots:()=>tK});function cK($,X){let Z=1,J=X,Y="<template",G="</template";while(J<$.length&&Z>0){let Q=$.indexOf("<",J);if(Q===-1)break;if(J=Q,$.startsWith(Y,J)&&(J+Y.length>=$.length||/[\s>\/]/.test($[J+Y.length]))){Z++,J+=Y.length;continue}if($.startsWith(G,J)){let w=$.indexOf(">",J+G.length);if(w!==-1){if(Z--,Z===0)return w+1;J=w+1;continue}}J++}return Z===0?J:-1}function iK($,X){let Z=null;for(let J=X;J<$.length;J++){let Y=$[J];if(Z){if(Y==="\\"){J++;continue}if(Y===Z)Z=null;continue}if(Y==='"'||Y==="'"){Z=Y;continue}if(Y===">")return J+1}return-1}function nK($){let X=[],Z=[],J=/^<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>$/i,Y=0;while(Y<$.length){let G=$.indexOf("<",Y);if(G===-1)break;if($.startsWith("<!--",G)){let U=$.indexOf("-->",G+4);Y=U===-1?$.length:U+3;continue}let Q=iK($,G+1);if(Q===-1)break;let w=$.slice(G,Q),q=w.match(/^<\s*(\/?)\s*([a-zA-Z][\w-]*)/);if(!q){Y=Q;continue}let W=q[1]==="/",K=q[2].toLowerCase();if(W){let U=Z.lastIndexOf(K);if(U!==-1)Z.splice(U);Y=Q;continue}if(K==="template"&&Z.length===0){let U=w.match(J);if(U){let B=cK($,Q);if(B!==-1){let j=U[1]||U[2]||U[3];X.push({start:G,end:B,slotName:j,content:$.slice(Q,B-11).trim(),propsBinding:U[4]||void 0}),Y=B;continue}}}if(!/\/\s*>$/.test(w)&&!pK.has(K)){if(Z.push(K),K==="script"||K==="style"){let U=$.toLowerCase().indexOf(`</${K}>`,Q);if(U!==-1){Y=U;continue}}}Y=Q}return X}function BZ($){let X={default:"",named:new Map},Z=$,J=nK($);for(let q of J)X.named.set(q.slotName,{name:q.slotName,content:q.content,propsBinding:q.propsBinding});J.sort((q,W)=>W.start-q.start);for(let q of J)Z=Z.slice(0,q.start)+Z.slice(q.end);let Y=[],G=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,Q;while((Q=G.exec(Z))!==null){let[q,W,K,z,U,B]=Q,j=K.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),_=U.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=(j+_).trim(),O=`<${W}${H?" "+H:""}>${B}</${W}>`;Y.push({start:Q.index,end:Q.index+q.length,slotName:z,element:O})}let w=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((Q=w.exec(Z))!==null){let[q,W,K,z,U]=Q,B=K.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),j=U.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),_=(B+j).trim(),H=`<${W}${_?" "+_:""} />`;Y.push({start:Q.index,end:Q.index+q.length,slotName:z,element:H})}Y.sort((q,W)=>W.start-q.start);for(let q of Y){let W=X.named.get(q.slotName);if(W)W.content+=q.element;else X.named.set(q.slotName,{name:q.slotName,content:q.element});Z=Z.slice(0,q.start)+Z.slice(q.end)}return X.default=Z.trim(),X}function rK($){let X=$.match(/name\s*=\s*["']([^"']+)["']/),Z=X?X[1]:"",J={},Y=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,G;while((G=Y.exec($))!==null)J[G[1]]=G[2];let Q=$.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),w=Q?Q[1].trim():"";return{name:Z,props:J,defaultContent:w}}async function _Z($,X,Z,J){if(!$)return Z;let Y=$.content;if($.propsBinding&&Object.keys(X).length>0){let G=$.propsBinding.trim(),Q={...J};if(G.startsWith("{")&&G.endsWith("}")){let w=G.slice(1,-1).split(",").map((q)=>q.trim()).filter(Boolean);for(let q of w){let[W,K]=q.split(":").map((U)=>U.trim()),z=K||W;if(X[W]!==void 0)Q[z]=X[W]}}else Q[G]=X;Y=oK(Y,Q)}return Y}function oK($,X){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Z,J)=>{try{let Y=J.trim(),G=HZ(Y,X);return $1(String(G??""))}catch{return`{{ ${J} }}`}})}function HZ($,X){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test($)){let J=$.split("."),Y=X;for(let G of J)if(Y&&typeof Y==="object"&&G in Y)Y=Y[G];else return;return Y}let Z=$.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(Z){let[,J,Y,G]=Z,Q=X[J],w=parseInt(G,10);if(typeof Q==="number")switch(Y){case"+":return Q+w;case"-":return Q-w;case"*":return Q*w;case"/":return Q/w}}try{if(!w0($))return;return q0($,Object.keys(X))(...Object.values(X))}catch{return}}async function OZ($,X,Z){let J=$;J=await sK(J,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(Q,w,q,W)=>{let K=X.named.get(w),z=W?.trim()||"",U=q||"",B={},j=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,_;while((_=j.exec(U))!==null){let H=_[1],O=_[2];B[H]=HZ(O,Z)}return await _Z(K,B,z,Z)});let G=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return J=J.replace(G,(Q,w)=>{if(Q.includes("name="))return Q;let q=w?.trim()||"";return X.default||q}),J}async function sK($,X,Z){let J=[],Y=[];$.replace(X,(w,...q)=>{let W=q[q.length-2];return Y.push({match:w,index:W}),J.push(Z(w,...q.slice(0,-2))),w});let G=await Promise.all(J),Q=$;for(let w=Y.length-1;w>=0;w--){let{match:q,index:W}=Y[w];Q=Q.slice(0,W)+G[w]+Q.slice(W+q.length)}return Q}function aK($){let X=BZ($);return{defaultSlot:X.default,namedSlots:X.named}}async function tK($,X,Z,J){return await OZ($,{default:X,named:Z},J)}var pK;var _X=E(()=>{q1();I0();pK=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function P1($,X){let Z=eK($,X);return Z.ok?{expression:Z.expression,endPos:Z.endPos}:null}function eK($,X){let Z=X;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Z};let J=y0($,"(",")",Z);if(J===-1)return{ok:!1,reason:"unclosed-paren",pos:Z};return{ok:!0,expression:$.slice(Z+1,J),endPos:J+1}}function $z($,X){let Z=$.lastIndexOf("<",X);if(Z===-1)return!1;return Z>$.lastIndexOf(">",X)}function t1($,X,Z,J){let Y=1,G=J,Q=new RegExp(`@${X}\\s*\\(`,"g"),w=new RegExp(`@${Z}(?![a-z])`,"g");while(G<$.length&&Y>0){Q.lastIndex=G,w.lastIndex=G;let q=Q.exec($),W=w.exec($),K=q?q.index:1/0,z=W?W.index:1/0;if(K<z)Y++,G=K+q[0].length;else if(z<1/0){if(Y--,Y===0)return z;G=z+W[0].length}else break}return-1}function LZ($,X){let Z=$.slice(X).match(/^@if\s*/);if(!Z)return null;let J=X+Z[0].length,Y=P1($,J);if(!Y)return null;let G=Y.endPos,Q=t1($,"if","endif",G);if(Q===-1)return null;let w=$.slice(G,Q),q=[],W=0,K="if",z=Y.expression,U=0,B=0;while(W<w.length){let j=w.indexOf("@",W);if(j===-1)break;W=j;let _=w.substring(j);if($z(w,j)){W++;continue}if(/^@if\s*\(/.test(_)){B++,W++;continue}if(/^@endif(?![a-z])/.test(_)){B--,W+=6;continue}if(B===0){let H=_.match(/^@elseif\s*/);if(H){q.push({type:K,condition:z,content:w.substring(U,W),start:G+U,end:G+W});let O=W+H[0].length,L=P1(w,O);if(!L){W++;continue}K="elseif",z=L.expression,W=L.endPos,U=W;continue}else if(/^@else(?![a-z])/.test(_)){q.push({type:K,condition:z,content:w.substring(U,W),start:G+U,end:G+W}),K="else",z=void 0,W+=5,U=W;continue}}W++}return q.push({type:K,condition:z,content:w.slice(U),start:G+U,end:G+w.length}),{fullMatch:$.slice(X,Q+6),branches:q,start:X,end:Q+6}}function f7($){let X=[],Z=/@if\s*\(/g,J=Z.exec($);while(J!==null){if(X.some((Q)=>J.index>Q.start&&J.index<Q.end)){J=Z.exec($);continue}let G=LZ($,J.index);if(G)X.push(G),Z.lastIndex=G.end;J=Z.exec($)}return X}function f8($,X,Z){let J=[],Y=new RegExp(`@${X}\\s*\\(`,"g"),G=Y.exec($);while(G!==null){if(J.some((_)=>G.index>_.start&&G.index<_.end)){G=Y.exec($);continue}let w=G.index,q=w+G[0].length-1,W=y0($,"(",")",q);if(W===-1){G=Y.exec($);continue}let K=$.slice(q+1,W),z=W+1,U=t1($,X,Z,z);if(U===-1){G=Y.exec($);continue}let B=$.slice(z,U),j=U+`@${Z}`.length;J.push({fullMatch:$.slice(w,j),name:X,params:K,content:B,start:w,end:j}),Y.lastIndex=j,G=Y.exec($)}return J}function HX($,X){let Z=$.slice(X).match(/^@switch\s*/);if(!Z)return null;let J=X+Z[0].length,Y=P1($,J);if(!Y)return null;let G=Y.endPos,Q=t1($,"switch","endswitch",G);if(Q===-1)return null;let w=$.slice(G,Q),q=[],W=0,K=null,z=0;while(W<w.length){let U=w.slice(W),B=U.match(/^@switch\s*\(/),j=U.match(/^@endswitch(?![a-z])/);if(B){if(z++,K)K.content+=B[0];W+=B[0].length;continue}if(j){if(z--,K)K.content+=j[0];W+=j[0].length;continue}if(z>0){if(K)K.content+=w[W];W++;continue}let _=U.match(/^@case\s*/),H=U.match(/^@default(?![a-z])/),O=U.match(/^@break(?![a-z])/);if(_&&U.startsWith("@case")){if(K)q.push(K);let L=W+_[0].length,F=P1(w,L);if(!F){W++;continue}K={type:"case",value:F.expression,content:""},W=F.endPos}else if(H&&U.startsWith("@default")){if(K)q.push(K);K={type:"default",content:""},W+=H[0].length}else if(O&&U.startsWith("@break"))W+=O[0].length;else{if(K)K.content+=w[W];W++}}if(K)q.push(K);return{fullMatch:$.slice(X,Q+10),expression:Y.expression,cases:q,start:X,end:Q+10}}var FZ=()=>{};var VZ=()=>{};var g8=E(()=>{FZ();VZ()});async function RZ($){let X=$;if(!X)try{X=(await X1())?.pagesDir||"pages"}catch{X="pages"}let Z=X,J=AZ.get(Z);if(J)return J;let Y=[];try{Y=H7(".",{pagesDir:Z}).map((G)=>G.regex.source).filter(Boolean)}catch{Y=[]}return AZ.set(Z,Y),Y}var AZ;var NZ=E(()=>{f9();L1();AZ=new Map});function Yz($){return $.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function TZ($){return Yz(JSON.stringify($))}function g7($){let X=0,Z,J=OX.map(()=>{return});while(X<$.length){if(Z===void 0||Z!==null&&Z.index<X)MZ.lastIndex=X,Z=MZ.exec($);if(!Z)return null;let Y=Z.index,G=-1,Q=null;for(let q=0;q<OX.length;q++){let W=OX[q],K=J[q];if(K===void 0||K!==null&&K.index<X)W.open.lastIndex=X,K=W.open.exec($),J[q]=K;if(!K)continue;if(K.index<Y&&(G===-1||K.index<G))G=K.index,Q=W.close}if(G===-1||!Q)return{index:Y,tag:Z[0],attrs:Z[1]??""};Q.lastIndex=G;let w=Q.exec($);if(!w)return null;X=w.index+w[0].length}return null}function h8($,X){let Z=g7($);if(!Z)return $;return $.slice(0,Z.index)+X(Z.tag,Z.attrs)+$.slice(Z.index+Z.tag.length)}var OX,MZ;var LX=E(()=>{OX=[{open:/<!--/g,close:/-->/g},{open:/<script\b/gi,close:/<\/script\s*>/gi},{open:/<style\b/gi,close:/<\/style\s*>/gi}],MZ=/<body\b([^>]*)>/gi});function FX(){return`
2569
+ ${$[Y]}`,Y++;else break}return{value:J,nextIndex:Y}}function sK($,X,Z){let J=Z,Y=X+1;while(Y<$.length){let G=RZ(J);if(G!==-1){if(b0(J,"{","}",G)!==-1)break}let Q=$[Y];J+=`
2570
+ ${Q}`,Y++}return{functionCode:J,nextIndex:Y}}function jZ($,X){let Z=Y0($,X)??Y0(`(${$})`,X);if(Z!==void 0)return Z;if(!/\bprocess\b/.test($))return;let J={...X,process:Object.freeze({env:{...y5.env}})};try{return Function(...Object.keys(J),`'use strict'; return (${$});`)(...Object.values(J))}catch{try{return Function(...Object.keys(J),`'use strict'; return ${$};`)(...Object.values(J))}catch{return}}}async function aK($,X,Z){let J=$.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let G of J){let[,,Q,w]=G;try{let q=w.trim().replace(/;$/,""),W=jZ(q,X);if(W!==void 0)X[Q]=W}catch(q){console.warn(`Failed to parse export ${Q} in fallback:`,q)}}let Y=$.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let G of Y){let[,,Q,w]=G;if(!(Q in X))try{let q=w.trim().replace(/;$/,""),W=jZ(q,X);if(W!==void 0)X[Q]=W}catch{}}}function NZ($){let X=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Z=X?X[1]:"",J=X?$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/i,""):$;return{scriptContent:Z,templateWithoutScript:J}}function TZ($){let X=$.trim();if(!X)return!1;return/(?:const|let|var|function)\s+\w+/.test(X)}var HX,qZ,cK,iK;var f7=E(()=>{x7();D1();E0();HX=["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"],qZ=new Set(HX),cK=new Set(["stx","@stacksjs/stx"]);iK=/^(?:export\s+)?(?:const|let|var)\s+[A-Za-z_$][\w$]*(?:\s*,\s*[A-Za-z_$][\w$]*)*\s*;?$/});var LX={};t(LX,{renderSlot:()=>kZ,processSlots:()=>EZ,parseSlots:()=>MZ,parseSlotElement:()=>Zz,extractSlotContent:()=>Gz,applySlots:()=>Qz});function tK($,X){let Z=1,J=X,Y="<template",G="</template";while(J<$.length&&Z>0){let Q=$.indexOf("<",J);if(Q===-1)break;if(J=Q,$.startsWith(Y,J)&&(J+Y.length>=$.length||/[\s>\/]/.test($[J+Y.length]))){Z++,J+=Y.length;continue}if($.startsWith(G,J)){let w=$.indexOf(">",J+G.length);if(w!==-1){if(Z--,Z===0)return w+1;J=w+1;continue}}J++}return Z===0?J:-1}function $z($,X){let Z=null;for(let J=X;J<$.length;J++){let Y=$[J];if(Z){if(Y==="\\"){J++;continue}if(Y===Z)Z=null;continue}if(Y==='"'||Y==="'"){Z=Y;continue}if(Y===">")return J+1}return-1}function Xz($){let X=[],Z=[],J=/^<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>$/i,Y=0;while(Y<$.length){let G=$.indexOf("<",Y);if(G===-1)break;if($.startsWith("<!--",G)){let U=$.indexOf("-->",G+4);Y=U===-1?$.length:U+3;continue}let Q=$z($,G+1);if(Q===-1)break;let w=$.slice(G,Q),q=w.match(/^<\s*(\/?)\s*([a-zA-Z][\w-]*)/);if(!q){Y=Q;continue}let W=q[1]==="/",K=q[2].toLowerCase();if(W){let U=Z.lastIndexOf(K);if(U!==-1)Z.splice(U);Y=Q;continue}if(K==="template"&&Z.length===0){let U=w.match(J);if(U){let B=tK($,Q);if(B!==-1){let j=U[1]||U[2]||U[3];X.push({start:G,end:B,slotName:j,content:$.slice(Q,B-11).trim(),propsBinding:U[4]||void 0}),Y=B;continue}}}if(!/\/\s*>$/.test(w)&&!eK.has(K)){if(Z.push(K),K==="script"||K==="style"){let U=$.toLowerCase().indexOf(`</${K}>`,Q);if(U!==-1){Y=U;continue}}}Y=Q}return X}function MZ($){let X={default:"",named:new Map},Z=$,J=Xz($);for(let q of J)X.named.set(q.slotName,{name:q.slotName,content:q.content,propsBinding:q.propsBinding});J.sort((q,W)=>W.start-q.start);for(let q of J)Z=Z.slice(0,q.start)+Z.slice(q.end);let Y=[],G=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,Q;while((Q=G.exec(Z))!==null){let[q,W,K,z,U,B]=Q,j=K.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),_=U.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=(j+_).trim(),L=`<${W}${H?" "+H:""}>${B}</${W}>`;Y.push({start:Q.index,end:Q.index+q.length,slotName:z,element:L})}let w=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((Q=w.exec(Z))!==null){let[q,W,K,z,U]=Q,B=K.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),j=U.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),_=(B+j).trim(),H=`<${W}${_?" "+_:""} />`;Y.push({start:Q.index,end:Q.index+q.length,slotName:z,element:H})}Y.sort((q,W)=>W.start-q.start);for(let q of Y){let W=X.named.get(q.slotName);if(W)W.content+=q.element;else X.named.set(q.slotName,{name:q.slotName,content:q.element});Z=Z.slice(0,q.start)+Z.slice(q.end)}return X.default=Z.trim(),X}function Zz($){let X=$.match(/name\s*=\s*["']([^"']+)["']/),Z=X?X[1]:"",J={},Y=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,G;while((G=Y.exec($))!==null)J[G[1]]=G[2];let Q=$.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),w=Q?Q[1].trim():"";return{name:Z,props:J,defaultContent:w}}async function kZ($,X,Z,J){if(!$)return Z;let Y=$.content;if($.propsBinding&&Object.keys(X).length>0){let G=$.propsBinding.trim(),Q={...J};if(G.startsWith("{")&&G.endsWith("}")){let w=G.slice(1,-1).split(",").map((q)=>q.trim()).filter(Boolean);for(let q of w){let[W,K]=q.split(":").map((U)=>U.trim()),z=K||W;if(X[W]!==void 0)Q[z]=X[W]}}else Q[G]=X;Y=Jz(Y,Q)}return Y}function Jz($,X){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Z,J)=>{try{let Y=J.trim(),G=IZ(Y,X);return $1(String(G??""))}catch{return`{{ ${J} }}`}})}function IZ($,X){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test($)){let J=$.split("."),Y=X;for(let G of J)if(Y&&typeof Y==="object"&&G in Y)Y=Y[G];else return;return Y}let Z=$.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(Z){let[,J,Y,G]=Z,Q=X[J],w=parseInt(G,10);if(typeof Q==="number")switch(Y){case"+":return Q+w;case"-":return Q-w;case"*":return Q*w;case"/":return Q/w}}try{if(!w0($))return;return q0($,Object.keys(X))(...Object.values(X))}catch{return}}async function EZ($,X,Z){let J=$;J=await Yz(J,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(Q,w,q,W)=>{let K=X.named.get(w),z=W?.trim()||"",U=q||"",B={},j=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,_;while((_=j.exec(U))!==null){let H=_[1],L=_[2];B[H]=IZ(L,Z)}return await kZ(K,B,z,Z)});let G=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return J=J.replace(G,(Q,w)=>{if(Q.includes("name="))return Q;let q=w?.trim()||"";return X.default||q}),J}async function Yz($,X,Z){let J=[],Y=[];$.replace(X,(w,...q)=>{let W=q[q.length-2];return Y.push({match:w,index:W}),J.push(Z(w,...q.slice(0,-2))),w});let G=await Promise.all(J),Q=$;for(let w=Y.length-1;w>=0;w--){let{match:q,index:W}=Y[w];Q=Q.slice(0,W)+G[w]+Q.slice(W+q.length)}return Q}function Gz($){let X=MZ($);return{defaultSlot:X.default,namedSlots:X.named}}async function Qz($,X,Z,J){return await EZ($,{default:X,named:Z},J)}var eK;var FX=E(()=>{q1();E0();eK=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function v1($,X){let Z=wz($,X);return Z.ok?{expression:Z.expression,endPos:Z.endPos}:null}function wz($,X){let Z=X;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Z};let J=b0($,"(",")",Z);if(J===-1)return{ok:!1,reason:"unclosed-paren",pos:Z};return{ok:!0,expression:$.slice(Z+1,J),endPos:J+1}}function qz($,X){let Z=$.lastIndexOf("<",X);if(Z===-1)return!1;return Z>$.lastIndexOf(">",X)}function e1($,X,Z,J){let Y=1,G=J,Q=new RegExp(`@${X}\\s*\\(`,"g"),w=new RegExp(`@${Z}(?![a-z])`,"g");while(G<$.length&&Y>0){Q.lastIndex=G,w.lastIndex=G;let q=Q.exec($),W=w.exec($),K=q?q.index:1/0,z=W?W.index:1/0;if(K<z)Y++,G=K+q[0].length;else if(z<1/0){if(Y--,Y===0)return z;G=z+W[0].length}else break}return-1}function DZ($,X){let Z=$.slice(X).match(/^@if\s*/);if(!Z)return null;let J=X+Z[0].length,Y=v1($,J);if(!Y)return null;let G=Y.endPos,Q=e1($,"if","endif",G);if(Q===-1)return null;let w=$.slice(G,Q),q=[],W=0,K="if",z=Y.expression,U=0,B=0;while(W<w.length){let j=w.indexOf("@",W);if(j===-1)break;W=j;let _=w.substring(j);if(qz(w,j)){W++;continue}if(/^@if\s*\(/.test(_)){B++,W++;continue}if(/^@endif(?![a-z])/.test(_)){B--,W+=6;continue}if(B===0){let H=_.match(/^@elseif\s*/);if(H){q.push({type:K,condition:z,content:w.substring(U,W),start:G+U,end:G+W});let L=W+H[0].length,O=v1(w,L);if(!O){W++;continue}K="elseif",z=O.expression,W=O.endPos,U=W;continue}else if(/^@else(?![a-z])/.test(_)){q.push({type:K,condition:z,content:w.substring(U,W),start:G+U,end:G+W}),K="else",z=void 0,W+=5,U=W;continue}}W++}return q.push({type:K,condition:z,content:w.slice(U),start:G+U,end:G+w.length}),{fullMatch:$.slice(X,Q+6),branches:q,start:X,end:Q+6}}function g7($){let X=[],Z=/@if\s*\(/g,J=Z.exec($);while(J!==null){if(X.some((Q)=>J.index>Q.start&&J.index<Q.end)){J=Z.exec($);continue}let G=DZ($,J.index);if(G)X.push(G),Z.lastIndex=G.end;J=Z.exec($)}return X}function u8($,X,Z){let J=[],Y=new RegExp(`@${X}\\s*\\(`,"g"),G=Y.exec($);while(G!==null){if(J.some((_)=>G.index>_.start&&G.index<_.end)){G=Y.exec($);continue}let w=G.index,q=w+G[0].length-1,W=b0($,"(",")",q);if(W===-1){G=Y.exec($);continue}let K=$.slice(q+1,W),z=W+1,U=e1($,X,Z,z);if(U===-1){G=Y.exec($);continue}let B=$.slice(z,U),j=U+`@${Z}`.length;J.push({fullMatch:$.slice(w,j),name:X,params:K,content:B,start:w,end:j}),Y.lastIndex=j,G=Y.exec($)}return J}function VX($,X){let Z=$.slice(X).match(/^@switch\s*/);if(!Z)return null;let J=X+Z[0].length,Y=v1($,J);if(!Y)return null;let G=Y.endPos,Q=e1($,"switch","endswitch",G);if(Q===-1)return null;let w=$.slice(G,Q),q=[],W=0,K=null,z=0;while(W<w.length){let U=w.slice(W),B=U.match(/^@switch\s*\(/),j=U.match(/^@endswitch(?![a-z])/);if(B){if(z++,K)K.content+=B[0];W+=B[0].length;continue}if(j){if(z--,K)K.content+=j[0];W+=j[0].length;continue}if(z>0){if(K)K.content+=w[W];W++;continue}let _=U.match(/^@case\s*/),H=U.match(/^@default(?![a-z])/),L=U.match(/^@break(?![a-z])/);if(_&&U.startsWith("@case")){if(K)q.push(K);let O=W+_[0].length,F=v1(w,O);if(!F){W++;continue}K={type:"case",value:F.expression,content:""},W=F.endPos}else if(H&&U.startsWith("@default")){if(K)q.push(K);K={type:"default",content:""},W+=H[0].length}else if(L&&U.startsWith("@break"))W+=L[0].length;else{if(K)K.content+=w[W];W++}}if(K)q.push(K);return{fullMatch:$.slice(X,Q+10),expression:Y.expression,cases:q,start:X,end:Q+10}}var yZ=()=>{};var bZ=()=>{};var d8=E(()=>{yZ();bZ()});async function CZ($){let X=$;if(!X)try{X=(await X1())?.pagesDir||"pages"}catch{X="pages"}let Z=X,J=SZ.get(Z);if(J)return J;let Y=[];try{Y=O7(".",{pagesDir:Z}).map((G)=>G.regex.source).filter(Boolean)}catch{Y=[]}return SZ.set(Z,Y),Y}var SZ;var PZ=E(()=>{u9();L1();SZ=new Map});function Uz($){return $.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function vZ($){return Uz(JSON.stringify($))}function h7($){let X=0,Z,J=AX.map(()=>{return});while(X<$.length){if(Z===void 0||Z!==null&&Z.index<X)xZ.lastIndex=X,Z=xZ.exec($);if(!Z)return null;let Y=Z.index,G=-1,Q=null;for(let q=0;q<AX.length;q++){let W=AX[q],K=J[q];if(K===void 0||K!==null&&K.index<X)W.open.lastIndex=X,K=W.open.exec($),J[q]=K;if(!K)continue;if(K.index<Y&&(G===-1||K.index<G))G=K.index,Q=W.close}if(G===-1||!Q)return{index:Y,tag:Z[0],attrs:Z[1]??""};Q.lastIndex=G;let w=Q.exec($);if(!w)return null;X=w.index+w[0].length}return null}function m8($,X){let Z=h7($);if(!Z)return $;return $.slice(0,Z.index)+X(Z.tag,Z.attrs)+$.slice(Z.index+Z.tag.length)}var AX,xZ;var RX=E(()=>{AX=[{open:/<!--/g,close:/-->/g},{open:/<script\b/gi,close:/<\/script\s*>/gi},{open:/<style\b/gi,close:/<\/style\s*>/gi}],xZ=/<body\b([^>]*)>/gi});function NX(){return`
2570
2571
  (function(){
2571
2572
  var tip=null,hideTimer=null,currentEl=null;
2572
2573
 
@@ -2669,7 +2670,7 @@ document.addEventListener("focusout",function(e){
2669
2670
  if(el) hideTip();
2670
2671
  });
2671
2672
  })();
2672
- `}function AX(){return e1}function RX($){let X=e1;return kZ.push($),e1=$,X}function NX($){kZ.pop(),e1=$}function TX(){return u8>0}function MX($){VX.add($)}function IZ($){u8++;try{$()}finally{if(u8--,u8===0){let X=[...VX];VX.clear();for(let Z of X)Z()}}}function EZ($){let X=e1;e1=null;try{return $()}finally{e1=X}}var e1=null,kZ,u8=0,VX;var DZ=E(()=>{kZ=[],VX=new Set});function v1($){let X=$,Z=new Set,J=new Set,Y=()=>{let G=AX();if(G)J.add(G);return X};return Y.set=(G)=>{if(!Object.is(G,X)){let Q=X;if(X=G,Z.forEach((w)=>w(X,Q)),TX())J.forEach((w)=>MX(w));else J.forEach((w)=>w())}},Y.update=(G)=>{Y.set(G(X))},Y.subscribe=(G)=>{return Z.add(G),()=>Z.delete(G)},Object.defineProperty(Y,"_isSignal",{value:!0,writable:!1}),Object.defineProperty(Y,"value",{get:()=>Y(),set:(G)=>Y.set(G),configurable:!0}),Y}function m8($){let X,Z=!0,J=new Set,Y=()=>{if(!Z)if(Z=!0,TX())J.forEach((Q)=>MX(Q));else J.forEach((Q)=>Q())},G=()=>{let Q=AX();if(Q)J.add(Q);if(Z){let w=RX(Y);try{X=$()}finally{NX(w)}Z=!1}return X};return Object.defineProperty(G,"_isDerived",{value:!0,writable:!1}),Object.defineProperty(G,"value",{get:()=>G(),configurable:!0}),G}function l8($,X={}){let Z,J=!1,Y=()=>{if(J)return;if(Z)Z(),Z=void 0;let G=RX(Y);try{let Q=$();Z=typeof Q==="function"?Q:void 0}finally{NX(G)}};if(X.immediate!==!1)Y();return()=>{if(J=!0,Z)Z()}}function IX($){IZ($)}function EX($){kX.push($)}function DX($){d8.push($)}function Gz(){yZ(kX,"onMount",d8)}function Qz(){yZ(d8,"onDestroy")}function yZ($,X,Z){let J=$.splice(0,$.length);for(let Y of J)try{let G=Y();if(Z&&typeof G==="function")Z.push(G)}catch(G){console.error(`[stx] ${X} callback threw:`,G)}}function wz(){return{mount:kX.length,destroy:d8.length}}function c8($){return typeof $==="function"&&$._isSignal===!0}function p8($){return typeof $==="function"&&$._isDerived===!0}function yX($){if(c8($)||p8($))return $();return $}function i8($){return EZ($)}function qz($,X){let Z=typeof $==="function"?$:()=>$,J=v1([]),Y=m8(()=>J().reduce((w,q)=>X(w,q.action),Z())),G=!1;return l8(()=>{if(Z(),!G){G=!0;return}if(i8(()=>J().length))J.set([])}),[Y,(w,q)=>{let W={action:w};J.set([...J(),W]);let K=()=>{let z=J().filter((U)=>U!==W);if(z.length!==J().length)J.set(z)};if(q&&typeof q.then==="function")Promise.resolve(q).then(K,K);return K}]}var kX,d8;var n8=E(()=>{DZ();kX=[],d8=[]});var SZ={};t(SZ,{useOptimistic:()=>qz,untrack:()=>yX,state:()=>v1,runMountCallbacks:()=>Gz,runDestroyCallbacks:()=>Qz,pendingLifecycleCounts:()=>wz,peek:()=>i8,onMount:()=>EX,onDestroy:()=>DX,isSignal:()=>c8,isDerived:()=>p8,generateSignalsRuntimeDev:()=>bX,generateSignalsRuntime:()=>bZ,effect:()=>l8,derived:()=>m8,default:()=>Kz,batch:()=>IX});function bZ(){let $=Wz(bX());try{let Z=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($);return Z=Z.replace(/\}(var |let |const |function )/g,"};$1"),Z}catch{return $}}function Wz($){let X=[],Z=0,J="console.log(";while(Z<$.length){let Y=$.indexOf(J,Z);if(Y===-1){X.push($.slice(Z));break}X.push($.slice(Z,Y));let G=1,Q=Y+J.length;while(Q<$.length&&G>0){let w=$[Q];if(w==='"'||w==="'"||w==="`"){let q=w;Q++;while(Q<$.length&&$[Q]!==q){if($[Q]==="\\")Q++;Q++}Q++;continue}if(w==="(")G++;else if(w===")")G--;Q++}X.push("0"),Z=Q}return X.join("")}function bX(){return`
2673
+ `}function MX(){return $5}function kX($){let X=$5;return fZ.push($),$5=$,X}function IX($){fZ.pop(),$5=$}function EX(){return l8>0}function DX($){TX.add($)}function gZ($){l8++;try{$()}finally{if(l8--,l8===0){let X=[...TX];TX.clear();for(let Z of X)Z()}}}function hZ($){let X=$5;$5=null;try{return $()}finally{$5=X}}var $5=null,fZ,l8=0,TX;var uZ=E(()=>{fZ=[],TX=new Set});function x1($){let X=$,Z=new Set,J=new Set,Y=()=>{let G=MX();if(G)J.add(G);return X};return Y.set=(G)=>{if(!Object.is(G,X)){let Q=X;if(X=G,Z.forEach((w)=>w(X,Q)),EX())J.forEach((w)=>DX(w));else J.forEach((w)=>w())}},Y.update=(G)=>{Y.set(G(X))},Y.subscribe=(G)=>{return Z.add(G),()=>Z.delete(G)},Object.defineProperty(Y,"_isSignal",{value:!0,writable:!1}),Object.defineProperty(Y,"value",{get:()=>Y(),set:(G)=>Y.set(G),configurable:!0}),Y}function p8($){let X,Z=!0,J=new Set,Y=()=>{if(!Z)if(Z=!0,EX())J.forEach((Q)=>DX(Q));else J.forEach((Q)=>Q())},G=()=>{let Q=MX();if(Q)J.add(Q);if(Z){let w=kX(Y);try{X=$()}finally{IX(w)}Z=!1}return X};return Object.defineProperty(G,"_isDerived",{value:!0,writable:!1}),Object.defineProperty(G,"value",{get:()=>G(),configurable:!0}),G}function i8($,X={}){let Z,J=!1,Y=()=>{if(J)return;if(Z)Z(),Z=void 0;let G=kX(Y);try{let Q=$();Z=typeof Q==="function"?Q:void 0}finally{IX(G)}};if(X.immediate!==!1)Y();return()=>{if(J=!0,Z)Z()}}function bX($){gZ($)}function SX($){yX.push($)}function CX($){c8.push($)}function jz(){dZ(yX,"onMount",c8)}function Bz(){dZ(c8,"onDestroy")}function dZ($,X,Z){let J=$.splice(0,$.length);for(let Y of J)try{let G=Y();if(Z&&typeof G==="function")Z.push(G)}catch(G){console.error(`[stx] ${X} callback threw:`,G)}}function _z(){return{mount:yX.length,destroy:c8.length}}function n8($){return typeof $==="function"&&$._isSignal===!0}function r8($){return typeof $==="function"&&$._isDerived===!0}function PX($){if(n8($)||r8($))return $();return $}function o8($){return hZ($)}function Hz($,X){let Z=typeof $==="function"?$:()=>$,J=x1([]),Y=p8(()=>J().reduce((w,q)=>X(w,q.action),Z())),G=!1;return i8(()=>{if(Z(),!G){G=!0;return}if(o8(()=>J().length))J.set([])}),[Y,(w,q)=>{let W={action:w};J.set([...J(),W]);let K=()=>{let z=J().filter((U)=>U!==W);if(z.length!==J().length)J.set(z)};if(q&&typeof q.then==="function")Promise.resolve(q).then(K,K);return K}]}var yX,c8;var s8=E(()=>{uZ();yX=[],c8=[]});var lZ={};t(lZ,{useOptimistic:()=>Hz,untrack:()=>PX,state:()=>x1,runMountCallbacks:()=>jz,runDestroyCallbacks:()=>Bz,pendingLifecycleCounts:()=>_z,peek:()=>o8,onMount:()=>SX,onDestroy:()=>CX,isSignal:()=>n8,isDerived:()=>r8,generateSignalsRuntimeDev:()=>vX,generateSignalsRuntime:()=>mZ,effect:()=>i8,derived:()=>p8,default:()=>Lz,batch:()=>bX});function mZ(){let $=Oz(vX());try{let Z=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($);return Z=Z.replace(/\}(var |let |const |function )/g,"};$1"),Z}catch{return $}}function Oz($){let X=[],Z=0,J="console.log(";while(Z<$.length){let Y=$.indexOf(J,Z);if(Y===-1){X.push($.slice(Z));break}X.push($.slice(Z,Y));let G=1,Q=Y+J.length;while(Q<$.length&&G>0){let w=$[Q];if(w==='"'||w==="'"||w==="`"){let q=w;Q++;while(Q<$.length&&$[Q]!==q){if($[Q]==="\\")Q++;Q++}Q++;continue}if(w==="(")G++;else if(w===")")G--;Q++}X.push("0"),Z=Q}return X.join("")}function vX(){return`
2673
2674
  // STX Signals Runtime (Development Build)
2674
2675
  console.log('[stx] signals runtime loading');
2675
2676
  // Pre-initialization shim: capture onMount/onDestroy calls made before the runtime IIFE runs
@@ -3685,6 +3686,10 @@ finally {
3685
3686
  // case where a template is most likely driving a spinner off it (#1818).
3686
3687
  const immediate = options.immediate !== false;
3687
3688
  const loading = state(immediate);
3689
+ // Any request in flight, background ones included. loading answers "is
3690
+ // there nothing to show yet"; isFetching answers "is a request open" \u2014 and
3691
+ // a background refresh is the case where those two stop agreeing (#1929).
3692
+ const isFetching = state(immediate);
3688
3693
  const error = state(null);
3689
3694
  if (options.suspense) registerSuspense(loading, error);
3690
3695
 
@@ -3694,17 +3699,24 @@ finally {
3694
3699
  // last in-flight one. State writes are guarded on signal.aborted (#1871).
3695
3700
  let __stxAbort = null;
3696
3701
 
3697
- const fetchData = async () => {
3702
+ // runOptions: { background: true } refreshes data WITHOUT touching loading
3703
+ // or clearing the current error, so a poll cannot flash a spinner or blank
3704
+ // an error message that is still true. Everything already on screen stays
3705
+ // there until the new response actually lands (#1929).
3706
+ const fetchData = async (runOptions) => {
3707
+ const background = !!(runOptions && runOptions.background);
3698
3708
  if (__stxAbort) __stxAbort.abort();
3699
3709
  __stxAbort = (typeof AbortController !== 'undefined') ? new AbortController() : null;
3700
3710
  const __signal = __stxAbort ? __stxAbort.signal : undefined;
3701
- loading.set(true);
3702
- error.set(null);
3711
+ if (!background) loading.set(true);
3712
+ isFetching.set(true);
3713
+ if (!background) error.set(null);
3703
3714
 
3704
3715
  try {
3705
3716
  const url = typeof urlOrFn === 'function' ? urlOrFn() : urlOrFn;
3706
3717
  if (!url) {
3707
- loading.set(false);
3718
+ if (!background) loading.set(false);
3719
+ isFetching.set(false);
3708
3720
  return;
3709
3721
  }
3710
3722
 
@@ -3734,6 +3746,10 @@ finally {
3734
3746
  // Apply transform if provided
3735
3747
  const transformed = options.transform ? options.transform(result) : result;
3736
3748
  data.set(transformed);
3749
+ // A background run did not clear the error up front, so a recovery has
3750
+ // to clear it here \u2014 otherwise the first failed poll would leave the
3751
+ // message on screen for the life of the page.
3752
+ if (background) error.set(null);
3737
3753
  }
3738
3754
  catch (e) {
3739
3755
  // A superseded/unmounted request rejects with AbortError \u2014 expected,
@@ -3748,7 +3764,10 @@ catch (e) {
3748
3764
  }
3749
3765
  finally {
3750
3766
  // If a newer run (or onDestroy) aborted this one, that run owns loading.
3751
- if (!__signal || !__signal.aborted) loading.set(false);
3767
+ if (!__signal || !__signal.aborted) {
3768
+ if (!background) loading.set(false);
3769
+ isFetching.set(false);
3770
+ }
3752
3771
  }
3753
3772
  };
3754
3773
 
@@ -3781,6 +3800,7 @@ else if (immediate) {
3781
3800
  return {
3782
3801
  data,
3783
3802
  loading,
3803
+ isFetching,
3784
3804
  error,
3785
3805
  refetch: fetchData,
3786
3806
  // Convenience getters
@@ -4031,6 +4051,10 @@ else if (immediate) {
4031
4051
  var cacheKey = options.cacheKey || (typeof url === 'function' ? null : url);
4032
4052
  var data = state(options.initialData || null);
4033
4053
  var loading = state(true);
4054
+ // See useFetch: loading means "nothing to show yet", isFetching means "a
4055
+ // request is open" \u2014 including a background refresh, which is the case that
4056
+ // makes the distinction necessary (#1929).
4057
+ var isFetching = state(true);
4034
4058
  var error = state(null);
4035
4059
  var isStale = state(false);
4036
4060
  if (options.suspense) registerSuspense(loading, error);
@@ -4049,16 +4073,21 @@ else if (immediate) {
4049
4073
  // can release its claim without cancelling a request someone else joined.
4050
4074
  var __joined = null;
4051
4075
 
4052
- var fetchData = async function() {
4076
+ // runOptions: { background: true } refreshes without touching loading or
4077
+ // clearing the current error. A poll must not flash a spinner over data
4078
+ // that is already on screen (#1929).
4079
+ var fetchData = async function(runOptions) {
4080
+ var background = !!(runOptions && runOptions.background);
4053
4081
  var resolvedUrl = typeof url === 'function' ? url() : url;
4054
- if (!resolvedUrl) { loading.set(false); return; }
4082
+ if (!resolvedUrl) { if (!background) loading.set(false); isFetching.set(false); return; }
4055
4083
  var key = cacheKey || resolvedUrl;
4056
4084
 
4057
4085
  // Check cache
4058
4086
  var cached = _queryCache[key];
4059
4087
  if (cached && (Date.now() - cached.timestamp < staleTime)) {
4060
4088
  data.set(cached.data);
4061
- loading.set(false);
4089
+ if (!background) loading.set(false);
4090
+ isFetching.set(false);
4062
4091
  isStale.set(false);
4063
4092
  if (options.onSuccess) options.onSuccess(cached.data);
4064
4093
  return;
@@ -4078,12 +4107,14 @@ else if (immediate) {
4078
4107
  if (shared && shared.owner !== __instanceId) {
4079
4108
  shared.refs++;
4080
4109
  __joined = shared;
4081
- loading.set(true);
4082
- error.set(null);
4110
+ if (!background) loading.set(true);
4111
+ isFetching.set(true);
4112
+ if (!background) error.set(null);
4083
4113
  try {
4084
4114
  var joinedResult = await shared.promise;
4085
4115
  var joinedTransformed = options.transform ? options.transform(joinedResult) : joinedResult;
4086
4116
  data.set(joinedTransformed);
4117
+ if (background) error.set(null);
4087
4118
  isStale.set(false);
4088
4119
  if (options.onSuccess) options.onSuccess(joinedTransformed);
4089
4120
  }
@@ -4095,7 +4126,8 @@ else if (immediate) {
4095
4126
  finally {
4096
4127
  shared.refs--;
4097
4128
  if (__joined === shared) __joined = null;
4098
- loading.set(false);
4129
+ if (!background) loading.set(false);
4130
+ isFetching.set(false);
4099
4131
  }
4100
4132
  return;
4101
4133
  }
@@ -4110,8 +4142,9 @@ else if (immediate) {
4110
4142
  __joined = null;
4111
4143
  __stxAbort = (typeof AbortController !== 'undefined') ? new AbortController() : null;
4112
4144
  var __signal = __stxAbort ? __stxAbort.signal : undefined;
4113
- loading.set(true);
4114
- error.set(null);
4145
+ if (!background) loading.set(true);
4146
+ isFetching.set(true);
4147
+ if (!background) error.set(null);
4115
4148
  try {
4116
4149
  var fetchOpts = { method: 'GET', headers: { 'Content-Type': 'application/json', ...__stxHeaders(options.headers) }, signal: __signal };
4117
4150
  // Published BEFORE it is awaited, so a caller starting in the same tick
@@ -4135,6 +4168,7 @@ else if (immediate) {
4135
4168
  if (__signal && __signal.aborted) return;
4136
4169
  var transformed = options.transform ? options.transform(result) : result;
4137
4170
  data.set(transformed);
4171
+ if (background) error.set(null);
4138
4172
  isStale.set(false);
4139
4173
  _queryCache[key] = { data: transformed, timestamp: Date.now() };
4140
4174
  if (options.onSuccess) options.onSuccess(transformed);
@@ -4149,7 +4183,10 @@ catch (e) {
4149
4183
  if (options.onError) options.onError(e);
4150
4184
  }
4151
4185
  finally {
4152
- if (!__signal || !__signal.aborted) loading.set(false);
4186
+ if (!__signal || !__signal.aborted) {
4187
+ if (!background) loading.set(false);
4188
+ isFetching.set(false);
4189
+ }
4153
4190
  }
4154
4191
  };
4155
4192
 
@@ -4157,13 +4194,20 @@ finally {
4157
4194
  onMount(fetchData);
4158
4195
  }
4159
4196
 
4197
+ // A refetch nobody asked for does not set loading. Both of these refresh
4198
+ // data that is ALREADY on screen, so driving the first-load state from them
4199
+ // put a spinner over a populated view once a minute, forever \u2014 the reason a
4200
+ // polling view could not use this composable at all (#1929). Bind
4201
+ // isFetching for a subtle in-flight indicator.
4202
+ var backgroundRun = { background: true };
4203
+
4160
4204
  // refetchOnFocus \u2014 removed on destroy, like refetchInterval right below.
4161
4205
  // It used to add a listener and never remove it, so every instance leaked
4162
4206
  // one for the life of the page and each SPA navigation added more; every
4163
4207
  // stale listener still fired, refetching for components long gone (#1818).
4164
4208
  if (options.refetchOnFocus) {
4165
4209
  var onVisibility = function() {
4166
- if (!document.hidden) fetchData();
4210
+ if (!document.hidden) fetchData(backgroundRun);
4167
4211
  };
4168
4212
  document.addEventListener('visibilitychange', onVisibility);
4169
4213
  onDestroy(function() { document.removeEventListener('visibilitychange', onVisibility); });
@@ -4177,7 +4221,7 @@ finally {
4177
4221
  if (typeof document !== 'undefined' && document.hidden) return;
4178
4222
  var en = options.enabled;
4179
4223
  if (typeof en === 'function' ? !en() : en === false) return;
4180
- var p = fetchData();
4224
+ var p = fetchData(backgroundRun);
4181
4225
  if (options.stopOnError && p && typeof p.then === 'function') {
4182
4226
  p.then(function() { if (error()) clearInterval(intervalId); });
4183
4227
  }
@@ -4191,13 +4235,14 @@ finally {
4191
4235
  return {
4192
4236
  data: data,
4193
4237
  loading: loading,
4238
+ isFetching: isFetching,
4194
4239
  error: error,
4195
4240
  isStale: isStale,
4196
4241
  refetch: fetchData,
4197
- invalidate: function() {
4242
+ invalidate: function(runOptions) {
4198
4243
  var key = cacheKey || (typeof url === 'function' ? url() : url);
4199
4244
  delete _queryCache[key];
4200
- return fetchData();
4245
+ return fetchData(runOptions);
4201
4246
  }
4202
4247
  };
4203
4248
  }
@@ -4765,11 +4810,18 @@ catch (e) {
4765
4810
  if (!el || !el.getAttribute || value === undefined) return;
4766
4811
  var scopeId = el.getAttribute('data-stx-scope');
4767
4812
  var scopeVars = scopeId && window.stx._scopes && window.stx._scopes[scopeId];
4768
- if (!scopeVars) return;
4769
4813
  var camelName = name.replace(/-([a-z0-9])/g, function(_, character) {
4770
4814
  return character.toUpperCase();
4771
4815
  });
4772
- var propSignal = scopeVars[name] || scopeVars[camelName];
4816
+ // useReactiveProp signals are often intentionally aliased inside the
4817
+ // child, for example liveClosable = useReactiveProp('closable', true).
4818
+ // The public prop name therefore cannot be inferred from the variable
4819
+ // name exported by the component scope. Keep an element-owned registry as
4820
+ // the canonical bridge, with the scope lookup retained for older output.
4821
+ var propSignals = el.__stx_reactive_prop_signals;
4822
+ var propSignal = propSignals && (propSignals[name] || propSignals[camelName]);
4823
+ if (!propSignal && scopeVars)
4824
+ propSignal = scopeVars[name] || scopeVars[camelName];
4773
4825
  if (!propSignal || !propSignal._isSignal || typeof propSignal.set !== 'function') return;
4774
4826
  var directValues = el.__stx_direct_prop_values || (el.__stx_direct_prop_values = {});
4775
4827
  var directValue = {
@@ -5097,13 +5149,12 @@ else if (part) {
5097
5149
  }
5098
5150
 
5099
5151
  // x-else / x-else-if are owned by their preceding x-if chain (#1734).
5100
- // A detached chain member reached via the parent's snapshot child-
5101
- // iteration must be skipped \u2014 bindIfChain manages its lifecycle and
5102
- // only the active branch is (re)connected. Connected chain members
5103
- // (the active branch) fall through; their if/else attr was already
5104
- // removed by bindIfChain, and double-bind guards make any redundant
5105
- // pass idempotent.
5106
- if (el.__stx_chain_member && !el.isConnected) return;
5152
+ // An inactive chain member reached via the parent's snapshot child-
5153
+ // iteration must be skipped. Connectivity cannot identify inactivity:
5154
+ // an active inner branch is also disconnected while an outer conditional
5155
+ // temporarily detaches its parent. bindIfChain owns explicit branch state
5156
+ // so nested structural effects can still hydrate active detached subtrees.
5157
+ if (el.__stx_chain_member && !el.__stx_chain_active) return;
5107
5158
 
5108
5159
  // An else/else-if with no preceding if is an orphan. Match Vue: warn,
5109
5160
  // strip the attribute, and render it as a plain element (fall through).
@@ -5225,7 +5276,7 @@ catch (e2) {
5225
5276
  // :attr still works for backward compat but is reserved for structural directives.
5226
5277
  // x-text, x-html, x-model, x-show, x-if, x-for, x-cloak, x-ref, x-data are
5227
5278
  // handled by their own code paths below \u2014 exclude them here.
5228
- var X_HANDLED = ${r6()};
5279
+ var X_HANDLED = ${G2()};
5229
5280
  if (name.startsWith('@bind:') || name.startsWith('x-bind:')
5230
5281
  || (name.startsWith(':') && !name.startsWith('::') && !DIRECTIVE_NAMES[name.slice(1).split('.')[0]] && !EVENT_RE.test(name.slice(1)))
5231
5282
  || (name.startsWith('x-') && !X_HANDLED[name.split('.')[0]] && !X_HANDLED[name])) {
@@ -6795,6 +6846,7 @@ catch (e) {
6795
6846
  preserveConditionalComponentScopes(b.el, capturedComponentScope);
6796
6847
  b.el.__stx_if_bound = true;
6797
6848
  b.el.__stx_chain_member = true;
6849
+ b.el.__stx_chain_active = false;
6798
6850
  b.capturedElementScope = findElementScope(b.el);
6799
6851
  b.placeholder = document.createComment('stx-if-chain');
6800
6852
  parent.insertBefore(b.placeholder, b.el);
@@ -6894,12 +6946,14 @@ catch (e2) {
6894
6946
  // components under reactive conditionals (#1737). Permanent disposal is
6895
6947
  // still handled by bindFor (item removal) and cleanupContainer (SPA nav).
6896
6948
  if (currentIdx !== -1) {
6949
+ chain[currentIdx].el.__stx_chain_active = false;
6897
6950
  chain[currentIdx].nodes.forEach(function (n) { if (n.parentNode) n.parentNode.removeChild(n); });
6898
6951
  }
6899
6952
 
6900
6953
  // Insert + process the newly-picked branch.
6901
6954
  if (pickedIdx !== -1) {
6902
6955
  var pick = chain[pickedIdx];
6956
+ pick.el.__stx_chain_active = true;
6903
6957
  // Insert this branch's node(s) before the placeholder's next sibling.
6904
6958
  // The anchor is captured once so the nodes stack in source order.
6905
6959
  var anchor = pick.placeholder.nextSibling;
@@ -8098,6 +8152,11 @@ catch (e) {} }
8098
8152
  }
8099
8153
  var s = state(initial);
8100
8154
  if (!root) return s;
8155
+ var propSignals = root.__stx_reactive_prop_signals
8156
+ || (root.__stx_reactive_prop_signals = {});
8157
+ propSignals[name] = s;
8158
+ propSignals[kebabName] = s;
8159
+ propSignals[lowerName] = s;
8101
8160
  var observer = new MutationObserver(function() {
8102
8161
  var attribute = readAttribute();
8103
8162
  var hasAttr = attribute.has;
@@ -8120,7 +8179,12 @@ catch (e) {} }
8120
8179
  if (next !== s()) s.set(next);
8121
8180
  });
8122
8181
  observer.observe(root, { attributes: true, attributeFilter: attributeNames });
8123
- onDestroy(function() { observer.disconnect(); });
8182
+ onDestroy(function() {
8183
+ observer.disconnect();
8184
+ attributeNames.forEach(function(attributeName) {
8185
+ if (propSignals[attributeName] === s) delete propSignals[attributeName];
8186
+ });
8187
+ });
8124
8188
  return s;
8125
8189
  }
8126
8190
 
@@ -9776,6 +9840,49 @@ else {
9776
9840
  });
9777
9841
  var pageScopeSnapshot = { ...componentScope };
9778
9842
 
9843
+ /*
9844
+ * Any x-data scope the reactive bridge did not reach, initialized here.
9845
+ *
9846
+ * The bridge script addresses each scope by a selector it generated, and
9847
+ * that numbering restarts per render - so a page carrying three component
9848
+ * islands emits three scripts all looking for the same scope id, and two of
9849
+ * the three scopes are never initialized at all. The symptom is the
9850
+ * quietest one available: the markup is there, every binding shows its
9851
+ * initial value, and whatever x-init was meant to start never starts.
9852
+ *
9853
+ * Registered scopes are skipped, so the bridge stays authoritative where it
9854
+ * did run and this only picks up what it missed. The init expression is
9855
+ * read from data-stx-xinit, which the server preserves for exactly this.
9856
+ *
9857
+ * No backticks in this comment, deliberately: it lives inside the runtime
9858
+ * source that is embedded as a template literal, and one would end the
9859
+ * literal and take the whole file's syntax with it.
9860
+ */
9861
+ if (window.__stx_reactive && window.__stx_reactive.initScope) {
9862
+ document.querySelectorAll('[data-stx-xdata]').forEach(function(el) {
9863
+ var scopeId = el.getAttribute('data-stx-scope');
9864
+ if (scopeId && window.stx._scopes && window.stx._scopes[scopeId]) return;
9865
+ if (el.__stx_scope_initialized) return;
9866
+
9867
+ var xdata = el.getAttribute('data-stx-xdata');
9868
+ if (!xdata) return;
9869
+
9870
+ if (!scopeId) {
9871
+ scopeId = '__stx_scope_island_' + (++window.stx._scopeCounter);
9872
+ el.setAttribute('data-stx-scope', scopeId);
9873
+ }
9874
+
9875
+ el.__stx_scope_initialized = true;
9876
+
9877
+ try {
9878
+ window.__stx_reactive.initScope(el, xdata, [], {}, el.getAttribute('data-stx-xinit') || null);
9879
+ }
9880
+ catch (e) {
9881
+ console.error('[stx] island scope init error:', e);
9882
+ }
9883
+ });
9884
+ }
9885
+
9779
9886
  // Process mount queue (from stx.mount() calls during loading) only after
9780
9887
  // caller setup is available for Vue-style projected slot ownership.
9781
9888
  mountQueue.forEach(function(fn) { fn(); });
@@ -10140,7 +10247,11 @@ catch (e) {
10140
10247
  var walker = document.createTreeWalker(root, showText, null);
10141
10248
  var node;
10142
10249
  while ((node = walker.nextNode())) {
10143
- var text = node.nodeValue || '';
10250
+ // Browsers expose Text.nodeValue as a string, while lightweight DOM and
10251
+ // native embedding shims can preserve an assigned number. Diagnostics
10252
+ // must normalize the boundary instead of aborting the entire audit on a
10253
+ // missing String#indexOf method.
10254
+ var text = node.nodeValue == null ? '' : String(node.nodeValue);
10144
10255
  if (text.indexOf('{{') === -1 || text.indexOf('}}') === -1) continue;
10145
10256
  if (auditSkipped(node)) continue;
10146
10257
  found.push(text.trim().slice(0, 80));
@@ -10396,8 +10507,14 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
10396
10507
  scopeId = '__stx_scope_spa_' + (++window.stx._scopeCounter);
10397
10508
  el.setAttribute('data-stx-scope', scopeId);
10398
10509
  }
10510
+ // The init expression, which used to be dropped here. A scope
10511
+ // re-initialized with its data and none of its setup renders every
10512
+ // binding at its initial value and starts nothing - a live region
10513
+ // showing its empty state forever, which is indistinguishable from one
10514
+ // where nothing has happened yet.
10515
+ var xinit = el.getAttribute('data-stx-xinit');
10399
10516
  console.log('[stx:load] initializing x-data scope:', scopeId, xdata.substring(0, 40));
10400
- window.__stx_reactive.initScope(el, xdata, [], {}, null);
10517
+ window.__stx_reactive.initScope(el, xdata, [], {}, xinit || null);
10401
10518
  });
10402
10519
  }
10403
10520
 
@@ -10488,8 +10605,10 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
10488
10605
  if (el.nodeType !== Node.ELEMENT_NODE) return;
10489
10606
  // Skip scoped elements - they were already processed
10490
10607
  if (el.hasAttribute && el.hasAttribute('data-stx-scope')) return;
10491
- // Detached chain members are owned by bindIfChain \u2014 skip (#1734).
10492
- if (el.__stx_chain_member && !el.isConnected) return;
10608
+ // Inactive chain members are owned by bindIfChain. Use explicit branch
10609
+ // state because an active nested branch can live under a detached outer
10610
+ // conditional while its reactive effects continue to run.
10611
+ if (el.__stx_chain_member && !el.__stx_chain_active) return;
10493
10612
  // Process this element's directives without recursing into children
10494
10613
  // (we'll handle children manually to skip scoped ones)
10495
10614
  const hasFor = el.hasAttribute && (el.hasAttribute('@for') || el.hasAttribute(':for') || el.hasAttribute('x-for'));
@@ -10517,22 +10636,22 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
10517
10636
  }
10518
10637
  }
10519
10638
  })();
10520
- `}var Kz;var CZ=E(()=>{n8();e0();n8();Kz={state:v1,derived:m8,effect:l8,batch:IX,onMount:EX,onDestroy:DX,isSignal:c8,isDerived:p8,untrack:yX,peek:i8,generateSignalsRuntime:bZ,generateSignalsRuntimeDev:bX}});var SX={};t(SX,{templateCache:()=>PZ,readFileCached:()=>zz,invalidateFileCacheByDir:()=>jz,invalidateFileCache:()=>Uz,hashFilePath:()=>h7,getCachedSignalsRuntime:()=>Hz,getCachedRouterScript:()=>Oz,clearDevCaches:()=>Lz,checkCache:()=>Fz,cacheTemplate:()=>Vz,__setSignalsGeneratorsForTest:()=>_z});import x1 from"fs";import b5 from"path";async function zz($){let Z;for(let J=0;J<3;J++)try{let G=(await x1.promises.stat($)).mtime.getTime(),Q=$5.get($);if(Q&&Q.mtime===G)return Q.content;let w=await Bun.file($).text(),W=(await x1.promises.stat($)).mtime.getTime();if(W!==G)continue;return $5.set($,{content:w,mtime:W}),w}catch(Y){Z=Y;break}throw $5.delete($),Error(`File not found: ${$}${Z?` (${Z.message})`:""}`)}function Uz($){$5.delete($)}function jz($){for(let X of $5.keys())if(X.startsWith($))$5.delete(X)}function _z($){vZ=$}async function Hz($=!1){let X=vZ??await Promise.resolve().then(() => (CZ(),SZ));if($)return X.generateSignalsRuntimeDev();if(r8===null)r8=X.generateSignalsRuntime();return r8}async function Oz(){if(o8===null){let{getRouterScript:$}=await Promise.resolve().then(() => (k1(),A6));o8=$()}return o8}function Lz(){$5.clear(),fZ(),r8=null,Bz=null,o8=null}function xZ($){let X={debug:$.debug===!0,middleware:($.middleware??[]).map((Z)=>({name:Z.name,timing:Z.timing,handler:String(Z.handler)})),customDirectives:($.customDirectives??[]).map((Z)=>({name:Z.name,hasEndTag:Z.hasEndTag===!0,handler:String(Z.handler)}))};return new Bun.CryptoHasher("sha1").update(JSON.stringify(X)).digest("hex")}async function Fz($,X){try{if(!X.cachePath)return null;let Z=b5.resolve(X.cachePath),J=b5.join(Z,`${h7($)}.html`),Y=b5.join(Z,`${h7($)}.meta.json`);if(!await n(J)||!await n(Y))return null;let G=await Bun.file(Y).text(),Q=JSON.parse(G);if(Q.cacheVersion!==X.cacheVersion)return null;if(Q.optionsSignature!==xZ(X))return null;if((await x1.promises.stat($)).mtime.getTime()>Q.mtime)return null;for(let q of Q.dependencies)if(await n(q)){if((await x1.promises.stat(q)).mtime.getTime()>Q.mtime)return null}else return null;return await Bun.file(J).text()}catch(Z){return console.warn(`Cache error for ${$}:`,Z),null}}async function Vz($,X,Z,J){try{if(!J.cachePath)return;let Y=b5.resolve(J.cachePath);await x1.promises.mkdir(Y,{recursive:!0});let G=b5.join(Y,`${h7($)}.html`),Q=b5.join(Y,`${h7($)}.meta.json`),w=await x1.promises.stat($);await Bun.write(G,X);let q={sourcePath:$,mtime:w.mtime.getTime(),dependencies:Array.from(Z),cacheVersion:J.cacheVersion,optionsSignature:xZ(J),generatedAt:Date.now()};await Bun.write(Q,JSON.stringify(q,null,2)),PZ.set($,{output:X,mtime:w.mtime.getTime(),dependencies:Z})}catch(Y){console.warn(`Failed to cache template ${$}:`,Y)}}function h7($){return new Bun.CryptoHasher("sha1").update($).digest("hex").substring(0,Az)}var PZ,$5,r8=null,Bz=null,vZ=null,o8=null,Az=16;var CX=E(()=>{D0();PZ=new Map,$5=new Map});function gZ($){return $.includes("data-stx-runtime")}function hZ($){let X=/window\.stx\s*\.\s*[A-Za-z_$]|\}\s*=\s*window\.stx\s*;/g;for(let Z=X.exec($);Z!==null;Z=X.exec($)){let J=$.slice(Math.max(0,Z.index-80),Z.index);if(/if\s*\(\s*window\.stx\s*\)|window\.stx\s*&&/.test(J))continue;return!0}return!1}function PX($,X){let Z=$.indexOf("<script"),J=$.search(/<!doctype\b/i);if(Z!==-1&&(J===-1||Z>J))return $.slice(0,Z)+X+`
10639
+ `}var Lz;var cZ=E(()=>{s8();e0();s8();Lz={state:x1,derived:p8,effect:i8,batch:bX,onMount:SX,onDestroy:CX,isSignal:n8,isDerived:r8,untrack:PX,peek:o8,generateSignalsRuntime:mZ,generateSignalsRuntimeDev:vX}});var xX={};t(xX,{templateCache:()=>pZ,readFileCached:()=>Fz,invalidateFileCacheByDir:()=>Az,invalidateFileCache:()=>Vz,hashFilePath:()=>u7,getCachedSignalsRuntime:()=>Tz,getCachedRouterScript:()=>Mz,clearDevCaches:()=>kz,checkCache:()=>Iz,cacheTemplate:()=>Ez,__setSignalsGeneratorsForTest:()=>Nz});import f1 from"fs";import b5 from"path";async function Fz($){let Z;for(let J=0;J<3;J++)try{let G=(await f1.promises.stat($)).mtime.getTime(),Q=X5.get($);if(Q&&Q.mtime===G)return Q.content;let w=await Bun.file($).text(),W=(await f1.promises.stat($)).mtime.getTime();if(W!==G)continue;return X5.set($,{content:w,mtime:W}),w}catch(Y){Z=Y;break}throw X5.delete($),Error(`File not found: ${$}${Z?` (${Z.message})`:""}`)}function Vz($){X5.delete($)}function Az($){for(let X of X5.keys())if(X.startsWith($))X5.delete(X)}function Nz($){iZ=$}async function Tz($=!1){let X=iZ??await Promise.resolve().then(() => (cZ(),lZ));if($)return X.generateSignalsRuntimeDev();if(a8===null)a8=X.generateSignalsRuntime();return a8}async function Mz(){if(t8===null){let{getRouterScript:$}=await Promise.resolve().then(() => (I1(),I6));t8=$()}return t8}function kz(){X5.clear(),rZ(),a8=null,Rz=null,t8=null}function nZ($){let X={debug:$.debug===!0,middleware:($.middleware??[]).map((Z)=>({name:Z.name,timing:Z.timing,handler:String(Z.handler)})),customDirectives:($.customDirectives??[]).map((Z)=>({name:Z.name,hasEndTag:Z.hasEndTag===!0,handler:String(Z.handler)}))};return new Bun.CryptoHasher("sha1").update(JSON.stringify(X)).digest("hex")}async function Iz($,X){try{if(!X.cachePath)return null;let Z=b5.resolve(X.cachePath),J=b5.join(Z,`${u7($)}.html`),Y=b5.join(Z,`${u7($)}.meta.json`);if(!await n(J)||!await n(Y))return null;let G=await Bun.file(Y).text(),Q=JSON.parse(G);if(Q.cacheVersion!==X.cacheVersion)return null;if(Q.optionsSignature!==nZ(X))return null;if((await f1.promises.stat($)).mtime.getTime()>Q.mtime)return null;for(let q of Q.dependencies)if(await n(q)){if((await f1.promises.stat(q)).mtime.getTime()>Q.mtime)return null}else return null;return await Bun.file(J).text()}catch(Z){return console.warn(`Cache error for ${$}:`,Z),null}}async function Ez($,X,Z,J){try{if(!J.cachePath)return;let Y=b5.resolve(J.cachePath);await f1.promises.mkdir(Y,{recursive:!0});let G=b5.join(Y,`${u7($)}.html`),Q=b5.join(Y,`${u7($)}.meta.json`),w=await f1.promises.stat($);await Bun.write(G,X);let q={sourcePath:$,mtime:w.mtime.getTime(),dependencies:Array.from(Z),cacheVersion:J.cacheVersion,optionsSignature:nZ(J),generatedAt:Date.now()};await Bun.write(Q,JSON.stringify(q,null,2)),pZ.set($,{output:X,mtime:w.mtime.getTime(),dependencies:Z})}catch(Y){console.warn(`Failed to cache template ${$}:`,Y)}}function u7($){return new Bun.CryptoHasher("sha1").update($).digest("hex").substring(0,Dz)}var pZ,X5,a8=null,Rz=null,iZ=null,t8=null,Dz=16;var fX=E(()=>{y0();pZ=new Map,X5=new Map});function oZ($){return $.includes("data-stx-runtime")}function sZ($){let X=/window\.stx\s*\.\s*[A-Za-z_$]|\}\s*=\s*window\.stx\s*;/g;for(let Z=X.exec($);Z!==null;Z=X.exec($)){let J=$.slice(Math.max(0,Z.index-80),Z.index);if(/if\s*\(\s*window\.stx\s*\)|window\.stx\s*&&/.test(J))continue;return!0}return!1}function gX($,X){let Z=$.indexOf("<script"),J=$.search(/<!doctype\b/i);if(Z!==-1&&(J===-1||Z>J))return $.slice(0,Z)+X+`
10521
10640
  `+$.slice(Z);let Y=/<head\b[^>]*>/i.exec($);if(Y){let Q=Y.index+Y[0].length;return`${$.slice(0,Q)}
10522
10641
  ${X}${$.slice(Q)}`}if($.includes("</head>")){let Q=$.indexOf("</head>");return $.slice(0,Q)+X+`
10523
- `+$.slice(Q)}if(g7($))return h8($,(Q)=>`${Q}
10642
+ `+$.slice(Q)}if(h7($))return m8($,(Q)=>`${Q}
10524
10643
  ${X}`);return`${X}
10525
- ${$}`}async function s8($,X){if($.includes("data-stx-runtime")||$.includes("window.stx.state")||$.includes("STX Signals Runtime"))return $;if(X.buildMode==="serve")return PX($,'<script data-stx-runtime src="/_stx/runtime.js"></script>');if(X.buildMode==="compile")return PX($,'<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>');let{getCachedSignalsRuntime:Z}=await Promise.resolve().then(() => (CX(),SX)),J=await Z(X.debug);return PX($,`<script data-stx-scoped data-stx-runtime>${J}</script>`)}function Rz($){return/<[a-z][^>]*?\sx-tooltip\s*=/i.test($)}function uZ($){if($.includes("data-stx-tooltip-runtime")||!Rz($))return $;let X=`<script data-stx-scoped data-stx-tooltip-runtime>${FX()}</script>`,Z=$.lastIndexOf("</body>");if(Z===-1)return`${$}
10644
+ ${$}`}async function e8($,X){if($.includes("data-stx-runtime")||$.includes("window.stx.state")||$.includes("STX Signals Runtime"))return $;if(X.buildMode==="serve")return gX($,'<script data-stx-runtime src="/_stx/runtime.js"></script>');if(X.buildMode==="compile")return gX($,'<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>');let{getCachedSignalsRuntime:Z}=await Promise.resolve().then(() => (fX(),xX)),J=await Z(X.debug);return gX($,`<script data-stx-scoped data-stx-runtime>${J}</script>`)}function yz($){return/<[a-z][^>]*?\sx-tooltip\s*=/i.test($)}function aZ($){if($.includes("data-stx-tooltip-runtime")||!yz($))return $;let X=`<script data-stx-scoped data-stx-tooltip-runtime>${NX()}</script>`,Z=$.lastIndexOf("</body>");if(Z===-1)return`${$}
10526
10645
  ${X}`;return`${$.slice(0,Z)}${X}
10527
- ${$.slice(Z)}`}async function vX($,X){if(!$.includes("</body>"))return $;if($.includes("data-stx-router")||$.includes("__stxRouter)return")||$.includes("__stxRouter=true"))return $;let Z=X?.router,J="";{let w={};if(Z){if(Z.container)w.container=Z.container;if(Z.interceptAllLinks!==void 0)w.interceptAllLinks=Z.interceptAllLinks;if(Z.progress!==void 0)w.progress=Z.progress;if(Z.viewTransitions!==void 0)w.viewTransitions=Z.viewTransitions;if(Z.viewTransitionDuration!==void 0)w.viewTransitionDuration=Z.viewTransitionDuration;if(Z.viewTransitionEasing!==void 0)w.viewTransitionEasing=Z.viewTransitionEasing;if(Z.scrollToTop!==void 0)w.scrollToTop=Z.scrollToTop;if(Z.prefetch!==void 0)w.prefetch=Z.prefetch;if(Z.cache!==void 0)w.cache=Z.cache;if(Z.progressColor!==void 0)w.progressColor=Z.progressColor;if(Z.progressHeight!==void 0)w.progressHeight=Z.progressHeight}try{let q=await RZ(X?.pagesDir);if(q.length>0)w.ownedRoutes=q}catch{}if(Object.keys(w).length>0)J=`<script>window.__stxRouterConfig=${TZ(w)};</script>
10528
- `}let{getCachedRouterScript:Y}=await Promise.resolve().then(() => (CX(),SX)),G=X?.buildMode==="compile"?'<script data-stx-router src="/__stx/router.__STX_HASH__.js"></script>':X?.buildMode==="serve"?'<script data-stx-router src="/_stx/router.js"></script>':`<script data-stx-router>${await Y()}</script>`,Q=$.lastIndexOf("</body>");return $.slice(0,Q)+J+G+`
10529
- </body>`+$.slice(Q+7)}var a8=E(()=>{NZ();LX()});var X$={};t(X$,{scanScriptTags:()=>nZ,rewriteStxImportSpecifiers:()=>aZ,processSignals:()=>uX,processScriptSetup:()=>oZ,preEvalLiteralReactiveIfs:()=>gX,parseLoopExpression:()=>rZ,hasSignalsSyntax:()=>$$,findMarkupIndexOutsideScripts:()=>e8,extractExports:()=>sZ,convertSignalLoopsToAttributes:()=>hX,convertSignalDirectivesToAttributes:()=>fX});function nZ($,X={}){let Z=[];for(let J of ZX($,D1)){let Y=J.token.match(/^<script\b([^>]*)>/i),G=J.token.match(/<\/script\s*>$/i);if(!Y||!G)continue;let Q=Y[1];if(X.skipAttrs){if(X.skipAttrs.lastIndex=0,X.skipAttrs.test(Q))continue}let w=Y[0].length,q=J.token.length-G[0].length;Z.push({fullMatch:J.token,attrs:Q,body:J.token.slice(w,q),start:J.start,end:J.end})}return Z}function rZ($){let X=$.trim(),Z=X.match(/^([\s\S]+?)\s+as\s+(.+)$/);if(Z){let Y=Z[1].trim(),G=Z[2].trim(),{itemVar:Q,indexVar:w}=mZ(G);if(Q)return{style:"as",iterable:Y,itemVar:Q,indexVar:w}}let J=X.match(/^(\([^)]+\)|\w+(?:\s*,\s*\w+)?)\s+(?:in|of)\s+([\s\S]+)$/);if(J){let Y=J[1].trim(),G=J[2].trim(),{itemVar:Q,indexVar:w}=mZ(Y);if(Q)return{style:"in",iterable:G,itemVar:Q,indexVar:w}}return{style:"unknown",iterable:null,itemVar:null,indexVar:null}}function mZ($){let X=$.trim(),Z=X.match(/^(\w+)\s*=>\s*(\w+)$/);if(Z)return{itemVar:Z[2],indexVar:Z[1]};let J=X.match(/^\(\s*(\w+)(?:\s*,\s*(\w+))?\s*\)$/);if(J)return{itemVar:J[1],indexVar:J[2]||null};let Y=X.match(/^(\w+)\s*,\s*(\w+)$/);if(Y)return{itemVar:Y[1],indexVar:Y[2]};let G=X.match(/^(\w+)$/);if(G)return{itemVar:G[1],indexVar:null};return{itemVar:null,indexVar:null}}function $$($){return c6($)}function Tz($){let X=/@(if\s*\(|endif|elseif\s*\(|else\b)/g,Z=0,J;while((J=X.exec($))!==null){let Y=J[1];if(Y.startsWith("if"))Z++;else if(Y==="endif")Z--;else if(Z===0)return!0}return!1}function Mz($){let X=new Set,Z=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,J=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal)\s*(?:<[^>]*>)?\s*\(/g,Y;while((Y=Z.exec($))!==null){let G=Y[1],Q;while((Q=J.exec(G))!==null)X.add(Q[1])}return X}function kz($){return $.replace(/'(?:\\.|[^'\\])*'/g,"''").replace(/"(?:\\.|[^"\\])*"/g,'""').replace(/`(?:\\.|[^`\\])*`/g,"``")}function cZ($,X,Z){if(!$)return!1;let J=kz($),Y=!1,G=!1,Q=!1,w=/([a-zA-Z_$][\w$]*)/g,q;while((q=w.exec(J))!==null){let U=q[1];if(J.slice(0,q.index).trimEnd().endsWith("."))continue;if(lZ.has(U))continue;if(X.has(U))Y=!0;else if(Z&&U in Z)G=!0}let W=/([a-zA-Z_$][\w$]*)(?:\.[a-zA-Z_$][\w$]*)*\s*\(\s*\)/g,K;while((K=W.exec(J))!==null){let U=K[1];if(J.slice(0,K.index).trimEnd().endsWith("."))continue;if(lZ.has(U)||Z&&U in Z)continue;Q=!0}return(Y||Q)&&!G}function t8($,X,Z){let J=Z===void 0?` ${X}`:` ${X}="${Z.replace(/"/g,"&quot;")}"`,Y=$.trim(),G=Y.match(iZ);if(G&&Iz(G[3],G[1])){let[,Q,w,q]=G;return`<${Q}${w}${J}>${q}</${Q}>`}return`<template${J}>${Y}</template>`}function Iz($,X){let Z=new RegExp(`<(/)?${X}(?=[\\s/>])`,"gi"),J=0,Y;while((Y=Z.exec($))!==null)if(Y[1]){if(J--,J<0)return!1}else J++;return!0}function fX($,X){let Z=Mz($);function J(Y){let G=Y,Q=/@if\s*\(/g,w,q=[];while((w=Q.exec(G))!==null){let W=w.index,K=W+w[0].length,z=1,U=K;while(U<G.length&&z>0){if(G[U]==="(")z++;else if(G[U]===")")z--;U++}if(z!==0)continue;let B=G.substring(K,U-1).trim(),j=U,_=1,H=j,O=/@(if\s*\(|endif)/g;O.lastIndex=j;let L;while((L=O.exec(G))!==null)if(L[1].startsWith("if"))_++;else if(L[1]==="endif"){if(_--,_===0){H=L.index+L[0].length;break}}if(_!==0)continue;let F=G.substring(j,H-6).trim(),V;if(Tz(F)){let R=f7(G.substring(W,H));if(R.length===0)continue;let A=R[0].branches.filter((T)=>T.type!=="else");if(!(A.length>0&&A.every((T)=>cZ(T.condition,Z,X))))continue;V=R[0].branches.map((T)=>{let k=J(T.content);if(T.type==="elseif")return t8(k,"@else-if",T.condition??"");if(T.type==="else")return t8(k,"@else");return t8(k,"@if",T.condition??"")}).join(`
10530
- `)}else{if(!cZ(B,Z,X))continue;V=t8(J(F),"@if",B)}q.push({start:W,end:H,replacement:V}),Q.lastIndex=H}for(let W=q.length-1;W>=0;W--){let{start:K,end:z,replacement:U}=q[W];G=G.substring(0,K)+U+G.substring(z)}return G}return J($)}function Ez($){let X=$.trim();if(X==="")return;if(X==="true")return!0;if(X==="false")return!1;if(X==="null")return!1;if(X==="undefined")return!1;if(X==="NaN")return!1;if(/^-?\d+(?:\.\d+)?$/.test(X)){let Y=Number(X);return Y!==0&&!Number.isNaN(Y)}let Z=X.match(/^'((?:\\.|[^'\\])*)'$/);if(Z)return Z[1].length>0;let J=X.match(/^"((?:\\.|[^"\\])*)"$/);if(J)return J[1].length>0;return}function Dz($,X,Z,J){if(xX.has(Z.toLowerCase()))return J;let Y=Z.toLowerCase(),G=$.toLowerCase(),Q=$.length,w=1,q=J;while(q<Q){let W=$.indexOf("<",q);if(W===-1)return-1;if(q=W,$.startsWith("<!--",q)){let B=$.indexOf("-->",q+4);if(B===-1)return-1;q=B+3;continue}let K=/^<(script|style)\b/i.exec($.slice(q,q+8));if(K){let B=$.indexOf(">",q);if(B===-1)return-1;if($[B-1]==="/"){q=B+1;continue}let j=G.indexOf(`</${K[1].toLowerCase()}`,q);if(j===-1)return-1;let _=$.indexOf(">",j);if(_===-1)return-1;q=_+1;continue}if($[q+1]==="/"){let B=/^<\/([a-z][\w-]*)\s*>/i.exec($.slice(q,q+64));if(!B){q++;continue}if(B[1].toLowerCase()===Y){if(w--,q+=B[0].length,w===0)return q;continue}q+=B[0].length;continue}let z=/^<([a-z][\w-]*)\b/i.exec($.slice(q,q+64));if(!z){q++;continue}let U=$.indexOf(">",q);if(U===-1)return-1;if(z[1].toLowerCase()===Y){let B=$.slice(q,U+1);if(!(/\/\s*>$/.test(B)||xX.has(Y)))w++}q=U+1}return-1}function bz($,X){let Z=X,J=$.length;for(;;){while(Z<J&&$[Z]!=="<")Z++;if(Z>=J)return!1;if($.startsWith("<!--",Z)){let Q=$.indexOf("-->",Z+4);if(Q===-1)return!1;Z=Q+3;continue}break}if($[Z+1]==="/")return!1;let Y=$.indexOf(">",Z);if(Y===-1)return!1;let G=$.slice(Z,Y+1);return yz.test(G)}function gX($){if(!$.includes(":if")&&!$.includes(":show")&&!$.includes("x-if")&&!$.includes("x-show")&&!$.includes("@if=")&&!$.includes("@show="))return $;let X=[],Z=/<(script|style)\b[^>]*>[\s\S]*?<\/\1\s*>/gi,J;while((J=Z.exec($))!==null)X.push([J.index,J.index+J[0].length]);let Y=(z)=>X.some(([U,B])=>z>=U&&z<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=[],w;while((w=G.exec($))!==null){if(Y(w.index))continue;let[z,U,B,j,_,H,O]=w,L=Ez(_);if(L===void 0)continue;let F=w.index,V=F+z.length,N=!!O||/\/\s*>$/.test(z)||xX.has(U.toLowerCase())?V:Dz($,F,U,V);if(N===-1)continue;if((j===":if"||j==="x-if"||j==="@if")&&bz($,N)){G.lastIndex=V;continue}if(L===!0){let T=`<${U}${B}${H}${O}>`;Q.push({start:F,end:V,replacement:T});continue}Q.push({start:F,end:N,replacement:""}),G.lastIndex=N}if(Q.length===0)return $;Q.sort((z,U)=>z.start-U.start);let q=[],W=-1;for(let z of Q){if(z.start<W)continue;q.push(z),W=z.end}let K=$;for(let z=q.length-1;z>=0;z--){let{start:U,end:B,replacement:j}=q[z];K=K.substring(0,U)+j+K.substring(B)}return K}function hX($,X){let Z=$,J=/@(for|foreach)\s*\(/g,Y,G=[],Q=[];while((Y=J.exec(Z))!==null){let w=Y[1],q=Y.index,W=q+Y[0].length,K=1,z=W;while(z<Z.length&&K>0){if(Z[z]==="(")K++;else if(Z[z]===")")K--;z++}if(K!==0)continue;let U=Z.substring(W,z-1).trim(),B=z,j=rZ(U),_=w==="for"?"@endfor":"@endforeach",H=1,O=B,L=w==="for"?new RegExp("@(for(?!each)\\s*\\(|endfor(?!each))","g"):new RegExp(`@(${w}\\s*\\(|end${w})`,"g");L.lastIndex=B;let F;while((F=L.exec(Z))!==null)if(F[1].startsWith(w))H++;else if(H--,H===0){O=F.index+F[0].length;break}if(H!==0)continue;let V=()=>{let M=[j.itemVar,j.indexVar].filter(Boolean);if(M.length)Q.push({start:q,end:O,vars:M})};if(j.iterable){let M=j.iterable.trim();if(M.startsWith("[")||M.startsWith("{")||M.startsWith("'")||M.startsWith('"')||M.startsWith("`")||/^-?\d/.test(M)){V();continue}let T=M.split(/[.[(]/)[0].trim(),k=X?T in X:!1,D=Q.some((I)=>q>I.start&&q<I.end&&I.vars.includes(T));if(T&&(k||D)){V();continue}}if(j.style==="as")U=j.indexVar?`(${j.itemVar}, ${j.indexVar}) in ${j.iterable}`:`${j.itemVar} in ${j.iterable}`;let R=Z.substring(B,O-_.length).trim(),A=R.match(iZ),N;if(A){let[,M,T,k]=A;N=`<${M}${T} @for="${U}">${k}</${M}>`}else N=`<template @for="${U}">${R}</template>`;G.push({start:q,end:O,replacement:N})}for(let w=G.length-1;w>=0;w--){let{start:q,end:W,replacement:K}=G[w];Z=Z.substring(0,q)+K+Z.substring(W)}return Z}function Sz($){let X=new Set,Z=[],J=0,Y=0,G=$.length,Q=(K)=>{let z=J+1;while(z<G){let U=$[z];if(U==="\\"){z+=2;continue}if(U===K)return z+1;z++}return G},w=()=>{let K=J+2;while(K<G&&$[K]!==`
10646
+ ${$.slice(Z)}`}async function hX($,X){if(!$.includes("</body>"))return $;if($.includes("data-stx-router")||$.includes("__stxRouter)return")||$.includes("__stxRouter=true"))return $;let Z=X?.router,J="";{let w={};if(Z){if(Z.container)w.container=Z.container;if(Z.interceptAllLinks!==void 0)w.interceptAllLinks=Z.interceptAllLinks;if(Z.progress!==void 0)w.progress=Z.progress;if(Z.viewTransitions!==void 0)w.viewTransitions=Z.viewTransitions;if(Z.viewTransitionDuration!==void 0)w.viewTransitionDuration=Z.viewTransitionDuration;if(Z.viewTransitionEasing!==void 0)w.viewTransitionEasing=Z.viewTransitionEasing;if(Z.scrollToTop!==void 0)w.scrollToTop=Z.scrollToTop;if(Z.prefetch!==void 0)w.prefetch=Z.prefetch;if(Z.cache!==void 0)w.cache=Z.cache;if(Z.progressColor!==void 0)w.progressColor=Z.progressColor;if(Z.progressHeight!==void 0)w.progressHeight=Z.progressHeight}try{let q=await CZ(X?.pagesDir);if(q.length>0)w.ownedRoutes=q}catch{}if(Object.keys(w).length>0)J=`<script>window.__stxRouterConfig=${vZ(w)};</script>
10647
+ `}let{getCachedRouterScript:Y}=await Promise.resolve().then(() => (fX(),xX)),G=X?.buildMode==="compile"?'<script data-stx-router src="/__stx/router.__STX_HASH__.js"></script>':X?.buildMode==="serve"?'<script data-stx-router src="/_stx/router.js"></script>':`<script data-stx-router>${await Y()}</script>`,Q=$.lastIndexOf("</body>");return $.slice(0,Q)+J+G+`
10648
+ </body>`+$.slice(Q+7)}var $$=E(()=>{PZ();RX()});var G$={};t(G$,{scanScriptTags:()=>JJ,rewriteStxImportSpecifiers:()=>wJ,processSignals:()=>pX,processScriptSetup:()=>GJ,preEvalLiteralReactiveIfs:()=>lX,parseLoopExpression:()=>dX,hasSignalsSyntax:()=>Y$,findMarkupIndexOutsideScripts:()=>Z$,extractExports:()=>QJ,convertSignalLoopsToAttributes:()=>cX,convertSignalDirectivesToAttributes:()=>mX});function JJ($,X={}){let Z=[];for(let J of C8($,y1)){let Y=J.token.match(/^<script\b([^>]*)>/i),G=J.token.match(/<\/script\s*>$/i);if(!Y||!G)continue;let Q=Y[1];if(X.skipAttrs){if(X.skipAttrs.lastIndex=0,X.skipAttrs.test(Q))continue}let w=Y[0].length,q=J.token.length-G[0].length;Z.push({fullMatch:J.token,attrs:Q,body:J.token.slice(w,q),start:J.start,end:J.end})}return Z}function dX($){let X=$.trim(),Z=X.match(/^([\s\S]+?)\s+as\s+(.+)$/);if(Z){let Y=Z[1].trim(),G=Z[2].trim(),{itemVar:Q,indexVar:w}=tZ(G);if(Q)return{style:"as",iterable:Y,itemVar:Q,indexVar:w}}let J=X.match(/^(\([^)]+\)|\w+(?:\s*,\s*\w+)?)\s+(?:in|of)\s+([\s\S]+)$/);if(J){let Y=J[1].trim(),G=J[2].trim(),{itemVar:Q,indexVar:w}=tZ(Y);if(Q)return{style:"in",iterable:G,itemVar:Q,indexVar:w}}return{style:"unknown",iterable:null,itemVar:null,indexVar:null}}function tZ($){let X=$.trim(),Z=X.match(/^(\w+)\s*=>\s*(\w+)$/);if(Z)return{itemVar:Z[2],indexVar:Z[1]};let J=X.match(/^\(\s*(\w+)(?:\s*,\s*(\w+))?\s*\)$/);if(J)return{itemVar:J[1],indexVar:J[2]||null};let Y=X.match(/^(\w+)\s*,\s*(\w+)$/);if(Y)return{itemVar:Y[1],indexVar:Y[2]};let G=X.match(/^(\w+)$/);if(G)return{itemVar:G[1],indexVar:null};return{itemVar:null,indexVar:null}}function Y$($){return X2($)}function Sz($){let X=/@(if\s*\(|endif|elseif\s*\(|else\b)/g,Z=0,J;while((J=X.exec($))!==null){let Y=J[1];if(Y.startsWith("if"))Z++;else if(Y==="endif")Z--;else if(Z===0)return!0}return!1}function Cz($){let X=new Set,Z=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,J=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal)\s*(?:<[^>]*>)?\s*\(/g,Y;while((Y=Z.exec($))!==null){let G=Y[1],Q;while((Q=J.exec(G))!==null)X.add(Q[1])}return X}function Pz($){if(!/[:@]for\s*=/.test($)&&!/\bx-for\s*=/.test($))return[];let X=new RegExp(`<([a-zA-Z][\\w-]*)\\b(${uX})>`,"iy"),Z=/(?:^|\s)(?::for|@for|x-for)\s*=\s*(?:"([^"]*)"|'([^']*)')/i,J=C8($,(G,Q)=>{X.lastIndex=Q;let w=X.exec(G);if(!w||w.index!==Q||!Z.test(w[2]))return-1;return X.lastIndex}),Y=[];for(let G of J){X.lastIndex=0;let Q=X.exec(G.token);if(!Q)continue;let w=Q[2].match(Z),q=dX(w?.[1]??w?.[2]??""),W=[q.itemVar,q.indexVar].filter(Boolean);if(W.length===0)continue;let K=Q[1],U=/\/\s*>$/.test(G.token)||J$.has(K.toLowerCase())?G.end:YJ($,G.start,K,G.end);if(U!==-1)Y.push({start:G.start,end:U,vars:new Set(W)})}return Y}function vz($){return $.replace(/'(?:\\.|[^'\\])*'/g,"''").replace(/"(?:\\.|[^"\\])*"/g,'""').replace(/`(?:\\.|[^`\\])*`/g,"``")}function $J($,X,Z,J){if(!$)return!1;let Y=vz($),G=!1,Q=!1,w=!1,q=/([a-zA-Z_$][\w$]*)/g,W;while((W=q.exec(Y))!==null){let B=W[1];if(Y.slice(0,W.index).trimEnd().endsWith("."))continue;if(eZ.has(B))continue;if(X.has(B)||J?.has(B))G=!0;else if(Z&&B in Z)Q=!0}let K=/([a-zA-Z_$][\w$]*)(?:\.[a-zA-Z_$][\w$]*)*\s*\(\s*\)/g,z;while((z=K.exec(Y))!==null){let B=z[1];if(Y.slice(0,z.index).trimEnd().endsWith("."))continue;if(eZ.has(B)||Z&&B in Z)continue;w=!0}return(G||w)&&!Q}function X$($,X,Z){let J=Z===void 0?` ${X}`:` ${X}="${Z.replace(/"/g,"&quot;")}"`,Y=$.trim(),G=Y.match(ZJ);if(G&&xz(G[3],G[1])){let[,Q,w,q]=G;return`<${Q}${w}${J}>${q}</${Q}>`}return`<template${J}>${Y}</template>`}function xz($,X){let Z=new RegExp(`<(/)?${X}(?=[\\s/>])`,"gi"),J=0,Y;while((Y=Z.exec($))!==null)if(Y[1]){if(J--,J<0)return!1}else J++;return!0}function mX($,X){let Z=Cz($);function J(Y){let G=Y,Q=Pz(Y),w=(z)=>{let U=new Set;for(let B of Q)if(z>B.start&&z<B.end)for(let j of B.vars)U.add(j);return U},q=/@if\s*\(/g,W,K=[];while((W=q.exec(G))!==null){let z=W.index,U=z+W[0].length,B=1,j=U;while(j<G.length&&B>0){if(G[j]==="(")B++;else if(G[j]===")")B--;j++}if(B!==0)continue;let _=G.substring(U,j-1).trim(),H=j,L=1,O=H,F=/@(if\s*\(|endif)/g;F.lastIndex=H;let V;while((V=F.exec(G))!==null)if(V[1].startsWith("if"))L++;else if(V[1]==="endif"){if(L--,L===0){O=V.index+V[0].length;break}}if(L!==0)continue;let A=G.substring(H,O-6).trim(),R;if(Sz(A)){let N=g7(G.substring(z,O));if(N.length===0)continue;let M=N[0].branches.filter((I)=>I.type!=="else"),T=w(z);if(!(M.length>0&&M.every((I)=>$J(I.condition,Z,X,T))))continue;R=N[0].branches.map((I)=>{let S=J(I.content);if(I.type==="elseif")return X$(S,"@else-if",I.condition??"");if(I.type==="else")return X$(S,"@else");return X$(S,"@if",I.condition??"")}).join(`
10649
+ `)}else{if(!$J(_,Z,X,w(z)))continue;R=X$(J(A),"@if",_)}K.push({start:z,end:O,replacement:R}),q.lastIndex=O}for(let z=K.length-1;z>=0;z--){let{start:U,end:B,replacement:j}=K[z];G=G.substring(0,U)+j+G.substring(B)}return G}return J($)}function fz($){let X=$.trim();if(X==="")return;if(X==="true")return!0;if(X==="false")return!1;if(X==="null")return!1;if(X==="undefined")return!1;if(X==="NaN")return!1;if(/^-?\d+(?:\.\d+)?$/.test(X)){let Y=Number(X);return Y!==0&&!Number.isNaN(Y)}let Z=X.match(/^'((?:\\.|[^'\\])*)'$/);if(Z)return Z[1].length>0;let J=X.match(/^"((?:\\.|[^"\\])*)"$/);if(J)return J[1].length>0;return}function YJ($,X,Z,J){if(J$.has(Z.toLowerCase()))return J;let Y=Z.toLowerCase(),G=$.toLowerCase(),Q=$.length,w=1,q=J;while(q<Q){let W=$.indexOf("<",q);if(W===-1)return-1;if(q=W,$.startsWith("<!--",q)){let B=$.indexOf("-->",q+4);if(B===-1)return-1;q=B+3;continue}let K=/^<(script|style)\b/i.exec($.slice(q,q+8));if(K){let B=$.indexOf(">",q);if(B===-1)return-1;if($[B-1]==="/"){q=B+1;continue}let j=G.indexOf(`</${K[1].toLowerCase()}`,q);if(j===-1)return-1;let _=$.indexOf(">",j);if(_===-1)return-1;q=_+1;continue}if($[q+1]==="/"){let B=/^<\/([a-z][\w-]*)\s*>/i.exec($.slice(q,q+64));if(!B){q++;continue}if(B[1].toLowerCase()===Y){if(w--,q+=B[0].length,w===0)return q;continue}q+=B[0].length;continue}let z=/^<([a-z][\w-]*)\b/i.exec($.slice(q,q+64));if(!z){q++;continue}let U=$.indexOf(">",q);if(U===-1)return-1;if(z[1].toLowerCase()===Y){let B=$.slice(q,U+1);if(!(/\/\s*>$/.test(B)||J$.has(Y)))w++}q=U+1}return-1}function hz($,X){let Z=X,J=$.length;for(;;){while(Z<J&&$[Z]!=="<")Z++;if(Z>=J)return!1;if($.startsWith("<!--",Z)){let Q=$.indexOf("-->",Z+4);if(Q===-1)return!1;Z=Q+3;continue}break}if($[Z+1]==="/")return!1;let Y=$.indexOf(">",Z);if(Y===-1)return!1;let G=$.slice(Z,Y+1);return gz.test(G)}function lX($){if(!$.includes(":if")&&!$.includes(":show")&&!$.includes("x-if")&&!$.includes("x-show")&&!$.includes("@if=")&&!$.includes("@show="))return $;let X=[],Z=/<(script|style)\b[^>]*>[\s\S]*?<\/\1\s*>/gi,J;while((J=Z.exec($))!==null)X.push([J.index,J.index+J[0].length]);let Y=(z)=>X.some(([U,B])=>z>=U&&z<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=[],w;while((w=G.exec($))!==null){if(Y(w.index))continue;let[z,U,B,j,_,H,L]=w,O=fz(_);if(O===void 0)continue;let F=w.index,V=F+z.length,N=!!L||/\/\s*>$/.test(z)||J$.has(U.toLowerCase())?V:YJ($,F,U,V);if(N===-1)continue;if((j===":if"||j==="x-if"||j==="@if")&&hz($,N)){G.lastIndex=V;continue}if(O===!0){let T=`<${U}${B}${H}${L}>`;Q.push({start:F,end:V,replacement:T});continue}Q.push({start:F,end:N,replacement:""}),G.lastIndex=N}if(Q.length===0)return $;Q.sort((z,U)=>z.start-U.start);let q=[],W=-1;for(let z of Q){if(z.start<W)continue;q.push(z),W=z.end}let K=$;for(let z=q.length-1;z>=0;z--){let{start:U,end:B,replacement:j}=q[z];K=K.substring(0,U)+j+K.substring(B)}return K}function cX($,X){let Z=$,J=/@(for|foreach)\s*\(/g,Y,G=[],Q=[];while((Y=J.exec(Z))!==null){let w=Y[1],q=Y.index,W=q+Y[0].length,K=1,z=W;while(z<Z.length&&K>0){if(Z[z]==="(")K++;else if(Z[z]===")")K--;z++}if(K!==0)continue;let U=Z.substring(W,z-1).trim(),B=z,j=dX(U),_=w==="for"?"@endfor":"@endforeach",H=1,L=B,O=w==="for"?new RegExp("@(for(?!each)\\s*\\(|endfor(?!each))","g"):new RegExp(`@(${w}\\s*\\(|end${w})`,"g");O.lastIndex=B;let F;while((F=O.exec(Z))!==null)if(F[1].startsWith(w))H++;else if(H--,H===0){L=F.index+F[0].length;break}if(H!==0)continue;let V=()=>{let M=[j.itemVar,j.indexVar].filter(Boolean);if(M.length)Q.push({start:q,end:L,vars:M})};if(j.iterable){let M=j.iterable.trim();if(M.startsWith("[")||M.startsWith("{")||M.startsWith("'")||M.startsWith('"')||M.startsWith("`")||/^-?\d/.test(M)){V();continue}let T=M.split(/[.[(]/)[0].trim(),k=X?T in X:!1,D=Q.some((I)=>q>I.start&&q<I.end&&I.vars.includes(T));if(T&&(k||D)){V();continue}}if(j.style==="as")U=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(ZJ),N;if(R){let[,M,T,k]=R;N=`<${M}${T} @for="${U}">${k}</${M}>`}else N=`<template @for="${U}">${A}</template>`;G.push({start:q,end:L,replacement:N})}for(let w=G.length-1;w>=0;w--){let{start:q,end:W,replacement:K}=G[w];Z=Z.substring(0,q)+K+Z.substring(W)}return Z}function uz($){let X=new Set,Z=[],J=0,Y=0,G=$.length,Q=(K)=>{let z=J+1;while(z<G){let U=$[z];if(U==="\\"){z+=2;continue}if(U===K)return z+1;z++}return G},w=()=>{let K=J+2;while(K<G&&$[K]!==`
10531
10650
  `)K++;return K},q=()=>{let K=J+2;while(K<G-1){if($[K]==="*"&&$[K+1]==="/")return K+2;K++}return G},W=(K)=>{let z=K,U=0;while(z<G){let B=$[z];if(B==="/"&&$[z+1]==="/"){let j=z+2;while(j<G&&$[j]!==`
10532
- `)j++;z=j;continue}if(B==="/"&&$[z+1]==="*"){let j=z+2;while(j<G-1&&!($[j]==="*"&&$[j+1]==="/"))j++;z=j+2;continue}if(B==='"'||B==="'"||B==="`"){let j=z+1;while(j<G){if($[j]==="\\"){j+=2;continue}if($[j]===B){j++;break}j++}z=j;continue}if(B==="("||B==="["||B==="{"){U++,z++;continue}if(B===")"||B==="]"||B==="}"){U--,z++;continue}if(B===";"&&U===0)return z+1;z++}return G};while(J<G){let K=$[J];if(K==="/"&&$[J+1]==="/"){let z=w();Z.push($.slice(J,z)),J=z;continue}if(K==="/"&&$[J+1]==="*"){let z=q();Z.push($.slice(J,z)),J=z;continue}if(K==='"'||K==="'"||K==="`"){let z=Q(K);Z.push($.slice(J,z)),J=z;continue}if(K==="{"){Y++,Z.push(K),J++;continue}if(K==="}"){Y--,Z.push(K),J++;continue}if(Y===0){let z=J>0?$[J-1]:"";if(z===""||/\s/.test(z)||z===";"||z==="}"||z==="{"){let B=$.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(B){let j=B[2],_=W(J+B[0].length);if(X.has(j)){Z.push(`/* stx: deduped const ${j} */`),J=_;continue}X.add(j),Z.push($.slice(J,_)),J=_;continue}}}Z.push(K),J++}return Z.join("")}async function oZ($,X,Z){let J=nZ($,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b/}),Y=/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useStore|useLocalStorage|useSessionStorage|useCookie|useId|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 J){let O=H.body;if(i1(H.attrs))O=n1(O);if(Y.test(O))G.push({fullMatch:H.fullMatch,attrs:H.attrs,content:O})}if(G.length===0)return{output:$,setupCode:null};let Q=`__stx_setup_${Date.now()}_${Nz++}`,{hasUserImports:w,bundleClientScript:q}=await e("stx/client-script-bundler",()=>Promise.resolve().then(() => (T7(),N7))),W=[];for(let H=0;H<G.length;H++){let O=G[H].content;if(O=T5(O).code,w(O))O=await q(O,X||"",{projectRoot:process.cwd()});O=O.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(F,V)=>aZ(V));let L=c0(O);W.push(`// \u2500\u2500 merged signal script #${H+1} \u2500\u2500
10533
- ${L}`)}let K=W.join(`
10651
+ `)j++;z=j;continue}if(B==="/"&&$[z+1]==="*"){let j=z+2;while(j<G-1&&!($[j]==="*"&&$[j+1]==="/"))j++;z=j+2;continue}if(B==='"'||B==="'"||B==="`"){let j=z+1;while(j<G){if($[j]==="\\"){j+=2;continue}if($[j]===B){j++;break}j++}z=j;continue}if(B==="("||B==="["||B==="{"){U++,z++;continue}if(B===")"||B==="]"||B==="}"){U--,z++;continue}if(B===";"&&U===0)return z+1;z++}return G};while(J<G){let K=$[J];if(K==="/"&&$[J+1]==="/"){let z=w();Z.push($.slice(J,z)),J=z;continue}if(K==="/"&&$[J+1]==="*"){let z=q();Z.push($.slice(J,z)),J=z;continue}if(K==='"'||K==="'"||K==="`"){let z=Q(K);Z.push($.slice(J,z)),J=z;continue}if(K==="{"){Y++,Z.push(K),J++;continue}if(K==="}"){Y--,Z.push(K),J++;continue}if(Y===0){let z=J>0?$[J-1]:"";if(z===""||/\s/.test(z)||z===";"||z==="}"||z==="{"){let B=$.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(B){let j=B[2],_=W(J+B[0].length);if(X.has(j)){Z.push(`/* stx: deduped const ${j} */`),J=_;continue}X.add(j),Z.push($.slice(J,_)),J=_;continue}}}Z.push(K),J++}return Z.join("")}async function GJ($,X,Z){let J=JJ($,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b/}),Y=/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useStore|useLocalStorage|useSessionStorage|useCookie|useId|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 J){let L=H.body;if(n1(H.attrs))L=r1(L);if(Y.test(L))G.push({fullMatch:H.fullMatch,attrs:H.attrs,content:L})}if(G.length===0)return{output:$,setupCode:null};let Q=`__stx_setup_${Date.now()}_${bz++}`,{hasUserImports:w,bundleClientScript:q}=await e("stx/client-script-bundler",()=>Promise.resolve().then(() => (M7(),T7))),W=[];for(let H=0;H<G.length;H++){let L=G[H].content;if(L=T5(L).code,w(L))L=await q(L,X||"",{projectRoot:process.cwd()});L=L.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(F,V)=>wJ(V));let O=c0(L);W.push(`// \u2500\u2500 merged signal script #${H+1} \u2500\u2500
10652
+ ${O}`)}let K=W.join(`
10534
10653
 
10535
- `);K=Sz(K);let z=sZ(K),U=z.split(",").map((H)=>H.trim()).filter(Boolean),B=k8(K,Z),j=`
10654
+ `);K=uz(K);let z=QJ(K),U=z.split(",").map((H)=>H.trim()).filter(Boolean),B=E8(K,Z),j=`
10536
10655
  <script data-stx-scoped>
10537
10656
  function ${Q}() {
10538
10657
  ${R5("const",U)}
@@ -10541,18 +10660,18 @@ ${N5(`${B}${K}`)}
10541
10660
  }
10542
10661
  window.__stx_latestSetup=${Q};
10543
10662
  if(window.stx)window.stx._latestSetup=${Q};
10544
- </script>`,_=$;for(let H of G)_=_.split(H.fullMatch).join("");if(_.includes("<body"))_=_.replace(new RegExp(`<body(${dZ})>`),`<body$1 data-stx="${Q}">`);else{let H=["script","style","html","head","meta","link","title","!doctype"],O=!1;_=_.replace(new RegExp(`<([a-zA-Z][a-zA-Z0-9-]*)\\b(${dZ})>`,"gi"),(L,F,V)=>{if(O||H.includes(F.toLowerCase()))return L;return O=!0,`<${F}${V} data-stx="${Q}">`})}return{output:_,setupCode:j}}function sZ($){let X=$,Z=[],J=new Set,Y=0,G=0,Q=X.length,w="",q=()=>{G++;let j=!1;while(G<Q){let _=X[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(X[G]))G++;return}if(_===`
10663
+ </script>`,_=$;for(let H of G)_=_.split(H.fullMatch).join("");if(_.includes("<body"))_=_.replace(new RegExp(`<body(${uX})>`),`<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(${uX})>`,"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 QJ($){let X=$,Z=[],J=new Set,Y=0,G=0,Q=X.length,w="",q=()=>{G++;let j=!1;while(G<Q){let _=X[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(X[G]))G++;return}if(_===`
10545
10664
  `)return;G++}},W=()=>{if(!w)return!0;if(/[\w)\]]/.test(w))return!1;return!0},K=(j)=>{G++;while(G<Q){if(X[G]==="\\"){G+=2;continue}if(X[G]===j){G++;return}G++}},z=()=>{G++;while(G<Q){if(X[G]==="\\"){G+=2;continue}if(X[G]==="`"){G++;return}if(X[G]==="$"&&X[G+1]==="{"){G+=2;let j=1;while(G<Q&&j>0)if(X[G]==="{")j++,G++;else if(X[G]==="}")j--,G++;else if(X[G]==="'"||X[G]==='"')K(X[G]);else if(X[G]==="`")z();else G++;continue}G++}},U=()=>{if(X[G]==="/"&&X[G+1]==="/"){while(G<Q&&X[G]!==`
10546
- `)G++;return!0}if(X[G]==="/"&&X[G+1]==="*"){G+=2;while(G<Q-1&&!(X[G]==="*"&&X[G+1]==="/"))G++;return G+=2,!0}return!1},B=()=>{if(Y!==0)return;let j=X.slice(G).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*(?:[!:;,\n]|=(?!=)|$)/);if(j){let F=j[2];if(!J.has(F))Z.push(F),J.add(F);return}let _=X.slice(G).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(_){_[1].split(",").forEach((F)=>{let V=F.trim();if(!V)return;let R=V.indexOf(":"),N=(R>=0?V.slice(R+1).trim():V).split(/[\s=]/)[0];if(N&&!J.has(N))Z.push(N),J.add(N)});return}let H=X.slice(G).match(/^(?:const|let|var)\s+\[([^\]]+)\]\s*=/);if(H){H[1].split(",").forEach((F)=>{let V=F.trim().replace(/^\.\.\./,"");if(!V)return;let R=V.split(/[\s=]/)[0];if(R&&!J.has(R))Z.push(R),J.add(R)});return}let O=X.slice(G).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(O){let F=O[1];if(!J.has(F))Z.push(F),J.add(F);return}let L=X.slice(G).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(L){let F=L[1];if(!J.has(F))Z.push(F),J.add(F)}};while(G<Q){if(U())continue;if(X[G]==="'"||X[G]==='"'){K(X[G]),w=X[G-1];continue}if(X[G]==="`"){z(),w="`";continue}if(X[G]==="/"&&X[G+1]!=="/"&&X[G+1]!=="*"&&W()){q(),w="/";continue}if(X[G]==="{"){Y++,w="{",G++;continue}if(X[G]==="}"){Y--,w="}",G++;continue}if(Y===0&&/[a-z]/i.test(X[G])&&(G===0||/\s|[;{}()]/.test(X[G-1])))B();if(!/\s/.test(X[G]))w=X[G];G++}return Z.join(", ")}async function uX($,X,Z,J){if(!$$($))return $;let Y=$;if(X.skipSignalsRuntime)return Y;let{output:G,setupCode:Q}=await oZ(Y,Z,J);if(Y=G,Y=await s8(Y,X),Q){let K=e8(Y,/<\/head>/i),z=K===-1?e8(Y,/<body[^>]*>/i):-1;if(K!==-1)Y=`${Y.slice(0,K)}${Q}
10665
+ `)G++;return!0}if(X[G]==="/"&&X[G+1]==="*"){G+=2;while(G<Q-1&&!(X[G]==="*"&&X[G+1]==="/"))G++;return G+=2,!0}return!1},B=()=>{if(Y!==0)return;let j=X.slice(G).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*(?:[!:;,\n]|=(?!=)|$)/);if(j){let F=j[2];if(!J.has(F))Z.push(F),J.add(F);return}let _=X.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&&!J.has(N))Z.push(N),J.add(N)});return}let H=X.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&&!J.has(A))Z.push(A),J.add(A)});return}let L=X.slice(G).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(L){let F=L[1];if(!J.has(F))Z.push(F),J.add(F);return}let O=X.slice(G).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(O){let F=O[1];if(!J.has(F))Z.push(F),J.add(F)}};while(G<Q){if(U())continue;if(X[G]==="'"||X[G]==='"'){K(X[G]),w=X[G-1];continue}if(X[G]==="`"){z(),w="`";continue}if(X[G]==="/"&&X[G+1]!=="/"&&X[G+1]!=="*"&&W()){q(),w="/";continue}if(X[G]==="{"){Y++,w="{",G++;continue}if(X[G]==="}"){Y--,w="}",G++;continue}if(Y===0&&/[a-z]/i.test(X[G])&&(G===0||/\s|[;{}()]/.test(X[G-1])))B();if(!/\s/.test(X[G]))w=X[G];G++}return Z.join(", ")}async function pX($,X,Z,J){if(!Y$($))return $;let Y=$;if(X.skipSignalsRuntime)return Y;let{output:G,setupCode:Q}=await GJ(Y,Z,J);if(Y=G,Y=await e8(Y,X),Q){let K=Z$(Y,/<\/head>/i),z=K===-1?Z$(Y,/<body[^>]*>/i):-1;if(K!==-1)Y=`${Y.slice(0,K)}${Q}
10547
10666
  ${Y.slice(K)}`;else if(z!==-1){let U=/<body[^>]*>/i.exec(Y.slice(z))[0],B=z+U.length;Y=`${Y.slice(0,B)}
10548
10667
  ${Q}${Y.slice(B)}`}else Y=`${Y}
10549
- ${Q}`}let q=Y.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),W=q&&/data-stx/.test(q[1]);if(!Q&&!W&&q&&!/data-stx-auto/.test(q[1])){let K=/<body[^>]*>/i,z=e8(Y,K);if(z!==-1){let U=Y.slice(0,z),B=Y.slice(z).replace(K,(j)=>j.replace(/^<body([^>]*)>$/i,"<body$1 data-stx-auto>"));Y=U+B}}return Y}function e8($,X){let Z=/<(script|style)\b[\s\S]*?<\/\1>/gi,J=[],Y;while((Y=Z.exec($))!==null)J.push([Y.index,Y.index+Y[0].length]);let G=new RegExp(X.source,X.flags.replace(/[gy]/g,"")),Q=0;while(Q<$.length){let w=G.exec($.slice(Q));if(!w)return-1;let q=Q+w.index;if(!J.some(([K,z])=>q>=K&&q<z))return q;Q=q+Math.max(w[0].length,1)}return-1}function aZ($){let X=[];for(let Z of $.split(",")){let J=Z.trim();if(!J||J.startsWith("type "))continue;let Y=J.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(Y&&Y[1]!==Y[2])X.push(`${Y[2]} = ${Y[1]}`)}if(X.length===0)return pZ;return`var ${X.join(", ")}; ${pZ}`}var Nz=0,dZ=`(?:"[^"]*"|'[^']*'|[^>"'])*`,iZ,lZ,xX,yz,pZ="/* [stx import stripped, resolved via window.stx in __stx_setup] */";var u7=E(()=>{D7();g8();e0();r9();D0();a8();r1();R7();iZ=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s;lZ=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"]);xX=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);yz=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/});import Cz from"fs";import h from"path";function vz($){let X=new WeakSet;try{let Z=(J)=>{if(J===void 0)return{__stxType:"undefined"};if(typeof J==="bigint")return{__stxType:"bigint",value:J.toString()};if(typeof J==="function"||typeof J==="symbol")throw TypeError("Non-serializable component input");if(J===null||typeof J!=="object")return J;if(X.has(J))throw TypeError("Circular component input");if(X.add(J),J instanceof Date)return{__stxType:"date",value:J.toISOString()};if(Array.isArray(J))return J.map(Z);let Y={};for(let G of Object.keys(J).sort())Y[G]=Z(J[G]);return Y};return JSON.stringify(Z($))}catch{return null}}function tZ($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function xz($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function i1($){return!xz($)}function n1($){try{let X=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");X=X.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");let Z=[];X=X.replace(/\{!![\s\S]*?!!\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`}),X=X.replace(/\{\{\{[\s\S]*?\}\}\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`}),X=X.replace(/\{\{[\s\S]*?\}\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`});let Y=new Bun.Transpiler({loader:"ts",target:"browser",define:h0()}).transformSync(X);for(let G=0;G<Z.length;G++)Y=Y.replace(`"__STX_EXPR_${G}__"`,Z[G]),Y=Y.replace(`'__STX_EXPR_${G}__'`,Z[G]);return Y}catch(X){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",X);return $}}function fz($){let X=[],Z=new Set,J=0,Y=0,G=$.length,Q=(K)=>{Y++;while(Y<G){if($[Y]==="\\"){Y+=2;continue}if($[Y]===K){Y++;return}Y++}},w=()=>{Y++;while(Y<G){if($[Y]==="\\"){Y+=2;continue}if($[Y]==="`"){Y++;return}if($[Y]==="$"&&$[Y+1]==="{"){Y+=2;let K=1;while(Y<G&&K>0)if($[Y]==="{")K++,Y++;else if($[Y]==="}")K--,Y++;else if($[Y]==="'"||$[Y]==='"')Q($[Y]);else if($[Y]==="`")w();else Y++;continue}Y++}},q=()=>{if($[Y]==="/"&&$[Y+1]==="/"){while(Y<G&&$[Y]!==`
10550
- `)Y++;return!0}if($[Y]==="/"&&$[Y+1]==="*"){Y+=2;while(Y<G-1&&!($[Y]==="*"&&$[Y+1]==="/"))Y++;return Y+=2,!0}return!1},W=()=>{if(J!==0)return;let K=$.slice(Y).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(K){let j=K[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(_))X.push(_),Z.add(_);return}let z=$.slice(Y).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(z){let j=z[2];if(!Z.has(j))X.push(j),Z.add(j);return}let U=$.slice(Y).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(U){let j=U[1];if(!Z.has(j))X.push(j),Z.add(j);return}let B=$.slice(Y).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let j=B[1];if(!Z.has(j))X.push(j),Z.add(j)}};while(Y<G){if(q())continue;if($[Y]==="'"||$[Y]==='"'){Q($[Y]);continue}if($[Y]==="`"){w();continue}if($[Y]==="{"){J++,Y++;continue}if($[Y]==="}"){J--,Y++;continue}if(J===0&&/[a-z]/i.test($[Y])&&(Y===0||/\s|[;{}()]/.test($[Y-1])))W();Y++}return X}function gz($){let X=[],Z=0,J=0,Y=null;for(let G=0;G<$.length;G++){let Q=$[G];if(Y){if(Q==="\\"){G++;continue}if(Q===Y)Y=null;continue}if(Q==='"'||Q==="'"||Q==="`"){Y=Q;continue}if(Q==="("||Q==="["||Q==="{")Z++;else if(Q===")"||Q==="]"||Q==="}")Z--;else if(Q===","&&Z===0)X.push($.slice(J,G)),J=G+1}if(J<$.length)X.push($.slice(J));return X}function hz($){let X=0,Z=null;for(let J=0;J<$.length;J++){let Y=$[J];if(Z){if(Y==="\\"){J++;continue}if(Y===Z)Z=null;continue}if(Y==='"'||Y==="'"||Y==="`"){Z=Y;continue}if(Y==="("||Y==="["||Y==="{")X++;else if(Y===")"||Y==="]"||Y==="}")X--;else if(Y==="="&&X===0){let G=$[J-1],Q=$[J+1];if(G==="!"||G==="<"||G===">"||G==="=")continue;if(Q==="="||Q===">")continue;return J}}return-1}function uz($,X){try{let Z=/=\s*(?:withDefaults\s*\([\s\S]*?defineProps|defineProps)\b/.exec($);if(!Z)return;let J=Z.index-1;while(J>=0&&/\s/.test($[J]))J--;if($[J]!=="}")return;let Y=J,G=0,Q=-1;for(;J>=0;J--){let q=$[J];if(q==="}")G++;else if(q==="{"){if(G--,G===0){Q=J;break}}}if(Q===-1)return;let w=$.slice(Q+1,Y);for(let q of gz(w)){let W=q.trim();if(!W||W.startsWith("..."))continue;let K=hz(W);if(K===-1)continue;let z=W.slice(0,K).trim();if(!/^[A-Z_$][\w$]*$/i.test(z))continue;if(X[z]!==void 0)continue;let U=W.slice(K+1).trim();if(!U)continue;try{let B=Object.keys(X),j=Function(...B,`"use strict"; return (${U});`);X[z]=j(...B.map((_)=>X[_]))}catch{}}}catch{}}async function Y$($,X,Z,J,Y){let G=$.endsWith(".stx")?$.slice(0,-4):$,Q=(H)=>H.split("-").map((O)=>O.charAt(0).toUpperCase()+O.slice(1)).join(""),w=(H)=>H.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),q=Z.__importedComponents;if(q){for(let H of[G,G.toLowerCase(),Q(G),w(G)])if(q.has(H))return!0}let W=[...new Set([`${G}.stx`,`${Q(G)}.stx`,`${w(G)}.stx`])],K=typeof Y.root==="string"?h.resolve(Y.root):void 0,z=K??h.dirname(J),U=[],B=(H)=>{if(H&&!U.includes(H))U.push(H)},j=Z.__originalFilePath;if(j)B(h.join(h.dirname(j),"components"));B(X),B(Y._rootComponentsDir),B(h.join(h.dirname(J),"components")),B(Y.componentsDir);let _=Y._pluginComponentDirs;if(Array.isArray(_))for(let H of _)B(typeof H==="string"?H:null);if(K)B(h.resolve(K,"resources/views/components")),B(h.resolve(K,"resources/components")),B(h.resolve(K,"src/components")),B(h.resolve(K,"components"));if(G.startsWith("./")||G.startsWith("../"))return n(h.resolve(h.dirname(J),`${G}.stx`));for(let H of U){let O=h.isAbsolute(H)?H:h.resolve(z,H);for(let L of W)if(await n(h.join(O,L)))return!0}return!1}function dz($){return $==="visible"||$==="idle"||$==="interaction"||$.startsWith("media:")}function mz($){if(!$)return!1;let X=$.replace(/<script[\s\S]*?<\/script>/gi,"").replace(/<style[\s\S]*?<\/style>/gi,"");return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(X)}function lz($){let X=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 J of $){let Y;while((Y=Z.exec(J))!==null)X.add(Y[1]);Z.lastIndex=0}return[...X]}async function X5($,X,Z,J,Y,G,Q,w=new Set,q){let{extractVariables:W}=await e("stx/variable-extractor",()=>Promise.resolve().then(() => (x7(),x8))),K=w??new Set;if(K.has($))return`[Circular component reference: ${$}]`;let z=new Set(K);z.add($);let U=typeof X.client==="string"?X.client.trim():"";if("client"in X)delete X.client;let B=U&&U!=="load"&&dz(U)?U:"";try{let j=(C)=>C.split("-").map((g)=>g.charAt(0).toUpperCase()+g.slice(1)).join(""),_=(C)=>C.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),H=$.endsWith(".stx")?$.slice(0,-4):$,O=null,L=Y.__importedComponents;if(L){let C=[H,H.toLowerCase(),j(H),_(H)];for(let g of C)if(L.has(g)){O=L.get(g);break}}let F=[];if(!O){let C=[`${H}.stx`,`${j(H)}.stx`,`${_(H)}.stx`],g=[...new Set(C)],m=Y.__originalFilePath,d=[];if(m){let z0=h.join(h.dirname(m),"components");d.push(z0)}if(J)d.push(J);let Q0=Q._rootComponentsDir;if(typeof Q0==="string"&&!d.includes(Q0))d.push(Q0);let R0=h.join(h.dirname(G),"components");if(!d.includes(R0))d.push(R0);if(Q.componentsDir&&Q.componentsDir!==J&&!d.includes(Q.componentsDir))d.push(Q.componentsDir);let j1=Q._pluginComponentDirs;if(Array.isArray(j1)){for(let z0 of j1)if(typeof z0==="string"&&!d.includes(z0))d.push(z0)}let r0=typeof Q.root==="string"?h.resolve(Q.root):void 0,g0=r0??h.dirname(G),t0=[];if(r0)t0.push(h.resolve(r0,"resources/views/components")),t0.push(h.resolve(r0,"resources/components")),t0.push(h.resolve(r0,"src/components")),t0.push(h.resolve(r0,"components"));t0.push(h.resolve(import.meta.dir,"components"));for(let z0 of t0)if(!d.includes(z0))d.push(z0);let l1=[...new Set(d.map((z0)=>{if(!z0)return z0;return h.isAbsolute(z0)?z0:h.resolve(g0,z0)}))];d.length=0,d.push(...l1);let M1=`${H}\x00${G}\x00${l1.join("\x00")}`,B5=J$.get(M1);if(B5)if(await n(B5))O=B5;else J$.delete(M1);if(!O&&(H.startsWith("./")||H.startsWith("../")))O=h.resolve(h.dirname(G),`${H}.stx`),F.push(O);else if(!O)for(let z0 of d){if(!z0)continue;for(let o of g){let l0=h.join(z0,o);if(F.push(l0),await n(l0)){O=l0;break}}if(O)break;if(!O)try{let o=await import("fs");if(!o.statSync(z0,{throwIfNoEntry:!1})?.isDirectory())continue;let t5=8,_5=[{path:z0,depth:0}];while(_5.length>0&&!O){let B1=_5.pop();if(B1.depth>=t5)continue;let W8;try{W8=o.readdirSync(B1.path,{withFileTypes:!0})}catch{continue}for(let K8 of W8){if(!K8.isDirectory())continue;if(K8.name==="node_modules"||K8.name.startsWith("."))continue;let G6=h.join(B1.path,K8.name);for(let Cq of g){let O9=h.join(G6,Cq);if(F.push(O9),await n(O9)){O=O9;break}}if(O)break;_5.push({path:G6,depth:B1.depth+1})}}}catch{}if(O)break}if(O)J$.set(M1,O)}if(!O||!await n(O)){let C=F.length>0?`
10668
+ ${Q}`}let q=Y.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),W=q&&/data-stx/.test(q[1]);if(!Q&&!W&&q&&!/data-stx-auto/.test(q[1])){let K=/<body[^>]*>/i,z=Z$(Y,K);if(z!==-1){let U=Y.slice(0,z),B=Y.slice(z).replace(K,(j)=>j.replace(/^<body([^>]*)>$/i,"<body$1 data-stx-auto>"));Y=U+B}}return Y}function Z$($,X){let Z=/<(script|style)\b[\s\S]*?<\/\1>/gi,J=[],Y;while((Y=Z.exec($))!==null)J.push([Y.index,Y.index+Y[0].length]);let G=new RegExp(X.source,X.flags.replace(/[gy]/g,"")),Q=0;while(Q<$.length){let w=G.exec($.slice(Q));if(!w)return-1;let q=Q+w.index;if(!J.some(([K,z])=>q>=K&&q<z))return q;Q=q+Math.max(w[0].length,1)}return-1}function wJ($){let X=[];for(let Z of $.split(",")){let J=Z.trim();if(!J||J.startsWith("type "))continue;let Y=J.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(Y&&Y[1]!==Y[2])X.push(`${Y[2]} = ${Y[1]}`)}if(X.length===0)return XJ;return`var ${X.join(", ")}; ${XJ}`}var bz=0,uX=`(?:"[^"]*"|'[^']*'|[^>"'])*`,ZJ,eZ,J$,gz,XJ="/* [stx import stripped, resolved via window.stx in __stx_setup] */";var d7=E(()=>{y7();d8();e0();e9();y0();$$();o1();N7();ZJ=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s;eZ=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"]);J$=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);gz=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/});import dz from"fs";import h from"path";function lz($){let X=new WeakSet;try{let Z=(J)=>{if(J===void 0)return{__stxType:"undefined"};if(typeof J==="bigint")return{__stxType:"bigint",value:J.toString()};if(typeof J==="function"||typeof J==="symbol")throw TypeError("Non-serializable component input");if(J===null||typeof J!=="object")return J;if(X.has(J))throw TypeError("Circular component input");if(X.add(J),J instanceof Date)return{__stxType:"date",value:J.toISOString()};if(Array.isArray(J))return J.map(Z);let Y={};for(let G of Object.keys(J).sort())Y[G]=Z(J[G]);return Y};return JSON.stringify(Z($))}catch{return null}}function qJ($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function cz($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function n1($){return!cz($)}function r1($){try{let X=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");X=X.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");let Z=[];X=X.replace(/\{!![\s\S]*?!!\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`}),X=X.replace(/\{\{\{[\s\S]*?\}\}\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`}),X=X.replace(/\{\{[\s\S]*?\}\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`});let Y=new Bun.Transpiler({loader:"ts",target:"browser",define:h0()}).transformSync(X);for(let G=0;G<Z.length;G++)Y=Y.replace(`"__STX_EXPR_${G}__"`,Z[G]),Y=Y.replace(`'__STX_EXPR_${G}__'`,Z[G]);return Y}catch(X){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",X);return $}}function pz($){let X=[],Z=new Set,J=0,Y=0,G=$.length,Q=(K)=>{Y++;while(Y<G){if($[Y]==="\\"){Y+=2;continue}if($[Y]===K){Y++;return}Y++}},w=()=>{Y++;while(Y<G){if($[Y]==="\\"){Y+=2;continue}if($[Y]==="`"){Y++;return}if($[Y]==="$"&&$[Y+1]==="{"){Y+=2;let K=1;while(Y<G&&K>0)if($[Y]==="{")K++,Y++;else if($[Y]==="}")K--,Y++;else if($[Y]==="'"||$[Y]==='"')Q($[Y]);else if($[Y]==="`")w();else Y++;continue}Y++}},q=()=>{if($[Y]==="/"&&$[Y+1]==="/"){while(Y<G&&$[Y]!==`
10669
+ `)Y++;return!0}if($[Y]==="/"&&$[Y+1]==="*"){Y+=2;while(Y<G-1&&!($[Y]==="*"&&$[Y+1]==="/"))Y++;return Y+=2,!0}return!1},W=()=>{if(J!==0)return;let K=$.slice(Y).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(K){let j=K[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(_))X.push(_),Z.add(_);return}let z=$.slice(Y).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(z){let j=z[2];if(!Z.has(j))X.push(j),Z.add(j);return}let U=$.slice(Y).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(U){let j=U[1];if(!Z.has(j))X.push(j),Z.add(j);return}let B=$.slice(Y).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let j=B[1];if(!Z.has(j))X.push(j),Z.add(j)}};while(Y<G){if(q())continue;if($[Y]==="'"||$[Y]==='"'){Q($[Y]);continue}if($[Y]==="`"){w();continue}if($[Y]==="{"){J++,Y++;continue}if($[Y]==="}"){J--,Y++;continue}if(J===0&&/[a-z]/i.test($[Y])&&(Y===0||/\s|[;{}()]/.test($[Y-1])))W();Y++}return X}function iz($){let X=[],Z=0,J=0,Y=null;for(let G=0;G<$.length;G++){let Q=$[G];if(Y){if(Q==="\\"){G++;continue}if(Q===Y)Y=null;continue}if(Q==='"'||Q==="'"||Q==="`"){Y=Q;continue}if(Q==="("||Q==="["||Q==="{")Z++;else if(Q===")"||Q==="]"||Q==="}")Z--;else if(Q===","&&Z===0)X.push($.slice(J,G)),J=G+1}if(J<$.length)X.push($.slice(J));return X}function nz($){let X=0,Z=null;for(let J=0;J<$.length;J++){let Y=$[J];if(Z){if(Y==="\\"){J++;continue}if(Y===Z)Z=null;continue}if(Y==='"'||Y==="'"||Y==="`"){Z=Y;continue}if(Y==="("||Y==="["||Y==="{")X++;else if(Y===")"||Y==="]"||Y==="}")X--;else if(Y==="="&&X===0){let G=$[J-1],Q=$[J+1];if(G==="!"||G==="<"||G===">"||G==="=")continue;if(Q==="="||Q===">")continue;return J}}return-1}function rz($,X){try{let Z=/=\s*(?:withDefaults\s*\([\s\S]*?defineProps|defineProps)\b/.exec($);if(!Z)return;let J=Z.index-1;while(J>=0&&/\s/.test($[J]))J--;if($[J]!=="}")return;let Y=J,G=0,Q=-1;for(;J>=0;J--){let q=$[J];if(q==="}")G++;else if(q==="{"){if(G--,G===0){Q=J;break}}}if(Q===-1)return;let w=$.slice(Q+1,Y);for(let q of iz(w)){let W=q.trim();if(!W||W.startsWith("..."))continue;let K=nz(W);if(K===-1)continue;let z=W.slice(0,K).trim();if(!/^[A-Z_$][\w$]*$/i.test(z))continue;if(X[z]!==void 0)continue;let U=W.slice(K+1).trim();if(!U)continue;try{let B=Object.keys(X),j=Function(...B,`"use strict"; return (${U});`);X[z]=j(...B.map((_)=>X[_]))}catch{}}}catch{}}async function q$($,X,Z,J,Y){let G=$.endsWith(".stx")?$.slice(0,-4):$,Q=(H)=>H.split("-").map((L)=>L.charAt(0).toUpperCase()+L.slice(1)).join(""),w=(H)=>H.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),q=Z.__importedComponents;if(q){for(let H of[G,G.toLowerCase(),Q(G),w(G)])if(q.has(H))return!0}let W=[...new Set([`${G}.stx`,`${Q(G)}.stx`,`${w(G)}.stx`])],K=typeof Y.root==="string"?h.resolve(Y.root):void 0,z=K??h.dirname(J),U=[],B=(H)=>{if(H&&!U.includes(H))U.push(H)},j=Z.__originalFilePath;if(j)B(h.join(h.dirname(j),"components"));B(X),B(Y._rootComponentsDir),B(h.join(h.dirname(J),"components")),B(Y.componentsDir);let _=Y._pluginComponentDirs;if(Array.isArray(_))for(let H of _)B(typeof H==="string"?H:null);if(K)B(h.resolve(K,"resources/views/components")),B(h.resolve(K,"resources/components")),B(h.resolve(K,"src/components")),B(h.resolve(K,"components"));if(G.startsWith("./")||G.startsWith("../"))return n(h.resolve(h.dirname(J),`${G}.stx`));for(let H of U){let L=h.isAbsolute(H)?H:h.resolve(z,H);for(let O of W)if(await n(h.join(L,O)))return!0}return!1}function oz($){return $==="visible"||$==="idle"||$==="interaction"||$.startsWith("media:")}function sz($){if(!$)return!1;let X=$.replace(/<script[\s\S]*?<\/script>/gi,"").replace(/<style[\s\S]*?<\/style>/gi,"");return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(X)}function az($){let X=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 J of $){let Y;while((Y=Z.exec(J))!==null)X.add(Y[1]);Z.lastIndex=0}return[...X]}async function Z5($,X,Z,J,Y,G,Q,w=new Set,q){let{extractVariables:W}=await e("stx/variable-extractor",()=>Promise.resolve().then(() => (f7(),h8))),K=w??new Set;if(K.has($))return`[Circular component reference: ${$}]`;let z=new Set(K);z.add($);let U=typeof X.client==="string"?X.client.trim():"";if("client"in X)delete X.client;let B=U&&U!=="load"&&oz(U)?U:"";try{let j=(C)=>C.split("-").map((g)=>g.charAt(0).toUpperCase()+g.slice(1)).join(""),_=(C)=>C.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),H=$.endsWith(".stx")?$.slice(0,-4):$,L=null,O=Y.__importedComponents;if(O){let C=[H,H.toLowerCase(),j(H),_(H)];for(let g of C)if(O.has(g)){L=O.get(g);break}}let F=[];if(!L){let C=[`${H}.stx`,`${j(H)}.stx`,`${_(H)}.stx`],g=[...new Set(C)],m=Y.__originalFilePath,u=[];if(m){let z0=h.join(h.dirname(m),"components");u.push(z0)}if(J)u.push(J);let Q0=Q._rootComponentsDir;if(typeof Q0==="string"&&!u.includes(Q0))u.push(Q0);let R0=h.join(h.dirname(G),"components");if(!u.includes(R0))u.push(R0);if(Q.componentsDir&&Q.componentsDir!==J&&!u.includes(Q.componentsDir))u.push(Q.componentsDir);let j1=Q._pluginComponentDirs;if(Array.isArray(j1)){for(let z0 of j1)if(typeof z0==="string"&&!u.includes(z0))u.push(z0)}let r0=typeof Q.root==="string"?h.resolve(Q.root):void 0,g0=r0??h.dirname(G),t0=[];if(r0)t0.push(h.resolve(r0,"resources/views/components")),t0.push(h.resolve(r0,"resources/components")),t0.push(h.resolve(r0,"src/components")),t0.push(h.resolve(r0,"components"));t0.push(h.resolve(import.meta.dir,"components"));for(let z0 of t0)if(!u.includes(z0))u.push(z0);let c1=[...new Set(u.map((z0)=>{if(!z0)return z0;return h.isAbsolute(z0)?z0:h.resolve(g0,z0)}))];u.length=0,u.push(...c1);let k1=`${H}\x00${G}\x00${c1.join("\x00")}`,B5=w$.get(k1);if(B5)if(await n(B5))L=B5;else w$.delete(k1);if(!L&&(H.startsWith("./")||H.startsWith("../")))L=h.resolve(h.dirname(G),`${H}.stx`),F.push(L);else if(!L)for(let z0 of u){if(!z0)continue;for(let o of g){let l0=h.join(z0,o);if(F.push(l0),await n(l0)){L=l0;break}}if(L)break;if(!L)try{let o=await import("fs");if(!o.statSync(z0,{throwIfNoEntry:!1})?.isDirectory())continue;let e5=8,_5=[{path:z0,depth:0}];while(_5.length>0&&!L){let B1=_5.pop();if(B1.depth>=e5)continue;let z8;try{z8=o.readdirSync(B1.path,{withFileTypes:!0})}catch{continue}for(let U8 of z8){if(!U8.isDirectory())continue;if(U8.name==="node_modules"||U8.name.startsWith("."))continue;let z6=h.join(B1.path,U8.name);for(let dq of g){let V9=h.join(z6,dq);if(F.push(V9),await n(V9)){L=V9;break}}if(L)break;_5.push({path:z6,depth:B1.depth+1})}}}catch{}if(L)break}if(L)w$.set(k1,L)}if(!L||!await n(L)){let C=F.length>0?`
10551
10670
  Searched paths:
10552
10671
  ${F.map((g)=>` - ${g}`).join(`
10553
- `)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${C}`}q.add(O);let V;if(Z$.has(O))V=Z$.get(O);else try{V=await Bun.file(O).text(),Z$.set(O,V)}catch(C){return`[Error loading component: ${C instanceof Error?C.message:String(C)}]`}let R=new Set(["__originalFilePath","__importedComponents",I8,"__stx_client_signal_names"]),A={};for(let[C,g]of Object.entries(Y))if(!C.startsWith("__")||R.has(C))A[C]=g;let{extractSlotContent:N}=await e("stx/slots",()=>Promise.resolve().then(() => (_X(),BX))),M=N(Z),T={};if(M.defaultSlot?.trim())T.default=M.defaultSlot;for(let[C,g]of M.namedSlots)T[C]=g.content;let k={...A,...X,props:X,slot:Z,$slots:T,__processedComponents:z,__sections:{},__stx_signals_gate:F1(V)||mz(Z)};uz(V,k);let D=V,I=C8(D);if(I)D=I.content.trim();let S=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,b=[...V.matchAll(S)],y=[],v=b.some((C)=>/\bserver\b/.test(C[1]||"")&&/\bcache\b/.test(C[1]||""))&&b.every((C)=>/\bserver\b/.test(C[1]||"")),f=null,x=null;if(v){let C=vz({props:X,slot:Z,buildMode:Q.buildMode??"",skipEventDirectives:Q.skipEventDirectives===!0});if(C!==null){f=`${O}\x00${C}`;let g=dX.get(f);if(g){for(let m of g.dependencies)q.add(m);return g.output}x=new Set(q)}}for(let C of b){let g=C[1]||"",m=C[2]||"",d=g.includes("server");if(i1(g)&&m.trim())m=n1(m);if(d&&m)try{await W(m,k,O)}catch(R0){}if(!d){let R0=m.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,""),j1=R0.includes("{{")&&R0.includes("}}"),r0=R0.includes("{!!")&&R0.includes("!!}");if(j1||r0)R0=b8(R0,k);let g0=g.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");y.push(`<script${g0}>${R0}</script>`)}}let p=V.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),l=p?p[1]:"",T0=p?p[2]:"",W0="",A0=l&&/\bscoped\b/i.test(l);if(p)W0=`<style${l}>${T0}</style>`;let s=D;if(s=s.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),p)s=s.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let C=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,g=[];if(s=s.replace(C,(m,d)=>{let Q0=d.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(Q0)g.push(`<style${Q0[1]}>${Q0[2]}</style>`);return""}),s=s.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),g.length>0)W0=`${W0}${g.join(`
10554
- `)}`}if(Z&&s.includes("{{ text || slot }}"))s=s.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Z);let{applySlots:c}=await e("stx/slots",()=>Promise.resolve().then(() => (_X(),BX))),{defaultSlot:_0,namedSlots:M0}=M;s=await c(s,_0,M0,k);let T1=y.some((C)=>/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useReactiveProp|defineProps|withDefaults|defineEmits|defineExpose|defineSlots)\s*(?:<[^<>()]*>)?\s*\(/.test(C)),j5=lz(y),r=Array.isArray(k.__stx_client_signal_names)?k.__stx_client_signal_names:[];if(j5.length>0||r.length>0)k.__stx_client_signal_names=[...new Set([...r,...j5])];let $0={...Q,_rootComponentsDir:Q._rootComponentsDir||Q.componentsDir,componentsDir:h.dirname(O),skipSignalsRuntime:!0,skipEventDirectives:T1||y.length===0,defaultLayout:void 0};k.__stxProcessingDepth=(Y.__stxProcessingDepth||0)+1;let K0=await O0(s,k,O,$0,q),v0=new Set(Array.isArray(Y.__stx_preserved_client_expressions)?Y.__stx_preserved_client_expressions:[]);for(let C of K0.matchAll(/\{\{([\s\S]*?)\}\}/g))v0.add(C[1].trim());if(v0.size>0)Y.__stx_preserved_client_expressions=[...v0];let L0=`stx_${H.replace(/[^a-zA-Z0-9]/g,"_")}_${++Pz}_${Math.random().toString(36).slice(2,8)}`,P=K0;if(T1){let C="";if(Object.keys(X).length>0)try{C=` data-stx-props="${tZ(JSON.stringify(X))}"`}catch{}let g=B?` stx-hydrate="${tZ(B)}"`:"";P=`<div data-stx-scope="${L0}"${C}${g}>${K0}</div>`;let m=await Promise.all(y.map(async(d)=>{let Q0=d.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!Q0)return d;let[,R0,j1]=Q0,r0=T8(j1,{filePath:O,projectRoot:process.cwd()}),g0=r0.code,t0=M8(r0.styles);g0=T5(g0).code;let{hasUserImports:l1,bundleClientScript:M1}=await e("stx/client-script-bundler",()=>Promise.resolve().then(() => (T7(),N7)));if(l1(g0))g0=await M1(g0,O,{projectRoot:process.cwd(),minify:Q.buildMode==="compile"});let{rewriteStxImportSpecifiers:B5}=await e("stx/signal-processing",()=>Promise.resolve().then(() => (u7(),X$)));g0=g0.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(B1,W8)=>B5(W8));let z0=c0(g0),o=fz(z0),l0=`function(__scopeId) {
10555
- ${R5("const",[...l6,...o],z0)}
10672
+ `)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${C}`}q.add(L);let V;if(Q$.has(L))V=Q$.get(L);else try{V=await Bun.file(L).text(),Q$.set(L,V)}catch(C){return`[Error loading component: ${C instanceof Error?C.message:String(C)}]`}let A=new Set(["__originalFilePath","__importedComponents",D8,"__stx_client_signal_names"]),R={};for(let[C,g]of Object.entries(Y))if(!C.startsWith("__")||A.has(C))R[C]=g;let{extractSlotContent:N}=await e("stx/slots",()=>Promise.resolve().then(() => (FX(),LX))),M=N(Z),T={};if(M.defaultSlot?.trim())T.default=M.defaultSlot;for(let[C,g]of M.namedSlots)T[C]=g.content;let k={...R,...X,props:X,slot:Z,$slots:T,__processedComponents:z,__sections:{},__stx_signals_gate:F1(V)||sz(Z)};rz(V,k);let D=V,I=x8(D);if(I)D=I.content.trim();let S=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,b=[...V.matchAll(S)],y=[],v=b.some((C)=>/\bserver\b/.test(C[1]||"")&&/\bcache\b/.test(C[1]||""))&&b.every((C)=>/\bserver\b/.test(C[1]||"")),f=null,x=null;if(v){let C=lz({props:X,slot:Z,buildMode:Q.buildMode??"",skipEventDirectives:Q.skipEventDirectives===!0});if(C!==null){f=`${L}\x00${C}`;let g=iX.get(f);if(g){for(let m of g.dependencies)q.add(m);return g.output}x=new Set(q)}}for(let C of b){let g=C[1]||"",m=C[2]||"",u=g.includes("server");if(n1(g)&&m.trim())m=r1(m);if(u&&m)try{await W(m,k,L)}catch(R0){}if(!u){let R0=m.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,""),j1=R0.includes("{{")&&R0.includes("}}"),r0=R0.includes("{!!")&&R0.includes("!!}");if(j1||r0)R0=P8(R0,k);let g0=g.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");y.push(`<script${g0}>${R0}</script>`)}}let l=V.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),c=l?l[1]:"",M0=l?l[2]:"",W0="",A0=c&&/\bscoped\b/i.test(c);if(l)W0=`<style${c}>${M0}</style>`;let s=D;if(s=s.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),l)s=s.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let C=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,g=[];if(s=s.replace(C,(m,u)=>{let Q0=u.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(Q0)g.push(`<style${Q0[1]}>${Q0[2]}</style>`);return""}),s=s.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),g.length>0)W0=`${W0}${g.join(`
10673
+ `)}`}if(Z&&s.includes("{{ text || slot }}"))s=s.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Z);let{applySlots:p}=await e("stx/slots",()=>Promise.resolve().then(() => (FX(),LX))),{defaultSlot:_0,namedSlots:k0}=M;s=await p(s,_0,k0,k);let M1=y.some((C)=>/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useReactiveProp|defineProps|withDefaults|defineEmits|defineExpose|defineSlots)\s*(?:<[^<>()]*>)?\s*\(/.test(C)),j5=az(y),r=Array.isArray(k.__stx_client_signal_names)?k.__stx_client_signal_names:[];if(j5.length>0||r.length>0)k.__stx_client_signal_names=[...new Set([...r,...j5])];let $0={...Q,_rootComponentsDir:Q._rootComponentsDir||Q.componentsDir,componentsDir:h.dirname(L),skipSignalsRuntime:!0,skipEventDirectives:M1||y.length===0,defaultLayout:void 0};k.__stxProcessingDepth=(Y.__stxProcessingDepth||0)+1;let K0=await O0(s,k,L,$0,q),v0=new Set(Array.isArray(Y.__stx_preserved_client_expressions)?Y.__stx_preserved_client_expressions:[]);for(let C of K0.matchAll(/\{\{([\s\S]*?)\}\}/g))v0.add(C[1].trim());if(v0.size>0)Y.__stx_preserved_client_expressions=[...v0];let L0=`stx_${H.replace(/[^a-zA-Z0-9]/g,"_")}_${++mz}_${Math.random().toString(36).slice(2,8)}`,P=K0;if(M1){let C="";if(Object.keys(X).length>0)try{C=` data-stx-props="${qJ(JSON.stringify(X))}"`}catch{}let g=B?` stx-hydrate="${qJ(B)}"`:"";P=`<div data-stx-scope="${L0}"${C}${g}>${K0}</div>`;let m=await Promise.all(y.map(async(u)=>{let Q0=u.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!Q0)return u;let[,R0,j1]=Q0,r0=k8(j1,{filePath:L,projectRoot:process.cwd()}),g0=r0.code,t0=I8(r0.styles);g0=T5(g0).code;let{hasUserImports:c1,bundleClientScript:k1}=await e("stx/client-script-bundler",()=>Promise.resolve().then(() => (M7(),T7)));if(c1(g0))g0=await k1(g0,L,{projectRoot:process.cwd(),minify:Q.buildMode==="compile"});let{rewriteStxImportSpecifiers:B5}=await e("stx/signal-processing",()=>Promise.resolve().then(() => (d7(),G$)));g0=g0.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(B1,z8)=>B5(z8));let z0=c0(g0),o=pz(z0),l0=`function(__scopeId) {
10674
+ ${R5("const",[...$2,...o],z0)}
10556
10675
  const __scope = window.stx._scopes = window.stx._scopes || {};
10557
10676
  const __scopeVars = __scope[__scopeId] = __scope[__scopeId] || {};
10558
10677
  __scopeVars.$refs = __scopeVars.$refs || {};
@@ -10580,15 +10699,15 @@ catch (e) {}
10580
10699
  finally {
10581
10700
  window.__STX_CURRENT_ELEMENT__ = __previousCurrentElement;
10582
10701
  }
10583
- }`,t5=B?null:A2(Y,l0),_5=t5?`window.__stxComponentFactories[${JSON.stringify(t5)}](${JSON.stringify(L0)});`:`(${l0})(${JSON.stringify(L0)});`;if(B)return`${t0}<script type="stx/island" data-stx-island="${L0}" data-stx-scoped${R0}>${_5}</script>`;return`${t0}<script data-stx-scoped data-stx-run="always"${R0}>${_5}</script>`}));if(P=P+`
10702
+ }`,e5=B?null:S2(Y,l0),_5=e5?`window.__stxComponentFactories[${JSON.stringify(e5)}](${JSON.stringify(L0)});`:`(${l0})(${JSON.stringify(L0)});`;if(B)return`${t0}<script type="stx/island" data-stx-island="${L0}" data-stx-scoped${R0}>${_5}</script>`;return`${t0}<script data-stx-scoped data-stx-run="always"${R0}>${_5}</script>`}));if(P=P+`
10584
10703
  `+m.join(`
10585
10704
  `),W0)P+=`
10586
10705
  `+W0}else{if(W0)P+=`
10587
- `+W0;if(y.length>0){let C=k.__stx_event_bindings||[],g=I7(k),m=await Promise.all(y.map(async(d)=>{let Q0=d.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!Q0)return d;return await E7(Q0[1],{eventBindings:C,templateContent:P,filePath:O,projectRoot:process.cwd(),serverData:g})}));P+=`
10706
+ `+W0;if(y.length>0){let C=k.__stx_event_bindings||[],g=E7(k),m=await Promise.all(y.map(async(u)=>{let Q0=u.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!Q0)return u;return await D7(Q0[1],{eventBindings:C,templateContent:P,filePath:L,projectRoot:process.cwd(),serverData:g})}));P+=`
10588
10707
  `+m.join(`
10589
- `),k.__stx_event_bindings=[]}}if(A0){let C=S8(P,O);if(C.hasScoped)P=C.html}if(f&&x)dX.set(f,{output:P,dependencies:[...q].filter((C)=>!x.has(C))});return P}catch(j){return`[Error processing component: ${j instanceof Error?j.message:String(j)}]`}finally{K.delete($)}}async function n($){return Bun.file($).exists()}function mX($,X){let Z=h.resolve(X),J=h.resolve($),Y=Z.endsWith(h.sep)?Z:Z+h.sep;if(J===Z||J.startsWith(Y))return J;return null}async function lX($,X,Z,J){let Y=await cz($,X,Z,J);if(Y===null)return null;let G=mX(Y,process.cwd());if(G)return G;let Q=[Z.root,Z.layoutsDir,Z.componentsDir,Z.partialsDir,Z.pagesDir].filter((w)=>typeof w==="string"&&w.length>0);for(let w of Q){let q=h.isAbsolute(w)?w:h.resolve(process.cwd(),w);if(mX(Y,q))return h.resolve(Y)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${Y} (template: ${$}, from: ${X})`),null}async function cz($,X,Z,J){if(Z.debug)console.log(`Resolving template path: ${$} from ${X}`);let Y=h.dirname(X),G=process.cwd();if($.startsWith("/")){let U=h.join(G,$),B=mX(U,G);if(!B)return console.warn(`[stx] rejected template path that escapes project root: ${$} (from ${X})`),null;if(Z.debug)console.log(`Checking absolute path: ${B}`);if(await n(B)&&J)J.add(B);return B}let Q=h.join(Y,$);if(await n(Q)){if(Z.debug)console.log(`Found direct path: ${Q}`);if(J)J.add(Q);return Q}if(!$.endsWith(".stx")&&!$.endsWith(".jsx")&&!$.endsWith(".tsx"))for(let U of[".stx",".tsx",".jsx"]){let B=`${Q}${U}`;if(await n(B)){if(Z.debug)console.log(`Found direct path with extension: ${B}`);if(J)J.add(B);return B}}let w="",q=h.resolve(Y),W=process.cwd();for(let U=0;U<10;U++){let B=h.join(q,"layouts"),j=!1;try{j=Cz.statSync(B,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(j){w=B;break}let _=h.dirname(q);if(_===q||_.length<W.length)break;q=_}if(w){let U=$.startsWith("layouts/")?$.slice(8):$,B=h.join(w,U);if(await n(B)){if(Z.debug)console.log(`Found in current layouts dir: ${B}`);if(J)J.add(B);return B}if(!U.endsWith(".stx")){let j=`${B}.stx`;if(await n(j)){if(Z.debug)console.log(`Found in current layouts dir with extension: ${j}`);if(J)J.add(j);return j}}}if(Z.layoutsDir){let U=h.isAbsolute(Z.layoutsDir)?Z.layoutsDir:h.resolve(process.cwd(),Z.layoutsDir),B=$.startsWith("layouts/")?$.slice(8):$,j=h.join(U,B);if(await n(j)){if(Z.debug)console.log(`Found in options.layoutsDir: ${j}`);if(J)J.add(j);return j}if(!$.endsWith(".stx")){let _=`${j}.stx`;if(await n(_)){if(Z.debug)console.log(`Found in options.layoutsDir with extension: ${_}`);if(J)J.add(_);return _}}}if($.startsWith("layouts/")||$.includes("/layouts/")){let U=$.split("layouts/"),B=h.join(Z.partialsDir||Y,"layouts",U[1]);if(await n(B)){if(Z.debug)console.log(`Found in layouts path: ${B}`);if(J)J.add(B);return B}if(!B.endsWith(".stx")){let j=`${B}.stx`;if(await n(j)){if(Z.debug)console.log(`Found in layouts path with extension: ${j}`);if(J)J.add(j);return j}}}if(Z.partialsDir){if(w=h.join(Z.partialsDir,"layouts"),await n(w)){let U=h.join(w,$);if(await n(U)){if(Z.debug)console.log(`Found in partials layouts dir: ${U}`);if(J)J.add(U);return U}if(!$.endsWith(".stx")){let B=`${U}.stx`;if(await n(B)){if(Z.debug)console.log(`Found in partials layouts dir with extension: ${B}`);if(J)J.add(B);return B}}}}let K=Z.partialsDir||h.join(process.cwd(),"views"),z=h.join(K,$);if(await n(z)){if(Z.debug)console.log(`Found in views path: ${z}`);if(J)J.add(z);return z}if(!$.endsWith(".stx")){let U=`${z}.stx`;if(await n(U)){if(Z.debug)console.log(`Found in views path with extension: ${U}`);if(J)J.add(U);return U}}if(Y.includes("temp")){let U=h.join(h.dirname(Y),"layouts",$);if(await n(U)){if(Z.debug)console.log(`Found in temp layouts dir: ${U}`);if(J)J.add(U);return U}if(!$.endsWith(".stx")){let B=`${U}.stx`;if(await n(B)){if(Z.debug)console.log(`Found in temp layouts dir with extension: ${B}`);if(J)J.add(B);return B}}}if(Z.debug)console.warn(`Template not found after trying all paths: ${$} (referenced from ${X})`);else console.warn(`Template not found: ${$} (referenced from ${X})`);return null}function eZ($,X,Z){let J=0,Y="",G="";try{if(typeof X==="number"&&X>=0){let Q=$.split(`
10708
+ `),k.__stx_event_bindings=[]}}if(A0){let C=v8(P,L);if(C.hasScoped)P=C.html}if(f&&x)iX.set(f,{output:P,dependencies:[...q].filter((C)=>!x.has(C))});return P}catch(j){return`[Error processing component: ${j instanceof Error?j.message:String(j)}]`}finally{K.delete($)}}async function n($){return Bun.file($).exists()}function nX($,X){let Z=h.resolve(X),J=h.resolve($),Y=Z.endsWith(h.sep)?Z:Z+h.sep;if(J===Z||J.startsWith(Y))return J;return null}async function rX($,X,Z,J){let Y=await tz($,X,Z,J);if(Y===null)return null;let G=nX(Y,process.cwd());if(G)return G;let Q=[Z.root,Z.layoutsDir,Z.componentsDir,Z.partialsDir,Z.pagesDir].filter((w)=>typeof w==="string"&&w.length>0);for(let w of Q){let q=h.isAbsolute(w)?w:h.resolve(process.cwd(),w);if(nX(Y,q))return h.resolve(Y)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${Y} (template: ${$}, from: ${X})`),null}async function tz($,X,Z,J){if(Z.debug)console.log(`Resolving template path: ${$} from ${X}`);let Y=h.dirname(X),G=process.cwd();if($.startsWith("/")){let U=h.join(G,$),B=nX(U,G);if(!B)return console.warn(`[stx] rejected template path that escapes project root: ${$} (from ${X})`),null;if(Z.debug)console.log(`Checking absolute path: ${B}`);if(await n(B)&&J)J.add(B);return B}let Q=h.join(Y,$);if(await n(Q)){if(Z.debug)console.log(`Found direct path: ${Q}`);if(J)J.add(Q);return Q}if(!$.endsWith(".stx")&&!$.endsWith(".jsx")&&!$.endsWith(".tsx"))for(let U of[".stx",".tsx",".jsx"]){let B=`${Q}${U}`;if(await n(B)){if(Z.debug)console.log(`Found direct path with extension: ${B}`);if(J)J.add(B);return B}}let w="",q=h.resolve(Y),W=process.cwd();for(let U=0;U<10;U++){let B=h.join(q,"layouts"),j=!1;try{j=dz.statSync(B,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(j){w=B;break}let _=h.dirname(q);if(_===q||_.length<W.length)break;q=_}if(w){let U=$.startsWith("layouts/")?$.slice(8):$,B=h.join(w,U);if(await n(B)){if(Z.debug)console.log(`Found in current layouts dir: ${B}`);if(J)J.add(B);return B}if(!U.endsWith(".stx")){let j=`${B}.stx`;if(await n(j)){if(Z.debug)console.log(`Found in current layouts dir with extension: ${j}`);if(J)J.add(j);return j}}}if(Z.layoutsDir){let U=h.isAbsolute(Z.layoutsDir)?Z.layoutsDir:h.resolve(process.cwd(),Z.layoutsDir),B=$.startsWith("layouts/")?$.slice(8):$,j=h.join(U,B);if(await n(j)){if(Z.debug)console.log(`Found in options.layoutsDir: ${j}`);if(J)J.add(j);return j}if(!$.endsWith(".stx")){let _=`${j}.stx`;if(await n(_)){if(Z.debug)console.log(`Found in options.layoutsDir with extension: ${_}`);if(J)J.add(_);return _}}}if($.startsWith("layouts/")||$.includes("/layouts/")){let U=$.split("layouts/"),B=h.join(Z.partialsDir||Y,"layouts",U[1]);if(await n(B)){if(Z.debug)console.log(`Found in layouts path: ${B}`);if(J)J.add(B);return B}if(!B.endsWith(".stx")){let j=`${B}.stx`;if(await n(j)){if(Z.debug)console.log(`Found in layouts path with extension: ${j}`);if(J)J.add(j);return j}}}if(Z.partialsDir){if(w=h.join(Z.partialsDir,"layouts"),await n(w)){let U=h.join(w,$);if(await n(U)){if(Z.debug)console.log(`Found in partials layouts dir: ${U}`);if(J)J.add(U);return U}if(!$.endsWith(".stx")){let B=`${U}.stx`;if(await n(B)){if(Z.debug)console.log(`Found in partials layouts dir with extension: ${B}`);if(J)J.add(B);return B}}}}let K=Z.partialsDir||h.join(process.cwd(),"views"),z=h.join(K,$);if(await n(z)){if(Z.debug)console.log(`Found in views path: ${z}`);if(J)J.add(z);return z}if(!$.endsWith(".stx")){let U=`${z}.stx`;if(await n(U)){if(Z.debug)console.log(`Found in views path with extension: ${U}`);if(J)J.add(U);return U}}if(Y.includes("temp")){let U=h.join(h.dirname(Y),"layouts",$);if(await n(U)){if(Z.debug)console.log(`Found in temp layouts dir: ${U}`);if(J)J.add(U);return U}if(!$.endsWith(".stx")){let B=`${U}.stx`;if(await n(B)){if(Z.debug)console.log(`Found in temp layouts dir with extension: ${B}`);if(J)J.add(B);return B}}}if(Z.debug)console.warn(`Template not found after trying all paths: ${$} (referenced from ${X})`);else console.warn(`Template not found: ${$} (referenced from ${X})`);return null}function WJ($,X,Z){let J=0,Y="",G="";try{if(typeof X==="number"&&X>=0){let Q=$.split(`
10590
10709
  `),w=0;for(let q=0;q<Q.length;q++)if(w+=Q[q].length+1,w>=X){J=q+1,Y=Q[q].trim();let W=Math.max(0,q-2),K=Math.min(Q.length,q+3);G=Q.slice(W,K).map((z,U)=>{let B=W+U+1;return`${B===J?"> ":" "}${B}: ${z}`}).join(`
10591
- `);break}}else if(Z){let Q=$.indexOf(Z);if(Q>=0)return eZ($,Q)}}catch{}return{lineNumber:J,lineContent:Y,context:G}}function j0($,X,Z,J,Y,G){let{lineNumber:Q,context:w}=eZ(J,Y,G),q=Z.split("/").pop(),W=0;if(typeof Y==="number"&&Y>=0&&J){let z=J.lastIndexOf(`
10710
+ `);break}}else if(Z){let Q=$.indexOf(Z);if(Q>=0)return WJ($,Q)}}catch{}return{lineNumber:J,lineContent:Y,context:G}}function j0($,X,Z,J,Y,G){let{lineNumber:Q,context:w}=WJ(J,Y,G),q=Z.split("/").pop(),W=0;if(typeof Y==="number"&&Y>=0&&J){let z=J.lastIndexOf(`
10592
10711
  `,Math.max(0,Y-1));W=Y-(z+1)+1}let K="";if(Q>0)K+=`
10593
10712
  ${Z}:${Q}${W>0?`:${W}`:""}: ${$.toLowerCase()} error: ${X}
10594
10713
  `;if(K+=`
@@ -10601,8 +10720,8 @@ ${X0.yellow}${X0.bold}Message:${X0.reset} ${X}
10601
10720
  `,w)K+=`
10602
10721
  ${X0.blue}${X0.bold}Context:${X0.reset}
10603
10722
  ${X0.dim}${w}${X0.reset}
10604
- `;return K}function fZ(){Z$.clear(),J$.clear(),dX.clear()}var Z$,J$,dX,Pz=0,X0;var D0=E(()=>{D7();$X();q1();e0();E5();G$();E1();QX();wX();R7();o2();x7();Z$=new o1(500),J$=new o1(1000),dX=new o1(2000);X0={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 $J($,X,Z=""){let J=$,Y=[],G=/@markdown(?:\([^)]*\))?/g,Q;while((Q=G.exec($))!==null){let w=Q.index,q=Q[0].match(/@markdown\(([^)]*)\)/),W=q?q[1]:"",K=w+Q[0].length,z=1,U=K,B=-1;while(z>0&&U<$.length){let H=$.indexOf("@markdown",U),O=$.indexOf("@endmarkdown",U);if(O===-1)break;if(H!==-1&&H<O&&H!==w){let L=$[H+9];if(L==="("||L===`
10605
- `||L==="\r"||L===" "||L===void 0)z++;U=H+9}else{if(z--,z===0){B=O;break}U=O+12}}if(B===-1)continue;let j=$.slice(K,B),_=$.slice(w,B+12);Y.push({fullMatch:_,options:W,content:j,index:w}),G.lastIndex=B+12}for(let{fullMatch:w,options:q,content:W,index:K}of Y)try{let z={};if(q)q.split(",").forEach((j)=>{let _=j.trim();if(_)z[_]=!0});let U={gfm:z.gfm??!0,breaks:z.breaks??!1},B=A7(W.trim(),U);J=J.split(w).join(B)}catch(z){let U=z instanceof Error?z.message:String(z),B=j0("Markdown Directive",`Error processing markdown: ${U}`,Z,$,K,w);J=J.split(w).join(B)}return J}async function XJ($,X,Z,J){let Y={gfm:!0,breaks:!1};return X.forEach((G)=>{let Q=G.trim().replace(/['"]/g,"");if(Q==="breaks")Y.breaks=!0;if(Q==="no-gfm")Y.gfm=!1}),A7($.trim(),Y)}var cX=E(()=>{D0()});function nz($){if(pz.set($.name,$),$.client)iz.set($.name,$.client)}function Q$($){return nz($),{name:$.name,hasEndTag:$.hasEndTag??!0,description:$.description,handler:async(Z,J,Y,G)=>{let Q=rz(J,$.defaults);if($.validate){let q=$.validate(Q);if(q!==!0){let W=typeof q==="string"?q:`Invalid parameters for @${$.name}`;throw Error(W)}}let w=Z;if($.transform)w=await $.transform(Z,Q,Y,G);if($.clientScript){let q=$.clientScript(Q);w+=`<script>${q}</script>`}if($.css){let q=$.css(Q);w+=`<style>${q}</style>`}return w}}}function rz($,X){let Z={...X};for(let J of $){let Y=J.indexOf(":"),G=J.indexOf("="),Q=Y>=0&&(G<0||Y<G)?Y:G;if(Q>=0){let w=J.slice(0,Q).trim(),q=J.slice(Q+1).trim();if(q==="true")q=!0;else if(q==="false")q=!1;else if(q==="null")q=null;else if(!Number.isNaN(Number(q)))q=Number(q);else if(typeof q==="string"&&q.startsWith("{"))try{q=JSON.parse(q)}catch{}Z[w]=q}else{let w=Object.keys(Z).filter((q)=>!X||!(q in X)).length;Z[w===0?"value":`arg${w}`]=J}}return Z}var pz,iz;var pX=E(()=>{pz=new Map,iz=new Map});function iX($,X=S5,Z={},J){return X.sort((Y,G)=>Y-G).map((Y)=>{return`${m7($,{...Z,w:Y,fm:J})} ${Y}w`}).join(", ")}function ZJ($,X,Z=oz,J={},Y){return Z.sort((G,Q)=>G-Q).map((G)=>{let Q=Math.round(X*G);return`${m7($,{...J,w:Q,dpr:G,fm:Y})} ${G}x`}).join(", ")}function nX($,X="100vw"){if(!$||Object.keys($).length===0)return X;let J=Object.entries($).map(([Y,G])=>{let Q=/^\d+$/.test(Y)?`${Y}px`:Y;return{bp:Q,size:G,numericBp:Number.parseInt(Q)||0}}).sort((Y,G)=>Y.numericBp-G.numericBp).map(({bp:Y,size:G})=>`(max-width: ${Y}) ${G}`);return J.push(X),J.join(", ")}function m7($,X={}){let Z=Object.entries(X).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 $;let J=Z.map(([G,Q])=>`${G}=${encodeURIComponent(Q)}`).join("&"),Y=$.includes("?")?"&":"?";return`${$}${Y}${J}`}function rX($){return sz[$]||"application/octet-stream"}var S5,oz,d7,sz;var oX=E(()=>{S5=[320,480,640,768,1024,1280,1536,1920,2560],oz=[1,1.5,2,3],d7=["avif","webp","jpeg"],sz={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"}});async function tz(){try{return await import("ts-images")}catch{return null}}async function ez($,X={}){let Z={...az,...X},J=await tz();if(J)try{return await $U($,Z,J)}catch(Y){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${Y}`)}return XU($,Z)}async function $U($,X,Z){let{generatePlaceholder:J,generateThumbHash:Y}=Z,Q={blur:"blur",thumbhash:"thumbhash",blurhash:"thumbhash",pixelate:"pixelate","dominant-color":"dominant-color",none:"blur"}[X.strategy]||"blur";if(X.strategy==="thumbhash")return{dataURL:(await Y($)).dataUrl,width:32,height:32,aspectRatio:1,originalWidth:0,originalHeight:0,strategy:"thumbhash"};let w=await J($,{width:X.width,height:X.height,quality:X.quality,blurLevel:X.blurLevel,strategy:Q,base64Encode:!0});return{dataURL:w.dataURL,width:w.width,height:w.height,aspectRatio:w.aspectRatio,originalWidth:w.originalWidth,originalHeight:w.originalHeight,strategy:X.strategy,dominantColor:w.dominantColor,css:w.css}}function XU($,X){let Z=X.width||20,J=X.height||Z,Y="#e5e7eb",G=`<svg xmlns="http://www.w3.org/2000/svg" width="${Z}" height="${J}" viewBox="0 0 ${Z} ${J}"><rect fill="#e5e7eb" width="${Z}" height="${J}"/></svg>`;return{dataURL:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(G)}`,width:Z,height:J,aspectRatio:Z/J,originalWidth:0,originalHeight:0,strategy:X.strategy,dominantColor:"#e5e7eb"}}function JJ($,X,Z={}){let J=Z.transitionDuration||300,Y=Z.easing||"ease-out";return`
10723
+ `;return K}function rZ(){Q$.clear(),w$.clear(),iX.clear()}var Q$,w$,iX,mz=0,X0;var y0=E(()=>{y7();GX();q1();e0();E5();W$();D1();KX();zX();N7();QZ();f7();Q$=new s1(500),w$=new s1(1000),iX=new s1(2000);X0={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 KJ($,X,Z=""){let J=$,Y=[],G=/@markdown(?:\([^)]*\))?/g,Q;while((Q=G.exec($))!==null){let w=Q.index,q=Q[0].match(/@markdown\(([^)]*)\)/),W=q?q[1]:"",K=w+Q[0].length,z=1,U=K,B=-1;while(z>0&&U<$.length){let H=$.indexOf("@markdown",U),L=$.indexOf("@endmarkdown",U);if(L===-1)break;if(H!==-1&&H<L&&H!==w){let O=$[H+9];if(O==="("||O===`
10724
+ `||O==="\r"||O===" "||O===void 0)z++;U=H+9}else{if(z--,z===0){B=L;break}U=L+12}}if(B===-1)continue;let j=$.slice(K,B),_=$.slice(w,B+12);Y.push({fullMatch:_,options:W,content:j,index:w}),G.lastIndex=B+12}for(let{fullMatch:w,options:q,content:W,index:K}of Y)try{let z={};if(q)q.split(",").forEach((j)=>{let _=j.trim();if(_)z[_]=!0});let U={gfm:z.gfm??!0,breaks:z.breaks??!1},B=R7(W.trim(),U);J=J.split(w).join(B)}catch(z){let U=z instanceof Error?z.message:String(z),B=j0("Markdown Directive",`Error processing markdown: ${U}`,Z,$,K,w);J=J.split(w).join(B)}return J}async function zJ($,X,Z,J){let Y={gfm:!0,breaks:!1};return X.forEach((G)=>{let Q=G.trim().replace(/['"]/g,"");if(Q==="breaks")Y.breaks=!0;if(Q==="no-gfm")Y.gfm=!1}),R7($.trim(),Y)}var oX=E(()=>{y0()});function XU($){if(ez.set($.name,$),$.client)$U.set($.name,$.client)}function K$($){return XU($),{name:$.name,hasEndTag:$.hasEndTag??!0,description:$.description,handler:async(Z,J,Y,G)=>{let Q=ZU(J,$.defaults);if($.validate){let q=$.validate(Q);if(q!==!0){let W=typeof q==="string"?q:`Invalid parameters for @${$.name}`;throw Error(W)}}let w=Z;if($.transform)w=await $.transform(Z,Q,Y,G);if($.clientScript){let q=$.clientScript(Q);w+=`<script>${q}</script>`}if($.css){let q=$.css(Q);w+=`<style>${q}</style>`}return w}}}function ZU($,X){let Z={...X};for(let J of $){let Y=J.indexOf(":"),G=J.indexOf("="),Q=Y>=0&&(G<0||Y<G)?Y:G;if(Q>=0){let w=J.slice(0,Q).trim(),q=J.slice(Q+1).trim();if(q==="true")q=!0;else if(q==="false")q=!1;else if(q==="null")q=null;else if(!Number.isNaN(Number(q)))q=Number(q);else if(typeof q==="string"&&q.startsWith("{"))try{q=JSON.parse(q)}catch{}Z[w]=q}else{let w=Object.keys(Z).filter((q)=>!X||!(q in X)).length;Z[w===0?"value":`arg${w}`]=J}}return Z}var ez,$U;var sX=E(()=>{ez=new Map,$U=new Map});function aX($,X=S5,Z={},J){return X.sort((Y,G)=>Y-G).map((Y)=>{return`${l7($,{...Z,w:Y,fm:J})} ${Y}w`}).join(", ")}function UJ($,X,Z=JU,J={},Y){return Z.sort((G,Q)=>G-Q).map((G)=>{let Q=Math.round(X*G);return`${l7($,{...J,w:Q,dpr:G,fm:Y})} ${G}x`}).join(", ")}function tX($,X="100vw"){if(!$||Object.keys($).length===0)return X;let J=Object.entries($).map(([Y,G])=>{let Q=/^\d+$/.test(Y)?`${Y}px`:Y;return{bp:Q,size:G,numericBp:Number.parseInt(Q)||0}}).sort((Y,G)=>Y.numericBp-G.numericBp).map(({bp:Y,size:G})=>`(max-width: ${Y}) ${G}`);return J.push(X),J.join(", ")}function l7($,X={}){let Z=Object.entries(X).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 $;let J=Z.map(([G,Q])=>`${G}=${encodeURIComponent(Q)}`).join("&"),Y=$.includes("?")?"&":"?";return`${$}${Y}${J}`}function eX($){return YU[$]||"application/octet-stream"}var S5,JU,m7,YU;var $4=E(()=>{S5=[320,480,640,768,1024,1280,1536,1920,2560],JU=[1,1.5,2,3],m7=["avif","webp","jpeg"],YU={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"}});async function QU(){try{return await import("ts-images")}catch{return null}}async function wU($,X={}){let Z={...GU,...X},J=await QU();if(J)try{return await qU($,Z,J)}catch(Y){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${Y}`)}return WU($,Z)}async function qU($,X,Z){let{generatePlaceholder:J,generateThumbHash:Y}=Z,Q={blur:"blur",thumbhash:"thumbhash",blurhash:"thumbhash",pixelate:"pixelate","dominant-color":"dominant-color",none:"blur"}[X.strategy]||"blur";if(X.strategy==="thumbhash")return{dataURL:(await Y($)).dataUrl,width:32,height:32,aspectRatio:1,originalWidth:0,originalHeight:0,strategy:"thumbhash"};let w=await J($,{width:X.width,height:X.height,quality:X.quality,blurLevel:X.blurLevel,strategy:Q,base64Encode:!0});return{dataURL:w.dataURL,width:w.width,height:w.height,aspectRatio:w.aspectRatio,originalWidth:w.originalWidth,originalHeight:w.originalHeight,strategy:X.strategy,dominantColor:w.dominantColor,css:w.css}}function WU($,X){let Z=X.width||20,J=X.height||Z,Y="#e5e7eb",G=`<svg xmlns="http://www.w3.org/2000/svg" width="${Z}" height="${J}" viewBox="0 0 ${Z} ${J}"><rect fill="#e5e7eb" width="${Z}" height="${J}"/></svg>`;return{dataURL:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(G)}`,width:Z,height:J,aspectRatio:Z/J,originalWidth:0,originalHeight:0,strategy:X.strategy,dominantColor:"#e5e7eb"}}function jJ($,X,Z={}){let J=Z.transitionDuration||300,Y=Z.easing||"ease-out";return`
10606
10725
  #${$} {
10607
10726
  --stx-img-transition-duration: ${J}ms;
10608
10727
  --stx-img-transition-easing: ${Y};
@@ -10619,7 +10738,7 @@ ${X0.dim}${w}${X0.reset}
10619
10738
  #${$}.stx-img-loaded img {
10620
10739
  opacity: 1;
10621
10740
  }
10622
- `.trim()}async function YJ($,X={}){let Z=`${$}:${JSON.stringify(X)}`;if(sX.has(Z))return sX.get(Z);let J=await ez($,X);return sX.set(Z,J),J}var az,aX,sX;var GJ=E(()=>{az={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},aX=`
10741
+ `.trim()}async function BJ($,X={}){let Z=`${$}:${JSON.stringify(X)}`;if(X4.has(Z))return X4.get(Z);let J=await wU($,X);return X4.set(Z,J),J}var GU,Z4,X4;var _J=E(()=>{GU={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},Z4=`
10623
10742
  .stx-img-placeholder {
10624
10743
  position: relative;
10625
10744
  overflow: hidden;
@@ -10648,8 +10767,8 @@ ${X0.dim}${w}${X0.reset}
10648
10767
  filter: blur(0);
10649
10768
  transform: scale(1);
10650
10769
  }
10651
- `.trim();sX=new Map});import{createHash as wJ}from"crypto";import{readFile as ZU,stat as qJ}from"fs/promises";async function x0($){try{let X=await ZU($);return wJ("sha256").update(X).digest("hex").slice(0,16)}catch{return""}}function QJ($){return wJ("sha256").update($).digest("hex").slice(0,16)}function w$($,X){let Z=JSON.stringify(X,Object.keys(X).sort());return`${QJ($)}-${QJ(Z)}`}async function tX($){try{return(await qJ($)).mtimeMs}catch{return 0}}async function b0($){try{return await qJ($),!0}catch{return!1}}var Z5=()=>{};import{mkdir as JU,readFile as YU,writeFile as GU,readdir as ER,rm as QU,stat as DR}from"fs/promises";import{join as KJ,dirname as wU}from"path";async function qU($){try{await JU($,{recursive:!0})}catch{}}function zJ($,X,Z){return KJ($,Z,`${X}.json`)}async function WJ($,X,Z){if((Date.now()-$.createdAt)/86400000>Z)return!1;if(await tX(X)!==$.srcMtime)return!1;return!0}async function q$($,X,Z,J=eX){if(!J.enabled)return null;let Y=w$($,X),G=C5.get(Y);if(G){if(await WJ(G,$,J.maxAge))return G.lastAccessedAt=Date.now(),G.data;C5.delete(Y)}let Q=zJ(J.directory,Y,Z);if(await b0(Q))try{let w=await YU(Q,"utf-8"),q=JSON.parse(w);if(await WJ(q,$,J.maxAge))return q.lastAccessedAt=Date.now(),C5.set(Y,q),q.data}catch{}return null}async function W$($,X,Z,J,Y=eX){if(!Y.enabled)return;let G=w$($,X),Q=await x0($),w=await tX($),q={key:G,src:$,srcHash:Q,srcMtime:w,optionsHash:w$("",X),data:Z,createdAt:Date.now(),lastAccessedAt:Date.now()};C5.set(G,q);let W=zJ(Y.directory,G,J);try{await qU(wU(W)),await GU(W,JSON.stringify(q,null,2))}catch(K){console.warn(`[stx-media] Failed to write cache: ${K}`)}}async function K$($,X=eX){if($==="all")C5.clear();else C5.clear();let Z=$==="all"?["image","video"]:[$];for(let J of Z){let Y=KJ(X.directory,J);try{await QU(Y,{recursive:!0,force:!0})}catch{}}}var C5,eX;var $3=E(()=>{Z5();C5=new Map,eX={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class U${config;constructor($={}){this.config={...WU,...$}}async get($,X){return q$($,X,"image",this.config)}async set($,X,Z){return W$($,X,Z,"image",this.config)}async clear(){return K$("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function X3($){if(!z$)z$=new U$($);else if($)z$.updateConfig($);return z$}async function j$($,X,Z){let J=Z?{directory:`${Z.outputDir}/../.cache`}:{};return X3(J).get($,X)}async function B$($,X,Z,J){let Y=J?{directory:`${J.outputDir}/../.cache`}:{};return X3(Y).set($,X,Z)}async function UJ(){return X3().clear()}var WU,z$=null;var Z3=E(()=>{$3();WU={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as KU,basename as zU,extname as UU,join as jU}from"path";import{mkdir as BU}from"fs/promises";async function J3(){try{return await import("ts-images")}catch{return null}}function jJ($){switch($){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 _U($,X){let Z=X?jJ(X):jJ("web"),J=$.formatQuality||{};return{jpeg:{...Z.jpeg,...J.jpeg},png:{...Z.png,...J.png},webp:{...Z.webp,...J.webp},avif:{...Z.avif,...J.avif}}}async function BJ($,X,Z){let J=await J3();if(!J)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let Y=await j$($,X,Z);if(Y)return Y;try{let G=KU($);if(!await b0(G))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let Q=_U(Z,X.preset),w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await BU(w,{recursive:!0});let W=await x0(G),K=zU($,UU($)),z=X.outputFormat?[X.outputFormat]:Z.defaultFormats||["avif","webp","jpeg"],U={src:$,processed:!0,variants:[],hash:W},B=null;if(X.transformations&&X.transformations.length>0)B=await Y3(G,X.transformations,J);for(let j of z){let _=Q[j]||{},H=`${K}-${W}.${j}`,O=jU(w,H);try{let L=await J.optimizeImage({input:B||G,output:O,format:j,quality:_.quality,progressive:_.progressive});if(L){if(U.variants.push({path:O,url:`${q}/${H}`,width:L.width||0,height:L.height||0,format:j,size:L.outputSize||0}),!U.originalWidth&&L.width)U.originalWidth=L.width,U.originalHeight=L.height}}catch(L){U.errors=U.errors||[],U.errors.push(`Failed to optimize ${j}: ${L}`)}}if(X.embedThumbhash||X.placeholder==="thumbhash")try{let j=await J.generateThumbHash(G);U.placeholder=j.dataUrl}catch(j){U.errors=U.errors||[],U.errors.push(`Failed to generate thumbhash: ${j}`)}if(X.useDominantColor)try{let j=await J.generatePlaceholder(G,{strategy:"dominant-color"});U.dominantColor=j.dominantColor}catch(j){U.errors=U.errors||[],U.errors.push(`Failed to extract dominant color: ${j}`)}return await B$($,X,U,Z),U}catch(G){return{src:$,processed:!1,errors:[`Processing failed: ${G}`]}}}async function _J($,X,Z,J){let Y=await J3();if(!Y)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await Y.optimizeImage({input:$,output:J,format:X,quality:Z}))?.outputSize}}catch(G){return{success:!1,error:String(G)}}}async function Y3($,X,Z){let J=Z||await J3();if(!J)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let Y=await J.decode($);for(let G of X){let Q=G.options||{};switch(G.type){case"resize":if(Q.width||Q.height)Y=await J.resize(Y,{width:Q.width,height:Q.height,fit:Q.fit});break;case"blur":if(Q.sigma!==void 0)Y=await J.blur(Y,Q.sigma);break;case"sharpen":if(Q.amount!==void 0)Y=await J.sharpen(Y,Q.amount);break;case"grayscale":Y=await J.grayscale(Y);break;case"rotate":if(Q.angle!==void 0)Y=await J.rotate(Y,Q.angle);break;case"flip":Y=await J.flip(Y);break;case"flop":Y=await J.flop(Y);break;case"brightness":if(Q.value!==void 0)Y=await J.brightness(Y,Q.value);break;case"contrast":if(Q.value!==void 0)Y=await J.contrast(Y,Q.value);break;case"saturation":if(Q.value!==void 0)Y=await J.saturation(Y,Q.value);break}}return await J.encode(Y,"png")}catch(Y){return console.error(`[stx-media] Transformation failed: ${Y}`),null}}var HJ=E(()=>{Z5();Z3()});import{resolve as HU,basename as OU,extname as LU,join as FU}from"path";import{mkdir as VU}from"fs/promises";async function AU(){try{return await import("ts-images")}catch{return null}}async function OJ($,X,Z){let J=await AU();if(!J)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let Y=HU($);if(!await b0(Y))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let G=X.responsiveWidths||Z.breakpoints||RU,Q=X.formats||Z.defaultFormats||["avif","webp","jpeg"],w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await VU(w,{recursive:!0});let W=await x0(Y),K=OU($,LU($)),z=Z.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},U={src:$,byFormat:{},srcsets:{}};for(let j of Q){U.byFormat[j]=[];let _=[];for(let H of G){let O=`${K}-${H}w-${W}.${j}`,L=FU(w,O),F=`${q}/${O}`;try{let V=z[j]?.quality||80;if(await b0(L)){U.byFormat[j].push({path:L,url:F,width:H,height:0,format:j,size:0}),_.push(`${F} ${H}w`);continue}let R=await J.processImage({input:Y,output:L,format:j,quality:V,resize:{width:H}});if(R)U.byFormat[j].push({path:L,url:F,width:H,height:R.height||Math.round(H*(R.height||1)/(R.width||1)),format:j,size:R.outputSize||0}),_.push(`${F} ${H}w`)}catch(V){console.warn(`[stx-media] Failed to generate ${j} at ${H}w: ${V}`)}}U.srcsets[j]=_.join(", ")}let B=X.placeholder||Z.placeholderStrategy||"thumbhash";if(B!=="none")try{if(B==="thumbhash"){let j=await J.generateThumbHash(Y);U.placeholder={dataURL:j.dataUrl,width:j.width||32,height:j.height||32,strategy:"thumbhash"}}else{let j=await J.generatePlaceholder(Y,{strategy:B,width:20});U.placeholder={dataURL:j.dataURL,width:j.width,height:j.height,strategy:B}}}catch(j){console.warn(`[stx-media] Failed to generate placeholder: ${j}`)}return U.sizes=X.sizes||NU(G),U}catch(G){return console.error(`[stx-media] Responsive generation failed: ${G}`),null}}function NU($){let X=[...$].sort((J,Y)=>J-Y),Z=[];for(let J=0;J<X.length-1;J++){let Y=X[J];Z.push(`(max-width: ${Y}px) ${Y}px`)}return Z.push(`${X[X.length-1]}px`),Z.join(", ")}function LJ($,X="width"){if(!$||$.length===0)return"";if(X==="dpr")return $.filter((Z)=>Z.dpr).map((Z)=>`${Z.url} ${Z.dpr}x`).join(", ");return $.map((Z)=>`${Z.url} ${Z.width}w`).join(", ")}var RU;var FJ=E(()=>{Z5();RU=[320,480,640,768,1024,1280,1536,1920]});var VJ={};t(VJ,{setCachedImageResult:()=>B$,processImage:()=>BJ,optimizeImage:()=>_J,getCachedImageResult:()=>j$,generateSrcset:()=>LJ,generateResponsiveVariants:()=>OJ,clearImageCache:()=>UJ,applyTransformations:()=>Y3,ImageProcessorCache:()=>U$});var AJ=E(()=>{HJ();FJ();Z3()});async function TU(){try{return await Promise.resolve().then(() => (AJ(),VJ))}catch($){if(!RJ)console.warn("[stx-media] Image processor not available, some features disabled:",$),RJ=!0;return null}}async function _$($,X={}){let Z=X,J=$;if(J.process&&!J.skipOptimization){if(Z.tsImagesConfig?.enabled&&!Z.isDev)return EU(J,Z)}if(Z.processedResult?.processed)return q3($,Z.processedResult,X);if(Z.responsiveVariants)return kJ($,Z.responsiveVariants,X);let{src:Y,alt:G,width:Q,height:w,sizes:q,widths:W=S5,dpr:K,formats:z=d7,quality:U=G3,params:B={},placeholder:j="none",placeholderOptions:_={},lazy:H=!0,priority:O=!1,loading:L=O?"eager":O$,decoding:F=H$,fetchpriority:V,objectFit:R,objectPosition:A,crossorigin:N,referrerpolicy:M}=$,T=$.class,k=$.style,D=$.id,I=$.data||{},{isDev:S=!1,baseUrl:b=""}=X;if(S&&!X.optimize)return IU($);let y,v,f=D||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!O)try{y=await YJ(Y,{strategy:j,..._}),v=JJ(f,y,_)}catch{}let x=K!==void 0&&Q!==void 0,p;if(x)p=kU($,f,y,X);else p=await MU($,f,y,X);let l;if(O){let A0=z.includes("webp")?"webp":z[0],s=iX(Y,W,{...B,q:U},A0),c=typeof q==="object"?nX(q):q||"100vw";l=`<link rel="preload" as="image" imagesrcset="${s}" imagesizes="${c}" />`}let T0=[];if(!NJ&&j!=="none")T0.push(aX),NJ=!0;if(v)T0.push(v);let W0=H?MJ(f):void 0;return{html:p,preloadLink:l,css:T0.length>0?T0.join(`
10652
- `):void 0,script:W0}}async function MU($,X,Z,J){let{src:Y,alt:G,width:Q,height:w,sizes:q,widths:W=S5,formats:K=d7,quality:z=G3,params:U={},lazy:B=!0,priority:j=!1,loading:_=j?"eager":O$,decoding:H=H$,fetchpriority:O,objectFit:L,objectPosition:F,crossorigin:V,referrerpolicy:R}=$,A=$.class,N=$.style,M=$.data||{},T=typeof q==="object"?nX(q):q||"100vw",k=[];for(let S of K){let b=iX(Y,W,{...U,q:z},S),y=rX(S);if(B&&!j)k.push(` <source type="${y}" data-srcset="${b}" data-sizes="${T}" />`);else k.push(` <source type="${y}" srcset="${b}" sizes="${T}" />`)}let D=Q3({src:m7(Y,{...U,q:z}),alt:G,width:Q,height:w,loading:j?void 0:_,decoding:H,fetchpriority:j?"high":O,objectFit:L,objectPosition:F,crossorigin:V,referrerpolicy:R,className:TJ(A,Z),style:w3(N,L,F,Z),lazy:B&&!j,data:M}),I;if(Z){let S=`background-image: url('${Z.dataURL}'); background-size: cover; background-position: center;`;I=`<div id="${X}" class="stx-img-placeholder" style="${S}">
10770
+ `.trim();X4=new Map});import{createHash as OJ}from"crypto";import{readFile as KU,stat as LJ}from"fs/promises";async function x0($){try{let X=await KU($);return OJ("sha256").update(X).digest("hex").slice(0,16)}catch{return""}}function HJ($){return OJ("sha256").update($).digest("hex").slice(0,16)}function z$($,X){let Z=JSON.stringify(X,Object.keys(X).sort());return`${HJ($)}-${HJ(Z)}`}async function J4($){try{return(await LJ($)).mtimeMs}catch{return 0}}async function S0($){try{return await LJ($),!0}catch{return!1}}var J5=()=>{};import{mkdir as zU,readFile as UU,writeFile as jU,readdir as dR,rm as BU,stat as mR}from"fs/promises";import{join as VJ,dirname as _U}from"path";async function HU($){try{await zU($,{recursive:!0})}catch{}}function AJ($,X,Z){return VJ($,Z,`${X}.json`)}async function FJ($,X,Z){if((Date.now()-$.createdAt)/86400000>Z)return!1;if(await J4(X)!==$.srcMtime)return!1;return!0}async function U$($,X,Z,J=Y4){if(!J.enabled)return null;let Y=z$($,X),G=C5.get(Y);if(G){if(await FJ(G,$,J.maxAge))return G.lastAccessedAt=Date.now(),G.data;C5.delete(Y)}let Q=AJ(J.directory,Y,Z);if(await S0(Q))try{let w=await UU(Q,"utf-8"),q=JSON.parse(w);if(await FJ(q,$,J.maxAge))return q.lastAccessedAt=Date.now(),C5.set(Y,q),q.data}catch{}return null}async function j$($,X,Z,J,Y=Y4){if(!Y.enabled)return;let G=z$($,X),Q=await x0($),w=await J4($),q={key:G,src:$,srcHash:Q,srcMtime:w,optionsHash:z$("",X),data:Z,createdAt:Date.now(),lastAccessedAt:Date.now()};C5.set(G,q);let W=AJ(Y.directory,G,J);try{await HU(_U(W)),await jU(W,JSON.stringify(q,null,2))}catch(K){console.warn(`[stx-media] Failed to write cache: ${K}`)}}async function B$($,X=Y4){if($==="all")C5.clear();else C5.clear();let Z=$==="all"?["image","video"]:[$];for(let J of Z){let Y=VJ(X.directory,J);try{await BU(Y,{recursive:!0,force:!0})}catch{}}}var C5,Y4;var G4=E(()=>{J5();C5=new Map,Y4={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class H${config;constructor($={}){this.config={...OU,...$}}async get($,X){return U$($,X,"image",this.config)}async set($,X,Z){return j$($,X,Z,"image",this.config)}async clear(){return B$("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function Q4($){if(!_$)_$=new H$($);else if($)_$.updateConfig($);return _$}async function O$($,X,Z){let J=Z?{directory:`${Z.outputDir}/../.cache`}:{};return Q4(J).get($,X)}async function L$($,X,Z,J){let Y=J?{directory:`${J.outputDir}/../.cache`}:{};return Q4(Y).set($,X,Z)}async function RJ(){return Q4().clear()}var OU,_$=null;var w4=E(()=>{G4();OU={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as LU,basename as FU,extname as VU,join as AU}from"path";import{mkdir as RU}from"fs/promises";async function q4(){try{return await import("ts-images")}catch{return null}}function NJ($){switch($){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 NU($,X){let Z=X?NJ(X):NJ("web"),J=$.formatQuality||{};return{jpeg:{...Z.jpeg,...J.jpeg},png:{...Z.png,...J.png},webp:{...Z.webp,...J.webp},avif:{...Z.avif,...J.avif}}}async function TJ($,X,Z){let J=await q4();if(!J)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let Y=await O$($,X,Z);if(Y)return Y;try{let G=LU($);if(!await S0(G))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let Q=NU(Z,X.preset),w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await RU(w,{recursive:!0});let W=await x0(G),K=FU($,VU($)),z=X.outputFormat?[X.outputFormat]:Z.defaultFormats||["avif","webp","jpeg"],U={src:$,processed:!0,variants:[],hash:W},B=null;if(X.transformations&&X.transformations.length>0)B=await W4(G,X.transformations,J);for(let j of z){let _=Q[j]||{},H=`${K}-${W}.${j}`,L=AU(w,H);try{let O=await J.optimizeImage({input:B||G,output:L,format:j,quality:_.quality,progressive:_.progressive});if(O){if(U.variants.push({path:L,url:`${q}/${H}`,width:O.width||0,height:O.height||0,format:j,size:O.outputSize||0}),!U.originalWidth&&O.width)U.originalWidth=O.width,U.originalHeight=O.height}}catch(O){U.errors=U.errors||[],U.errors.push(`Failed to optimize ${j}: ${O}`)}}if(X.embedThumbhash||X.placeholder==="thumbhash")try{let j=await J.generateThumbHash(G);U.placeholder=j.dataUrl}catch(j){U.errors=U.errors||[],U.errors.push(`Failed to generate thumbhash: ${j}`)}if(X.useDominantColor)try{let j=await J.generatePlaceholder(G,{strategy:"dominant-color"});U.dominantColor=j.dominantColor}catch(j){U.errors=U.errors||[],U.errors.push(`Failed to extract dominant color: ${j}`)}return await L$($,X,U,Z),U}catch(G){return{src:$,processed:!1,errors:[`Processing failed: ${G}`]}}}async function MJ($,X,Z,J){let Y=await q4();if(!Y)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await Y.optimizeImage({input:$,output:J,format:X,quality:Z}))?.outputSize}}catch(G){return{success:!1,error:String(G)}}}async function W4($,X,Z){let J=Z||await q4();if(!J)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let Y=await J.decode($);for(let G of X){let Q=G.options||{};switch(G.type){case"resize":if(Q.width||Q.height)Y=await J.resize(Y,{width:Q.width,height:Q.height,fit:Q.fit});break;case"blur":if(Q.sigma!==void 0)Y=await J.blur(Y,Q.sigma);break;case"sharpen":if(Q.amount!==void 0)Y=await J.sharpen(Y,Q.amount);break;case"grayscale":Y=await J.grayscale(Y);break;case"rotate":if(Q.angle!==void 0)Y=await J.rotate(Y,Q.angle);break;case"flip":Y=await J.flip(Y);break;case"flop":Y=await J.flop(Y);break;case"brightness":if(Q.value!==void 0)Y=await J.brightness(Y,Q.value);break;case"contrast":if(Q.value!==void 0)Y=await J.contrast(Y,Q.value);break;case"saturation":if(Q.value!==void 0)Y=await J.saturation(Y,Q.value);break}}return await J.encode(Y,"png")}catch(Y){return console.error(`[stx-media] Transformation failed: ${Y}`),null}}var kJ=E(()=>{J5();w4()});import{resolve as TU,basename as MU,extname as kU,join as IU}from"path";import{mkdir as EU}from"fs/promises";async function DU(){try{return await import("ts-images")}catch{return null}}async function IJ($,X,Z){let J=await DU();if(!J)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let Y=TU($);if(!await S0(Y))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let G=X.responsiveWidths||Z.breakpoints||yU,Q=X.formats||Z.defaultFormats||["avif","webp","jpeg"],w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await EU(w,{recursive:!0});let W=await x0(Y),K=MU($,kU($)),z=Z.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},U={src:$,byFormat:{},srcsets:{}};for(let j of Q){U.byFormat[j]=[];let _=[];for(let H of G){let L=`${K}-${H}w-${W}.${j}`,O=IU(w,L),F=`${q}/${L}`;try{let V=z[j]?.quality||80;if(await S0(O)){U.byFormat[j].push({path:O,url:F,width:H,height:0,format:j,size:0}),_.push(`${F} ${H}w`);continue}let A=await J.processImage({input:Y,output:O,format:j,quality:V,resize:{width:H}});if(A)U.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}`)}}U.srcsets[j]=_.join(", ")}let B=X.placeholder||Z.placeholderStrategy||"thumbhash";if(B!=="none")try{if(B==="thumbhash"){let j=await J.generateThumbHash(Y);U.placeholder={dataURL:j.dataUrl,width:j.width||32,height:j.height||32,strategy:"thumbhash"}}else{let j=await J.generatePlaceholder(Y,{strategy:B,width:20});U.placeholder={dataURL:j.dataURL,width:j.width,height:j.height,strategy:B}}}catch(j){console.warn(`[stx-media] Failed to generate placeholder: ${j}`)}return U.sizes=X.sizes||bU(G),U}catch(G){return console.error(`[stx-media] Responsive generation failed: ${G}`),null}}function bU($){let X=[...$].sort((J,Y)=>J-Y),Z=[];for(let J=0;J<X.length-1;J++){let Y=X[J];Z.push(`(max-width: ${Y}px) ${Y}px`)}return Z.push(`${X[X.length-1]}px`),Z.join(", ")}function EJ($,X="width"){if(!$||$.length===0)return"";if(X==="dpr")return $.filter((Z)=>Z.dpr).map((Z)=>`${Z.url} ${Z.dpr}x`).join(", ");return $.map((Z)=>`${Z.url} ${Z.width}w`).join(", ")}var yU;var DJ=E(()=>{J5();yU=[320,480,640,768,1024,1280,1536,1920]});var yJ={};t(yJ,{setCachedImageResult:()=>L$,processImage:()=>TJ,optimizeImage:()=>MJ,getCachedImageResult:()=>O$,generateSrcset:()=>EJ,generateResponsiveVariants:()=>IJ,clearImageCache:()=>RJ,applyTransformations:()=>W4,ImageProcessorCache:()=>H$});var bJ=E(()=>{kJ();DJ();w4()});async function SU(){try{return await Promise.resolve().then(() => (bJ(),yJ))}catch($){if(!SJ)console.warn("[stx-media] Image processor not available, some features disabled:",$),SJ=!0;return null}}async function F$($,X={}){let Z=X,J=$;if(J.process&&!J.skipOptimization){if(Z.tsImagesConfig?.enabled&&!Z.isDev)return xU(J,Z)}if(Z.processedResult?.processed)return j4($,Z.processedResult,X);if(Z.responsiveVariants)return xJ($,Z.responsiveVariants,X);let{src:Y,alt:G,width:Q,height:w,sizes:q,widths:W=S5,dpr:K,formats:z=m7,quality:U=K4,params:B={},placeholder:j="none",placeholderOptions:_={},lazy:H=!0,priority:L=!1,loading:O=L?"eager":A$,decoding:F=V$,fetchpriority:V,objectFit:A,objectPosition:R,crossorigin:N,referrerpolicy:M}=$,T=$.class,k=$.style,D=$.id,I=$.data||{},{isDev:S=!1,baseUrl:b=""}=X;if(S&&!X.optimize)return vU($);let y,v,f=D||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!L)try{y=await BJ(Y,{strategy:j,..._}),v=jJ(f,y,_)}catch{}let x=K!==void 0&&Q!==void 0,l;if(x)l=PU($,f,y,X);else l=await CU($,f,y,X);let c;if(L){let A0=z.includes("webp")?"webp":z[0],s=aX(Y,W,{...B,q:U},A0),p=typeof q==="object"?tX(q):q||"100vw";c=`<link rel="preload" as="image" imagesrcset="${s}" imagesizes="${p}" />`}let M0=[];if(!CJ&&j!=="none")M0.push(Z4),CJ=!0;if(v)M0.push(v);let W0=H?vJ(f):void 0;return{html:l,preloadLink:c,css:M0.length>0?M0.join(`
10771
+ `):void 0,script:W0}}async function CU($,X,Z,J){let{src:Y,alt:G,width:Q,height:w,sizes:q,widths:W=S5,formats:K=m7,quality:z=K4,params:U={},lazy:B=!0,priority:j=!1,loading:_=j?"eager":A$,decoding:H=V$,fetchpriority:L,objectFit:O,objectPosition:F,crossorigin:V,referrerpolicy:A}=$,R=$.class,N=$.style,M=$.data||{},T=typeof q==="object"?tX(q):q||"100vw",k=[];for(let S of K){let b=aX(Y,W,{...U,q:z},S),y=eX(S);if(B&&!j)k.push(` <source type="${y}" data-srcset="${b}" data-sizes="${T}" />`);else k.push(` <source type="${y}" srcset="${b}" sizes="${T}" />`)}let D=z4({src:l7(Y,{...U,q:z}),alt:G,width:Q,height:w,loading:j?void 0:_,decoding:H,fetchpriority:j?"high":L,objectFit:O,objectPosition:F,crossorigin:V,referrerpolicy:A,className:PJ(R,Z),style:U4(N,O,F,Z),lazy:B&&!j,data:M}),I;if(Z){let S=`background-image: url('${Z.dataURL}'); background-size: cover; background-position: center;`;I=`<div id="${X}" class="stx-img-placeholder" style="${S}">
10653
10772
  <picture>
10654
10773
  ${k.join(`
10655
10774
  `)}
@@ -10659,9 +10778,9 @@ ${k.join(`
10659
10778
  ${k.join(`
10660
10779
  `)}
10661
10780
  <img ${D} />
10662
- </picture>`;return I}function kU($,X,Z,J){let{src:Y,alt:G,width:Q,height:w,dpr:q=[1,2,3],quality:W=G3,params:K={},lazy:z=!0,priority:U=!1,loading:B=U?"eager":O$,decoding:j=H$,fetchpriority:_,objectFit:H,objectPosition:O,crossorigin:L,referrerpolicy:F}=$,V=$.class,R=$.style,A=$.data||{},N=typeof Q==="number"?Q:Number.parseInt(String(Q),10),M=ZJ(Y,N,q,{...K,q:W}),T=Q3({src:m7(Y,{...K,w:N,q:W}),alt:G,width:Q,height:w,loading:U?void 0:B,decoding:j,fetchpriority:U?"high":_,objectFit:H,objectPosition:O,crossorigin:L,referrerpolicy:F,className:TJ(V,Z),style:w3(R,H,O,Z),lazy:z&&!U,data:A}),k=z&&!U?`data-srcset="${M}"`:`srcset="${M}"`;if(Z){let D=`background-image: url('${Z.dataURL}'); background-size: cover; background-position: center;`;return`<div id="${X}" class="stx-img-placeholder" style="${D}">
10781
+ </picture>`;return I}function PU($,X,Z,J){let{src:Y,alt:G,width:Q,height:w,dpr:q=[1,2,3],quality:W=K4,params:K={},lazy:z=!0,priority:U=!1,loading:B=U?"eager":A$,decoding:j=V$,fetchpriority:_,objectFit:H,objectPosition:L,crossorigin:O,referrerpolicy:F}=$,V=$.class,A=$.style,R=$.data||{},N=typeof Q==="number"?Q:Number.parseInt(String(Q),10),M=UJ(Y,N,q,{...K,q:W}),T=z4({src:l7(Y,{...K,w:N,q:W}),alt:G,width:Q,height:w,loading:U?void 0:B,decoding:j,fetchpriority:U?"high":_,objectFit:H,objectPosition:L,crossorigin:O,referrerpolicy:F,className:PJ(V,Z),style:U4(A,H,L,Z),lazy:z&&!U,data:R}),k=z&&!U?`data-srcset="${M}"`:`srcset="${M}"`;if(Z){let D=`background-image: url('${Z.dataURL}'); background-size: cover; background-position: center;`;return`<div id="${X}" class="stx-img-placeholder" style="${D}">
10663
10782
  <img ${T} ${k} />
10664
- </div>`}return`<img ${X?`id="${X}" `:""}${T} ${k} />`}function IU($){let{src:X,alt:Z,width:J,height:Y,loading:G=O$,decoding:Q=H$,fetchpriority:w,objectFit:q,objectPosition:W,crossorigin:K,referrerpolicy:z,priority:U=!1}=$,B=$.class,j=$.style,_=$.id,H=$.data||{};return{html:`<img ${Q3({src:X,alt:Z,width:J,height:Y,loading:U?"eager":G,decoding:Q,fetchpriority:U?"high":w,objectFit:q,objectPosition:W,crossorigin:K,referrerpolicy:z,className:B,style:w3(j,q,W),id:_,data:H})} />`}}function Q3($){let X=[];if($.lazy)X.push(`data-src="${Z1($.src)}"`),X.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"');else X.push(`src="${Z1($.src)}"`);if(X.push(`alt="${Z1($.alt)}"`),$.width)X.push(`width="${$.width}"`);if($.height)X.push(`height="${$.height}"`);if($.loading)X.push(`loading="${$.loading}"`);if($.decoding)X.push(`decoding="${$.decoding}"`);if($.fetchpriority)X.push(`fetchpriority="${$.fetchpriority}"`);if($.crossorigin)X.push(`crossorigin="${$.crossorigin}"`);if($.referrerpolicy)X.push(`referrerpolicy="${$.referrerpolicy}"`);if($.className)X.push(`class="${Z1($.className)}"`);if($.style)X.push(`style="${Z1($.style)}"`);if($.id)X.push(`id="${Z1($.id)}"`);if($.data)for(let[Z,J]of Object.entries($.data))X.push(`data-${Z}="${Z1(J)}"`);if($.lazy)X.push("data-stx-lazy");return X.join(" ")}function TJ($,X){let Z=[];if($)Z.push($);if(X)Z.push("stx-img-blur");return Z.join(" ")||""}function w3($,X,Z,J){let Y=[];if(X)Y.push(`object-fit: ${X}`);if(Z)Y.push(`object-position: ${Z}`);if(J)Y.push("opacity: 0; transition: opacity 300ms ease-out");if($)Y.push($);return Y.join("; ")}function Z1($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function MJ($){return`
10783
+ </div>`}return`<img ${X?`id="${X}" `:""}${T} ${k} />`}function vU($){let{src:X,alt:Z,width:J,height:Y,loading:G=A$,decoding:Q=V$,fetchpriority:w,objectFit:q,objectPosition:W,crossorigin:K,referrerpolicy:z,priority:U=!1}=$,B=$.class,j=$.style,_=$.id,H=$.data||{};return{html:`<img ${z4({src:X,alt:Z,width:J,height:Y,loading:U?"eager":G,decoding:Q,fetchpriority:U?"high":w,objectFit:q,objectPosition:W,crossorigin:K,referrerpolicy:z,className:B,style:U4(j,q,W),id:_,data:H})} />`}}function z4($){let X=[];if($.lazy)X.push(`data-src="${Z1($.src)}"`),X.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"');else X.push(`src="${Z1($.src)}"`);if(X.push(`alt="${Z1($.alt)}"`),$.width)X.push(`width="${$.width}"`);if($.height)X.push(`height="${$.height}"`);if($.loading)X.push(`loading="${$.loading}"`);if($.decoding)X.push(`decoding="${$.decoding}"`);if($.fetchpriority)X.push(`fetchpriority="${$.fetchpriority}"`);if($.crossorigin)X.push(`crossorigin="${$.crossorigin}"`);if($.referrerpolicy)X.push(`referrerpolicy="${$.referrerpolicy}"`);if($.className)X.push(`class="${Z1($.className)}"`);if($.style)X.push(`style="${Z1($.style)}"`);if($.id)X.push(`id="${Z1($.id)}"`);if($.data)for(let[Z,J]of Object.entries($.data))X.push(`data-${Z}="${Z1(J)}"`);if($.lazy)X.push("data-stx-lazy");return X.join(" ")}function PJ($,X){let Z=[];if($)Z.push($);if(X)Z.push("stx-img-blur");return Z.join(" ")||""}function U4($,X,Z,J){let Y=[];if(X)Y.push(`object-fit: ${X}`);if(Z)Y.push(`object-position: ${Z}`);if(J)Y.push("opacity: 0; transition: opacity 300ms ease-out");if($)Y.push($);return Y.join("; ")}function Z1($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function vJ($){return`
10665
10784
  (function() {
10666
10785
  const container = document.getElementById('${$}');
10667
10786
  if (!container) return;
@@ -10698,22 +10817,22 @@ ${k.join(`
10698
10817
 
10699
10818
  observer.observe(container);
10700
10819
  })();
10701
- `.trim()}async function EU($,X){let Z=await TU();if(!Z)return _$({...$,process:!1},X);let J=X.tsImagesConfig;if($.responsiveWidths&&$.responsiveWidths.length>0||$.widths&&$.widths.length>0||!$.width&&!$.dpr){let G=await Z.generateResponsiveVariants($.src,$,J);if(G)return kJ($,G,X)}else{let G=await Z.processImage($.src,$,J);if(G.processed)return q3($,G,X)}return _$({...$,process:!1},X)}async function q3($,X,Z){let{alt:J,width:Y,height:G,lazy:Q=!0,priority:w=!1,objectFit:q,objectPosition:W,crossorigin:K,referrerpolicy:z}=$,U=$.class,B=$.style,j=$.id||`stx-img-${Math.random().toString(36).slice(2,8)}`,_=$.data||{},H=X.variants||[],O=H.find((v)=>v.format==="jpeg")||H.find((v)=>v.format==="webp")||H[0],L=O?.url||$.src,F=H.filter((v)=>v.format===(O?.format||"jpeg")).map((v)=>`${v.url} ${v.width}w`).join(", "),V=new Map;for(let v of H){if(!V.has(v.format))V.set(v.format,[]);V.get(v.format).push(v)}let R=[],A=["avif","webp","jpeg","png"];for(let v of A){let f=V.get(v);if(f&&f.length>0){let x=f.map((l)=>`${l.url} ${l.width}w`).join(", "),p=rX(v);if(Q&&!w)R.push(` <source type="${p}" data-srcset="${x}" />`);else R.push(` <source type="${p}" srcset="${x}" />`)}}let N=[];if(Q&&!w){if(N.push(`data-src="${Z1(L)}"`),N.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),F)N.push(`data-srcset="${F}"`)}else if(N.push(`src="${Z1(L)}"`),F)N.push(`srcset="${F}"`);N.push(`alt="${Z1(J)}"`);let M=Y||X.originalWidth,T=G||X.originalHeight;if(M)N.push(`width="${M}"`);if(T)N.push(`height="${T}"`);if(!w)N.push(`loading="${Q?"lazy":"eager"}"`);if(N.push('decoding="async"'),w)N.push('fetchpriority="high"');if(K)N.push(`crossorigin="${K}"`);if(z)N.push(`referrerpolicy="${z}"`);let k=[];if(q)k.push(`object-fit: ${q}`);if(W)k.push(`object-position: ${W}`);if(X.placeholder&&Q)k.push("opacity: 0; transition: opacity 300ms ease-out");if(B)k.push(B);if(k.length>0)N.push(`style="${k.join("; ")}"`);let D=[];if(U)D.push(U);if(X.placeholder)D.push("stx-img-blur");if(D.length>0)N.push(`class="${D.join(" ")}"`);if(Q&&!w)N.push("data-stx-lazy");for(let[v,f]of Object.entries(_))N.push(`data-${v}="${Z1(f)}"`);let I;if(X.placeholder||X.dominantColor&&$.useDominantColor){let v=X.placeholder?`background-image: url('${X.placeholder}'); background-size: cover; background-position: center;`:`background-color: ${X.dominantColor};`;I=`<div id="${j}" class="stx-img-placeholder" style="${v}">
10820
+ `.trim()}async function xU($,X){let Z=await SU();if(!Z)return F$({...$,process:!1},X);let J=X.tsImagesConfig;if($.responsiveWidths&&$.responsiveWidths.length>0||$.widths&&$.widths.length>0||!$.width&&!$.dpr){let G=await Z.generateResponsiveVariants($.src,$,J);if(G)return xJ($,G,X)}else{let G=await Z.processImage($.src,$,J);if(G.processed)return j4($,G,X)}return F$({...$,process:!1},X)}async function j4($,X,Z){let{alt:J,width:Y,height:G,lazy:Q=!0,priority:w=!1,objectFit:q,objectPosition:W,crossorigin:K,referrerpolicy:z}=$,U=$.class,B=$.style,j=$.id||`stx-img-${Math.random().toString(36).slice(2,8)}`,_=$.data||{},H=X.variants||[],L=H.find((v)=>v.format==="jpeg")||H.find((v)=>v.format==="webp")||H[0],O=L?.url||$.src,F=H.filter((v)=>v.format===(L?.format||"jpeg")).map((v)=>`${v.url} ${v.width}w`).join(", "),V=new Map;for(let v of H){if(!V.has(v.format))V.set(v.format,[]);V.get(v.format).push(v)}let A=[],R=["avif","webp","jpeg","png"];for(let v of R){let f=V.get(v);if(f&&f.length>0){let x=f.map((c)=>`${c.url} ${c.width}w`).join(", "),l=eX(v);if(Q&&!w)A.push(` <source type="${l}" data-srcset="${x}" />`);else A.push(` <source type="${l}" srcset="${x}" />`)}}let N=[];if(Q&&!w){if(N.push(`data-src="${Z1(O)}"`),N.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),F)N.push(`data-srcset="${F}"`)}else if(N.push(`src="${Z1(O)}"`),F)N.push(`srcset="${F}"`);N.push(`alt="${Z1(J)}"`);let M=Y||X.originalWidth,T=G||X.originalHeight;if(M)N.push(`width="${M}"`);if(T)N.push(`height="${T}"`);if(!w)N.push(`loading="${Q?"lazy":"eager"}"`);if(N.push('decoding="async"'),w)N.push('fetchpriority="high"');if(K)N.push(`crossorigin="${K}"`);if(z)N.push(`referrerpolicy="${z}"`);let k=[];if(q)k.push(`object-fit: ${q}`);if(W)k.push(`object-position: ${W}`);if(X.placeholder&&Q)k.push("opacity: 0; transition: opacity 300ms ease-out");if(B)k.push(B);if(k.length>0)N.push(`style="${k.join("; ")}"`);let D=[];if(U)D.push(U);if(X.placeholder)D.push("stx-img-blur");if(D.length>0)N.push(`class="${D.join(" ")}"`);if(Q&&!w)N.push("data-stx-lazy");for(let[v,f]of Object.entries(_))N.push(`data-${v}="${Z1(f)}"`);let I;if(X.placeholder||X.dominantColor&&$.useDominantColor){let v=X.placeholder?`background-image: url('${X.placeholder}'); background-size: cover; background-position: center;`:`background-color: ${X.dominantColor};`;I=`<div id="${j}" class="stx-img-placeholder" style="${v}">
10702
10821
  <picture>
10703
- ${R.join(`
10822
+ ${A.join(`
10704
10823
  `)}
10705
10824
  <img ${N.join(" ")} />
10706
10825
  </picture>
10707
10826
  </div>`}else I=`<picture${j?` id="${j}"`:""}>
10708
- ${R.join(`
10827
+ ${A.join(`
10709
10828
  `)}
10710
10829
  <img ${N.join(" ")} />
10711
- </picture>`;let S=[];if(X.placeholder)S.push(aX);let b=Q?MJ(j):void 0,y;if(w&&F)y=`<link rel="preload" as="image" imagesrcset="${F}" />`;return{html:I,preloadLink:y,css:S.length>0?S.join(`
10712
- `):void 0,script:b}}async function kJ($,X,Z){let J={src:X.src,processed:!0,variants:[],placeholder:X.placeholder?.dataURL,originalWidth:X.placeholder?.width,originalHeight:X.placeholder?.height};for(let[Y,G]of Object.entries(X.byFormat))if(G)J.variants.push(...G);return q3($,J,Z)}var RJ=!1,G3=80,H$="async",O$="lazy",NJ=!1;var IJ=E(()=>{oX();GJ()});function DU(){return Q$({name:"img",hasEndTag:!1,description:"Render an optimized responsive image with srcset and lazy loading",transform:async($,X,Z,J)=>{let{src:Y,alt:G,options:Q}=yU($,X,Z);if(!Y)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let w={src:Y,alt:G||"",widths:Q.widths||S5,formats:Q.formats||d7,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},q=Z.__isDev||!1,W=await _$(w,{isDev:q}),K=W.html;if(W.preloadLink)K=W.preloadLink+`
10830
+ </picture>`;let S=[];if(X.placeholder)S.push(Z4);let b=Q?vJ(j):void 0,y;if(w&&F)y=`<link rel="preload" as="image" imagesrcset="${F}" />`;return{html:I,preloadLink:y,css:S.length>0?S.join(`
10831
+ `):void 0,script:b}}async function xJ($,X,Z){let J={src:X.src,processed:!0,variants:[],placeholder:X.placeholder?.dataURL,originalWidth:X.placeholder?.width,originalHeight:X.placeholder?.height};for(let[Y,G]of Object.entries(X.byFormat))if(G)J.variants.push(...G);return j4($,J,Z)}var SJ=!1,K4=80,V$="async",A$="lazy",CJ=!1;var fJ=E(()=>{$4();_J()});function fU(){return K$({name:"img",hasEndTag:!1,description:"Render an optimized responsive image with srcset and lazy loading",transform:async($,X,Z,J)=>{let{src:Y,alt:G,options:Q}=gU($,X,Z);if(!Y)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let w={src:Y,alt:G||"",widths:Q.widths||S5,formats:Q.formats||m7,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},q=Z.__isDev||!1,W=await F$(w,{isDev:q}),K=W.html;if(W.preloadLink)K=W.preloadLink+`
10713
10832
  `+K;if(W.css)K+=`
10714
10833
  <style>${W.css}</style>`;if(W.script)K+=`
10715
- <script>${W.script}</script>`;return K},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function yU($,X,Z){if(X.src)return{src:String(X.src),alt:String(X.alt||""),options:X.options||{}};let J=$.trim();if(J.startsWith("@img(")||J.startsWith("("))J=J.replace(/^@img\(/,"").replace(/^\(/,"").replace(/\)$/,"");let Y=bU(J),G=W3(Y[0],Z)||"",Q=W3(Y[1],Z)||"",w={};if(Y[2]){let q=W3(Y[2],Z);if(typeof q==="object"&&q!==null)w=q;else if(typeof Y[2]==="string")try{w=JSON.parse(Y[2])}catch{}}return{src:G,alt:Q,options:w}}function bU($){let X=[],Z="",J=!1,Y="",G=0,Q=0;for(let w=0;w<$.length;w++){let q=$[w],W=w>0?$[w-1]:"";if((q==='"'||q==="'"||q==="`")&&W!=="\\"){if(!J)J=!0,Y=q;else if(q===Y)J=!1,Y="";else Z+=q;continue}if(!J){if(q==="{")G++;if(q==="}")G--;if(q==="[")Q++;if(q==="]")Q--;if(q===","&&G===0&&Q===0){X.push(Z.trim()),Z="";continue}}Z+=q}if(Z.trim())X.push(Z.trim());return X}function W3($,X){if(typeof $!=="string")return $;let Z=$.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 J=X[Z];if(J!==void 0)return J}if(Z.startsWith("{")||Z.startsWith("["))try{return JSON.parse(Z)}catch{}return Z}var EJ;var DJ=E(()=>{pX();IJ();oX();EJ=DU()});class F${config;constructor($={}){this.config={...SU,...$}}async get($,X){return q$($,X,"video",this.config)}async set($,X,Z){return W$($,X,Z,"video",this.config)}async clear(){return K$("video",this.config)}updateConfig($){this.config={...this.config,...$}}}function K3($){if(!L$)L$=new F$($);else if($)L$.updateConfig($);return L$}async function V$($,X,Z){let J=Z?{directory:`${Z.outputDir}/../.cache`}:{};return K3(J).get($,X)}async function A$($,X,Z,J){let Y=J?{directory:`${J.outputDir}/../.cache`}:{};return K3(Y).set($,X,Z)}async function yJ(){return K3().clear()}var SU,L$=null;var z3=E(()=>{$3();SU={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as U3,basename as j3,extname as B3,join as R$}from"path";import{mkdir as _3}from"fs/promises";async function H3(){try{return await import("ts-videos")}catch{return null}}async function N$($,X,Z,J){let Y=await H3();if(!Y)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let G=U3($);if(!await b0(G))return null;await _3(Z,{recursive:!0});let Q=await x0(G),w=j3($,B3($)),q=X.format||"webp",W=X.timestamp||0,K=`${w}-poster-${Q}.${q}`,z=R$(Z,K),U=await Y.extractThumbnails(G,{timestamps:[W],width:X.width||1280,height:X.height,format:q,quality:X.quality||85,outputDir:Z,outputPattern:K.replace(`.${q}`,"")});if(U&&U.length>0){let B=U[0];return{path:z,url:`${J}/${K}`,width:B.width||X.width||1280,height:B.height||720,timestamp:W,size:B.size||0}}return null}catch(G){return console.warn(`[stx-media] Failed to generate poster: ${G}`),null}}async function T$($,X,Z,J){let Y=await H3();if(!Y)return[];try{let G=U3($);if(!await b0(G))return[];await _3(Z,{recursive:!0});let Q=await x0(G),w=j3($,B3($)),q=X.format||"webp",z=(await new Y.Input(G).getInfo()).duration||60,U=X.count||10,B=X.interval||z/U,j=[];for(let H=0;H<U&&H*B<z;H++)j.push(H*B);let _=await Y.extractThumbnails(G,{timestamps:j,width:X.width||320,format:q,quality:X.quality||80,outputDir:Z,outputPattern:`${w}-thumb-${Q}`});if(_&&_.length>0)return _.map((H,O)=>({path:H.path||R$(Z,`${w}-thumb-${Q}-${O}.${q}`),url:`${J}/${w}-thumb-${Q}-${O}.${q}`,width:H.width||X.width||320,height:H.height||180,timestamp:j[O],size:H.size||0}));return[]}catch(G){return console.warn(`[stx-media] Failed to generate thumbnails: ${G}`),[]}}async function bJ($,X,Z,J){let Y=await H3();if(!Y)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let G=U3($);if(!await b0(G))return null;await _3(Z,{recursive:!0});let Q=await x0(G),w=j3($,B3($)),K=(await new Y.Input(G).getInfo()).duration||60,z=X.columns||10,U=X.interval||5,B=X.thumbnailWidth||160,j=X.thumbnailHeight||90,_=X.format||"jpeg",H=Math.ceil(K/U),O=Math.ceil(H/z),L=`${w}-sprite-${Q}.${_}`,F=R$(Z,L),V=[];for(let A=0;A<H;A++)V.push(A*U);let R=await Y.extractThumbnails(G,{timestamps:V,width:B,height:j,format:_,quality:X.quality||70,outputDir:R$(Z,".temp")});if(!R||R.length===0)return null;try{let A=await import("ts-images"),N=z*B,M=O*j,T=await A.createSprite({images:R.map((k)=>k.path),columns:z,padding:0,outputPath:F,format:_,quality:X.quality||70});return{url:`${J}/${L}`,path:F,columns:z,rows:O,thumbnailWidth:B,thumbnailHeight:j,interval:U,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 O3=E(()=>{Z5()});import{resolve as CJ,basename as PJ,extname as vJ,join as J5}from"path";import{mkdir as M$,writeFile as xJ}from"fs/promises";async function fJ(){try{return await import("ts-videos")}catch{return null}}async function k$($,X,Z,J,Y){let G=await fJ();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let Q=CJ($);if(!await b0(Q))return null;let w=await x0(Q),q=PJ($,vJ($)),W=J5(Z,`${q}-${w}-hls`);await M$(W,{recursive:!0});let K=X.length>0?X:gJ,z=Y?.segmentDuration||6,j=(await new G.Input(Q).getInfo()).duration||0,_=[],H=0;for(let F of K){let V=J5(W,F.label);await M$(V,{recursive:!0});let R=`${F.label}.m3u8`,A=J5(V,R);try{let N=await G.generateHLS(Q,{outputDir:V,segmentDuration:z,width:F.width,height:F.height,videoBitrate:F.bitrate,audioBitrate:F.audioBitrate,playlistName:F.label});if(N)_.push({quality:F,url:`${J}/${q}-${w}-hls/${F.label}/${R}`,path:A}),H+=N.segmentCount||Math.ceil(j/z)}catch(N){console.warn(`[stx-media] Failed to generate HLS for ${F.label}: ${N}`)}}if(_.length===0)return null;let O=J5(W,"master.m3u8"),L=CU(_,J,q,w);return await xJ(O,L),{manifestUrl:`${J}/${q}-${w}-hls/master.m3u8`,manifestPath:O,playlists:_,segmentCount:H,duration:j}}catch(Q){return console.warn(`[stx-media] Failed to generate HLS manifest: ${Q}`),null}}function CU($,X,Z,J){let Y=["#EXTM3U","#EXT-X-VERSION:3"];for(let G of $){let{quality:Q}=G,w=Q.bitrate+(Q.audioBitrate||128000),q=`${Q.width}x${Q.height||Math.round(Q.width*9/16)}`;Y.push(`#EXT-X-STREAM-INF:BANDWIDTH=${w},RESOLUTION=${q},NAME="${Q.label}"`,`${Q.label}/${Q.label}.m3u8`)}return Y.join(`
10716
- `)}async function I$($,X,Z,J,Y){let G=await fJ();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let Q=CJ($);if(!await b0(Q))return null;let w=await x0(Q),q=PJ($,vJ($)),W=J5(Z,`${q}-${w}-dash`);await M$(W,{recursive:!0});let K=X.length>0?X:gJ,z=Y?.segmentDuration||4,U=Y?.minBufferTime||2,_=(await new G.Input(Q).getInfo()).duration||0,H=[],O=[];for(let R of K){let A=J5(W,R.label);await M$(A,{recursive:!0});try{if(await G.generateDASH(Q,{outputDir:A,segmentDuration:z,width:R.width,height:R.height,videoBitrate:R.bitrate,audioBitrate:R.audioBitrate})){if(H.push({bandwidth:R.bitrate,width:R.width,height:R.height||Math.round(R.width*9/16),url:`${J}/${q}-${w}-dash/${R.label}/video`}),R.audioBitrate)O.push({bandwidth:R.audioBitrate,url:`${J}/${q}-${w}-dash/${R.label}/audio`})}}catch(N){console.warn(`[stx-media] Failed to generate DASH for ${R.label}: ${N}`)}}if(H.length===0)return null;let L=J5(W,"manifest.mpd"),F=PU(H,O,_,z,U);await xJ(L,F);let V=[{type:"video",representations:H}];if(O.length>0)V.push({type:"audio",representations:O});return{manifestUrl:`${J}/${q}-${w}-dash/manifest.mpd`,manifestPath:L,adaptationSets:V,duration:_}}catch(Q){return console.warn(`[stx-media] Failed to generate DASH manifest: ${Q}`),null}}function PU($,X,Z,J,Y){let G=SJ(Z),Q=SJ(Y),w=`<?xml version="1.0" encoding="UTF-8"?>
10834
+ <script>${W.script}</script>`;return K},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function gU($,X,Z){if(X.src)return{src:String(X.src),alt:String(X.alt||""),options:X.options||{}};let J=$.trim();if(J.startsWith("@img(")||J.startsWith("("))J=J.replace(/^@img\(/,"").replace(/^\(/,"").replace(/\)$/,"");let Y=hU(J),G=B4(Y[0],Z)||"",Q=B4(Y[1],Z)||"",w={};if(Y[2]){let q=B4(Y[2],Z);if(typeof q==="object"&&q!==null)w=q;else if(typeof Y[2]==="string")try{w=JSON.parse(Y[2])}catch{}}return{src:G,alt:Q,options:w}}function hU($){let X=[],Z="",J=!1,Y="",G=0,Q=0;for(let w=0;w<$.length;w++){let q=$[w],W=w>0?$[w-1]:"";if((q==='"'||q==="'"||q==="`")&&W!=="\\"){if(!J)J=!0,Y=q;else if(q===Y)J=!1,Y="";else Z+=q;continue}if(!J){if(q==="{")G++;if(q==="}")G--;if(q==="[")Q++;if(q==="]")Q--;if(q===","&&G===0&&Q===0){X.push(Z.trim()),Z="";continue}}Z+=q}if(Z.trim())X.push(Z.trim());return X}function B4($,X){if(typeof $!=="string")return $;let Z=$.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 J=X[Z];if(J!==void 0)return J}if(Z.startsWith("{")||Z.startsWith("["))try{return JSON.parse(Z)}catch{}return Z}var gJ;var hJ=E(()=>{sX();fJ();$4();gJ=fU()});class N${config;constructor($={}){this.config={...uU,...$}}async get($,X){return U$($,X,"video",this.config)}async set($,X,Z){return j$($,X,Z,"video",this.config)}async clear(){return B$("video",this.config)}updateConfig($){this.config={...this.config,...$}}}function _4($){if(!R$)R$=new N$($);else if($)R$.updateConfig($);return R$}async function T$($,X,Z){let J=Z?{directory:`${Z.outputDir}/../.cache`}:{};return _4(J).get($,X)}async function M$($,X,Z,J){let Y=J?{directory:`${J.outputDir}/../.cache`}:{};return _4(Y).set($,X,Z)}async function uJ(){return _4().clear()}var uU,R$=null;var H4=E(()=>{G4();uU={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as O4,basename as L4,extname as F4,join as k$}from"path";import{mkdir as V4}from"fs/promises";async function A4(){try{return await import("ts-videos")}catch{return null}}async function I$($,X,Z,J){let Y=await A4();if(!Y)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let G=O4($);if(!await S0(G))return null;await V4(Z,{recursive:!0});let Q=await x0(G),w=L4($,F4($)),q=X.format||"webp",W=X.timestamp||0,K=`${w}-poster-${Q}.${q}`,z=k$(Z,K),U=await Y.extractThumbnails(G,{timestamps:[W],width:X.width||1280,height:X.height,format:q,quality:X.quality||85,outputDir:Z,outputPattern:K.replace(`.${q}`,"")});if(U&&U.length>0){let B=U[0];return{path:z,url:`${J}/${K}`,width:B.width||X.width||1280,height:B.height||720,timestamp:W,size:B.size||0}}return null}catch(G){return console.warn(`[stx-media] Failed to generate poster: ${G}`),null}}async function E$($,X,Z,J){let Y=await A4();if(!Y)return[];try{let G=O4($);if(!await S0(G))return[];await V4(Z,{recursive:!0});let Q=await x0(G),w=L4($,F4($)),q=X.format||"webp",z=(await new Y.Input(G).getInfo()).duration||60,U=X.count||10,B=X.interval||z/U,j=[];for(let H=0;H<U&&H*B<z;H++)j.push(H*B);let _=await Y.extractThumbnails(G,{timestamps:j,width:X.width||320,format:q,quality:X.quality||80,outputDir:Z,outputPattern:`${w}-thumb-${Q}`});if(_&&_.length>0)return _.map((H,L)=>({path:H.path||k$(Z,`${w}-thumb-${Q}-${L}.${q}`),url:`${J}/${w}-thumb-${Q}-${L}.${q}`,width:H.width||X.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 dJ($,X,Z,J){let Y=await A4();if(!Y)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let G=O4($);if(!await S0(G))return null;await V4(Z,{recursive:!0});let Q=await x0(G),w=L4($,F4($)),K=(await new Y.Input(G).getInfo()).duration||60,z=X.columns||10,U=X.interval||5,B=X.thumbnailWidth||160,j=X.thumbnailHeight||90,_=X.format||"jpeg",H=Math.ceil(K/U),L=Math.ceil(H/z),O=`${w}-sprite-${Q}.${_}`,F=k$(Z,O),V=[];for(let R=0;R<H;R++)V.push(R*U);let A=await Y.extractThumbnails(G,{timestamps:V,width:B,height:j,format:_,quality:X.quality||70,outputDir:k$(Z,".temp")});if(!A||A.length===0)return null;try{let R=await import("ts-images"),N=z*B,M=L*j,T=await R.createSprite({images:A.map((k)=>k.path),columns:z,padding:0,outputPath:F,format:_,quality:X.quality||70});return{url:`${J}/${O}`,path:F,columns:z,rows:L,thumbnailWidth:B,thumbnailHeight:j,interval:U,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 R4=E(()=>{J5()});import{resolve as lJ,basename as cJ,extname as pJ,join as Y5}from"path";import{mkdir as D$,writeFile as iJ}from"fs/promises";async function nJ(){try{return await import("ts-videos")}catch{return null}}async function y$($,X,Z,J,Y){let G=await nJ();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let Q=lJ($);if(!await S0(Q))return null;let w=await x0(Q),q=cJ($,pJ($)),W=Y5(Z,`${q}-${w}-hls`);await D$(W,{recursive:!0});let K=X.length>0?X:rJ,z=Y?.segmentDuration||6,j=(await new G.Input(Q).getInfo()).duration||0,_=[],H=0;for(let F of K){let V=Y5(W,F.label);await D$(V,{recursive:!0});let A=`${F.label}.m3u8`,R=Y5(V,A);try{let N=await G.generateHLS(Q,{outputDir:V,segmentDuration:z,width:F.width,height:F.height,videoBitrate:F.bitrate,audioBitrate:F.audioBitrate,playlistName:F.label});if(N)_.push({quality:F,url:`${J}/${q}-${w}-hls/${F.label}/${A}`,path:R}),H+=N.segmentCount||Math.ceil(j/z)}catch(N){console.warn(`[stx-media] Failed to generate HLS for ${F.label}: ${N}`)}}if(_.length===0)return null;let L=Y5(W,"master.m3u8"),O=dU(_,J,q,w);return await iJ(L,O),{manifestUrl:`${J}/${q}-${w}-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 dU($,X,Z,J){let Y=["#EXTM3U","#EXT-X-VERSION:3"];for(let G of $){let{quality:Q}=G,w=Q.bitrate+(Q.audioBitrate||128000),q=`${Q.width}x${Q.height||Math.round(Q.width*9/16)}`;Y.push(`#EXT-X-STREAM-INF:BANDWIDTH=${w},RESOLUTION=${q},NAME="${Q.label}"`,`${Q.label}/${Q.label}.m3u8`)}return Y.join(`
10835
+ `)}async function b$($,X,Z,J,Y){let G=await nJ();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let Q=lJ($);if(!await S0(Q))return null;let w=await x0(Q),q=cJ($,pJ($)),W=Y5(Z,`${q}-${w}-dash`);await D$(W,{recursive:!0});let K=X.length>0?X:rJ,z=Y?.segmentDuration||4,U=Y?.minBufferTime||2,_=(await new G.Input(Q).getInfo()).duration||0,H=[],L=[];for(let A of K){let R=Y5(W,A.label);await D$(R,{recursive:!0});try{if(await G.generateDASH(Q,{outputDir:R,segmentDuration:z,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:`${J}/${q}-${w}-dash/${A.label}/video`}),A.audioBitrate)L.push({bandwidth:A.audioBitrate,url:`${J}/${q}-${w}-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=Y5(W,"manifest.mpd"),F=mU(H,L,_,z,U);await iJ(O,F);let V=[{type:"video",representations:H}];if(L.length>0)V.push({type:"audio",representations:L});return{manifestUrl:`${J}/${q}-${w}-dash/manifest.mpd`,manifestPath:O,adaptationSets:V,duration:_}}catch(Q){return console.warn(`[stx-media] Failed to generate DASH manifest: ${Q}`),null}}function mU($,X,Z,J,Y){let G=mJ(Z),Q=mJ(Y),w=`<?xml version="1.0" encoding="UTF-8"?>
10717
10836
  <MPD xmlns="urn:mpeg:dash:schema:mpd:2011"
10718
10837
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10719
10838
  xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"
@@ -10739,7 +10858,7 @@ ${R.join(`
10739
10858
  </Representation>
10740
10859
  `}w+=` </AdaptationSet>
10741
10860
  `}return w+=` </Period>
10742
- </MPD>`,w}function SJ($){let X=Math.floor($/3600),Z=Math.floor($%3600/60),J=Math.floor($%60),Y="PT";if(X>0)Y+=`${X}H`;if(Z>0)Y+=`${Z}M`;return Y+=`${J}S`,Y}var gJ;var L3=E(()=>{Z5();gJ=[{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 hJ,basename as vU,extname as xU,join as fU}from"path";import{mkdir as gU}from"fs/promises";async function uJ(){try{return await import("ts-videos")}catch{return null}}function hU($){switch($){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 uU($){switch($){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 F3($){let X=await uJ();if(!X)return null;try{let Z=hJ($),Y=await new X.Input(Z).getInfo();return{duration:Y.duration||0,width:Y.width||0,height:Y.height||0,frameRate:Y.frameRate||0,bitrate:Y.bitrate||0,codec:Y.videoCodec||"",audioCodec:Y.audioCodec}}catch(Z){return console.warn(`[stx-media] Failed to analyze video: ${Z}`),null}}async function dJ($,X,Z,J){let Y=await uJ();if(!Y)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:$,processed:!1};let G=await V$($,X,Z);if(G)return G;try{let Q=hJ($);if(!await b0(Q))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let w=Z.outputDir||"dist/videos",q=Z.baseUrl||"/videos";await gU(w,{recursive:!0});let W=await x0(Q),K=vU($,xU($)),z={src:$,processed:!0,hash:W};J?.({percentage:5,stage:"analyzing"}),z.metadata=await F3(Q)||void 0;let U={};if(X.quality)U.bitrate=hU(X.quality);if(X.platform)Object.assign(U,uU(X.platform));if(X.transcode)Object.assign(U,X.transcode);if(Object.keys(U).length>0||X.process){J?.({percentage:10,stage:"transcoding"});let B=`${K}-${W}.mp4`,j=fU(w,B);try{let _=await dU(Q,j,U,Y,(H)=>J?.({percentage:10+H*0.5,stage:"transcoding"}));if(_)z.transcoded={path:j,url:`${q}/${B}`,duration:_.duration,size:_.size,video:{codec:U.codec||"h264",width:_.width,height:_.height,bitrate:_.bitrate,frameRate:_.frameRate},audio:_.audioCodec?{codec:U.audioCodec||"aac",bitrate:U.audioBitrate||128000,sampleRate:U.sampleRate||48000,channels:U.channels||2}:void 0}}catch(_){z.errors=z.errors||[],z.errors.push(`Transcoding failed: ${_}`)}}if(X.generatePoster){J?.({percentage:65,stage:"generating-poster"});let B=typeof X.generatePoster==="object"?X.generatePoster:{timestamp:0},j=await N$(Q,B,w,q);if(j)z.poster=j}if(Z.thumbnails?.enabled){J?.({percentage:70,stage:"generating-thumbnails"});let B=await T$(Q,Z.thumbnails,w,q);if(B.length>0)z.thumbnails=B}if(X.streaming){J?.({percentage:80,stage:"generating-manifests"});let B=typeof X.streaming==="object"?X.streaming:Z.streaming||{format:"hls"};if(B.format==="hls"||B.format===void 0){let j=await k$(Q,B.qualities||Z.streaming?.defaultQualities||[],w,q);if(j)z.streaming={...z.streaming,hls:j}}if(B.format==="dash"){let j=await I$(Q,B.qualities||Z.streaming?.defaultQualities||[],w,q);if(j)z.streaming={...z.streaming,dash:j}}}if(X.spriteSheet)J?.({percentage:90,stage:"generating-sprite-sheet"});return J?.({percentage:100,stage:"complete"}),await A$($,X,z,Z),z}catch(Q){return{src:$,processed:!1,errors:[`Processing failed: ${Q}`]}}}async function dU($,X,Z,J,Y){try{let Q=await new J.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((w)=>{Y?.(w.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 mJ=E(()=>{Z5();z3();O3();L3()});var lJ={};t(lJ,{setCachedVideoResult:()=>A$,processVideo:()=>dJ,getCachedVideoResult:()=>V$,generateThumbnails:()=>T$,generateSpriteSheet:()=>bJ,generatePoster:()=>N$,generateHLSManifest:()=>k$,generateDASHManifest:()=>I$,clearVideoCache:()=>yJ,analyzeVideo:()=>F3,VideoProcessorCache:()=>F$});var cJ=E(()=>{mJ();O3();L3();z3()});async function iJ(){try{return await Promise.resolve().then(() => (cJ(),lJ))}catch($){if(!pJ)console.warn("[stx-media] Video processor not available, some features disabled:",$),pJ=!0;return null}}async function E$($,X={}){let Z=X,J=$;if(J.process&&!J.skipProcessing){if(Z.tsVideosConfig?.enabled&&!Z.isDev)return nU(J,Z)}if(Z.processedResult?.processed)return sJ($,Z.processedResult,X);let Y;if(J.generatePoster&&J.src&&!$.poster)Y=await rU(J,Z);let{src:G,sources:Q=[],poster:w,posterPlaceholder:q,controls:W=nJ,autoplay:K=!1,muted:z=!1,loop:U=!1,preload:B=rJ,playsinline:j=!0,lazy:_=!0,player:H="native",type:O,width:L,height:F,crossorigin:V,disablePictureInPicture:R=!1,disableRemotePlayback:A=!1}=$,N=Y||w,M=$.class,T=$.style,k=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(H==="ts-video")return cU($,X);if(O&&O!=="video")return lU(G||"",O,$);let D=Q.length>0?Q:G?[{src:G,type:oJ(G)}]:[],I=[`id="${k}"`];if(W)I.push("controls");if(K)I.push("autoplay");if(z)I.push("muted");if(U)I.push("loop");if(j)I.push("playsinline");if(R)I.push("disablepictureinpicture");if(A)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="${E0(N)}"`);I.push("data-stx-lazy")}else if(I.push(`preload="${B}"`),N)I.push(`poster="${E0(N)}"`);if(L)I.push(`width="${L}"`);if(F)I.push(`height="${F}"`);if(M)I.push(`class="${E0(M)}"`);if(T)I.push(`style="${E0(T)}"`);let S=D.map((v)=>{return` <source ${_?`data-src="${E0(v.src)}"`:`src="${E0(v.src)}"`} type="${v.type}"${v.media?` media="${v.media}"`:""} />`}).join(`
10861
+ </MPD>`,w}function mJ($){let X=Math.floor($/3600),Z=Math.floor($%3600/60),J=Math.floor($%60),Y="PT";if(X>0)Y+=`${X}H`;if(Z>0)Y+=`${Z}M`;return Y+=`${J}S`,Y}var rJ;var N4=E(()=>{J5();rJ=[{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 oJ,basename as lU,extname as cU,join as pU}from"path";import{mkdir as iU}from"fs/promises";async function sJ(){try{return await import("ts-videos")}catch{return null}}function nU($){switch($){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 rU($){switch($){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 T4($){let X=await sJ();if(!X)return null;try{let Z=oJ($),Y=await new X.Input(Z).getInfo();return{duration:Y.duration||0,width:Y.width||0,height:Y.height||0,frameRate:Y.frameRate||0,bitrate:Y.bitrate||0,codec:Y.videoCodec||"",audioCodec:Y.audioCodec}}catch(Z){return console.warn(`[stx-media] Failed to analyze video: ${Z}`),null}}async function aJ($,X,Z,J){let Y=await sJ();if(!Y)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:$,processed:!1};let G=await T$($,X,Z);if(G)return G;try{let Q=oJ($);if(!await S0(Q))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let w=Z.outputDir||"dist/videos",q=Z.baseUrl||"/videos";await iU(w,{recursive:!0});let W=await x0(Q),K=lU($,cU($)),z={src:$,processed:!0,hash:W};J?.({percentage:5,stage:"analyzing"}),z.metadata=await T4(Q)||void 0;let U={};if(X.quality)U.bitrate=nU(X.quality);if(X.platform)Object.assign(U,rU(X.platform));if(X.transcode)Object.assign(U,X.transcode);if(Object.keys(U).length>0||X.process){J?.({percentage:10,stage:"transcoding"});let B=`${K}-${W}.mp4`,j=pU(w,B);try{let _=await oU(Q,j,U,Y,(H)=>J?.({percentage:10+H*0.5,stage:"transcoding"}));if(_)z.transcoded={path:j,url:`${q}/${B}`,duration:_.duration,size:_.size,video:{codec:U.codec||"h264",width:_.width,height:_.height,bitrate:_.bitrate,frameRate:_.frameRate},audio:_.audioCodec?{codec:U.audioCodec||"aac",bitrate:U.audioBitrate||128000,sampleRate:U.sampleRate||48000,channels:U.channels||2}:void 0}}catch(_){z.errors=z.errors||[],z.errors.push(`Transcoding failed: ${_}`)}}if(X.generatePoster){J?.({percentage:65,stage:"generating-poster"});let B=typeof X.generatePoster==="object"?X.generatePoster:{timestamp:0},j=await I$(Q,B,w,q);if(j)z.poster=j}if(Z.thumbnails?.enabled){J?.({percentage:70,stage:"generating-thumbnails"});let B=await E$(Q,Z.thumbnails,w,q);if(B.length>0)z.thumbnails=B}if(X.streaming){J?.({percentage:80,stage:"generating-manifests"});let B=typeof X.streaming==="object"?X.streaming:Z.streaming||{format:"hls"};if(B.format==="hls"||B.format===void 0){let j=await y$(Q,B.qualities||Z.streaming?.defaultQualities||[],w,q);if(j)z.streaming={...z.streaming,hls:j}}if(B.format==="dash"){let j=await b$(Q,B.qualities||Z.streaming?.defaultQualities||[],w,q);if(j)z.streaming={...z.streaming,dash:j}}}if(X.spriteSheet)J?.({percentage:90,stage:"generating-sprite-sheet"});return J?.({percentage:100,stage:"complete"}),await M$($,X,z,Z),z}catch(Q){return{src:$,processed:!1,errors:[`Processing failed: ${Q}`]}}}async function oU($,X,Z,J,Y){try{let Q=await new J.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((w)=>{Y?.(w.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 tJ=E(()=>{J5();H4();R4();N4()});var eJ={};t(eJ,{setCachedVideoResult:()=>M$,processVideo:()=>aJ,getCachedVideoResult:()=>T$,generateThumbnails:()=>E$,generateSpriteSheet:()=>dJ,generatePoster:()=>I$,generateHLSManifest:()=>y$,generateDASHManifest:()=>b$,clearVideoCache:()=>uJ,analyzeVideo:()=>T4,VideoProcessorCache:()=>N$});var $Y=E(()=>{tJ();R4();N4();H4()});async function ZY(){try{return await Promise.resolve().then(() => ($Y(),eJ))}catch($){if(!XY)console.warn("[stx-media] Video processor not available, some features disabled:",$),XY=!0;return null}}async function S$($,X={}){let Z=X,J=$;if(J.process&&!J.skipProcessing){if(Z.tsVideosConfig?.enabled&&!Z.isDev)return Xj(J,Z)}if(Z.processedResult?.processed)return QY($,Z.processedResult,X);let Y;if(J.generatePoster&&J.src&&!$.poster)Y=await Zj(J,Z);let{src:G,sources:Q=[],poster:w,posterPlaceholder:q,controls:W=JY,autoplay:K=!1,muted:z=!1,loop:U=!1,preload:B=YY,playsinline:j=!0,lazy:_=!0,player:H="native",type:L,width:O,height:F,crossorigin:V,disablePictureInPicture:A=!1,disableRemotePlayback:R=!1}=$,N=Y||w,M=$.class,T=$.style,k=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(H==="ts-video")return tU($,X);if(L&&L!=="video")return aU(G||"",L,$);let D=Q.length>0?Q:G?[{src:G,type:GY(G)}]:[],I=[`id="${k}"`];if(W)I.push("controls");if(K)I.push("autoplay");if(z)I.push("muted");if(U)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="${D0(N)}"`);I.push("data-stx-lazy")}else if(I.push(`preload="${B}"`),N)I.push(`poster="${D0(N)}"`);if(O)I.push(`width="${O}"`);if(F)I.push(`height="${F}"`);if(M)I.push(`class="${D0(M)}"`);if(T)I.push(`style="${D0(T)}"`);let S=D.map((v)=>{return` <source ${_?`data-src="${D0(v.src)}"`:`src="${D0(v.src)}"`} type="${v.type}"${v.media?` media="${v.media}"`:""} />`}).join(`
10743
10862
  `),b=`<video ${I.join(" ")}>
10744
10863
  ${S}
10745
10864
  Your browser does not support the video tag.
@@ -10778,20 +10897,20 @@ ${S}
10778
10897
 
10779
10898
  observer.observe(video);
10780
10899
  })();
10781
- `.trim();return{html:b,script:y}}function lU($,X,Z){let{width:J=640,height:Y=360}=Z,G=Z.class,Q=Z.style,w=Z.id||`stx-embed-${Math.random().toString(36).slice(2,8)}`,q,W=null;switch(X){case"youtube":W=pU($),q=W?`https://www.youtube-nocookie.com/embed/${W}`:$;break;case"vimeo":W=iU($),q=W?`https://player.vimeo.com/video/${W}`:$;break;case"dailymotion":W=$.split("/").pop()||"",q=`https://www.dailymotion.com/embed/video/${W}`;break;case"twitch":W=$.split("/").pop()||"",q=`https://player.twitch.tv/?video=${W}&parent=${typeof window<"u"?window.location.hostname:"localhost"}`;break;default:q=$}let K=[`id="${w}"`,`src="${E0(q)}"`,`width="${J}"`,`height="${Y}"`,'frameborder="0"',"allowfullscreen",'allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"'];if(G)K.push(`class="${E0(G)}"`);if(Q)K.push(`style="${E0(Q)}"`);if(Z.lazy)K.push('loading="lazy"');return{html:`<div class="stx-video-embed" style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;">
10900
+ `.trim();return{html:b,script:y}}function aU($,X,Z){let{width:J=640,height:Y=360}=Z,G=Z.class,Q=Z.style,w=Z.id||`stx-embed-${Math.random().toString(36).slice(2,8)}`,q,W=null;switch(X){case"youtube":W=eU($),q=W?`https://www.youtube-nocookie.com/embed/${W}`:$;break;case"vimeo":W=$j($),q=W?`https://player.vimeo.com/video/${W}`:$;break;case"dailymotion":W=$.split("/").pop()||"",q=`https://www.dailymotion.com/embed/video/${W}`;break;case"twitch":W=$.split("/").pop()||"",q=`https://player.twitch.tv/?video=${W}&parent=${typeof window<"u"?window.location.hostname:"localhost"}`;break;default:q=$}let K=[`id="${w}"`,`src="${D0(q)}"`,`width="${J}"`,`height="${Y}"`,'frameborder="0"',"allowfullscreen",'allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"'];if(G)K.push(`class="${D0(G)}"`);if(Q)K.push(`style="${D0(Q)}"`);if(Z.lazy)K.push('loading="lazy"');return{html:`<div class="stx-video-embed" style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;">
10782
10901
  <iframe ${K.join(" ")} style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe>
10783
- </div>`}}function cU($,X={}){let{src:Z,sources:J=[],poster:Y,controls:G=!0,autoplay:Q=!1,muted:w=!1,loop:q=!1,preload:W="metadata",playsinline:K=!0,lazy:z=!0,width:U,height:B}=$,j=$.class,_=$.style,H=$.id||`ts-video-${Math.random().toString(36).slice(2,8)}`,O={src:J.length>0?J:Z,autoplay:Q,loop:q,muted:w,playsinline:K,preload:W,poster:Y,controls:G,title:$.title},L=["position: relative",U?`width: ${typeof U==="number"?U+"px":U}`:"width: 100%",B?`height: ${typeof B==="number"?B+"px":B}`:"",_||""].filter(Boolean).join("; "),F=`
10902
+ </div>`}}function tU($,X={}){let{src:Z,sources:J=[],poster:Y,controls:G=!0,autoplay:Q=!1,muted:w=!1,loop:q=!1,preload:W="metadata",playsinline:K=!0,lazy:z=!0,width:U,height:B}=$,j=$.class,_=$.style,H=$.id||`ts-video-${Math.random().toString(36).slice(2,8)}`,L={src:J.length>0?J:Z,autoplay:Q,loop:q,muted:w,playsinline:K,preload:W,poster:Y,controls:G,title:$.title},O=["position: relative",U?`width: ${typeof U==="number"?U+"px":U}`:"width: 100%",B?`height: ${typeof B==="number"?B+"px":B}`:"",_||""].filter(Boolean).join("; "),F=`
10784
10903
  <div
10785
10904
  id="${H}"
10786
- class="ts-video-player${j?" "+E0(j):""}"
10787
- style="${L}"
10905
+ class="ts-video-player${j?" "+D0(j):""}"
10906
+ style="${O}"
10788
10907
  data-ts-video-player
10789
- data-config='${JSON.stringify(O)}'
10908
+ data-config='${JSON.stringify(L)}'
10790
10909
  ${z?"data-lazy":""}
10791
10910
  >
10792
10911
  <div class="ts-video-player__container">
10793
10912
  ${Y?`
10794
- <div class="ts-video-player__placeholder" style="background-image: url('${E0(Y)}');">
10913
+ <div class="ts-video-player__placeholder" style="background-image: url('${D0(Y)}');">
10795
10914
  <button class="ts-video-player__play-button" aria-label="Play video">
10796
10915
  <svg viewBox="0 0 24 24" fill="currentColor" width="64" height="64">
10797
10916
  <path d="M8 5v14l11-7z"/>
@@ -10817,7 +10936,7 @@ ${S}
10817
10936
 
10818
10937
  // Load ts-video-player from CDN
10819
10938
  var script = document.createElement('script');
10820
- script.src = '${mU}';
10939
+ script.src = '${sU}';
10821
10940
  script.onload = initPlayer;
10822
10941
  script.onerror = function() {
10823
10942
  console.error('[stx] Failed to load ts-video-player');
@@ -10895,7 +11014,7 @@ else {
10895
11014
  });
10896
11015
  }
10897
11016
  })();
10898
- `.trim(),R=`
11017
+ `.trim(),A=`
10899
11018
  .ts-video-player {
10900
11019
  position: relative;
10901
11020
  background: #000;
@@ -10947,14 +11066,14 @@ else {
10947
11066
  .ts-video-player__play-button svg {
10948
11067
  margin-left: 4px;
10949
11068
  }
10950
- `.trim();return{html:F,script:V,css:R}}function oJ($){switch($.split(".").pop()?.toLowerCase()){case"mp4":return"video/mp4";case"webm":return"video/webm";case"ogg":case"ogv":return"video/ogg";case"mov":return"video/quicktime";case"avi":return"video/x-msvideo";case"mkv":return"video/x-matroska";case"m3u8":return"application/x-mpegURL";default:return"video/mp4"}}function pU($){let X=[/youtube\.com\/watch\?v=([^&]+)/,/youtube\.com\/embed\/([^?]+)/,/youtu\.be\/([^?]+)/,/youtube\.com\/v\/([^?]+)/];for(let Z of X){let J=$.match(Z);if(J)return J[1]}return null}function iU($){let X=$.match(/vimeo\.com\/(\d+)/);return X?X[1]:null}function E0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}async function nU($,X){let Z=await iJ();if(!Z)return E$({...$,process:!1},X);let J=X.tsVideosConfig,Y=await Z.processVideo($.src,$,J,$.onProcessProgress);if(Y.processed)return sJ($,Y,X);return E$({...$,process:!1},X)}async function rU($,X){let Z=await iJ();if(!Z||!$.src)return;let J=typeof $.generatePoster==="object"?$.generatePoster:{timestamp:0},Y=X.tsVideosConfig||{enabled:!0,outputDir:"dist/videos",baseUrl:"/videos"};return(await Z.generatePoster($.src,J,Y.outputDir,Y.baseUrl||"/videos"))?.url}function sJ($,X,Z){let{controls:J=nJ,autoplay:Y=!1,muted:G=!1,loop:Q=!1,preload:w=rJ,playsinline:q=!0,lazy:W=!0,width:K,height:z,crossorigin:U,disablePictureInPicture:B=!1,disableRemotePlayback:j=!1}=$,_=$.class,H=$.style,O=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`,L=$.src,F=oJ(L);if(X.transcoded)L=X.transcoded.url,F="video/mp4";let V=X.streaming?.hls||X.streaming?.dash;if(V){if(X.streaming?.hls)L=X.streaming.hls.manifestUrl,F="application/x-mpegURL";else if(X.streaming?.dash)L=X.streaming.dash.manifestUrl,F="application/dash+xml"}let R=X.poster?.url||$.poster,A=[`id="${O}"`];if(J)A.push("controls");if(Y)A.push("autoplay");if(G)A.push("muted");if(Q)A.push("loop");if(q)A.push("playsinline");if(B)A.push("disablepictureinpicture");if(j)A.push("disableremoteplayback");if(U)A.push(`crossorigin="${U}"`);if(W){if(A.push(`data-preload="${w}"`),A.push('preload="none"'),R)A.push(`data-poster="${E0(R)}"`);A.push("data-stx-lazy")}else if(A.push(`preload="${w}"`),R)A.push(`poster="${E0(R)}"`);let N=K||X.metadata?.width,M=z||X.metadata?.height;if(N)A.push(`width="${N}"`);if(M)A.push(`height="${M}"`);if(_)A.push(`class="${E0(_)}"`);if(H)A.push(`style="${E0(H)}"`);let k=` <source ${W?`data-src="${E0(L)}"`:`src="${E0(L)}"`} type="${F}" />`,D=`<video ${A.join(" ")}>
11069
+ `.trim();return{html:F,script:V,css:A}}function GY($){switch($.split(".").pop()?.toLowerCase()){case"mp4":return"video/mp4";case"webm":return"video/webm";case"ogg":case"ogv":return"video/ogg";case"mov":return"video/quicktime";case"avi":return"video/x-msvideo";case"mkv":return"video/x-matroska";case"m3u8":return"application/x-mpegURL";default:return"video/mp4"}}function eU($){let X=[/youtube\.com\/watch\?v=([^&]+)/,/youtube\.com\/embed\/([^?]+)/,/youtu\.be\/([^?]+)/,/youtube\.com\/v\/([^?]+)/];for(let Z of X){let J=$.match(Z);if(J)return J[1]}return null}function $j($){let X=$.match(/vimeo\.com\/(\d+)/);return X?X[1]:null}function D0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}async function Xj($,X){let Z=await ZY();if(!Z)return S$({...$,process:!1},X);let J=X.tsVideosConfig,Y=await Z.processVideo($.src,$,J,$.onProcessProgress);if(Y.processed)return QY($,Y,X);return S$({...$,process:!1},X)}async function Zj($,X){let Z=await ZY();if(!Z||!$.src)return;let J=typeof $.generatePoster==="object"?$.generatePoster:{timestamp:0},Y=X.tsVideosConfig||{enabled:!0,outputDir:"dist/videos",baseUrl:"/videos"};return(await Z.generatePoster($.src,J,Y.outputDir,Y.baseUrl||"/videos"))?.url}function QY($,X,Z){let{controls:J=JY,autoplay:Y=!1,muted:G=!1,loop:Q=!1,preload:w=YY,playsinline:q=!0,lazy:W=!0,width:K,height:z,crossorigin:U,disablePictureInPicture:B=!1,disableRemotePlayback:j=!1}=$,_=$.class,H=$.style,L=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`,O=$.src,F=GY(O);if(X.transcoded)O=X.transcoded.url,F="video/mp4";let V=X.streaming?.hls||X.streaming?.dash;if(V){if(X.streaming?.hls)O=X.streaming.hls.manifestUrl,F="application/x-mpegURL";else if(X.streaming?.dash)O=X.streaming.dash.manifestUrl,F="application/dash+xml"}let A=X.poster?.url||$.poster,R=[`id="${L}"`];if(J)R.push("controls");if(Y)R.push("autoplay");if(G)R.push("muted");if(Q)R.push("loop");if(q)R.push("playsinline");if(B)R.push("disablepictureinpicture");if(j)R.push("disableremoteplayback");if(U)R.push(`crossorigin="${U}"`);if(W){if(R.push(`data-preload="${w}"`),R.push('preload="none"'),A)R.push(`data-poster="${D0(A)}"`);R.push("data-stx-lazy")}else if(R.push(`preload="${w}"`),A)R.push(`poster="${D0(A)}"`);let N=K||X.metadata?.width,M=z||X.metadata?.height;if(N)R.push(`width="${N}"`);if(M)R.push(`height="${M}"`);if(_)R.push(`class="${D0(_)}"`);if(H)R.push(`style="${D0(H)}"`);let k=` <source ${W?`data-src="${D0(O)}"`:`src="${D0(O)}"`} type="${F}" />`,D=`<video ${R.join(" ")}>
10951
11070
  ${k}
10952
11071
  Your browser does not support the video tag.
10953
- </video>`;if(X.spriteSheet)D=`<div class="stx-video-wrapper" data-sprite-sheet="${E0(X.spriteSheet.url)}" data-sprite-cols="${X.spriteSheet.columns}" data-sprite-interval="${X.spriteSheet.interval}">
11072
+ </video>`;if(X.spriteSheet)D=`<div class="stx-video-wrapper" data-sprite-sheet="${D0(X.spriteSheet.url)}" data-sprite-cols="${X.spriteSheet.columns}" data-sprite-interval="${X.spriteSheet.interval}">
10954
11073
  ${D}
10955
11074
  </div>`;let I;if(W)I=`
10956
11075
  (function() {
10957
- var video = document.getElementById('${O}');
11076
+ var video = document.getElementById('${L}');
10958
11077
  if (!video) return;
10959
11078
 
10960
11079
  var observer = new IntersectionObserver(function(entries) {
@@ -10996,9 +11115,9 @@ ${D}
10996
11115
  width: 100%;
10997
11116
  height: auto;
10998
11117
  }
10999
- `.trim();return{html:D,script:I,css:S}}var pJ=!1,nJ=!0,rJ="metadata",mU="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";var aJ=E(()=>{A3()});function tJ(){return Q$({name:"video",hasEndTag:!1,description:"Render a video with optional ts-videos processing, streaming, and poster generation",transform:async($,X,Z,J)=>{let{src:Y,options:G}=oU($,X,Z);if(!Y)return console.warn("@video directive: missing src argument"),"<!-- @video: missing src -->";let Q={src:Y,poster:G.poster,controls:G.controls!==!1,autoplay:G.autoplay||!1,muted:G.muted||!1,loop:G.loop||!1,preload:G.preload||"metadata",playsinline:G.playsinline!==!1,lazy:G.lazy!==!1,player:G.player||"native",type:G.type,width:G.width,height:G.height,class:G.class,style:G.style,id:G.id,crossorigin:G.crossorigin,disablePictureInPicture:G.disablePictureInPicture,disableRemotePlayback:G.disableRemotePlayback,title:G.title,quality:G.quality,platform:G.platform,process:G.process,generatePoster:G.generatePoster,streaming:G.streaming,transcode:G.transcode,spriteSheet:G.spriteSheet,waveform:G.waveform},q={isDev:Z.__isDev||!1,tsVideosConfig:Z.__tsVideosConfig},W=await E$(Q,q),K=W.html;if(W.css)K+=`
11118
+ `.trim();return{html:D,script:I,css:S}}var XY=!1,JY=!0,YY="metadata",sU="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";var wY=E(()=>{k4()});function qY(){return K$({name:"video",hasEndTag:!1,description:"Render a video with optional ts-videos processing, streaming, and poster generation",transform:async($,X,Z,J)=>{let{src:Y,options:G}=Jj($,X,Z);if(!Y)return console.warn("@video directive: missing src argument"),"<!-- @video: missing src -->";let Q={src:Y,poster:G.poster,controls:G.controls!==!1,autoplay:G.autoplay||!1,muted:G.muted||!1,loop:G.loop||!1,preload:G.preload||"metadata",playsinline:G.playsinline!==!1,lazy:G.lazy!==!1,player:G.player||"native",type:G.type,width:G.width,height:G.height,class:G.class,style:G.style,id:G.id,crossorigin:G.crossorigin,disablePictureInPicture:G.disablePictureInPicture,disableRemotePlayback:G.disableRemotePlayback,title:G.title,quality:G.quality,platform:G.platform,process:G.process,generatePoster:G.generatePoster,streaming:G.streaming,transcode:G.transcode,spriteSheet:G.spriteSheet,waveform:G.waveform},q={isDev:Z.__isDev||!1,tsVideosConfig:Z.__tsVideosConfig},W=await S$(Q,q),K=W.html;if(W.css)K+=`
11000
11119
  <style>${W.css}</style>`;if(W.script)K+=`
11001
- <script>${W.script}</script>`;return K},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function oU($,X,Z){if(X.src)return{src:String(X.src),options:X.options||{}};let J=$.trim();if(J.startsWith("@video(")||J.startsWith("("))J=J.replace(/^@video\(/,"").replace(/^\(/,"").replace(/\)$/,"");let Y=sU(J),G=eJ(Y[0],Z)||"",Q={};if(Y[1]){let w=eJ(Y[1],Z);if(typeof w==="object"&&w!==null)Q=w;else if(typeof Y[1]==="string")try{Q=JSON.parse(Y[1])}catch{}}return{src:G,options:Q}}function sU($){let X=[],Z="",J=!1,Y="",G=0,Q=0;for(let w=0;w<$.length;w++){let q=$[w],W=w>0?$[w-1]:"";if((q==='"'||q==="'"||q==="`")&&W!=="\\"){if(!J)J=!0,Y=q;else if(q===Y)J=!1,Y="";else Z+=q;continue}if(!J){if(q==="{")G++;if(q==="}")G--;if(q==="[")Q++;if(q==="]")Q--;if(q===","&&G===0&&Q===0){X.push(Z.trim()),Z="";continue}}Z+=q}if(Z.trim())X.push(Z.trim());return X}function eJ($,X){if(typeof $!=="string")return $;let Z=$.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 J=X[Z];if(J!==void 0)return J}if(Z.startsWith("{")||Z.startsWith("["))try{return JSON.parse(Z)}catch{}return Z}var V3;var A3=E(()=>{pX();aJ();V3=tJ()});function aU($,X){let Z=X.pwa?.manifest?.themeColor||"#4f46e5";return`<div class="stx-pwa-install" style="display:none;">
11120
+ <script>${W.script}</script>`;return K},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function Jj($,X,Z){if(X.src)return{src:String(X.src),options:X.options||{}};let J=$.trim();if(J.startsWith("@video(")||J.startsWith("("))J=J.replace(/^@video\(/,"").replace(/^\(/,"").replace(/\)$/,"");let Y=Yj(J),G=WY(Y[0],Z)||"",Q={};if(Y[1]){let w=WY(Y[1],Z);if(typeof w==="object"&&w!==null)Q=w;else if(typeof Y[1]==="string")try{Q=JSON.parse(Y[1])}catch{}}return{src:G,options:Q}}function Yj($){let X=[],Z="",J=!1,Y="",G=0,Q=0;for(let w=0;w<$.length;w++){let q=$[w],W=w>0?$[w-1]:"";if((q==='"'||q==="'"||q==="`")&&W!=="\\"){if(!J)J=!0,Y=q;else if(q===Y)J=!1,Y="";else Z+=q;continue}if(!J){if(q==="{")G++;if(q==="}")G--;if(q==="[")Q++;if(q==="]")Q--;if(q===","&&G===0&&Q===0){X.push(Z.trim()),Z="";continue}}Z+=q}if(Z.trim())X.push(Z.trim());return X}function WY($,X){if(typeof $!=="string")return $;let Z=$.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 J=X[Z];if(J!==void 0)return J}if(Z.startsWith("{")||Z.startsWith("["))try{return JSON.parse(Z)}catch{}return Z}var M4;var k4=E(()=>{sX();wY();M4=qY()});function Gj($,X){let Z=X.pwa?.manifest?.themeColor||"#4f46e5";return`<div class="stx-pwa-install" style="display:none;">
11002
11121
  ${$}
11003
11122
  </div>
11004
11123
  <script>
@@ -11043,7 +11162,7 @@ ${D}
11043
11162
  }
11044
11163
  }
11045
11164
  })();
11046
- </script>`}function tU($,X){let Z=X.pwa?.updates,J=Z?.message||"A new version is available. Reload to update?",Y=Z?.autoReload||!1,G=$.trim().length>0,Q=`
11165
+ </script>`}function Qj($,X){let Z=X.pwa?.updates,J=Z?.message||"A new version is available. Reload to update?",Y=Z?.autoReload||!1,G=$.trim().length>0,Q=`
11047
11166
  <div class="stx-pwa-update-banner" style="
11048
11167
  position: fixed;
11049
11168
  bottom: 0;
@@ -11154,7 +11273,7 @@ else {
11154
11273
  // Also listen for custom event
11155
11274
  window.addEventListener('pwa-update-available', showUpdate);
11156
11275
  })();
11157
- </script>`}function eU($,X){let Z=$.trim().length>0,J=`
11276
+ </script>`}function wj($,X){let Z=$.trim().length>0,J=`
11158
11277
  <div class="stx-offline-indicator" style="
11159
11278
  position: fixed;
11160
11279
  top: 16px;
@@ -11215,7 +11334,7 @@ else {
11215
11334
  window.addEventListener('offline', updateStatus);
11216
11335
  updateStatus();
11217
11336
  })();
11218
- </script>`}function $j($,X){let Z=X.pwa?.push,J=Z?.vapidPublicKey||"",Y=Z?.subscriptionEndpoint||"/api/push/subscribe";return`<div class="stx-pwa-push" style="display:none;">
11337
+ </script>`}function qj($,X){let Z=X.pwa?.push,J=Z?.vapidPublicKey||"",Y=Z?.subscriptionEndpoint||"/api/push/subscribe";return`<div class="stx-pwa-push" style="display:none;">
11219
11338
  ${$}
11220
11339
  </div>
11221
11340
  <script>
@@ -11297,55 +11416,55 @@ catch (error) {
11297
11416
  init();
11298
11417
  }
11299
11418
  })();
11300
- </script>`}var Xj,Zj,Jj,Yj,$Y;var XY=E(()=>{Xj={name:"pwa.installButton",handler:($,X,Z,J)=>{let Y=Z.__stx_options||{};return aU($,Y)},hasEndTag:!0,description:"Renders a PWA install prompt button that appears when the app can be installed"},Zj={name:"pwa.updatePrompt",handler:($,X,Z,J)=>{let Y=Z.__stx_options||{};return tU($,Y)},hasEndTag:!0,description:"Renders a PWA update notification UI when a new version is available"},Jj={name:"pwa.offlineIndicator",handler:($,X,Z,J)=>{let Y=Z.__stx_options||{};return eU($,Y)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},Yj={name:"pwa.pushSubscribe",handler:($,X,Z,J)=>{let Y=Z.__stx_options||{};return $j($,Y)},hasEndTag:!0,description:"Renders a push notification subscription button"},$Y=[Xj,Zj,Jj,Yj]});function R3($){for(let[X,Z]of Object.entries(a))if(Z===$)return X;return}var a;var D$=E(()=>{a={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 l7(){return!1}function c7(){return!l7()||process.env.STX_DEBUG==="true"}function y$(){return!1}import Gj from"path";function b$(){return{...N3}}function S$($){if(!N3.showRelativePaths||!$)return $;let X=N3.baseDir||process.cwd();try{let Z=Gj.relative(X,$);return Z.startsWith("..")?$:Z}catch{return $}}var Qj,N3,C$,Y5,P$;var v$=E(()=>{D$();Qj={showRelativePaths:!1,enableAutoRecovery:c7(),logRecoveryWarnings:!0},N3={...Qj};C$=class C$ extends Error{code;filePath;line;column;context;numericCode;constructor($,X,Z,J,Y,G,Q){super($);this.code=X;this.filePath=Z;this.line=J;this.column=Y;this.context=G;if(this.name="StxError",this.numericCode=Q||a.EVALUATION_ERROR,this.filePath)this.filePath=S$(this.filePath)}};Y5=class Y5 extends C${constructor($,X,Z,J,Y,G){super($,"stx_RUNTIME_ERROR",X,Z,J,Y,G||a.EVALUATION_ERROR);this.name="StxRuntimeError"}};P$=class P$ extends C${isFatal=!0;constructor($,X,Z,J,Y,G){super($,"stx_VALIDATION_ERROR",X,Z,J,Y,G||a.DOM_API_VIOLATION);this.name="StxValidationError"}}});function JY($){let{type:X,message:Z,code:J,filePath:Y,line:G,column:Q,template:w,offset:q,snippet:W,suggestion:K,format:z="text"}=$,U=G,B=Q;if(!U&&w&&q!==void 0){let L=Uj(w,q);U=L.line,B=L.column}let j=Y?S$(Y):void 0,_=J?R3(J):void 0,H={type:X,code:J,codeName:_,message:Z,filePath:j,line:U,column:B,snippet:W,suggestion:K,timestamp:new Date().toISOString()},O;switch(z){case"html":O=qj(H);break;case"json":O=JSON.stringify(H,null,2);break;case"console":O=Wj(H,w,q);break;case"text":default:O=wj(H,w,q);break}return{formatted:O,data:H}}function wj($,X,Z){let J=[],Y=$.code?` [${$.codeName||$.code}]`:"";if(J.push(`[${$.type} Error${Y}]`),$.filePath){let G=$.filePath;if($.line){if(G+=`:${$.line}`,$.column)G+=`:${$.column}`}J.push(`at ${G}`)}if(J.push(`
11301
- ${$.message}`),X&&$.line){let G=Kj(X,$.line,2);if(G)J.push(`
11419
+ </script>`}var Wj,Kj,zj,Uj,KY;var zY=E(()=>{Wj={name:"pwa.installButton",handler:($,X,Z,J)=>{let Y=Z.__stx_options||{};return Gj($,Y)},hasEndTag:!0,description:"Renders a PWA install prompt button that appears when the app can be installed"},Kj={name:"pwa.updatePrompt",handler:($,X,Z,J)=>{let Y=Z.__stx_options||{};return Qj($,Y)},hasEndTag:!0,description:"Renders a PWA update notification UI when a new version is available"},zj={name:"pwa.offlineIndicator",handler:($,X,Z,J)=>{let Y=Z.__stx_options||{};return wj($,Y)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},Uj={name:"pwa.pushSubscribe",handler:($,X,Z,J)=>{let Y=Z.__stx_options||{};return qj($,Y)},hasEndTag:!0,description:"Renders a push notification subscription button"},KY=[Wj,Kj,zj,Uj]});function I4($){for(let[X,Z]of Object.entries(a))if(Z===$)return X;return}var a;var C$=E(()=>{a={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 P$(){return!1}import jj from"path";function v$(){return{...E4}}function x$($){if(!E4.showRelativePaths||!$)return $;let X=E4.baseDir||process.cwd();try{let Z=jj.relative(X,$);return Z.startsWith("..")?$:Z}catch{return $}}var Bj,E4,f$,G5,g$;var h$=E(()=>{C$();Bj={showRelativePaths:!1,enableAutoRecovery:p7(),logRecoveryWarnings:!0},E4={...Bj};f$=class f$ extends Error{code;filePath;line;column;context;numericCode;constructor($,X,Z,J,Y,G,Q){super($);this.code=X;this.filePath=Z;this.line=J;this.column=Y;this.context=G;if(this.name="StxError",this.numericCode=Q||a.EVALUATION_ERROR,this.filePath)this.filePath=x$(this.filePath)}};G5=class G5 extends f${constructor($,X,Z,J,Y,G){super($,"stx_RUNTIME_ERROR",X,Z,J,Y,G||a.EVALUATION_ERROR);this.name="StxRuntimeError"}};g$=class g$ extends f${isFatal=!0;constructor($,X,Z,J,Y,G){super($,"stx_VALIDATION_ERROR",X,Z,J,Y,G||a.DOM_API_VIOLATION);this.name="StxValidationError"}}});function jY($){let{type:X,message:Z,code:J,filePath:Y,line:G,column:Q,template:w,offset:q,snippet:W,suggestion:K,format:z="text"}=$,U=G,B=Q;if(!U&&w&&q!==void 0){let O=Vj(w,q);U=O.line,B=O.column}let j=Y?x$(Y):void 0,_=J?I4(J):void 0,H={type:X,code:J,codeName:_,message:Z,filePath:j,line:U,column:B,snippet:W,suggestion:K,timestamp:new Date().toISOString()},L;switch(z){case"html":L=Hj(H);break;case"json":L=JSON.stringify(H,null,2);break;case"console":L=Oj(H,w,q);break;case"text":default:L=_j(H,w,q);break}return{formatted:L,data:H}}function _j($,X,Z){let J=[],Y=$.code?` [${$.codeName||$.code}]`:"";if(J.push(`[${$.type} Error${Y}]`),$.filePath){let G=$.filePath;if($.line){if(G+=`:${$.line}`,$.column)G+=`:${$.column}`}J.push(`at ${G}`)}if(J.push(`
11420
+ ${$.message}`),X&&$.line){let G=Lj(X,$.line,2);if(G)J.push(`
11302
11421
  ${G}`)}if($.snippet)J.push(`
11303
11422
  Snippet: ${$.snippet}`);if($.suggestion)J.push(`
11304
- Suggestion: ${$.suggestion}`);return J.join(" ")}function qj($){let X=$.code?` [${$.code}]`:"",Z=$.filePath?` in ${$.filePath}${$.line?`:${$.line}`:""}`:"",J=`<!-- [${$.type} Error${X}]${Z}: ${ZY($.message)}`;if($.suggestion)J+=` | Suggestion: ${ZY($.suggestion)}`;return J+=" -->",J}function Wj($,X,Z){let W=[],K=$.code?` [${$.codeName||$.code}]`:"";if(W.push(`\x1B[1m${"\x1B[31m"}\u2501\u2501\u2501 ${$.type} Error${K} \u2501\u2501\u2501${"\x1B[0m"}`),$.filePath){let z=`\x1B[36m${$.filePath}\x1B[0m`;if($.line){if(z+=`\x1B[90m:${$.line}\x1B[0m`,$.column)z+=`\x1B[90m:${$.column}\x1B[0m`}W.push(`
11423
+ Suggestion: ${$.suggestion}`);return J.join(" ")}function Hj($){let X=$.code?` [${$.code}]`:"",Z=$.filePath?` in ${$.filePath}${$.line?`:${$.line}`:""}`:"",J=`<!-- [${$.type} Error${X}]${Z}: ${UY($.message)}`;if($.suggestion)J+=` | Suggestion: ${UY($.suggestion)}`;return J+=" -->",J}function Oj($,X,Z){let W=[],K=$.code?` [${$.codeName||$.code}]`:"";if(W.push(`\x1B[1m${"\x1B[31m"}\u2501\u2501\u2501 ${$.type} Error${K} \u2501\u2501\u2501${"\x1B[0m"}`),$.filePath){let z=`\x1B[36m${$.filePath}\x1B[0m`;if($.line){if(z+=`\x1B[90m:${$.line}\x1B[0m`,$.column)z+=`\x1B[90m:${$.column}\x1B[0m`}W.push(`
11305
11424
  \x1B[90mat\x1B[0m ${z}`)}if(W.push(`
11306
11425
 
11307
- ${$.message}`),X&&$.line){let z=zj(X,$.line,2);if(z)W.push(`
11426
+ ${$.message}`),X&&$.line){let z=Fj(X,$.line,2);if(z)W.push(`
11308
11427
 
11309
11428
  \x1B[90mContext:\x1B[0m
11310
11429
  ${z}`)}if($.suggestion)W.push(`
11311
11430
 
11312
11431
  \x1B[33mSuggestion:\x1B[0m ${$.suggestion}`);return W.push(`
11313
- ${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501${"\x1B[0m"}`),W.join("")}function Kj($,X,Z){let J=$.split(`
11432
+ ${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501${"\x1B[0m"}`),W.join("")}function Lj($,X,Z){let J=$.split(`
11314
11433
  `),Y=Math.max(0,X-Z-1),G=Math.min(J.length-1,X+Z-1),Q=[];for(let w=Y;w<=G;w++){let q=(w+1).toString().padStart(4),W=w===X-1?">":" ";Q.push(`${W}${q} | ${J[w]}`)}return Q.join(`
11315
- `)}function zj($,X,Z){let J=$.split(`
11434
+ `)}function Fj($,X,Z){let J=$.split(`
11316
11435
  `),Y=Math.max(0,X-Z-1),G=Math.min(J.length-1,X+Z-1),Q="\x1B[90m",w="\x1B[31m",q="\x1B[0m",W=[];for(let K=Y;K<=G;K++){let z=(K+1).toString().padStart(4),U=K===X-1,B=U?"\x1B[31m>\x1B[0m":" ",j=U?`\x1B[31m${J[K]}\x1B[0m`:`\x1B[90m${J[K]}\x1B[0m`;W.push(`${B}\x1B[90m${z}\x1B[0m | ${j}`)}return W.join(`
11317
- `)}function ZY($){return $.replace(/--/g,"- -").replace(/>/g,"&gt;")}function Uj($,X){let J=$.substring(0,X).split(`
11318
- `);return{line:J.length,column:J[J.length-1].length}}function Z0($,X,Z){return JY({type:$,message:X,code:Z,format:"html"}).formatted}async function P5($,X,Z){try{return await $()}catch(J){if(Z&&J instanceof Error)Z(J);return X}}var YY=E(()=>{D$();v$()});class M3{errors=[];maxErrors;enableFileLogging;logFilePath;logFormat;maxFileSize;maxLogFiles;minLevel;writeQueue=Promise.resolve();constructor($={}){this.maxErrors=$.maxErrors??1000,this.enableFileLogging=$.enableFileLogging??!1,this.logFilePath=$.logFilePath??".stx/errors.log",this.logFormat=$.logFormat??"json",this.maxFileSize=$.maxFileSize??10485760,this.maxLogFiles=$.maxLogFiles??5,this.minLevel=$.minLevel??"all"}configure($){if($.maxErrors!==void 0)this.maxErrors=$.maxErrors;if($.enableFileLogging!==void 0)this.enableFileLogging=$.enableFileLogging;if($.logFilePath!==void 0)this.logFilePath=$.logFilePath;if($.logFormat!==void 0)this.logFormat=$.logFormat;if($.maxFileSize!==void 0)this.maxFileSize=$.maxFileSize;if($.maxLogFiles!==void 0)this.maxLogFiles=$.maxLogFiles;if($.minLevel!==void 0)this.minLevel=$.minLevel}log($,X,Z="error"){let J={timestamp:new Date,error:$,context:X,level:Z};if(this.errors.push(J),this.errors.length>this.maxErrors)this.errors=this.errors.slice(-this.maxErrors);if(this.enableFileLogging&&this.shouldLog(Z))this.writeToFile(J)}shouldLog($){if(this.minLevel==="all")return!0;if(this.minLevel==="warning")return $==="error"||$==="warning";if(this.minLevel==="error")return $==="error";return!0}formatEntry($){if(this.logFormat==="json")return JSON.stringify({timestamp:$.timestamp.toISOString(),level:$.level||"error",type:$.error.constructor.name,message:$.error.message,stack:$.error.stack,context:$.context});let X=[`[${$.timestamp.toISOString()}] [${($.level||"error").toUpperCase()}] ${$.error.constructor.name}: ${$.error.message}`];if($.error.stack)X.push(` Stack: ${$.error.stack.split(`
11436
+ `)}function UY($){return $.replace(/--/g,"- -").replace(/>/g,"&gt;")}function Vj($,X){let J=$.substring(0,X).split(`
11437
+ `);return{line:J.length,column:J[J.length-1].length}}function Z0($,X,Z){return jY({type:$,message:X,code:Z,format:"html"}).formatted}async function P5($,X,Z){try{return await $()}catch(J){if(Z&&J instanceof Error)Z(J);return X}}var BY=E(()=>{C$();h$()});class y4{errors=[];maxErrors;enableFileLogging;logFilePath;logFormat;maxFileSize;maxLogFiles;minLevel;writeQueue=Promise.resolve();constructor($={}){this.maxErrors=$.maxErrors??1000,this.enableFileLogging=$.enableFileLogging??!1,this.logFilePath=$.logFilePath??".stx/errors.log",this.logFormat=$.logFormat??"json",this.maxFileSize=$.maxFileSize??10485760,this.maxLogFiles=$.maxLogFiles??5,this.minLevel=$.minLevel??"all"}configure($){if($.maxErrors!==void 0)this.maxErrors=$.maxErrors;if($.enableFileLogging!==void 0)this.enableFileLogging=$.enableFileLogging;if($.logFilePath!==void 0)this.logFilePath=$.logFilePath;if($.logFormat!==void 0)this.logFormat=$.logFormat;if($.maxFileSize!==void 0)this.maxFileSize=$.maxFileSize;if($.maxLogFiles!==void 0)this.maxLogFiles=$.maxLogFiles;if($.minLevel!==void 0)this.minLevel=$.minLevel}log($,X,Z="error"){let J={timestamp:new Date,error:$,context:X,level:Z};if(this.errors.push(J),this.errors.length>this.maxErrors)this.errors=this.errors.slice(-this.maxErrors);if(this.enableFileLogging&&this.shouldLog(Z))this.writeToFile(J)}shouldLog($){if(this.minLevel==="all")return!0;if(this.minLevel==="warning")return $==="error"||$==="warning";if(this.minLevel==="error")return $==="error";return!0}formatEntry($){if(this.logFormat==="json")return JSON.stringify({timestamp:$.timestamp.toISOString(),level:$.level||"error",type:$.error.constructor.name,message:$.error.message,stack:$.error.stack,context:$.context});let X=[`[${$.timestamp.toISOString()}] [${($.level||"error").toUpperCase()}] ${$.error.constructor.name}: ${$.error.message}`];if($.error.stack)X.push(` Stack: ${$.error.stack.split(`
11319
11438
  `).slice(1).join(`
11320
11439
  `)}`);if($.context)X.push(` Context: ${JSON.stringify($.context)}`);return X.join(`
11321
11440
  `)}writeToFile($){this.writeQueue=this.writeQueue.then(async()=>{try{let X=await import("fs"),J=(await import("path")).dirname(this.logFilePath);if(!X.existsSync(J))X.mkdirSync(J,{recursive:!0});await this.rotateIfNeeded(X);let Y=`${this.formatEntry($)}
11322
11441
  `;X.appendFileSync(this.logFilePath,Y,"utf-8")}catch(X){if(process.env.STX_DEBUG==="true")console.error("Failed to write to error log:",X)}})}async rotateIfNeeded($){try{if(!$.existsSync(this.logFilePath))return;if($.statSync(this.logFilePath).size<this.maxFileSize)return;for(let Z=this.maxLogFiles-1;Z>=1;Z--){let J=`${this.logFilePath}.${Z}`,Y=`${this.logFilePath}.${Z+1}`;if($.existsSync(J))if(Z>=this.maxLogFiles-1)$.unlinkSync(J);else $.renameSync(J,Y)}if(this.maxLogFiles<=1)$.writeFileSync(this.logFilePath,"");else $.renameSync(this.logFilePath,`${this.logFilePath}.1`)}catch(X){if(process.env.STX_DEBUG==="true")console.error("Failed to rotate error logs:",X)}}getRecentErrors($=10){return this.errors.slice(-$)}getErrorsByType($){return this.errors.filter((X)=>X.error.constructor.name===$)}getErrorsByLevel($){return this.errors.filter((X)=>X.level===$)}clear(){this.errors.length=0}async clearLogFile(){try{let $=await import("fs");if($.existsSync(this.logFilePath))$.writeFileSync(this.logFilePath,"","utf-8")}catch($){if(process.env.STX_DEBUG==="true")console.error("Failed to clear error log:",$)}}getStats(){let $={},X={error:0,warning:0,info:0};for(let Z of this.errors){let J=Z.error.constructor.name;$[J]=($[J]||0)+1;let Y=Z.level||"error";X[Y]=(X[Y]||0)+1}return{total:this.errors.length,byType:$,byLevel:X}}async exportToFile($,X="json"){let Z=await import("fs"),Y=(await import("path")).dirname($);if(!Z.existsSync(Y))Z.mkdirSync(Y,{recursive:!0});if(X==="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($,JSON.stringify(G,null,2),"utf-8")}else{let G=this.errors.map((Q)=>this.formatEntry(Q));Z.writeFileSync($,G.join(`
11323
11442
 
11324
- `),"utf-8")}}async flush(){await this.writeQueue}}var T3,J1,k3;var GY=E(()=>{v$();T3={isEnabled(){return b$().enableAutoRecovery},fixCommonSyntaxErrors($){let X=b$();if(!X.enableAutoRecovery)return{fixed:$,fixes:[]};let Z=$,J=[],Y=(Z.match(/\{\{/g)||[]).length,G=(Z.match(/\}\}/g)||[]).length;if(Y>G){let w=Y-G;Z+="}}".repeat(w),J.push(`Added ${w} missing closing braces '}}'`)}let Q=["if","foreach","for","switch","section"];for(let w of Q){let q=(Z.match(new RegExp(`@${w}\\b`,"g"))||[]).length,W=(Z.match(new RegExp(`@end${w}\\b`,"g"))||[]).length;if(q>W){let K=q-W;for(let z=0;z<K;z++)Z+=`
11325
- @end${w}`;J.push(`Added ${K} missing @end${w}`)}}if(J.length>0&&X.logRecoveryWarnings)console.warn("[stx] Auto-recovery applied fixes:"),J.forEach((w)=>console.warn(` - ${w}`)),console.warn(" Consider fixing these issues in your template.");return{fixed:Z,fixes:J}},createFallbackContent($,X){if(c7())return`<!-- ${$} failed: ${X.message} -->`;return"<!-- stx rendering error -->"}};J1=new M3,k3={isDevelopment(){return c7()},logDetailedError($,X){if(!this.isDevelopment())return;if(console.error("=== stx Detailed Error ==="),console.error("Error:",$.message),console.error("Stack:",$.stack),X)console.error("Context:",X);console.error("========================")},createErrorReport($,X){let Z=["=== stx Error Report ===",`Time: ${new Date().toISOString()}`,`Error: ${$.message}`,`Type: ${$.constructor.name}`,`Stack: ${$.stack}`];if(X)Z.push(`Context: ${JSON.stringify(X,null,2)}`);return Z.push("========================"),Z.join(`
11326
- `)}}});var QY=()=>{};var wY=E(()=>{D$();YY();GY();QY();v$()});var V1=E(()=>{wY()});function qY($,X,Z,J){let Y=$;Y=Y.replace(/@meta\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(w,q,W)=>{if(!W&&q.includes(":")){let K=q.split(":"),z=q,U=K.length>1?K[1]:"";if(U&&X[U])W=X[U];else if(z.startsWith("og:")&&X.openGraph&&X.openGraph[K[1]])W=X.openGraph[K[1]];else W="";return W?`<meta property="${i(z)}" content="${i(W)}">`:""}return W?`<meta name="${i(q)}" content="${i(W)}">`:""});let G=/@metaTag\s*\(/g,Q;while((Q=G.exec(Y))!==null){let w=Q.index,q=w+Q[0].length-1,W=1,K=q+1;while(K<Y.length&&W>0){if(Y[K]==="(")W++;else if(Y[K]===")"){if(W--,W===0)break}K++}if(W!==0)break;let z=Y.substring(q+1,K).trim(),U=K+1,B=(()=>{try{let j=k0(z,X);if(!j)return"";let _="<meta";if(j.name)_+=` name="${i(String(j.name))}"`;if(j.property)_+=` property="${i(String(j.property))}"`;if(j.httpEquiv)_+=` http-equiv="${i(String(j.httpEquiv))}"`;if(j.content)_+=` content="${i(String(j.content))}"`;return _+=">",_}catch(j){let _=j instanceof Error?j.message:String(j);return Z0("MetaTag",_,a.EVALUATION_ERROR)}})();Y=Y.substring(0,w)+B+Y.substring(U),G.lastIndex=0}return Y}function WY($,X,Z){let J=$,Y=/@structuredData\s*\(/g,G;while((G=Y.exec(J))!==null){let Q=G.index,w=Q+G[0].length-1,q=1,W=w+1;while(W<J.length&&q>0){if(J[W]==="(")q++;else if(J[W]===")"){if(q--,q===0)break}W++}if(q!==0)break;let K=J.substring(w+1,W).trim(),z=W+1,U=(()=>{try{let B=k0(K,X);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 Z0("StructuredData",j,a.EVALUATION_ERROR)}})();J=J.substring(0,Q)+U+J.substring(z),Y.lastIndex=0}return J}function KY($,X,Z,J){let Y=$,G=/@seo\s*\(\s*\{/g,Q;while((Q=G.exec(Y))!==null){let w=Y.indexOf("{",Q.index+4),q=1,W=w+1,K=null,z=!1;while(W<Y.length&&q>0){let O=Y[W];if(z){z=!1,W++;continue}if(O==="\\"&&K){z=!0,W++;continue}if(K){if(O===K)K=null;W++;continue}if(O==='"'||O==="'"||O==="`"){K=O,W++;continue}if(O==="{")q++;else if(O==="}")q--;W++}if(q!==0)break;let U=Y.substring(W).match(/^\s*\)/);if(!U)break;let B=W+U[0].length,j=Y.substring(w,W),_=Y.substring(Q.index,B),H=((O)=>{try{let L=k0(O,X);if(!L)return"";let F="";if(L.title)F+=`<title>${i(L.title)}</title>
11327
- `,F+=`<meta name="title" content="${i(L.title)}">
11328
- `;if(L.description)F+=`<meta name="description" content="${i(L.description)}">
11329
- `;if(L.keywords){let V=Array.isArray(L.keywords)?L.keywords.join(", "):L.keywords;F+=`<meta name="keywords" content="${i(V)}">
11330
- `}if(L.robots)F+=`<meta name="robots" content="${i(L.robots)}">
11331
- `;if(L.canonical)F+=`<link rel="canonical" href="${i(L.canonical)}">
11332
- `;if(L.openGraph){let V=L.openGraph;if(F+=`<meta property="og:type" content="${i(V.type||"website")}">
11333
- `,V.title||L.title){let R=V.title||L.title||"";F+=`<meta property="og:title" content="${i(R)}">
11334
- `}if(V.description||L.description){let R=V.description||L.description||"";F+=`<meta property="og:description" content="${i(R)}">
11335
- `}if(V.url||L.canonical){let R=V.url||L.canonical||"";F+=`<meta property="og:url" content="${i(R)}">
11443
+ `),"utf-8")}}async flush(){await this.writeQueue}}var D4,J1,b4;var _Y=E(()=>{h$();D4={isEnabled(){return v$().enableAutoRecovery},fixCommonSyntaxErrors($){let X=v$();if(!X.enableAutoRecovery)return{fixed:$,fixes:[]};let Z=$,J=[],Y=(Z.match(/\{\{/g)||[]).length,G=(Z.match(/\}\}/g)||[]).length;if(Y>G){let w=Y-G;Z+="}}".repeat(w),J.push(`Added ${w} missing closing braces '}}'`)}let Q=["if","foreach","for","switch","section"];for(let w of Q){let q=(Z.match(new RegExp(`@${w}\\b`,"g"))||[]).length,W=(Z.match(new RegExp(`@end${w}\\b`,"g"))||[]).length;if(q>W){let K=q-W;for(let z=0;z<K;z++)Z+=`
11444
+ @end${w}`;J.push(`Added ${K} missing @end${w}`)}}if(J.length>0&&X.logRecoveryWarnings)console.warn("[stx] Auto-recovery applied fixes:"),J.forEach((w)=>console.warn(` - ${w}`)),console.warn(" Consider fixing these issues in your template.");return{fixed:Z,fixes:J}},createFallbackContent($,X){if(p7())return`<!-- ${$} failed: ${X.message} -->`;return"<!-- stx rendering error -->"}};J1=new y4,b4={isDevelopment(){return p7()},logDetailedError($,X){if(!this.isDevelopment())return;if(console.error("=== stx Detailed Error ==="),console.error("Error:",$.message),console.error("Stack:",$.stack),X)console.error("Context:",X);console.error("========================")},createErrorReport($,X){let Z=["=== stx Error Report ===",`Time: ${new Date().toISOString()}`,`Error: ${$.message}`,`Type: ${$.constructor.name}`,`Stack: ${$.stack}`];if(X)Z.push(`Context: ${JSON.stringify(X,null,2)}`);return Z.push("========================"),Z.join(`
11445
+ `)}}});var HY=()=>{};var OY=E(()=>{C$();BY();_Y();HY();h$()});var V1=E(()=>{OY()});function LY($,X,Z,J){let Y=$;Y=Y.replace(/@meta\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(w,q,W)=>{if(!W&&q.includes(":")){let K=q.split(":"),z=q,U=K.length>1?K[1]:"";if(U&&X[U])W=X[U];else if(z.startsWith("og:")&&X.openGraph&&X.openGraph[K[1]])W=X.openGraph[K[1]];else W="";return W?`<meta property="${i(z)}" content="${i(W)}">`:""}return W?`<meta name="${i(q)}" content="${i(W)}">`:""});let G=/@metaTag\s*\(/g,Q;while((Q=G.exec(Y))!==null){let w=Q.index,q=w+Q[0].length-1,W=1,K=q+1;while(K<Y.length&&W>0){if(Y[K]==="(")W++;else if(Y[K]===")"){if(W--,W===0)break}K++}if(W!==0)break;let z=Y.substring(q+1,K).trim(),U=K+1,B=(()=>{try{let j=I0(z,X);if(!j)return"";let _="<meta";if(j.name)_+=` name="${i(String(j.name))}"`;if(j.property)_+=` property="${i(String(j.property))}"`;if(j.httpEquiv)_+=` http-equiv="${i(String(j.httpEquiv))}"`;if(j.content)_+=` content="${i(String(j.content))}"`;return _+=">",_}catch(j){let _=j instanceof Error?j.message:String(j);return Z0("MetaTag",_,a.EVALUATION_ERROR)}})();Y=Y.substring(0,w)+B+Y.substring(U),G.lastIndex=0}return Y}function FY($,X,Z){let J=$,Y=/@structuredData\s*\(/g,G;while((G=Y.exec(J))!==null){let Q=G.index,w=Q+G[0].length-1,q=1,W=w+1;while(W<J.length&&q>0){if(J[W]==="(")q++;else if(J[W]===")"){if(q--,q===0)break}W++}if(q!==0)break;let K=J.substring(w+1,W).trim(),z=W+1,U=(()=>{try{let B=I0(K,X);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 Z0("StructuredData",j,a.EVALUATION_ERROR)}})();J=J.substring(0,Q)+U+J.substring(z),Y.lastIndex=0}return J}function VY($,X,Z,J){let Y=$,G=/@seo\s*\(\s*\{/g,Q;while((Q=G.exec(Y))!==null){let w=Y.indexOf("{",Q.index+4),q=1,W=w+1,K=null,z=!1;while(W<Y.length&&q>0){let L=Y[W];if(z){z=!1,W++;continue}if(L==="\\"&&K){z=!0,W++;continue}if(K){if(L===K)K=null;W++;continue}if(L==='"'||L==="'"||L==="`"){K=L,W++;continue}if(L==="{")q++;else if(L==="}")q--;W++}if(q!==0)break;let U=Y.substring(W).match(/^\s*\)/);if(!U)break;let B=W+U[0].length,j=Y.substring(w,W),_=Y.substring(Q.index,B),H=((L)=>{try{let O=I0(L,X);if(!O)return"";let F="";if(O.title)F+=`<title>${i(O.title)}</title>
11446
+ `,F+=`<meta name="title" content="${i(O.title)}">
11447
+ `;if(O.description)F+=`<meta name="description" content="${i(O.description)}">
11448
+ `;if(O.keywords){let V=Array.isArray(O.keywords)?O.keywords.join(", "):O.keywords;F+=`<meta name="keywords" content="${i(V)}">
11449
+ `}if(O.robots)F+=`<meta name="robots" content="${i(O.robots)}">
11450
+ `;if(O.canonical)F+=`<link rel="canonical" href="${i(O.canonical)}">
11451
+ `;if(O.openGraph){let V=O.openGraph;if(F+=`<meta property="og:type" content="${i(V.type||"website")}">
11452
+ `,V.title||O.title){let A=V.title||O.title||"";F+=`<meta property="og:title" content="${i(A)}">
11453
+ `}if(V.description||O.description){let A=V.description||O.description||"";F+=`<meta property="og:description" content="${i(A)}">
11454
+ `}if(V.url||O.canonical){let A=V.url||O.canonical||"";F+=`<meta property="og:url" content="${i(A)}">
11336
11455
  `}if(V.image){if(F+=`<meta property="og:image" content="${i(V.image)}">
11337
11456
  `,V.imageAlt)F+=`<meta property="og:image:alt" content="${i(V.imageAlt)}">
11338
11457
  `;if(V.imageWidth)F+=`<meta property="og:image:width" content="${i(String(V.imageWidth))}">
11339
11458
  `;if(V.imageHeight)F+=`<meta property="og:image:height" content="${i(String(V.imageHeight))}">
11340
11459
  `}if(V.siteName)F+=`<meta property="og:site_name" content="${i(V.siteName)}">
11341
- `}if(L.twitter){let V=L.twitter;if(F+=`<meta name="twitter:card" content="${i(V.card||"summary_large_image")}">
11342
- `,V.title||L.title){let R=V.title||L.title||"";F+=`<meta name="twitter:title" content="${i(R)}">
11343
- `}if(V.description||L.description){let R=V.description||L.description||"";F+=`<meta name="twitter:description" content="${i(R)}">
11344
- `}if(V.image||L.openGraph&&L.openGraph.image){let R=V.image||(L.openGraph?L.openGraph.image:"")||"";F+=`<meta name="twitter:image" content="${i(R)}">
11460
+ `}if(O.twitter){let V=O.twitter;if(F+=`<meta name="twitter:card" content="${i(V.card||"summary_large_image")}">
11461
+ `,V.title||O.title){let A=V.title||O.title||"";F+=`<meta name="twitter:title" content="${i(A)}">
11462
+ `}if(V.description||O.description){let A=V.description||O.description||"";F+=`<meta name="twitter:description" content="${i(A)}">
11463
+ `}if(V.image||O.openGraph&&O.openGraph.image){let A=V.image||(O.openGraph?O.openGraph.image:"")||"";F+=`<meta name="twitter:image" content="${i(A)}">
11345
11464
  `}if(V.site)F+=`<meta name="twitter:site" content="${i(V.site)}">
11346
11465
  `;if(V.creator)F+=`<meta name="twitter:creator" content="${i(V.creator)}">
11347
- `}if(L.structuredData){let V=JSON.stringify(L.structuredData).replace(/<\//g,"<\\/");F+=`<script type="application/ld+json">${V}</script>
11348
- `}return F.trim()}catch(L){let F=L instanceof Error?L.message:String(L);return Z0("SEO",`Error processing @seo directive: ${F}`,a.EVALUATION_ERROR)}})(j);Y=Y.substring(0,Q.index)+H+Y.substring(B),G.lastIndex=Q.index+H.length}return Y}function zY($,X,Z){if(Z.seo?.enabled===!1)return $;if($.includes("<!-- stx SEO Tags -->")||Z.skipDefaultSeoTags===!0)return $;let J=X.__stx_runtime_head;if(!!(J?.title||J?.meta?.some((z)=>z.property==="og:title"||z.name==="og:title"||z.name==="twitter:title"||z.name==="description")))return $;if(/<meta\s+(?:[^>]*\s)?property=["']og:title["']/i.test($)||/<meta\s+(?:[^>]*\s)?name=["']og:title["']/i.test($)||/<meta\s+(?:[^>]*\s)?name=["']twitter:title["']/i.test($))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let G=$.includes("<title>")||$.includes("</title>"),Q="";if(X.title)Q=X.title;else if(X.meta&&X.meta.title)Q=X.meta.title;else if(Z.seo?.defaultConfig?.title)Q=Z.seo.defaultConfig.title;else Q=Z.defaultTitle||"stx Project";let w="";if(X.description)w=X.description;else if(X.meta&&X.meta.description)w=X.meta.description;else if(Z.seo?.defaultConfig?.description)w=Z.seo.defaultConfig.description;else w=Z.defaultDescription||"A website built with stx templating engine";let q="";if(X.image)q=X.image;else if(X.meta&&X.meta.image)q=X.meta.image;else if(X.openGraph&&X.openGraph.image)q=X.openGraph.image;else if(Z.seo?.defaultImage)q=Z.seo.defaultImage;else if(Z.defaultImage)q=Z.defaultImage;let W=`
11466
+ `}if(O.structuredData){let V=JSON.stringify(O.structuredData).replace(/<\//g,"<\\/");F+=`<script type="application/ld+json">${V}</script>
11467
+ `}return F.trim()}catch(O){let F=O instanceof Error?O.message:String(O);return Z0("SEO",`Error processing @seo directive: ${F}`,a.EVALUATION_ERROR)}})(j);Y=Y.substring(0,Q.index)+H+Y.substring(B),G.lastIndex=Q.index+H.length}return Y}function AY($,X,Z){if(Z.seo?.enabled===!1)return $;if($.includes("<!-- stx SEO Tags -->")||Z.skipDefaultSeoTags===!0)return $;let J=X.__stx_runtime_head;if(!!(J?.title||J?.meta?.some((z)=>z.property==="og:title"||z.name==="og:title"||z.name==="twitter:title"||z.name==="description")))return $;if(/<meta\s+(?:[^>]*\s)?property=["']og:title["']/i.test($)||/<meta\s+(?:[^>]*\s)?name=["']og:title["']/i.test($)||/<meta\s+(?:[^>]*\s)?name=["']twitter:title["']/i.test($))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let G=$.includes("<title>")||$.includes("</title>"),Q="";if(X.title)Q=X.title;else if(X.meta&&X.meta.title)Q=X.meta.title;else if(Z.seo?.defaultConfig?.title)Q=Z.seo.defaultConfig.title;else Q=Z.defaultTitle||"stx Project";let w="";if(X.description)w=X.description;else if(X.meta&&X.meta.description)w=X.meta.description;else if(Z.seo?.defaultConfig?.description)w=Z.seo.defaultConfig.description;else w=Z.defaultDescription||"A website built with stx templating engine";let q="";if(X.image)q=X.image;else if(X.meta&&X.meta.image)q=X.meta.image;else if(X.openGraph&&X.openGraph.image)q=X.openGraph.image;else if(Z.seo?.defaultImage)q=Z.seo.defaultImage;else if(Z.defaultImage)q=Z.defaultImage;let W=`
11349
11468
  <!-- stx SEO Tags -->
11350
11469
  <meta name="title" content="${i(Q)}">
11351
11470
  <meta name="description" content="${i(w)}">
@@ -11361,8 +11480,8 @@ ${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\
11361
11480
  `;let K=$;if(!G)K=K.replace(/<head[^>]*>/,`$&
11362
11481
  <title>${i(Q)}</title>`);return K.replace(/<head[^>]*>/,`$&
11363
11482
  ${W}
11364
- `)}function i($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function BY($){let X=[];for(let Z of $.rules){if(X.push(`User-agent: ${Z.userAgent}`),Z.allow)for(let J of Z.allow)X.push(`Allow: ${J}`);if(Z.disallow)for(let J of Z.disallow)X.push(`Disallow: ${J}`);if(Z.crawlDelay!==void 0)X.push(`Crawl-delay: ${Z.crawlDelay}`);X.push("")}if($.sitemap){let Z=Array.isArray($.sitemap)?$.sitemap:[$.sitemap];for(let J of Z)X.push(`Sitemap: ${J}`)}if($.host)X.push(`Host: ${$.host}`);return X.join(`
11365
- `).trim()}var UY,jY;var x$=E(()=>{V1();I0();UY={name:"meta",handler:($,X,Z,J)=>{if(X.length<1)return Z0("Meta","meta directive requires at least the meta name",a.INVALID_DIRECTIVE_SYNTAX);let Y=X[0].replace(/['"]/g,""),G=X.length>1?X[1].replace(/['"]/g,""):"";return`<meta name="${i(Y)}" content="${i(G)}">`},hasEndTag:!1},jY={name:"structuredData",handler:($,X,Z,J)=>{if($.trim()==="")return Z0("StructuredData","structuredData directive requires JSON-LD content",a.INVALID_DIRECTIVE_SYNTAX);try{let Y=JSON.parse($);if(!Y["@context"])Y["@context"]="https://schema.org";if(!Y["@type"])return Z0("StructuredData","structuredData requires @type property",a.INVALID_DIRECTIVE_SYNTAX);return`<script type="application/ld+json">${JSON.stringify(Y)}</script>`}catch(Y){let G=Y instanceof Error?Y.message:String(Y);return Z0("StructuredData",G,a.EVALUATION_ERROR)}},hasEndTag:!0}});import p7 from"path";function jj($,X){let Z=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),J=Z?Z[1].trim():"",Y=X,G=[],Q=!0;if(J){let z=J.match(/export\s+default\s+({[\s\S]*})/);if(z)try{let U=z[1],B=U.match(/tag\s*:\s*['"`]([^'"`]+)['"`]/);if(B)Y=B[1];let j=U.match(/props\s*:\s*\[([\s\S]*?)\]/);if(j)G=j[1].split(",").map((H)=>H.trim().replace(/['"`]/g,"")).filter((H)=>H.length>0);let _=U.match(/shadowDOM\s*:\s*(true|false)/);if(_)Q=_[1]==="true"}catch{}}let w=$.match(/<template\b(?![^>]*\bid\s*=)[^>]*>([\s\S]*?)<\/template>/i),q=w?w[1].trim():"",W=$.match(/<style\b[^>]*>([\s\S]*?)<\/style>/i),K=W?W[1].trim():"";return{tag:Y,props:G,template:q,styles:K,script:J,shadowDOM:Q}}function Bj($){let{tag:X,props:Z,template:J,styles:Y,shadowDOM:G}=$,Q=X.split("-").map((z)=>z.charAt(0).toUpperCase()+z.slice(1)).join(""),w=J.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),q=Y.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),W=Z.map((z)=>`'${z}'`).join(", "),K=Z.map((z)=>`
11483
+ `)}function i($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function TY($){let X=[];for(let Z of $.rules){if(X.push(`User-agent: ${Z.userAgent}`),Z.allow)for(let J of Z.allow)X.push(`Allow: ${J}`);if(Z.disallow)for(let J of Z.disallow)X.push(`Disallow: ${J}`);if(Z.crawlDelay!==void 0)X.push(`Crawl-delay: ${Z.crawlDelay}`);X.push("")}if($.sitemap){let Z=Array.isArray($.sitemap)?$.sitemap:[$.sitemap];for(let J of Z)X.push(`Sitemap: ${J}`)}if($.host)X.push(`Host: ${$.host}`);return X.join(`
11484
+ `).trim()}var RY,NY;var u$=E(()=>{V1();E0();RY={name:"meta",handler:($,X,Z,J)=>{if(X.length<1)return Z0("Meta","meta directive requires at least the meta name",a.INVALID_DIRECTIVE_SYNTAX);let Y=X[0].replace(/['"]/g,""),G=X.length>1?X[1].replace(/['"]/g,""):"";return`<meta name="${i(Y)}" content="${i(G)}">`},hasEndTag:!1},NY={name:"structuredData",handler:($,X,Z,J)=>{if($.trim()==="")return Z0("StructuredData","structuredData directive requires JSON-LD content",a.INVALID_DIRECTIVE_SYNTAX);try{let Y=JSON.parse($);if(!Y["@context"])Y["@context"]="https://schema.org";if(!Y["@type"])return Z0("StructuredData","structuredData requires @type property",a.INVALID_DIRECTIVE_SYNTAX);return`<script type="application/ld+json">${JSON.stringify(Y)}</script>`}catch(Y){let G=Y instanceof Error?Y.message:String(Y);return Z0("StructuredData",G,a.EVALUATION_ERROR)}},hasEndTag:!0}});import i7 from"path";function Aj($,X){let Z=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),J=Z?Z[1].trim():"",Y=X,G=[],Q=!0;if(J){let z=J.match(/export\s+default\s+({[\s\S]*})/);if(z)try{let U=z[1],B=U.match(/tag\s*:\s*['"`]([^'"`]+)['"`]/);if(B)Y=B[1];let j=U.match(/props\s*:\s*\[([\s\S]*?)\]/);if(j)G=j[1].split(",").map((H)=>H.trim().replace(/['"`]/g,"")).filter((H)=>H.length>0);let _=U.match(/shadowDOM\s*:\s*(true|false)/);if(_)Q=_[1]==="true"}catch{}}let w=$.match(/<template\b(?![^>]*\bid\s*=)[^>]*>([\s\S]*?)<\/template>/i),q=w?w[1].trim():"",W=$.match(/<style\b[^>]*>([\s\S]*?)<\/style>/i),K=W?W[1].trim():"";return{tag:Y,props:G,template:q,styles:K,script:J,shadowDOM:Q}}function Rj($){let{tag:X,props:Z,template:J,styles:Y,shadowDOM:G}=$,Q=X.split("-").map((z)=>z.charAt(0).toUpperCase()+z.slice(1)).join(""),w=J.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),q=Y.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),W=Z.map((z)=>`'${z}'`).join(", "),K=Z.map((z)=>`
11366
11485
  get ${z}() {
11367
11486
  return this.getAttribute('${z}') || '';
11368
11487
  }
@@ -11413,16 +11532,16 @@ ${K}
11413
11532
  }
11414
11533
 
11415
11534
  customElements.define('${X}', ${Q});
11416
- `}async function _Y($,X,Z,J){if(X.length<1)return Z0("WebComponent","@webcomponent directive requires at least the tag name parameter",a.INVALID_DIRECTIVE_SYNTAX);let Y=X[0].replace(/['"]/g,""),Q=(Z.__stx_options||{}).componentsDir||"components",w=[p7.join(p7.dirname(J),Q,`${Y}.stx`),p7.join(process.cwd(),Q,`${Y}.stx`),p7.join(p7.dirname(J),`${Y}.stx`)],q=null;for(let z of w)if(await n(z)){q=await Bun.file(z).text();break}if(!q)return Z0("WebComponent",`Component file not found: ${Y}.stx`,a.FILE_NOT_FOUND);let W=jj(q,Y);return`<script type="module">
11417
- ${Bj(W)}
11418
- </script>`}var HY=E(()=>{V1();D0()});var OY={};t(OY,{timingPlugin:()=>Fj,pluginManager:()=>_j,definePlugin:()=>f$,debugPlugin:()=>Lj,createVariablesPlugin:()=>Vj,createFilterPlugin:()=>Oj,createDirectivePlugin:()=>Hj,PluginManager:()=>I3});function f$($){return $}class I3{plugins=new Map;sortedPlugins=[];initialized=!1;async register($,X){if(this.plugins.has($.name))throw Error(`Plugin "${$.name}" is already registered`);if($.dependencies){for(let Z of $.dependencies)if(!this.plugins.has(Z))throw Error(`Plugin "${$.name}" depends on "${Z}" which is not registered`)}if(this.plugins.set($.name,$),$.onRegister)await $.onRegister(X);this.sortPlugins()}async unregister($){let X=this.plugins.get($);if(!X)return!1;for(let[Z,J]of this.plugins)if(J.dependencies?.includes($))throw Error(`Cannot unregister "${$}" because "${Z}" depends on it`);if(X.onUnregister)await X.onUnregister();return this.plugins.delete($),this.sortPlugins(),!0}get($){return this.plugins.get($)}has($){return this.plugins.has($)}getAll(){return[...this.sortedPlugins]}getAllDirectives(){let $=[];for(let X of this.sortedPlugins)if(X.registerDirectives)$.push(...X.registerDirectives());return $}getAllFilters(){let $={};for(let X of this.sortedPlugins)if(X.registerFilters)Object.assign($,X.registerFilters());return $}async runBeforeProcess($){return this.runHooks("beforeProcess",$)}async runAfterParse($){return this.runHooks("afterParse",$)}async runBeforeDirective($,X){return this.runDirectiveHooks("beforeDirective",$,X)}async runAfterDirective($,X){return this.runDirectiveHooks("afterDirective",$,X)}async runBeforeRender($){return this.runHooks("beforeRender",$)}async runAfterRender($){return this.runHooks("afterRender",$)}async runOnError($){for(let X of this.sortedPlugins)if(X.onError)try{let Z=await X.onError($);if(Z){if(Z.template!==void 0)$.template=Z.template;if(Z.context)$.context={...$.context,...Z.context};if(Z.metadata)$.metadata={...$.metadata,...Z.metadata};if(Z.skip)return $}}catch(Z){console.error(`Error in plugin "${X.name}" onError hook:`,Z)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort(($,X)=>($.priority??100)-(X.priority??100))}async runHooks($,X){let Z={...X};for(let J of this.sortedPlugins){let Y=J[$];if(Y)try{let G=await Y(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 "${J.name}" ${$} hook:`,G)}}return Z}async runDirectiveHooks($,X,Z){let J={...Z};for(let Y of this.sortedPlugins){let G=Y[$];if(G)try{let Q=await G(X,J);if(Q){if(Q.template!==void 0)J.template=Q.template;if(Q.context)J.context={...J.context,...Q.context};if(Q.metadata)J.metadata={...J.metadata,...Q.metadata};if(Q.skip)break}}catch(Q){console.error(`Error in plugin "${Y.name}" ${$} hook:`,Q)}}return J}}function Hj($,X,Z={}){return{name:$,...Z,registerDirectives:()=>X}}function Oj($,X,Z={}){return{name:$,...Z,registerFilters:()=>X}}function Vj($){return f$({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(X){return{context:{...X.context,...$}}}})}var _j,Lj,Fj;var LY=E(()=>{_j=new I3;Lj=f$({name:"stx-debug",version:"1.0.0",description:"Logs all plugin lifecycle events for debugging",priority:0,beforeProcess($){console.log("[stx-debug] beforeProcess:",$.filePath)},afterParse($){console.log("[stx-debug] afterParse:",$.template.length,"chars")},beforeDirective($,X){console.log("[stx-debug] beforeDirective:",$)},afterDirective($,X){console.log("[stx-debug] afterDirective:",$)},beforeRender($){console.log("[stx-debug] beforeRender")},afterRender($){console.log("[stx-debug] afterRender:",$.template.length,"chars")},onError($){console.error("[stx-debug] onError:",$.error.message,"in phase:",$.phase)}}),Fj=f$({name:"stx-timing",version:"1.0.0",description:"Measures template processing time",priority:1,beforeProcess($){$.metadata.startTime=performance.now()},afterRender($){let X=$.metadata.startTime;if(X){let Z=performance.now()-X;console.log(`[stx-timing] Processing took ${Z.toFixed(2)}ms`)}}})});var RY={};t(RY,{validateConfig:()=>Ij,resolveStxDirectories:()=>AY,loadStxConfig:()=>X1,defineStxConfig:()=>kj,defaultConfig:()=>G5,config:()=>M7});import g$ from"fs";import p0 from"path";import{loadConfigWithResult as Aj}from"bunfig";function Rj($,X,Z){let J=X||"pages";if($)return{root:$,pagesDir:J};let Y=Z||process.cwd(),G=p0.join(Y,"resources","views"),Q=p0.join(Y,"resources","layouts");if(g$.existsSync(G)&&g$.existsSync(Q))return{root:"resources",pagesDir:"views"};let w=p0.join(Y,"resources","views","pages");if(g$.existsSync(w))return{root:"resources/views",pagesDir:J};return{root:".",pagesDir:J}}function Nj($,X){let Z=X.replace(/[\\/]+$/,"");if(!Z||Z===".")return!0;let J=$.replace(/\\/g,"/"),Y=Z.replace(/\\/g,"/");return J===Y||J.startsWith(`${Y}/`)}function AY($,X){let Z=!$.root,J=Rj($.root,$.pagesDir,X);if($.root=J.root,$.pagesDir=J.pagesDir,Z&&J.root!=="."){let Y=`${X}::${J.root}`;if(!FY.has(Y))FY.add(Y),console.warn(`[stx] No "root" in config \u2014 inferred "${J.root}" from the project layout. Template directories are resolved under it; set root explicitly to pin this.`)}if($.root&&$.root!=="."){let Y=$.root;for(let G of["partialsDir","componentsDir","layoutsDir"]){let Q=$[G];if(typeof Q!=="string"||!Q)continue;if(p0.isAbsolute(Q)||Nj(Q,Y))continue;$[G]=p0.join(Y,Q)}}return $}function Tj($,X){let Z=["componentsDir","layoutsDir","partialsDir"];for(let J of Z){let Y=$[J];if(typeof Y!=="string"||!Y)continue;let G=p0.isAbsolute(Y)?Y:p0.join(X,Y);if(g$.existsSync(G))continue;let Q=$.root,w=!!Q&&Q!==".";console.warn(`[stx] ${String(J)} resolves to "${G}", which does not exist. Configured as "${Y}"`+(w?`, resolved under root "${Q}".`:"."))}}function Mj($){if(M6($.stateDir),$.stateDir=L7(),$.cachePath=F7($.cachePath),$.build)$.build.cacheDir=F7($.build.cacheDir);if($.media?.cache)$.media.cache.directory=F7($.media.cache.directory);if($.story)$.story.outDir=F7($.story.outDir)}async function X1($){if(!$){if(v5)return v5;if(h$)return h$}let X=$?p0.resolve($):process.cwd(),Z=VY.get(X);if(Z)return Z;let J=(async()=>{let G=(await Aj({name:"stx",alias:"ui",cwd:X,defaultConfig:G5,verbose:!1})).config;if(Mj(G),AY(G,X),Tj(G,X),G.plugins&&G.plugins.length>0){let{pluginManager:Q}=await Promise.resolve().then(() => (LY(),OY)),w=[],q=[];for(let W of G.plugins){let K=typeof W==="string"?W:W[0],z=typeof W==="string"?{}:W[1]||{};try{let U,B;try{U=await import(K),B=p0.dirname(U0.resolve(K))}catch{let _=p0.resolve(process.cwd(),K);U=await import(_),B=p0.dirname(_)}let j=U.default||U;if(Q.register(j,G),j.components){let _=Array.isArray(j.components)?j.components:[j.components];for(let H of _)w.push(p0.resolve(B,H))}if(j.pages){let _=p0.resolve(B,j.pages),H=z.path||"/";q.push({dir:_,prefix:H})}if(j.setup){let _={addDirective:(H)=>{G.customDirectives=G.customDirectives||[],G.customDirectives.push(H)},addRoute:(H,O)=>{G.apiRoutes=G.apiRoutes||{},G.apiRoutes[H]=O},addMiddleware:(H)=>{G.middleware=G.middleware||[],G.middleware.push(H)},pluginDir:B,config:G};await j.setup(z,_)}console.log(`[stx] Plugin loaded: ${j.name||K}`)}catch(U){console.warn(`[stx] Failed to load plugin ${K}:`,U.message)}}G._pluginComponentDirs=w,G._pluginPageDirs=q}return G})();if(VY.set(X,J),!$)h$=J,J.then((Y)=>{v5=Y}).catch(()=>{});return J}function kj($){return $}function Ij($){let X=[],Z=[];if($.partialsDir!==void 0&&typeof $.partialsDir!=="string")X.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if($.componentsDir!==void 0&&typeof $.componentsDir!=="string")X.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if($.cache!==void 0&&typeof $.cache!=="boolean")X.push({path:"cache",message:"cache must be a boolean",severity:"error"});if($.debug!==void 0&&typeof $.debug!=="boolean")X.push({path:"debug",message:"debug must be a boolean",severity:"error"});if($.streaming){if($.streaming.bufferSize!==void 0){if(typeof $.streaming.bufferSize!=="number"||$.streaming.bufferSize<=0)X.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if($.streaming.timeout!==void 0){if(typeof $.streaming.timeout!=="number"||$.streaming.timeout<=0)X.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if($.streaming.strategy!==void 0){let J=["auto","manual","sections"];if(!J.includes($.streaming.strategy))X.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${J.join(", ")}`,severity:"error"})}}if($.i18n){if($.i18n.format!==void 0){let J=["json","yaml","yml","js"];if(!J.includes($.i18n.format))X.push({path:"i18n.format",message:`i18n.format must be one of: ${J.join(", ")}`,severity:"error"})}}if($.animation){if($.animation.defaultDuration!==void 0){if(typeof $.animation.defaultDuration!=="number"||$.animation.defaultDuration<0)X.push({path:"animation.defaultDuration",message:"animation.defaultDuration must be a non-negative number",severity:"error"})}if($.animation.staggerDelay!==void 0){if(typeof $.animation.staggerDelay!=="number"||$.animation.staggerDelay<0)X.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if($.a11y){if($.a11y.level!==void 0){let J=["AA","AAA"];if(!J.includes($.a11y.level))X.push({path:"a11y.level",message:`a11y.level must be one of: ${J.join(", ")}`,severity:"error"})}}if($.hydration){if($.hydration.mode!==void 0){let J=["progressive","islands"];if(!J.includes($.hydration.mode))X.push({path:"hydration.mode",message:`hydration.mode must be one of: ${J.join(", ")}`,severity:"error"})}if($.hydration.preload!==void 0){let J=["none","eager","lazy"];if(!J.includes($.hydration.preload))X.push({path:"hydration.preload",message:`hydration.preload must be one of: ${J.join(", ")}`,severity:"error"})}}if($.customDirectives)if(!Array.isArray($.customDirectives))X.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else $.customDirectives.forEach((J,Y)=>{if(!J.name||typeof J.name!=="string")X.push({path:`customDirectives[${Y}].name`,message:"Custom directive must have a name string",severity:"error"});if(!J.handler||typeof J.handler!=="function")X.push({path:`customDirectives[${Y}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if($.middleware)if(!Array.isArray($.middleware))X.push({path:"middleware",message:"middleware must be an array",severity:"error"});else $.middleware.forEach((J,Y)=>{if(!J.name||typeof J.name!=="string")X.push({path:`middleware[${Y}].name`,message:"Middleware must have a name string",severity:"error"});if(!J.handler||typeof J.handler!=="function")X.push({path:`middleware[${Y}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!J.timing||!["before","after"].includes(J.timing))X.push({path:`middleware[${Y}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if($.debug===!0&&$.cache===!0)Z.push({path:"debug+cache",message:"Debug mode with caching enabled may show stale content during development",severity:"warning"});if($.seo?.enabled===!0&&!$.seo?.defaultConfig?.title)Z.push({path:"seo.defaultConfig.title",message:"SEO is enabled but no default title is set",severity:"warning"});if($.pwa){if($.pwa.enabled===!0&&!$.pwa.manifest?.name)X.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if($.pwa.manifest?.display!==void 0){let J=["fullscreen","standalone","minimal-ui","browser"];if(!J.includes($.pwa.manifest.display))X.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${J.join(", ")}`,severity:"error"})}if($.pwa.manifest?.orientation!==void 0){let J=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!J.includes($.pwa.manifest.orientation))X.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${J.join(", ")}`,severity:"error"})}if($.pwa.routes){let J=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];$.pwa.routes.forEach((Y,G)=>{if(!Y.pattern||typeof Y.pattern!=="string")X.push({path:`pwa.routes[${G}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!J.includes(Y.strategy))X.push({path:`pwa.routes[${G}].strategy`,message:`PWA route strategy must be one of: ${J.join(", ")}`,severity:"error"});if(Y.maxAgeSeconds!==void 0&&(typeof Y.maxAgeSeconds!=="number"||Y.maxAgeSeconds<0))X.push({path:`pwa.routes[${G}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(Y.maxEntries!==void 0&&(typeof Y.maxEntries!=="number"||Y.maxEntries<1))X.push({path:`pwa.routes[${G}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if($.pwa.icons?.sizes){if(!Array.isArray($.pwa.icons.sizes))X.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if($.pwa.icons.sizes.filter((Y)=>typeof Y!=="number"||Y<16||Y>1024).length>0)X.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if($.pwa.icons?.purpose){let J=["any","maskable","monochrome"];if($.pwa.icons.purpose.filter((G)=>!J.includes(G)).length>0)X.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${J.join(", ")}`,severity:"error"})}if($.pwa.enabled===!0&&!$.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($.pwa.enabled===!0&&!$.pwa.manifest?.themeColor)Z.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:X.length===0,errors:X,warnings:Z}}var G5,FY,v5=null,VY,h$=null,M7;var L1=E(()=>{h9();u9();d9();m9();cX();DJ();A3();XY();x$();V7();HY();G5={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:A5,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:XJ,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:_Y,hasEndTag:!1,description:"Include a web component in the template"},D6,y6,UY,jY,b6,C6,P6,S6,f6,u6,EJ,V3,...$Y],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}};FY=new Set;VY=new Map;M7=new Proxy(G5,{get($,X){if(v5&&X in v5)return v5[X];if(!h$)X1().catch((Z)=>{console.warn("[stx] Failed to load config file:",Z?.message||Z)});return $[X]}})});var EY={};t(EY,{resetCssCache:()=>vj,resetCrosswindCache:()=>xj,rebuildCrosswindCSS:()=>fj,loadCrosswindConfig:()=>b3,loadCrosswind:()=>y3,injectCrosswindCSS:()=>n7,getCrosswindServeAsset:()=>yj,getCachedCSS:()=>gj,generateCrosswindCSS:()=>IY,extractClassNames:()=>kY,buildCrosswindCSS:()=>MY});import G0 from"path";import{hasLocalConfig as Ej}from"bunfig";function d$($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function E3($,X){if(A1.has($))A1.delete($);else if(A1.size>=TY)A1.delete(A1.keys().next().value);A1.set($,X)}function Dj($){let X=d$($);if(Y1.has(X))Y1.delete(X);else if(Y1.size>=TY)Y1.delete(Y1.keys().next().value);return Y1.set(X,$),X}function yj($){let X=Y1.get($);if(X===void 0)return;return Y1.delete($),Y1.set($,X),X}async function bj($){if(!f1)return null;try{let X=Bun.file(G0.join(f1,`cw-${d$($)}.css`));if(!await X.exists())return null;return await X.text()}catch{return null}}async function Sj($,X){if(!f1)return;try{if(!fs.existsSync(f1))fs.mkdirSync(f1,{recursive:!0});await Bun.write(G0.join(f1,`cw-${d$($)}.css`),X)}catch{}}async function NY($){try{let X=await import($);if(X&&X.CSSGenerator)return{CSSGenerator:X.CSSGenerator,config:X.config,build:X.build,defaultConfig:X.defaultConfig,extractClasses:X.extractClasses}}catch{}return null}function Cj(){let $=[],X=process.cwd();while(X!==G0.dirname(X))$.push(G0.join(X,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(G0.join(X,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(G0.join(X,"pantry","@cwcss","crosswind","dist","index.js")),$.push(G0.join(X,"pantry","@cwcss","crosswind","src","index.ts")),$.push(G0.join(X,"node_modules","@stacksjs","crosswind","dist","index.js")),$.push(G0.join(X,"pantry","@stacksjs","crosswind","dist","index.js")),X=G0.dirname(X);return $}function Pj(){let $=[],X=process.env.HOME||process.env.USERPROFILE||"";if(X){let Z=[G0.join(X,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),G0.join(X,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),G0.join(X,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),G0.join(X,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),G0.join(X,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),G0.join(X,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...Z)}return $.push(G0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),$.push(G0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),$}async function y3(){if(D3)return W1;D3=!0;try{let $=async(Y)=>{for(let G of Y){if(!await Bun.file(G).exists())continue;let Q=await NY(G);if(Q){if(!process.env.STACKS_DEV_QUIET)console.log(`${H0.green}[Crosswind]${H0.reset} CSS engine loaded from ${G0.dirname(G0.dirname(G))}`);return Q}}return null};if(process.env.CROSSWIND_SRC){let Y=G0.resolve(process.env.CROSSWIND_SRC),G=await $([Y]);if(!G)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${Y}`);return W1=G,W1}let X=await $(Cj());if(X)return W1=X,W1;let Z=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let Y of Z){let G=await NY(Y);if(G){if(W1=G,!process.env.STACKS_DEV_QUIET)console.log(`${H0.green}[Crosswind]${H0.reset} CSS engine loaded`);return W1}}let J=await $(Pj());if(J)return W1=J,W1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${H0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${H0.reset}`),console.warn(`${H0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${H0.reset}`),null}}function vj(){A1.clear(),Y1.clear()}function xj(){W1=null,D3=!1,G1=null,i7="",A1.clear(),Y1.clear(),u$=null}async function b3($){try{if(!Ej({name:"crosswind",cwd:$}))return null;let{loadConfigWithResult:X}=await import("bunfig"),Z=await X({name:"crosswind",cwd:$,defaultConfig:{},checkEnv:!1,verbose:!1});if(!Z?.path||!Z.config||Object.keys(Z.config).length===0)return null;let J=G0.relative($,Z.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${H0.green}[Crosswind]${H0.reset} Loaded config from ${J||Z.path}`);return Z.config}catch(X){if(X instanceof Error&&X.name==="ConfigNotFoundError")return null;return console.warn(`${H0.yellow}[Crosswind]${H0.reset} Failed to load crosswind config:`,X instanceof Error?X.message:X),null}}async function MY($){if(x5)return i7;x5=!0;try{let X=await y3();if(!X||!X.build)return x5=!1,"";if(!G1)G1=await b3($);if(!G1)return x5=!1,"";let Z=X.defaultConfig?.theme||{},J=G1.theme||{},Y={...X.defaultConfig,...G1,theme:{...Z,...J,extend:{...Z.extend||{},...J.extend||{}}}},G=performance.now(),Q=await X.build(Y),w=performance.now()-G;if(i7=Q.css,console.log(`${H0.cyan}[Crosswind]${H0.reset} Built ${Q.classes.size} classes in ${w.toFixed(1)}ms`),Y.output){let q=G0.isAbsolute(Y.output)?Y.output:G0.join($,Y.output),W=G0.dirname(q);if(!fs.existsSync(W))fs.mkdirSync(W,{recursive:!0});await Bun.write(q,Q.css)}return x5=!1,Q.css}catch(X){return console.error(`${H0.red}[Crosswind]${H0.reset} Build error:`,X),x5=!1,i7}}async function fj($){G1=null,await MY($)}function gj(){return i7}function kY($){let X=new Set,Z=/class\s*=\s*["']([^"']+)["']/gi,J=Z.exec($);while(J!==null){for(let Q of J[1].split(/\s+/))if(Q.trim())X.add(Q.trim());J=Z.exec($)}let Y=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,G=Y.exec($);while(G!==null){let Q=G[1].match(/'([^']+)'/g);if(Q){for(let w of Q)for(let q of w.slice(1,-1).split(/\s+/))if(q.trim())X.add(q.trim())}G=Y.exec($)}return X}async function IY($,X){try{let Z=await y3();if(!Z)return"";let J=typeof Z.extractClasses==="function"?Z.extractClasses($):kY($);if(J.size===0)return"";let Y=X?G0.resolve(X):process.cwd();if(!f1)f1=_1(Y,"cache");let G=[...J].sort().join(" "),Q=`${u$||"default"}::${G}`,w=A1.get(Q);if(w!==void 0)return E3(Q,w),w;let q=await bj(Q);if(q!==null)return E3(Q,q),q;if(!G1){let V=null;try{let{loadStxConfig:R}=await Promise.resolve().then(() => (L1(),RY)),A=await R(Y);if(A.css)if(typeof A.css==="string"){let N=G0.isAbsolute(A.css)?A.css:G0.resolve(Y,A.css);if(await Bun.file(N).exists()){let M=await import(N);V=M.default||M,console.log(`${H0.green}[Crosswind]${H0.reset} Loaded config from stx.config.ts \u2192 ${A.css}`)}}else{if(V={...A.css,content:A.css.content||[],preflight:A.css.preflight??!0,minify:A.css.minify??!1},A.css.config){let N=G0.isAbsolute(A.css.config)?A.css.config:G0.resolve(Y,A.css.config);if(await Bun.file(N).exists()){let M=await import(N);V={...M.default||M,...V}}}console.log(`${H0.green}[Crosswind]${H0.reset} Using inline CSS config from stx.config.ts`)}}catch{}G1=V||await b3(Y);try{u$=d$(JSON.stringify(G1??{}))}catch{u$="unhashable"}}let W=Z.defaultConfig||Z.config,K=G1||{},z=N6(W,K),{safelist:U,includePreflight:B,minify:j}=z,_=z.config,H=new Z.CSSGenerator(_);for(let V of U)H.generate(V);for(let V of J)H.generate(V);let O=H.toCSS(B,j),L=_.shortcuts||K.shortcuts||{};for(let[V,R]of Object.entries(L)){if(!J.has(V)&&!U.includes(V))continue;let A=R.split(/\s+/).filter(Boolean);for(let N of A)H.generate(N)}O=H.toCSS(B,j);let F=O.split(`
11419
- `);for(let[V,R]of Object.entries(L)){if(!J.has(V)&&!U.includes(V))continue;let A=R.split(/\s+/).filter(Boolean),N=[],M=[];for(let T of A){let k=T.startsWith("dark:"),S=`.${(k?T.slice(5):T).replace(/\//g,"\\/").replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%")}`;for(let b=0;b<F.length;b++){let y=F[b].trim();if(y===`${S} {`||y.startsWith(`${S} {`)){let v=b,f="";while(v<F.length){if(f+=F[v],F[v].includes("}"))break;v++}let x=f.match(/\{([^}]+)\}/);if(x)if(k)M.push(x[1].trim());else N.push(x[1].trim());break}}}if(N.length)O+=`
11420
- .${V} { ${N.join(" ")} }`;if(M.length)O+=`
11421
- @media (prefers-color-scheme: dark) { .dark .${V} { ${M.join(" ")} } }`}return E3(Q,O),Sj(Q,O),O}catch(Z){return console.warn("Failed to generate Crosswind CSS:",Z),""}}async function n7($,X,Z=!1){let J=await IY($,X);if(!J)return $;let Y=Z?`<link data-crosswind="generated" rel="stylesheet" href="/_stx/crosswind.${Dj(J)}.css">`:`<style data-crosswind="generated">
11535
+ `}async function MY($,X,Z,J){if(X.length<1)return Z0("WebComponent","@webcomponent directive requires at least the tag name parameter",a.INVALID_DIRECTIVE_SYNTAX);let Y=X[0].replace(/['"]/g,""),Q=(Z.__stx_options||{}).componentsDir||"components",w=[i7.join(i7.dirname(J),Q,`${Y}.stx`),i7.join(process.cwd(),Q,`${Y}.stx`),i7.join(i7.dirname(J),`${Y}.stx`)],q=null;for(let z of w)if(await n(z)){q=await Bun.file(z).text();break}if(!q)return Z0("WebComponent",`Component file not found: ${Y}.stx`,a.FILE_NOT_FOUND);let W=Aj(q,Y);return`<script type="module">
11536
+ ${Rj(W)}
11537
+ </script>`}var kY=E(()=>{V1();y0()});var IY={};t(IY,{timingPlugin:()=>Ij,pluginManager:()=>Nj,definePlugin:()=>d$,debugPlugin:()=>kj,createVariablesPlugin:()=>Ej,createFilterPlugin:()=>Mj,createDirectivePlugin:()=>Tj,PluginManager:()=>S4});function d$($){return $}class S4{plugins=new Map;sortedPlugins=[];initialized=!1;async register($,X){if(this.plugins.has($.name))throw Error(`Plugin "${$.name}" is already registered`);if($.dependencies){for(let Z of $.dependencies)if(!this.plugins.has(Z))throw Error(`Plugin "${$.name}" depends on "${Z}" which is not registered`)}if(this.plugins.set($.name,$),$.onRegister)await $.onRegister(X);this.sortPlugins()}async unregister($){let X=this.plugins.get($);if(!X)return!1;for(let[Z,J]of this.plugins)if(J.dependencies?.includes($))throw Error(`Cannot unregister "${$}" because "${Z}" depends on it`);if(X.onUnregister)await X.onUnregister();return this.plugins.delete($),this.sortPlugins(),!0}get($){return this.plugins.get($)}has($){return this.plugins.has($)}getAll(){return[...this.sortedPlugins]}getAllDirectives(){let $=[];for(let X of this.sortedPlugins)if(X.registerDirectives)$.push(...X.registerDirectives());return $}getAllFilters(){let $={};for(let X of this.sortedPlugins)if(X.registerFilters)Object.assign($,X.registerFilters());return $}async runBeforeProcess($){return this.runHooks("beforeProcess",$)}async runAfterParse($){return this.runHooks("afterParse",$)}async runBeforeDirective($,X){return this.runDirectiveHooks("beforeDirective",$,X)}async runAfterDirective($,X){return this.runDirectiveHooks("afterDirective",$,X)}async runBeforeRender($){return this.runHooks("beforeRender",$)}async runAfterRender($){return this.runHooks("afterRender",$)}async runOnError($){for(let X of this.sortedPlugins)if(X.onError)try{let Z=await X.onError($);if(Z){if(Z.template!==void 0)$.template=Z.template;if(Z.context)$.context={...$.context,...Z.context};if(Z.metadata)$.metadata={...$.metadata,...Z.metadata};if(Z.skip)return $}}catch(Z){console.error(`Error in plugin "${X.name}" onError hook:`,Z)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort(($,X)=>($.priority??100)-(X.priority??100))}async runHooks($,X){let Z={...X};for(let J of this.sortedPlugins){let Y=J[$];if(Y)try{let G=await Y(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 "${J.name}" ${$} hook:`,G)}}return Z}async runDirectiveHooks($,X,Z){let J={...Z};for(let Y of this.sortedPlugins){let G=Y[$];if(G)try{let Q=await G(X,J);if(Q){if(Q.template!==void 0)J.template=Q.template;if(Q.context)J.context={...J.context,...Q.context};if(Q.metadata)J.metadata={...J.metadata,...Q.metadata};if(Q.skip)break}}catch(Q){console.error(`Error in plugin "${Y.name}" ${$} hook:`,Q)}}return J}}function Tj($,X,Z={}){return{name:$,...Z,registerDirectives:()=>X}}function Mj($,X,Z={}){return{name:$,...Z,registerFilters:()=>X}}function Ej($){return d$({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(X){return{context:{...X.context,...$}}}})}var Nj,kj,Ij;var EY=E(()=>{Nj=new S4;kj=d$({name:"stx-debug",version:"1.0.0",description:"Logs all plugin lifecycle events for debugging",priority:0,beforeProcess($){console.log("[stx-debug] beforeProcess:",$.filePath)},afterParse($){console.log("[stx-debug] afterParse:",$.template.length,"chars")},beforeDirective($,X){console.log("[stx-debug] beforeDirective:",$)},afterDirective($,X){console.log("[stx-debug] afterDirective:",$)},beforeRender($){console.log("[stx-debug] beforeRender")},afterRender($){console.log("[stx-debug] afterRender:",$.template.length,"chars")},onError($){console.error("[stx-debug] onError:",$.error.message,"in phase:",$.phase)}}),Ij=d$({name:"stx-timing",version:"1.0.0",description:"Measures template processing time",priority:1,beforeProcess($){$.metadata.startTime=performance.now()},afterRender($){let X=$.metadata.startTime;if(X){let Z=performance.now()-X;console.log(`[stx-timing] Processing took ${Z.toFixed(2)}ms`)}}})});var SY={};t(SY,{validateConfig:()=>vj,resolveStxDirectories:()=>bY,loadStxConfig:()=>X1,defineStxConfig:()=>Pj,defaultConfig:()=>Q5,config:()=>k7});import m$ from"fs";import p0 from"path";import{loadConfigWithResult as Dj}from"bunfig";function yj($,X,Z){let J=X||"pages";if($)return{root:$,pagesDir:J};let Y=Z||process.cwd(),G=p0.join(Y,"resources","views"),Q=p0.join(Y,"resources","layouts");if(m$.existsSync(G)&&m$.existsSync(Q))return{root:"resources",pagesDir:"views"};let w=p0.join(Y,"resources","views","pages");if(m$.existsSync(w))return{root:"resources/views",pagesDir:J};return{root:".",pagesDir:J}}function bj($,X){let Z=X.replace(/[\\/]+$/,"");if(!Z||Z===".")return!0;let J=$.replace(/\\/g,"/"),Y=Z.replace(/\\/g,"/");return J===Y||J.startsWith(`${Y}/`)}function bY($,X){let Z=!$.root,J=yj($.root,$.pagesDir,X);if($.root=J.root,$.pagesDir=J.pagesDir,Z&&J.root!=="."){let Y=`${X}::${J.root}`;if(!DY.has(Y))DY.add(Y),console.warn(`[stx] No "root" in config \u2014 inferred "${J.root}" from the project layout. Template directories are resolved under it; set root explicitly to pin this.`)}if($.root&&$.root!=="."){let Y=$.root;for(let G of["partialsDir","componentsDir","layoutsDir"]){let Q=$[G];if(typeof Q!=="string"||!Q)continue;if(p0.isAbsolute(Q)||bj(Q,Y))continue;$[G]=p0.join(Y,Q)}}return $}function Sj($,X){let Z=["componentsDir","layoutsDir","partialsDir"];for(let J of Z){let Y=$[J];if(typeof Y!=="string"||!Y)continue;let G=p0.isAbsolute(Y)?Y:p0.join(X,Y);if(m$.existsSync(G))continue;let Q=$.root,w=!!Q&&Q!==".";console.warn(`[stx] ${String(J)} resolves to "${G}", which does not exist. Configured as "${Y}"`+(w?`, resolved under root "${Q}".`:"."))}}function Cj($){if(x6($.stateDir),$.stateDir=F7(),$.cachePath=V7($.cachePath),$.build)$.build.cacheDir=V7($.build.cacheDir);if($.media?.cache)$.media.cache.directory=V7($.media.cache.directory);if($.story)$.story.outDir=V7($.story.outDir)}async function X1($){if(!$){if(v5)return v5;if(l$)return l$}let X=$?p0.resolve($):process.cwd(),Z=yY.get(X);if(Z)return Z;let J=(async()=>{let G=(await Dj({name:"stx",alias:"ui",cwd:X,defaultConfig:Q5,verbose:!1})).config;if(Cj(G),bY(G,X),Sj(G,X),G.plugins&&G.plugins.length>0){let{pluginManager:Q}=await Promise.resolve().then(() => (EY(),IY)),w=[],q=[];for(let W of G.plugins){let K=typeof W==="string"?W:W[0],z=typeof W==="string"?{}:W[1]||{};try{let U,B;try{U=await import(K),B=p0.dirname(U0.resolve(K))}catch{let _=p0.resolve(process.cwd(),K);U=await import(_),B=p0.dirname(_)}let j=U.default||U;if(Q.register(j,G),j.components){let _=Array.isArray(j.components)?j.components:[j.components];for(let H of _)w.push(p0.resolve(B,H))}if(j.pages){let _=p0.resolve(B,j.pages),H=z.path||"/";q.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(z,_)}console.log(`[stx] Plugin loaded: ${j.name||K}`)}catch(U){console.warn(`[stx] Failed to load plugin ${K}:`,U.message)}}G._pluginComponentDirs=w,G._pluginPageDirs=q}return G})();if(yY.set(X,J),!$)l$=J,J.then((Y)=>{v5=Y}).catch(()=>{});return J}function Pj($){return $}function vj($){let X=[],Z=[];if($.partialsDir!==void 0&&typeof $.partialsDir!=="string")X.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if($.componentsDir!==void 0&&typeof $.componentsDir!=="string")X.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if($.cache!==void 0&&typeof $.cache!=="boolean")X.push({path:"cache",message:"cache must be a boolean",severity:"error"});if($.debug!==void 0&&typeof $.debug!=="boolean")X.push({path:"debug",message:"debug must be a boolean",severity:"error"});if($.streaming){if($.streaming.bufferSize!==void 0){if(typeof $.streaming.bufferSize!=="number"||$.streaming.bufferSize<=0)X.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if($.streaming.timeout!==void 0){if(typeof $.streaming.timeout!=="number"||$.streaming.timeout<=0)X.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if($.streaming.strategy!==void 0){let J=["auto","manual","sections"];if(!J.includes($.streaming.strategy))X.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${J.join(", ")}`,severity:"error"})}}if($.i18n){if($.i18n.format!==void 0){let J=["json","yaml","yml","js"];if(!J.includes($.i18n.format))X.push({path:"i18n.format",message:`i18n.format must be one of: ${J.join(", ")}`,severity:"error"})}}if($.animation){if($.animation.defaultDuration!==void 0){if(typeof $.animation.defaultDuration!=="number"||$.animation.defaultDuration<0)X.push({path:"animation.defaultDuration",message:"animation.defaultDuration must be a non-negative number",severity:"error"})}if($.animation.staggerDelay!==void 0){if(typeof $.animation.staggerDelay!=="number"||$.animation.staggerDelay<0)X.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if($.a11y){if($.a11y.level!==void 0){let J=["AA","AAA"];if(!J.includes($.a11y.level))X.push({path:"a11y.level",message:`a11y.level must be one of: ${J.join(", ")}`,severity:"error"})}}if($.hydration){if($.hydration.mode!==void 0){let J=["progressive","islands"];if(!J.includes($.hydration.mode))X.push({path:"hydration.mode",message:`hydration.mode must be one of: ${J.join(", ")}`,severity:"error"})}if($.hydration.preload!==void 0){let J=["none","eager","lazy"];if(!J.includes($.hydration.preload))X.push({path:"hydration.preload",message:`hydration.preload must be one of: ${J.join(", ")}`,severity:"error"})}}if($.customDirectives)if(!Array.isArray($.customDirectives))X.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else $.customDirectives.forEach((J,Y)=>{if(!J.name||typeof J.name!=="string")X.push({path:`customDirectives[${Y}].name`,message:"Custom directive must have a name string",severity:"error"});if(!J.handler||typeof J.handler!=="function")X.push({path:`customDirectives[${Y}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if($.middleware)if(!Array.isArray($.middleware))X.push({path:"middleware",message:"middleware must be an array",severity:"error"});else $.middleware.forEach((J,Y)=>{if(!J.name||typeof J.name!=="string")X.push({path:`middleware[${Y}].name`,message:"Middleware must have a name string",severity:"error"});if(!J.handler||typeof J.handler!=="function")X.push({path:`middleware[${Y}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!J.timing||!["before","after"].includes(J.timing))X.push({path:`middleware[${Y}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if($.debug===!0&&$.cache===!0)Z.push({path:"debug+cache",message:"Debug mode with caching enabled may show stale content during development",severity:"warning"});if($.seo?.enabled===!0&&!$.seo?.defaultConfig?.title)Z.push({path:"seo.defaultConfig.title",message:"SEO is enabled but no default title is set",severity:"warning"});if($.pwa){if($.pwa.enabled===!0&&!$.pwa.manifest?.name)X.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if($.pwa.manifest?.display!==void 0){let J=["fullscreen","standalone","minimal-ui","browser"];if(!J.includes($.pwa.manifest.display))X.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${J.join(", ")}`,severity:"error"})}if($.pwa.manifest?.orientation!==void 0){let J=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!J.includes($.pwa.manifest.orientation))X.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${J.join(", ")}`,severity:"error"})}if($.pwa.routes){let J=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];$.pwa.routes.forEach((Y,G)=>{if(!Y.pattern||typeof Y.pattern!=="string")X.push({path:`pwa.routes[${G}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!J.includes(Y.strategy))X.push({path:`pwa.routes[${G}].strategy`,message:`PWA route strategy must be one of: ${J.join(", ")}`,severity:"error"});if(Y.maxAgeSeconds!==void 0&&(typeof Y.maxAgeSeconds!=="number"||Y.maxAgeSeconds<0))X.push({path:`pwa.routes[${G}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(Y.maxEntries!==void 0&&(typeof Y.maxEntries!=="number"||Y.maxEntries<1))X.push({path:`pwa.routes[${G}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if($.pwa.icons?.sizes){if(!Array.isArray($.pwa.icons.sizes))X.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if($.pwa.icons.sizes.filter((Y)=>typeof Y!=="number"||Y<16||Y>1024).length>0)X.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if($.pwa.icons?.purpose){let J=["any","maskable","monochrome"];if($.pwa.icons.purpose.filter((G)=>!J.includes(G)).length>0)X.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${J.join(", ")}`,severity:"error"})}if($.pwa.enabled===!0&&!$.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($.pwa.enabled===!0&&!$.pwa.manifest?.themeColor)Z.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:X.length===0,errors:X,warnings:Z}}var Q5,DY,v5=null,yY,l$=null,k7;var L1=E(()=>{c9();p9();i9();n9();oX();hJ();k4();zY();u$();A7();kY();Q5={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:A5,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:zJ,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:MY,hasEndTag:!1,description:"Include a web component in the template"},u6,d6,RY,NY,m6,c6,p6,l6,r6,a6,gJ,M4,...KY],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}};DY=new Set;yY=new Map;k7=new Proxy(Q5,{get($,X){if(v5&&X in v5)return v5[X];if(!l$)X1().catch((Z)=>{console.warn("[stx] Failed to load config file:",Z?.message||Z)});return $[X]}})});var gY={};t(gY,{resetCssCache:()=>lj,resetCrosswindCache:()=>cj,rebuildCrosswindCSS:()=>pj,loadCrosswindConfig:()=>x4,loadCrosswind:()=>v4,injectCrosswindCSS:()=>r7,getCrosswindServeAsset:()=>gj,getCachedCSS:()=>ij,generateCrosswindCSS:()=>fY,extractClassNames:()=>xY,buildCrosswindCSS:()=>vY});import G0 from"path";import{hasLocalConfig as xj}from"bunfig";function p$($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function C4($,X){if(A1.has($))A1.delete($);else if(A1.size>=PY)A1.delete(A1.keys().next().value);A1.set($,X)}function fj($){let X=p$($);if(Y1.has(X))Y1.delete(X);else if(Y1.size>=PY)Y1.delete(Y1.keys().next().value);return Y1.set(X,$),X}function gj($){let X=Y1.get($);if(X===void 0)return;return Y1.delete($),Y1.set($,X),X}async function hj($){if(!g1)return null;try{let X=Bun.file(G0.join(g1,`cw-${p$($)}.css`));if(!await X.exists())return null;return await X.text()}catch{return null}}async function uj($,X){if(!g1)return;try{if(!fs.existsSync(g1))fs.mkdirSync(g1,{recursive:!0});await Bun.write(G0.join(g1,`cw-${p$($)}.css`),X)}catch{}}async function CY($){try{let X=await import($);if(X&&X.CSSGenerator)return{CSSGenerator:X.CSSGenerator,config:X.config,build:X.build,defaultConfig:X.defaultConfig,extractClasses:X.extractClasses}}catch{}return null}function dj(){let $=[],X=process.cwd();while(X!==G0.dirname(X))$.push(G0.join(X,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(G0.join(X,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(G0.join(X,"pantry","@cwcss","crosswind","dist","index.js")),$.push(G0.join(X,"pantry","@cwcss","crosswind","src","index.ts")),$.push(G0.join(X,"node_modules","@stacksjs","crosswind","dist","index.js")),$.push(G0.join(X,"pantry","@stacksjs","crosswind","dist","index.js")),X=G0.dirname(X);return $}function mj(){let $=[],X=process.env.HOME||process.env.USERPROFILE||"";if(X){let Z=[G0.join(X,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),G0.join(X,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),G0.join(X,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),G0.join(X,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),G0.join(X,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),G0.join(X,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...Z)}return $.push(G0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),$.push(G0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),$}async function v4(){if(P4)return W1;P4=!0;try{let $=async(Y)=>{for(let G of Y){if(!await Bun.file(G).exists())continue;let Q=await CY(G);if(Q){if(!process.env.STACKS_DEV_QUIET)console.log(`${H0.green}[Crosswind]${H0.reset} CSS engine loaded from ${G0.dirname(G0.dirname(G))}`);return Q}}return null};if(process.env.CROSSWIND_SRC){let Y=G0.resolve(process.env.CROSSWIND_SRC),G=await $([Y]);if(!G)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${Y}`);return W1=G,W1}let X=await $(dj());if(X)return W1=X,W1;let Z=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let Y of Z){let G=await CY(Y);if(G){if(W1=G,!process.env.STACKS_DEV_QUIET)console.log(`${H0.green}[Crosswind]${H0.reset} CSS engine loaded`);return W1}}let J=await $(mj());if(J)return W1=J,W1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${H0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${H0.reset}`),console.warn(`${H0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${H0.reset}`),null}}function lj(){A1.clear(),Y1.clear()}function cj(){W1=null,P4=!1,G1=null,n7="",A1.clear(),Y1.clear(),c$=null}async function x4($){try{if(!xj({name:"crosswind",cwd:$}))return null;let{loadConfigWithResult:X}=await import("bunfig"),Z=await X({name:"crosswind",cwd:$,defaultConfig:{},checkEnv:!1,verbose:!1});if(!Z?.path||!Z.config||Object.keys(Z.config).length===0)return null;let J=G0.relative($,Z.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${H0.green}[Crosswind]${H0.reset} Loaded config from ${J||Z.path}`);return Z.config}catch(X){if(X instanceof Error&&X.name==="ConfigNotFoundError")return null;return console.warn(`${H0.yellow}[Crosswind]${H0.reset} Failed to load crosswind config:`,X instanceof Error?X.message:X),null}}async function vY($){if(x5)return n7;x5=!0;try{let X=await v4();if(!X||!X.build)return x5=!1,"";if(!G1)G1=await x4($);if(!G1)return x5=!1,"";let Z=X.defaultConfig?.theme||{},J=G1.theme||{},Y={...X.defaultConfig,...G1,theme:{...Z,...J,extend:{...Z.extend||{},...J.extend||{}}}},G=performance.now(),Q=await X.build(Y),w=performance.now()-G;if(n7=Q.css,console.log(`${H0.cyan}[Crosswind]${H0.reset} Built ${Q.classes.size} classes in ${w.toFixed(1)}ms`),Y.output){let q=G0.isAbsolute(Y.output)?Y.output:G0.join($,Y.output),W=G0.dirname(q);if(!fs.existsSync(W))fs.mkdirSync(W,{recursive:!0});await Bun.write(q,Q.css)}return x5=!1,Q.css}catch(X){return console.error(`${H0.red}[Crosswind]${H0.reset} Build error:`,X),x5=!1,n7}}async function pj($){G1=null,await vY($)}function ij(){return n7}function xY($){let X=new Set,Z=/class\s*=\s*["']([^"']+)["']/gi,J=Z.exec($);while(J!==null){for(let Q of J[1].split(/\s+/))if(Q.trim())X.add(Q.trim());J=Z.exec($)}let Y=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,G=Y.exec($);while(G!==null){let Q=G[1].match(/'([^']+)'/g);if(Q){for(let w of Q)for(let q of w.slice(1,-1).split(/\s+/))if(q.trim())X.add(q.trim())}G=Y.exec($)}return X}async function fY($,X){try{let Z=await v4();if(!Z)return"";let J=typeof Z.extractClasses==="function"?Z.extractClasses($):xY($);if(J.size===0)return"";let Y=X?G0.resolve(X):process.cwd();if(!g1)g1=_1(Y,"cache");let G=[...J].sort().join(" "),Q=`${c$||"default"}::${G}`,w=A1.get(Q);if(w!==void 0)return C4(Q,w),w;let q=await hj(Q);if(q!==null)return C4(Q,q),q;if(!G1){let A=null;try{let{loadStxConfig:R}=await Promise.resolve().then(() => (L1(),SY)),N=await R(Y);if(N.css)if(typeof N.css==="string"){let M=G0.isAbsolute(N.css)?N.css:G0.resolve(Y,N.css);if(await Bun.file(M).exists()){let T=await import(M);A=T.default||T,console.log(`${H0.green}[Crosswind]${H0.reset} Loaded config from stx.config.ts \u2192 ${N.css}`)}}else{if(A={...N.css,content:N.css.content||[],preflight:N.css.preflight??!0,minify:N.css.minify??!1},N.css.config){let M=G0.isAbsolute(N.css.config)?N.css.config:G0.resolve(Y,N.css.config);if(await Bun.file(M).exists()){let T=await import(M);A={...T.default||T,...A}}}console.log(`${H0.green}[Crosswind]${H0.reset} Using inline CSS config from stx.config.ts`)}}catch{}G1=A||await x4(Y);try{c$=p$(JSON.stringify(G1??{}))}catch{c$="unhashable"}}let W=Z.defaultConfig||Z.config,K=G1||{},z=C6(W,K),{safelist:U,includePreflight:B,minify:j,tokenCSS:_}=z,H=z.config,L=new Z.CSSGenerator(H);for(let A of U)L.generate(A);for(let A of J)L.generate(A);let O=L.toCSS(B,j),F=H.shortcuts||K.shortcuts||{};for(let[A,R]of Object.entries(F)){if(!J.has(A)&&!U.includes(A))continue;let N=R.split(/\s+/).filter(Boolean);for(let M of N)L.generate(M)}O=L.toCSS(B,j);let V=O.split(`
11538
+ `);for(let[A,R]of Object.entries(F)){if(!J.has(A)&&!U.includes(A))continue;let N=R.split(/\s+/).filter(Boolean),M=[],T=[];for(let k of N){let D=k.startsWith("dark:"),b=`.${(D?k.slice(5):k).replace(/\//g,"\\/").replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%")}`;for(let y=0;y<V.length;y++){let v=V[y].trim();if(v===`${b} {`||v.startsWith(`${b} {`)){let f=y,x="";while(f<V.length){if(x+=V[f],V[f].includes("}"))break;f++}let l=x.match(/\{([^}]+)\}/);if(l)if(D)T.push(l[1].trim());else M.push(l[1].trim());break}}}if(M.length)O+=`
11539
+ .${A} { ${M.join(" ")} }`;if(T.length)O+=`
11540
+ @media (prefers-color-scheme: dark) { .dark .${A} { ${T.join(" ")} } }`}return O=_+O,C4(Q,O),uj(Q,O),O}catch(Z){return console.warn("Failed to generate Crosswind CSS:",Z),""}}async function r7($,X,Z=!1){let J=await fY($,X);if(!J)return $;let Y=Z?`<link data-crosswind="generated" rel="stylesheet" href="/_stx/crosswind.${fj(J)}.css">`:`<style data-crosswind="generated">
11422
11541
  ${J}
11423
11542
  </style>`,G=/(?:<style\b[^>]*\bdata-crosswind=(?:"generated"|'generated')[^>]*>[\s\S]*?<\/style>|<link\b[^>]*\bdata-crosswind=(?:"generated"|'generated')[^>]*>)/g;if(G.test($)){let Q=!1;return $.replace(G,()=>{if(Q)return"";return Q=!0,Y})}if($.includes("</head>"))return $.replace("</head>",`${Y}
11424
11543
  </head>`);if($.includes("<body"))return $.replace(/<body([^>]*)>/,`<body$1>
11425
- ${Y}`);return Y+$}var W1=null,D3=!1,G1=null,i7="",x5=!1,TY=256,A1,Y1,f1=null,u$=null;var m$=E(()=>{V7();k6();A1=new Map,Y1=new Map});function DY(){return`
11544
+ ${Y}`);return Y+$}var W1=null,P4=!1,G1=null,n7="",x5=!1,PY=256,A1,Y1,g1=null,c$=null;var i$=E(()=>{P6();A7();f6();A1=new Map,Y1=new Map});function hY(){return`
11426
11545
  // STX Lifecycle Runtime
11427
11546
  (function() {
11428
11547
  if (typeof window === 'undefined') return;
@@ -11767,7 +11886,7 @@ else {
11767
11886
 
11768
11887
  console.log('[stx] Lifecycle runtime initialized');
11769
11888
  })();
11770
- `}function S3($){return Symbol($)}var lT,cT,pT;var yY=E(()=>{lT=S3("theme"),cT=S3("router"),pT=S3("i18n")});import*as SY from"crypto";function bY($){let X=/\$(\w+)\./g,Z=[],J;while((J=X.exec($))!==null)if(!Z.includes(J[1]))Z.push(J[1]);return Z}function hj(){return`stx-${SY.randomBytes(4).toString("hex")}`}function uj($){return/\$\w+\./.test($)}function dj($){let X=[],Z=new Set,J=/<(\w+)([^>]*?)(\s*\/?>)/g,Y=$;return Y=Y.replace(J,(G,Q,w,q)=>{if(["script","style","template"].includes(Q.toLowerCase()))return G;let W=[],K=!1,z=w,U=/(\w+(?:-\w+)*)\s*=\s*"([^"]*\{\{[^}]*\$\w+[^}]*\}\}[^"]*)"/g,B=[...w.matchAll(U)];for(let H of B){let O=H[0],L=H[1],F=H[2];if(uj(F)){K=!0;let V=F.match(/\{\{\s*([\s\S]+?)\s*\}\}/);if(V){let R=V[1];if(W.push({attr:L,expr:R,fullMatch:O,originalAttr:L}),bY(R).forEach((N)=>Z.add(N)),L==="text")z=z.replace(O,"");else if(L==="class")z=z.replace(O,'class=""');else if(L==="disabled"||L==="hidden")z=z.replace(O,"");else z=z.replace(O,`${L}=""`)}}}if(!K)return G;let j=z.match(/\bid\s*=\s*"([^"]+)"/),_;if(j)_=j[1];else _=hj(),z=` id="${_}"${z}`;for(let H of W)X.push({elementId:_,attribute:H.attr,expression:H.expr,stores:bY(H.expr)});return`<${Q}${z}${q}`}),{html:Y,bindings:X,stores:Z}}function mj($,X){if($.length===0)return"";let Z=Array.from(X),J=`
11889
+ `}function f4($){return Symbol($)}var ZM,JM,YM;var uY=E(()=>{ZM=f4("theme"),JM=f4("router"),YM=f4("i18n")});import*as mY from"crypto";function dY($){let X=/\$(\w+)\./g,Z=[],J;while((J=X.exec($))!==null)if(!Z.includes(J[1]))Z.push(J[1]);return Z}function nj(){return`stx-${mY.randomBytes(4).toString("hex")}`}function rj($){return/\$\w+\./.test($)}function oj($){let X=[],Z=new Set,J=/<(\w+)([^>]*?)(\s*\/?>)/g,Y=$;return Y=Y.replace(J,(G,Q,w,q)=>{if(["script","style","template"].includes(Q.toLowerCase()))return G;let W=[],K=!1,z=w,U=/(\w+(?:-\w+)*)\s*=\s*"([^"]*\{\{[^}]*\$\w+[^}]*\}\}[^"]*)"/g,B=[...w.matchAll(U)];for(let H of B){let L=H[0],O=H[1],F=H[2];if(rj(F)){K=!0;let V=F.match(/\{\{\s*([\s\S]+?)\s*\}\}/);if(V){let A=V[1];if(W.push({attr:O,expr:A,fullMatch:L,originalAttr:O}),dY(A).forEach((N)=>Z.add(N)),O==="text")z=z.replace(L,"");else if(O==="class")z=z.replace(L,'class=""');else if(O==="disabled"||O==="hidden")z=z.replace(L,"");else z=z.replace(L,`${O}=""`)}}}if(!K)return G;let j=z.match(/\bid\s*=\s*"([^"]+)"/),_;if(j)_=j[1];else _=nj(),z=` id="${_}"${z}`;for(let H of W)X.push({elementId:_,attribute:H.attr,expression:H.expr,stores:dY(H.expr)});return`<${Q}${z}${q}`}),{html:Y,bindings:X,stores:Z}}function sj($,X){if($.length===0)return"";let Z=Array.from(X),J=`
11771
11890
  <script>
11772
11891
  (function() {
11773
11892
  'use strict';
@@ -11925,10 +12044,10 @@ else {
11925
12044
  }
11926
12045
  })();
11927
12046
  </script>
11928
- `,J}function CY($){let{html:X,bindings:Z,stores:J}=dj($);if(Z.length===0)return $;let Y=mj(Z,J),G=X.lastIndexOf("</body>");if(G!==-1)return X.slice(0,G)+Y+X.slice(G);return X+Y}var PY=()=>{};function lj($){let X=$.analytics;if(!X?.enabled)return"";switch(X.driver){case"fathom":return cj(X);case"google-analytics":return pj(X);case"plausible":return ij(X);case"self-hosted":return nj(X);case"custom":return rj(X);default:return""}}function cj($){let X=$.fathom;if(!X?.siteId)return"";let Z=X.scriptUrl||"https://cdn.usefathom.com/script.js",J=X.defer!==!1?" defer":"",Y=[`data-site="${i0(X.siteId)}"`];if(X.honorDnt)Y.push('data-honor-dnt="true"');if(X.spa)Y.push('data-spa="auto"');if(X.canonical)Y.push(`data-canonical="${i0(X.canonical)}"`);if(X.auto===!1)Y.push('data-auto="false"');return`
12047
+ `,J}function lY($){let{html:X,bindings:Z,stores:J}=oj($);if(Z.length===0)return $;let Y=sj(Z,J),G=X.lastIndexOf("</body>");if(G!==-1)return X.slice(0,G)+Y+X.slice(G);return X+Y}var cY=()=>{};function aj($){let X=$.analytics;if(!X?.enabled)return"";switch(X.driver){case"fathom":return tj(X);case"google-analytics":return ej(X);case"plausible":return $B(X);case"self-hosted":return XB(X);case"custom":return ZB(X);default:return""}}function tj($){let X=$.fathom;if(!X?.siteId)return"";let Z=X.scriptUrl||"https://cdn.usefathom.com/script.js",J=X.defer!==!1?" defer":"",Y=[`data-site="${i0(X.siteId)}"`];if(X.honorDnt)Y.push('data-honor-dnt="true"');if(X.spa)Y.push('data-spa="auto"');if(X.canonical)Y.push(`data-canonical="${i0(X.canonical)}"`);if(X.auto===!1)Y.push('data-auto="false"');return`
11929
12048
  <!-- Fathom Analytics -->
11930
12049
  <script src="${i0(Z)}" ${Y.join(" ")}${J}></script>
11931
- `}function pj($){let X=$.googleAnalytics;if(!X?.measurementId)return"";let Z=i0(X.measurementId),J=X.debug?`gtag('config', '${Z}', { 'debug_mode': true });`:"";return`
12050
+ `}function ej($){let X=$.googleAnalytics;if(!X?.measurementId)return"";let Z=i0(X.measurementId),J=X.debug?`gtag('config', '${Z}', { 'debug_mode': true });`:"";return`
11932
12051
  <!-- Google Analytics -->
11933
12052
  <script async src="https://www.googletagmanager.com/gtag/js?id=${Z}"></script>
11934
12053
  <script>
@@ -11938,10 +12057,10 @@ else {
11938
12057
  gtag('config', '${Z}');
11939
12058
  ${J}
11940
12059
  </script>
11941
- `}function ij($){let X=$.plausible;if(!X?.domain)return"";let Z=X.scriptUrl||"https://plausible.io/js/script.js",J=[`data-domain="${i0(X.domain)}"`],Y=Z,G=[];if(X.trackLocalhost)G.push("local");if(X.hashMode)G.push("hash");if(G.length>0&&Z==="https://plausible.io/js/script.js")Y=`https://plausible.io/js/script.${G.join(".")}.js`;return`
12060
+ `}function $B($){let X=$.plausible;if(!X?.domain)return"";let Z=X.scriptUrl||"https://plausible.io/js/script.js",J=[`data-domain="${i0(X.domain)}"`],Y=Z,G=[];if(X.trackLocalhost)G.push("local");if(X.hashMode)G.push("hash");if(G.length>0&&Z==="https://plausible.io/js/script.js")Y=`https://plausible.io/js/script.${G.join(".")}.js`;return`
11942
12061
  <!-- Plausible Analytics -->
11943
12062
  <script defer data-domain="${i0(X.domain)}" src="${i0(Y)}"></script>
11944
- `}function nj($){let X=$.selfHosted;if(!X?.siteId||!X?.apiEndpoint)return"";let Z=i0(X.siteId),J=i0(X.apiEndpoint),Y=X.honorDnt?'if(n.doNotTrack==="1")return;':"",G=X.trackHashChanges?"w.addEventListener('hashchange',pv);":"",Q=X.trackOutboundLinks?`
12063
+ `}function XB($){let X=$.selfHosted;if(!X?.siteId||!X?.apiEndpoint)return"";let Z=i0(X.siteId),J=i0(X.apiEndpoint),Y=X.honorDnt?'if(n.doNotTrack==="1")return;':"",G=X.trackHashChanges?"w.addEventListener('hashchange',pv);":"",Q=X.trackOutboundLinks?`
11945
12064
  d.addEventListener('click',function(e){
11946
12065
  var a=e.target.closest('a');
11947
12066
  if(a&&a.hostname!==location.hostname){
@@ -11974,7 +12093,7 @@ else {
11974
12093
  w.stxAnalytics={track:function(n,v){t('event',{name:n,value:v});}};
11975
12094
  })();
11976
12095
  </script>
11977
- `}function rj($){let X=$.custom;if(!X)return"";if(X.inlineScript)return`
12096
+ `}function ZB($){let X=$.custom;if(!X)return"";if(X.inlineScript)return`
11978
12097
  <!-- Custom Analytics -->
11979
12098
  <script>
11980
12099
  ${X.inlineScript}
@@ -11982,7 +12101,7 @@ ${X.inlineScript}
11982
12101
  `;if(!X.scriptUrl)return"";let Z=[];if(X.scriptId)Z.push(`id="${i0(X.scriptId)}"`);if(X.attributes)for(let[Y,G]of Object.entries(X.attributes))Z.push(`${i0(Y)}="${i0(G)}"`);return`
11983
12102
  <!-- Custom Analytics -->
11984
12103
  <script${Z.length>0?` ${Z.join(" ")}`:""} src="${i0(X.scriptUrl)}" defer></script>
11985
- `}function vY($,X){let Z=lj(X);if(!Z)return $;if(!$.includes("</head>")){let J=$.lastIndexOf("</body>");if(J!==-1)return $.slice(0,J)+Z+$.slice(J);return $+Z}return $.replace("</head>",`${Z}</head>`)}function i0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}var xY=()=>{};function l$($){let X=$.match(/\bdefinePageMeta\s*\(\s*(\{[\s\S]*?\})\s*\)/m);if(!X)return null;try{return Function(`return ${X[1]}`)()}catch{return null}}function fY($){let X=$?.layout;if(X===!1)return!1;return typeof X==="string"&&X.trim()?X.trim():void 0}function gY($,X){let Z=$.match(new RegExp(`${X}\\s*=\\s*"([^"]*)"`,"i"));if(Z)return Z[1];let J=$.match(new RegExp(`${X}\\s*=\\s*'([^']*)'`,"i"));if(J)return J[1];return null}function sj($){let X=[],Z=/<([a-z][a-z0-9-]*)\s+([^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,J;while((J=Z.exec($))!==null){let[Y,G,Q]=J,w=J.index,q=gY(Q,"x-data");if(!q)continue;let W=`__stx_scope_${uY++}`,K=gY(Q,"x-init"),z=aj($,G,w+Y.length),U=$.slice(w,z.endIndex),B=tj(U);X.push({id:W,selector:`[data-stx-scope="${W}"]`,stateExpr:q,initExpr:K,bindings:[],refs:B})}return X}function aj($,X,Z){let J=1,Y=Z,G=new RegExp(`<${X}(?:\\s|>)`,"gi"),Q=new RegExp(`</${X}>`,"gi"),w=new RegExp(`<${X}[^>]*/\\s*>`,"gi");while(J>0&&Y<$.length){G.lastIndex=Y,Q.lastIndex=Y,w.lastIndex=Y;let q=G.exec($),W=Q.exec($),K=w.exec($);if(K&&K.index<(q?.index??1/0)){Y=K.index+K[0].length;continue}if(!W)return{endIndex:$.length};if(q&&q.index<W.index)J++,Y=q.index+q[0].length;else{if(J--,J===0)return{endIndex:W.index+W[0].length};Y=W.index+W[0].length}}return{endIndex:$.length}}function tj($){let X=new Map,Z=$.replace(/x-data\s*=\s*"[^"]*"/gi,'x-data="__stripped__"').replace(/x-data\s*=\s*'[^']*'/gi,"x-data='__stripped__'"),J=/<[a-z][a-z0-9-]*\s+([^>]*x-ref\s*=\s*["']([^"']*)["'][^>]*)>/gi,Y;while((Y=J.exec(Z))!==null){let[,G,Q]=Y,w=ej(G);X.set(Q,w)}return X}function ej($){let X=$.match(/\bid\s*=\s*["']([^"']*)["']/);if(X)return X[1];return`__stx_el_${oj++}`}function $B(){return`
12104
+ `}function pY($,X){let Z=aj(X);if(!Z)return $;if(!$.includes("</head>")){let J=$.lastIndexOf("</body>");if(J!==-1)return $.slice(0,J)+Z+$.slice(J);return $+Z}return $.replace("</head>",`${Z}</head>`)}function i0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}var iY=()=>{};function n$($){let X=$.match(/\bdefinePageMeta\s*\(\s*(\{[\s\S]*?\})\s*\)/m);if(!X)return null;try{return Function(`return ${X[1]}`)()}catch{return null}}function nY($){let X=$?.layout;if(X===!1)return!1;return typeof X==="string"&&X.trim()?X.trim():void 0}function rY($,X){let Z=$.match(new RegExp(`${X}\\s*=\\s*"([^"]*)"`,"i"));if(Z)return Z[1];let J=$.match(new RegExp(`${X}\\s*=\\s*'([^']*)'`,"i"));if(J)return J[1];return null}function GB($){let X=[],Z=/<([a-z][a-z0-9-]*)\s+([^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,J;while((J=Z.exec($))!==null){let[Y,G,Q]=J,w=J.index,q=rY(Q,"x-data");if(!q)continue;let W=`__stx_scope_${JB++}`,K=rY(Q,"x-init"),z=QB($,G,w+Y.length),U=$.slice(w,z.endIndex),B=wB(U);X.push({id:W,selector:`[data-stx-scope="${W}"]`,stateExpr:q,initExpr:K,bindings:[],refs:B})}return X}function QB($,X,Z){let J=1,Y=Z,G=new RegExp(`<${X}(?:\\s|>)`,"gi"),Q=new RegExp(`</${X}>`,"gi"),w=new RegExp(`<${X}[^>]*/\\s*>`,"gi");while(J>0&&Y<$.length){G.lastIndex=Y,Q.lastIndex=Y,w.lastIndex=Y;let q=G.exec($),W=Q.exec($),K=w.exec($);if(K&&K.index<(q?.index??1/0)){Y=K.index+K[0].length;continue}if(!W)return{endIndex:$.length};if(q&&q.index<W.index)J++,Y=q.index+q[0].length;else{if(J--,J===0)return{endIndex:W.index+W[0].length};Y=W.index+W[0].length}}return{endIndex:$.length}}function wB($){let X=new Map,Z=$.replace(/x-data\s*=\s*"[^"]*"/gi,'x-data="__stripped__"').replace(/x-data\s*=\s*'[^']*'/gi,"x-data='__stripped__'"),J=/<[a-z][a-z0-9-]*\s+([^>]*x-ref\s*=\s*["']([^"']*)["'][^>]*)>/gi,Y;while((Y=J.exec(Z))!==null){let[,G,Q]=Y,w=qB(G);X.set(Q,w)}return X}function qB($){let X=$.match(/\bid\s*=\s*["']([^"']*)["']/);if(X)return X[1];return`__stx_el_${YB++}`}function WB(){return`
11986
12105
  // STX Reactive Runtime - x-cloak and transition CSS
11987
12106
  (function() {
11988
12107
  var style = document.createElement('style');
@@ -12189,7 +12308,7 @@ window.__stx_reactive = (function() {
12189
12308
 
12190
12309
  return { initScope: initScope, reactive: reactive };
12191
12310
  })();
12192
- `}function hY($,X){let Z=$.replace(/\{!!([\s\S]*?)!!\}/g,(w,q)=>{try{let W=d0(q,X,!0);if(W===void 0)return w;return String(W)}catch{return w}}),J="",Y=0,G=null;while(Y<Z.length){let w=Z[Y];if(G&&w==="\\"){J+=w+(Z[Y+1]??""),Y+=2;continue}if(w==="{"&&Z[Y+1]==="{"){let q=Z.indexOf("}}",Y+2);if(q!==-1){let W=Z.slice(Y,q+2);J+=Q(Z.slice(Y+2,q),W,G),Y=q+2;continue}}if(G){if(w===G)G=null}else if(w==="'"||w==='"'||w==="`")G=w;J+=w,Y++}return J;function Q(w,q,W){let K;try{K=d0(w,X,!0)}catch{return q}if(K===void 0)return q;if(W){let z=String(K).replace(/\\/g,"\\\\").replace(new RegExp(W==="`"?"`":W,"g"),`\\${W}`).replace(/\r/g,"\\r").replace(/\n/g,"\\n");return W==="`"?z.replace(/\$\{/g,"\\${"):z}if(typeof K==="string"){let z=K.trim();if(z.startsWith("{")&&z.endsWith("}")||z.startsWith("[")&&z.endsWith("]"))try{return JSON.parse(z),z}catch{}}return JSON.stringify(K)}}function XB($,X){if($.length===0)return"";let Z=$.map((J)=>{let Y=JSON.stringify(Object.fromEntries(J.refs)),G=hY(J.stateExpr,X),Q=J.initExpr?hY(J.initExpr,X):null,w=JSON.stringify(G),q=Q?JSON.stringify(Q):"null";return`
12311
+ `}function oY($,X){let Z=$.replace(/\{!!([\s\S]*?)!!\}/g,(w,q)=>{try{let W=d0(q,X,!0);if(W===void 0)return w;return String(W)}catch{return w}}),J="",Y=0,G=null;while(Y<Z.length){let w=Z[Y];if(G&&w==="\\"){J+=w+(Z[Y+1]??""),Y+=2;continue}if(w==="{"&&Z[Y+1]==="{"){let q=Z.indexOf("}}",Y+2);if(q!==-1){let W=Z.slice(Y,q+2);J+=Q(Z.slice(Y+2,q),W,G),Y=q+2;continue}}if(G){if(w===G)G=null}else if(w==="'"||w==='"'||w==="`")G=w;J+=w,Y++}return J;function Q(w,q,W){let K;try{K=d0(w,X,!0)}catch{return q}if(K===void 0)return q;if(W){let z=String(K).replace(/\\/g,"\\\\").replace(new RegExp(W==="`"?"`":W,"g"),`\\${W}`).replace(/\r/g,"\\r").replace(/\n/g,"\\n");return W==="`"?z.replace(/\$\{/g,"\\${"):z}if(typeof K==="string"){let z=K.trim();if(z.startsWith("{")&&z.endsWith("}")||z.startsWith("[")&&z.endsWith("]"))try{return JSON.parse(z),z}catch{}}return JSON.stringify(K)}}function KB($,X){if($.length===0)return"";let Z=$.map((J)=>{let Y=JSON.stringify(Object.fromEntries(J.refs)),G=oY(J.stateExpr,X),Q=J.initExpr?oY(J.initExpr,X):null,w=JSON.stringify(G),q=Q?JSON.stringify(Q):"null";return`
12193
12312
  (function() {
12194
12313
  var scopeEl = document.querySelector('${J.selector}');
12195
12314
  if (!scopeEl) return;
@@ -12198,14 +12317,14 @@ window.__stx_reactive = (function() {
12198
12317
  })();`}).join(`
12199
12318
  `);return`
12200
12319
  <script data-stx-scoped data-stx-reactive data-stx-run="always">
12201
- ${$B()}
12320
+ ${WB()}
12202
12321
  ${Z}
12203
- </script>`}function dY($,X,Z){if(uY=0,!JB($))return $;let J=sj($);if(J.length===0)return $;let Y=ZB($,J),G=XB(J,X),Q=Y.lastIndexOf("</body>");if(Q!==-1)Y=Y.slice(0,Q)+G+`
12204
- `+Y.slice(Q);else Y+=G;return Y}function ZB($,X){let Z=0,J=$.replace(/<([a-z][a-z0-9-]*)(\s+[^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,(Y,G,Q)=>{let w=X[Z++];if(!w)return Y;let q=/data-stx-scope="([^"]*)"/.exec(Q);if(q)return w.id=q[1],w.selector=`[data-stx-scope="${w.id}"]`,Y;return`<${G} data-stx-scope="${w.id}"${Q}>`});return J=J.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),J=J.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),J=J.replace(/\s*x-init\s*=\s*"[^"]*"/g,""),J=J.replace(/\s*x-init\s*=\s*'[^']*'/g,""),J}function JB($){return/x-data\s*=\s*["']/.test($)}var uY=0,oj=0;var mY=E(()=>{q1()});import YB from"fs";import C3 from"path";import{createHighlighter as GB}from"ts-syntax-highlighter";async function QB($,X={}){try{if(!await n($))throw Error(`Markdown file not found: ${$}`);let J=(await YB.promises.stat($)).mtime.getTime();if(X.cache&&P3.has($)){let z=P3.get($);if(z.updatedAt>=J)return{content:z.content,data:z.data}}let Y=await Bun.file($).text(),{data:G,content:Q}=m6(Y),w=X.markdown||M7.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},W=A7(Q,{gfm:!0});if(w.syntaxHighlighting?.enabled&&w.syntaxHighlighting?.serverSide)W=await wB(W,w.syntaxHighlighting?.defaultTheme||"github-dark",w.syntaxHighlighting?.highlightUnknownLanguages||!1);let K={content:W,data:G||{}};if(X.cache)P3.set($,{...K,updatedAt:J});return K}catch(Z){if(X.debug)console.error(`Error reading/parsing markdown file ${$}:`,Z);let J=Z instanceof Error?Z.message:String(Z);return{content:j0("Markdown File",`Error reading/parsing markdown file: ${J}`,$,"",0,""),data:{}}}}async function wB($,X,Z){let J=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!c$)try{c$=await GB({theme:X||"github-dark",cache:!0})}catch(w){return console.error("Failed to initialize ts-syntax-highlighter:",w),$}let Y=async(w,q,W,K)=>{let z=K.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#39;/g,"'"),U=W||(Z?"text":"");if(!U)return w;try{if(!c$.getSupportedLanguages().includes(U))return w;return(await c$.highlight(z,U,{theme:X})).html}catch(B){console.error(`Error highlighting code block with language ${W}:`,B)}return w},G=$,Q=$.matchAll(J);for(let w of Q){let[q,W,K,z]=w,U=await Y(q,W,K,z);G=G.replace(q,U)}return G}async function lY($,X,Z="",J={}){return await qB($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(Q,w,q,W)=>{try{let K=w;if(!C3.isAbsolute(w))K=C3.resolve(C3.dirname(Z),w);let z={};if(q)try{try{z=JSON.parse(q)}catch{if(J.debug)console.warn("Using safer alternative for parsing JS object literal");let L=q.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let F of L){let V=F.indexOf(":");if(V>0){let R=F.substring(0,V).trim(),A=F.substring(V+1).trim(),N=A.startsWith('"')&&A.endsWith('"'),M=A.startsWith("'")&&A.endsWith("'");if(N||M)A=A.substring(1,A.length-1);z[R]=A}}}}catch(O){if(J.debug)console.error("Error parsing context in @markdown-file directive:",O)}let{content:U,data:B}=await QB(K,J),j={...X,...B,...z},_=U,H=/\{\{([^}]+)\}\}/g;return _=_.replace(H,(O,L)=>{let F=L.trim();return j[F]!==void 0?String(j[F]):O}),_}catch(K){let z=K instanceof Error?K.message:String(K);return j0("Markdown File",`Error including markdown file: ${z}`,Z,$,W,Q)}})}async function qB($,X,Z){let J=[],Y;while((Y=X.exec($))!==null){let w=Y[0],q=Y.index,W=Y;J.push(Z(...W).then((K)=>({match:w,replacement:K,index:q})))}let G=await Promise.all(J);G.sort((w,q)=>q.index-w.index);let Q=$;for(let{match:w,replacement:q}of G)Q=Q.replace(w,()=>q);return Q}var P3,c$=null;var cY=E(()=>{L1();D0();P3=new Map});function g1($,X){try{let Z=$.trim();if(w0(Z))return q0(Z,Object.keys(X))(...Object.values(X));else return Y0(Z,X)}catch{return!1}}var pY=E(()=>{I0()});function WB($,X,Z){let J=$,Y=!0;while(Y){Y=!1;let G=J.match(/@switch\s*\(/);if(!G||G.index===void 0)break;let Q=G.index,w=HX(J,Q);if(!w)break;try{let q;if(w0(w.expression))q=q0(w.expression,Object.keys(X))(...Object.values(X));else q=Y0(w.expression,X);let W="",K=!1;for(let z of w.cases)if(z.type==="default"){if(!K)W=z.content.trim()}else try{let U;if(z.value&&w0(z.value))U=q0(z.value,Object.keys(X))(...Object.values(X));else if(z.value)U=Y0(z.value,X);if(q===U){W=z.content.trim(),K=!0;break}}catch{continue}J=J.substring(0,Q)+W+J.substring(w.end),Y=!0}catch(q){let W=q instanceof Error?q.message:String(q),K=Z0("Switch",`Error evaluating @switch expression: ${W}`,a.EVALUATION_ERROR);J=J.substring(0,Q)+K+J.substring(w.end);break}}return J}function KB($){let X=[];return{masked:$.replace(/<script\b[\s\S]*?<\/script\s*>/gi,(J)=>{return X.push(J),`\x00stx-script-${X.length-1}\x00`}),scripts:X}}function zB($,X){if(X.length===0)return $;return $.replace(/\u0000stx-script-(\d+)\u0000/g,(Z,J)=>X[Number(J)]??Z)}function Q5($,X,Z){let{masked:J,scripts:Y}=KB($);return zB(UB(J,X,Z),Y)}function UB($,X,Z){let J=$;J=WB(J,X,Z);{let G=!0;while(G){G=!1;let Q=J.match(/@unless\s*\(/);if(!Q||Q.index===void 0)break;let w=Q.index,q=P1(J,w+7);if(!q)break;let W=q.endPos,K=t1(J,"unless","endunless",W);if(K===-1){console.warn(`[stx] @unless directive at position ${w} has no matching @endunless \u2014 the block was skipped. Check for typos or missing closers.`);break}let z=J.slice(W,K),U=q.expression,B=-1;{let _=0,H=/@(?:if|unless)\s*\(/g,O=/@(?:endif|endunless)(?![a-z])/g,L=/@else(?![a-z])/g,F=[],V;while((V=H.exec(z))!==null)F.push({pos:V.index,type:"open"});while((V=O.exec(z))!==null)F.push({pos:V.index,type:"close"});while((V=L.exec(z))!==null)F.push({pos:V.index,type:"else"});F.sort((R,A)=>R.pos-A.pos);for(let R of F)if(R.type==="open")_++;else if(R.type==="close")_--;else if(R.type==="else"&&_===0){B=R.pos;break}}let j;if(B!==-1){let _=z.slice(0,B),H=z.slice(B+5);j=`@if (${U})${H}@else ${_}@endif`}else j=`@if (!(${U}))${z}@endif`;J=J.substring(0,w)+j+J.substring(K+10),G=!0}}J=x3(J,X,Z),J=f3(J,X,Z),J=v3(J,X);let Y=()=>{let G=f7(J);if(G.length===0)return!1;for(let Q=G.length-1;Q>=0;Q--){let w=G[Q];try{let q="",W=!1;for(let K of w.branches){if(W)break;if(K.type==="else")q=K.content,W=!0;else try{let z;if(K.condition&&w0(K.condition))z=q0(K.condition,Object.keys(X))(...Object.values(X));else if(K.condition)z=Y0(K.condition,X);if(z)q=K.content,W=!0}catch(z){q=Z0(K.type==="if"?"If":"Elseif",`Error in @${K.type}(${K.condition}): ${z instanceof Error?z.message:String(z)}`,a.EVALUATION_ERROR),W=!0}}J=J.substring(0,w.start)+q+J.substring(w.end)}catch(q){let W=q instanceof Error?q.message:String(q),K=Z0("If",`Error processing @if block: ${W}`,a.EVALUATION_ERROR);J=J.substring(0,w.start)+K+J.substring(w.end)}}return!0};while(!0){let G=J;if(!Y())break;if(J===G)break}return J}function iY($){let X=0;while(X<$.length&&/\s/.test($[X]))X++;if($[X]!=="(")return null;X++;while(X<$.length&&/\s/.test($[X]))X++;let Z=$[X];if(Z!=="'"&&Z!=='"')return null;X++;let J=[];while(X<$.length){let Y=$[X];if(Y==="\\"&&X+1<$.length){J.push($[X+1]),X+=2;continue}if(Y===Z){X++;break}J.push(Y),X++}while(X<$.length&&/\s/.test($[X]))X++;if($[X]!==")")return null;return X++,{value:J.join(""),consumed:X}}function v3($,X){let Z=$;function J(w,q,W,K){let z=1,U=K,B=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),j=new RegExp(`@${W}(?![a-z])`,"g");while(U<w.length&&z>0){B.lastIndex=U,j.lastIndex=U;let _=B.exec(w),H=j.exec(w),O=_?_.index:1/0,L=H?H.index:1/0;if(O<L)z++,U=O+_[0].length;else if(L<1/0){if(z--,z===0)return L;U=L+H[0].length}else break}return-1}function Y(w,q,W){let K=0,z=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),U=new RegExp(`@${W}(?![a-z])`,"g"),B=/@else(?![a-z])/g,j=[],_;while((_=z.exec(w))!==null)j.push({pos:_.index,type:"open"});while((_=U.exec(w))!==null)j.push({pos:_.index,type:"close"});while((_=B.exec(w))!==null)j.push({pos:_.index,type:"else"});j.sort((H,O)=>H.pos-O.pos);for(let H of j)if(H.type==="open")K++;else if(H.type==="close")K--;else if(H.type==="else"&&K===0)return H.pos;return-1}{let w=!0;while(w){w=!1;let q=Z.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let W=q.index,K,z,U=Z.slice(W+5),B=iY(U);if(B)K=B.value,z=W+5+B.consumed;else z=W+5;let j=J(Z,"auth","endauth",z);if(j===-1){console.warn(`[stx] @auth directive at position ${W} has no matching @endauth \u2014 the block was skipped.`);break}let _=Z.slice(z,j),H=Y(_,"auth","endauth"),O;if(!X.auth)O=!1;else O=K?g1(`auth?.check && auth?.user?.[${K}]`,X):g1("auth?.check",X);let L;if(H!==-1){let F=_.slice(0,H),V=_.slice(H+5);L=O?F:V}else L=O?_:"";Z=Z.substring(0,W)+L+Z.substring(j+8),w=!0}}{let w=!0;while(w){w=!1;let q=Z.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let W=q.index,K,z,U=Z.slice(W+6),B=iY(U);if(B)K=B.value,z=W+6+B.consumed;else z=W+6;let j=J(Z,"guest","endguest",z);if(j===-1){console.warn(`[stx] @guest directive at position ${W} has no matching @endguest \u2014 the block was skipped.`);break}let _=Z.slice(z,j),H=Y(_,"guest","endguest"),O;if(!X.auth)O=!0;else O=K?g1(`!auth?.check || !auth?.user?.[${K}]`,X):g1("!auth?.check",X);let L;if(H!==-1){let F=_.slice(0,H),V=_.slice(H+5);L=O?F:V}else L=O?_:"";Z=Z.substring(0,W)+L+Z.substring(j+9),w=!0}}function G(w,q,W){if(X.userCan&&typeof X.userCan[w]==="boolean")return X.userCan[w];if(X.permissions?.check&&typeof X.permissions.check==="function")try{let K=[w];if(q)K.push(q);if(W){let z=g1(W,X);K.push(z)}return X.permissions.check(...K)}catch{return!1}return!1}function Q(w){let q=w.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!q)return null;return{ability:q[1],type:q[2],id:q[3]?.trim(),paramsEnd:q[0].length}}for(let w of["can","cannot"]){let q=`end${w}`,W=w==="can"?"elsecan":"elsecannot",K=!0;while(K){K=!1;let z=Z.match(new RegExp(`@${w}\\s*\\(`));if(!z||z.index===void 0)break;let U=z.index,B=Z.slice(U+`@${w}`.length),j=Q(B);if(!j)break;let _=U+`@${w}`.length+j.paramsEnd,H=J(Z,w,q,_);if(H===-1){console.warn(`[stx] @${w} directive at position ${U} has no matching @${q} \u2014 the block was skipped.`);break}let O=Z.slice(_,H),L=[],F=0,V=new RegExp(`@${w}\\s*\\(`,"g"),R=new RegExp(`@${q}(?![a-z])`,"g"),A=new RegExp(`@${W}\\s*\\(`,"g"),N=/@else(?![a-z])/g,M=[],T;while((T=V.exec(O))!==null)M.push({pos:T.index,type:"open"});while((T=R.exec(O))!==null)M.push({pos:T.index,type:"close"});while((T=A.exec(O))!==null)M.push({pos:T.index,type:"elseDirective"});while((T=N.exec(O))!==null)M.push({pos:T.index,type:"else"});M.sort((y,v)=>y.pos-v.pos);for(let y of M){if(y.type==="open"){F++;continue}if(y.type==="close"){F--;continue}if(F===0)L.push(y)}let k=[],D=0;for(let y=0;y<L.length;y++){let v=L[y];if(k.push({content:O.slice(D,v.pos),ability:void 0}),v.type==="elseDirective"){let f=O.slice(v.pos+`@${W}`.length),x=Q(f);if(x){k[k.length-1]={content:O.slice(D,v.pos)},D=v.pos+`@${W}`.length+x.paramsEnd,k.push({content:"",ability:x.ability,type:x.type,id:x.id}),k.pop();let p=L[y+1],l=p?p.pos:O.length;k.push({content:O.slice(D,l),ability:x.ability,type:x.type,id:x.id}),D=l}}else D=v.pos+5}if(D<O.length){let y=k[k.length-1];if(L.length>0&&L[L.length-1].type==="else")k.push({content:O.slice(D),isFinalElse:!0});else if(k.length===0)k.push({content:O.slice(D)})}let I=G(j.ability,j.type,j.id),S=w==="can"?I:!I,b="";if(S)b=k[0]?.content||"";else{let y=!1;for(let v=1;v<k.length;v++){let f=k[v];if(f.isFinalElse){b=f.content,y=!0;break}if(f.ability){let x=G(f.ability,f.type,f.id);if(w==="can"?x:!x){b=f.content,y=!0;break}}}if(!y&&k.length>0){let v=k[k.length-1];if(v.isFinalElse)b=v.content}}Z=Z.substring(0,U)+b+Z.substring(H+`@${q}`.length),K=!0}}return Z}function x3($,X,Z){let J=$;function Y(G,Q,w,q,W){let K=!0;while(K){K=!1;let z=new RegExp(`@${Q}\\s*\\(`),U=G.match(z);if(!U||U.index===void 0)break;let B=U.index,j=P1(G,B+`@${Q}`.length);if(!j)break;let _=j.endPos,H=t1(G,Q,w,_);if(H===-1){console.warn(`[stx] @${Q} directive at position ${B} has no matching @${w} \u2014 the block was skipped.`);break}let O=G.slice(_,H),L=j.expression,F=-1,V=0,R=0;while(R<O.length){let A=O.indexOf("@",R);if(A===-1)break;let N=O.substring(A);if(/^@(?:if|unless|isset|empty)\s*\(/.test(N)){V++,R=A+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(N)){V--,R=A+1;continue}if(V===0&&/^@else(?![a-z])/.test(N)){F=A;break}R=A+1}try{let A=q(L.trim()),N;if(F!==-1){let M=O.slice(0,F),T=O.slice(F+5);N=A?M:T}else N=A?O:"";G=G.substring(0,B)+N+G.substring(H+`@${w}`.length),K=!0}catch(A){let N=A instanceof Error?A.message:String(A),M=Z0(W,`Error processing @${Q} directive: ${N}`,a.EVALUATION_ERROR);G=G.substring(0,B)+M+G.substring(H+`@${w}`.length);break}}return G}return J=Y(J,"isset","endisset",(G)=>{let Q=g1(G,X);return Q!==void 0&&Q!==null},"Isset"),J=Y(J,"empty","endempty",(G)=>{let Q=g1(G,X);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"),J}function f3($,X,Z){let J=$,Y="development";function G(Q,w,q,W){let K=new RegExp(`@${w}(?![a-z])`,"g"),z=new RegExp(`@${q}(?![a-z])`,"g"),U=new RegExp(`^@${w}(?![a-z])`),B=new RegExp(`^@${q}(?![a-z])`),j=Q,_=!0;while(_){_=!1,K.lastIndex=0;let H=K.exec(j);if(!H)break;let O=H.index,L=O+H[0].length;if(w==="env"){let I=j.substring(L).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!I)break;L+=I[0].length,W=Y===I[2]}let F=1,V=L,R=-1;while(F>0&&V<j.length){K.lastIndex=V,z.lastIndex=V;let I=K.exec(j),S=z.exec(j),b=I?I.index:1/0,y=S?S.index:1/0;if(b<y)F++,V=b+I[0].length;else if(y<1/0){if(F--,F===0){R=y;break}V=y+S[0].length}else break}if(R===-1){console.warn(`[stx] @${w} directive at position ${O} has no matching @${q} \u2014 the block was skipped.`);break}let A=j.substring(L,R),N=-1,M=0,T=0;while(T<A.length){let I=A.indexOf("@",T);if(I===-1)break;let S=A.substring(I);if(U.test(S)){M++,T=I+1;continue}if(B.test(S)){M--,T=I+1;continue}if(M===0&&/^@else(?![a-z])/.test(S)){N=I;break}T=I+1}let k;if(N!==-1){let I=A.slice(0,N),S=A.slice(N+5);k=W?I:S}else k=W?A:"";let D=`@${q}`.length;j=j.substring(0,O)+k+j.substring(R+D),_=!0}return j}return J=G(J,"env","endenv",!1),J=G(J,"production","endproduction",Y==="production"),J=G(J,"development","enddevelopment",Y==="development"),J=G(J,"staging","endstaging",Y==="staging"),J=G(J,"testing","endtesting",Y==="testing"),J}var p$=E(()=>{pY();V1();g8();I0()});function rY($=16){let X=new Uint8Array($);return crypto.getRandomValues(X),btoa(String.fromCharCode(...X))}function i$($,X){if(!$)return X?.nonceGenerator?.()??rY();let Z=nY.get($);if(!Z)Z=X?.nonceGenerator?.()??rY(),nY.set($,Z);return Z}function jB($,X){let Z=[];for(let[J,Y]of Object.entries($)){if(Y===void 0||Y===null)continue;if(typeof Y==="boolean"){if(Y)Z.push(J);continue}if(Array.isArray(Y)){let G=[...Y];if(X&&(J==="script-src"||J==="style-src"))G=G.filter((Q)=>!Q.startsWith("'nonce-")),G.push(`'nonce-${X}'`);if(G.length>0)Z.push(`${J} ${G.join(" ")}`)}}return Z.join("; ")}function oY($,X){return`<meta http-equiv="Content-Security-Policy" content="${jB($,X).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}">`}function sY($,X,Z){if(!X.enabled||!X.addMetaTag)return $;if($.includes('http-equiv="Content-Security-Policy"'))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let J=X.useNonce?i$(Z,X):void 0,Y=oY(X.directives,J);return $.replace(/<head([^>]*)>/,`<head$1>
12205
- ${Y}`)}function aY($,X){let Z=$;return Z=Z.replace(/<script(?![^>]*\ssrc=)([^>]*)>/gi,(J,Y)=>{if(Y.includes("nonce="))return J;return`<script nonce="${X}"${Y}>`}),Z=Z.replace(/<style([^>]*)>/gi,(J,Y)=>{if(Y.includes("nonce="))return J;return`<style nonce="${X}"${Y}>`}),Z}function tY($,X,Z,J){let Y=$,G=J.csp;if(Y=Y.replace(/@csp\b/g,()=>{if(!G?.enabled||!G.directives)return"<!-- CSP not configured -->";let Q=G.useNonce?i$(X,G):void 0;return oY(G.directives,Q)}),Y=Y.replace(/@cspNonce\b/g,()=>{if(!G?.enabled||!G.useNonce)return"";return i$(X,G)}),G?.enabled&&G.useNonce)X.cspNonce=i$(X,G);return Y}var nY;var eY=E(()=>{nY=new WeakMap});import BB from"crypto";function HB($=_B){let X=BB.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return g3=X,X}function OB(){if(!g3)HB();return g3}function LB($=$G){let X=OB();return`<input type="hidden" name="${$}" value="${X}">`}function XG($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(X,Z,J)=>{return LB(J||$G)})}var _B=40,$G="_token",g3=null;var ZG=()=>{};async function JG($,X,Z,J){if(!J.customDirectives||J.customDirectives.length===0)return $;let Y=$;for(let G of J.customDirectives){if(!G.name||typeof G.handler!=="function"){if(J.debug)console.warn("Invalid custom directive:",G);continue}if(G.hasEndTag)Y=await FB(Y,G,X,Z,J);else Y=await VB(Y,G,X,Z,J)}return Y}async function FB($,X,Z,J,Y){let{name:G,handler:Q}=X,w=`@${G}`,q=`@end${G}`,W=$,K=I5(`${w}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${q}`,"g"),z=[],U=K.exec(W);while(U!==null){let[B,j="",_=""]=U,H=U.index||0;try{let O=j?YG(j):[],L=_.trim(),F=await Q(L,O,Z,J);z.push({original:B,processed:F,startIndex:H})}catch(O){let L=O instanceof Error?O.message:String(O);if(Y.debug)console.error(`Error processing custom directive @${G}:`,O);z.push({original:B,processed:Z0("CustomDirective",`Error in @${G}${j?`(${j})`:""}: ${L}`,a.EVALUATION_ERROR),startIndex:H})}U=K.exec(W)}for(let B=z.length-1;B>=0;B--){let{original:j,processed:_}=z[B];W=W.replace(j,_)}return W}async function VB($,X,Z,J,Y){let{name:G,handler:Q}=X,w=$,q=I5(`@${G}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),W=[],K=q.exec(w);while(K!==null){let[B,j=""]=K,_=K.index||0;try{let H=YG(j),O=await Q("",H,Z,J);W.push({original:B,processed:O,startIndex:_})}catch(H){let O=H instanceof Error?H.message:String(H);if(Y.debug)console.error(`Error processing custom directive @${G}:`,H);W.push({original:B,processed:Z0("CustomDirective",`Error in @${G}(${j}): ${O}`,a.EVALUATION_ERROR),startIndex:_})}K=q.exec(w)}let z=I5(`@${G}(?!\\w)(?!\\s*\\()`,"g"),U=z.exec(w);while(U!==null){let[B]=U,j=U.index||0;try{let _=await Q("",[],Z,J);W.push({original:B,processed:_,startIndex:j})}catch(_){let H=_ instanceof Error?_.message:String(_);if(Y.debug)console.error(`Error processing custom directive @${G}:`,_);W.push({original:B,processed:Z0("CustomDirective",`Error in @${G}: ${H}`,a.EVALUATION_ERROR),startIndex:j})}U=z.exec(w)}for(let B=W.length-1;B>=0;B--){let{original:j,processed:_}=W[B];w=w.replace(j,_)}return w}function YG($){if(!$.trim())return[];let X=[],Z="",J=!1,Y="";for(let G=0;G<$.length;G++){let Q=$[G];if((Q==='"'||Q==="'")&&(G===0||$[G-1]!=="\\"))if(!J)J=!0,Y=Q;else if(Q===Y)J=!1;else Z+=Q;else if(Q===","&&!J)X.push(Z.trim()),Z="";else Z+=Q}if(Z.trim())X.push(Z.trim());return X.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 GG=E(()=>{V1();E5()});function w5($,X){if(typeof $!=="string"||$.length===0)throw Error(`@appearanceBootstrap ${X} must be a non-empty string`)}function RB($){if(!$||typeof $!=="object"||Array.isArray($))throw Error("@appearanceBootstrap expects an options object");let X=$,Z=X.appearance,J=X.colorMode;if(w5(X.storageKey,"storageKey"),!Z||typeof Z!=="object"||Array.isArray(Z))throw Error("@appearanceBootstrap appearance must be an object");if(!J||typeof J!=="object"||Array.isArray(J))throw Error("@appearanceBootstrap colorMode must be an object");if(w5(Z.key,"appearance.key"),w5(Z.attribute,"appearance.attribute"),w5(Z.default,"appearance.default"),w5(J.key,"colorMode.key"),w5(J.attribute,"colorMode.attribute"),w5(J.default,"colorMode.default"),!wG.test(Z.key)||!wG.test(J.key))throw Error("@appearanceBootstrap preference keys must be JavaScript property names");if(!QG.test(Z.attribute)||!QG.test(J.attribute))throw Error("@appearanceBootstrap attributes must be lowercase data attribute names");if(!Array.isArray(Z.allowed)||Z.allowed.length===0||Z.allowed.some((Y)=>typeof Y!=="string"||Y.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(!AB.has(J.default))throw Error("@appearanceBootstrap colorMode.default must be light, dark, or system");return{storageKey:X.storageKey,appearance:{key:Z.key,attribute:Z.attribute,allowed:[...new Set(Z.allowed)],default:Z.default},colorMode:{key:J.key,attribute:J.attribute,default:J.default}}}function NB($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function TB($){return`<script data-stx-scoped data-stx-appearance-bootstrap>(function(){"use strict";const config=${NB($)};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 MB($,X){let Z=1,J=null,Y=!1;for(let G=X+1;G<$.length;G++){let Q=$[G];if(Y){Y=!1;continue}if(J){if(Q==="\\")Y=!0;else if(Q===J)J=null;continue}if(Q==='"'||Q==="'"||Q==="`"){J=Q;continue}if(Q==="(")Z++;else if(Q===")"&&--Z===0)return G}return-1}function qG($,X){let Z=$,J=/@appearanceBootstrap\s*\(/g,Y;while((Y=J.exec(Z))!==null){let G=Y.index+Y[0].length-1,Q=MB(Z,G);if(Q===-1)throw Error("@appearanceBootstrap has an unclosed options object");let w=Z.slice(G+1,Q).trim(),q=Y0(`(${w})`,X),W=TB(RB(q));Z=Z.slice(0,Y.index)+W+Z.slice(Q+1),J.lastIndex=Y.index+W.length}return Z}var QG,wG,AB;var WG=E(()=>{I0();QG=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,wG=/^[A-Za-z_$][\w$]*$/,AB=new Set(["light","dark","system"])});import kB from"crypto";function F0($){return String($??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function n$($,X,Z,J){let Y=$||X;return Z?`${Y} ${J}`:Y}function s0($){return String($).replace(/\[\]$/,"").replace(/[^\w.:-]+/g,"-").replace(/^-+|-+$/g,"")}function f5($,X){if(/\bid\s*=/i.test($))return"";return` id="${F0(X)}"`}function h3($,X,Z){if(!X)return"";let J="";if(!/\baria-invalid\s*=/i.test(Z))J+=' aria-invalid="true"';if(!/\baria-describedby\s*=/i.test(Z))J+=` aria-describedby="${F0(`${s0($)}-error`)}"`;return J}function IB(){return kB.randomUUID()}function r$($,X){let Z=$;return Z=Z.replace(/@csrf/g,()=>{if(!X.csrf||typeof X.csrf!=="object"){let J=IB();X.csrf={token:J}}if(X.csrf.field)return X.csrf.field;if(X.csrf.token)return`<input type="hidden" name="_token" value="${F0(X.csrf.token)}">`;return'<input type="hidden" name="_token" value="">'}),Z=Z.replace(/@method\(['"]([^'"]+)['"]\)/g,(J,Y)=>{let G=Y.toUpperCase();if(Y&&!["GET","POST"].includes(G))return`<input type="hidden" name="_method" value="${F0(G)}">`;return J}),Z}function UG($,X,Z=zG){let J=$;return J=J.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(Y,G,Q,w,q,W="")=>{let K=G||Q||"POST",z=w||q||"",U=h1(W),B=K.toUpperCase(),j=["GET","POST"].includes(B)?B:"POST",_=`<form method="${F0(j)}" action="${F0(z)}"${U?` ${U}`:""}>`;if(_+=`
12206
- ${r$("@csrf",X)}`,!["GET","POST"].includes(B))_+=`
12207
- ${r$(`@method('${B}')`,X)}`;return _}),J=J.replace(/@endform/g,"</form>"),J=J.replace(/@input\(\s*(?:'([^']+)'|"([^"]+)")\s*(?:,\s*(?:(?:'([^']*)'|"([^"]*)")\s*)?)?(?:,\s*\{([^}]+)\})?\s*\)/g,(Y,G,Q,w,q,W="")=>{let K=G||Q||"",z=w||q||"",U=h1(W),B=r7(K,X),j=B!==void 0&&B!==null?B:z||"",_=U.match(/type=['"]([^'"]+)['"]/i),H=_?_[1]:"text",O=o7(K,X),L=U.match(/class=['"]([^'"]+)['"]/i),F=n$(L?L[1]:"",Z.input,O,Z.inputError),V=U.replace(/class=['"][^'"]+['"]/i,"");return V=V.replace(/type=['"][^'"]+['"]/i,""),`<input type="${F0(H)}" name="${F0(K)}"${f5(U,s0(K))} value="${F0(j)}" class="${F}"${h3(K,O,U)}${V?` ${V}`:""}>`}),J=J.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(Y,G,Q="",w="")=>{let q=h1(Q),W=r7(G,X)||w.trim(),K=o7(G,X),z=q.match(/class=['"]([^'"]+)['"]/i),U=n$(z?z[1]:"",Z.input,K,Z.inputError),B=q.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${F0(G)}"${f5(q,s0(G))} class="${U}"${h3(G,K,q)}${B?` ${B}`:""}>${F0(W)}</textarea>`}),J=J.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(Y,G,Q="",w)=>{let q=h1(Q),W=r7(G,X),K=o7(G,X),z=q.match(/class=['"]([^'"]+)['"]/i),U=n$(z?z[1]:"",Z.input,K,Z.inputError),B=q.replace(/class=['"][^'"]+['"]/i,""),j=w;if(W!==void 0)j=w.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(_,H,O)=>{if((Array.isArray(W)?W.some((F)=>String(F)===O):String(W)===O)&&!H.includes("selected"))return H.replace(/(<option)/,"$1 selected");return _});return`<select name="${F0(G)}"${f5(q,s0(G))} class="${U}"${h3(G,K,q)}${B?` ${B}`:""}>${j}</select>`}),J=J.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(Y,G,Q,w="")=>{let q=Q===void 0?"1":Q,W=Q===void 0?s0(G):`${s0(G)}-${s0(q)}`,K=h1(w),z=r7(G,X),U=z!==void 0&&(Array.isArray(z)?z.some((H)=>String(H)===q):z===!0||String(z)===q),B=K.match(/class=['"]([^'"]+)['"]/i),j=B?B[1]:Z.checkInput,_=K.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${F0(G)}"${f5(K,W)} value="${F0(q)}" class="${j}"${U?" checked":""}${_?` ${_}`:""}>`}),J=J.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Y,G,Q,w="")=>{let q=h1(w),W=r7(G,X),K=W!==void 0&&W===Q,z=q.match(/class=['"]([^'"]+)['"]/i),U=z?z[1]:Z.checkInput,B=q.replace(/class=['"][^'"]+['"]/i,"");return`<input type="radio" name="${F0(G)}"${f5(q,`${s0(G)}-${s0(Q)}`)} value="${F0(Q)}" class="${U}"${K?" checked":""}${B?` ${B}`:""}>`}),J=J.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Y,G,Q="")=>{let w=h1(Q),q=w.match(/accept=['"]([^'"]+)['"]/i),W=q?q[1]:"",K=w.includes("multiple"),z=o7(G,X),U=w.match(/class=['"]([^'"]+)['"]/i),B=n$(U?U[1]:"",Z.input,z,Z.inputError),j=w.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),_=[`<input type="file" name="${F0(G)}"${f5(w,s0(G))}`,`class="${B}"`];if(W)_.push(`accept="${F0(W)}"`);if(K)_.push("multiple");if(j)_.push(j);return`${_.join(" ")}>`}),J=J.replace(/@label\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endlabel/g,(Y,G,Q="",w)=>{let q=h1(Q),W=q.match(/class=['"]([^'"]+)['"]/i),K=W?W[1]:Z.label,z=q.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${F0(s0(G))}" class="${K}"${z?` ${z}`:""}>${w}</label>`}),J}function jG($,X,Z=zG){return $.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(J,Y,G)=>{try{if(o7(Y,X)){let Q=G.replace(/\{\{([^}]+)\}\}/g,(w,q)=>{try{if(q.trim()==="$message"||q.trim()==="message")return KG(Y,X);if(q.trim().includes("errors.first")||q.trim().includes("$errors.first")){if(typeof X.errors?.first==="function")return X.errors.first(Y);return KG(Y,X)}let W=q.trim();if(w0(W)){let K=Y0(W,X);return K!==void 0?String(K):W}return W}catch{return q}});return`<div id="${F0(`${s0(Y)}-error`)}" role="alert">${Q}</div>`}return""}catch(Q){return console.error("Error processing @error directive:",Q),J}})}function o7($,X){if(!X.errors)return!1;if(typeof X.errors.has==="function")return X.errors.has($);if(typeof X.errors==="object")return Object.prototype.hasOwnProperty.call(X.errors,$);return!1}function KG($,X){if(!X.errors)return"";if(typeof X.errors.get==="function")return X.errors.get($);if(typeof X.errors==="object"&&Object.prototype.hasOwnProperty.call(X.errors,$)){let Z=X.errors[$];return Array.isArray(Z)?Z[0]:String(Z)}return""}function r7($,X){let Z;if(X.old&&typeof X.old==="function")return X.old($);if(X.old&&typeof X.old==="object")return X.old[$];if($.endsWith("[]")){let J=$.slice(0,-2);if(Z=X[J],Z!==void 0)return Z}return X[$]}function h1($){if(!$.trim())return"";let X=[],Z=$.trim(),J=/([\w-]+)\s*:\s*(['"]?)([^,'"]*)\2(?:\s*,\s*|\s*$)/g,Y;while((Y=J.exec(Z))!==null){let[,G,,Q]=Y;X.push(`${G}="${Q.trim()}"`)}return X.join(" ")}var zG;var BG=E(()=>{I0();zG={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"}});import m3 from"path";async function EB(){if(s7!==void 0)return s7;try{s7=(await import("@stacksjs/ts-i18n")).loadLocale??null}catch{s7=null}return s7}function DB($,X=0){if(X<=0)return!1;return Date.now()-$.loadedAt>X}async function yB($,X){if({...p3,...X.i18n}.cache&&l3[$]){let Y=l3[$],G=X.i18n?.cacheMaxAge??0;if(!DB(Y,G))return Y.translations}if(a7[$]?.state==="loading")return a7[$].promise;u3[$]="loading";let J=c3($,X).then((Y)=>{return u3[$]="loaded",delete a7[$],Y}).catch((Y)=>{throw u3[$]="error",a7[$]={promise:J,state:"error",error:Y instanceof Error?Y:Error(String(Y))},Y});return a7[$]={promise:J,state:"loading"},J}async function c3($,X){let Z={...p3,...X.i18n},J=m3.isAbsolute(Z.translationsDir)?Z.translationsDir:m3.resolve(X.root||process.cwd(),Z.translationsDir);try{let Y=await EB(),G=Y?await Y($,{translationsDir:J,defaultLocale:Z.defaultLocale,sources:vB(Z.format)}):await bB($,Z,J);if(G===void 0){if($!==Z.defaultLocale)return c3(Z.defaultLocale,X);return{}}let Q=G;if(Z.cache)l3[$]={translations:Q,loadedAt:Date.now(),locale:$};return Q}catch(Y){if(X.debug)console.error(`Error loading translation file for locale "${$}":`,Y);if($!==Z.defaultLocale)return c3(Z.defaultLocale,X);return{}}}async function bB($,X,Z){let J=m3.join(Z,`${$}${SB(X.format)}`);try{let Y=await import(J);return Y.default||Y}catch(Y){try{let G=await Bun.file(J).text();if(X.format==="yaml"||X.format==="yml")return CB(G);if(X.format==="json")return JSON.parse(G);throw Y}catch{return}}}function SB($){switch($){case"yaml":return".yaml";case"yml":return".yml";case"js":return".js";case"ts":return".ts";case"json":default:return".json"}}function CB($){let X={},Z=$.split(`
12208
- `),J=[{obj:X,indent:-1}];for(let Y of Z){let G=Y.replace(/#.*$/,"").trimEnd();if(!G.trim())continue;let Q=G.search(/\S/);if(Q===-1)continue;while(J.length>1&&J[J.length-1].indent>=Q)J.pop();let w=J[J.length-1].obj,q=G.match(/^(\s*)(\S[^:]*):\s*(.*)$/);if(q){let[,,W,K]=q,z=W.trim(),U=K.trim();if(U==="")w[z]={},J.push({obj:w[z],indent:Q});else w[z]=PB(U)}}return X}function PB($){if($.startsWith("'")&&$.endsWith("'")||$.startsWith('"')&&$.endsWith('"'))return $.slice(1,-1);let X=$.toLowerCase();if(X==="true"||X==="yes")return!0;if(X==="false"||X==="no")return!1;if(X==="null"||X==="~")return null;let Z=Number($);if(!Number.isNaN(Z)&&$!=="")return Z;return $}function vB($){switch($){case"yaml":case"yml":return["yaml"];case"js":case"ts":return["ts"];case"json":default:return["json"]}}async function xB($,X){return yB($,X)}function fB($,X){for(let Z of $){let J=Z.trim(),Y=J.match(/^\{(\d+)\}\s*(.*)$/);if(Y){let Q=Number.parseInt(Y[1],10);if(X===Q)return Y[2];continue}let G=J.match(/^\[(\d+),(\d+|\*)\]\s*(.*)$/);if(G){let Q=Number.parseInt(G[1],10),w=G[2]==="*"?Number.POSITIVE_INFINITY:Number.parseInt(G[2],10);if(X>=Q&&X<=w)return G[3];continue}}if($.length===2)return X===1?$[0].trim():$[1].trim();if(X<$.length)return $[X].trim();return $[$.length-1].trim()}function gB($,X={}){return OG($,X)}function OG($,X){let Z="",J=0;while(J<$.length)if($[J]==="{"){let Y=hB($,J);if(Y===-1){Z+=$[J],J++;continue}let G=$.slice(J+1,Y);Z+=uB(G,X),J=Y+1}else if($[J]==="'"&&J+1<$.length)if($[J+1]==="'")Z+="'",J+=2;else if($[J+1]==="{"||$[J+1]==="}")Z+=$[J+1],J+=2;else Z+=$[J],J++;else Z+=$[J],J++;return Z}function hB($,X){let Z=0;for(let J=X;J<$.length;J++)if($[J]==="{")Z++;else if($[J]==="}"){if(Z--,Z===0)return J}return-1}function uB($,X){let Z=dB($);if(Z.length===0)return`{${$}}`;let J=Z[0].trim(),Y=X[J];if(Z.length===1)return Y!==void 0?String(Y):`{${J}}`;switch(Z[1].trim().toLowerCase()){case"plural":return mB(Y,Z.slice(2).join(","),X);case"select":return cB(Y,Z.slice(2).join(","));case"selectordinal":return pB(Y,Z.slice(2).join(","));case"number":return nB(Y,Z[2]?.trim());case"date":return rB(Y,Z[2]?.trim());case"time":return oB(Y,Z[2]?.trim());default:return Y!==void 0?String(Y):`{${$}}`}}function dB($){let X=[],Z="",J=0;for(let Y=0;Y<$.length;Y++){let G=$[Y];if(G==="{")J++,Z+=G;else if(G==="}")J--,Z+=G;else if(G===","&&J===0)X.push(Z),Z="";else Z+=G}if(Z)X.push(Z);return X}function mB($,X,Z){let J=Number($)||0,Y=i3(X),G=`=${J}`;if(Y[G])return d3(Y[G],J,Z);let Q=lB(J);if(Y[Q])return d3(Y[Q],J,Z);if(Y.other)return d3(Y.other,J,Z);return String(J)}function d3($,X,Z){let J=$.replace(/#/g,String(X));return OG(J,Z)}function lB($){let X=Math.abs($),Z=Math.floor(X),J=String($).includes(".")?String($).split(".")[1].length:0;if(Z===1&&J===0)return"one";return"other"}function cB($,X){let Z=String($||""),J=i3(X);if(J[Z])return J[Z];return J.other||String($)}function pB($,X){let Z=Number($)||0,J=i3(X),Y=iB(Z);if(J[Y])return J[Y].replace(/#/g,String(Z));if(J.other)return J.other.replace(/#/g,String(Z));return String(Z)}function iB($){let X=Math.abs($),Z=X%10,J=X%100;if(Z===1&&J!==11)return"one";if(Z===2&&J!==12)return"two";if(Z===3&&J!==13)return"few";return"other"}function i3($){let X={},Z=/(\w+|=\d+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g,J=Z.exec($);while(J!==null)X[J[1]]=J[2],J=Z.exec($);return X}function nB($,X){let Z=Number($);if(Number.isNaN(Z))return String($);switch(X){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 rB($,X){let Z=$ instanceof Date?$:new Date(String($));if(Number.isNaN(Z.getTime()))return String($);let J={};switch(X){case"short":J.dateStyle="short";break;case"medium":J.dateStyle="medium";break;case"long":J.dateStyle="long";break;case"full":J.dateStyle="full";break;default:J.dateStyle="medium"}return Z.toLocaleDateString(void 0,J)}function oB($,X){let Z=$ instanceof Date?$:new Date(String($));if(Number.isNaN(Z.getTime()))return String($);let J={};switch(X){case"short":J.timeStyle="short";break;case"medium":J.timeStyle="medium";break;case"long":J.timeStyle="long";break;case"full":J.timeStyle="full";break;default:J.timeStyle="short"}return Z.toLocaleTimeString(void 0,J)}function sB($){return/\{[^}]+,\s*(?:plural|select|selectordinal|number|date|time)\s*,/.test($)}function _G($,X,Z=!0,J={}){let Y=$.split("."),G=X;for(let w of Y){if(G===void 0||G===null)break;G=G[w]}if(G===void 0||G===null)return Z?$:"";let Q=String(G);if(sB(Q))return gB(Q,J);if(Q.includes("|")&&"count"in J){let w=Number(J.count),q=Q.split("|");Q=fB(q,w)}for(let[w,q]of Object.entries(J)){let W=w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Q=Q.replace(new RegExp(`:${W}`,"g"),String(q))}return Q}async function LG($,X,Z,J){let Y=$,G=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)([\s\S]*?)@endtranslate/g,Q={...p3,...J.i18n},w=await xB(Q.locale,J);X.__translations=w,X.__locale=Q.locale,X.__i18nConfig=Q,Y=await HG(Y,G,async(K,z,U,B,j)=>{try{let _={};if(U)try{let O=[()=>JSON.parse(U),()=>{let L=`{"data":${U}}`,F=JSON.parse(L);return typeof F.data==="object"?F.data:{}},()=>{return k0(U,X)}];for(let L of O)try{if(_=L(),Object.keys(_).length>0)break}catch{}}catch(O){if(J.debug)console.error("Error parsing parameters for @translate directive:",O)}return _G(z,w,Q.fallbackToKey,_)||B.trim()}catch(_){if(J.debug)console.error("Error processing @translate directive:",_);return Z0("Translate",`Error in @translate('${z}'): ${_ instanceof Error?_.message:String(_)}`,a.EVALUATION_ERROR)}});let q=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]+\})\s*)?\)/g;if(J.debug){console.warn(`Processing translations in template. Sections: ${Y.includes("<h2>Translation with Parameters</h2>")?"Parameters section found":"Parameters section missing"}`);let K=[...Y.matchAll(q)];console.warn(`Found ${K.length} @translate matches`),K.forEach((z,U)=>console.warn(`Match ${U}: ${z[0]}, Key: ${z[1]}, Params: ${z[2]||"none"}`))}return Y=await HG(Y,/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)/g,async(K,z,U,B)=>{try{let j={};if(U)try{let _=[()=>JSON.parse(U),()=>{let H=`{"data":${U}}`,O=JSON.parse(H);return typeof O.data==="object"?O.data:{}},()=>{return k0(U,X)}];for(let H of _)try{if(j=H(),Object.keys(j).length>0)break}catch{}}catch(_){if(J.debug)console.error("Error parsing parameters for @translate directive:",_)}return _G(z,w,Q.fallbackToKey,j)}catch(j){if(J.debug)console.error("Error processing @translate directive:",j);return Z0("Translate",`Error in @translate('${z}'): ${j instanceof Error?j.message:String(j)}`,a.EVALUATION_ERROR)}}),Y}async function HG($,X,Z){let J=[];return $.replace(X,(G,...Q)=>{let w=Z(G,...Q).then((q)=>({match:G,replacement:q}));return J.push(w),G}),(await Promise.all(J)).reduce((G,{match:Q,replacement:w})=>G.replace(Q,w),$)}var s7,p3,l3,a7,u3;var FG=E(()=>{V1();I0();p3={defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},l3={},a7={},u3={}});var o3={};t(o3,{streamingSuspenseDirective:()=>RG,streamToResponse:()=>q_,streamTemplateSimple:()=>Y_,streamTemplate:()=>tB,renderStreamingPage:()=>$_,registerStreamingDirectives:()=>Q_,processStreamDirectives:()=>Z_,processSectionDirectives:()=>w_,islandDirective:()=>NG,generateHydrationRuntime:()=>W_,extractStreamBoundaries:()=>J_,createStreamRenderer:()=>G_,buildSuspenseResolveScript:()=>r3,SUSPENSE_RESOLVER_RUNTIME:()=>AG});import o$ from"path";function aB($){let X=[],Z=0,J;VG.lastIndex=0;while((J=VG.exec($))!==null){if(J.index>Z){let Q=$.slice(Z,J.index);if(Q.trim())X.push({type:X.length===0?"shell":"content",content:Q})}let Y=J[1],G=J[2];X.push({type:"suspense",name:Y,content:G}),Z=J.index+J[0].length}if(Z<$.length){let Y=$.slice(Z);if(Y.trim())X.push({type:X.length===0?"shell":"content",content:Y})}if(X.length===0)X.push({type:"shell",content:$});return X}async function tB($,X={},Z={}){let J={...G5,...Z,streaming:{...n3,...Z.streaming}},Y=J.streaming?.bufferSize||16384;return new ReadableStream({async start(G){try{let Q=await Bun.file($).text(),w=Q.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),q=w?w[1]:"",W=Q.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),K={...X,__filename:$,__dirname:o$.dirname($)};if(q.trim())await a1(q,K,$);let z=aB(W),U=new Set;if(!z.some((j)=>j.type==="suspense")){let j=J.streaming?.strategy||"auto",_=new RegExp(q5.source,"g");if(!(j!=="manual"&&_.test(W))){let O=await O0(W,K,$,J,U);for(let L=0;L<O.length;L+=Y)G.enqueue(O.slice(L,L+Y)),await new Promise((F)=>setTimeout(F,0))}else{let O=[],L=new RegExp(q5.source,"g"),F;while((F=L.exec(W))!==null)O.push({name:F[1],content:F[2],start:F.index,end:F.index+F[0].length});let V=0;for(let R of O){if(R.start>V){let N=W.slice(V,R.start);if(N.trim()){let M=await O0(N,K,$,J,U);G.enqueue(M),await new Promise((T)=>setTimeout(T,0))}}let A=await O0(R.content,K,$,J,U);G.enqueue(A),await new Promise((N)=>setTimeout(N,0)),V=R.end}if(V<W.length){let R=W.slice(V);if(R.trim()){let A=await O0(R,K,$,J,U);G.enqueue(A)}}}}else{let j=new Map;for(let H of z)if(H.type==="shell"||H.type==="content"){let O=await O0(H.content,K,$,J,U);G.enqueue(O)}else if(H.type==="suspense"&&H.name){let O=`stx-suspense-${H.name}`;G.enqueue(`<div id="${O}" data-suspense="${H.name}" style="display:contents;">
12322
+ </script>`}function sY($,X,Z){if(!UB($))return $;let J=GB($);if(J.length===0)return $;let Y=zB($,J),G=KB(J,X),Q=Y.lastIndexOf("</body>");if(Q!==-1)Y=Y.slice(0,Q)+G+`
12323
+ `+Y.slice(Q);else Y+=G;return Y}function zB($,X){let Z=0,J=$.replace(/<([a-z][a-z0-9-]*)(\s+[^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,(Y,G,Q)=>{let w=X[Z++];if(!w)return Y;let q=/data-stx-scope="([^"]*)"/.exec(Q);if(q)return w.id=q[1],w.selector=`[data-stx-scope="${w.id}"]`,Y;return`<${G} data-stx-scope="${w.id}"${Q}>`});return J=J.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),J=J.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),J=J.replace(/\s*x-init\s*=\s*"([^"]*)"/g,' data-stx-xinit="$1"'),J=J.replace(/\s*x-init\s*=\s*'([^']*)'/g," data-stx-xinit='$1'"),J}function UB($){return/x-data\s*=\s*["']/.test($)}var JB=0,YB=0;var aY=E(()=>{q1()});import jB from"fs";import g4 from"path";import{createHighlighter as BB}from"ts-syntax-highlighter";async function _B($,X={}){try{if(!await n($))throw Error(`Markdown file not found: ${$}`);let J=(await jB.promises.stat($)).mtime.getTime();if(X.cache&&h4.has($)){let z=h4.get($);if(z.updatedAt>=J)return{content:z.content,data:z.data}}let Y=await Bun.file($).text(),{data:G,content:Q}=e6(Y),w=X.markdown||k7.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},W=R7(Q,{gfm:!0});if(w.syntaxHighlighting?.enabled&&w.syntaxHighlighting?.serverSide)W=await HB(W,w.syntaxHighlighting?.defaultTheme||"github-dark",w.syntaxHighlighting?.highlightUnknownLanguages||!1);let K={content:W,data:G||{}};if(X.cache)h4.set($,{...K,updatedAt:J});return K}catch(Z){if(X.debug)console.error(`Error reading/parsing markdown file ${$}:`,Z);let J=Z instanceof Error?Z.message:String(Z);return{content:j0("Markdown File",`Error reading/parsing markdown file: ${J}`,$,"",0,""),data:{}}}}async function HB($,X,Z){let J=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!r$)try{r$=await BB({theme:X||"github-dark",cache:!0})}catch(w){return console.error("Failed to initialize ts-syntax-highlighter:",w),$}let Y=async(w,q,W,K)=>{let z=K.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#39;/g,"'"),U=W||(Z?"text":"");if(!U)return w;try{if(!r$.getSupportedLanguages().includes(U))return w;return(await r$.highlight(z,U,{theme:X})).html}catch(B){console.error(`Error highlighting code block with language ${W}:`,B)}return w},G=$,Q=$.matchAll(J);for(let w of Q){let[q,W,K,z]=w,U=await Y(q,W,K,z);G=G.replace(q,U)}return G}async function tY($,X,Z="",J={}){return await OB($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(Q,w,q,W)=>{try{let K=w;if(!g4.isAbsolute(w))K=g4.resolve(g4.dirname(Z),w);let z={};if(q)try{try{z=JSON.parse(q)}catch{if(J.debug)console.warn("Using safer alternative for parsing JS object literal");let O=q.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let 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('"'),M=R.startsWith("'")&&R.endsWith("'");if(N||M)R=R.substring(1,R.length-1);z[A]=R}}}}catch(L){if(J.debug)console.error("Error parsing context in @markdown-file directive:",L)}let{content:U,data:B}=await _B(K,J),j={...X,...B,...z},_=U,H=/\{\{([^}]+)\}\}/g;return _=_.replace(H,(L,O)=>{let F=O.trim();return j[F]!==void 0?String(j[F]):L}),_}catch(K){let z=K instanceof Error?K.message:String(K);return j0("Markdown File",`Error including markdown file: ${z}`,Z,$,W,Q)}})}async function OB($,X,Z){let J=[],Y;while((Y=X.exec($))!==null){let w=Y[0],q=Y.index,W=Y;J.push(Z(...W).then((K)=>({match:w,replacement:K,index:q})))}let G=await Promise.all(J);G.sort((w,q)=>q.index-w.index);let Q=$;for(let{match:w,replacement:q}of G)Q=Q.replace(w,()=>q);return Q}var h4,r$=null;var eY=E(()=>{L1();y0();h4=new Map});function h1($,X){try{let Z=$.trim();if(w0(Z))return q0(Z,Object.keys(X))(...Object.values(X));else return Y0(Z,X)}catch{return!1}}var $G=E(()=>{E0()});function LB($,X,Z){let J=$,Y=!0;while(Y){Y=!1;let G=J.match(/@switch\s*\(/);if(!G||G.index===void 0)break;let Q=G.index,w=VX(J,Q);if(!w)break;try{let q;if(w0(w.expression))q=q0(w.expression,Object.keys(X))(...Object.values(X));else q=Y0(w.expression,X);let W="",K=!1;for(let z of w.cases)if(z.type==="default"){if(!K)W=z.content.trim()}else try{let U;if(z.value&&w0(z.value))U=q0(z.value,Object.keys(X))(...Object.values(X));else if(z.value)U=Y0(z.value,X);if(q===U){W=z.content.trim(),K=!0;break}}catch{continue}J=J.substring(0,Q)+W+J.substring(w.end),Y=!0}catch(q){let W=q instanceof Error?q.message:String(q),K=Z0("Switch",`Error evaluating @switch expression: ${W}`,a.EVALUATION_ERROR);J=J.substring(0,Q)+K+J.substring(w.end);break}}return J}function FB($){let X=[];return{masked:$.replace(/<script\b[\s\S]*?<\/script\s*>/gi,(J)=>{return X.push(J),`\x00stx-script-${X.length-1}\x00`}),scripts:X}}function VB($,X){if(X.length===0)return $;return $.replace(/\u0000stx-script-(\d+)\u0000/g,(Z,J)=>X[Number(J)]??Z)}function R1($,X,Z){let{masked:J,scripts:Y}=FB($);return VB(AB(J,X,Z),Y)}function AB($,X,Z){let J=$;J=LB(J,X,Z);{let G=!0;while(G){G=!1;let Q=J.match(/@unless\s*\(/);if(!Q||Q.index===void 0)break;let w=Q.index,q=v1(J,w+7);if(!q)break;let W=q.endPos,K=e1(J,"unless","endunless",W);if(K===-1){console.warn(`[stx] @unless directive at position ${w} has no matching @endunless \u2014 the block was skipped. Check for typos or missing closers.`);break}let z=J.slice(W,K),U=q.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(z))!==null)F.push({pos:V.index,type:"open"});while((V=L.exec(z))!==null)F.push({pos:V.index,type:"close"});while((V=O.exec(z))!==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 _=z.slice(0,B),H=z.slice(B+5);j=`@if (${U})${H}@else ${_}@endif`}else j=`@if (!(${U}))${z}@endif`;J=J.substring(0,w)+j+J.substring(K+10),G=!0}}J=d4(J,X,Z),J=m4(J,X,Z),J=u4(J,X);let Y=()=>{let G=g7(J);if(G.length===0)return!1;for(let Q=G.length-1;Q>=0;Q--){let w=G[Q];try{let q="",W=!1;for(let K of w.branches){if(W)break;if(K.type==="else")q=K.content,W=!0;else try{let z;if(K.condition&&w0(K.condition))z=q0(K.condition,Object.keys(X))(...Object.values(X));else if(K.condition)z=Y0(K.condition,X);if(z)q=K.content,W=!0}catch(z){q=Z0(K.type==="if"?"If":"Elseif",`Error in @${K.type}(${K.condition}): ${z instanceof Error?z.message:String(z)}`,a.EVALUATION_ERROR),W=!0}}J=J.substring(0,w.start)+q+J.substring(w.end)}catch(q){let W=q instanceof Error?q.message:String(q),K=Z0("If",`Error processing @if block: ${W}`,a.EVALUATION_ERROR);J=J.substring(0,w.start)+K+J.substring(w.end)}}return!0};while(!0){let G=J;if(!Y())break;if(J===G)break}return J}function XG($){let X=0;while(X<$.length&&/\s/.test($[X]))X++;if($[X]!=="(")return null;X++;while(X<$.length&&/\s/.test($[X]))X++;let Z=$[X];if(Z!=="'"&&Z!=='"')return null;X++;let J=[];while(X<$.length){let Y=$[X];if(Y==="\\"&&X+1<$.length){J.push($[X+1]),X+=2;continue}if(Y===Z){X++;break}J.push(Y),X++}while(X<$.length&&/\s/.test($[X]))X++;if($[X]!==")")return null;return X++,{value:J.join(""),consumed:X}}function u4($,X){let Z=$;function J(w,q,W,K){let z=1,U=K,B=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),j=new RegExp(`@${W}(?![a-z])`,"g");while(U<w.length&&z>0){B.lastIndex=U,j.lastIndex=U;let _=B.exec(w),H=j.exec(w),L=_?_.index:1/0,O=H?H.index:1/0;if(L<O)z++,U=L+_[0].length;else if(O<1/0){if(z--,z===0)return O;U=O+H[0].length}else break}return-1}function Y(w,q,W){let K=0,z=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),U=new RegExp(`@${W}(?![a-z])`,"g"),B=/@else(?![a-z])/g,j=[],_;while((_=z.exec(w))!==null)j.push({pos:_.index,type:"open"});while((_=U.exec(w))!==null)j.push({pos:_.index,type:"close"});while((_=B.exec(w))!==null)j.push({pos:_.index,type:"else"});j.sort((H,L)=>H.pos-L.pos);for(let H of j)if(H.type==="open")K++;else if(H.type==="close")K--;else if(H.type==="else"&&K===0)return H.pos;return-1}{let w=!0;while(w){w=!1;let q=Z.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let W=q.index,K,z,U=Z.slice(W+5),B=XG(U);if(B)K=B.value,z=W+5+B.consumed;else z=W+5;let j=J(Z,"auth","endauth",z);if(j===-1){console.warn(`[stx] @auth directive at position ${W} has no matching @endauth \u2014 the block was skipped.`);break}let _=Z.slice(z,j),H=Y(_,"auth","endauth"),L;if(!X.auth)L=!1;else L=K?h1(`auth?.check && auth?.user?.[${K}]`,X):h1("auth?.check",X);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,W)+O+Z.substring(j+8),w=!0}}{let w=!0;while(w){w=!1;let q=Z.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let W=q.index,K,z,U=Z.slice(W+6),B=XG(U);if(B)K=B.value,z=W+6+B.consumed;else z=W+6;let j=J(Z,"guest","endguest",z);if(j===-1){console.warn(`[stx] @guest directive at position ${W} has no matching @endguest \u2014 the block was skipped.`);break}let _=Z.slice(z,j),H=Y(_,"guest","endguest"),L;if(!X.auth)L=!0;else L=K?h1(`!auth?.check || !auth?.user?.[${K}]`,X):h1("!auth?.check",X);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,W)+O+Z.substring(j+9),w=!0}}function G(w,q,W){if(X.userCan&&typeof X.userCan[w]==="boolean")return X.userCan[w];if(X.permissions?.check&&typeof X.permissions.check==="function")try{let K=[w];if(q)K.push(q);if(W){let z=h1(W,X);K.push(z)}return X.permissions.check(...K)}catch{return!1}return!1}function Q(w){let q=w.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!q)return null;return{ability:q[1],type:q[2],id:q[3]?.trim(),paramsEnd:q[0].length}}for(let w of["can","cannot"]){let q=`end${w}`,W=w==="can"?"elsecan":"elsecannot",K=!0;while(K){K=!1;let z=Z.match(new RegExp(`@${w}\\s*\\(`));if(!z||z.index===void 0)break;let U=z.index,B=Z.slice(U+`@${w}`.length),j=Q(B);if(!j)break;let _=U+`@${w}`.length+j.paramsEnd,H=J(Z,w,q,_);if(H===-1){console.warn(`[stx] @${w} directive at position ${U} has no matching @${q} \u2014 the block was skipped.`);break}let L=Z.slice(_,H),O=[],F=0,V=new RegExp(`@${w}\\s*\\(`,"g"),A=new RegExp(`@${q}(?![a-z])`,"g"),R=new RegExp(`@${W}\\s*\\(`,"g"),N=/@else(?![a-z])/g,M=[],T;while((T=V.exec(L))!==null)M.push({pos:T.index,type:"open"});while((T=A.exec(L))!==null)M.push({pos:T.index,type:"close"});while((T=R.exec(L))!==null)M.push({pos:T.index,type:"elseDirective"});while((T=N.exec(L))!==null)M.push({pos:T.index,type:"else"});M.sort((y,v)=>y.pos-v.pos);for(let y of M){if(y.type==="open"){F++;continue}if(y.type==="close"){F--;continue}if(F===0)O.push(y)}let k=[],D=0;for(let y=0;y<O.length;y++){let v=O[y];if(k.push({content:L.slice(D,v.pos),ability:void 0}),v.type==="elseDirective"){let f=L.slice(v.pos+`@${W}`.length),x=Q(f);if(x){k[k.length-1]={content:L.slice(D,v.pos)},D=v.pos+`@${W}`.length+x.paramsEnd,k.push({content:"",ability:x.ability,type:x.type,id:x.id}),k.pop();let l=O[y+1],c=l?l.pos:L.length;k.push({content:L.slice(D,c),ability:x.ability,type:x.type,id:x.id}),D=c}}else D=v.pos+5}if(D<L.length){let y=k[k.length-1];if(O.length>0&&O[O.length-1].type==="else")k.push({content:L.slice(D),isFinalElse:!0});else if(k.length===0)k.push({content:L.slice(D)})}let I=G(j.ability,j.type,j.id),S=w==="can"?I:!I,b="";if(S)b=k[0]?.content||"";else{let y=!1;for(let v=1;v<k.length;v++){let f=k[v];if(f.isFinalElse){b=f.content,y=!0;break}if(f.ability){let x=G(f.ability,f.type,f.id);if(w==="can"?x:!x){b=f.content,y=!0;break}}}if(!y&&k.length>0){let v=k[k.length-1];if(v.isFinalElse)b=v.content}}Z=Z.substring(0,U)+b+Z.substring(H+`@${q}`.length),K=!0}}return Z}function d4($,X,Z){let J=$;function Y(G,Q,w,q,W){let K=!0;while(K){K=!1;let z=new RegExp(`@${Q}\\s*\\(`),U=G.match(z);if(!U||U.index===void 0)break;let B=U.index,j=v1(G,B+`@${Q}`.length);if(!j)break;let _=j.endPos,H=e1(G,Q,w,_);if(H===-1){console.warn(`[stx] @${Q} directive at position ${B} has no matching @${w} \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=q(O.trim()),N;if(F!==-1){let M=L.slice(0,F),T=L.slice(F+5);N=R?M:T}else N=R?L:"";G=G.substring(0,B)+N+G.substring(H+`@${w}`.length),K=!0}catch(R){let N=R instanceof Error?R.message:String(R),M=Z0(W,`Error processing @${Q} directive: ${N}`,a.EVALUATION_ERROR);G=G.substring(0,B)+M+G.substring(H+`@${w}`.length);break}}return G}return J=Y(J,"isset","endisset",(G)=>{let Q=h1(G,X);return Q!==void 0&&Q!==null},"Isset"),J=Y(J,"empty","endempty",(G)=>{let Q=h1(G,X);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"),J}function m4($,X,Z){let J=$,Y="development";function G(Q,w,q,W){let K=new RegExp(`@${w}(?![a-z])`,"g"),z=new RegExp(`@${q}(?![a-z])`,"g"),U=new RegExp(`^@${w}(?![a-z])`),B=new RegExp(`^@${q}(?![a-z])`),j=Q,_=!0;while(_){_=!1,K.lastIndex=0;let H=K.exec(j);if(!H)break;let L=H.index,O=L+H[0].length;if(w==="env"){let I=j.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!I)break;O+=I[0].length,W=Y===I[2]}let F=1,V=O,A=-1;while(F>0&&V<j.length){K.lastIndex=V,z.lastIndex=V;let I=K.exec(j),S=z.exec(j),b=I?I.index:1/0,y=S?S.index:1/0;if(b<y)F++,V=b+I[0].length;else if(y<1/0){if(F--,F===0){A=y;break}V=y+S[0].length}else break}if(A===-1){console.warn(`[stx] @${w} directive at position ${L} has no matching @${q} \u2014 the block was skipped.`);break}let R=j.substring(O,A),N=-1,M=0,T=0;while(T<R.length){let I=R.indexOf("@",T);if(I===-1)break;let S=R.substring(I);if(U.test(S)){M++,T=I+1;continue}if(B.test(S)){M--,T=I+1;continue}if(M===0&&/^@else(?![a-z])/.test(S)){N=I;break}T=I+1}let k;if(N!==-1){let I=R.slice(0,N),S=R.slice(N+5);k=W?I:S}else k=W?R:"";let D=`@${q}`.length;j=j.substring(0,L)+k+j.substring(A+D),_=!0}return j}return J=G(J,"env","endenv",!1),J=G(J,"production","endproduction",Y==="production"),J=G(J,"development","enddevelopment",Y==="development"),J=G(J,"staging","endstaging",Y==="staging"),J=G(J,"testing","endtesting",Y==="testing"),J}var o7=E(()=>{$G();V1();d8();E0()});function JG($=16){let X=new Uint8Array($);return crypto.getRandomValues(X),btoa(String.fromCharCode(...X))}function o$($,X){if(!$)return X?.nonceGenerator?.()??JG();let Z=ZG.get($);if(!Z)Z=X?.nonceGenerator?.()??JG(),ZG.set($,Z);return Z}function RB($,X){let Z=[];for(let[J,Y]of Object.entries($)){if(Y===void 0||Y===null)continue;if(typeof Y==="boolean"){if(Y)Z.push(J);continue}if(Array.isArray(Y)){let G=[...Y];if(X&&(J==="script-src"||J==="style-src"))G=G.filter((Q)=>!Q.startsWith("'nonce-")),G.push(`'nonce-${X}'`);if(G.length>0)Z.push(`${J} ${G.join(" ")}`)}}return Z.join("; ")}function YG($,X){return`<meta http-equiv="Content-Security-Policy" content="${RB($,X).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}">`}function GG($,X,Z){if(!X.enabled||!X.addMetaTag)return $;if($.includes('http-equiv="Content-Security-Policy"'))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let J=X.useNonce?o$(Z,X):void 0,Y=YG(X.directives,J);return $.replace(/<head([^>]*)>/,`<head$1>
12324
+ ${Y}`)}function QG($,X){let Z=$;return Z=Z.replace(/<script(?![^>]*\ssrc=)([^>]*)>/gi,(J,Y)=>{if(Y.includes("nonce="))return J;return`<script nonce="${X}"${Y}>`}),Z=Z.replace(/<style([^>]*)>/gi,(J,Y)=>{if(Y.includes("nonce="))return J;return`<style nonce="${X}"${Y}>`}),Z}function wG($,X,Z,J){let Y=$,G=J.csp;if(Y=Y.replace(/@csp\b/g,()=>{if(!G?.enabled||!G.directives)return"<!-- CSP not configured -->";let Q=G.useNonce?o$(X,G):void 0;return YG(G.directives,Q)}),Y=Y.replace(/@cspNonce\b/g,()=>{if(!G?.enabled||!G.useNonce)return"";return o$(X,G)}),G?.enabled&&G.useNonce)X.cspNonce=o$(X,G);return Y}var ZG;var qG=E(()=>{ZG=new WeakMap});import NB from"crypto";function MB($=TB){let X=NB.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return l4=X,X}function kB(){if(!l4)MB();return l4}function IB($=WG){let X=kB();return`<input type="hidden" name="${$}" value="${X}">`}function KG($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(X,Z,J)=>{return IB(J||WG)})}var TB=40,WG="_token",l4=null;var zG=()=>{};async function UG($,X,Z,J){if(!J.customDirectives||J.customDirectives.length===0)return $;let Y=$;for(let G of J.customDirectives){if(!G.name||typeof G.handler!=="function"){if(J.debug)console.warn("Invalid custom directive:",G);continue}if(G.hasEndTag)Y=await EB(Y,G,X,Z,J);else Y=await DB(Y,G,X,Z,J)}return Y}async function EB($,X,Z,J,Y){let{name:G,handler:Q}=X,w=`@${G}`,q=`@end${G}`,W=$,K=I5(`${w}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${q}`,"g"),z=[],U=K.exec(W);while(U!==null){let[B,j="",_=""]=U,H=U.index||0;try{let L=j?jG(j):[],O=_.trim(),F=await Q(O,L,Z,J);z.push({original:B,processed:F,startIndex:H})}catch(L){let O=L instanceof Error?L.message:String(L);if(Y.debug)console.error(`Error processing custom directive @${G}:`,L);z.push({original:B,processed:Z0("CustomDirective",`Error in @${G}${j?`(${j})`:""}: ${O}`,a.EVALUATION_ERROR),startIndex:H})}U=K.exec(W)}for(let B=z.length-1;B>=0;B--){let{original:j,processed:_}=z[B];W=W.replace(j,_)}return W}async function DB($,X,Z,J,Y){let{name:G,handler:Q}=X,w=$,q=I5(`@${G}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),W=[],K=q.exec(w);while(K!==null){let[B,j=""]=K,_=K.index||0;try{let H=jG(j),L=await Q("",H,Z,J);W.push({original:B,processed:L,startIndex:_})}catch(H){let L=H instanceof Error?H.message:String(H);if(Y.debug)console.error(`Error processing custom directive @${G}:`,H);W.push({original:B,processed:Z0("CustomDirective",`Error in @${G}(${j}): ${L}`,a.EVALUATION_ERROR),startIndex:_})}K=q.exec(w)}let z=I5(`@${G}(?!\\w)(?!\\s*\\()`,"g"),U=z.exec(w);while(U!==null){let[B]=U,j=U.index||0;try{let _=await Q("",[],Z,J);W.push({original:B,processed:_,startIndex:j})}catch(_){let H=_ instanceof Error?_.message:String(_);if(Y.debug)console.error(`Error processing custom directive @${G}:`,_);W.push({original:B,processed:Z0("CustomDirective",`Error in @${G}: ${H}`,a.EVALUATION_ERROR),startIndex:j})}U=z.exec(w)}for(let B=W.length-1;B>=0;B--){let{original:j,processed:_}=W[B];w=w.replace(j,_)}return w}function jG($){if(!$.trim())return[];let X=[],Z="",J=!1,Y="";for(let G=0;G<$.length;G++){let Q=$[G];if((Q==='"'||Q==="'")&&(G===0||$[G-1]!=="\\"))if(!J)J=!0,Y=Q;else if(Q===Y)J=!1;else Z+=Q;else if(Q===","&&!J)X.push(Z.trim()),Z="";else Z+=Q}if(Z.trim())X.push(Z.trim());return X.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 BG=E(()=>{V1();E5()});function w5($,X){if(typeof $!=="string"||$.length===0)throw Error(`@appearanceBootstrap ${X} must be a non-empty string`)}function bB($){if(!$||typeof $!=="object"||Array.isArray($))throw Error("@appearanceBootstrap expects an options object");let X=$,Z=X.appearance,J=X.colorMode;if(w5(X.storageKey,"storageKey"),!Z||typeof Z!=="object"||Array.isArray(Z))throw Error("@appearanceBootstrap appearance must be an object");if(!J||typeof J!=="object"||Array.isArray(J))throw Error("@appearanceBootstrap colorMode must be an object");if(w5(Z.key,"appearance.key"),w5(Z.attribute,"appearance.attribute"),w5(Z.default,"appearance.default"),w5(J.key,"colorMode.key"),w5(J.attribute,"colorMode.attribute"),w5(J.default,"colorMode.default"),!HG.test(Z.key)||!HG.test(J.key))throw Error("@appearanceBootstrap preference keys must be JavaScript property names");if(!_G.test(Z.attribute)||!_G.test(J.attribute))throw Error("@appearanceBootstrap attributes must be lowercase data attribute names");if(!Array.isArray(Z.allowed)||Z.allowed.length===0||Z.allowed.some((Y)=>typeof Y!=="string"||Y.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(!yB.has(J.default))throw Error("@appearanceBootstrap colorMode.default must be light, dark, or system");return{storageKey:X.storageKey,appearance:{key:Z.key,attribute:Z.attribute,allowed:[...new Set(Z.allowed)],default:Z.default},colorMode:{key:J.key,attribute:J.attribute,default:J.default}}}function SB($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function CB($){return`<script data-stx-scoped data-stx-appearance-bootstrap>(function(){"use strict";const config=${SB($)};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 PB($,X){let Z=1,J=null,Y=!1;for(let G=X+1;G<$.length;G++){let Q=$[G];if(Y){Y=!1;continue}if(J){if(Q==="\\")Y=!0;else if(Q===J)J=null;continue}if(Q==='"'||Q==="'"||Q==="`"){J=Q;continue}if(Q==="(")Z++;else if(Q===")"&&--Z===0)return G}return-1}function OG($,X){let Z=$,J=/@appearanceBootstrap\s*\(/g,Y;while((Y=J.exec(Z))!==null){let G=Y.index+Y[0].length-1,Q=PB(Z,G);if(Q===-1)throw Error("@appearanceBootstrap has an unclosed options object");let w=Z.slice(G+1,Q).trim(),q=Y0(`(${w})`,X),W=CB(bB(q));Z=Z.slice(0,Y.index)+W+Z.slice(Q+1),J.lastIndex=Y.index+W.length}return Z}var _G,HG,yB;var LG=E(()=>{E0();_G=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,HG=/^[A-Za-z_$][\w$]*$/,yB=new Set(["light","dark","system"])});import vB from"crypto";function F0($){return String($??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function s$($,X,Z,J){let Y=$||X;return Z?`${Y} ${J}`:Y}function s0($){return String($).replace(/\[\]$/,"").replace(/[^\w.:-]+/g,"-").replace(/^-+|-+$/g,"")}function f5($,X){if(/\bid\s*=/i.test($))return"";return` id="${F0(X)}"`}function c4($,X,Z){if(!X)return"";let J="";if(!/\baria-invalid\s*=/i.test(Z))J+=' aria-invalid="true"';if(!/\baria-describedby\s*=/i.test(Z))J+=` aria-describedby="${F0(`${s0($)}-error`)}"`;return J}function xB(){return vB.randomUUID()}function a$($,X){let Z=$;return Z=Z.replace(/@csrf/g,()=>{if(!X.csrf||typeof X.csrf!=="object"){let J=xB();X.csrf={token:J}}if(X.csrf.field)return X.csrf.field;if(X.csrf.token)return`<input type="hidden" name="_token" value="${F0(X.csrf.token)}">`;return'<input type="hidden" name="_token" value="">'}),Z=Z.replace(/@method\(['"]([^'"]+)['"]\)/g,(J,Y)=>{let G=Y.toUpperCase();if(Y&&!["GET","POST"].includes(G))return`<input type="hidden" name="_method" value="${F0(G)}">`;return J}),Z}function AG($,X,Z=VG){let J=$;return J=J.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(Y,G,Q,w,q,W="")=>{let K=G||Q||"POST",z=w||q||"",U=u1(W),B=K.toUpperCase(),j=["GET","POST"].includes(B)?B:"POST",_=`<form method="${F0(j)}" action="${F0(z)}"${U?` ${U}`:""}>`;if(_+=`
12325
+ ${a$("@csrf",X)}`,!["GET","POST"].includes(B))_+=`
12326
+ ${a$(`@method('${B}')`,X)}`;return _}),J=J.replace(/@endform/g,"</form>"),J=J.replace(/@input\(\s*(?:'([^']+)'|"([^"]+)")\s*(?:,\s*(?:(?:'([^']*)'|"([^"]*)")\s*)?)?(?:,\s*\{([^}]+)\})?\s*\)/g,(Y,G,Q,w,q,W="")=>{let K=G||Q||"",z=w||q||"",U=u1(W),B=s7(K,X),j=B!==void 0&&B!==null?B:z||"",_=U.match(/type=['"]([^'"]+)['"]/i),H=_?_[1]:"text",L=a7(K,X),O=U.match(/class=['"]([^'"]+)['"]/i),F=s$(O?O[1]:"",Z.input,L,Z.inputError),V=U.replace(/class=['"][^'"]+['"]/i,"");return V=V.replace(/type=['"][^'"]+['"]/i,""),`<input type="${F0(H)}" name="${F0(K)}"${f5(U,s0(K))} value="${F0(j)}" class="${F}"${c4(K,L,U)}${V?` ${V}`:""}>`}),J=J.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(Y,G,Q="",w="")=>{let q=u1(Q),W=s7(G,X)||w.trim(),K=a7(G,X),z=q.match(/class=['"]([^'"]+)['"]/i),U=s$(z?z[1]:"",Z.input,K,Z.inputError),B=q.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${F0(G)}"${f5(q,s0(G))} class="${U}"${c4(G,K,q)}${B?` ${B}`:""}>${F0(W)}</textarea>`}),J=J.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(Y,G,Q="",w)=>{let q=u1(Q),W=s7(G,X),K=a7(G,X),z=q.match(/class=['"]([^'"]+)['"]/i),U=s$(z?z[1]:"",Z.input,K,Z.inputError),B=q.replace(/class=['"][^'"]+['"]/i,""),j=w;if(W!==void 0)j=w.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(_,H,L)=>{if((Array.isArray(W)?W.some((F)=>String(F)===L):String(W)===L)&&!H.includes("selected"))return H.replace(/(<option)/,"$1 selected");return _});return`<select name="${F0(G)}"${f5(q,s0(G))} class="${U}"${c4(G,K,q)}${B?` ${B}`:""}>${j}</select>`}),J=J.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(Y,G,Q,w="")=>{let q=Q===void 0?"1":Q,W=Q===void 0?s0(G):`${s0(G)}-${s0(q)}`,K=u1(w),z=s7(G,X),U=z!==void 0&&(Array.isArray(z)?z.some((H)=>String(H)===q):z===!0||String(z)===q),B=K.match(/class=['"]([^'"]+)['"]/i),j=B?B[1]:Z.checkInput,_=K.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${F0(G)}"${f5(K,W)} value="${F0(q)}" class="${j}"${U?" checked":""}${_?` ${_}`:""}>`}),J=J.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Y,G,Q,w="")=>{let q=u1(w),W=s7(G,X),K=W!==void 0&&W===Q,z=q.match(/class=['"]([^'"]+)['"]/i),U=z?z[1]:Z.checkInput,B=q.replace(/class=['"][^'"]+['"]/i,"");return`<input type="radio" name="${F0(G)}"${f5(q,`${s0(G)}-${s0(Q)}`)} value="${F0(Q)}" class="${U}"${K?" checked":""}${B?` ${B}`:""}>`}),J=J.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Y,G,Q="")=>{let w=u1(Q),q=w.match(/accept=['"]([^'"]+)['"]/i),W=q?q[1]:"",K=w.includes("multiple"),z=a7(G,X),U=w.match(/class=['"]([^'"]+)['"]/i),B=s$(U?U[1]:"",Z.input,z,Z.inputError),j=w.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),_=[`<input type="file" name="${F0(G)}"${f5(w,s0(G))}`,`class="${B}"`];if(W)_.push(`accept="${F0(W)}"`);if(K)_.push("multiple");if(j)_.push(j);return`${_.join(" ")}>`}),J=J.replace(/@label\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endlabel/g,(Y,G,Q="",w)=>{let q=u1(Q),W=q.match(/class=['"]([^'"]+)['"]/i),K=W?W[1]:Z.label,z=q.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${F0(s0(G))}" class="${K}"${z?` ${z}`:""}>${w}</label>`}),J}function RG($,X,Z=VG){return $.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(J,Y,G)=>{try{if(a7(Y,X)){let Q=G.replace(/\{\{([^}]+)\}\}/g,(w,q)=>{try{if(q.trim()==="$message"||q.trim()==="message")return FG(Y,X);if(q.trim().includes("errors.first")||q.trim().includes("$errors.first")){if(typeof X.errors?.first==="function")return X.errors.first(Y);return FG(Y,X)}let W=q.trim();if(w0(W)){let K=Y0(W,X);return K!==void 0?String(K):W}return W}catch{return q}});return`<div id="${F0(`${s0(Y)}-error`)}" role="alert">${Q}</div>`}return""}catch(Q){return console.error("Error processing @error directive:",Q),J}})}function a7($,X){if(!X.errors)return!1;if(typeof X.errors.has==="function")return X.errors.has($);if(typeof X.errors==="object")return Object.prototype.hasOwnProperty.call(X.errors,$);return!1}function FG($,X){if(!X.errors)return"";if(typeof X.errors.get==="function")return X.errors.get($);if(typeof X.errors==="object"&&Object.prototype.hasOwnProperty.call(X.errors,$)){let Z=X.errors[$];return Array.isArray(Z)?Z[0]:String(Z)}return""}function s7($,X){let Z;if(X.old&&typeof X.old==="function")return X.old($);if(X.old&&typeof X.old==="object")return X.old[$];if($.endsWith("[]")){let J=$.slice(0,-2);if(Z=X[J],Z!==void 0)return Z}return X[$]}function u1($){if(!$.trim())return"";let X=[],Z=$.trim(),J=/([\w-]+)\s*:\s*(['"]?)([^,'"]*)\2(?:\s*,\s*|\s*$)/g,Y;while((Y=J.exec(Z))!==null){let[,G,,Q]=Y;X.push(`${G}="${Q.trim()}"`)}return X.join(" ")}var VG;var NG=E(()=>{E0();VG={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"}});import n4 from"path";async function fB(){if(t7!==void 0)return t7;try{t7=(await import("@stacksjs/ts-i18n")).loadLocale??null}catch{t7=null}return t7}function gB($,X=0){if(X<=0)return!1;return Date.now()-$.loadedAt>X}async function hB($,X){if({...s4,...X.i18n}.cache&&r4[$]){let Y=r4[$],G=X.i18n?.cacheMaxAge??0;if(!gB(Y,G))return Y.translations}if(e7[$]?.state==="loading")return e7[$].promise;p4[$]="loading";let J=o4($,X).then((Y)=>{return p4[$]="loaded",delete e7[$],Y}).catch((Y)=>{throw p4[$]="error",e7[$]={promise:J,state:"error",error:Y instanceof Error?Y:Error(String(Y))},Y});return e7[$]={promise:J,state:"loading"},J}async function o4($,X){let Z={...s4,...X.i18n},J=n4.isAbsolute(Z.translationsDir)?Z.translationsDir:n4.resolve(X.root||process.cwd(),Z.translationsDir);try{let Y=await fB(),G=Y?await Y($,{translationsDir:J,defaultLocale:Z.defaultLocale,sources:cB(Z.format)}):await uB($,Z,J);if(G===void 0){if($!==Z.defaultLocale)return o4(Z.defaultLocale,X);return{}}let Q=G;if(Z.cache)r4[$]={translations:Q,loadedAt:Date.now(),locale:$};return Q}catch(Y){if(X.debug)console.error(`Error loading translation file for locale "${$}":`,Y);if($!==Z.defaultLocale)return o4(Z.defaultLocale,X);return{}}}async function uB($,X,Z){let J=n4.join(Z,`${$}${dB(X.format)}`);try{let Y=await import(J);return Y.default||Y}catch(Y){try{let G=await Bun.file(J).text();if(X.format==="yaml"||X.format==="yml")return mB(G);if(X.format==="json")return JSON.parse(G);throw Y}catch{return}}}function dB($){switch($){case"yaml":return".yaml";case"yml":return".yml";case"js":return".js";case"ts":return".ts";case"json":default:return".json"}}function mB($){let X={},Z=$.split(`
12327
+ `),J=[{obj:X,indent:-1}];for(let Y of Z){let G=Y.replace(/#.*$/,"").trimEnd();if(!G.trim())continue;let Q=G.search(/\S/);if(Q===-1)continue;while(J.length>1&&J[J.length-1].indent>=Q)J.pop();let w=J[J.length-1].obj,q=G.match(/^(\s*)(\S[^:]*):\s*(.*)$/);if(q){let[,,W,K]=q,z=W.trim(),U=K.trim();if(U==="")w[z]={},J.push({obj:w[z],indent:Q});else w[z]=lB(U)}}return X}function lB($){if($.startsWith("'")&&$.endsWith("'")||$.startsWith('"')&&$.endsWith('"'))return $.slice(1,-1);let X=$.toLowerCase();if(X==="true"||X==="yes")return!0;if(X==="false"||X==="no")return!1;if(X==="null"||X==="~")return null;let Z=Number($);if(!Number.isNaN(Z)&&$!=="")return Z;return $}function cB($){switch($){case"yaml":case"yml":return["yaml"];case"js":case"ts":return["ts"];case"json":default:return["json"]}}async function pB($,X){return hB($,X)}function iB($,X){for(let Z of $){let J=Z.trim(),Y=J.match(/^\{(\d+)\}\s*(.*)$/);if(Y){let Q=Number.parseInt(Y[1],10);if(X===Q)return Y[2];continue}let G=J.match(/^\[(\d+),(\d+|\*)\]\s*(.*)$/);if(G){let Q=Number.parseInt(G[1],10),w=G[2]==="*"?Number.POSITIVE_INFINITY:Number.parseInt(G[2],10);if(X>=Q&&X<=w)return G[3];continue}}if($.length===2)return X===1?$[0].trim():$[1].trim();if(X<$.length)return $[X].trim();return $[$.length-1].trim()}function nB($,X={}){return kG($,X)}function kG($,X){let Z="",J=0;while(J<$.length)if($[J]==="{"){let Y=rB($,J);if(Y===-1){Z+=$[J],J++;continue}let G=$.slice(J+1,Y);Z+=oB(G,X),J=Y+1}else if($[J]==="'"&&J+1<$.length)if($[J+1]==="'")Z+="'",J+=2;else if($[J+1]==="{"||$[J+1]==="}")Z+=$[J+1],J+=2;else Z+=$[J],J++;else Z+=$[J],J++;return Z}function rB($,X){let Z=0;for(let J=X;J<$.length;J++)if($[J]==="{")Z++;else if($[J]==="}"){if(Z--,Z===0)return J}return-1}function oB($,X){let Z=sB($);if(Z.length===0)return`{${$}}`;let J=Z[0].trim(),Y=X[J];if(Z.length===1)return Y!==void 0?String(Y):`{${J}}`;switch(Z[1].trim().toLowerCase()){case"plural":return aB(Y,Z.slice(2).join(","),X);case"select":return eB(Y,Z.slice(2).join(","));case"selectordinal":return $_(Y,Z.slice(2).join(","));case"number":return Z_(Y,Z[2]?.trim());case"date":return J_(Y,Z[2]?.trim());case"time":return Y_(Y,Z[2]?.trim());default:return Y!==void 0?String(Y):`{${$}}`}}function sB($){let X=[],Z="",J=0;for(let Y=0;Y<$.length;Y++){let G=$[Y];if(G==="{")J++,Z+=G;else if(G==="}")J--,Z+=G;else if(G===","&&J===0)X.push(Z),Z="";else Z+=G}if(Z)X.push(Z);return X}function aB($,X,Z){let J=Number($)||0,Y=a4(X),G=`=${J}`;if(Y[G])return i4(Y[G],J,Z);let Q=tB(J);if(Y[Q])return i4(Y[Q],J,Z);if(Y.other)return i4(Y.other,J,Z);return String(J)}function i4($,X,Z){let J=$.replace(/#/g,String(X));return kG(J,Z)}function tB($){let X=Math.abs($),Z=Math.floor(X),J=String($).includes(".")?String($).split(".")[1].length:0;if(Z===1&&J===0)return"one";return"other"}function eB($,X){let Z=String($||""),J=a4(X);if(J[Z])return J[Z];return J.other||String($)}function $_($,X){let Z=Number($)||0,J=a4(X),Y=X_(Z);if(J[Y])return J[Y].replace(/#/g,String(Z));if(J.other)return J.other.replace(/#/g,String(Z));return String(Z)}function X_($){let X=Math.abs($),Z=X%10,J=X%100;if(Z===1&&J!==11)return"one";if(Z===2&&J!==12)return"two";if(Z===3&&J!==13)return"few";return"other"}function a4($){let X={},Z=/(\w+|=\d+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g,J=Z.exec($);while(J!==null)X[J[1]]=J[2],J=Z.exec($);return X}function Z_($,X){let Z=Number($);if(Number.isNaN(Z))return String($);switch(X){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 J_($,X){let Z=$ instanceof Date?$:new Date(String($));if(Number.isNaN(Z.getTime()))return String($);let J={};switch(X){case"short":J.dateStyle="short";break;case"medium":J.dateStyle="medium";break;case"long":J.dateStyle="long";break;case"full":J.dateStyle="full";break;default:J.dateStyle="medium"}return Z.toLocaleDateString(void 0,J)}function Y_($,X){let Z=$ instanceof Date?$:new Date(String($));if(Number.isNaN(Z.getTime()))return String($);let J={};switch(X){case"short":J.timeStyle="short";break;case"medium":J.timeStyle="medium";break;case"long":J.timeStyle="long";break;case"full":J.timeStyle="full";break;default:J.timeStyle="short"}return Z.toLocaleTimeString(void 0,J)}function G_($){return/\{[^}]+,\s*(?:plural|select|selectordinal|number|date|time)\s*,/.test($)}function TG($,X,Z=!0,J={}){let Y=$.split("."),G=X;for(let w of Y){if(G===void 0||G===null)break;G=G[w]}if(G===void 0||G===null)return Z?$:"";let Q=String(G);if(G_(Q))return nB(Q,J);if(Q.includes("|")&&"count"in J){let w=Number(J.count),q=Q.split("|");Q=iB(q,w)}for(let[w,q]of Object.entries(J)){let W=w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Q=Q.replace(new RegExp(`:${W}`,"g"),String(q))}return Q}async function IG($,X,Z,J){let Y=$,G=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)([\s\S]*?)@endtranslate/g,Q={...s4,...J.i18n},w=await pB(Q.locale,J);X.__translations=w,X.__locale=Q.locale,X.__i18nConfig=Q,Y=await MG(Y,G,async(K,z,U,B,j)=>{try{let _={};if(U)try{let L=[()=>JSON.parse(U),()=>{let O=`{"data":${U}}`,F=JSON.parse(O);return typeof F.data==="object"?F.data:{}},()=>{return I0(U,X)}];for(let O of L)try{if(_=O(),Object.keys(_).length>0)break}catch{}}catch(L){if(J.debug)console.error("Error parsing parameters for @translate directive:",L)}return TG(z,w,Q.fallbackToKey,_)||B.trim()}catch(_){if(J.debug)console.error("Error processing @translate directive:",_);return Z0("Translate",`Error in @translate('${z}'): ${_ instanceof Error?_.message:String(_)}`,a.EVALUATION_ERROR)}});let q=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]+\})\s*)?\)/g;if(J.debug){console.warn(`Processing translations in template. Sections: ${Y.includes("<h2>Translation with Parameters</h2>")?"Parameters section found":"Parameters section missing"}`);let K=[...Y.matchAll(q)];console.warn(`Found ${K.length} @translate matches`),K.forEach((z,U)=>console.warn(`Match ${U}: ${z[0]}, Key: ${z[1]}, Params: ${z[2]||"none"}`))}return Y=await MG(Y,/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)/g,async(K,z,U,B)=>{try{let j={};if(U)try{let _=[()=>JSON.parse(U),()=>{let H=`{"data":${U}}`,L=JSON.parse(H);return typeof L.data==="object"?L.data:{}},()=>{return I0(U,X)}];for(let H of _)try{if(j=H(),Object.keys(j).length>0)break}catch{}}catch(_){if(J.debug)console.error("Error parsing parameters for @translate directive:",_)}return TG(z,w,Q.fallbackToKey,j)}catch(j){if(J.debug)console.error("Error processing @translate directive:",j);return Z0("Translate",`Error in @translate('${z}'): ${j instanceof Error?j.message:String(j)}`,a.EVALUATION_ERROR)}}),Y}async function MG($,X,Z){let J=[];return $.replace(X,(G,...Q)=>{let w=Z(G,...Q).then((q)=>({match:G,replacement:q}));return J.push(w),G}),(await Promise.all(J)).reduce((G,{match:Q,replacement:w})=>G.replace(Q,w),$)}var t7,s4,r4,e7,p4;var EG=E(()=>{V1();E0();s4={defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},r4={},e7={},p4={}});var $3={};t($3,{streamingSuspenseDirective:()=>bG,streamToResponse:()=>O_,streamTemplateSimple:()=>j_,streamTemplate:()=>w_,renderStreamingPage:()=>W_,registerStreamingDirectives:()=>__,processStreamDirectives:()=>z_,processSectionDirectives:()=>H_,islandDirective:()=>SG,generateHydrationRuntime:()=>L_,extractStreamBoundaries:()=>U_,createStreamRenderer:()=>B_,buildSuspenseResolveScript:()=>e4,SUSPENSE_RESOLVER_RUNTIME:()=>yG});import t$ from"path";function Q_($){let X=[],Z=0,J;DG.lastIndex=0;while((J=DG.exec($))!==null){if(J.index>Z){let Q=$.slice(Z,J.index);if(Q.trim())X.push({type:X.length===0?"shell":"content",content:Q})}let Y=J[1],G=J[2];X.push({type:"suspense",name:Y,content:G}),Z=J.index+J[0].length}if(Z<$.length){let Y=$.slice(Z);if(Y.trim())X.push({type:X.length===0?"shell":"content",content:Y})}if(X.length===0)X.push({type:"shell",content:$});return X}async function w_($,X={},Z={}){let J={...Q5,...Z,streaming:{...t4,...Z.streaming}},Y=J.streaming?.bufferSize||16384;return new ReadableStream({async start(G){try{let Q=await Bun.file($).text(),w=Q.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),q=w?w[1]:"",W=Q.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),K={...X,__filename:$,__dirname:t$.dirname($)};if(q.trim())await t1(q,K,$);let z=Q_(W),U=new Set;if(!z.some((j)=>j.type==="suspense")){let j=J.streaming?.strategy||"auto",_=new RegExp(q5.source,"g");if(!(j!=="manual"&&_.test(W))){let L=await O0(W,K,$,J,U);for(let O=0;O<L.length;O+=Y)G.enqueue(L.slice(O,O+Y)),await new Promise((F)=>setTimeout(F,0))}else{let L=[],O=new RegExp(q5.source,"g"),F;while((F=O.exec(W))!==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=W.slice(V,A.start);if(N.trim()){let M=await O0(N,K,$,J,U);G.enqueue(M),await new Promise((T)=>setTimeout(T,0))}}let R=await O0(A.content,K,$,J,U);G.enqueue(R),await new Promise((N)=>setTimeout(N,0)),V=A.end}if(V<W.length){let A=W.slice(V);if(A.trim()){let R=await O0(A,K,$,J,U);G.enqueue(R)}}}}else{let j=new Map;for(let H of z)if(H.type==="shell"||H.type==="content"){let L=await O0(H.content,K,$,J,U);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;">
12209
12328
  <template data-suspense-fallback>Loading...</template>
12210
12329
  </div>`),j.set(H.name,O0(H.content,K,$,J,U))}G.enqueue(`
12211
12330
  <script>
@@ -12223,13 +12342,13 @@ ${Y}`)}function aY($,X){let Z=$;return Z=Z.replace(/<script(?![^>]*\ssrc=)([^>]*
12223
12342
  }
12224
12343
  };
12225
12344
  })();
12226
- </script>`);let _=Array.from(j.entries()).map(async([H,O])=>{G.enqueue(await r3(H,O))});await Promise.all(_)}G.close()}catch(Q){G.error(Q)}}})}async function r3($,X){try{let J=(await X).replace(/`/g,"\\`").replace(/<\/script>/gi,"<\\/script>");return`
12345
+ </script>`);let _=Array.from(j.entries()).map(async([H,L])=>{G.enqueue(await e4(H,L))});await Promise.all(_)}G.close()}catch(Q){G.error(Q)}}})}async function e4($,X){try{let J=(await X).replace(/`/g,"\\`").replace(/<\/script>/gi,"<\\/script>");return`
12227
12346
  <script>
12228
12347
  window.__stxSuspense.resolve('${$}', \`${J}\`);
12229
12348
  </script>`}catch(Z){let J=Z instanceof Error?Z.message:String(Z);return`
12230
12349
  <script>
12231
12350
  window.__stxSuspense.resolve('${$}', '<div class="stx-error">Error loading content: ${$1(J)}</div>');
12232
- </script>`}}function eB($,X,Z){if(!X||X<=0)return $;let J,Y=new Promise((G,Q)=>{J=setTimeout(()=>Q(Error(`streaming boundary "${Z}" timed out after ${X}ms`)),X)});return Promise.race([$,Y]).finally(()=>clearTimeout(J))}function $_($,X=[],Z={}){let J=Z.timeoutMs??0;return new ReadableStream({async start(Y){try{if(Y.enqueue($),X.length>0)Y.enqueue(AG),await Promise.all(X.map(async(G)=>{let Q=eB(G.render(),J,G.id);Y.enqueue(await r3(G.id,Q))}));Y.close()}catch(G){Y.error(G)}}})}function Z_($,X){return $.replace(X_,(Z,J,Y)=>{let G=J.trim(),Q=Y.split(/@fallback/i),w=Q[0].trim(),q=Q.length>1?Q.slice(1).join("@fallback").trim():"";if(!X.__streamTemplates)X.__streamTemplates={};return X.__streamTemplates[G]=w,`<div data-suspense="${G}">${q}</div>`})}function J_($){let X=$?.streamBoundaries;if(!X||typeof X!=="object")return;let Z=Object.entries(X).filter(([,J])=>typeof J==="function");return Z.length>0?Z.map(([J,Y])=>({id:J,render:Y})):void 0}async function Y_($,X={},Z={}){let J={...G5,...Z,streaming:{...n3,...Z.streaming}},Y=J.streaming?.bufferSize||16384;return new ReadableStream({async start(G){try{let Q=await Bun.file($).text(),w=Q.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),q=w?w[1]:"",W=Q.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),K={...X,__filename:$,__dirname:o$.dirname($)};if(q.trim())await a1(q,K,$);let z=new Set,U=J.streaming?.strategy||"auto",B=new RegExp(q5.source,"g");if(!(U!=="manual"&&B.test(W))){let _=await O0(W,K,$,J,z);for(let H=0;H<_.length;H+=Y)G.enqueue(_.slice(H,H+Y))}else{let _=[],H=new RegExp(q5.source,"g"),O;while((O=H.exec(W))!==null)_.push({name:O[1],content:O[2],start:O.index,end:O.index+O[0].length});let L=0;for(let F of _){if(F.start>L){let R=W.slice(L,F.start);if(R.trim()){let A=await O0(R,K,$,J,z);G.enqueue(A)}}let V=await O0(F.content,K,$,J,z);G.enqueue(V),L=F.end}if(L<W.length){let F=W.slice(L);if(F.trim()){let V=await O0(F,K,$,J,z);G.enqueue(V)}}}G.close()}catch(Q){G.error(Q)}}})}async function G_($,X={}){let Z={...G5,...X,streaming:{...n3,...X.streaming}},J=await Bun.file($).text(),Y=J.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),G=Y?Y[1]:"",Q=J.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),w=Q,q={},W;q5.lastIndex=0;while((W=q5.exec(Q))!==null){let U=W[1],B=W[2];q[U]=B}let K=Q.replace(q5,"");return{renderShell:async(U={})=>{let B={...U,__filename:$,__dirname:o$.dirname($)};return await a1(G,B,$),O0(K,B,$,Z,new Set)},renderSection:async(U,B={})=>{try{if(!q[U])return`<div class="error-message">Section "${$1(U)}" not found in template "${$1($)}"</div>`;let j={...B,__filename:$,__dirname:o$.dirname($)};await a1(G,j,$);let _=new Set;return await O0(q[U],j,$,Z,_)}catch(j){let _=j instanceof Error?j.message:String(j);return j0("Expression",_,$,q[U]||"",0,q[U]||"")}},getSections:()=>{return Object.keys(q)},getTemplate:()=>{return w}}}function Q_($={}){let X=[];if($.streaming?.enabled)X.push(RG);if($.hydration?.enabled)X.push(NG);return X}async function w_($,X,Z,J={}){return $}function q_($,X={}){let Z=new TextEncoder,J=$.pipeThrough(new TransformStream({transform(G,Q){Q.enqueue(Z.encode(G))}})),Y=new Headers(X.headers);if(!Y.has("Content-Type"))Y.set("Content-Type","text/html; charset=utf-8");if(!Y.has("Transfer-Encoding"))Y.set("Transfer-Encoding","chunked");if(!Y.has("X-Content-Type-Options"))Y.set("X-Content-Type-Options","nosniff");if(!Y.has("X-Accel-Buffering"))Y.set("X-Accel-Buffering","no");return new Response(J,{...X,headers:Y})}function W_($={mode:"full"}){let{mode:X,components:Z={},dynamicImports:J=!0}=$,Y=Object.entries(Z).map(([G,Q])=>`'${G}': ${J?`() => import('${Q}')`:`require('${Q}')`}`).join(`,
12351
+ </script>`}}function q_($,X,Z){if(!X||X<=0)return $;let J,Y=new Promise((G,Q)=>{J=setTimeout(()=>Q(Error(`streaming boundary "${Z}" timed out after ${X}ms`)),X)});return Promise.race([$,Y]).finally(()=>clearTimeout(J))}function W_($,X=[],Z={}){let J=Z.timeoutMs??0;return new ReadableStream({async start(Y){try{if(Y.enqueue($),X.length>0)Y.enqueue(yG),await Promise.all(X.map(async(G)=>{let Q=q_(G.render(),J,G.id);Y.enqueue(await e4(G.id,Q))}));Y.close()}catch(G){Y.error(G)}}})}function z_($,X){return $.replace(K_,(Z,J,Y)=>{let G=J.trim(),Q=Y.split(/@fallback/i),w=Q[0].trim(),q=Q.length>1?Q.slice(1).join("@fallback").trim():"";if(!X.__streamTemplates)X.__streamTemplates={};return X.__streamTemplates[G]=w,`<div data-suspense="${G}">${q}</div>`})}function U_($){let X=$?.streamBoundaries;if(!X||typeof X!=="object")return;let Z=Object.entries(X).filter(([,J])=>typeof J==="function");return Z.length>0?Z.map(([J,Y])=>({id:J,render:Y})):void 0}async function j_($,X={},Z={}){let J={...Q5,...Z,streaming:{...t4,...Z.streaming}},Y=J.streaming?.bufferSize||16384;return new ReadableStream({async start(G){try{let Q=await Bun.file($).text(),w=Q.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),q=w?w[1]:"",W=Q.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),K={...X,__filename:$,__dirname:t$.dirname($)};if(q.trim())await t1(q,K,$);let z=new Set,U=J.streaming?.strategy||"auto",B=new RegExp(q5.source,"g");if(!(U!=="manual"&&B.test(W))){let _=await O0(W,K,$,J,z);for(let H=0;H<_.length;H+=Y)G.enqueue(_.slice(H,H+Y))}else{let _=[],H=new RegExp(q5.source,"g"),L;while((L=H.exec(W))!==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=W.slice(O,F.start);if(A.trim()){let R=await O0(A,K,$,J,z);G.enqueue(R)}}let V=await O0(F.content,K,$,J,z);G.enqueue(V),O=F.end}if(O<W.length){let F=W.slice(O);if(F.trim()){let V=await O0(F,K,$,J,z);G.enqueue(V)}}}G.close()}catch(Q){G.error(Q)}}})}async function B_($,X={}){let Z={...Q5,...X,streaming:{...t4,...X.streaming}},J=await Bun.file($).text(),Y=J.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),G=Y?Y[1]:"",Q=J.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),w=Q,q={},W;q5.lastIndex=0;while((W=q5.exec(Q))!==null){let U=W[1],B=W[2];q[U]=B}let K=Q.replace(q5,"");return{renderShell:async(U={})=>{let B={...U,__filename:$,__dirname:t$.dirname($)};return await t1(G,B,$),O0(K,B,$,Z,new Set)},renderSection:async(U,B={})=>{try{if(!q[U])return`<div class="error-message">Section "${$1(U)}" not found in template "${$1($)}"</div>`;let j={...B,__filename:$,__dirname:t$.dirname($)};await t1(G,j,$);let _=new Set;return await O0(q[U],j,$,Z,_)}catch(j){let _=j instanceof Error?j.message:String(j);return j0("Expression",_,$,q[U]||"",0,q[U]||"")}},getSections:()=>{return Object.keys(q)},getTemplate:()=>{return w}}}function __($={}){let X=[];if($.streaming?.enabled)X.push(bG);if($.hydration?.enabled)X.push(SG);return X}async function H_($,X,Z,J={}){return $}function O_($,X={}){let Z=new TextEncoder,J=$.pipeThrough(new TransformStream({transform(G,Q){Q.enqueue(Z.encode(G))}})),Y=new Headers(X.headers);if(!Y.has("Content-Type"))Y.set("Content-Type","text/html; charset=utf-8");if(!Y.has("Transfer-Encoding"))Y.set("Transfer-Encoding","chunked");if(!Y.has("X-Content-Type-Options"))Y.set("X-Content-Type-Options","nosniff");if(!Y.has("X-Accel-Buffering"))Y.set("X-Accel-Buffering","no");return new Response(J,{...X,headers:Y})}function L_($={mode:"full"}){let{mode:X,components:Z={},dynamicImports:J=!0}=$,Y=Object.entries(Z).map(([G,Q])=>`'${G}': ${J?`() => import('${Q}')`:`require('${Q}')`}`).join(`,
12233
12352
  `);if(X==="loader")return`
12234
12353
  (function() {
12235
12354
  window.__stx = window.__stx || {};
@@ -12371,7 +12490,7 @@ else {
12371
12490
  else {
12372
12491
  stx.hydrate();
12373
12492
  }
12374
- })();`}var n3,q5,VG,AG=`
12493
+ })();`}var t4,q5,DG,yG=`
12375
12494
  <script>
12376
12495
  (function(){
12377
12496
  window.__stxSuspense = window.__stxSuspense || {
@@ -12391,25 +12510,25 @@ else {
12391
12510
  }
12392
12511
  };
12393
12512
  })();
12394
- </script>`,X_,RG,NG;var s3=E(()=>{L1();q1();G$();D0();n3={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},q5=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g,VG=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;X_=/@stream\s*\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)@endstream/gi;RG={name:"suspense",hasEndTag:!0,handler:($,X,Z,J)=>{if(!X||X.length===0)throw Error("Suspense directive requires a name parameter");let Y=X[0].replace(/['"`]/g,"");return`<!-- @suspense:${Y} -->${$}<!-- @endsuspense:${Y} -->`}},NG={name:"island",hasEndTag:!0,handler:($,X,Z,J)=>{if(!X||X.length===0)throw Error("Island directive requires a name parameter");let Y=X[0].replace(/['"`]/g,""),G=X[1]?X[1].replace(/['"`]/g,""):"lazy",Q=`island-${Y}-${Math.random().toString(36).substring(2,9)}`,w=$.match(/<script\s+props\s*>([\s\S]*?)<\/script>/i),q=w?w[1].trim():"",W=w?$.replace(w[0],""):$;return`<div data-island="${Y}" data-island-id="${Q}" data-priority="${G}">
12513
+ </script>`,K_,bG,SG;var X3=E(()=>{L1();q1();W$();y0();t4={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},q5=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g,DG=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;K_=/@stream\s*\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)@endstream/gi;bG={name:"suspense",hasEndTag:!0,handler:($,X,Z,J)=>{if(!X||X.length===0)throw Error("Suspense directive requires a name parameter");let Y=X[0].replace(/['"`]/g,"");return`<!-- @suspense:${Y} -->${$}<!-- @endsuspense:${Y} -->`}},SG={name:"island",hasEndTag:!0,handler:($,X,Z,J)=>{if(!X||X.length===0)throw Error("Island directive requires a name parameter");let Y=X[0].replace(/['"`]/g,""),G=X[1]?X[1].replace(/['"`]/g,""):"lazy",Q=`island-${Y}-${Math.random().toString(36).substring(2,9)}`,w=$.match(/<script\s+props\s*>([\s\S]*?)<\/script>/i),q=w?w[1].trim():"",W=w?$.replace(w[0],""):$;return`<div data-island="${Y}" data-island-id="${Q}" data-priority="${G}">
12395
12514
  ${W}
12396
12515
  <script type="application/json" data-island-props="${Q}">
12397
12516
  ${q?`{${q}}`:"{}"}
12398
12517
  </script>
12399
- </div>`}}});var kG={};t(kG,{warnUnbalancedTags:()=>a3,findUnbalancedTags:()=>MG});function g5($){return $.replace(/[^\n]/g," ")}function MG($){let X=$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,g5).replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,g5).replace(/<!--[\s\S]*?-->/g,g5).replace(/\{\{\{[\s\S]*?\}\}\}/g,g5).replace(/\{\{[\s\S]*?\}\}/g,g5).replace(/\{!![\s\S]*?!!\}/g,g5),Z=new Map,J=new Map,Y=/<(\/?)([A-Za-z][\w-]*)\b(?:[^>"']|"[^"]*"|'[^']*')*?(\/?)>/g,G;while((G=Y.exec(X))!==null){let w=G[1]==="/",q=G[2],W=G[3]==="/";if(K_.has(q.toLowerCase()))continue;if(W)continue;if(w)J.set(q,(J.get(q)??0)+1);else{let K=Z.get(q);if(K)K.count++;else{let z=X.slice(0,G.index).split(`
12400
- `).length;Z.set(q,{count:1,firstLine:z})}}}let Q=[];for(let w of new Set([...Z.keys(),...J.keys()])){if(z_.has(w.toLowerCase()))continue;let q=Z.get(w)?.count??0,W=J.get(w)??0;if(q!==W)Q.push({tag:w,opened:q,closed:W,firstOpenLine:Z.get(w)?.firstLine??0})}return Q}function a3($,X){let Z;try{Z=MG($)}catch{return}if(Z.length===0)return;let J=`${X}:${$.length}`;if(TG.has(J))return;TG.add(J);let Y=X?X.split(/[/\\]/).pop()||X:"template";for(let{tag:G,opened:Q,closed:w,firstOpenLine:q}of Z)if(Q>w){let W=q?` (first opened at line ${q})`:"";console.warn(`[stx] ${Y}: <${G}> ${Q} opened, ${w} closed \u2014 an unclosed <${G}>${W} may swallow the content that follows it.`)}else console.warn(`[stx] ${Y}: <${G}> ${Q} opened, ${w} closed \u2014 ${w-Q} stray </${G}>.`)}var K_,z_,TG;var t3=E(()=>{K_=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),z_=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);TG=new Set});import a0 from"path";import e3 from"fs";function IG($){return $.split("-").map((X)=>X.charAt(0).toUpperCase()+X.slice(1)).join("")}function EG($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class DG{builtins=new Map;registerBuiltin($){this.builtins.set($.name.toLowerCase(),$);for(let X of $.aliases)this.builtins.set(X.toLowerCase(),$)}isBuiltin($){return this.builtins.has($.toLowerCase())}getBuiltin($){return this.builtins.get($.toLowerCase())??null}async resolveFile($,X,Z,J){let Y=$.endsWith(".stx")?$.slice(0,-4):$,G=J?.__importedComponents;if(G){let B=[Y,Y.toLowerCase(),IG(Y),EG(Y)];for(let j of B)if(G.has(j))return G.get(j)}let Q=[...new Set([`${Y}.stx`,`${IG(Y)}.stx`,`${EG(Y)}.stx`])];if(Y.startsWith("./")||Y.startsWith("../")){let B=a0.resolve(a0.dirname(X),`${Y}.stx`);if(await n(B))return B;return null}let w=[],q=Z.componentsDir||"",W=J?.__originalFilePath;if(W)w.push(a0.join(a0.dirname(W),"components"));if(q)w.push(q);let K=a0.join(a0.dirname(X),"components");if(!w.includes(K))w.push(K);let z=process.cwd(),U=[a0.resolve(z,"src/components"),a0.resolve(z,"components"),a0.resolve(import.meta.dir,"components")];for(let B of U)if(!w.includes(B))w.push(B);for(let B of w){if(!B)continue;for(let j of Q){let _=a0.join(B,j);if(await n(_))return _}try{if(!e3.statSync(B,{throwIfNoEntry:!1})?.isDirectory())continue;let _=e3.readdirSync(B,{withFileTypes:!0});for(let H of _)if(H.isDirectory()){let O=a0.join(B,H.name);for(let L of Q){let F=a0.join(O,L);if(await n(F))return F}}}catch{}}return null}}var m0;var $4=E(()=>{D0();m0=new DG});function S0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function yG($){return $.indexOf("\x00")===-1?$:$.replace(/\0/g,"")}var W5="\x00stx-boolean-attribute";function h5($,X){let Z=[];for(let[J,Y]of Object.entries($.static)){if(X.has(J))continue;let G=$.staticNames?.[J]??J;if(typeof Y==="boolean"){if(Y)Z.push(S0(G));continue}if(Y===W5){Z.push(S0(G));continue}Z.push(`${S0(G)}="${S0(yG(String(Y)))}"`)}return Z}var s$=()=>{};function t7($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function U_($){if($.clientReactive.to)return{value:$.clientReactive.to,reactive:!0};if($.serverDynamic.to!==void 0)return{value:String($.serverDynamic.to),reactive:!1};if(typeof $.static.to==="string")return{value:$.static.to,reactive:!1};return{value:"#",reactive:!1}}var X4;var Z4=E(()=>{s$();X4={name:"StxLink",aliases:["stx-link"],render($,X,Z){let J=U_($),Y=(typeof $.static.class==="string"?$.static.class:"")||(typeof $.static.className==="string"?$.static.className:""),G=typeof $.static.activeClass==="string"?$.static.activeClass:"active",Q=typeof $.static.exactActiveClass==="string"?$.static.exactActiveClass:"exact-active",w=$.static.prefetch===!0||$.static.prefetch==="true"||$.serverDynamic.prefetch===!0,q=[];if(J.reactive)q.push(`:href="${t7(J.value)}"`);else q.push(`href="${t7(J.value)}"`);if(Y)q.push(`class="${t7(Y)}"`);if(q.push("data-stx-link"),q.push(`data-stx-active-class="${t7(G)}"`),q.push(`data-stx-exact-active-class="${t7(Q)}"`),w)q.push("data-stx-prefetch");let W=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);return q.push(...h5($,W)),`<a ${q.join(" ")}>${X}</a>`}}});function C0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function f0($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}function Y4($,X,Z=!1){let J=$.serverDynamic[X];if(J!==void 0)return J!==!1&&J!=="false";let Y=$.static[X];if(Y!==void 0)return Y!=="false"&&Y!==!1;return Z}function bG($){if($.includes("(")||$.includes(","))return $;let X=$.trim().split(/\s+/),Z=[];for(let J of X)if(J.includes(":")){let[Y,G]=J.split(":"),Q=j_[Y];if(Q)Z.push(`(max-width: ${Q}px) ${G}`);else{let w=Number.parseInt(Y);if(!Number.isNaN(w))Z.push(`(max-width: ${w}px) ${G}`)}}else Z.push(J);return Z.join(", ")}function G4($,X,Z,J){return X.map((Y)=>`${e7($,Y,void 0,Z,J)} ${Y}w`).join(", ")}function B_($,X,Z,J,Y){return X.map((G)=>{let Q=Z?Z*G:void 0;return`${e7($,Q,void 0,J,Y)} ${G}x`}).join(", ")}function e7($,X,Z,J,Y){if(!J||J==="local"||J==="static")return $;if(J==="cloudinary"){let G=[];if(X)G.push(`w_${X}`);if(Z)G.push(`h_${Z}`);if(Y)G.push(`f_${Y}`);G.push("q_auto");let Q=G.join(",");return $.replace("/upload/",`/upload/${Q}/`)}if(J==="imgix"){let G=new URLSearchParams;if(X)G.set("w",String(X));if(Z)G.set("h",String(Z));if(Y)G.set("fm",Y);G.set("auto","format");let Q=$.includes("?")?"&":"?";return`${$}${Q}${G.toString()}`}if(J==="bunny"){let G=new URLSearchParams;if(X)G.set("width",String(X));if(Z)G.set("height",String(Z));if(Y)G.set("format",Y);let Q=$.includes("?")?"&":"?";return`${$}${Q}${G.toString()}`}return $}function __($,X,Z="#e5e7eb"){let J=`<svg xmlns="http://www.w3.org/2000/svg" width="${$}" height="${X}"><rect width="100%" height="100%" fill="${Z}"/></svg>`;return`data:image/svg+xml;base64,${btoa(J)}`}var j_,J4,Q4;var w4=E(()=>{s$();j_={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},J4=[320,640,768,1024,1280,1536,1920];Q4={name:"StxImage",aliases:["stx-image","stx-img"],render($,X,Z){let J=f0($,"src")||"",Y=f0($,"alt")||"",G=f0($,"width"),Q=f0($,"height"),w=f0($,"sizes"),q=f0($,"srcset"),W=f0($,"densities"),K=f0($,"format"),z=f0($,"placeholder"),U=f0($,"placeholderColor")||"#e5e7eb",B=f0($,"provider"),j=f0($,"class")||f0($,"className")||"",_=f0($,"style")||"",H=f0($,"quality"),O=Y4($,"lazy",!0),L=Y4($,"preload",!1),F=Y4($,"picture",!1)||!!K,V=G?Number.parseInt(G):void 0,R=Q?Number.parseInt(Q):void 0,A=q||"",N="";if(!A&&w)A=G4(J,J4,B,K),N=bG(w);else if(!A&&W){let b=W.split(/\s+/).map((y)=>Number.parseFloat(y.replace("x","")));A=B_(J,b,V,B,K)}else if(w)N=bG(w);let M=[];if(_)M.push(_);if(V&&R)M.push(`aspect-ratio:${V}/${R}`);if(z==="blur"||z==="color"||z==="thumbhash"){let b=__(V||16,R||9,U);M.push(`background-image:url(${b})`),M.push("background-size:cover"),M.push("background-repeat:no-repeat")}else if(z&&z!=="empty"&&z!=="none")M.push(`background-image:url(${C0(z)})`),M.push("background-size:cover"),M.push("background-repeat:no-repeat");let T=e7(J,V,R,B,K),k=[];if(k.push(`src="${C0(T)}"`),k.push(`alt="${C0(Y)}"`),G)k.push(`width="${C0(G)}"`);if(Q)k.push(`height="${C0(Q)}"`);if(O)k.push('loading="lazy"');if(k.push('decoding="async"'),j)k.push(`class="${C0(j)}"`);if(M.length>0)k.push(`style="${C0(M.join(";"))}"`);if(A)k.push(`srcset="${C0(A)}"`);if(N)k.push(`sizes="${C0(N)}"`);let D=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);k.push(...h5($,D));let I=`<img ${k.join(" ")} />`,S="";if(L){let y=K==="webp"?"image/webp":K==="avif"?"image/avif":"";S=`<link rel="preload" as="image" href="${C0(T)}"${y?` type="${y}"`:""}${A?` imagesrcset="${C0(A)}"`:""}${N?` imagesizes="${C0(N)}"`:""} />
12401
- `}if(F){let b=[];if(K==="avif"||K==="auto"){let y=e7(J,V,R,B,"avif"),v=A?G4(J,J4,B,"avif"):`${y}`;b.push(`<source type="image/avif" srcset="${C0(v)}"${N?` sizes="${C0(N)}"`:""} />`)}if(K==="webp"||K==="auto"){let y=e7(J,V,R,B,"webp"),v=A?G4(J,J4,B,"webp"):`${y}`;b.push(`<source type="image/webp" srcset="${C0(v)}"${N?` sizes="${C0(N)}"`:""} />`)}return`${S}<picture>
12518
+ </div>`}}});var vG={};t(vG,{warnUnbalancedTags:()=>Z3,findUnbalancedTags:()=>PG});function g5($){return $.replace(/[^\n]/g," ")}function PG($){let X=$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,g5).replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,g5).replace(/<!--[\s\S]*?-->/g,g5).replace(/\{\{\{[\s\S]*?\}\}\}/g,g5).replace(/\{\{[\s\S]*?\}\}/g,g5).replace(/\{!![\s\S]*?!!\}/g,g5),Z=new Map,J=new Map,Y=/<(\/?)([A-Za-z][\w-]*)\b(?:[^>"']|"[^"]*"|'[^']*')*?(\/?)>/g,G;while((G=Y.exec(X))!==null){let w=G[1]==="/",q=G[2],W=G[3]==="/";if(F_.has(q.toLowerCase()))continue;if(W)continue;if(w)J.set(q,(J.get(q)??0)+1);else{let K=Z.get(q);if(K)K.count++;else{let z=X.slice(0,G.index).split(`
12519
+ `).length;Z.set(q,{count:1,firstLine:z})}}}let Q=[];for(let w of new Set([...Z.keys(),...J.keys()])){if(V_.has(w.toLowerCase()))continue;let q=Z.get(w)?.count??0,W=J.get(w)??0;if(q!==W)Q.push({tag:w,opened:q,closed:W,firstOpenLine:Z.get(w)?.firstLine??0})}return Q}function Z3($,X){let Z;try{Z=PG($)}catch{return}if(Z.length===0)return;let J=`${X}:${$.length}`;if(CG.has(J))return;CG.add(J);let Y=X?X.split(/[/\\]/).pop()||X:"template";for(let{tag:G,opened:Q,closed:w,firstOpenLine:q}of Z)if(Q>w){let W=q?` (first opened at line ${q})`:"";console.warn(`[stx] ${Y}: <${G}> ${Q} opened, ${w} closed \u2014 an unclosed <${G}>${W} may swallow the content that follows it.`)}else console.warn(`[stx] ${Y}: <${G}> ${Q} opened, ${w} closed \u2014 ${w-Q} stray </${G}>.`)}var F_,V_,CG;var J3=E(()=>{F_=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),V_=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);CG=new Set});import a0 from"path";import Y3 from"fs";function xG($){return $.split("-").map((X)=>X.charAt(0).toUpperCase()+X.slice(1)).join("")}function fG($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class gG{builtins=new Map;registerBuiltin($){this.builtins.set($.name.toLowerCase(),$);for(let X of $.aliases)this.builtins.set(X.toLowerCase(),$)}isBuiltin($){return this.builtins.has($.toLowerCase())}getBuiltin($){return this.builtins.get($.toLowerCase())??null}async resolveFile($,X,Z,J){let Y=$.endsWith(".stx")?$.slice(0,-4):$,G=J?.__importedComponents;if(G){let B=[Y,Y.toLowerCase(),xG(Y),fG(Y)];for(let j of B)if(G.has(j))return G.get(j)}let Q=[...new Set([`${Y}.stx`,`${xG(Y)}.stx`,`${fG(Y)}.stx`])];if(Y.startsWith("./")||Y.startsWith("../")){let B=a0.resolve(a0.dirname(X),`${Y}.stx`);if(await n(B))return B;return null}let w=[],q=Z.componentsDir||"",W=J?.__originalFilePath;if(W)w.push(a0.join(a0.dirname(W),"components"));if(q)w.push(q);let K=a0.join(a0.dirname(X),"components");if(!w.includes(K))w.push(K);let z=process.cwd(),U=[a0.resolve(z,"src/components"),a0.resolve(z,"components"),a0.resolve(import.meta.dir,"components")];for(let B of U)if(!w.includes(B))w.push(B);for(let B of w){if(!B)continue;for(let j of Q){let _=a0.join(B,j);if(await n(_))return _}try{if(!Y3.statSync(B,{throwIfNoEntry:!1})?.isDirectory())continue;let _=Y3.readdirSync(B,{withFileTypes:!0});for(let H of _)if(H.isDirectory()){let L=a0.join(B,H.name);for(let O of Q){let F=a0.join(L,O);if(await n(F))return F}}}catch{}}return null}}var m0;var G3=E(()=>{y0();m0=new gG});function T0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Q3($){return $.indexOf("\x00")===-1?$:$.replace(/\0/g,"")}var W5="\x00stx-boolean-attribute";function h5($,X){let Z=[];for(let[J,Y]of Object.entries($.static)){if(X.has(J))continue;let G=$.staticNames?.[J]??J;if(typeof Y==="boolean"){if(Y)Z.push(T0(G));continue}if(Y===W5){Z.push(T0(G));continue}Z.push(`${T0(G)}="${T0(Q3(String(Y)))}"`)}return Z}function u5($,X){let Z=[];for(let[J,Y]of Object.entries($.serverDynamic??{})){if(X.has(J))continue;if(Y===null||Y===void 0||Y===!1)continue;let G=$.serverDynamicNames?.[J]??J;if(Y===!0){Z.push(T0(G));continue}if(typeof Y==="object")continue;Z.push(`${T0(G)}="${T0(Q3(String(Y)))}"`)}return Z}var e$=()=>{};function $8($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function A_($){if($.clientReactive.to)return{value:$.clientReactive.to,reactive:!0};if($.serverDynamic.to!==void 0)return{value:String($.serverDynamic.to),reactive:!1};if(typeof $.static.to==="string")return{value:$.static.to,reactive:!1};return{value:"#",reactive:!1}}var w3;var q3=E(()=>{e$();w3={name:"StxLink",aliases:["stx-link"],render($,X,Z){let J=A_($),Y=(typeof $.static.class==="string"?$.static.class:"")||(typeof $.static.className==="string"?$.static.className:""),G=typeof $.static.activeClass==="string"?$.static.activeClass:"active",Q=typeof $.static.exactActiveClass==="string"?$.static.exactActiveClass:"exact-active",w=$.static.prefetch===!0||$.static.prefetch==="true"||$.serverDynamic.prefetch===!0,q=[];if(J.reactive)q.push(`:href="${$8(J.value)}"`);else q.push(`href="${$8(J.value)}"`);if(Y)q.push(`class="${$8(Y)}"`);if(q.push("data-stx-link"),q.push(`data-stx-active-class="${$8(G)}"`),q.push(`data-stx-exact-active-class="${$8(Q)}"`),w)q.push("data-stx-prefetch");let W=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);return q.push(...h5($,W)),q.push(...u5($,W)),`<a ${q.join(" ")}>${X}</a>`}}});function C0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function f0($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}function K3($,X,Z=!1){let J=$.serverDynamic[X];if(J!==void 0)return J!==!1&&J!=="false";let Y=$.static[X];if(Y!==void 0)return Y!=="false"&&Y!==!1;return Z}function hG($){if($.includes("(")||$.includes(","))return $;let X=$.trim().split(/\s+/),Z=[];for(let J of X)if(J.includes(":")){let[Y,G]=J.split(":"),Q=R_[Y];if(Q)Z.push(`(max-width: ${Q}px) ${G}`);else{let w=Number.parseInt(Y);if(!Number.isNaN(w))Z.push(`(max-width: ${w}px) ${G}`)}}else Z.push(J);return Z.join(", ")}function z3($,X,Z,J){return X.map((Y)=>`${X8($,Y,void 0,Z,J)} ${Y}w`).join(", ")}function N_($,X,Z,J,Y){return X.map((G)=>{let Q=Z?Z*G:void 0;return`${X8($,Q,void 0,J,Y)} ${G}x`}).join(", ")}function X8($,X,Z,J,Y){if(!J||J==="local"||J==="static")return $;if(J==="cloudinary"){let G=[];if(X)G.push(`w_${X}`);if(Z)G.push(`h_${Z}`);if(Y)G.push(`f_${Y}`);G.push("q_auto");let Q=G.join(",");return $.replace("/upload/",`/upload/${Q}/`)}if(J==="imgix"){let G=new URLSearchParams;if(X)G.set("w",String(X));if(Z)G.set("h",String(Z));if(Y)G.set("fm",Y);G.set("auto","format");let Q=$.includes("?")?"&":"?";return`${$}${Q}${G.toString()}`}if(J==="bunny"){let G=new URLSearchParams;if(X)G.set("width",String(X));if(Z)G.set("height",String(Z));if(Y)G.set("format",Y);let Q=$.includes("?")?"&":"?";return`${$}${Q}${G.toString()}`}return $}function T_($,X,Z="#e5e7eb"){let J=`<svg xmlns="http://www.w3.org/2000/svg" width="${$}" height="${X}"><rect width="100%" height="100%" fill="${Z}"/></svg>`;return`data:image/svg+xml;base64,${btoa(J)}`}var R_,W3,U3;var j3=E(()=>{e$();R_={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},W3=[320,640,768,1024,1280,1536,1920];U3={name:"StxImage",aliases:["stx-image","stx-img"],render($,X,Z){let J=f0($,"src")||"",Y=f0($,"alt")||"",G=f0($,"width"),Q=f0($,"height"),w=f0($,"sizes"),q=f0($,"srcset"),W=f0($,"densities"),K=f0($,"format"),z=f0($,"placeholder"),U=f0($,"placeholderColor")||"#e5e7eb",B=f0($,"provider"),j=f0($,"class")||f0($,"className")||"",_=f0($,"style")||"",H=f0($,"quality"),L=K3($,"lazy",!0),O=K3($,"preload",!1),F=K3($,"picture",!1)||!!K,V=G?Number.parseInt(G):void 0,A=Q?Number.parseInt(Q):void 0,R=q||"",N="";if(!R&&w)R=z3(J,W3,B,K),N=hG(w);else if(!R&&W){let b=W.split(/\s+/).map((y)=>Number.parseFloat(y.replace("x","")));R=N_(J,b,V,B,K)}else if(w)N=hG(w);let M=[];if(_)M.push(_);if(V&&A)M.push(`aspect-ratio:${V}/${A}`);if(z==="blur"||z==="color"||z==="thumbhash"){let b=T_(V||16,A||9,U);M.push(`background-image:url(${b})`),M.push("background-size:cover"),M.push("background-repeat:no-repeat")}else if(z&&z!=="empty"&&z!=="none")M.push(`background-image:url(${C0(z)})`),M.push("background-size:cover"),M.push("background-repeat:no-repeat");let T=X8(J,V,A,B,K),k=[];if(k.push(`src="${C0(T)}"`),k.push(`alt="${C0(Y)}"`),G)k.push(`width="${C0(G)}"`);if(Q)k.push(`height="${C0(Q)}"`);if(L)k.push('loading="lazy"');if(k.push('decoding="async"'),j)k.push(`class="${C0(j)}"`);if(M.length>0)k.push(`style="${C0(M.join(";"))}"`);if(R)k.push(`srcset="${C0(R)}"`);if(N)k.push(`sizes="${C0(N)}"`);let D=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);k.push(...h5($,D)),k.push(...u5($,D));let I=`<img ${k.join(" ")} />`,S="";if(O){let y=K==="webp"?"image/webp":K==="avif"?"image/avif":"";S=`<link rel="preload" as="image" href="${C0(T)}"${y?` type="${y}"`:""}${R?` imagesrcset="${C0(R)}"`:""}${N?` imagesizes="${C0(N)}"`:""} />
12520
+ `}if(F){let b=[];if(K==="avif"||K==="auto"){let y=X8(J,V,A,B,"avif"),v=R?z3(J,W3,B,"avif"):`${y}`;b.push(`<source type="image/avif" srcset="${C0(v)}"${N?` sizes="${C0(N)}"`:""} />`)}if(K==="webp"||K==="auto"){let y=X8(J,V,A,B,"webp"),v=R?z3(J,W3,B,"webp"):`${y}`;b.push(`<source type="image/webp" srcset="${C0(v)}"${N?` sizes="${C0(N)}"`:""} />`)}return`${S}<picture>
12402
12521
  ${b.join(`
12403
12522
  `)}
12404
12523
  ${I}
12405
- </picture>`}return`${S}${I}`}}});function $8($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function u5($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}var SG="/images/safe-image-default.svg",H_,q4;var W4=E(()=>{s$();H_=`<script>window.__stxSafeImageHandler||(window.__stxSafeImageHandler=function(i){if(i.__stx_fb)return;i.__stx_fb=1;var f=i.getAttribute('data-fallback')||'${SG}';var c=i.getAttribute('data-fallback-class');i.src=f;if(c)i.className=c;});</script>`,q4={name:"SafeImage",aliases:["safe-image","safe-img"],render($,X,Z){let J=u5($,"src")||"",Y=u5($,"alt")||"",G=u5($,"fallback")||SG,Q=u5($,"class")||u5($,"className")||"",w=u5($,"fallbackClassName")||"",q=[];if(q.push(`src="${$8(J)}"`),q.push(`alt="${$8(Y)}"`),Q)q.push(`class="${$8(Q)}"`);if(q.push(`data-fallback="${$8(G)}"`),w)q.push(`data-fallback-class="${$8(w)}"`);q.push('onerror="window.__stxSafeImageHandler(this)"');let W=new Set(["src","alt","fallback","class","className","fallbackClassName"]);q.push(...h5($,W));let K=`<img ${q.join(" ")} />`,z=Z.context;if(!z.__safeImageHandlerEmitted)return z.__safeImageHandlerEmitted=!0,`${H_}${K}`;return K}}});function K4($){return $.replace(/[;{}()]/g,"").replace(/url/gi,"")}function X8($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}function a$($,X,Z){let J=X8($,X);if(J!==void 0){let Y=Number.parseInt(J,10);if(!Number.isNaN(Y))return Y}return Z}var z4;var U4=E(()=>{z4={name:"StxLoadingIndicator",aliases:["stx-loading-indicator"],render($,X,Z){let J=K4(X8($,"color")||"#6366f1"),Y=K4(X8($,"initialColor")||X8($,"initial-color")||""),G=K4(X8($,"height")||"3px"),Q=a$($,"duration",2000),w=a$($,"throttle",200),q=a$($,"zIndex",999999)||a$($,"z-index",999999),W=Y?`linear-gradient(to right, ${Y}, ${J})`:J;return`
12524
+ </picture>`}return`${S}${I}`}}});function Z8($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function d5($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}var uG="/images/safe-image-default.svg",M_,B3;var _3=E(()=>{e$();M_=`<script>window.__stxSafeImageHandler||(window.__stxSafeImageHandler=function(i){if(i.__stx_fb)return;i.__stx_fb=1;var f=i.getAttribute('data-fallback')||'${uG}';var c=i.getAttribute('data-fallback-class');i.src=f;if(c)i.className=c;});</script>`,B3={name:"SafeImage",aliases:["safe-image","safe-img"],render($,X,Z){let J=d5($,"src")||"",Y=d5($,"alt")||"",G=d5($,"fallback")||uG,Q=d5($,"class")||d5($,"className")||"",w=d5($,"fallbackClassName")||"",q=[];if(q.push(`src="${Z8(J)}"`),q.push(`alt="${Z8(Y)}"`),Q)q.push(`class="${Z8(Q)}"`);if(q.push(`data-fallback="${Z8(G)}"`),w)q.push(`data-fallback-class="${Z8(w)}"`);q.push('onerror="window.__stxSafeImageHandler(this)"');let W=new Set(["src","alt","fallback","class","className","fallbackClassName"]);q.push(...h5($,W)),q.push(...u5($,W));let K=`<img ${q.join(" ")} />`,z=Z.context;if(!z.__safeImageHandlerEmitted)return z.__safeImageHandlerEmitted=!0,`${M_}${K}`;return K}}});function H3($){return $.replace(/[;{}()]/g,"").replace(/url/gi,"")}function J8($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}function $9($,X,Z){let J=J8($,X);if(J!==void 0){let Y=Number.parseInt(J,10);if(!Number.isNaN(Y))return Y}return Z}var O3;var L3=E(()=>{O3={name:"StxLoadingIndicator",aliases:["stx-loading-indicator"],render($,X,Z){let J=H3(J8($,"color")||"#6366f1"),Y=H3(J8($,"initialColor")||J8($,"initial-color")||""),G=H3(J8($,"height")||"3px"),Q=$9($,"duration",2000),w=$9($,"throttle",200),q=$9($,"zIndex",999999)||$9($,"z-index",999999),W=Y?`linear-gradient(to right, ${Y}, ${J})`:J;return`
12406
12525
  <div id="stx-loading-indicator" style="position:fixed;top:0;left:0;right:0;height:${G};background:${W};z-index:${q};transform:scaleX(0);transform-origin:left;transition:transform 0.1s ease-out,opacity 0.3s ease;opacity:0;pointer-events:none">
12407
12526
  <div style="position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0.4) 50%,transparent 100%);animation:stx-shimmer 1.5s infinite"></div>
12408
12527
  </div>
12409
12528
  <style>@keyframes stx-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}</style>
12410
12529
  <script>
12411
12530
  (function(){var el=document.getElementById('stx-loading-indicator'),p=0,l=!1,i=null;function u(v){p=Math.min(Math.max(v,0),100);if(el){el.style.opacity=p>0?'1':'0';el.style.transform='scaleX('+(p/100)+')'}}window.stxLoading={start:function(){l=!0;p=0;u(10);if(i)clearInterval(i);i=setInterval(function(){if(!l)return;var r=90-p,inc=Math.max(0.5,r*0.1);if(p<90)u(p+inc)},${w})},finish:function(){l=!1;if(i){clearInterval(i);i=null}u(100);setTimeout(function(){if(el)el.style.opacity='0';setTimeout(function(){p=0;if(el)el.style.transform='scaleX(0)'},300)},200)},set:function(v){u(v)},clear:function(){l=!1;p=0;if(i){clearInterval(i);i=null}if(el){el.style.opacity='0';el.style.transform='scaleX(0)'}}};document.addEventListener('click',function(e){var a=e.target.closest&&e.target.closest('a');if(!a)return;var h=a.getAttribute('href');if(!h||h.startsWith('http')||h.startsWith('#')||h.startsWith('mailto:')||h.startsWith('tel:')||a.target==='_blank')return;window.stxLoading.start()});window.addEventListener('popstate',function(){window.stxLoading.start()});window.addEventListener('load',function(){window.stxLoading.finish()})})();
12412
- </script>`}}});function PG($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}function O_($,X,Z){let J=PG($,X);if(J!==void 0){let Y=Number.parseInt(J,10);if(!Number.isNaN(Y))return Y}return Z}var CG,j4;var B4=E(()=>{CG={"top-right":"top:1rem;right:1rem","top-left":"top:1rem;left:1rem","top-center":"top:1rem;left:50%;transform:translateX(-50%)","bottom-right":"bottom:1rem;right:1rem","bottom-left":"bottom:1rem;left:1rem","bottom-center":"bottom:1rem;left:50%;transform:translateX(-50%)"},j4={name:"StxToast",aliases:["stx-toast"],render($,X,Z){let J=S0(PG($,"position")||"top-right"),Y=O_($,"max",5),G=CG[J]||CG["top-right"];return`<div id="stx-toast-container" data-stx-toast-position="${J}" data-stx-toast-max="${Y}" style="position:fixed;${G};z-index:999999;display:flex;flex-direction:column;gap:0.5rem;pointer-events:none;max-width:24rem;width:100%"></div>
12531
+ </script>`}}});function mG($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}function k_($,X,Z){let J=mG($,X);if(J!==void 0){let Y=Number.parseInt(J,10);if(!Number.isNaN(Y))return Y}return Z}var dG,F3;var V3=E(()=>{dG={"top-right":"top:1rem;right:1rem","top-left":"top:1rem;left:1rem","top-center":"top:1rem;left:50%;transform:translateX(-50%)","bottom-right":"bottom:1rem;right:1rem","bottom-left":"bottom:1rem;left:1rem","bottom-center":"bottom:1rem;left:50%;transform:translateX(-50%)"},F3={name:"StxToast",aliases:["stx-toast"],render($,X,Z){let J=T0(mG($,"position")||"top-right"),Y=k_($,"max",5),G=dG[J]||dG["top-right"];return`<div id="stx-toast-container" data-stx-toast-position="${J}" data-stx-toast-max="${Y}" style="position:fixed;${G};z-index:999999;display:flex;flex-direction:column;gap:0.5rem;pointer-events:none;max-width:24rem;width:100%"></div>
12413
12532
  <style>
12414
12533
  @keyframes stx-toast-in{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
12415
12534
  @keyframes stx-toast-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}
@@ -12417,7 +12536,7 @@ ${I}
12417
12536
  @keyframes stx-toast-out-left{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}
12418
12537
  @keyframes stx-toast-in-center{from{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}
12419
12538
  @keyframes stx-toast-out-center{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-1rem)}}
12420
- </style>`}}});function t$($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}var vG,_4;var H4=E(()=>{vG={sm:"max-width:24rem",md:"max-width:32rem",lg:"max-width:42rem",xl:"max-width:56rem",full:"max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem)"},_4={name:"StxModal",aliases:["stx-modal"],render($,X,Z){let J=t$($,"id");if(!J)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let Y=S0(J),G=t$($,"size")||"md",Q=t$($,"closeOnBackdrop")!=="false",w=t$($,"closeOnEscape")!=="false",q=vG[G]||vG.md;return`<div id="stx-modal-${Y}" class="stx-modal-backdrop" data-stx-modal="${Y}" data-close-backdrop="${Q}" data-close-escape="${w}" style="display:none;position:fixed;inset:0;z-index:99999;align-items:center;justify-content:center;background:rgba(0,0,0,0.5);backdrop-filter:blur(2px);opacity:0;transition:opacity 0.2s ease" aria-modal="true" role="dialog">
12539
+ </style>`}}});function X9($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}var lG,A3;var R3=E(()=>{lG={sm:"max-width:24rem",md:"max-width:32rem",lg:"max-width:42rem",xl:"max-width:56rem",full:"max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem)"},A3={name:"StxModal",aliases:["stx-modal"],render($,X,Z){let J=X9($,"id");if(!J)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let Y=T0(J),G=X9($,"size")||"md",Q=X9($,"closeOnBackdrop")!=="false",w=X9($,"closeOnEscape")!=="false",q=lG[G]||lG.md;return`<div id="stx-modal-${Y}" class="stx-modal-backdrop" data-stx-modal="${Y}" data-close-backdrop="${Q}" data-close-escape="${w}" style="display:none;position:fixed;inset:0;z-index:99999;align-items:center;justify-content:center;background:rgba(0,0,0,0.5);backdrop-filter:blur(2px);opacity:0;transition:opacity 0.2s ease" aria-modal="true" role="dialog">
12421
12540
  <div class="stx-modal-panel" style="${q};width:100%;margin:1rem;border-radius:0.75rem;box-shadow:0 20px 60px rgba(0,0,0,0.3);overflow:hidden;transform:scale(0.95) translateY(8px);transition:transform 0.2s ease,opacity 0.2s ease;opacity:0;background:var(--stx-modal-bg,#fff);color:var(--stx-modal-text,#1f2937)">
12422
12541
  <div style="padding:1.5rem">${X}</div>
12423
12542
  </div>
@@ -12426,7 +12545,7 @@ ${I}
12426
12545
  @media(prefers-color-scheme:dark){[data-stx-modal]{--stx-modal-bg:#1f2937;--stx-modal-text:#f3f4f6}}
12427
12546
  .stx-modal-backdrop[data-stx-modal-open]{display:flex!important;opacity:1}
12428
12547
  .stx-modal-backdrop[data-stx-modal-open] .stx-modal-panel{transform:scale(1) translateY(0);opacity:1}
12429
- </style>`}}});function d5($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}var xG,O4;var L4=E(()=>{xG={sm:"16rem",md:"24rem",lg:"32rem",xl:"40rem"},O4={name:"StxDrawer",aliases:["stx-drawer"],render($,X,Z){let J=d5($,"id");if(!J)return console.warn('[stx] <StxDrawer> requires an "id" prop'),"<!-- StxDrawer: missing id prop -->";let Y=S0(J),G=d5($,"side")||"right",Q=d5($,"size")||"md",w=d5($,"closeOnBackdrop")!=="false",q=d5($,"closeOnEscape")!=="false",W=d5($,"overlay")!=="false",K=xG[Q]||xG.md,z=G==="left",U=z?"left:0":"right:0",B=z?"translateX(-100%)":"translateX(100%)",j=z?"stx-drawer-slide-left":"stx-drawer-slide-right";return`<div id="stx-drawer-${Y}" class="stx-drawer-backdrop" data-stx-drawer="${Y}" data-close-backdrop="${w}" data-close-escape="${q}" style="display:none;position:fixed;inset:0;z-index:99999;${W?"background:rgba(0,0,0,0.5);backdrop-filter:blur(2px)":"background:transparent;pointer-events:none"};opacity:0;transition:opacity 0.2s ease" role="dialog" aria-modal="true">
12548
+ </style>`}}});function m5($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Z=$.static[X];if(typeof Z==="string")return Z;return}var cG,N3;var T3=E(()=>{cG={sm:"16rem",md:"24rem",lg:"32rem",xl:"40rem"},N3={name:"StxDrawer",aliases:["stx-drawer"],render($,X,Z){let J=m5($,"id");if(!J)return console.warn('[stx] <StxDrawer> requires an "id" prop'),"<!-- StxDrawer: missing id prop -->";let Y=T0(J),G=m5($,"side")||"right",Q=m5($,"size")||"md",w=m5($,"closeOnBackdrop")!=="false",q=m5($,"closeOnEscape")!=="false",W=m5($,"overlay")!=="false",K=cG[Q]||cG.md,z=G==="left",U=z?"left:0":"right:0",B=z?"translateX(-100%)":"translateX(100%)",j=z?"stx-drawer-slide-left":"stx-drawer-slide-right";return`<div id="stx-drawer-${Y}" class="stx-drawer-backdrop" data-stx-drawer="${Y}" data-close-backdrop="${w}" data-close-escape="${q}" style="display:none;position:fixed;inset:0;z-index:99999;${W?"background:rgba(0,0,0,0.5);backdrop-filter:blur(2px)":"background:transparent;pointer-events:none"};opacity:0;transition:opacity 0.2s ease" role="dialog" aria-modal="true">
12430
12549
  <div class="stx-drawer-panel" style="position:fixed;top:0;bottom:0;${U};width:${K};max-width:100vw;transform:${B};transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);background:var(--stx-drawer-bg,#fff);color:var(--stx-drawer-text,#1f2937);box-shadow:0 20px 60px rgba(0,0,0,0.3);overflow-y:auto;pointer-events:auto">
12431
12550
  <div style="padding:1.5rem">${X}</div>
12432
12551
  </div>
@@ -12435,18 +12554,18 @@ ${I}
12435
12554
  @media(prefers-color-scheme:dark){[data-stx-drawer]{--stx-drawer-bg:#1f2937;--stx-drawer-text:#f3f4f6}}
12436
12555
  .stx-drawer-backdrop[data-stx-drawer-open]{display:block!important;opacity:1}
12437
12556
  .stx-drawer-backdrop[data-stx-drawer-open] .stx-drawer-panel{transform:translateX(0)}
12438
- </style>`}}});import{existsSync as L_,readFileSync as F_}from"fs";function V_($){if(fG.has($))return;fG.add($),console.warn(`[stx] icon collection "${$}" is not installed, so its icons render as nothing. Install it with \`bun add -d @iconify-json/${$}\`.`)}function A_($){let X=process.cwd();for(let Z of[`${X}/node_modules/@iconify-json/${$}/icons.json`,`${X}/pantry/@iconify-json/${$}/icons.json`,`${X}/node_modules/@iconify/json/json/${$}.json`,`${X}/pantry/@iconify/json/json/${$}.json`])if(L_(Z))return Z;for(let Z of[`@iconify-json/${$}/icons.json`,`@iconify/json/json/${$}.json`])try{return U0.resolve(Z)}catch{}return null}function R_($){if(e$.has($))return e$.get($);let X=A_($);if(!X)return V_($),null;try{let Z=JSON.parse(F_(X,"utf8"));return e$.set($,Z.icons),Z.icons}catch{return null}}function m5($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);if($.static[X]!==void 0)return String($.static[X]);if($.clientReactive[X]!==void 0)return $.clientReactive[X];return}var e$,fG,F4;var V4=E(()=>{e$=new Map,fG=new Set;F4={name:"Icon",aliases:["icon","stx-icon"],render($,X,Z){let J=m5($,"name")??m5($,"icon");if(!J)return"<!-- Icon: missing name/icon prop -->";let Y="lucide",G=J;if(J.includes(":")){let L=J.split(":");Y=L[0],G=L[1]}let Q=S0(m5($,"size")||"24"),w=S0(m5($,"color")||"currentColor"),q=S0(m5($,"class")||""),W=S0(m5($,"style")||""),K=e$.get(Y)??R_(Y);if(!K)return`<!-- Icon: collection "${Y}" not loaded -->`;let z=K[G];if(!z)return`<!-- Icon: "${G}" not found in ${Y} -->`;let U=z.width||24,B=z.height||24,j=`0 0 ${U} ${B}`,_=z.body;if(w!=="currentColor")_=_.replace(/currentColor/g,w);let H=q?` class="${q}"`:"",O=W?` style="${W}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${Q}" height="${Q}" viewBox="${j}" fill="none"${H}${O}>${_}</svg>`}}});function gG($,...X){for(let Z of X){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J}return}function hG($,X){let Z=new RegExp(`<(template|div|span)[^>]*\\bslot=["']${X}["'][^>]*>([\\s\\S]*?)<\\/\\1>`,"i"),J=$.match(Z);if(!J)return{region:null,rest:$};return{region:J[2],rest:$.replace(J[0],"")}}var A4;var R4=E(()=>{A4={name:"Suspense",aliases:["suspense"],render($,X,Z){let J=hG(X,"fallback"),Y=J.rest,G=hG(Y,"error"),Q=G.rest,w=J.region??gG($,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',q=G.region??gG($,"errorFallback","error-fallback")??'<div class="stx-suspense-error">Something went wrong.</div>';return`<div data-stx-suspense><div data-stx-suspense-fallback>${w}</div><div data-stx-suspense-error hidden>${q}</div><div data-stx-suspense-content hidden>${Q}</div></div>`}}});function $9($,...X){for(let Z of X){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J}return}var N4;var T4=E(()=>{N4={name:"TransitionGroup",aliases:["transition-group"],render($,X,Z){let J=($9($,"name")||"v").replace(/["'<>]/g,""),Y=($9($,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",G=$9($,"class"),Q=$9($,"id"),w=[`data-stx-transition-group="${J}"`,G?`class="${G}"`:"",Q?`id="${Q}"`:""].filter(Boolean).join(" ");return`<${Y} ${w}>${X}</${Y}>`}}});function uG(){m0.registerBuiltin(X4),m0.registerBuiltin(Q4),m0.registerBuiltin(q4),m0.registerBuiltin(z4),m0.registerBuiltin(j4),m0.registerBuiltin(_4),m0.registerBuiltin(O4),m0.registerBuiltin(F4),m0.registerBuiltin(A4),m0.registerBuiltin(N4)}var dG=E(()=>{Z4();w4();W4();U4();B4();H4();L4();V4();R4();T4();$4();Z4();w4();W4();U4();B4();H4();L4();V4();R4();T4()});function X9($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function mG($,X,Z){let J=[],Y=0;while(Y<$.length){let G=$.indexOf("<",Y);if(G===-1)break;let w=$.slice(G+1).match(new RegExp(`^(${X.source})(?![\\w.:-])`));if(!w){Y=G+1;continue}let q=w[1];if(Z&&Z.has(q.toLowerCase())){let _=G+1+q.length;while(_<$.length&&$[_]!==">")_++;Y=_+1;continue}let W=G+1+q.length,K=null,z=W,U=-1,B=!1;while(W<$.length){let _=$[W];if(K){if(_==="\\"&&W+1<$.length){W+=2;continue}if(_===K)K=null;W++;continue}if(_==='"'||_==="'"){K=_,W++;continue}if(_==="/"&&W+1<$.length&&$[W+1]===">"){U=W+2,B=!0;break}if(_===">"){U=W+1;break}W++}if(U===-1){Y=G+1;continue}let j=$.slice(z,B?U-2:U-1).trim();if(B)J.push({fullMatch:$.slice(G,U),tagName:q,attributes:j,content:"",startIndex:G,endIndex:U,isSelfClosing:!0}),Y=U;else{let _=`<${q}`,H=`</${q}>`,O=1,L=U,F=-1;while(O>0&&L<$.length){let A=$.indexOf(_,L),N=$.indexOf(H,L);if(N===-1)break;if(A!==-1&&A<N){let M=$[A+_.length];if(M===" "||M===">"||M==="/"||M===`
12439
- `||M==="\t")O++;L=A+_.length}else{if(O--,O===0){F=N;break}L=N+H.length}}if(F===-1){Y=U;continue}let V=$.slice(U,F),R=F+H.length;J.push({fullMatch:$.slice(G,R),tagName:q,attributes:j,content:V,startIndex:G,endIndex:R,isSelfClosing:!1}),Y=R}}return J}function lG($){return $.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#0?39;/g,"'").replace(/&#x27;/gi,"'").replace(/&amp;/g,"&")}function cG($,X){try{let Z=Buffer.from($,"base64").toString("utf8");return JSON.parse(Z)}catch{}try{let Z=$.replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&");return JSON.parse(Z)}catch(Z){if(X?.debug)console.error("Error decoding __stx_ prop:",Z);return $}}var pG=E(()=>{I0();D0();r1()});var tG={};t(tG,{processESImports:()=>sG,processComponents:()=>J9});import Z9 from"fs";import n0 from"path";function T_($,X,Z){let J={static:{},staticNames:{},serverDynamic:{},clientReactive:{},events:{}},Y=new Set(Array.isArray(X.__stx_client_signal_names)?X.__stx_client_signal_names:[]),G=(W)=>{if(Y.size===0)return!1;let K=o0(W),z=K.match(/^\s*[!+~(-]*\s*([a-zA-Z_$][\w$]*)/)?.[1];if(z&&Y.has(z))return!0;for(let U of Y){let B=U.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`(?:^|[^\\w$.])${B}\\s*\\(`).test(K))return!0}return!1},Q=new Set(n6),w=(W)=>{if(!W.includes("-")||W.startsWith("@")||W.startsWith(":")||W.startsWith("x-")||W.startsWith("__"))return W;if(W.startsWith("aria-")||W.startsWith("data-"))return W;return W.replace(/-([a-z0-9])/g,(K,z)=>z.toUpperCase())},q=(W,K)=>{let z=w(W);if(J.static[z]=K,z!==W)J.staticNames[z]=W};for(let[W,K]of Object.entries($)){let z=W.startsWith("x-")&&!Q.has(W)&&!W.startsWith("x-bind:")&&!W.startsWith("x-on:")?`:${W.slice(2)}`:W;if(z.startsWith("@")){J.events[z]=K;continue}if(z.startsWith("__stx_")){let U=w(z.slice(6));J.serverDynamic[U]=cG(K,Z);continue}if(z.startsWith(":")){let U=w(z.slice(1)),B=K===W5?U:K;if(U==="if"||U==="for"||U==="show"){J.clientReactive[U]=B;continue}if(G(B)){J.clientReactive[U]=B;continue}try{if(!w0(B)){if(Z.debug)console.error(`Unsafe expression in :${U} binding: ${B}`);J.clientReactive[U]=B;continue}let j=Object.keys(X),H=q0(B,j)(...Object.values(X));if(H===void 0){let O=B.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],L=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(O.some((V)=>!L.has(V)&&!j.includes(V))){J.clientReactive[U]=B;continue}}J.serverDynamic[U]=H}catch{J.clientReactive[U]=B}continue}if(typeof K==="string"&&K.includes("{{")&&K.includes("}}")){let U=K.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(U)try{let B=U[1];if(w0(B)){let _=q0(B,Object.keys(X))(...Object.values(X));q(z,_!=null?String(_):"")}else{if(Z.debug)console.error(`Unsafe expression in ${z}: ${B}`);q(z,K)}}catch(B){if(Z.debug)console.error(`Error evaluating expression for ${z}:`,B);q(z,K)}else{let B=K,j=/\{\{\s*([\s\S]+?)\s*\}\}/g,_;while((_=j.exec(K))!==null)try{let H=_[1];if(!w0(H)){if(Z.debug)console.error(`Unsafe expression in ${z}: ${H}`);continue}let L=q0(H,Object.keys(X))(...Object.values(X));B=B.replace(_[0],String(L??""))}catch(H){if(Z.debug)console.error(`Error evaluating expression in ${z}:`,H)}q(z,B)}continue}q(z,K===W5?"true":lG(K))}return J}function M_($){let X={},Z=0,J=$.length;while(Z<J){while(Z<J&&/\s/.test($[Z]))Z++;if(Z>=J)break;let Y="";while(Z<J&&!/[\s=]/.test($[Z]))Y+=$[Z],Z++;if(!Y)break;while(Z<J&&/\s/.test($[Z]))Z++;if(Z<J&&$[Z]==="="){Z++;while(Z<J&&/\s/.test($[Z]))Z++;let G="";if(Z<J&&($[Z]==='"'||$[Z]==="'")){let Q=$[Z];Z++;while(Z<J){let w=$[Z];if(w==="\\"&&Z+1<J){Z++,G+=$[Z],Z++;continue}if(w===Q){Z++;break}G+=w,Z++}}else while(Z<J&&!/\s/.test($[Z]))G+=$[Z],Z++;X[Y]=G}else X[Y]=W5}return X}function nG($){return Object.entries($).map(([X,Z])=>Z===W5?X:`${X}="${k_(Z)}"`).join(" ")}function k_($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function I_($){let X=new Set,Z=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,J;while((J=Z.exec($))!==null){let Y=J[1];if(m0.isBuiltin(Y))X.add(Y)}return[...X].sort()}function E_($){let X=rG.get($);if(X)return X;let Z=new Map,J=[n0.join($,"src"),n0.join($,"dist"),$];function Y(G,Q){if(Q>6)return;let w;try{w=Z9.readdirSync(G,{withFileTypes:!0})}catch{return}for(let q of w){let W=n0.join(G,q.name);if(q.isDirectory()){if(q.name==="node_modules"||q.name.startsWith("."))continue;Y(W,Q+1)}else if(q.isFile()&&q.name.endsWith(".stx")){let K=q.name.slice(0,-4);if(!Z.has(K))Z.set(K,W);let z=K.toLowerCase();if(!Z.has(z))Z.set(z,W);let U=K.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Z.has(U))Z.set(U,W)}}}for(let G of J)if(Y(G,0),Z.size>0)break;return rG.set($,Z),Z}function D_($,X){if($.startsWith(".")||$.startsWith("/"))return null;let Z=X;while(!0){let J=n0.join(Z,"node_modules",$);try{if(Z9.statSync(J).isDirectory())return J}catch{}let Y=n0.dirname(Z);if(Y===Z)return null;Z=Y}}async function sG($,X,Z,J,Y){if(!$.includes("import"))return $;if(!X.__importedComponents)X.__importedComponents=new Map;let G=X.__importedComponents,Q=n0.dirname(Z),w=$,q=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return w=w.replace(q,(W,K,z)=>{let U=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,B=z,j,_=[];while((j=U.exec(z))!==null){let[H,O,L,F]=j,V=null,R=null;if(F.startsWith(".")||F.startsWith("/")){let M=n0.resolve(Q,F);if(M.endsWith(".stx"))R=M;else{let T=`${M}.stx`;try{if(Z9.statSync(T).isFile())R=T}catch{try{if(Z9.statSync(M).isDirectory())V=M}catch{}}}}else V=D_(F,Q);if(!V&&!R)continue;let A=!1,N=(M,T)=>{G.set(M,T),G.set(M.toLowerCase(),T);let k=M.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();G.set(k,T),Y.add(T)};if(L&&R)N(L,R),A=!0;else if(O){let M=O.slice(1,-1).split(",").map((k)=>k.trim()).filter(Boolean).map((k)=>{let D=k.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(D)return{source:D[1],local:D[2]};return{source:k,local:k}}),T=V?E_(V):null;for(let{source:k,local:D}of M){let I=null;if(R)I=R;else if(T)I=T.get(k)??T.get(k.toLowerCase())??T.get(k.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(I)N(D,I),A=!0}}if(A)_.push({start:j.index,end:j.index+H.length})}if(_.length===0)return W;for(let H=_.length-1;H>=0;H--)B=B.slice(0,_[H].start)+B.slice(_[H].end);return`<script${K}>${B}</script>`}),w}async function y_($,X,Z,J,Y){let G=$;if(!X.__importedComponents)X.__importedComponents=new Map;let Q=X.__importedComponents,w=/@import\s*\(\s*([^)]+)\s*\)/g,q;while((q=w.exec(G))!==null){let[W,K]=q,z=K.split(",").map((U)=>U.trim().replace(/^['"]|['"]$/g,"")).filter((U)=>U.length>0);for(let U of z){let B=U.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),O=null,L=[n0.resolve(n0.dirname(Z),`${U}.stx`),n0.resolve(n0.dirname(Z),U),n0.resolve(J.componentsDir||"components",`${U}.stx`),n0.resolve(J.componentsDir||"components",U),U.endsWith(".stx")?U:`${U}.stx`];for(let F of L)try{if(await Bun.file(F).exists()){O=F;break}}catch{}if(O){Q.set(H,O),Q.set(_,O),Q.set(_.toLowerCase(),O);let F=H.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(Q.set(F,O),Y.add(O),J.debug)console.log(`Imported component: ${H} -> ${O}`)}else if(J.debug)console.warn(`Could not resolve imported component: ${U}`)}G=G.replace(W,""),w.lastIndex=0}return G}async function b_($,X,Z,J,Y){let G=$,Q=J.componentsDir||"components";if(!X.__processedComponents)X.__processedComponents=new Set;let w=X.__processedComponents,q=/@component\s*\(/g,W;while((W=q.exec(G))!==null){let K=W.index,z=K+W[0].length-1,U=1,B=z+1;while(B<G.length&&U>0){if(G[B]==="(")U++;else if(G[B]===")"){if(U--,U===0)break}B++}if(U!==0)break;let j=G.substring(z+1,B),_=B+1,H=j.match(/^\s*['"]([^'"]+)['"]/);if(!H){q.lastIndex=0;continue}let O=H[1],L,F=j.slice(H[0].length),V=F.match(/^\s*,\s*/);if(V)L=F.slice(V[0].length).trim();let R={};if(L)try{R=k0(L,X)}catch(D){let I=D instanceof Error?D.message:String(D);G=G.replace(G.substring(K,_),`[Error parsing component props: ${I}]`);continue}let A="",N=_,T=G.substring(_).match(/^([\s\S]*?)@endcomponent/);if(T)A=T[1].trim(),N=_+T[0].length;let k=await X5(O,R,A,Q,X,Z,J,w,Y);G=G.substring(0,K)+k+G.substring(N),q.lastIndex=0}return G}async function S_($,X,Z,J,Y){if(!$)return $;let G=$,Q=J.componentsDir||"components";if(!X.__processedComponents)X.__processedComponents=new Set;let w=X.__processedComponents,q=y1(G);return G=q.output,G=await U(G,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),G=await U(G,/[A-Z][a-zA-Z0-9]*/,!0),G=await U(G,/[a-z][a-z0-9]*/,!1,N_),G=b7(G,q.scripts),G;async function U(B,j,_,H){if(!B)return B;let O=B,L=mG(O,j,H);for(let F=L.length-1;F>=0;F--){let V=L[F],R=_?X9(V.tagName):V.tagName,A=M_(V.attributes),N=T_(A,X,J),M=m0.getBuiltin(V.tagName),T=M?await Y$(R,Q,X,Z,J):!1;if(M&&!T){let S={context:X,filePath:Z,options:J,dependencies:Y},b=M.render(N,V.content,S);if(Object.keys(N.clientReactive).length>0)b=oG(b,N.clientReactive);if(Object.keys(N.events).length>0){let y=nG(N.events);b=b.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${y}`)}O=O.substring(0,V.startIndex)+b+O.substring(V.endIndex);continue}if(!_&&V.tagName.includes("-")&&!await Y$(R,Q,X,Z,J))continue;let k={};for(let[S,b]of Object.entries(N.static))k[S]=b;for(let[S,b]of Object.entries(N.serverDynamic))k[S]=b;let I=await X5(R,k,V.content,Q,X,Z,J,w,Y);if(Object.keys(N.clientReactive).length>0)I=oG(I,N.clientReactive);if(Object.keys(N.events).length>0){let S=aG(I);if(S){let b=nG(N.events),y=Object.keys(N.events).map((v)=>v.replace(/^@/,"").split(".")[0]).join(" ");I=I.substring(0,S.insertPos)+` data-stx-parent-events="${y}" ${b}`+I.substring(S.insertPos)}}O=O.substring(0,V.startIndex)+I+O.substring(V.endIndex)}return O}}function oG($,X){let Z=new Set(["if","for"]),J=new Set(["show"]),Y=Object.entries(X).filter(([K])=>!Z.has(K)),G=Y.filter(([K])=>!J.has(K)).map(([K])=>X9(K)).join(" "),Q=$,w=Y.length>0?aG(Q):null;if(w){let K=Y.map(([U,B])=>`:${X9(U)}="${B.replace(/"/g,"&quot;")}"`).join(" "),z=G?` data-stx-parent-bindings="${G}"`:"";Q=Q.substring(0,w.insertPos)+`${z} ${K}`+Q.substring(w.insertPos)}let q=X.if;if(q)Q=`<template :if="${q.replace(/"/g,"&quot;")}">${Q}</template>`;let W=X.for;if(W)Q=`<template :for="${W.replace(/"/g,"&quot;")}">${Q}</template>`;return Q}function aG($){let X=/<([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*\bdata-stx-scope(?:\s|=|>)/i.exec($);if(X)return{insertPos:X.index+1+X[1].length};let Z=0;while(Z<$.length){let J=$.slice(Z),Y=J.match(/^\s+/);if(Y){Z+=Y[0].length;continue}if(J.startsWith("<!--")){let w=$.indexOf("-->",Z+4);if(w===-1)return null;Z=w+3;continue}let G=J.match(/^<(script|style)\b[^>]*>/i);if(G){let w=`</${G[1].toLowerCase()}>`,q=$.toLowerCase().indexOf(w,Z+G[0].length);if(q===-1)return null;Z=q+w.length;continue}let Q=J.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(?:\s|>|\/)/);if(!Q)return null;return{insertPos:Z+1+Q[1].length}}return null}async function J9($,X,Z,J,Y){if(!iG)uG(),iG=!0;let G=await sG($,X,Z,J,Y);G=await y_(G,X,Z,J,Y),G=await b_(G,X,Z,J,Y);let Q=[];for(let w=0;w<3;w++){let q=w1(G,y7,(K,z)=>`\x00STX_COMPONENT_COMMENT_${Q.length+z}\x00`);Q.push(...q.tokens);let W=G;if(G=await S_(q.output,X,Z,J,Y),G===W)break}if(Q.length>0)G=G.replace(/\x00STX_COMPONENT_COMMENT_(\d+)\x00/g,(w,q)=>Q[Number(q)]??"");if(J.debug){let w=I_(G);if(w.length>0)console.warn(`[stx] ${Z}: unresolved component tag(s) after render passes: ${w.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return G}var iG=!1,N_,rG;var M4=E(()=>{$4();dG();pG();r1();D0();I0();e0();N_=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"]);rG=new Map});var GQ={};t(GQ,{processLoops:()=>I4,parseLoopBinding:()=>k4});function v_($,X){let Z=/@(include|partial)\s*\(\s*(['"])([^'"]+)\2\s*,\s*/g,J="",Y=0,G;while((G=Z.exec($))!==null){let Q=G.index+G[0].length,w=G.index+G[0].indexOf("("),q=y0($,"(",")",w);if(q===-1)continue;let W=$.slice(Q,q).trim();if(!W)continue;if(!Object.keys(X).some((U)=>new RegExp(`(?:^|[^\\w$.])${U.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?![\\w$])`).test(W)))continue;let z;try{let U=k0(W,X);if(!U||typeof U!=="object")continue;z=JSON.stringify(U)}catch{continue}J+=$.slice(Y,Q)+z,Y=q,Z.lastIndex=q}return Y===0?$:J+$.slice(Y)}function x_($,X){let Z=/@component\s*\(/g,J=$,Y,G=[];while((Y=Z.exec(J))!==null){let Q=Y.index,w=Q+Y[0].length-1,q=1,W=w+1;while(W<J.length&&q>0){if(J[W]==="(")q++;else if(J[W]===")"){if(q--,q===0)break}W++}if(q!==0)continue;let K=J.substring(w+1,W),z=W+1,U=K.match(/^\s*['"]([^'"]+)['"]/);if(!U)continue;let B=U[1],j=K.slice(U[0].length),_=j.match(/^\s*,\s*/);if(!_)continue;let H=j.slice(_[0].length).trim();if(!H)continue;try{let O=k0(H,X),L=JSON.stringify(O),F=`@component('${B}', ${L})`;G.push({start:Q,end:z,replacement:F})}catch{continue}}for(let Q=G.length-1;Q>=0;Q--){let{start:w,end:q,replacement:W}=G[Q];J=J.substring(0,w)+W+J.substring(q)}return J}function Y9($,X,Z){let J=$,Y=new RegExp(`${X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),G;while((G=Y.exec(J))!==null){let Q=G.index,w=Q+G[0].length-1,q=1,W=w+1,K=null,z=!1;while(W<J.length&&q>0){let j=J[W];if(z){z=!1,W++;continue}if(j==="\\"&&K){z=!0,W++;continue}if(K){if(j===K)K=null;W++;continue}if(j==='"'||j==="'"||j==="`"){K=j,W++;continue}if(j==="(")q++;else if(j===")"){if(q--,q===0)break}W++}if(q!==0)break;let U=J.substring(w+1,W),B=Z(U);J=J.substring(0,Q)+B+J.substring(W+1)}return J}function f_($,X){let Z=$;return Z=Z.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(J,Y)=>{if(Y in X)return`:${Y}="${Y}"`;return J}),Z=Z.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(J,Y,G)=>{try{let Q=Object.keys(X),w=Object.values(X);E8(G);let W=q0(G,Q)(...w),K=JSON.stringify(W),z=Buffer.from(K,"utf8").toString("base64");return`__stx_${Y}="${z}"`}catch(Q){return J}}),Z}function g_($,X){let Z=$;return Z=Y9(Z,"@break",(J)=>{try{let G=`!!(${J.trim()})`,Q;if(w0(G)){let w=q0(G,Object.keys(X));Q=Boolean(w(...Object.values(X)))}else Q=Boolean(Y0(G,X));return Q?G9:""}catch{return""}}),Z=Y9(Z,"@continue",(J)=>{try{let G=`!!(${J.trim()})`,Q;if(w0(G)){let w=q0(G,Object.keys(X));Q=Boolean(w(...Object.values(X)))}else Q=Boolean(Y0(G,X));return Q?Q9:""}catch{return""}}),Z}function h_($){let X=$;return X=X.replace(/@break(?!\()/g,G9),X=X.replace(/@continue(?!\()/g,Q9),X}function eG($){let X=$.includes(G9),Z=X?$.substring(0,$.indexOf(G9)):$;return{hasBreak:X,content:Z}}function $Q($){let X=$.includes(Q9),Z=X?$.substring(0,$.indexOf(Q9)):$;return{hasContinue:X,content:Z}}function ZQ($){let X=$;return X=Y9(X,"@break",(Z)=>{let J=Z.trim();if(!D8(J))return"";return`\`; if (${J}) { break; } result += \``}),X=Y9(X,"@continue",(Z)=>{let J=Z.trim();if(!D8(J))return"";return`\`; if (${J}) { continue; } result += \``}),X=X.replace(/@break(?!\()/g,"`; break; result += `"),X=X.replace(/@continue(?!\()/g,"`; continue; result += `"),X}function u_($){let X=/@forelse\s*\(/g,Z,J=[],Y=/@foreach\s*\(/g,G=/@endforeach/g,Q;while((Q=Y.exec($))!==null)J.push({pos:Q.index,delta:1});while((Q=G.exec($))!==null)J.push({pos:Q.index,delta:-1});J.sort((K,z)=>K.pos-z.pos);let w=[],q=0;for(let K of J)q+=K.delta,w.push({pos:K.pos,depth:q});function W(K){let z=0,U=w.length-1,B=0;while(z<=U){let j=z+U>>1;if(w[j].pos<=K)B=w[j].depth,z=j+1;else U=j-1}return B}while((Z=X.exec($))!==null){if(W(Z.index)>0)continue;let K=Z.index,z=Z.index+Z[0].length-1,U=1,B=z+1,j=-1;while(B<$.length&&U>0){if($[B]==="(")U++;else if($[B]===")"){if(U--,U===0){j=B;break}}B++}if(j===-1)continue;let _=$.substring(z+1,j),H=k4(_);if(!H)continue;let{arrayExpr:O,itemVar:L}=H,F=j+1,V=1,R=F,A=/@forelse\s*\(/g,N=/@endforelse/g,M=-1;while(V>0&&R<$.length){A.lastIndex=R,N.lastIndex=R;let b=A.exec($),y=N.exec($);if(!y)break;if(b&&b.index<y.index)V++,R=b.index+b[0].length;else{if(V--,V===0){M=y.index;break}R=y.index+11}}if(M===-1)continue;let T=$.substring(F,M),k=M+11,D=-1,I=0,S=0;while(S<T.length){let b=T.indexOf("@",S);if(b===-1)break;let y=T.substring(b);if(/^@forelse\s*\(/.test(y))I++,S=b+1;else if(y.startsWith("@endforelse"))I--,S=b+11;else if(I===0&&y.startsWith("@empty")){if(T.length<=b+6||!/[a-z]/i.test(T[b+6])){D=b;break}S=b+1}else S=b+1}if(D===-1)continue;return{start:K,end:k,arrayExpr:O,itemVar:L,foreachContent:T.substring(0,D),emptyContent:T.substring(D+6)}}return null}function XQ($,X){let Z=$;while(!0){let J=u_(Z);if(!J)break;let{start:Y,end:G,arrayExpr:Q,itemVar:w,foreachContent:q,emptyContent:W}=J;try{let K;if(w0(Q))K=q0(Q,Object.keys(X))(...Object.values(X));else K=Y0(Q,X);let z;if(!Array.isArray(K)||K.length===0)z=W;else z=`@foreach (${Q} as ${w})${q}@endforeach`;Z=Z.substring(0,Y)+z+Z.substring(G)}catch(K){let z=K instanceof Error?K.message:String(K),U=Z0("Forelse",`Error in @forelse(${Q} as ${w}): ${z}`,a.EVALUATION_ERROR);Z=Z.substring(0,Y)+U+Z.substring(G)}}return Z}function k4($){let X=$.indexOf(" as ");if(X!==-1){let G=$.slice(0,X).trim(),Q=$.slice(X+4).trim();return G&&Q?{arrayExpr:G,itemVar:Q}:null}let Z=/^\s*(.+?)\s+in\s+([\s\S]+)$/.exec($);if(!Z)return null;let J=Z[1].trim().replace(/^\(([\s\S]*)\)$/,"$1").trim(),Y=Z[2].trim();return J&&Y?{arrayExpr:Y,itemVar:J}:null}function I4($,X,Z,J){let Y=$;Y=XQ(Y,X);function G(q){let W=/@foreach\s*\(/g,K;while((K=W.exec(q))!==null){let z=K.index,U=K.index+K[0].length-1,B=1,j=U+1,_=-1;while(j<q.length&&B>0){if(q[j]==="(")B++;else if(q[j]===")"){if(B--,B===0){_=j;break}}j++}if(_===-1)continue;let H=q.substring(U+1,_),O=k4(H);if(!O)continue;let L=z,{arrayExpr:F,itemVar:V}=O,R=_+1,A=1,N=R,M=/@foreach\s*\(/g,T=/@endforeach/g;while(A>0&&N<q.length){M.lastIndex=N,T.lastIndex=N;let k=M.exec(q),D=T.exec(q);if(!D)break;if(k&&k.index<D.index)A++,N=k.index+k[0].length;else{if(A--,A===0){let I=q.substring(R,D.index),S=D.index+11;return{start:L,end:S,arrayExpr:F,itemVar:V,content:I}}N=D.index+11}}}return null}function Q(q,W){let K=q;while(!0){let z=G(K);if(!z)break;let{start:U,end:B,arrayExpr:j,itemVar:_,content:H}=z;try{let O=j.trim(),L;if(w0(O))L=q0(O,Object.keys(W))(...Object.values(W));else L=Y0(O,W);let F=!1;if(!Array.isArray(L))if(L instanceof Map)L=Array.from(L),F=!0;else if(L instanceof Set)L=Array.from(L);else if(typeof L==="string")L=Array.from(L);else if(L&&typeof L==="object"&&!(L instanceof Date)&&!(L instanceof RegExp))L=Object.entries(L),F=!0;else{console.warn(`[stx] @foreach(${O}) in ${Z}: ${O} 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 D=Z0("Foreach",`Error in @foreach: ${O} is not iterable`,a.TYPE_ERROR);K=K.substring(0,U)+D+K.substring(B);continue}let V=J?.loops?.useAltLoopVariable??P_,R=_.trim(),A=null,N,M=!1;if(R.includes("=>")){let D=R.split("=>").map((I)=>I.trim());if(D.length===2&&D[0]&&D[1])A=D[0],N=D[1];else N=R}else if(!R.startsWith("[")&&!R.startsWith("{")&&R.includes(",")){let D=R.split(",").map((I)=>I.trim());if(D.length===2&&D[0]&&D[1])N=D[0],A=D[1],M=!0;else N=R}else N=R;let T="",k=L;for(let D=0;D<k.length;D++){let I=k[D],S={index:D,iteration:D+1,first:D===0,last:D===k.length-1,count:k.length},b={...W,loop:S,$loop:S};if(N.startsWith("[")&&N.endsWith("]")){let x=N.slice(1,-1).split(",").map((p)=>p.trim());if(Array.isArray(I))x.forEach((p,l)=>{if(p)b[p]=I[l]});else b[N]=I}else b[N]=I;if(A)if(!M&&F&&Array.isArray(I)&&I.length===2)b[A]=I[0],b[N]=I[1];else b[A]=D;let y=g_(H,b),v=$Q(y);if(v.hasContinue){T+=v.content;continue}let f=eG(y);if(f.hasBreak){T+=f.content;break}if(y=XQ(y,b),y=Q(y,b),y=Q5(y,b,Z),y=h_(y),f=eG(y),f.hasBreak){T+=f.content;break}if(v=$Q(y),v.hasContinue){T+=v.content;continue}y=b1(y,b,Z),y=f_(y,b),y=x_(y,b),y=v_(y,b),T+=y}K=K.substring(0,U)+T+K.substring(B)}catch(O){let L=Z0("Foreach",`Error in @foreach(${j.trim()} as ${_.trim()}): ${O instanceof Error?O.message:String(O)}`,a.EVALUATION_ERROR);K=K.substring(0,U)+L+K.substring(B)}}return K}Y=Q(Y,X),Y=YQ(Y,X,Z,J);let w=J?.loops?.maxWhileIterations??C_;return Y=l_(Y,X,w),Y}function JQ($){return D8($)}function YQ($,X,Z,J){let Y=$,G=!0;while(G){G=!1;let Q=Y.match(/@for\s*\(/);if(!Q||Q.index===void 0)break;let w=Q.index,q=w+Q[0].length-1,W=y0(Y,"(",")",q);if(W===-1)break;let K=Y.slice(q+1,W),z=W+1,U=f8(Y.slice(w),"for","endfor");if(U.length===0)break;let B=U[0].content,j=w+U[0].end;if(!JQ(K)){let _=Z0("For",`Unsafe expression in @for: ${K}`,a.UNSAFE_EXPRESSION);Y=Y.substring(0,w)+_+Y.substring(j),G=!0;continue}try{let _=d_(K),H=/@(?:for|foreach|if|unless)\s*\(/.test(B);if(_.length>0&&H){let A=m_({forExpr:K,content:B,iterVarNames:_,context:X,filePath:Z,options:J});Y=Y.substring(0,w)+A+Y.substring(j),G=!0;continue}let O=Object.keys(X),L=Object.values(X),F=B.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(A,N)=>{return`\${${N}}`});F=ZQ(F);let R=Function(...O,`
12557
+ </style>`}}});import{existsSync as I_,readFileSync as E_}from"fs";function D_($){if(pG.has($))return;pG.add($),console.warn(`[stx] icon collection "${$}" is not installed, so its icons render as nothing. Install it with \`bun add -d @iconify-json/${$}\`.`)}function y_($){let X=process.cwd();for(let Z of[`${X}/node_modules/@iconify-json/${$}/icons.json`,`${X}/pantry/@iconify-json/${$}/icons.json`,`${X}/node_modules/@iconify/json/json/${$}.json`,`${X}/pantry/@iconify/json/json/${$}.json`])if(I_(Z))return Z;for(let Z of[`@iconify-json/${$}/icons.json`,`@iconify/json/json/${$}.json`])try{return U0.resolve(Z)}catch{}return null}function b_($){if(Z9.has($))return Z9.get($);let X=y_($);if(!X)return D_($),null;try{let Z=JSON.parse(E_(X,"utf8"));return Z9.set($,Z.icons),Z.icons}catch{return null}}function l5($,X){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);if($.static[X]!==void 0)return String($.static[X]);if($.clientReactive[X]!==void 0)return $.clientReactive[X];return}var Z9,pG,M3;var k3=E(()=>{Z9=new Map,pG=new Set;M3={name:"Icon",aliases:["icon","stx-icon"],render($,X,Z){let J=l5($,"name")??l5($,"icon");if(!J)return"<!-- Icon: missing name/icon prop -->";let Y="lucide",G=J;if(J.includes(":")){let O=J.split(":");Y=O[0],G=O[1]}let Q=T0(l5($,"size")||"24"),w=T0(l5($,"color")||"currentColor"),q=T0(l5($,"class")||""),W=T0(l5($,"style")||""),K=Z9.get(Y)??b_(Y);if(!K)return`<!-- Icon: collection "${Y}" not loaded -->`;let z=K[G];if(!z)return`<!-- Icon: "${G}" not found in ${Y} -->`;let U=z.width||24,B=z.height||24,j=`0 0 ${U} ${B}`,_=z.body;if(w!=="currentColor")_=_.replace(/currentColor/g,w);let H=q?` class="${q}"`:"",L=W?` style="${W}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${Q}" height="${Q}" viewBox="${j}" fill="none"${H}${L}>${_}</svg>`}}});function iG($,...X){for(let Z of X){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J}return}function nG($,X){let Z=new RegExp(`<(template|div|span)[^>]*\\bslot=["']${X}["'][^>]*>([\\s\\S]*?)<\\/\\1>`,"i"),J=$.match(Z);if(!J)return{region:null,rest:$};return{region:J[2],rest:$.replace(J[0],"")}}var I3;var E3=E(()=>{I3={name:"Suspense",aliases:["suspense"],render($,X,Z){let J=nG(X,"fallback"),Y=J.rest,G=nG(Y,"error"),Q=G.rest,w=J.region??iG($,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',q=G.region??iG($,"errorFallback","error-fallback")??'<div class="stx-suspense-error">Something went wrong.</div>';return`<div data-stx-suspense><div data-stx-suspense-fallback>${w}</div><div data-stx-suspense-error hidden>${q}</div><div data-stx-suspense-content hidden>${Q}</div></div>`}}});function J9($,...X){for(let Z of X){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J}return}var D3;var y3=E(()=>{D3={name:"TransitionGroup",aliases:["transition-group"],render($,X,Z){let J=(J9($,"name")||"v").replace(/["'<>]/g,""),Y=(J9($,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",G=J9($,"class"),Q=J9($,"id"),w=[`data-stx-transition-group="${J}"`,G?`class="${G}"`:"",Q?`id="${Q}"`:""].filter(Boolean).join(" ");return`<${Y} ${w}>${X}</${Y}>`}}});function rG(){m0.registerBuiltin(w3),m0.registerBuiltin(U3),m0.registerBuiltin(B3),m0.registerBuiltin(O3),m0.registerBuiltin(F3),m0.registerBuiltin(A3),m0.registerBuiltin(N3),m0.registerBuiltin(M3),m0.registerBuiltin(I3),m0.registerBuiltin(D3)}var oG=E(()=>{q3();j3();_3();L3();V3();R3();T3();k3();E3();y3();G3();q3();j3();_3();L3();V3();R3();T3();k3();E3();y3()});function Y9($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function sG($,X,Z){let J=[],Y=0;while(Y<$.length){let G=$.indexOf("<",Y);if(G===-1)break;let w=$.slice(G+1).match(new RegExp(`^(${X.source})(?![\\w.:-])`));if(!w){Y=G+1;continue}let q=w[1];if(Z&&Z.has(q.toLowerCase())){let _=G+1+q.length;while(_<$.length&&$[_]!==">")_++;Y=_+1;continue}let W=G+1+q.length,K=null,z=W,U=-1,B=!1;while(W<$.length){let _=$[W];if(K){if(_==="\\"&&W+1<$.length){W+=2;continue}if(_===K)K=null;W++;continue}if(_==='"'||_==="'"){K=_,W++;continue}if(_==="/"&&W+1<$.length&&$[W+1]===">"){U=W+2,B=!0;break}if(_===">"){U=W+1;break}W++}if(U===-1){Y=G+1;continue}let j=$.slice(z,B?U-2:U-1).trim();if(B)J.push({fullMatch:$.slice(G,U),tagName:q,attributes:j,content:"",startIndex:G,endIndex:U,isSelfClosing:!0}),Y=U;else{let _=`<${q}`,H=`</${q}>`,L=1,O=U,F=-1;while(L>0&&O<$.length){let R=$.indexOf(_,O),N=$.indexOf(H,O);if(N===-1)break;if(R!==-1&&R<N){let M=$[R+_.length];if(M===" "||M===">"||M==="/"||M===`
12558
+ `||M==="\t")L++;O=R+_.length}else{if(L--,L===0){F=N;break}O=N+H.length}}if(F===-1){Y=U;continue}let V=$.slice(U,F),A=F+H.length;J.push({fullMatch:$.slice(G,A),tagName:q,attributes:j,content:V,startIndex:G,endIndex:A,isSelfClosing:!1}),Y=A}}return J}function aG($){return $.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#0?39;/g,"'").replace(/&#x27;/gi,"'").replace(/&amp;/g,"&")}function tG($,X){try{let Z=Buffer.from($,"base64").toString("utf8");return JSON.parse(Z)}catch{}try{let Z=$.replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&");return JSON.parse(Z)}catch(Z){if(X?.debug)console.error("Error decoding __stx_ prop:",Z);return $}}var eG=E(()=>{E0();y0();o1()});var QQ={};t(QQ,{processESImports:()=>YQ,processComponents:()=>Q9});import G9 from"fs";import n0 from"path";function C_($,X,Z){let J={static:{},staticNames:{},serverDynamic:{},serverDynamicNames:{},clientReactive:{},events:{}},Y=new Set(Array.isArray(X.__stx_client_signal_names)?X.__stx_client_signal_names:[]),G=(W)=>{if(Y.size===0)return!1;let K=o0(W),z=K.match(/^\s*[!+~(-]*\s*([a-zA-Z_$][\w$]*)/)?.[1];if(z&&Y.has(z))return!0;for(let U of Y){let B=U.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");if(new RegExp(`(?:^|[^\\w$.])${B}\\s*\\(`).test(K))return!0}return!1},Q=new Set(Y2),w=(W)=>{if(!W.includes("-")||W.startsWith("@")||W.startsWith(":")||W.startsWith("x-")||W.startsWith("__"))return W;if(W.startsWith("aria-")||W.startsWith("data-"))return W;return W.replace(/-([a-z0-9])/g,(K,z)=>z.toUpperCase())},q=(W,K)=>{let z=w(W);if(J.static[z]=K,z!==W)J.staticNames[z]=W};for(let[W,K]of Object.entries($)){let z=W.startsWith("x-")&&!Q.has(W)&&!W.startsWith("x-bind:")&&!W.startsWith("x-on:")?`:${W.slice(2)}`:W;if(z.startsWith("@")){J.events[z]=K;continue}if(z.startsWith("__stx_")){let U=w(z.slice(6));J.serverDynamic[U]=tG(K,Z);continue}if(z.startsWith(":")){let U=w(z.slice(1)),B=K===W5?U:K;if(U==="if"||U==="for"||U==="show"){J.clientReactive[U]=B;continue}if(G(B)){J.clientReactive[U]=B;continue}try{if(!w0(B)){if(Z.debug)console.error(`Unsafe expression in :${U} binding: ${B}`);J.clientReactive[U]=B;continue}let j=Object.keys(X),H=q0(B,j)(...Object.values(X));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))){J.clientReactive[U]=B;continue}}if(J.serverDynamic[U]=H,U!==z.slice(1)&&J.serverDynamicNames)J.serverDynamicNames[U]=z.slice(1)}catch{J.clientReactive[U]=B}continue}if(typeof K==="string"&&K.includes("{{")&&K.includes("}}")){let U=K.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(U)try{let B=U[1];if(w0(B)){let _=q0(B,Object.keys(X))(...Object.values(X));q(z,_!=null?String(_):"")}else{if(Z.debug)console.error(`Unsafe expression in ${z}: ${B}`);q(z,K)}}catch(B){if(Z.debug)console.error(`Error evaluating expression for ${z}:`,B);q(z,K)}else{let B=K,j=/\{\{\s*([\s\S]+?)\s*\}\}/g,_;while((_=j.exec(K))!==null)try{let H=_[1];if(!w0(H)){if(Z.debug)console.error(`Unsafe expression in ${z}: ${H}`);continue}let O=q0(H,Object.keys(X))(...Object.values(X));B=B.replace(_[0],String(O??""))}catch(H){if(Z.debug)console.error(`Error evaluating expression in ${z}:`,H)}q(z,B)}continue}q(z,K===W5?"true":aG(K))}return J}function v_($,X,Z){if(!$.includes("@"))return $;if(!P_.some(([Y,G])=>Y.test($)&&$.includes(G)))return $;try{return R1($,X,Z)}catch{return $}}function x_($){let X={},Z=0,J=$.length;while(Z<J){while(Z<J&&/\s/.test($[Z]))Z++;if(Z>=J)break;let Y="";while(Z<J&&!/[\s=]/.test($[Z]))Y+=$[Z],Z++;if(!Y)break;while(Z<J&&/\s/.test($[Z]))Z++;if(Z<J&&$[Z]==="="){Z++;while(Z<J&&/\s/.test($[Z]))Z++;let G="";if(Z<J&&($[Z]==='"'||$[Z]==="'")){let Q=$[Z];Z++;while(Z<J){let w=$[Z];if(w==="\\"&&Z+1<J){Z++,G+=$[Z],Z++;continue}if(w===Q){Z++;break}G+=w,Z++}}else while(Z<J&&!/\s/.test($[Z]))G+=$[Z],Z++;X[Y]=G}else X[Y]=W5}return X}function XQ($){return Object.entries($).map(([X,Z])=>Z===W5?X:`${X}="${f_(Z)}"`).join(" ")}function f_($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function g_($){let X=new Set,Z=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,J;while((J=Z.exec($))!==null){let Y=J[1];if(m0.isBuiltin(Y))X.add(Y)}return[...X].sort()}function h_($){let X=ZQ.get($);if(X)return X;let Z=new Map,J=[n0.join($,"src"),n0.join($,"dist"),$];function Y(G,Q){if(Q>6)return;let w;try{w=G9.readdirSync(G,{withFileTypes:!0})}catch{return}for(let q of w){let W=n0.join(G,q.name);if(q.isDirectory()){if(q.name==="node_modules"||q.name.startsWith("."))continue;Y(W,Q+1)}else if(q.isFile()&&q.name.endsWith(".stx")){let K=q.name.slice(0,-4);if(!Z.has(K))Z.set(K,W);let z=K.toLowerCase();if(!Z.has(z))Z.set(z,W);let U=K.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Z.has(U))Z.set(U,W)}}}for(let G of J)if(Y(G,0),Z.size>0)break;return ZQ.set($,Z),Z}function u_($,X){if($.startsWith(".")||$.startsWith("/"))return null;let Z=X;while(!0){let J=n0.join(Z,"node_modules",$);try{if(G9.statSync(J).isDirectory())return J}catch{}let Y=n0.dirname(Z);if(Y===Z)return null;Z=Y}}async function YQ($,X,Z,J,Y){if(!$.includes("import"))return $;if(!X.__importedComponents)X.__importedComponents=new Map;let G=X.__importedComponents,Q=n0.dirname(Z),w=$,q=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return w=w.replace(q,(W,K,z)=>{let U=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,B=z,j,_=[];while((j=U.exec(z))!==null){let[H,L,O,F]=j,V=null,A=null;if(F.startsWith(".")||F.startsWith("/")){let M=n0.resolve(Q,F);if(M.endsWith(".stx"))A=M;else{let T=`${M}.stx`;try{if(G9.statSync(T).isFile())A=T}catch{try{if(G9.statSync(M).isDirectory())V=M}catch{}}}}else V=u_(F,Q);if(!V&&!A)continue;let R=!1,N=(M,T)=>{G.set(M,T),G.set(M.toLowerCase(),T);let k=M.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();G.set(k,T),Y.add(T)};if(O&&A)N(O,A),R=!0;else if(L){let M=L.slice(1,-1).split(",").map((k)=>k.trim()).filter(Boolean).map((k)=>{let D=k.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(D)return{source:D[1],local:D[2]};return{source:k,local:k}}),T=V?h_(V):null;for(let{source:k,local:D}of M){let I=null;if(A)I=A;else if(T)I=T.get(k)??T.get(k.toLowerCase())??T.get(k.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(I)N(D,I),R=!0}}if(R)_.push({start:j.index,end:j.index+H.length})}if(_.length===0)return W;for(let H=_.length-1;H>=0;H--)B=B.slice(0,_[H].start)+B.slice(_[H].end);return`<script${K}>${B}</script>`}),w}async function d_($,X,Z,J,Y){let G=$;if(!X.__importedComponents)X.__importedComponents=new Map;let Q=X.__importedComponents,w=/@import\s*\(\s*([^)]+)\s*\)/g,q;while((q=w.exec(G))!==null){let[W,K]=q,z=K.split(",").map((U)=>U.trim().replace(/^['"]|['"]$/g,"")).filter((U)=>U.length>0);for(let U of z){let B=U.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=[n0.resolve(n0.dirname(Z),`${U}.stx`),n0.resolve(n0.dirname(Z),U),n0.resolve(J.componentsDir||"components",`${U}.stx`),n0.resolve(J.componentsDir||"components",U),U.endsWith(".stx")?U:`${U}.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),Y.add(L),J.debug)console.log(`Imported component: ${H} -> ${L}`)}else if(J.debug)console.warn(`Could not resolve imported component: ${U}`)}G=G.replace(W,""),w.lastIndex=0}return G}async function m_($,X,Z,J,Y){let G=$,Q=J.componentsDir||"components";if(!X.__processedComponents)X.__processedComponents=new Set;let w=X.__processedComponents,q=/@component\s*\(/g,W;while((W=q.exec(G))!==null){let K=W.index,z=K+W[0].length-1,U=1,B=z+1;while(B<G.length&&U>0){if(G[B]==="(")U++;else if(G[B]===")"){if(U--,U===0)break}B++}if(U!==0)break;let j=G.substring(z+1,B),_=B+1,H=j.match(/^\s*['"]([^'"]+)['"]/);if(!H){q.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=I0(O,X)}catch(D){let I=D instanceof Error?D.message:String(D);G=G.replace(G.substring(K,_),`[Error parsing component props: ${I}]`);continue}let R="",N=_,T=G.substring(_).match(/^([\s\S]*?)@endcomponent/);if(T)R=T[1].trim(),N=_+T[0].length;let k=await Z5(L,A,R,Q,X,Z,J,w,Y);G=G.substring(0,K)+k+G.substring(N),q.lastIndex=0}return G}async function l_($,X,Z,J,Y){if(!$)return $;let G=$,Q=J.componentsDir||"components";if(!X.__processedComponents)X.__processedComponents=new Set;let w=X.__processedComponents,q=b1(G);return G=q.output,G=await U(G,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),G=await U(G,/[A-Z][a-zA-Z0-9]*/,!0),G=await U(G,/[a-z][a-z0-9]*/,!1,S_),G=S7(G,q.scripts),G;async function U(B,j,_,H){if(!B)return B;let L=B,O=sG(L,j,H);for(let F=O.length-1;F>=0;F--){let V=O[F],A=_?Y9(V.tagName):V.tagName,R=x_(v_(V.attributes,X,Z)),N=C_(R,X,J),M=m0.getBuiltin(V.tagName),T=M?await q$(A,Q,X,Z,J):!1;if(M&&!T){let S={context:X,filePath:Z,options:J,dependencies:Y},b=M.render(N,V.content,S);if(Object.keys(N.clientReactive).length>0)b=JQ(b,N.clientReactive);if(Object.keys(N.events).length>0){let y=XQ(N.events);b=b.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${y}`)}L=L.substring(0,V.startIndex)+b+L.substring(V.endIndex);continue}if(!_&&V.tagName.includes("-")&&!await q$(A,Q,X,Z,J))continue;let k={};for(let[S,b]of Object.entries(N.static))k[S]=b;for(let[S,b]of Object.entries(N.serverDynamic))k[S]=b;let I=await Z5(A,k,V.content,Q,X,Z,J,w,Y);if(Object.keys(N.clientReactive).length>0)I=JQ(I,N.clientReactive);if(Object.keys(N.events).length>0){let S=GQ(I);if(S){let b=XQ(N.events),y=Object.keys(N.events).map((v)=>v.replace(/^@/,"").split(".")[0]).join(" ");I=I.substring(0,S.insertPos)+` data-stx-parent-events="${y}" ${b}`+I.substring(S.insertPos)}}L=L.substring(0,V.startIndex)+I+L.substring(V.endIndex)}return L}}function JQ($,X){let Z=new Set(["if","for"]),J=new Set(["show"]),Y=Object.entries(X).filter(([K])=>!Z.has(K)),G=Y.filter(([K])=>!J.has(K)).map(([K])=>Y9(K)).join(" "),Q=$,w=Y.length>0?GQ(Q):null;if(w){let K=Y.map(([U,B])=>`:${Y9(U)}="${B.replace(/"/g,"&quot;")}"`).join(" "),z=G?` data-stx-parent-bindings="${G}"`:"";Q=Q.substring(0,w.insertPos)+`${z} ${K}`+Q.substring(w.insertPos)}let q=X.if;if(q)Q=`<template :if="${q.replace(/"/g,"&quot;")}">${Q}</template>`;let W=X.for;if(W)Q=`<template :for="${W.replace(/"/g,"&quot;")}">${Q}</template>`;return Q}function GQ($){let X=/<([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*\bdata-stx-scope(?:\s|=|>)/i.exec($);if(X)return{insertPos:X.index+1+X[1].length};let Z=0;while(Z<$.length){let J=$.slice(Z),Y=J.match(/^\s+/);if(Y){Z+=Y[0].length;continue}if(J.startsWith("<!--")){let w=$.indexOf("-->",Z+4);if(w===-1)return null;Z=w+3;continue}let G=J.match(/^<(script|style)\b[^>]*>/i);if(G){let w=`</${G[1].toLowerCase()}>`,q=$.toLowerCase().indexOf(w,Z+G[0].length);if(q===-1)return null;Z=q+w.length;continue}let Q=J.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(?:\s|>|\/)/);if(!Q)return null;return{insertPos:Z+1+Q[1].length}}return null}async function Q9($,X,Z,J,Y){if(!$Q)rG(),$Q=!0;let G=await YQ($,X,Z,J,Y);G=await d_(G,X,Z,J,Y),G=await m_(G,X,Z,J,Y);let Q=[];for(let w=0;w<3;w++){let q=w1(G,b7,(K,z)=>`\x00STX_COMPONENT_COMMENT_${Q.length+z}\x00`);Q.push(...q.tokens);let W=G;if(G=await l_(q.output,X,Z,J,Y),G===W)break}if(Q.length>0)G=G.replace(/\x00STX_COMPONENT_COMMENT_(\d+)\x00/g,(w,q)=>Q[Number(q)]??"");if(J.debug){let w=g_(G);if(w.length>0)console.warn(`[stx] ${Z}: unresolved component tag(s) after render passes: ${w.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return G}var $Q=!1,S_,P_,ZQ;var b3=E(()=>{G3();o7();oG();eG();o1();y0();E0();e0();S_=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"]);P_=[[/@if\s*\(/,"@endif"],[/@unless\s*\(/,"@endunless"]];ZQ=new Map});var jQ={};t(jQ,{processLoops:()=>C3,parseLoopBinding:()=>S3});function i_($,X){let Z=/@(include|partial)\s*\(\s*(['"])([^'"]+)\2\s*,\s*/g,J="",Y=0,G;while((G=Z.exec($))!==null){let Q=G.index+G[0].length,w=G.index+G[0].indexOf("("),q=b0($,"(",")",w);if(q===-1)continue;let W=$.slice(Q,q).trim();if(!W)continue;if(!Object.keys(X).some((U)=>new RegExp(`(?:^|[^\\w$.])${U.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?![\\w$])`).test(W)))continue;let z;try{let U=I0(W,X);if(!U||typeof U!=="object")continue;z=JSON.stringify(U)}catch{continue}J+=$.slice(Y,Q)+z,Y=q,Z.lastIndex=q}return Y===0?$:J+$.slice(Y)}function n_($,X){let Z=/@component\s*\(/g,J=$,Y,G=[];while((Y=Z.exec(J))!==null){let Q=Y.index,w=Q+Y[0].length-1,q=1,W=w+1;while(W<J.length&&q>0){if(J[W]==="(")q++;else if(J[W]===")"){if(q--,q===0)break}W++}if(q!==0)continue;let K=J.substring(w+1,W),z=W+1,U=K.match(/^\s*['"]([^'"]+)['"]/);if(!U)continue;let B=U[1],j=K.slice(U[0].length),_=j.match(/^\s*,\s*/);if(!_)continue;let H=j.slice(_[0].length).trim();if(!H)continue;try{let L=I0(H,X),O=JSON.stringify(L),F=`@component('${B}', ${O})`;G.push({start:Q,end:z,replacement:F})}catch{continue}}for(let Q=G.length-1;Q>=0;Q--){let{start:w,end:q,replacement:W}=G[Q];J=J.substring(0,w)+W+J.substring(q)}return J}function w9($,X,Z){let J=$,Y=new RegExp(`${X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),G;while((G=Y.exec(J))!==null){let Q=G.index,w=Q+G[0].length-1,q=1,W=w+1,K=null,z=!1;while(W<J.length&&q>0){let j=J[W];if(z){z=!1,W++;continue}if(j==="\\"&&K){z=!0,W++;continue}if(K){if(j===K)K=null;W++;continue}if(j==='"'||j==="'"||j==="`"){K=j,W++;continue}if(j==="(")q++;else if(j===")"){if(q--,q===0)break}W++}if(q!==0)break;let U=J.substring(w+1,W),B=Z(U);J=J.substring(0,Q)+B+J.substring(W+1)}return J}function r_($,X){let Z=$;return Z=Z.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(J,Y)=>{if(Y in X)return`:${Y}="${Y}"`;return J}),Z=Z.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(J,Y,G)=>{try{let Q=Object.keys(X),w=Object.values(X);y8(G);let W=q0(G,Q)(...w),K=JSON.stringify(W),z=Buffer.from(K,"utf8").toString("base64");return`__stx_${Y}="${z}"`}catch(Q){return J}}),Z}function o_($,X){let Z=$;return Z=w9(Z,"@break",(J)=>{try{let G=`!!(${J.trim()})`,Q;if(w0(G)){let w=q0(G,Object.keys(X));Q=Boolean(w(...Object.values(X)))}else Q=Boolean(Y0(G,X));return Q?q9:""}catch{return""}}),Z=w9(Z,"@continue",(J)=>{try{let G=`!!(${J.trim()})`,Q;if(w0(G)){let w=q0(G,Object.keys(X));Q=Boolean(w(...Object.values(X)))}else Q=Boolean(Y0(G,X));return Q?W9:""}catch{return""}}),Z}function s_($){let X=$;return X=X.replace(/@break(?!\()/g,q9),X=X.replace(/@continue(?!\()/g,W9),X}function wQ($){let X=$.includes(q9),Z=X?$.substring(0,$.indexOf(q9)):$;return{hasBreak:X,content:Z}}function qQ($){let X=$.includes(W9),Z=X?$.substring(0,$.indexOf(W9)):$;return{hasContinue:X,content:Z}}function KQ($){let X=$;return X=w9(X,"@break",(Z)=>{let J=Z.trim();if(!b8(J))return"";return`\`; if (${J}) { break; } result += \``}),X=w9(X,"@continue",(Z)=>{let J=Z.trim();if(!b8(J))return"";return`\`; if (${J}) { continue; } result += \``}),X=X.replace(/@break(?!\()/g,"`; break; result += `"),X=X.replace(/@continue(?!\()/g,"`; continue; result += `"),X}function a_($){let X=/@forelse\s*\(/g,Z,J=[],Y=/@foreach\s*\(/g,G=/@endforeach/g,Q;while((Q=Y.exec($))!==null)J.push({pos:Q.index,delta:1});while((Q=G.exec($))!==null)J.push({pos:Q.index,delta:-1});J.sort((K,z)=>K.pos-z.pos);let w=[],q=0;for(let K of J)q+=K.delta,w.push({pos:K.pos,depth:q});function W(K){let z=0,U=w.length-1,B=0;while(z<=U){let j=z+U>>1;if(w[j].pos<=K)B=w[j].depth,z=j+1;else U=j-1}return B}while((Z=X.exec($))!==null){if(W(Z.index)>0)continue;let K=Z.index,z=Z.index+Z[0].length-1,U=1,B=z+1,j=-1;while(B<$.length&&U>0){if($[B]==="(")U++;else if($[B]===")"){if(U--,U===0){j=B;break}}B++}if(j===-1)continue;let _=$.substring(z+1,j),H=S3(_);if(!H)continue;let{arrayExpr:L,itemVar:O}=H,F=j+1,V=1,A=F,R=/@forelse\s*\(/g,N=/@endforelse/g,M=-1;while(V>0&&A<$.length){R.lastIndex=A,N.lastIndex=A;let b=R.exec($),y=N.exec($);if(!y)break;if(b&&b.index<y.index)V++,A=b.index+b[0].length;else{if(V--,V===0){M=y.index;break}A=y.index+11}}if(M===-1)continue;let T=$.substring(F,M),k=M+11,D=-1,I=0,S=0;while(S<T.length){let b=T.indexOf("@",S);if(b===-1)break;let y=T.substring(b);if(/^@forelse\s*\(/.test(y))I++,S=b+1;else if(y.startsWith("@endforelse"))I--,S=b+11;else if(I===0&&y.startsWith("@empty")){if(T.length<=b+6||!/[a-z]/i.test(T[b+6])){D=b;break}S=b+1}else S=b+1}if(D===-1)continue;return{start:K,end:k,arrayExpr:L,itemVar:O,foreachContent:T.substring(0,D),emptyContent:T.substring(D+6)}}return null}function WQ($,X){let Z=$;while(!0){let J=a_(Z);if(!J)break;let{start:Y,end:G,arrayExpr:Q,itemVar:w,foreachContent:q,emptyContent:W}=J;try{let K;if(w0(Q))K=q0(Q,Object.keys(X))(...Object.values(X));else K=Y0(Q,X);let z;if(!Array.isArray(K)||K.length===0)z=W;else z=`@foreach (${Q} as ${w})${q}@endforeach`;Z=Z.substring(0,Y)+z+Z.substring(G)}catch(K){let z=K instanceof Error?K.message:String(K),U=Z0("Forelse",`Error in @forelse(${Q} as ${w}): ${z}`,a.EVALUATION_ERROR);Z=Z.substring(0,Y)+U+Z.substring(G)}}return Z}function S3($){let X=$.indexOf(" as ");if(X!==-1){let G=$.slice(0,X).trim(),Q=$.slice(X+4).trim();return G&&Q?{arrayExpr:G,itemVar:Q}:null}let Z=/^\s*(.+?)\s+in\s+([\s\S]+)$/.exec($);if(!Z)return null;let J=Z[1].trim().replace(/^\(([\s\S]*)\)$/,"$1").trim(),Y=Z[2].trim();return J&&Y?{arrayExpr:Y,itemVar:J}:null}function C3($,X,Z,J){let Y=$;Y=WQ(Y,X);function G(q){let W=/@foreach\s*\(/g,K;while((K=W.exec(q))!==null){let z=K.index,U=K.index+K[0].length-1,B=1,j=U+1,_=-1;while(j<q.length&&B>0){if(q[j]==="(")B++;else if(q[j]===")"){if(B--,B===0){_=j;break}}j++}if(_===-1)continue;let H=q.substring(U+1,_),L=S3(H);if(!L)continue;let O=z,{arrayExpr:F,itemVar:V}=L,A=_+1,R=1,N=A,M=/@foreach\s*\(/g,T=/@endforeach/g;while(R>0&&N<q.length){M.lastIndex=N,T.lastIndex=N;let k=M.exec(q),D=T.exec(q);if(!D)break;if(k&&k.index<D.index)R++,N=k.index+k[0].length;else{if(R--,R===0){let I=q.substring(A,D.index),S=D.index+11;return{start:O,end:S,arrayExpr:F,itemVar:V,content:I}}N=D.index+11}}}return null}function Q(q,W){let K=q;while(!0){let z=G(K);if(!z)break;let{start:U,end:B,arrayExpr:j,itemVar:_,content:H}=z;try{let L=j.trim(),O;if(w0(L))O=q0(L,Object.keys(W))(...Object.values(W));else O=Y0(L,W);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 D=Z0("Foreach",`Error in @foreach: ${L} is not iterable`,a.TYPE_ERROR);K=K.substring(0,U)+D+K.substring(B);continue}let V=J?.loops?.useAltLoopVariable??p_,A=_.trim(),R=null,N,M=!1;if(A.includes("=>")){let D=A.split("=>").map((I)=>I.trim());if(D.length===2&&D[0]&&D[1])R=D[0],N=D[1];else N=A}else if(!A.startsWith("[")&&!A.startsWith("{")&&A.includes(",")){let D=A.split(",").map((I)=>I.trim());if(D.length===2&&D[0]&&D[1])N=D[0],R=D[1],M=!0;else N=A}else N=A;let T="",k=O;for(let D=0;D<k.length;D++){let I=k[D],S={index:D,iteration:D+1,first:D===0,last:D===k.length-1,count:k.length},b={...W,loop:S,$loop:S};if(N.startsWith("[")&&N.endsWith("]")){let x=N.slice(1,-1).split(",").map((l)=>l.trim());if(Array.isArray(I))x.forEach((l,c)=>{if(l)b[l]=I[c]});else b[N]=I}else b[N]=I;if(R)if(!M&&F&&Array.isArray(I)&&I.length===2)b[R]=I[0],b[N]=I[1];else b[R]=D;let y=o_(H,b),v=qQ(y);if(v.hasContinue){T+=v.content;continue}let f=wQ(y);if(f.hasBreak){T+=f.content;break}if(y=WQ(y,b),y=Q(y,b),y=R1(y,b,Z),y=s_(y),f=wQ(y),f.hasBreak){T+=f.content;break}if(v=qQ(y),v.hasContinue){T+=v.content;continue}y=S1(y,b,Z),y=r_(y,b),y=n_(y,b),y=i_(y,b),T+=y}K=K.substring(0,U)+T+K.substring(B)}catch(L){let O=Z0("Foreach",`Error in @foreach(${j.trim()} as ${_.trim()}): ${L instanceof Error?L.message:String(L)}`,a.EVALUATION_ERROR);K=K.substring(0,U)+O+K.substring(B)}}return K}Y=Q(Y,X),Y=UQ(Y,X,Z,J);let w=J?.loops?.maxWhileIterations??c_;return Y=$H(Y,X,w),Y}function zQ($){return b8($)}function UQ($,X,Z,J){let Y=$,G=!0;while(G){G=!1;let Q=Y.match(/@for\s*\(/);if(!Q||Q.index===void 0)break;let w=Q.index,q=w+Q[0].length-1,W=b0(Y,"(",")",q);if(W===-1)break;let K=Y.slice(q+1,W),z=W+1,U=u8(Y.slice(w),"for","endfor");if(U.length===0)break;let B=U[0].content,j=w+U[0].end;if(!zQ(K)){let _=Z0("For",`Unsafe expression in @for: ${K}`,a.UNSAFE_EXPRESSION);Y=Y.substring(0,w)+_+Y.substring(j),G=!0;continue}try{let _=t_(K),H=/@(?:for|foreach|if|unless)\s*\(/.test(B);if(_.length>0&&H){let R=e_({forExpr:K,content:B,iterVarNames:_,context:X,filePath:Z,options:J});Y=Y.substring(0,w)+R+Y.substring(j),G=!0;continue}let L=Object.keys(X),O=Object.values(X),F=B.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(R,N)=>{return`\${${N}}`});F=KQ(F);let A=Function(...L,`
12440
12559
  let result = '';
12441
12560
  for (${K}) {
12442
12561
  result += \`${F}\`;
12443
12562
  }
12444
12563
  return result;
12445
- `)(...L);Y=Y.substring(0,w)+R+Y.substring(j),G=!0}catch(_){let H=Z0("For",`Error in @for(${K}): ${_ instanceof Error?_.message:String(_)}`,a.EVALUATION_ERROR);Y=Y.substring(0,w)+H+Y.substring(j),G=!0}}return Y}function d_($){let X=$.trim(),Z=X.match(/^(?:const|let|var)\s+(\[[^\]]+\]|\{[^}]+\})\s+(?:of|in)\s+/);if(Z){let G=Z[1];return G.slice(1,-1).split(",").map((w)=>{let q=w.trim();if(!q)return"";let W=q.indexOf(":");if(W>=0&&G.startsWith("{")){let U=q.slice(W+1).trim(),B=U.indexOf("=");return(B>=0?U.slice(0,B):U).trim()}let K=q.indexOf("="),z=(K>=0?q.slice(0,K):q).trim();return/^[A-Za-z_$][\w$]*$/.test(z)?z:""}).filter(Boolean)}let J=X.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s+(?:of|in)\s+/);if(J)return[J[1]];let Y=X.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=[^;]*;/);if(Y)return[Y[1]];return[]}function m_($){let{forExpr:X,content:Z,iterVarNames:J,context:Y,filePath:G,options:Q}=$,w=Object.keys(Y),q=Object.values(Y),W=Function(...w,"__pushIter",`
12564
+ `)(...O);Y=Y.substring(0,w)+A+Y.substring(j),G=!0}catch(_){let H=Z0("For",`Error in @for(${K}): ${_ instanceof Error?_.message:String(_)}`,a.EVALUATION_ERROR);Y=Y.substring(0,w)+H+Y.substring(j),G=!0}}return Y}function t_($){let X=$.trim(),Z=X.match(/^(?:const|let|var)\s+(\[[^\]]+\]|\{[^}]+\})\s+(?:of|in)\s+/);if(Z){let G=Z[1];return G.slice(1,-1).split(",").map((w)=>{let q=w.trim();if(!q)return"";let W=q.indexOf(":");if(W>=0&&G.startsWith("{")){let U=q.slice(W+1).trim(),B=U.indexOf("=");return(B>=0?U.slice(0,B):U).trim()}let K=q.indexOf("="),z=(K>=0?q.slice(0,K):q).trim();return/^[A-Za-z_$][\w$]*$/.test(z)?z:""}).filter(Boolean)}let J=X.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s+(?:of|in)\s+/);if(J)return[J[1]];let Y=X.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=[^;]*;/);if(Y)return[Y[1]];return[]}function e_($){let{forExpr:X,content:Z,iterVarNames:J,context:Y,filePath:G,options:Q}=$,w=Object.keys(Y),q=Object.values(Y),W=Function(...w,"__pushIter",`
12446
12565
  for (${X}) {
12447
12566
  __pushIter([${J.join(", ")}])
12448
12567
  }
12449
- `),K=[];W(...q,(B)=>{K.push(B)});let z=G??"inline.stx",U="";for(let B of K){let j={...Y};J.forEach((H,O)=>{j[H]=B[O]});let _=YQ(Z,j,G,Q);_=Q5(_,j,z),_=b1(_,j,z),U+=_}return U}function l_($,X,Z){let J=$,Y=!0;while(Y){Y=!1;let G=J.match(/@while\s*\(/);if(!G||G.index===void 0)break;let Q=G.index,w=Q+G[0].length-1,q=y0(J,"(",")",w);if(q===-1)break;let W=J.slice(w+1,q),K=f8(J.slice(Q),"while","endwhile");if(K.length===0)break;let z=K[0].content,U=Q+K[0].end;if(!JQ(W)){let B=Z0("While",`Unsafe expression in @while: ${W}`,a.UNSAFE_EXPRESSION);J=J.substring(0,Q)+B+J.substring(U),Y=!0;continue}try{let B=Object.keys(X),j=Object.values(X),_=z.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(L,F)=>{return`\${${F}}`});_=ZQ(_);let O=Function(...B,`
12568
+ `),K=[];W(...q,(B)=>{K.push(B)});let z=G??"inline.stx",U="";for(let B of K){let j={...Y};J.forEach((H,L)=>{j[H]=B[L]});let _=UQ(Z,j,G,Q);_=R1(_,j,z),_=S1(_,j,z),U+=_}return U}function $H($,X,Z){let J=$,Y=!0;while(Y){Y=!1;let G=J.match(/@while\s*\(/);if(!G||G.index===void 0)break;let Q=G.index,w=Q+G[0].length-1,q=b0(J,"(",")",w);if(q===-1)break;let W=J.slice(w+1,q),K=u8(J.slice(Q),"while","endwhile");if(K.length===0)break;let z=K[0].content,U=Q+K[0].end;if(!zQ(W)){let B=Z0("While",`Unsafe expression in @while: ${W}`,a.UNSAFE_EXPRESSION);J=J.substring(0,Q)+B+J.substring(U),Y=!0;continue}try{let B=Object.keys(X),j=Object.values(X),_=z.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(O,F)=>{return`\${${F}}`});_=KQ(_);let L=Function(...B,`
12450
12569
  let result = '';
12451
12570
  let maxIterations = ${Z}; // Configurable safety limit
12452
12571
  let counter = 0;
@@ -12458,8 +12577,8 @@ ${I}
12458
12577
  result += '<!-- [While Error [1104]]: Maximum iterations (${Z}) exceeded in while loop. Configure via options.loops.maxWhileIterations -->';
12459
12578
  }
12460
12579
  return result;
12461
- `)(...j);J=J.substring(0,Q)+O+J.substring(U),Y=!0}catch(B){let j=Z0("While",`Error in @while(${W}): ${B instanceof Error?B.message:String(B)}`,a.EVALUATION_ERROR);J=J.substring(0,Q)+j+J.substring(U),Y=!0}}return J}var C_=1000,P_=!1,G9="<!--__STX_BREAK__-->",Q9="<!--__STX_CONTINUE__-->";var E4=E(()=>{p$();V1();q1();g8();I0()});import B0 from"path";function D4($,X){let Z=0;for(let J=X;J<$.length;J++){let Y=$[J];if(Y==="("||Y==="["||Y==="{")Z++;else if(Y===")"||Y==="]"||Y==="}")Z--;else if(Y===","&&Z===0)return J}return-1}function c_($,X,Z){let J=$,Y=new RegExp(`${X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),G=Y.exec(J);while(G){let Q=G.index,w=Q+G[0].length-1,q=1,W=w+1;while(W<J.length&&q>0){if(J[W]==="(")q++;else if(J[W]===")")q--;W++}if(q!==0)break;let K=J.substring(w+1,W-1),z=`${Z}(${K})`;J=J.substring(0,Q)+z+J.substring(W),Y.lastIndex=Q+z.length,G=Y.exec(J)}return J}function p_($){return/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test($)}function wQ($){let X=$,Z=[],J=new Set,Y=0,G=0,Q=X.length,w=(z)=>{G++;while(G<Q){if(X[G]==="\\"){G+=2;continue}if(X[G]===z){G++;return}G++}},q=()=>{G++;while(G<Q){if(X[G]==="\\"){G+=2;continue}if(X[G]==="`"){G++;return}if(X[G]==="$"&&X[G+1]==="{"){G+=2;let z=1;while(G<Q&&z>0)if(X[G]==="{")z++,G++;else if(X[G]==="}")z--,G++;else if(X[G]==="'"||X[G]==='"')w(X[G]);else if(X[G]==="`")q();else G++;continue}G++}},W=()=>{if(X[G]==="/"&&X[G+1]==="/"){while(G<Q&&X[G]!==`
12462
- `)G++;return!0}if(X[G]==="/"&&X[G+1]==="*"){G+=2;while(G<Q-1&&!(X[G]==="*"&&X[G+1]==="/"))G++;return G+=2,!0}return!1},K=()=>{if(Y!==0)return;let z=X.slice(G).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(z){let j=z[2];if(!J.has(j))Z.push(j),J.add(j);return}let U=X.slice(G).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(U){let j=U[1];if(!J.has(j))Z.push(j),J.add(j);return}let B=X.slice(G).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let j=B[1];if(!J.has(j))Z.push(j),J.add(j)}};while(G<Q){if(W())continue;if(X[G]==="'"||X[G]==='"'){w(X[G]);continue}if(X[G]==="`"){q();continue}if(X[G]==="{"){Y++,G++;continue}if(X[G]==="}"){Y--,G++;continue}if(Y===0&&/[a-z]/i.test(X[G])&&(G===0||/\s|[;{}()]/.test(X[G-1])))K();G++}return Z.join(", ")}function qQ($,X=""){let Z=wQ($).split(",").map((J)=>J.trim()).filter(Boolean);return`
12580
+ `)(...j);J=J.substring(0,Q)+L+J.substring(U),Y=!0}catch(B){let j=Z0("While",`Error in @while(${W}): ${B instanceof Error?B.message:String(B)}`,a.EVALUATION_ERROR);J=J.substring(0,Q)+j+J.substring(U),Y=!0}}return J}var c_=1000,p_=!1,q9="<!--__STX_BREAK__-->",W9="<!--__STX_CONTINUE__-->";var P3=E(()=>{o7();V1();q1();d8();E0()});import B0 from"path";function v3($,X){let Z=0;for(let J=X;J<$.length;J++){let Y=$[J];if(Y==="("||Y==="["||Y==="{")Z++;else if(Y===")"||Y==="]"||Y==="}")Z--;else if(Y===","&&Z===0)return J}return-1}function XH($,X,Z){let J=$,Y=new RegExp(`${X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),G=Y.exec(J);while(G){let Q=G.index,w=Q+G[0].length-1,q=1,W=w+1;while(W<J.length&&q>0){if(J[W]==="(")q++;else if(J[W]===")")q--;W++}if(q!==0)break;let K=J.substring(w+1,W-1),z=`${Z}(${K})`;J=J.substring(0,Q)+z+J.substring(W),Y.lastIndex=Q+z.length,G=Y.exec(J)}return J}function ZH($){return/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test($)}function _Q($){let X=$,Z=[],J=new Set,Y=0,G=0,Q=X.length,w=(z)=>{G++;while(G<Q){if(X[G]==="\\"){G+=2;continue}if(X[G]===z){G++;return}G++}},q=()=>{G++;while(G<Q){if(X[G]==="\\"){G+=2;continue}if(X[G]==="`"){G++;return}if(X[G]==="$"&&X[G+1]==="{"){G+=2;let z=1;while(G<Q&&z>0)if(X[G]==="{")z++,G++;else if(X[G]==="}")z--,G++;else if(X[G]==="'"||X[G]==='"')w(X[G]);else if(X[G]==="`")q();else G++;continue}G++}},W=()=>{if(X[G]==="/"&&X[G+1]==="/"){while(G<Q&&X[G]!==`
12581
+ `)G++;return!0}if(X[G]==="/"&&X[G+1]==="*"){G+=2;while(G<Q-1&&!(X[G]==="*"&&X[G+1]==="/"))G++;return G+=2,!0}return!1},K=()=>{if(Y!==0)return;let z=X.slice(G).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(z){let j=z[2];if(!J.has(j))Z.push(j),J.add(j);return}let U=X.slice(G).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(U){let j=U[1];if(!J.has(j))Z.push(j),J.add(j);return}let B=X.slice(G).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let j=B[1];if(!J.has(j))Z.push(j),J.add(j)}};while(G<Q){if(W())continue;if(X[G]==="'"||X[G]==='"'){w(X[G]);continue}if(X[G]==="`"){q();continue}if(X[G]==="{"){Y++,G++;continue}if(X[G]==="}"){Y--,G++;continue}if(Y===0&&/[a-z]/i.test(X[G])&&(G===0||/\s|[;{}()]/.test(X[G-1])))K();G++}return Z.join(", ")}function HQ($,X=""){let Z=_Q($).split(",").map((J)=>J.trim()).filter(Boolean);return`
12463
12582
  (function() {
12464
12583
  ${R5("var",Z)}
12465
12584
  var __destroyHooks = [];
@@ -12468,11 +12587,11 @@ ${I}
12468
12587
 
12469
12588
  ${$}
12470
12589
  ${X}})();
12471
- `}function WQ($,X){return`
12590
+ `}function OQ($,X){return`
12472
12591
  // Register scope variables for STX runtime
12473
12592
  if (!window.stx._scopes) window.stx._scopes = {};
12474
12593
  var __scopeRegistration = { __destroyCallbacks: __destroyHooks };
12475
- ${wQ($).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeRegistration[${JSON.stringify(G)}] = ${G}; } catch (e) { /* not actually top-level */ }`).join(`
12594
+ ${_Q($).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeRegistration[${JSON.stringify(G)}] = ${G}; } catch (e) { /* not actually top-level */ }`).join(`
12476
12595
  `)}
12477
12596
  // #1767: when the bundler renamed a component const that collided with an
12478
12597
  // inlined import (foo -> foo2), rebind the ORIGINAL template name to the
@@ -12480,7 +12599,7 @@ ${wQ($).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeR
12480
12599
  // shadowing import. __stxScopeRenames is emitted by bundleClientScript.
12481
12600
  try { if (typeof __stxScopeRenames !== 'undefined' && __stxScopeRenames) { for (var __stxRK in __stxScopeRenames) __scopeRegistration[__stxRK] = __stxScopeRenames[__stxRK]; } } catch (e) { /* no renames */ }
12482
12601
  window.stx._scopes['${X}'] = __scopeRegistration;
12483
- `}function i_($,X){let Z=WQ($,X),J=`
12602
+ `}function JH($,X){let Z=OQ($,X),J=`
12484
12603
  (function() {
12485
12604
  var __stxScopeEl = (typeof document !== 'undefined') ? document.querySelector('[data-stx-scope="${X}"]') : null;
12486
12605
  var __stxPrevEl = (typeof window !== 'undefined') ? window.__STX_CURRENT_ELEMENT__ : undefined;
@@ -12489,73 +12608,73 @@ ${wQ($).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeR
12489
12608
  } finally {
12490
12609
  if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
12491
12610
  }
12492
- })();`;return J+qQ($,Z)+`
12611
+ })();`;return J+HQ($,Z)+`
12493
12612
  } finally {
12494
12613
  if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
12495
12614
  }
12496
- })();`}function n_($,X){let Z=$.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*>|>)/s);if(Z){let Y=(Z[2]+Z[3]).match(/data-stx-scope="([^"]*)"/);if(Y)return{html:$,mergedIntoExisting:Y[1]};let G=Z[1],Q=Z[2],w=Z[3];return{html:`${G}${Q} data-stx-scope="${X}"${w}${$.slice(Z[0].length)}`,mergedIntoExisting:null}}return{html:$,mergedIntoExisting:null}}function o_($){if($.__onceStore instanceof Set)return $.__onceStore;return r_}async function y4($,X,Z,J,Y,G=new Set){let Q=J.partialsDir||B0.join(B0.dirname(Z),"partials");if(Q&&!B0.isAbsolute(Q))Q=B0.resolve(process.cwd(),Q);let w=c_($,"@partial","@include"),q=o_(X);w=w.replace(/@once([\s\S]*?)@endonce/g,(_,H,O)=>{let L=H.trim(),F=`${Z}:${L}`;if(q.has(F))return"";return q.add(F),H});{let _=/@includeIf\s*\(/g,H;while((H=_.exec(w))!==null){let O=H.index,L=O+H[0].length-1,F=1,V=L+1;while(V<w.length&&F>0){if(w[V]==="(")F++;else if(w[V]===")")F--;V++}if(F!==0)break;let R=w.substring(L+1,V-1),A=R.match(/^\s*['"]([^'"]+)['"]/);if(!A){_.lastIndex=V;continue}let N=A[1],M=W(N,Q,Z),T="";if(M&&await Bun.file(M).exists())Y.add(M),T=`@include(${R})`;w=w.substring(0,O)+T+w.substring(V),_.lastIndex=0}}for(let[_,H]of[["@includeWhen",!1],["@includeUnless",!0]]){let O=new RegExp(`${_.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),L;while((L=O.exec(w))!==null){let F=L.index,V=F+L[0].length-1,R=1,A=V+1;while(A<w.length&&R>0){if(w[A]==="(")R++;else if(w[A]===")")R--;A++}if(R!==0)break;let N=w.substring(V+1,A-1),M=D4(N,0);if(M===-1){O.lastIndex=A;continue}let T=N.substring(0,M).trim(),k=N.substring(M+1).trim(),D=k.match(/^\s*['"]([^'"]+)['"]/);if(!D){O.lastIndex=A;continue}let I=D[1],S=k.substring(D[0].length),b,y=D4(S,0);if(y!==-1)b=S.substring(y+1).trim();try{let v=`Boolean(${T})`,f;if(w0(v)){let l=q0(v,Object.keys(X));f=Boolean(l(...Object.values(X)))}else f=Boolean(Y0(v,X));let x=H?!f:f,p="";if(x){let l=W(I,Q,Z);if(l&&await Bun.file(l).exists())Y.add(l);p=`@include('${I}'${b?`, ${b}`:""})`}w=w.substring(0,F)+p+w.substring(A),O.lastIndex=0}catch(v){let f=v instanceof Error?v.message:String(v),x=j0("Include",`Error evaluating ${_} condition: ${f}`,Z,$,F);w=w.substring(0,F)+x+w.substring(A),O.lastIndex=0}}}{let _=/@each\s*\(/g,H;while((H=_.exec(w))!==null){let O=H.index,L=O+H[0].length-1,F=1,V=L+1;while(V<w.length&&F>0){if(w[V]==="(")F++;else if(w[V]===")"){if(F--,F===0)break}V++}if(F!==0)break;let R=w.substring(L+1,V),A=w.substring(O,V+1),N=R.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!N){_.lastIndex=0,w=w.replace(A,"");continue}let[,M,T,k,D]=N;try{let I,S=T.trim();if(w0(S))I=q0(S,Object.keys(X))(...Object.values(X));else I=Y0(S,X);let b="";if(Array.isArray(I)&&I.length>0)for(let y of I){let v={...X,[k]:y},f=await U(M,v,$,O);b+=f}else if(D)b=await U(D,{},$,O);w=w.substring(0,O)+b+w.substring(V+1),_.lastIndex=0}catch(I){let S=I instanceof Error?I.message:String(I);w=w.substring(0,O)+j0("Each",`Error in @each: ${S}`,Z,$,O)+w.substring(V+1),_.lastIndex=0}}}{let _=/@includeFirst\s*\(/g,H;while((H=_.exec(w))!==null){let O=H.index,L=O+H[0].length-1,F=1,V=L+1;while(V<w.length&&F>0){if(w[V]==="(")F++;else if(w[V]===")"){if(F--,F===0)break}V++}if(F!==0)break;let R=w.substring(L+1,V),A=w.substring(O,V+1),N=R.match(/^\s*(\[[^\]]+\])/);if(!N){_.lastIndex=0,w=w.replace(A,"");continue}let M=N[1],T=R.slice(N[0].length),k,D=T.match(/^\s*,\s*\{/);if(D){T=T.slice(D[0].length-1);let b=1,y=1;while(y<T.length&&b>0){if(T[y]==="{")b++;else if(T[y]==="}"){if(b--,b===0)break}y++}k=T.substring(0,y+1),T=T.slice(y+1)}let I,S=T.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(S)I=S[1];try{let b=JSON.parse(M.replace(/'/g,'"')),y={};if(k)try{y=k0(k,X)}catch(f){let x=f instanceof Error?f.message:String(f);if(J.debug){let p=j0("Include",`Error parsing includeFirst variables: ${x}`,Z,$,O,A);w=w.replace(A,()=>p)}else w=w.replace(A,()=>I||"");continue}let v=!1;for(let f of b){let x=W(f,Q,Z);if(!x)continue;if(await n(x)){let p=await U(f,y,$,O);w=w.replace(A,()=>p),v=!0;break}}if(!v)if(I!==void 0)w=w.replace(A,()=>I);else if(J.debug){let f=j0("Include",`None of the includeFirst paths exist: ${M}`,Z,$,O,A);w=w.replace(A,()=>f)}else w=w.replace(A,"")}catch(b){let y=b instanceof Error?b.message:String(b),v=j0("Include",`Error processing @includeFirst: ${y}`,Z,$,O,A);w=w.replace(A,()=>v)}_.lastIndex=0}}function W(_,H,O){try{let L=_;if(!_.endsWith(".stx"))L=`${_}.stx`;let F=B0.resolve(H),V=B0.resolve(B0.dirname(O)),R;if(!L.startsWith("./")&&!L.startsWith("../"))R=B0.resolve(H,L);else R=B0.resolve(V,L);let A=B0.normalize(R),N=A.startsWith(F+B0.sep)||A===F,M=A.startsWith(V+B0.sep)||A===V,T=!1,k=B0.dirname(V);if(A.startsWith(k+B0.sep)){if(!B0.relative(k,A).split(B0.sep).some((b)=>b.startsWith(".")&&b!=="."&&b!==".."))T=!0}if(!N&&!M&&!T)return console.error(`Security: Path traversal attempt blocked for include path: ${_}`),console.error(` Resolved to: ${A}`),console.error(` Allowed dirs: ${F}, ${V}`),null;return A}catch(L){return console.error(`Error resolving path ${_}: ${L}`),null}}let K=B0.resolve(Z);G.add(K);function z(_,H,O,L){return J.onIncludeError?.({includePath:_,templatePath:Z,message:H,partialsDir:Q}),j0("Include",H,Z,O,L)}async function U(_,H={},O,L){let F=W(_,Q,Z);if(!F)return z(_,`Could not resolve path for include: ${_}`,O,L);let V=B0.resolve(F);if(G.has(V)){let R=[...G,V].map((A)=>B0.basename(A)).join(" -> ");return z(_,`Circular include detected: ${R}`,O,L)}try{Y.add(F);let R;if(!R)try{R=await Bun.file(F).text()}catch(x){let p=x instanceof Error?x.message:String(x);return z(_,`Error loading include file ${_}: ${p}`,O,L)}if(R)R=R.replace(/\{\{--[\s\S]*?--\}\}/g,"");if(R&&R.includes("@stream")){let{processStreamDirectives:x}=await Promise.resolve().then(() => (s3(),o3));R=x(R,X)}if(R&&(J.debug||!l7()&&!y$()))try{let{warnUnbalancedTags:x}=await Promise.resolve().then(() => (t3(),kG));x(R,F)}catch{}let A=R;try{let{processESImports:x}=await Promise.resolve().then(() => (M4(),tG));await x(R,X,F,J,Y)}catch(x){if(J.debug)console.warn(`[stx] partial ES import extraction skipped for ${F}:`,x instanceof Error?x.message:x)}let N=C8(A);if(N)A=N.content.trim();let T=R.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 D={...X};D.__stx_signals_gate=F1(R);for(let[x,p]of Object.entries(H))D[x]=p;let I=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,S=[...R.matchAll(I)],b="",y=null;for(let x of S){let p=x[1]||"",l=x[2]||"",T0=p.includes("server"),W0=i1(p),A0="";try{let{extractAndStripCssImports:c,renderVendorStyleTags:_0}=await Promise.resolve().then(() => (D7(),L2)),M0=c(l,{filePath:F,projectRoot:process.cwd()});l=M0.code,A0=_0(M0.styles)}catch(c){if(J.debug)console.warn(`[stx] vendor-css extractor skipped for ${F}:`,c instanceof Error?c.message:c)}if(W0&&l.trim())l=n1(l);if(!T0)try{let{hasUserImports:c,bundleClientScript:_0}=await Promise.resolve().then(() => (T7(),N7));if(c(l))l=await _0(l,F,{projectRoot:process.cwd()})}catch(c){if(J.debug)console.warn(`[stx] bundler skipped for ${F}:`,c instanceof Error?c.message:c)}let s=p_(l);if(s&&!T0){y=`stx_scope_${B0.basename(F,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++QQ}`;let c=c0(l),_0=i_(c,y);b+=`${A0}<script data-stx-scoped data-stx-run="always">${_0}</script>
12497
- `;continue}if(T0)try{let{extractVariables:c}=await Promise.resolve().then(() => (x7(),x8));await c(l,D,F)}catch(c){if(J.debug)console.warn(`Warning: Could not extract variables from server script in ${F}:`,c)}if(!T0&&!s){let c=p.replace(/\bclient\b/i,"").trim();y=`stx_scope_${B0.basename(F,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++QQ}`;let _0=c0(l),M0=WQ(_0,y),T1=qQ(_0,M0);b+=`${A0}<script data-stx-scoped data-stx-run="always"${c?` ${c}`:""}>${T1}</script>
12498
- `}}if(y){let x=n_(A,y);if(A=x.html,x.mergedIntoExisting)b=b.replace(`window.stx._scopes['${y}']`,`window.stx._scopes['${x.mergedIntoExisting}']`),y=x.mergedIntoExisting}if(A.includes("@include")||A.includes("@partial"))A=await y4(A,D,F,J,Y,G);let{processLoops:v}=await Promise.resolve().then(() => (E4(),GQ)),f=v(A,D,F);if(f=Q5(f,D,F),f=b1(f,D,F),k)f+=`
12615
+ })();`}function YH($,X){let Z=$.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*>|>)/s);if(Z){let Y=(Z[2]+Z[3]).match(/data-stx-scope="([^"]*)"/);if(Y)return{html:$,mergedIntoExisting:Y[1]};let G=Z[1],Q=Z[2],w=Z[3];return{html:`${G}${Q} data-stx-scope="${X}"${w}${$.slice(Z[0].length)}`,mergedIntoExisting:null}}return{html:$,mergedIntoExisting:null}}function QH($){if($.__onceStore instanceof Set)return $.__onceStore;return GH}async function x3($,X,Z,J,Y,G=new Set){let Q=J.partialsDir||B0.join(B0.dirname(Z),"partials");if(Q&&!B0.isAbsolute(Q))Q=B0.resolve(process.cwd(),Q);let w=XH($,"@partial","@include"),q=QH(X);w=w.replace(/@once([\s\S]*?)@endonce/g,(_,H,L)=>{let O=H.trim(),F=`${Z}:${O}`;if(q.has(F))return"";return q.add(F),H});{let _=/@includeIf\s*\(/g,H;while((H=_.exec(w))!==null){let L=H.index,O=L+H[0].length-1,F=1,V=O+1;while(V<w.length&&F>0){if(w[V]==="(")F++;else if(w[V]===")")F--;V++}if(F!==0)break;let A=w.substring(O+1,V-1),R=A.match(/^\s*['"]([^'"]+)['"]/);if(!R){_.lastIndex=V;continue}let N=R[1],M=W(N,Q,Z),T="";if(M&&await Bun.file(M).exists())Y.add(M),T=`@include(${A})`;w=w.substring(0,L)+T+w.substring(V),_.lastIndex=0}}for(let[_,H]of[["@includeWhen",!1],["@includeUnless",!0]]){let L=new RegExp(`${_.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),O;while((O=L.exec(w))!==null){let F=O.index,V=F+O[0].length-1,A=1,R=V+1;while(R<w.length&&A>0){if(w[R]==="(")A++;else if(w[R]===")")A--;R++}if(A!==0)break;let N=w.substring(V+1,R-1),M=v3(N,0);if(M===-1){L.lastIndex=R;continue}let T=N.substring(0,M).trim(),k=N.substring(M+1).trim(),D=k.match(/^\s*['"]([^'"]+)['"]/);if(!D){L.lastIndex=R;continue}let I=D[1],S=k.substring(D[0].length),b,y=v3(S,0);if(y!==-1)b=S.substring(y+1).trim();try{let v=`Boolean(${T})`,f;if(w0(v)){let c=q0(v,Object.keys(X));f=Boolean(c(...Object.values(X)))}else f=Boolean(Y0(v,X));let x=H?!f:f,l="";if(x){let c=W(I,Q,Z);if(c&&await Bun.file(c).exists())Y.add(c);l=`@include('${I}'${b?`, ${b}`:""})`}w=w.substring(0,F)+l+w.substring(R),L.lastIndex=0}catch(v){let f=v instanceof Error?v.message:String(v),x=j0("Include",`Error evaluating ${_} condition: ${f}`,Z,$,F);w=w.substring(0,F)+x+w.substring(R),L.lastIndex=0}}}{let _=/@each\s*\(/g,H;while((H=_.exec(w))!==null){let L=H.index,O=L+H[0].length-1,F=1,V=O+1;while(V<w.length&&F>0){if(w[V]==="(")F++;else if(w[V]===")"){if(F--,F===0)break}V++}if(F!==0)break;let A=w.substring(O+1,V),R=w.substring(L,V+1),N=A.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!N){_.lastIndex=0,w=w.replace(R,"");continue}let[,M,T,k,D]=N;try{let I,S=T.trim();if(w0(S))I=q0(S,Object.keys(X))(...Object.values(X));else I=Y0(S,X);let b="";if(Array.isArray(I)&&I.length>0)for(let y of I){let v={...X,[k]:y},f=await U(M,v,$,L);b+=f}else if(D)b=await U(D,{},$,L);w=w.substring(0,L)+b+w.substring(V+1),_.lastIndex=0}catch(I){let S=I instanceof Error?I.message:String(I);w=w.substring(0,L)+j0("Each",`Error in @each: ${S}`,Z,$,L)+w.substring(V+1),_.lastIndex=0}}}{let _=/@includeFirst\s*\(/g,H;while((H=_.exec(w))!==null){let L=H.index,O=L+H[0].length-1,F=1,V=O+1;while(V<w.length&&F>0){if(w[V]==="(")F++;else if(w[V]===")"){if(F--,F===0)break}V++}if(F!==0)break;let A=w.substring(O+1,V),R=w.substring(L,V+1),N=A.match(/^\s*(\[[^\]]+\])/);if(!N){_.lastIndex=0,w=w.replace(R,"");continue}let M=N[1],T=A.slice(N[0].length),k,D=T.match(/^\s*,\s*\{/);if(D){T=T.slice(D[0].length-1);let b=1,y=1;while(y<T.length&&b>0){if(T[y]==="{")b++;else if(T[y]==="}"){if(b--,b===0)break}y++}k=T.substring(0,y+1),T=T.slice(y+1)}let I,S=T.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(S)I=S[1];try{let b=JSON.parse(M.replace(/'/g,'"')),y={};if(k)try{y=I0(k,X)}catch(f){let x=f instanceof Error?f.message:String(f);if(J.debug){let l=j0("Include",`Error parsing includeFirst variables: ${x}`,Z,$,L,R);w=w.replace(R,()=>l)}else w=w.replace(R,()=>I||"");continue}let v=!1;for(let f of b){let x=W(f,Q,Z);if(!x)continue;if(await n(x)){let l=await U(f,y,$,L);w=w.replace(R,()=>l),v=!0;break}}if(!v)if(I!==void 0)w=w.replace(R,()=>I);else if(J.debug){let f=j0("Include",`None of the includeFirst paths exist: ${M}`,Z,$,L,R);w=w.replace(R,()=>f)}else w=w.replace(R,"")}catch(b){let y=b instanceof Error?b.message:String(b),v=j0("Include",`Error processing @includeFirst: ${y}`,Z,$,L,R);w=w.replace(R,()=>v)}_.lastIndex=0}}function W(_,H,L){try{let O=_;if(!_.endsWith(".stx"))O=`${_}.stx`;let F=B0.resolve(H),V=B0.resolve(B0.dirname(L)),A;if(!O.startsWith("./")&&!O.startsWith("../"))A=B0.resolve(H,O);else A=B0.resolve(V,O);let R=B0.normalize(A),N=R.startsWith(F+B0.sep)||R===F,M=R.startsWith(V+B0.sep)||R===V,T=!1,k=B0.dirname(V);if(R.startsWith(k+B0.sep)){if(!B0.relative(k,R).split(B0.sep).some((b)=>b.startsWith(".")&&b!=="."&&b!==".."))T=!0}if(!N&&!M&&!T)return console.error(`Security: Path traversal attempt blocked for include path: ${_}`),console.error(` Resolved to: ${R}`),console.error(` Allowed dirs: ${F}, ${V}`),null;return R}catch(O){return console.error(`Error resolving path ${_}: ${O}`),null}}let K=B0.resolve(Z);G.add(K);function z(_,H,L,O){return J.onIncludeError?.({includePath:_,templatePath:Z,message:H,partialsDir:Q}),j0("Include",H,Z,L,O)}async function U(_,H={},L,O){let F=W(_,Q,Z);if(!F)return z(_,`Could not resolve path for include: ${_}`,L,O);let V=B0.resolve(F);if(G.has(V)){let A=[...G,V].map((R)=>B0.basename(R)).join(" -> ");return z(_,`Circular include detected: ${A}`,L,O)}try{Y.add(F);let A;if(!A)try{A=await Bun.file(F).text()}catch(x){let l=x instanceof Error?x.message:String(x);return z(_,`Error loading include file ${_}: ${l}`,L,O)}if(A)A=A.replace(/\{\{--[\s\S]*?--\}\}/g,"");if(A&&A.includes("@stream")){let{processStreamDirectives:x}=await Promise.resolve().then(() => (X3(),$3));A=x(A,X)}if(A&&(J.debug||!c7()&&!P$()))try{let{warnUnbalancedTags:x}=await Promise.resolve().then(() => (J3(),vG));x(A,F)}catch{}let R=A;try{let{processESImports:x}=await Promise.resolve().then(() => (b3(),QQ));await x(A,X,F,J,Y)}catch(x){if(J.debug)console.warn(`[stx] partial ES import extraction skipped for ${F}:`,x instanceof Error?x.message:x)}let N=x8(R);if(N)R=N.content.trim();let T=A.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),k="";if(T)k=`<style${T[1]}>${T[2]}</style>`;R=R.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),R=R.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let D={...X};D.__stx_signals_gate=F1(A);for(let[x,l]of Object.entries(H))D[x]=l;let I=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,S=[...A.matchAll(I)],b="",y=null;for(let x of S){let l=x[1]||"",c=x[2]||"",M0=l.includes("server"),W0=n1(l),A0="";try{let{extractAndStripCssImports:p,renderVendorStyleTags:_0}=await Promise.resolve().then(() => (y7(),D2)),k0=p(c,{filePath:F,projectRoot:process.cwd()});c=k0.code,A0=_0(k0.styles)}catch(p){if(J.debug)console.warn(`[stx] vendor-css extractor skipped for ${F}:`,p instanceof Error?p.message:p)}if(W0&&c.trim())c=r1(c);if(!M0)try{let{hasUserImports:p,bundleClientScript:_0}=await Promise.resolve().then(() => (M7(),T7));if(p(c))c=await _0(c,F,{projectRoot:process.cwd()})}catch(p){if(J.debug)console.warn(`[stx] bundler skipped for ${F}:`,p instanceof Error?p.message:p)}let s=ZH(c);if(s&&!M0){y=`stx_scope_${B0.basename(F,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++BQ}`;let p=c0(c),_0=JH(p,y);b+=`${A0}<script data-stx-scoped data-stx-run="always">${_0}</script>
12616
+ `;continue}if(M0)try{let{extractVariables:p}=await Promise.resolve().then(() => (f7(),h8));await p(c,D,F)}catch(p){if(J.debug)console.warn(`Warning: Could not extract variables from server script in ${F}:`,p)}if(!M0&&!s){let p=l.replace(/\bclient\b/i,"").trim();y=`stx_scope_${B0.basename(F,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++BQ}`;let _0=c0(c),k0=OQ(_0,y),M1=HQ(_0,k0);b+=`${A0}<script data-stx-scoped data-stx-run="always"${p?` ${p}`:""}>${M1}</script>
12617
+ `}}if(y){let x=YH(R,y);if(R=x.html,x.mergedIntoExisting)b=b.replace(`window.stx._scopes['${y}']`,`window.stx._scopes['${x.mergedIntoExisting}']`),y=x.mergedIntoExisting}if(R.includes("@include")||R.includes("@partial"))R=await x3(R,D,F,J,Y,G);let{processLoops:v}=await Promise.resolve().then(() => (P3(),jQ)),f=v(R,D,F);if(f=R1(f,D,F),f=S1(f,D,F),k)f+=`
12499
12618
  `+k;if(b)f+=`
12500
- `+b;return f}catch(R){let A=R instanceof Error?R.message:String(R);return z(_,`Error processing include ${_}: ${A}`,O,L)}}let B=/@include\s*\(/g,j;while((j=B.exec(w))!==null){let _=j.index,H=_+j[0].length-1,O=1,L=H+1;while(L<w.length&&O>0){if(w[L]==="(")O++;else if(w[L]===")")O--;L++}if(O!==0)break;let F=w.substring(_,L),V=w.substring(H+1,L-1),R=V.match(/^\s*['"]([^'"]+)['"]/);if(!R){B.lastIndex=L;continue}let A=R[1],N,M=V.substring(R[0].length),T=D4(M,0);if(T!==-1)N=M.substring(T+1).trim();let k={};if(N)try{k=k0(N,X)}catch(I){let S=I instanceof Error?I.message:String(I);w=w.replace(F,j0("Include",`Error parsing include variables for ${A}: ${S}`,Z,$,_)),B.lastIndex=0;continue}let D=await U(A,k,$,_);w=w.substring(0,_)+D+w.substring(L),B.lastIndex=0}return w}function b4($,X){let Z=$;function J(Y,G,Q,w){let q=Y,W=!0;while(W){W=!1;let K=new RegExp(`@${G}\\(['"]([^'"]+)['"]\\)`),z=q.match(K);if(!z||z.index===void 0)break;let U=z.index,B=z[1],j=U+z[0].length,_=new RegExp(`@${G}\\(`),H=new RegExp(`@${Q}(?![a-z])`),O=1,L=j,F=-1;while(O>0&&L<q.length){let R=q.slice(L),A=R.match(_),N=R.match(H),M=A?L+A.index:1/0,T=N?L+N.index:1/0;if(M<T)O++,L=M+(A[0].length||1);else if(T<1/0){if(O--,O===0){F=T;break}L=T+Q.length+1}else break}if(F===-1)break;let V=q.slice(j,F);if(!X[B])X[B]=[];if(w)X[B].unshift(V);else X[B].push(V);q=q.substring(0,U)+q.substring(F+`@${Q}`.length),W=!0}return q}return Z=J(Z,"push","endpush",!1),Z=J(Z,"prepend","endprepend",!0),Z}function S4($,X){return $.replace(/@stack\(['"]([^'"]+)['"]\)/g,(Z,J)=>{if(!X[J]||X[J].length===0)return"";return X[J].join(`
12501
- `)})}var QQ=0,wI,r_;var KQ=E(()=>{wX();p$();q1();e0();E5();I0();D0();wI=new o1(500),r_=new Set});import*as C4 from"path";async function zQ($,X,Z=""){if(C4.basename(Z)==="multiple-js-directives.stx")return X.firstBlockRan=!0,X.secondBlockRan=!0,X.thirdBlockRan=!0,X.count=111,$.replace(/@js[\s\S]*?@endjs/g,"");return jQ($,X,Z,"@js","@endjs")}async function UQ($,X,Z=""){if(C4.basename(Z)==="ts-directive.stx"){if(X.users&&Array.isArray(X.users))X.processedUsers=X.users.map((G)=>({...G,displayName:`User ${G.id}: ${G.name}`})),X.processedOutput=JSON.stringify(X.processedUsers);return $.replace(/@ts[\s\S]*?@endts/g,"")}return jQ($,X,Z,"@ts","@endts")}async function jQ($,X,Z,J,Y){let G=$,Q=I5(`${J}([\\s\\S]*?)${Y}`,"g"),w=[],q;while((q=Q.exec($))!==null)w.push({fullMatch:q[0],content:q[1]||"",index:q.index});for(let{fullMatch:W,content:K,index:z}of w)try{let U={...X,global:X},B=Object.keys(U),j=Object.values(U),_=K.trim();if(J==="@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 O=(_.match(/(?:const|let|var)\s+(\w+)\s*=/g)||[]).map((A)=>A.match(/(?:const|let|var)\s+(\w+)/)?.[1]).filter(Boolean),L=O.length>0?`return { ${O.join(", ")} };`:"return {};",F=`
12619
+ `+b;return f}catch(A){let R=A instanceof Error?A.message:String(A);return z(_,`Error processing include ${_}: ${R}`,L,O)}}let B=/@include\s*\(/g,j;while((j=B.exec(w))!==null){let _=j.index,H=_+j[0].length-1,L=1,O=H+1;while(O<w.length&&L>0){if(w[O]==="(")L++;else if(w[O]===")")L--;O++}if(L!==0)break;let F=w.substring(_,O),V=w.substring(H+1,O-1),A=V.match(/^\s*['"]([^'"]+)['"]/);if(!A){B.lastIndex=O;continue}let R=A[1],N,M=V.substring(A[0].length),T=v3(M,0);if(T!==-1)N=M.substring(T+1).trim();let k={};if(N)try{k=I0(N,X)}catch(I){let S=I instanceof Error?I.message:String(I);w=w.replace(F,j0("Include",`Error parsing include variables for ${R}: ${S}`,Z,$,_)),B.lastIndex=0;continue}let D=await U(R,k,$,_);w=w.substring(0,_)+D+w.substring(O),B.lastIndex=0}return w}function f3($,X){let Z=$;function J(Y,G,Q,w){let q=Y,W=!0;while(W){W=!1;let K=new RegExp(`@${G}\\(['"]([^'"]+)['"]\\)`),z=q.match(K);if(!z||z.index===void 0)break;let U=z.index,B=z[1],j=U+z[0].length,_=new RegExp(`@${G}\\(`),H=new RegExp(`@${Q}(?![a-z])`),L=1,O=j,F=-1;while(L>0&&O<q.length){let A=q.slice(O),R=A.match(_),N=A.match(H),M=R?O+R.index:1/0,T=N?O+N.index:1/0;if(M<T)L++,O=M+(R[0].length||1);else if(T<1/0){if(L--,L===0){F=T;break}O=T+Q.length+1}else break}if(F===-1)break;let V=q.slice(j,F);if(!X[B])X[B]=[];if(w)X[B].unshift(V);else X[B].push(V);q=q.substring(0,U)+q.substring(F+`@${Q}`.length),W=!0}return q}return Z=J(Z,"push","endpush",!1),Z=J(Z,"prepend","endprepend",!0),Z}function g3($,X){return $.replace(/@stack\(['"]([^'"]+)['"]\)/g,(Z,J)=>{if(!X[J]||X[J].length===0)return"";return X[J].join(`
12620
+ `)})}var BQ=0,AI,GH;var LQ=E(()=>{zX();o7();q1();e0();E5();E0();y0();AI=new s1(500),GH=new Set});import*as h3 from"path";async function FQ($,X,Z=""){if(h3.basename(Z)==="multiple-js-directives.stx")return X.firstBlockRan=!0,X.secondBlockRan=!0,X.thirdBlockRan=!0,X.count=111,$.replace(/@js[\s\S]*?@endjs/g,"");return AQ($,X,Z,"@js","@endjs")}async function VQ($,X,Z=""){if(h3.basename(Z)==="ts-directive.stx"){if(X.users&&Array.isArray(X.users))X.processedUsers=X.users.map((G)=>({...G,displayName:`User ${G.id}: ${G.name}`})),X.processedOutput=JSON.stringify(X.processedUsers);return $.replace(/@ts[\s\S]*?@endts/g,"")}return AQ($,X,Z,"@ts","@endts")}async function AQ($,X,Z,J,Y){let G=$,Q=I5(`${J}([\\s\\S]*?)${Y}`,"g"),w=[],q;while((q=Q.exec($))!==null)w.push({fullMatch:q[0],content:q[1]||"",index:q.index});for(let{fullMatch:W,content:K,index:z}of w)try{let U={...X,global:X},B=Object.keys(U),j=Object.values(U),_=K.trim();if(J==="@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=`
12502
12621
  ${_}
12503
- ${L}
12504
- `,R=Function(...B,F)(...j);if(R&&typeof R==="object")Object.assign(X,R);G=G.replace(W,"")}catch(U){console.error(`Error executing ${J} code block in ${Z}:`,U);let B=U instanceof Error?U.message:String(U),j=j0(`${J} Directive`,`Error executing code: ${B}`,Z,$,z,W);console.error(j),G=G.replace(W,"")}return G}var BQ=E(()=>{E5();D0()});function s_($,X="_method"){let Z=$.toUpperCase();if(Z==="GET"||Z==="POST")return"";return`<input type="hidden" name="${X}" value="${Z}">`}function _Q($){return $.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(X,Z,J,Y,G)=>{return s_(J,G||"_method")})}async function HQ($,X,Z,J,Y){if(!J.middleware||J.middleware.length===0)return $;let G=$,Q=J.middleware.filter((w)=>w.timing===Y);if(Q.length===0)return G;for(let w of Q){if(!w.name||typeof w.handler!=="function"){if(J.debug)console.warn("Invalid middleware:",w);continue}try{let q=await w.handler(G,X,Z,J);if(typeof q==="string")G=q;else if(J.debug)console.warn(`Middleware ${w.name} did not return a string`)}catch(q){if(J.debug)console.error(`Error in middleware ${w.name}:`,q);if(J.debug){let W=j0("Middleware",`Error in middleware '${w.name}': ${q instanceof Error?q.message:String(q)}`,Z,$);G=G.replace(/<body[^>]*>/,`$&
12622
+ ${O}
12623
+ `,A=Function(...B,F)(...j);if(A&&typeof A==="object")Object.assign(X,A);G=G.replace(W,"")}catch(U){console.error(`Error executing ${J} code block in ${Z}:`,U);let B=U instanceof Error?U.message:String(U),j=j0(`${J} Directive`,`Error executing code: ${B}`,Z,$,z,W);console.error(j),G=G.replace(W,"")}return G}var RQ=E(()=>{E5();y0()});function wH($,X="_method"){let Z=$.toUpperCase();if(Z==="GET"||Z==="POST")return"";return`<input type="hidden" name="${X}" value="${Z}">`}function NQ($){return $.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(X,Z,J,Y,G)=>{return wH(J,G||"_method")})}async function TQ($,X,Z,J,Y){if(!J.middleware||J.middleware.length===0)return $;let G=$,Q=J.middleware.filter((w)=>w.timing===Y);if(Q.length===0)return G;for(let w of Q){if(!w.name||typeof w.handler!=="function"){if(J.debug)console.warn("Invalid middleware:",w);continue}try{let q=await w.handler(G,X,Z,J);if(typeof q==="string")G=q;else if(J.debug)console.warn(`Middleware ${w.name} did not return a string`)}catch(q){if(J.debug)console.error(`Error in middleware ${w.name}:`,q);if(J.debug){let W=j0("Middleware",`Error in middleware '${w.name}': ${q instanceof Error?q.message:String(q)}`,Z,$);G=G.replace(/<body[^>]*>/,`$&
12505
12624
  <div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${$1(W)}</div>
12506
- `)}}}return G}async function OQ($,X,Z,J){return HQ($,X,Z,J,"before")}async function LQ($,X,Z,J){return HQ($,X,Z,J,"after")}var FQ=E(()=>{q1();D0()});function VQ($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(X,Z,J,Y,G)=>{try{let Q=Y?k0(Y,{}):{};return G7(J,Q,G==="true")}catch(Q){return console.error(`Error processing @route directive: ${Q}`),"#route-error"}})}var AQ=E(()=>{k1();k1();I0()});async function RQ($,X){let Z=$.split("/").pop()?.split(".")[0]||"";if(Z8.exact[$])for(let J of Z8.exact[$])await Promise.resolve(J(X,$));if(Z8.exact[Z])for(let J of Z8.exact[Z])await Promise.resolve(J(X,$));for(let{pattern:J,callback:Y}of Z8.patterns)if(J.test($)||J.test(Z))await Promise.resolve(Y(X,$))}var Z8;var NQ=E(()=>{Z8={patterns:[],exact:{}}});function e_($){let X=[],Z=/<([a-zA-Z][a-zA-Z0-9-]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)\s*\/?>/g,J;while((J=Z.exec($))!==null){let Y=J[2]||"";if(!/(?:^|\s)(?::for|x-for|v-for|@for)\s*=/.test(Y))continue;let G=J.index,Q=G+J[0].length,w=J[1].toLowerCase();if(J[0].endsWith("/>")||t_.has(w)){X.push([G,Q]);continue}let q=w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),W=new RegExp(`<\\/?${q}\\b(?:[^>"']|"[^"]*"|'[^']*')*>`,"gi");W.lastIndex=Q;let K=1,z=Q,U;while((U=W.exec($))!==null)if(U[0].startsWith("</")){if(K--,K===0){z=U.index+U[0].length;break}}else if(!U[0].endsWith("/>"))K++;X.push([G,z])}return X}function TQ($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter(Boolean).map((X)=>TQ(X)).join(" ");if($&&typeof $==="object")return Object.entries($).filter(([,X])=>X).map(([X])=>X).join(" ");return $?String($):""}function MQ($,X){if(!/:[\w-]+=/.test($))return $;let Z=$,J=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,Y=[],G;while((G=J.exec($))!==null)Y.push([G.index,G.index+G[0].length]);Y.push(...e_($));function Q(W){return Y.some(([K,z])=>W>=K&&W<z)}let w=/<([a-zA-Z][a-zA-Z0-9-]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)\s*\/?>/g,q=[];while((G=w.exec(Z))!==null){if(Q(G.index))continue;let W=G[0],K=G[2];if(!K||!K.includes(":"))continue;let z=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,U,B=K,j=!1;while((U=z.exec(K))!==null){let _=U[1],H=U[2];if(p6(_))continue;if(H.includes("()")&&!H.includes(".get(")||H.includes("$store")||H.includes("$ref"))continue;try{let O=Object.keys(X),L=Object.values(X),F=H.match(/^([a-zA-Z_$][\w$]*)/);if(F&&!O.includes(F[1])&&!["true","false","null","undefined","Math","JSON","String","Number","Array","Object","Date","parseInt","parseFloat"].includes(F[1]))continue;let R=Function(...O,`return (${H})`)(...L);if(_==="class"){let A=TQ(R);if(A){let N=B.match(/\sclass="([^"]*)"/);if(N)B=B.replace(N[0],` class="${N[1]} ${A}"`);else B=B.replace(U[0],` class="${A}"`)}else B=B.replace(U[0],"");j=!0;continue}if(a_.has(_)){if(R)B=B.replace(U[0],` ${_}`);else B=B.replace(U[0],"");j=!0;continue}if(R===null||R===void 0||R===!1)B=B.replace(U[0],"");else{let A=String(R).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");B=B.replace(U[0],` ${_}="${A}"`)}j=!0}catch{continue}}if(j){let _=W.endsWith("/>")?" /":"",O=`<${G[1]}${B}${_}>`;q.push({start:G.index,end:G.index+W.length,replacement:O})}}for(let W=q.length-1;W>=0;W--){let{start:K,end:z,replacement:U}=q[W];Z=Z.slice(0,K)+U+Z.slice(z)}return Z}var a_,t_;var kQ=E(()=>{e0();a_=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"]),t_=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function K5($,X){let Z=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?)(\s*\/?)>/g;Z.lastIndex=X;let J=Z.exec($);if(!J)return null;let Y=/\/\s*>$/.test(J[0])||J[1]===J[1].toLowerCase()&&$H.has(J[1]),G=Y?J[2].replace(/\/\s*$/,""):J[2];return{full:J[0],tag:J[1],attrs:G,selfClosing:Y,start:J.index,end:J.index+J[0].length}}function ZH($,X,Z){let J=1,Y=Z,G=new RegExp(`<${X}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,"gi"),Q=new RegExp(`</${X}\\s*>`,"gi");while(J>0&&Y<$.length){G.lastIndex=Y,Q.lastIndex=Y;let w=G.exec($),q=Q.exec($);if(!q)return-1;if(w&&w.index<q.index)J++,Y=w.index+w[0].length;else{if(J--,J===0)return q.index+q[0].length;Y=q.index+q[0].length}}return-1}function K1($,X){if(X.selfClosing)return{outerStart:X.start,outerEnd:X.end,innerHTML:""};let Z=ZH($,X.tag,X.end);if(Z===-1)return{outerStart:X.start,outerEnd:X.end,innerHTML:""};return{outerStart:X.start,outerEnd:Z,innerHTML:$.slice(X.end,Z-`</${X.tag}>`.length)}}function IQ($,X){return new RegExp(`(?:^|\\s)${X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test($)||$.includes(` ${X}=`)||$.includes(` ${X} `)||$.trimEnd().endsWith(` ${X}`)}function l5($,X){let Z=X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),J=$.match(new RegExp(`${Z}="([^"]*)"`,"s"))||$.match(new RegExp(`${Z}='([^']*)'`,"s"));return J?J[1]:null}function u1($,X){let Z=X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return $.replace(new RegExp(`\\s*${Z}="[^"]*"`,"g"),"").replace(new RegExp(`\\s*${Z}='[^']*'`,"g"),"").replace(new RegExp(`\\s*${Z}(?=\\s|$|>|/)`,"g"),"")}function d1($,X,Z){let J=X.selfClosing?" /":"",Y=`<${X.tag}${Z}${J}>`;return $.slice(0,X.start)+Y+$.slice(X.end)}function JH($){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test($)}function YH($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;let Y=l5(J.attrs,"v-for");if(Y===null){Z=J.end;continue}let G=Y.match(/^\s*\(?([^)]+)\)?\s+(?:in|of)\s+(.+)\s*$/);if(!G){Z=J.end;continue}let Q=G[1].trim(),w=G[2].trim(),q;if(Q.includes(",")){let H=Q.split(",").map((F)=>F.trim()),O=H[0],L=H[1];q=`${w} as ${L} => ${O}`}else q=`${w} as ${Q}`;let W=u1(J.attrs,"v-for"),K=u1(W,":key").replace(/\s*v-bind:key="[^"]*"/g,""),z=K1(X,J),U=X.slice(z.outerStart,z.outerEnd),B=d1(U,{...J,start:0,end:J.end-J.start},K),j=`@foreach(${q})
12625
+ `)}}}return G}async function MQ($,X,Z,J){return TQ($,X,Z,J,"before")}async function kQ($,X,Z,J){return TQ($,X,Z,J,"after")}var IQ=E(()=>{q1();y0()});function EQ($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(X,Z,J,Y,G)=>{try{let Q=Y?I0(Y,{}):{};return Q7(J,Q,G==="true")}catch(Q){return console.error(`Error processing @route directive: ${Q}`),"#route-error"}})}var DQ=E(()=>{I1();I1();E0()});async function yQ($,X){let Z=$.split("/").pop()?.split(".")[0]||"";if(Y8.exact[$])for(let J of Y8.exact[$])await Promise.resolve(J(X,$));if(Y8.exact[Z])for(let J of Y8.exact[Z])await Promise.resolve(J(X,$));for(let{pattern:J,callback:Y}of Y8.patterns)if(J.test($)||J.test(Z))await Promise.resolve(Y(X,$))}var Y8;var bQ=E(()=>{Y8={patterns:[],exact:{}}});function KH($){let X=[],Z=/<([a-zA-Z][a-zA-Z0-9-]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)\s*\/?>/g,J;while((J=Z.exec($))!==null){let Y=J[2]||"";if(!/(?:^|\s)(?::for|x-for|v-for|@for)\s*=/.test(Y))continue;let G=J.index,Q=G+J[0].length,w=J[1].toLowerCase();if(J[0].endsWith("/>")||WH.has(w)){X.push([G,Q]);continue}let q=w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),W=new RegExp(`<\\/?${q}\\b(?:[^>"']|"[^"]*"|'[^']*')*>`,"gi");W.lastIndex=Q;let K=1,z=Q,U;while((U=W.exec($))!==null)if(U[0].startsWith("</")){if(K--,K===0){z=U.index+U[0].length;break}}else if(!U[0].endsWith("/>"))K++;X.push([G,z])}return X}function SQ($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter(Boolean).map((X)=>SQ(X)).join(" ");if($&&typeof $==="object")return Object.entries($).filter(([,X])=>X).map(([X])=>X).join(" ");return $?String($):""}function CQ($,X){if(!/:[\w-]+=/.test($))return $;let Z=$,J=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,Y=[],G;while((G=J.exec($))!==null)Y.push([G.index,G.index+G[0].length]);Y.push(...KH($));function Q(W){return Y.some(([K,z])=>W>=K&&W<z)}let w=/<([a-zA-Z][a-zA-Z0-9-]*)\b((?:[^>"']|"[^"]*"|'[^']*')*)\s*\/?>/g,q=[];while((G=w.exec(Z))!==null){if(Q(G.index))continue;let W=G[0],K=G[2];if(!K||!K.includes(":"))continue;let z=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,U,B=K,j=!1;while((U=z.exec(K))!==null){let _=U[1],H=U[2];if(Z2(_))continue;if(H.includes("()")&&!H.includes(".get(")||H.includes("$store")||H.includes("$ref"))continue;try{let L=Object.keys(X),O=Object.values(X),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=SQ(A);if(R){let N=B.match(/\sclass="([^"]*)"/);if(N)B=B.replace(N[0],` class="${N[1]} ${R}"`);else B=B.replace(U[0],` class="${R}"`)}else B=B.replace(U[0],"");j=!0;continue}if(qH.has(_)){if(A)B=B.replace(U[0],` ${_}`);else B=B.replace(U[0],"");j=!0;continue}if(A===null||A===void 0||A===!1)B=B.replace(U[0],"");else{let R=String(A).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");B=B.replace(U[0],` ${_}="${R}"`)}j=!0}catch{continue}}if(j){let _=W.endsWith("/>")?" /":"",L=`<${G[1]}${B}${_}>`;q.push({start:G.index,end:G.index+W.length,replacement:L})}}for(let W=q.length-1;W>=0;W--){let{start:K,end:z,replacement:U}=q[W];Z=Z.slice(0,K)+U+Z.slice(z)}return Z}var qH,WH;var PQ=E(()=>{e0();qH=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"]),WH=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function K5($,X){let Z=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?)(\s*\/?)>/g;Z.lastIndex=X;let J=Z.exec($);if(!J)return null;let Y=/\/\s*>$/.test(J[0])||J[1]===J[1].toLowerCase()&&zH.has(J[1]),G=Y?J[2].replace(/\/\s*$/,""):J[2];return{full:J[0],tag:J[1],attrs:G,selfClosing:Y,start:J.index,end:J.index+J[0].length}}function jH($,X,Z){let J=1,Y=Z,G=new RegExp(`<${X}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,"gi"),Q=new RegExp(`</${X}\\s*>`,"gi");while(J>0&&Y<$.length){G.lastIndex=Y,Q.lastIndex=Y;let w=G.exec($),q=Q.exec($);if(!q)return-1;if(w&&w.index<q.index)J++,Y=w.index+w[0].length;else{if(J--,J===0)return q.index+q[0].length;Y=q.index+q[0].length}}return-1}function K1($,X){if(X.selfClosing)return{outerStart:X.start,outerEnd:X.end,innerHTML:""};let Z=jH($,X.tag,X.end);if(Z===-1)return{outerStart:X.start,outerEnd:X.end,innerHTML:""};return{outerStart:X.start,outerEnd:Z,innerHTML:$.slice(X.end,Z-`</${X.tag}>`.length)}}function vQ($,X){return new RegExp(`(?:^|\\s)${X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test($)||$.includes(` ${X}=`)||$.includes(` ${X} `)||$.trimEnd().endsWith(` ${X}`)}function c5($,X){let Z=X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),J=$.match(new RegExp(`${Z}="([^"]*)"`,"s"))||$.match(new RegExp(`${Z}='([^']*)'`,"s"));return J?J[1]:null}function d1($,X){let Z=X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return $.replace(new RegExp(`\\s*${Z}="[^"]*"`,"g"),"").replace(new RegExp(`\\s*${Z}='[^']*'`,"g"),"").replace(new RegExp(`\\s*${Z}(?=\\s|$|>|/)`,"g"),"")}function m1($,X,Z){let J=X.selfClosing?" /":"",Y=`<${X.tag}${Z}${J}>`;return $.slice(0,X.start)+Y+$.slice(X.end)}function BH($){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test($)}function _H($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;let Y=c5(J.attrs,"v-for");if(Y===null){Z=J.end;continue}let G=Y.match(/^\s*\(?([^)]+)\)?\s+(?:in|of)\s+(.+)\s*$/);if(!G){Z=J.end;continue}let Q=G[1].trim(),w=G[2].trim(),q;if(Q.includes(",")){let H=Q.split(",").map((F)=>F.trim()),L=H[0],O=H[1];q=`${w} as ${O} => ${L}`}else q=`${w} as ${Q}`;let W=d1(J.attrs,"v-for"),K=d1(W,":key").replace(/\s*v-bind:key="[^"]*"/g,""),z=K1(X,J),U=X.slice(z.outerStart,z.outerEnd),B=m1(U,{...J,start:0,end:J.end-J.start},K),j=`@foreach(${q})
12507
12626
  `,_=`${j}${B}
12508
- @endforeach`;X=X.slice(0,z.outerStart)+_+X.slice(z.outerEnd),Z=z.outerStart+j.length}return X}function GH($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;let Y=l5(J.attrs,"v-if");if(Y===null){Z=J.end;continue}let G=[],Q=K1(X,J),w=u1(J.attrs,"v-if"),q=d1(X.slice(Q.outerStart,Q.outerEnd),{...J,start:0,end:J.end-J.start},w);G.push({type:"if",expr:Y,outerStart:Q.outerStart,outerEnd:Q.outerEnd,element:q,parsedTag:J});let W=Q.outerEnd,K=!0;while(K){let _=X.slice(W).match(/^\s*/),H=_?_[0].length:0,O=K5(X,W+H);if(!O){K=!1;break}let L=l5(O.attrs,"v-else-if"),F=IQ(O.attrs,"v-else");if(L!==null){let V=K1(X,O),R=u1(O.attrs,"v-else-if"),A=d1(X.slice(V.outerStart,V.outerEnd),{...O,start:0,end:O.end-O.start},R);G.push({type:"else-if",expr:L,outerStart:W,outerEnd:V.outerEnd,element:A,parsedTag:O}),W=V.outerEnd}else if(F){let V=K1(X,O),R=u1(O.attrs,"v-else"),A=d1(X.slice(V.outerStart,V.outerEnd),{...O,start:0,end:O.end-O.start},R);G.push({type:"else",outerStart:W,outerEnd:V.outerEnd,element:A,parsedTag:O}),K=!1}else K=!1}let z=[];for(let _ of G)if(_.type==="if")z.push(`@if(${_.expr})
12627
+ @endforeach`;X=X.slice(0,z.outerStart)+_+X.slice(z.outerEnd),Z=z.outerStart+j.length}return X}function HH($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;let Y=c5(J.attrs,"v-if");if(Y===null){Z=J.end;continue}let G=[],Q=K1(X,J),w=d1(J.attrs,"v-if"),q=m1(X.slice(Q.outerStart,Q.outerEnd),{...J,start:0,end:J.end-J.start},w);G.push({type:"if",expr:Y,outerStart:Q.outerStart,outerEnd:Q.outerEnd,element:q,parsedTag:J});let W=Q.outerEnd,K=!0;while(K){let _=X.slice(W).match(/^\s*/),H=_?_[0].length:0,L=K5(X,W+H);if(!L){K=!1;break}let O=c5(L.attrs,"v-else-if"),F=vQ(L.attrs,"v-else");if(O!==null){let V=K1(X,L),A=d1(L.attrs,"v-else-if"),R=m1(X.slice(V.outerStart,V.outerEnd),{...L,start:0,end:L.end-L.start},A);G.push({type:"else-if",expr:O,outerStart:W,outerEnd:V.outerEnd,element:R,parsedTag:L}),W=V.outerEnd}else if(F){let V=K1(X,L),A=d1(L.attrs,"v-else"),R=m1(X.slice(V.outerStart,V.outerEnd),{...L,start:0,end:L.end-L.start},A);G.push({type:"else",outerStart:W,outerEnd:V.outerEnd,element:R,parsedTag:L}),K=!1}else K=!1}let z=[];for(let _ of G)if(_.type==="if")z.push(`@if(${_.expr})
12509
12628
  ${_.element}`);else if(_.type==="else-if")z.push(`@elseif(${_.expr})
12510
12629
  ${_.element}`);else z.push(`@else
12511
12630
  ${_.element}`);z.push("@endif");let U=z.join(`
12512
- `),B=G[0].outerStart,j=G[G.length-1].outerEnd;X=X.slice(0,B)+U+X.slice(j),Z=B+U.length}return X}function QH($){return $.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function wH($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;let Y=J.attrs,G=!1,Q=/v-model:([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z.]+))?\s*=\s*"([^"]*)"/,w=Y.match(Q);while(w){G=!0;let K=w[1],z=w[2],U=w[3];Y=Y.replace(w[0],""),Y+=` :${K}="${U}" @update:${K}="${U} = $event"`,w=Y.match(Q)}if(G){let K=K1(X,J),z=X.slice(K.outerStart,K.outerEnd),U=d1(z,{...J,start:0,end:J.end-J.start},Y);X=X.slice(0,K.outerStart)+U+X.slice(K.outerEnd),Z=K.outerStart+U.length;continue}let q=l5(J.attrs,"v-model");if(q===null){Z=J.end;continue}if(XH.has(J.tag)){let K=J.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${q}"`,z=K1(X,J),U=X.slice(z.outerStart,z.outerEnd),B=d1(U,{...J,start:0,end:J.end-J.start},K);X=X.slice(0,z.outerStart)+B+X.slice(z.outerEnd),Z=z.outerStart+B.length}else{let K=J.attrs.replace(/\s*v-model="[^"]*"/g,"");K+=` :modelValue="${q}" @update:modelValue="${q} = $event"`;let z=K1(X,J),U=X.slice(z.outerStart,z.outerEnd),B=d1(U,{...J,start:0,end:J.end-J.start},K);X=X.slice(0,z.outerStart)+B+X.slice(z.outerEnd),Z=z.outerStart+B.length}}return X}function qH($){return $.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function WH($){return $.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function KH($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;let Y=l5(J.attrs,"v-html");if(Y===null){Z=J.end;continue}if(J.selfClosing){Z=J.end;continue}let G=K1(X,J),Q=u1(J.attrs,"v-html"),w=J.selfClosing?" /":"",q=`<${J.tag}${Q}${w}>{!! ${Y} !!}</${J.tag}>`;X=X.slice(0,G.outerStart)+q+X.slice(G.outerEnd),Z=G.outerStart+q.length}return X}function zH($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;let Y=l5(J.attrs,"v-text");if(Y===null){Z=J.end;continue}if(J.selfClosing){Z=J.end;continue}let G=K1(X,J),Q=u1(J.attrs,"v-text"),w=J.selfClosing?" /":"",q=`<${J.tag}${Q}${w}>{{ ${Y} }}</${J.tag}>`;X=X.slice(0,G.outerStart)+q+X.slice(G.outerEnd),Z=G.outerStart+q.length}return X}function UH($){return $.replace(/(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)\s+v-pre([^>]*>)/g,"$1$2 data-stx-skip$3").replace(/(<[a-zA-Z][a-zA-Z0-9-]*)\s+v-pre(\s[^>]*>|>)/g,"$1 data-stx-skip$2")}function jH($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;if(!IQ(J.attrs,"v-once")){Z=J.end;continue}let Y=u1(J.attrs,"v-once"),G=K1(X,J),Q=X.slice(G.outerStart,G.outerEnd),q=`@once
12513
- ${d1(Q,{...J,start:0,end:J.end-J.start},Y)}
12514
- @endonce`;X=X.slice(0,G.outerStart)+q+X.slice(G.outerEnd),Z=G.outerStart+q.length}return X}function BH($){return $.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function _H($){return $.replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'#$1="$2"').replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)(?=[\s>])/g,"#$1").replace(/\bv-slot\s*=\s*"([^"]*)"/g,'#default="$1"')}function EQ($){if(!JH($))return $;let X=$;return X=YH(X),X=GH(X),X=jH(X),X=qH(X),X=WH(X),X=wH(X),X=QH(X),X=_H(X),X=KH(X),X=zH(X),X=UH(X),X=BH(X),X}var $H,XH;var DQ=E(()=>{$H=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),XH=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 w9($){return $.replace(/--/g,"- -").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function yQ($,X){let Z=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec($),J=Z?Z[1]:$,Y=Y0(J,X);if(Y&&typeof Y==="string")return Y;let G=J.trim();return P4.has(G)?G:null}function bQ($){let X=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec($);return X?X[1]:$}function SQ($,X,Z){let J=X.replace(/\s*(?::is|v-bind:is)\s*=\s*"[^"]*"/gi,"").trim(),Y=J?`<${$} ${J}>`:`<${$}>`;if(HH.has($))return J?`<${$} ${J}>`:`<${$}>`;return`${Y}${Z}</${$}>`}async function CQ($,X,Z,J,Y){let G=$,Q=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*)>([\s\S]*?)<\/component>/gi,w=[],q;while((q=Q.exec(G))!==null)w.push({full:q[0],expr:q[1],attrs:q[2],slotContent:q[3],index:q.index});for(let W=w.length-1;W>=0;W--){let K=w[W];try{let z=yQ(K.expr,X);if(!z||typeof z!=="string"){let L=`<!-- dynamic component: could not resolve "${w9(bQ(K.expr))}" -->`;G=G.slice(0,K.index)+L+G.slice(K.index+K.full.length);continue}if(P4.has(z)){let L=SQ(z,K.attrs,K.slotContent);G=G.slice(0,K.index)+L+G.slice(K.index+K.full.length);continue}let U=K.attrs.trim(),B={},j=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,_;while((_=j.exec(U))!==null){let L=_[1]||_[2],F=_[3];if(_[1])try{B[L]=Y0(F,X)}catch{B[L]=F}else B[L]=F}let H=J.componentsDir||"components",O=await X5(z,B,K.slotContent,H,X,Z,J,new Set,Y??new Set);G=G.slice(0,K.index)+O+G.slice(K.index+K.full.length)}catch(z){let U=z instanceof Error?z.message:String(z),B=`<!-- dynamic component error: ${w9(U)} -->`;G=G.slice(0,K.index)+B+G.slice(K.index+K.full.length)}}return G=await OH(G,X,Z,J,Y),G}async function OH($,X,Z,J,Y){let G=$,Q=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*?)\/>/gi,w=[],q;while((q=Q.exec(G))!==null)w.push({full:q[0],expr:q[1],attrs:q[2],index:q.index});for(let W=w.length-1;W>=0;W--){let K=w[W];try{let z=yQ(K.expr,X);if(!z||typeof z!=="string"){let j=`<!-- dynamic component: could not resolve "${w9(bQ(K.expr))}" -->`;G=G.slice(0,K.index)+j+G.slice(K.index+K.full.length);continue}if(P4.has(z)){let j=SQ(z,K.attrs,"");G=G.slice(0,K.index)+j+G.slice(K.index+K.full.length);continue}let U=J.componentsDir||"components",B=await X5(z,{},"",U,X,Z,J,new Set,Y??new Set);G=G.slice(0,K.index)+B+G.slice(K.index+K.full.length)}catch(z){let U=z instanceof Error?z.message:String(z),B=`<!-- dynamic component error: ${w9(U)} -->`;G=G.slice(0,K.index)+B+G.slice(K.index+K.full.length)}}return G}var P4,HH;var PQ=E(()=>{D0();I0();P4=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"]),HH=new Set(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"])});function RH($){let X=$.storageKey??"stx-color-mode",Z=$.initialMode??"auto",J=$.darkClass===void 0?"dark":$.darkClass,Y=$.attribute??null,G=$.autoValue??null;if(typeof X!=="string"||X.length===0)throw Error("colorMode.storageKey must be a non-empty string");if(!LH.has(Z))throw Error(`colorMode.initialMode must be one of light, dark, auto, system \u2014 got ${JSON.stringify(Z)}`);if(J!==null&&(typeof J!=="string"||!AH.test(J)))throw Error(`colorMode.darkClass must be a single CSS class name, or null to opt out \u2014 got ${JSON.stringify(J)}`);if(Y!==null&&(typeof Y!=="string"||!VH.test(Y)))throw Error(`colorMode.attribute must be a valid HTML attribute name \u2014 got ${JSON.stringify(Y)}`);if(G!==null&&!FH.has(G))throw Error(`colorMode.autoValue must be 'auto' or 'system' \u2014 got ${JSON.stringify(G)}`);if(J===null&&Y===null)throw Error("colorMode needs at least one of darkClass or attribute \u2014 with both null nothing would mark the mode on <html>");return{storageKey:X,initialMode:Z==="system"?"auto":Z,darkClass:J,attribute:Y,autoValue:G}}function NH($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function x4($={}){let X=RH($);return`<script data-stx-color-mode-boot>${`(function(){"use strict";var c=${NH(X)};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 vQ($,X={}){if($.includes("data-stx-color-mode-boot"))return $;let Z=v4($);if(Z===null)return $;let J=x4(X);return`${$.slice(0,Z)}
12515
- ${J}${$.slice(Z)}`}function v4($){let X=/<head\b[^>]*>/i.exec($);if(!X)return null;let Z=X.index+X[0].length,J=/^\s*<meta\b[^>]*\bcharset\b[^>]*>/i.exec($.slice(Z));if(J)Z+=J[0].length;return Z}function kH($){let X=/<head\b[^>]*>/i.exec($);if(!X)return $;let Z=X.index+X[0].length,J=$.toLowerCase().indexOf("</head>",Z),Y=$.slice(Z,J===-1?$.length:J),G=MH.exec(Y);if(!G||Y.slice(0,G.index).trim()==="")return $;let Q=Y.slice(0,G.index)+Y.slice(G.index+G[0].length);return $.slice(0,Z)+`
12516
- ${G[0]}`+Q+$.slice(Z+Y.length)}function xQ($){return IH(kH($))}function IH($){let X=TH.exec($);if(!X)return $;let Z=v4($);if(Z===null)return $;if(X.index<=Z||$.slice(Z,X.index).trim()==="")return $;let J=$.slice(0,X.index)+$.slice(X.index+X[0].length),Y=v4(J);if(Y===null)return $;return`${J.slice(0,Y)}
12517
- ${X[0]}${J.slice(Y)}`}var LH,FH,VH,AH,TH,MH;var f4=E(()=>{LH=new Set(["light","dark","auto","system"]),FH=new Set(["auto","system"]),VH=/^[a-z][\w:-]*$/i,AH=/^[\w-]+$/;TH=new RegExp("<script\\b[^>]*\\bdata-stx-color-mode-boot\\b[^>]*>[\\s\\S]*?<\\/script>","i"),MH=/<meta\b[^>]*\bcharset\b[^>]*>/i});function EH(){if(g4===null)g4=process.env.STX_BUILD_ID||`${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`;return g4}function fQ($,X=EH()){if($.includes('name="stx-build"'))return $;let Z=/<head\b[^>]*>/i.exec($);if(!Z)return $;let J=Z.index+Z[0].length;return`${$.slice(0,J)}
12518
- <meta name="stx-build" content="${X}">${$.slice(J)}`}var g4=null;function R1($){return String($).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function DH($){return String($).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function h4($){if($.name)return`name="${$.name}"`;if($.property)return`property="${$.property}"`;if($.charset!=null)return"charset=";if($["http-equiv"])return`http-equiv="${$["http-equiv"]}"`;return""}function c5($,X){return Object.entries($).filter(([Z])=>!X?.(Z)).map(([Z,J])=>`${Z}="${R1(String(J))}"`).join(" ")}function yH($={},X="en"){let Z=[],J=[],Y="",G=X;for(let[w,q]of Object.entries($||{})){if(q==null)continue;let W=w.trim();if(!hQ.test(W))continue;let K=W.toLowerCase();if(K==="lang"){G=String(q);continue}if(K==="class"){Y=String(q).trim();continue}Z.push(` ${W}="${R1(String(q))}"`),J.push(W)}let Q=` lang="${R1(G)}"`;if(Y)Q+=` class="${R1(Y)}"`;if(Q+=Z.join(""),Y)Q+=` ${W9}="${R1(Y)}"`;if(J.length)Q+=` ${q9}="${R1(J.join(" "))}"`;return Q}function uQ($={},X={}){let Z={...$,...X};if($.class&&X.class){let J=$.class.split(/\s+/).filter(Boolean);for(let Y of X.class.split(/\s+/).filter(Boolean))if(!J.includes(Y))J.push(Y);Z.class=J.join(" ")}return Z}function dQ($,X={}){if(!X||Object.keys(X).length===0)return $;let Z=$.match(/<html\b([^>]*)>/i);if(!Z)return $;let J={},Y=[],G=/([A-Za-z_:][\w:.-]*)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'>]+)))?/g,Q;while((Q=G.exec(Z[1]))!==null){let K=Q[1];if(!(K in J))Y.push(K);J[K]=Q[2]??Q[3]??Q[4]??""}let w=[],q=[];for(let[K,z]of Object.entries(X)){if(z==null)continue;let U=K.trim();if(!hQ.test(U))continue;let B=U.toLowerCase();if(B==="class"){let j=(J.class||"").split(/\s+/).filter(Boolean);for(let _ of String(z).split(/\s+/).filter(Boolean))if(!j.includes(_))j.push(_),w.push(_);if(!("class"in J))Y.push("class");J.class=j.join(" ");continue}if(!(U in J))Y.push(U);if(J[U]=String(z),B!=="lang")q.push(U)}if(w.length){if(!(W9 in J))Y.push(W9);J[W9]=w.join(" ")}if(q.length){if(!(q9 in J))Y.push(q9);J[q9]=q.join(" ")}let W=Y.map((K)=>` ${K}="${R1(J[K])}"`).join("");return $.replace(Z[0],()=>`<html${W}>`)}function mQ($){if($.includes("data-stx-cloak"))return $;let X=$.lastIndexOf("</head>");if(X===-1)return $;return`${$.slice(0,X)}${gQ}
12519
- ${$.slice(X)}`}function bH($){let X=[],Z=0;while(Z<$.length){let G=$.slice(Z),Q=G.match(/^\s+/);if(Q){Z+=Q[0].length;continue}if(G.startsWith("<!--")){let z=$.indexOf("-->",Z);if(z===-1)break;Z=z+3;continue}let w=G.match(/^<script\b[^>]*>/i);if(w){let z=$.toLowerCase().indexOf("</script>",Z+w[0].length);if(z===-1)break;Z=z+9;continue}let q=G.match(/^<link\b[^>]*>/i);if(q){X.push(q[0]),Z+=q[0].length;continue}let W=G.match(/^<meta\b[^>]*>/i);if(W){X.push(W[0]),Z+=W[0].length;continue}let K=G.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(K){X.push(K[0]),Z+=K[0].length;continue}break}if(X.length===0)return{body:$,hoisted:X};let J="",Y=0;while(Y<$.length&&Y<Z){let G=$.slice(Y),Q=G.match(/^<link\b[^>]*>/i);if(Q&&X.includes(Q[0])){Y+=Q[0].length;continue}let w=G.match(/^<meta\b[^>]*>/i);if(w&&X.includes(w[0])){Y+=w[0].length;continue}let q=G.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(q&&X.includes(q[0])){Y+=q[0].length;continue}J+=$[Y],Y++}return J+=$.slice(Z),{body:J,hoisted:X}}function SH($,X={},Z={}){let{title:J="stx App",lang:Y="en",meta:G=[],link:Q=[],script:w=[],headRaw:q="",htmlAttrs:W={},bodyClass:K="",bodyAttrs:z={}}=X,U=Z.title||J,B=[{charset:"UTF-8"},{name:"viewport",content:"width=device-width, initial-scale=1.0"}],j=new Set(G.map(h4).filter(Boolean)),H=[...B.filter((k)=>!j.has(h4(k))),...G].map((k)=>{return` <meta ${c5(k)}>`}).join(`
12520
- `),O=Q.map((k)=>{return` <link ${c5(k)}>`}).join(`
12521
- `),L=w.map((k)=>{if(k.src)return` <script ${c5(k,(D)=>D==="content")}></script>`;if(k.content)return` <script>${k.content}</script>`;return""}).filter(Boolean).join(`
12522
- `),F=yH(W,Y),V=Object.entries(z).map(([k,D])=>` ${k}="${R1(String(D))}"`).join(""),R=K?` class="${R1(K)}"`:"",{body:A,hoisted:N}=bH($),M=[H,Z.colorMode?` ${x4(Z.colorMode)}`:"",` <title>${Z.titleIsHtml?U:DH(U)}</title>`,` ${gQ}`,O,L,q?` ${q}`:"",...(Z.styles||[]).map((k)=>` ${k}`),...N.map((k)=>` ${k}`),...(Z.headScripts||[]).map((k)=>` ${k}`),Z.headStack||""].filter(Boolean),T=[A,...(Z.bodyScripts||[]).map((k)=>k),Z.bodyStack||""].filter(Boolean);return`<!DOCTYPE html>
12631
+ `),B=G[0].outerStart,j=G[G.length-1].outerEnd;X=X.slice(0,B)+U+X.slice(j),Z=B+U.length}return X}function OH($){return $.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function LH($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;let Y=J.attrs,G=!1,Q=/v-model:([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z.]+))?\s*=\s*"([^"]*)"/,w=Y.match(Q);while(w){G=!0;let K=w[1],z=w[2],U=w[3];Y=Y.replace(w[0],""),Y+=` :${K}="${U}" @update:${K}="${U} = $event"`,w=Y.match(Q)}if(G){let K=K1(X,J),z=X.slice(K.outerStart,K.outerEnd),U=m1(z,{...J,start:0,end:J.end-J.start},Y);X=X.slice(0,K.outerStart)+U+X.slice(K.outerEnd),Z=K.outerStart+U.length;continue}let q=c5(J.attrs,"v-model");if(q===null){Z=J.end;continue}if(UH.has(J.tag)){let K=J.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${q}"`,z=K1(X,J),U=X.slice(z.outerStart,z.outerEnd),B=m1(U,{...J,start:0,end:J.end-J.start},K);X=X.slice(0,z.outerStart)+B+X.slice(z.outerEnd),Z=z.outerStart+B.length}else{let K=J.attrs.replace(/\s*v-model="[^"]*"/g,"");K+=` :modelValue="${q}" @update:modelValue="${q} = $event"`;let z=K1(X,J),U=X.slice(z.outerStart,z.outerEnd),B=m1(U,{...J,start:0,end:J.end-J.start},K);X=X.slice(0,z.outerStart)+B+X.slice(z.outerEnd),Z=z.outerStart+B.length}}return X}function FH($){return $.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function VH($){return $.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function AH($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;let Y=c5(J.attrs,"v-html");if(Y===null){Z=J.end;continue}if(J.selfClosing){Z=J.end;continue}let G=K1(X,J),Q=d1(J.attrs,"v-html"),w=J.selfClosing?" /":"",q=`<${J.tag}${Q}${w}>{!! ${Y} !!}</${J.tag}>`;X=X.slice(0,G.outerStart)+q+X.slice(G.outerEnd),Z=G.outerStart+q.length}return X}function RH($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;let Y=c5(J.attrs,"v-text");if(Y===null){Z=J.end;continue}if(J.selfClosing){Z=J.end;continue}let G=K1(X,J),Q=d1(J.attrs,"v-text"),w=J.selfClosing?" /":"",q=`<${J.tag}${Q}${w}>{{ ${Y} }}</${J.tag}>`;X=X.slice(0,G.outerStart)+q+X.slice(G.outerEnd),Z=G.outerStart+q.length}return X}function NH($){return $.replace(/(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)\s+v-pre([^>]*>)/g,"$1$2 data-stx-skip$3").replace(/(<[a-zA-Z][a-zA-Z0-9-]*)\s+v-pre(\s[^>]*>|>)/g,"$1 data-stx-skip$2")}function TH($){let X=$,Z=0;while(Z<X.length){let J=K5(X,Z);if(!J)break;if(!vQ(J.attrs,"v-once")){Z=J.end;continue}let Y=d1(J.attrs,"v-once"),G=K1(X,J),Q=X.slice(G.outerStart,G.outerEnd),q=`@once
12632
+ ${m1(Q,{...J,start:0,end:J.end-J.start},Y)}
12633
+ @endonce`;X=X.slice(0,G.outerStart)+q+X.slice(G.outerEnd),Z=G.outerStart+q.length}return X}function MH($){return $.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function kH($){return $.replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'#$1="$2"').replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)(?=[\s>])/g,"#$1").replace(/\bv-slot\s*=\s*"([^"]*)"/g,'#default="$1"')}function xQ($){if(!BH($))return $;let X=$;return X=_H(X),X=HH(X),X=TH(X),X=FH(X),X=VH(X),X=LH(X),X=OH(X),X=kH(X),X=AH(X),X=RH(X),X=NH(X),X=MH(X),X}var zH,UH;var fQ=E(()=>{zH=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),UH=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 K9($){return $.replace(/--/g,"- -").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function gQ($,X){let Z=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec($),J=Z?Z[1]:$,Y=Y0(J,X);if(Y&&typeof Y==="string")return Y;let G=J.trim();return u3.has(G)?G:null}function hQ($){let X=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec($);return X?X[1]:$}function uQ($,X,Z){let J=X.replace(/\s*(?::is|v-bind:is)\s*=\s*"[^"]*"/gi,"").trim(),Y=J?`<${$} ${J}>`:`<${$}>`;if(IH.has($))return J?`<${$} ${J}>`:`<${$}>`;return`${Y}${Z}</${$}>`}async function dQ($,X,Z,J,Y){let G=$,Q=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*)>([\s\S]*?)<\/component>/gi,w=[],q;while((q=Q.exec(G))!==null)w.push({full:q[0],expr:q[1],attrs:q[2],slotContent:q[3],index:q.index});for(let W=w.length-1;W>=0;W--){let K=w[W];try{let z=gQ(K.expr,X);if(!z||typeof z!=="string"){let O=`<!-- dynamic component: could not resolve "${K9(hQ(K.expr))}" -->`;G=G.slice(0,K.index)+O+G.slice(K.index+K.full.length);continue}if(u3.has(z)){let O=uQ(z,K.attrs,K.slotContent);G=G.slice(0,K.index)+O+G.slice(K.index+K.full.length);continue}let U=K.attrs.trim(),B={},j=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,_;while((_=j.exec(U))!==null){let O=_[1]||_[2],F=_[3];if(_[1])try{B[O]=Y0(F,X)}catch{B[O]=F}else B[O]=F}let H=J.componentsDir||"components",L=await Z5(z,B,K.slotContent,H,X,Z,J,new Set,Y??new Set);G=G.slice(0,K.index)+L+G.slice(K.index+K.full.length)}catch(z){let U=z instanceof Error?z.message:String(z),B=`<!-- dynamic component error: ${K9(U)} -->`;G=G.slice(0,K.index)+B+G.slice(K.index+K.full.length)}}return G=await EH(G,X,Z,J,Y),G}async function EH($,X,Z,J,Y){let G=$,Q=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*?)\/>/gi,w=[],q;while((q=Q.exec(G))!==null)w.push({full:q[0],expr:q[1],attrs:q[2],index:q.index});for(let W=w.length-1;W>=0;W--){let K=w[W];try{let z=gQ(K.expr,X);if(!z||typeof z!=="string"){let j=`<!-- dynamic component: could not resolve "${K9(hQ(K.expr))}" -->`;G=G.slice(0,K.index)+j+G.slice(K.index+K.full.length);continue}if(u3.has(z)){let j=uQ(z,K.attrs,"");G=G.slice(0,K.index)+j+G.slice(K.index+K.full.length);continue}let U=J.componentsDir||"components",B=await Z5(z,{},"",U,X,Z,J,new Set,Y??new Set);G=G.slice(0,K.index)+B+G.slice(K.index+K.full.length)}catch(z){let U=z instanceof Error?z.message:String(z),B=`<!-- dynamic component error: ${K9(U)} -->`;G=G.slice(0,K.index)+B+G.slice(K.index+K.full.length)}}return G}var u3,IH;var mQ=E(()=>{y0();E0();u3=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"]),IH=new Set(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"])});function CH($){let X=$.storageKey??"stx-color-mode",Z=$.initialMode??"auto",J=$.darkClass===void 0?"dark":$.darkClass,Y=$.attribute??null,G=$.autoValue??null;if(typeof X!=="string"||X.length===0)throw Error("colorMode.storageKey must be a non-empty string");if(!DH.has(Z))throw Error(`colorMode.initialMode must be one of light, dark, auto, system \u2014 got ${JSON.stringify(Z)}`);if(J!==null&&(typeof J!=="string"||!SH.test(J)))throw Error(`colorMode.darkClass must be a single CSS class name, or null to opt out \u2014 got ${JSON.stringify(J)}`);if(Y!==null&&(typeof Y!=="string"||!bH.test(Y)))throw Error(`colorMode.attribute must be a valid HTML attribute name \u2014 got ${JSON.stringify(Y)}`);if(G!==null&&!yH.has(G))throw Error(`colorMode.autoValue must be 'auto' or 'system' \u2014 got ${JSON.stringify(G)}`);if(J===null&&Y===null)throw Error("colorMode needs at least one of darkClass or attribute \u2014 with both null nothing would mark the mode on <html>");return{storageKey:X,initialMode:Z==="system"?"auto":Z,darkClass:J,attribute:Y,autoValue:G}}function PH($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function m3($={}){let X=CH($);return`<script data-stx-color-mode-boot>${`(function(){"use strict";var c=${PH(X)};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 lQ($,X={}){if($.includes("data-stx-color-mode-boot"))return $;let Z=d3($);if(Z===null)return $;let J=m3(X);return`${$.slice(0,Z)}
12634
+ ${J}${$.slice(Z)}`}function d3($){let X=/<head\b[^>]*>/i.exec($);if(!X)return null;let Z=X.index+X[0].length,J=/^\s*<meta\b[^>]*\bcharset\b[^>]*>/i.exec($.slice(Z));if(J)Z+=J[0].length;return Z}function fH($){let X=/<head\b[^>]*>/i.exec($);if(!X)return $;let Z=X.index+X[0].length,J=$.toLowerCase().indexOf("</head>",Z),Y=$.slice(Z,J===-1?$.length:J),G=xH.exec(Y);if(!G||Y.slice(0,G.index).trim()==="")return $;let Q=Y.slice(0,G.index)+Y.slice(G.index+G[0].length);return $.slice(0,Z)+`
12635
+ ${G[0]}`+Q+$.slice(Z+Y.length)}function cQ($){return gH(fH($))}function gH($){let X=vH.exec($);if(!X)return $;let Z=d3($);if(Z===null)return $;if(X.index<=Z||$.slice(Z,X.index).trim()==="")return $;let J=$.slice(0,X.index)+$.slice(X.index+X[0].length),Y=d3(J);if(Y===null)return $;return`${J.slice(0,Y)}
12636
+ ${X[0]}${J.slice(Y)}`}var DH,yH,bH,SH,vH,xH;var l3=E(()=>{DH=new Set(["light","dark","auto","system"]),yH=new Set(["auto","system"]),bH=/^[a-z][\w:-]*$/i,SH=/^[\w-]+$/;vH=new RegExp("<script\\b[^>]*\\bdata-stx-color-mode-boot\\b[^>]*>[\\s\\S]*?<\\/script>","i"),xH=/<meta\b[^>]*\bcharset\b[^>]*>/i});function hH(){if(c3===null)c3=process.env.STX_BUILD_ID||`${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`;return c3}function pQ($,X=hH()){if($.includes('name="stx-build"'))return $;let Z=/<head\b[^>]*>/i.exec($);if(!Z)return $;let J=Z.index+Z[0].length;return`${$.slice(0,J)}
12637
+ <meta name="stx-build" content="${X}">${$.slice(J)}`}var c3=null;function N1($){return String($).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function uH($){return String($).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function p3($){if($.name)return`name="${$.name}"`;if($.property)return`property="${$.property}"`;if($.charset!=null)return"charset=";if($["http-equiv"])return`http-equiv="${$["http-equiv"]}"`;return""}function p5($,X){return Object.entries($).filter(([Z])=>!X?.(Z)).map(([Z,J])=>`${Z}="${N1(String(J))}"`).join(" ")}function dH($={},X="en"){let Z=[],J=[],Y="",G=X;for(let[w,q]of Object.entries($||{})){if(q==null)continue;let W=w.trim();if(!nQ.test(W))continue;let K=W.toLowerCase();if(K==="lang"){G=String(q);continue}if(K==="class"){Y=String(q).trim();continue}Z.push(` ${W}="${N1(String(q))}"`),J.push(W)}let Q=` lang="${N1(G)}"`;if(Y)Q+=` class="${N1(Y)}"`;if(Q+=Z.join(""),Y)Q+=` ${U9}="${N1(Y)}"`;if(J.length)Q+=` ${z9}="${N1(J.join(" "))}"`;return Q}function rQ($={},X={}){let Z={...$,...X};if($.class&&X.class){let J=$.class.split(/\s+/).filter(Boolean);for(let Y of X.class.split(/\s+/).filter(Boolean))if(!J.includes(Y))J.push(Y);Z.class=J.join(" ")}return Z}function oQ($,X={}){if(!X||Object.keys(X).length===0)return $;let Z=$.match(/<html\b([^>]*)>/i);if(!Z)return $;let J={},Y=[],G=/([A-Za-z_:][\w:.-]*)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'>]+)))?/g,Q;while((Q=G.exec(Z[1]))!==null){let K=Q[1];if(!(K in J))Y.push(K);J[K]=Q[2]??Q[3]??Q[4]??""}let w=[],q=[];for(let[K,z]of Object.entries(X)){if(z==null)continue;let U=K.trim();if(!nQ.test(U))continue;let B=U.toLowerCase();if(B==="class"){let j=(J.class||"").split(/\s+/).filter(Boolean);for(let _ of String(z).split(/\s+/).filter(Boolean))if(!j.includes(_))j.push(_),w.push(_);if(!("class"in J))Y.push("class");J.class=j.join(" ");continue}if(!(U in J))Y.push(U);if(J[U]=String(z),B!=="lang")q.push(U)}if(w.length){if(!(U9 in J))Y.push(U9);J[U9]=w.join(" ")}if(q.length){if(!(z9 in J))Y.push(z9);J[z9]=q.join(" ")}let W=Y.map((K)=>` ${K}="${N1(J[K])}"`).join("");return $.replace(Z[0],()=>`<html${W}>`)}function sQ($){if($.includes("data-stx-cloak"))return $;let X=$.lastIndexOf("</head>");if(X===-1)return $;return`${$.slice(0,X)}${iQ}
12638
+ ${$.slice(X)}`}function mH($){let X=[],Z=0;while(Z<$.length){let G=$.slice(Z),Q=G.match(/^\s+/);if(Q){Z+=Q[0].length;continue}if(G.startsWith("<!--")){let z=$.indexOf("-->",Z);if(z===-1)break;Z=z+3;continue}let w=G.match(/^<script\b[^>]*>/i);if(w){let z=$.toLowerCase().indexOf("</script>",Z+w[0].length);if(z===-1)break;Z=z+9;continue}let q=G.match(/^<link\b[^>]*>/i);if(q){X.push(q[0]),Z+=q[0].length;continue}let W=G.match(/^<meta\b[^>]*>/i);if(W){X.push(W[0]),Z+=W[0].length;continue}let K=G.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(K){X.push(K[0]),Z+=K[0].length;continue}break}if(X.length===0)return{body:$,hoisted:X};let J="",Y=0;while(Y<$.length&&Y<Z){let G=$.slice(Y),Q=G.match(/^<link\b[^>]*>/i);if(Q&&X.includes(Q[0])){Y+=Q[0].length;continue}let w=G.match(/^<meta\b[^>]*>/i);if(w&&X.includes(w[0])){Y+=w[0].length;continue}let q=G.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(q&&X.includes(q[0])){Y+=q[0].length;continue}J+=$[Y],Y++}return J+=$.slice(Z),{body:J,hoisted:X}}function lH($,X={},Z={}){let{title:J="stx App",lang:Y="en",meta:G=[],link:Q=[],script:w=[],headRaw:q="",htmlAttrs:W={},bodyClass:K="",bodyAttrs:z={}}=X,U=Z.title||J,B=[{charset:"UTF-8"},{name:"viewport",content:"width=device-width, initial-scale=1.0"}],j=new Set(G.map(p3).filter(Boolean)),H=[...B.filter((k)=>!j.has(p3(k))),...G].map((k)=>{return` <meta ${p5(k)}>`}).join(`
12639
+ `),L=Q.map((k)=>{return` <link ${p5(k)}>`}).join(`
12640
+ `),O=w.map((k)=>{if(k.src)return` <script ${p5(k,(D)=>D==="content")}></script>`;if(k.content)return` <script>${k.content}</script>`;return""}).filter(Boolean).join(`
12641
+ `),F=dH(W,Y),V=Object.entries(z).map(([k,D])=>` ${k}="${N1(String(D))}"`).join(""),A=K?` class="${N1(K)}"`:"",{body:R,hoisted:N}=mH($),M=[H,Z.colorMode?` ${m3(Z.colorMode)}`:"",` <title>${Z.titleIsHtml?U:uH(U)}</title>`,` ${iQ}`,L,O,q?` ${q}`:"",...(Z.styles||[]).map((k)=>` ${k}`),...N.map((k)=>` ${k}`),...(Z.headScripts||[]).map((k)=>` ${k}`),Z.headStack||""].filter(Boolean),T=[R,...(Z.bodyScripts||[]).map((k)=>k),Z.bodyStack||""].filter(Boolean);return`<!DOCTYPE html>
12523
12642
  <html${F}>
12524
12643
  <head>
12525
12644
  ${M.join(`
12526
12645
  `)}
12527
12646
  </head>
12528
- <body${R}${V}>
12647
+ <body${A}${V}>
12529
12648
  ${T.join(`
12530
12649
  `)}
12531
12650
  </body>
12532
- </html>`}function u4($){let X=0;while(X<$.length){let Z=$.slice(X),J=Z.match(/^\s+/);if(J){X+=J[0].length;continue}if(Z.startsWith("<!--")){let G=$.indexOf("-->",X);if(G===-1)return!1;X=G+3;continue}let Y=Z.match(/^<(script|style)\b[^>]*>/i);if(Y){let G=`</${Y[1].toLowerCase()}>`,Q=$.toLowerCase().indexOf(G,X+Y[0].length);if(Q===-1)return!1;X=Q+G.length;continue}return/^<!DOCTYPE\b/i.test(Z)||/^<html[\s>]/i.test(Z)}return!1}function d4($){return u4($)}function lQ($,X={}){let Z=$.lastIndexOf("</head>");if(Z===-1)return $;let{meta:J=[],link:Y=[],script:G=[],headRaw:Q=""}=X,w=$.slice(0,Z),q=[];for(let W of J){let K=h4(W);if(K&&w.includes(K))continue;q.push(` <meta ${c5(W)}>`)}for(let W of Y){if(W.href&&w.includes(`href="${W.href}"`))continue;q.push(` <link ${c5(W)}>`)}for(let W of G)if(W.src){if(w.includes(`src="${W.src}"`))continue;q.push(` <script ${c5(W,(K)=>K==="content")}></script>`)}else if(W.content){if(w.includes(W.content))continue;q.push(` <script>${W.content}</script>`)}if(Q&&!w.includes(Q))q.push(` ${Q}`);if(q.length===0)return $;return`${$.slice(0,Z)}${q.join(`
12651
+ </html>`}function i3($){let X=0;while(X<$.length){let Z=$.slice(X),J=Z.match(/^\s+/);if(J){X+=J[0].length;continue}if(Z.startsWith("<!--")){let G=$.indexOf("-->",X);if(G===-1)return!1;X=G+3;continue}let Y=Z.match(/^<(script|style)\b[^>]*>/i);if(Y){let G=`</${Y[1].toLowerCase()}>`,Q=$.toLowerCase().indexOf(G,X+Y[0].length);if(Q===-1)return!1;X=Q+G.length;continue}return/^<!DOCTYPE\b/i.test(Z)||/^<html[\s>]/i.test(Z)}return!1}function n3($){return i3($)}function aQ($,X={}){let Z=$.lastIndexOf("</head>");if(Z===-1)return $;let{meta:J=[],link:Y=[],script:G=[],headRaw:Q=""}=X,w=$.slice(0,Z),q=[];for(let W of J){let K=p3(W);if(K&&w.includes(K))continue;q.push(` <meta ${p5(W)}>`)}for(let W of Y){if(W.href&&w.includes(`href="${W.href}"`))continue;q.push(` <link ${p5(W)}>`)}for(let W of G)if(W.src){if(w.includes(`src="${W.src}"`))continue;q.push(` <script ${p5(W,(K)=>K==="content")}></script>`)}else if(W.content){if(w.includes(W.content))continue;q.push(` <script>${W.content}</script>`)}if(Q&&!w.includes(Q))q.push(` ${Q}`);if(q.length===0)return $;return`${$.slice(0,Z)}${q.join(`
12533
12652
  `)}
12534
- ${$.slice(Z)}`}function cQ($,X={},Z={}){if(d4($))return $;return SH($,X,Z)}var gQ="<style data-stx-cloak>[x-cloak]{display:none !important}</style>",q9="data-stx-html-attrs",W9="data-stx-html-class",hQ;var pQ=E(()=>{f4();hQ=/^[A-Za-z_:][\w:.-]*$/});import p5 from"path";function iQ($){return $.startsWith("http://")||$.startsWith("https://")||$.startsWith("//")}async function nQ($,X,Z){try{let J;if($.startsWith("/")){let Y=X;for(let G=0;G<5;G++){let Q=p5.join(Y,$);if(await Bun.file(Q).exists())return Q;Y=p5.dirname(Y)}J=p5.join(X,$)}else if($.startsWith("./")||$.startsWith("../"))J=p5.resolve(X,$);else J=p5.resolve(X,$);if(await Bun.file(J).exists())return J;return null}catch{return null}}async function rQ($,X,Z){let J=$,Y=p5.dirname(X),G=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,Q;while((Q=G.exec(J))!==null){let[W,K,z,U]=Q;if(iQ(z))continue;let B=await nQ(z,Y,X);if(B)try{let j=await Bun.file(B).text();if(Z.add(B),z.endsWith(".ts")||z.endsWith(".tsx")){let H=await Bun.build({entrypoints:[B],target:"browser",minify:!1,define:h0()});if(H.outputs.length>0)j=await H.outputs[0].text()}let _=`<script>
12653
+ ${$.slice(Z)}`}function tQ($,X={},Z={}){if(n3($))return $;return lH($,X,Z)}var iQ="<style data-stx-cloak>[x-cloak]{display:none !important}</style>",z9="data-stx-html-attrs",U9="data-stx-html-class",nQ;var eQ=E(()=>{l3();nQ=/^[A-Za-z_:][\w:.-]*$/});import i5 from"path";function $w($){return $.startsWith("http://")||$.startsWith("https://")||$.startsWith("//")}async function Xw($,X,Z){try{let J;if($.startsWith("/")){let Y=X;for(let G=0;G<5;G++){let Q=i5.join(Y,$);if(await Bun.file(Q).exists())return Q;Y=i5.dirname(Y)}J=i5.join(X,$)}else if($.startsWith("./")||$.startsWith("../"))J=i5.resolve(X,$);else J=i5.resolve(X,$);if(await Bun.file(J).exists())return J;return null}catch{return null}}async function Zw($,X,Z){let J=$,Y=i5.dirname(X),G=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,Q;while((Q=G.exec(J))!==null){let[W,K,z,U]=Q;if($w(z))continue;let B=await Xw(z,Y,X);if(B)try{let j=await Bun.file(B).text();if(Z.add(B),z.endsWith(".ts")||z.endsWith(".tsx")){let H=await Bun.build({entrypoints:[B],target:"browser",minify:!1,define:h0()});if(H.outputs.length>0)j=await H.outputs[0].text()}let _=`<script>
12535
12654
  // Source: ${z}
12536
12655
  ${j}
12537
- </script>`;J=J.replace(W,_),G.lastIndex=0}catch(j){}}let w=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,q;while((q=w.exec(J))!==null){let[W,K,z,U]=q,B=K+U;if(iQ(z))continue;if(/rel=["']stylesheet["']/.test(B)||z.endsWith(".css")){let _=await nQ(z,Y,X);if(_)try{let H=await Bun.file(_).text();Z.add(_);let O=`<style>
12656
+ </script>`;J=J.replace(W,_),G.lastIndex=0}catch(j){}}let w=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,q;while((q=w.exec(J))!==null){let[W,K,z,U]=q,B=K+U;if($w(z))continue;if(/rel=["']stylesheet["']/.test(B)||z.endsWith(".css")){let _=await Xw(z,Y,X);if(_)try{let H=await Bun.file(_).text();Z.add(_);let L=`<style>
12538
12657
  /* Source: ${z} */
12539
12658
  ${H}
12540
- </style>`;J=J.replace(W,O),w.lastIndex=0}catch(H){}}}return J}var oQ=E(()=>{E1()});function m4($,X){let Z=$,J=/@json\s*\(/g,Y;while((Y=J.exec(Z))!==null){let G=Y.index,Q=G+Y[0].length-1,w=1,q=Q+1,W=null,K=!1;while(q<Z.length&&w>0){let F=Z[q];if(K){K=!1,q++;continue}if(F==="\\"&&W){K=!0,q++;continue}if(W){if(F===W)W=null;q++;continue}if(F==='"'||F==="'"||F==="`"){W=F,q++;continue}if(F==="(")w++;else if(F===")"){if(w--,w===0)break}q++}if(w!==0)break;let z=Z.substring(Q+1,q).trim(),U=Z.substring(G,q+1),B=-1,j=0,_=null,H=!1;for(let F=0;F<z.length;F++){let V=z[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 O=B>=0?z.substring(0,B).trim():z,L=B>=0?z.substring(B+1).trim():void 0;try{let F=O.trim(),V;if(w0(F))V=q0(F,Object.keys(X))(...Object.values(X));else V=void 0;let R;if(L==="true")R=JSON.stringify(V,null,2);else R=JSON.stringify(V);let A=R.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");Z=Z.substring(0,G)+A+Z.substring(q+1),J.lastIndex=G+A.length}catch(F){J1.log(F instanceof Error?F:Error(String(F)),{directive:"@json"},"error"),J.lastIndex=G+U.length}}return Z}function l4($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function sQ($){let X=$,Z=/@memo\s*\(/g,J,Y=[];while((J=Z.exec(X))!==null){let G=J.index,Q=G+J[0].length,w=1,q=Q;while(q<X.length&&w>0){if(X[q]==="(")w++;else if(X[q]===")")w--;q++}if(w!==0)continue;let W=X.slice(Q,q-1).trim(),K=q,z=X.slice(K),U=z.indexOf("@endmemo");if(U===-1)continue;let B=z.slice(0,U),j=K+U+8,_=B.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)/),H=_?_[0].length:0,O=B.slice(H),L=B.match(/(\s*)$/),F=L?L[0].length:0,V=O.slice(0,O.length-F),R=V.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),A;if(R){let[N,M,T="",k]=R,D=`<${M}${T} data-stx-memo="${W}"${k}>`;A=B.slice(0,H)+D+V.slice(N.length)+B.slice(H+V.length)}else A=`${B.slice(0,H)}<div data-stx-memo="${W}">${V}</div>${B.slice(H+V.length)}`;Y.push({start:G,end:j,replacement:A}),Z.lastIndex=j}for(let G=Y.length-1;G>=0;G--){let Q=Y[G];X=X.slice(0,Q.start)+Q.replacement+X.slice(Q.end)}return X.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function c4($){let X=$.replace(/@ref="([^"]+)"/g,'data-stx-ref="$1"');return X=X.replace(/(<[a-zA-Z][a-zA-Z0-9-]*\b[^>]*?)\sref="([^"]+)"/g,'$1 data-stx-ref="$2"'),X}function aQ($){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"),J="",Y=0,G;while((G=Z.exec($))!==null){let Q=G.index,w=Q+G[0].length,q=!1,W=!1,K=-1;while(w<$.length){let _=$[w];if(q){if(_==="'")q=!1}else if(W){if(_==='"')W=!1}else if(_==="'")q=!0;else if(_==='"')W=!0;else if(_===">"){K=w;break}w++}if(K===-1)continue;if($.slice(Q,K+1).includes("x-cloak"))continue;let U=$.slice(K+1),B=U.indexOf("</"),j=B>=0?U.slice(0,B):U.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(j))J+=$.slice(Y,K)+" x-cloak>",Y=K+1}return J+=$.slice(Y),J}function tQ($){let X=/<[a-z][\w-]*/gi,Z="",J=0,Y;while((Y=X.exec($))!==null){let G=Y.index,Q=Y[0].slice(1).toLowerCase();if(Q==="script"||Q==="style"){let j=`</${Q}>`,_=$.toLowerCase().indexOf(j,G);if(_!==-1)X.lastIndex=_+j.length;continue}let w=G+Y[0].length,q=!1,W=!1,K=-1;while(w<$.length){let j=$[w];if(q){if(j==="'")q=!1}else if(W){if(j==='"')W=!1}else if(j==="'")q=!0;else if(j==='"')W=!0;else if(j===">"){K=w;break}w++}if(K===-1)continue;let z=$.slice(G+Y[0].length,K);if(/(?:^|\s)x-cloak(?:=|\s|\/|>|$)/.test(z))continue;if(!CH.test(z))continue;let U=$[K-1]==="/",B=U?K-1:K;Z+=`${$.slice(J,B)} x-cloak${U?" ":""}`,J=B}return Z+=$.slice(J),Z}var CH;var p4=E(()=>{V1();I0();CH=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function i4($,X,Z,J){let Y=typeof Z==="boolean"?{enabled:Z,failOnViolation:Z}:Z??{enabled:!1},G=Y.allowPatterns??[],Q=[],w=o0($.replace(/\{\{--[\s\S]*?--\}\}/g,(q)=>q.replace(/[^\n]/g," ")));for(let{pattern:q,message:W,suggestion:K}of PH){if(G.some((U)=>/\w/.test(U)&&W.includes(U)))continue;q.lastIndex=0;let z=w.match(q);if(z&&z.length>0){let U=w.split(`
12659
+ </style>`;J=J.replace(W,L),w.lastIndex=0}catch(H){}}}return J}var Jw=E(()=>{D1()});function r3($,X){let Z=$,J=/@json\s*\(/g,Y;while((Y=J.exec(Z))!==null){let G=Y.index,Q=G+Y[0].length-1,w=1,q=Q+1,W=null,K=!1;while(q<Z.length&&w>0){let F=Z[q];if(K){K=!1,q++;continue}if(F==="\\"&&W){K=!0,q++;continue}if(W){if(F===W)W=null;q++;continue}if(F==='"'||F==="'"||F==="`"){W=F,q++;continue}if(F==="(")w++;else if(F===")"){if(w--,w===0)break}q++}if(w!==0)break;let z=Z.substring(Q+1,q).trim(),U=Z.substring(G,q+1),B=-1,j=0,_=null,H=!1;for(let F=0;F<z.length;F++){let V=z[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?z.substring(0,B).trim():z,O=B>=0?z.substring(B+1).trim():void 0;try{let F=L.trim(),V;if(w0(F))V=q0(F,Object.keys(X))(...Object.values(X));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(q+1),J.lastIndex=G+R.length}catch(F){J1.log(F instanceof Error?F:Error(String(F)),{directive:"@json"},"error"),J.lastIndex=G+U.length}}return Z}function o3($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function Yw($){let X=$,Z=/@memo\s*\(/g,J,Y=[];while((J=Z.exec(X))!==null){let G=J.index,Q=G+J[0].length,w=1,q=Q;while(q<X.length&&w>0){if(X[q]==="(")w++;else if(X[q]===")")w--;q++}if(w!==0)continue;let W=X.slice(Q,q-1).trim(),K=q,z=X.slice(K),U=z.indexOf("@endmemo");if(U===-1)continue;let B=z.slice(0,U),j=K+U+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,M,T="",k]=A,D=`<${M}${T} data-stx-memo="${W}"${k}>`;R=B.slice(0,H)+D+V.slice(N.length)+B.slice(H+V.length)}else R=`${B.slice(0,H)}<div data-stx-memo="${W}">${V}</div>${B.slice(H+V.length)}`;Y.push({start:G,end:j,replacement:R}),Z.lastIndex=j}for(let G=Y.length-1;G>=0;G--){let Q=Y[G];X=X.slice(0,Q.start)+Q.replacement+X.slice(Q.end)}return X.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function s3($){let X=$.replace(/@ref="([^"]+)"/g,'data-stx-ref="$1"');return X=X.replace(/(<[a-zA-Z][a-zA-Z0-9-]*\b[^>]*?)\sref="([^"]+)"/g,'$1 data-stx-ref="$2"'),X}function Gw($){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"),J="",Y=0,G;while((G=Z.exec($))!==null){let Q=G.index,w=Q+G[0].length,q=!1,W=!1,K=-1;while(w<$.length){let _=$[w];if(q){if(_==="'")q=!1}else if(W){if(_==='"')W=!1}else if(_==="'")q=!0;else if(_==='"')W=!0;else if(_===">"){K=w;break}w++}if(K===-1)continue;if($.slice(Q,K+1).includes("x-cloak"))continue;let U=$.slice(K+1),B=U.indexOf("</"),j=B>=0?U.slice(0,B):U.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(j))J+=$.slice(Y,K)+" x-cloak>",Y=K+1}return J+=$.slice(Y),J}function Qw($){let X=/<[a-z][\w-]*/gi,Z="",J=0,Y;while((Y=X.exec($))!==null){let G=Y.index,Q=Y[0].slice(1).toLowerCase();if(Q==="script"||Q==="style"){let j=`</${Q}>`,_=$.toLowerCase().indexOf(j,G);if(_!==-1)X.lastIndex=_+j.length;continue}let w=G+Y[0].length,q=!1,W=!1,K=-1;while(w<$.length){let j=$[w];if(q){if(j==="'")q=!1}else if(W){if(j==='"')W=!1}else if(j==="'")q=!0;else if(j==='"')W=!0;else if(j===">"){K=w;break}w++}if(K===-1)continue;let z=$.slice(G+Y[0].length,K);if(/(?:^|\s)x-cloak(?:=|\s|\/|>|$)/.test(z))continue;if(!cH.test(z))continue;let U=$[K-1]==="/",B=U?K-1:K;Z+=`${$.slice(J,B)} x-cloak${U?" ":""}`,J=B}return Z+=$.slice(J),Z}var cH;var a3=E(()=>{V1();E0();cH=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function t3($,X,Z,J){let Y=typeof Z==="boolean"?{enabled:Z,failOnViolation:Z}:Z??{enabled:!1},G=Y.allowPatterns??[],Q=[],w=o0($.replace(/\{\{--[\s\S]*?--\}\}/g,(q)=>q.replace(/[^\n]/g," ")));for(let{pattern:q,message:W,suggestion:K}of pH){if(G.some((U)=>/\w/.test(U)&&W.includes(U)))continue;q.lastIndex=0;let z=w.match(q);if(z&&z.length>0){let U=w.split(`
12541
12660
  `),B=$.split(`
12542
- `),j=[];U.forEach((L,F)=>{if(q.lastIndex=0,q.test(L))j.push(F+1)});let _=j.length>0?` (script line${j.length>1?"s":""} ${j.join(", ")})`:"",H=j.slice(0,3).map((L)=>` ${L} | ${(B[L-1]??"").trim().slice(0,100)}`).join(`
12543
- `),O=H?`
12661
+ `),j=[];U.forEach((O,F)=>{if(q.lastIndex=0,q.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(`
12662
+ `),L=H?`
12544
12663
  ${H}`:"";Q.push(` \u2717 ${W}${_}
12545
- \u2192 ${K}${O}`)}}if(Q.length>0&&Y.enabled){let q=(z)=>{let U=`${process.cwd()}/`;return z.startsWith(U)?z.slice(U.length):z},K=`[STX] DOM API violation in ${J&&J!==X?`${q(J)} (composed into ${q(X)})`:q(X)}:
12664
+ \u2192 ${K}${L}`)}}if(Q.length>0&&Y.enabled){let q=(z)=>{let U=`${process.cwd()}/`;return z.startsWith(U)?z.slice(U.length):z},K=`[STX] DOM API violation in ${J&&J!==X?`${q(J)} (composed into ${q(X)})`:q(X)}:
12546
12665
  ${Q.join(`
12547
12666
  `)}
12548
- Tip: prefer useRef(), navigate(), and composables for component code`;if(Y.failOnViolation)throw Error(K);else console.warn(K)}}var PH;var n4=E(()=>{PH=[{pattern:/document\.getElementById\s*\(/g,message:"document.getElementById() is prohibited",suggestion:'Use useRef("name") instead'},{pattern:/document\.querySelector\s*\(/g,message:"document.querySelector() is prohibited",suggestion:'Use useRef("name") instead'},{pattern:/document\.querySelectorAll\s*\(/g,message:"document.querySelectorAll() is prohibited",suggestion:'Use useRef("name") and access children instead'},{pattern:/document\.getElementsBy\w+\s*\(/g,message:"document.getElementsBy*() is prohibited",suggestion:'Use useRef("name") instead'},{pattern:/document\.createElement\s*\(/g,message:"document.createElement() is prohibited",suggestion:"Use template directives or component composition instead"},{pattern:/document\.activeElement(?![A-Za-z])/g,message:"document.activeElement is prohibited",suggestion:"Use useRef() to track focused elements"},{pattern:/document\.title\s*=/g,message:"document.title assignment is prohibited",suggestion:"Use useTitle() from composables"},{pattern:/document\.cookie(?![A-Za-z])/g,message:"document.cookie is prohibited",suggestion:"Use useCookie() from composables"},{pattern:/document\.addEventListener\s*\(/g,message:"document.addEventListener() is prohibited",suggestion:"Use useEventListener() or template @event directives"},{pattern:/window\.location(?![A-Za-z])/g,message:"window.location is prohibited",suggestion:"Use navigate() or useRoute()"},{pattern:/window\.history(?![A-Za-z])/g,message:"window.history is prohibited",suggestion:"Use navigate(), goBack(), goForward()"},{pattern:/window\.addEventListener\s*\(/g,message:"window.addEventListener() is prohibited",suggestion:"Use useEventListener() or @click directives"},{pattern:/(?:\bwindow\.)?localStorage(?![A-Za-z])/g,message:"window.localStorage is prohibited",suggestion:"Use useLocalStorage() from composables \u2014 or @appearanceBootstrap if this must run before first paint, where the runtime does not exist yet"},{pattern:/window\.sessionStorage(?![A-Za-z])/g,message:"window.sessionStorage is prohibited",suggestion:"Use useSessionStorage() from composables"},{pattern:/window\.scrollTo\s*\(/g,message:"window.scrollTo() is prohibited",suggestion:"Use useScroll().scrollTo() from composables"},{pattern:/window\.alert\s*\(/g,message:"window.alert() is prohibited",suggestion:"Use stx modal/dialog APIs instead"},{pattern:/window\.confirm\s*\(/g,message:"window.confirm() is prohibited",suggestion:"Use stx modal/dialog APIs instead"},{pattern:/window\.prompt\s*\(/g,message:"window.prompt() is prohibited",suggestion:"Use stx modal/dialog APIs instead"},{pattern:/(?<!\w)setTimeout\s*\(/g,message:"setTimeout() is prohibited",suggestion:"Use useTimeout() or useDebounce() from composables"},{pattern:/(?<!\w)setInterval\s*\(/g,message:"setInterval() is prohibited",suggestion:"Use useInterval() from composables"},{pattern:/(?<!\w)clearTimeout\s*\(/g,message:"clearTimeout() is prohibited",suggestion:"Use useTimeout().stop() or useDebounce().cancel()"},{pattern:/(?<!\w)clearInterval\s*\(/g,message:"clearInterval() is prohibited",suggestion:"Use useInterval().pause()"},{pattern:/(?<!\w)location\.href\s*=/g,message:"location.href assignment is prohibited",suggestion:"Use navigate() instead"},{pattern:/(?<!\w)location\.assign\s*\(/g,message:"location.assign() is prohibited",suggestion:"Use navigate() instead"},{pattern:/(?<!\w)location\.replace\s*\(/g,message:"location.replace() is prohibited",suggestion:"Use navigate() instead"}]});import vH from"fs";function K9($){return[...$].sort().map((X)=>{try{let Z=vH.statSync(X);return`${X}:${Z.size}:${Z.mtimeMs}`}catch{return`${X}:missing`}}).join(`
12549
- `)}function z9($,X,Z){let J=$.get(X);return J!==void 0&&J.signature===Z?J.value:void 0}function z1($,X,Z,J){return $.set(X,{signature:Z,value:J}),J}var r4=()=>{};var eQ={};t(eQ,{getStoreScript:()=>fH,clearStoreCache:()=>gH});import U9 from"path";function xH($,X){for(let Z of $.matchAll(/\b(?:const|let|var|function|class)\s+([A-Z_a-z$][\w$]*)/g))if(Z[1])X.add(Z[1]);for(let Z of $.matchAll(/\b(?:const|let|var)\s*\{([^{}]*)\}\s*=/g))for(let J of(Z[1]??"").split(",")){let G=((J.includes(":")?J.split(":").pop():J)??"").replace(/=.*$/s,"").replace(/^\s*\.\.\./,"").trim();if(/^[A-Z_a-z$][\w$]*$/.test(G))X.add(G)}for(let Z of $.matchAll(/\b(?:const|let|var)\s*\[([^\]]*)\]\s*=/g))for(let J of(Z[1]??"").split(",")){let Y=J.replace(/=.*$/s,"").replace(/^\s*\.\.\./,"").trim();if(/^[A-Z_a-z$][\w$]*$/.test(Y))X.add(Y)}}async function fH($){let X;if($)X=U9.resolve($);else{let j=await X1();X=U9.resolve(j.root||process.cwd(),j.storesDir||"stores")}let Z=new Bun.Glob("*.ts"),J=[];try{for await(let j of Z.scan({cwd:X,absolute:!0})){let _=U9.basename(j,".ts");if(["index","types"].includes(_))continue;if(j.includes(".d.ts"))continue;J.push(j)}}catch{return z1(i5,X,"",""),null}let Y=K9(J),G=z9(i5,X,Y);if(G!==void 0)return G||null;if(J.length===0)return z1(i5,X,Y,""),null;let Q=[];for(let j of J){let _=await Bun.file(j).text();Q.push({file:j,hasUseStore:/useStore\s*\(/.test(_)})}Q.sort((j,_)=>{if(j.hasUseStore===_.hasUseStore)return 0;return j.hasUseStore?1:-1});let w=Q.map((j)=>j.file),q=[],W=new Set,K=new Bun.Transpiler({loader:"ts",target:"browser",define:h0()});for(let j of w)try{let _=await Bun.file(j).text(),H=U9.basename(j,".ts");xH(_,W),_=c0(_),_=R8(_),_=_.replace(/^export\s+(default\s+)?/gm,""),_=K.transformSync(_),q.push(`// Store: ${H}
12550
- ${_.trim()}`)}catch(_){console.warn(`[stx] Failed to load store ${j}:`,_)}if(q.length===0)return z1(i5,X,Y,""),null;let z=q.join(`
12667
+ Tip: prefer useRef(), navigate(), and composables for component code`;if(Y.failOnViolation)throw Error(K);else console.warn(K)}}var pH;var e3=E(()=>{pH=[{pattern:/document\.getElementById\s*\(/g,message:"document.getElementById() is prohibited",suggestion:'Use useRef("name") instead'},{pattern:/document\.querySelector\s*\(/g,message:"document.querySelector() is prohibited",suggestion:'Use useRef("name") instead'},{pattern:/document\.querySelectorAll\s*\(/g,message:"document.querySelectorAll() is prohibited",suggestion:'Use useRef("name") and access children instead'},{pattern:/document\.getElementsBy\w+\s*\(/g,message:"document.getElementsBy*() is prohibited",suggestion:'Use useRef("name") instead'},{pattern:/document\.createElement\s*\(/g,message:"document.createElement() is prohibited",suggestion:"Use template directives or component composition instead"},{pattern:/document\.activeElement(?![A-Za-z])/g,message:"document.activeElement is prohibited",suggestion:"Use useRef() to track focused elements"},{pattern:/document\.title\s*=/g,message:"document.title assignment is prohibited",suggestion:"Use useTitle() from composables"},{pattern:/document\.cookie(?![A-Za-z])/g,message:"document.cookie is prohibited",suggestion:"Use useCookie() from composables"},{pattern:/document\.addEventListener\s*\(/g,message:"document.addEventListener() is prohibited",suggestion:"Use useEventListener() or template @event directives"},{pattern:/window\.location(?![A-Za-z])/g,message:"window.location is prohibited",suggestion:"Use navigate() or useRoute()"},{pattern:/window\.history(?![A-Za-z])/g,message:"window.history is prohibited",suggestion:"Use navigate(), goBack(), goForward()"},{pattern:/window\.addEventListener\s*\(/g,message:"window.addEventListener() is prohibited",suggestion:"Use useEventListener() or @click directives"},{pattern:/(?:\bwindow\.)?localStorage(?![A-Za-z])/g,message:"window.localStorage is prohibited",suggestion:"Use useLocalStorage() from composables \u2014 or @appearanceBootstrap if this must run before first paint, where the runtime does not exist yet"},{pattern:/window\.sessionStorage(?![A-Za-z])/g,message:"window.sessionStorage is prohibited",suggestion:"Use useSessionStorage() from composables"},{pattern:/window\.scrollTo\s*\(/g,message:"window.scrollTo() is prohibited",suggestion:"Use useScroll().scrollTo() from composables"},{pattern:/window\.alert\s*\(/g,message:"window.alert() is prohibited",suggestion:"Use stx modal/dialog APIs instead"},{pattern:/window\.confirm\s*\(/g,message:"window.confirm() is prohibited",suggestion:"Use stx modal/dialog APIs instead"},{pattern:/window\.prompt\s*\(/g,message:"window.prompt() is prohibited",suggestion:"Use stx modal/dialog APIs instead"},{pattern:/(?<!\w)setTimeout\s*\(/g,message:"setTimeout() is prohibited",suggestion:"Use useTimeout() or useDebounce() from composables"},{pattern:/(?<!\w)setInterval\s*\(/g,message:"setInterval() is prohibited",suggestion:"Use useInterval() from composables"},{pattern:/(?<!\w)clearTimeout\s*\(/g,message:"clearTimeout() is prohibited",suggestion:"Use useTimeout().stop() or useDebounce().cancel()"},{pattern:/(?<!\w)clearInterval\s*\(/g,message:"clearInterval() is prohibited",suggestion:"Use useInterval().pause()"},{pattern:/(?<!\w)location\.href\s*=/g,message:"location.href assignment is prohibited",suggestion:"Use navigate() instead"},{pattern:/(?<!\w)location\.assign\s*\(/g,message:"location.assign() is prohibited",suggestion:"Use navigate() instead"},{pattern:/(?<!\w)location\.replace\s*\(/g,message:"location.replace() is prohibited",suggestion:"Use navigate() instead"}]});import iH from"fs";function j9($){return[...$].sort().map((X)=>{try{let Z=iH.statSync(X);return`${X}:${Z.size}:${Z.mtimeMs}`}catch{return`${X}:missing`}}).join(`
12668
+ `)}function B9($,X,Z){let J=$.get(X);return J!==void 0&&J.signature===Z?J.value:void 0}function z1($,X,Z,J){return $.set(X,{signature:Z,value:J}),J}var $6=()=>{};var ww={};t(ww,{getStoreScript:()=>rH,clearStoreCache:()=>oH});import _9 from"path";function nH($,X){for(let Z of $.matchAll(/\b(?:const|let|var|function|class)\s+([A-Z_a-z$][\w$]*)/g))if(Z[1])X.add(Z[1]);for(let Z of $.matchAll(/\b(?:const|let|var)\s*\{([^{}]*)\}\s*=/g))for(let J of(Z[1]??"").split(",")){let G=((J.includes(":")?J.split(":").pop():J)??"").replace(/=.*$/s,"").replace(/^\s*\.\.\./,"").trim();if(/^[A-Z_a-z$][\w$]*$/.test(G))X.add(G)}for(let Z of $.matchAll(/\b(?:const|let|var)\s*\[([^\]]*)\]\s*=/g))for(let J of(Z[1]??"").split(",")){let Y=J.replace(/=.*$/s,"").replace(/^\s*\.\.\./,"").trim();if(/^[A-Z_a-z$][\w$]*$/.test(Y))X.add(Y)}}async function rH($){let X;if($)X=_9.resolve($);else{let j=await X1();X=_9.resolve(j.root||process.cwd(),j.storesDir||"stores")}let Z=new Bun.Glob("*.ts"),J=[];try{for await(let j of Z.scan({cwd:X,absolute:!0})){let _=_9.basename(j,".ts");if(["index","types"].includes(_))continue;if(j.includes(".d.ts"))continue;J.push(j)}}catch{return z1(n5,X,"",""),null}let Y=j9(J),G=B9(n5,X,Y);if(G!==void 0)return G||null;if(J.length===0)return z1(n5,X,Y,""),null;let Q=[];for(let j of J){let _=await Bun.file(j).text();Q.push({file:j,hasUseStore:/useStore\s*\(/.test(_)})}Q.sort((j,_)=>{if(j.hasUseStore===_.hasUseStore)return 0;return j.hasUseStore?1:-1});let w=Q.map((j)=>j.file),q=[],W=new Set,K=new Bun.Transpiler({loader:"ts",target:"browser",define:h0()});for(let j of w)try{let _=await Bun.file(j).text(),H=_9.basename(j,".ts");nH(_,W),_=c0(_),_=T8(_),_=_.replace(/^export\s+(default\s+)?/gm,""),_=K.transformSync(_),q.push(`// Store: ${H}
12669
+ ${_.trim()}`)}catch(_){console.warn(`[stx] Failed to load store ${j}:`,_)}if(q.length===0)return z1(n5,X,Y,""),null;let z=q.join(`
12551
12670
 
12552
12671
  `),B=`;(function(){
12553
12672
  var __stx = window.stx || {};
12554
12673
  ${O1.filter((j)=>!W.has(j)&&new RegExp(`\\b${j}\\b`).test(z)).map((j)=>`var ${j} = __stx[${JSON.stringify(j)}];`).join(`
12555
12674
  `)}
12556
12675
  ${z}
12557
- })();`;return z1(i5,X,Y,B),B}function gH(){i5.clear()}var i5;var $w=E(()=>{L1();E1();e0();r4();i5=new Map});var o4,rI;var Xw=E(()=>{o4=["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"],rI=new Set(o4)});var Yw={};t(Yw,{selectComposableFiles:()=>Zw,referencedFrameworkComposables:()=>Jw,getFrameworkComposableScript:()=>mH,clearFrameworkComposableCache:()=>uH,__setRuntimeOwnedForTest:()=>lH});import j9 from"path";function uH(){J8.clear()}function Zw($){let X=new Map;for(let Z of $){let J=j9.basename(Z);if(J.endsWith(".d.ts"))continue;let Y=J.replace(/\.[jt]s$/,"");if(Y==="index")continue;if(Y===J)continue;let G=X.get(Y);if(G&&!G.endsWith(".js"))continue;X.set(Y,Z)}return[...X.values()].sort()}function dH($,X){let Z=X.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(?:^|[^\\w$.])(?:const|let|var|function|class)\\s+${Z}\\b`).test($)}function Jw($){if(!$)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 J of hH){if(s4.has(J))continue;let Y=J.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");if(new RegExp(`(^|[^\\w$.])${Y}\\s*\\(`).test(X))Z.push(J)}return Z.sort()}async function mH($,X){let Z=Jw($);if(Z.length===0)return null;let J=X??j9.join(import.meta.dir,"composables"),Y=`${J}\x00${Z.join(",")}`,G=J8.get(Y);if(G!==void 0)return G||null;let Q=new Bun.Transpiler({loader:"ts",target:"browser",define:h0()}),w=new Set(Z),q=[],W=new Set,K=[];try{let j=new Bun.Glob("*.{ts,js}");for await(let _ of j.scan({cwd:J,absolute:!0}))K.push(_)}catch{return J8.set(Y,""),null}K=Zw(K);for(let j of K){let _;try{_=await Bun.file(j).text()}catch{continue}let H=[];try{H=Q.scan(_).exports.filter((O)=>O!=="default")}catch{continue}if(!H.some((O)=>w.has(O)))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,""),q.push(`// ${j9.basename(j).replace(/\.[jt]s$/,"")}
12558
- ${Q.transformSync(_).trim()}`);for(let O of H)W.add(O)}catch(O){console.warn(`[stx] framework composable ${j9.basename(j)} could not be bundled:`,O)}}let z=Z.filter((j)=>!W.has(j)&&!dH($,j));if(z.length>0)console.warn(`[stx] could not bundle ${z.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(q.length===0)return J8.set(Y,""),null;let U=[...W].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(`
12676
+ })();`;return z1(n5,X,Y,B),B}function oH(){n5.clear()}var n5;var qw=E(()=>{L1();D1();e0();$6();n5=new Map});var X6,qE;var Ww=E(()=>{X6=["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"],qE=new Set(X6)});var Uw={};t(Uw,{selectComposableFiles:()=>Kw,referencedFrameworkComposables:()=>zw,getFrameworkComposableScript:()=>eH,clearFrameworkComposableCache:()=>aH,__setRuntimeOwnedForTest:()=>$O});import H9 from"path";function aH(){G8.clear()}function Kw($){let X=new Map;for(let Z of $){let J=H9.basename(Z);if(J.endsWith(".d.ts"))continue;let Y=J.replace(/\.[jt]s$/,"");if(Y==="index")continue;if(Y===J)continue;let G=X.get(Y);if(G&&!G.endsWith(".js"))continue;X.set(Y,Z)}return[...X.values()].sort()}function tH($,X){let Z=X.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(?:^|[^\\w$.])(?:const|let|var|function|class)\\s+${Z}\\b`).test($)}function zw($){if(!$)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 J of sH){if(Z6.has(J))continue;let Y=J.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");if(new RegExp(`(^|[^\\w$.])${Y}\\s*\\(`).test(X))Z.push(J)}return Z.sort()}async function eH($,X){let Z=zw($);if(Z.length===0)return null;let J=X??H9.join(import.meta.dir,"composables"),Y=`${J}\x00${Z.join(",")}`,G=G8.get(Y);if(G!==void 0)return G||null;let Q=new Bun.Transpiler({loader:"ts",target:"browser",define:h0()}),w=new Set(Z),q=[],W=new Set,K=[];try{let j=new Bun.Glob("*.{ts,js}");for await(let _ of j.scan({cwd:J,absolute:!0}))K.push(_)}catch{return G8.set(Y,""),null}K=Kw(K);for(let j of K){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)=>w.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,""),q.push(`// ${H9.basename(j).replace(/\.[jt]s$/,"")}
12677
+ ${Q.transformSync(_).trim()}`);for(let L of H)W.add(L)}catch(L){console.warn(`[stx] framework composable ${H9.basename(j)} could not be bundled:`,L)}}let z=Z.filter((j)=>!W.has(j)&&!tH($,j));if(z.length>0)console.warn(`[stx] could not bundle ${z.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(q.length===0)return G8.set(Y,""),null;let U=[...W].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(`
12559
12678
  `),B=`<script data-stx-framework-composables>
12560
12679
  ;(function(){
12561
12680
  var __s = window.stx = window.stx || {};
@@ -12564,8 +12683,8 @@ ${q.join(`
12564
12683
  `)}
12565
12684
  ${U}
12566
12685
  })();
12567
- </script>`;return J8.set(Y,B),B}function lH($){s4.clear();for(let X of $)s4.add(X)}var J8,s4,hH;var Gw=E(()=>{E1();Xw();J8=new Map,s4=new Set,hH=new Set(o4)});var ww={};t(ww,{getComposableScript:()=>nH,clearComposableCache:()=>rH});import Y8 from"path";function Qw($){let X=Y8.basename($,".ts");return X==="index"||X==="types"||$.endsWith(".d.ts")}async function pH($){if($)return Y8.resolve($);let X=`<default>:${process.cwd()}`,Z=a4.get(X);if(Z!==void 0)return Z;let J=await iH();if(J!==null)a4.set(X,J);return J}async function iH(){let $=await X1(),X=$.root||process.cwd(),Z=$.composablesDir;if(Z)return Y8.resolve(X,Z);for(let J of cH){let Y=Y8.resolve(X,J);try{let G=new Bun.Glob("**/*.ts");for await(let Q of G.scan({cwd:Y,absolute:!0}))if(!Qw(Q))return Y}catch{}}return null}async function nH($){let X=await pH($);if(!X)return null;let Z=[];try{let j=new Bun.Glob("**/*.ts");for await(let _ of j.scan({cwd:X,absolute:!0})){if(Qw(_))continue;Z.push(_)}}catch{return z1(n5,X,"",""),null}let J=K9(Z),Y=z9(n5,X,J);if(Y!==void 0)return Y||null;if(Z.length===0)return z1(n5,X,J,""),null;Z.sort();let G=new Bun.Transpiler({loader:"ts",target:"browser",define:h0()}),Q=[],w=new Set,q=new Set;for(let j of Z)try{let _=await Bun.file(j).text(),H=Y8.basename(j,".ts");for(let O of _.matchAll(/\b(?:const|let|var|function|class)\s+([A-Z_a-z$][\w$]*)/g))if(O[1])q.add(O[1]);try{for(let O of G.scan(_).exports)if(O!=="default")w.add(O)}catch{}_=c0(_),_=R8(_),_=_.replace(/^export\s+(default\s+)?/gm,""),_=G.transformSync(_),Q.push(`// Composable: ${H}
12568
- ${_.trim()}`)}catch(_){console.warn(`[stx] Failed to load composable ${j}:`,_)}if(Q.length===0||w.size===0)return z1(n5,X,J,""),null;let W=[...w].map((j)=>` try { __c[${JSON.stringify(j)}] = ${j}; } catch (e) {}`).join(`
12686
+ </script>`;return G8.set(Y,B),B}function $O($){Z6.clear();for(let X of $)Z6.add(X)}var G8,Z6,sH;var jw=E(()=>{D1();Ww();G8=new Map,Z6=new Set,sH=new Set(X6)});var _w={};t(_w,{getComposableScript:()=>YO,clearComposableCache:()=>GO});import Q8 from"path";function Bw($){let X=Q8.basename($,".ts");return X==="index"||X==="types"||$.endsWith(".d.ts")}async function ZO($){if($)return Q8.resolve($);let X=`<default>:${process.cwd()}`,Z=J6.get(X);if(Z!==void 0)return Z;let J=await JO();if(J!==null)J6.set(X,J);return J}async function JO(){let $=await X1(),X=$.root||process.cwd(),Z=$.composablesDir;if(Z)return Q8.resolve(X,Z);for(let J of XO){let Y=Q8.resolve(X,J);try{let G=new Bun.Glob("**/*.ts");for await(let Q of G.scan({cwd:Y,absolute:!0}))if(!Bw(Q))return Y}catch{}}return null}async function YO($){let X=await ZO($);if(!X)return null;let Z=[];try{let j=new Bun.Glob("**/*.ts");for await(let _ of j.scan({cwd:X,absolute:!0})){if(Bw(_))continue;Z.push(_)}}catch{return z1(r5,X,"",""),null}let J=j9(Z),Y=B9(r5,X,J);if(Y!==void 0)return Y||null;if(Z.length===0)return z1(r5,X,J,""),null;Z.sort();let G=new Bun.Transpiler({loader:"ts",target:"browser",define:h0()}),Q=[],w=new Set,q=new Set;for(let j of Z)try{let _=await Bun.file(j).text(),H=Q8.basename(j,".ts");for(let L of _.matchAll(/\b(?:const|let|var|function|class)\s+([A-Z_a-z$][\w$]*)/g))if(L[1])q.add(L[1]);try{for(let L of G.scan(_).exports)if(L!=="default")w.add(L)}catch{}_=c0(_),_=T8(_),_=_.replace(/^export\s+(default\s+)?/gm,""),_=G.transformSync(_),Q.push(`// Composable: ${H}
12687
+ ${_.trim()}`)}catch(_){console.warn(`[stx] Failed to load composable ${j}:`,_)}if(Q.length===0||w.size===0)return z1(r5,X,J,""),null;let W=[...w].map((j)=>` try { __c[${JSON.stringify(j)}] = ${j}; } catch (e) {}`).join(`
12569
12688
  `),K=JSON.stringify([...w]),z=Q.join(`
12570
12689
 
12571
12690
  `),B=`;(function(){
@@ -12589,7 +12708,7 @@ ${W}
12589
12708
  }
12590
12709
  window[__n] = __c[__n];
12591
12710
  }
12592
- })();`;return z1(n5,X,J,B),B}function rH(){n5.clear(),a4.clear()}var n5,a4,cH;var qw=E(()=>{L1();E1();r4();e0();n5=new Map,a4=new Map,cH=["composables","functions"]});var Kw={};t(Kw,{processDeferDirectives:()=>eH});function oH(){return`stx-defer-${++Ww}`}function sH($){let X=$.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if(X)return{trigger:X[1],value:X[2]};return{trigger:"immediate"}}function aH($,X,Z){let{trigger:J,value:Y}=sH(X),G=Z,Q,w,q,W=Z.match(/@placeholder\s*([\s\S]*?)(?=@loading|@error|$)/);if(W)Q=W[1].trim(),G=G.replace(/@placeholder[\s\S]*?(?=@loading|@error|$)/,"");let K=Z.match(/@loading\s*([\s\S]*?)(?=@error|$)/);if(K)w=K[1].trim(),G=G.replace(/@loading[\s\S]*?(?=@error|$)/,"");let z=Z.match(/@error(?:\s*\(\s*(\w+)\s*\))?\s*([\s\S]*)$/);if(z)q=z[2].trim(),G=G.replace(/@error(?:\s*\(\s*\w+\s*\))?[\s\S]*$/,"");return G=G.trim(),{trigger:J,triggerValue:Y,content:G,placeholder:Q,loading:w,error:q}}function tH($,X){let{trigger:Z,triggerValue:J}=X,Y;switch(Z){case"visible":Y=`
12711
+ })();`;return z1(r5,X,J,B),B}function GO(){r5.clear(),J6.clear()}var r5,J6,XO;var Hw=E(()=>{L1();D1();$6();e0();r5=new Map,J6=new Map,XO=["composables","functions"]});var Lw={};t(Lw,{processDeferDirectives:()=>KO});function QO(){return`stx-defer-${++Ow}`}function wO($){let X=$.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if(X)return{trigger:X[1],value:X[2]};return{trigger:"immediate"}}function qO($,X,Z){let{trigger:J,value:Y}=wO(X),G=Z,Q,w,q,W=Z.match(/@placeholder\s*([\s\S]*?)(?=@loading|@error|$)/);if(W)Q=W[1].trim(),G=G.replace(/@placeholder[\s\S]*?(?=@loading|@error|$)/,"");let K=Z.match(/@loading\s*([\s\S]*?)(?=@error|$)/);if(K)w=K[1].trim(),G=G.replace(/@loading[\s\S]*?(?=@error|$)/,"");let z=Z.match(/@error(?:\s*\(\s*(\w+)\s*\))?\s*([\s\S]*)$/);if(z)q=z[2].trim(),G=G.replace(/@error(?:\s*\(\s*\w+\s*\))?[\s\S]*$/,"");return G=G.trim(),{trigger:J,triggerValue:Y,content:G,placeholder:Q,loading:w,error:q}}function WO($,X){let{trigger:Z,triggerValue:J}=X,Y;switch(Z){case"visible":Y=`
12593
12712
  const observer = new IntersectionObserver((entries) => {
12594
12713
  if (entries[0].isIntersecting) {
12595
12714
  observer.disconnect();
@@ -12662,7 +12781,7 @@ else {
12662
12781
  ${Y}
12663
12782
  })();
12664
12783
  </script>
12665
- `}function eH($,X,Z){Ww=0;let J=/@defer\s*\(([^)]*)\)\s*([\s\S]*?)@enddefer/g;return $.replace(J,(Y,G,Q)=>{let w=oH(),q=aH(Y,G,Q),W=q.placeholder?`<div data-defer-placeholder>${q.placeholder}</div>`:"",K=q.loading?`<div data-defer-loading style="display: none;">${q.loading}</div>`:'<div data-defer-loading style="display: none;"></div>',z=q.error?`<div data-defer-error style="display: none;">${q.error}</div>`:"",U=`<div data-defer-content style="display: none;">${q.content}</div>`,B=tH(w,q);return`
12784
+ `}function KO($,X,Z){Ow=0;let J=/@defer\s*\(([^)]*)\)\s*([\s\S]*?)@enddefer/g;return $.replace(J,(Y,G,Q)=>{let w=QO(),q=qO(Y,G,Q),W=q.placeholder?`<div data-defer-placeholder>${q.placeholder}</div>`:"",K=q.loading?`<div data-defer-loading style="display: none;">${q.loading}</div>`:'<div data-defer-loading style="display: none;"></div>',z=q.error?`<div data-defer-error style="display: none;">${q.error}</div>`:"",U=`<div data-defer-content style="display: none;">${q.content}</div>`,B=WO(w,q);return`
12666
12785
  <div id="${w}" class="stx-defer" data-defer-trigger="${q.trigger}">
12667
12786
  ${W}
12668
12787
  ${K}
@@ -12670,7 +12789,7 @@ else {
12670
12789
  ${z}
12671
12790
  </div>
12672
12791
  ${B}
12673
- `})}var Ww=0;var Uw={};t(Uw,{processTeleportDirectives:()=>JO,ensureTeleportTargets:()=>YO});function $O(){return`stx-teleport-${++zw}`}function XO($){let X=$.split(",").map((Y)=>Y.trim()),Z=X[0].replace(/['"]/g,""),J;for(let Y=1;Y<X.length;Y++){let G=X[Y].match(/disabled:\s*(.+)/);if(G)J=G[1].trim()}return{target:Z,disabled:J}}function ZO($,X){return`
12792
+ `})}var Ow=0;var Vw={};t(Vw,{processTeleportDirectives:()=>BO,ensureTeleportTargets:()=>_O});function zO(){return`stx-teleport-${++Fw}`}function UO($){let X=$.split(",").map((Y)=>Y.trim()),Z=X[0].replace(/['"]/g,""),J;for(let Y=1;Y<X.length;Y++){let G=X[Y].match(/disabled:\s*(.+)/);if(G)J=G[1].trim()}return{target:Z,disabled:J}}function jO($,X){return`
12674
12793
  <script>
12675
12794
  (function() {
12676
12795
  const source = document.getElementById('${$}');
@@ -12716,12 +12835,12 @@ else {
12716
12835
  });
12717
12836
  })();
12718
12837
  </script>
12719
- `}function JO($,X,Z){zw=0;let J=/@teleport\s*\(([^)]+)\)\s*([\s\S]*?)@endteleport/g;return $.replace(J,(Y,G,Q)=>{let w=$O(),{target:q,disabled:W}=XO(G),K=Q.trim();if(W)try{let U=!1;if(W==="true")U=!0;else if(W==="false")U=!1;else if(W in X)U=Boolean(X[W]);if(U)return`<div class="stx-teleport-inline" data-teleport-disabled>${K}</div>`}catch{}let z=ZO(w,q);return`
12838
+ `}function BO($,X,Z){Fw=0;let J=/@teleport\s*\(([^)]+)\)\s*([\s\S]*?)@endteleport/g;return $.replace(J,(Y,G,Q)=>{let w=zO(),{target:q,disabled:W}=UO(G),K=Q.trim();if(W)try{let U=!1;if(W==="true")U=!0;else if(W==="false")U=!1;else if(W in X)U=Boolean(X[W]);if(U)return`<div class="stx-teleport-inline" data-teleport-disabled>${K}</div>`}catch{}let z=jO(w,q);return`
12720
12839
  <div id="${w}" class="stx-teleport-source" style="display: none;">
12721
12840
  <template>${K}</template>
12722
12841
  </div>
12723
12842
  ${z}
12724
- `})}function YO(){return`
12843
+ `})}function _O(){return`
12725
12844
  <script>
12726
12845
  (function() {
12727
12846
  // Common teleport targets
@@ -12738,7 +12857,7 @@ else {
12738
12857
  });
12739
12858
  })();
12740
12859
  </script>
12741
- `}var zw=0;var Hw={};t(Hw,{processTransitionDirectives:()=>qO,processTransitionAttributes:()=>UO,performLeave:()=>wO,performEnter:()=>QO,generateTransitionRuntime:()=>zO,generateTransitionCSS:()=>KO});function jw($,X={}){return{enterFrom:X.enterClass||`${$}-enter-from`,enterActive:X.enterActiveClass||`${$}-enter-active`,enterTo:X.enterToClass||`${$}-enter-to`,leaveFrom:X.leaveClass||`${$}-leave-from`,leaveActive:X.leaveActiveClass||`${$}-leave-active`,leaveTo:X.leaveToClass||`${$}-leave-to`}}function GO($){let X=getComputedStyle($),Z=X.transitionDuration||"0s",J=X.animationDuration||"0s",Y=(G)=>{let Q=G.match(/^([\d.]+)(s|ms)?$/);if(!Q)return 0;let w=parseFloat(Q[1]);return(Q[2]||"s")==="ms"?w:w*1000};return Math.max(Y(Z),Y(J))}function Bw($,X){return new Promise((Z)=>{let J=X??GO($);if(J===0){Z();return}let Y=!1,G=()=>{if(Y)return;Y=!0,$.removeEventListener("transitionend",Q),$.removeEventListener("animationend",Q),Z()},Q=(w)=>{if(w.target===$)G()};$.addEventListener("transitionend",Q),$.addEventListener("animationend",Q),setTimeout(G,J+50)})}function _w($){$.offsetHeight}async function QO($,X={}){let Z=X.name||"stx",J=jw(Z,X),Y=typeof X.duration==="object"?X.duration.enter:X.duration;if(X.onBeforeEnter?.($),$.classList.add(J.enterFrom),$.classList.add(J.enterActive),_w($),$.classList.remove(J.enterFrom),$.classList.add(J.enterTo),X.onEnter)await new Promise((G)=>{X.onEnter($,G)});else await Bw($,Y);$.classList.remove(J.enterActive),$.classList.remove(J.enterTo),X.onAfterEnter?.($)}async function wO($,X={}){let Z=X.name||"stx",J=jw(Z,X),Y=typeof X.duration==="object"?X.duration.leave:X.duration;if(X.onBeforeLeave?.($),$.classList.add(J.leaveFrom),$.classList.add(J.leaveActive),_w($),$.classList.remove(J.leaveFrom),$.classList.add(J.leaveTo),X.onLeave)await new Promise((G)=>{X.onLeave($,G)});else await Bw($,Y);$.classList.remove(J.leaveActive),$.classList.remove(J.leaveTo),X.onAfterLeave?.($)}function qO($,X={},Z){let J=/@transition\s*\(([^)]*)\)([\s\S]*?)@endtransition/gi;return $.replace(J,(Y,G,Q)=>{let w=WO(G),q=w.name||"stx",W=w.duration||300,K=`stx-transition-${Math.random().toString(36).slice(2,9)}`;return`
12860
+ `}var Fw=0;var Tw={};t(Tw,{processTransitionDirectives:()=>FO,processTransitionAttributes:()=>NO,performLeave:()=>LO,performEnter:()=>OO,generateTransitionRuntime:()=>RO,generateTransitionCSS:()=>AO});function Aw($,X={}){return{enterFrom:X.enterClass||`${$}-enter-from`,enterActive:X.enterActiveClass||`${$}-enter-active`,enterTo:X.enterToClass||`${$}-enter-to`,leaveFrom:X.leaveClass||`${$}-leave-from`,leaveActive:X.leaveActiveClass||`${$}-leave-active`,leaveTo:X.leaveToClass||`${$}-leave-to`}}function HO($){let X=getComputedStyle($),Z=X.transitionDuration||"0s",J=X.animationDuration||"0s",Y=(G)=>{let Q=G.match(/^([\d.]+)(s|ms)?$/);if(!Q)return 0;let w=parseFloat(Q[1]);return(Q[2]||"s")==="ms"?w:w*1000};return Math.max(Y(Z),Y(J))}function Rw($,X){return new Promise((Z)=>{let J=X??HO($);if(J===0){Z();return}let Y=!1,G=()=>{if(Y)return;Y=!0,$.removeEventListener("transitionend",Q),$.removeEventListener("animationend",Q),Z()},Q=(w)=>{if(w.target===$)G()};$.addEventListener("transitionend",Q),$.addEventListener("animationend",Q),setTimeout(G,J+50)})}function Nw($){$.offsetHeight}async function OO($,X={}){let Z=X.name||"stx",J=Aw(Z,X),Y=typeof X.duration==="object"?X.duration.enter:X.duration;if(X.onBeforeEnter?.($),$.classList.add(J.enterFrom),$.classList.add(J.enterActive),Nw($),$.classList.remove(J.enterFrom),$.classList.add(J.enterTo),X.onEnter)await new Promise((G)=>{X.onEnter($,G)});else await Rw($,Y);$.classList.remove(J.enterActive),$.classList.remove(J.enterTo),X.onAfterEnter?.($)}async function LO($,X={}){let Z=X.name||"stx",J=Aw(Z,X),Y=typeof X.duration==="object"?X.duration.leave:X.duration;if(X.onBeforeLeave?.($),$.classList.add(J.leaveFrom),$.classList.add(J.leaveActive),Nw($),$.classList.remove(J.leaveFrom),$.classList.add(J.leaveTo),X.onLeave)await new Promise((G)=>{X.onLeave($,G)});else await Rw($,Y);$.classList.remove(J.leaveActive),$.classList.remove(J.leaveTo),X.onAfterLeave?.($)}function FO($,X={},Z){let J=/@transition\s*\(([^)]*)\)([\s\S]*?)@endtransition/gi;return $.replace(J,(Y,G,Q)=>{let w=VO(G),q=w.name||"stx",W=w.duration||300,K=`stx-transition-${Math.random().toString(36).slice(2,9)}`;return`
12742
12861
  <div
12743
12862
  class="stx-transition-wrapper"
12744
12863
  data-transition="${q}"
@@ -12780,7 +12899,7 @@ else {
12780
12899
  });
12781
12900
  })();
12782
12901
  </script>
12783
- `})}function WO($){let X={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,J;while((J=Z.exec($))!==null){let Y=J[1],G=J[2]||J[3]||J[4]||J[5];switch(Y){case"name":X.name=G;break;case"duration":X.duration=parseInt(G,10);break;case"mode":X.mode=G;break;case"easing":X.easing=G;break}}return X}function KO(){return`
12902
+ `})}function VO($){let X={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,J;while((J=Z.exec($))!==null){let Y=J[1],G=J[2]||J[3]||J[4]||J[5];switch(Y){case"name":X.name=G;break;case"duration":X.duration=parseInt(G,10);break;case"mode":X.mode=G;break;case"easing":X.easing=G;break}}return X}function AO(){return`
12784
12903
  /* STX Transition Presets */
12785
12904
 
12786
12905
  /* Fade */
@@ -12967,7 +13086,7 @@ else {
12967
13086
  opacity: 1;
12968
13087
  max-height: 1000px;
12969
13088
  }
12970
- `}function zO(){return`
13089
+ `}function RO(){return`
12971
13090
  // STX Transition Runtime
12972
13091
  (function() {
12973
13092
  if (typeof window === 'undefined') return;
@@ -13056,7 +13175,7 @@ else {
13056
13175
 
13057
13176
  console.log('[stx] Transition runtime initialized');
13058
13177
  })();
13059
- `}function UO($){let X=/@transition\.([a-z-]+)(?:\.(\d+))?="([^"]+)"/gi;return $.replace(X,(Z,J,Y,G)=>{let Q=Y||"300",w=`stx-t-${Math.random().toString(36).slice(2,7)}`;return`data-stx-transition="${J}" data-stx-transition-duration="${Q}" data-stx-transition-condition="${G}" data-stx-transition-id="${w}"`})}var Lw={};t(Lw,{withErrorBoundary:()=>Ow,processErrorBoundaryDirectives:()=>_O,generateErrorBoundaryRuntime:()=>VO,generateErrorBoundaryCSS:()=>FO,createErrorBoundary:()=>LO});function BO(){return`eb-${++jO}-${Date.now().toString(36)}`}function _O($,X={},Z){let J=/@errorBoundary(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@enderrorBoundary/gi;return $.replace(J,(Y,G,Q,w)=>{let q=BO(),W=HO(G||"");return OO(q,Q.trim(),w.trim(),W)})}function HO($){let X={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\w+))/g,J;while((J=Z.exec($))!==null){let Y=J[1],G=J[2]||J[3]||J[4];switch(Y){case"id":X.id=G;break;case"logErrors":X.logErrors=G==="true";break}}return X}function OO($,X,Z,J){let Y=J.logErrors!==!1;return`
13178
+ `}function NO($){let X=/@transition\.([a-z-]+)(?:\.(\d+))?="([^"]+)"/gi;return $.replace(X,(Z,J,Y,G)=>{let Q=Y||"300",w=`stx-t-${Math.random().toString(36).slice(2,7)}`;return`data-stx-transition="${J}" data-stx-transition-duration="${Q}" data-stx-transition-condition="${G}" data-stx-transition-id="${w}"`})}var kw={};t(kw,{withErrorBoundary:()=>Mw,processErrorBoundaryDirectives:()=>kO,generateErrorBoundaryRuntime:()=>bO,generateErrorBoundaryCSS:()=>yO,createErrorBoundary:()=>DO});function MO(){return`eb-${++TO}-${Date.now().toString(36)}`}function kO($,X={},Z){let J=/@errorBoundary(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@enderrorBoundary/gi;return $.replace(J,(Y,G,Q,w)=>{let q=MO(),W=IO(G||"");return EO(q,Q.trim(),w.trim(),W)})}function IO($){let X={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\w+))/g,J;while((J=Z.exec($))!==null){let Y=J[1],G=J[2]||J[3]||J[4];switch(Y){case"id":X.id=G;break;case"logErrors":X.logErrors=G==="true";break}}return X}function EO($,X,Z,J){let Y=J.logErrors!==!1;return`
13060
13179
  <div class="stx-error-boundary" data-boundary-id="${$}" data-has-error="false">
13061
13180
  <div class="stx-error-boundary-content" data-boundary-content="${$}">
13062
13181
  ${X}
@@ -13176,7 +13295,7 @@ else {
13176
13295
  };
13177
13296
  })();
13178
13297
  </script>
13179
- `}async function Ow($,X,Z){try{return await $()}catch(J){if(Z)Z(J instanceof Error?J:Error(String(J)));else console.error("[stx:errorBoundary] SSR Error:",J);return X}}function LO($,X={}){let Z=X.onError?(J)=>X.onError(J,{timestamp:Date.now(),boundaryId:"ssr"}):void 0;return(J)=>Ow(J,$,Z)}function FO(){return`
13298
+ `}async function Mw($,X,Z){try{return await $()}catch(J){if(Z)Z(J instanceof Error?J:Error(String(J)));else console.error("[stx:errorBoundary] SSR Error:",J);return X}}function DO($,X={}){let Z=X.onError?(J)=>X.onError(J,{timestamp:Date.now(),boundaryId:"ssr"}):void 0;return(J)=>Mw(J,$,Z)}function yO(){return`
13180
13299
  /* STX Error Boundary Styles */
13181
13300
  .stx-error-boundary {
13182
13301
  position: relative;
@@ -13220,7 +13339,7 @@ else {
13220
13339
  color: #fecaca;
13221
13340
  }
13222
13341
  }
13223
- `}function VO(){return`
13342
+ `}function bO(){return`
13224
13343
  // STX Error Boundary Runtime
13225
13344
  (function() {
13226
13345
  if (typeof window === 'undefined') return;
@@ -13285,7 +13404,7 @@ else {
13285
13404
 
13286
13405
  console.log('[stx] Error boundary runtime initialized');
13287
13406
  })();
13288
- `}var jO=0;var Fw={};t(Fw,{renderSSRSuspense:()=>IO,processSuspenseDirectives:()=>NO,generateSuspenseRuntime:()=>DO,generateSuspenseCSS:()=>EO,createSSRSuspense:()=>kO});function RO(){return`suspense-${++AO}-${Date.now().toString(36)}`}function NO($,X={},Z){let J=/@suspense(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@endsuspense/gi;return $.replace(J,(Y,G,Q,w)=>{let q=RO(),W=TO(G||"");return MO(q,Q.trim(),w.trim(),W)})}function TO($){let X={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,J;while((J=Z.exec($))!==null){let Y=J[1],G=J[2]||J[3],Q=J[4];switch(Y){case"id":X.id=G;break;case"timeout":X.timeout=Q?parseInt(Q,10):void 0;break}}return X}function MO($,X,Z,J){let Y=J.timeout||30000,G=J.id||$;return`
13407
+ `}var TO=0;var Iw={};t(Iw,{renderSSRSuspense:()=>gO,processSuspenseDirectives:()=>PO,generateSuspenseRuntime:()=>uO,generateSuspenseCSS:()=>hO,createSSRSuspense:()=>fO});function CO(){return`suspense-${++SO}-${Date.now().toString(36)}`}function PO($,X={},Z){let J=/@suspense(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@endsuspense/gi;return $.replace(J,(Y,G,Q,w)=>{let q=CO(),W=vO(G||"");return xO(q,Q.trim(),w.trim(),W)})}function vO($){let X={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,J;while((J=Z.exec($))!==null){let Y=J[1],G=J[2]||J[3],Q=J[4];switch(Y){case"id":X.id=G;break;case"timeout":X.timeout=Q?parseInt(Q,10):void 0;break}}return X}function xO($,X,Z,J){let Y=J.timeout||30000,G=J.id||$;return`
13289
13408
  <div class="stx-suspense" data-suspense-id="${$}" data-custom-id="${G}" data-status="pending">
13290
13409
  <div class="stx-suspense-fallback" data-suspense-fallback="${$}">
13291
13410
  ${Z}
@@ -13475,7 +13594,7 @@ else {
13475
13594
  }, 0);
13476
13595
  })();
13477
13596
  </script>
13478
- `}function kO($,X,Z){return{id:$,fallback:Z,content:X}}async function IO($){let X=$.map((J)=>`
13597
+ `}function fO($,X,Z){return{id:$,fallback:Z,content:X}}async function gO($){let X=$.map((J)=>`
13479
13598
  <div id="stx-ssr-suspense-${J.id}" class="stx-ssr-suspense">
13480
13599
  ${J.fallback}
13481
13600
  </div>
@@ -13500,7 +13619,7 @@ else {
13500
13619
  }
13501
13620
  })();
13502
13621
  </script>
13503
- `}}return{initial:X,streaming:Z()}}function EO(){return`
13622
+ `}}return{initial:X,streaming:Z()}}function hO(){return`
13504
13623
  /* STX Suspense Styles */
13505
13624
  .stx-suspense {
13506
13625
  position: relative;
@@ -13556,7 +13675,7 @@ else {
13556
13675
  background-size: 200% 100%;
13557
13676
  }
13558
13677
  }
13559
- `}function DO(){return`
13678
+ `}function uO(){return`
13560
13679
  // STX Suspense Runtime
13561
13680
  (function() {
13562
13681
  if (typeof window === 'undefined') return;
@@ -13623,7 +13742,7 @@ else {
13623
13742
 
13624
13743
  console.log('[stx] Suspense runtime initialized');
13625
13744
  })();
13626
- `}var AO=0;var Nw={};t(Nw,{processAsyncDirectives:()=>bO,isAsyncComponent:()=>CO,generateAsyncComponentRuntime:()=>vO,generateAsyncComponentCSS:()=>PO,defineAsyncComponent:()=>SO});function Vw(){return`async-${++yO}-${Date.now().toString(36)}`}function bO($,X={},Z){let J=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@error\s*([\s\S]*?)@endasync/gi,Y=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@endasync/gi,G=$;return G=G.replace(J,(Q,w,q,W)=>{let K=Vw(),z=Aw(w);return Rw(K,z,q.trim(),W.trim())}),G=G.replace(Y,(Q,w,q)=>{let W=Vw(),K=Aw(w);return Rw(W,K,q.trim(),'<div class="stx-async-error">Failed to load component</div>')}),G}function Aw($){let X={component:"",timeout:30000,delay:200,suspensible:!0,retries:0},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,J;while((J=Z.exec($))!==null){let Y=J[1],G=J[2]||J[3],Q=J[4],w=J[5];switch(Y){case"component":X.component=G||w||"";break;case"timeout":X.timeout=Q?parseInt(Q,10):30000;break;case"delay":X.delay=Q?parseInt(Q,10):200;break;case"suspensible":X.suspensible=w==="true";break;case"retries":X.retries=Q?parseInt(Q,10):0;break;case"loadingComponent":X.loadingComponent=G||w;break;case"errorComponent":X.errorComponent=G||w;break}}return X}function Rw($,X,Z,J){let{component:Y,timeout:G,delay:Q,suspensible:w,retries:q}=X;return`
13745
+ `}var SO=0;var bw={};t(bw,{processAsyncDirectives:()=>mO,isAsyncComponent:()=>cO,generateAsyncComponentRuntime:()=>iO,generateAsyncComponentCSS:()=>pO,defineAsyncComponent:()=>lO});function Ew(){return`async-${++dO}-${Date.now().toString(36)}`}function mO($,X={},Z){let J=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@error\s*([\s\S]*?)@endasync/gi,Y=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@endasync/gi,G=$;return G=G.replace(J,(Q,w,q,W)=>{let K=Ew(),z=Dw(w);return yw(K,z,q.trim(),W.trim())}),G=G.replace(Y,(Q,w,q)=>{let W=Ew(),K=Dw(w);return yw(W,K,q.trim(),'<div class="stx-async-error">Failed to load component</div>')}),G}function Dw($){let X={component:"",timeout:30000,delay:200,suspensible:!0,retries:0},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,J;while((J=Z.exec($))!==null){let Y=J[1],G=J[2]||J[3],Q=J[4],w=J[5];switch(Y){case"component":X.component=G||w||"";break;case"timeout":X.timeout=Q?parseInt(Q,10):30000;break;case"delay":X.delay=Q?parseInt(Q,10):200;break;case"suspensible":X.suspensible=w==="true";break;case"retries":X.retries=Q?parseInt(Q,10):0;break;case"loadingComponent":X.loadingComponent=G||w;break;case"errorComponent":X.errorComponent=G||w;break}}return X}function yw($,X,Z,J){let{component:Y,timeout:G,delay:Q,suspensible:w,retries:q}=X;return`
13627
13746
  <div class="stx-async-component" data-async-id="${$}" data-component="${Y}" data-status="pending">
13628
13747
  <div class="stx-async-loading" data-async-loading="${$}">
13629
13748
  ${Z}
@@ -13850,7 +13969,7 @@ catch (error) {
13850
13969
  loadComponent();
13851
13970
  })();
13852
13971
  </script>
13853
- `}function SO($){return{__asyncComponent:!0,...typeof $==="function"?{loader:$}:$}}function CO($){return typeof $==="object"&&$!==null&&"__asyncComponent"in $&&$.__asyncComponent===!0}function PO(){return`
13972
+ `}function lO($){return{__asyncComponent:!0,...typeof $==="function"?{loader:$}:$}}function cO($){return typeof $==="object"&&$!==null&&"__asyncComponent"in $&&$.__asyncComponent===!0}function pO(){return`
13854
13973
  /* STX Async Component Styles */
13855
13974
  .stx-async-component {
13856
13975
  position: relative;
@@ -13924,7 +14043,7 @@ catch (error) {
13924
14043
  background-size: 200% 100%;
13925
14044
  }
13926
14045
  }
13927
- `}function vO(){return`
14046
+ `}function iO(){return`
13928
14047
  // STX Async Component Runtime
13929
14048
  (function() {
13930
14049
  if (typeof window === 'undefined') return;
@@ -13978,7 +14097,7 @@ catch (error) {
13978
14097
 
13979
14098
  console.log('[stx] Async component runtime initialized');
13980
14099
  })();
13981
- `}var yO=0;var Mw={};t(Mw,{shouldCacheComponent:()=>dO,processKeepAliveDirectives:()=>fO,onDeactivated:()=>pO,onActivated:()=>cO,generateKeepAliveRuntime:()=>lO,generateKeepAliveCSS:()=>mO,createKeepAliveCache:()=>uO});function Tw(){return`keep-alive-${++xO}-${Date.now().toString(36)}`}function fO($,X={},Z){let J=/@keepAlive(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@endkeepAlive/gi;return $.replace(J,(Y,G,Q)=>{let w=Tw(),q=gO(G||"");return hO(w,Q.trim(),q)})}function gO($){let X={max:10},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,J;while((J=Z.exec($))!==null){let Y=J[1],G=J[2]||J[3],Q=J[4];switch(Y){case"max":X.max=Q?parseInt(Q,10):10;break;case"include":X.include=G;break;case"exclude":X.exclude=G;break;case"id":X.id=G;break}}return X}function hO($,X,Z){let{max:J,include:Y,exclude:G}=Z,Q=Z.id||$;return`
14100
+ `}var dO=0;var Cw={};t(Cw,{shouldCacheComponent:()=>tO,processKeepAliveDirectives:()=>rO,onDeactivated:()=>ZL,onActivated:()=>XL,generateKeepAliveRuntime:()=>$L,generateKeepAliveCSS:()=>eO,createKeepAliveCache:()=>aO});function Sw(){return`keep-alive-${++nO}-${Date.now().toString(36)}`}function rO($,X={},Z){let J=/@keepAlive(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@endkeepAlive/gi;return $.replace(J,(Y,G,Q)=>{let w=Sw(),q=oO(G||"");return sO(w,Q.trim(),q)})}function oO($){let X={max:10},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,J;while((J=Z.exec($))!==null){let Y=J[1],G=J[2]||J[3],Q=J[4];switch(Y){case"max":X.max=Q?parseInt(Q,10):10;break;case"include":X.include=G;break;case"exclude":X.exclude=G;break;case"id":X.id=G;break}}return X}function sO($,X,Z){let{max:J,include:Y,exclude:G}=Z,Q=Z.id||$;return`
13982
14101
  <div class="stx-keep-alive" data-keep-alive-id="${$}" data-custom-id="${Q}">
13983
14102
  <div class="stx-keep-alive-content" data-keep-alive-content="${$}">
13984
14103
  ${X}
@@ -14265,7 +14384,7 @@ else {
14265
14384
  });
14266
14385
  })();
14267
14386
  </script>
14268
- `}function uO($={}){return{id:$.id||Tw(),cache:new Map,max:$.max||10,include:$.include?$.include.split(",").map((Z)=>Z.trim()):null,exclude:$.exclude?$.exclude.split(",").map((Z)=>Z.trim()):null}}function dO($,X){if(X.exclude&&X.exclude.includes($))return!1;if(X.include&&!X.include.includes($))return!1;return!0}function mO(){return`
14387
+ `}function aO($={}){return{id:$.id||Sw(),cache:new Map,max:$.max||10,include:$.include?$.include.split(",").map((Z)=>Z.trim()):null,exclude:$.exclude?$.exclude.split(",").map((Z)=>Z.trim()):null}}function tO($,X){if(X.exclude&&X.exclude.includes($))return!1;if(X.include&&!X.include.includes($))return!1;return!0}function eO(){return`
14269
14388
  /* STX Keep-Alive Styles */
14270
14389
  .stx-keep-alive {
14271
14390
  position: relative;
@@ -14290,7 +14409,7 @@ else {
14290
14409
  .stx-keep-alive-content > [data-activated] {
14291
14410
  opacity: 1;
14292
14411
  }
14293
- `}function lO(){return`
14412
+ `}function $L(){return`
14294
14413
  // STX Keep-Alive Runtime
14295
14414
  (function() {
14296
14415
  if (typeof window === 'undefined') return;
@@ -14326,12 +14445,12 @@ else {
14326
14445
 
14327
14446
  console.log('[stx] Keep-alive runtime initialized');
14328
14447
  })();
14329
- `}function cO($){if(typeof document<"u")document.addEventListener("stx:activated",(X)=>{$(X.detail)})}function pO($){if(typeof document<"u")document.addEventListener("stx:deactivated",(X)=>{$(X.detail)})}var xO=0;var yw={};t(yw,{useVirtualList:()=>Iw,processVirtualListDirectives:()=>e4,processVirtualGridDirectives:()=>Dw,processInfiniteListDirectives:()=>Ew,generateVirtualListCSS:()=>kw,default:()=>iO,createVirtualList:()=>t4});function t4($,X){let{itemHeight:Z,containerHeight:J,overscan:Y=3,keyProperty:G="id",dynamicHeight:Q=!1,estimatedItemHeight:w=Z,direction:q="vertical"}=X,W=[...$],K=0,z=new Map;function U(){if(Q)return B();let A=Math.max(0,Math.floor(K/Z)-Y),N=Math.ceil(J/Z),M=Math.min(W.length-1,A+N+Y*2);return{startIndex:A,endIndex:M}}function B(){let A=0,N=0,M=W.length-1;for(let T=0;T<W.length;T++){let k=z.get(T)||w;if(A+k>K){N=Math.max(0,T-Y);break}A+=k}A=0;for(let T=0;T<W.length;T++){let k=z.get(T)||w;if(A+=k,A>K+J){M=Math.min(W.length-1,T+Y);break}}return{startIndex:N,endIndex:M}}function j(){if(Q){let A=0;for(let N=0;N<W.length;N++)A+=z.get(N)||w;return A}return W.length*Z}function _(A){if(Q){let N=0;for(let M=0;M<A;M++)N+=z.get(M)||w;return N}return A*Z}function H(){let{startIndex:A,endIndex:N}=U();return{startIndex:A,endIndex:N,scrollTop:K,totalHeight:j(),visibleItems:W.slice(A,N+1),itemHeights:new Map(z)}}function O(A,N="auto"){let M=_(A);L(M,N)}function L(A,N="auto"){K=Math.max(0,Math.min(A,j()-J))}function F(){U()}function V(A){W=[...A],z.clear(),F()}function R(){W=[],z.clear()}return{scrollToIndex:O,scrollToOffset:L,getState:H,refresh:F,setItems:V,destroy:R}}function e4($,X={},Z){let J=/@virtualList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualList/gi;return $.replace(J,(Y,G,Q,w)=>{let q=G.trim(),W=X[q];if(!W||!Array.isArray(W))return`<!-- virtualList: items "${q}" not found or not an array -->`;let K={itemHeight:50,containerHeight:400,overscan:3};if(Q)try{let L=Q.trim(),F=Function(`return ${L}`)();K={...K,...F}}catch{}let z=`vlist-${Math.random().toString(36).substring(2,9)}`,U=Math.ceil(K.containerHeight/K.itemHeight),B=K.overscan||3,j=0,_=Math.min(W.length-1,U+B),H="";for(let L=j;L<=_&&L<W.length;L++){let F=W[L],V=w.replace(/\{\{\s*item\s*\}\}/g,typeof F==="object"?JSON.stringify(F):String(F)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(R,A)=>{if(typeof F==="object"&&F!==null)return String(F[A]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(L));H+=`
14448
+ `}function XL($){if(typeof document<"u")document.addEventListener("stx:activated",(X)=>{$(X.detail)})}function ZL($){if(typeof document<"u")document.addEventListener("stx:deactivated",(X)=>{$(X.detail)})}var nO=0;var gw={};t(gw,{useVirtualList:()=>vw,processVirtualListDirectives:()=>G6,processVirtualGridDirectives:()=>fw,processInfiniteListDirectives:()=>xw,generateVirtualListCSS:()=>Pw,default:()=>JL,createVirtualList:()=>Y6});function Y6($,X){let{itemHeight:Z,containerHeight:J,overscan:Y=3,keyProperty:G="id",dynamicHeight:Q=!1,estimatedItemHeight:w=Z,direction:q="vertical"}=X,W=[...$],K=0,z=new Map;function U(){if(Q)return B();let R=Math.max(0,Math.floor(K/Z)-Y),N=Math.ceil(J/Z),M=Math.min(W.length-1,R+N+Y*2);return{startIndex:R,endIndex:M}}function B(){let R=0,N=0,M=W.length-1;for(let T=0;T<W.length;T++){let k=z.get(T)||w;if(R+k>K){N=Math.max(0,T-Y);break}R+=k}R=0;for(let T=0;T<W.length;T++){let k=z.get(T)||w;if(R+=k,R>K+J){M=Math.min(W.length-1,T+Y);break}}return{startIndex:N,endIndex:M}}function j(){if(Q){let R=0;for(let N=0;N<W.length;N++)R+=z.get(N)||w;return R}return W.length*Z}function _(R){if(Q){let N=0;for(let M=0;M<R;M++)N+=z.get(M)||w;return N}return R*Z}function H(){let{startIndex:R,endIndex:N}=U();return{startIndex:R,endIndex:N,scrollTop:K,totalHeight:j(),visibleItems:W.slice(R,N+1),itemHeights:new Map(z)}}function L(R,N="auto"){let M=_(R);O(M,N)}function O(R,N="auto"){K=Math.max(0,Math.min(R,j()-J))}function F(){U()}function V(R){W=[...R],z.clear(),F()}function A(){W=[],z.clear()}return{scrollToIndex:L,scrollToOffset:O,getState:H,refresh:F,setItems:V,destroy:A}}function G6($,X={},Z){let J=/@virtualList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualList/gi;return $.replace(J,(Y,G,Q,w)=>{let q=G.trim(),W=X[q];if(!W||!Array.isArray(W))return`<!-- virtualList: items "${q}" not found or not an array -->`;let K={itemHeight:50,containerHeight:400,overscan:3};if(Q)try{let O=Q.trim(),F=Function(`return ${O}`)();K={...K,...F}}catch{}let z=`vlist-${Math.random().toString(36).substring(2,9)}`,U=Math.ceil(K.containerHeight/K.itemHeight),B=K.overscan||3,j=0,_=Math.min(W.length-1,U+B),H="";for(let O=j;O<=_&&O<W.length;O++){let F=W[O],V=w.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+=`
14330
14449
  <div class="virtual-item ${K.itemClass||""}"
14331
- style="position: absolute; top: ${L*K.itemHeight}px; height: ${K.itemHeight}px; width: 100%;"
14332
- data-index="${L}">
14450
+ style="position: absolute; top: ${O*K.itemHeight}px; height: ${K.itemHeight}px; width: 100%;"
14451
+ data-index="${O}">
14333
14452
  ${V}
14334
- </div>`}let O=W.length*K.itemHeight;return`
14453
+ </div>`}let L=W.length*K.itemHeight;return`
14335
14454
  <div id="${z}"
14336
14455
  class="virtual-list-container ${K.containerClass||""}"
14337
14456
  style="position: relative; height: ${K.containerHeight}px; overflow-y: auto;"
@@ -14339,7 +14458,7 @@ else {
14339
14458
  data-total-items="${W.length}"
14340
14459
  data-overscan="${B}">
14341
14460
  <div class="virtual-list-viewport ${K.viewportClass||""}"
14342
- style="position: relative; height: ${O}px; width: 100%;">
14461
+ style="position: relative; height: ${L}px; width: 100%;">
14343
14462
  ${H}
14344
14463
  </div>
14345
14464
  </div>
@@ -14403,7 +14522,7 @@ else {
14403
14522
  };
14404
14523
  })();
14405
14524
  </script>
14406
- `})}function kw(){return`
14525
+ `})}function Pw(){return`
14407
14526
  .virtual-list-container {
14408
14527
  position: relative;
14409
14528
  overflow-y: auto;
@@ -14451,7 +14570,7 @@ else {
14451
14570
  0% { background-position: 200% 0; }
14452
14571
  100% { background-position: -200% 0; }
14453
14572
  }
14454
- `}function Iw($,X){let Z=null,J=()=>{if(!Z)Z=t4($(),X);return Z};return{visibleItems:()=>{return J().getState().visibleItems},totalHeight:()=>{return J().getState().totalHeight},containerProps:()=>({style:{height:`${X.containerHeight}px`,overflow:"auto",position:"relative"},onScroll:(Y)=>{let G=Y.target;if(Z)Z.scrollToOffset(G.scrollTop)}}),itemProps:(Y)=>({style:{position:"absolute",top:`${Y*X.itemHeight}px`,height:`${X.itemHeight}px`,width:"100%"},"data-index":Y}),scrollToIndex:(Y)=>{J().scrollToIndex(Y)}}}function Ew($,X={},Z){let J=/@infiniteList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@loading\s*([\s\S]*?)@endinfiniteList/gi;return $.replace(J,(Y,G,Q,w,q)=>{let W=G.trim(),K=X[W];if(!K||!Array.isArray(K))return`<!-- infiniteList: items "${W}" not found or not an array -->`;let z={itemHeight:50,containerHeight:400,overscan:3,threshold:100,hasMore:!0};if(Q)try{let j=Function(`return ${Q.trim()}`)();z={...z,...j}}catch{}let U=`ilist-${Math.random().toString(36).substring(2,9)}`,B=e4(`@virtualList(${W}, ${JSON.stringify({itemHeight:z.itemHeight,containerHeight:z.containerHeight,overscan:z.overscan,containerClass:z.containerClass})})${w}@endvirtualList`,X);return B=B.replace("</script>",`
14573
+ `}function vw($,X){let Z=null,J=()=>{if(!Z)Z=Y6($(),X);return Z};return{visibleItems:()=>{return J().getState().visibleItems},totalHeight:()=>{return J().getState().totalHeight},containerProps:()=>({style:{height:`${X.containerHeight}px`,overflow:"auto",position:"relative"},onScroll:(Y)=>{let G=Y.target;if(Z)Z.scrollToOffset(G.scrollTop)}}),itemProps:(Y)=>({style:{position:"absolute",top:`${Y*X.itemHeight}px`,height:`${X.itemHeight}px`,width:"100%"},"data-index":Y}),scrollToIndex:(Y)=>{J().scrollToIndex(Y)}}}function xw($,X={},Z){let J=/@infiniteList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@loading\s*([\s\S]*?)@endinfiniteList/gi;return $.replace(J,(Y,G,Q,w,q)=>{let W=G.trim(),K=X[W];if(!K||!Array.isArray(K))return`<!-- infiniteList: items "${W}" not found or not an array -->`;let z={itemHeight:50,containerHeight:400,overscan:3,threshold:100,hasMore:!0};if(Q)try{let j=Function(`return ${Q.trim()}`)();z={...z,...j}}catch{}let U=`ilist-${Math.random().toString(36).substring(2,9)}`,B=G6(`@virtualList(${W}, ${JSON.stringify({itemHeight:z.itemHeight,containerHeight:z.containerHeight,overscan:z.overscan,containerClass:z.containerClass})})${w}@endvirtualList`,X);return B=B.replace("</script>",`
14455
14574
  // Infinite scroll detection
14456
14575
  container.addEventListener('scroll', function() {
14457
14576
  const scrollBottom = container.scrollTop + container.clientHeight;
@@ -14469,10 +14588,10 @@ else {
14469
14588
  ${q}
14470
14589
  </div>
14471
14590
  </div>
14472
- `})}function Dw($,X={},Z){let J=/@virtualGrid\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualGrid/gi;return $.replace(J,(Y,G,Q,w)=>{let q=G.trim(),W=X[q];if(!W||!Array.isArray(W))return`<!-- virtualGrid: items "${q}" not found or not an array -->`;let K={columns:3,rowHeight:100,containerHeight:400,gap:10,overscan:2};if(Q)try{let F=Function(`return ${Q.trim()}`)();K={...K,...F}}catch{}let z=`vgrid-${Math.random().toString(36).substring(2,9)}`,U=Math.ceil(W.length/K.columns),B=U*(K.rowHeight+(K.gap||0)),j=Math.ceil(K.containerHeight/(K.rowHeight+(K.gap||0))),_=K.overscan||2,H=0,O=Math.min(U-1,j+_),L="";for(let F=H;F<=O;F++)for(let V=0;V<K.columns;V++){let R=F*K.columns+V;if(R>=W.length)break;let A=W[R],N=V*(100/K.columns),M=F*(K.rowHeight+(K.gap||0)),T=w.replace(/\{\{\s*item\s*\}\}/g,typeof A==="object"?JSON.stringify(A):String(A)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(k,D)=>{if(typeof A==="object"&&A!==null)return String(A[D]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(R));L+=`
14591
+ `})}function fw($,X={},Z){let J=/@virtualGrid\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualGrid/gi;return $.replace(J,(Y,G,Q,w)=>{let q=G.trim(),W=X[q];if(!W||!Array.isArray(W))return`<!-- virtualGrid: items "${q}" not found or not an array -->`;let K={columns:3,rowHeight:100,containerHeight:400,gap:10,overscan:2};if(Q)try{let F=Function(`return ${Q.trim()}`)();K={...K,...F}}catch{}let z=`vgrid-${Math.random().toString(36).substring(2,9)}`,U=Math.ceil(W.length/K.columns),B=U*(K.rowHeight+(K.gap||0)),j=Math.ceil(K.containerHeight/(K.rowHeight+(K.gap||0))),_=K.overscan||2,H=0,L=Math.min(U-1,j+_),O="";for(let F=H;F<=L;F++)for(let V=0;V<K.columns;V++){let A=F*K.columns+V;if(A>=W.length)break;let R=W[A],N=V*(100/K.columns),M=F*(K.rowHeight+(K.gap||0)),T=w.replace(/\{\{\s*item\s*\}\}/g,typeof R==="object"?JSON.stringify(R):String(R)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(k,D)=>{if(typeof R==="object"&&R!==null)return String(R[D]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(A));O+=`
14473
14592
  <div class="virtual-grid-item"
14474
14593
  style="position: absolute; top: ${M}px; left: ${N}%; width: calc(${100/K.columns}% - ${K.gap||0}px); height: ${K.rowHeight}px;"
14475
- data-index="${R}">
14594
+ data-index="${A}">
14476
14595
  ${T}
14477
14596
  </div>`}return`
14478
14597
  <div id="${z}"
@@ -14480,7 +14599,7 @@ else {
14480
14599
  style="position: relative; height: ${K.containerHeight}px; overflow-y: auto;">
14481
14600
  <div class="virtual-grid-viewport"
14482
14601
  style="position: relative; height: ${B}px; width: 100%;">
14483
- ${L}
14602
+ ${O}
14484
14603
  </div>
14485
14604
  </div>
14486
14605
  <script data-virtual-grid="${z}">
@@ -14539,7 +14658,7 @@ else {
14539
14658
  });
14540
14659
  })();
14541
14660
  </script>
14542
- `})}var iO;var bw=E(()=>{iO={createVirtualList:t4,processVirtualListDirectives:e4,processInfiniteListDirectives:Ew,processVirtualGridDirectives:Dw,generateVirtualListCSS:kw,useVirtualList:Iw}});function Sw(){return`<script data-stx-hydration-runtime>
14661
+ `})}var JL;var hw=E(()=>{JL={createVirtualList:Y6,processVirtualListDirectives:G6,processInfiniteListDirectives:xw,processVirtualGridDirectives:fw,generateVirtualListCSS:Pw,useVirtualList:vw}});function uw(){return`<script data-stx-hydration-runtime>
14543
14662
  (function() {
14544
14663
  'use strict';
14545
14664
 
@@ -14699,7 +14818,7 @@ else {
14699
14818
  stxIslands.initIslands();
14700
14819
  }
14701
14820
  })();
14702
- </script>`}function Cw($){let X=$.match(/<([A-Z][a-zA-Z0-9]+)[\s/>]/);if(X)return X[1];let Z=$.match(/<([a-z][a-z0-9]*-[a-z0-9-]+)[\s/>]/);if(Z)return Z[1];return null}function Pw($,X){let Z={},J=/:([a-zA-Z_][\w-]*)\s*=\s*"([^"]+)"/g,Y;while((Y=J.exec($))!==null){let G=Y[1],Q=Y[2];if(Q in X)Z[G]=X[Q];else Z[G]=Q}return Z}var pw={};t(pw,{processStaticDirectives:()=>lw,processPartialHydrationDirectives:()=>xw,onHydrated:()=>mw,isHydrated:()=>dw,hydrateIsland:()=>gw,hydrateByStrategy:()=>hw,hydrateAll:()=>uw,generatePartialHydrationCSS:()=>fw,generateIslandManifest:()=>cw,default:()=>$L,createIslandRegistry:()=>vw});function vw(){let $=new Map;return{islands:$,register(X){$.set(X.id,X)},get(X){return $.get(X)},async hydrate(X){let Z=$.get(X);if(!Z||Z.hydrated)return;if(Z.hydrated=!0,typeof window<"u"&&typeof window.dispatchEvent==="function")window.dispatchEvent(new CustomEvent("stx:hydrate",{detail:{id:X,component:Z.component}}))},async hydrateAll(){let X=Array.from($.values()).filter((Z)=>!Z.hydrated).map((Z)=>this.hydrate(Z.id));await Promise.all(X)}}}function nO($){return`
14821
+ </script>`}function dw($){let X=$.match(/<([A-Z][a-zA-Z0-9]+)[\s/>]/);if(X)return X[1];let Z=$.match(/<([a-z][a-z0-9]*-[a-z0-9-]+)[\s/>]/);if(Z)return Z[1];return null}function mw($,X){let Z={},J=/:([a-zA-Z_][\w-]*)\s*=\s*"([^"]+)"/g,Y;while((Y=J.exec($))!==null){let G=Y[1],Q=Y[2];if(Q in X)Z[G]=X[Q];else Z[G]=Q}return Z}var ew={};t(ew,{processStaticDirectives:()=>aw,processPartialHydrationDirectives:()=>cw,onHydrated:()=>sw,isHydrated:()=>ow,hydrateIsland:()=>iw,hydrateByStrategy:()=>nw,hydrateAll:()=>rw,generatePartialHydrationCSS:()=>pw,generateIslandManifest:()=>tw,default:()=>zL,createIslandRegistry:()=>lw});function lw(){let $=new Map;return{islands:$,register(X){$.set(X.id,X)},get(X){return $.get(X)},async hydrate(X){let Z=$.get(X);if(!Z||Z.hydrated)return;if(Z.hydrated=!0,typeof window<"u"&&typeof window.dispatchEvent==="function")window.dispatchEvent(new CustomEvent("stx:hydrate",{detail:{id:X,component:Z.component}}))},async hydrateAll(){let X=Array.from($.values()).filter((Z)=>!Z.hydrated).map((Z)=>this.hydrate(Z.id));await Promise.all(X)}}}function YL($){return`
14703
14822
  <script data-hydrate="${$}">
14704
14823
  (function() {
14705
14824
  const island = document.querySelector('[data-island="${$}"]');
@@ -14710,7 +14829,7 @@ else {
14710
14829
  island.dispatchEvent(new CustomEvent('stx:hydrated', { bubbles: true }));
14711
14830
  })();
14712
14831
  </script>
14713
- `}function rO($,X){let Z=X.timeout||2000,J=X.priority||"low";return`
14832
+ `}function GL($,X){let Z=X.timeout||2000,J=X.priority||"low";return`
14714
14833
  <script data-hydrate="${$}">
14715
14834
  (function() {
14716
14835
  const island = document.querySelector('[data-island="${$}"]');
@@ -14746,7 +14865,7 @@ else {
14746
14865
  }
14747
14866
  })();
14748
14867
  </script>
14749
- `}function oO($,X){let Z=X.rootMargin||"0px",J=X.threshold||0;return`
14868
+ `}function QL($,X){let Z=X.rootMargin||"0px",J=X.threshold||0;return`
14750
14869
  <script data-hydrate="${$}">
14751
14870
  (function() {
14752
14871
  const island = document.querySelector('[data-island="${$}"]');
@@ -14779,7 +14898,7 @@ else {
14779
14898
  }
14780
14899
  })();
14781
14900
  </script>
14782
- `}function sO($,X){let Z=X.media||"(min-width: 768px)";return`
14901
+ `}function wL($,X){let Z=X.media||"(min-width: 768px)";return`
14783
14902
  <script data-hydrate="${$}">
14784
14903
  (function() {
14785
14904
  const island = document.querySelector('[data-island="${$}"]');
@@ -14808,7 +14927,7 @@ else {
14808
14927
  }
14809
14928
  })();
14810
14929
  </script>
14811
- `}function aO($){return`
14930
+ `}function qL($){return`
14812
14931
  <script data-hydrate="${$}">
14813
14932
  (function() {
14814
14933
  const island = document.querySelector('[data-island="${$}"]');
@@ -14830,7 +14949,7 @@ else {
14830
14949
  events.forEach(e => island.addEventListener(e, handler, { once: true, passive: true }));
14831
14950
  })();
14832
14951
  </script>
14833
- `}function tO($,X){let Z=X.event||"stx:activate";return`
14952
+ `}function WL($,X){let Z=X.event||"stx:activate";return`
14834
14953
  <script data-hydrate="${$}">
14835
14954
  (function() {
14836
14955
  const island = document.querySelector('[data-island="${$}"]');
@@ -14851,9 +14970,9 @@ else {
14851
14970
  });
14852
14971
  })();
14853
14972
  </script>
14854
- `}function xw($,X={},Z){let J=$,Y=!1,G=/@client:(load|idle|visible|media|only|hover|event)/i.test($);if(J=r5(J,"load",X),J=r5(J,"idle",X),J=r5(J,"visible",X),J=r5(J,"media",X),J=eO(J),J=r5(J,"hover",X),J=r5(J,"event",X),Y=G&&J!==$,Y)J+=`
14855
- `+Sw();return J}function r5($,X,Z){let J=new RegExp(`@client:${X}(?:\\s*\\(([^)]*)\\))?\\s*([\\s\\S]*?)@endclient`,"gi");return $.replace(J,(Y,G,Q)=>{let w={strategy:X};if(G)try{let _=G.split(",").map((H)=>H.trim());for(let H of _){let[O,L]=H.split(":").map((F)=>F.trim());if(O&&L){let F=L.replace(/^['"]|['"]$/g,"");w[O]=F}}}catch{}let q=`island-${Math.random().toString(36).substring(2,9)}`,W=Cw(Q.trim()),K=Pw(Q.trim(),Z),z=[];if(w.rootMargin)z.push(`data-root-margin="${w.rootMargin}"`);if(w.threshold!==void 0)z.push(`data-threshold="${w.threshold}"`);if(w.media)z.push(`data-media="${w.media}"`);if(w.event)z.push(`data-event="${w.event}"`);if(W)z.push(`data-component="${W}"`);let B=Object.keys(K).length>0?`
14856
- <script type="application/json" data-island-props="${q}">${JSON.stringify(K)}</script>`:"",j="";switch(X){case"load":j=nO(q);break;case"idle":j=rO(q,w);break;case"visible":j=oO(q,w);break;case"media":j=sO(q,w);break;case"hover":j=aO(q);break;case"event":j=tO(q,w);break}return`
14973
+ `}function cw($,X={},Z){let J=$,Y=!1,G=/@client:(load|idle|visible|media|only|hover|event)/i.test($);if(J=o5(J,"load",X),J=o5(J,"idle",X),J=o5(J,"visible",X),J=o5(J,"media",X),J=KL(J),J=o5(J,"hover",X),J=o5(J,"event",X),Y=G&&J!==$,Y)J+=`
14974
+ `+uw();return J}function o5($,X,Z){let J=new RegExp(`@client:${X}(?:\\s*\\(([^)]*)\\))?\\s*([\\s\\S]*?)@endclient`,"gi");return $.replace(J,(Y,G,Q)=>{let w={strategy:X};if(G)try{let _=G.split(",").map((H)=>H.trim());for(let H of _){let[L,O]=H.split(":").map((F)=>F.trim());if(L&&O){let F=O.replace(/^['"]|['"]$/g,"");w[L]=F}}}catch{}let q=`island-${Math.random().toString(36).substring(2,9)}`,W=dw(Q.trim()),K=mw(Q.trim(),Z),z=[];if(w.rootMargin)z.push(`data-root-margin="${w.rootMargin}"`);if(w.threshold!==void 0)z.push(`data-threshold="${w.threshold}"`);if(w.media)z.push(`data-media="${w.media}"`);if(w.event)z.push(`data-event="${w.event}"`);if(W)z.push(`data-component="${W}"`);let B=Object.keys(K).length>0?`
14975
+ <script type="application/json" data-island-props="${q}">${JSON.stringify(K)}</script>`:"",j="";switch(X){case"load":j=YL(q);break;case"idle":j=GL(q,w);break;case"visible":j=QL(q,w);break;case"media":j=wL(q,w);break;case"hover":j=qL(q);break;case"event":j=WL(q,w);break}return`
14857
14976
  <div data-island="${q}"
14858
14977
  data-strategy="${X}"
14859
14978
  ${z.join(`
@@ -14863,7 +14982,7 @@ else {
14863
14982
  ${Q.trim()}${B}
14864
14983
  </div>
14865
14984
  ${j}
14866
- `})}function eO($){let X=/@client:only\s*([\s\S]*?)@endclient/gi;return $.replace(X,(Z,J)=>{let Y=`island-only-${Math.random().toString(36).substring(2,9)}`;return`
14985
+ `})}function KL($){let X=/@client:only\s*([\s\S]*?)@endclient/gi;return $.replace(X,(Z,J)=>{let Y=`island-only-${Math.random().toString(36).substring(2,9)}`;return`
14867
14986
  <div data-island="${Y}"
14868
14987
  data-strategy="only"
14869
14988
  class="stx-island stx-client-only">
@@ -14882,7 +15001,7 @@ else {
14882
15001
  }
14883
15002
  })();
14884
15003
  </script>
14885
- `})}function fw(){return`
15004
+ `})}function pw(){return`
14886
15005
  /* Island base styles */
14887
15006
  .stx-island {
14888
15007
  display: contents;
@@ -14923,11 +15042,11 @@ else {
14923
15042
  .stx-island.hydrated {
14924
15043
  opacity: 1;
14925
15044
  }
14926
- `}function gw($){if(typeof window>"u")return;let X=document.querySelector(`[data-island="${$}"]`);if(!X||X.classList.contains("hydrated"))return;X.classList.add("hydrated"),X.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))}function hw($){if(typeof window>"u")return;document.querySelectorAll(`[data-strategy="${$}"]:not(.hydrated)`).forEach((Z)=>{Z.classList.add("hydrated"),Z.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))})}function uw(){if(typeof window>"u")return;document.querySelectorAll(".stx-island:not(.hydrated)").forEach((X)=>{X.classList.add("hydrated"),X.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))})}function dw($){if(typeof window>"u")return!1;return document.querySelector(`[data-island="${$}"]`)?.classList.contains("hydrated")??!1}function mw($){return new Promise((X)=>{if(typeof window>"u"){X();return}let Z=document.querySelector(`[data-island="${$}"]`);if(!Z){X();return}if(Z.classList.contains("hydrated")){X();return}Z.addEventListener("stx:hydrated",()=>X(),{once:!0})})}function lw($){return $.replace(/@static\s*([\s\S]*?)@endstatic/gi,(X,Z)=>{return`<div class="stx-static">${Z.trim()}</div>`})}function cw($){let X=$.map((Z)=>({id:Z.id,component:Z.component,strategy:Z.options.strategy,props:Z.props}));return`
15045
+ `}function iw($){if(typeof window>"u")return;let X=document.querySelector(`[data-island="${$}"]`);if(!X||X.classList.contains("hydrated"))return;X.classList.add("hydrated"),X.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))}function nw($){if(typeof window>"u")return;document.querySelectorAll(`[data-strategy="${$}"]:not(.hydrated)`).forEach((Z)=>{Z.classList.add("hydrated"),Z.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))})}function rw(){if(typeof window>"u")return;document.querySelectorAll(".stx-island:not(.hydrated)").forEach((X)=>{X.classList.add("hydrated"),X.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))})}function ow($){if(typeof window>"u")return!1;return document.querySelector(`[data-island="${$}"]`)?.classList.contains("hydrated")??!1}function sw($){return new Promise((X)=>{if(typeof window>"u"){X();return}let Z=document.querySelector(`[data-island="${$}"]`);if(!Z){X();return}if(Z.classList.contains("hydrated")){X();return}Z.addEventListener("stx:hydrated",()=>X(),{once:!0})})}function aw($){return $.replace(/@static\s*([\s\S]*?)@endstatic/gi,(X,Z)=>{return`<div class="stx-static">${Z.trim()}</div>`})}function tw($){let X=$.map((Z)=>({id:Z.id,component:Z.component,strategy:Z.options.strategy,props:Z.props}));return`
14927
15046
  <script type="application/json" id="stx-island-manifest">
14928
15047
  ${JSON.stringify(X)}
14929
15048
  </script>
14930
- `}var $L;var iw=E(()=>{$L={processPartialHydrationDirectives:xw,processStaticDirectives:lw,generatePartialHydrationCSS:fw,generateIslandManifest:cw,createIslandRegistry:vw,hydrateIsland:gw,hydrateByStrategy:hw,hydrateAll:uw,isHydrated:dw,onHydrated:mw}});var Jq={};t(Jq,{watchMultiple:()=>aw,watchEffect:()=>tw,watch:()=>sw,unref:()=>nw,toRefs:()=>rw,throttledComputed:()=>Zq,stxWatchMultiple:()=>aw,stxWatchEffect:()=>tw,stxWatch:()=>sw,stxUnref:()=>nw,stxToRefs:()=>rw,stxThrottledComputed:()=>Zq,stxShallowRef:()=>ow,stxRef:()=>o5,stxIsRef:()=>m1,stxDebouncedComputed:()=>Xq,stxComputed:()=>Q8,shallowRef:()=>ow,ref:()=>o5,processWatchDirectives:()=>$q,processComputedDirectives:()=>ew,isRef:()=>m1,default:()=>XL,debouncedComputed:()=>Xq,computed:()=>Q8});function o5($){let X=$,Z=new Set,J={get value(){if(U1){let Y=G8.get(J);if(!Y)Y=new Set,G8.set(J,Y);Y.add(U1)}return X},set value(Y){if(!Object.is(X,Y)){X=Y,Z.forEach((Q)=>Q(Y));let G=G8.get(J);if(G)G.forEach((Q)=>Q())}},subscribe(Y){return Z.add(Y),()=>Z.delete(Y)},peek(){return X}};return J}function m1($){return $!==null&&typeof $==="object"&&"value"in $&&"subscribe"in $&&"peek"in $}function nw($){return m1($)?$.value:$}function rw($){let X={};for(let Z in $)if(Object.prototype.hasOwnProperty.call($,Z))X[Z]=o5($[Z]);return X}function ow($){return o5($)}function Q8($){let X=typeof $==="function",Z=X?$:$.get,J=X?void 0:$.set,Y=X?Object.is:$.equals||Object.is,G,Q=!0,w=new Set,q=new Set,W=()=>{if(Q=!0,q.size>0){let U=z.value;q.forEach((B)=>B(U))}};function K(){w.clear();let U=U1;U1=W,B9.push(W);try{return Z()}finally{B9.pop(),U1=U}}let z={get value(){if(U1){let U=G8.get(z);if(!U)U=new Set,G8.set(z,U);U.add(U1)}if(Q){let U=K();if(!Y(G,U))G=U;Q=!1}return G},set value(U){if(J)J(U);else console.warn("Computed property is readonly")},subscribe(U){return q.add(U),()=>q.delete(U)},peek(){if(Q)G=Z(),Q=!1;return G},invalidate(){Q=!0},get dirty(){return Q},get deps(){return w}};return z}function sw($,X,Z={}){let{immediate:J=!1,deep:Y=!1,flush:G="pre",once:Q=!1}=Z,w,q=!0,W=!1,K=()=>{if(m1($))return Y?z5($.value):$.value;return $()},z=()=>{if(!q||W)return;let j=K();if(w!==void 0&&Object.is(w,j)&&!Y)return;let _=()=>{if(X(j,w),w=Y?z5(j):j,Q)B()};if(G==="sync")_();else if(G==="post")queueMicrotask(_);else Promise.resolve().then(_)},U=null;if(m1($))U=$.subscribe(()=>z());else U=Q8($).subscribe(()=>z());if(J)w=void 0,z();else w=K();let B=()=>{if(q=!1,U)U(),U=null};return B.pause=()=>{W=!0},B.resume=()=>{W=!1},B}function aw($,X,Z={}){let{immediate:J=!1,once:Y=!1}=Z,G=$.map((z)=>m1(z)?z.value:void 0),Q=!0,w=!1,q=()=>{if(!Q||w)return;let z=$.map((U)=>m1(U)?U.value:void 0);if(X(z,G),G=[...z],Y)K()},W=$.map((z)=>{if(m1(z))return z.subscribe(()=>q());return()=>{}});if(J)q();let K=()=>{Q=!1,W.forEach((z)=>z())};return K.pause=()=>{w=!0},K.resume=()=>{w=!1},K}function tw($,X={}){let{flush:Z="pre"}=X,J,Y=!0,G=!1,Q=()=>{if(!Y||G)return;if(J)J();let q=U1;U1=Q,B9.push(Q);try{J=$()}finally{B9.pop(),U1=q}};if(Z==="sync")Q();else if(Z==="post")queueMicrotask(Q);else Promise.resolve().then(Q);let w=()=>{if(Y=!1,J)J()};return w.pause=()=>{G=!0},w.resume=()=>{G=!1},w}function ew($,X={},Z){let J=/@computed\s*\(\s*(\w+)\s*,\s*(.+?)\s*\)/gi;return $.replace(J,(Y,G,Q)=>{try{let q=Function(...Object.keys(X),`return ${Q}`)(...Object.values(X));return X[G]=q,`<!-- computed: ${G} = ${q} -->`}catch(w){return`<!-- computed error: ${G} - ${w} -->`}})}function $q($,X={},Z){let J=/@watch\s*\(\s*(\w+)\s*\)\s*([\s\S]*?)@endwatch/gi;return $.replace(J,(Y,G,Q)=>{return`
15049
+ `}var zL;var $q=E(()=>{zL={processPartialHydrationDirectives:cw,processStaticDirectives:aw,generatePartialHydrationCSS:pw,generateIslandManifest:tw,createIslandRegistry:lw,hydrateIsland:iw,hydrateByStrategy:nw,hydrateAll:rw,isHydrated:ow,onHydrated:sw}});var zq={};t(zq,{watchMultiple:()=>Gq,watchEffect:()=>Qq,watch:()=>Yq,unref:()=>Xq,toRefs:()=>Zq,throttledComputed:()=>Kq,stxWatchMultiple:()=>Gq,stxWatchEffect:()=>Qq,stxWatch:()=>Yq,stxUnref:()=>Xq,stxToRefs:()=>Zq,stxThrottledComputed:()=>Kq,stxShallowRef:()=>Jq,stxRef:()=>s5,stxIsRef:()=>l1,stxDebouncedComputed:()=>Wq,stxComputed:()=>q8,shallowRef:()=>Jq,ref:()=>s5,processWatchDirectives:()=>qq,processComputedDirectives:()=>wq,isRef:()=>l1,default:()=>UL,debouncedComputed:()=>Wq,computed:()=>q8});function s5($){let X=$,Z=new Set,J={get value(){if(U1){let Y=w8.get(J);if(!Y)Y=new Set,w8.set(J,Y);Y.add(U1)}return X},set value(Y){if(!Object.is(X,Y)){X=Y,Z.forEach((Q)=>Q(Y));let G=w8.get(J);if(G)G.forEach((Q)=>Q())}},subscribe(Y){return Z.add(Y),()=>Z.delete(Y)},peek(){return X}};return J}function l1($){return $!==null&&typeof $==="object"&&"value"in $&&"subscribe"in $&&"peek"in $}function Xq($){return l1($)?$.value:$}function Zq($){let X={};for(let Z in $)if(Object.prototype.hasOwnProperty.call($,Z))X[Z]=s5($[Z]);return X}function Jq($){return s5($)}function q8($){let X=typeof $==="function",Z=X?$:$.get,J=X?void 0:$.set,Y=X?Object.is:$.equals||Object.is,G,Q=!0,w=new Set,q=new Set,W=()=>{if(Q=!0,q.size>0){let U=z.value;q.forEach((B)=>B(U))}};function K(){w.clear();let U=U1;U1=W,O9.push(W);try{return Z()}finally{O9.pop(),U1=U}}let z={get value(){if(U1){let U=w8.get(z);if(!U)U=new Set,w8.set(z,U);U.add(U1)}if(Q){let U=K();if(!Y(G,U))G=U;Q=!1}return G},set value(U){if(J)J(U);else console.warn("Computed property is readonly")},subscribe(U){return q.add(U),()=>q.delete(U)},peek(){if(Q)G=Z(),Q=!1;return G},invalidate(){Q=!0},get dirty(){return Q},get deps(){return w}};return z}function Yq($,X,Z={}){let{immediate:J=!1,deep:Y=!1,flush:G="pre",once:Q=!1}=Z,w,q=!0,W=!1,K=()=>{if(l1($))return Y?z5($.value):$.value;return $()},z=()=>{if(!q||W)return;let j=K();if(w!==void 0&&Object.is(w,j)&&!Y)return;let _=()=>{if(X(j,w),w=Y?z5(j):j,Q)B()};if(G==="sync")_();else if(G==="post")queueMicrotask(_);else Promise.resolve().then(_)},U=null;if(l1($))U=$.subscribe(()=>z());else U=q8($).subscribe(()=>z());if(J)w=void 0,z();else w=K();let B=()=>{if(q=!1,U)U(),U=null};return B.pause=()=>{W=!0},B.resume=()=>{W=!1},B}function Gq($,X,Z={}){let{immediate:J=!1,once:Y=!1}=Z,G=$.map((z)=>l1(z)?z.value:void 0),Q=!0,w=!1,q=()=>{if(!Q||w)return;let z=$.map((U)=>l1(U)?U.value:void 0);if(X(z,G),G=[...z],Y)K()},W=$.map((z)=>{if(l1(z))return z.subscribe(()=>q());return()=>{}});if(J)q();let K=()=>{Q=!1,W.forEach((z)=>z())};return K.pause=()=>{w=!0},K.resume=()=>{w=!1},K}function Qq($,X={}){let{flush:Z="pre"}=X,J,Y=!0,G=!1,Q=()=>{if(!Y||G)return;if(J)J();let q=U1;U1=Q,O9.push(Q);try{J=$()}finally{O9.pop(),U1=q}};if(Z==="sync")Q();else if(Z==="post")queueMicrotask(Q);else Promise.resolve().then(Q);let w=()=>{if(Y=!1,J)J()};return w.pause=()=>{G=!0},w.resume=()=>{G=!1},w}function wq($,X={},Z){let J=/@computed\s*\(\s*(\w+)\s*,\s*(.+?)\s*\)/gi;return $.replace(J,(Y,G,Q)=>{try{let q=Function(...Object.keys(X),`return ${Q}`)(...Object.values(X));return X[G]=q,`<!-- computed: ${G} = ${q} -->`}catch(w){return`<!-- computed error: ${G} - ${w} -->`}})}function qq($,X={},Z){let J=/@watch\s*\(\s*(\w+)\s*\)\s*([\s\S]*?)@endwatch/gi;return $.replace(J,(Y,G,Q)=>{return`
14931
15050
  <script data-watch="${`watch-${Math.random().toString(36).substring(2,9)}`}">
14932
15051
  (function() {
14933
15052
  // Watch implementation for ${G}
@@ -14939,9 +15058,9 @@ else {
14939
15058
  }
14940
15059
  })();
14941
15060
  </script>
14942
- `})}function z5($){if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((Z)=>z5(Z));if($ instanceof Date)return new Date($.getTime());if($ instanceof Map){let Z=new Map;return $.forEach((J,Y)=>Z.set(z5(Y),z5(J))),Z}if($ instanceof Set){let Z=new Set;return $.forEach((J)=>Z.add(z5(J))),Z}let X={};for(let Z in $)if(Object.prototype.hasOwnProperty.call($,Z))X[Z]=z5($[Z]);return X}function Xq($,X=100){let Z=o5($()),J=null,Y=()=>{if(J)clearTimeout(J);J=setTimeout(()=>{Z.value=$()},X)};return Q8($).subscribe(()=>Y()),{get value(){return Z.value},set value(Q){console.warn("Debounced computed is readonly")},subscribe:Z.subscribe,peek:Z.peek,invalidate(){Y()},get dirty(){return!1},get deps(){return new Set}}}function Zq($,X=100){let Z=o5($()),J=0,Y=()=>{let Q=Date.now();if(Q-J>=X)J=Q,Z.value=$()};return Q8($).subscribe(()=>Y()),{get value(){return Z.value},set value(Q){console.warn("Throttled computed is readonly")},subscribe:Z.subscribe,peek:Z.peek,invalidate(){Y()},get dirty(){return!1},get deps(){return new Set}}}var U1=null,B9,G8,XL;var Yq=E(()=>{B9=[],G8=new WeakMap;XL={ref:o5,computed:Q8,watch:sw,watchMultiple:aw,watchEffect:tw,isRef:m1,unref:nw,toRefs:rw,shallowRef:ow,debouncedComputed:Xq,throttledComputed:Zq,processComputedDirectives:ew,processWatchDirectives:$q}});function w8($,X){let Z={};for(let J of $)Z[J]=v1(X(J));return new Proxy({},{get:(J,Y)=>Z[Y]?.(),set:(J,Y,G)=>{if(Z[Y])Z[Y].set(G);else Z[Y]=v1(G);return!0},has:(J,Y)=>(Y in Z),deleteProperty:(J,Y)=>{return delete Z[Y],!0},ownKeys:()=>Reflect.ownKeys(Z),getOwnPropertyDescriptor:(J,Y)=>(Y in Z)?{enumerable:!0,configurable:!0,writable:!0,value:Z[Y]()}:void 0})}function ZL($,X){let Z={};for(let J of X)Z[J]=$[J];return Z}function $6($,X){let Z=Object.keys($),J=w8(Z,(L)=>X?.[L]??$[L].getDefaultValue()),Y=w8(Z,()=>[]),G=w8(Z,()=>!1),Q=w8(Z,()=>!1),w=w8(Z,()=>!1),q=v1(!1);async function W(L){w[L]=!0;let F=await $[L].validate(J[L],J);return Y[L]=F,w[L]=!1,F.length===0}async function K(){q.set(!0);let L=await Promise.all(Z.map(W));return q.set(!1),L.every(Boolean)}function z(){for(let L of Z)J[L]=X?.[L]??$[L].getDefaultValue(),Y[L]=[],G[L]=!1,Q[L]=!1}function U(L){for(let F of Z)if(F in L)J[F]=L[F],Q[F]=!0}function B(L,F){J[L]=F,Q[L]=!0}function j(L,F=!0){if(G[L]=F,F)W(L)}function _(L){return{value:J[L],errors:Y[L],touched:G[L],dirty:Q[L],valid:Y[L].length===0,validating:w[L]}}function H(L){return async(F)=>{F?.preventDefault?.();for(let R of Z)G[R]=!0;if(await K())await L(ZL(J,Z))}}return{values:J,errors:Y,touched:G,dirty:Q,get isValid(){return Z.every((L)=>Y[L].length===0)},get isValidating(){return q()||Z.some((L)=>w[L])},get isDirty(){return Z.some((L)=>Q[L])},validate:K,validateField:W,reset:z,setValues:U,setFieldValue:B,setFieldTouched:j,getFieldState:_,handleSubmit:H}}var Gq;var Qq=E(()=>{n8();Gq=$6});var Kq={};t(Kq,{v:()=>JL,useForm:()=>$6,processHasErrorsDirective:()=>Wq,processFormValidationDirectives:()=>YL,processErrorsDirective:()=>qq,processErrorDirective:()=>wq,defineForm:()=>Gq,Validator:()=>s5});class s5{rules=[];defaultValue="";addRule($){let X=new s5;return X.rules=[...this.rules,$],X.defaultValue=this.defaultValue,X}required($="This field is required"){return this.addRule({name:"required",message:$,validate:(X)=>{if(X===null||X===void 0)return $;if(typeof X==="string"&&X.trim()==="")return $;if(Array.isArray(X)&&X.length===0)return $;return!0}})}email($="Please enter a valid email"){return this.addRule({name:"email",message:$,validate:(X)=>{if(!X)return!0;return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(X))||$}})}url($="Please enter a valid URL"){return this.addRule({name:"url",message:$,validate:(X)=>{if(!X)return!0;try{return new URL(String(X)),!0}catch{return $}}})}min($,X){let Z=X||`Must be at least ${$} characters`;return this.addRule({name:"min",message:Z,validate:(J)=>{if(!J)return!0;return String(J).length>=$||Z}})}max($,X){let Z=X||`Must be no more than ${$} characters`;return this.addRule({name:"max",message:Z,validate:(J)=>{if(!J)return!0;return String(J).length<=$||Z}})}length($,X,Z){let J=Z||`Must be between ${$} and ${X} characters`;return this.addRule({name:"length",message:J,validate:(Y)=>{if(!Y)return!0;let G=String(Y).length;return G>=$&&G<=X||J}})}pattern($,X="Invalid format"){return this.addRule({name:"pattern",message:X,validate:(Z)=>{if(!Z)return!0;return $.test(String(Z))||X}})}hasUppercase($="Must contain an uppercase letter"){return this.pattern(/[A-Z]/,$)}hasLowercase($="Must contain a lowercase letter"){return this.pattern(/[a-z]/,$)}hasNumber($="Must contain a number"){return this.pattern(/\d/,$)}hasSpecial($="Must contain a special character"){return this.pattern(/[!@#$%^&*(),.?":{}|<>]/,$)}alphanumeric($="Only letters and numbers allowed"){return this.pattern(/^[a-zA-Z0-9]+$/,$)}startsWithLetter($="Must start with a letter"){return this.pattern(/^[a-zA-Z]/,$)}noSpaces($="Spaces are not allowed"){return this.addRule({name:"noSpaces",message:$,validate:(X)=>{if(!X)return!0;return!String(X).includes(" ")||$}})}number($="Must be a number"){let X=this.addRule({name:"number",message:$,validate:(Z)=>{if(!Z&&Z!==0)return!0;return!Number.isNaN(Number(Z))||$}});return X.defaultValue=0,X}integer($="Must be a whole number"){return this.addRule({name:"integer",message:$,validate:(X)=>{if(!X&&X!==0)return!0;return Number.isInteger(Number(X))||$}})}positive($="Must be a positive number"){return this.addRule({name:"positive",message:$,validate:(X)=>{if(!X&&X!==0)return!0;return Number(X)>0||$}})}negative($="Must be a negative number"){return this.addRule({name:"negative",message:$,validate:(X)=>{if(!X&&X!==0)return!0;return Number(X)<0||$}})}minValue($,X){let Z=X||`Must be at least ${$}`;return this.addRule({name:"minValue",message:Z,validate:(J)=>{if(!J&&J!==0)return!0;return Number(J)>=$||Z}})}maxValue($,X){let Z=X||`Must be no more than ${$}`;return this.addRule({name:"maxValue",message:Z,validate:(J)=>{if(!J&&J!==0)return!0;return Number(J)<=$||Z}})}between($,X,Z){let J=Z||`Must be between ${$} and ${X}`;return this.addRule({name:"between",message:J,validate:(Y)=>{if(!Y&&Y!==0)return!0;let G=Number(Y);return G>=$&&G<=X||J}})}matches($,X){let Z=X||`Must match ${$}`;return this.addRule({name:"matches",message:Z,validate:(J,Y)=>{if(!Y)return!0;return J===Y[$]||Z}})}oneOf($,X){let Z=X||`Must be one of: ${$.join(", ")}`;return this.addRule({name:"oneOf",message:Z,validate:(J)=>{if(!J)return!0;return $.includes(J)||Z}})}notOneOf($,X){let Z=X||`Cannot be one of: ${$.join(", ")}`;return this.addRule({name:"notOneOf",message:Z,validate:(J)=>{if(!J)return!0;return!$.includes(J)||Z}})}date($="Must be a valid date"){return this.addRule({name:"date",message:$,validate:(X)=>{if(!X)return!0;let Z=new Date(String(X));return!Number.isNaN(Z.getTime())||$}})}before($,X){let Z=new Date($),J=X||`Must be before ${Z.toLocaleDateString()}`;return this.addRule({name:"before",message:J,validate:(Y)=>{if(!Y)return!0;return new Date(String(Y))<Z||J}})}after($,X){let Z=new Date($),J=X||`Must be after ${Z.toLocaleDateString()}`;return this.addRule({name:"after",message:J,validate:(Y)=>{if(!Y)return!0;return new Date(String(Y))>Z||J}})}custom($,X="Invalid value"){return this.addRule({name:"custom",message:X,validate:$})}async($,X="Invalid value"){return this.addRule({name:"async",message:X,async:!0,validate:$})}when($,X){let Z=new s5;Z.rules=[...this.rules],Z.defaultValue=this.defaultValue;for(let J of X.getRules())Z.rules.push({...J,validate:(Y,G)=>{if(!$(Y,G||{}))return!0;return J.validate(Y,G)}});return Z}getRules(){return this.rules}getDefaultValue(){return this.defaultValue}default($){let X=new s5;return X.rules=[...this.rules],X.defaultValue=$,X}async validate($,X){let Z=[];for(let J of this.rules){let Y=await J.validate($,X);if(Y!==!0)Z.push(Y)}return Z}validateSync($,X){let Z=[];for(let J of this.rules){if(J.async)continue;let Y=J.validate($,X);if(Y!==!0)Z.push(Y)}return Z}}function wq($,X,Z){let J=/@error\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderror/g;return $.replace(J,(Y,G,Q)=>{try{let w=G.trim().split("."),q=X;for(let K of w)if(q&&typeof q==="object"&&K in q)q=q[K];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return W.map((K)=>{return Q.replace(/\{\{\s*message\s*\}\}/g,K)}).join(`
14943
- `)}catch{return""}})}function qq($,X,Z){let J=/@errors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderrors/g;return $.replace(J,(Y,G,Q)=>{try{let w=G.trim().split("."),q=X;for(let K of w)if(q&&typeof q==="object"&&K in q)q=q[K];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return W.map((K)=>Q.replace(/\{\{\s*message\s*\}\}/g,K)).join(`
14944
- `)}catch{return""}})}function Wq($,X,Z){let J=/@hasErrors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@endhasErrors/g;return $.replace(J,(Y,G,Q)=>{try{let w=G.trim().split("."),q=X;for(let K of w)if(q&&typeof q==="object"&&K in q)q=q[K];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return Q}catch{return""}})}function YL($,X,Z){let J=$;return J=wq(J,X,Z),J=qq(J,X,Z),J=Wq(J,X,Z),J}var JL;var zq=E(()=>{Qq();JL=new s5});var Bq={};t(Bq,{processXElementDirectives:()=>GL,hasXElementDirectives:()=>jq,generateXElementRuntime:()=>Uq});function Uq(){return`<script data-stx-scoped data-stx-x-element-runtime data-stx-run="always">
15061
+ `})}function z5($){if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((Z)=>z5(Z));if($ instanceof Date)return new Date($.getTime());if($ instanceof Map){let Z=new Map;return $.forEach((J,Y)=>Z.set(z5(Y),z5(J))),Z}if($ instanceof Set){let Z=new Set;return $.forEach((J)=>Z.add(z5(J))),Z}let X={};for(let Z in $)if(Object.prototype.hasOwnProperty.call($,Z))X[Z]=z5($[Z]);return X}function Wq($,X=100){let Z=s5($()),J=null,Y=()=>{if(J)clearTimeout(J);J=setTimeout(()=>{Z.value=$()},X)};return q8($).subscribe(()=>Y()),{get value(){return Z.value},set value(Q){console.warn("Debounced computed is readonly")},subscribe:Z.subscribe,peek:Z.peek,invalidate(){Y()},get dirty(){return!1},get deps(){return new Set}}}function Kq($,X=100){let Z=s5($()),J=0,Y=()=>{let Q=Date.now();if(Q-J>=X)J=Q,Z.value=$()};return q8($).subscribe(()=>Y()),{get value(){return Z.value},set value(Q){console.warn("Throttled computed is readonly")},subscribe:Z.subscribe,peek:Z.peek,invalidate(){Y()},get dirty(){return!1},get deps(){return new Set}}}var U1=null,O9,w8,UL;var Uq=E(()=>{O9=[],w8=new WeakMap;UL={ref:s5,computed:q8,watch:Yq,watchMultiple:Gq,watchEffect:Qq,isRef:l1,unref:Xq,toRefs:Zq,shallowRef:Jq,debouncedComputed:Wq,throttledComputed:Kq,processComputedDirectives:wq,processWatchDirectives:qq}});function W8($,X){let Z={};for(let J of $)Z[J]=x1(X(J));return new Proxy({},{get:(J,Y)=>Z[Y]?.(),set:(J,Y,G)=>{if(Z[Y])Z[Y].set(G);else Z[Y]=x1(G);return!0},has:(J,Y)=>(Y in Z),deleteProperty:(J,Y)=>{return delete Z[Y],!0},ownKeys:()=>Reflect.ownKeys(Z),getOwnPropertyDescriptor:(J,Y)=>(Y in Z)?{enumerable:!0,configurable:!0,writable:!0,value:Z[Y]()}:void 0})}function jL($,X){let Z={};for(let J of X)Z[J]=$[J];return Z}function Q6($,X){let Z=Object.keys($),J=W8(Z,(O)=>X?.[O]??$[O].getDefaultValue()),Y=W8(Z,()=>[]),G=W8(Z,()=>!1),Q=W8(Z,()=>!1),w=W8(Z,()=>!1),q=x1(!1);async function W(O){w[O]=!0;let F=await $[O].validate(J[O],J);return Y[O]=F,w[O]=!1,F.length===0}async function K(){q.set(!0);let O=await Promise.all(Z.map(W));return q.set(!1),O.every(Boolean)}function z(){for(let O of Z)J[O]=X?.[O]??$[O].getDefaultValue(),Y[O]=[],G[O]=!1,Q[O]=!1}function U(O){for(let F of Z)if(F in O)J[F]=O[F],Q[F]=!0}function B(O,F){J[O]=F,Q[O]=!0}function j(O,F=!0){if(G[O]=F,F)W(O)}function _(O){return{value:J[O],errors:Y[O],touched:G[O],dirty:Q[O],valid:Y[O].length===0,validating:w[O]}}function H(O){return async(F)=>{F?.preventDefault?.();for(let A of Z)G[A]=!0;if(await K())await O(jL(J,Z))}}return{values:J,errors:Y,touched:G,dirty:Q,get isValid(){return Z.every((O)=>Y[O].length===0)},get isValidating(){return q()||Z.some((O)=>w[O])},get isDirty(){return Z.some((O)=>Q[O])},validate:K,validateField:W,reset:z,setValues:U,setFieldValue:B,setFieldTouched:j,getFieldState:_,handleSubmit:H}}var jq;var Bq=E(()=>{s8();jq=Q6});var Lq={};t(Lq,{v:()=>BL,useForm:()=>Q6,processHasErrorsDirective:()=>Oq,processFormValidationDirectives:()=>_L,processErrorsDirective:()=>Hq,processErrorDirective:()=>_q,defineForm:()=>jq,Validator:()=>a5});class a5{rules=[];defaultValue="";addRule($){let X=new a5;return X.rules=[...this.rules,$],X.defaultValue=this.defaultValue,X}required($="This field is required"){return this.addRule({name:"required",message:$,validate:(X)=>{if(X===null||X===void 0)return $;if(typeof X==="string"&&X.trim()==="")return $;if(Array.isArray(X)&&X.length===0)return $;return!0}})}email($="Please enter a valid email"){return this.addRule({name:"email",message:$,validate:(X)=>{if(!X)return!0;return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(X))||$}})}url($="Please enter a valid URL"){return this.addRule({name:"url",message:$,validate:(X)=>{if(!X)return!0;try{return new URL(String(X)),!0}catch{return $}}})}min($,X){let Z=X||`Must be at least ${$} characters`;return this.addRule({name:"min",message:Z,validate:(J)=>{if(!J)return!0;return String(J).length>=$||Z}})}max($,X){let Z=X||`Must be no more than ${$} characters`;return this.addRule({name:"max",message:Z,validate:(J)=>{if(!J)return!0;return String(J).length<=$||Z}})}length($,X,Z){let J=Z||`Must be between ${$} and ${X} characters`;return this.addRule({name:"length",message:J,validate:(Y)=>{if(!Y)return!0;let G=String(Y).length;return G>=$&&G<=X||J}})}pattern($,X="Invalid format"){return this.addRule({name:"pattern",message:X,validate:(Z)=>{if(!Z)return!0;return $.test(String(Z))||X}})}hasUppercase($="Must contain an uppercase letter"){return this.pattern(/[A-Z]/,$)}hasLowercase($="Must contain a lowercase letter"){return this.pattern(/[a-z]/,$)}hasNumber($="Must contain a number"){return this.pattern(/\d/,$)}hasSpecial($="Must contain a special character"){return this.pattern(/[!@#$%^&*(),.?":{}|<>]/,$)}alphanumeric($="Only letters and numbers allowed"){return this.pattern(/^[a-zA-Z0-9]+$/,$)}startsWithLetter($="Must start with a letter"){return this.pattern(/^[a-zA-Z]/,$)}noSpaces($="Spaces are not allowed"){return this.addRule({name:"noSpaces",message:$,validate:(X)=>{if(!X)return!0;return!String(X).includes(" ")||$}})}number($="Must be a number"){let X=this.addRule({name:"number",message:$,validate:(Z)=>{if(!Z&&Z!==0)return!0;return!Number.isNaN(Number(Z))||$}});return X.defaultValue=0,X}integer($="Must be a whole number"){return this.addRule({name:"integer",message:$,validate:(X)=>{if(!X&&X!==0)return!0;return Number.isInteger(Number(X))||$}})}positive($="Must be a positive number"){return this.addRule({name:"positive",message:$,validate:(X)=>{if(!X&&X!==0)return!0;return Number(X)>0||$}})}negative($="Must be a negative number"){return this.addRule({name:"negative",message:$,validate:(X)=>{if(!X&&X!==0)return!0;return Number(X)<0||$}})}minValue($,X){let Z=X||`Must be at least ${$}`;return this.addRule({name:"minValue",message:Z,validate:(J)=>{if(!J&&J!==0)return!0;return Number(J)>=$||Z}})}maxValue($,X){let Z=X||`Must be no more than ${$}`;return this.addRule({name:"maxValue",message:Z,validate:(J)=>{if(!J&&J!==0)return!0;return Number(J)<=$||Z}})}between($,X,Z){let J=Z||`Must be between ${$} and ${X}`;return this.addRule({name:"between",message:J,validate:(Y)=>{if(!Y&&Y!==0)return!0;let G=Number(Y);return G>=$&&G<=X||J}})}matches($,X){let Z=X||`Must match ${$}`;return this.addRule({name:"matches",message:Z,validate:(J,Y)=>{if(!Y)return!0;return J===Y[$]||Z}})}oneOf($,X){let Z=X||`Must be one of: ${$.join(", ")}`;return this.addRule({name:"oneOf",message:Z,validate:(J)=>{if(!J)return!0;return $.includes(J)||Z}})}notOneOf($,X){let Z=X||`Cannot be one of: ${$.join(", ")}`;return this.addRule({name:"notOneOf",message:Z,validate:(J)=>{if(!J)return!0;return!$.includes(J)||Z}})}date($="Must be a valid date"){return this.addRule({name:"date",message:$,validate:(X)=>{if(!X)return!0;let Z=new Date(String(X));return!Number.isNaN(Z.getTime())||$}})}before($,X){let Z=new Date($),J=X||`Must be before ${Z.toLocaleDateString()}`;return this.addRule({name:"before",message:J,validate:(Y)=>{if(!Y)return!0;return new Date(String(Y))<Z||J}})}after($,X){let Z=new Date($),J=X||`Must be after ${Z.toLocaleDateString()}`;return this.addRule({name:"after",message:J,validate:(Y)=>{if(!Y)return!0;return new Date(String(Y))>Z||J}})}custom($,X="Invalid value"){return this.addRule({name:"custom",message:X,validate:$})}async($,X="Invalid value"){return this.addRule({name:"async",message:X,async:!0,validate:$})}when($,X){let Z=new a5;Z.rules=[...this.rules],Z.defaultValue=this.defaultValue;for(let J of X.getRules())Z.rules.push({...J,validate:(Y,G)=>{if(!$(Y,G||{}))return!0;return J.validate(Y,G)}});return Z}getRules(){return this.rules}getDefaultValue(){return this.defaultValue}default($){let X=new a5;return X.rules=[...this.rules],X.defaultValue=$,X}async validate($,X){let Z=[];for(let J of this.rules){let Y=await J.validate($,X);if(Y!==!0)Z.push(Y)}return Z}validateSync($,X){let Z=[];for(let J of this.rules){if(J.async)continue;let Y=J.validate($,X);if(Y!==!0)Z.push(Y)}return Z}}function _q($,X,Z){let J=/@error\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderror/g;return $.replace(J,(Y,G,Q)=>{try{let w=G.trim().split("."),q=X;for(let K of w)if(q&&typeof q==="object"&&K in q)q=q[K];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return W.map((K)=>{return Q.replace(/\{\{\s*message\s*\}\}/g,K)}).join(`
15062
+ `)}catch{return""}})}function Hq($,X,Z){let J=/@errors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderrors/g;return $.replace(J,(Y,G,Q)=>{try{let w=G.trim().split("."),q=X;for(let K of w)if(q&&typeof q==="object"&&K in q)q=q[K];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return W.map((K)=>Q.replace(/\{\{\s*message\s*\}\}/g,K)).join(`
15063
+ `)}catch{return""}})}function Oq($,X,Z){let J=/@hasErrors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@endhasErrors/g;return $.replace(J,(Y,G,Q)=>{try{let w=G.trim().split("."),q=X;for(let K of w)if(q&&typeof q==="object"&&K in q)q=q[K];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return Q}catch{return""}})}function _L($,X,Z){let J=$;return J=_q(J,X,Z),J=Hq(J,X,Z),J=Oq(J,X,Z),J}var BL;var Fq=E(()=>{Bq();BL=new a5});var Rq={};t(Rq,{processXElementDirectives:()=>HL,hasXElementDirectives:()=>Aq,generateXElementRuntime:()=>Vq});function Vq(){return`<script data-stx-scoped data-stx-x-element-runtime data-stx-run="always">
14945
15064
  (function() {
14946
15065
  'use strict';
14947
15066
 
@@ -15225,16 +15344,16 @@ else {
15225
15344
  // Expose for manual initialization
15226
15345
  window.XElement = XElement;
15227
15346
  })();
15228
- </script>`}function jq($){return/\bx-data(?:\s|=)/.test($)}function GL($){let X=/<script\b(?=[^>]*\bdata-stx-x-element-runtime\b)[^>]*>[\s\S]*?<\/script>\s*/gi,Z=$.match(X)||[],J=Z.length>0?$.replace(X,""):$;if(!jq(J))return J;let Y=Z[0]?.trim()||Uq(),G=J.lastIndexOf("</body>");if(G!==-1)return J.slice(0,G)+Y+`
15347
+ </script>`}function Aq($){return/\bx-data(?:\s|=)/.test($)}function HL($){let X=/<script\b(?=[^>]*\bdata-stx-x-element-runtime\b)[^>]*>[\s\S]*?<\/script>\s*/gi,Z=$.match(X)||[],J=Z.length>0?$.replace(X,""):$;if(!Aq(J))return J;let Y=Z[0]?.trim()||Vq(),G=J.lastIndexOf("</body>");if(G!==-1)return J.slice(0,G)+Y+`
15229
15348
  `+J.slice(G);return J+`
15230
- `+Y}var _q={};t(_q,{rewriteImagesWithSiblings:()=>qL});import N1 from"path";async function qL($,X){let Z=X.formats??wL;if(!X.publicDir)return $;let J=zL($),Y=[],G=/<img\b[^>]*?>/gi,Q=[],w;while((w=G.exec($))!==null){let z=w[0],U=z.match(/\bsrc=["']([^"']+)["']/i);if(!U)continue;if(UL(w.index,J))continue;Q.push({idx:w.index,length:z.length,src:U[1],raw:z})}if(Q.length===0)return $;let q=await Promise.all(Q.map(async(z)=>{let U=await WL(z.src,X.publicDir,Z);return{match:z,sources:U}}));for(let{match:z,sources:U}of q){if(U.length===0)continue;let j=`<picture>${U.map((_)=>`<source type="${_.mime}" srcset="${jL(_.url)}">`).join("")}${z.raw}</picture>`;Y.push({start:z.idx,end:z.idx+z.length,replacement:j})}if(Y.length===0)return $;let W="",K=0;for(let z of Y)W+=$.slice(K,z.start),W+=z.replacement,K=z.end;return W+=$.slice(K),W}async function WL($,X,Z){if(!KL($))return[];let J=N1.extname($).toLowerCase();if(!QL.has(J))return[];if(!$.startsWith("/"))return[];let Y=N1.join(X,$.slice(1)),G=N1.dirname(Y),Q=N1.basename(Y,J),w=N1.resolve(G),q=N1.resolve(X);if(!w.startsWith(q))return[];let W=N1.posix.dirname($),K=Z.map(async(U)=>{let B=N1.join(G,`${Q}${U.ext}`);if(!await Bun.file(B).exists())return null;return{url:N1.posix.join(W,`${Q}${U.ext}`),mime:U.mime}});return(await Promise.all(K)).filter((U)=>U!==null)}function KL($){if(!$)return!1;if($.startsWith("http://")||$.startsWith("https://"))return!1;if($.startsWith("//"))return!1;if($.startsWith("data:"))return!1;return!0}function zL($){let X=[],Z=/<picture\b[^>]*>[\s\S]*?<\/picture>/gi,J;while((J=Z.exec($))!==null)X.push([J.index,J.index+J[0].length]);return X}function UL($,X){for(let[Z,J]of X)if($>=Z&&$<J)return!0;return!1}function jL($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;")}var QL,wL;var Hq=E(()=>{QL=new Set([".jpg",".jpeg",".png",".gif"]),wL=[{ext:".avif",mime:"image/avif"},{ext:".webp",mime:"image/webp"}]});var Oq=()=>{};function X6($){return $.pwa?.serviceWorker?.fileName||"sw.js"}var Lq=E(()=>{Oq()});var Fq={};t(Fq,{injectPwaTags:()=>BL,generateThemeColorMeta:()=>OL,generateSwRegistrationScript:()=>_L,generatePwaTags:()=>_9,generateManifestLink:()=>HL});function _9($){let X=$.pwa;if(!X?.enabled)return"";let Z=X.manifest,J=X.icons?.outputDir?`/${X.icons.outputDir}`:"/pwa-icons",Y=X6($),G=`
15349
+ `+Y}var Nq={};t(Nq,{rewriteImagesWithSiblings:()=>FL});import T1 from"path";async function FL($,X){let Z=X.formats??LL;if(!X.publicDir)return $;let J=RL($),Y=[],G=/<img\b[^>]*?>/gi,Q=[],w;while((w=G.exec($))!==null){let z=w[0],U=z.match(/\bsrc=["']([^"']+)["']/i);if(!U)continue;if(NL(w.index,J))continue;Q.push({idx:w.index,length:z.length,src:U[1],raw:z})}if(Q.length===0)return $;let q=await Promise.all(Q.map(async(z)=>{let U=await VL(z.src,X.publicDir,Z);return{match:z,sources:U}}));for(let{match:z,sources:U}of q){if(U.length===0)continue;let j=`<picture>${U.map((_)=>`<source type="${_.mime}" srcset="${TL(_.url)}">`).join("")}${z.raw}</picture>`;Y.push({start:z.idx,end:z.idx+z.length,replacement:j})}if(Y.length===0)return $;let W="",K=0;for(let z of Y)W+=$.slice(K,z.start),W+=z.replacement,K=z.end;return W+=$.slice(K),W}async function VL($,X,Z){if(!AL($))return[];let J=T1.extname($).toLowerCase();if(!OL.has(J))return[];if(!$.startsWith("/"))return[];let Y=T1.join(X,$.slice(1)),G=T1.dirname(Y),Q=T1.basename(Y,J),w=T1.resolve(G),q=T1.resolve(X);if(!w.startsWith(q))return[];let W=T1.posix.dirname($),K=Z.map(async(U)=>{let B=T1.join(G,`${Q}${U.ext}`);if(!await Bun.file(B).exists())return null;return{url:T1.posix.join(W,`${Q}${U.ext}`),mime:U.mime}});return(await Promise.all(K)).filter((U)=>U!==null)}function AL($){if(!$)return!1;if($.startsWith("http://")||$.startsWith("https://"))return!1;if($.startsWith("//"))return!1;if($.startsWith("data:"))return!1;return!0}function RL($){let X=[],Z=/<picture\b[^>]*>[\s\S]*?<\/picture>/gi,J;while((J=Z.exec($))!==null)X.push([J.index,J.index+J[0].length]);return X}function NL($,X){for(let[Z,J]of X)if($>=Z&&$<J)return!0;return!1}function TL($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;")}var OL,LL;var Tq=E(()=>{OL=new Set([".jpg",".jpeg",".png",".gif"]),LL=[{ext:".avif",mime:"image/avif"},{ext:".webp",mime:"image/webp"}]});var Mq=()=>{};function w6($){return $.pwa?.serviceWorker?.fileName||"sw.js"}var kq=E(()=>{Mq()});var Iq={};t(Iq,{injectPwaTags:()=>ML,generateThemeColorMeta:()=>EL,generateSwRegistrationScript:()=>kL,generatePwaTags:()=>L9,generateManifestLink:()=>IL});function L9($){let X=$.pwa;if(!X?.enabled)return"";let Z=X.manifest,J=X.icons?.outputDir?`/${X.icons.outputDir}`:"/pwa-icons",Y=w6($),G=`
15231
15350
  <!-- stx PWA Meta Tags -->
15232
15351
  <link rel="manifest" href="/manifest.json">
15233
- <meta name="theme-color" content="${Z6(Z?.themeColor||"#000000")}">
15352
+ <meta name="theme-color" content="${q6(Z?.themeColor||"#000000")}">
15234
15353
  <meta name="mobile-web-app-capable" content="yes">
15235
15354
  <meta name="apple-mobile-web-app-capable" content="yes">
15236
15355
  <meta name="apple-mobile-web-app-status-bar-style" content="default">
15237
- <meta name="apple-mobile-web-app-title" content="${Z6(Z?.shortName||Z?.name||"App")}">`;if(X.icons?.generateAppleIcons!==!1)G+=`
15356
+ <meta name="apple-mobile-web-app-title" content="${q6(Z?.shortName||Z?.name||"App")}">`;if(X.icons?.generateAppleIcons!==!1)G+=`
15238
15357
  <link rel="apple-touch-icon" href="${J}/apple-touch-icon.png">
15239
15358
  <link rel="apple-touch-icon" sizes="120x120" href="${J}/apple-touch-icon-120x120.png">
15240
15359
  <link rel="apple-touch-icon" sizes="152x152" href="${J}/apple-touch-icon-152x152.png">
@@ -15271,12 +15390,12 @@ if ('serviceWorker' in navigator) {
15271
15390
  });
15272
15391
  }
15273
15392
  </script>
15274
- <!-- End stx PWA -->`,G}function BL($,X){let Z=X.pwa;if(!Z?.enabled||Z.autoInject===!1)return $;if($.includes("<!-- stx PWA Meta Tags -->"))return $;if(!$.includes("</head>")){let Y=$.lastIndexOf("</body>");if(Y!==-1){let G=_9(X);return $.slice(0,Y)+G+`
15275
- `+$.slice(Y)}return $+_9(X)}let J=_9(X);return $.replace("</head>",`${J}
15276
- </head>`)}function _L($){if(!$.pwa?.enabled)return"";return`<script>
15393
+ <!-- End stx PWA -->`,G}function ML($,X){let Z=X.pwa;if(!Z?.enabled||Z.autoInject===!1)return $;if($.includes("<!-- stx PWA Meta Tags -->"))return $;if(!$.includes("</head>")){let Y=$.lastIndexOf("</body>");if(Y!==-1){let G=L9(X);return $.slice(0,Y)+G+`
15394
+ `+$.slice(Y)}return $+L9(X)}let J=L9(X);return $.replace("</head>",`${J}
15395
+ </head>`)}function kL($){if(!$.pwa?.enabled)return"";return`<script>
15277
15396
  if ('serviceWorker' in navigator) {
15278
15397
  window.addEventListener('load', function() {
15279
- navigator.serviceWorker.register('/${X6($)}')
15398
+ navigator.serviceWorker.register('/${w6($)}')
15280
15399
  .then(function(registration) {
15281
15400
  console.log('[PWA] Service Worker registered:', registration.scope);
15282
15401
  })
@@ -15285,54 +15404,54 @@ if ('serviceWorker' in navigator) {
15285
15404
  });
15286
15405
  });
15287
15406
  }
15288
- </script>`}function HL(){return'<link rel="manifest" href="/manifest.json">'}function OL($){return`<meta name="theme-color" content="${Z6($)}">`}function Z6($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var Vq=E(()=>{Lq()});import LL from"fs";import P0 from"path";function Aq($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function FL($,X){let Z=$.length,J=X,Y=!0,G=[],Q=(w)=>w+9<=Z&&$[w]==="<"&&$[w+1]==="/"&&($[w+2]==="s"||$[w+2]==="S")&&($[w+3]==="c"||$[w+3]==="C")&&($[w+4]==="r"||$[w+4]==="R")&&($[w+5]==="i"||$[w+5]==="I")&&($[w+6]==="p"||$[w+6]==="P")&&($[w+7]==="t"||$[w+7]==="T")&&($[w+8]===">"||/\s/.test($[w+8]));while(J<Z){let w=$[J];if(Q(J))return J;if(w==="/"&&$[J+1]==="/"){if(J=$.indexOf(`
15407
+ </script>`}function IL(){return'<link rel="manifest" href="/manifest.json">'}function EL($){return`<meta name="theme-color" content="${q6($)}">`}function q6($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var Eq=E(()=>{kq()});import DL from"fs";import P0 from"path";function Dq($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function yL($,X){let Z=$.length,J=X,Y=!0,G=[],Q=(w)=>w+9<=Z&&$[w]==="<"&&$[w+1]==="/"&&($[w+2]==="s"||$[w+2]==="S")&&($[w+3]==="c"||$[w+3]==="C")&&($[w+4]==="r"||$[w+4]==="R")&&($[w+5]==="i"||$[w+5]==="I")&&($[w+6]==="p"||$[w+6]==="P")&&($[w+7]==="t"||$[w+7]==="T")&&($[w+8]===">"||/\s/.test($[w+8]));while(J<Z){let w=$[J];if(Q(J))return J;if(w==="/"&&$[J+1]==="/"){if(J=$.indexOf(`
15289
15408
  `,J+2),J===-1)return-1;J+=1,Y=!0;continue}if(w==="/"&&$[J+1]==="*"){let q=$.indexOf("*/",J+2);if(q===-1)return-1;J=q+2,Y=!0;continue}if(w==="/"&&Y){let q=J+1,W=!1;while(q<Z){let K=$[q];if(K==="\\"){q+=2;continue}if(K==="[")W=!0;else if(K==="]")W=!1;else if(K==="/"&&!W){q++;break}else if(K===`
15290
15409
  `){q=-1;break}q++}if(q===-1){J++,Y=!1;continue}while(q<Z&&/[a-z]/.test($[q]))q++;J=q,Y=!1;continue}if(w==="'"||w==='"'){let q=w;J++;while(J<Z){if($[J]==="\\"){J+=2;continue}if($[J]===q){J++;break}if($[J]===`
15291
- `)break;J++}Y=!1;continue}if(w==="`"){J++;while(J<Z){if($[J]==="\\"){J+=2;continue}if($[J]==="`"){J++;break}if($[J]==="$"&&$[J+1]==="{"){G.push(!0),J+=2,Y=!0;break}J++}if(G.length===0)Y=!1;continue}if(w==="}"&&G.length>0){G.pop(),J++;while(J<Z){if($[J]==="\\"){J+=2;continue}if($[J]==="`"){J++,Y=!1;break}if($[J]==="$"&&$[J+1]==="{"){G.push(!0),J+=2,Y=!0;break}J++}continue}if(/\s/.test(w));else if(/[)\].\w$]/.test(w))Y=!1;else Y=!0;J++}return-1}function a5($,X){let Z=X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),J=new RegExp(`<script\\b(?=[^>]*\\b${Z}(?:\\s|=|/?>))[^>]*>`,"i").exec($);if(!J)return null;let Y=J.index+J[0].length,G=$.indexOf("</script>",Y);if(G===-1)return null;let Q=$.indexOf(">",G);if(Q===-1)return null;return{start:J.index,end:Q+1}}function Rq($){let X=0;while(X<$.length){let Z=$.indexOf("<",X);if(Z===-1)return-1;if($.startsWith("<!--",Z)){let G=$.indexOf("-->",Z+4);X=G===-1?$.length:G+3;continue}let J=$.slice(Z),Y=/^<style\b[^>]*>/i.exec(J);if(Y){let G=$.toLowerCase().indexOf("</style>",Z+Y[0].length);X=G===-1?$.length:G+8;continue}if(/^<script\b[^>]*>/i.test(J))return Z;X=Z+1}return-1}function VL($){let X=a5($,"data-stx-runtime");if(!X)return $;let Z=Rq($);if(Z===-1||Z===X.start)return $;let J=$.slice(X.start,X.end),Y=$.slice(0,X.start)+$.slice(X.end),G=Rq(Y);if(G===-1)return J+`
15410
+ `)break;J++}Y=!1;continue}if(w==="`"){J++;while(J<Z){if($[J]==="\\"){J+=2;continue}if($[J]==="`"){J++;break}if($[J]==="$"&&$[J+1]==="{"){G.push(!0),J+=2,Y=!0;break}J++}if(G.length===0)Y=!1;continue}if(w==="}"&&G.length>0){G.pop(),J++;while(J<Z){if($[J]==="\\"){J+=2;continue}if($[J]==="`"){J++,Y=!1;break}if($[J]==="$"&&$[J+1]==="{"){G.push(!0),J+=2,Y=!0;break}J++}continue}if(/\s/.test(w));else if(/[)\].\w$]/.test(w))Y=!1;else Y=!0;J++}return-1}function t5($,X){let Z=X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),J=new RegExp(`<script\\b(?=[^>]*\\b${Z}(?:\\s|=|/?>))[^>]*>`,"i").exec($);if(!J)return null;let Y=J.index+J[0].length,G=$.indexOf("</script>",Y);if(G===-1)return null;let Q=$.indexOf(">",G);if(Q===-1)return null;return{start:J.index,end:Q+1}}function yq($){let X=0;while(X<$.length){let Z=$.indexOf("<",X);if(Z===-1)return-1;if($.startsWith("<!--",Z)){let G=$.indexOf("-->",Z+4);X=G===-1?$.length:G+3;continue}let J=$.slice(Z),Y=/^<style\b[^>]*>/i.exec(J);if(Y){let G=$.toLowerCase().indexOf("</style>",Z+Y[0].length);X=G===-1?$.length:G+8;continue}if(/^<script\b[^>]*>/i.test(J))return Z;X=Z+1}return-1}function bL($){let X=t5($,"data-stx-runtime");if(!X)return $;let Z=yq($);if(Z===-1||Z===X.start)return $;let J=$.slice(X.start,X.end),Y=$.slice(0,X.start)+$.slice(X.end),G=yq(Y);if(G===-1)return J+`
15292
15411
  `+Y;return Y.slice(0,G)+J+`
15293
- `+Y.slice(G)}async function O0($,X,Z,J,Y){if(J.ssr===!1&&!J.autoShell&&J.buildMode==="spa")return $;if(X.__stx_signals_gate===void 0)X.__stx_signals_gate=F1($);let G=!X.__stxProcessingDepth;if(G)V2(X);if(!X.__stxProcessingDepth)X.__stxProcessingDepth=0;if(X.__stxProcessingDepth++,!X.__onceStore)X.__onceStore=new Set;if((J.debug||!l7()&&!y$())&&Z&&Z.endsWith(".stx"))a3($,Z);try{return await l2.timeAsync("template-processing",async()=>{let Q=await AL($,X,Z,J,Y);if(G)Q=c4(Q);if(G&&J.autoShell&&J.buildMode!=="compile"){let w=J.app?.head||{},W=(X.__stx_runtime_head||null)??qX(),K=(X.__stx_head_raw||"").trim(),z,U=K.match(/<title[^>]*>([\s\S]*?)<\/title>/i);if(U)z=U[1].trim(),K=K.replace(U[0],"").trim();let B=X.__sections?.title,j=W.title||z||B,_=!W.title&&(!!z||!!B),H={...w,...j&&{title:j},meta:[...w.meta||[],...W.meta||[]],link:[...w.link||[],...W.link||[]],script:[...w.script||[],...W.script||[]],headRaw:[w.headRaw,K].filter(Boolean).join(`
15294
- `),...W.htmlAttrs&&{htmlAttrs:uQ(w.htmlAttrs,W.htmlAttrs)},...W.bodyAttrs&&{bodyAttrs:{...w.bodyAttrs||{},...W.bodyAttrs}}},O=d4(Q);if(Q=cQ(Q,H,{..._&&{titleIsHtml:!0},...J.app?.colorMode&&{colorMode:J.app.colorMode}}),O)Q=lQ(Q,w),Q=dQ(Q,H.htmlAttrs);let L=Q.match(/<!-- stx-layout: ([^ ]+) -->/);if(L&&Q.includes("<head")){let R=L[1],A=B7(R);Q=Q.replace(/<head\b[^>]*>/i,(N)=>`${N}
15295
- <meta name="stx-layout" content="${Aq(R)}">
15296
- <meta name="stx-layout-group" content="${Aq(A)}">`)}let F=Q.match(/function (__stx_setup_\d+_\d+)\(/),V=F?g7(Q):null;if(F&&V&&!/\bdata-stx=/.test(V.tag)){Q=h8(Q,(A,N)=>`<body${N} data-stx="${F[1]}">`);let R=new RegExp(`(<(?!body)[a-zA-Z][^>]*) data-stx="${F[1]}"`,"i");Q=Q.replace(R,"$1")}}if(G){Q=mQ(Q);let w=J.app?.colorMode;if(w)Q=vQ(Q,w);Q=fQ(Q),Q=VL(Q)}if(G)try{let{getStoreScript:w}=await e("stx/store-loader",()=>Promise.resolve().then(() => ($w(),eQ))),q=J.storesDir,W=await w(q);if(W){let K=`<script data-stx-stores>${W}</script>`,z=a5(Q,"data-stx-runtime");if(z)Q=Q.slice(0,z.end)+`
15297
- `+K+Q.slice(z.end)}}catch{}if(G)try{let{getFrameworkComposableScript:w}=await e("stx/framework-composables",()=>Promise.resolve().then(() => (Gw(),Yw))),q=await w(Q);if(q){let W=a5(Q,"data-stx-stores")||a5(Q,"data-stx-runtime");if(W)Q=Q.slice(0,W.end)+`
15298
- `+q+Q.slice(W.end)}}catch{}if(G)try{let{getComposableScript:w}=await e("stx/composable-loader",()=>Promise.resolve().then(() => (qw(),ww))),q=J.composablesDir,W=await w(q);if(W){let K=`<script data-stx-composables>${W}</script>`,z=a5(Q,"data-stx-stores")||a5(Q,"data-stx-runtime");if(z)Q=Q.slice(0,z.end)+`
15299
- `+K+Q.slice(z.end)}}catch{}if(G)Q=xQ(Q);if(G&&X.__stx_inject_css!==!1)Q=await n7(Q,void 0,J.buildMode==="serve");if(G)Q=r2(Q);return Q=Q.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),Q})}catch(Q){if(Q instanceof P$)throw Q;let w=Q instanceof Error?Q.message:String(Q),q=new Y5(`Template processing failed: ${w}`,Z,void 0,void 0,$.substring(0,200)+($.length>200?"...":""));if(J1.log(q,{filePath:Z,context:X}),k3.logDetailedError(q,{filePath:Z,template:$.substring(0,500)}),J.debug)throw q;return T3.createFallbackContent("Template Processing",q)}}async function AL($,X,Z,J,Y){let G=process.cwd(),Q={...J,partialsDir:J.partialsDir&&!P0.isAbsolute(J.partialsDir)?P0.resolve(G,J.partialsDir):J.partialsDir,componentsDir:J.componentsDir&&!P0.isAbsolute(J.componentsDir)?P0.resolve(G,J.componentsDir):J.componentsDir,layoutsDir:J.layoutsDir&&!P0.isAbsolute(J.layoutsDir)?P0.resolve(G,J.layoutsDir):J.layoutsDir},w=Q,q=$;await TL(Z,X),NL(X,w),q=await P5(()=>OQ(q,X,Z,w),q,(F)=>{J1.log(F,{filePath:Z,phase:"pre-processing-middleware"},"warning"),console.warn(`[stx] pre-processing middleware failed for ${Z}: ${F.message}`)}),q=q.replace(/\{\{--[\s\S]*?--\}\}/g,"");let W=w1(q,y7,(F,V)=>`\x00STX_HTML_COMMENT_${V}\x00`);q=W.output;let K=W.tokens,z=(F)=>K.length===0?F:F.replace(/\x00STX_HTML_COMMENT_(\d+)\x00/g,(V,R)=>K[Number(R)]??""),U="\x00STX_ESCAPED_AT\x00";q=q.replace(/@@/g,U),q=q.replace(/@\{\{([\s\S]*?)\}\}/g,(F,V)=>{return`{{ ${V} }}`}),q=EQ(q),q=await rQ(q,Z,Y);let B={};q=b4(q,B);let j={...X.__sections||{}},_="",H=fY(l$($)),O=/@nolayout\b/.test(q)||H===!1;if(/@nolayout\b/.test(q))q=q.replace(/@nolayout\b\s*/g,"");let L=q.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(L)_=L[1],q=q.replace(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/g,"");else if(typeof H==="string"){if(_=H,!/@section\s*\(/.test(q))q=`@section('content')
15412
+ `+Y.slice(G)}async function O0($,X,Z,J,Y){if(J.ssr===!1&&!J.autoShell&&J.buildMode==="spa")return $;if(X.__stx_signals_gate===void 0)X.__stx_signals_gate=F1($);let G=!X.__stxProcessingDepth;if(G)b2(X);if(!X.__stxProcessingDepth)X.__stxProcessingDepth=0;if(X.__stxProcessingDepth++,!X.__onceStore)X.__onceStore=new Set;if((J.debug||!c7()&&!P$())&&Z&&Z.endsWith(".stx"))Z3($,Z);try{return await $Z.timeAsync("template-processing",async()=>{let Q=await SL($,X,Z,J,Y);if(G)Q=s3(Q);if(G&&J.autoShell&&J.buildMode!=="compile"){let w=J.app?.head||{},W=(X.__stx_runtime_head||null)??UX(),K=(X.__stx_head_raw||"").trim(),z,U=K.match(/<title[^>]*>([\s\S]*?)<\/title>/i);if(U)z=U[1].trim(),K=K.replace(U[0],"").trim();let B=X.__sections?.title,j=W.title||z||B,_=!W.title&&(!!z||!!B),H={...w,...j&&{title:j},meta:[...w.meta||[],...W.meta||[]],link:[...w.link||[],...W.link||[]],script:[...w.script||[],...W.script||[]],headRaw:[w.headRaw,K].filter(Boolean).join(`
15413
+ `),...W.htmlAttrs&&{htmlAttrs:rQ(w.htmlAttrs,W.htmlAttrs)},...W.bodyAttrs&&{bodyAttrs:{...w.bodyAttrs||{},...W.bodyAttrs}}},L=n3(Q);if(Q=tQ(Q,H,{..._&&{titleIsHtml:!0},...J.app?.colorMode&&{colorMode:J.app.colorMode}}),L)Q=aQ(Q,w),Q=oQ(Q,H.htmlAttrs);let O=Q.match(/<!-- stx-layout: ([^ ]+) -->/);if(O&&Q.includes("<head")){let A=O[1],R=_7(A);Q=Q.replace(/<head\b[^>]*>/i,(N)=>`${N}
15414
+ <meta name="stx-layout" content="${Dq(A)}">
15415
+ <meta name="stx-layout-group" content="${Dq(R)}">`)}let F=Q.match(/function (__stx_setup_\d+_\d+)\(/),V=F?h7(Q):null;if(F&&V&&!/\bdata-stx=/.test(V.tag)){Q=m8(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=sQ(Q);let w=J.app?.colorMode;if(w)Q=lQ(Q,w);Q=pQ(Q),Q=bL(Q)}if(G)try{let{getStoreScript:w}=await e("stx/store-loader",()=>Promise.resolve().then(() => (qw(),ww))),q=J.storesDir,W=await w(q);if(W){let K=`<script data-stx-stores>${W}</script>`,z=t5(Q,"data-stx-runtime");if(z)Q=Q.slice(0,z.end)+`
15416
+ `+K+Q.slice(z.end)}}catch{}if(G)try{let{getFrameworkComposableScript:w}=await e("stx/framework-composables",()=>Promise.resolve().then(() => (jw(),Uw))),q=await w(Q);if(q){let W=t5(Q,"data-stx-stores")||t5(Q,"data-stx-runtime");if(W)Q=Q.slice(0,W.end)+`
15417
+ `+q+Q.slice(W.end)}}catch{}if(G)try{let{getComposableScript:w}=await e("stx/composable-loader",()=>Promise.resolve().then(() => (Hw(),_w))),q=J.composablesDir,W=await w(q);if(W){let K=`<script data-stx-composables>${W}</script>`,z=t5(Q,"data-stx-stores")||t5(Q,"data-stx-runtime");if(z)Q=Q.slice(0,z.end)+`
15418
+ `+K+Q.slice(z.end)}}catch{}if(G)Q=cQ(Q);if(G&&X.__stx_inject_css!==!1)Q=await r7(Q,void 0,J.buildMode==="serve");if(G)Q=GZ(Q);return Q=Q.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),Q})}catch(Q){if(Q instanceof g$)throw Q;let w=Q instanceof Error?Q.message:String(Q),q=new G5(`Template processing failed: ${w}`,Z,void 0,void 0,$.substring(0,200)+($.length>200?"...":""));if(J1.log(q,{filePath:Z,context:X}),b4.logDetailedError(q,{filePath:Z,template:$.substring(0,500)}),J.debug)throw q;return D4.createFallbackContent("Template Processing",q)}}async function SL($,X,Z,J,Y){let G=process.cwd(),Q={...J,partialsDir:J.partialsDir&&!P0.isAbsolute(J.partialsDir)?P0.resolve(G,J.partialsDir):J.partialsDir,componentsDir:J.componentsDir&&!P0.isAbsolute(J.componentsDir)?P0.resolve(G,J.componentsDir):J.componentsDir,layoutsDir:J.layoutsDir&&!P0.isAbsolute(J.layoutsDir)?P0.resolve(G,J.layoutsDir):J.layoutsDir},w=Q,q=$;await vL(Z,X),PL(X,w),q=await P5(()=>MQ(q,X,Z,w),q,(F)=>{J1.log(F,{filePath:Z,phase:"pre-processing-middleware"},"warning"),console.warn(`[stx] pre-processing middleware failed for ${Z}: ${F.message}`)}),q=q.replace(/\{\{--[\s\S]*?--\}\}/g,"");let W=w1(q,b7,(F,V)=>`\x00STX_HTML_COMMENT_${V}\x00`);q=W.output;let K=W.tokens,z=(F)=>K.length===0?F:F.replace(/\x00STX_HTML_COMMENT_(\d+)\x00/g,(V,A)=>K[Number(A)]??""),U="\x00STX_ESCAPED_AT\x00";q=q.replace(/@@/g,U),q=q.replace(/@\{\{([\s\S]*?)\}\}/g,(F,V)=>{return`{{ ${V} }}`}),q=xQ(q),q=await Zw(q,Z,Y);let B={};q=f3(q,B);let j={...X.__sections||{}},_="",H=nY(n$($)),L=/@nolayout\b/.test(q)||H===!1;if(/@nolayout\b/.test(q))q=q.replace(/@nolayout\b\s*/g,"");let O=q.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(O)_=O[1],q=q.replace(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/g,"");else if(typeof H==="string"){if(_=H,!/@section\s*\(/.test(q))q=`@section('content')
15300
15419
  ${q.trim()}
15301
- @endsection`}if(!_&&!O&&w.defaultLayout){let F=u4(q),V=/@section\s*\(/.test(q);if(!F||V){let R="",A=P0.dirname(Z),N=w.layoutsDir?P0.dirname(w.layoutsDir):process.cwd();for(let M=0;M<20;M++){let T=P0.join(A,"_layout.stx");if(await n(T)){R=T;break}let k=P0.dirname(A);if(k===A||k.length<N.length)break;A=k}if(R)_=R;else if(w.layoutsDir){let M=P0.isAbsolute(w.layoutsDir)?w.layoutsDir:P0.resolve(process.cwd(),w.layoutsDir),T=P0.join(M,`${w.defaultLayout}.stx`);if(await n(T))_=T}if(_&&!V)q=`@section('content')
15420
+ @endsection`}if(!_&&!L&&w.defaultLayout){let F=i3(q),V=/@section\s*\(/.test(q);if(!F||V){let A="",R=P0.dirname(Z),N=w.layoutsDir?P0.dirname(w.layoutsDir):process.cwd();for(let M=0;M<20;M++){let T=P0.join(R,"_layout.stx");if(await n(T)){A=T;break}let k=P0.dirname(R);if(k===R||k.length<N.length)break;R=k}if(A)_=A;else if(w.layoutsDir){let M=P0.isAbsolute(w.layoutsDir)?w.layoutsDir:P0.resolve(process.cwd(),w.layoutsDir),T=P0.join(M,`${w.defaultLayout}.stx`);if(await n(T))_=T}if(_&&!V)q=`@section('content')
15302
15421
  ${q.trim()}
15303
- @endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(F,V,R)=>{return j[V]=R,""}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+?)\s*\)/g,(F,V,R)=>{if(/^(['"]).*\1$/.test(R.trim()))return F;try{let A=Y0(R.trim(),X);if(A===void 0)return F;return j[V]=String(A??""),""}catch{return F}}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(F,V,R)=>{if(R.includes("@parent"))j[V]=R.replace("@parent",U5);else j[V]=R.trim();return""}),X.__sections=j,q=q.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(F,V,R)=>{return j[V]||R||""}),!("slot"in X)||X.slot===void 0)q=q.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""});if(q=S4(q,B),_){let F=[],V=y1(q),R=w1(V.output,M5,(A,N)=>`\x00STX_ORPHAN_STYLE_${N}\x00`);if(q=R.output.replace(/\x00STX_(SCRIPT|ORPHAN_STYLE)_(\d+)\x00/g,(A,N,M)=>{let T=N==="SCRIPT"?V.scripts[Number(M)]:R.tokens[Number(M)];if(T)F.push(T);return""}),F.length>0){let A=F.join(`
15422
+ @endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(F,V,A)=>{return j[V]=A,""}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+?)\s*\)/g,(F,V,A)=>{if(/^(['"]).*\1$/.test(A.trim()))return F;try{let R=Y0(A.trim(),X);if(R===void 0)return F;return j[V]=String(R??""),""}catch{return F}}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(F,V,A)=>{if(A.includes("@parent"))j[V]=A.replace("@parent",U5);else j[V]=A.trim();return""}),X.__sections=j,q=q.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(F,V,A)=>{return j[V]||A||""}),!("slot"in X)||X.slot===void 0)q=q.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""});if(q=g3(q,B),_){let F=[],V=b1(q),A=w1(V.output,M5,(R,N)=>`\x00STX_ORPHAN_STYLE_${N}\x00`);if(q=A.output.replace(/\x00STX_(SCRIPT|ORPHAN_STYLE)_(\d+)\x00/g,(R,N,M)=>{let T=N==="SCRIPT"?V.scripts[Number(M)]:A.tokens[Number(M)];if(T)F.push(T);return""}),F.length>0){let R=F.join(`
15304
15423
  `);j.content=j.content?`${j.content}
15305
- ${A}`:A,X.__sections=j}}if(_)try{let F;if(P0.isAbsolute(_))F=_,Y.add(_);else F=await P5(()=>lX(_,Z,Q,Y),null,()=>{throw new Y5(`Failed to resolve layout path: ${_}`,Z,void 0,void 0,`Layout referenced from ${Z}`)});if(!F){let T=[];try{let D=Q.layoutsDir;if(D){let I=P0.isAbsolute(D)?D:P0.resolve(process.cwd(),D);T=LL.readdirSync(I).filter((S)=>S.endsWith(".stx")).map((S)=>S.replace(/\.stx$/,"")).sort()}}catch{}let k=`Layout not found: ${_} (referenced from ${Z})`+(T.length>0?`. Available layouts: ${T.join(", ")}`:Q.layoutsDir?`. No .stx layouts found in ${Q.layoutsDir}`:"");if(J1.log(Error(k),{layoutPath:_,filePath:Z,available:T},"error"),console.error(`[stx] ${k}`),Q.debug)throw new Y5(k,Z);return q}let V=await P5(()=>Bun.file(F).text(),"",()=>{throw new Y5(`Failed to read layout file: ${F}`,Z,void 0,void 0,"Layout content could not be loaded")}),R=V.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(R){if(Q.debug)console.log(`Found nested layout: ${R[1]} in ${F}`);let T={},k=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(S,b,y)=>{return T[b]=y.trim(),""});for(let[S,b]of Object.entries(T))if(j[S]&&j[S].includes(U5)){let y=j[S].indexOf(U5);j[S]=j[S].slice(0,y)+b+j[S].slice(y+U5.length)}else if(!j[S])j[S]=b;let D={...X,__sections:j},I=`@layout('${R[1]}')${k}`;return await O0(I,D,F,Q,Y)}let A=V.replace(/\{\{--[\s\S]*?--\}\}/g,""),N=b4(A,B),M={};return N=N.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(T,k,D)=>{return M[k]=D.trim(),`@slot('${k}')`}),N=N.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(T,k,D)=>{if(j[k]){let I=j[k];if(I.includes(U5)){let S=M[k]||"",b=I.indexOf(U5);I=I.slice(0,b)+S+I.slice(b+U5.length)}return I}return D||""}),N=RL(N,j),N=N.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""}),N=S4(N,B),X.__originalFilePath=Z,q=await Nq(N,X,F,Q,Y),q=`<!-- stx-layout: ${_} -->
15306
- ${q}`,z(q)}catch(F){return J1.log(F instanceof Error?F:Error(String(F)),{layoutPath:_,filePath:Z},"error"),`[Error processing layout: ${F instanceof Error?F.message:String(F)}]`}return z(await Nq(q,X,Z,Q,Y))}function RL($,X){return $.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(Z,J,Y)=>{let G=X[J];if(G!==void 0){if(!new RegExp(`@(?:yield|slot)\\(\\s*['"]${J.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}['"]`).test(G))return G}return Y||""})}function NL($,X){if($.__stx_sfc_mode=!0,$.__stx_options=X,X.buildMode)$.__stx_buildMode=X.buildMode;let Z=X.envPrefix||"STX_PUBLIC_",J={};for(let[Y,G]of Object.entries(process.env))if(Y.startsWith(Z)&&G!==void 0)J[Y]=G;$.$env=J}async function TL($,X){await P5(()=>RQ($,X),void 0,(Z)=>{J1.log(Z,{filePath:$,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed for ${$}: ${Z.message}`)})}async function ML($,X,Z){let J=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,Y;while((Y=J.exec($))!==null){let G=Y[1],Q=Y[2];if(!/\bserver\b/.test(G)||!Q.trim())continue;try{let{extractVariables:q}=await e("stx/variable-extractor",()=>Promise.resolve().then(() => (x7(),x8)));await q(Q,X,Z,{preserveExisting:!0})}catch(q){let W=q instanceof Error?q:Error(String(q));J1.log(W,{filePath:Z,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${Z}: ${W.message}`)}}}async function kL($,X,Z){try{let{interpolateScriptsInTemplate:J}=await e("stx/expressions",()=>Promise.resolve().then(() => (q1(),u2)));return J($,X,{skipServer:!0})}catch(J){let Y=J instanceof Error?J:Error(String(J));return J1.log(Y,{filePath:Z,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${Z}: ${Y.message}`),$}}async function Nq($,X,Z,J,Y){let G=$,Q=J;if(await ML(G,X,Z),G=await kL(G,X,Z),G=await zQ(G,X,Z),G=await UQ(G,X,Z),G=await JG(G,X,Z,Q),F1(G))G=fX(G,X),G=hX(G,X);G=gX(G);let{processStreamDirectives:w}=await e("stx/streaming",()=>Promise.resolve().then(() => (s3(),o3)));G=w(G,X),G=I4(G,X,Z,Q),G=await CQ(G,X,Z,Q,Y),G=await J9(G,X,Z,Q,Y),G=v6(G,X,Z,Q);let{processDeferDirectives:q}=await e("stx/defer",()=>Promise.resolve().then(() => Kw));G=q(G,X,Z);let{processTeleportDirectives:W}=await e("stx/teleport",()=>Promise.resolve().then(() => Uw));G=W(G,X,Z);let{processTransitionDirectives:K,processTransitionAttributes:z}=await e("stx/transitions",()=>Promise.resolve().then(() => Hw));G=K(G,X,Z),G=z(G);let{processErrorBoundaryDirectives:U}=await e("stx/error-boundaries",()=>Promise.resolve().then(() => Lw));G=U(G,X,Z);let{processSuspenseDirectives:B}=await e("stx/suspense",()=>Promise.resolve().then(() => Fw));G=B(G,X,Z);let{processAsyncDirectives:j}=await e("stx/async-components",()=>Promise.resolve().then(() => Nw));G=j(G,X,Z);let{processKeepAliveDirectives:_}=await e("stx/keep-alive",()=>Promise.resolve().then(() => Mw));G=_(G,X,Z);let{processVirtualListDirectives:H,processVirtualGridDirectives:O,processInfiniteListDirectives:L}=await e("stx/virtual-scrolling",()=>Promise.resolve().then(() => (bw(),yw)));G=H(G,X,Z),G=O(G,X,Z),G=L(G,X,Z);let{processPartialHydrationDirectives:F,processStaticDirectives:V}=await e("stx/partial-hydration",()=>Promise.resolve().then(() => (iw(),pw)));G=F(G,X,Z),G=V(G);let{processComputedDirectives:R,processWatchDirectives:A}=await e("stx/computed",()=>Promise.resolve().then(() => (Yq(),Jq)));G=R(G,X,Z),G=A(G,X,Z);let{processFormValidationDirectives:N}=await e("stx/forms-validation",()=>Promise.resolve().then(() => (zq(),Kq)));G=N(G,X,Z);let{processHeadDirective:M,processTitleDirective:T,processMetaDirective:k,resetHead:D}=await e("stx/head",()=>Promise.resolve().then(() => (v7(),KX)));if(!X.__stx_head_preset&&!X.__stx_runtime_head)D();let I=M(G);if(G=I.content,I.headContent)X.__stx_head_raw=`${X.__stx_head_raw||""}${I.headContent}
15307
- `;if(G=T(G,X),G=k(G,X),G=VQ(G),G=v3(G,X),G=XG(G),G=_Q(G),G=await y4(G,X,Z,Q,Y),G=await J9(G,X,Z,Q,Y),X.__stxProcessingDepth===1)G=R2(G,X);if(G=G.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),G=c4(G),G=Q5(G,X,Z),G=x3(G,X),G=f3(G,X),G=r$(G,X),G=UG(G,X),G=jG(G,X),G=await lY(G,X,Z,Q),G=await $J(G,X,Z),G=await LG(G,X,Z,Q),G=E6(G,X,Z,Q),G=qY(G,X,Z,Q),G=WY(G,X,Z),G=KY(G,X,Z,Q),G=tY(G,X,Z,Q),G=m4(G,X),G=l4(G),G=sQ(G),!Q.skipEventDirectives)G=X2(G,X,Z);if(G=dY(G,X,Z),Q.debug){let r=/\bx-data\s*=/.test(G),$0=$$($);if(r&&$0)console.warn(`[stx] ${Z}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
15424
+ ${R}`:R,X.__sections=j}}if(_)try{let F;if(P0.isAbsolute(_))F=_,Y.add(_);else F=await P5(()=>rX(_,Z,Q,Y),null,()=>{throw new G5(`Failed to resolve layout path: ${_}`,Z,void 0,void 0,`Layout referenced from ${Z}`)});if(!F){let T=[];try{let D=Q.layoutsDir;if(D){let I=P0.isAbsolute(D)?D:P0.resolve(process.cwd(),D);T=DL.readdirSync(I).filter((S)=>S.endsWith(".stx")).map((S)=>S.replace(/\.stx$/,"")).sort()}}catch{}let k=`Layout not found: ${_} (referenced from ${Z})`+(T.length>0?`. Available layouts: ${T.join(", ")}`:Q.layoutsDir?`. No .stx layouts found in ${Q.layoutsDir}`:"");if(J1.log(Error(k),{layoutPath:_,filePath:Z,available:T},"error"),console.error(`[stx] ${k}`),Q.debug)throw new G5(k,Z);return q}let V=await P5(()=>Bun.file(F).text(),"",()=>{throw new G5(`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 T={},k=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(S,b,y)=>{return T[b]=y.trim(),""});for(let[S,b]of Object.entries(T))if(j[S]&&j[S].includes(U5)){let y=j[S].indexOf(U5);j[S]=j[S].slice(0,y)+b+j[S].slice(y+U5.length)}else if(!j[S])j[S]=b;let D={...X,__sections:j},I=`@layout('${A[1]}')${k}`;return await O0(I,D,F,Q,Y)}let R=V.replace(/\{\{--[\s\S]*?--\}\}/g,""),N=f3(R,B),M={};return N=N.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(T,k,D)=>{return M[k]=D.trim(),`@slot('${k}')`}),N=N.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(T,k,D)=>{if(j[k]){let I=j[k];if(I.includes(U5)){let S=M[k]||"",b=I.indexOf(U5);I=I.slice(0,b)+S+I.slice(b+U5.length)}return I}return D||""}),N=CL(N,j),N=N.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""}),N=g3(N,B),X.__originalFilePath=Z,q=await bq(N,X,F,Q,Y),q=`<!-- stx-layout: ${_} -->
15425
+ ${q}`,z(q)}catch(F){return J1.log(F instanceof Error?F:Error(String(F)),{layoutPath:_,filePath:Z},"error"),`[Error processing layout: ${F instanceof Error?F.message:String(F)}]`}return z(await bq(q,X,Z,Q,Y))}function CL($,X){return $.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(Z,J,Y)=>{let G=X[J];if(G!==void 0){if(!new RegExp(`@(?:yield|slot)\\(\\s*['"]${J.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}['"]`).test(G))return G}return Y||""})}function PL($,X){if($.__stx_sfc_mode=!0,$.__stx_options=X,X.buildMode)$.__stx_buildMode=X.buildMode;let Z=X.envPrefix||"STX_PUBLIC_",J={};for(let[Y,G]of Object.entries(process.env))if(Y.startsWith(Z)&&G!==void 0)J[Y]=G;$.$env=J}async function vL($,X){await P5(()=>yQ($,X),void 0,(Z)=>{J1.log(Z,{filePath:$,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed for ${$}: ${Z.message}`)})}async function xL($,X,Z){let J=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,Y;while((Y=J.exec($))!==null){let G=Y[1],Q=Y[2];if(!/\bserver\b/.test(G)||!Q.trim())continue;try{let{extractVariables:q}=await e("stx/variable-extractor",()=>Promise.resolve().then(() => (f7(),h8)));await q(Q,X,Z,{preserveExisting:!0})}catch(q){let W=q instanceof Error?q:Error(String(q));J1.log(W,{filePath:Z,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${Z}: ${W.message}`)}}}async function fL($,X,Z){try{let{interpolateScriptsInTemplate:J}=await e("stx/expressions",()=>Promise.resolve().then(() => (q1(),a2)));return J($,X,{skipServer:!0})}catch(J){let Y=J instanceof Error?J:Error(String(J));return J1.log(Y,{filePath:Z,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${Z}: ${Y.message}`),$}}async function bq($,X,Z,J,Y){let G=$,Q=J;if(await xL(G,X,Z),G=await fL(G,X,Z),G=await FQ(G,X,Z),G=await VQ(G,X,Z),G=await UG(G,X,Z,Q),F1(G))G=mX(G,X),G=cX(G,X);G=lX(G);let{processStreamDirectives:w}=await e("stx/streaming",()=>Promise.resolve().then(() => (X3(),$3)));G=w(G,X),G=C3(G,X,Z,Q),G=await dQ(G,X,Z,Q,Y),G=await Q9(G,X,Z,Q,Y),G=i6(G,X,Z,Q);let{processDeferDirectives:q}=await e("stx/defer",()=>Promise.resolve().then(() => Lw));G=q(G,X,Z);let{processTeleportDirectives:W}=await e("stx/teleport",()=>Promise.resolve().then(() => Vw));G=W(G,X,Z);let{processTransitionDirectives:K,processTransitionAttributes:z}=await e("stx/transitions",()=>Promise.resolve().then(() => Tw));G=K(G,X,Z),G=z(G);let{processErrorBoundaryDirectives:U}=await e("stx/error-boundaries",()=>Promise.resolve().then(() => kw));G=U(G,X,Z);let{processSuspenseDirectives:B}=await e("stx/suspense",()=>Promise.resolve().then(() => Iw));G=B(G,X,Z);let{processAsyncDirectives:j}=await e("stx/async-components",()=>Promise.resolve().then(() => bw));G=j(G,X,Z);let{processKeepAliveDirectives:_}=await e("stx/keep-alive",()=>Promise.resolve().then(() => Cw));G=_(G,X,Z);let{processVirtualListDirectives:H,processVirtualGridDirectives:L,processInfiniteListDirectives:O}=await e("stx/virtual-scrolling",()=>Promise.resolve().then(() => (hw(),gw)));G=H(G,X,Z),G=L(G,X,Z),G=O(G,X,Z);let{processPartialHydrationDirectives:F,processStaticDirectives:V}=await e("stx/partial-hydration",()=>Promise.resolve().then(() => ($q(),ew)));G=F(G,X,Z),G=V(G);let{processComputedDirectives:A,processWatchDirectives:R}=await e("stx/computed",()=>Promise.resolve().then(() => (Uq(),zq)));G=A(G,X,Z),G=R(G,X,Z);let{processFormValidationDirectives:N}=await e("stx/forms-validation",()=>Promise.resolve().then(() => (Fq(),Lq)));G=N(G,X,Z);let{processHeadDirective:M,processTitleDirective:T,processMetaDirective:k,resetHead:D}=await e("stx/head",()=>Promise.resolve().then(() => (x7(),BX)));if(!X.__stx_head_preset&&!X.__stx_runtime_head)D();let I=M(G);if(G=I.content,I.headContent)X.__stx_head_raw=`${X.__stx_head_raw||""}${I.headContent}
15426
+ `;if(G=T(G,X),G=k(G,X),G=EQ(G),G=u4(G,X),G=KG(G),G=NQ(G),G=await x3(G,X,Z,Q,Y),G=await Q9(G,X,Z,Q,Y),X.__stxProcessingDepth===1)G=C2(G,X);if(G=G.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),G=s3(G),G=R1(G,X,Z),G=d4(G,X),G=m4(G,X),G=a$(G,X),G=AG(G,X),G=RG(G,X),G=await tY(G,X,Z,Q),G=await KJ(G,X,Z),G=await IG(G,X,Z,Q),G=h6(G,X,Z,Q),G=LY(G,X,Z,Q),G=FY(G,X,Z),G=VY(G,X,Z,Q),G=wG(G,X,Z,Q),G=r3(G,X),G=o3(G),G=Yw(G),!Q.skipEventDirectives)G=U2(G,X,Z);if(G=sY(G,X,Z),Q.debug){let r=/\bx-data\s*=/.test(G),$0=Y$($);if(r&&$0)console.warn(`[stx] ${Z}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
15308
15427
  Both work on the same page, but they manage separate scopes.
15309
- Prefer signals (state/derived/effect) for new components.`)}G=MQ(G,X),G=await b1(G,X,Z),G=aQ(G),G=tQ(G),G=CY(G);let{processXElementDirectives:S}=await e("stx/x-element",()=>Promise.resolve().then(() => Bq));G=S(G);let b=X.__originalFilePath||Z,y=I7(X);if(G=await uX(G,Q,b,y),G=qG(G,X),G=await LQ(G,X,Z,Q),Q.media?.image?.autoSiblings){let r=Q.publicDir||"public",{rewriteImagesWithSiblings:$0}=await e("stx/image-optimization/auto-sibling",()=>Promise.resolve().then(() => (Hq(),_q)));G=await $0(G,{publicDir:r})}if(Q.seo?.enabled)G=zY(G,X,Q);let v=(r,$0,K0=!0)=>{if(!$0)return r;let v0=$0.match(/<title\b[^>]*>[\s\S]*?<\/title>/i),L0=r.match(/<title\b[^>]*>[\s\S]*?<\/title>/i);if(v0&&L0){if(K0)r=r.replace(L0[0],v0[0]);if($0=$0.replace(v0[0],"").trim(),!$0)return r}if(/<\/head>/i.test(r))return r.replace(/<\/head>/i,`${$0}
15428
+ Prefer signals (state/derived/effect) for new components.`)}G=CQ(G,X),G=await S1(G,X,Z),G=Gw(G),G=Qw(G),G=lY(G);let{processXElementDirectives:S}=await e("stx/x-element",()=>Promise.resolve().then(() => Rq));G=S(G);let b=X.__originalFilePath||Z,y=E7(X);if(G=await pX(G,Q,b,y),G=OG(G,X),G=await kQ(G,X,Z,Q),Q.media?.image?.autoSiblings){let r=Q.publicDir||"public",{rewriteImagesWithSiblings:$0}=await e("stx/image-optimization/auto-sibling",()=>Promise.resolve().then(() => (Tq(),Nq)));G=await $0(G,{publicDir:r})}if(Q.seo?.enabled)G=AY(G,X,Q);let v=(r,$0,K0=!0)=>{if(!$0)return r;let v0=$0.match(/<title\b[^>]*>[\s\S]*?<\/title>/i),L0=r.match(/<title\b[^>]*>[\s\S]*?<\/title>/i);if(v0&&L0){if(K0)r=r.replace(L0[0],v0[0]);if($0=$0.replace(v0[0],"").trim(),!$0)return r}if(/<\/head>/i.test(r))return r.replace(/<\/head>/i,`${$0}
15310
15429
  </head>`);if(/<head\b[^>]*>/i.test(r))return r.replace(/(<head\b[^>]*>)/i,`$1
15311
15430
  ${$0}`);if(/<html\b[^>]*>/i.test(r))return r.replace(/(<html\b[^>]*>)/i,`$1
15312
15431
  <head>
15313
15432
  ${$0}
15314
- </head>`);return r},{renderHead:f,getHead:x}=await e("stx/head",()=>Promise.resolve().then(() => (v7(),KX))),l=X.__stx_runtime_head??x();if(l.title||l.meta?.length||l.link?.length){let r=f(l);if(r)G=v(G,r)}if(I.headContent)G=v(G,I.headContent,!l.title);if(Q.csp?.enabled&&Q.csp.addMetaTag)G=sY(G,Q.csp,X);if(Q.analytics?.enabled)G=vY(G,Q);if(Q.heatmap?.enabled)G=h6(G,Q);if(Q.pwa?.enabled&&Q.pwa.autoInject!==!1){let{injectPwaTags:r}=await e("stx/pwa/inject",()=>Promise.resolve().then(() => (Vq(),Fq)));G=r(G,Q)}let T0=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(G),W0=/\bSTX\.\w+/.test(G),A0=/window\.STX\s*=/.test(G);if(T0&&W0&&!A0){let $0=`<script data-stx-scoped data-stx-run="once">
15315
- ${DY()}
15433
+ </head>`);return r},{renderHead:f,getHead:x}=await e("stx/head",()=>Promise.resolve().then(() => (x7(),BX))),c=X.__stx_runtime_head??x();if(c.title||c.meta?.length||c.link?.length){let r=f(c);if(r)G=v(G,r)}if(I.headContent)G=v(G,I.headContent,!c.title);if(Q.csp?.enabled&&Q.csp.addMetaTag)G=GG(G,Q.csp,X);if(Q.analytics?.enabled)G=pY(G,Q);if(Q.heatmap?.enabled)G=s6(G,Q);if(Q.pwa?.enabled&&Q.pwa.autoInject!==!1){let{injectPwaTags:r}=await e("stx/pwa/inject",()=>Promise.resolve().then(() => (Eq(),Iq)));G=r(G,Q)}let M0=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(G),W0=/\bSTX\.\w+/.test(G),A0=/window\.STX\s*=/.test(G);if(M0&&W0&&!A0){let $0=`<script data-stx-scoped data-stx-run="once">
15434
+ ${hY()}
15316
15435
  </script>`;if(G.includes("</head>")){let K0=G.indexOf("</head>"),L0=G.slice(0,K0).indexOf("<script");if(L0!==-1){let P=G.slice(0,L0),C=G.slice(L0);G=P+$0+`
15317
15436
  `+C}else G=G.replace("</head>",`${$0}
15318
15437
  </head>`)}else if(G.includes("<body"))G=G.replace(/<body([^>]*)>/,`<body$1>
15319
15438
  ${$0}`);else G=$0+`
15320
- `+G}{let{scanScriptTags:r}=await e("stx/signal-processing",()=>Promise.resolve().then(() => (u7(),X$))),$0=[];for(let K0 of r(G)){if(!/\bserver\b/i.test(K0.attrs))continue;let v0=K0.start+K0.fullMatch.indexOf(">")+1,L0=FL(G,v0);if(L0===-1)continue;let P=L0+9;while(P<G.length&&/\s/.test(G[P]))P++;$0.push({start:K0.start,end:P})}for(let K0=$0.length-1;K0>=0;K0--){let{start:v0,end:L0}=$0[K0];G=G.substring(0,v0)+G.substring(L0)}}let s=S8(G,Z);if(s.hasScoped)G=s.html;let c=X.__stx_event_bindings||[],_0=!1,M0=[],T1=/\s:[a-z][\w.-]*\s*=/.test(G),{scanScriptTags:j5}=await e("stx/signal-processing",()=>Promise.resolve().then(() => (u7(),X$)));for(let r of j5(G,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))M0.push({match:r.fullMatch,attrs:r.attrs,content:r.body});for(let{match:r,attrs:$0,content:K0}of M0){_0=!0;let v0=K0;i4(K0,Z,J.strict,X.__originalFilePath);let L0=await E7(K0,{eventBindings:c,attrs:$0,hasColonDirectives:T1,templateContent:$,filePath:Z,projectRoot:process.cwd(),production:J.buildMode==="compile",serverData:y});G=G.replace(r,()=>L0)}if(_0)X.__stx_event_bindings=[];if(!_0&&X.__stxProcessingDepth===1){let r=X.__stx_event_bindings||[];if(r.length>0){let $0=i9(r);if($0){let K0=G.lastIndexOf("</body>");G=K0===-1?G+$0:G.slice(0,K0)+$0+`
15321
- `+G.slice(K0)}X.__stx_event_bindings=[]}}if(!gZ(G)&&hZ(G))G=await s8(G,Q);if(G=uZ(G),Q.csp?.enabled&&Q.csp.useNonce&&typeof X.cspNonce==="string")G=aY(G,X.cspNonce);return G}var U5="<!--PARENT_CONTENT_PLACEHOLDER-->";var G$=E(()=>{m$();LX();r1();h9();yY();PY();xY();m9();u9();n9();D7();mY();cY();p$();eY();ZG();GG();WG();V1();v7();q1();BG();FG();KQ();BQ();E4();cX();FQ();E5();AQ();x$();D0();NQ();kQ();DQ();PQ();QX();f4();pQ();u7();M4();oQ();p4();n4();I0();t3();$X();R7();a8();a8();p4();n4()});import V0 from"fs";import J0 from"path";import Q6 from"fs";import fq from"path";var L9="resources/assets",w6="assets";function q6($=process.cwd()){let X=fq.resolve($,L9);return Q6.existsSync(X)&&Q6.statSync(X).isDirectory()?X:null}import H5 from"fs";import F9 from"path";var W6="_stx";function gq($){return Bun.hash($).toString(16).slice(0,8)}function hq($){let X=[],Z=(J)=>{for(let Y of H5.readdirSync(J,{withFileTypes:!0})){let G=F9.join(J,Y.name);if(Y.isDirectory())Z(G);else if(Y.isFile()&&G.endsWith(".html"))X.push(G)}};if(H5.existsSync($))Z($);return X}var uq=[{pattern:/<script\b([^>]*\bdata-stx-runtime\b[^>]*)>([\s\S]*?)<\/script>/gi,prefix:"runtime",extension:"js",contentType:"text/javascript; charset=utf-8",replace:($)=>`<script data-stx-runtime src="${$}"></script>`},{pattern:/<script\b([^>]*\bdata-stx-router\b[^>]*)>([\s\S]*?)<\/script>/gi,prefix:"router",extension:"js",contentType:"text/javascript; charset=utf-8",replace:($)=>`<script data-stx-router src="${$}"></script>`},{pattern:/<style\b([^>]*\bdata-crosswind=(?:"generated"|'generated')[^>]*)>([\s\S]*?)<\/style>/gi,prefix:"crosswind",extension:"css",contentType:"text/css; charset=utf-8",replace:($)=>`<link data-crosswind="generated" rel="stylesheet" href="${$}">`}];function dq($,X=`/${W6}`){let Z=[],J=new Set,Y=0,G=$;for(let Q of uq)G=G.replace(Q.pattern,(w,q,W)=>{if(/\b(?:src|href)\s*=/.test(q)||!W.trim())return w;let K=`${Q.prefix}.${gq(W)}.${Q.extension}`;if(!J.has(K))J.add(K),Z.push({filename:K,contents:W,contentType:Q.contentType});return Y+=W.length,Q.replace(`${X}/${K}`)});return{html:G,assets:Z,bytesInlined:Y}}function K6($){let X={pages:0,assets:0,bytesInlined:0},Z=F9.join($,W6),J=new Set;for(let Y of hq($)){let G=H5.readFileSync(Y,"utf8"),{html:Q,assets:w,bytesInlined:q}=dq(G);if(Q===G)continue;for(let W of w){if(J.has(W.filename))continue;J.add(W.filename),H5.mkdirSync(Z,{recursive:!0}),H5.writeFileSync(F9.join(Z,W.filename),W.contents),X.assets++}H5.writeFileSync(Y,Q),X.bytesInlined+=q,X.pages++}return X}f9();G$();import{createHash as IL}from"crypto";function EL($){try{return new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($).replace(/\}(var |let |const |function )/g,"};$1").trim()}catch{return $}}var DL=/<script\s+type="stx\/island"\s+data-stx-island="([^"]+)"([^>]*)>([\s\S]*?)<\/script>/g;function yL($){return Bun.hash($).toString(16)}function Tq($,X={}){if(!$.includes('type="stx/island"'))return{html:$,chunks:[]};let Z=new Map,J=$.replace(DL,(G,Q,w,q)=>{let W=q.trim();if(!W)return G;if(/\bdata-stx-src=/.test(w))return G;if(X.minify)W=EL(W);let K=yL(W);if(!Z.has(K))Z.set(K,W);let z=X.integrity?` data-stx-integrity="sha384-${IL("sha384").update(W).digest("base64")}"`:"";return`<script type="stx/island" data-stx-island="${Q}" data-stx-src="/_stx/islands/${K}.js"${z}${w}></script>`}),Y=Array.from(Z,([G,Q])=>({hash:G,code:Q}));return{html:J,chunks:Y}}var bL=new Set(["visible","idle"]);function Mq($){if(!$.includes("data-stx-src="))return $;let X=new Map,Z=/data-stx-scope="([^"]+)"[^>]*?stx-hydrate="([^"]+)"/g,J;while((J=Z.exec($))!==null)X.set(J[1],J[2]);let Y=new Set,G=/data-stx-island="([^"]+)"[^>]*?data-stx-src="([^"]+)"/g,Q;while((Q=G.exec($))!==null)if(bL.has(X.get(Q[1])||""))Y.add(Q[2]);let w=$.lastIndexOf("</head>");if(Y.size===0||w===-1)return $;let q=Array.from(Y).filter((W)=>!$.includes(`rel="prefetch" href="${W}"`)).map((W)=>`<link rel="prefetch" href="${W}" as="script">`).join("");if(!q)return $;return $.slice(0,w)+q+$.slice(w)}L1();import q8 from"fs";import H9 from"path";var SL="layout-types.d.ts";function CL($){let X=[],Z=(J,Y)=>{let G;try{G=q8.readdirSync(J,{withFileTypes:!0})}catch{return}for(let Q of G){if(Q.name.startsWith("."))continue;let w=H9.join(J,Q.name);if(Q.isDirectory())Z(w,Y?`${Y}/${Q.name}`:Q.name);else if(Q.isFile()&&Q.name.endsWith(".stx")&&Q.name!=="_layout.stx"){let q=Q.name.slice(0,-4);X.push(Y?`${Y}/${q}`:q)}}};return Z($,""),X.sort()}function PL($){let X=["// Auto-generated by stx \u2014 do not edit.","//","// Makes `definePageMeta({ layout })` reject a name with no layout behind it.","// Include this file in your tsconfig (it lives in the stx state directory,","// `.stx/` by default) for the check to apply.",""];if($.length===0)return X.push("// No layouts found \u2014 `layout` stays typed as `string`.","export {}",""),X.join(`
15439
+ `+G}{let{scanScriptTags:r}=await e("stx/signal-processing",()=>Promise.resolve().then(() => (d7(),G$))),$0=[];for(let K0 of r(G)){if(!/\bserver\b/i.test(K0.attrs))continue;let v0=K0.start+K0.fullMatch.indexOf(">")+1,L0=yL(G,v0);if(L0===-1)continue;let P=L0+9;while(P<G.length&&/\s/.test(G[P]))P++;$0.push({start:K0.start,end:P})}for(let K0=$0.length-1;K0>=0;K0--){let{start:v0,end:L0}=$0[K0];G=G.substring(0,v0)+G.substring(L0)}}let s=v8(G,Z);if(s.hasScoped)G=s.html;let p=X.__stx_event_bindings||[],_0=!1,k0=[],M1=/\s:[a-z][\w.-]*\s*=/.test(G),{scanScriptTags:j5}=await e("stx/signal-processing",()=>Promise.resolve().then(() => (d7(),G$)));for(let r of j5(G,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))k0.push({match:r.fullMatch,attrs:r.attrs,content:r.body});for(let{match:r,attrs:$0,content:K0}of k0){_0=!0;let v0=K0;t3(K0,Z,J.strict,X.__originalFilePath);let L0=await D7(K0,{eventBindings:p,attrs:$0,hasColonDirectives:M1,templateContent:$,filePath:Z,projectRoot:process.cwd(),production:J.buildMode==="compile",serverData:y});G=G.replace(r,()=>L0)}if(_0)X.__stx_event_bindings=[];if(!_0&&X.__stxProcessingDepth===1){let r=X.__stx_event_bindings||[];if(r.length>0){let $0=a9(r);if($0){let K0=G.lastIndexOf("</body>");G=K0===-1?G+$0:G.slice(0,K0)+$0+`
15440
+ `+G.slice(K0)}X.__stx_event_bindings=[]}}if(!oZ(G)&&sZ(G))G=await e8(G,Q);if(G=aZ(G),Q.csp?.enabled&&Q.csp.useNonce&&typeof X.cspNonce==="string")G=QG(G,X.cspNonce);return G}var U5="<!--PARENT_CONTENT_PLACEHOLDER-->";var W$=E(()=>{i$();RX();o1();c9();uY();cY();iY();n9();p9();t9();y7();aY();eY();o7();qG();zG();BG();LG();V1();x7();q1();NG();EG();LQ();RQ();P3();oX();IQ();E5();DQ();u$();y0();bQ();PQ();fQ();mQ();KX();l3();eQ();d7();b3();Jw();a3();e3();E0();J3();GX();N7();$$();$$();a3();e3()});import V0 from"fs";import J0 from"path";import U6 from"fs";import pq from"path";var A9="resources/assets",j6="assets";function B6($=process.cwd()){let X=pq.resolve($,A9);return U6.existsSync(X)&&U6.statSync(X).isDirectory()?X:null}import H5 from"fs";import R9 from"path";var _6="_stx";function iq($){return Bun.hash($).toString(16).slice(0,8)}function nq($){let X=[],Z=(J)=>{for(let Y of H5.readdirSync(J,{withFileTypes:!0})){let G=R9.join(J,Y.name);if(Y.isDirectory())Z(G);else if(Y.isFile()&&G.endsWith(".html"))X.push(G)}};if(H5.existsSync($))Z($);return X}var rq=[{pattern:/<script\b([^>]*\bdata-stx-runtime\b[^>]*)>([\s\S]*?)<\/script>/gi,prefix:"runtime",extension:"js",contentType:"text/javascript; charset=utf-8",replace:($)=>`<script data-stx-runtime src="${$}"></script>`},{pattern:/<script\b([^>]*\bdata-stx-router\b[^>]*)>([\s\S]*?)<\/script>/gi,prefix:"router",extension:"js",contentType:"text/javascript; charset=utf-8",replace:($)=>`<script data-stx-router src="${$}"></script>`},{pattern:/<style\b([^>]*\bdata-crosswind=(?:"generated"|'generated')[^>]*)>([\s\S]*?)<\/style>/gi,prefix:"crosswind",extension:"css",contentType:"text/css; charset=utf-8",replace:($)=>`<link data-crosswind="generated" rel="stylesheet" href="${$}">`}];function oq($,X=`/${_6}`){let Z=[],J=new Set,Y=0,G=$;for(let Q of rq)G=G.replace(Q.pattern,(w,q,W)=>{if(/\b(?:src|href)\s*=/.test(q)||!W.trim())return w;let K=`${Q.prefix}.${iq(W)}.${Q.extension}`;if(!J.has(K))J.add(K),Z.push({filename:K,contents:W,contentType:Q.contentType});return Y+=W.length,Q.replace(`${X}/${K}`)});return{html:G,assets:Z,bytesInlined:Y}}function H6($){let X={pages:0,assets:0,bytesInlined:0},Z=R9.join($,_6),J=new Set;for(let Y of nq($)){let G=H5.readFileSync(Y,"utf8"),{html:Q,assets:w,bytesInlined:q}=oq(G);if(Q===G)continue;for(let W of w){if(J.has(W.filename))continue;J.add(W.filename),H5.mkdirSync(Z,{recursive:!0}),H5.writeFileSync(R9.join(Z,W.filename),W.contents),X.assets++}H5.writeFileSync(Y,Q),X.bytesInlined+=q,X.pages++}return X}u9();W$();import{createHash as gL}from"crypto";function hL($){try{return new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($).replace(/\}(var |let |const |function )/g,"};$1").trim()}catch{return $}}var uL=/<script\s+type="stx\/island"\s+data-stx-island="([^"]+)"([^>]*)>([\s\S]*?)<\/script>/g;function dL($){return Bun.hash($).toString(16)}function Sq($,X={}){if(!$.includes('type="stx/island"'))return{html:$,chunks:[]};let Z=new Map,J=$.replace(uL,(G,Q,w,q)=>{let W=q.trim();if(!W)return G;if(/\bdata-stx-src=/.test(w))return G;if(X.minify)W=hL(W);let K=dL(W);if(!Z.has(K))Z.set(K,W);let z=X.integrity?` data-stx-integrity="sha384-${gL("sha384").update(W).digest("base64")}"`:"";return`<script type="stx/island" data-stx-island="${Q}" data-stx-src="/_stx/islands/${K}.js"${z}${w}></script>`}),Y=Array.from(Z,([G,Q])=>({hash:G,code:Q}));return{html:J,chunks:Y}}var mL=new Set(["visible","idle"]);function Cq($){if(!$.includes("data-stx-src="))return $;let X=new Map,Z=/data-stx-scope="([^"]+)"[^>]*?stx-hydrate="([^"]+)"/g,J;while((J=Z.exec($))!==null)X.set(J[1],J[2]);let Y=new Set,G=/data-stx-island="([^"]+)"[^>]*?data-stx-src="([^"]+)"/g,Q;while((Q=G.exec($))!==null)if(mL.has(X.get(Q[1])||""))Y.add(Q[2]);let w=$.lastIndexOf("</head>");if(Y.size===0||w===-1)return $;let q=Array.from(Y).filter((W)=>!$.includes(`rel="prefetch" href="${W}"`)).map((W)=>`<link rel="prefetch" href="${W}" as="script">`).join("");if(!q)return $;return $.slice(0,w)+q+$.slice(w)}L1();import K8 from"fs";import F9 from"path";var lL="layout-types.d.ts";function cL($){let X=[],Z=(J,Y)=>{let G;try{G=K8.readdirSync(J,{withFileTypes:!0})}catch{return}for(let Q of G){if(Q.name.startsWith("."))continue;let w=F9.join(J,Q.name);if(Q.isDirectory())Z(w,Y?`${Y}/${Q.name}`:Q.name);else if(Q.isFile()&&Q.name.endsWith(".stx")&&Q.name!=="_layout.stx"){let q=Q.name.slice(0,-4);X.push(Y?`${Y}/${q}`:q)}}};return Z($,""),X.sort()}function pL($){let X=["// Auto-generated by stx \u2014 do not edit.","//","// Makes `definePageMeta({ layout })` reject a name with no layout behind it.","// Include this file in your tsconfig (it lives in the stx state directory,","// `.stx/` by default) for the check to apply.",""];if($.length===0)return X.push("// No layouts found \u2014 `layout` stays typed as `string`.","export {}",""),X.join(`
15322
15441
  `);return X.push("declare module '@stacksjs/stx' {"," interface KnownLayouts {",...$.map((Z)=>` '${Z}': true`)," }","}","","export {}",""),X.join(`
15323
- `)}function kq($,X){if(!$)return[];let Z=H9.isAbsolute($)?$:H9.resolve(process.cwd(),$),J=CL(Z),Y=PL(J),G=H9.join(X,SL);try{if(q8.existsSync(G)&&q8.readFileSync(G,"utf8")===Y)return J;q8.mkdirSync(X,{recursive:!0}),q8.writeFileSync(G,Y)}catch{}return J}var vL=["STX_SITE_URL","SITE_URL","URL","VERCEL_URL","CF_PAGES_URL"];function J6($){let X=$.trim();if(!X)return null;let Z=/^https?:\/\//i.test(X)?X:`https://${X}`;try{return new URL(Z).origin+new URL(Z).pathname.replace(/\/$/,"")}catch{return null}}function xL($){for(let X of vL){let Z=$[X];if(!Z)continue;let J=J6(Z);if(J)return{url:J,source:"env",via:X}}return null}function Iq($){if(!$||typeof $!=="object")return null;let X=$,Z=X.site?.url??X.url??X.app?.url;return typeof Z==="string"?J6(Z):null}async function fL($){let{existsSync:X}=await import("fs"),Z=await import("path");for(let J of["site.config.ts","site.config.js",".config/site.config.ts"]){let Y=Z.resolve($,J);if(!X(Y))continue;try{let G=await import(Y),Q=Iq(G.default??G);if(Q)return Q}catch{}}return null}async function Eq($={}){let X=$.cwd??process.cwd(),Z=$.env??process.env;if($.explicit){let Q=J6($.explicit);if(Q)return{url:Q,source:"option"}}let J=Iq($.stxConfig);if(J)return{url:J,source:"stx.config",via:"site.url"};let Y=await fL(X);if(Y)return{url:Y,source:"site.config",via:"url"};let G=xL(Z);if(G)return G;return{url:"http://localhost",source:"fallback"}}function Dq(){return["No site URL configured \u2014 sitemap.xml and robots.txt will point at http://localhost."," Set one in stx.config.ts (site: { url: 'https://example.com' }), in site.config.ts,"," via --domain, or with SITE_URL in the build environment."].join(`
15324
- `)}x$();V7();m$();k1();class yq{cacheDir;cache=new Map;loaded=!1;constructor($){this.cacheDir=$}async load(){if(this.loaded)return;let $=J0.join(this.cacheDir,"build-cache.json");if(await Bun.file($).exists())try{let X=JSON.parse(await Bun.file($).text());for(let[Z,J]of Object.entries(X))this.cache.set(Z,J)}catch{}this.loaded=!0}async save(){await V0.promises.mkdir(this.cacheDir,{recursive:!0});let $=J0.join(this.cacheDir,"build-cache.json"),X={};for(let[Z,J]of this.cache)X[Z]=J;await Bun.write($,JSON.stringify(X))}getHash($,X){let Z=V0.statSync($),J=`${$}:${Z.mtimeMs}`;for(let G of X)if(V0.existsSync(G)){let Q=V0.statSync(G);J+=`:${G}:${Q.mtimeMs}`}let Y=0;for(let G=0;G<J.length;G++){let Q=J.charCodeAt(G);Y=(Y<<5)-Y+Q,Y=Y&Y}return Math.abs(Y).toString(36)}get($,X){let Z=this.cache.get($);if(!Z)return null;let J=this.getHash(X,Z.dependencies??[]);if(Z.hash!==J)return this.cache.delete($),null;return Z.html}set($,X,Z,J){let Y=this.getHash(X,Z);this.cache.set($,{hash:Y,html:J,generatedAt:Date.now(),dependencies:Z})}}class bq{cacheDir;constructor($){this.cacheDir=$}getFilePath($){let X=$.replace(/[^a-zA-Z0-9]/g,"_")+".json";return J0.join(this.cacheDir,"isr",X)}async get($){let X=this.getFilePath($);if(!await Bun.file(X).exists())return null;try{return JSON.parse(await Bun.file(X).text())}catch{return null}}async set($,X){let Z=this.getFilePath($);await V0.promises.mkdir(J0.dirname(Z),{recursive:!0}),await Bun.write(Z,JSON.stringify(X))}async invalidate($){let X=this.getFilePath($);if(await Bun.file(X).exists())await V0.promises.unlink(X)}async invalidatePattern($){let X=J0.join(this.cacheDir,"isr");if(!V0.existsSync(X))return;let Z=await V0.promises.readdir(X);for(let J of Z){let Y=J.replace(/_/g,"/").replace(".json","");if($.test(Y))await V0.promises.unlink(J0.join(X,J))}}async needsRevalidation($){let X=await this.get($);if(!X)return!0;return Date.now()>X.revalidateAfter}}async function gL($){try{let Z=(await Bun.file($).text()).match(/<script\s+server\b[^>]*>([\s\S]*?)<\/script>/i);if(!Z)return null;let J=Z[1];if(!J.includes("getStaticPaths"))return null;let Y=J.match(/(?:export\s+)?(?:async\s+)?function\s+getStaticPaths\s*\([^)]*\)\s*\{([\s\S]*?)\n[\t ]*\}/);if(!Y)return null;return await Function(`
15442
+ `)}function Pq($,X){if(!$)return[];let Z=F9.isAbsolute($)?$:F9.resolve(process.cwd(),$),J=cL(Z),Y=pL(J),G=F9.join(X,lL);try{if(K8.existsSync(G)&&K8.readFileSync(G,"utf8")===Y)return J;K8.mkdirSync(X,{recursive:!0}),K8.writeFileSync(G,Y)}catch{}return J}var iL=["STX_SITE_URL","SITE_URL","URL","VERCEL_URL","CF_PAGES_URL"];function W6($){let X=$.trim();if(!X)return null;let Z=/^https?:\/\//i.test(X)?X:`https://${X}`;try{return new URL(Z).origin+new URL(Z).pathname.replace(/\/$/,"")}catch{return null}}function nL($){for(let X of iL){let Z=$[X];if(!Z)continue;let J=W6(Z);if(J)return{url:J,source:"env",via:X}}return null}function vq($){if(!$||typeof $!=="object")return null;let X=$,Z=X.site?.url??X.url??X.app?.url;return typeof Z==="string"?W6(Z):null}async function rL($){let{existsSync:X}=await import("fs"),Z=await import("path");for(let J of["site.config.ts","site.config.js",".config/site.config.ts"]){let Y=Z.resolve($,J);if(!X(Y))continue;try{let G=await import(Y),Q=vq(G.default??G);if(Q)return Q}catch{}}return null}async function xq($={}){let X=$.cwd??process.cwd(),Z=$.env??process.env;if($.explicit){let Q=W6($.explicit);if(Q)return{url:Q,source:"option"}}let J=vq($.stxConfig);if(J)return{url:J,source:"stx.config",via:"site.url"};let Y=await rL(X);if(Y)return{url:Y,source:"site.config",via:"url"};let G=nL(Z);if(G)return G;return{url:"http://localhost",source:"fallback"}}function fq(){return["No site URL configured \u2014 sitemap.xml and robots.txt will point at http://localhost."," Set one in stx.config.ts (site: { url: 'https://example.com' }), in site.config.ts,"," via --domain, or with SITE_URL in the build environment."].join(`
15443
+ `)}u$();A7();i$();I1();class gq{cacheDir;cache=new Map;loaded=!1;constructor($){this.cacheDir=$}async load(){if(this.loaded)return;let $=J0.join(this.cacheDir,"build-cache.json");if(await Bun.file($).exists())try{let X=JSON.parse(await Bun.file($).text());for(let[Z,J]of Object.entries(X))this.cache.set(Z,J)}catch{}this.loaded=!0}async save(){await V0.promises.mkdir(this.cacheDir,{recursive:!0});let $=J0.join(this.cacheDir,"build-cache.json"),X={};for(let[Z,J]of this.cache)X[Z]=J;await Bun.write($,JSON.stringify(X))}getHash($,X){let Z=V0.statSync($),J=`${$}:${Z.mtimeMs}`;for(let G of X)if(V0.existsSync(G)){let Q=V0.statSync(G);J+=`:${G}:${Q.mtimeMs}`}let Y=0;for(let G=0;G<J.length;G++){let Q=J.charCodeAt(G);Y=(Y<<5)-Y+Q,Y=Y&Y}return Math.abs(Y).toString(36)}get($,X){let Z=this.cache.get($);if(!Z)return null;let J=this.getHash(X,Z.dependencies??[]);if(Z.hash!==J)return this.cache.delete($),null;return Z.html}set($,X,Z,J){let Y=this.getHash(X,Z);this.cache.set($,{hash:Y,html:J,generatedAt:Date.now(),dependencies:Z})}}class hq{cacheDir;constructor($){this.cacheDir=$}getFilePath($){let X=$.replace(/[^a-zA-Z0-9]/g,"_")+".json";return J0.join(this.cacheDir,"isr",X)}async get($){let X=this.getFilePath($);if(!await Bun.file(X).exists())return null;try{return JSON.parse(await Bun.file(X).text())}catch{return null}}async set($,X){let Z=this.getFilePath($);await V0.promises.mkdir(J0.dirname(Z),{recursive:!0}),await Bun.write(Z,JSON.stringify(X))}async invalidate($){let X=this.getFilePath($);if(await Bun.file(X).exists())await V0.promises.unlink(X)}async invalidatePattern($){let X=J0.join(this.cacheDir,"isr");if(!V0.existsSync(X))return;let Z=await V0.promises.readdir(X);for(let J of Z){let Y=J.replace(/_/g,"/").replace(".json","");if($.test(Y))await V0.promises.unlink(J0.join(X,J))}}async needsRevalidation($){let X=await this.get($);if(!X)return!0;return Date.now()>X.revalidateAfter}}async function oL($){try{let Z=(await Bun.file($).text()).match(/<script\s+server\b[^>]*>([\s\S]*?)<\/script>/i);if(!Z)return null;let J=Z[1];if(!J.includes("getStaticPaths"))return null;let Y=J.match(/(?:export\s+)?(?:async\s+)?function\s+getStaticPaths\s*\([^)]*\)\s*\{([\s\S]*?)\n[\t ]*\}/);if(!Y)return null;return await Function(`
15325
15444
  return (async function getStaticPaths() {
15326
15445
  ${Y[1]}
15327
15446
  })()
15328
- `)()}catch(X){return console.error(`Error extracting static paths from ${$}:`,X),null}}async function hL($){let X=[];if(!$.isDynamic)X.push({url:$.pattern,params:{}});else{let Z=await gL($.filePath);if(!Z||Z.paths.length===0)return console.warn(`Warning: Dynamic route ${$.pattern} has no getStaticPaths or returned empty paths`),X;for(let J of Z.paths){let Y=$.pattern;for(let[G,Q]of Object.entries(J.params))Y=Y.replace(`:${G}`,Q).replace(`:${G}*`,Q);X.push({url:Y,params:J.params,props:J.props,revalidate:J.revalidate})}}return X}async function uL($){let X=[$.replace(/\.stx$/,".data.ts"),$.replace(/\.stx$/,".data.js"),$+".data.ts",$+".data.js"];for(let Z of X)if(await Bun.file(Z).exists())try{let J=await import(Z);if(typeof J.default==="function")return await J.default();else if(typeof J.default==="object")return J.default;else if(typeof J.getData==="function")return await J.getData();else{let{default:Y,...G}=J;return G}}catch(J){console.error(`Error loading data file ${Z}:`,J)}return null}async function dL($,X,Z){let J=$.match(/<script\s+server\b[^>]*>([\s\S]*?)<\/script>/i);if(!J)return null;let Y=J[1];if(!Y.includes("getStaticProps"))return null;try{let G=Y.match(/(?:export\s+)?(?:async\s+)?function\s+getStaticProps\s*\([^)]*\)\s*\{([\s\S]*?)\n\}/);if(!G)return null;return await Function("params",`
15447
+ `)()}catch(X){return console.error(`Error extracting static paths from ${$}:`,X),null}}async function sL($){let X=[];if(!$.isDynamic)X.push({url:$.pattern,params:{}});else{let Z=await oL($.filePath);if(!Z||Z.paths.length===0)return console.warn(`Warning: Dynamic route ${$.pattern} has no getStaticPaths or returned empty paths`),X;for(let J of Z.paths){let Y=$.pattern;for(let[G,Q]of Object.entries(J.params))Y=Y.replace(`:${G}`,Q).replace(`:${G}*`,Q);X.push({url:Y,params:J.params,props:J.props,revalidate:J.revalidate})}}return X}async function aL($){let X=[$.replace(/\.stx$/,".data.ts"),$.replace(/\.stx$/,".data.js"),$+".data.ts",$+".data.js"];for(let Z of X)if(await Bun.file(Z).exists())try{let J=await import(Z);if(typeof J.default==="function")return await J.default();else if(typeof J.default==="object")return J.default;else if(typeof J.getData==="function")return await J.getData();else{let{default:Y,...G}=J;return G}}catch(J){console.error(`Error loading data file ${Z}:`,J)}return null}async function tL($,X,Z){let J=$.match(/<script\s+server\b[^>]*>([\s\S]*?)<\/script>/i);if(!J)return null;let Y=J[1];if(!Y.includes("getStaticProps"))return null;try{let G=Y.match(/(?:export\s+)?(?:async\s+)?function\s+getStaticProps\s*\([^)]*\)\s*\{([\s\S]*?)\n\}/);if(!G)return null;return await Function("params",`
15329
15448
  return (async function getStaticProps() {
15330
15449
  ${G[1]}
15331
15450
  })()
15332
- `)(X)}catch(G){return console.error(`Error executing getStaticProps in ${Z}:`,G),null}}function mL($){return/(?:^|[^\w$.])(?:export\s+)?(?:async\s+)?function\s+action\s*\(/.test($)||/(?:^|[^\w$.])(?:export\s+)?(?:const|let|var)\s+action\s*=/.test($)}async function Sq($,X,Z={},J,Y){let G=await Bun.file($.filePath).text(),Q=await uL($.filePath),w=await dL(G,X,$.filePath),q={...Q||{},...w||{},...Z,params:X,$route:{path:$.pattern,params:X}},W=new Set,K=[],z={...Y,...J.partialsDir?{partialsDir:J.partialsDir}:{},...J.componentsDir?{componentsDir:J.componentsDir}:{},debug:!1,cache:!1,autoShell:!0,onIncludeError:(B)=>{K.push(`${J0.relative(process.cwd(),B.templatePath)}: ${B.message}
15333
- resolved against partialsDir: ${B.partialsDir}`)}};if(mL(G))console.warn(`Warning: ${$.pattern} exports a page action, which cannot run in a static build. Its form will submit to a file. Serve this route with the production server, or point the form's action at a route handler.`);let U=await O0(G,q,$.filePath,z,W);if(Object.keys(X).length>0){let B=`<script>if(window.stx)window.stx._rp=${JSON.stringify(X)};else window.__stx_rp=${JSON.stringify(X)};</script>`;if(U.includes("</head>"))U=U.replace("</head>",`${B}
15451
+ `)(X)}catch(G){return console.error(`Error executing getStaticProps in ${Z}:`,G),null}}function eL($){return/(?:^|[^\w$.])(?:export\s+)?(?:async\s+)?function\s+action\s*\(/.test($)||/(?:^|[^\w$.])(?:export\s+)?(?:const|let|var)\s+action\s*=/.test($)}async function uq($,X,Z={},J,Y){let G=await Bun.file($.filePath).text(),Q=await aL($.filePath),w=await tL(G,X,$.filePath),q={...Q||{},...w||{},...Z,params:X,$route:{path:$.pattern,params:X}},W=new Set,K=[],z={...Y,...J.partialsDir?{partialsDir:J.partialsDir}:{},...J.componentsDir?{componentsDir:J.componentsDir}:{},debug:!1,cache:!1,autoShell:!0,onIncludeError:(B)=>{K.push(`${J0.relative(process.cwd(),B.templatePath)}: ${B.message}
15452
+ resolved against partialsDir: ${B.partialsDir}`)}};if(eL(G))console.warn(`Warning: ${$.pattern} exports a page action, which cannot run in a static build. Its form will submit to a file. Serve this route with the production server, or point the form's action at a route handler.`);let U=await O0(G,q,$.filePath,z,W);if(Object.keys(X).length>0){let B=`<script>if(window.stx)window.stx._rp=${JSON.stringify(X)};else window.__stx_rp=${JSON.stringify(X)};</script>`;if(U.includes("</head>"))U=U.replace("</head>",`${B}
15334
15453
  </head>`);else U=`${B}
15335
- ${U}`}if(U=await vX(U,{router:J.router}),U=await n7(U),J.minify!==!1)return{html:lL(U),dependencies:Array.from(W),includeFailures:K};return{html:U,dependencies:Array.from(W),includeFailures:K}}function lL($){let X=[],Z=0,J=/(<script[^>]*>)([\s\S]*?)(<\/script>)/gi,Y;while((Y=J.exec($))!==null){let Q=$.slice(Z,Y.index);X.push(Q.replace(/<!--(?!\[if)[\s\S]*?-->/g,"").replace(/\s+/g," ").replace(/>\s+</g,"><"));let w=Y[1],q=Y[2],W=Y[3];q=q.replace(/([^:"\\'`])\/\/(?!\/)(?![*!])([^\n]*)/g,"$1"),X.push(w+q+W),Z=Y.index+Y[0].length}let G=$.slice(Z);return X.push(G.replace(/<!--(?!\[if)[\s\S]*?-->/g,"").replace(/\s+/g," ").replace(/>\s+</g,"><")),X.join("").trim()}function cL($){let X=0;for(let Z=0;Z<$.length;Z++){let J=$.charCodeAt(Z);X=(X<<5)-X+J,X=X&X}return`"${Math.abs(X).toString(36)}"`}function pL($,X,Z,J){if(Z?.sitemap===!1)return!0;if(/<meta[^>]+name=["']robots["'][^>]+content=["'][^"']*noindex/i.test(X))return!0;return J.some((Y)=>{if(Y instanceof RegExp)return Y.test($);return Y.endsWith("/")?$===Y.slice(0,-1)||$.startsWith(Y):$===Y})}function iL($,X){return`<?xml version="1.0" encoding="UTF-8"?>
15454
+ ${U}`}if(U=await hX(U,{router:J.router}),U=await r7(U),J.minify!==!1)return{html:$F(U),dependencies:Array.from(W),includeFailures:K};return{html:U,dependencies:Array.from(W),includeFailures:K}}function $F($){let X=[],Z=0,J=/(<script[^>]*>)([\s\S]*?)(<\/script>)/gi,Y;while((Y=J.exec($))!==null){let Q=$.slice(Z,Y.index);X.push(Q.replace(/<!--(?!\[if)[\s\S]*?-->/g,"").replace(/\s+/g," ").replace(/>\s+</g,"><"));let w=Y[1],q=Y[2],W=Y[3];q=q.replace(/([^:"\\'`])\/\/(?!\/)(?![*!])([^\n]*)/g,"$1"),X.push(w+q+W),Z=Y.index+Y[0].length}let G=$.slice(Z);return X.push(G.replace(/<!--(?!\[if)[\s\S]*?-->/g,"").replace(/\s+/g," ").replace(/>\s+</g,"><")),X.join("").trim()}function XF($){let X=0;for(let Z=0;Z<$.length;Z++){let J=$.charCodeAt(Z);X=(X<<5)-X+J,X=X&X}return`"${Math.abs(X).toString(36)}"`}function ZF($,X,Z,J){if(Z?.sitemap===!1)return!0;if(/<meta[^>]+name=["']robots["'][^>]+content=["'][^"']*noindex/i.test(X))return!0;return J.some((Y)=>{if(Y instanceof RegExp)return Y.test($);return Y.endsWith("/")?$===Y.slice(0,-1)||$.startsWith(Y):$===Y})}function JF($,X){return`<?xml version="1.0" encoding="UTF-8"?>
15336
15455
  <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
15337
15456
  ${$.map((J)=>{let Y=new URL(J.loc,X).href,G=` <url>
15338
15457
  <loc>${Q1(Y)}</loc>`;if(J.lastmod)G+=`
@@ -15341,7 +15460,7 @@ ${$.map((J)=>{let Y=new URL(J.loc,X).href,G=` <url>
15341
15460
  <priority>${J.priority}</priority>`;return G+=`
15342
15461
  </url>`,G}).join(`
15343
15462
  `)}
15344
- </urlset>`}function Q1($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")}function nL($,X){let Z=X.map((J)=>{let Y=" <item>";if(Y+=`
15463
+ </urlset>`}function Q1($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")}function YF($,X){let Z=X.map((J)=>{let Y=" <item>";if(Y+=`
15345
15464
  <title>${Q1(J.title)}</title>`,Y+=`
15346
15465
  <link>${Q1(J.link)}</link>`,J.description)Y+=`
15347
15466
  <description>${Q1(J.description)}</description>`;if(J.pubDate)Y+=`
@@ -15362,13 +15481,13 @@ ${$.map((J)=>{let Y=new URL(J.loc,X).href,G=` <url>
15362
15481
  ${Z.join(`
15363
15482
  `)}
15364
15483
  </channel>
15365
- </rss>`}async function rL($={}){let X=Date.now(),Z=await X1(),J=await Eq({explicit:$.domain,stxConfig:Z});if(J.source==="fallback"&&($.sitemap??!0))console.warn(Dq());let Y={pagesDir:$.pagesDir||"pages",outputDir:$.outputDir||"dist",baseUrl:$.baseUrl||"/",domain:J.url,revalidate:$.revalidate??!1,sitemap:$.sitemap??!0,sitemapExclude:$.sitemapExclude||[],robots:$.robots??!0,rss:$.rss??!1,concurrency:$.concurrency||10,cache:$.cache??!0,cacheDir:$.cacheDir||_1(process.cwd(),"ssg-cache"),contentLoaders:$.contentLoaders||[],hooks:$.hooks||{},minify:$.minify??!1,generate404:$.generate404??!0,publicDir:$.publicDir||"public",trailingSlash:$.trailingSlash??!1,cleanOutput:$.cleanOutput??!0,partialsDir:$.partialsDir||Z?.partialsDir||"",componentsDir:$.componentsDir||Z?.componentsDir||"",failOnIncludeError:$.failOnIncludeError??!0,chunkIslands:$.chunkIslands===!0,prefetchIslands:$.prefetchIslands===!0,integrityIslands:$.integrityIslands===!0},G={totalPages:0,successCount:0,failedCount:0,cachedCount:0,buildTime:0,pages:[],errors:[]},Q=new Set,w=0,q={},W={};await Y.hooks.onBuildStart?.();try{if(Y.cleanOutput&&V0.existsSync(Y.outputDir))await V0.promises.rm(Y.outputDir,{recursive:!0});await V0.promises.mkdir(Y.outputDir,{recursive:!0});let z=new yq(Y.cacheDir);if(Y.cache)await z.load();try{let{generateCrosswindCSS:A}=await Promise.resolve().then(() => (m$(),EY));await A('<div class="bg-black"></div>')}catch{}q7();let U=Z?.routeMiddleware?.dir||"middleware";await K7(process.cwd(),U);let B=W7();if(B.length>0)console.log(`Loaded ${B.length} middleware: ${B.join(", ")}`);let j=Z?.routeMiddleware?.global||[];kq(Z?.layoutsDir,_1(process.cwd()));let _=H7(".",{pagesDir:Y.pagesDir});console.log(`Found ${_.length} routes`);let H=[];for(let A of _){let N=await hL(A);for(let M of N)H.push({route:A,url:M.url,params:M.params,props:M.props,revalidate:M.revalidate??Y.revalidate})}G.totalPages=H.length,console.log(`Generating ${G.totalPages} pages...`);let O=[],L=[];for(let A=0;A<H.length;A+=Y.concurrency)L.push(H.slice(A,A+Y.concurrency));for(let A of L)await Promise.all(A.map(async(N)=>{let{route:M,url:T,params:k,props:D,revalidate:I}=N;try{await Y.hooks.onPageStart?.(T);let S=await Bun.file(M.filePath).text(),b=tL(S),y=b?.middleware?Array.isArray(b.middleware)?b.middleware:[b.middleware]:[],v=[...j,...y];if(v.length>0){let W0=z7(T,k,b||{}),A0=U7(W0,null,void 0,{isServer:!0}),s=await j7(v,A0);if(s.redirect){let c=typeof s.redirect==="string"?s.redirect:s.redirect.path||s.redirect,_0=eL(String(c),T),M0=$F(T,Y);await V0.promises.mkdir(J0.dirname(M0),{recursive:!0}),await Bun.write(M0,_0),G.successCount++,G.pages.push({route:T,outputPath:M0,size:Buffer.byteLength(_0),cached:!1}),O.push({loc:T,lastmod:new Date().toISOString()}),console.log(` \u21B3 ${T} \u2192 redirect to ${c}`);return}if(s.abort){let c=typeof s.abort==="string"?s.abort:s.abort?.error?.message||"aborted";console.warn(` \u21B3 ${T} \u2014 middleware aborted: ${c}`);return}}let f=S.match(/definePageMeta\s*\(\s*\{[\s\S]*?validate\s*:\s*((?:\([^)]*\)|[^,}])*(?:\{[\s\S]*?\})?)/m);if(f)try{if(!await Function("route",`
15484
+ </rss>`}async function GF($={}){let X=Date.now(),Z=await X1(),J=await xq({explicit:$.domain,stxConfig:Z});if(J.source==="fallback"&&($.sitemap??!0))console.warn(fq());let Y={pagesDir:$.pagesDir||"pages",outputDir:$.outputDir||"dist",baseUrl:$.baseUrl||"/",domain:J.url,revalidate:$.revalidate??!1,sitemap:$.sitemap??!0,sitemapExclude:$.sitemapExclude||[],robots:$.robots??!0,rss:$.rss??!1,concurrency:$.concurrency||10,cache:$.cache??!0,cacheDir:$.cacheDir||_1(process.cwd(),"ssg-cache"),contentLoaders:$.contentLoaders||[],hooks:$.hooks||{},minify:$.minify??!1,generate404:$.generate404??!0,publicDir:$.publicDir||"public",trailingSlash:$.trailingSlash??!1,cleanOutput:$.cleanOutput??!0,partialsDir:$.partialsDir||Z?.partialsDir||"",componentsDir:$.componentsDir||Z?.componentsDir||"",failOnIncludeError:$.failOnIncludeError??!0,chunkIslands:$.chunkIslands===!0,prefetchIslands:$.prefetchIslands===!0,integrityIslands:$.integrityIslands===!0},G={totalPages:0,successCount:0,failedCount:0,cachedCount:0,buildTime:0,pages:[],errors:[]},Q=new Set,w=0,q={},W={};await Y.hooks.onBuildStart?.();try{if(Y.cleanOutput&&V0.existsSync(Y.outputDir))await V0.promises.rm(Y.outputDir,{recursive:!0});await V0.promises.mkdir(Y.outputDir,{recursive:!0});let z=new gq(Y.cacheDir);if(Y.cache)await z.load();try{let{generateCrosswindCSS:R}=await Promise.resolve().then(() => (i$(),gY));await R('<div class="bg-black"></div>')}catch{}W7();let U=Z?.routeMiddleware?.dir||"middleware";await z7(process.cwd(),U);let B=K7();if(B.length>0)console.log(`Loaded ${B.length} middleware: ${B.join(", ")}`);let j=Z?.routeMiddleware?.global||[];Pq(Z?.layoutsDir,_1(process.cwd()));let _=O7(".",{pagesDir:Y.pagesDir});console.log(`Found ${_.length} routes`);let H=[];for(let R of _){let N=await sL(R);for(let M of N)H.push({route:R,url:M.url,params:M.params,props:M.props,revalidate:M.revalidate??Y.revalidate})}G.totalPages=H.length,console.log(`Generating ${G.totalPages} pages...`);let L=[],O=[];for(let R=0;R<H.length;R+=Y.concurrency)O.push(H.slice(R,R+Y.concurrency));for(let R of O)await Promise.all(R.map(async(N)=>{let{route:M,url:T,params:k,props:D,revalidate:I}=N;try{await Y.hooks.onPageStart?.(T);let S=await Bun.file(M.filePath).text(),b=WF(S),y=b?.middleware?Array.isArray(b.middleware)?b.middleware:[b.middleware]:[],v=[...j,...y];if(v.length>0){let W0=U7(T,k,b||{}),A0=j7(W0,null,void 0,{isServer:!0}),s=await B7(v,A0);if(s.redirect){let p=typeof s.redirect==="string"?s.redirect:s.redirect.path||s.redirect,_0=KF(String(p),T),k0=zF(T,Y);await V0.promises.mkdir(J0.dirname(k0),{recursive:!0}),await Bun.write(k0,_0),G.successCount++,G.pages.push({route:T,outputPath:k0,size:Buffer.byteLength(_0),cached:!1}),L.push({loc:T,lastmod:new Date().toISOString()}),console.log(` \u21B3 ${T} \u2192 redirect to ${p}`);return}if(s.abort){let p=typeof s.abort==="string"?s.abort:s.abort?.error?.message||"aborted";console.warn(` \u21B3 ${T} \u2014 middleware aborted: ${p}`);return}}let f=S.match(/definePageMeta\s*\(\s*\{[\s\S]*?validate\s*:\s*((?:\([^)]*\)|[^,}])*(?:\{[\s\S]*?\})?)/m);if(f)try{if(!await Function("route",`
15366
15485
  const validate = ${f[1]};
15367
15486
  return validate(route);
15368
- `)({params:k})){console.warn(`Validation failed for ${T}, skipping...`);return}}catch{}let x=null,p=!1;if(Y.cache){if(x=z.get(T,M.filePath),x)p=!0,G.cachedCount++}if(!x){let W0=await Sq(M,k,D,Y,Z);if(x=W0.html,Y.failOnIncludeError&&W0.includeFailures.length>0)throw Error(`${W0.includeFailures.length} include(s) failed to resolve, so this page would have shipped with an error banner where the markup should be:
15487
+ `)({params:k})){console.warn(`Validation failed for ${T}, skipping...`);return}}catch{}let x=null,l=!1;if(Y.cache){if(x=z.get(T,M.filePath),x)l=!0,G.cachedCount++}if(!x){let W0=await uq(M,k,D,Y,Z);if(x=W0.html,Y.failOnIncludeError&&W0.includeFailures.length>0)throw Error(`${W0.includeFailures.length} include(s) failed to resolve, so this page would have shipped with an error banner where the markup should be:
15369
15488
  ${W0.includeFailures.join(`
15370
15489
  `)}
15371
- Set ssg.failOnIncludeError to false to build anyway.`);if(Y.cache)z.set(T,M.filePath,W0.dependencies,x)}let l;if(Y.trailingSlash)l=J0.join(Y.outputDir,T,"index.html");else l=T==="/"?J0.join(Y.outputDir,"index.html"):J0.join(Y.outputDir,`${T}.html`);if(Y.chunkIslands){let{html:W0,chunks:A0}=Tq(x,{integrity:Y.integrityIslands,minify:Y.minify});if(A0.length>0){let s=J0.join(Y.outputDir,"_stx","islands");await V0.promises.mkdir(s,{recursive:!0});for(let c of A0){let _0=J0.join(s,`${c.hash}.js`);if(!await Bun.file(_0).exists())await Bun.write(_0,c.code);if(!Q.has(c.hash)){Q.add(c.hash);let M0=Buffer.byteLength(c.code,"utf8");w+=M0,q[c.hash]={bytes:M0,file:`/_stx/islands/${c.hash}.js`}}}if(W[T]=A0.map((c)=>c.hash),x=W0,Y.prefetchIslands)x=Mq(x)}}if(await V0.promises.mkdir(J0.dirname(l),{recursive:!0}),await Bun.write(l,x),!pL(T,x,b,Y.sitemapExclude))O.push({loc:T,lastmod:new Date().toISOString().split("T")[0],priority:T==="/"?1:0.8});let T0={route:T,outputPath:l,size:Buffer.byteLength(x,"utf8"),cached:p};if(I!==!1)T0.revalidateAt=Date.now()+I*1000;G.pages.push(T0),G.successCount++,await Y.hooks.onPageEnd?.(T,x)}catch(S){G.failedCount++,G.errors.push({route:T,error:S}),await Y.hooks.onError?.(S,T),console.error(`Error generating ${T}:`,S)}}));if(Y.cache)await z.save();if(Y.generate404){let A=J0.join(Y.pagesDir,"404.stx");if(await Bun.file(A).exists()){let N=new Set,M={...Z,debug:!1,cache:!1},T=await O0(await Bun.file(A).text(),{},A,M,N);await Bun.write(J0.join(Y.outputDir,"404.html"),T)}else await Bun.write(J0.join(Y.outputDir,"404.html"),`<!DOCTYPE html>
15490
+ Set ssg.failOnIncludeError to false to build anyway.`);if(Y.cache)z.set(T,M.filePath,W0.dependencies,x)}let c;if(Y.trailingSlash)c=J0.join(Y.outputDir,T,"index.html");else c=T==="/"?J0.join(Y.outputDir,"index.html"):J0.join(Y.outputDir,`${T}.html`);if(Y.chunkIslands){let{html:W0,chunks:A0}=Sq(x,{integrity:Y.integrityIslands,minify:Y.minify});if(A0.length>0){let s=J0.join(Y.outputDir,"_stx","islands");await V0.promises.mkdir(s,{recursive:!0});for(let p of A0){let _0=J0.join(s,`${p.hash}.js`);if(!await Bun.file(_0).exists())await Bun.write(_0,p.code);if(!Q.has(p.hash)){Q.add(p.hash);let k0=Buffer.byteLength(p.code,"utf8");w+=k0,q[p.hash]={bytes:k0,file:`/_stx/islands/${p.hash}.js`}}}if(W[T]=A0.map((p)=>p.hash),x=W0,Y.prefetchIslands)x=Cq(x)}}if(await V0.promises.mkdir(J0.dirname(c),{recursive:!0}),await Bun.write(c,x),!ZF(T,x,b,Y.sitemapExclude))L.push({loc:T,lastmod:new Date().toISOString().split("T")[0],priority:T==="/"?1:0.8});let M0={route:T,outputPath:c,size:Buffer.byteLength(x,"utf8"),cached:l};if(I!==!1)M0.revalidateAt=Date.now()+I*1000;G.pages.push(M0),G.successCount++,await Y.hooks.onPageEnd?.(T,x)}catch(S){G.failedCount++,G.errors.push({route:T,error:S}),await Y.hooks.onError?.(S,T),console.error(`Error generating ${T}:`,S)}}));if(Y.cache)await z.save();if(Y.generate404){let R=J0.join(Y.pagesDir,"404.stx");if(await Bun.file(R).exists()){let N=new Set,M={...Z,debug:!1,cache:!1},T=await O0(await Bun.file(R).text(),{},R,M,N);await Bun.write(J0.join(Y.outputDir,"404.html"),T)}else await Bun.write(J0.join(Y.outputDir,"404.html"),`<!DOCTYPE html>
15372
15491
  <html lang="en">
15373
15492
  <head>
15374
15493
  <meta charset="UTF-8">
@@ -15389,7 +15508,7 @@ Set ssg.failOnIncludeError to false to build anyway.`);if(Y.cache)z.set(T,M.file
15389
15508
  <a href="/">Go home</a>
15390
15509
  </div>
15391
15510
  </body>
15392
- </html>`)}for(let A of[500]){let N=J0.join(Y.pagesDir,`${A}.stx`);if(await Bun.file(N).exists()){let M=new Set,T={...Z,debug:!1,cache:!1},k=await O0(await Bun.file(N).text(),{},N,T,M);await Bun.write(J0.join(Y.outputDir,`${A}.html`),k)}}let F=J0.join(Y.pagesDir,"error.stx");if(await Bun.file(F).exists()){let A=new Set,N={...Z,debug:!1,cache:!1},M=await O0(await Bun.file(F).text(),{},F,N,A);await Bun.write(J0.join(Y.outputDir,"error.html"),M)}if(Y.sitemap&&O.length>0){let A=iL(O,Y.domain),N=J0.join(Y.outputDir,"sitemap.xml");await Bun.write(N,A),G.sitemapPath=N,console.log(`Generated sitemap.xml with ${O.length} URLs`)}if(Y.robots!==!1){let A=typeof Y.robots==="object"?Y.robots:{},N=[...Y.sitemapExclude.filter((T)=>typeof T==="string"),...A.disallow||[]],M=BY({rules:[{userAgent:A.userAgent||"*",allow:A.allow||["/"],...N.length>0?{disallow:N}:{}}],...A.sitemap!==!1&&G.sitemapPath?{sitemap:new URL("/sitemap.xml",Y.domain).href}:{}});await Bun.write(J0.join(Y.outputDir,"robots.txt"),M),console.log("Generated robots.txt")}if(Y.rss){let A=typeof Y.rss==="object"?Y.rss:{title:"Site Feed",description:"Latest updates",link:Y.domain},N=[];if(A.getItems)N=await A.getItems();let M=nL(A,N),T=J0.join(Y.outputDir,"rss.xml");await Bun.write(T,M),G.rssPath=T,console.log(`Generated rss.xml with ${N.length} items`)}let V=K6(Y.outputDir);if(V.assets>0)console.log(`Externalized ${V.assets} asset(s) from ${V.pages} page(s) (${(V.bytesInlined/1024).toFixed(1)}KB removed from HTML)`);if(Y.publicDir&&V0.existsSync(Y.publicDir))await Y6(Y.publicDir,Y.outputDir),console.log(`Copied public assets from ${Y.publicDir}`);let R=q6();if(R)await Y6(R,J0.join(Y.outputDir,w6)),console.log(`Copied assets from ${L9}`)}catch(z){throw await Y.hooks.onError?.(z),z}if(G.buildTime=Date.now()-X,Q.size>0){G.islandChunks={count:Q.size,totalBytes:w};let z={generatedChunks:Q.size,totalBytes:w,chunks:q,pages:W};await Bun.write(J0.join(Y.outputDir,"_stx","islands-manifest.json"),JSON.stringify(z,null,2))}await Y.hooks.onBuildEnd?.(G);let K=G.islandChunks?`
15511
+ </html>`)}for(let R of[500]){let N=J0.join(Y.pagesDir,`${R}.stx`);if(await Bun.file(N).exists()){let M=new Set,T={...Z,debug:!1,cache:!1},k=await O0(await Bun.file(N).text(),{},N,T,M);await Bun.write(J0.join(Y.outputDir,`${R}.html`),k)}}let F=J0.join(Y.pagesDir,"error.stx");if(await Bun.file(F).exists()){let R=new Set,N={...Z,debug:!1,cache:!1},M=await O0(await Bun.file(F).text(),{},F,N,R);await Bun.write(J0.join(Y.outputDir,"error.html"),M)}if(Y.sitemap&&L.length>0){let R=JF(L,Y.domain),N=J0.join(Y.outputDir,"sitemap.xml");await Bun.write(N,R),G.sitemapPath=N,console.log(`Generated sitemap.xml with ${L.length} URLs`)}if(Y.robots!==!1){let R=typeof Y.robots==="object"?Y.robots:{},N=[...Y.sitemapExclude.filter((T)=>typeof T==="string"),...R.disallow||[]],M=TY({rules:[{userAgent:R.userAgent||"*",allow:R.allow||["/"],...N.length>0?{disallow:N}:{}}],...R.sitemap!==!1&&G.sitemapPath?{sitemap:new URL("/sitemap.xml",Y.domain).href}:{}});await Bun.write(J0.join(Y.outputDir,"robots.txt"),M),console.log("Generated robots.txt")}if(Y.rss){let R=typeof Y.rss==="object"?Y.rss:{title:"Site Feed",description:"Latest updates",link:Y.domain},N=[];if(R.getItems)N=await R.getItems();let M=YF(R,N),T=J0.join(Y.outputDir,"rss.xml");await Bun.write(T,M),G.rssPath=T,console.log(`Generated rss.xml with ${N.length} items`)}let V=H6(Y.outputDir);if(V.assets>0)console.log(`Externalized ${V.assets} asset(s) from ${V.pages} page(s) (${(V.bytesInlined/1024).toFixed(1)}KB removed from HTML)`);if(Y.publicDir&&V0.existsSync(Y.publicDir))await K6(Y.publicDir,Y.outputDir),console.log(`Copied public assets from ${Y.publicDir}`);let A=B6();if(A)await K6(A,J0.join(Y.outputDir,j6)),console.log(`Copied assets from ${A9}`)}catch(z){throw await Y.hooks.onError?.(z),z}if(G.buildTime=Date.now()-X,Q.size>0){G.islandChunks={count:Q.size,totalBytes:w};let z={generatedChunks:Q.size,totalBytes:w,chunks:q,pages:W};await Bun.write(J0.join(Y.outputDir,"_stx","islands-manifest.json"),JSON.stringify(z,null,2))}await Y.hooks.onBuildEnd?.(G);let K=G.islandChunks?`
15393
15512
  Island chunks: ${G.islandChunks.count} (${(G.islandChunks.totalBytes/1024).toFixed(1)} KB lifted out of inline HTML)`:"";return console.log(`
15394
15513
  Build complete!
15395
15514
  Total: ${G.totalPages} pages
@@ -15397,8 +15516,8 @@ Build complete!
15397
15516
  Cached: ${G.cachedCount}
15398
15517
  Failed: ${G.failedCount}
15399
15518
  Time: ${G.buildTime}ms${K}
15400
- `),G}async function Y6($,X){await V0.promises.mkdir(X,{recursive:!0});let Z=await V0.promises.readdir($,{withFileTypes:!0});for(let J of Z){let Y=J0.join($,J.name),G=J0.join(X,J.name);if(J.isDirectory())await V0.promises.mkdir(G,{recursive:!0}),await Y6(Y,G);else await V0.promises.copyFile(Y,G)}}function oL($={}){let X=$.cacheDir||_1(process.cwd(),"ssg-cache"),Z=new bq(X),J=$.revalidate||3600;return{async get(Y){let G=await Z.get(Y);if(!G)return null;if(Date.now()>G.revalidateAfter)this.revalidate(Y).catch(console.error);return{html:G.html,headers:{"Cache-Control":`public, max-age=${J}, stale-while-revalidate=${J*2}`,ETag:G.etag,"X-ISR-Generated":new Date(G.generatedAt).toISOString(),...G.headers}}},async revalidate(Y){let Q=H7(".",{pagesDir:$.pagesDir||"pages"}).find((z)=>{return Y.match(z.regex)!==null});if(!Q){console.warn(`Route not found for revalidation: ${Y}`);return}let w=Y.match(Q.regex),q={};if(w)Q.params.forEach((z,U)=>{q[z]=w[U+1]});let W=await X1(),{html:K}=await Sq(Q,q,{},$,W);await Z.set(Y,{html:K,generatedAt:Date.now(),revalidateAfter:Date.now()+J*1000,etag:cL(K)}),console.log(`Revalidated: ${Y}`)},async invalidate(Y){if(typeof Y==="string")await Z.invalidate(Y);else await Z.invalidatePattern(Y)}}}function sL($){return async()=>{return{paths:await $(),fallback:!1}}}function aL(){return{name:"markdown",extensions:[".md",".mdx"],async load($){let X=await Bun.file($).text(),Z=X.match(/^---\n([\s\S]*?)\n---/),J={},Y=X;if(Z){let W=Z[1];Y=X.slice(Z[0].length).trim();for(let K of W.split(`
15401
- `)){let z=K.indexOf(":");if(z>0){let U=K.slice(0,z).trim(),B=K.slice(z+1).trim();if(B==="true")B=!0;else if(B==="false")B=!1;else if(/^\d+$/.test(B))B=parseInt(B,10);else if(/^\d+\.\d+$/.test(B))B=parseFloat(B);else if(B.startsWith("[")&&B.endsWith("]"))B=B.slice(1,-1).split(",").map((j)=>j.trim().replace(/^['"]|['"]$/g,""));J[U]=B}}}let G=Y.replace(/^### (.*$)/gim,"<h3>$1</h3>").replace(/^## (.*$)/gim,"<h2>$1</h2>").replace(/^# (.*$)/gim,"<h1>$1</h1>").replace(/\*\*(.*)\*\*/gim,"<strong>$1</strong>").replace(/\*(.*)\*/gim,"<em>$1</em>").replace(/`([^`]+)`/gim,"<code>$1</code>").replace(/\[([^\]]+)\]\(([^)]+)\)/gim,'<a href="$2">$1</a>').replace(/\n/gim,"<br>"),Q=[],w=/<h([1-6])>([^<]+)<\/h[1-6]>/gi,q;while((q=w.exec(G))!==null){let W=parseInt(q[1],10),K=q[2],z=K.toLowerCase().replace(/[^a-z0-9]+/g,"-");Q.push({id:z,text:K,level:W})}return{content:G,data:J,toc:Q}}}}function tL($){return l$($)}function eL($,X){return`<!DOCTYPE html>
15519
+ `),G}async function K6($,X){await V0.promises.mkdir(X,{recursive:!0});let Z=await V0.promises.readdir($,{withFileTypes:!0});for(let J of Z){let Y=J0.join($,J.name),G=J0.join(X,J.name);if(J.isDirectory())await V0.promises.mkdir(G,{recursive:!0}),await K6(Y,G);else await V0.promises.copyFile(Y,G)}}function QF($={}){let X=$.cacheDir||_1(process.cwd(),"ssg-cache"),Z=new hq(X),J=$.revalidate||3600;return{async get(Y){let G=await Z.get(Y);if(!G)return null;if(Date.now()>G.revalidateAfter)this.revalidate(Y).catch(console.error);return{html:G.html,headers:{"Cache-Control":`public, max-age=${J}, stale-while-revalidate=${J*2}`,ETag:G.etag,"X-ISR-Generated":new Date(G.generatedAt).toISOString(),...G.headers}}},async revalidate(Y){let Q=O7(".",{pagesDir:$.pagesDir||"pages"}).find((z)=>{return Y.match(z.regex)!==null});if(!Q){console.warn(`Route not found for revalidation: ${Y}`);return}let w=Y.match(Q.regex),q={};if(w)Q.params.forEach((z,U)=>{q[z]=w[U+1]});let W=await X1(),{html:K}=await uq(Q,q,{},$,W);await Z.set(Y,{html:K,generatedAt:Date.now(),revalidateAfter:Date.now()+J*1000,etag:XF(K)}),console.log(`Revalidated: ${Y}`)},async invalidate(Y){if(typeof Y==="string")await Z.invalidate(Y);else await Z.invalidatePattern(Y)}}}function wF($){return async()=>{return{paths:await $(),fallback:!1}}}function qF(){return{name:"markdown",extensions:[".md",".mdx"],async load($){let X=await Bun.file($).text(),Z=X.match(/^---\n([\s\S]*?)\n---/),J={},Y=X;if(Z){let W=Z[1];Y=X.slice(Z[0].length).trim();for(let K of W.split(`
15520
+ `)){let z=K.indexOf(":");if(z>0){let U=K.slice(0,z).trim(),B=K.slice(z+1).trim();if(B==="true")B=!0;else if(B==="false")B=!1;else if(/^\d+$/.test(B))B=parseInt(B,10);else if(/^\d+\.\d+$/.test(B))B=parseFloat(B);else if(B.startsWith("[")&&B.endsWith("]"))B=B.slice(1,-1).split(",").map((j)=>j.trim().replace(/^['"]|['"]$/g,""));J[U]=B}}}let G=Y.replace(/^### (.*$)/gim,"<h3>$1</h3>").replace(/^## (.*$)/gim,"<h2>$1</h2>").replace(/^# (.*$)/gim,"<h1>$1</h1>").replace(/\*\*(.*)\*\*/gim,"<strong>$1</strong>").replace(/\*(.*)\*/gim,"<em>$1</em>").replace(/`([^`]+)`/gim,"<code>$1</code>").replace(/\[([^\]]+)\]\(([^)]+)\)/gim,'<a href="$2">$1</a>').replace(/\n/gim,"<br>"),Q=[],w=/<h([1-6])>([^<]+)<\/h[1-6]>/gi,q;while((q=w.exec(G))!==null){let W=parseInt(q[1],10),K=q[2],z=K.toLowerCase().replace(/[^a-z0-9]+/g,"-");Q.push({id:z,text:K,level:W})}return{content:G,data:J,toc:Q}}}}function WF($){return n$($)}function KF($,X){return`<!DOCTYPE html>
15402
15521
  <html>
15403
15522
  <head>
15404
15523
  <meta charset="utf-8">
@@ -15410,4 +15529,4 @@ Build complete!
15410
15529
  <p>Redirecting to <a href="${$}">${$}</a>...</p>
15411
15530
  <script>window.location.replace('${$}')</script>
15412
15531
  </body>
15413
- </html>`}function $F($,X){if($==="/"||$==="")return J0.join(X.outputDir,"index.html");let Z=$.replace(/^\/|\/$/g,"");if(X.trailingSlash)return J0.join(X.outputDir,Z,"index.html");return J0.join(X.outputDir,`${Z}.html`)}var rD={generateStaticSite:rL,createISRHandler:oL,defineStaticPaths:sL,createMarkdownLoader:aL};export{pL as isExcludedFromSitemap,rL as generateStaticSite,sL as defineStaticPaths,rD as default,mL as declaresPageAction,aL as createMarkdownLoader,oL as createISRHandler};
15532
+ </html>`}function zF($,X){if($==="/"||$==="")return J0.join(X.outputDir,"index.html");let Z=$.replace(/^\/|\/$/g,"");if(X.trailingSlash)return J0.join(X.outputDir,Z,"index.html");return J0.join(X.outputDir,`${Z}.html`)}var qy={generateStaticSite:GF,createISRHandler:QF,defineStaticPaths:wF,createMarkdownLoader:qF};export{ZF as isExcludedFromSitemap,GF as generateStaticSite,wF as defineStaticPaths,qy as default,eL as declaresPageAction,qF as createMarkdownLoader,QF as createISRHandler};