@stacksjs/stx 0.2.162 → 0.2.163

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/craft.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- var dq=Object.defineProperty;var mq=(X)=>X;function lq(X,$){this[X]=mq.bind(null,$)}var t=(X,$)=>{for(var Z in $)dq(X,Z,{get:$[Z],enumerable:!0,configurable:!0,set:lq.bind($,Z)})};var D=(X,$)=>()=>(X&&($=X(X=0)),$);var X0=import.meta.require;function L2(X,$,Z,Y){let J=X;J=J.replace(/@a11y\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(Q,w,q)=>{let U={"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||U} -->`});let G=/@screenReader\(([^@]*)\)@endScreenReader/g;return J=J.replace(G,(Q,w)=>{return`<span class="sr-only">${w.trim()}</span>`}),J=J.replace(/@ariaDescribe\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(Q,w,q)=>{return`<span id="${`desc-${w}`}" class="sr-only">${q}</span>`}),J}var O2,F2;var L$=D(()=>{O2={name:"a11y",handler:(X,$,Z,Y)=>{if(!$.length)return X;let J=$[0].replace(/['"]/g,""),G=$.length>1?$[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"}[J]||"Make this element accessible";return`<!-- a11y-hint: ${G||w} -->${X}`},hasEndTag:!1},F2={name:"screenReader",handler:(X)=>{return`<span class="sr-only">${X}</span>`},hasEndTag:!0}});function lW(X,$={}){let{duration:Z,delay:Y,ease:J,direction:G,custom:Q}={...B1,...$};if(X==="custom"&&Q)return Q;switch(X){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);"}
2
+ var lq=Object.defineProperty;var cq=(X)=>X;function pq(X,$){this[X]=cq.bind(null,$)}var t=(X,$)=>{for(var Z in $)lq(X,Z,{get:$[Z],enumerable:!0,configurable:!0,set:pq.bind($,Z)})};var D=(X,$)=>()=>(X&&($=X(X=0)),$);var X0=import.meta.require;function O2(X,$,Z,Y){let J=X;J=J.replace(/@a11y\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(Q,w,q)=>{let U={"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||U} -->`});let G=/@screenReader\(([^@]*)\)@endScreenReader/g;return J=J.replace(G,(Q,w)=>{return`<span class="sr-only">${w.trim()}</span>`}),J=J.replace(/@ariaDescribe\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(Q,w,q)=>{return`<span id="${`desc-${w}`}" class="sr-only">${q}</span>`}),J}var F2,V2;var L$=D(()=>{F2={name:"a11y",handler:(X,$,Z,Y)=>{if(!$.length)return X;let J=$[0].replace(/['"]/g,""),G=$.length>1?$[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"}[J]||"Make this element accessible";return`<!-- a11y-hint: ${G||w} -->${X}`},hasEndTag:!1},V2={name:"screenReader",handler:(X)=>{return`<span class="sr-only">${X}</span>`},hasEndTag:!0}});function pW(X,$={}){let{duration:Z,delay:Y,ease:J,direction:G,custom:Q}={...B1,...$};if(X==="custom"&&Q)return Q;switch(X){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);"}
3
3
  @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
4
4
  @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);"}
5
5
  @keyframes slideIn { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@@ -9,7 +9,7 @@ var dq=Object.defineProperty;var mq=(X)=>X;function lq(X,$){this[X]=mq.bind(null
9
9
  @keyframes flipIn { from { transform: perspective(400px) rotateX(-90deg); opacity: 0; } to { transform: perspective(400px) rotateX(0); opacity: 1; } }
10
10
  @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);"}
11
11
  @keyframes rotateIn { from { transform: rotate(-90deg); opacity: 0; } to { transform: rotate(0); opacity: 1; } }
12
- @keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function cW(){return`
12
+ @keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function iW(){return`
13
13
  <script data-stx-scoped data-stx-run="once">
14
14
  // Motion preferences handling
15
15
  (function() {
@@ -37,7 +37,7 @@ else {
37
37
  });
38
38
  })();
39
39
  </script>
40
- `}function pW(X){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(X))}function iW(X=0.1,$="0px"){return`
40
+ `}function nW(X){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(X))}function rW(X=0.1,$="0px"){return`
41
41
  <script data-stx-scoped data-stx-run="always">
42
42
  // Intersection Observer for scroll animations
43
43
  (function() {
@@ -80,7 +80,7 @@ else {
80
80
  }
81
81
  })();
82
82
  </script>
83
- `}function nW(){return`
83
+ `}function sW(){return`
84
84
  <style id="stx-animation-base">
85
85
  :root {
86
86
  --stx-transition-duration: 300ms;
@@ -195,7 +195,7 @@ else {
195
195
  transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
196
196
  }
197
197
  </style>
198
- `}function rW(X,$,Z={}){let{staggerDelay:Y=50,sequence:J=!1}=Z;return`
198
+ `}function oW(X,$,Z={}){let{staggerDelay:Y=50,sequence:J=!1}=Z;return`
199
199
  <script data-stx-scoped data-stx-run="always">
200
200
  // Animation Group: ${X}
201
201
  (function() {
@@ -232,13 +232,13 @@ else {
232
232
  }
233
233
  })();
234
234
  </script>
235
- `}function M2(X,$,Z,Y){let J=X;if(Y.animation?.enabled===!1)return J;let G=Z.includes("test")&&Z.includes("animation");if(!pW(J)&&!G)return J;if(!J.includes('<style id="stx-animation-base">')){let w=nW();J=J.replace("</head>",`${w}
236
- </head>`)}if(J.includes("stx-observe")){if(!J.includes("Intersection Observer for scroll animations")){let q=iW(),W=J.lastIndexOf("</body>");if(W!==-1)J=J.slice(0,W)+q+`
237
- `+J.slice(W)}}return J}var B1,V2,A2,R2,T2;var O$=D(()=>{B1={duration:300,delay:0,ease:"ease",direction:"both"};V2={name:"transition",handler:(X,$,Z,Y)=>{if($.length<1)return`<div class="stx-error">@transition directive requires at least a transition type</div>${X}`;let J=$[0],G=$.length>1?Number.parseInt($[1],10)||B1.duration:B1.duration,Q=$.length>2?$[2]||B1.ease:B1.ease,w=$.length>3?Number.parseInt($[3],10)||B1.delay:B1.delay,q=$.length>4?$[4]||B1.direction:B1.direction,W=`stx-transition-${Math.random().toString(36).substr(2,9)}`,U=lW(J,{duration:G,delay:w,ease:Q,direction:q}),K="stx-transition",z="";if(J==="fade")z="stx-fade";else if(J==="slide")z="stx-slide";else if(J==="scale")z="stx-scale";else if(J==="flip")z="stx-flip";else if(J==="rotate")z="stx-rotate";return`<div id="${W}" class="${K} ${z} ${q==="out"?"stx-out":""}"
238
- style="--stx-transition-duration: ${G}ms; --stx-transition-ease: ${Q}; --stx-transition-delay: ${w}ms;">${X}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},A2={name:"scrollAnimate",handler:(X,$,Z,Y)=>{if($.length<1)return`<div class="stx-error">@scrollAnimate directive requires at least an animation type</div>${X}`;let J=$[0],G=$.length>1?Number.parseInt($[1],10)||300:300,Q=$.length>2?$[2]||"ease":"ease",w=$.length>3?Number.parseFloat($[3])||0.2:0.2,q=$.length>4?Number.parseInt($[4],10)||0:0,W=`stx-scroll-${Math.random().toString(36).substr(2,9)}`,U=`--stx-transition-duration: ${G}ms; --stx-transition-ease: ${Q}; --stx-transition-delay: ${q}ms; will-change: opacity, transform;`,K="stx-transition stx-observe stx-out";if(J==="fade")K+=" stx-fade";else if(J==="slide-up"||J==="slide")K+=" stx-from-bottom";else if(J==="slide-down")K+=" stx-from-top";else if(J==="slide-left")K+=" stx-from-right";else if(J==="slide-right")K+=" stx-from-left";else if(J==="scale")K+=" stx-scale";else if(J.includes("-"))K+=` stx-${J}`;else K+=` stx-${J}`;return`<div id="${W}" class="${K}" style="${U}" data-threshold="${w}">${X}</div>`},hasEndTag:!0,description:"Applies animations that trigger when scrolled into view"},R2={name:"animationGroup",handler:(X,$,Z,Y)=>{if($.length<2)return`<div class="stx-error">@animationGroup directive requires a group name and at least one element selector</div>${X}`;let J=$[0],G=$.slice(1).map((W)=>W.startsWith("#")||W.startsWith(".")?W:`#${W}`),Q=Z.staggerDelay||50,w=Z.sequence||!0,q=rW(J,G,{staggerDelay:Q,sequence:w});return`${X}
239
- ${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},T2={name:"motion",handler:(X,$,Z,Y)=>{let J=$.length>0?$[0].toLowerCase()==="true":!0,G=cW();return`<div data-animate="${J?"auto":"true"}">${X}</div>${G}`},hasEndTag:!0,description:"Controls motion and animation preferences"}});function F$(X){return X.split(/[\\/]/).filter(Boolean).slice(0,-1).some((Z)=>W7.includes(Z))}function U7(X){return F$(X.replace(/^\//,""))}var W7;var qX=D(()=>{W7=["components","layouts","partials"]});import A5 from"fs";import K7 from"path";function z7(X,$){let Z=X.filter((Q)=>!U7(Q.pattern)),Y=["// Auto-generated by STX - do not edit"];if(Z.length===0)Y.push("// No page routes found \u2014 route paths stay typed as string.","export {}","");else{Y.push("declare module '@stacksjs/stx' {"," interface KnownRoutes {");for(let Q of Z){let w=[];for(let W of Q.params){let U=Q.pattern.includes(`:${W}?`)?"?":"";w.push(`${W}${U}: string`)}let q=w.join("; ");Y.push(` '${Q.pattern}': { ${q} }`)}Y.push(" }","}","","export {}","")}let J=Y.join(`
235
+ `}function N2(X,$,Z,Y){let J=X;if(Y.animation?.enabled===!1)return J;let G=Z.includes("test")&&Z.includes("animation");if(!nW(J)&&!G)return J;if(!J.includes('<style id="stx-animation-base">')){let w=sW();J=J.replace("</head>",`${w}
236
+ </head>`)}if(J.includes("stx-observe")){if(!J.includes("Intersection Observer for scroll animations")){let q=rW(),W=J.lastIndexOf("</body>");if(W!==-1)J=J.slice(0,W)+q+`
237
+ `+J.slice(W)}}return J}var B1,A2,R2,T2,M2;var O$=D(()=>{B1={duration:300,delay:0,ease:"ease",direction:"both"};A2={name:"transition",handler:(X,$,Z,Y)=>{if($.length<1)return`<div class="stx-error">@transition directive requires at least a transition type</div>${X}`;let J=$[0],G=$.length>1?Number.parseInt($[1],10)||B1.duration:B1.duration,Q=$.length>2?$[2]||B1.ease:B1.ease,w=$.length>3?Number.parseInt($[3],10)||B1.delay:B1.delay,q=$.length>4?$[4]||B1.direction:B1.direction,W=`stx-transition-${Math.random().toString(36).substr(2,9)}`,U=pW(J,{duration:G,delay:w,ease:Q,direction:q}),K="stx-transition",z="";if(J==="fade")z="stx-fade";else if(J==="slide")z="stx-slide";else if(J==="scale")z="stx-scale";else if(J==="flip")z="stx-flip";else if(J==="rotate")z="stx-rotate";return`<div id="${W}" class="${K} ${z} ${q==="out"?"stx-out":""}"
238
+ style="--stx-transition-duration: ${G}ms; --stx-transition-ease: ${Q}; --stx-transition-delay: ${w}ms;">${X}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},R2={name:"scrollAnimate",handler:(X,$,Z,Y)=>{if($.length<1)return`<div class="stx-error">@scrollAnimate directive requires at least an animation type</div>${X}`;let J=$[0],G=$.length>1?Number.parseInt($[1],10)||300:300,Q=$.length>2?$[2]||"ease":"ease",w=$.length>3?Number.parseFloat($[3])||0.2:0.2,q=$.length>4?Number.parseInt($[4],10)||0:0,W=`stx-scroll-${Math.random().toString(36).substr(2,9)}`,U=`--stx-transition-duration: ${G}ms; --stx-transition-ease: ${Q}; --stx-transition-delay: ${q}ms; will-change: opacity, transform;`,K="stx-transition stx-observe stx-out";if(J==="fade")K+=" stx-fade";else if(J==="slide-up"||J==="slide")K+=" stx-from-bottom";else if(J==="slide-down")K+=" stx-from-top";else if(J==="slide-left")K+=" stx-from-right";else if(J==="slide-right")K+=" stx-from-left";else if(J==="scale")K+=" stx-scale";else if(J.includes("-"))K+=` stx-${J}`;else K+=` stx-${J}`;return`<div id="${W}" class="${K}" style="${U}" data-threshold="${w}">${X}</div>`},hasEndTag:!0,description:"Applies animations that trigger when scrolled into view"},T2={name:"animationGroup",handler:(X,$,Z,Y)=>{if($.length<2)return`<div class="stx-error">@animationGroup directive requires a group name and at least one element selector</div>${X}`;let J=$[0],G=$.slice(1).map((W)=>W.startsWith("#")||W.startsWith(".")?W:`#${W}`),Q=Z.staggerDelay||50,w=Z.sequence||!0,q=oW(J,G,{staggerDelay:Q,sequence:w});return`${X}
239
+ ${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},M2={name:"motion",handler:(X,$,Z,Y)=>{let J=$.length>0?$[0].toLowerCase()==="true":!0,G=iW();return`<div data-animate="${J?"auto":"true"}">${X}</div>${G}`},hasEndTag:!0,description:"Controls motion and animation preferences"}});function F$(X){return X.split(/[\\/]/).filter(Boolean).slice(0,-1).some((Z)=>W7.includes(Z))}function U7(X){return F$(X.replace(/^\//,""))}var W7;var qX=D(()=>{W7=["components","layouts","partials"]});import A5 from"fs";import K7 from"path";function z7(X,$){let Z=X.filter((Q)=>!U7(Q.pattern)),Y=["// Auto-generated by STX - do not edit"];if(Z.length===0)Y.push("// No page routes found \u2014 route paths stay typed as string.","export {}","");else{Y.push("declare module '@stacksjs/stx' {"," interface KnownRoutes {");for(let Q of Z){let w=[];for(let W of Q.params){let U=Q.pattern.includes(`:${W}?`)?"?":"";w.push(`${W}${U}: string`)}let q=w.join("; ");Y.push(` '${Q.pattern}': { ${q} }`)}Y.push(" }","}","","export {}","")}let J=Y.join(`
240
240
  `),G=K7.join($,"route-types.d.ts");try{if(A5.existsSync(G)&&A5.readFileSync(G,"utf8")===J)return;A5.mkdirSync($,{recursive:!0}),A5.writeFileSync(G,J)}catch{}}function _7(X,$,Z){let Y=process.cwd(),J=K7.relative(Y,Z),G=X.filter((w)=>!U7(w.pattern)),Q=["// Auto-generated by stx \u2014 do not edit",`// Source: ${J||"pages"}/`,"","export const routes = ["];for(let w of G){let q=K7.relative(Y,w.filePath).replace(/\\/g,"/"),W=JSON.stringify(w.params),U=w.layout?`, layout: '${K7.relative(Y,w.layout).replace(/\\/g,"/")}'`:"";Q.push(` { pattern: '${w.pattern}', filePath: '${q}', isDynamic: ${w.isDynamic}, params: ${W}${U} },`)}Q.push("] as const",""),Q.push("export type RouteName = typeof routes[number]['pattern']",""),A5.mkdirSync($,{recursive:!0}),A5.writeFileSync(K7.join($,"routes.ts"),Q.join(`
241
- `))}var V$=D(()=>{qX()});import N2 from"path";function WX(X,$){let Y=N2.relative($,X).replace(/\.(stx|md)$/,"");if(Y=Y.split(N2.sep).join("/"),Y==="index")return"/";if(Y.endsWith("/index"))Y=Y.slice(0,-6);return Y=Y.replace(/\[\[([^\]]+)\]\]/g,":$1?"),Y=Y.replace(/\[([^\]]+)\]/g,":$1"),Y=Y.replace(/:\.\.\.([^/]+)/g,":$1*"),`/${Y}`}function B7(X){let $=[],Z="",Y=0;while(Y<X.length){let J=X.slice(Y),G=/^\/:([^/?*]+)\?/.exec(J);if(G){$.push(G[1]),Z+="(?:/([^/]+))?",Y+=G[0].length;continue}let Q=/^:([^/?*]+)\*/.exec(J);if(Q){$.push(Q[1]),Z+="(.+)",Y+=Q[0].length;continue}let w=/^:([^/?*]+)/.exec(J);if(w){$.push(w[1]),Z+="([^/]+)",Y+=w[0].length;continue}Z+=X[Y].replace(/[.+^${}()|[\]\\*?]/g,"\\$&"),Y+=1}return{regex:new RegExp(`^${Z}$`),params:$}}function UX(X,$){let Z=X===""?"/":X;for(let Y of $){let J=Z.match(Y.regex);if(J){let G={};return Y.params.forEach((Q,w)=>{G[Q]=J[w+1]}),{route:Y,params:G}}}return null}function k2(X){let $=X.replace(/\[\[([^\]]+)\]\]/g,":$1?").replace(/\[([^\]]+)\]/g,":$1").replace(/:\.\.\.([^/]+)/g,":$1*");return B7($)}var A$=()=>{};import sW from"fs";import R$ from"path";function KX(X,$){let Z=[],Y=R$.dirname(X);while(Y.startsWith($)||Y===$){let J=R$.join(Y,"_layout.stx");if(sW.existsSync(J))Z.unshift(J);if(Y===$)break;Y=R$.dirname(Y)}return Z}var T$=()=>{};import M$ from"fs";import R5 from"path";function I2(X,$){let Z=[];if(!M$.existsSync(X))return Z;let Y=M$.readdirSync(X,{withFileTypes:!0});for(let J of Y){let G=R5.join(X,J.name);if(J.isDirectory()){if(J.name.startsWith("."))continue;if(W7.includes(J.name))continue;Z.push(...I2(G,$))}else if(J.isFile()){let Q=R5.extname(J.name);if($.includes(Q)){if(J.name.startsWith("_")&&J.name!=="_layout.stx")continue;if(J.name==="_layout.stx")continue;Z.push(G)}}}return Z}class T5{routes;pagesDir;pagesDirs;config;constructor(X,$={}){this.config=$;let Z=$.pagesDirs&&$.pagesDirs.length>0?$.pagesDirs:[$.pagesDir||"pages"];this.pagesDirs=Z.map((Q)=>R5.resolve(X,Q)),this.pagesDir=this.pagesDirs[0];let Y=$.extensions||[".stx"],J=new Set;this.routes=[];for(let Q of this.pagesDirs){let w=I2(Q,Y);for(let q of w){let W=WX(q,Q);if(J.has(W))continue;J.add(W);let{regex:U,params:K}=B7(W),z=$.layouts!==!1?KX(q,Q):[];this.routes.push({pattern:W,regex:U,params:K,filePath:q,isDynamic:K.length>0,layout:z.length>0?z[z.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=R5.resolve(X,$.stateDir||process.env.STX_DIR?.trim()||".stx");z7(this.routes,G),_7(this.routes,G,this.pagesDir)}match(X){let $=X===""?"/":X;for(let Z of this.routes){let Y=$.match(Z.regex);if(Y){let J={};return Z.params.forEach((G,Q)=>{J[G]=Y[Q+1]}),{route:Z,params:J}}}return null}resolve(X,$){let Z=this.routes.find((J)=>J.pattern===X||J.filePath.includes(X));if(!Z)return"#not-found";let Y=Z.pattern;if($)for(let[J,G]of Object.entries($))Y=Y.replace(`:${J}`,encodeURIComponent(G));return Y}addRoute(X){this.routes.push(X),this.routes.sort(($,Z)=>{if(!$.isDynamic&&Z.isDynamic)return-1;if($.isDynamic&&!Z.isDynamic)return 1;return $.pattern.localeCompare(Z.pattern)})}getLayout(X){return X.layout??null}}function E2(X,$){return new T5(X,$)}function N$(X,$){let Z=[`${$}.stx`,"error.stx"];for(let Y of Z){let J=R5.join(X,Y);if(M$.existsSync(J))return J}return null}function k$(X,$){return X.map((Z)=>{let Y=R5.relative($,Z.filePath),J=Z.isDynamic?" (dynamic)":"";return`${Z.pattern} \u2192 ${Y}${J}`})}var D2=D(()=>{V$();A$();T$();qX()});function I$(X){zX=X.replace(/\/$/,"")}function E$(X,$,Z={}){M5[X]={path:$,name:X,params:Z}}function D$(X){for(let[$,Z]of Object.entries(X))if(typeof Z==="string")M5[$]={path:Z,name:$};else M5[$]={...Z,name:$}}function j7(X,$={},Z=!1){let Y=M5[X];if(!Y)return console.warn(`Route [${X}] not defined.`),"#undefined-route";let J={...Y.params,...$},G=Y.path;G=G.replace(/:(\w+)/g,(w,q)=>{let W=J[q];if(W===void 0)return console.warn(`Missing parameter [${q}] for route [${X}].`),`:${q}`;return delete J[q],encodeURIComponent(String(W))});let Q=Object.entries(J);if(Q.length>0){let w=Q.map(([q,W])=>`${encodeURIComponent(q)}=${encodeURIComponent(String(W))}`).join("&");G+=(G.includes("?")?"&":"?")+w}return Z&&zX?`${zX}${G}`:G}function y$(){for(let X of Object.keys(M5))delete M5[X];zX=""}var M5,zX="";var y2=D(()=>{M5={}});import b2 from"fs";import S2 from"path";function C2(X,$={}){return{type:"redirect",path:X,options:{replace:$.replace??!1,external:$.external??!1,redirectCode:$.redirectCode??302}}}function P2(X){return{type:"abort",error:typeof X==="string"?{statusCode:500,message:X}:X}}function v2(X,$={}){return{handler:X,mode:$.mode??"universal"}}function b$(X){let $={};if(!X)return $;let Z=X.split(";");for(let Y of Z){let[J,...G]=Y.split("=");if(J){let Q=J.trim(),w=G.join("=").trim();if(Q)$[Q]=decodeURIComponent(w)}}return $}function _X(X,$,Z={}){let Y=`${encodeURIComponent(X)}=${encodeURIComponent($)}`;if(Z.expires){let J=typeof Z.expires==="number"?new Date(Date.now()+Z.expires*1000):Z.expires;Y+=`; Expires=${J.toUTCString()}`}if(Z.path)Y+=`; Path=${Z.path}`;if(Z.domain)Y+=`; Domain=${Z.domain}`;if(Z.secure)Y+="; Secure";if(Z.httpOnly)Y+="; HttpOnly";if(Z.sameSite)Y+=`; SameSite=${Z.sameSite}`;return Y}function S$(X,$){let Z=X.headers.get("cookie")||"",Y=b$(Z);return{get(J){return Y[J]},set(J,G,Q={}){Y[J]=G,$.append("Set-Cookie",_X(J,G,Q))},delete(J){delete Y[J],$.append("Set-Cookie",_X(J,"",{expires:new Date(0),path:"/"}))},getAll(){return{...Y}}}}function C$(){return{get(X){if(typeof document>"u")return;return b$(document.cookie)[X]},set(X,$,Z={}){if(typeof document>"u")return;document.cookie=_X(X,$,Z)},delete(X){if(typeof document>"u")return;document.cookie=_X(X,"",{expires:new Date(0),path:"/"})},getAll(){if(typeof document>"u")return{};return b$(document.cookie)}}}function P$(){let X=typeof window<"u"&&typeof window.localStorage<"u";return{get($){if(!X)return null;try{return window.localStorage.getItem($)}catch{return null}},set($,Z){if(!X)return;try{window.localStorage.setItem($,Z)}catch{}},remove($){if(!X)return;try{window.localStorage.removeItem($)}catch{}},isAvailable(){return X}}}function BX(X,$){H7.set(X,$)}function v$(X){return H7.get(X)}function x2(X){return H7.has(X)}function f2(){H7.clear()}function g2(){return Array.from(H7.keys())}async function h2(X,$="middleware"){let Z=S2.resolve(X,$);if(!b2.existsSync(Z))return;let Y=b2.readdirSync(Z);for(let J of Y){if(!J.endsWith(".ts")&&!J.endsWith(".js"))continue;if(J.includes(".test.")||J.includes(".spec."))continue;let G=J.replace(/\.(ts|js)$/,""),Q=S2.join(Z,J);try{let q=(await import(Q)).default;if(q&&typeof q.handler==="function")BX(G,q);else if(typeof q==="function")BX(G,{handler:q,mode:"universal"})}catch(w){console.warn(`Failed to load middleware '${G}' from ${Q}:`,w)}}}function oW(X){let $={};if(!X)return $;let Z=new URLSearchParams(X);for(let[Y,J]of Z)$[Y]=J;return $}function u2(X,$,Z,Y=""){return{path:X,params:$,query:oW(Y),fullPath:Y?`${X}?${Y}`:X,meta:Z}}function d2(X,$,Z,Y){let J=Y?.isServer??typeof window>"u",G=!J,Q=new Headers;return{to:X,from:$,isClient:G,isServer:J,cookies:J&&Z?S$(Z,Q):C$(),storage:P$(),state:{},request:Z,responseHeaders:Q}}async function m2(X,$){let Z=Array.isArray(X)?X:[X],Y=$.isServer;for(let J of Z){let G=v$(J);if(!G)return console.error(`Route middleware '${J}' is not registered \u2014 failing the guard closed.`),{passed:!1,abort:{type:"abort",error:{statusCode:500,message:`Route middleware '${J}' is not registered`}},state:$.state,responseHeaders:$.responseHeaders};if(G.mode==="server"&&!Y)continue;try{let Q=await G.handler($);if(Q){if(Q.type==="redirect")return{passed:!1,redirect:Q,state:$.state,responseHeaders:$.responseHeaders};if(Q.type==="abort")return{passed:!1,abort:Q,state:$.state,responseHeaders:$.responseHeaders}}}catch(Q){return console.error(`Error in middleware '${J}':`,Q),{passed:!1,abort:{type:"abort",error:{statusCode:500,message:Q instanceof Error?Q.message:"Middleware error"}},state:$.state,responseHeaders:$.responseHeaders}}}return{passed:!0,state:$.state,responseHeaders:$.responseHeaders}}var H7;var l2=D(()=>{H7=new Map});function L7(X){let Z=X.replace(/\\/g,"/").split("/").filter(Boolean),Y=Z.lastIndexOf("layouts"),J=Y>=0?Z[Y+1]:Z.at(-1);if(!J)return"app";return J.replace(/\.stx$/i,"")||"app"}function c2(X){let $=X.match(/<meta\b[^>]*name=["']stx-layout["'][^>]*content=["']([^"']+)["'][^>]*>/i),Z=X.match(/<meta\b[^>]*name=["']stx-layout-group["'][^>]*content=["']([^"']+)["'][^>]*>/i),Y=X.match(/<!--\s*stx-layout:\s*([^ ]+)\s*-->/i),J=$?.[1]||Y?.[1]||"";return{layout:J,group:Z?.[1]||L7(J)}}function aW(X){try{return new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync(X).replace(/\}(var |let |const |function )/g,"};$1").trim()}catch{return X}}function O7(){if(jX)return jX;return jX=aW(`
241
+ `))}var V$=D(()=>{qX()});import k2 from"path";function WX(X,$){let Y=k2.relative($,X).replace(/\.(stx|md)$/,"");if(Y=Y.split(k2.sep).join("/"),Y==="index")return"/";if(Y.endsWith("/index"))Y=Y.slice(0,-6);return Y=Y.replace(/\[\[([^\]]+)\]\]/g,":$1?"),Y=Y.replace(/\[([^\]]+)\]/g,":$1"),Y=Y.replace(/:\.\.\.([^/]+)/g,":$1*"),`/${Y}`}function B7(X){let $=[],Z="",Y=0;while(Y<X.length){let J=X.slice(Y),G=/^\/:([^/?*]+)\?/.exec(J);if(G){$.push(G[1]),Z+="(?:/([^/]+))?",Y+=G[0].length;continue}let Q=/^:([^/?*]+)\*/.exec(J);if(Q){$.push(Q[1]),Z+="(.+)",Y+=Q[0].length;continue}let w=/^:([^/?*]+)/.exec(J);if(w){$.push(w[1]),Z+="([^/]+)",Y+=w[0].length;continue}Z+=X[Y].replace(/[.+^${}()|[\]\\*?]/g,"\\$&"),Y+=1}return{regex:new RegExp(`^${Z}$`),params:$}}function UX(X,$){let Z=X===""?"/":X;for(let Y of $){let J=Z.match(Y.regex);if(J){let G={};return Y.params.forEach((Q,w)=>{G[Q]=J[w+1]}),{route:Y,params:G}}}return null}function I2(X){let $=X.replace(/\[\[([^\]]+)\]\]/g,":$1?").replace(/\[([^\]]+)\]/g,":$1").replace(/:\.\.\.([^/]+)/g,":$1*");return B7($)}var A$=()=>{};import aW from"fs";import R$ from"path";function KX(X,$){let Z=[],Y=R$.dirname(X);while(Y.startsWith($)||Y===$){let J=R$.join(Y,"_layout.stx");if(aW.existsSync(J))Z.unshift(J);if(Y===$)break;Y=R$.dirname(Y)}return Z}var T$=()=>{};import M$ from"fs";import R5 from"path";function E2(X,$){let Z=[];if(!M$.existsSync(X))return Z;let Y=M$.readdirSync(X,{withFileTypes:!0});for(let J of Y){let G=R5.join(X,J.name);if(J.isDirectory()){if(J.name.startsWith("."))continue;if(W7.includes(J.name))continue;Z.push(...E2(G,$))}else if(J.isFile()){let Q=R5.extname(J.name);if($.includes(Q)){if(J.name.startsWith("_")&&J.name!=="_layout.stx")continue;if(J.name==="_layout.stx")continue;Z.push(G)}}}return Z}class T5{routes;pagesDir;pagesDirs;config;constructor(X,$={}){this.config=$;let Z=$.pagesDirs&&$.pagesDirs.length>0?$.pagesDirs:[$.pagesDir||"pages"];this.pagesDirs=Z.map((Q)=>R5.resolve(X,Q)),this.pagesDir=this.pagesDirs[0];let Y=$.extensions||[".stx"],J=new Set;this.routes=[];for(let Q of this.pagesDirs){let w=E2(Q,Y);for(let q of w){let W=WX(q,Q);if(J.has(W))continue;J.add(W);let{regex:U,params:K}=B7(W),z=$.layouts!==!1?KX(q,Q):[];this.routes.push({pattern:W,regex:U,params:K,filePath:q,isDynamic:K.length>0,layout:z.length>0?z[z.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=R5.resolve(X,$.stateDir||process.env.STX_DIR?.trim()||".stx");z7(this.routes,G),_7(this.routes,G,this.pagesDir)}match(X){let $=X===""?"/":X;for(let Z of this.routes){let Y=$.match(Z.regex);if(Y){let J={};return Z.params.forEach((G,Q)=>{J[G]=Y[Q+1]}),{route:Z,params:J}}}return null}resolve(X,$){let Z=this.routes.find((J)=>J.pattern===X||J.filePath.includes(X));if(!Z)return"#not-found";let Y=Z.pattern;if($)for(let[J,G]of Object.entries($))Y=Y.replace(`:${J}`,encodeURIComponent(G));return Y}addRoute(X){this.routes.push(X),this.routes.sort(($,Z)=>{if(!$.isDynamic&&Z.isDynamic)return-1;if($.isDynamic&&!Z.isDynamic)return 1;return $.pattern.localeCompare(Z.pattern)})}getLayout(X){return X.layout??null}}function D2(X,$){return new T5(X,$)}function N$(X,$){let Z=[`${$}.stx`,"error.stx"];for(let Y of Z){let J=R5.join(X,Y);if(M$.existsSync(J))return J}return null}function k$(X,$){return X.map((Z)=>{let Y=R5.relative($,Z.filePath),J=Z.isDynamic?" (dynamic)":"";return`${Z.pattern} \u2192 ${Y}${J}`})}var y2=D(()=>{V$();A$();T$();qX()});function I$(X){zX=X.replace(/\/$/,"")}function E$(X,$,Z={}){M5[X]={path:$,name:X,params:Z}}function D$(X){for(let[$,Z]of Object.entries(X))if(typeof Z==="string")M5[$]={path:Z,name:$};else M5[$]={...Z,name:$}}function j7(X,$={},Z=!1){let Y=M5[X];if(!Y)return console.warn(`Route [${X}] not defined.`),"#undefined-route";let J={...Y.params,...$},G=Y.path;G=G.replace(/:(\w+)/g,(w,q)=>{let W=J[q];if(W===void 0)return console.warn(`Missing parameter [${q}] for route [${X}].`),`:${q}`;return delete J[q],encodeURIComponent(String(W))});let Q=Object.entries(J);if(Q.length>0){let w=Q.map(([q,W])=>`${encodeURIComponent(q)}=${encodeURIComponent(String(W))}`).join("&");G+=(G.includes("?")?"&":"?")+w}return Z&&zX?`${zX}${G}`:G}function y$(){for(let X of Object.keys(M5))delete M5[X];zX=""}var M5,zX="";var b2=D(()=>{M5={}});import S2 from"fs";import C2 from"path";function P2(X,$={}){return{type:"redirect",path:X,options:{replace:$.replace??!1,external:$.external??!1,redirectCode:$.redirectCode??302}}}function v2(X){return{type:"abort",error:typeof X==="string"?{statusCode:500,message:X}:X}}function x2(X,$={}){return{handler:X,mode:$.mode??"universal"}}function b$(X){let $={};if(!X)return $;let Z=X.split(";");for(let Y of Z){let[J,...G]=Y.split("=");if(J){let Q=J.trim(),w=G.join("=").trim();if(Q)$[Q]=decodeURIComponent(w)}}return $}function _X(X,$,Z={}){let Y=`${encodeURIComponent(X)}=${encodeURIComponent($)}`;if(Z.expires){let J=typeof Z.expires==="number"?new Date(Date.now()+Z.expires*1000):Z.expires;Y+=`; Expires=${J.toUTCString()}`}if(Z.path)Y+=`; Path=${Z.path}`;if(Z.domain)Y+=`; Domain=${Z.domain}`;if(Z.secure)Y+="; Secure";if(Z.httpOnly)Y+="; HttpOnly";if(Z.sameSite)Y+=`; SameSite=${Z.sameSite}`;return Y}function S$(X,$){let Z=X.headers.get("cookie")||"",Y=b$(Z);return{get(J){return Y[J]},set(J,G,Q={}){Y[J]=G,$.append("Set-Cookie",_X(J,G,Q))},delete(J){delete Y[J],$.append("Set-Cookie",_X(J,"",{expires:new Date(0),path:"/"}))},getAll(){return{...Y}}}}function C$(){return{get(X){if(typeof document>"u")return;return b$(document.cookie)[X]},set(X,$,Z={}){if(typeof document>"u")return;document.cookie=_X(X,$,Z)},delete(X){if(typeof document>"u")return;document.cookie=_X(X,"",{expires:new Date(0),path:"/"})},getAll(){if(typeof document>"u")return{};return b$(document.cookie)}}}function P$(){let X=typeof window<"u"&&typeof window.localStorage<"u";return{get($){if(!X)return null;try{return window.localStorage.getItem($)}catch{return null}},set($,Z){if(!X)return;try{window.localStorage.setItem($,Z)}catch{}},remove($){if(!X)return;try{window.localStorage.removeItem($)}catch{}},isAvailable(){return X}}}function BX(X,$){H7.set(X,$)}function v$(X){return H7.get(X)}function f2(X){return H7.has(X)}function g2(){H7.clear()}function h2(){return Array.from(H7.keys())}async function u2(X,$="middleware"){let Z=C2.resolve(X,$);if(!S2.existsSync(Z))return;let Y=S2.readdirSync(Z);for(let J of Y){if(!J.endsWith(".ts")&&!J.endsWith(".js"))continue;if(J.includes(".test.")||J.includes(".spec."))continue;let G=J.replace(/\.(ts|js)$/,""),Q=C2.join(Z,J);try{let q=(await import(Q)).default;if(q&&typeof q.handler==="function")BX(G,q);else if(typeof q==="function")BX(G,{handler:q,mode:"universal"})}catch(w){console.warn(`Failed to load middleware '${G}' from ${Q}:`,w)}}}function tW(X){let $={};if(!X)return $;let Z=new URLSearchParams(X);for(let[Y,J]of Z)$[Y]=J;return $}function d2(X,$,Z,Y=""){return{path:X,params:$,query:tW(Y),fullPath:Y?`${X}?${Y}`:X,meta:Z}}function m2(X,$,Z,Y){let J=Y?.isServer??typeof window>"u",G=!J,Q=new Headers;return{to:X,from:$,isClient:G,isServer:J,cookies:J&&Z?S$(Z,Q):C$(),storage:P$(),state:{},request:Z,responseHeaders:Q}}async function l2(X,$){let Z=Array.isArray(X)?X:[X],Y=$.isServer;for(let J of Z){let G=v$(J);if(!G)return console.error(`Route middleware '${J}' is not registered \u2014 failing the guard closed.`),{passed:!1,abort:{type:"abort",error:{statusCode:500,message:`Route middleware '${J}' is not registered`}},state:$.state,responseHeaders:$.responseHeaders};if(G.mode==="server"&&!Y)continue;try{let Q=await G.handler($);if(Q){if(Q.type==="redirect")return{passed:!1,redirect:Q,state:$.state,responseHeaders:$.responseHeaders};if(Q.type==="abort")return{passed:!1,abort:Q,state:$.state,responseHeaders:$.responseHeaders}}}catch(Q){return console.error(`Error in middleware '${J}':`,Q),{passed:!1,abort:{type:"abort",error:{statusCode:500,message:Q instanceof Error?Q.message:"Middleware error"}},state:$.state,responseHeaders:$.responseHeaders}}}return{passed:!0,state:$.state,responseHeaders:$.responseHeaders}}var H7;var c2=D(()=>{H7=new Map});function L7(X){let Z=X.replace(/\\/g,"/").split("/").filter(Boolean),Y=Z.lastIndexOf("layouts"),J=Y>=0?Z[Y+1]:Z.at(-1);if(!J)return"app";return J.replace(/\.stx$/i,"")||"app"}function p2(X){let $=X.match(/<meta\b[^>]*name=["']stx-layout["'][^>]*content=["']([^"']+)["'][^>]*>/i),Z=X.match(/<meta\b[^>]*name=["']stx-layout-group["'][^>]*content=["']([^"']+)["'][^>]*>/i),Y=X.match(/<!--\s*stx-layout:\s*([^ ]+)\s*-->/i),J=$?.[1]||Y?.[1]||"";return{layout:J,group:Z?.[1]||L7(J)}}function eW(X){try{return new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync(X).replace(/\}(var |let |const |function )/g,"};$1").trim()}catch{return X}}function O7(){if(jX)return jX;return jX=eW(`
242
242
  ;(function(){
243
243
  'use strict';
244
244
  var ROUTER_REV=7;
@@ -1888,7 +1888,7 @@ else {
1888
1888
 
1889
1889
  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();
1890
1890
  })();
1891
- `),jX}var jX;var p2={};t(p2,{setAppUrl:()=>I$,runMiddleware:()=>m2,route:()=>j7,resolveLayoutChain:()=>KX,resetRoutes:()=>y$,registerMiddleware:()=>BX,patternToRegex:()=>B7,navigateTo:()=>C2,matchRoute:()=>UX,loadMiddlewareFromDirectory:()=>h2,isNonPageRoutePattern:()=>U7,isNonPageRoutePath:()=>F$,hasMiddleware:()=>x2,getRouterScript:()=>O7,getMiddlewareNames:()=>g2,getMiddleware:()=>v$,generateRouteTypes:()=>z7,generateRouteManifest:()=>_7,formatRoutes:()=>k$,findErrorPage:()=>N$,filePathToPattern:()=>WX,extractLayoutMetadata:()=>c2,deriveLayoutGroup:()=>L7,defineRoutes:()=>D$,defineRoute:()=>E$,defineMiddleware:()=>v2,createStorageManager:()=>P$,createServerCookieManager:()=>S$,createRouter:()=>E2,createRouteLocation:()=>u2,createMiddlewareContext:()=>d2,createClientCookieManager:()=>C$,clearMiddleware:()=>f2,bracketPathToRegex:()=>k2,abortNavigation:()=>P2,Router:()=>T5,NON_PAGE_DIRS:()=>W7});var n1=D(()=>{D2();A$();y2();l2();T$();V$();qX()});var i2=D(()=>{n1();x$()});async function tW(X,$,Z,Y){let J=$[0]?.replace(/['"]/g,"")||"main",G=O7();if(J!=="main")G=G.replace("container:'main'",`container:'${J}'`);return`<script data-stx-router>${G}</script>`}var n2;var x$=D(()=>{i2();n2={name:"stxRouter",handler:tW,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"}});function r2(X){let $=X.heatmap;if(!$?.enabled)return"";let Z={...eW,...$};return`
1891
+ `),jX}var jX;var i2={};t(i2,{setAppUrl:()=>I$,runMiddleware:()=>l2,route:()=>j7,resolveLayoutChain:()=>KX,resetRoutes:()=>y$,registerMiddleware:()=>BX,patternToRegex:()=>B7,navigateTo:()=>P2,matchRoute:()=>UX,loadMiddlewareFromDirectory:()=>u2,isNonPageRoutePattern:()=>U7,isNonPageRoutePath:()=>F$,hasMiddleware:()=>f2,getRouterScript:()=>O7,getMiddlewareNames:()=>h2,getMiddleware:()=>v$,generateRouteTypes:()=>z7,generateRouteManifest:()=>_7,formatRoutes:()=>k$,findErrorPage:()=>N$,filePathToPattern:()=>WX,extractLayoutMetadata:()=>p2,deriveLayoutGroup:()=>L7,defineRoutes:()=>D$,defineRoute:()=>E$,defineMiddleware:()=>x2,createStorageManager:()=>P$,createServerCookieManager:()=>S$,createRouter:()=>D2,createRouteLocation:()=>d2,createMiddlewareContext:()=>m2,createClientCookieManager:()=>C$,clearMiddleware:()=>g2,bracketPathToRegex:()=>I2,abortNavigation:()=>v2,Router:()=>T5,NON_PAGE_DIRS:()=>W7});var n1=D(()=>{y2();A$();b2();c2();T$();V$();qX()});var n2=D(()=>{n1();x$()});async function XU(X,$,Z,Y){let J=$[0]?.replace(/['"]/g,"")||"main",G=O7();if(J!=="main")G=G.replace("container:'main'",`container:'${J}'`);return`<script data-stx-router>${G}</script>`}var r2;var x$=D(()=>{n2();r2={name:"stxRouter",handler:XU,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"}});function s2(X){let $=X.heatmap;if(!$?.enabled)return"";let Z={...$U,...$};return`
1892
1892
  <!-- stx Heatmap - Privacy-Compliant Tracking -->
1893
1893
  <script>
1894
1894
  (function() {
@@ -2271,8 +2271,8 @@ else {
2271
2271
  };
2272
2272
  })();
2273
2273
  </script>
2274
- `}function s2(X,$){let Z=r2($);if(!Z)return X;let Y=X.lastIndexOf("</body>");if(Y!==-1)return X.slice(0,Y)+Z+X.slice(Y);return X+Z}function XU(X){let $={},Z=X.match(/(\w+)=["']?([^"'\s]+)["']?/g)||[];for(let Y of Z){let[J,G]=Y.split("="),Q=G?.replace(/["']/g,"");switch(J){case"endpoint":$.endpoint=Q;break;case"samplingRate":$.samplingRate=Number.parseInt(Q,10);break;case"batchSize":$.batchSize=Number.parseInt(Q,10);break;case"trackMouse":$.trackMouse=Q==="true";break;case"trackClicks":$.trackClicks=Q==="true";break;case"trackScroll":$.trackScroll=Q==="true";break;case"honorDnt":$.honorDnt=Q==="true";break;case"debugOverlay":$.debugOverlay=Q==="true";break}}return $}var eW,o2;var f$=D(()=>{eW={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};o2={name:"heatmap",hasEndTag:!1,description:"Inject privacy-compliant heatmap tracking script",handler:async(X,$,Z,Y)=>{let J=Z.__stx_config||{};if($.length>0){let G=XU($.join(" "));J.heatmap={...J.heatmap,...G,enabled:!0}}return r2(J)}}});function I1(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function a2(X){let $=X.trim().toLowerCase();return!$.startsWith("javascript:")&&!$.startsWith("vbscript:")&&!$.startsWith("data:text/html")}function HX(X){let $=/^---\r?\n([\s\S]*?)\r?\n---\r?\n/,Z=X.match($);if(!Z)return{data:{},content:X.trim()};let Y=Z[1],J=X.slice(Z[0].length),G={};for(let Q of Y.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(),U=w.slice(q+1).trim();if(typeof U==="string"){if(U.startsWith('"')&&U.endsWith('"')||U.startsWith("'")&&U.endsWith("'"))U=U.slice(1,-1);else if(U.startsWith("[")&&U.endsWith("]"))try{U=JSON.parse(U)}catch{}else if(U==="true")U=!0;else if(U==="false")U=!1;else if(/^-?\d+(?:\.\d+)?$/.test(U))U=Number(U)}G[W]=U}return{data:G,content:J.trim()}}function r1(X,$={}){let{gfm:Z=!0,breaks:Y=!1}=$,J=X,G=[];if(J=J.replace(/```(\w*)\n([\s\S]*?)```/g,(U,K,z)=>{let B=G.length,_=K?` class="language-${I1(K)}"`:"";return G.push(`<pre><code${_}>${I1(z.trim())}</code></pre>`),`\x00CODEBLOCK${B}\x00`}),J=J.replace(/`([^`]*)`/g,(U,K)=>`<code>${I1(K)}</code>`),J=J.replace(/^######\s+(.*)$/gm,"<h6>$1</h6>"),J=J.replace(/^#####\s+(.*)$/gm,"<h5>$1</h5>"),J=J.replace(/^####\s+(.*)$/gm,"<h4>$1</h4>"),J=J.replace(/^###\s+(.*)$/gm,"<h3>$1</h3>"),J=J.replace(/^##\s+(.*)$/gm,"<h2>$1</h2>"),J=J.replace(/^#\s+(.*)$/gm,"<h1>$1</h1>"),J=J.replace(/\*\*\*(.+?)\*\*\*/g,"<strong><em>$1</em></strong>"),J=J.replace(/___(.+?)___/g,"<strong><em>$1</em></strong>"),J=J.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),J=J.replace(/__(.+?)__/g,"<strong>$1</strong>"),J=J.replace(/\*(.+?)\*/g,"<em>$1</em>"),J=J.replace(/(?<![a-zA-Z0-9])_(.+?)_(?![a-zA-Z0-9])/g,"<em>$1</em>"),Z)J=J.replace(/~~(.+?)~~/g,"<del>$1</del>");if(J=J.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,(U,K,z)=>{return`<img src="${a2(z)?I1(z):""}" alt="${I1(K)}" />`}),J=J.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(U,K,z)=>{return`<a href="${a2(z)?I1(z):""}">${K}</a>`}),J=J.replace(/^(?:---|\*\*\*|___)\s*$/gm,"<hr />"),J=J.replace(/^>\s+(.*)$/gm,"<blockquote>$1</blockquote>"),J=J.replace(/<\/blockquote>\n<blockquote>/g,`
2274
+ `}function o2(X,$){let Z=s2($);if(!Z)return X;let Y=X.lastIndexOf("</body>");if(Y!==-1)return X.slice(0,Y)+Z+X.slice(Y);return X+Z}function ZU(X){let $={},Z=X.match(/(\w+)=["']?([^"'\s]+)["']?/g)||[];for(let Y of Z){let[J,G]=Y.split("="),Q=G?.replace(/["']/g,"");switch(J){case"endpoint":$.endpoint=Q;break;case"samplingRate":$.samplingRate=Number.parseInt(Q,10);break;case"batchSize":$.batchSize=Number.parseInt(Q,10);break;case"trackMouse":$.trackMouse=Q==="true";break;case"trackClicks":$.trackClicks=Q==="true";break;case"trackScroll":$.trackScroll=Q==="true";break;case"honorDnt":$.honorDnt=Q==="true";break;case"debugOverlay":$.debugOverlay=Q==="true";break}}return $}var $U,a2;var f$=D(()=>{$U={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};a2={name:"heatmap",hasEndTag:!1,description:"Inject privacy-compliant heatmap tracking script",handler:async(X,$,Z,Y)=>{let J=Z.__stx_config||{};if($.length>0){let G=ZU($.join(" "));J.heatmap={...J.heatmap,...G,enabled:!0}}return s2(J)}}});function I1(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function t2(X){let $=X.trim().toLowerCase();return!$.startsWith("javascript:")&&!$.startsWith("vbscript:")&&!$.startsWith("data:text/html")}function HX(X){let $=/^---\r?\n([\s\S]*?)\r?\n---\r?\n/,Z=X.match($);if(!Z)return{data:{},content:X.trim()};let Y=Z[1],J=X.slice(Z[0].length),G={};for(let Q of Y.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(),U=w.slice(q+1).trim();if(typeof U==="string"){if(U.startsWith('"')&&U.endsWith('"')||U.startsWith("'")&&U.endsWith("'"))U=U.slice(1,-1);else if(U.startsWith("[")&&U.endsWith("]"))try{U=JSON.parse(U)}catch{}else if(U==="true")U=!0;else if(U==="false")U=!1;else if(/^-?\d+(?:\.\d+)?$/.test(U))U=Number(U)}G[W]=U}return{data:G,content:J.trim()}}function r1(X,$={}){let{gfm:Z=!0,breaks:Y=!1}=$,J=X,G=[];if(J=J.replace(/```(\w*)\n([\s\S]*?)```/g,(U,K,z)=>{let B=G.length,_=K?` class="language-${I1(K)}"`:"";return G.push(`<pre><code${_}>${I1(z.trim())}</code></pre>`),`\x00CODEBLOCK${B}\x00`}),J=J.replace(/`([^`]*)`/g,(U,K)=>`<code>${I1(K)}</code>`),J=J.replace(/^######\s+(.*)$/gm,"<h6>$1</h6>"),J=J.replace(/^#####\s+(.*)$/gm,"<h5>$1</h5>"),J=J.replace(/^####\s+(.*)$/gm,"<h4>$1</h4>"),J=J.replace(/^###\s+(.*)$/gm,"<h3>$1</h3>"),J=J.replace(/^##\s+(.*)$/gm,"<h2>$1</h2>"),J=J.replace(/^#\s+(.*)$/gm,"<h1>$1</h1>"),J=J.replace(/\*\*\*(.+?)\*\*\*/g,"<strong><em>$1</em></strong>"),J=J.replace(/___(.+?)___/g,"<strong><em>$1</em></strong>"),J=J.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),J=J.replace(/__(.+?)__/g,"<strong>$1</strong>"),J=J.replace(/\*(.+?)\*/g,"<em>$1</em>"),J=J.replace(/(?<![a-zA-Z0-9])_(.+?)_(?![a-zA-Z0-9])/g,"<em>$1</em>"),Z)J=J.replace(/~~(.+?)~~/g,"<del>$1</del>");if(J=J.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,(U,K,z)=>{return`<img src="${t2(z)?I1(z):""}" alt="${I1(K)}" />`}),J=J.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(U,K,z)=>{return`<a href="${t2(z)?I1(z):""}">${K}</a>`}),J=J.replace(/^(?:---|\*\*\*|___)\s*$/gm,"<hr />"),J=J.replace(/^>\s+(.*)$/gm,"<blockquote>$1</blockquote>"),J=J.replace(/<\/blockquote>\n<blockquote>/g,`
2276
2276
  `),J=J.replace(/^[*\-+]\s+(.*)$/gm,"<li data-ul>$1</li>"),J=J.replace(/(<li data-ul>.*<\/li>\n?)+/g,"<ul>$&</ul>"),J=J.replace(/<\/ul>\n<ul>/g,""),J=J.replace(/^\d+\.\s+(.*)$/gm,"<li data-ol>$1</li>"),J=J.replace(/(<li data-ol>.*<\/li>\n?)+/g,"<ol>$&</ol>"),J=J.replace(/<\/ol>\n<ol>/g,""),J=J.replace(/<li data-ul>/g,"<li>"),J=J.replace(/<li data-ol>/g,"<li>"),Z)J=J.replace(/^\|(.+)\|\s*\n\|[-:\s|]+\|\s*\n((?:\|.+\|\s*\n)*)/gm,(U,K,z)=>{let _=`<tr>${K.split("|").map((H)=>H.trim()).filter(Boolean).map((H)=>`<th>${I1(H)}</th>`).join("")}</tr>`,j=z.trim().split(`
2277
2277
  `).map((H)=>{return`<tr>${H.split("|").map((O)=>O.trim()).filter(Boolean).map((O)=>`<td>${I1(O)}</td>`).join("")}</tr>`}).join(`
2278
2278
  `);return`<table>
@@ -2289,7 +2289,7 @@ ${j}
2289
2289
  `:`
2290
2290
  `)}</p>`);if(J=w.join(`
2291
2291
  `),Y)J=J.replace(/\n/g,`<br />
2292
- `);for(let U=0;U<G.length;U++)J=J.replace(`\x00CODEBLOCK${U}\x00`,G[U]);return J=J.replace(/<p>\s*<\/p>/g,""),J.trim()}function N5(X="const",$=[],Z){let Y=$.length?j1.filter((J)=>!$.includes(J)):j1;if(Z!==void 0)Y=Y.filter((J)=>{let G=J.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(^|[^\\w$])${G}(?![\\w$])`).test(Z)});return`${X} { ${Y.join(", ")} } = window.stx;`}function g$(X){if(!X)return!1;return ZU.some(($)=>new RegExp(`\\b${$}\\s*(?:<[^>]*>)?\\s*\\(`).test(X))}function h$(X){if(!X)return!1;let $=Y6(X);if(YU.some((Z)=>Z.test($)))return!0;return g$($)}function e2(X){if(!X)return!1;return JU.test(Y6(X))||h$(X)}function Z6(){return`{${X6.map((X)=>`'${X}':1`).join(",")}}`}function Y6(X){if(!X)return X;let $=(Z)=>Z.replace(/(<[^>]*>)|([^<]+)/g,(Y,J,G)=>J??" ".repeat(G.length));return X.replace(/(<pre\b[^>]*>)([\s\S]*?)(<\/pre>)/gi,(Z,Y,J,G)=>Y+$(J)+G).replace(/(<code\b[^>]*>)([\s\S]*?)(<\/code>)/gi,(Z,Y,J,G)=>Y+$(J)+G).replace(/<!--[\s\S]*?-->/g,(Z)=>" ".repeat(Z.length))}var j1,t2,$U,ZU,YU,JU,X6,GU,$6;var G1=D(()=>{j1=["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"],t2=["onMount","onDestroy"];$U=["defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","withDefaults"],ZU=j1.filter((X)=>!$U.includes(X));YU=[/@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/],JU=/\s@[a-z][\w.:-]*\s*=/i;X6=["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"],GU=["x-init","x-transition","x-effect","x-on"],$6=[...X6,...GU]});function Q6(X){let $={prevent:!1,stop:!1,once:!1,capture:!1,self:!1,passive:!1,keys:[],systemKeys:[],mouse:null,debounce:null,throttle:null};for(let Z of X){let Y=Z.toLowerCase();if(Y==="prevent")$.prevent=!0;else if(Y==="stop")$.stop=!0;else if(Y==="once")$.once=!0;else if(Y==="capture")$.capture=!0;else if(Y==="self")$.self=!0;else if(Y==="passive")$.passive=!0;else if(QU.has(Y))$.systemKeys.push(Y);else if(Y in w6)$.mouse=Y;else if(Y in G6||/^[a-z]$/.test(Y))$.keys.push(G6[Y]||Y.toUpperCase());else if(Y.startsWith("debounce")){let J=Y.match(/debounce(?:\.(\d+))?/);$.debounce=J?.[1]?Number.parseInt(J[1],10):300}else if(Y.startsWith("throttle")){let J=Y.match(/throttle(?:\.(\d+))?/);$.throttle=J?.[1]?Number.parseInt(J[1],10):300}}return $}function q6(X){let $=[],Z=0,Y=/<([a-z][a-z0-9-]*)\s+([^>]*@[a-z][^>]*)>/gi,J;while((J=Y.exec(X))!==null){let[G,Q,w]=J,q=J.index,W=q+G.length,U=`__stx_evt_${Z++}`,K=[],z=/@([a-z][a-z0-9.]*)\s*=\s*"([^"]*)"/gi,B;while((B=z.exec(w))!==null){let[,j,H]=B,L=j.split("."),O=L[0];if(!J6.has(O))continue;K.push({attribute:`@${j}`,event:O,handler:H,modifiers:Q6(L.slice(1)),elementId:U})}let _=/@([a-z][a-z0-9.]*)\s*=\s*'([^']*)'/gi;while((B=_.exec(w))!==null){let[,j,H]=B,L=j.split("."),O=L[0];if(!J6.has(O))continue;K.push({attribute:`@${j}`,event:O,handler:H,modifiers:Q6(L.slice(1)),elementId:U})}if(K.length>0)$.push({originalTag:G,elementId:U,events:K,startIndex:q,endIndex:W})}return $}function wU(X){let $=[],{modifiers:Z}=X;if(Z.self)$.push("if ($event.target !== $el) return");for(let Y of Z.systemKeys)$.push(`if (!$event.${Y}Key) return`);if(Z.keys.length>0){let Y=Z.keys.map((J)=>`$event.key === '${J}'`).join(" || ");$.push(`if (!(${Y})) return`)}if(Z.mouse!==null){let Y=w6[Z.mouse];$.push(`if ($event.button !== ${Y}) return`)}if(Z.prevent)$.push("$event.preventDefault()");if(Z.stop)$.push("$event.stopPropagation()");return $.join("; ")}function qU(X,$){let Z=X;if($.debounce!==null)Z=`__stx_debounce(() => { ${Z} }, ${$.debounce})`;else if($.throttle!==null)Z=`__stx_throttle(() => { ${Z} }, ${$.throttle})`;return Z}function u$(X){let $=X.trim();if(!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test($))return X;return`if (typeof ${$} === 'function' && !${$}._isSignal) ${$}($event);`}function WU(X){let{modifiers:$}=X,Z=X.elementId.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),Y=wU(X),J=qU(u$(X.handler),$),G=[];if($.once)G.push("once: true");if($.capture)G.push("capture: true");if($.passive)G.push("passive: true");let Q=G.length>0?`, { ${G.join(", ")} }`:"",w=J.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t");if(X.event==="mounted")return`
2292
+ `);for(let U=0;U<G.length;U++)J=J.replace(`\x00CODEBLOCK${U}\x00`,G[U]);return J=J.replace(/<p>\s*<\/p>/g,""),J.trim()}function N5(X="const",$=[],Z){let Y=$.length?j1.filter((J)=>!$.includes(J)):j1;if(Z!==void 0)Y=Y.filter((J)=>{let G=J.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(^|[^\\w$])${G}(?![\\w$])`).test(Z)});return`${X} { ${Y.join(", ")} } = window.stx;`}function g$(X){if(!X)return!1;return JU.some(($)=>new RegExp(`\\b${$}\\s*(?:<[^>]*>)?\\s*\\(`).test(X))}function h$(X){if(!X)return!1;let $=J6(X);if(GU.some((Z)=>Z.test($)))return!0;return g$($)}function X6(X){if(!X)return!1;return QU.test(J6(X))||h$(X)}function Y6(){return`{${$6.map((X)=>`'${X}':1`).join(",")}}`}function J6(X){if(!X)return X;let $=(Z)=>Z.replace(/(<[^>]*>)|([^<]+)/g,(Y,J,G)=>J??" ".repeat(G.length));return X.replace(/(<pre\b[^>]*>)([\s\S]*?)(<\/pre>)/gi,(Z,Y,J,G)=>Y+$(J)+G).replace(/(<code\b[^>]*>)([\s\S]*?)(<\/code>)/gi,(Z,Y,J,G)=>Y+$(J)+G).replace(/<!--[\s\S]*?-->/g,(Z)=>" ".repeat(Z.length))}var j1,e2,YU,JU,GU,QU,$6,wU,Z6;var G1=D(()=>{j1=["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"],e2=["onMount","onDestroy"];YU=["defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","withDefaults"],JU=j1.filter((X)=>!YU.includes(X));GU=[/@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/],QU=/\s@[a-z][\w.:-]*\s*=/i;$6=["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"],wU=["x-init","x-transition","x-effect","x-on"],Z6=[...$6,...wU]});function w6(X){let $={prevent:!1,stop:!1,once:!1,capture:!1,self:!1,passive:!1,keys:[],systemKeys:[],mouse:null,debounce:null,throttle:null};for(let Z of X){let Y=Z.toLowerCase();if(Y==="prevent")$.prevent=!0;else if(Y==="stop")$.stop=!0;else if(Y==="once")$.once=!0;else if(Y==="capture")$.capture=!0;else if(Y==="self")$.self=!0;else if(Y==="passive")$.passive=!0;else if(qU.has(Y))$.systemKeys.push(Y);else if(Y in q6)$.mouse=Y;else if(Y in Q6||/^[a-z]$/.test(Y))$.keys.push(Q6[Y]||Y.toUpperCase());else if(Y.startsWith("debounce")){let J=Y.match(/debounce(?:\.(\d+))?/);$.debounce=J?.[1]?Number.parseInt(J[1],10):300}else if(Y.startsWith("throttle")){let J=Y.match(/throttle(?:\.(\d+))?/);$.throttle=J?.[1]?Number.parseInt(J[1],10):300}}return $}function W6(X){let $=[],Z=0,Y=/<([a-z][a-z0-9-]*)\s+([^>]*@[a-z][^>]*)>/gi,J;while((J=Y.exec(X))!==null){let[G,Q,w]=J,q=J.index,W=q+G.length,U=`__stx_evt_${Z++}`,K=[],z=/@([a-z][a-z0-9.]*)\s*=\s*"([^"]*)"/gi,B;while((B=z.exec(w))!==null){let[,j,H]=B,L=j.split("."),O=L[0];if(!G6.has(O))continue;K.push({attribute:`@${j}`,event:O,handler:H,modifiers:w6(L.slice(1)),elementId:U})}let _=/@([a-z][a-z0-9.]*)\s*=\s*'([^']*)'/gi;while((B=_.exec(w))!==null){let[,j,H]=B,L=j.split("."),O=L[0];if(!G6.has(O))continue;K.push({attribute:`@${j}`,event:O,handler:H,modifiers:w6(L.slice(1)),elementId:U})}if(K.length>0)$.push({originalTag:G,elementId:U,events:K,startIndex:q,endIndex:W})}return $}function WU(X){let $=[],{modifiers:Z}=X;if(Z.self)$.push("if ($event.target !== $el) return");for(let Y of Z.systemKeys)$.push(`if (!$event.${Y}Key) return`);if(Z.keys.length>0){let Y=Z.keys.map((J)=>`$event.key === '${J}'`).join(" || ");$.push(`if (!(${Y})) return`)}if(Z.mouse!==null){let Y=q6[Z.mouse];$.push(`if ($event.button !== ${Y}) return`)}if(Z.prevent)$.push("$event.preventDefault()");if(Z.stop)$.push("$event.stopPropagation()");return $.join("; ")}function UU(X,$){let Z=X;if($.debounce!==null)Z=`__stx_debounce(() => { ${Z} }, ${$.debounce})`;else if($.throttle!==null)Z=`__stx_throttle(() => { ${Z} }, ${$.throttle})`;return Z}function u$(X){let $=X.trim();if(!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test($))return X;return`if (typeof ${$} === 'function' && !${$}._isSignal) ${$}($event);`}function KU(X){let{modifiers:$}=X,Z=X.elementId.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),Y=WU(X),J=UU(u$(X.handler),$),G=[];if($.once)G.push("once: true");if($.capture)G.push("capture: true");if($.passive)G.push("passive: true");let Q=G.length>0?`, { ${G.join(", ")} }`:"",w=J.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t");if(X.event==="mounted")return`
2293
2293
  (function() {
2294
2294
  var $el = document.getElementById('${Z}');
2295
2295
  if (!$el) return;
@@ -2398,16 +2398,16 @@ else {
2398
2398
  }
2399
2399
 
2400
2400
  // Event listeners
2401
- ${X.map(WU).join(`
2401
+ ${X.map(KU).join(`
2402
2402
  `)}
2403
2403
  })();
2404
- </script>`}function UU(X){let $=q6(X);if($.length===0)return{template:X,bindings:[]};let Z=X,Y=[];for(let J=$.length-1;J>=0;J--){let G=$[J],Q=G.originalTag;if(!Q.includes(" id="))Q=Q.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${G.elementId}"`);else{let 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"),U=new RegExp(`\\s*${q}\\s*=\\s*'[^']*'`,"g");Q=Q.replace(W,""),Q=Q.replace(U,"")}Z=Z.slice(0,G.startIndex)+Q+Z.slice(G.endIndex),Y.push(...G.events)}return{template:Z,bindings:Y}}function W6(X,$,Z){if(h$(X))return X;if($.__stx_sfc_mode){if(/x-data\s*=\s*["']/.test(X))return X;let{template:w,bindings:q}=UU(X),W=$.__stx_event_bindings||[];return $.__stx_event_bindings=[...W,...q],w}let Y=q6(X);if(Y.length===0)return X;let J=X;for(let w=Y.length-1;w>=0;w--){let q=Y[w],W=q.originalTag;if(!W.includes(" id="))W=W.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${q.elementId}"`);else{let U=W.match(/id=["']([^"']+)["']/);if(U)for(let K of q.events)K.elementId=U[1]}for(let U of q.events){let K=U.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),z=new RegExp(`\\s*${K}\\s*=\\s*"[^"]*"`,"g"),B=new RegExp(`\\s*${K}\\s*=\\s*'[^']*'`,"g");W=W.replace(z,""),W=W.replace(B,"")}J=J.slice(0,q.startIndex)+W+J.slice(q.endIndex)}let G=d$(Y.flatMap((w)=>w.events)),Q=J.lastIndexOf("</body>");if(Q!==-1)J=J.slice(0,Q)+G+`
2405
- `+J.slice(Q);else J+=G;return J}var J6,G6,QU,w6;var m$=D(()=>{G1();J6=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"]),G6={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"},QU=new Set(["ctrl","alt","shift","meta"]),w6={left:0,middle:1,right:2}});function h0(X){let $=/import\s*\{([^}]+)\}\s*from\s*['"](@stores|stx\/stores)['"]\s*;?\n?/g;X=X.replace($,(Y,J)=>{return`const { ${J.split(",").map((Q)=>Q.trim()).filter(Boolean).join(", ")} } = window.__STX_STORES__
2404
+ </script>`}function zU(X){let $=W6(X);if($.length===0)return{template:X,bindings:[]};let Z=X,Y=[];for(let J=$.length-1;J>=0;J--){let G=$[J],Q=G.originalTag;if(!Q.includes(" id="))Q=Q.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${G.elementId}"`);else{let 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"),U=new RegExp(`\\s*${q}\\s*=\\s*'[^']*'`,"g");Q=Q.replace(W,""),Q=Q.replace(U,"")}Z=Z.slice(0,G.startIndex)+Q+Z.slice(G.endIndex),Y.push(...G.events)}return{template:Z,bindings:Y}}function U6(X,$,Z){if(h$(X))return X;if($.__stx_sfc_mode){if(/x-data\s*=\s*["']/.test(X))return X;let{template:w,bindings:q}=zU(X),W=$.__stx_event_bindings||[];return $.__stx_event_bindings=[...W,...q],w}let Y=W6(X);if(Y.length===0)return X;let J=X;for(let w=Y.length-1;w>=0;w--){let q=Y[w],W=q.originalTag;if(!W.includes(" id="))W=W.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${q.elementId}"`);else{let U=W.match(/id=["']([^"']+)["']/);if(U)for(let K of q.events)K.elementId=U[1]}for(let U of q.events){let K=U.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),z=new RegExp(`\\s*${K}\\s*=\\s*"[^"]*"`,"g"),B=new RegExp(`\\s*${K}\\s*=\\s*'[^']*'`,"g");W=W.replace(z,""),W=W.replace(B,"")}J=J.slice(0,q.startIndex)+W+J.slice(q.endIndex)}let G=d$(Y.flatMap((w)=>w.events)),Q=J.lastIndexOf("</body>");if(Q!==-1)J=J.slice(0,Q)+G+`
2405
+ `+J.slice(Q);else J+=G;return J}var G6,Q6,qU,q6;var m$=D(()=>{G1();G6=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"]),Q6={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"},qU=new Set(["ctrl","alt","shift","meta"]),q6={left:0,middle:1,right:2}});function h0(X){let $=/import\s*\{([^}]+)\}\s*from\s*['"](@stores|stx\/stores)['"]\s*;?\n?/g;X=X.replace($,(Y,J)=>{return`const { ${J.split(",").map((Q)=>Q.trim()).filter(Boolean).join(", ")} } = window.__STX_STORES__
2406
2406
  `});let Z=/import\s*\{([^}]+)\}\s*from\s*['"]@composables['"]\s*;?\n?/g;return X=X.replace(Z,(Y,J)=>{return`const { ${J.split(",").map((Q)=>Q.trim()).filter(Boolean).join(", ")} } = window.__composables
2407
- `}),X}function LX(X){return X.replace(/^import\s+[^'"]*?from\s*['"][^'"]+['"]\s*;?[ \t]*$/gm,"").replace(/^import\s+['"][^'"]+['"]\s*;?[ \t]*$/gm,"")}function KU(){let X=globalThis;return X[U6]??=new Map,X[U6]}function e(X,$){let Z=KU(),Y=`${import.meta.url}\x00${X}`,J=Z.get(Y);if(J)return J;let G=$();return Z.set(Y,G),G.catch(()=>{if(Z.get(Y)===G)Z.delete(Y)}),G}var U6;var F7=D(()=>{U6=Symbol.for("stx.lazy-module-promises")});function k5(X){if(!X||X.indexOf("</")===-1)return X;return X.replace(zU,"<\\/$1")}var zU;var l$=D(()=>{zU=/<\/(script)/gi});import _U from"process";function C0(X="STX_PUBLIC_"){let $={},Z={};for(let[Y,J]of Object.entries(_U.env)){if(!Y.startsWith(X)||J===void 0)continue;$[`import.meta.env.${Y}`]=JSON.stringify(J),Z[Y]=J}return $["import.meta.env"]=JSON.stringify(Z),$}var E1=()=>{};import V7 from"path";function z6(X){K6=X?.trim()||null}function A7(){return process.env[BU]?.trim()||K6||I5}function R7(X=process.cwd(),...$){let Z=A7();return V7.isAbsolute(Z)?V7.join(Z,...$):V7.join(X,Z,...$)}function T7(X){if(!X||V7.isAbsolute(X))return X;let $=X.replace(/\\/g,"/");if($!==I5&&!$.startsWith(`${I5}/`))return X;let Z=$.slice(I5.length+1);return Z?V7.join(A7(),Z):A7()}var I5=".stx",BU="STX_DIR",K6=null;var OX=()=>{};function jU(X){if(!X||typeof X!=="object")return!1;let $=X;return typeof $.message==="string"&&($.name==="BuildMessage"||$.name==="ResolveMessage"||("position"in $))}function HU(X){if(X&&typeof X==="object"&&Array.isArray(X.errors))return X.errors;return[X]}function c$(X,$){let Z=[];for(let Y of HU(X)){if(jU(Y)){let J=Y.position||void 0;Z.push({file:$||J?.file,line:J?.line,column:J?.column,message:Y.message??"",lineText:J?.lineText});continue}Z.push({file:$,message:Y instanceof Error?Y.message:String(Y)})}return Z}function _6(X,$){return c$(X,$).map((Z)=>{let Y=Z.file?`${Z.file}${Z.line?`:${Z.line}${Z.column?`:${Z.column}`:""}`:""}`:"",J=Z.lineText?`
2407
+ `}),X}function LX(X){return X.replace(/^import\s+[^'"]*?from\s*['"][^'"]+['"]\s*;?[ \t]*$/gm,"").replace(/^import\s+['"][^'"]+['"]\s*;?[ \t]*$/gm,"")}function _U(){let X=globalThis;return X[K6]??=new Map,X[K6]}function e(X,$){let Z=_U(),Y=`${import.meta.url}\x00${X}`,J=Z.get(Y);if(J)return J;let G=$();return Z.set(Y,G),G.catch(()=>{if(Z.get(Y)===G)Z.delete(Y)}),G}var K6;var F7=D(()=>{K6=Symbol.for("stx.lazy-module-promises")});function k5(X){if(!X||X.indexOf("</")===-1)return X;return X.replace(BU,"<\\/$1")}var BU;var l$=D(()=>{BU=/<\/(script)/gi});import jU from"process";function C0(X="STX_PUBLIC_"){let $={},Z={};for(let[Y,J]of Object.entries(jU.env)){if(!Y.startsWith(X)||J===void 0)continue;$[`import.meta.env.${Y}`]=JSON.stringify(J),Z[Y]=J}return $["import.meta.env"]=JSON.stringify(Z),$}var E1=()=>{};import V7 from"path";function _6(X){z6=X?.trim()||null}function A7(){return process.env[HU]?.trim()||z6||I5}function R7(X=process.cwd(),...$){let Z=A7();return V7.isAbsolute(Z)?V7.join(Z,...$):V7.join(X,Z,...$)}function T7(X){if(!X||V7.isAbsolute(X))return X;let $=X.replace(/\\/g,"/");if($!==I5&&!$.startsWith(`${I5}/`))return X;let Z=$.slice(I5.length+1);return Z?V7.join(A7(),Z):A7()}var I5=".stx",HU="STX_DIR",z6=null;var OX=()=>{};function LU(X){if(!X||typeof X!=="object")return!1;let $=X;return typeof $.message==="string"&&($.name==="BuildMessage"||$.name==="ResolveMessage"||("position"in $))}function OU(X){if(X&&typeof X==="object"&&Array.isArray(X.errors))return X.errors;return[X]}function c$(X,$){let Z=[];for(let Y of OU(X)){if(LU(Y)){let J=Y.position||void 0;Z.push({file:$||J?.file,line:J?.line,column:J?.column,message:Y.message??"",lineText:J?.lineText});continue}Z.push({file:$,message:Y instanceof Error?Y.message:String(Y)})}return Z}function B6(X,$){return c$(X,$).map((Z)=>{let Y=Z.file?`${Z.file}${Z.line?`:${Z.line}${Z.column?`:${Z.column}`:""}`:""}`:"",J=Z.lineText?`
2408
2408
  ${Z.lineText.trim()}`:"";return Y?`${Y}: ${Z.message}${J}`:`${Z.message}${J}`}).join(`
2409
- `)}var M7={};t(M7,{shouldLogBundlerDiagnostics:()=>L6,setBundlerFallbackMode:()=>VU,resolveBundlerFallback:()=>F6,recordBundleFailure:()=>O6,queueClientBundleBuild:()=>V6,hasUserImports:()=>AU,getBundleFailures:()=>OU,clearBundleFailures:()=>FU,bundleClientScript:()=>TU});import L0 from"path";import P0 from"fs";function L6(X=process.env){return X.STX_DEBUG==="true"||X.STX_DEBUG==="1"}function s1(...X){if(L6())console.log("[stx:bundler]",...X)}function O6(X,$,Z){n$.push({filePath:X||"<inline>",message:$,details:Z})}function OU(){return n$.slice()}function FU(){n$.length=0}function VU(X){i$=X}function F6(){if(i$)return i$;try{return k7.strict?.bundlerFallback??"warn"}catch{return"warn"}}function AU(X){let $=/^[ \t]*import[ \t]+(?!type(?:[ \t]|{))[\s\S]*?\s+from\s+['"]([^'"]+)['"][ \t]*;?/gm,Z;while((Z=$.exec(X))!==null){let J=Z[1];if(!B6.some((Q)=>Q.test(J)))return s1("detected user import:",J),!0}let Y=/^[ \t]*import[ \t]+['"]([^'"]+)['"]/gm;while((Z=Y.exec(X))!==null){let J=Z[1];if(/\.css(?:\?.*)?$/.test(J))continue;if(!B6.some((Q)=>Q.test(J)))return s1("detected side-effect import:",J),!0}return!1}function RU(X,$,Z,Y){let J=(G,Q)=>{let w=G===Z?$:L0.dirname(G),q=L0.resolve(w,Q),W=[q,`${q}.ts`,`${q}.tsx`,`${q}.js`,`${q}.mjs`,`${q}.jsx`,L0.join(q,"index.ts"),L0.join(q,"index.tsx"),L0.join(q,"index.js"),L0.join(q,"index.mjs")];for(let U of W)try{if(P0.existsSync(U)&&P0.statSync(U,{throwIfNoEntry:!1})?.isFile())return U}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(P0.existsSync(Q.path))return{path:Q.path};return{path:Q.path,external:!0}}),G.onResolve({filter:/^\.\.?\//},(Q)=>{let w=J(Q.importer,Q.path);return Y.add(w),{path:w}}),G.onResolve({filter:/^[@~]\//},(Q)=>{let w=L0.resolve(X,Q.path.slice(2)),q=[w,`${w}.ts`,`${w}.tsx`,`${w}.js`,`${w}.mjs`,`${w}.jsx`,L0.join(w,"index.ts"),L0.join(w,"index.tsx"),L0.join(w,"index.js"),L0.join(w,"index.mjs")];for(let W of q)if(P0.existsSync(W)&&P0.statSync(W,{throwIfNoEntry:!1})?.isFile())return s1(`resolved ${Q.path[0]}/ import:`,Q.path,"\u2192",W),Y.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=L0.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)Y.add(Q.path);return{contents:P0.readFileSync(Q.path,"utf8"),loader:q}})}}}function V6(X){let $=globalThis,Y=($[j6]??Promise.resolve()).then(X,X);return $[j6]=Y.then(()=>{return},()=>{return}),Y}async function TU(X,$,Z={}){let Y=Z.projectRoot||process.cwd(),J=Z.minify??!1,G=Z.cacheDir||R7(Y,"bundle-cache"),Q=new Bun.CryptoHasher("md5");Q.update(`${LU}\x00${X}\x00${$}`);let w=Q.digest("hex").slice(0,12),q=L0.join(G,`${w}.js`),W=L0.join(G,`${w}.deps.json`),U=Bun.file(q);if(await U.exists()){let B=Bun.file(W),_=!0;if(await B.exists())try{let j=JSON.parse(await B.text());if(j.metadataVersion!==H6||!Array.isArray(j.files))_=!1;for(let H of Array.isArray(j.files)?j.files:[])try{if(P0.statSync(H.path).mtimeMs!==H.mtimeMs){_=!1;break}}catch{_=!1;break}}catch{_=!1}if(_)return s1("cache hit:",w),await U.text();s1("cache invalidated by dep change:",w)}let K=p$.get(w);if(K)return await K;let z=V6(()=>MU(X,$,{projectRoot:Y,minify:J,cacheDir:G,hash:w,cachePath:q,depsPath:W}));p$.set(w,z);try{return await z}finally{p$.delete(w)}}async function MU(X,$,Z){let{projectRoot:Y,minify:J,cacheDir:G,hash:Q,cachePath:w,depsPath:q}=Z,W=R7(Y,"bundle-tmp"),U=L0.join(W,`${Q}.ts`),K=L0.join(W,"out",Q);P0.mkdirSync(W,{recursive:!0}),P0.mkdirSync(K,{recursive:!0});let z=L0.dirname($),B=[],_=/^(export\s+)?(?:const|let|var)\s+(?:\{([^}]+)\}|(\w+))/gm,j=/^(export\s+)?(?:async\s+)?function\s+(\w+)/gm,H;while((H=_.exec(X))!==null){if(H[1])continue;if(H[2])H[2].split(",").forEach((F)=>{let V=F.split(":")[0].trim();if(V)B.push(V)});else if(H[3])B.push(H[3])}while((H=j.exec(X))!==null){if(H[1])continue;B.push(H[2])}let L=B.length>0?`
2410
- export { ${B.join(", ")} }`:"";await Bun.write(U,X+L),s1("bundling:",Q,"from:",L0.basename($));let O=new Set;try{let F=await Bun.build({entrypoints:[U],outdir:K,target:"browser",format:"esm",minify:J,plugins:[RU(Y,z,U,O)],define:{"process.env.NODE_ENV":J?'"production"':'"development"',...C0()},root:Y});if(!F.success){let I=F.logs.filter((C)=>C.level==="error").map((C)=>C.message).join(", ");return console.warn("[stx:bundler] build failed:",I),X}let V="";for(let I of F.outputs){V=await I.text();break}let A=[];for(let I of V.matchAll(/^\s*export\s*\{([^}]*)\}\s*;?\s*$/gm))for(let C of I[1].split(",")){let S=C.trim().match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(S){A.push([S[2],S[1]]);continue}let b=C.trim();if(/^[A-Za-z_$][\w$]*$/.test(b))A.push([b,b])}let R=V.match(/^\s*import\s+[^;]+;?\s*$/gm)||[];V=V.replace(/^\s*import\s+[^;]+;?\s*$/gm,"").replace(/^\s*export\s*\{[^}]*\}\s*;?\s*$/gm,"").replace(/^\s*export\s+default\s+.*$/gm,"").trim();let T=`__stxBundle_${Q}`,M=A.map(([I,C])=>`${JSON.stringify(I)}: ${C}`).join(", "),k=A.map(([I])=>`var ${I} = undefined;`).join(`
2409
+ `)}var M7={};t(M7,{shouldLogBundlerDiagnostics:()=>O6,setBundlerFallbackMode:()=>RU,resolveBundlerFallback:()=>V6,recordBundleFailure:()=>F6,queueClientBundleBuild:()=>A6,hasUserImports:()=>TU,getBundleFailures:()=>VU,clearBundleFailures:()=>AU,bundleClientScript:()=>NU});import L0 from"path";import P0 from"fs";function O6(X=process.env){return X.STX_DEBUG==="true"||X.STX_DEBUG==="1"}function s1(...X){if(O6())console.log("[stx:bundler]",...X)}function F6(X,$,Z){n$.push({filePath:X||"<inline>",message:$,details:Z})}function VU(){return n$.slice()}function AU(){n$.length=0}function RU(X){i$=X}function V6(){if(i$)return i$;try{return k7.strict?.bundlerFallback??"warn"}catch{return"warn"}}function TU(X){let $=/^[ \t]*import[ \t]+(?!type(?:[ \t]|{))[\s\S]*?\s+from\s+['"]([^'"]+)['"][ \t]*;?/gm,Z;while((Z=$.exec(X))!==null){let J=Z[1];if(!j6.some((Q)=>Q.test(J)))return s1("detected user import:",J),!0}let Y=/^[ \t]*import[ \t]+['"]([^'"]+)['"]/gm;while((Z=Y.exec(X))!==null){let J=Z[1];if(/\.css(?:\?.*)?$/.test(J))continue;if(!j6.some((Q)=>Q.test(J)))return s1("detected side-effect import:",J),!0}return!1}function MU(X,$,Z,Y){let J=(G,Q)=>{let w=G===Z?$:L0.dirname(G),q=L0.resolve(w,Q),W=[q,`${q}.ts`,`${q}.tsx`,`${q}.js`,`${q}.mjs`,`${q}.jsx`,L0.join(q,"index.ts"),L0.join(q,"index.tsx"),L0.join(q,"index.js"),L0.join(q,"index.mjs")];for(let U of W)try{if(P0.existsSync(U)&&P0.statSync(U,{throwIfNoEntry:!1})?.isFile())return U}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(P0.existsSync(Q.path))return{path:Q.path};return{path:Q.path,external:!0}}),G.onResolve({filter:/^\.\.?\//},(Q)=>{let w=J(Q.importer,Q.path);return Y.add(w),{path:w}}),G.onResolve({filter:/^[@~]\//},(Q)=>{let w=L0.resolve(X,Q.path.slice(2)),q=[w,`${w}.ts`,`${w}.tsx`,`${w}.js`,`${w}.mjs`,`${w}.jsx`,L0.join(w,"index.ts"),L0.join(w,"index.tsx"),L0.join(w,"index.js"),L0.join(w,"index.mjs")];for(let W of q)if(P0.existsSync(W)&&P0.statSync(W,{throwIfNoEntry:!1})?.isFile())return s1(`resolved ${Q.path[0]}/ import:`,Q.path,"\u2192",W),Y.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=L0.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)Y.add(Q.path);return{contents:P0.readFileSync(Q.path,"utf8"),loader:q}})}}}function A6(X){let $=globalThis,Y=($[H6]??Promise.resolve()).then(X,X);return $[H6]=Y.then(()=>{return},()=>{return}),Y}async function NU(X,$,Z={}){let Y=Z.projectRoot||process.cwd(),J=Z.minify??!1,G=Z.cacheDir||R7(Y,"bundle-cache"),Q=new Bun.CryptoHasher("md5");Q.update(`${FU}\x00${X}\x00${$}`);let w=Q.digest("hex").slice(0,12),q=L0.join(G,`${w}.js`),W=L0.join(G,`${w}.deps.json`),U=Bun.file(q);if(await U.exists()){let B=Bun.file(W),_=!0;if(await B.exists())try{let j=JSON.parse(await B.text());if(j.metadataVersion!==L6||!Array.isArray(j.files))_=!1;for(let H of Array.isArray(j.files)?j.files:[])try{if(P0.statSync(H.path).mtimeMs!==H.mtimeMs){_=!1;break}}catch{_=!1;break}}catch{_=!1}if(_)return s1("cache hit:",w),await U.text();s1("cache invalidated by dep change:",w)}let K=p$.get(w);if(K)return await K;let z=A6(()=>kU(X,$,{projectRoot:Y,minify:J,cacheDir:G,hash:w,cachePath:q,depsPath:W}));p$.set(w,z);try{return await z}finally{p$.delete(w)}}async function kU(X,$,Z){let{projectRoot:Y,minify:J,cacheDir:G,hash:Q,cachePath:w,depsPath:q}=Z,W=R7(Y,"bundle-tmp"),U=L0.join(W,`${Q}.ts`),K=L0.join(W,"out",Q);P0.mkdirSync(W,{recursive:!0}),P0.mkdirSync(K,{recursive:!0});let z=L0.dirname($),B=[],_=/^(export\s+)?(?:const|let|var)\s+(?:\{([^}]+)\}|(\w+))/gm,j=/^(export\s+)?(?:async\s+)?function\s+(\w+)/gm,H;while((H=_.exec(X))!==null){if(H[1])continue;if(H[2])H[2].split(",").forEach((F)=>{let V=F.split(":")[0].trim();if(V)B.push(V)});else if(H[3])B.push(H[3])}while((H=j.exec(X))!==null){if(H[1])continue;B.push(H[2])}let L=B.length>0?`
2410
+ export { ${B.join(", ")} }`:"";await Bun.write(U,X+L),s1("bundling:",Q,"from:",L0.basename($));let O=new Set;try{let F=await Bun.build({entrypoints:[U],outdir:K,target:"browser",format:"esm",minify:J,plugins:[MU(Y,z,U,O)],define:{"process.env.NODE_ENV":J?'"production"':'"development"',...C0()},root:Y});if(!F.success){let I=F.logs.filter((C)=>C.level==="error").map((C)=>C.message).join(", ");return console.warn("[stx:bundler] build failed:",I),X}let V="";for(let I of F.outputs){V=await I.text();break}let A=[];for(let I of V.matchAll(/^\s*export\s*\{([^}]*)\}\s*;?\s*$/gm))for(let C of I[1].split(",")){let S=C.trim().match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(S){A.push([S[2],S[1]]);continue}let b=C.trim();if(/^[A-Za-z_$][\w$]*$/.test(b))A.push([b,b])}let R=V.match(/^\s*import\s+[^;]+;?\s*$/gm)||[];V=V.replace(/^\s*import\s+[^;]+;?\s*$/gm,"").replace(/^\s*export\s*\{[^}]*\}\s*;?\s*$/gm,"").replace(/^\s*export\s+default\s+.*$/gm,"").trim();let T=`__stxBundle_${Q}`,M=A.map(([I,C])=>`${JSON.stringify(I)}: ${C}`).join(", "),k=A.map(([I])=>`var ${I} = undefined;`).join(`
2411
2411
  `),N=A.map(([I])=>`${I} = ${T}[${JSON.stringify(I)}];`).join(`
2412
2412
  `);if(V=`${R.join(`
2413
2413
  `)}
@@ -2416,26 +2416,26 @@ var ${T} = (function() {
2416
2416
  ${V}
2417
2417
  return { ${M} };
2418
2418
  })();
2419
- ${N}`.trim(),s1("bundled:",Q,"output:",V.length,"bytes"),B.length>0&&A.length===0)return console.warn(`[stx:bundler] dropped every binding for ${L0.basename($)} (${Q}); serving the unbundled source and not caching this result`),X;P0.mkdirSync(G,{recursive:!0}),await Bun.write(w,V);let y=Array.from(O).map((I)=>{try{return{path:I,mtimeMs:P0.statSync(I).mtimeMs}}catch{return null}}).filter((I)=>I!==null);return await Bun.write(q,JSON.stringify({metadataVersion:H6,files:y})),V}catch(F){let V=c$(F,$||void 0),A=_6(F,$||void 0);if(console.warn(`[stx:bundler] error: ${A}`),O6($||"",A,V),F6()==="error")throw F;return X}finally{try{P0.rmSync(U,{force:!0}),P0.rmSync(K,{recursive:!0,force:!0})}catch{}}}var LU=5,H6=1,n$,i$,B6,p$,j6;var N7=D(()=>{E1();OX();H1();n$=[];B6=[/^stx$/,/^@stacksjs\/stx$/,/^@stores$/,/^stx\/stores$/,/^@composables$/];p$=new Map,j6=Symbol.for("stx.client-bundle-build-queue")});var D6={};t(D6,{stripCommentsAndLiterals:()=>AX,renderVendorStyleTags:()=>VX,processClientScript:()=>t1,injectBrowserCoreAutoImports:()=>E5,generateServerDataBridge:()=>RX,generateBrowserAutoImportDestructuring:()=>vU,generateAutoImportDestructuring:()=>r$,extractBridgeData:()=>a1,extractAndStripCssImports:()=>FX,STX_AUTO_IMPORTS:()=>M6});import o1 from"path";import I7 from"fs";function kU(X){if(X.startsWith(".")||X.startsWith("/"))return null;if(X.startsWith("@")){let Z=X.match(/^(@[^/]+\/[^/]+)(\/.*)?$/);if(!Z)return null;return{pkg:Z[1],subpath:Z[2]||""}}let $=X.match(/^([^/]+)(\/.*)?$/);if(!$)return null;return{pkg:$[1],subpath:$[2]||""}}function IU(X,$){let Z=$;while(!0){let Y=o1.join(Z,"node_modules",X,"package.json");if(I7.existsSync(Y))return o1.dirname(Y);let J=o1.dirname(Z);if(J===Z)return null;Z=J}}function EU(X,$){if(!X||typeof X!=="object")return null;let Z=(J)=>{if(typeof J==="string")return J;if(J&&typeof J==="object"){if(typeof J.import==="string")return J.import;if(typeof J.default==="string")return J.default;if(typeof J.import==="object")return Z(J.import);if(typeof J.default==="object")return Z(J.default)}return null};if(Object.prototype.hasOwnProperty.call(X,$))return Z(X[$]);let Y=null;for(let J of Object.keys(X)){let G=J.indexOf("*");if(G===-1)continue;let Q=J.slice(0,G),w=J.slice(G+1);if(!$.startsWith(Q)||!$.endsWith(w))continue;if($.length<Q.length+w.length)continue;if(!Y||Q.length>Y.prefix.length)Y={pattern:J,prefix:Q,suffix:w}}if(Y){let J=$.slice(Y.prefix.length,$.length-Y.suffix.length),G=Z(X[Y.pattern]);if(G)return G.replace("*",J)}return null}function DU(X,$){let Z=kU(X);if(!Z||!Z.subpath)return null;let Y=IU(Z.pkg,$);if(!Y)return null;let J;try{J=JSON.parse(I7.readFileSync(o1.join(Y,"package.json"),"utf8"))}catch{return null}let G=`.${Z.subpath}`,Q=EU(J.exports,G);if(!Q)return null;let w=o1.resolve(Y,Q);return I7.existsSync(w)?w:null}function FX(X,$){let Z=$.filePath?o1.dirname($.filePath):$.projectRoot||process.cwd(),Y=$.projectRoot||process.cwd(),J=new Set,G=[];return{code:X.replace(NU,(w,q)=>{let W;try{if(q.startsWith("./")||q.startsWith("../")||q.startsWith("/")){if(W=q.startsWith("/")?q:o1.resolve(Z,q),!I7.existsSync(W))throw Error(`file not found: ${W}`)}else{let U=null;try{U=Bun.resolveSync(q,Y)}catch{U=DU(q,Y)}if(!U)throw Error(`could not resolve ${q} (Bun.resolveSync + exports fallback both failed)`);W=U}}catch(U){return console.warn(`[stx:vendor-css] could not resolve ${JSON.stringify(q)} (from ${$.filePath||"<unknown>"}): ${U?.message||U}`),""}if(J.has(W))return"";J.add(W);try{let U=I7.readFileSync(W,"utf8");G.push({source:q,resolvedPath:W,contents:U})}catch(U){console.warn(`[stx:vendor-css] could not read ${W}: ${U?.message||U}`)}return""}),styles:G}}function yU(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function VX(X){if(X.length===0)return"";return`${X.map(($)=>{return`<style data-stx-vendor="${yU($.source)}" data-stx-layer="vendor">
2419
+ ${N}`.trim(),s1("bundled:",Q,"output:",V.length,"bytes"),B.length>0&&A.length===0)return console.warn(`[stx:bundler] dropped every binding for ${L0.basename($)} (${Q}); serving the unbundled source and not caching this result`),X;P0.mkdirSync(G,{recursive:!0}),await Bun.write(w,V);let y=Array.from(O).map((I)=>{try{return{path:I,mtimeMs:P0.statSync(I).mtimeMs}}catch{return null}}).filter((I)=>I!==null);return await Bun.write(q,JSON.stringify({metadataVersion:L6,files:y})),V}catch(F){let V=c$(F,$||void 0),A=B6(F,$||void 0);if(console.warn(`[stx:bundler] error: ${A}`),F6($||"",A,V),V6()==="error")throw F;return X}finally{try{P0.rmSync(U,{force:!0}),P0.rmSync(K,{recursive:!0,force:!0})}catch{}}}var FU=5,L6=1,n$,i$,j6,p$,H6;var N7=D(()=>{E1();OX();H1();n$=[];j6=[/^stx$/,/^@stacksjs\/stx$/,/^@stores$/,/^stx\/stores$/,/^@composables$/];p$=new Map,H6=Symbol.for("stx.client-bundle-build-queue")});var y6={};t(y6,{stripCommentsAndLiterals:()=>AX,renderVendorStyleTags:()=>VX,processClientScript:()=>t1,injectBrowserCoreAutoImports:()=>E5,generateServerDataBridge:()=>RX,generateBrowserAutoImportDestructuring:()=>fU,generateAutoImportDestructuring:()=>r$,extractBridgeData:()=>a1,extractAndStripCssImports:()=>FX,STX_AUTO_IMPORTS:()=>N6});import o1 from"path";import I7 from"fs";function EU(X){if(X.startsWith(".")||X.startsWith("/"))return null;if(X.startsWith("@")){let Z=X.match(/^(@[^/]+\/[^/]+)(\/.*)?$/);if(!Z)return null;return{pkg:Z[1],subpath:Z[2]||""}}let $=X.match(/^([^/]+)(\/.*)?$/);if(!$)return null;return{pkg:$[1],subpath:$[2]||""}}function DU(X,$){let Z=$;while(!0){let Y=o1.join(Z,"node_modules",X,"package.json");if(I7.existsSync(Y))return o1.dirname(Y);let J=o1.dirname(Z);if(J===Z)return null;Z=J}}function yU(X,$){if(!X||typeof X!=="object")return null;let Z=(J)=>{if(typeof J==="string")return J;if(J&&typeof J==="object"){if(typeof J.import==="string")return J.import;if(typeof J.default==="string")return J.default;if(typeof J.import==="object")return Z(J.import);if(typeof J.default==="object")return Z(J.default)}return null};if(Object.prototype.hasOwnProperty.call(X,$))return Z(X[$]);let Y=null;for(let J of Object.keys(X)){let G=J.indexOf("*");if(G===-1)continue;let Q=J.slice(0,G),w=J.slice(G+1);if(!$.startsWith(Q)||!$.endsWith(w))continue;if($.length<Q.length+w.length)continue;if(!Y||Q.length>Y.prefix.length)Y={pattern:J,prefix:Q,suffix:w}}if(Y){let J=$.slice(Y.prefix.length,$.length-Y.suffix.length),G=Z(X[Y.pattern]);if(G)return G.replace("*",J)}return null}function bU(X,$){let Z=EU(X);if(!Z||!Z.subpath)return null;let Y=DU(Z.pkg,$);if(!Y)return null;let J;try{J=JSON.parse(I7.readFileSync(o1.join(Y,"package.json"),"utf8"))}catch{return null}let G=`.${Z.subpath}`,Q=yU(J.exports,G);if(!Q)return null;let w=o1.resolve(Y,Q);return I7.existsSync(w)?w:null}function FX(X,$){let Z=$.filePath?o1.dirname($.filePath):$.projectRoot||process.cwd(),Y=$.projectRoot||process.cwd(),J=new Set,G=[];return{code:X.replace(IU,(w,q)=>{let W;try{if(q.startsWith("./")||q.startsWith("../")||q.startsWith("/")){if(W=q.startsWith("/")?q:o1.resolve(Z,q),!I7.existsSync(W))throw Error(`file not found: ${W}`)}else{let U=null;try{U=Bun.resolveSync(q,Y)}catch{U=bU(q,Y)}if(!U)throw Error(`could not resolve ${q} (Bun.resolveSync + exports fallback both failed)`);W=U}}catch(U){return console.warn(`[stx:vendor-css] could not resolve ${JSON.stringify(q)} (from ${$.filePath||"<unknown>"}): ${U?.message||U}`),""}if(J.has(W))return"";J.add(W);try{let U=I7.readFileSync(W,"utf8");G.push({source:q,resolvedPath:W,contents:U})}catch(U){console.warn(`[stx:vendor-css] could not read ${W}: ${U?.message||U}`)}return""}),styles:G}}function SU(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function VX(X){if(X.length===0)return"";return`${X.map(($)=>{return`<style data-stx-vendor="${SU($.source)}" data-stx-layer="vendor">
2420
2420
  @layer vendor {
2421
2421
  ${$.contents}
2422
2422
  }
2423
2423
  </style>`}).join(`
2424
2424
  `)}
2425
- `}function E5(X){let $=AX(X),Z=new Set;for(let w of X.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 Y=new Set;for(let w of $.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))Y.add(w[1]);for(let w of $.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let q of w[1].split(",")){let W=q.trim().split(/[:=]/).pop()?.trim();if(W)Y.add(W)}let J=N6.filter((w)=>{if(Z.has(w)||Y.has(w))return!1;return new RegExp(`\\b${w}\\s*\\(`).test($)}),G=I6($).filter((w)=>!Z.has(w)&&!Y.has(w));if(J.length===0&&G.length===0)return{code:X,imports:J,models:G};return{code:`${[J.length>0?`import { ${J.join(", ")} } from '@stacksjs/browser'`:"",G.length>0?"import '@stacksjs/browser'":"",G.length>0?`const { ${G.join(", ")} } = window.StacksBrowser || {}`:""].filter(Boolean).join(`
2425
+ `}function E5(X){let $=AX(X),Z=new Set;for(let w of X.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 Y=new Set;for(let w of $.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))Y.add(w[1]);for(let w of $.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let q of w[1].split(",")){let W=q.trim().split(/[:=]/).pop()?.trim();if(W)Y.add(W)}let J=k6.filter((w)=>{if(Z.has(w)||Y.has(w))return!1;return new RegExp(`\\b${w}\\s*\\(`).test($)}),G=E6($).filter((w)=>!Z.has(w)&&!Y.has(w));if(J.length===0&&G.length===0)return{code:X,imports:J,models:G};return{code:`${[J.length>0?`import { ${J.join(", ")} } from '@stacksjs/browser'`:"",G.length>0?"import '@stacksjs/browser'":"",G.length>0?`const { ${G.join(", ")} } = window.StacksBrowser || {}`:""].filter(Boolean).join(`
2426
2426
  `)}
2427
- ${X}`,imports:J,models:G}}function SU(X,$){let Z=X[$],Y=$+1;while(Y<X.length){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]===Z)return Y+1;Y++}return X.length}function CU(X,$){let Z=$+1;while(Z<X.length){if(X[Z]==="\\"){Z+=2;continue}if(X[Z]==="`")return Z+1;if(X[Z]==="$"&&X[Z+1]==="{"){if(Z=k6(X,Z+2),Z<X.length)Z++;continue}Z++}return X.length}function k6(X,$){let Z=1,Y=$;while(Y<X.length){let J=X[Y];if(J==="\\"){Y+=2;continue}if(J==='"'||J==="'"){Y=SU(X,Y);continue}if(J==="`"){Y=CU(X,Y);continue}if(J==="/"&&X[Y+1]==="/"){while(Y<X.length&&X[Y]!==`
2427
+ ${X}`,imports:J,models:G}}function PU(X,$){let Z=X[$],Y=$+1;while(Y<X.length){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]===Z)return Y+1;Y++}return X.length}function vU(X,$){let Z=$+1;while(Z<X.length){if(X[Z]==="\\"){Z+=2;continue}if(X[Z]==="`")return Z+1;if(X[Z]==="$"&&X[Z+1]==="{"){if(Z=I6(X,Z+2),Z<X.length)Z++;continue}Z++}return X.length}function I6(X,$){let Z=1,Y=$;while(Y<X.length){let J=X[Y];if(J==="\\"){Y+=2;continue}if(J==='"'||J==="'"){Y=PU(X,Y);continue}if(J==="`"){Y=vU(X,Y);continue}if(J==="/"&&X[Y+1]==="/"){while(Y<X.length&&X[Y]!==`
2428
2428
  `)Y++;continue}if(J==="/"&&X[Y+1]==="*"){Y+=2;while(Y<X.length&&X.slice(Y,Y+2)!=="*/")Y++;Y+=2;continue}if(J==="{"){Z++,Y++;continue}if(J==="}"){if(Z--,Z===0)return Y;Y++;continue}Y++}return X.length}function AX(X){let $="",Z=0;while(Z<X.length){let Y=X.slice(Z,Z+2);if(Y==="//"){while(Z<X.length&&X[Z]!==`
2429
2429
  `)$+=" ",Z++;continue}if(Y==="/*"){while(Z<X.length&&X.slice(Z,Z+2)!=="*/")$+=X[Z]===`
2430
2430
  `?`
2431
2431
  `:" ",Z++;$+=" ",Z+=2;continue}let J=X[Z];if(J==='"'||J==="'"){let G=J;$+=" ",Z++;while(Z<X.length&&X[Z]!==G){if(X[Z]==="\\"){$+=" ",Z+=2;continue}$+=X[Z]===`
2432
2432
  `?`
2433
- `:" ",Z++}$+=" ",Z++;continue}if(J==="`"){$+=" ",Z++;while(Z<X.length&&X[Z]!=="`"){if(X[Z]==="\\"){$+=" ",Z+=2;continue}if(X[Z]==="$"&&X[Z+1]==="{"){let G=Z+2,Q=k6(X,G);if($+=" ",$+=AX(X.slice(G,Q)),Q<X.length)$+=" ";Z=Q+1;continue}$+=X[Z]===`
2433
+ `:" ",Z++}$+=" ",Z++;continue}if(J==="`"){$+=" ",Z++;while(Z<X.length&&X[Z]!=="`"){if(X[Z]==="\\"){$+=" ",Z+=2;continue}if(X[Z]==="$"&&X[Z+1]==="{"){let G=Z+2,Q=I6(X,G);if($+=" ",$+=AX(X.slice(G,Q)),Q<X.length)$+=" ";Z=Q+1;continue}$+=X[Z]===`
2434
2434
  `?`
2435
- `:" ",Z++}$+=" ",Z++;continue}$+=J,Z++}return $}function I6(X){let $=new Set,Z=/\b([A-Z][a-zA-Z0-9]*)\s*\.\s*(all|find|first|get|where|orderBy|orderByDesc|limit|select|pluck|create|update|delete)\s*\(/g,Y;while((Y=Z.exec(X))!==null)if(!bU.has(Y[1]))$.add(Y[1]);return Array.from($)}function PU(X){let $=new Set;for(let Z of X.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))$.add(Z[1]);for(let Z of X.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let Y of Z[1].split(",")){let J=Y.trim().split(/[:=]/).pop()?.trim();if(J&&/^[A-Za-z_$][\w$]*$/.test(J))$.add(J)}return $}function E6(X){let $=new Set,Z=new Set,Y=X;Y=Y.replace(/^\s*import\s+type\s+\{[^}]*\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm,"// [type import stripped]");let J=new Set,G=/^\s*import\s+(?:type\s+)?{\s*([^}]+)\s*}\s+from\s+['"](@stacksjs\/browser|@stacksjs\/stx|stx)['"]\s*;?\s*$/gm,Q;while((Q=G.exec(X))!==null){let W=Q[1],U=Q[2];if(Q[0].includes("import type"))continue;let K=[];for(let B of W.split(",")){let _=B.trim();if(!_||_.startsWith("type "))continue;let j=_.match(/^([A-Za-z_$][\w$]*)(?:\s+as\s+([A-Za-z_$][\w$]*))?$/);if(!j)continue;let H=j[1],L=j[2]||H;if(J.add(H),J.add(L),U==="stx"||U==="@stacksjs/stx")$.add(H);else Z.add(H);if(L!==H)K.push(`${L} = ${H}`)}let z=K.length>0?`var ${K.join(", ")}; /* [auto-import processed] */`:"// [auto-import processed]";Y=Y.replace(Q[0],z)}let w=PU(Y);for(let W of M6){if(J.has(W)||w.has(W))continue;if(new RegExp(`\\b${W}\\s*(?:<[^>]*>)?\\s*\\(`,"g").test(Y))$.add(W)}for(let W of N6){if(J.has(W)||w.has(W))continue;if(new RegExp(`\\b${W}\\b`,"g").test(Y))Z.add(W)}let q=I6(Y);for(let W of q)if(!J.has(W)&&!w.has(W))Z.add(W);return{code:Y,stxImports:Array.from($),browserImports:Array.from(Z)}}function r$(X,$){let Z=[];if(X.length>0)Z.push(` var { ${X.join(", ")} } = window.stx || window;`);if($.length>0)Z.push(` var { ${$.join(", ")} } = window.StacksBrowser || {};`);if(Z.length>0)return` // STX: auto-imported from stx and @stacksjs/browser
2435
+ `:" ",Z++}$+=" ",Z++;continue}$+=J,Z++}return $}function E6(X){let $=new Set,Z=/\b([A-Z][a-zA-Z0-9]*)\s*\.\s*(all|find|first|get|where|orderBy|orderByDesc|limit|select|pluck|create|update|delete)\s*\(/g,Y;while((Y=Z.exec(X))!==null)if(!CU.has(Y[1]))$.add(Y[1]);return Array.from($)}function xU(X){let $=new Set;for(let Z of X.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))$.add(Z[1]);for(let Z of X.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let Y of Z[1].split(",")){let J=Y.trim().split(/[:=]/).pop()?.trim();if(J&&/^[A-Za-z_$][\w$]*$/.test(J))$.add(J)}return $}function D6(X){let $=new Set,Z=new Set,Y=X;Y=Y.replace(/^\s*import\s+type\s+\{[^}]*\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm,"// [type import stripped]");let J=new Set,G=/^\s*import\s+(?:type\s+)?{\s*([^}]+)\s*}\s+from\s+['"](@stacksjs\/browser|@stacksjs\/stx|stx)['"]\s*;?\s*$/gm,Q;while((Q=G.exec(X))!==null){let W=Q[1],U=Q[2];if(Q[0].includes("import type"))continue;let K=[];for(let B of W.split(",")){let _=B.trim();if(!_||_.startsWith("type "))continue;let j=_.match(/^([A-Za-z_$][\w$]*)(?:\s+as\s+([A-Za-z_$][\w$]*))?$/);if(!j)continue;let H=j[1],L=j[2]||H;if(J.add(H),J.add(L),U==="stx"||U==="@stacksjs/stx")$.add(H);else Z.add(H);if(L!==H)K.push(`${L} = ${H}`)}let z=K.length>0?`var ${K.join(", ")}; /* [auto-import processed] */`:"// [auto-import processed]";Y=Y.replace(Q[0],z)}let w=xU(Y);for(let W of N6){if(J.has(W)||w.has(W))continue;if(new RegExp(`\\b${W}\\s*(?:<[^>]*>)?\\s*\\(`,"g").test(Y))$.add(W)}for(let W of k6){if(J.has(W)||w.has(W))continue;if(new RegExp(`\\b${W}\\b`,"g").test(Y))Z.add(W)}let q=E6(Y);for(let W of q)if(!J.has(W)&&!w.has(W))Z.add(W);return{code:Y,stxImports:Array.from($),browserImports:Array.from(Z)}}function r$(X,$){let Z=[];if(X.length>0)Z.push(` var { ${X.join(", ")} } = window.stx || window;`);if($.length>0)Z.push(` var { ${$.join(", ")} } = window.StacksBrowser || {};`);if(Z.length>0)return` // STX: auto-imported from stx and @stacksjs/browser
2436
2436
  ${Z.join(`
2437
2437
  `)}
2438
- ${xU(X,$)}`;return""}function vU(X,$=[]){let{browserImports:Z}=E6(X),Y=new Set($);return r$([],Z.filter((J)=>!Y.has(J)))}function xU(X,$){let Z=[...X.map((Y)=>`['${Y}', typeof ${Y}, 'stx']`),...$.map((Y)=>`['${Y}', typeof ${Y}, '@stacksjs/browser']`)];if(Z.length===0)return"";return` // STX: report auto-imports the client runtime did not provide
2438
+ ${gU(X,$)}`;return""}function fU(X,$=[]){let{browserImports:Z}=D6(X),Y=new Set($);return r$([],Z.filter((J)=>!Y.has(J)))}function gU(X,$){let Z=[...X.map((Y)=>`['${Y}', typeof ${Y}, 'stx']`),...$.map((Y)=>`['${Y}', typeof ${Y}, '@stacksjs/browser']`)];if(Z.length===0)return"";return` // STX: report auto-imports the client runtime did not provide
2439
2439
  [${Z.join(", ")}].forEach(function (e) {
2440
2440
  if (e[1] !== 'undefined') return;
2441
2441
  console.error(
@@ -2444,10 +2444,10 @@ ${xU(X,$)}`;return""}function vU(X,$=[]){let{browserImports:Z}=E6(X),Y=new Set($
2444
2444
  + 'or it should be imported from a relative path so the bundler includes it.'
2445
2445
  );
2446
2446
  });
2447
- `}function a1(X){let $=X.__stxClientPayload;if($&&typeof $==="object"){let Y={};for(let J in $){let G=$[J];if(typeof G==="function")continue;Y[J]=G}return Y.__stxDeclaredPayload=!0,Y}let Z={};for(let Y in X){if(Y.startsWith("__")||Y.startsWith("$"))continue;let J=X[Y];if(typeof J==="function")continue;Z[Y]=J}return Z}function A6(X,$){let Z=new Set;for(let Y of X.split(",")){let J=Y.trim().replace(/^\.\.\./,"").trim();if(!J)continue;if($){let G=J.lastIndexOf(":");if(G!==-1)J=J.slice(G+1).trim()}if(J=J.split("=")[0].trim(),/^[A-Za-z_$][\w$]*$/.test(J))Z.add(J)}return Z}function fU(X,$){if(new RegExp(`(?:const|let|var|function|class)\\s+${$}\\b`).test(X))return!0;for(let Z of X.matchAll(/(?:const|let|var)\s*\{([^}]*)\}/g))if(A6(Z[1],!0).has($))return!0;for(let Z of X.matchAll(/(?:const|let|var)\s*\[([^\]]*)\]/g))if(A6(Z[1],!1).has($))return!0;return!1}function gU(X,$){return new RegExp(`(?<![.#\\w$])${$}(?![\\w$])`).test(X)}function uU(X,$){let Z=hU.test(X),Y=$.length>32768;if(!Z&&!Y)return;if(R6.has(X))return;if(R6.add(X),Z)console.warn(`[stx] server\u2192client bridge is publishing "${X}" into the page body. If it holds a credential, rename it with a "__" prefix (never bridged) and pass only what the template needs. See stacksjs/stx#1831.`);if(Y)console.warn(`[stx] server\u2192client bridge is publishing ${($.length/1024).toFixed(1)}KB under "${X}". Every byte ships in the HTML on each request; prefix the binding with "__" and project just the fields the client reads.`)}function RX(X,$){if(!$)return"";let Z=AX(X),Y=$.__stxDeclaredPayload===!0,J=[];for(let[G,Q]of Object.entries($)){if(!/^[A-Za-z_$][\w$]*$/.test(G))continue;if(G.startsWith("__")||G.startsWith("$"))continue;if(!Y&&!gU(Z,G))continue;if(fU(X,G))continue;let w;try{w=JSON.stringify(Q)}catch{continue}if(w===void 0)continue;uU(G,w),J.push(` var ${G} = ${w.replace(/</g,"\\u003c")};`)}if(J.length===0)return"";return` // stx: server -> client data bridge (seeded from server scope)
2447
+ `}function a1(X){let $=X.__stxClientPayload;if($&&typeof $==="object"){let Y={};for(let J in $){let G=$[J];if(typeof G==="function")continue;Y[J]=G}return Y.__stxDeclaredPayload=!0,Y}let Z={};for(let Y in X){if(Y.startsWith("__")||Y.startsWith("$"))continue;let J=X[Y];if(typeof J==="function")continue;Z[Y]=J}return Z}function R6(X,$){let Z=new Set;for(let Y of X.split(",")){let J=Y.trim().replace(/^\.\.\./,"").trim();if(!J)continue;if($){let G=J.lastIndexOf(":");if(G!==-1)J=J.slice(G+1).trim()}if(J=J.split("=")[0].trim(),/^[A-Za-z_$][\w$]*$/.test(J))Z.add(J)}return Z}function hU(X,$){if(new RegExp(`(?:const|let|var|function|class)\\s+${$}\\b`).test(X))return!0;for(let Z of X.matchAll(/(?:const|let|var)\s*\{([^}]*)\}/g))if(R6(Z[1],!0).has($))return!0;for(let Z of X.matchAll(/(?:const|let|var)\s*\[([^\]]*)\]/g))if(R6(Z[1],!1).has($))return!0;return!1}function uU(X,$){return new RegExp(`(?<![.#\\w$])${$}(?![\\w$])`).test(X)}function mU(X,$){let Z=dU.test(X),Y=$.length>32768;if(!Z&&!Y)return;if(T6.has(X))return;if(T6.add(X),Z)console.warn(`[stx] server\u2192client bridge is publishing "${X}" into the page body. If it holds a credential, rename it with a "__" prefix (never bridged) and pass only what the template needs. See stacksjs/stx#1831.`);if(Y)console.warn(`[stx] server\u2192client bridge is publishing ${($.length/1024).toFixed(1)}KB under "${X}". Every byte ships in the HTML on each request; prefix the binding with "__" and project just the fields the client reads.`)}function RX(X,$){if(!$)return"";let Z=AX(X),Y=$.__stxDeclaredPayload===!0,J=[];for(let[G,Q]of Object.entries($)){if(!/^[A-Za-z_$][\w$]*$/.test(G))continue;if(G.startsWith("__")||G.startsWith("$"))continue;if(!Y&&!uU(Z,G))continue;if(hU(X,G))continue;let w;try{w=JSON.stringify(Q)}catch{continue}if(w===void 0)continue;mU(G,w),J.push(` var ${G} = ${w.replace(/</g,"\\u003c")};`)}if(J.length===0)return"";return` // stx: server -> client data bridge (seeded from server scope)
2448
2448
  ${J.join(`
2449
2449
  `)}
2450
- `}function mU(X){let $=[];if(X.self)$.push("if ($event.target !== $el) return");for(let Z of X.systemKeys)$.push(`if (!$event.${Z}Key) return`);if(X.keys.length>0){let Z=X.keys.map((Y)=>`$event.key === '${Y}'`).join(" || ");$.push(`if (!(${Z})) return`)}if(X.mouse!==null){let Z=dU[X.mouse];$.push(`if ($event.button !== ${Z}) return`)}if(X.prevent)$.push("$event.preventDefault()");if(X.stop)$.push("$event.stopPropagation()");return $.join("; ")}function lU(X,$){let{elementId:Z,event:Y,modifiers:J}=X,G=u$(X.handler),Q=mU(J),w=[];if(J.once)w.push("once: true");if(J.capture)w.push("capture: true");if(J.passive)w.push("passive: true");let q=w.length>0?`, { ${w.join(", ")} }`:"",W="";if(Q)W+=`${Q}; `;let U=G.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),K=`var $emit = function(name, detail) {
2450
+ `}function cU(X){let $=[];if(X.self)$.push("if ($event.target !== $el) return");for(let Z of X.systemKeys)$.push(`if (!$event.${Z}Key) return`);if(X.keys.length>0){let Z=X.keys.map((Y)=>`$event.key === '${Y}'`).join(" || ");$.push(`if (!(${Z})) return`)}if(X.mouse!==null){let Z=lU[X.mouse];$.push(`if ($event.button !== ${Z}) return`)}if(X.prevent)$.push("$event.preventDefault()");if(X.stop)$.push("$event.stopPropagation()");return $.join("; ")}function pU(X,$){let{elementId:Z,event:Y,modifiers:J}=X,G=u$(X.handler),Q=cU(J),w=[];if(J.once)w.push("once: true");if(J.capture)w.push("capture: true");if(J.passive)w.push("passive: true");let q=w.length>0?`, { ${w.join(", ")} }`:"",W="";if(Q)W+=`${Q}; `;let U=G.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),K=`var $emit = function(name, detail) {
2451
2451
  $el.dispatchEvent(new CustomEvent(name, { detail: detail, bubbles: true, cancelable: true }))
2452
2452
  };`;function z(B){if(/\$emit\s*\(/.test(B))return`${K}
2453
2453
  ${B}`;return`var scope = $el.closest('[data-stx-scope]');
@@ -2490,11 +2490,11 @@ else {
2490
2490
  else {
2491
2491
  ${G}
2492
2492
  }
2493
- }${q})`}function cU(X){if(X.length===0)return"";return`
2493
+ }${q})`}function iU(X){if(X.length===0)return"";return`
2494
2494
  // STX: auto-generated event bindings
2495
- ${X.map((Z,Y)=>lU(Z,Y)).join(`
2496
- `)}`}function T6(X){let $=[],Z=new Set,Y=X.replace(/^\s*import\s+.*$/gm,""),J=0,G=Y.length,Q=0;while(Q<G){let w=Y[Q];if(w==="'"||w==='"'||w==="`"){let q=w;if(Q++,q==="`"){let W=0;while(Q<G){if(Y[Q]==="\\"){Q+=2;continue}if(Y[Q]==="`"&&W===0){Q++;break}if(Y[Q]==="$"&&Y[Q+1]==="{"){W++,Q+=2;continue}if(Y[Q]==="}"&&W>0){W--,Q++;continue}Q++}}else while(Q<G){if(Y[Q]==="\\"){Q+=2;continue}if(Y[Q]===q){Q++;break}Q++}continue}if(w==="/"&&Y[Q+1]==="/"){while(Q<G&&Y[Q]!==`
2497
- `)Q++;continue}if(w==="/"&&Y[Q+1]==="*"){Q+=2;while(Q<G-1&&!(Y[Q]==="*"&&Y[Q+1]==="/"))Q++;Q+=2;continue}if(w==="{"){J++,Q++;continue}if(w==="}"){J--,Q++;continue}if(J===0){let q=Y.slice(Q),W=q.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(W){let z=W[1];if(!z.startsWith("_")&&!Z.has(z))$.push(z),Z.add(z);Q+=W[0].length;continue}let U=q.match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(U){U[1].split(",").forEach((z)=>{let B=z.trim(),_=B.indexOf(":"),j=_>=0?B.slice(_+1).trim().split(/[\s=]/)[0]:B.split(/[\s=]/)[0];if(j&&!j.startsWith("_")&&!Z.has(j))$.push(j),Z.add(j)}),Q+=U[0].length;continue}let K=q.match(/^(?:async\s+)?function\s+([a-zA-Z_$]\w*)/);if(K){let z=K[1];if(!z.startsWith("_")&&!Z.has(z))$.push(z),Z.add(z);Q+=K[0].length;continue}}Q++}return $}function iU(X){let $=new Set,Z=/[a-zA-Z_$][a-zA-Z0-9_$]*/g;function Y(z){let B;while((B=Z.exec(z))!==null){let _=B[0];if(!pU.has(_))$.add(_)}}let J=/\{\{([\s\S]*?)\}\}/g,G;while((G=J.exec(X))!==null)Y(G[1]);let Q=/:[a-z][\w.-]*\s*=\s*"([^"]*)"/gi;while((G=Q.exec(X))!==null)Y(G[1]);let w=/:[a-z][\w.-]*\s*=\s*'([^']*)'/gi;while((G=w.exec(X))!==null)Y(G[1]);let q=/@[a-z]+(?:\.[a-z]+)*\s*=\s*"([^"]*)"/gi;while((G=q.exec(X))!==null)Y(G[1]);let W=/@[a-z]+(?:\.[a-z]+)*\s*=\s*'([^']*)'/gi;while((G=W.exec(X))!==null)Y(G[1]);let U=/@model\s*=\s*["']([^"']*)["']/gi;while((G=U.exec(X))!==null)Y(G[1]);let K=/@for\s*=\s*["'][^"']*\bin\s+([^"']+)["']/gi;while((G=K.exec(X))!==null)Y(G[1]);return $}async function t1(X,$={}){let Z=X,Y="",J=!1,G=[],Q=FX(Z,{filePath:$.filePath,projectRoot:$.projectRoot});Z=Q.code;let w=VX(Q.styles),q=E5(Z);Z=q.code,G=[...q.imports,...q.models];let{hasUserImports:W,bundleClientScript:U}=await e("stx/client-script-bundler",()=>Promise.resolve().then(() => (N7(),M7)));if(W(Z))Z=await U(Z,$.filePath||"",{projectRoot:$.projectRoot,minify:$.production}),J=!0;if($.autoImports!==!1){let O=E6(Z);Z=O.code,Y=r$(O.stxImports,O.browserImports.filter((F)=>!G.includes(F)))}if(Y=`${RX(Z,$.serverData)}${Y}`,Z=h0(Z),!J&&e1($.attrs||""))Z=X5(Z);let K=cU($.eventBindings||[]),z=($.attrs||"").trim();if(/\btype\s*=\s*["']module["']/i.test(z)){let O=z.replace(/\btype\s*=\s*["']module["']/i,"").trim(),F=`type="module" data-stx-scoped${O?` ${O}`:""}`;return`${w}<script ${F}>
2495
+ ${X.map((Z,Y)=>pU(Z,Y)).join(`
2496
+ `)}`}function M6(X){let $=[],Z=new Set,Y=X.replace(/^\s*import\s+.*$/gm,""),J=0,G=Y.length,Q=0;while(Q<G){let w=Y[Q];if(w==="'"||w==='"'||w==="`"){let q=w;if(Q++,q==="`"){let W=0;while(Q<G){if(Y[Q]==="\\"){Q+=2;continue}if(Y[Q]==="`"&&W===0){Q++;break}if(Y[Q]==="$"&&Y[Q+1]==="{"){W++,Q+=2;continue}if(Y[Q]==="}"&&W>0){W--,Q++;continue}Q++}}else while(Q<G){if(Y[Q]==="\\"){Q+=2;continue}if(Y[Q]===q){Q++;break}Q++}continue}if(w==="/"&&Y[Q+1]==="/"){while(Q<G&&Y[Q]!==`
2497
+ `)Q++;continue}if(w==="/"&&Y[Q+1]==="*"){Q+=2;while(Q<G-1&&!(Y[Q]==="*"&&Y[Q+1]==="/"))Q++;Q+=2;continue}if(w==="{"){J++,Q++;continue}if(w==="}"){J--,Q++;continue}if(J===0){let q=Y.slice(Q),W=q.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(W){let z=W[1];if(!z.startsWith("_")&&!Z.has(z))$.push(z),Z.add(z);Q+=W[0].length;continue}let U=q.match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(U){U[1].split(",").forEach((z)=>{let B=z.trim(),_=B.indexOf(":"),j=_>=0?B.slice(_+1).trim().split(/[\s=]/)[0]:B.split(/[\s=]/)[0];if(j&&!j.startsWith("_")&&!Z.has(j))$.push(j),Z.add(j)}),Q+=U[0].length;continue}let K=q.match(/^(?:async\s+)?function\s+([a-zA-Z_$]\w*)/);if(K){let z=K[1];if(!z.startsWith("_")&&!Z.has(z))$.push(z),Z.add(z);Q+=K[0].length;continue}}Q++}return $}function rU(X){let $=new Set,Z=/[a-zA-Z_$][a-zA-Z0-9_$]*/g;function Y(z){let B;while((B=Z.exec(z))!==null){let _=B[0];if(!nU.has(_))$.add(_)}}let J=/\{\{([\s\S]*?)\}\}/g,G;while((G=J.exec(X))!==null)Y(G[1]);let Q=/:[a-z][\w.-]*\s*=\s*"([^"]*)"/gi;while((G=Q.exec(X))!==null)Y(G[1]);let w=/:[a-z][\w.-]*\s*=\s*'([^']*)'/gi;while((G=w.exec(X))!==null)Y(G[1]);let q=/@[a-z]+(?:\.[a-z]+)*\s*=\s*"([^"]*)"/gi;while((G=q.exec(X))!==null)Y(G[1]);let W=/@[a-z]+(?:\.[a-z]+)*\s*=\s*'([^']*)'/gi;while((G=W.exec(X))!==null)Y(G[1]);let U=/@model\s*=\s*["']([^"']*)["']/gi;while((G=U.exec(X))!==null)Y(G[1]);let K=/@for\s*=\s*["'][^"']*\bin\s+([^"']+)["']/gi;while((G=K.exec(X))!==null)Y(G[1]);return $}async function t1(X,$={}){let Z=X,Y="",J=!1,G=[],Q=FX(Z,{filePath:$.filePath,projectRoot:$.projectRoot});Z=Q.code;let w=VX(Q.styles),q=E5(Z);Z=q.code,G=[...q.imports,...q.models];let{hasUserImports:W,bundleClientScript:U}=await e("stx/client-script-bundler",()=>Promise.resolve().then(() => (N7(),M7)));if(W(Z))Z=await U(Z,$.filePath||"",{projectRoot:$.projectRoot,minify:$.production}),J=!0;if($.autoImports!==!1){let O=D6(Z);Z=O.code,Y=r$(O.stxImports,O.browserImports.filter((F)=>!G.includes(F)))}if(Y=`${RX(Z,$.serverData)}${Y}`,Z=h0(Z),!J&&e1($.attrs||""))Z=X5(Z);let K=iU($.eventBindings||[]),z=($.attrs||"").trim();if(/\btype\s*=\s*["']module["']/i.test(z)){let O=z.replace(/\btype\s*=\s*["']module["']/i,"").trim(),F=`type="module" data-stx-scoped${O?` ${O}`:""}`;return`${w}<script ${F}>
2498
2498
  ${k5(`${Y}${Z}
2499
2499
  ${K}`)}
2500
2500
  </script>`}let _=g$(X),j=/function __stx_setup_/.test(Z),H=/\bstx\.mount\s*\(|\bstx\.mountEl\s*\(/.test(X);function L(O){let F=O.length>0?`
@@ -2503,12 +2503,12 @@ window.stx.mount(function() {
2503
2503
  'use strict';
2504
2504
  ${k5(`${Y}${Z}
2505
2505
  ${K}${F}`)}
2506
- })</script>`}if(!H&&!j){if(_)return L(T6(X));if($.templateContent){let O=T6(X);if(O.length>0){let F=iU($.templateContent);if(O.some((A)=>F.has(A)))return L(O)}}}return`${w}<script data-stx-scoped data-stx-run="always">
2506
+ })</script>`}if(!H&&!j){if(_)return L(M6(X));if($.templateContent){let O=M6(X);if(O.length>0){let F=rU($.templateContent);if(O.some((A)=>F.has(A)))return L(O)}}}return`${w}<script data-stx-scoped data-stx-run="always">
2507
2507
  ;(function() {
2508
2508
  'use strict';
2509
2509
  ${k5(`${Y}${Z}
2510
2510
  ${K}`)}
2511
- })()</script>`}var NU,M6,N6,bU,hU,R6,dU,pU;var D5=D(()=>{m$();T0();F7();G1();l$();NU=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;M6=j1,N6=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useDocumentVisibility","useIntervalFn"];bU=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"]);hU=/token|secret|passw|apikey|api_key|privatekey|private_key|credential|webhook|bearer|jwt|signature/i,R6=new Set;dU={left:0,middle:1,right:2};pU=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 nU}from"crypto";function y6(X){let $=X[TX];return $ instanceof Map?$:null}function b6(X){X[TX]=new Map}function S6(X,$){let Z=y6(X);if(!Z)return null;let Y=nU("sha256").update($).digest("hex").slice(0,16),J=Z.get(Y);if(J)J.instances++;else Z.set(Y,{body:$,instances:1});return Y}function C6(X,$){let Z=y6($);if(!Z?.size)return X;let Y=X;for(let[q,W]of Z){if(W.instances!==1)continue;let U=new RegExp(`window\\.__stxComponentFactories\\[${JSON.stringify(q)}\\]\\(("[^"]+")\\);`,"g");Y=Y.replace(U,(K,z)=>`(${W.body})(${z});`)}let J=[...Z].filter(([,q])=>q.instances>1);if(J.length===0)return Y;let Q=`<script data-stx-scoped data-stx-run="always" data-stx-component-factories>
2511
+ })()</script>`}var IU,N6,k6,CU,dU,T6,lU,nU;var D5=D(()=>{m$();T0();F7();G1();l$();IU=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;N6=j1,k6=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useDocumentVisibility","useIntervalFn"];CU=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"]);dU=/token|secret|passw|apikey|api_key|privatekey|private_key|credential|webhook|bearer|jwt|signature/i,T6=new Set;lU={left:0,middle:1,right:2};nU=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 sU}from"crypto";function b6(X){let $=X[TX];return $ instanceof Map?$:null}function S6(X){X[TX]=new Map}function C6(X,$){let Z=b6(X);if(!Z)return null;let Y=sU("sha256").update($).digest("hex").slice(0,16),J=Z.get(Y);if(J)J.instances++;else Z.set(Y,{body:$,instances:1});return Y}function P6(X,$){let Z=b6($);if(!Z?.size)return X;let Y=X;for(let[q,W]of Z){if(W.instances!==1)continue;let U=new RegExp(`window\\.__stxComponentFactories\\[${JSON.stringify(q)}\\]\\(("[^"]+")\\);`,"g");Y=Y.replace(U,(K,z)=>`(${W.body})(${z});`)}let J=[...Z].filter(([,q])=>q.instances>1);if(J.length===0)return Y;let Q=`<script data-stx-scoped data-stx-run="always" data-stx-component-factories>
2512
2512
  (function() {
2513
2513
  const factories = window.__stxComponentFactories = window.__stxComponentFactories || {};
2514
2514
  ${J.map(([q,W])=>` try { factories[${JSON.stringify(q)}] = factories[${JSON.stringify(q)}] || ${W.body}; }
@@ -2517,7 +2517,7 @@ ${J.map(([q,W])=>` try { factories[${JSON.stringify(q)}] = factories[${JSON.str
2517
2517
  })();
2518
2518
  </script>`,w=Y.search(/<script\b(?=[^>]*\bdata-stx-scoped\b)/i);if(w<0)return`${Q}
2519
2519
  ${Y}`;return`${Y.slice(0,w)}${Q}
2520
- ${Y.slice(w)}`}var TX="__stx_component_client_factories";var s$=()=>{};function aU(X){let $="",Z=null,Y=!1;for(let J=0;J<X.length;J++){let G=X[J];if(Y){Y=!1;continue}if(G==="\\"&&Z){Y=!0;continue}if(Z){if(Z==="`"&&G==="$"&&J+1<X.length&&X[J+1]==="{"){let Q=1;J+=2;while(J<X.length&&Q>0){if(X[J]==="{")Q++;else if(X[J]==="}")Q--;if(Q>0)$+=X[J],J++}continue}if(G===Z)Z=null;continue}if(G==='"'||G==="'"||G==="`"){Z=G;continue}$+=G}return $}function tU(X,$){let Z=/[$A-Z_a-z][$\w]*/g,Y;while((Y=Z.exec(X))!==null){let J=Y[0],G=X[Y.index-1];if(sU.has(J))throw Error(`Potentially unsafe expression (matched /\\b${J}\\b/; identifier ${J}): ${$}`);if(G==="."&&f6.has(J))throw Error(`Potentially unsafe expression (matched /.${J}/; property ${J}): ${$}`)}}function eU(X){let $=/\[\s*(['"])(.*?)\1\s*\]/g,Z;while((Z=$.exec(X))!==null){let Y=Z[2];if(!f6.has(Y))continue;let J=X.slice(0,Z.index).match(/\S(?=\s*$)/)?.[0],G=X.slice(Z.index+Z[0].length).match(/^\s*(\S)/)?.[1];if(!((J==="{"||J===",")&&G===":"))throw Error(`Potentially unsafe expression (bracket key ${Z[2]}): ${X}`)}}function MX(X){let $=X.trim(),Z=aU($);tU(Z,$),eU($);for(let Y of x6)if(Y.test(Z))throw Error(`Potentially unsafe expression (matched /${Y.source}/): ${$}`);if(!v6.allowBracketNotation&&oU.test($))throw Error(`Bracket notation with strings not allowed: ${$}. Enable with configureSafeEvaluator({ allowBracketNotation: true })`);return $}function XK(X){let $={};$.Math=Math,$.JSON=JSON,$.Date=Date,$.String=String,$.Number=Number,$.Boolean=Boolean,$.Array=Array,$.parseInt=Number.parseInt,$.parseFloat=Number.parseFloat,$.isNaN=Number.isNaN,$.isFinite=Number.isFinite,$.encodeURIComponent=encodeURIComponent,$.decodeURIComponent=decodeURIComponent;for(let[Z,Y]of Object.entries(X)){if(Z.startsWith("__")||x6.some((J)=>J.test(Z)))continue;if(Y&&typeof Y==="object"&&!Array.isArray(Y))$[Z]=o$(Y);else $[Z]=Y}return $}function o$(X,$=0){if($>=v6.maxSanitizeDepth)return"[Object too deep]";if(X===null||typeof X!=="object")return X;if(Array.isArray(X))return X.map((Y)=>o$(Y,$+1));if(X instanceof Date||X instanceof RegExp||X instanceof Map||X instanceof Set||X instanceof Error)return X;let Z={};for(let[Y,J]of Object.entries(X)){if(Y.startsWith("__")||Y==="constructor"||Y==="prototype")continue;if(J&&typeof J==="object")Z[Y]=o$(J,$+1);else Z[Y]=J}return Z}function Y0(X,$){try{let Z=XK($),Y=Object.keys(Z),J=Object.values(Z);return W0(X,Y)(...J)}catch{return}}function q0(X){try{return MX(X),!0}catch{return!1}}function O0(X,$){try{let Z=Y0(X,$);if(Z&&typeof Z==="object"&&!Array.isArray(Z))return Z;return{}}catch{return{}}}function W0(X,$){let Z=MX(X),Y=/^[A-Za-z_$][\w$]*$/,J=[],G=[];for(let W=0;W<$.length;W++){let U=$[W];if(!Y.test(U))continue;if(g6.has(U))continue;J.push(W),G.push(U)}let Q=(W)=>Function(...G,...W,`
2520
+ ${Y.slice(w)}`}var TX="__stx_component_client_factories";var s$=()=>{};function eU(X){let $="",Z=null,Y=!1;for(let J=0;J<X.length;J++){let G=X[J];if(Y){Y=!1;continue}if(G==="\\"&&Z){Y=!0;continue}if(Z){if(Z==="`"&&G==="$"&&J+1<X.length&&X[J+1]==="{"){let Q=1;J+=2;while(J<X.length&&Q>0){if(X[J]==="{")Q++;else if(X[J]==="}")Q--;if(Q>0)$+=X[J],J++}continue}if(G===Z)Z=null;continue}if(G==='"'||G==="'"||G==="`"){Z=G;continue}$+=G}return $}function XK(X,$){let Z=/[$A-Z_a-z][$\w]*/g,Y;while((Y=Z.exec(X))!==null){let J=Y[0],G=X[Y.index-1];if(aU.has(J))throw Error(`Potentially unsafe expression (matched /\\b${J}\\b/; identifier ${J}): ${$}`);if(G==="."&&g6.has(J))throw Error(`Potentially unsafe expression (matched /.${J}/; property ${J}): ${$}`)}}function $K(X){let $=/\[\s*(['"])(.*?)\1\s*\]/g,Z;while((Z=$.exec(X))!==null){let Y=Z[2];if(!g6.has(Y))continue;let J=X.slice(0,Z.index).match(/\S(?=\s*$)/)?.[0],G=X.slice(Z.index+Z[0].length).match(/^\s*(\S)/)?.[1];if(!((J==="{"||J===",")&&G===":"))throw Error(`Potentially unsafe expression (bracket key ${Z[2]}): ${X}`)}}function MX(X){let $=X.trim(),Z=eU($);XK(Z,$),$K($);for(let Y of f6)if(Y.test(Z))throw Error(`Potentially unsafe expression (matched /${Y.source}/): ${$}`);if(!x6.allowBracketNotation&&tU.test($))throw Error(`Bracket notation with strings not allowed: ${$}. Enable with configureSafeEvaluator({ allowBracketNotation: true })`);return $}function ZK(X){let $={};$.Math=Math,$.JSON=JSON,$.Date=Date,$.String=String,$.Number=Number,$.Boolean=Boolean,$.Array=Array,$.parseInt=Number.parseInt,$.parseFloat=Number.parseFloat,$.isNaN=Number.isNaN,$.isFinite=Number.isFinite,$.encodeURIComponent=encodeURIComponent,$.decodeURIComponent=decodeURIComponent;for(let[Z,Y]of Object.entries(X)){if(Z.startsWith("__")||f6.some((J)=>J.test(Z)))continue;if(Y&&typeof Y==="object"&&!Array.isArray(Y))$[Z]=o$(Y);else $[Z]=Y}return $}function o$(X,$=0){if($>=x6.maxSanitizeDepth)return"[Object too deep]";if(X===null||typeof X!=="object")return X;if(Array.isArray(X))return X.map((Y)=>o$(Y,$+1));if(X instanceof Date||X instanceof RegExp||X instanceof Map||X instanceof Set||X instanceof Error)return X;let Z={};for(let[Y,J]of Object.entries(X)){if(Y.startsWith("__")||Y==="constructor"||Y==="prototype")continue;if(J&&typeof J==="object")Z[Y]=o$(J,$+1);else Z[Y]=J}return Z}function Y0(X,$){try{let Z=ZK($),Y=Object.keys(Z),J=Object.values(Z);return W0(X,Y)(...J)}catch{return}}function q0(X){try{return MX(X),!0}catch{return!1}}function O0(X,$){try{let Z=Y0(X,$);if(Z&&typeof Z==="object"&&!Array.isArray(Z))return Z;return{}}catch{return{}}}function W0(X,$){let Z=MX(X),Y=/^[A-Za-z_$][\w$]*$/,J=[],G=[];for(let W=0;W<$.length;W++){let U=$[W];if(!Y.test(U))continue;if(h6.has(U))continue;J.push(W),G.push(U)}let Q=(W)=>Function(...G,...W,`
2521
2521
  'use strict';
2522
2522
  try {
2523
2523
  return ${Z};
@@ -2528,7 +2528,7 @@ catch (e) {
2528
2528
  }
2529
2529
  throw e;
2530
2530
  }
2531
- `),w=Q([]);if(G.length===$.length)return P6(w,G,Q);return P6((...W)=>{let U=Array(J.length);for(let K=0;K<J.length;K++)U[K]=W[J[K]];return w(...U)},G,Q,(W)=>{w=Q(W)})}function P6(X,$,Z,Y){let G=/^(\w+) is not defined$/,Q=X,w=[],q=new Set($);return(...W)=>{for(let U=0;U<=8;U++)try{return Q(...W)}catch(K){let z=K instanceof Error?K.message:"",B=G.exec(z);if(!(K instanceof ReferenceError)||!B)return;let _=B[1];if(q.has(_)||g6.has(_))return;q.add(_),w.push(_),Q=Z(w),Y?.(w)}return}}function NX(X){let $=X.trim(),Z=[/\beval\s*\(/i,/\bFunction\s*\(/i,/\bimport\s*\(/i,/\brequire\s*\(/i,/\bprocess\b/i,/\b__proto__\b/i,/\bconstructor\s*[.(]/i,/\bglobalThis\b/i,/\bwindow\b/i,/\bdocument\b/i,/\bfetch\s*\(/i,/\bBun\b/i,/\bDeno\b/i,/\bconsole\b/i,/\bthis\b/i,/\bReflect\b/i,/\bProxy\b/i,/\bprototype\b/i,/\.(bind|call|apply)\s*\(/i];for(let Y of Z)if(Y.test($))return!1;return!0}var rU,v6,x6,sU,f6,oU,g6;var F0=D(()=>{rU={maxSanitizeDepth:10,allowBracketNotation:!1},v6={...rU},x6=[/\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/],sU=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"]),f6=new Set(["__proto__","constructor","prototype"]),oU=/[\w)\]]\s*\[\s*['"]/;g6=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 kX(X,$){let Z=$K++,Y=`<!--__STX_${X.toUpperCase()}_${Z}__-->`;return ZK.set(Y,{type:X,expression:$}),Y}var $K=0,ZK;var h6=D(()=>{ZK=new Map});function c6(X,$,Z,Y){Z.lastIndex=$;let J=Z.exec(X);if(!J||J.index!==$)return-1;Y.lastIndex=Z.lastIndex;let G=Y.exec(X);if(!G)return-1;return G.index+G[0].length}function D1(X,$){return c6(X,$,u6,d6)}function y5(X,$){return c6(X,$,m6,l6)}function E7(X,$){if(!X.startsWith("<!--",$))return-1;let Z=X.indexOf("-->",$+4);if(Z===-1)return-1;return Z+3}function YK(X,$){if(X.startsWith("<!--",$)){let Z=E7(X,$);return Z===-1?X.length:Z}for(let[Z,Y]of[[u6,d6],[m6,l6]]){Z.lastIndex=$;let J=Z.exec(X);if(!J||J.index!==$)continue;Y.lastIndex=Z.lastIndex;let G=Y.exec(X);return G?G.index+G[0].length:X.length}return-1}function a$(X,$){let Z=[],Y=0,J=X.length,G=!1,Q=null;while(Y<J){let w=X[Y];if(G){if(Q){if(w===Q)Q=null}else if(w==='"'||w==="'")Q=w;else if(w===">")G=!1;Y++;continue}if(w!=="<"){Y++;continue}let q=$(X,Y);if(q>Y){Z.push({start:Y,end:q,token:X.slice(Y,q)}),Y=q;continue}let W=YK(X,Y);if(W>Y){Y=W;continue}if(/^<\/?[a-zA-Z]/.test(X.slice(Y,Y+2)))G=!0;Y++}return Z}function Q1(X,$,Z){let Y=a$(X,$);if(Y.length===0)return{output:X,tokens:[]};let J=Y.map((w)=>w.token),G="",Q=0;for(let w=0;w<Y.length;w++){let q=Y[w];G+=X.slice(Q,q.start),G+=Z(q.token,w),Q=q.end}return G+=X.slice(Q),{output:G,tokens:J}}function y1(X){let{output:$,tokens:Z}=Q1(X,D1,(Y,J)=>`\x00STX_SCRIPT_${J}\x00`);return{output:$,scripts:Z}}function D7(X,$){if($.length===0)return X;return X.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Z,Y)=>$[+Y]??"")}var u6,d6,m6,l6;var $5=D(()=>{u6=/<script\b[^>]*>/iy,d6=/<\/script\s*>/ig,m6=/<style\b[^>]*>/iy,l6=/<\/style\s*>/ig});var a6={};t(a6,{usesSignalsInScript:()=>L1,unescapeHtml:()=>KK,registerFilters:()=>GK,registerFilter:()=>n6,processExpressions:()=>b1,interpolateScriptsInTemplate:()=>wK,interpolateScriptExpressions:()=>IX,interpolateScriptAttributes:()=>s6,getAllFilters:()=>r6,evaluateExpression:()=>v0,escapeHtml:()=>t0,defaultFilters:()=>b7,clearCustomFilters:()=>QK,applyFilters:()=>o6});function JK(X){let $=p6.get(X);if(!$){let Z=X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");$=new RegExp(`:${Z}(?!\\w)`,"g"),p6.set(X,$)}return $.lastIndex=0,$}function n6(X,$){if(X in b7)console.warn(`Filter "${X}" already exists as a built-in filter. Custom filter will take precedence.`);y7[X]=$}function GK(X){for(let[$,Z]of Object.entries(X))n6($,Z)}function r6(){return{...b7,...y7}}function QK(){for(let X of Object.keys(y7))delete y7[X]}function t0(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function L1(X){let{scripts:$}=y1(X);for(let Z of $){let Y=Z.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i);if(!Y||/\bserver\b|\bsrc\s*=/.test(Y[1]))continue;let J=Y[2];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(J))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test(X))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test(X))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test(X))return!0;return!1}function i6(X,$){let Z=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined","NaN","Infinity","isNaN","isFinite","window","document","console"],Y=X.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),J="",G=!1,Q=0;for(let W=0;W<Y.length;W++){let U=Y[W];if(!G&&U==="`"){G=!0,Q=0;continue}if(G){if(U==="`"&&Q===0){G=!1;continue}if(U==="$"&&Y[W+1]==="{"){Q++,W++,J+=" ";continue}if(U==="}"&&Q>0){Q--;continue}if(Q>0){J+=U;continue}continue}J+=U}Y=J;let w=/(?<![a-zA-Z0-9_$])([a-zA-Z_$][a-zA-Z0-9_$]*)/g,q;while((q=w.exec(Y))!==null){let W=q[1];if(!Y.substring(0,q.index).trimEnd().endsWith(".")){if(!Z.includes(W)&&!(W in $))return!1}}return!0}function IX(X,$){let Z=X;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(Y,J)=>{try{let G=v0(J,$);if(G===void 0)return Y;return G===null?"":String(G)}catch{return Y}}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(Y,J)=>{let G=J.trim();if(/^__[A-Z_]+__$/.test(G))return Y;try{let Q=v0(J,$);if(Q===void 0)return Y;return JSON.stringify(Q).replace(/</g,"\\u003c")}catch{return Y}}),Z}function s6(X,$){if(!X.includes("{"))return X;let Z=X;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(Y,J)=>{try{let G=v0(J,$);if(G===void 0)return Y;return G===null?"":String(G)}catch{return Y}}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(Y,J)=>{let G=J.trim();if(/^__[A-Z_]+__$/.test(G))return Y;try{let Q=v0(J,$);if(Q===void 0)return Y;if(Q===null)return"";return String(Q).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}catch{return Y}}),Z}function wK(X,$,Z={}){let{output:Y,scripts:J}=y1(X),G=J.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 U=w[1],K=w[2];if(/\bdata-raw\b/.test(U))return Q;if(Z.skipServer&&/\bserver\b/.test(U))return Q;let B=`<script${s6(U,$)}>`;if(/\bsrc\s*=/.test(U)||/\btype\s*=\s*["']application\/json["']/.test(U))return B+K+Q.slice(W);return B+IX(K,$)+Q.slice(W)});return D7(Y,G)}function b1(X,$,Z){let Y=X,J=(K,z)=>{let B=y5(K,z);if(B===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(K.slice(z,B))?-1:B},G=(K,z,B,_)=>{let j=B.length,{output:H,tokens:L}=Q1(K,z,(O,F)=>_(j+F));return B.push(...L),H},Q=[];Y=G(Y,J,Q,(K)=>`<!--__STX_STYLE_${K}__-->`);let w=[];Y=G(Y,D1,w,(K)=>`<!--__STX_SCRIPT_EXPR_${K}__-->`);let q=$?.__stx_signals_gate===!0||L1(X),W=new Set(Array.isArray($?.__stx_client_signal_names)?$.__stx_client_signal_names:[]),U=new Set(Array.isArray($?.__stx_preserved_client_expressions)?$.__stx_preserved_client_expressions:[]);Y=Y.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(K,z,B)=>{try{let _=v0(z,$);return _!==void 0&&_!==null?String(_):""}catch(_){let j=_ instanceof Error?_.message:String(_);return K0("Expression",`Error evaluating: {{{ ${z.trim()}}}}: ${j}`,Z,X,B,K)}}),Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(K,z,B)=>{try{let _=v0(z,$);if(_===void 0&&$.__stx_buildMode==="compile")return kX("raw",z.trim());return _!==void 0&&_!==null?String(_):""}catch(_){if($.__stx_buildMode==="compile")return kX("raw",z.trim());let j=_ instanceof Error?_.message:String(_);return K0("Expression",`Error evaluating: {!! ${z.trim()} !!}: ${j}`,Z,X,B,K)}}),Y=G(Y,D1,w,(K)=>`<!--__STX_SCRIPT_EXPR_${K}__-->`),Y=G(Y,J,Q,(K)=>`<!--__STX_STYLE_${K}__-->`),Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(K,z,B)=>{let _=z.trim();if(U.has(_))return K;let j=["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=_.match(H)?.[1],F=O&&((O in $)||j.includes(O)),V=Boolean(O&&W.has(O)),A=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,R=_.match(A),T=R&&!j.includes(R[1])&&!(R[1]in $);if(/^__[A-Z_]+__$/.test(_))return"";try{let M=v0(z,$);if(V)return K;if(q&&!i6(_,$))return K;if(M===void 0&&$.__stx_buildMode==="compile"&&!q)return kX("expr",_);return M!==void 0&&M!==null?t0(String(M)):""}catch(M){if(V)return K;if(q&&!i6(_,$))return K;if(T)return K;let k=M instanceof Error?M.message:String(M);return K0("Expression",`Error evaluating: {{ ${_} }}: ${k}`,Z,X,B,K)}});for(let K=0;K<w.length;K++)Y=Y.replace(`<!--__STX_SCRIPT_EXPR_${K}__-->`,()=>w[K]);for(let K=0;K<Q.length;K++)Y=Y.replace(`<!--__STX_STYLE_${K}__-->`,()=>Q[K]);return Y}function o6(X,$,Z){if(!$.trim())return X;let Y=X,J=$.trim();while(J.length>0){let G=J.match(/^(\w+)/);if(!G)break;let Q=G[1];J=J.substring(Q.length).trim();let w=y7[Q]||b7[Q];if(!w)throw Error(`Filter not found: ${Q}. Available filters: ${Object.keys(r6()).join(", ")}`);let q=[];if(J.startsWith(":")){let W=J.match(/^:([^|\s]+)/);if(W){let U=W[1].trim();try{let K=Number(U);q=[Number.isNaN(K)?U:K]}catch{q=[U]}J=J.substring(W[0].length).trim()}}else if(J.startsWith("(")){let W=1,U=1;while(W>0&&U<J.length){if(J[U]==="(")W++;if(J[U]===")")W--;U++}if(W===0){let K=J.substring(1,U-1).trim();if(K)try{if(K.startsWith("{")&&K.endsWith("}"))q=[v0(`(${K})`,Z,!0)];else{let z=[],B="",_=null,j=0,H=0,L=0,O=!1;for(let F=0;F<K.length;F++){let V=K[F];if(O){B+=V,O=!1;continue}if(V==="\\"){B+=V,O=!0;continue}if(_){if(B+=V,V===_)_=null;continue}if(V==='"'||V==="'"||V==="`"){_=V,B+=V;continue}if(V==="(")j++;else if(V===")")j--;else if(V==="[")H++;else if(V==="]")H--;else if(V==="{")L++;else if(V==="}")L--;if(V===","&&j===0&&H===0&&L===0){z.push(B),B="";continue}B+=V}if(B)z.push(B);q=z.map((F)=>{let V=F.trim();return v0(V,Z,!0)})}}catch{q=[K]}J=J.substring(U).trim()}}try{Y=w(Y,Z,...q)}catch(W){let U=W instanceof Error?W.message:String(W);throw Error(`Error applying filter '${Q}': ${U}`)}if(J.startsWith("|"))J=J.substring(1).trim();else break}return Y}function qK(X){let $=!1,Z="",Y=0,J=0,G=0,Q=!1;for(let w=0;w<X.length;w++){let q=X[w],W=X[w+1];if($&&Q){Q=!1;continue}if($&&q==="\\"){Q=!0;continue}if(Q=!1,(q==='"'||q==="'"||q==="`")&&!Q){if(!$)$=!0,Z=q;else if(q===Z)$=!1,Z="";continue}if($&&Z==="`"&&q==="$"&&W==="{"){let U=1;w+=2;while(w<X.length&&U>0){if(X[w]==="{")U++;else if(X[w]==="}")U--;if(U>0)w++}continue}if($)continue;if(q==="(")Y++;else if(q===")")Y--;else if(q==="[")J++;else if(q==="]")J--;else if(q==="{")G++;else if(q==="}")G--;if(q==="|"&&Y===0&&J===0&&G===0){if(W==="|"){w++;continue}if(W==="="){w++;continue}return w}}return-1}function v0(X,$,Z=!1){try{let Y=X.trim(),J=qK(Y);if(J>0){let G=Y.substring(0,J).trim(),Q=Y.substring(J+1).trim(),w=v0(G,$,!0);return o6(w,Q,$)}if(!q0(Y)){if(!Z)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${Y}`);return Y0(Y,$)}try{let G=Object.keys($),Q=Object.values($);return W0(Y,G)(...Q)}catch{return Y0(Y,$)}}catch(Y){if(Y instanceof ReferenceError){let J=/(\b\w+)\s+is not defined/.exec(Y.message);if(J){let G=J[1],Q=WK(G,Object.keys($));if(Q&&Q!==G)Y.message=`${Y.message} \u2014 did you mean '${Q}'?`}}if(!Z)console.error(`Error evaluating expression: ${X}`,Y);throw Y}}function WK(X,$){let Z=null;for(let J of $){if(J===X)continue;let G=UK(X,J);if(Z===null||G<Z.dist)Z={key:J,dist:G}}if(!Z)return null;let Y=Math.max(X.length,Z.key.length);if(Z.dist<=2||Z.dist/Y<=0.35)return Z.key;return null}function UK(X,$){if(X===$)return 0;if(X.length===0)return $.length;if($.length===0)return X.length;let[Z,Y]=X.length<$.length?[X,$]:[$,X],J=Array(Z.length+1),G=Array(Z.length+1);for(let Q=0;Q<=Z.length;Q++)J[Q]=Q;for(let Q=1;Q<=Y.length;Q++){G[0]=Q;for(let w=1;w<=Z.length;w++){let q=Z[w-1]===Y[Q-1]?0:1;G[w]=Math.min(G[w-1]+1,J[w]+1,J[w-1]+q)}for(let w=0;w<=Z.length;w++)J[w]=G[w]}return J[Z.length]}function KK(X){if(!X)return"";return X.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#039;/g,"'").replace(/&#39;/g,"'").replace(/&amp;/g,"&")}var y7,p6,b7;var w1=D(()=>{F0();T0();h6();$5();y7={},p6=new Map;b7={uppercase:(X,$)=>{return X!==void 0&&X!==null?String(X).toUpperCase():""},lowercase:(X,$)=>{return X!==void 0&&X!==null?String(X).toLowerCase():""},capitalize:(X,$)=>{if(X===void 0||X===null)return"";let Z=String(X);return Z.charAt(0).toUpperCase()+Z.slice(1)},number:(X,$,Z=0)=>{if(X===void 0||X===null)return"";try{let Y=Number(X);return Number.isNaN(Y)?"":Y.toFixed(Number.parseInt(String(Z),10))}catch{return""}},fmt:(X,$,Z="en-US")=>{if(X===void 0||X===null)return"";try{let Y=Number(X);if(Number.isNaN(Y))return String(X);return Y.toLocaleString(Z)}catch{return String(X)}},join:(X,$,Z=",")=>{if(!Array.isArray(X))return"";return X.join(String(Z))},escape:(X,$)=>{if(X===void 0||X===null)return"";return t0(String(X))},translate:(X,$,Z={})=>{if(!$||!$.__translations)return X;let Y=$.__translations,J=$.__i18nConfig?.fallbackToKey??!0,G=String(X).split("."),Q=Y;for(let q of G){if(Q===void 0||Q===null)break;Q=Q[q]}if(Q===void 0||Q===null)return J?X:"";let w=String(Q);return Object.entries(Z).forEach(([q,W])=>{w=w.replace(JK(q),String(W))}),w},t:(X,$,Z={})=>{return b7.translate(X,$,Z)},truncate:(X,$,Z=50,Y="...")=>{if(X===void 0||X===null)return"";let J=String(X);if(J.length<=Z)return J;if(Z<=Y.length)return Y.substring(0,Z);return J.substring(0,Z-Y.length)+Y},date:(X,$,Z="short",Y="en-US")=>{if(X===void 0||X===null)return"";try{let J=X instanceof Date?X:new Date(X);if(Number.isNaN(J.getTime()))return String(X);let G={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"},time:{timeStyle:"short"},datetime:{dateStyle:"short",timeStyle:"short"},iso:{}};if(Z==="iso")return J.toISOString();return new Intl.DateTimeFormat(Y,G[Z]||G.short).format(J)}catch{return String(X)}},currency:(X,$,Z="USD",Y="en-US")=>{if(X===void 0||X===null)return"";try{let J=Number(X);if(Number.isNaN(J))return String(X);return new Intl.NumberFormat(Y,{style:"currency",currency:Z}).format(J)}catch{return String(X)}},pluralize:(X,$,Z,Y)=>{let J=Number(X);if(Number.isNaN(J))return Z;let G=Y||`${Z}s`;return J===1?Z:G},first:(X,$)=>{if(X===void 0||X===null)return"";if(Array.isArray(X))return X.length===0?"":X[0];return String(X).charAt(0)},last:(X,$)=>{if(X===void 0||X===null)return"";if(Array.isArray(X))return X.length===0?"":X[X.length-1];let Z=String(X);return Z.charAt(Z.length-1)},length:(X,$)=>{if(X===void 0||X===null)return 0;if(Array.isArray(X)||typeof X==="string")return X.length;if(X instanceof Map||X instanceof Set)return X.size;if(typeof X==="object")return Object.keys(X).length;return 0},json:(X,$,Z=!1)=>{if(X===void 0)return"undefined";if(X===null)return"null";try{return Z?JSON.stringify(X,null,2):JSON.stringify(X)}catch{return String(X)}},default:(X,$,Z="")=>{return X===void 0||X===null||X===""?Z:X},reverse:(X,$)=>{if(X===void 0||X===null)return"";if(Array.isArray(X))return[...X].reverse();return String(X).split("").reverse().join("")},slice:(X,$,Z=0,Y)=>{if(X===void 0||X===null)return"";if(Array.isArray(X)||typeof X==="string")return X.slice(Z,Y);return X},replace:(X,$,Z,Y="")=>{if(X===void 0||X===null)return"";let J=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String(X).replace(new RegExp(J,"g"),()=>Y)},stripTags:(X,$)=>{if(X===void 0||X===null)return"";return String(X).replace(/<[^>]*>/g,"")},urlencode:(X,$)=>{if(X===void 0||X===null)return"";return encodeURIComponent(String(X))},abs:(X,$)=>{let Z=Number(X);return Number.isNaN(Z)?0:Math.abs(Z)},round:(X,$,Z=0)=>{let Y=Number(X);if(Number.isNaN(Y))return 0;let J=10**Z;return Math.round(Y*J)/J}}});class Z5{cache=new Map;maxSize;constructor(X=100){this.maxSize=X}get(X){if(!this.cache.has(X))return;let $=this.cache.get(X);return this.cache.delete(X),this.cache.set(X,$),$}set(X,$){if(this.cache.has(X))this.cache.delete(X);else if(this.cache.size>=this.maxSize){let Z=this.cache.keys().next().value;if(Z!==void 0)this.cache.delete(Z)}this.cache.set(X,$)}has(X){return this.cache.has(X)}delete(X){return this.cache.delete(X)}clear(){this.cache.clear()}get size(){return this.cache.size}keys(){return this.cache.keys()}values(){return this.cache.values()}}function S5(X,$){if($?.includes("g"))return new RegExp(X,$);let Z=`${X}:${$||""}`;if(!b5.has(Z)){if(b5.size>=zK){let Y=b5.keys().next().value;if(Y)b5.delete(Y)}b5.set(Z,new RegExp(X,$))}return b5.get(Z)}class t6{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator(X){let $=Array.from(new Set(X)),Z=$.sort().join(","),Y=this.pool.find((w)=>w.context.join(",")===Z);if(Y)return Y.func;let J=this.fnCache,G=this.fnCacheMaxSize,Q=(...w)=>{return(q)=>{try{let W=`${Z}:${q}`,U=J.get(W);if(!U){if(J.size>=G){let K=J.keys().next().value;if(K)J.delete(K)}U=Function(...$,`
2531
+ `),w=Q([]);if(G.length===$.length)return v6(w,G,Q);return v6((...W)=>{let U=Array(J.length);for(let K=0;K<J.length;K++)U[K]=W[J[K]];return w(...U)},G,Q,(W)=>{w=Q(W)})}function v6(X,$,Z,Y){let G=/^(\w+) is not defined$/,Q=X,w=[],q=new Set($);return(...W)=>{for(let U=0;U<=8;U++)try{return Q(...W)}catch(K){let z=K instanceof Error?K.message:"",B=G.exec(z);if(!(K instanceof ReferenceError)||!B)return;let _=B[1];if(q.has(_)||h6.has(_))return;q.add(_),w.push(_),Q=Z(w),Y?.(w)}return}}function NX(X){let $=X.trim(),Z=[/\beval\s*\(/i,/\bFunction\s*\(/i,/\bimport\s*\(/i,/\brequire\s*\(/i,/\bprocess\b/i,/\b__proto__\b/i,/\bconstructor\s*[.(]/i,/\bglobalThis\b/i,/\bwindow\b/i,/\bdocument\b/i,/\bfetch\s*\(/i,/\bBun\b/i,/\bDeno\b/i,/\bconsole\b/i,/\bthis\b/i,/\bReflect\b/i,/\bProxy\b/i,/\bprototype\b/i,/\.(bind|call|apply)\s*\(/i];for(let Y of Z)if(Y.test($))return!1;return!0}var oU,x6,f6,aU,g6,tU,h6;var F0=D(()=>{oU={maxSanitizeDepth:10,allowBracketNotation:!1},x6={...oU},f6=[/\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/],aU=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"]),g6=new Set(["__proto__","constructor","prototype"]),tU=/[\w)\]]\s*\[\s*['"]/;h6=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 kX(X,$){let Z=YK++,Y=`<!--__STX_${X.toUpperCase()}_${Z}__-->`;return JK.set(Y,{type:X,expression:$}),Y}var YK=0,JK;var u6=D(()=>{JK=new Map});function p6(X,$,Z,Y){Z.lastIndex=$;let J=Z.exec(X);if(!J||J.index!==$)return-1;Y.lastIndex=Z.lastIndex;let G=Y.exec(X);if(!G)return-1;return G.index+G[0].length}function D1(X,$){return p6(X,$,d6,m6)}function y5(X,$){return p6(X,$,l6,c6)}function E7(X,$){if(!X.startsWith("<!--",$))return-1;let Z=X.indexOf("-->",$+4);if(Z===-1)return-1;return Z+3}function GK(X,$){if(X.startsWith("<!--",$)){let Z=E7(X,$);return Z===-1?X.length:Z}for(let[Z,Y]of[[d6,m6],[l6,c6]]){Z.lastIndex=$;let J=Z.exec(X);if(!J||J.index!==$)continue;Y.lastIndex=Z.lastIndex;let G=Y.exec(X);return G?G.index+G[0].length:X.length}return-1}function a$(X,$){let Z=[],Y=0,J=X.length,G=!1,Q=null;while(Y<J){let w=X[Y];if(G){if(Q){if(w===Q)Q=null}else if(w==='"'||w==="'")Q=w;else if(w===">")G=!1;Y++;continue}if(w!=="<"){Y++;continue}let q=$(X,Y);if(q>Y){Z.push({start:Y,end:q,token:X.slice(Y,q)}),Y=q;continue}let W=GK(X,Y);if(W>Y){Y=W;continue}if(/^<\/?[a-zA-Z]/.test(X.slice(Y,Y+2)))G=!0;Y++}return Z}function Q1(X,$,Z){let Y=a$(X,$);if(Y.length===0)return{output:X,tokens:[]};let J=Y.map((w)=>w.token),G="",Q=0;for(let w=0;w<Y.length;w++){let q=Y[w];G+=X.slice(Q,q.start),G+=Z(q.token,w),Q=q.end}return G+=X.slice(Q),{output:G,tokens:J}}function y1(X){let{output:$,tokens:Z}=Q1(X,D1,(Y,J)=>`\x00STX_SCRIPT_${J}\x00`);return{output:$,scripts:Z}}function D7(X,$){if($.length===0)return X;return X.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Z,Y)=>$[+Y]??"")}var d6,m6,l6,c6;var $5=D(()=>{d6=/<script\b[^>]*>/iy,m6=/<\/script\s*>/ig,l6=/<style\b[^>]*>/iy,c6=/<\/style\s*>/ig});var t6={};t(t6,{usesSignalsInScript:()=>L1,unescapeHtml:()=>_K,registerFilters:()=>wK,registerFilter:()=>r6,processExpressions:()=>b1,interpolateScriptsInTemplate:()=>WK,interpolateScriptExpressions:()=>IX,interpolateScriptAttributes:()=>o6,getAllFilters:()=>s6,evaluateExpression:()=>v0,escapeHtml:()=>t0,defaultFilters:()=>b7,clearCustomFilters:()=>qK,applyFilters:()=>a6});function QK(X){let $=i6.get(X);if(!$){let Z=X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");$=new RegExp(`:${Z}(?!\\w)`,"g"),i6.set(X,$)}return $.lastIndex=0,$}function r6(X,$){if(X in b7)console.warn(`Filter "${X}" already exists as a built-in filter. Custom filter will take precedence.`);y7[X]=$}function wK(X){for(let[$,Z]of Object.entries(X))r6($,Z)}function s6(){return{...b7,...y7}}function qK(){for(let X of Object.keys(y7))delete y7[X]}function t0(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function L1(X){let{scripts:$}=y1(X);for(let Z of $){let Y=Z.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i);if(!Y||/\bserver\b|\bsrc\s*=/.test(Y[1]))continue;let J=Y[2];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(J))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test(X))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test(X))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test(X))return!0;return!1}function n6(X,$){let Z=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined","NaN","Infinity","isNaN","isFinite","window","document","console"],Y=X.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),J="",G=!1,Q=0;for(let W=0;W<Y.length;W++){let U=Y[W];if(!G&&U==="`"){G=!0,Q=0;continue}if(G){if(U==="`"&&Q===0){G=!1;continue}if(U==="$"&&Y[W+1]==="{"){Q++,W++,J+=" ";continue}if(U==="}"&&Q>0){Q--;continue}if(Q>0){J+=U;continue}continue}J+=U}Y=J;let w=/(?<![a-zA-Z0-9_$])([a-zA-Z_$][a-zA-Z0-9_$]*)/g,q;while((q=w.exec(Y))!==null){let W=q[1];if(!Y.substring(0,q.index).trimEnd().endsWith(".")){if(!Z.includes(W)&&!(W in $))return!1}}return!0}function IX(X,$){let Z=X;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(Y,J)=>{try{let G=v0(J,$);if(G===void 0)return Y;return G===null?"":String(G)}catch{return Y}}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(Y,J)=>{let G=J.trim();if(/^__[A-Z_]+__$/.test(G))return Y;try{let Q=v0(J,$);if(Q===void 0)return Y;return JSON.stringify(Q).replace(/</g,"\\u003c")}catch{return Y}}),Z}function o6(X,$){if(!X.includes("{"))return X;let Z=X;return Z=Z.replace(/\{!!([\s\S]*?)!!\}/g,(Y,J)=>{try{let G=v0(J,$);if(G===void 0)return Y;return G===null?"":String(G)}catch{return Y}}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(Y,J)=>{let G=J.trim();if(/^__[A-Z_]+__$/.test(G))return Y;try{let Q=v0(J,$);if(Q===void 0)return Y;if(Q===null)return"";return String(Q).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}catch{return Y}}),Z}function WK(X,$,Z={}){let{output:Y,scripts:J}=y1(X),G=J.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 U=w[1],K=w[2];if(/\bdata-raw\b/.test(U))return Q;if(Z.skipServer&&/\bserver\b/.test(U))return Q;let B=`<script${o6(U,$)}>`;if(/\bsrc\s*=/.test(U)||/\btype\s*=\s*["']application\/json["']/.test(U))return B+K+Q.slice(W);return B+IX(K,$)+Q.slice(W)});return D7(Y,G)}function b1(X,$,Z){let Y=X,J=(K,z)=>{let B=y5(K,z);if(B===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(K.slice(z,B))?-1:B},G=(K,z,B,_)=>{let j=B.length,{output:H,tokens:L}=Q1(K,z,(O,F)=>_(j+F));return B.push(...L),H},Q=[];Y=G(Y,J,Q,(K)=>`<!--__STX_STYLE_${K}__-->`);let w=[];Y=G(Y,D1,w,(K)=>`<!--__STX_SCRIPT_EXPR_${K}__-->`);let q=$?.__stx_signals_gate===!0||L1(X),W=new Set(Array.isArray($?.__stx_client_signal_names)?$.__stx_client_signal_names:[]),U=new Set(Array.isArray($?.__stx_preserved_client_expressions)?$.__stx_preserved_client_expressions:[]);Y=Y.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(K,z,B)=>{try{let _=v0(z,$);return _!==void 0&&_!==null?String(_):""}catch(_){let j=_ instanceof Error?_.message:String(_);return K0("Expression",`Error evaluating: {{{ ${z.trim()}}}}: ${j}`,Z,X,B,K)}}),Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(K,z,B)=>{try{let _=v0(z,$);if(_===void 0&&$.__stx_buildMode==="compile")return kX("raw",z.trim());return _!==void 0&&_!==null?String(_):""}catch(_){if($.__stx_buildMode==="compile")return kX("raw",z.trim());let j=_ instanceof Error?_.message:String(_);return K0("Expression",`Error evaluating: {!! ${z.trim()} !!}: ${j}`,Z,X,B,K)}}),Y=G(Y,D1,w,(K)=>`<!--__STX_SCRIPT_EXPR_${K}__-->`),Y=G(Y,J,Q,(K)=>`<!--__STX_STYLE_${K}__-->`),Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(K,z,B)=>{let _=z.trim();if(U.has(_))return K;let j=["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=_.match(H)?.[1],F=O&&((O in $)||j.includes(O)),V=Boolean(O&&W.has(O)),A=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,R=_.match(A),T=R&&!j.includes(R[1])&&!(R[1]in $);if(/^__[A-Z_]+__$/.test(_))return"";try{let M=v0(z,$);if(V)return K;if(q&&!n6(_,$))return K;if(M===void 0&&$.__stx_buildMode==="compile"&&!q)return kX("expr",_);return M!==void 0&&M!==null?t0(String(M)):""}catch(M){if(V)return K;if(q&&!n6(_,$))return K;if(T)return K;let k=M instanceof Error?M.message:String(M);return K0("Expression",`Error evaluating: {{ ${_} }}: ${k}`,Z,X,B,K)}});for(let K=0;K<w.length;K++)Y=Y.replace(`<!--__STX_SCRIPT_EXPR_${K}__-->`,()=>w[K]);for(let K=0;K<Q.length;K++)Y=Y.replace(`<!--__STX_STYLE_${K}__-->`,()=>Q[K]);return Y}function a6(X,$,Z){if(!$.trim())return X;let Y=X,J=$.trim();while(J.length>0){let G=J.match(/^(\w+)/);if(!G)break;let Q=G[1];J=J.substring(Q.length).trim();let w=y7[Q]||b7[Q];if(!w)throw Error(`Filter not found: ${Q}. Available filters: ${Object.keys(s6()).join(", ")}`);let q=[];if(J.startsWith(":")){let W=J.match(/^:([^|\s]+)/);if(W){let U=W[1].trim();try{let K=Number(U);q=[Number.isNaN(K)?U:K]}catch{q=[U]}J=J.substring(W[0].length).trim()}}else if(J.startsWith("(")){let W=1,U=1;while(W>0&&U<J.length){if(J[U]==="(")W++;if(J[U]===")")W--;U++}if(W===0){let K=J.substring(1,U-1).trim();if(K)try{if(K.startsWith("{")&&K.endsWith("}"))q=[v0(`(${K})`,Z,!0)];else{let z=[],B="",_=null,j=0,H=0,L=0,O=!1;for(let F=0;F<K.length;F++){let V=K[F];if(O){B+=V,O=!1;continue}if(V==="\\"){B+=V,O=!0;continue}if(_){if(B+=V,V===_)_=null;continue}if(V==='"'||V==="'"||V==="`"){_=V,B+=V;continue}if(V==="(")j++;else if(V===")")j--;else if(V==="[")H++;else if(V==="]")H--;else if(V==="{")L++;else if(V==="}")L--;if(V===","&&j===0&&H===0&&L===0){z.push(B),B="";continue}B+=V}if(B)z.push(B);q=z.map((F)=>{let V=F.trim();return v0(V,Z,!0)})}}catch{q=[K]}J=J.substring(U).trim()}}try{Y=w(Y,Z,...q)}catch(W){let U=W instanceof Error?W.message:String(W);throw Error(`Error applying filter '${Q}': ${U}`)}if(J.startsWith("|"))J=J.substring(1).trim();else break}return Y}function UK(X){let $=!1,Z="",Y=0,J=0,G=0,Q=!1;for(let w=0;w<X.length;w++){let q=X[w],W=X[w+1];if($&&Q){Q=!1;continue}if($&&q==="\\"){Q=!0;continue}if(Q=!1,(q==='"'||q==="'"||q==="`")&&!Q){if(!$)$=!0,Z=q;else if(q===Z)$=!1,Z="";continue}if($&&Z==="`"&&q==="$"&&W==="{"){let U=1;w+=2;while(w<X.length&&U>0){if(X[w]==="{")U++;else if(X[w]==="}")U--;if(U>0)w++}continue}if($)continue;if(q==="(")Y++;else if(q===")")Y--;else if(q==="[")J++;else if(q==="]")J--;else if(q==="{")G++;else if(q==="}")G--;if(q==="|"&&Y===0&&J===0&&G===0){if(W==="|"){w++;continue}if(W==="="){w++;continue}return w}}return-1}function v0(X,$,Z=!1){try{let Y=X.trim(),J=UK(Y);if(J>0){let G=Y.substring(0,J).trim(),Q=Y.substring(J+1).trim(),w=v0(G,$,!0);return a6(w,Q,$)}if(!q0(Y)){if(!Z)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${Y}`);return Y0(Y,$)}try{let G=Object.keys($),Q=Object.values($);return W0(Y,G)(...Q)}catch{return Y0(Y,$)}}catch(Y){if(Y instanceof ReferenceError){let J=/(\b\w+)\s+is not defined/.exec(Y.message);if(J){let G=J[1],Q=KK(G,Object.keys($));if(Q&&Q!==G)Y.message=`${Y.message} \u2014 did you mean '${Q}'?`}}if(!Z)console.error(`Error evaluating expression: ${X}`,Y);throw Y}}function KK(X,$){let Z=null;for(let J of $){if(J===X)continue;let G=zK(X,J);if(Z===null||G<Z.dist)Z={key:J,dist:G}}if(!Z)return null;let Y=Math.max(X.length,Z.key.length);if(Z.dist<=2||Z.dist/Y<=0.35)return Z.key;return null}function zK(X,$){if(X===$)return 0;if(X.length===0)return $.length;if($.length===0)return X.length;let[Z,Y]=X.length<$.length?[X,$]:[$,X],J=Array(Z.length+1),G=Array(Z.length+1);for(let Q=0;Q<=Z.length;Q++)J[Q]=Q;for(let Q=1;Q<=Y.length;Q++){G[0]=Q;for(let w=1;w<=Z.length;w++){let q=Z[w-1]===Y[Q-1]?0:1;G[w]=Math.min(G[w-1]+1,J[w]+1,J[w-1]+q)}for(let w=0;w<=Z.length;w++)J[w]=G[w]}return J[Z.length]}function _K(X){if(!X)return"";return X.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#039;/g,"'").replace(/&#39;/g,"'").replace(/&amp;/g,"&")}var y7,i6,b7;var w1=D(()=>{F0();T0();u6();$5();y7={},i6=new Map;b7={uppercase:(X,$)=>{return X!==void 0&&X!==null?String(X).toUpperCase():""},lowercase:(X,$)=>{return X!==void 0&&X!==null?String(X).toLowerCase():""},capitalize:(X,$)=>{if(X===void 0||X===null)return"";let Z=String(X);return Z.charAt(0).toUpperCase()+Z.slice(1)},number:(X,$,Z=0)=>{if(X===void 0||X===null)return"";try{let Y=Number(X);return Number.isNaN(Y)?"":Y.toFixed(Number.parseInt(String(Z),10))}catch{return""}},fmt:(X,$,Z="en-US")=>{if(X===void 0||X===null)return"";try{let Y=Number(X);if(Number.isNaN(Y))return String(X);return Y.toLocaleString(Z)}catch{return String(X)}},join:(X,$,Z=",")=>{if(!Array.isArray(X))return"";return X.join(String(Z))},escape:(X,$)=>{if(X===void 0||X===null)return"";return t0(String(X))},translate:(X,$,Z={})=>{if(!$||!$.__translations)return X;let Y=$.__translations,J=$.__i18nConfig?.fallbackToKey??!0,G=String(X).split("."),Q=Y;for(let q of G){if(Q===void 0||Q===null)break;Q=Q[q]}if(Q===void 0||Q===null)return J?X:"";let w=String(Q);return Object.entries(Z).forEach(([q,W])=>{w=w.replace(QK(q),String(W))}),w},t:(X,$,Z={})=>{return b7.translate(X,$,Z)},truncate:(X,$,Z=50,Y="...")=>{if(X===void 0||X===null)return"";let J=String(X);if(J.length<=Z)return J;if(Z<=Y.length)return Y.substring(0,Z);return J.substring(0,Z-Y.length)+Y},date:(X,$,Z="short",Y="en-US")=>{if(X===void 0||X===null)return"";try{let J=X instanceof Date?X:new Date(X);if(Number.isNaN(J.getTime()))return String(X);let G={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"},time:{timeStyle:"short"},datetime:{dateStyle:"short",timeStyle:"short"},iso:{}};if(Z==="iso")return J.toISOString();return new Intl.DateTimeFormat(Y,G[Z]||G.short).format(J)}catch{return String(X)}},currency:(X,$,Z="USD",Y="en-US")=>{if(X===void 0||X===null)return"";try{let J=Number(X);if(Number.isNaN(J))return String(X);return new Intl.NumberFormat(Y,{style:"currency",currency:Z}).format(J)}catch{return String(X)}},pluralize:(X,$,Z,Y)=>{let J=Number(X);if(Number.isNaN(J))return Z;let G=Y||`${Z}s`;return J===1?Z:G},first:(X,$)=>{if(X===void 0||X===null)return"";if(Array.isArray(X))return X.length===0?"":X[0];return String(X).charAt(0)},last:(X,$)=>{if(X===void 0||X===null)return"";if(Array.isArray(X))return X.length===0?"":X[X.length-1];let Z=String(X);return Z.charAt(Z.length-1)},length:(X,$)=>{if(X===void 0||X===null)return 0;if(Array.isArray(X)||typeof X==="string")return X.length;if(X instanceof Map||X instanceof Set)return X.size;if(typeof X==="object")return Object.keys(X).length;return 0},json:(X,$,Z=!1)=>{if(X===void 0)return"undefined";if(X===null)return"null";try{return Z?JSON.stringify(X,null,2):JSON.stringify(X)}catch{return String(X)}},default:(X,$,Z="")=>{return X===void 0||X===null||X===""?Z:X},reverse:(X,$)=>{if(X===void 0||X===null)return"";if(Array.isArray(X))return[...X].reverse();return String(X).split("").reverse().join("")},slice:(X,$,Z=0,Y)=>{if(X===void 0||X===null)return"";if(Array.isArray(X)||typeof X==="string")return X.slice(Z,Y);return X},replace:(X,$,Z,Y="")=>{if(X===void 0||X===null)return"";let J=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String(X).replace(new RegExp(J,"g"),()=>Y)},stripTags:(X,$)=>{if(X===void 0||X===null)return"";return String(X).replace(/<[^>]*>/g,"")},urlencode:(X,$)=>{if(X===void 0||X===null)return"";return encodeURIComponent(String(X))},abs:(X,$)=>{let Z=Number(X);return Number.isNaN(Z)?0:Math.abs(Z)},round:(X,$,Z=0)=>{let Y=Number(X);if(Number.isNaN(Y))return 0;let J=10**Z;return Math.round(Y*J)/J}}});class Z5{cache=new Map;maxSize;constructor(X=100){this.maxSize=X}get(X){if(!this.cache.has(X))return;let $=this.cache.get(X);return this.cache.delete(X),this.cache.set(X,$),$}set(X,$){if(this.cache.has(X))this.cache.delete(X);else if(this.cache.size>=this.maxSize){let Z=this.cache.keys().next().value;if(Z!==void 0)this.cache.delete(Z)}this.cache.set(X,$)}has(X){return this.cache.has(X)}delete(X){return this.cache.delete(X)}clear(){this.cache.clear()}get size(){return this.cache.size}keys(){return this.cache.keys()}values(){return this.cache.values()}}function S5(X,$){if($?.includes("g"))return new RegExp(X,$);let Z=`${X}:${$||""}`;if(!b5.has(Z)){if(b5.size>=BK){let Y=b5.keys().next().value;if(Y)b5.delete(Y)}b5.set(Z,new RegExp(X,$))}return b5.get(Z)}class e6{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator(X){let $=Array.from(new Set(X)),Z=$.sort().join(","),Y=this.pool.find((w)=>w.context.join(",")===Z);if(Y)return Y.func;let J=this.fnCache,G=this.fnCacheMaxSize,Q=(...w)=>{return(q)=>{try{let W=`${Z}:${q}`,U=J.get(W);if(!U){if(J.size>=G){let K=J.keys().next().value;if(K)J.delete(K)}U=Function(...$,`
2532
2532
  'use strict';
2533
2533
  try {
2534
2534
  return ${q};
@@ -2539,14 +2539,14 @@ catch (e) {
2539
2539
  }
2540
2540
  throw e;
2541
2541
  }
2542
- `),J.set(W,U)}return U(...w)}catch{return}}};if(this.pool.length<this.maxPoolSize)this.pool.push({func:Q,context:$.slice()});return Q}clear(){this.pool.length=0,this.fnCache.clear()}}class e6{metrics=new Map;budgets=new Map;violations=[];maxViolations=100;violationHandlers=[];enabled=!0;setEnabled(X){this.enabled=X}isEnabled(){return this.enabled}setBudget(X,$){this.budgets.set(X,{warnThreshold:0.8,action:"warn",...$})}setBudgets(X){for(let[$,Z]of Object.entries(X))this.setBudget($,Z)}removeBudget(X){this.budgets.delete(X)}getBudgets(){let X={};for(let[$,Z]of this.budgets.entries())X[$]=Z;return X}onViolation(X){this.violationHandlers.push(X)}offViolation(X){let $=this.violationHandlers.indexOf(X);if($!==-1)this.violationHandlers.splice($,1)}time(X,$){if(!this.enabled)return $();let Z=performance.now(),Y=$(),J=performance.now()-Z;return this.recordTime(X,J),this.checkBudget(X,J),Y}async timeAsync(X,$){if(!this.enabled)return $();let Z=performance.now(),Y=await $(),J=performance.now()-Z;return this.recordTime(X,J),this.checkBudget(X,J),Y}checkBudget(X,$){let Z=this.budgets.get(X);if(!Z)return;let Y=$/Z.maxTime*100,J=Z.warnThreshold!==void 0?$>=Z.maxTime*Z.warnThreshold&&$<Z.maxTime:!1,G=$>=Z.maxTime;if(!J&&!G)return;let Q={label:X,actualTime:$,budgetTime:Z.maxTime,exceedancePercent:Y,timestamp:new Date,isWarning:J};this.violations.push(Q);while(this.violations.length>this.maxViolations)this.violations.shift();for(let q of this.violationHandlers)try{q(Q)}catch{}let w=J?`[Performance Warning] "${X}" took ${$.toFixed(2)}ms (${Y.toFixed(1)}% of ${Z.maxTime}ms budget)`:`[Performance Budget Exceeded] "${X}" took ${$.toFixed(2)}ms (exceeded ${Z.maxTime}ms budget by ${(Y-100).toFixed(1)}%)`;switch(Z.action){case"log":console.log(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(X);if(Z)Z.count++,Z.totalTime+=$,Z.maxTime=Math.max(Z.maxTime,$),Z.minTime=Math.min(Z.minTime,$);else this.metrics.set(X,{count:1,totalTime:$,maxTime:$,minTime:$})}getStats(X){if(X){let Z=this.metrics.get(X);if(!Z)return{};let Y=this.budgets.get(X);return{count:Z.count,avgTime:Z.totalTime/Z.count,totalTime:Z.totalTime,maxTime:Z.maxTime,minTime:Z.minTime,budget:Y?.maxTime,budgetUtilization:Y?Z.totalTime/Z.count/Y.maxTime*100:void 0}}let $={};for(let[Z,Y]of this.metrics.entries()){let J=this.budgets.get(Z);$[Z]={count:Y.count,avgTime:Y.totalTime/Y.count,totalTime:Y.totalTime,maxTime:Y.maxTime,minTime:Y.minTime,budget:J?.maxTime,budgetUtilization:J?Y.totalTime/Y.count/J.maxTime*100:void 0}}return $}getViolations(X){if(X)return this.violations.filter(($)=>$.label===X);return[...this.violations]}getViolationStats(){let X={},$=0,Z=0;for(let Y of this.violations)if(X[Y.label]=(X[Y.label]||0)+1,Y.isWarning)$++;else Z++;return{total:this.violations.length,byLabel:X,warnings:$,errors:Z}}clear(){this.metrics.clear()}clearViolations(){this.violations.length=0}clearBudgets(){this.budgets.clear()}reset(){this.clear(),this.clearViolations(),this.clearBudgets(),this.violationHandlers.length=0}}function _K(){if(!t$)t$=new e6;return t$}var b5,zK=500,IA,t$=null,XZ;var C5=D(()=>{b5=new Map;IA=new t6;XZ=new Proxy({},{get(X,$){return _K()[$]}})});function $Z(X){return typeof X==="object"&&X!==null&&!Array.isArray(X)}function e$(X,$){let Z={...X};for(let[Y,J]of Object.entries($))Z[Y]=$Z(J)&&$Z(Z[Y])?e$(Z[Y],J):J;return Z}function ZZ(X={},$={}){let Z=X.theme||{},Y=$.theme||{},{extend:J,...G}=Y,{extend:Q,...w}=Z,q=e$(w,G),W=e$(Q||{},J||{});if(Object.keys(W).length>0)q.extend=W;let U=[...X.safelist||[],...$.safelist||[]],K={...X.shortcuts||{},...$.shortcuts||{}},z=[...X.preflights||[],...$.preflights||[]];return{config:{...X,...$,theme:q,safelist:U,shortcuts:K,...z.length>0?{preflights:z}:{},content:[],output:""},safelist:U,shortcuts:K,includePreflight:$.preflight!==!1,minify:$.minify===!0}}var B0;var YZ=D(()=>{B0={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 WZ={};t(WZ,{resetCssCache:()=>AK,resetCrosswindCache:()=>RK,rebuildCrosswindCSS:()=>TK,loadCrosswindConfig:()=>Y9,loadCrosswind:()=>Z9,injectCrosswindCSS:()=>J9,getCrosswindServeAsset:()=>HK,getCachedCSS:()=>MK,generateCrosswindCSS:()=>qZ,extractClassNames:()=>wZ,buildCrosswindCSS:()=>QZ});import J0 from"path";import{hasLocalConfig as BK}from"bunfig";function DX(X){return Bun.hash(X).toString(16).padStart(16,"0").slice(0,16)}function X9(X,$){if(O1.has(X))O1.delete(X);else if(O1.size>=GZ)O1.delete(O1.keys().next().value);O1.set(X,$)}function jK(X){let $=DX(X);if(e0.has($))e0.delete($);else if(e0.size>=GZ)e0.delete(e0.keys().next().value);return e0.set($,X),$}function HK(X){let $=e0.get(X);if($===void 0)return;return e0.delete(X),e0.set(X,$),$}async function LK(X){if(!S1)return null;try{let $=Bun.file(J0.join(S1,`cw-${DX(X)}.css`));if(!await $.exists())return null;return await $.text()}catch{return null}}async function OK(X,$){if(!S1)return;try{if(!fs.existsSync(S1))fs.mkdirSync(S1,{recursive:!0});await Bun.write(J0.join(S1,`cw-${DX(X)}.css`),$)}catch{}}async function JZ(X){try{let $=await import(X);if($&&$.CSSGenerator)return{CSSGenerator:$.CSSGenerator,config:$.config,build:$.build,defaultConfig:$.defaultConfig,extractClasses:$.extractClasses}}catch{}return null}function FK(){let X=[],$=process.cwd();while($!==J0.dirname($))X.push(J0.join($,"node_modules","@cwcss","crosswind","dist","index.js")),X.push(J0.join($,"node_modules","@cwcss","crosswind","src","index.ts")),X.push(J0.join($,"pantry","@cwcss","crosswind","dist","index.js")),X.push(J0.join($,"pantry","@cwcss","crosswind","src","index.ts")),X.push(J0.join($,"node_modules","@stacksjs","crosswind","dist","index.js")),X.push(J0.join($,"pantry","@stacksjs","crosswind","dist","index.js")),$=J0.dirname($);return X}function VK(){let X=[],$=process.env.HOME||process.env.USERPROFILE||"";if($){let Z=[J0.join($,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),J0.join($,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),J0.join($,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),J0.join($,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),J0.join($,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),J0.join($,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];X.push(...Z)}return X.push(J0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),X.push(J0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),X}async function Z9(){if($9)return q1;$9=!0;try{let X=async(J)=>{for(let G of J){if(!await Bun.file(G).exists())continue;let Q=await JZ(G);if(Q){if(!process.env.STACKS_DEV_QUIET)console.log(`${B0.green}[Crosswind]${B0.reset} CSS engine loaded from ${J0.dirname(J0.dirname(G))}`);return Q}}return null};if(process.env.CROSSWIND_SRC){let J=J0.resolve(process.env.CROSSWIND_SRC),G=await X([J]);if(!G)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${J}`);return q1=G,q1}let $=await X(FK());if($)return q1=$,q1;let Z=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let J of Z){let G=await JZ(J);if(G){if(q1=G,!process.env.STACKS_DEV_QUIET)console.log(`${B0.green}[Crosswind]${B0.reset} CSS engine loaded`);return q1}}let Y=await X(VK());if(Y)return q1=Y,q1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${B0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${B0.reset}`),console.warn(`${B0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${B0.reset}`),null}}function AK(){O1.clear(),e0.clear()}function RK(){q1=null,$9=!1,X1=null,S7="",O1.clear(),e0.clear(),EX=null}async function Y9(X){try{if(!BK({name:"crosswind",cwd:X}))return null;let{loadConfigWithResult:$}=await import("bunfig"),Z=await $({name:"crosswind",cwd:X,defaultConfig:{},checkEnv:!1,verbose:!1});if(!Z?.path||!Z.config||Object.keys(Z.config).length===0)return null;let Y=J0.relative(X,Z.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${B0.green}[Crosswind]${B0.reset} Loaded config from ${Y||Z.path}`);return Z.config}catch($){if($ instanceof Error&&$.name==="ConfigNotFoundError")return null;return console.warn(`${B0.yellow}[Crosswind]${B0.reset} Failed to load crosswind config:`,$ instanceof Error?$.message:$),null}}async function QZ(X){if(P5)return S7;P5=!0;try{let $=await Z9();if(!$||!$.build)return P5=!1,"";if(!X1)X1=await Y9(X);if(!X1)return P5=!1,"";let Z=$.defaultConfig?.theme||{},Y=X1.theme||{},J={...$.defaultConfig,...X1,theme:{...Z,...Y,extend:{...Z.extend||{},...Y.extend||{}}}},G=performance.now(),Q=await $.build(J),w=performance.now()-G;if(S7=Q.css,console.log(`${B0.cyan}[Crosswind]${B0.reset} Built ${Q.classes.size} classes in ${w.toFixed(1)}ms`),J.output){let q=J0.isAbsolute(J.output)?J.output:J0.join(X,J.output),W=J0.dirname(q);if(!fs.existsSync(W))fs.mkdirSync(W,{recursive:!0});await Bun.write(q,Q.css)}return P5=!1,Q.css}catch($){return console.error(`${B0.red}[Crosswind]${B0.reset} Build error:`,$),P5=!1,S7}}async function TK(X){X1=null,await QZ(X)}function MK(){return S7}function wZ(X){let $=new Set,Z=/class\s*=\s*["']([^"']+)["']/gi,Y=Z.exec(X);while(Y!==null){for(let Q of Y[1].split(/\s+/))if(Q.trim())$.add(Q.trim());Y=Z.exec(X)}let J=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,G=J.exec(X);while(G!==null){let Q=G[1].match(/'([^']+)'/g);if(Q){for(let w of Q)for(let q of w.slice(1,-1).split(/\s+/))if(q.trim())$.add(q.trim())}G=J.exec(X)}return $}async function qZ(X,$){try{let Z=await Z9();if(!Z)return"";let Y=typeof Z.extractClasses==="function"?Z.extractClasses(X):wZ(X);if(Y.size===0)return"";let J=$?J0.resolve($):process.cwd();if(!S1)S1=R7(J,"cache");let G=[...Y].sort().join(" "),Q=`${EX||"default"}::${G}`,w=O1.get(Q);if(w!==void 0)return X9(Q,w),w;let q=await LK(Q);if(q!==null)return X9(Q,q),q;if(!X1){let V=null;try{let{loadStxConfig:A}=await Promise.resolve().then(() => (H1(),UZ)),R=await A(J);if(R.css)if(typeof R.css==="string"){let T=J0.isAbsolute(R.css)?R.css:J0.resolve(J,R.css);if(await Bun.file(T).exists()){let M=await import(T);V=M.default||M,console.log(`${B0.green}[Crosswind]${B0.reset} Loaded config from stx.config.ts \u2192 ${R.css}`)}}else{if(V={...R.css,content:R.css.content||[],preflight:R.css.preflight??!0,minify:R.css.minify??!1},R.css.config){let T=J0.isAbsolute(R.css.config)?R.css.config:J0.resolve(J,R.css.config);if(await Bun.file(T).exists()){let M=await import(T);V={...M.default||M,...V}}}console.log(`${B0.green}[Crosswind]${B0.reset} Using inline CSS config from stx.config.ts`)}}catch{}X1=V||await Y9(J);try{EX=DX(JSON.stringify(X1??{}))}catch{EX="unhashable"}}let W=Z.defaultConfig||Z.config,U=X1||{},K=ZZ(W,U),{safelist:z,includePreflight:B,minify:_}=K,j=K.config,H=new Z.CSSGenerator(j);for(let V of z)H.generate(V);for(let V of Y)H.generate(V);let L=H.toCSS(B,_),O=j.shortcuts||U.shortcuts||{};for(let[V,A]of Object.entries(O)){if(!Y.has(V)&&!z.includes(V))continue;let R=A.split(/\s+/).filter(Boolean);for(let T of R)H.generate(T)}L=H.toCSS(B,_);let F=L.split(`
2542
+ `),J.set(W,U)}return U(...w)}catch{return}}};if(this.pool.length<this.maxPoolSize)this.pool.push({func:Q,context:$.slice()});return Q}clear(){this.pool.length=0,this.fnCache.clear()}}class XZ{metrics=new Map;budgets=new Map;violations=[];maxViolations=100;violationHandlers=[];enabled=!0;setEnabled(X){this.enabled=X}isEnabled(){return this.enabled}setBudget(X,$){this.budgets.set(X,{warnThreshold:0.8,action:"warn",...$})}setBudgets(X){for(let[$,Z]of Object.entries(X))this.setBudget($,Z)}removeBudget(X){this.budgets.delete(X)}getBudgets(){let X={};for(let[$,Z]of this.budgets.entries())X[$]=Z;return X}onViolation(X){this.violationHandlers.push(X)}offViolation(X){let $=this.violationHandlers.indexOf(X);if($!==-1)this.violationHandlers.splice($,1)}time(X,$){if(!this.enabled)return $();let Z=performance.now(),Y=$(),J=performance.now()-Z;return this.recordTime(X,J),this.checkBudget(X,J),Y}async timeAsync(X,$){if(!this.enabled)return $();let Z=performance.now(),Y=await $(),J=performance.now()-Z;return this.recordTime(X,J),this.checkBudget(X,J),Y}checkBudget(X,$){let Z=this.budgets.get(X);if(!Z)return;let Y=$/Z.maxTime*100,J=Z.warnThreshold!==void 0?$>=Z.maxTime*Z.warnThreshold&&$<Z.maxTime:!1,G=$>=Z.maxTime;if(!J&&!G)return;let Q={label:X,actualTime:$,budgetTime:Z.maxTime,exceedancePercent:Y,timestamp:new Date,isWarning:J};this.violations.push(Q);while(this.violations.length>this.maxViolations)this.violations.shift();for(let q of this.violationHandlers)try{q(Q)}catch{}let w=J?`[Performance Warning] "${X}" took ${$.toFixed(2)}ms (${Y.toFixed(1)}% of ${Z.maxTime}ms budget)`:`[Performance Budget Exceeded] "${X}" took ${$.toFixed(2)}ms (exceeded ${Z.maxTime}ms budget by ${(Y-100).toFixed(1)}%)`;switch(Z.action){case"log":console.log(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(X);if(Z)Z.count++,Z.totalTime+=$,Z.maxTime=Math.max(Z.maxTime,$),Z.minTime=Math.min(Z.minTime,$);else this.metrics.set(X,{count:1,totalTime:$,maxTime:$,minTime:$})}getStats(X){if(X){let Z=this.metrics.get(X);if(!Z)return{};let Y=this.budgets.get(X);return{count:Z.count,avgTime:Z.totalTime/Z.count,totalTime:Z.totalTime,maxTime:Z.maxTime,minTime:Z.minTime,budget:Y?.maxTime,budgetUtilization:Y?Z.totalTime/Z.count/Y.maxTime*100:void 0}}let $={};for(let[Z,Y]of this.metrics.entries()){let J=this.budgets.get(Z);$[Z]={count:Y.count,avgTime:Y.totalTime/Y.count,totalTime:Y.totalTime,maxTime:Y.maxTime,minTime:Y.minTime,budget:J?.maxTime,budgetUtilization:J?Y.totalTime/Y.count/J.maxTime*100:void 0}}return $}getViolations(X){if(X)return this.violations.filter(($)=>$.label===X);return[...this.violations]}getViolationStats(){let X={},$=0,Z=0;for(let Y of this.violations)if(X[Y.label]=(X[Y.label]||0)+1,Y.isWarning)$++;else Z++;return{total:this.violations.length,byLabel:X,warnings:$,errors:Z}}clear(){this.metrics.clear()}clearViolations(){this.violations.length=0}clearBudgets(){this.budgets.clear()}reset(){this.clear(),this.clearViolations(),this.clearBudgets(),this.violationHandlers.length=0}}function jK(){if(!t$)t$=new XZ;return t$}var b5,BK=500,yA,t$=null,$Z;var C5=D(()=>{b5=new Map;yA=new e6;$Z=new Proxy({},{get(X,$){return jK()[$]}})});function ZZ(X){return typeof X==="object"&&X!==null&&!Array.isArray(X)}function e$(X,$){let Z={...X};for(let[Y,J]of Object.entries($))Z[Y]=ZZ(J)&&ZZ(Z[Y])?e$(Z[Y],J):J;return Z}function YZ(X={},$={}){let Z=X.theme||{},Y=$.theme||{},{extend:J,...G}=Y,{extend:Q,...w}=Z,q=e$(w,G),W=e$(Q||{},J||{});if(Object.keys(W).length>0)q.extend=W;let U=[...X.safelist||[],...$.safelist||[]],K={...X.shortcuts||{},...$.shortcuts||{}},z=[...X.preflights||[],...$.preflights||[]];return{config:{...X,...$,theme:q,safelist:U,shortcuts:K,...z.length>0?{preflights:z}:{},content:[],output:""},safelist:U,shortcuts:K,includePreflight:$.preflight!==!1,minify:$.minify===!0}}var B0;var JZ=D(()=>{B0={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 UZ={};t(UZ,{resetCssCache:()=>TK,resetCrosswindCache:()=>MK,rebuildCrosswindCSS:()=>NK,loadCrosswindConfig:()=>Y9,loadCrosswind:()=>Z9,injectCrosswindCSS:()=>J9,getCrosswindServeAsset:()=>OK,getCachedCSS:()=>kK,generateCrosswindCSS:()=>WZ,extractClassNames:()=>qZ,buildCrosswindCSS:()=>wZ});import J0 from"path";import{hasLocalConfig as HK}from"bunfig";function DX(X){return Bun.hash(X).toString(16).padStart(16,"0").slice(0,16)}function X9(X,$){if(O1.has(X))O1.delete(X);else if(O1.size>=QZ)O1.delete(O1.keys().next().value);O1.set(X,$)}function LK(X){let $=DX(X);if(e0.has($))e0.delete($);else if(e0.size>=QZ)e0.delete(e0.keys().next().value);return e0.set($,X),$}function OK(X){let $=e0.get(X);if($===void 0)return;return e0.delete(X),e0.set(X,$),$}async function FK(X){if(!S1)return null;try{let $=Bun.file(J0.join(S1,`cw-${DX(X)}.css`));if(!await $.exists())return null;return await $.text()}catch{return null}}async function VK(X,$){if(!S1)return;try{if(!fs.existsSync(S1))fs.mkdirSync(S1,{recursive:!0});await Bun.write(J0.join(S1,`cw-${DX(X)}.css`),$)}catch{}}async function GZ(X){try{let $=await import(X);if($&&$.CSSGenerator)return{CSSGenerator:$.CSSGenerator,config:$.config,build:$.build,defaultConfig:$.defaultConfig,extractClasses:$.extractClasses}}catch{}return null}function AK(){let X=[],$=process.cwd();while($!==J0.dirname($))X.push(J0.join($,"node_modules","@cwcss","crosswind","dist","index.js")),X.push(J0.join($,"node_modules","@cwcss","crosswind","src","index.ts")),X.push(J0.join($,"pantry","@cwcss","crosswind","dist","index.js")),X.push(J0.join($,"pantry","@cwcss","crosswind","src","index.ts")),X.push(J0.join($,"node_modules","@stacksjs","crosswind","dist","index.js")),X.push(J0.join($,"pantry","@stacksjs","crosswind","dist","index.js")),$=J0.dirname($);return X}function RK(){let X=[],$=process.env.HOME||process.env.USERPROFILE||"";if($){let Z=[J0.join($,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),J0.join($,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),J0.join($,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),J0.join($,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),J0.join($,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),J0.join($,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];X.push(...Z)}return X.push(J0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),X.push(J0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),X}async function Z9(){if($9)return q1;$9=!0;try{let X=async(J)=>{for(let G of J){if(!await Bun.file(G).exists())continue;let Q=await GZ(G);if(Q){if(!process.env.STACKS_DEV_QUIET)console.log(`${B0.green}[Crosswind]${B0.reset} CSS engine loaded from ${J0.dirname(J0.dirname(G))}`);return Q}}return null};if(process.env.CROSSWIND_SRC){let J=J0.resolve(process.env.CROSSWIND_SRC),G=await X([J]);if(!G)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${J}`);return q1=G,q1}let $=await X(AK());if($)return q1=$,q1;let Z=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let J of Z){let G=await GZ(J);if(G){if(q1=G,!process.env.STACKS_DEV_QUIET)console.log(`${B0.green}[Crosswind]${B0.reset} CSS engine loaded`);return q1}}let Y=await X(RK());if(Y)return q1=Y,q1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${B0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${B0.reset}`),console.warn(`${B0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${B0.reset}`),null}}function TK(){O1.clear(),e0.clear()}function MK(){q1=null,$9=!1,X1=null,S7="",O1.clear(),e0.clear(),EX=null}async function Y9(X){try{if(!HK({name:"crosswind",cwd:X}))return null;let{loadConfigWithResult:$}=await import("bunfig"),Z=await $({name:"crosswind",cwd:X,defaultConfig:{},checkEnv:!1,verbose:!1});if(!Z?.path||!Z.config||Object.keys(Z.config).length===0)return null;let Y=J0.relative(X,Z.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${B0.green}[Crosswind]${B0.reset} Loaded config from ${Y||Z.path}`);return Z.config}catch($){if($ instanceof Error&&$.name==="ConfigNotFoundError")return null;return console.warn(`${B0.yellow}[Crosswind]${B0.reset} Failed to load crosswind config:`,$ instanceof Error?$.message:$),null}}async function wZ(X){if(P5)return S7;P5=!0;try{let $=await Z9();if(!$||!$.build)return P5=!1,"";if(!X1)X1=await Y9(X);if(!X1)return P5=!1,"";let Z=$.defaultConfig?.theme||{},Y=X1.theme||{},J={...$.defaultConfig,...X1,theme:{...Z,...Y,extend:{...Z.extend||{},...Y.extend||{}}}},G=performance.now(),Q=await $.build(J),w=performance.now()-G;if(S7=Q.css,console.log(`${B0.cyan}[Crosswind]${B0.reset} Built ${Q.classes.size} classes in ${w.toFixed(1)}ms`),J.output){let q=J0.isAbsolute(J.output)?J.output:J0.join(X,J.output),W=J0.dirname(q);if(!fs.existsSync(W))fs.mkdirSync(W,{recursive:!0});await Bun.write(q,Q.css)}return P5=!1,Q.css}catch($){return console.error(`${B0.red}[Crosswind]${B0.reset} Build error:`,$),P5=!1,S7}}async function NK(X){X1=null,await wZ(X)}function kK(){return S7}function qZ(X){let $=new Set,Z=/class\s*=\s*["']([^"']+)["']/gi,Y=Z.exec(X);while(Y!==null){for(let Q of Y[1].split(/\s+/))if(Q.trim())$.add(Q.trim());Y=Z.exec(X)}let J=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,G=J.exec(X);while(G!==null){let Q=G[1].match(/'([^']+)'/g);if(Q){for(let w of Q)for(let q of w.slice(1,-1).split(/\s+/))if(q.trim())$.add(q.trim())}G=J.exec(X)}return $}async function WZ(X,$){try{let Z=await Z9();if(!Z)return"";let Y=typeof Z.extractClasses==="function"?Z.extractClasses(X):qZ(X);if(Y.size===0)return"";let J=$?J0.resolve($):process.cwd();if(!S1)S1=R7(J,"cache");let G=[...Y].sort().join(" "),Q=`${EX||"default"}::${G}`,w=O1.get(Q);if(w!==void 0)return X9(Q,w),w;let q=await FK(Q);if(q!==null)return X9(Q,q),q;if(!X1){let V=null;try{let{loadStxConfig:A}=await Promise.resolve().then(() => (H1(),KZ)),R=await A(J);if(R.css)if(typeof R.css==="string"){let T=J0.isAbsolute(R.css)?R.css:J0.resolve(J,R.css);if(await Bun.file(T).exists()){let M=await import(T);V=M.default||M,console.log(`${B0.green}[Crosswind]${B0.reset} Loaded config from stx.config.ts \u2192 ${R.css}`)}}else{if(V={...R.css,content:R.css.content||[],preflight:R.css.preflight??!0,minify:R.css.minify??!1},R.css.config){let T=J0.isAbsolute(R.css.config)?R.css.config:J0.resolve(J,R.css.config);if(await Bun.file(T).exists()){let M=await import(T);V={...M.default||M,...V}}}console.log(`${B0.green}[Crosswind]${B0.reset} Using inline CSS config from stx.config.ts`)}}catch{}X1=V||await Y9(J);try{EX=DX(JSON.stringify(X1??{}))}catch{EX="unhashable"}}let W=Z.defaultConfig||Z.config,U=X1||{},K=YZ(W,U),{safelist:z,includePreflight:B,minify:_}=K,j=K.config,H=new Z.CSSGenerator(j);for(let V of z)H.generate(V);for(let V of Y)H.generate(V);let L=H.toCSS(B,_),O=j.shortcuts||U.shortcuts||{};for(let[V,A]of Object.entries(O)){if(!Y.has(V)&&!z.includes(V))continue;let R=A.split(/\s+/).filter(Boolean);for(let T of R)H.generate(T)}L=H.toCSS(B,_);let F=L.split(`
2543
2543
  `);for(let[V,A]of Object.entries(O)){if(!Y.has(V)&&!z.includes(V))continue;let R=A.split(/\s+/).filter(Boolean),T=[],M=[];for(let k of R){let N=k.startsWith("dark:"),C=`.${(N?k.slice(5):k).replace(/\//g,"\\/").replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%")}`;for(let S=0;S<F.length;S++){let b=F[S].trim();if(b===`${C} {`||b.startsWith(`${C} {`)){let P=S,x="";while(P<F.length){if(x+=F[P],F[P].includes("}"))break;P++}let m=x.match(/\{([^}]+)\}/);if(m)if(N)M.push(m[1].trim());else T.push(m[1].trim());break}}}if(T.length)L+=`
2544
2544
  .${V} { ${T.join(" ")} }`;if(M.length)L+=`
2545
- @media (prefers-color-scheme: dark) { .dark .${V} { ${M.join(" ")} } }`}return X9(Q,L),OK(Q,L),L}catch(Z){return console.warn("Failed to generate Crosswind CSS:",Z),""}}async function J9(X,$,Z=!1){let Y=await qZ(X,$);if(!Y)return X;let J=Z?`<link data-crosswind="generated" rel="stylesheet" href="/_stx/crosswind.${jK(Y)}.css">`:`<style data-crosswind="generated">
2545
+ @media (prefers-color-scheme: dark) { .dark .${V} { ${M.join(" ")} } }`}return X9(Q,L),VK(Q,L),L}catch(Z){return console.warn("Failed to generate Crosswind CSS:",Z),""}}async function J9(X,$,Z=!1){let Y=await WZ(X,$);if(!Y)return X;let J=Z?`<link data-crosswind="generated" rel="stylesheet" href="/_stx/crosswind.${LK(Y)}.css">`:`<style data-crosswind="generated">
2546
2546
  ${Y}
2547
2547
  </style>`,G=/(?:<style\b[^>]*\bdata-crosswind=(?:"generated"|'generated')[^>]*>[\s\S]*?<\/style>|<link\b[^>]*\bdata-crosswind=(?:"generated"|'generated')[^>]*>)/g;if(G.test(X)){let Q=!1;return X.replace(G,()=>{if(Q)return"";return Q=!0,J})}if(X.includes("</head>"))return X.replace("</head>",`${J}
2548
2548
  </head>`);if(X.includes("<body"))return X.replace(/<body([^>]*)>/,`<body$1>
2549
- ${J}`);return J+X}var q1=null,$9=!1,X1=null,S7="",P5=!1,GZ=256,O1,e0,S1=null,EX=null;var G9=D(()=>{OX();YZ();O1=new Map,e0=new Map});function yX(X){let $=0;while($<X.length){let Z=X.slice($),Y=/<body\b([^>]*)>/i.exec(Z);if(!Y)return null;let J=$+Y.index,G=-1,Q="";for(let q of NK){let W=q.open.exec(Z);if(!W)continue;let U=$+W.index;if(U<J&&(G===-1||U<G))G=U,Q=q.close}if(G===-1)return{index:J,tag:Y[0],attrs:Y[1]??""};let w=X.toLowerCase().indexOf(Q,G);if(w===-1)return null;$=w+Q.length}return null}function Q9(X,$){let Z=yX(X);if(!Z)return X;return X.slice(0,Z.index)+$(Z.tag,Z.attrs)+X.slice(Z.index+Z.tag.length)}var NK;var w9=D(()=>{NK=[{open:/<!--/,close:"-->"},{open:/<script\b/i,close:"</script>"},{open:/<style\b/i,close:"</style>"}]});function KZ(){return`
2549
+ ${J}`);return J+X}var q1=null,$9=!1,X1=null,S7="",P5=!1,QZ=256,O1,e0,S1=null,EX=null;var G9=D(()=>{OX();JZ();O1=new Map,e0=new Map});function yX(X){let $=0;while($<X.length){let Z=X.slice($),Y=/<body\b([^>]*)>/i.exec(Z);if(!Y)return null;let J=$+Y.index,G=-1,Q="";for(let q of IK){let W=q.open.exec(Z);if(!W)continue;let U=$+W.index;if(U<J&&(G===-1||U<G))G=U,Q=q.close}if(G===-1)return{index:J,tag:Y[0],attrs:Y[1]??""};let w=X.toLowerCase().indexOf(Q,G);if(w===-1)return null;$=w+Q.length}return null}function Q9(X,$){let Z=yX(X);if(!Z)return X;return X.slice(0,Z.index)+$(Z.tag,Z.attrs)+X.slice(Z.index+Z.tag.length)}var IK;var w9=D(()=>{IK=[{open:/<!--/,close:"-->"},{open:/<script\b/i,close:"</script>"},{open:/<style\b/i,close:"</style>"}]});function zZ(){return`
2550
2550
  // STX Lifecycle Runtime
2551
2551
  (function() {
2552
2552
  if (typeof window === 'undefined') return;
@@ -2891,7 +2891,7 @@ else {
2891
2891
 
2892
2892
  console.log('[stx] Lifecycle runtime initialized');
2893
2893
  })();
2894
- `}function q9(X){return Symbol(X)}var fA,gA,hA;var zZ=D(()=>{fA=q9("theme"),gA=q9("router"),hA=q9("i18n")});import*as BZ from"crypto";function _Z(X){let $=/\$(\w+)\./g,Z=[],Y;while((Y=$.exec(X))!==null)if(!Z.includes(Y[1]))Z.push(Y[1]);return Z}function kK(){return`stx-${BZ.randomBytes(4).toString("hex")}`}function IK(X){return/\$\w+\./.test(X)}function EK(X){let $=[],Z=new Set,Y=/<(\w+)([^>]*?)(\s*\/?>)/g,J=X;return J=J.replace(Y,(G,Q,w,q)=>{if(["script","style","template"].includes(Q.toLowerCase()))return G;let W=[],U=!1,K=w,z=/(\w+(?:-\w+)*)\s*=\s*"([^"]*\{\{[^}]*\$\w+[^}]*\}\}[^"]*)"/g,B=[...w.matchAll(z)];for(let H of B){let L=H[0],O=H[1],F=H[2];if(IK(F)){U=!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}),_Z(A).forEach((T)=>Z.add(T)),O==="text")K=K.replace(L,"");else if(O==="class")K=K.replace(L,'class=""');else if(O==="disabled"||O==="hidden")K=K.replace(L,"");else K=K.replace(L,`${O}=""`)}}}if(!U)return G;let _=K.match(/\bid\s*=\s*"([^"]+)"/),j;if(_)j=_[1];else j=kK(),K=` id="${j}"${K}`;for(let H of W)$.push({elementId:j,attribute:H.attr,expression:H.expr,stores:_Z(H.expr)});return`<${Q}${K}${q}`}),{html:J,bindings:$,stores:Z}}function DK(X,$){if(X.length===0)return"";let Z=Array.from($),Y=`
2894
+ `}function q9(X){return Symbol(X)}var uA,dA,mA;var _Z=D(()=>{uA=q9("theme"),dA=q9("router"),mA=q9("i18n")});import*as jZ from"crypto";function BZ(X){let $=/\$(\w+)\./g,Z=[],Y;while((Y=$.exec(X))!==null)if(!Z.includes(Y[1]))Z.push(Y[1]);return Z}function EK(){return`stx-${jZ.randomBytes(4).toString("hex")}`}function DK(X){return/\$\w+\./.test(X)}function yK(X){let $=[],Z=new Set,Y=/<(\w+)([^>]*?)(\s*\/?>)/g,J=X;return J=J.replace(Y,(G,Q,w,q)=>{if(["script","style","template"].includes(Q.toLowerCase()))return G;let W=[],U=!1,K=w,z=/(\w+(?:-\w+)*)\s*=\s*"([^"]*\{\{[^}]*\$\w+[^}]*\}\}[^"]*)"/g,B=[...w.matchAll(z)];for(let H of B){let L=H[0],O=H[1],F=H[2];if(DK(F)){U=!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}),BZ(A).forEach((T)=>Z.add(T)),O==="text")K=K.replace(L,"");else if(O==="class")K=K.replace(L,'class=""');else if(O==="disabled"||O==="hidden")K=K.replace(L,"");else K=K.replace(L,`${O}=""`)}}}if(!U)return G;let _=K.match(/\bid\s*=\s*"([^"]+)"/),j;if(_)j=_[1];else j=EK(),K=` id="${j}"${K}`;for(let H of W)$.push({elementId:j,attribute:H.attr,expression:H.expr,stores:BZ(H.expr)});return`<${Q}${K}${q}`}),{html:J,bindings:$,stores:Z}}function bK(X,$){if(X.length===0)return"";let Z=Array.from($),Y=`
2895
2895
  <script>
2896
2896
  (function() {
2897
2897
  'use strict';
@@ -3049,10 +3049,10 @@ else {
3049
3049
  }
3050
3050
  })();
3051
3051
  </script>
3052
- `,Y}function jZ(X){let{html:$,bindings:Z,stores:Y}=EK(X);if(Z.length===0)return X;let J=DK(Z,Y),G=$.lastIndexOf("</body>");if(G!==-1)return $.slice(0,G)+J+$.slice(G);return $+J}var HZ=()=>{};function yK(X){let $=X.analytics;if(!$?.enabled)return"";switch($.driver){case"fathom":return bK($);case"google-analytics":return SK($);case"plausible":return CK($);case"self-hosted":return PK($);case"custom":return vK($);default:return""}}function bK(X){let $=X.fathom;if(!$?.siteId)return"";let Z=$.scriptUrl||"https://cdn.usefathom.com/script.js",Y=$.defer!==!1?" defer":"",J=[`data-site="${u0($.siteId)}"`];if($.honorDnt)J.push('data-honor-dnt="true"');if($.spa)J.push('data-spa="auto"');if($.canonical)J.push(`data-canonical="${u0($.canonical)}"`);if($.auto===!1)J.push('data-auto="false"');return`
3052
+ `,Y}function HZ(X){let{html:$,bindings:Z,stores:Y}=yK(X);if(Z.length===0)return X;let J=bK(Z,Y),G=$.lastIndexOf("</body>");if(G!==-1)return $.slice(0,G)+J+$.slice(G);return $+J}var LZ=()=>{};function SK(X){let $=X.analytics;if(!$?.enabled)return"";switch($.driver){case"fathom":return CK($);case"google-analytics":return PK($);case"plausible":return vK($);case"self-hosted":return xK($);case"custom":return fK($);default:return""}}function CK(X){let $=X.fathom;if(!$?.siteId)return"";let Z=$.scriptUrl||"https://cdn.usefathom.com/script.js",Y=$.defer!==!1?" defer":"",J=[`data-site="${u0($.siteId)}"`];if($.honorDnt)J.push('data-honor-dnt="true"');if($.spa)J.push('data-spa="auto"');if($.canonical)J.push(`data-canonical="${u0($.canonical)}"`);if($.auto===!1)J.push('data-auto="false"');return`
3053
3053
  <!-- Fathom Analytics -->
3054
3054
  <script src="${u0(Z)}" ${J.join(" ")}${Y}></script>
3055
- `}function SK(X){let $=X.googleAnalytics;if(!$?.measurementId)return"";let Z=u0($.measurementId),Y=$.debug?`gtag('config', '${Z}', { 'debug_mode': true });`:"";return`
3055
+ `}function PK(X){let $=X.googleAnalytics;if(!$?.measurementId)return"";let Z=u0($.measurementId),Y=$.debug?`gtag('config', '${Z}', { 'debug_mode': true });`:"";return`
3056
3056
  <!-- Google Analytics -->
3057
3057
  <script async src="https://www.googletagmanager.com/gtag/js?id=${Z}"></script>
3058
3058
  <script>
@@ -3062,10 +3062,10 @@ else {
3062
3062
  gtag('config', '${Z}');
3063
3063
  ${Y}
3064
3064
  </script>
3065
- `}function CK(X){let $=X.plausible;if(!$?.domain)return"";let Z=$.scriptUrl||"https://plausible.io/js/script.js",Y=[`data-domain="${u0($.domain)}"`],J=Z,G=[];if($.trackLocalhost)G.push("local");if($.hashMode)G.push("hash");if(G.length>0&&Z==="https://plausible.io/js/script.js")J=`https://plausible.io/js/script.${G.join(".")}.js`;return`
3065
+ `}function vK(X){let $=X.plausible;if(!$?.domain)return"";let Z=$.scriptUrl||"https://plausible.io/js/script.js",Y=[`data-domain="${u0($.domain)}"`],J=Z,G=[];if($.trackLocalhost)G.push("local");if($.hashMode)G.push("hash");if(G.length>0&&Z==="https://plausible.io/js/script.js")J=`https://plausible.io/js/script.${G.join(".")}.js`;return`
3066
3066
  <!-- Plausible Analytics -->
3067
3067
  <script defer data-domain="${u0($.domain)}" src="${u0(J)}"></script>
3068
- `}function PK(X){let $=X.selfHosted;if(!$?.siteId||!$?.apiEndpoint)return"";let Z=u0($.siteId),Y=u0($.apiEndpoint),J=$.honorDnt?'if(n.doNotTrack==="1")return;':"",G=$.trackHashChanges?"w.addEventListener('hashchange',pv);":"",Q=$.trackOutboundLinks?`
3068
+ `}function xK(X){let $=X.selfHosted;if(!$?.siteId||!$?.apiEndpoint)return"";let Z=u0($.siteId),Y=u0($.apiEndpoint),J=$.honorDnt?'if(n.doNotTrack==="1")return;':"",G=$.trackHashChanges?"w.addEventListener('hashchange',pv);":"",Q=$.trackOutboundLinks?`
3069
3069
  d.addEventListener('click',function(e){
3070
3070
  var a=e.target.closest('a');
3071
3071
  if(a&&a.hostname!==location.hostname){
@@ -3098,7 +3098,7 @@ else {
3098
3098
  w.stxAnalytics={track:function(n,v){t('event',{name:n,value:v});}};
3099
3099
  })();
3100
3100
  </script>
3101
- `}function vK(X){let $=X.custom;if(!$)return"";if($.inlineScript)return`
3101
+ `}function fK(X){let $=X.custom;if(!$)return"";if($.inlineScript)return`
3102
3102
  <!-- Custom Analytics -->
3103
3103
  <script>
3104
3104
  ${$.inlineScript}
@@ -3106,7 +3106,7 @@ ${$.inlineScript}
3106
3106
  `;if(!$.scriptUrl)return"";let Z=[];if($.scriptId)Z.push(`id="${u0($.scriptId)}"`);if($.attributes)for(let[J,G]of Object.entries($.attributes))Z.push(`${u0(J)}="${u0(G)}"`);return`
3107
3107
  <!-- Custom Analytics -->
3108
3108
  <script${Z.length>0?` ${Z.join(" ")}`:""} src="${u0($.scriptUrl)}" defer></script>
3109
- `}function LZ(X,$){let Z=yK($);if(!Z)return X;if(!X.includes("</head>")){let Y=X.lastIndexOf("</body>");if(Y!==-1)return X.slice(0,Y)+Z+X.slice(Y);return X+Z}return X.replace("</head>",`${Z}</head>`)}function u0(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}var OZ=()=>{};function FZ(X){let $=X.match(/\bdefinePageMeta\s*\(\s*(\{[\s\S]*?\})\s*\)/m);if(!$)return null;try{return Function(`return ${$[1]}`)()}catch{return null}}function VZ(X){let $=X?.layout;if($===!1)return!1;return typeof $==="string"&&$.trim()?$.trim():void 0}function AZ(X,$){let Z=X.match(new RegExp(`${$}\\s*=\\s*"([^"]*)"`,"i"));if(Z)return Z[1];let Y=X.match(new RegExp(`${$}\\s*=\\s*'([^']*)'`,"i"));if(Y)return Y[1];return null}function fK(X){let $=[],Z=/<([a-z][a-z0-9-]*)\s+([^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,Y;while((Y=Z.exec(X))!==null){let[J,G,Q]=Y,w=Y.index,q=AZ(Q,"x-data");if(!q)continue;let W=`__stx_scope_${TZ++}`,U=AZ(Q,"x-init"),K=gK(X,G,w+J.length),z=X.slice(w,K.endIndex),B=hK(z);$.push({id:W,selector:`[data-stx-scope="${W}"]`,stateExpr:q,initExpr:U,bindings:[],refs:B})}return $}function gK(X,$,Z){let Y=1,J=Z,G=new RegExp(`<${$}(?:\\s|>)`,"gi"),Q=new RegExp(`</${$}>`,"gi"),w=new RegExp(`<${$}[^>]*/\\s*>`,"gi");while(Y>0&&J<X.length){G.lastIndex=J,Q.lastIndex=J,w.lastIndex=J;let q=G.exec(X),W=Q.exec(X),U=w.exec(X);if(U&&U.index<(q?.index??1/0)){J=U.index+U[0].length;continue}if(!W)return{endIndex:X.length};if(q&&q.index<W.index)Y++,J=q.index+q[0].length;else{if(Y--,Y===0)return{endIndex:W.index+W[0].length};J=W.index+W[0].length}}return{endIndex:X.length}}function hK(X){let $=new Map,Z=X.replace(/x-data\s*=\s*"[^"]*"/gi,'x-data="__stripped__"').replace(/x-data\s*=\s*'[^']*'/gi,"x-data='__stripped__'"),Y=/<[a-z][a-z0-9-]*\s+([^>]*x-ref\s*=\s*["']([^"']*)["'][^>]*)>/gi,J;while((J=Y.exec(Z))!==null){let[,G,Q]=J,w=uK(G);$.set(Q,w)}return $}function uK(X){let $=X.match(/\bid\s*=\s*["']([^"']*)["']/);if($)return $[1];return`__stx_el_${xK++}`}function dK(){return`
3109
+ `}function OZ(X,$){let Z=SK($);if(!Z)return X;if(!X.includes("</head>")){let Y=X.lastIndexOf("</body>");if(Y!==-1)return X.slice(0,Y)+Z+X.slice(Y);return X+Z}return X.replace("</head>",`${Z}</head>`)}function u0(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}var FZ=()=>{};function VZ(X){let $=X.match(/\bdefinePageMeta\s*\(\s*(\{[\s\S]*?\})\s*\)/m);if(!$)return null;try{return Function(`return ${$[1]}`)()}catch{return null}}function AZ(X){let $=X?.layout;if($===!1)return!1;return typeof $==="string"&&$.trim()?$.trim():void 0}function RZ(X,$){let Z=X.match(new RegExp(`${$}\\s*=\\s*"([^"]*)"`,"i"));if(Z)return Z[1];let Y=X.match(new RegExp(`${$}\\s*=\\s*'([^']*)'`,"i"));if(Y)return Y[1];return null}function hK(X){let $=[],Z=/<([a-z][a-z0-9-]*)\s+([^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,Y;while((Y=Z.exec(X))!==null){let[J,G,Q]=Y,w=Y.index,q=RZ(Q,"x-data");if(!q)continue;let W=`__stx_scope_${MZ++}`,U=RZ(Q,"x-init"),K=uK(X,G,w+J.length),z=X.slice(w,K.endIndex),B=dK(z);$.push({id:W,selector:`[data-stx-scope="${W}"]`,stateExpr:q,initExpr:U,bindings:[],refs:B})}return $}function uK(X,$,Z){let Y=1,J=Z,G=new RegExp(`<${$}(?:\\s|>)`,"gi"),Q=new RegExp(`</${$}>`,"gi"),w=new RegExp(`<${$}[^>]*/\\s*>`,"gi");while(Y>0&&J<X.length){G.lastIndex=J,Q.lastIndex=J,w.lastIndex=J;let q=G.exec(X),W=Q.exec(X),U=w.exec(X);if(U&&U.index<(q?.index??1/0)){J=U.index+U[0].length;continue}if(!W)return{endIndex:X.length};if(q&&q.index<W.index)Y++,J=q.index+q[0].length;else{if(Y--,Y===0)return{endIndex:W.index+W[0].length};J=W.index+W[0].length}}return{endIndex:X.length}}function dK(X){let $=new Map,Z=X.replace(/x-data\s*=\s*"[^"]*"/gi,'x-data="__stripped__"').replace(/x-data\s*=\s*'[^']*'/gi,"x-data='__stripped__'"),Y=/<[a-z][a-z0-9-]*\s+([^>]*x-ref\s*=\s*["']([^"']*)["'][^>]*)>/gi,J;while((J=Y.exec(Z))!==null){let[,G,Q]=J,w=mK(G);$.set(Q,w)}return $}function mK(X){let $=X.match(/\bid\s*=\s*["']([^"']*)["']/);if($)return $[1];return`__stx_el_${gK++}`}function lK(){return`
3110
3110
  // STX Reactive Runtime - x-cloak and transition CSS
3111
3111
  (function() {
3112
3112
  var style = document.createElement('style');
@@ -3313,7 +3313,7 @@ window.__stx_reactive = (function() {
3313
3313
 
3314
3314
  return { initScope: initScope, reactive: reactive };
3315
3315
  })();
3316
- `}function RZ(X,$){let Z=X.replace(/\{!!([\s\S]*?)!!\}/g,(w,q)=>{try{let W=v0(q,$,!0);if(W===void 0)return w;return String(W)}catch{return w}}),Y="",J=0,G=null;while(J<Z.length){let w=Z[J];if(G&&w==="\\"){Y+=w+(Z[J+1]??""),J+=2;continue}if(w==="{"&&Z[J+1]==="{"){let q=Z.indexOf("}}",J+2);if(q!==-1){let W=Z.slice(J,q+2);Y+=Q(Z.slice(J+2,q),W,G),J=q+2;continue}}if(G){if(w===G)G=null}else if(w==="'"||w==='"'||w==="`")G=w;Y+=w,J++}return Y;function Q(w,q,W){let U;try{U=v0(w,$,!0)}catch{return q}if(U===void 0)return q;if(W){let K=String(U).replace(/\\/g,"\\\\").replace(new RegExp(W==="`"?"`":W,"g"),`\\${W}`).replace(/\r/g,"\\r").replace(/\n/g,"\\n");return W==="`"?K.replace(/\$\{/g,"\\${"):K}if(typeof U==="string"){let K=U.trim();if(K.startsWith("{")&&K.endsWith("}")||K.startsWith("[")&&K.endsWith("]"))try{return JSON.parse(K),K}catch{}}return JSON.stringify(U)}}function mK(X,$){if(X.length===0)return"";let Z=X.map((Y)=>{let J=JSON.stringify(Object.fromEntries(Y.refs)),G=RZ(Y.stateExpr,$),Q=Y.initExpr?RZ(Y.initExpr,$):null,w=JSON.stringify(G),q=Q?JSON.stringify(Q):"null";return`
3316
+ `}function TZ(X,$){let Z=X.replace(/\{!!([\s\S]*?)!!\}/g,(w,q)=>{try{let W=v0(q,$,!0);if(W===void 0)return w;return String(W)}catch{return w}}),Y="",J=0,G=null;while(J<Z.length){let w=Z[J];if(G&&w==="\\"){Y+=w+(Z[J+1]??""),J+=2;continue}if(w==="{"&&Z[J+1]==="{"){let q=Z.indexOf("}}",J+2);if(q!==-1){let W=Z.slice(J,q+2);Y+=Q(Z.slice(J+2,q),W,G),J=q+2;continue}}if(G){if(w===G)G=null}else if(w==="'"||w==='"'||w==="`")G=w;Y+=w,J++}return Y;function Q(w,q,W){let U;try{U=v0(w,$,!0)}catch{return q}if(U===void 0)return q;if(W){let K=String(U).replace(/\\/g,"\\\\").replace(new RegExp(W==="`"?"`":W,"g"),`\\${W}`).replace(/\r/g,"\\r").replace(/\n/g,"\\n");return W==="`"?K.replace(/\$\{/g,"\\${"):K}if(typeof U==="string"){let K=U.trim();if(K.startsWith("{")&&K.endsWith("}")||K.startsWith("[")&&K.endsWith("]"))try{return JSON.parse(K),K}catch{}}return JSON.stringify(U)}}function cK(X,$){if(X.length===0)return"";let Z=X.map((Y)=>{let J=JSON.stringify(Object.fromEntries(Y.refs)),G=TZ(Y.stateExpr,$),Q=Y.initExpr?TZ(Y.initExpr,$):null,w=JSON.stringify(G),q=Q?JSON.stringify(Q):"null";return`
3317
3317
  (function() {
3318
3318
  var scopeEl = document.querySelector('${Y.selector}');
3319
3319
  if (!scopeEl) return;
@@ -3322,42 +3322,42 @@ window.__stx_reactive = (function() {
3322
3322
  })();`}).join(`
3323
3323
  `);return`
3324
3324
  <script data-stx-scoped data-stx-reactive data-stx-run="always">
3325
- ${dK()}
3325
+ ${lK()}
3326
3326
  ${Z}
3327
- </script>`}function MZ(X,$,Z){if(TZ=0,!cK(X))return X;let Y=fK(X);if(Y.length===0)return X;let J=lK(X,Y),G=mK(Y,$),Q=J.lastIndexOf("</body>");if(Q!==-1)J=J.slice(0,Q)+G+`
3328
- `+J.slice(Q);else J+=G;return J}function lK(X,$){let Z=0,Y=X.replace(/<([a-z][a-z0-9-]*)(\s+[^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,(J,G,Q)=>{let w=$[Z++];if(!w)return J;let q=/data-stx-scope="([^"]*)"/.exec(Q);if(q)return w.id=q[1],w.selector=`[data-stx-scope="${w.id}"]`,J;return`<${G} data-stx-scope="${w.id}"${Q}>`});return Y=Y.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),Y=Y.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),Y=Y.replace(/\s*x-init\s*=\s*"[^"]*"/g,""),Y=Y.replace(/\s*x-init\s*=\s*'[^']*'/g,""),Y}function cK(X){return/x-data\s*=\s*["']/.test(X)}var TZ=0,xK=0;var NZ=D(()=>{w1()});import pK from"fs";import W9 from"path";import{createHighlighter as iK}from"ts-syntax-highlighter";async function nK(X,$={}){try{if(!await i(X))throw Error(`Markdown file not found: ${X}`);let Y=(await pK.promises.stat(X)).mtime.getTime();if($.cache&&U9.has(X)){let K=U9.get(X);if(K.updatedAt>=Y)return{content:K.content,data:K.data}}let J=await Bun.file(X).text(),{data:G,content:Q}=HX(J),w=$.markdown||k7.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},W=r1(Q,{gfm:!0});if(w.syntaxHighlighting?.enabled&&w.syntaxHighlighting?.serverSide)W=await rK(W,w.syntaxHighlighting?.defaultTheme||"github-dark",w.syntaxHighlighting?.highlightUnknownLanguages||!1);let U={content:W,data:G||{}};if($.cache)U9.set(X,{...U,updatedAt:Y});return U}catch(Z){if($.debug)console.error(`Error reading/parsing markdown file ${X}:`,Z);let Y=Z instanceof Error?Z.message:String(Z);return{content:K0("Markdown File",`Error reading/parsing markdown file: ${Y}`,X,"",0,""),data:{}}}}async function rK(X,$,Z){let Y=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!bX)try{bX=await iK({theme:$||"github-dark",cache:!0})}catch(w){return console.error("Failed to initialize ts-syntax-highlighter:",w),X}let J=async(w,q,W,U)=>{let K=U.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#39;/g,"'"),z=W||(Z?"text":"");if(!z)return w;try{if(!bX.getSupportedLanguages().includes(z))return w;return(await bX.highlight(K,z,{theme:$})).html}catch(B){console.error(`Error highlighting code block with language ${W}:`,B)}return w},G=X,Q=X.matchAll(Y);for(let w of Q){let[q,W,U,K]=w,z=await J(q,W,U,K);G=G.replace(q,z)}return G}async function kZ(X,$,Z="",Y={}){return await sK(X,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(Q,w,q,W)=>{try{let U=w;if(!W9.isAbsolute(w))U=W9.resolve(W9.dirname(Z),w);let K={};if(q)try{try{K=JSON.parse(q)}catch{if(Y.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(),T=R.startsWith('"')&&R.endsWith('"'),M=R.startsWith("'")&&R.endsWith("'");if(T||M)R=R.substring(1,R.length-1);K[A]=R}}}}catch(L){if(Y.debug)console.error("Error parsing context in @markdown-file directive:",L)}let{content:z,data:B}=await nK(U,Y),_={...$,...B,...K},j=z,H=/\{\{([^}]+)\}\}/g;return j=j.replace(H,(L,O)=>{let F=O.trim();return _[F]!==void 0?String(_[F]):L}),j}catch(U){let K=U instanceof Error?U.message:String(U);return K0("Markdown File",`Error including markdown file: ${K}`,Z,X,W,Q)}})}async function sK(X,$,Z){let Y=[],J;while((J=$.exec(X))!==null){let w=J[0],q=J.index,W=J;Y.push(Z(...W).then((U)=>({match:w,replacement:U,index:q})))}let G=await Promise.all(Y);G.sort((w,q)=>q.index-w.index);let Q=X;for(let{match:w,replacement:q}of G)Q=Q.replace(w,()=>q);return Q}var U9,bX=null;var IZ=D(()=>{H1();T0();U9=new Map});function C1(X,$){try{let Z=X.trim();if(q0(Z))return W0(Z,Object.keys($))(...Object.values($));else return Y0(Z,$)}catch{return!1}}var EZ=D(()=>{F0()});function K9(X){for(let[$,Z]of Object.entries(o))if(Z===X)return $;return}var o;var SX=D(()=>{o={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 CX(){return!1}import oK from"path";function PX(){return{...z9}}function vX(X){if(!z9.showRelativePaths||!X)return X;let $=z9.baseDir||process.cwd();try{let Z=oK.relative($,X);return Z.startsWith("..")?X:Z}catch{return X}}var aK,z9,xX,Y5,fX;var gX=D(()=>{SX();aK={showRelativePaths:!1,enableAutoRecovery:P7(),logRecoveryWarnings:!0},z9={...aK};xX=class xX extends Error{code;filePath;line;column;context;numericCode;constructor(X,$,Z,Y,J,G,Q){super(X);this.code=$;this.filePath=Z;this.line=Y;this.column=J;this.context=G;if(this.name="StxError",this.numericCode=Q||o.EVALUATION_ERROR,this.filePath)this.filePath=vX(this.filePath)}};Y5=class Y5 extends xX{constructor(X,$,Z,Y,J,G){super(X,"stx_RUNTIME_ERROR",$,Z,Y,J,G||o.EVALUATION_ERROR);this.name="StxRuntimeError"}};fX=class fX extends xX{isFatal=!0;constructor(X,$,Z,Y,J,G){super(X,"stx_VALIDATION_ERROR",$,Z,Y,J,G||o.DOM_API_VIOLATION);this.name="StxValidationError"}}});function yZ(X){let{type:$,message:Z,code:Y,filePath:J,line:G,column:Q,template:w,offset:q,snippet:W,suggestion:U,format:K="text"}=X,z=G,B=Q;if(!z&&w&&q!==void 0){let O=Yz(w,q);z=O.line,B=O.column}let _=J?vX(J):void 0,j=Y?K9(Y):void 0,H={type:$,code:Y,codeName:j,message:Z,filePath:_,line:z,column:B,snippet:W,suggestion:U,timestamp:new Date().toISOString()},L;switch(K){case"html":L=eK(H);break;case"json":L=JSON.stringify(H,null,2);break;case"console":L=Xz(H,w,q);break;case"text":default:L=tK(H,w,q);break}return{formatted:L,data:H}}function tK(X,$,Z){let Y=[],J=X.code?` [${X.codeName||X.code}]`:"";if(Y.push(`[${X.type} Error${J}]`),X.filePath){let G=X.filePath;if(X.line){if(G+=`:${X.line}`,X.column)G+=`:${X.column}`}Y.push(`at ${G}`)}if(Y.push(`
3329
- ${X.message}`),$&&X.line){let G=$z($,X.line,2);if(G)Y.push(`
3327
+ </script>`}function NZ(X,$,Z){if(MZ=0,!iK(X))return X;let Y=hK(X);if(Y.length===0)return X;let J=pK(X,Y),G=cK(Y,$),Q=J.lastIndexOf("</body>");if(Q!==-1)J=J.slice(0,Q)+G+`
3328
+ `+J.slice(Q);else J+=G;return J}function pK(X,$){let Z=0,Y=X.replace(/<([a-z][a-z0-9-]*)(\s+[^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,(J,G,Q)=>{let w=$[Z++];if(!w)return J;let q=/data-stx-scope="([^"]*)"/.exec(Q);if(q)return w.id=q[1],w.selector=`[data-stx-scope="${w.id}"]`,J;return`<${G} data-stx-scope="${w.id}"${Q}>`});return Y=Y.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),Y=Y.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),Y=Y.replace(/\s*x-init\s*=\s*"[^"]*"/g,""),Y=Y.replace(/\s*x-init\s*=\s*'[^']*'/g,""),Y}function iK(X){return/x-data\s*=\s*["']/.test(X)}var MZ=0,gK=0;var kZ=D(()=>{w1()});import nK from"fs";import W9 from"path";import{createHighlighter as rK}from"ts-syntax-highlighter";async function sK(X,$={}){try{if(!await i(X))throw Error(`Markdown file not found: ${X}`);let Y=(await nK.promises.stat(X)).mtime.getTime();if($.cache&&U9.has(X)){let K=U9.get(X);if(K.updatedAt>=Y)return{content:K.content,data:K.data}}let J=await Bun.file(X).text(),{data:G,content:Q}=HX(J),w=$.markdown||k7.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},W=r1(Q,{gfm:!0});if(w.syntaxHighlighting?.enabled&&w.syntaxHighlighting?.serverSide)W=await oK(W,w.syntaxHighlighting?.defaultTheme||"github-dark",w.syntaxHighlighting?.highlightUnknownLanguages||!1);let U={content:W,data:G||{}};if($.cache)U9.set(X,{...U,updatedAt:Y});return U}catch(Z){if($.debug)console.error(`Error reading/parsing markdown file ${X}:`,Z);let Y=Z instanceof Error?Z.message:String(Z);return{content:K0("Markdown File",`Error reading/parsing markdown file: ${Y}`,X,"",0,""),data:{}}}}async function oK(X,$,Z){let Y=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!bX)try{bX=await rK({theme:$||"github-dark",cache:!0})}catch(w){return console.error("Failed to initialize ts-syntax-highlighter:",w),X}let J=async(w,q,W,U)=>{let K=U.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#39;/g,"'"),z=W||(Z?"text":"");if(!z)return w;try{if(!bX.getSupportedLanguages().includes(z))return w;return(await bX.highlight(K,z,{theme:$})).html}catch(B){console.error(`Error highlighting code block with language ${W}:`,B)}return w},G=X,Q=X.matchAll(Y);for(let w of Q){let[q,W,U,K]=w,z=await J(q,W,U,K);G=G.replace(q,z)}return G}async function IZ(X,$,Z="",Y={}){return await aK(X,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(Q,w,q,W)=>{try{let U=w;if(!W9.isAbsolute(w))U=W9.resolve(W9.dirname(Z),w);let K={};if(q)try{try{K=JSON.parse(q)}catch{if(Y.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(),T=R.startsWith('"')&&R.endsWith('"'),M=R.startsWith("'")&&R.endsWith("'");if(T||M)R=R.substring(1,R.length-1);K[A]=R}}}}catch(L){if(Y.debug)console.error("Error parsing context in @markdown-file directive:",L)}let{content:z,data:B}=await sK(U,Y),_={...$,...B,...K},j=z,H=/\{\{([^}]+)\}\}/g;return j=j.replace(H,(L,O)=>{let F=O.trim();return _[F]!==void 0?String(_[F]):L}),j}catch(U){let K=U instanceof Error?U.message:String(U);return K0("Markdown File",`Error including markdown file: ${K}`,Z,X,W,Q)}})}async function aK(X,$,Z){let Y=[],J;while((J=$.exec(X))!==null){let w=J[0],q=J.index,W=J;Y.push(Z(...W).then((U)=>({match:w,replacement:U,index:q})))}let G=await Promise.all(Y);G.sort((w,q)=>q.index-w.index);let Q=X;for(let{match:w,replacement:q}of G)Q=Q.replace(w,()=>q);return Q}var U9,bX=null;var EZ=D(()=>{H1();T0();U9=new Map});function C1(X,$){try{let Z=X.trim();if(q0(Z))return W0(Z,Object.keys($))(...Object.values($));else return Y0(Z,$)}catch{return!1}}var DZ=D(()=>{F0()});function K9(X){for(let[$,Z]of Object.entries(o))if(Z===X)return $;return}var o;var SX=D(()=>{o={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 CX(){return!1}import tK from"path";function PX(){return{...z9}}function vX(X){if(!z9.showRelativePaths||!X)return X;let $=z9.baseDir||process.cwd();try{let Z=tK.relative($,X);return Z.startsWith("..")?X:Z}catch{return X}}var eK,z9,xX,Y5,fX;var gX=D(()=>{SX();eK={showRelativePaths:!1,enableAutoRecovery:P7(),logRecoveryWarnings:!0},z9={...eK};xX=class xX extends Error{code;filePath;line;column;context;numericCode;constructor(X,$,Z,Y,J,G,Q){super(X);this.code=$;this.filePath=Z;this.line=Y;this.column=J;this.context=G;if(this.name="StxError",this.numericCode=Q||o.EVALUATION_ERROR,this.filePath)this.filePath=vX(this.filePath)}};Y5=class Y5 extends xX{constructor(X,$,Z,Y,J,G){super(X,"stx_RUNTIME_ERROR",$,Z,Y,J,G||o.EVALUATION_ERROR);this.name="StxRuntimeError"}};fX=class fX extends xX{isFatal=!0;constructor(X,$,Z,Y,J,G){super(X,"stx_VALIDATION_ERROR",$,Z,Y,J,G||o.DOM_API_VIOLATION);this.name="StxValidationError"}}});function bZ(X){let{type:$,message:Z,code:Y,filePath:J,line:G,column:Q,template:w,offset:q,snippet:W,suggestion:U,format:K="text"}=X,z=G,B=Q;if(!z&&w&&q!==void 0){let O=Gz(w,q);z=O.line,B=O.column}let _=J?vX(J):void 0,j=Y?K9(Y):void 0,H={type:$,code:Y,codeName:j,message:Z,filePath:_,line:z,column:B,snippet:W,suggestion:U,timestamp:new Date().toISOString()},L;switch(K){case"html":L=$z(H);break;case"json":L=JSON.stringify(H,null,2);break;case"console":L=Zz(H,w,q);break;case"text":default:L=Xz(H,w,q);break}return{formatted:L,data:H}}function Xz(X,$,Z){let Y=[],J=X.code?` [${X.codeName||X.code}]`:"";if(Y.push(`[${X.type} Error${J}]`),X.filePath){let G=X.filePath;if(X.line){if(G+=`:${X.line}`,X.column)G+=`:${X.column}`}Y.push(`at ${G}`)}if(Y.push(`
3329
+ ${X.message}`),$&&X.line){let G=Yz($,X.line,2);if(G)Y.push(`
3330
3330
  ${G}`)}if(X.snippet)Y.push(`
3331
3331
  Snippet: ${X.snippet}`);if(X.suggestion)Y.push(`
3332
- Suggestion: ${X.suggestion}`);return Y.join(" ")}function eK(X){let $=X.code?` [${X.code}]`:"",Z=X.filePath?` in ${X.filePath}${X.line?`:${X.line}`:""}`:"",Y=`<!-- [${X.type} Error${$}]${Z}: ${DZ(X.message)}`;if(X.suggestion)Y+=` | Suggestion: ${DZ(X.suggestion)}`;return Y+=" -->",Y}function Xz(X,$,Z){let W=[],U=X.code?` [${X.codeName||X.code}]`:"";if(W.push(`\x1B[1m${"\x1B[31m"}\u2501\u2501\u2501 ${X.type} Error${U} \u2501\u2501\u2501${"\x1B[0m"}`),X.filePath){let K=`\x1B[36m${X.filePath}\x1B[0m`;if(X.line){if(K+=`\x1B[90m:${X.line}\x1B[0m`,X.column)K+=`\x1B[90m:${X.column}\x1B[0m`}W.push(`
3332
+ Suggestion: ${X.suggestion}`);return Y.join(" ")}function $z(X){let $=X.code?` [${X.code}]`:"",Z=X.filePath?` in ${X.filePath}${X.line?`:${X.line}`:""}`:"",Y=`<!-- [${X.type} Error${$}]${Z}: ${yZ(X.message)}`;if(X.suggestion)Y+=` | Suggestion: ${yZ(X.suggestion)}`;return Y+=" -->",Y}function Zz(X,$,Z){let W=[],U=X.code?` [${X.codeName||X.code}]`:"";if(W.push(`\x1B[1m${"\x1B[31m"}\u2501\u2501\u2501 ${X.type} Error${U} \u2501\u2501\u2501${"\x1B[0m"}`),X.filePath){let K=`\x1B[36m${X.filePath}\x1B[0m`;if(X.line){if(K+=`\x1B[90m:${X.line}\x1B[0m`,X.column)K+=`\x1B[90m:${X.column}\x1B[0m`}W.push(`
3333
3333
  \x1B[90mat\x1B[0m ${K}`)}if(W.push(`
3334
3334
 
3335
- ${X.message}`),$&&X.line){let K=Zz($,X.line,2);if(K)W.push(`
3335
+ ${X.message}`),$&&X.line){let K=Jz($,X.line,2);if(K)W.push(`
3336
3336
 
3337
3337
  \x1B[90mContext:\x1B[0m
3338
3338
  ${K}`)}if(X.suggestion)W.push(`
3339
3339
 
3340
3340
  \x1B[33mSuggestion:\x1B[0m ${X.suggestion}`);return W.push(`
3341
- ${"\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 $z(X,$,Z){let Y=X.split(`
3341
+ ${"\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 Yz(X,$,Z){let Y=X.split(`
3342
3342
  `),J=Math.max(0,$-Z-1),G=Math.min(Y.length-1,$+Z-1),Q=[];for(let w=J;w<=G;w++){let q=(w+1).toString().padStart(4),W=w===$-1?">":" ";Q.push(`${W}${q} | ${Y[w]}`)}return Q.join(`
3343
- `)}function Zz(X,$,Z){let Y=X.split(`
3343
+ `)}function Jz(X,$,Z){let Y=X.split(`
3344
3344
  `),J=Math.max(0,$-Z-1),G=Math.min(Y.length-1,$+Z-1),Q="\x1B[90m",w="\x1B[31m",q="\x1B[0m",W=[];for(let U=J;U<=G;U++){let K=(U+1).toString().padStart(4),z=U===$-1,B=z?"\x1B[31m>\x1B[0m":" ",_=z?`\x1B[31m${Y[U]}\x1B[0m`:`\x1B[90m${Y[U]}\x1B[0m`;W.push(`${B}\x1B[90m${K}\x1B[0m | ${_}`)}return W.join(`
3345
- `)}function DZ(X){return X.replace(/--/g,"- -").replace(/>/g,"&gt;")}function Yz(X,$){let Y=X.substring(0,$).split(`
3346
- `);return{line:Y.length,column:Y[Y.length-1].length}}function $0(X,$,Z){return yZ({type:X,message:$,code:Z,format:"html"}).formatted}async function v5(X,$,Z){try{return await X()}catch(Y){if(Z&&Y instanceof Error)Z(Y);return $}}var bZ=D(()=>{SX();gX()});class B9{errors=[];maxErrors;enableFileLogging;logFilePath;logFormat;maxFileSize;maxLogFiles;minLevel;writeQueue=Promise.resolve();constructor(X={}){this.maxErrors=X.maxErrors??1000,this.enableFileLogging=X.enableFileLogging??!1,this.logFilePath=X.logFilePath??".stx/errors.log",this.logFormat=X.logFormat??"json",this.maxFileSize=X.maxFileSize??10485760,this.maxLogFiles=X.maxLogFiles??5,this.minLevel=X.minLevel??"all"}configure(X){if(X.maxErrors!==void 0)this.maxErrors=X.maxErrors;if(X.enableFileLogging!==void 0)this.enableFileLogging=X.enableFileLogging;if(X.logFilePath!==void 0)this.logFilePath=X.logFilePath;if(X.logFormat!==void 0)this.logFormat=X.logFormat;if(X.maxFileSize!==void 0)this.maxFileSize=X.maxFileSize;if(X.maxLogFiles!==void 0)this.maxLogFiles=X.maxLogFiles;if(X.minLevel!==void 0)this.minLevel=X.minLevel}log(X,$,Z="error"){let Y={timestamp:new Date,error:X,context:$,level:Z};if(this.errors.push(Y),this.errors.length>this.maxErrors)this.errors=this.errors.slice(-this.maxErrors);if(this.enableFileLogging&&this.shouldLog(Z))this.writeToFile(Y)}shouldLog(X){if(this.minLevel==="all")return!0;if(this.minLevel==="warning")return X==="error"||X==="warning";if(this.minLevel==="error")return X==="error";return!0}formatEntry(X){if(this.logFormat==="json")return JSON.stringify({timestamp:X.timestamp.toISOString(),level:X.level||"error",type:X.error.constructor.name,message:X.error.message,stack:X.error.stack,context:X.context});let $=[`[${X.timestamp.toISOString()}] [${(X.level||"error").toUpperCase()}] ${X.error.constructor.name}: ${X.error.message}`];if(X.error.stack)$.push(` Stack: ${X.error.stack.split(`
3345
+ `)}function yZ(X){return X.replace(/--/g,"- -").replace(/>/g,"&gt;")}function Gz(X,$){let Y=X.substring(0,$).split(`
3346
+ `);return{line:Y.length,column:Y[Y.length-1].length}}function $0(X,$,Z){return bZ({type:X,message:$,code:Z,format:"html"}).formatted}async function v5(X,$,Z){try{return await X()}catch(Y){if(Z&&Y instanceof Error)Z(Y);return $}}var SZ=D(()=>{SX();gX()});class B9{errors=[];maxErrors;enableFileLogging;logFilePath;logFormat;maxFileSize;maxLogFiles;minLevel;writeQueue=Promise.resolve();constructor(X={}){this.maxErrors=X.maxErrors??1000,this.enableFileLogging=X.enableFileLogging??!1,this.logFilePath=X.logFilePath??".stx/errors.log",this.logFormat=X.logFormat??"json",this.maxFileSize=X.maxFileSize??10485760,this.maxLogFiles=X.maxLogFiles??5,this.minLevel=X.minLevel??"all"}configure(X){if(X.maxErrors!==void 0)this.maxErrors=X.maxErrors;if(X.enableFileLogging!==void 0)this.enableFileLogging=X.enableFileLogging;if(X.logFilePath!==void 0)this.logFilePath=X.logFilePath;if(X.logFormat!==void 0)this.logFormat=X.logFormat;if(X.maxFileSize!==void 0)this.maxFileSize=X.maxFileSize;if(X.maxLogFiles!==void 0)this.maxLogFiles=X.maxLogFiles;if(X.minLevel!==void 0)this.minLevel=X.minLevel}log(X,$,Z="error"){let Y={timestamp:new Date,error:X,context:$,level:Z};if(this.errors.push(Y),this.errors.length>this.maxErrors)this.errors=this.errors.slice(-this.maxErrors);if(this.enableFileLogging&&this.shouldLog(Z))this.writeToFile(Y)}shouldLog(X){if(this.minLevel==="all")return!0;if(this.minLevel==="warning")return X==="error"||X==="warning";if(this.minLevel==="error")return X==="error";return!0}formatEntry(X){if(this.logFormat==="json")return JSON.stringify({timestamp:X.timestamp.toISOString(),level:X.level||"error",type:X.error.constructor.name,message:X.error.message,stack:X.error.stack,context:X.context});let $=[`[${X.timestamp.toISOString()}] [${(X.level||"error").toUpperCase()}] ${X.error.constructor.name}: ${X.error.message}`];if(X.error.stack)$.push(` Stack: ${X.error.stack.split(`
3347
3347
  `).slice(1).join(`
3348
3348
  `)}`);if(X.context)$.push(` Context: ${JSON.stringify(X.context)}`);return $.join(`
3349
3349
  `)}writeToFile(X){this.writeQueue=this.writeQueue.then(async()=>{try{let $=await import("fs"),Y=(await import("path")).dirname(this.logFilePath);if(!$.existsSync(Y))$.mkdirSync(Y,{recursive:!0});await this.rotateIfNeeded($);let J=`${this.formatEntry(X)}
3350
3350
  `;$.appendFileSync(this.logFilePath,J,"utf-8")}catch($){if(process.env.STX_DEBUG==="true")console.error("Failed to write to error log:",$)}})}async rotateIfNeeded(X){try{if(!X.existsSync(this.logFilePath))return;if(X.statSync(this.logFilePath).size<this.maxFileSize)return;for(let Z=this.maxLogFiles-1;Z>=1;Z--){let Y=`${this.logFilePath}.${Z}`,J=`${this.logFilePath}.${Z+1}`;if(X.existsSync(Y))if(Z>=this.maxLogFiles-1)X.unlinkSync(Y);else X.renameSync(Y,J)}if(this.maxLogFiles<=1)X.writeFileSync(this.logFilePath,"");else X.renameSync(this.logFilePath,`${this.logFilePath}.1`)}catch($){if(process.env.STX_DEBUG==="true")console.error("Failed to rotate error logs:",$)}}getRecentErrors(X=10){return this.errors.slice(-X)}getErrorsByType(X){return this.errors.filter(($)=>$.error.constructor.name===X)}getErrorsByLevel(X){return this.errors.filter(($)=>$.level===X)}clear(){this.errors.length=0}async clearLogFile(){try{let X=await import("fs");if(X.existsSync(this.logFilePath))X.writeFileSync(this.logFilePath,"","utf-8")}catch(X){if(process.env.STX_DEBUG==="true")console.error("Failed to clear error log:",X)}}getStats(){let X={},$={error:0,warning:0,info:0};for(let Z of this.errors){let Y=Z.error.constructor.name;X[Y]=(X[Y]||0)+1;let J=Z.level||"error";$[J]=($[J]||0)+1}return{total:this.errors.length,byType:X,byLevel:$}}async exportToFile(X,$="json"){let Z=await import("fs"),J=(await import("path")).dirname(X);if(!Z.existsSync(J))Z.mkdirSync(J,{recursive:!0});if($==="json"){let G=this.errors.map((Q)=>({timestamp:Q.timestamp.toISOString(),level:Q.level||"error",type:Q.error.constructor.name,message:Q.error.message,stack:Q.error.stack,context:Q.context}));Z.writeFileSync(X,JSON.stringify(G,null,2),"utf-8")}else{let G=this.errors.map((Q)=>this.formatEntry(Q));Z.writeFileSync(X,G.join(`
3351
3351
 
3352
- `),"utf-8")}}async flush(){await this.writeQueue}}var _9,$1,j9;var SZ=D(()=>{gX();_9={isEnabled(){return PX().enableAutoRecovery},fixCommonSyntaxErrors(X){let $=PX();if(!$.enableAutoRecovery)return{fixed:X,fixes:[]};let Z=X,Y=[],J=(Z.match(/\{\{/g)||[]).length,G=(Z.match(/\}\}/g)||[]).length;if(J>G){let w=J-G;Z+="}}".repeat(w),Y.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 U=q-W;for(let K=0;K<U;K++)Z+=`
3352
+ `),"utf-8")}}async flush(){await this.writeQueue}}var _9,$1,j9;var CZ=D(()=>{gX();_9={isEnabled(){return PX().enableAutoRecovery},fixCommonSyntaxErrors(X){let $=PX();if(!$.enableAutoRecovery)return{fixed:X,fixes:[]};let Z=X,Y=[],J=(Z.match(/\{\{/g)||[]).length,G=(Z.match(/\}\}/g)||[]).length;if(J>G){let w=J-G;Z+="}}".repeat(w),Y.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 U=q-W;for(let K=0;K<U;K++)Z+=`
3353
3353
  @end${w}`;Y.push(`Added ${U} missing @end${w}`)}}if(Y.length>0&&$.logRecoveryWarnings)console.warn("[stx] Auto-recovery applied fixes:"),Y.forEach((w)=>console.warn(` - ${w}`)),console.warn(" Consider fixing these issues in your template.");return{fixed:Z,fixes:Y}},createFallbackContent(X,$){if(P7())return`<!-- ${X} failed: ${$.message} -->`;return"<!-- stx rendering error -->"}};$1=new B9,j9={isDevelopment(){return P7()},logDetailedError(X,$){if(!this.isDevelopment())return;if(console.error("=== stx Detailed Error ==="),console.error("Error:",X.message),console.error("Stack:",X.stack),$)console.error("Context:",$);console.error("========================")},createErrorReport(X,$){let Z=["=== stx Error Report ===",`Time: ${new Date().toISOString()}`,`Error: ${X.message}`,`Type: ${X.constructor.name}`,`Stack: ${X.stack}`];if($)Z.push(`Context: ${JSON.stringify($,null,2)}`);return Z.push("========================"),Z.join(`
3354
- `)}}});var CZ=()=>{};var PZ=D(()=>{SX();bZ();SZ();CZ();gX()});var F1=D(()=>{PZ()});function N0(X,$,Z,Y=0){let J=0,G=Y,Q=null,w=0,q=!1;while(G<X.length){let W=X[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==="$"&&X[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===$)J++;else if(W===Z){if(J--,J===0)return G}G++}return-1}function P1(X,$){let Z=Jz(X,$);return Z.ok?{expression:Z.expression,endPos:Z.endPos}:null}function Jz(X,$){let Z=$;while(Z<X.length&&/\s/.test(X[Z]))Z++;if(X[Z]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Z};let Y=N0(X,"(",")",Z);if(Y===-1)return{ok:!1,reason:"unclosed-paren",pos:Z};return{ok:!0,expression:X.slice(Z+1,Y),endPos:Y+1}}function Gz(X,$){let Z=X.lastIndexOf("<",$);if(Z===-1)return!1;return Z>X.lastIndexOf(">",$)}function J5(X,$,Z,Y){let J=1,G=Y,Q=new RegExp(`@${$}\\s*\\(`,"g"),w=new RegExp(`@${Z}(?![a-z])`,"g");while(G<X.length&&J>0){Q.lastIndex=G,w.lastIndex=G;let q=Q.exec(X),W=w.exec(X),U=q?q.index:1/0,K=W?W.index:1/0;if(U<K)J++,G=U+q[0].length;else if(K<1/0){if(J--,J===0)return K;G=K+W[0].length}else break}return-1}function vZ(X,$){let Z=X.slice($).match(/^@if\s*/);if(!Z)return null;let Y=$+Z[0].length,J=P1(X,Y);if(!J)return null;let G=J.endPos,Q=J5(X,"if","endif",G);if(Q===-1)return null;let w=X.slice(G,Q),q=[],W=0,U="if",K=J.expression,z=0,B=0;while(W<w.length){let _=w.indexOf("@",W);if(_===-1)break;W=_;let j=w.substring(_);if(Gz(w,_)){W++;continue}if(/^@if\s*\(/.test(j)){B++,W++;continue}if(/^@endif(?![a-z])/.test(j)){B--,W+=6;continue}if(B===0){let H=j.match(/^@elseif\s*/);if(H){q.push({type:U,condition:K,content:w.substring(z,W),start:G+z,end:G+W});let L=W+H[0].length,O=P1(w,L);if(!O){W++;continue}U="elseif",K=O.expression,W=O.endPos,z=W;continue}else if(/^@else(?![a-z])/.test(j)){q.push({type:U,condition:K,content:w.substring(z,W),start:G+z,end:G+W}),U="else",K=void 0,W+=5,z=W;continue}}W++}return q.push({type:U,condition:K,content:w.slice(z),start:G+z,end:G+w.length}),{fullMatch:X.slice($,Q+6),branches:q,start:$,end:Q+6}}function v7(X){let $=[],Z=/@if\s*\(/g,Y=Z.exec(X);while(Y!==null){if($.some((Q)=>Y.index>Q.start&&Y.index<Q.end)){Y=Z.exec(X);continue}let G=vZ(X,Y.index);if(G)$.push(G),Z.lastIndex=G.end;Y=Z.exec(X)}return $}function hX(X,$,Z){let Y=[],J=new RegExp(`@${$}\\s*\\(`,"g"),G=J.exec(X);while(G!==null){if(Y.some((j)=>G.index>j.start&&G.index<j.end)){G=J.exec(X);continue}let w=G.index,q=w+G[0].length-1,W=N0(X,"(",")",q);if(W===-1){G=J.exec(X);continue}let U=X.slice(q+1,W),K=W+1,z=J5(X,$,Z,K);if(z===-1){G=J.exec(X);continue}let B=X.slice(K,z),_=z+`@${Z}`.length;Y.push({fullMatch:X.slice(w,_),name:$,params:U,content:B,start:w,end:_}),J.lastIndex=_,G=J.exec(X)}return Y}function H9(X,$){let Z=X.slice($).match(/^@switch\s*/);if(!Z)return null;let Y=$+Z[0].length,J=P1(X,Y);if(!J)return null;let G=J.endPos,Q=J5(X,"switch","endswitch",G);if(Q===-1)return null;let w=X.slice(G,Q),q=[],W=0,U=null,K=0;while(W<w.length){let z=w.slice(W),B=z.match(/^@switch\s*\(/),_=z.match(/^@endswitch(?![a-z])/);if(B){if(K++,U)U.content+=B[0];W+=B[0].length;continue}if(_){if(K--,U)U.content+=_[0];W+=_[0].length;continue}if(K>0){if(U)U.content+=w[W];W++;continue}let j=z.match(/^@case\s*/),H=z.match(/^@default(?![a-z])/),L=z.match(/^@break(?![a-z])/);if(j&&z.startsWith("@case")){if(U)q.push(U);let O=W+j[0].length,F=P1(w,O);if(!F){W++;continue}U={type:"case",value:F.expression,content:""},W=F.endPos}else if(H&&z.startsWith("@default")){if(U)q.push(U);U={type:"default",content:""},W+=H[0].length}else if(L&&z.startsWith("@break"))W+=L[0].length;else{if(U)U.content+=w[W];W++}}if(U)q.push(U);return{fullMatch:X.slice($,Q+10),expression:J.expression,cases:q,start:$,end:Q+10}}var xZ=()=>{};var fZ=()=>{};var uX=D(()=>{xZ();fZ()});function Wz(X,$,Z){let Y=X,J=!0;while(J){J=!1;let G=Y.match(/@switch\s*\(/);if(!G||G.index===void 0)break;let Q=G.index,w=H9(Y,Q);if(!w)break;try{let q;if(q0(w.expression))q=W0(w.expression,Object.keys($))(...Object.values($));else q=Y0(w.expression,$);let W="",U=!1;for(let K of w.cases)if(K.type==="default"){if(!U)W=K.content.trim()}else try{let z;if(K.value&&q0(K.value))z=W0(K.value,Object.keys($))(...Object.values($));else if(K.value)z=Y0(K.value,$);if(q===z){W=K.content.trim(),U=!0;break}}catch{continue}Y=Y.substring(0,Q)+W+Y.substring(w.end),J=!0}catch(q){let W=q instanceof Error?q.message:String(q),U=$0("Switch",`Error evaluating @switch expression: ${W}`,o.EVALUATION_ERROR);Y=Y.substring(0,Q)+U+Y.substring(w.end);break}}return Y}function Uz(X){let $=[];return{masked:X.replace(/<script\b[\s\S]*?<\/script\s*>/gi,(Y)=>{return $.push(Y),`\x00stx-script-${$.length-1}\x00`}),scripts:$}}function Kz(X,$){if($.length===0)return X;return X.replace(/\u0000stx-script-(\d+)\u0000/g,(Z,Y)=>$[Number(Y)]??Z)}function G5(X,$,Z){let{masked:Y,scripts:J}=Uz(X);return Kz(zz(Y,$,Z),J)}function zz(X,$,Z){let Y=X;Y=Wz(Y,$,Z);{let G=!0;while(G){G=!1;let Q=Y.match(/@unless\s*\(/);if(!Q||Q.index===void 0)break;let w=Q.index,q=P1(Y,w+7);if(!q)break;let W=q.endPos,U=J5(Y,"unless","endunless",W);if(U===-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 K=Y.slice(W,U),z=q.expression,B=-1;{let j=0,H=/@(?:if|unless)\s*\(/g,L=/@(?:endif|endunless)(?![a-z])/g,O=/@else(?![a-z])/g,F=[],V;while((V=H.exec(K))!==null)F.push({pos:V.index,type:"open"});while((V=L.exec(K))!==null)F.push({pos:V.index,type:"close"});while((V=O.exec(K))!==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")j++;else if(A.type==="close")j--;else if(A.type==="else"&&j===0){B=A.pos;break}}let _;if(B!==-1){let j=K.slice(0,B),H=K.slice(B+5);_=`@if (${z})${H}@else ${j}@endif`}else _=`@if (!(${z}))${K}@endif`;Y=Y.substring(0,w)+_+Y.substring(U+10),G=!0}}Y=O9(Y,$,Z),Y=F9(Y,$,Z),Y=L9(Y,$);let J=()=>{let G=v7(Y);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 U of w.branches){if(W)break;if(U.type==="else")q=U.content,W=!0;else try{let K;if(U.condition&&q0(U.condition))K=W0(U.condition,Object.keys($))(...Object.values($));else if(U.condition)K=Y0(U.condition,$);if(K)q=U.content,W=!0}catch(K){q=$0(U.type==="if"?"If":"Elseif",`Error in @${U.type}(${U.condition}): ${K instanceof Error?K.message:String(K)}`,o.EVALUATION_ERROR),W=!0}}Y=Y.substring(0,w.start)+q+Y.substring(w.end)}catch(q){let W=q instanceof Error?q.message:String(q),U=$0("If",`Error processing @if block: ${W}`,o.EVALUATION_ERROR);Y=Y.substring(0,w.start)+U+Y.substring(w.end)}}return!0};while(!0){let G=Y;if(!J())break;if(Y===G)break}return Y}function gZ(X){let $=0;while($<X.length&&/\s/.test(X[$]))$++;if(X[$]!=="(")return null;$++;while($<X.length&&/\s/.test(X[$]))$++;let Z=X[$];if(Z!=="'"&&Z!=='"')return null;$++;let Y=[];while($<X.length){let J=X[$];if(J==="\\"&&$+1<X.length){Y.push(X[$+1]),$+=2;continue}if(J===Z){$++;break}Y.push(J),$++}while($<X.length&&/\s/.test(X[$]))$++;if(X[$]!==")")return null;return $++,{value:Y.join(""),consumed:$}}function L9(X,$){let Z=X;function Y(w,q,W,U){let K=1,z=U,B=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),_=new RegExp(`@${W}(?![a-z])`,"g");while(z<w.length&&K>0){B.lastIndex=z,_.lastIndex=z;let j=B.exec(w),H=_.exec(w),L=j?j.index:1/0,O=H?H.index:1/0;if(L<O)K++,z=L+j[0].length;else if(O<1/0){if(K--,K===0)return O;z=O+H[0].length}else break}return-1}function J(w,q,W){let U=0,K=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),z=new RegExp(`@${W}(?![a-z])`,"g"),B=/@else(?![a-z])/g,_=[],j;while((j=K.exec(w))!==null)_.push({pos:j.index,type:"open"});while((j=z.exec(w))!==null)_.push({pos:j.index,type:"close"});while((j=B.exec(w))!==null)_.push({pos:j.index,type:"else"});_.sort((H,L)=>H.pos-L.pos);for(let H of _)if(H.type==="open")U++;else if(H.type==="close")U--;else if(H.type==="else"&&U===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,U,K,z=Z.slice(W+5),B=gZ(z);if(B)U=B.value,K=W+5+B.consumed;else K=W+5;let _=Y(Z,"auth","endauth",K);if(_===-1){console.warn(`[stx] @auth directive at position ${W} has no matching @endauth \u2014 the block was skipped.`);break}let j=Z.slice(K,_),H=J(j,"auth","endauth"),L;if(!$.auth)L=!1;else L=U?C1(`auth?.check && auth?.user?.[${U}]`,$):C1("auth?.check",$);let O;if(H!==-1){let F=j.slice(0,H),V=j.slice(H+5);O=L?F:V}else O=L?j:"";Z=Z.substring(0,W)+O+Z.substring(_+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,U,K,z=Z.slice(W+6),B=gZ(z);if(B)U=B.value,K=W+6+B.consumed;else K=W+6;let _=Y(Z,"guest","endguest",K);if(_===-1){console.warn(`[stx] @guest directive at position ${W} has no matching @endguest \u2014 the block was skipped.`);break}let j=Z.slice(K,_),H=J(j,"guest","endguest"),L;if(!$.auth)L=!0;else L=U?C1(`!auth?.check || !auth?.user?.[${U}]`,$):C1("!auth?.check",$);let O;if(H!==-1){let F=j.slice(0,H),V=j.slice(H+5);O=L?F:V}else O=L?j:"";Z=Z.substring(0,W)+O+Z.substring(_+9),w=!0}}function G(w,q,W){if($.userCan&&typeof $.userCan[w]==="boolean")return $.userCan[w];if($.permissions?.check&&typeof $.permissions.check==="function")try{let U=[w];if(q)U.push(q);if(W){let K=C1(W,$);U.push(K)}return $.permissions.check(...U)}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",U=!0;while(U){U=!1;let K=Z.match(new RegExp(`@${w}\\s*\\(`));if(!K||K.index===void 0)break;let z=K.index,B=Z.slice(z+`@${w}`.length),_=Q(B);if(!_)break;let j=z+`@${w}`.length+_.paramsEnd,H=Y(Z,w,q,j);if(H===-1){console.warn(`[stx] @${w} directive at position ${z} has no matching @${q} \u2014 the block was skipped.`);break}let L=Z.slice(j,H),O=[],F=0,V=new RegExp(`@${w}\\s*\\(`,"g"),A=new RegExp(`@${q}(?![a-z])`,"g"),R=new RegExp(`@${W}\\s*\\(`,"g"),T=/@else(?![a-z])/g,M=[],k;while((k=V.exec(L))!==null)M.push({pos:k.index,type:"open"});while((k=A.exec(L))!==null)M.push({pos:k.index,type:"close"});while((k=R.exec(L))!==null)M.push({pos:k.index,type:"elseDirective"});while((k=T.exec(L))!==null)M.push({pos:k.index,type:"else"});M.sort((b,P)=>b.pos-P.pos);for(let b of M){if(b.type==="open"){F++;continue}if(b.type==="close"){F--;continue}if(F===0)O.push(b)}let N=[],y=0;for(let b=0;b<O.length;b++){let P=O[b];if(N.push({content:L.slice(y,P.pos),ability:void 0}),P.type==="elseDirective"){let x=L.slice(P.pos+`@${W}`.length),m=Q(x);if(m){N[N.length-1]={content:L.slice(y,P.pos)},y=P.pos+`@${W}`.length+m.paramsEnd,N.push({content:"",ability:m.ability,type:m.type,id:m.id}),N.pop();let l=O[b+1],Q0=l?l.pos:L.length;N.push({content:L.slice(y,Q0),ability:m.ability,type:m.type,id:m.id}),y=Q0}}else y=P.pos+5}if(y<L.length){let b=N[N.length-1];if(O.length>0&&O[O.length-1].type==="else")N.push({content:L.slice(y),isFinalElse:!0});else if(N.length===0)N.push({content:L.slice(y)})}let I=G(_.ability,_.type,_.id),C=w==="can"?I:!I,S="";if(C)S=N[0]?.content||"";else{let b=!1;for(let P=1;P<N.length;P++){let x=N[P];if(x.isFinalElse){S=x.content,b=!0;break}if(x.ability){let m=G(x.ability,x.type,x.id);if(w==="can"?m:!m){S=x.content,b=!0;break}}}if(!b&&N.length>0){let P=N[N.length-1];if(P.isFinalElse)S=P.content}}Z=Z.substring(0,z)+S+Z.substring(H+`@${q}`.length),U=!0}}return Z}function O9(X,$,Z){let Y=X;function J(G,Q,w,q,W){let U=!0;while(U){U=!1;let K=new RegExp(`@${Q}\\s*\\(`),z=G.match(K);if(!z||z.index===void 0)break;let B=z.index,_=P1(G,B+`@${Q}`.length);if(!_)break;let j=_.endPos,H=J5(G,Q,w,j);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(j,H),O=_.expression,F=-1,V=0,A=0;while(A<L.length){let R=L.indexOf("@",A);if(R===-1)break;let T=L.substring(R);if(/^@(?:if|unless|isset|empty)\s*\(/.test(T)){V++,A=R+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(T)){V--,A=R+1;continue}if(V===0&&/^@else(?![a-z])/.test(T)){F=R;break}A=R+1}try{let R=q(O.trim()),T;if(F!==-1){let M=L.slice(0,F),k=L.slice(F+5);T=R?M:k}else T=R?L:"";G=G.substring(0,B)+T+G.substring(H+`@${w}`.length),U=!0}catch(R){let T=R instanceof Error?R.message:String(R),M=$0(W,`Error processing @${Q} directive: ${T}`,o.EVALUATION_ERROR);G=G.substring(0,B)+M+G.substring(H+`@${w}`.length);break}}return G}return Y=J(Y,"isset","endisset",(G)=>{let Q=C1(G,$);return Q!==void 0&&Q!==null},"Isset"),Y=J(Y,"empty","endempty",(G)=>{let Q=C1(G,$);return Q===void 0||Q===null||Q===""||Q===0||Q===!1||Array.isArray(Q)&&Q.length===0||typeof Q==="object"&&Q!==null&&Object.keys(Q).length===0},"Empty"),Y}function F9(X,$,Z){let Y=X,J="development";function G(Q,w,q,W){let U=new RegExp(`@${w}(?![a-z])`,"g"),K=new RegExp(`@${q}(?![a-z])`,"g"),z=new RegExp(`^@${w}(?![a-z])`),B=new RegExp(`^@${q}(?![a-z])`),_=Q,j=!0;while(j){j=!1,U.lastIndex=0;let H=U.exec(_);if(!H)break;let L=H.index,O=L+H[0].length;if(w==="env"){let I=_.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!I)break;O+=I[0].length,W=J===I[2]}let F=1,V=O,A=-1;while(F>0&&V<_.length){U.lastIndex=V,K.lastIndex=V;let I=U.exec(_),C=K.exec(_),S=I?I.index:1/0,b=C?C.index:1/0;if(S<b)F++,V=S+I[0].length;else if(b<1/0){if(F--,F===0){A=b;break}V=b+C[0].length}else break}if(A===-1){console.warn(`[stx] @${w} directive at position ${L} has no matching @${q} \u2014 the block was skipped.`);break}let R=_.substring(O,A),T=-1,M=0,k=0;while(k<R.length){let I=R.indexOf("@",k);if(I===-1)break;let C=R.substring(I);if(z.test(C)){M++,k=I+1;continue}if(B.test(C)){M--,k=I+1;continue}if(M===0&&/^@else(?![a-z])/.test(C)){T=I;break}k=I+1}let N;if(T!==-1){let I=R.slice(0,T),C=R.slice(T+5);N=W?I:C}else N=W?R:"";let y=`@${q}`.length;_=_.substring(0,L)+N+_.substring(A+y),j=!0}return _}return Y=G(Y,"env","endenv",!1),Y=G(Y,"production","endproduction",J==="production"),Y=G(Y,"development","enddevelopment",J==="development"),Y=G(Y,"staging","endstaging",J==="staging"),Y=G(Y,"testing","endtesting",J==="testing"),Y}var dX=D(()=>{EZ();F1();uX();F0()});function uZ(X=16){let $=new Uint8Array(X);return crypto.getRandomValues($),btoa(String.fromCharCode(...$))}function mX(X,$){if(!X)return $?.nonceGenerator?.()??uZ();let Z=hZ.get(X);if(!Z)Z=$?.nonceGenerator?.()??uZ(),hZ.set(X,Z);return Z}function _z(X,$){let Z=[];for(let[Y,J]of Object.entries(X)){if(J===void 0||J===null)continue;if(typeof J==="boolean"){if(J)Z.push(Y);continue}if(Array.isArray(J)){let G=[...J];if($&&(Y==="script-src"||Y==="style-src"))G=G.filter((Q)=>!Q.startsWith("'nonce-")),G.push(`'nonce-${$}'`);if(G.length>0)Z.push(`${Y} ${G.join(" ")}`)}}return Z.join("; ")}function dZ(X,$){return`<meta http-equiv="Content-Security-Policy" content="${_z(X,$).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}">`}function mZ(X,$,Z){if(!$.enabled||!$.addMetaTag)return X;if(X.includes('http-equiv="Content-Security-Policy"'))return X;if(!X.includes("<head>")&&!X.includes("<head "))return X;let Y=$.useNonce?mX(Z,$):void 0,J=dZ($.directives,Y);return X.replace(/<head([^>]*)>/,`<head$1>
3355
- ${J}`)}function lZ(X,$){let Z=X;return Z=Z.replace(/<script(?![^>]*\ssrc=)([^>]*)>/gi,(Y,J)=>{if(J.includes("nonce="))return Y;return`<script nonce="${$}"${J}>`}),Z=Z.replace(/<style([^>]*)>/gi,(Y,J)=>{if(J.includes("nonce="))return Y;return`<style nonce="${$}"${J}>`}),Z}function cZ(X,$,Z,Y){let J=X,G=Y.csp;if(J=J.replace(/@csp\b/g,()=>{if(!G?.enabled||!G.directives)return"<!-- CSP not configured -->";let Q=G.useNonce?mX($,G):void 0;return dZ(G.directives,Q)}),J=J.replace(/@cspNonce\b/g,()=>{if(!G?.enabled||!G.useNonce)return"";return mX($,G)}),G?.enabled&&G.useNonce)$.cspNonce=mX($,G);return J}var hZ;var pZ=D(()=>{hZ=new WeakMap});import Bz from"crypto";function Hz(X=jz){let $=Bz.randomBytes(Math.ceil(X/2)).toString("hex").slice(0,X);return V9=$,$}function Lz(){if(!V9)Hz();return V9}function Oz(X=iZ){let $=Lz();return`<input type="hidden" name="${X}" value="${$}">`}function nZ(X){return X.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,($,Z,Y)=>{return Oz(Y||iZ)})}var jz=40,iZ="_token",V9=null;var rZ=()=>{};async function sZ(X,$,Z,Y){if(!Y.customDirectives||Y.customDirectives.length===0)return X;let J=X;for(let G of Y.customDirectives){if(!G.name||typeof G.handler!=="function"){if(Y.debug)console.warn("Invalid custom directive:",G);continue}if(G.hasEndTag)J=await Fz(J,G,$,Z,Y);else J=await Vz(J,G,$,Z,Y)}return J}async function Fz(X,$,Z,Y,J){let{name:G,handler:Q}=$,w=`@${G}`,q=`@end${G}`,W=X,U=S5(`${w}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${q}`,"g"),K=[],z=U.exec(W);while(z!==null){let[B,_="",j=""]=z,H=z.index||0;try{let L=_?oZ(_):[],O=j.trim(),F=await Q(O,L,Z,Y);K.push({original:B,processed:F,startIndex:H})}catch(L){let O=L instanceof Error?L.message:String(L);if(J.debug)console.error(`Error processing custom directive @${G}:`,L);K.push({original:B,processed:$0("CustomDirective",`Error in @${G}${_?`(${_})`:""}: ${O}`,o.EVALUATION_ERROR),startIndex:H})}z=U.exec(W)}for(let B=K.length-1;B>=0;B--){let{original:_,processed:j}=K[B];W=W.replace(_,j)}return W}async function Vz(X,$,Z,Y,J){let{name:G,handler:Q}=$,w=X,q=S5(`@${G}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),W=[],U=q.exec(w);while(U!==null){let[B,_=""]=U,j=U.index||0;try{let H=oZ(_),L=await Q("",H,Z,Y);W.push({original:B,processed:L,startIndex:j})}catch(H){let L=H instanceof Error?H.message:String(H);if(J.debug)console.error(`Error processing custom directive @${G}:`,H);W.push({original:B,processed:$0("CustomDirective",`Error in @${G}(${_}): ${L}`,o.EVALUATION_ERROR),startIndex:j})}U=q.exec(w)}let K=S5(`@${G}(?!\\w)(?!\\s*\\()`,"g"),z=K.exec(w);while(z!==null){let[B]=z,_=z.index||0;try{let j=await Q("",[],Z,Y);W.push({original:B,processed:j,startIndex:_})}catch(j){let H=j instanceof Error?j.message:String(j);if(J.debug)console.error(`Error processing custom directive @${G}:`,j);W.push({original:B,processed:$0("CustomDirective",`Error in @${G}: ${H}`,o.EVALUATION_ERROR),startIndex:_})}z=K.exec(w)}for(let B=W.length-1;B>=0;B--){let{original:_,processed:j}=W[B];w=w.replace(_,j)}return w}function oZ(X){if(!X.trim())return[];let $=[],Z="",Y=!1,J="";for(let G=0;G<X.length;G++){let Q=X[G];if((Q==='"'||Q==="'")&&(G===0||X[G-1]!=="\\"))if(!Y)Y=!0,J=Q;else if(Q===J)Y=!1;else Z+=Q;else if(Q===","&&!Y)$.push(Z.trim()),Z="";else Z+=Q}if(Z.trim())$.push(Z.trim());return $.map((G)=>{let Q=G.trim();if(Q.startsWith('"')&&Q.endsWith('"')||Q.startsWith("'")&&Q.endsWith("'"))return Q.substring(1,Q.length-1);return Q})}var aZ=D(()=>{F1();C5()});function Q5(X,$){if(typeof X!=="string"||X.length===0)throw Error(`@appearanceBootstrap ${$} must be a non-empty string`)}function Rz(X){if(!X||typeof X!=="object"||Array.isArray(X))throw Error("@appearanceBootstrap expects an options object");let $=X,Z=$.appearance,Y=$.colorMode;if(Q5($.storageKey,"storageKey"),!Z||typeof Z!=="object"||Array.isArray(Z))throw Error("@appearanceBootstrap appearance must be an object");if(!Y||typeof Y!=="object"||Array.isArray(Y))throw Error("@appearanceBootstrap colorMode must be an object");if(Q5(Z.key,"appearance.key"),Q5(Z.attribute,"appearance.attribute"),Q5(Z.default,"appearance.default"),Q5(Y.key,"colorMode.key"),Q5(Y.attribute,"colorMode.attribute"),Q5(Y.default,"colorMode.default"),!eZ.test(Z.key)||!eZ.test(Y.key))throw Error("@appearanceBootstrap preference keys must be JavaScript property names");if(!tZ.test(Z.attribute)||!tZ.test(Y.attribute))throw Error("@appearanceBootstrap attributes must be lowercase data attribute names");if(!Array.isArray(Z.allowed)||Z.allowed.length===0||Z.allowed.some((J)=>typeof J!=="string"||J.length===0))throw Error("@appearanceBootstrap appearance.allowed must contain one or more strings");if(!Z.allowed.includes(Z.default))throw Error("@appearanceBootstrap appearance.default must be in appearance.allowed");if(!Az.has(Y.default))throw Error("@appearanceBootstrap colorMode.default must be light, dark, or system");return{storageKey:$.storageKey,appearance:{key:Z.key,attribute:Z.attribute,allowed:[...new Set(Z.allowed)],default:Z.default},colorMode:{key:Y.key,attribute:Y.attribute,default:Y.default}}}function Tz(X){return JSON.stringify(X).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function Mz(X){return`<script data-stx-scoped data-stx-appearance-bootstrap>(function(){"use strict";const config=${Tz(X)};const root=document.documentElement;let stored={};try{const raw=localStorage.getItem(config.storageKey);const parsed=raw?JSON.parse(raw):{};if(parsed&&typeof parsed==="object"&&!Array.isArray(parsed))stored=parsed}catch{}const selectedAppearance=config.appearance.allowed.includes(stored[config.appearance.key])?stored[config.appearance.key]:config.appearance.default;const selectedMode=["light","dark","system"].includes(stored[config.colorMode.key])?stored[config.colorMode.key]:config.colorMode.default;root.setAttribute("data-"+config.appearance.attribute,selectedAppearance);root.setAttribute("data-"+config.colorMode.attribute,selectedMode);let dark=selectedMode==="dark";if(selectedMode==="system"){try{dark=matchMedia("(prefers-color-scheme: dark)").matches}catch{dark=false}}root.classList.toggle("dark",dark);root.dataset.theme=dark?"dark":"light"}());</script>`}function Nz(X,$){let Z=1,Y=null,J=!1;for(let G=$+1;G<X.length;G++){let Q=X[G];if(J){J=!1;continue}if(Y){if(Q==="\\")J=!0;else if(Q===Y)Y=null;continue}if(Q==='"'||Q==="'"||Q==="`"){Y=Q;continue}if(Q==="(")Z++;else if(Q===")"&&--Z===0)return G}return-1}function XY(X,$){let Z=X,Y=/@appearanceBootstrap\s*\(/g,J;while((J=Y.exec(Z))!==null){let G=J.index+J[0].length-1,Q=Nz(Z,G);if(Q===-1)throw Error("@appearanceBootstrap has an unclosed options object");let w=Z.slice(G+1,Q).trim(),q=Y0(`(${w})`,$),W=Mz(Rz(q));Z=Z.slice(0,J.index)+W+Z.slice(Q+1),Y.lastIndex=J.index+W.length}return Z}var tZ,eZ,Az;var $Y=D(()=>{F0();tZ=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,eZ=/^[A-Za-z_$][\w$]*$/,Az=new Set(["light","dark","system"])});var T9={};t(T9,{useTitle:()=>yz,useSeoMeta:()=>ZY,usePageTitle:()=>yz,useHead:()=>R9,seoMetaToHeadConfig:()=>cX,resetHead:()=>Ez,renderHtmlAttrs:()=>Sz,renderHead:()=>bz,renderBodyAttrs:()=>Cz,processTitleDirective:()=>xz,processMetaDirective:()=>fz,processHeadDirective:()=>vz,mergeHeadConfigs:()=>x5,getPageMeta:()=>Iz,getHead:()=>A9,definePageMeta:()=>Dz,applyHead:()=>Pz});function A9(){return v1}function Iz(){return lX}function Ez(){v1={},kz.length=0,lX={}}function R9(X){v1=x5(v1,X)}function x5(X,$){return{title:$.title??X.title,titleTemplate:$.titleTemplate??X.titleTemplate,base:$.base??X.base,meta:[...X.meta||[],...$.meta||[]],link:[...X.link||[],...$.link||[]],script:[...X.script||[],...$.script||[]],style:[...X.style||[],...$.style||[]],htmlAttrs:{...X.htmlAttrs,...$.htmlAttrs},bodyAttrs:{...X.bodyAttrs,...$.bodyAttrs}}}function ZY(X){R9(cX(X))}function cX(X){let $=[];if(X.description)$.push({name:"description",content:X.description});if(X.keywords){let q=Array.isArray(X.keywords)?X.keywords.join(", "):X.keywords;$.push({name:"keywords",content:q})}if(X.author)$.push({name:"author",content:X.author});if(X.robots)$.push({name:"robots",content:X.robots});let Z=X.ogTitle??X.title,Y=X.ogDescription??X.description;if(Z)$.push({property:"og:title",content:Z});if(Y)$.push({property:"og:description",content:Y});if(X.ogImage)$.push({property:"og:image",content:X.ogImage});if(X.ogUrl)$.push({property:"og:url",content:X.ogUrl});if(X.ogType)$.push({property:"og:type",content:X.ogType});if(X.ogSiteName)$.push({property:"og:site_name",content:X.ogSiteName});if(X.ogLocale)$.push({property:"og:locale",content:X.ogLocale});let J=X.twitterTitle??X.title,G=X.twitterDescription??X.description,Q=X.twitterImage??X.ogImage;if(X.twitterCard)$.push({name:"twitter:card",content:X.twitterCard});if(J)$.push({name:"twitter:title",content:J});if(G)$.push({name:"twitter:description",content:G});if(Q)$.push({name:"twitter:image",content:Q});if(X.twitterSite)$.push({name:"twitter:site",content:X.twitterSite});if(X.twitterCreator)$.push({name:"twitter:creator",content:X.twitterCreator});if(X.articleAuthor)$.push({property:"article:author",content:X.articleAuthor});if(X.articlePublishedTime)$.push({property:"article:published_time",content:X.articlePublishedTime});if(X.articleModifiedTime)$.push({property:"article:modified_time",content:X.articleModifiedTime});if(X.articleSection)$.push({property:"article:section",content:X.articleSection});if(X.articleTags)for(let q of X.articleTags)$.push({property:"article:tag",content:q});let w=[];if(X.canonical)w.push({rel:"canonical",href:X.canonical});return{title:X.title,titleTemplate:X.titleTemplate,meta:$,link:w}}function Dz(X){if(lX={...lX,...X},X.title||X.description)ZY({title:X.title,description:X.description})}function yz(X){let $=typeof X==="function"?X():X;R9({title:$})}function bz(X=v1){let $=[];if(X.title){let Z=X.title;if(X.titleTemplate)Z=typeof X.titleTemplate==="function"?X.titleTemplate(Z):X.titleTemplate.replace("%s",Z);$.push(`<title>${w5(Z)}</title>`)}if(X.base){let Z=Object.entries(X.base).map(([Y,J])=>`${Y}="${w5(J)}"`).join(" ");$.push(`<base ${Z}>`)}for(let Z of X.meta||[]){let Y=Object.entries(Z).filter(([J,G])=>G!==void 0).map(([J,G])=>{return`${J==="httpEquiv"?"http-equiv":J}="${w5(String(G))}"`}).join(" ");$.push(`<meta ${Y}>`)}for(let Z of X.link||[]){let Y=Object.entries(Z).filter(([J,G])=>G!==void 0).map(([J,G])=>`${J}="${w5(String(G))}"`).join(" ");$.push(`<link ${Y}>`)}for(let Z of X.script||[]){let{content:Y,...J}=Z,G=Object.entries(J).filter(([Q,w])=>w!==void 0).map(([Q,w])=>{if(typeof w==="boolean")return w?Q:"";return`${Q}="${w5(String(w))}"`}).filter(Boolean).join(" ");if(Y)$.push(`<script ${G}>${Y}</script>`);else $.push(`<script ${G}></script>`)}for(let Z of X.style||[]){let Y=Z.type?` type="${Z.type}"`:"";$.push(`<style${Y}>${Z.content}</style>`)}return $.join(`
3356
- `)}function Sz(X=v1){if(!X.htmlAttrs)return"";return Object.entries(X.htmlAttrs).map(([$,Z])=>`${$}="${w5(Z)}"`).join(" ")}function Cz(X=v1){if(!X.bodyAttrs)return"";return Object.entries(X.bodyAttrs).map(([$,Z])=>`${$}="${w5(Z)}"`).join(" ")}function w5(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function Pz(X=v1){if(typeof document>"u")return;if(X.title){let $=X.title;if(X.titleTemplate)$=typeof X.titleTemplate==="function"?X.titleTemplate($):X.titleTemplate.replace("%s",$);document.title=$}for(let $ of X.meta||[]){let Z=$.name?`meta[name="${$.name}"]`:$.property?`meta[property="${$.property}"]`:null;if(Z){let Y=document.querySelector(Z);if(!Y){if(Y=document.createElement("meta"),$.name)Y.setAttribute("name",$.name);if($.property)Y.setAttribute("property",$.property);document.head.appendChild(Y)}Y.setAttribute("content",$.content)}}for(let $ of X.link||[]){let Z=`link[rel="${$.rel}"]${$.href?`[href="${$.href}"]`:""}`,Y=document.querySelector(Z);if(!Y)Y=document.createElement("link"),document.head.appendChild(Y);for(let[J,G]of Object.entries($))if(G!==void 0)Y.setAttribute(J,String(G))}if(X.htmlAttrs)for(let[$,Z]of Object.entries(X.htmlAttrs))if($==="class")for(let Y of String(Z).split(/\s+/).filter(Boolean))document.documentElement.classList.add(Y);else document.documentElement.setAttribute($,Z);if(X.bodyAttrs)for(let[$,Z]of Object.entries(X.bodyAttrs))document.body.setAttribute($,Z)}function vz(X){let $="";return{content:X.replace(/@head\s*([\s\S]*?)@endhead/g,(Y,J)=>{return $+=J.trim()+`
3357
- `,""}),headContent:$.trim()}}function xz(X,$){return X.replace(/@title\s*\(\s*(?:(['"`])(.+?)\1|([^)]+))\s*\)/g,(Z,Y,J,G)=>{let Q=Y?J:$[(G||"").trim()]??G,w=$.__stx_runtime_head??{};return $.__stx_runtime_head=x5(w,{title:Q}),""})}function fz(X,$){return X.replace(/@meta\s*\(\s*(['"`])(.+?)\1\s*,\s*(?:(['"`])(.+?)\3|([^)]+))\s*\)/g,(Z,Y,J,G,Q,w)=>{let q=G?Q:w,W=G?q:$[(q||"").trim()]??q,K=J.includes(":")?{property:J,content:W}:{name:J,content:W},z=$.__stx_runtime_head??{};return $.__stx_runtime_head=x5(z,{meta:[K]}),""})}var v1,kz,lX;var x7=D(()=>{v1={},kz=[],lX={}});import gz from"crypto";function H0(X){return String(X??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function pX(X,$,Z,Y){let J=X||$;return Z?`${J} ${Y}`:J}function i0(X){return String(X).replace(/\[\]$/,"").replace(/[^\w.:-]+/g,"-").replace(/^-+|-+$/g,"")}function f5(X,$){if(/\bid\s*=/i.test(X))return"";return` id="${H0($)}"`}function M9(X,$,Z){if(!$)return"";let Y="";if(!/\baria-invalid\s*=/i.test(Z))Y+=' aria-invalid="true"';if(!/\baria-describedby\s*=/i.test(Z))Y+=` aria-describedby="${H0(`${i0(X)}-error`)}"`;return Y}function hz(){return gz.randomUUID()}function iX(X,$){let Z=X;return Z=Z.replace(/@csrf/g,()=>{if(!$.csrf||typeof $.csrf!=="object"){let Y=hz();$.csrf={token:Y}}if($.csrf.field)return $.csrf.field;if($.csrf.token)return`<input type="hidden" name="_token" value="${H0($.csrf.token)}">`;return'<input type="hidden" name="_token" value="">'}),Z=Z.replace(/@method\(['"]([^'"]+)['"]\)/g,(Y,J)=>{let G=J.toUpperCase();if(J&&!["GET","POST"].includes(G))return`<input type="hidden" name="_method" value="${H0(G)}">`;return Y}),Z}function GY(X,$,Z=JY){let Y=X;return Y=Y.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(J,G,Q,w,q,W="")=>{let U=G||Q||"POST",K=w||q||"",z=x1(W),B=U.toUpperCase(),_=["GET","POST"].includes(B)?B:"POST",j=`<form method="${H0(_)}" action="${H0(K)}"${z?` ${z}`:""}>`;if(j+=`
3354
+ `)}}});var PZ=()=>{};var vZ=D(()=>{SX();SZ();CZ();PZ();gX()});var F1=D(()=>{vZ()});function N0(X,$,Z,Y=0){let J=0,G=Y,Q=null,w=0,q=!1;while(G<X.length){let W=X[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==="$"&&X[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===$)J++;else if(W===Z){if(J--,J===0)return G}G++}return-1}function P1(X,$){let Z=Qz(X,$);return Z.ok?{expression:Z.expression,endPos:Z.endPos}:null}function Qz(X,$){let Z=$;while(Z<X.length&&/\s/.test(X[Z]))Z++;if(X[Z]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Z};let Y=N0(X,"(",")",Z);if(Y===-1)return{ok:!1,reason:"unclosed-paren",pos:Z};return{ok:!0,expression:X.slice(Z+1,Y),endPos:Y+1}}function wz(X,$){let Z=X.lastIndexOf("<",$);if(Z===-1)return!1;return Z>X.lastIndexOf(">",$)}function J5(X,$,Z,Y){let J=1,G=Y,Q=new RegExp(`@${$}\\s*\\(`,"g"),w=new RegExp(`@${Z}(?![a-z])`,"g");while(G<X.length&&J>0){Q.lastIndex=G,w.lastIndex=G;let q=Q.exec(X),W=w.exec(X),U=q?q.index:1/0,K=W?W.index:1/0;if(U<K)J++,G=U+q[0].length;else if(K<1/0){if(J--,J===0)return K;G=K+W[0].length}else break}return-1}function xZ(X,$){let Z=X.slice($).match(/^@if\s*/);if(!Z)return null;let Y=$+Z[0].length,J=P1(X,Y);if(!J)return null;let G=J.endPos,Q=J5(X,"if","endif",G);if(Q===-1)return null;let w=X.slice(G,Q),q=[],W=0,U="if",K=J.expression,z=0,B=0;while(W<w.length){let _=w.indexOf("@",W);if(_===-1)break;W=_;let j=w.substring(_);if(wz(w,_)){W++;continue}if(/^@if\s*\(/.test(j)){B++,W++;continue}if(/^@endif(?![a-z])/.test(j)){B--,W+=6;continue}if(B===0){let H=j.match(/^@elseif\s*/);if(H){q.push({type:U,condition:K,content:w.substring(z,W),start:G+z,end:G+W});let L=W+H[0].length,O=P1(w,L);if(!O){W++;continue}U="elseif",K=O.expression,W=O.endPos,z=W;continue}else if(/^@else(?![a-z])/.test(j)){q.push({type:U,condition:K,content:w.substring(z,W),start:G+z,end:G+W}),U="else",K=void 0,W+=5,z=W;continue}}W++}return q.push({type:U,condition:K,content:w.slice(z),start:G+z,end:G+w.length}),{fullMatch:X.slice($,Q+6),branches:q,start:$,end:Q+6}}function v7(X){let $=[],Z=/@if\s*\(/g,Y=Z.exec(X);while(Y!==null){if($.some((Q)=>Y.index>Q.start&&Y.index<Q.end)){Y=Z.exec(X);continue}let G=xZ(X,Y.index);if(G)$.push(G),Z.lastIndex=G.end;Y=Z.exec(X)}return $}function hX(X,$,Z){let Y=[],J=new RegExp(`@${$}\\s*\\(`,"g"),G=J.exec(X);while(G!==null){if(Y.some((j)=>G.index>j.start&&G.index<j.end)){G=J.exec(X);continue}let w=G.index,q=w+G[0].length-1,W=N0(X,"(",")",q);if(W===-1){G=J.exec(X);continue}let U=X.slice(q+1,W),K=W+1,z=J5(X,$,Z,K);if(z===-1){G=J.exec(X);continue}let B=X.slice(K,z),_=z+`@${Z}`.length;Y.push({fullMatch:X.slice(w,_),name:$,params:U,content:B,start:w,end:_}),J.lastIndex=_,G=J.exec(X)}return Y}function H9(X,$){let Z=X.slice($).match(/^@switch\s*/);if(!Z)return null;let Y=$+Z[0].length,J=P1(X,Y);if(!J)return null;let G=J.endPos,Q=J5(X,"switch","endswitch",G);if(Q===-1)return null;let w=X.slice(G,Q),q=[],W=0,U=null,K=0;while(W<w.length){let z=w.slice(W),B=z.match(/^@switch\s*\(/),_=z.match(/^@endswitch(?![a-z])/);if(B){if(K++,U)U.content+=B[0];W+=B[0].length;continue}if(_){if(K--,U)U.content+=_[0];W+=_[0].length;continue}if(K>0){if(U)U.content+=w[W];W++;continue}let j=z.match(/^@case\s*/),H=z.match(/^@default(?![a-z])/),L=z.match(/^@break(?![a-z])/);if(j&&z.startsWith("@case")){if(U)q.push(U);let O=W+j[0].length,F=P1(w,O);if(!F){W++;continue}U={type:"case",value:F.expression,content:""},W=F.endPos}else if(H&&z.startsWith("@default")){if(U)q.push(U);U={type:"default",content:""},W+=H[0].length}else if(L&&z.startsWith("@break"))W+=L[0].length;else{if(U)U.content+=w[W];W++}}if(U)q.push(U);return{fullMatch:X.slice($,Q+10),expression:J.expression,cases:q,start:$,end:Q+10}}var fZ=()=>{};var gZ=()=>{};var uX=D(()=>{fZ();gZ()});function Kz(X,$,Z){let Y=X,J=!0;while(J){J=!1;let G=Y.match(/@switch\s*\(/);if(!G||G.index===void 0)break;let Q=G.index,w=H9(Y,Q);if(!w)break;try{let q;if(q0(w.expression))q=W0(w.expression,Object.keys($))(...Object.values($));else q=Y0(w.expression,$);let W="",U=!1;for(let K of w.cases)if(K.type==="default"){if(!U)W=K.content.trim()}else try{let z;if(K.value&&q0(K.value))z=W0(K.value,Object.keys($))(...Object.values($));else if(K.value)z=Y0(K.value,$);if(q===z){W=K.content.trim(),U=!0;break}}catch{continue}Y=Y.substring(0,Q)+W+Y.substring(w.end),J=!0}catch(q){let W=q instanceof Error?q.message:String(q),U=$0("Switch",`Error evaluating @switch expression: ${W}`,o.EVALUATION_ERROR);Y=Y.substring(0,Q)+U+Y.substring(w.end);break}}return Y}function zz(X){let $=[];return{masked:X.replace(/<script\b[\s\S]*?<\/script\s*>/gi,(Y)=>{return $.push(Y),`\x00stx-script-${$.length-1}\x00`}),scripts:$}}function _z(X,$){if($.length===0)return X;return X.replace(/\u0000stx-script-(\d+)\u0000/g,(Z,Y)=>$[Number(Y)]??Z)}function G5(X,$,Z){let{masked:Y,scripts:J}=zz(X);return _z(Bz(Y,$,Z),J)}function Bz(X,$,Z){let Y=X;Y=Kz(Y,$,Z);{let G=!0;while(G){G=!1;let Q=Y.match(/@unless\s*\(/);if(!Q||Q.index===void 0)break;let w=Q.index,q=P1(Y,w+7);if(!q)break;let W=q.endPos,U=J5(Y,"unless","endunless",W);if(U===-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 K=Y.slice(W,U),z=q.expression,B=-1;{let j=0,H=/@(?:if|unless)\s*\(/g,L=/@(?:endif|endunless)(?![a-z])/g,O=/@else(?![a-z])/g,F=[],V;while((V=H.exec(K))!==null)F.push({pos:V.index,type:"open"});while((V=L.exec(K))!==null)F.push({pos:V.index,type:"close"});while((V=O.exec(K))!==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")j++;else if(A.type==="close")j--;else if(A.type==="else"&&j===0){B=A.pos;break}}let _;if(B!==-1){let j=K.slice(0,B),H=K.slice(B+5);_=`@if (${z})${H}@else ${j}@endif`}else _=`@if (!(${z}))${K}@endif`;Y=Y.substring(0,w)+_+Y.substring(U+10),G=!0}}Y=O9(Y,$,Z),Y=F9(Y,$,Z),Y=L9(Y,$);let J=()=>{let G=v7(Y);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 U of w.branches){if(W)break;if(U.type==="else")q=U.content,W=!0;else try{let K;if(U.condition&&q0(U.condition))K=W0(U.condition,Object.keys($))(...Object.values($));else if(U.condition)K=Y0(U.condition,$);if(K)q=U.content,W=!0}catch(K){q=$0(U.type==="if"?"If":"Elseif",`Error in @${U.type}(${U.condition}): ${K instanceof Error?K.message:String(K)}`,o.EVALUATION_ERROR),W=!0}}Y=Y.substring(0,w.start)+q+Y.substring(w.end)}catch(q){let W=q instanceof Error?q.message:String(q),U=$0("If",`Error processing @if block: ${W}`,o.EVALUATION_ERROR);Y=Y.substring(0,w.start)+U+Y.substring(w.end)}}return!0};while(!0){let G=Y;if(!J())break;if(Y===G)break}return Y}function hZ(X){let $=0;while($<X.length&&/\s/.test(X[$]))$++;if(X[$]!=="(")return null;$++;while($<X.length&&/\s/.test(X[$]))$++;let Z=X[$];if(Z!=="'"&&Z!=='"')return null;$++;let Y=[];while($<X.length){let J=X[$];if(J==="\\"&&$+1<X.length){Y.push(X[$+1]),$+=2;continue}if(J===Z){$++;break}Y.push(J),$++}while($<X.length&&/\s/.test(X[$]))$++;if(X[$]!==")")return null;return $++,{value:Y.join(""),consumed:$}}function L9(X,$){let Z=X;function Y(w,q,W,U){let K=1,z=U,B=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),_=new RegExp(`@${W}(?![a-z])`,"g");while(z<w.length&&K>0){B.lastIndex=z,_.lastIndex=z;let j=B.exec(w),H=_.exec(w),L=j?j.index:1/0,O=H?H.index:1/0;if(L<O)K++,z=L+j[0].length;else if(O<1/0){if(K--,K===0)return O;z=O+H[0].length}else break}return-1}function J(w,q,W){let U=0,K=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),z=new RegExp(`@${W}(?![a-z])`,"g"),B=/@else(?![a-z])/g,_=[],j;while((j=K.exec(w))!==null)_.push({pos:j.index,type:"open"});while((j=z.exec(w))!==null)_.push({pos:j.index,type:"close"});while((j=B.exec(w))!==null)_.push({pos:j.index,type:"else"});_.sort((H,L)=>H.pos-L.pos);for(let H of _)if(H.type==="open")U++;else if(H.type==="close")U--;else if(H.type==="else"&&U===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,U,K,z=Z.slice(W+5),B=hZ(z);if(B)U=B.value,K=W+5+B.consumed;else K=W+5;let _=Y(Z,"auth","endauth",K);if(_===-1){console.warn(`[stx] @auth directive at position ${W} has no matching @endauth \u2014 the block was skipped.`);break}let j=Z.slice(K,_),H=J(j,"auth","endauth"),L;if(!$.auth)L=!1;else L=U?C1(`auth?.check && auth?.user?.[${U}]`,$):C1("auth?.check",$);let O;if(H!==-1){let F=j.slice(0,H),V=j.slice(H+5);O=L?F:V}else O=L?j:"";Z=Z.substring(0,W)+O+Z.substring(_+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,U,K,z=Z.slice(W+6),B=hZ(z);if(B)U=B.value,K=W+6+B.consumed;else K=W+6;let _=Y(Z,"guest","endguest",K);if(_===-1){console.warn(`[stx] @guest directive at position ${W} has no matching @endguest \u2014 the block was skipped.`);break}let j=Z.slice(K,_),H=J(j,"guest","endguest"),L;if(!$.auth)L=!0;else L=U?C1(`!auth?.check || !auth?.user?.[${U}]`,$):C1("!auth?.check",$);let O;if(H!==-1){let F=j.slice(0,H),V=j.slice(H+5);O=L?F:V}else O=L?j:"";Z=Z.substring(0,W)+O+Z.substring(_+9),w=!0}}function G(w,q,W){if($.userCan&&typeof $.userCan[w]==="boolean")return $.userCan[w];if($.permissions?.check&&typeof $.permissions.check==="function")try{let U=[w];if(q)U.push(q);if(W){let K=C1(W,$);U.push(K)}return $.permissions.check(...U)}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",U=!0;while(U){U=!1;let K=Z.match(new RegExp(`@${w}\\s*\\(`));if(!K||K.index===void 0)break;let z=K.index,B=Z.slice(z+`@${w}`.length),_=Q(B);if(!_)break;let j=z+`@${w}`.length+_.paramsEnd,H=Y(Z,w,q,j);if(H===-1){console.warn(`[stx] @${w} directive at position ${z} has no matching @${q} \u2014 the block was skipped.`);break}let L=Z.slice(j,H),O=[],F=0,V=new RegExp(`@${w}\\s*\\(`,"g"),A=new RegExp(`@${q}(?![a-z])`,"g"),R=new RegExp(`@${W}\\s*\\(`,"g"),T=/@else(?![a-z])/g,M=[],k;while((k=V.exec(L))!==null)M.push({pos:k.index,type:"open"});while((k=A.exec(L))!==null)M.push({pos:k.index,type:"close"});while((k=R.exec(L))!==null)M.push({pos:k.index,type:"elseDirective"});while((k=T.exec(L))!==null)M.push({pos:k.index,type:"else"});M.sort((b,P)=>b.pos-P.pos);for(let b of M){if(b.type==="open"){F++;continue}if(b.type==="close"){F--;continue}if(F===0)O.push(b)}let N=[],y=0;for(let b=0;b<O.length;b++){let P=O[b];if(N.push({content:L.slice(y,P.pos),ability:void 0}),P.type==="elseDirective"){let x=L.slice(P.pos+`@${W}`.length),m=Q(x);if(m){N[N.length-1]={content:L.slice(y,P.pos)},y=P.pos+`@${W}`.length+m.paramsEnd,N.push({content:"",ability:m.ability,type:m.type,id:m.id}),N.pop();let l=O[b+1],Q0=l?l.pos:L.length;N.push({content:L.slice(y,Q0),ability:m.ability,type:m.type,id:m.id}),y=Q0}}else y=P.pos+5}if(y<L.length){let b=N[N.length-1];if(O.length>0&&O[O.length-1].type==="else")N.push({content:L.slice(y),isFinalElse:!0});else if(N.length===0)N.push({content:L.slice(y)})}let I=G(_.ability,_.type,_.id),C=w==="can"?I:!I,S="";if(C)S=N[0]?.content||"";else{let b=!1;for(let P=1;P<N.length;P++){let x=N[P];if(x.isFinalElse){S=x.content,b=!0;break}if(x.ability){let m=G(x.ability,x.type,x.id);if(w==="can"?m:!m){S=x.content,b=!0;break}}}if(!b&&N.length>0){let P=N[N.length-1];if(P.isFinalElse)S=P.content}}Z=Z.substring(0,z)+S+Z.substring(H+`@${q}`.length),U=!0}}return Z}function O9(X,$,Z){let Y=X;function J(G,Q,w,q,W){let U=!0;while(U){U=!1;let K=new RegExp(`@${Q}\\s*\\(`),z=G.match(K);if(!z||z.index===void 0)break;let B=z.index,_=P1(G,B+`@${Q}`.length);if(!_)break;let j=_.endPos,H=J5(G,Q,w,j);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(j,H),O=_.expression,F=-1,V=0,A=0;while(A<L.length){let R=L.indexOf("@",A);if(R===-1)break;let T=L.substring(R);if(/^@(?:if|unless|isset|empty)\s*\(/.test(T)){V++,A=R+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(T)){V--,A=R+1;continue}if(V===0&&/^@else(?![a-z])/.test(T)){F=R;break}A=R+1}try{let R=q(O.trim()),T;if(F!==-1){let M=L.slice(0,F),k=L.slice(F+5);T=R?M:k}else T=R?L:"";G=G.substring(0,B)+T+G.substring(H+`@${w}`.length),U=!0}catch(R){let T=R instanceof Error?R.message:String(R),M=$0(W,`Error processing @${Q} directive: ${T}`,o.EVALUATION_ERROR);G=G.substring(0,B)+M+G.substring(H+`@${w}`.length);break}}return G}return Y=J(Y,"isset","endisset",(G)=>{let Q=C1(G,$);return Q!==void 0&&Q!==null},"Isset"),Y=J(Y,"empty","endempty",(G)=>{let Q=C1(G,$);return Q===void 0||Q===null||Q===""||Q===0||Q===!1||Array.isArray(Q)&&Q.length===0||typeof Q==="object"&&Q!==null&&Object.keys(Q).length===0},"Empty"),Y}function F9(X,$,Z){let Y=X,J="development";function G(Q,w,q,W){let U=new RegExp(`@${w}(?![a-z])`,"g"),K=new RegExp(`@${q}(?![a-z])`,"g"),z=new RegExp(`^@${w}(?![a-z])`),B=new RegExp(`^@${q}(?![a-z])`),_=Q,j=!0;while(j){j=!1,U.lastIndex=0;let H=U.exec(_);if(!H)break;let L=H.index,O=L+H[0].length;if(w==="env"){let I=_.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!I)break;O+=I[0].length,W=J===I[2]}let F=1,V=O,A=-1;while(F>0&&V<_.length){U.lastIndex=V,K.lastIndex=V;let I=U.exec(_),C=K.exec(_),S=I?I.index:1/0,b=C?C.index:1/0;if(S<b)F++,V=S+I[0].length;else if(b<1/0){if(F--,F===0){A=b;break}V=b+C[0].length}else break}if(A===-1){console.warn(`[stx] @${w} directive at position ${L} has no matching @${q} \u2014 the block was skipped.`);break}let R=_.substring(O,A),T=-1,M=0,k=0;while(k<R.length){let I=R.indexOf("@",k);if(I===-1)break;let C=R.substring(I);if(z.test(C)){M++,k=I+1;continue}if(B.test(C)){M--,k=I+1;continue}if(M===0&&/^@else(?![a-z])/.test(C)){T=I;break}k=I+1}let N;if(T!==-1){let I=R.slice(0,T),C=R.slice(T+5);N=W?I:C}else N=W?R:"";let y=`@${q}`.length;_=_.substring(0,L)+N+_.substring(A+y),j=!0}return _}return Y=G(Y,"env","endenv",!1),Y=G(Y,"production","endproduction",J==="production"),Y=G(Y,"development","enddevelopment",J==="development"),Y=G(Y,"staging","endstaging",J==="staging"),Y=G(Y,"testing","endtesting",J==="testing"),Y}var dX=D(()=>{DZ();F1();uX();F0()});function dZ(X=16){let $=new Uint8Array(X);return crypto.getRandomValues($),btoa(String.fromCharCode(...$))}function mX(X,$){if(!X)return $?.nonceGenerator?.()??dZ();let Z=uZ.get(X);if(!Z)Z=$?.nonceGenerator?.()??dZ(),uZ.set(X,Z);return Z}function jz(X,$){let Z=[];for(let[Y,J]of Object.entries(X)){if(J===void 0||J===null)continue;if(typeof J==="boolean"){if(J)Z.push(Y);continue}if(Array.isArray(J)){let G=[...J];if($&&(Y==="script-src"||Y==="style-src"))G=G.filter((Q)=>!Q.startsWith("'nonce-")),G.push(`'nonce-${$}'`);if(G.length>0)Z.push(`${Y} ${G.join(" ")}`)}}return Z.join("; ")}function mZ(X,$){return`<meta http-equiv="Content-Security-Policy" content="${jz(X,$).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}">`}function lZ(X,$,Z){if(!$.enabled||!$.addMetaTag)return X;if(X.includes('http-equiv="Content-Security-Policy"'))return X;if(!X.includes("<head>")&&!X.includes("<head "))return X;let Y=$.useNonce?mX(Z,$):void 0,J=mZ($.directives,Y);return X.replace(/<head([^>]*)>/,`<head$1>
3355
+ ${J}`)}function cZ(X,$){let Z=X;return Z=Z.replace(/<script(?![^>]*\ssrc=)([^>]*)>/gi,(Y,J)=>{if(J.includes("nonce="))return Y;return`<script nonce="${$}"${J}>`}),Z=Z.replace(/<style([^>]*)>/gi,(Y,J)=>{if(J.includes("nonce="))return Y;return`<style nonce="${$}"${J}>`}),Z}function pZ(X,$,Z,Y){let J=X,G=Y.csp;if(J=J.replace(/@csp\b/g,()=>{if(!G?.enabled||!G.directives)return"<!-- CSP not configured -->";let Q=G.useNonce?mX($,G):void 0;return mZ(G.directives,Q)}),J=J.replace(/@cspNonce\b/g,()=>{if(!G?.enabled||!G.useNonce)return"";return mX($,G)}),G?.enabled&&G.useNonce)$.cspNonce=mX($,G);return J}var uZ;var iZ=D(()=>{uZ=new WeakMap});import Hz from"crypto";function Oz(X=Lz){let $=Hz.randomBytes(Math.ceil(X/2)).toString("hex").slice(0,X);return V9=$,$}function Fz(){if(!V9)Oz();return V9}function Vz(X=nZ){let $=Fz();return`<input type="hidden" name="${X}" value="${$}">`}function rZ(X){return X.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,($,Z,Y)=>{return Vz(Y||nZ)})}var Lz=40,nZ="_token",V9=null;var sZ=()=>{};async function oZ(X,$,Z,Y){if(!Y.customDirectives||Y.customDirectives.length===0)return X;let J=X;for(let G of Y.customDirectives){if(!G.name||typeof G.handler!=="function"){if(Y.debug)console.warn("Invalid custom directive:",G);continue}if(G.hasEndTag)J=await Az(J,G,$,Z,Y);else J=await Rz(J,G,$,Z,Y)}return J}async function Az(X,$,Z,Y,J){let{name:G,handler:Q}=$,w=`@${G}`,q=`@end${G}`,W=X,U=S5(`${w}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${q}`,"g"),K=[],z=U.exec(W);while(z!==null){let[B,_="",j=""]=z,H=z.index||0;try{let L=_?aZ(_):[],O=j.trim(),F=await Q(O,L,Z,Y);K.push({original:B,processed:F,startIndex:H})}catch(L){let O=L instanceof Error?L.message:String(L);if(J.debug)console.error(`Error processing custom directive @${G}:`,L);K.push({original:B,processed:$0("CustomDirective",`Error in @${G}${_?`(${_})`:""}: ${O}`,o.EVALUATION_ERROR),startIndex:H})}z=U.exec(W)}for(let B=K.length-1;B>=0;B--){let{original:_,processed:j}=K[B];W=W.replace(_,j)}return W}async function Rz(X,$,Z,Y,J){let{name:G,handler:Q}=$,w=X,q=S5(`@${G}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),W=[],U=q.exec(w);while(U!==null){let[B,_=""]=U,j=U.index||0;try{let H=aZ(_),L=await Q("",H,Z,Y);W.push({original:B,processed:L,startIndex:j})}catch(H){let L=H instanceof Error?H.message:String(H);if(J.debug)console.error(`Error processing custom directive @${G}:`,H);W.push({original:B,processed:$0("CustomDirective",`Error in @${G}(${_}): ${L}`,o.EVALUATION_ERROR),startIndex:j})}U=q.exec(w)}let K=S5(`@${G}(?!\\w)(?!\\s*\\()`,"g"),z=K.exec(w);while(z!==null){let[B]=z,_=z.index||0;try{let j=await Q("",[],Z,Y);W.push({original:B,processed:j,startIndex:_})}catch(j){let H=j instanceof Error?j.message:String(j);if(J.debug)console.error(`Error processing custom directive @${G}:`,j);W.push({original:B,processed:$0("CustomDirective",`Error in @${G}: ${H}`,o.EVALUATION_ERROR),startIndex:_})}z=K.exec(w)}for(let B=W.length-1;B>=0;B--){let{original:_,processed:j}=W[B];w=w.replace(_,j)}return w}function aZ(X){if(!X.trim())return[];let $=[],Z="",Y=!1,J="";for(let G=0;G<X.length;G++){let Q=X[G];if((Q==='"'||Q==="'")&&(G===0||X[G-1]!=="\\"))if(!Y)Y=!0,J=Q;else if(Q===J)Y=!1;else Z+=Q;else if(Q===","&&!Y)$.push(Z.trim()),Z="";else Z+=Q}if(Z.trim())$.push(Z.trim());return $.map((G)=>{let Q=G.trim();if(Q.startsWith('"')&&Q.endsWith('"')||Q.startsWith("'")&&Q.endsWith("'"))return Q.substring(1,Q.length-1);return Q})}var tZ=D(()=>{F1();C5()});function Q5(X,$){if(typeof X!=="string"||X.length===0)throw Error(`@appearanceBootstrap ${$} must be a non-empty string`)}function Mz(X){if(!X||typeof X!=="object"||Array.isArray(X))throw Error("@appearanceBootstrap expects an options object");let $=X,Z=$.appearance,Y=$.colorMode;if(Q5($.storageKey,"storageKey"),!Z||typeof Z!=="object"||Array.isArray(Z))throw Error("@appearanceBootstrap appearance must be an object");if(!Y||typeof Y!=="object"||Array.isArray(Y))throw Error("@appearanceBootstrap colorMode must be an object");if(Q5(Z.key,"appearance.key"),Q5(Z.attribute,"appearance.attribute"),Q5(Z.default,"appearance.default"),Q5(Y.key,"colorMode.key"),Q5(Y.attribute,"colorMode.attribute"),Q5(Y.default,"colorMode.default"),!XY.test(Z.key)||!XY.test(Y.key))throw Error("@appearanceBootstrap preference keys must be JavaScript property names");if(!eZ.test(Z.attribute)||!eZ.test(Y.attribute))throw Error("@appearanceBootstrap attributes must be lowercase data attribute names");if(!Array.isArray(Z.allowed)||Z.allowed.length===0||Z.allowed.some((J)=>typeof J!=="string"||J.length===0))throw Error("@appearanceBootstrap appearance.allowed must contain one or more strings");if(!Z.allowed.includes(Z.default))throw Error("@appearanceBootstrap appearance.default must be in appearance.allowed");if(!Tz.has(Y.default))throw Error("@appearanceBootstrap colorMode.default must be light, dark, or system");return{storageKey:$.storageKey,appearance:{key:Z.key,attribute:Z.attribute,allowed:[...new Set(Z.allowed)],default:Z.default},colorMode:{key:Y.key,attribute:Y.attribute,default:Y.default}}}function Nz(X){return JSON.stringify(X).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function kz(X){return`<script data-stx-scoped data-stx-appearance-bootstrap>(function(){"use strict";const config=${Nz(X)};const root=document.documentElement;let stored={};try{const raw=localStorage.getItem(config.storageKey);const parsed=raw?JSON.parse(raw):{};if(parsed&&typeof parsed==="object"&&!Array.isArray(parsed))stored=parsed}catch{}const selectedAppearance=config.appearance.allowed.includes(stored[config.appearance.key])?stored[config.appearance.key]:config.appearance.default;const selectedMode=["light","dark","system"].includes(stored[config.colorMode.key])?stored[config.colorMode.key]:config.colorMode.default;root.setAttribute("data-"+config.appearance.attribute,selectedAppearance);root.setAttribute("data-"+config.colorMode.attribute,selectedMode);let dark=selectedMode==="dark";if(selectedMode==="system"){try{dark=matchMedia("(prefers-color-scheme: dark)").matches}catch{dark=false}}root.classList.toggle("dark",dark);root.dataset.theme=dark?"dark":"light"}());</script>`}function Iz(X,$){let Z=1,Y=null,J=!1;for(let G=$+1;G<X.length;G++){let Q=X[G];if(J){J=!1;continue}if(Y){if(Q==="\\")J=!0;else if(Q===Y)Y=null;continue}if(Q==='"'||Q==="'"||Q==="`"){Y=Q;continue}if(Q==="(")Z++;else if(Q===")"&&--Z===0)return G}return-1}function $Y(X,$){let Z=X,Y=/@appearanceBootstrap\s*\(/g,J;while((J=Y.exec(Z))!==null){let G=J.index+J[0].length-1,Q=Iz(Z,G);if(Q===-1)throw Error("@appearanceBootstrap has an unclosed options object");let w=Z.slice(G+1,Q).trim(),q=Y0(`(${w})`,$),W=kz(Mz(q));Z=Z.slice(0,J.index)+W+Z.slice(Q+1),Y.lastIndex=J.index+W.length}return Z}var eZ,XY,Tz;var ZY=D(()=>{F0();eZ=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,XY=/^[A-Za-z_$][\w$]*$/,Tz=new Set(["light","dark","system"])});var T9={};t(T9,{useTitle:()=>Sz,useSeoMeta:()=>YY,usePageTitle:()=>Sz,useHead:()=>R9,seoMetaToHeadConfig:()=>cX,resetHead:()=>yz,renderHtmlAttrs:()=>Pz,renderHead:()=>Cz,renderBodyAttrs:()=>vz,processTitleDirective:()=>gz,processMetaDirective:()=>hz,processHeadDirective:()=>fz,mergeHeadConfigs:()=>x5,getPageMeta:()=>Dz,getHead:()=>A9,definePageMeta:()=>bz,applyHead:()=>xz});function A9(){return v1}function Dz(){return lX}function yz(){v1={},Ez.length=0,lX={}}function R9(X){v1=x5(v1,X)}function x5(X,$){return{title:$.title??X.title,titleTemplate:$.titleTemplate??X.titleTemplate,base:$.base??X.base,meta:[...X.meta||[],...$.meta||[]],link:[...X.link||[],...$.link||[]],script:[...X.script||[],...$.script||[]],style:[...X.style||[],...$.style||[]],htmlAttrs:{...X.htmlAttrs,...$.htmlAttrs},bodyAttrs:{...X.bodyAttrs,...$.bodyAttrs}}}function YY(X){R9(cX(X))}function cX(X){let $=[];if(X.description)$.push({name:"description",content:X.description});if(X.keywords){let q=Array.isArray(X.keywords)?X.keywords.join(", "):X.keywords;$.push({name:"keywords",content:q})}if(X.author)$.push({name:"author",content:X.author});if(X.robots)$.push({name:"robots",content:X.robots});let Z=X.ogTitle??X.title,Y=X.ogDescription??X.description;if(Z)$.push({property:"og:title",content:Z});if(Y)$.push({property:"og:description",content:Y});if(X.ogImage)$.push({property:"og:image",content:X.ogImage});if(X.ogUrl)$.push({property:"og:url",content:X.ogUrl});if(X.ogType)$.push({property:"og:type",content:X.ogType});if(X.ogSiteName)$.push({property:"og:site_name",content:X.ogSiteName});if(X.ogLocale)$.push({property:"og:locale",content:X.ogLocale});let J=X.twitterTitle??X.title,G=X.twitterDescription??X.description,Q=X.twitterImage??X.ogImage;if(X.twitterCard)$.push({name:"twitter:card",content:X.twitterCard});if(J)$.push({name:"twitter:title",content:J});if(G)$.push({name:"twitter:description",content:G});if(Q)$.push({name:"twitter:image",content:Q});if(X.twitterSite)$.push({name:"twitter:site",content:X.twitterSite});if(X.twitterCreator)$.push({name:"twitter:creator",content:X.twitterCreator});if(X.articleAuthor)$.push({property:"article:author",content:X.articleAuthor});if(X.articlePublishedTime)$.push({property:"article:published_time",content:X.articlePublishedTime});if(X.articleModifiedTime)$.push({property:"article:modified_time",content:X.articleModifiedTime});if(X.articleSection)$.push({property:"article:section",content:X.articleSection});if(X.articleTags)for(let q of X.articleTags)$.push({property:"article:tag",content:q});let w=[];if(X.canonical)w.push({rel:"canonical",href:X.canonical});return{title:X.title,titleTemplate:X.titleTemplate,meta:$,link:w}}function bz(X){if(lX={...lX,...X},X.title||X.description)YY({title:X.title,description:X.description})}function Sz(X){let $=typeof X==="function"?X():X;R9({title:$})}function Cz(X=v1){let $=[];if(X.title){let Z=X.title;if(X.titleTemplate)Z=typeof X.titleTemplate==="function"?X.titleTemplate(Z):X.titleTemplate.replace("%s",Z);$.push(`<title>${w5(Z)}</title>`)}if(X.base){let Z=Object.entries(X.base).map(([Y,J])=>`${Y}="${w5(J)}"`).join(" ");$.push(`<base ${Z}>`)}for(let Z of X.meta||[]){let Y=Object.entries(Z).filter(([J,G])=>G!==void 0).map(([J,G])=>{return`${J==="httpEquiv"?"http-equiv":J}="${w5(String(G))}"`}).join(" ");$.push(`<meta ${Y}>`)}for(let Z of X.link||[]){let Y=Object.entries(Z).filter(([J,G])=>G!==void 0).map(([J,G])=>`${J}="${w5(String(G))}"`).join(" ");$.push(`<link ${Y}>`)}for(let Z of X.script||[]){let{content:Y,...J}=Z,G=Object.entries(J).filter(([Q,w])=>w!==void 0).map(([Q,w])=>{if(typeof w==="boolean")return w?Q:"";return`${Q}="${w5(String(w))}"`}).filter(Boolean).join(" ");if(Y)$.push(`<script ${G}>${Y}</script>`);else $.push(`<script ${G}></script>`)}for(let Z of X.style||[]){let Y=Z.type?` type="${Z.type}"`:"";$.push(`<style${Y}>${Z.content}</style>`)}return $.join(`
3356
+ `)}function Pz(X=v1){if(!X.htmlAttrs)return"";return Object.entries(X.htmlAttrs).map(([$,Z])=>`${$}="${w5(Z)}"`).join(" ")}function vz(X=v1){if(!X.bodyAttrs)return"";return Object.entries(X.bodyAttrs).map(([$,Z])=>`${$}="${w5(Z)}"`).join(" ")}function w5(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function xz(X=v1){if(typeof document>"u")return;if(X.title){let $=X.title;if(X.titleTemplate)$=typeof X.titleTemplate==="function"?X.titleTemplate($):X.titleTemplate.replace("%s",$);document.title=$}for(let $ of X.meta||[]){let Z=$.name?`meta[name="${$.name}"]`:$.property?`meta[property="${$.property}"]`:null;if(Z){let Y=document.querySelector(Z);if(!Y){if(Y=document.createElement("meta"),$.name)Y.setAttribute("name",$.name);if($.property)Y.setAttribute("property",$.property);document.head.appendChild(Y)}Y.setAttribute("content",$.content)}}for(let $ of X.link||[]){let Z=`link[rel="${$.rel}"]${$.href?`[href="${$.href}"]`:""}`,Y=document.querySelector(Z);if(!Y)Y=document.createElement("link"),document.head.appendChild(Y);for(let[J,G]of Object.entries($))if(G!==void 0)Y.setAttribute(J,String(G))}if(X.htmlAttrs)for(let[$,Z]of Object.entries(X.htmlAttrs))if($==="class")for(let Y of String(Z).split(/\s+/).filter(Boolean))document.documentElement.classList.add(Y);else document.documentElement.setAttribute($,Z);if(X.bodyAttrs)for(let[$,Z]of Object.entries(X.bodyAttrs))document.body.setAttribute($,Z)}function fz(X){let $="";return{content:X.replace(/@head\s*([\s\S]*?)@endhead/g,(Y,J)=>{return $+=J.trim()+`
3357
+ `,""}),headContent:$.trim()}}function gz(X,$){return X.replace(/@title\s*\(\s*(?:(['"`])(.+?)\1|([^)]+))\s*\)/g,(Z,Y,J,G)=>{let Q=Y?J:$[(G||"").trim()]??G,w=$.__stx_runtime_head??{};return $.__stx_runtime_head=x5(w,{title:Q}),""})}function hz(X,$){return X.replace(/@meta\s*\(\s*(['"`])(.+?)\1\s*,\s*(?:(['"`])(.+?)\3|([^)]+))\s*\)/g,(Z,Y,J,G,Q,w)=>{let q=G?Q:w,W=G?q:$[(q||"").trim()]??q,K=J.includes(":")?{property:J,content:W}:{name:J,content:W},z=$.__stx_runtime_head??{};return $.__stx_runtime_head=x5(z,{meta:[K]}),""})}var v1,Ez,lX;var x7=D(()=>{v1={},Ez=[],lX={}});import uz from"crypto";function H0(X){return String(X??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function pX(X,$,Z,Y){let J=X||$;return Z?`${J} ${Y}`:J}function i0(X){return String(X).replace(/\[\]$/,"").replace(/[^\w.:-]+/g,"-").replace(/^-+|-+$/g,"")}function f5(X,$){if(/\bid\s*=/i.test(X))return"";return` id="${H0($)}"`}function M9(X,$,Z){if(!$)return"";let Y="";if(!/\baria-invalid\s*=/i.test(Z))Y+=' aria-invalid="true"';if(!/\baria-describedby\s*=/i.test(Z))Y+=` aria-describedby="${H0(`${i0(X)}-error`)}"`;return Y}function dz(){return uz.randomUUID()}function iX(X,$){let Z=X;return Z=Z.replace(/@csrf/g,()=>{if(!$.csrf||typeof $.csrf!=="object"){let Y=dz();$.csrf={token:Y}}if($.csrf.field)return $.csrf.field;if($.csrf.token)return`<input type="hidden" name="_token" value="${H0($.csrf.token)}">`;return'<input type="hidden" name="_token" value="">'}),Z=Z.replace(/@method\(['"]([^'"]+)['"]\)/g,(Y,J)=>{let G=J.toUpperCase();if(J&&!["GET","POST"].includes(G))return`<input type="hidden" name="_method" value="${H0(G)}">`;return Y}),Z}function QY(X,$,Z=GY){let Y=X;return Y=Y.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(J,G,Q,w,q,W="")=>{let U=G||Q||"POST",K=w||q||"",z=x1(W),B=U.toUpperCase(),_=["GET","POST"].includes(B)?B:"POST",j=`<form method="${H0(_)}" action="${H0(K)}"${z?` ${z}`:""}>`;if(j+=`
3358
3358
  ${iX("@csrf",$)}`,!["GET","POST"].includes(B))j+=`
3359
- ${iX(`@method('${B}')`,$)}`;return j}),Y=Y.replace(/@endform/g,"</form>"),Y=Y.replace(/@input\(\s*(?:'([^']+)'|"([^"]+)")\s*(?:,\s*(?:(?:'([^']*)'|"([^"]*)")\s*)?)?(?:,\s*\{([^}]+)\})?\s*\)/g,(J,G,Q,w,q,W="")=>{let U=G||Q||"",K=w||q||"",z=x1(W),B=f7(U,$),_=B!==void 0&&B!==null?B:K||"",j=z.match(/type=['"]([^'"]+)['"]/i),H=j?j[1]:"text",L=g7(U,$),O=z.match(/class=['"]([^'"]+)['"]/i),F=pX(O?O[1]:"",Z.input,L,Z.inputError),V=z.replace(/class=['"][^'"]+['"]/i,"");return V=V.replace(/type=['"][^'"]+['"]/i,""),`<input type="${H0(H)}" name="${H0(U)}"${f5(z,i0(U))} value="${H0(_)}" class="${F}"${M9(U,L,z)}${V?` ${V}`:""}>`}),Y=Y.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(J,G,Q="",w="")=>{let q=x1(Q),W=f7(G,$)||w.trim(),U=g7(G,$),K=q.match(/class=['"]([^'"]+)['"]/i),z=pX(K?K[1]:"",Z.input,U,Z.inputError),B=q.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${H0(G)}"${f5(q,i0(G))} class="${z}"${M9(G,U,q)}${B?` ${B}`:""}>${H0(W)}</textarea>`}),Y=Y.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(J,G,Q="",w)=>{let q=x1(Q),W=f7(G,$),U=g7(G,$),K=q.match(/class=['"]([^'"]+)['"]/i),z=pX(K?K[1]:"",Z.input,U,Z.inputError),B=q.replace(/class=['"][^'"]+['"]/i,""),_=w;if(W!==void 0)_=w.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(j,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 j});return`<select name="${H0(G)}"${f5(q,i0(G))} class="${z}"${M9(G,U,q)}${B?` ${B}`:""}>${_}</select>`}),Y=Y.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(J,G,Q,w="")=>{let q=Q===void 0?"1":Q,W=Q===void 0?i0(G):`${i0(G)}-${i0(q)}`,U=x1(w),K=f7(G,$),z=K!==void 0&&(Array.isArray(K)?K.some((H)=>String(H)===q):K===!0||String(K)===q),B=U.match(/class=['"]([^'"]+)['"]/i),_=B?B[1]:Z.checkInput,j=U.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${H0(G)}"${f5(U,W)} value="${H0(q)}" class="${_}"${z?" checked":""}${j?` ${j}`:""}>`}),Y=Y.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(J,G,Q,w="")=>{let q=x1(w),W=f7(G,$),U=W!==void 0&&W===Q,K=q.match(/class=['"]([^'"]+)['"]/i),z=K?K[1]:Z.checkInput,B=q.replace(/class=['"][^'"]+['"]/i,"");return`<input type="radio" name="${H0(G)}"${f5(q,`${i0(G)}-${i0(Q)}`)} value="${H0(Q)}" class="${z}"${U?" checked":""}${B?` ${B}`:""}>`}),Y=Y.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(J,G,Q="")=>{let w=x1(Q),q=w.match(/accept=['"]([^'"]+)['"]/i),W=q?q[1]:"",U=w.includes("multiple"),K=g7(G,$),z=w.match(/class=['"]([^'"]+)['"]/i),B=pX(z?z[1]:"",Z.input,K,Z.inputError),_=w.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),j=[`<input type="file" name="${H0(G)}"${f5(w,i0(G))}`,`class="${B}"`];if(W)j.push(`accept="${H0(W)}"`);if(U)j.push("multiple");if(_)j.push(_);return`${j.join(" ")}>`}),Y=Y.replace(/@label\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endlabel/g,(J,G,Q="",w)=>{let q=x1(Q),W=q.match(/class=['"]([^'"]+)['"]/i),U=W?W[1]:Z.label,K=q.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${H0(i0(G))}" class="${U}"${K?` ${K}`:""}>${w}</label>`}),Y}function QY(X,$,Z=JY){return X.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(Y,J,G)=>{try{if(g7(J,$)){let Q=G.replace(/\{\{([^}]+)\}\}/g,(w,q)=>{try{if(q.trim()==="$message"||q.trim()==="message")return YY(J,$);if(q.trim().includes("errors.first")||q.trim().includes("$errors.first")){if(typeof $.errors?.first==="function")return $.errors.first(J);return YY(J,$)}let W=q.trim();if(q0(W)){let U=Y0(W,$);return U!==void 0?String(U):W}return W}catch{return q}});return`<div id="${H0(`${i0(J)}-error`)}" role="alert">${Q}</div>`}return""}catch(Q){return console.error("Error processing @error directive:",Q),Y}})}function g7(X,$){if(!$.errors)return!1;if(typeof $.errors.has==="function")return $.errors.has(X);if(typeof $.errors==="object")return Object.prototype.hasOwnProperty.call($.errors,X);return!1}function YY(X,$){if(!$.errors)return"";if(typeof $.errors.get==="function")return $.errors.get(X);if(typeof $.errors==="object"&&Object.prototype.hasOwnProperty.call($.errors,X)){let Z=$.errors[X];return Array.isArray(Z)?Z[0]:String(Z)}return""}function f7(X,$){let Z;if($.old&&typeof $.old==="function")return $.old(X);if($.old&&typeof $.old==="object")return $.old[X];if(X.endsWith("[]")){let Y=X.slice(0,-2);if(Z=$[Y],Z!==void 0)return Z}return $[X]}function x1(X){if(!X.trim())return"";let $=[],Z=X.trim(),Y=/([\w-]+)\s*:\s*(['"]?)([^,'"]*)\2(?:\s*,\s*|\s*$)/g,J;while((J=Y.exec(Z))!==null){let[,G,,Q]=J;$.push(`${G}="${Q.trim()}"`)}return $.join(" ")}var JY;var wY=D(()=>{F0();JY={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"}});import I9 from"path";async function uz(){if(h7!==void 0)return h7;try{h7=(await import("@stacksjs/ts-i18n")).loadLocale??null}catch{h7=null}return h7}function dz(X,$=0){if($<=0)return!1;return Date.now()-X.loadedAt>$}async function mz(X,$){if({...y9,...$.i18n}.cache&&E9[X]){let J=E9[X],G=$.i18n?.cacheMaxAge??0;if(!dz(J,G))return J.translations}if(u7[X]?.state==="loading")return u7[X].promise;N9[X]="loading";let Y=D9(X,$).then((J)=>{return N9[X]="loaded",delete u7[X],J}).catch((J)=>{throw N9[X]="error",u7[X]={promise:Y,state:"error",error:J instanceof Error?J:Error(String(J))},J});return u7[X]={promise:Y,state:"loading"},Y}async function D9(X,$){let Z={...y9,...$.i18n},Y=I9.isAbsolute(Z.translationsDir)?Z.translationsDir:I9.resolve($.root||process.cwd(),Z.translationsDir);try{let J=await uz(),G=J?await J(X,{translationsDir:Y,defaultLocale:Z.defaultLocale,sources:nz(Z.format)}):await lz(X,Z,Y);if(G===void 0){if(X!==Z.defaultLocale)return D9(Z.defaultLocale,$);return{}}let Q=G;if(Z.cache)E9[X]={translations:Q,loadedAt:Date.now(),locale:X};return Q}catch(J){if($.debug)console.error(`Error loading translation file for locale "${X}":`,J);if(X!==Z.defaultLocale)return D9(Z.defaultLocale,$);return{}}}async function lz(X,$,Z){let Y=I9.join(Z,`${X}${cz($.format)}`);try{let J=await import(Y);return J.default||J}catch(J){try{let G=await Bun.file(Y).text();if($.format==="yaml"||$.format==="yml")return pz(G);if($.format==="json")return JSON.parse(G);throw J}catch{return}}}function cz(X){switch(X){case"yaml":return".yaml";case"yml":return".yml";case"js":return".js";case"ts":return".ts";case"json":default:return".json"}}function pz(X){let $={},Z=X.split(`
3360
- `),Y=[{obj:$,indent:-1}];for(let J of Z){let G=J.replace(/#.*$/,"").trimEnd();if(!G.trim())continue;let Q=G.search(/\S/);if(Q===-1)continue;while(Y.length>1&&Y[Y.length-1].indent>=Q)Y.pop();let w=Y[Y.length-1].obj,q=G.match(/^(\s*)(\S[^:]*):\s*(.*)$/);if(q){let[,,W,U]=q,K=W.trim(),z=U.trim();if(z==="")w[K]={},Y.push({obj:w[K],indent:Q});else w[K]=iz(z)}}return $}function iz(X){if(X.startsWith("'")&&X.endsWith("'")||X.startsWith('"')&&X.endsWith('"'))return X.slice(1,-1);let $=X.toLowerCase();if($==="true"||$==="yes")return!0;if($==="false"||$==="no")return!1;if($==="null"||$==="~")return null;let Z=Number(X);if(!Number.isNaN(Z)&&X!=="")return Z;return X}function nz(X){switch(X){case"yaml":case"yml":return["yaml"];case"js":case"ts":return["ts"];case"json":default:return["json"]}}async function rz(X,$){return mz(X,$)}function sz(X,$){for(let Z of X){let Y=Z.trim(),J=Y.match(/^\{(\d+)\}\s*(.*)$/);if(J){let Q=Number.parseInt(J[1],10);if($===Q)return J[2];continue}let G=Y.match(/^\[(\d+),(\d+|\*)\]\s*(.*)$/);if(G){let Q=Number.parseInt(G[1],10),w=G[2]==="*"?Number.POSITIVE_INFINITY:Number.parseInt(G[2],10);if($>=Q&&$<=w)return G[3];continue}}if(X.length===2)return $===1?X[0].trim():X[1].trim();if($<X.length)return X[$].trim();return X[X.length-1].trim()}function oz(X,$={}){return UY(X,$)}function UY(X,$){let Z="",Y=0;while(Y<X.length)if(X[Y]==="{"){let J=az(X,Y);if(J===-1){Z+=X[Y],Y++;continue}let G=X.slice(Y+1,J);Z+=tz(G,$),Y=J+1}else if(X[Y]==="'"&&Y+1<X.length)if(X[Y+1]==="'")Z+="'",Y+=2;else if(X[Y+1]==="{"||X[Y+1]==="}")Z+=X[Y+1],Y+=2;else Z+=X[Y],Y++;else Z+=X[Y],Y++;return Z}function az(X,$){let Z=0;for(let Y=$;Y<X.length;Y++)if(X[Y]==="{")Z++;else if(X[Y]==="}"){if(Z--,Z===0)return Y}return-1}function tz(X,$){let Z=ez(X);if(Z.length===0)return`{${X}}`;let Y=Z[0].trim(),J=$[Y];if(Z.length===1)return J!==void 0?String(J):`{${Y}}`;switch(Z[1].trim().toLowerCase()){case"plural":return X_(J,Z.slice(2).join(","),$);case"select":return Z_(J,Z.slice(2).join(","));case"selectordinal":return Y_(J,Z.slice(2).join(","));case"number":return G_(J,Z[2]?.trim());case"date":return Q_(J,Z[2]?.trim());case"time":return w_(J,Z[2]?.trim());default:return J!==void 0?String(J):`{${X}}`}}function ez(X){let $=[],Z="",Y=0;for(let J=0;J<X.length;J++){let G=X[J];if(G==="{")Y++,Z+=G;else if(G==="}")Y--,Z+=G;else if(G===","&&Y===0)$.push(Z),Z="";else Z+=G}if(Z)$.push(Z);return $}function X_(X,$,Z){let Y=Number(X)||0,J=b9($),G=`=${Y}`;if(J[G])return k9(J[G],Y,Z);let Q=$_(Y);if(J[Q])return k9(J[Q],Y,Z);if(J.other)return k9(J.other,Y,Z);return String(Y)}function k9(X,$,Z){let Y=X.replace(/#/g,String($));return UY(Y,Z)}function $_(X){let $=Math.abs(X),Z=Math.floor($),Y=String(X).includes(".")?String(X).split(".")[1].length:0;if(Z===1&&Y===0)return"one";return"other"}function Z_(X,$){let Z=String(X||""),Y=b9($);if(Y[Z])return Y[Z];return Y.other||String(X)}function Y_(X,$){let Z=Number(X)||0,Y=b9($),J=J_(Z);if(Y[J])return Y[J].replace(/#/g,String(Z));if(Y.other)return Y.other.replace(/#/g,String(Z));return String(Z)}function J_(X){let $=Math.abs(X),Z=$%10,Y=$%100;if(Z===1&&Y!==11)return"one";if(Z===2&&Y!==12)return"two";if(Z===3&&Y!==13)return"few";return"other"}function b9(X){let $={},Z=/(\w+|=\d+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g,Y=Z.exec(X);while(Y!==null)$[Y[1]]=Y[2],Y=Z.exec(X);return $}function G_(X,$){let Z=Number(X);if(Number.isNaN(Z))return String(X);switch($){case"integer":return Math.floor(Z).toLocaleString();case"percent":return`${(Z*100).toFixed(0)}%`;case"currency":return Z.toLocaleString(void 0,{style:"currency",currency:"USD"});default:return Z.toLocaleString()}}function Q_(X,$){let Z=X instanceof Date?X:new Date(String(X));if(Number.isNaN(Z.getTime()))return String(X);let Y={};switch($){case"short":Y.dateStyle="short";break;case"medium":Y.dateStyle="medium";break;case"long":Y.dateStyle="long";break;case"full":Y.dateStyle="full";break;default:Y.dateStyle="medium"}return Z.toLocaleDateString(void 0,Y)}function w_(X,$){let Z=X instanceof Date?X:new Date(String(X));if(Number.isNaN(Z.getTime()))return String(X);let Y={};switch($){case"short":Y.timeStyle="short";break;case"medium":Y.timeStyle="medium";break;case"long":Y.timeStyle="long";break;case"full":Y.timeStyle="full";break;default:Y.timeStyle="short"}return Z.toLocaleTimeString(void 0,Y)}function q_(X){return/\{[^}]+,\s*(?:plural|select|selectordinal|number|date|time)\s*,/.test(X)}function qY(X,$,Z=!0,Y={}){let J=X.split("."),G=$;for(let w of J){if(G===void 0||G===null)break;G=G[w]}if(G===void 0||G===null)return Z?X:"";let Q=String(G);if(q_(Q))return oz(Q,Y);if(Q.includes("|")&&"count"in Y){let w=Number(Y.count),q=Q.split("|");Q=sz(q,w)}for(let[w,q]of Object.entries(Y)){let W=w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Q=Q.replace(new RegExp(`:${W}`,"g"),String(q))}return Q}async function KY(X,$,Z,Y){let J=X,G=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)([\s\S]*?)@endtranslate/g,Q={...y9,...Y.i18n},w=await rz(Q.locale,Y);$.__translations=w,$.__locale=Q.locale,$.__i18nConfig=Q,J=await WY(J,G,async(U,K,z,B,_)=>{try{let j={};if(z)try{let L=[()=>JSON.parse(z),()=>{let O=`{"data":${z}}`,F=JSON.parse(O);return typeof F.data==="object"?F.data:{}},()=>{return O0(z,$)}];for(let O of L)try{if(j=O(),Object.keys(j).length>0)break}catch{}}catch(L){if(Y.debug)console.error("Error parsing parameters for @translate directive:",L)}return qY(K,w,Q.fallbackToKey,j)||B.trim()}catch(j){if(Y.debug)console.error("Error processing @translate directive:",j);return $0("Translate",`Error in @translate('${K}'): ${j instanceof Error?j.message:String(j)}`,o.EVALUATION_ERROR)}});let q=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]+\})\s*)?\)/g;if(Y.debug){console.warn(`Processing translations in template. Sections: ${J.includes("<h2>Translation with Parameters</h2>")?"Parameters section found":"Parameters section missing"}`);let U=[...J.matchAll(q)];console.warn(`Found ${U.length} @translate matches`),U.forEach((K,z)=>console.warn(`Match ${z}: ${K[0]}, Key: ${K[1]}, Params: ${K[2]||"none"}`))}return J=await WY(J,/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)/g,async(U,K,z,B)=>{try{let _={};if(z)try{let j=[()=>JSON.parse(z),()=>{let H=`{"data":${z}}`,L=JSON.parse(H);return typeof L.data==="object"?L.data:{}},()=>{return O0(z,$)}];for(let H of j)try{if(_=H(),Object.keys(_).length>0)break}catch{}}catch(j){if(Y.debug)console.error("Error parsing parameters for @translate directive:",j)}return qY(K,w,Q.fallbackToKey,_)}catch(_){if(Y.debug)console.error("Error processing @translate directive:",_);return $0("Translate",`Error in @translate('${K}'): ${_ instanceof Error?_.message:String(_)}`,o.EVALUATION_ERROR)}}),J}async function WY(X,$,Z){let Y=[];return X.replace($,(G,...Q)=>{let w=Z(G,...Q).then((q)=>({match:G,replacement:q}));return Y.push(w),G}),(await Promise.all(Y)).reduce((G,{match:Q,replacement:w})=>G.replace(Q,w),X)}var h7,y9,E9,u7,N9;var zY=D(()=>{F1();F0();y9={defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},E9={},u7={},N9={}});function U_(X){let $=X.replace(/^<template\b/i,"").replace(/>$/,"");return W_.test($)}function g5(X){d7.lastIndex=0;let $;while(($=d7.exec(X))!==null){if($[0].startsWith("</")||U_($[0]))continue;let Z=$.index,Y=d7.lastIndex,J=1,G;while((G=d7.exec(X))!==null)if(G[0].startsWith("</")){if(J--,J===0){let Q=G.index;return{start:Z,openEnd:Y,closeStart:Q,end:d7.lastIndex,content:X.slice(Y,Q)}}}else J++;return null}return null}var d7,W_;var nX=D(()=>{d7=/<\/?template\b[^>]*>/gi,W_=/(?:^|\s)(?:id\s*=|(?:x-|[@:])(?:for|if|else(?:-if)?)(?=\s|=|$)|#[\w-]+(?:\s*=|\s|$)|v-slot(?::[\w-]+)?(?=\s|=|$)|slot\s*=)/i});var P9={};t(P9,{streamingSuspenseDirective:()=>jY,streamToResponse:()=>R_,streamTemplateSimple:()=>O_,streamTemplate:()=>z_,renderStreamingPage:()=>B_,registerStreamingDirectives:()=>V_,processStreamDirectives:()=>H_,processSectionDirectives:()=>A_,islandDirective:()=>HY,generateHydrationRuntime:()=>T_,extractStreamBoundaries:()=>L_,createStreamRenderer:()=>F_,buildSuspenseResolveScript:()=>C9,SUSPENSE_RESOLVER_RUNTIME:()=>BY});import rX from"path";function K_(X){let $=[],Z=0,Y;_Y.lastIndex=0;while((Y=_Y.exec(X))!==null){if(Y.index>Z){let Q=X.slice(Z,Y.index);if(Q.trim())$.push({type:$.length===0?"shell":"content",content:Q})}let J=Y[1],G=Y[2];$.push({type:"suspense",name:J,content:G}),Z=Y.index+Y[0].length}if(Z<X.length){let J=X.slice(Z);if(J.trim())$.push({type:$.length===0?"shell":"content",content:J})}if($.length===0)$.push({type:"shell",content:X});return $}async function z_(X,$={},Z={}){let Y={...A1,...Z,streaming:{...S9,...Z.streaming}},J=Y.streaming?.bufferSize||16384;return new ReadableStream({async start(G){try{let Q=await Bun.file(X).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,""),U={...$,__filename:X,__dirname:rX.dirname(X)};if(q.trim())await V1(q,U,X);let K=K_(W),z=new Set;if(!K.some((_)=>_.type==="suspense")){let _=Y.streaming?.strategy||"auto",j=new RegExp(q5.source,"g");if(!(_!=="manual"&&j.test(W))){let L=await V0(W,U,X,Y,z);for(let O=0;O<L.length;O+=J)G.enqueue(L.slice(O,O+J)),await new Promise((F)=>setTimeout(F,0))}else{let L=[],O=new RegExp(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 T=W.slice(V,A.start);if(T.trim()){let M=await V0(T,U,X,Y,z);G.enqueue(M),await new Promise((k)=>setTimeout(k,0))}}let R=await V0(A.content,U,X,Y,z);G.enqueue(R),await new Promise((T)=>setTimeout(T,0)),V=A.end}if(V<W.length){let A=W.slice(V);if(A.trim()){let R=await V0(A,U,X,Y,z);G.enqueue(R)}}}}else{let _=new Map;for(let H of K)if(H.type==="shell"||H.type==="content"){let L=await V0(H.content,U,X,Y,z);G.enqueue(L)}else if(H.type==="suspense"&&H.name){let L=`stx-suspense-${H.name}`;G.enqueue(`<div id="${L}" data-suspense="${H.name}" style="display:contents;">
3359
+ ${iX(`@method('${B}')`,$)}`;return j}),Y=Y.replace(/@endform/g,"</form>"),Y=Y.replace(/@input\(\s*(?:'([^']+)'|"([^"]+)")\s*(?:,\s*(?:(?:'([^']*)'|"([^"]*)")\s*)?)?(?:,\s*\{([^}]+)\})?\s*\)/g,(J,G,Q,w,q,W="")=>{let U=G||Q||"",K=w||q||"",z=x1(W),B=f7(U,$),_=B!==void 0&&B!==null?B:K||"",j=z.match(/type=['"]([^'"]+)['"]/i),H=j?j[1]:"text",L=g7(U,$),O=z.match(/class=['"]([^'"]+)['"]/i),F=pX(O?O[1]:"",Z.input,L,Z.inputError),V=z.replace(/class=['"][^'"]+['"]/i,"");return V=V.replace(/type=['"][^'"]+['"]/i,""),`<input type="${H0(H)}" name="${H0(U)}"${f5(z,i0(U))} value="${H0(_)}" class="${F}"${M9(U,L,z)}${V?` ${V}`:""}>`}),Y=Y.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(J,G,Q="",w="")=>{let q=x1(Q),W=f7(G,$)||w.trim(),U=g7(G,$),K=q.match(/class=['"]([^'"]+)['"]/i),z=pX(K?K[1]:"",Z.input,U,Z.inputError),B=q.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${H0(G)}"${f5(q,i0(G))} class="${z}"${M9(G,U,q)}${B?` ${B}`:""}>${H0(W)}</textarea>`}),Y=Y.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(J,G,Q="",w)=>{let q=x1(Q),W=f7(G,$),U=g7(G,$),K=q.match(/class=['"]([^'"]+)['"]/i),z=pX(K?K[1]:"",Z.input,U,Z.inputError),B=q.replace(/class=['"][^'"]+['"]/i,""),_=w;if(W!==void 0)_=w.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(j,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 j});return`<select name="${H0(G)}"${f5(q,i0(G))} class="${z}"${M9(G,U,q)}${B?` ${B}`:""}>${_}</select>`}),Y=Y.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(J,G,Q,w="")=>{let q=Q===void 0?"1":Q,W=Q===void 0?i0(G):`${i0(G)}-${i0(q)}`,U=x1(w),K=f7(G,$),z=K!==void 0&&(Array.isArray(K)?K.some((H)=>String(H)===q):K===!0||String(K)===q),B=U.match(/class=['"]([^'"]+)['"]/i),_=B?B[1]:Z.checkInput,j=U.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${H0(G)}"${f5(U,W)} value="${H0(q)}" class="${_}"${z?" checked":""}${j?` ${j}`:""}>`}),Y=Y.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(J,G,Q,w="")=>{let q=x1(w),W=f7(G,$),U=W!==void 0&&W===Q,K=q.match(/class=['"]([^'"]+)['"]/i),z=K?K[1]:Z.checkInput,B=q.replace(/class=['"][^'"]+['"]/i,"");return`<input type="radio" name="${H0(G)}"${f5(q,`${i0(G)}-${i0(Q)}`)} value="${H0(Q)}" class="${z}"${U?" checked":""}${B?` ${B}`:""}>`}),Y=Y.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(J,G,Q="")=>{let w=x1(Q),q=w.match(/accept=['"]([^'"]+)['"]/i),W=q?q[1]:"",U=w.includes("multiple"),K=g7(G,$),z=w.match(/class=['"]([^'"]+)['"]/i),B=pX(z?z[1]:"",Z.input,K,Z.inputError),_=w.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),j=[`<input type="file" name="${H0(G)}"${f5(w,i0(G))}`,`class="${B}"`];if(W)j.push(`accept="${H0(W)}"`);if(U)j.push("multiple");if(_)j.push(_);return`${j.join(" ")}>`}),Y=Y.replace(/@label\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endlabel/g,(J,G,Q="",w)=>{let q=x1(Q),W=q.match(/class=['"]([^'"]+)['"]/i),U=W?W[1]:Z.label,K=q.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${H0(i0(G))}" class="${U}"${K?` ${K}`:""}>${w}</label>`}),Y}function wY(X,$,Z=GY){return X.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(Y,J,G)=>{try{if(g7(J,$)){let Q=G.replace(/\{\{([^}]+)\}\}/g,(w,q)=>{try{if(q.trim()==="$message"||q.trim()==="message")return JY(J,$);if(q.trim().includes("errors.first")||q.trim().includes("$errors.first")){if(typeof $.errors?.first==="function")return $.errors.first(J);return JY(J,$)}let W=q.trim();if(q0(W)){let U=Y0(W,$);return U!==void 0?String(U):W}return W}catch{return q}});return`<div id="${H0(`${i0(J)}-error`)}" role="alert">${Q}</div>`}return""}catch(Q){return console.error("Error processing @error directive:",Q),Y}})}function g7(X,$){if(!$.errors)return!1;if(typeof $.errors.has==="function")return $.errors.has(X);if(typeof $.errors==="object")return Object.prototype.hasOwnProperty.call($.errors,X);return!1}function JY(X,$){if(!$.errors)return"";if(typeof $.errors.get==="function")return $.errors.get(X);if(typeof $.errors==="object"&&Object.prototype.hasOwnProperty.call($.errors,X)){let Z=$.errors[X];return Array.isArray(Z)?Z[0]:String(Z)}return""}function f7(X,$){let Z;if($.old&&typeof $.old==="function")return $.old(X);if($.old&&typeof $.old==="object")return $.old[X];if(X.endsWith("[]")){let Y=X.slice(0,-2);if(Z=$[Y],Z!==void 0)return Z}return $[X]}function x1(X){if(!X.trim())return"";let $=[],Z=X.trim(),Y=/([\w-]+)\s*:\s*(['"]?)([^,'"]*)\2(?:\s*,\s*|\s*$)/g,J;while((J=Y.exec(Z))!==null){let[,G,,Q]=J;$.push(`${G}="${Q.trim()}"`)}return $.join(" ")}var GY;var qY=D(()=>{F0();GY={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"}});import I9 from"path";async function mz(){if(h7!==void 0)return h7;try{h7=(await import("@stacksjs/ts-i18n")).loadLocale??null}catch{h7=null}return h7}function lz(X,$=0){if($<=0)return!1;return Date.now()-X.loadedAt>$}async function cz(X,$){if({...y9,...$.i18n}.cache&&E9[X]){let J=E9[X],G=$.i18n?.cacheMaxAge??0;if(!lz(J,G))return J.translations}if(u7[X]?.state==="loading")return u7[X].promise;N9[X]="loading";let Y=D9(X,$).then((J)=>{return N9[X]="loaded",delete u7[X],J}).catch((J)=>{throw N9[X]="error",u7[X]={promise:Y,state:"error",error:J instanceof Error?J:Error(String(J))},J});return u7[X]={promise:Y,state:"loading"},Y}async function D9(X,$){let Z={...y9,...$.i18n},Y=I9.isAbsolute(Z.translationsDir)?Z.translationsDir:I9.resolve($.root||process.cwd(),Z.translationsDir);try{let J=await mz(),G=J?await J(X,{translationsDir:Y,defaultLocale:Z.defaultLocale,sources:sz(Z.format)}):await pz(X,Z,Y);if(G===void 0){if(X!==Z.defaultLocale)return D9(Z.defaultLocale,$);return{}}let Q=G;if(Z.cache)E9[X]={translations:Q,loadedAt:Date.now(),locale:X};return Q}catch(J){if($.debug)console.error(`Error loading translation file for locale "${X}":`,J);if(X!==Z.defaultLocale)return D9(Z.defaultLocale,$);return{}}}async function pz(X,$,Z){let Y=I9.join(Z,`${X}${iz($.format)}`);try{let J=await import(Y);return J.default||J}catch(J){try{let G=await Bun.file(Y).text();if($.format==="yaml"||$.format==="yml")return nz(G);if($.format==="json")return JSON.parse(G);throw J}catch{return}}}function iz(X){switch(X){case"yaml":return".yaml";case"yml":return".yml";case"js":return".js";case"ts":return".ts";case"json":default:return".json"}}function nz(X){let $={},Z=X.split(`
3360
+ `),Y=[{obj:$,indent:-1}];for(let J of Z){let G=J.replace(/#.*$/,"").trimEnd();if(!G.trim())continue;let Q=G.search(/\S/);if(Q===-1)continue;while(Y.length>1&&Y[Y.length-1].indent>=Q)Y.pop();let w=Y[Y.length-1].obj,q=G.match(/^(\s*)(\S[^:]*):\s*(.*)$/);if(q){let[,,W,U]=q,K=W.trim(),z=U.trim();if(z==="")w[K]={},Y.push({obj:w[K],indent:Q});else w[K]=rz(z)}}return $}function rz(X){if(X.startsWith("'")&&X.endsWith("'")||X.startsWith('"')&&X.endsWith('"'))return X.slice(1,-1);let $=X.toLowerCase();if($==="true"||$==="yes")return!0;if($==="false"||$==="no")return!1;if($==="null"||$==="~")return null;let Z=Number(X);if(!Number.isNaN(Z)&&X!=="")return Z;return X}function sz(X){switch(X){case"yaml":case"yml":return["yaml"];case"js":case"ts":return["ts"];case"json":default:return["json"]}}async function oz(X,$){return cz(X,$)}function az(X,$){for(let Z of X){let Y=Z.trim(),J=Y.match(/^\{(\d+)\}\s*(.*)$/);if(J){let Q=Number.parseInt(J[1],10);if($===Q)return J[2];continue}let G=Y.match(/^\[(\d+),(\d+|\*)\]\s*(.*)$/);if(G){let Q=Number.parseInt(G[1],10),w=G[2]==="*"?Number.POSITIVE_INFINITY:Number.parseInt(G[2],10);if($>=Q&&$<=w)return G[3];continue}}if(X.length===2)return $===1?X[0].trim():X[1].trim();if($<X.length)return X[$].trim();return X[X.length-1].trim()}function tz(X,$={}){return KY(X,$)}function KY(X,$){let Z="",Y=0;while(Y<X.length)if(X[Y]==="{"){let J=ez(X,Y);if(J===-1){Z+=X[Y],Y++;continue}let G=X.slice(Y+1,J);Z+=X_(G,$),Y=J+1}else if(X[Y]==="'"&&Y+1<X.length)if(X[Y+1]==="'")Z+="'",Y+=2;else if(X[Y+1]==="{"||X[Y+1]==="}")Z+=X[Y+1],Y+=2;else Z+=X[Y],Y++;else Z+=X[Y],Y++;return Z}function ez(X,$){let Z=0;for(let Y=$;Y<X.length;Y++)if(X[Y]==="{")Z++;else if(X[Y]==="}"){if(Z--,Z===0)return Y}return-1}function X_(X,$){let Z=$_(X);if(Z.length===0)return`{${X}}`;let Y=Z[0].trim(),J=$[Y];if(Z.length===1)return J!==void 0?String(J):`{${Y}}`;switch(Z[1].trim().toLowerCase()){case"plural":return Z_(J,Z.slice(2).join(","),$);case"select":return J_(J,Z.slice(2).join(","));case"selectordinal":return G_(J,Z.slice(2).join(","));case"number":return w_(J,Z[2]?.trim());case"date":return q_(J,Z[2]?.trim());case"time":return W_(J,Z[2]?.trim());default:return J!==void 0?String(J):`{${X}}`}}function $_(X){let $=[],Z="",Y=0;for(let J=0;J<X.length;J++){let G=X[J];if(G==="{")Y++,Z+=G;else if(G==="}")Y--,Z+=G;else if(G===","&&Y===0)$.push(Z),Z="";else Z+=G}if(Z)$.push(Z);return $}function Z_(X,$,Z){let Y=Number(X)||0,J=b9($),G=`=${Y}`;if(J[G])return k9(J[G],Y,Z);let Q=Y_(Y);if(J[Q])return k9(J[Q],Y,Z);if(J.other)return k9(J.other,Y,Z);return String(Y)}function k9(X,$,Z){let Y=X.replace(/#/g,String($));return KY(Y,Z)}function Y_(X){let $=Math.abs(X),Z=Math.floor($),Y=String(X).includes(".")?String(X).split(".")[1].length:0;if(Z===1&&Y===0)return"one";return"other"}function J_(X,$){let Z=String(X||""),Y=b9($);if(Y[Z])return Y[Z];return Y.other||String(X)}function G_(X,$){let Z=Number(X)||0,Y=b9($),J=Q_(Z);if(Y[J])return Y[J].replace(/#/g,String(Z));if(Y.other)return Y.other.replace(/#/g,String(Z));return String(Z)}function Q_(X){let $=Math.abs(X),Z=$%10,Y=$%100;if(Z===1&&Y!==11)return"one";if(Z===2&&Y!==12)return"two";if(Z===3&&Y!==13)return"few";return"other"}function b9(X){let $={},Z=/(\w+|=\d+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g,Y=Z.exec(X);while(Y!==null)$[Y[1]]=Y[2],Y=Z.exec(X);return $}function w_(X,$){let Z=Number(X);if(Number.isNaN(Z))return String(X);switch($){case"integer":return Math.floor(Z).toLocaleString();case"percent":return`${(Z*100).toFixed(0)}%`;case"currency":return Z.toLocaleString(void 0,{style:"currency",currency:"USD"});default:return Z.toLocaleString()}}function q_(X,$){let Z=X instanceof Date?X:new Date(String(X));if(Number.isNaN(Z.getTime()))return String(X);let Y={};switch($){case"short":Y.dateStyle="short";break;case"medium":Y.dateStyle="medium";break;case"long":Y.dateStyle="long";break;case"full":Y.dateStyle="full";break;default:Y.dateStyle="medium"}return Z.toLocaleDateString(void 0,Y)}function W_(X,$){let Z=X instanceof Date?X:new Date(String(X));if(Number.isNaN(Z.getTime()))return String(X);let Y={};switch($){case"short":Y.timeStyle="short";break;case"medium":Y.timeStyle="medium";break;case"long":Y.timeStyle="long";break;case"full":Y.timeStyle="full";break;default:Y.timeStyle="short"}return Z.toLocaleTimeString(void 0,Y)}function U_(X){return/\{[^}]+,\s*(?:plural|select|selectordinal|number|date|time)\s*,/.test(X)}function WY(X,$,Z=!0,Y={}){let J=X.split("."),G=$;for(let w of J){if(G===void 0||G===null)break;G=G[w]}if(G===void 0||G===null)return Z?X:"";let Q=String(G);if(U_(Q))return tz(Q,Y);if(Q.includes("|")&&"count"in Y){let w=Number(Y.count),q=Q.split("|");Q=az(q,w)}for(let[w,q]of Object.entries(Y)){let W=w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Q=Q.replace(new RegExp(`:${W}`,"g"),String(q))}return Q}async function zY(X,$,Z,Y){let J=X,G=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)([\s\S]*?)@endtranslate/g,Q={...y9,...Y.i18n},w=await oz(Q.locale,Y);$.__translations=w,$.__locale=Q.locale,$.__i18nConfig=Q,J=await UY(J,G,async(U,K,z,B,_)=>{try{let j={};if(z)try{let L=[()=>JSON.parse(z),()=>{let O=`{"data":${z}}`,F=JSON.parse(O);return typeof F.data==="object"?F.data:{}},()=>{return O0(z,$)}];for(let O of L)try{if(j=O(),Object.keys(j).length>0)break}catch{}}catch(L){if(Y.debug)console.error("Error parsing parameters for @translate directive:",L)}return WY(K,w,Q.fallbackToKey,j)||B.trim()}catch(j){if(Y.debug)console.error("Error processing @translate directive:",j);return $0("Translate",`Error in @translate('${K}'): ${j instanceof Error?j.message:String(j)}`,o.EVALUATION_ERROR)}});let q=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]+\})\s*)?\)/g;if(Y.debug){console.warn(`Processing translations in template. Sections: ${J.includes("<h2>Translation with Parameters</h2>")?"Parameters section found":"Parameters section missing"}`);let U=[...J.matchAll(q)];console.warn(`Found ${U.length} @translate matches`),U.forEach((K,z)=>console.warn(`Match ${z}: ${K[0]}, Key: ${K[1]}, Params: ${K[2]||"none"}`))}return J=await UY(J,/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)/g,async(U,K,z,B)=>{try{let _={};if(z)try{let j=[()=>JSON.parse(z),()=>{let H=`{"data":${z}}`,L=JSON.parse(H);return typeof L.data==="object"?L.data:{}},()=>{return O0(z,$)}];for(let H of j)try{if(_=H(),Object.keys(_).length>0)break}catch{}}catch(j){if(Y.debug)console.error("Error parsing parameters for @translate directive:",j)}return WY(K,w,Q.fallbackToKey,_)}catch(_){if(Y.debug)console.error("Error processing @translate directive:",_);return $0("Translate",`Error in @translate('${K}'): ${_ instanceof Error?_.message:String(_)}`,o.EVALUATION_ERROR)}}),J}async function UY(X,$,Z){let Y=[];return X.replace($,(G,...Q)=>{let w=Z(G,...Q).then((q)=>({match:G,replacement:q}));return Y.push(w),G}),(await Promise.all(Y)).reduce((G,{match:Q,replacement:w})=>G.replace(Q,w),X)}var h7,y9,E9,u7,N9;var _Y=D(()=>{F1();F0();y9={defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},E9={},u7={},N9={}});function z_(X){let $=X.replace(/^<template\b/i,"").replace(/>$/,"");return K_.test($)}function g5(X){d7.lastIndex=0;let $;while(($=d7.exec(X))!==null){if($[0].startsWith("</")||z_($[0]))continue;let Z=$.index,Y=d7.lastIndex,J=1,G;while((G=d7.exec(X))!==null)if(G[0].startsWith("</")){if(J--,J===0){let Q=G.index;return{start:Z,openEnd:Y,closeStart:Q,end:d7.lastIndex,content:X.slice(Y,Q)}}}else J++;return null}return null}var d7,K_;var nX=D(()=>{d7=/<\/?template\b[^>]*>/gi,K_=/(?:^|\s)(?:id\s*=|(?:x-|[@:])(?:for|if|else(?:-if)?)(?=\s|=|$)|#[\w-]+(?:\s*=|\s|$)|v-slot(?::[\w-]+)?(?=\s|=|$)|slot\s*=)/i});var P9={};t(P9,{streamingSuspenseDirective:()=>HY,streamToResponse:()=>M_,streamTemplateSimple:()=>V_,streamTemplate:()=>B_,renderStreamingPage:()=>H_,registerStreamingDirectives:()=>R_,processStreamDirectives:()=>O_,processSectionDirectives:()=>T_,islandDirective:()=>LY,generateHydrationRuntime:()=>N_,extractStreamBoundaries:()=>F_,createStreamRenderer:()=>A_,buildSuspenseResolveScript:()=>C9,SUSPENSE_RESOLVER_RUNTIME:()=>jY});import rX from"path";function __(X){let $=[],Z=0,Y;BY.lastIndex=0;while((Y=BY.exec(X))!==null){if(Y.index>Z){let Q=X.slice(Z,Y.index);if(Q.trim())$.push({type:$.length===0?"shell":"content",content:Q})}let J=Y[1],G=Y[2];$.push({type:"suspense",name:J,content:G}),Z=Y.index+Y[0].length}if(Z<X.length){let J=X.slice(Z);if(J.trim())$.push({type:$.length===0?"shell":"content",content:J})}if($.length===0)$.push({type:"shell",content:X});return $}async function B_(X,$={},Z={}){let Y={...A1,...Z,streaming:{...S9,...Z.streaming}},J=Y.streaming?.bufferSize||16384;return new ReadableStream({async start(G){try{let Q=await Bun.file(X).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,""),U={...$,__filename:X,__dirname:rX.dirname(X)};if(q.trim())await V1(q,U,X);let K=__(W),z=new Set;if(!K.some((_)=>_.type==="suspense")){let _=Y.streaming?.strategy||"auto",j=new RegExp(q5.source,"g");if(!(_!=="manual"&&j.test(W))){let L=await V0(W,U,X,Y,z);for(let O=0;O<L.length;O+=J)G.enqueue(L.slice(O,O+J)),await new Promise((F)=>setTimeout(F,0))}else{let L=[],O=new RegExp(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 T=W.slice(V,A.start);if(T.trim()){let M=await V0(T,U,X,Y,z);G.enqueue(M),await new Promise((k)=>setTimeout(k,0))}}let R=await V0(A.content,U,X,Y,z);G.enqueue(R),await new Promise((T)=>setTimeout(T,0)),V=A.end}if(V<W.length){let A=W.slice(V);if(A.trim()){let R=await V0(A,U,X,Y,z);G.enqueue(R)}}}}else{let _=new Map;for(let H of K)if(H.type==="shell"||H.type==="content"){let L=await V0(H.content,U,X,Y,z);G.enqueue(L)}else if(H.type==="suspense"&&H.name){let L=`stx-suspense-${H.name}`;G.enqueue(`<div id="${L}" data-suspense="${H.name}" style="display:contents;">
3361
3361
  <template data-suspense-fallback>Loading...</template>
3362
3362
  </div>`),_.set(H.name,V0(H.content,U,X,Y,z))}G.enqueue(`
3363
3363
  <script>
@@ -3381,7 +3381,7 @@ window.__stxSuspense.resolve('${X}', \`${Y}\`);
3381
3381
  </script>`}catch(Z){let Y=Z instanceof Error?Z.message:String(Z);return`
3382
3382
  <script>
3383
3383
  window.__stxSuspense.resolve('${X}', '<div class="stx-error">Error loading content: ${t0(Y)}</div>');
3384
- </script>`}}function __(X,$,Z){if(!$||$<=0)return X;let Y,J=new Promise((G,Q)=>{Y=setTimeout(()=>Q(Error(`streaming boundary "${Z}" timed out after ${$}ms`)),$)});return Promise.race([X,J]).finally(()=>clearTimeout(Y))}function B_(X,$=[],Z={}){let Y=Z.timeoutMs??0;return new ReadableStream({async start(J){try{if(J.enqueue(X),$.length>0)J.enqueue(BY),await Promise.all($.map(async(G)=>{let Q=__(G.render(),Y,G.id);J.enqueue(await C9(G.id,Q))}));J.close()}catch(G){J.error(G)}}})}function H_(X,$){return X.replace(j_,(Z,Y,J)=>{let G=Y.trim(),Q=J.split(/@fallback/i),w=Q[0].trim(),q=Q.length>1?Q.slice(1).join("@fallback").trim():"";if(!$.__streamTemplates)$.__streamTemplates={};return $.__streamTemplates[G]=w,`<div data-suspense="${G}">${q}</div>`})}function L_(X){let $=X?.streamBoundaries;if(!$||typeof $!=="object")return;let Z=Object.entries($).filter(([,Y])=>typeof Y==="function");return Z.length>0?Z.map(([Y,J])=>({id:Y,render:J})):void 0}async function O_(X,$={},Z={}){let Y={...A1,...Z,streaming:{...S9,...Z.streaming}},J=Y.streaming?.bufferSize||16384;return new ReadableStream({async start(G){try{let Q=await Bun.file(X).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,""),U={...$,__filename:X,__dirname:rX.dirname(X)};if(q.trim())await V1(q,U,X);let K=new Set,z=Y.streaming?.strategy||"auto",B=new RegExp(q5.source,"g");if(!(z!=="manual"&&B.test(W))){let j=await V0(W,U,X,Y,K);for(let H=0;H<j.length;H+=J)G.enqueue(j.slice(H,H+J))}else{let j=[],H=new RegExp(q5.source,"g"),L;while((L=H.exec(W))!==null)j.push({name:L[1],content:L[2],start:L.index,end:L.index+L[0].length});let O=0;for(let F of j){if(F.start>O){let A=W.slice(O,F.start);if(A.trim()){let R=await V0(A,U,X,Y,K);G.enqueue(R)}}let V=await V0(F.content,U,X,Y,K);G.enqueue(V),O=F.end}if(O<W.length){let F=W.slice(O);if(F.trim()){let V=await V0(F,U,X,Y,K);G.enqueue(V)}}}G.close()}catch(Q){G.error(Q)}}})}async function F_(X,$={}){let Z={...A1,...$,streaming:{...S9,...$.streaming}},Y=await Bun.file(X).text(),J=Y.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),G=J?J[1]:"",Q=Y.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),w=Q,q={},W;q5.lastIndex=0;while((W=q5.exec(Q))!==null){let z=W[1],B=W[2];q[z]=B}let U=Q.replace(q5,"");return{renderShell:async(z={})=>{let B={...z,__filename:X,__dirname:rX.dirname(X)};return await V1(G,B,X),V0(U,B,X,Z,new Set)},renderSection:async(z,B={})=>{try{if(!q[z])return`<div class="error-message">Section "${t0(z)}" not found in template "${t0(X)}"</div>`;let _={...B,__filename:X,__dirname:rX.dirname(X)};await V1(G,_,X);let j=new Set;return await V0(q[z],_,X,Z,j)}catch(_){let j=_ instanceof Error?_.message:String(_);return K0("Expression",j,X,q[z]||"",0,q[z]||"")}},getSections:()=>{return Object.keys(q)},getTemplate:()=>{return w}}}function V_(X={}){let $=[];if(X.streaming?.enabled)$.push(jY);if(X.hydration?.enabled)$.push(HY);return $}async function A_(X,$,Z,Y={}){return X}function R_(X,$={}){let Z=new TextEncoder,Y=X.pipeThrough(new TransformStream({transform(G,Q){Q.enqueue(Z.encode(G))}})),J=new Headers($.headers);if(!J.has("Content-Type"))J.set("Content-Type","text/html; charset=utf-8");if(!J.has("Transfer-Encoding"))J.set("Transfer-Encoding","chunked");if(!J.has("X-Content-Type-Options"))J.set("X-Content-Type-Options","nosniff");if(!J.has("X-Accel-Buffering"))J.set("X-Accel-Buffering","no");return new Response(Y,{...$,headers:J})}function T_(X={mode:"full"}){let{mode:$,components:Z={},dynamicImports:Y=!0}=X,J=Object.entries(Z).map(([G,Q])=>`'${G}': ${Y?`() => import('${Q}')`:`require('${Q}')`}`).join(`,
3384
+ </script>`}}function j_(X,$,Z){if(!$||$<=0)return X;let Y,J=new Promise((G,Q)=>{Y=setTimeout(()=>Q(Error(`streaming boundary "${Z}" timed out after ${$}ms`)),$)});return Promise.race([X,J]).finally(()=>clearTimeout(Y))}function H_(X,$=[],Z={}){let Y=Z.timeoutMs??0;return new ReadableStream({async start(J){try{if(J.enqueue(X),$.length>0)J.enqueue(jY),await Promise.all($.map(async(G)=>{let Q=j_(G.render(),Y,G.id);J.enqueue(await C9(G.id,Q))}));J.close()}catch(G){J.error(G)}}})}function O_(X,$){return X.replace(L_,(Z,Y,J)=>{let G=Y.trim(),Q=J.split(/@fallback/i),w=Q[0].trim(),q=Q.length>1?Q.slice(1).join("@fallback").trim():"";if(!$.__streamTemplates)$.__streamTemplates={};return $.__streamTemplates[G]=w,`<div data-suspense="${G}">${q}</div>`})}function F_(X){let $=X?.streamBoundaries;if(!$||typeof $!=="object")return;let Z=Object.entries($).filter(([,Y])=>typeof Y==="function");return Z.length>0?Z.map(([Y,J])=>({id:Y,render:J})):void 0}async function V_(X,$={},Z={}){let Y={...A1,...Z,streaming:{...S9,...Z.streaming}},J=Y.streaming?.bufferSize||16384;return new ReadableStream({async start(G){try{let Q=await Bun.file(X).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,""),U={...$,__filename:X,__dirname:rX.dirname(X)};if(q.trim())await V1(q,U,X);let K=new Set,z=Y.streaming?.strategy||"auto",B=new RegExp(q5.source,"g");if(!(z!=="manual"&&B.test(W))){let j=await V0(W,U,X,Y,K);for(let H=0;H<j.length;H+=J)G.enqueue(j.slice(H,H+J))}else{let j=[],H=new RegExp(q5.source,"g"),L;while((L=H.exec(W))!==null)j.push({name:L[1],content:L[2],start:L.index,end:L.index+L[0].length});let O=0;for(let F of j){if(F.start>O){let A=W.slice(O,F.start);if(A.trim()){let R=await V0(A,U,X,Y,K);G.enqueue(R)}}let V=await V0(F.content,U,X,Y,K);G.enqueue(V),O=F.end}if(O<W.length){let F=W.slice(O);if(F.trim()){let V=await V0(F,U,X,Y,K);G.enqueue(V)}}}G.close()}catch(Q){G.error(Q)}}})}async function A_(X,$={}){let Z={...A1,...$,streaming:{...S9,...$.streaming}},Y=await Bun.file(X).text(),J=Y.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),G=J?J[1]:"",Q=Y.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),w=Q,q={},W;q5.lastIndex=0;while((W=q5.exec(Q))!==null){let z=W[1],B=W[2];q[z]=B}let U=Q.replace(q5,"");return{renderShell:async(z={})=>{let B={...z,__filename:X,__dirname:rX.dirname(X)};return await V1(G,B,X),V0(U,B,X,Z,new Set)},renderSection:async(z,B={})=>{try{if(!q[z])return`<div class="error-message">Section "${t0(z)}" not found in template "${t0(X)}"</div>`;let _={...B,__filename:X,__dirname:rX.dirname(X)};await V1(G,_,X);let j=new Set;return await V0(q[z],_,X,Z,j)}catch(_){let j=_ instanceof Error?_.message:String(_);return K0("Expression",j,X,q[z]||"",0,q[z]||"")}},getSections:()=>{return Object.keys(q)},getTemplate:()=>{return w}}}function R_(X={}){let $=[];if(X.streaming?.enabled)$.push(HY);if(X.hydration?.enabled)$.push(LY);return $}async function T_(X,$,Z,Y={}){return X}function M_(X,$={}){let Z=new TextEncoder,Y=X.pipeThrough(new TransformStream({transform(G,Q){Q.enqueue(Z.encode(G))}})),J=new Headers($.headers);if(!J.has("Content-Type"))J.set("Content-Type","text/html; charset=utf-8");if(!J.has("Transfer-Encoding"))J.set("Transfer-Encoding","chunked");if(!J.has("X-Content-Type-Options"))J.set("X-Content-Type-Options","nosniff");if(!J.has("X-Accel-Buffering"))J.set("X-Accel-Buffering","no");return new Response(Y,{...$,headers:J})}function N_(X={mode:"full"}){let{mode:$,components:Z={},dynamicImports:Y=!0}=X,J=Object.entries(Z).map(([G,Q])=>`'${G}': ${Y?`() => import('${Q}')`:`require('${Q}')`}`).join(`,
3385
3385
  `);if($==="loader")return`
3386
3386
  (function() {
3387
3387
  window.__stx = window.__stx || {};
@@ -3523,7 +3523,7 @@ else {
3523
3523
  else {
3524
3524
  stx.hydrate();
3525
3525
  }
3526
- })();`}var S9,q5,_Y,BY=`
3526
+ })();`}var S9,q5,BY,jY=`
3527
3527
  <script>
3528
3528
  (function(){
3529
3529
  window.__stxSuspense = window.__stxSuspense || {
@@ -3543,25 +3543,25 @@ else {
3543
3543
  }
3544
3544
  };
3545
3545
  })();
3546
- </script>`,j_,jY,HY;var v9=D(()=>{H1();w1();sX();T0();S9={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},q5=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g,_Y=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;j_=/@stream\s*\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)@endstream/gi;jY={name:"suspense",hasEndTag:!0,handler:(X,$,Z,Y)=>{if(!$||$.length===0)throw Error("Suspense directive requires a name parameter");let J=$[0].replace(/['"`]/g,"");return`<!-- @suspense:${J} -->${X}<!-- @endsuspense:${J} -->`}},HY={name:"island",hasEndTag:!0,handler:(X,$,Z,Y)=>{if(!$||$.length===0)throw Error("Island directive requires a name parameter");let J=$[0].replace(/['"`]/g,""),G=$[1]?$[1].replace(/['"`]/g,""):"lazy",Q=`island-${J}-${Math.random().toString(36).substring(2,9)}`,w=X.match(/<script\s+props\s*>([\s\S]*?)<\/script>/i),q=w?w[1].trim():"",W=w?X.replace(w[0],""):X;return`<div data-island="${J}" data-island-id="${Q}" data-priority="${G}">
3546
+ </script>`,L_,HY,LY;var v9=D(()=>{H1();w1();sX();T0();S9={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},q5=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g,BY=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;L_=/@stream\s*\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)@endstream/gi;HY={name:"suspense",hasEndTag:!0,handler:(X,$,Z,Y)=>{if(!$||$.length===0)throw Error("Suspense directive requires a name parameter");let J=$[0].replace(/['"`]/g,"");return`<!-- @suspense:${J} -->${X}<!-- @endsuspense:${J} -->`}},LY={name:"island",hasEndTag:!0,handler:(X,$,Z,Y)=>{if(!$||$.length===0)throw Error("Island directive requires a name parameter");let J=$[0].replace(/['"`]/g,""),G=$[1]?$[1].replace(/['"`]/g,""):"lazy",Q=`island-${J}-${Math.random().toString(36).substring(2,9)}`,w=X.match(/<script\s+props\s*>([\s\S]*?)<\/script>/i),q=w?w[1].trim():"",W=w?X.replace(w[0],""):X;return`<div data-island="${J}" data-island-id="${Q}" data-priority="${G}">
3547
3547
  ${W}
3548
3548
  <script type="application/json" data-island-props="${Q}">
3549
3549
  ${q?`{${q}}`:"{}"}
3550
3550
  </script>
3551
- </div>`}}});var FY={};t(FY,{warnUnbalancedTags:()=>x9,findUnbalancedTags:()=>OY});function h5(X){return X.replace(/[^\n]/g," ")}function OY(X){let $=X.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,h5).replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,h5).replace(/<!--[\s\S]*?-->/g,h5).replace(/\{\{\{[\s\S]*?\}\}\}/g,h5).replace(/\{\{[\s\S]*?\}\}/g,h5).replace(/\{!![\s\S]*?!!\}/g,h5),Z=new Map,Y=new Map,J=/<(\/?)([A-Za-z][\w-]*)\b(?:[^>"']|"[^"]*"|'[^']*')*?(\/?)>/g,G;while((G=J.exec($))!==null){let w=G[1]==="/",q=G[2],W=G[3]==="/";if(M_.has(q.toLowerCase()))continue;if(W)continue;if(w)Y.set(q,(Y.get(q)??0)+1);else{let U=Z.get(q);if(U)U.count++;else{let K=$.slice(0,G.index).split(`
3552
- `).length;Z.set(q,{count:1,firstLine:K})}}}let Q=[];for(let w of new Set([...Z.keys(),...Y.keys()])){if(N_.has(w.toLowerCase()))continue;let q=Z.get(w)?.count??0,W=Y.get(w)??0;if(q!==W)Q.push({tag:w,opened:q,closed:W,firstOpenLine:Z.get(w)?.firstLine??0})}return Q}function x9(X,$){let Z;try{Z=OY(X)}catch{return}if(Z.length===0)return;let Y=`${$}:${X.length}`;if(LY.has(Y))return;LY.add(Y);let J=$?$.split(/[/\\]/).pop()||$:"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] ${J}: <${G}> ${Q} opened, ${w} closed \u2014 an unclosed <${G}>${W} may swallow the content that follows it.`)}else console.warn(`[stx] ${J}: <${G}> ${Q} opened, ${w} closed \u2014 ${w-Q} stray </${G}>.`)}var M_,N_,LY;var f9=D(()=>{M_=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),N_=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);LY=new Set});import n0 from"path";import g9 from"fs";function VY(X){return X.split("-").map(($)=>$.charAt(0).toUpperCase()+$.slice(1)).join("")}function AY(X){return X.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class RY{builtins=new Map;registerBuiltin(X){this.builtins.set(X.name.toLowerCase(),X);for(let $ of X.aliases)this.builtins.set($.toLowerCase(),X)}isBuiltin(X){return this.builtins.has(X.toLowerCase())}getBuiltin(X){return this.builtins.get(X.toLowerCase())??null}async resolveFile(X,$,Z,Y){let J=X.endsWith(".stx")?X.slice(0,-4):X,G=Y?.__importedComponents;if(G){let B=[J,J.toLowerCase(),VY(J),AY(J)];for(let _ of B)if(G.has(_))return G.get(_)}let Q=[...new Set([`${J}.stx`,`${VY(J)}.stx`,`${AY(J)}.stx`])];if(J.startsWith("./")||J.startsWith("../")){let B=n0.resolve(n0.dirname($),`${J}.stx`);if(await i(B))return B;return null}let w=[],q=Z.componentsDir||"",W=Y?.__originalFilePath;if(W)w.push(n0.join(n0.dirname(W),"components"));if(q)w.push(q);let U=n0.join(n0.dirname($),"components");if(!w.includes(U))w.push(U);let K=process.cwd(),z=[n0.resolve(K,"src/components"),n0.resolve(K,"components"),n0.resolve(import.meta.dir,"components")];for(let B of z)if(!w.includes(B))w.push(B);for(let B of w){if(!B)continue;for(let _ of Q){let j=n0.join(B,_);if(await i(j))return j}try{if(!g9.statSync(B,{throwIfNoEntry:!1})?.isDirectory())continue;let j=g9.readdirSync(B,{withFileTypes:!0});for(let H of j)if(H.isDirectory()){let L=n0.join(B,H.name);for(let O of Q){let F=n0.join(L,O);if(await i(F))return F}}}catch{}}return null}}var x0;var h9=D(()=>{T0();x0=new RY});function k0(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function TY(X){return X.indexOf("\x00")===-1?X:X.replace(/\0/g,"")}var W5="\x00stx-boolean-attribute";function u5(X,$){let Z=[];for(let[Y,J]of Object.entries(X.static)){if($.has(Y))continue;let G=X.staticNames?.[Y]??Y;if(typeof J==="boolean"){if(J)Z.push(k0(G));continue}if(J===W5){Z.push(k0(G));continue}Z.push(`${k0(G)}="${k0(TY(String(J)))}"`)}return Z}var oX=()=>{};function m7(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function k_(X){if(X.clientReactive.to)return{value:X.clientReactive.to,reactive:!0};if(X.serverDynamic.to!==void 0)return{value:String(X.serverDynamic.to),reactive:!1};if(typeof X.static.to==="string")return{value:X.static.to,reactive:!1};return{value:"#",reactive:!1}}var u9;var d9=D(()=>{oX();u9={name:"StxLink",aliases:["stx-link"],render(X,$,Z){let Y=k_(X),J=(typeof X.static.class==="string"?X.static.class:"")||(typeof X.static.className==="string"?X.static.className:""),G=typeof X.static.activeClass==="string"?X.static.activeClass:"active",Q=typeof X.static.exactActiveClass==="string"?X.static.exactActiveClass:"exact-active",w=X.static.prefetch===!0||X.static.prefetch==="true"||X.serverDynamic.prefetch===!0,q=[];if(Y.reactive)q.push(`:href="${m7(Y.value)}"`);else q.push(`href="${m7(Y.value)}"`);if(J)q.push(`class="${m7(J)}"`);if(q.push("data-stx-link"),q.push(`data-stx-active-class="${m7(G)}"`),q.push(`data-stx-exact-active-class="${m7(Q)}"`),w)q.push("data-stx-prefetch");let W=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);return q.push(...u5(X,W)),`<a ${q.join(" ")}>${$}</a>`}}});function I0(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function y0(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}function l9(X,$,Z=!1){let Y=X.serverDynamic[$];if(Y!==void 0)return Y!==!1&&Y!=="false";let J=X.static[$];if(J!==void 0)return J!=="false"&&J!==!1;return Z}function MY(X){if(X.includes("(")||X.includes(","))return X;let $=X.trim().split(/\s+/),Z=[];for(let Y of $)if(Y.includes(":")){let[J,G]=Y.split(":"),Q=I_[J];if(Q)Z.push(`(max-width: ${Q}px) ${G}`);else{let w=Number.parseInt(J);if(!Number.isNaN(w))Z.push(`(max-width: ${w}px) ${G}`)}}else Z.push(Y);return Z.join(", ")}function c9(X,$,Z,Y){return $.map((J)=>`${l7(X,J,void 0,Z,Y)} ${J}w`).join(", ")}function E_(X,$,Z,Y,J){return $.map((G)=>{let Q=Z?Z*G:void 0;return`${l7(X,Q,void 0,Y,J)} ${G}x`}).join(", ")}function l7(X,$,Z,Y,J){if(!Y||Y==="local"||Y==="static")return X;if(Y==="cloudinary"){let G=[];if($)G.push(`w_${$}`);if(Z)G.push(`h_${Z}`);if(J)G.push(`f_${J}`);G.push("q_auto");let Q=G.join(",");return X.replace("/upload/",`/upload/${Q}/`)}if(Y==="imgix"){let G=new URLSearchParams;if($)G.set("w",String($));if(Z)G.set("h",String(Z));if(J)G.set("fm",J);G.set("auto","format");let Q=X.includes("?")?"&":"?";return`${X}${Q}${G.toString()}`}if(Y==="bunny"){let G=new URLSearchParams;if($)G.set("width",String($));if(Z)G.set("height",String(Z));if(J)G.set("format",J);let Q=X.includes("?")?"&":"?";return`${X}${Q}${G.toString()}`}return X}function D_(X,$,Z="#e5e7eb"){let Y=`<svg xmlns="http://www.w3.org/2000/svg" width="${X}" height="${$}"><rect width="100%" height="100%" fill="${Z}"/></svg>`;return`data:image/svg+xml;base64,${btoa(Y)}`}var I_,m9,p9;var i9=D(()=>{oX();I_={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},m9=[320,640,768,1024,1280,1536,1920];p9={name:"StxImage",aliases:["stx-image","stx-img"],render(X,$,Z){let Y=y0(X,"src")||"",J=y0(X,"alt")||"",G=y0(X,"width"),Q=y0(X,"height"),w=y0(X,"sizes"),q=y0(X,"srcset"),W=y0(X,"densities"),U=y0(X,"format"),K=y0(X,"placeholder"),z=y0(X,"placeholderColor")||"#e5e7eb",B=y0(X,"provider"),_=y0(X,"class")||y0(X,"className")||"",j=y0(X,"style")||"",H=y0(X,"quality"),L=l9(X,"lazy",!0),O=l9(X,"preload",!1),F=l9(X,"picture",!1)||!!U,V=G?Number.parseInt(G):void 0,A=Q?Number.parseInt(Q):void 0,R=q||"",T="";if(!R&&w)R=c9(Y,m9,B,U),T=MY(w);else if(!R&&W){let S=W.split(/\s+/).map((b)=>Number.parseFloat(b.replace("x","")));R=E_(Y,S,V,B,U)}else if(w)T=MY(w);let M=[];if(j)M.push(j);if(V&&A)M.push(`aspect-ratio:${V}/${A}`);if(K==="blur"||K==="color"||K==="thumbhash"){let S=D_(V||16,A||9,z);M.push(`background-image:url(${S})`),M.push("background-size:cover"),M.push("background-repeat:no-repeat")}else if(K&&K!=="empty"&&K!=="none")M.push(`background-image:url(${I0(K)})`),M.push("background-size:cover"),M.push("background-repeat:no-repeat");let k=l7(Y,V,A,B,U),N=[];if(N.push(`src="${I0(k)}"`),N.push(`alt="${I0(J)}"`),G)N.push(`width="${I0(G)}"`);if(Q)N.push(`height="${I0(Q)}"`);if(L)N.push('loading="lazy"');if(N.push('decoding="async"'),_)N.push(`class="${I0(_)}"`);if(M.length>0)N.push(`style="${I0(M.join(";"))}"`);if(R)N.push(`srcset="${I0(R)}"`);if(T)N.push(`sizes="${I0(T)}"`);let y=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);N.push(...u5(X,y));let I=`<img ${N.join(" ")} />`,C="";if(O){let b=U==="webp"?"image/webp":U==="avif"?"image/avif":"";C=`<link rel="preload" as="image" href="${I0(k)}"${b?` type="${b}"`:""}${R?` imagesrcset="${I0(R)}"`:""}${T?` imagesizes="${I0(T)}"`:""} />
3551
+ </div>`}}});var VY={};t(VY,{warnUnbalancedTags:()=>x9,findUnbalancedTags:()=>FY});function h5(X){return X.replace(/[^\n]/g," ")}function FY(X){let $=X.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,h5).replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,h5).replace(/<!--[\s\S]*?-->/g,h5).replace(/\{\{\{[\s\S]*?\}\}\}/g,h5).replace(/\{\{[\s\S]*?\}\}/g,h5).replace(/\{!![\s\S]*?!!\}/g,h5),Z=new Map,Y=new Map,J=/<(\/?)([A-Za-z][\w-]*)\b(?:[^>"']|"[^"]*"|'[^']*')*?(\/?)>/g,G;while((G=J.exec($))!==null){let w=G[1]==="/",q=G[2],W=G[3]==="/";if(k_.has(q.toLowerCase()))continue;if(W)continue;if(w)Y.set(q,(Y.get(q)??0)+1);else{let U=Z.get(q);if(U)U.count++;else{let K=$.slice(0,G.index).split(`
3552
+ `).length;Z.set(q,{count:1,firstLine:K})}}}let Q=[];for(let w of new Set([...Z.keys(),...Y.keys()])){if(I_.has(w.toLowerCase()))continue;let q=Z.get(w)?.count??0,W=Y.get(w)??0;if(q!==W)Q.push({tag:w,opened:q,closed:W,firstOpenLine:Z.get(w)?.firstLine??0})}return Q}function x9(X,$){let Z;try{Z=FY(X)}catch{return}if(Z.length===0)return;let Y=`${$}:${X.length}`;if(OY.has(Y))return;OY.add(Y);let J=$?$.split(/[/\\]/).pop()||$:"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] ${J}: <${G}> ${Q} opened, ${w} closed \u2014 an unclosed <${G}>${W} may swallow the content that follows it.`)}else console.warn(`[stx] ${J}: <${G}> ${Q} opened, ${w} closed \u2014 ${w-Q} stray </${G}>.`)}var k_,I_,OY;var f9=D(()=>{k_=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),I_=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);OY=new Set});import n0 from"path";import g9 from"fs";function AY(X){return X.split("-").map(($)=>$.charAt(0).toUpperCase()+$.slice(1)).join("")}function RY(X){return X.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class TY{builtins=new Map;registerBuiltin(X){this.builtins.set(X.name.toLowerCase(),X);for(let $ of X.aliases)this.builtins.set($.toLowerCase(),X)}isBuiltin(X){return this.builtins.has(X.toLowerCase())}getBuiltin(X){return this.builtins.get(X.toLowerCase())??null}async resolveFile(X,$,Z,Y){let J=X.endsWith(".stx")?X.slice(0,-4):X,G=Y?.__importedComponents;if(G){let B=[J,J.toLowerCase(),AY(J),RY(J)];for(let _ of B)if(G.has(_))return G.get(_)}let Q=[...new Set([`${J}.stx`,`${AY(J)}.stx`,`${RY(J)}.stx`])];if(J.startsWith("./")||J.startsWith("../")){let B=n0.resolve(n0.dirname($),`${J}.stx`);if(await i(B))return B;return null}let w=[],q=Z.componentsDir||"",W=Y?.__originalFilePath;if(W)w.push(n0.join(n0.dirname(W),"components"));if(q)w.push(q);let U=n0.join(n0.dirname($),"components");if(!w.includes(U))w.push(U);let K=process.cwd(),z=[n0.resolve(K,"src/components"),n0.resolve(K,"components"),n0.resolve(import.meta.dir,"components")];for(let B of z)if(!w.includes(B))w.push(B);for(let B of w){if(!B)continue;for(let _ of Q){let j=n0.join(B,_);if(await i(j))return j}try{if(!g9.statSync(B,{throwIfNoEntry:!1})?.isDirectory())continue;let j=g9.readdirSync(B,{withFileTypes:!0});for(let H of j)if(H.isDirectory()){let L=n0.join(B,H.name);for(let O of Q){let F=n0.join(L,O);if(await i(F))return F}}}catch{}}return null}}var x0;var h9=D(()=>{T0();x0=new TY});function k0(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function MY(X){return X.indexOf("\x00")===-1?X:X.replace(/\0/g,"")}var W5="\x00stx-boolean-attribute";function u5(X,$){let Z=[];for(let[Y,J]of Object.entries(X.static)){if($.has(Y))continue;let G=X.staticNames?.[Y]??Y;if(typeof J==="boolean"){if(J)Z.push(k0(G));continue}if(J===W5){Z.push(k0(G));continue}Z.push(`${k0(G)}="${k0(MY(String(J)))}"`)}return Z}var oX=()=>{};function m7(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function E_(X){if(X.clientReactive.to)return{value:X.clientReactive.to,reactive:!0};if(X.serverDynamic.to!==void 0)return{value:String(X.serverDynamic.to),reactive:!1};if(typeof X.static.to==="string")return{value:X.static.to,reactive:!1};return{value:"#",reactive:!1}}var u9;var d9=D(()=>{oX();u9={name:"StxLink",aliases:["stx-link"],render(X,$,Z){let Y=E_(X),J=(typeof X.static.class==="string"?X.static.class:"")||(typeof X.static.className==="string"?X.static.className:""),G=typeof X.static.activeClass==="string"?X.static.activeClass:"active",Q=typeof X.static.exactActiveClass==="string"?X.static.exactActiveClass:"exact-active",w=X.static.prefetch===!0||X.static.prefetch==="true"||X.serverDynamic.prefetch===!0,q=[];if(Y.reactive)q.push(`:href="${m7(Y.value)}"`);else q.push(`href="${m7(Y.value)}"`);if(J)q.push(`class="${m7(J)}"`);if(q.push("data-stx-link"),q.push(`data-stx-active-class="${m7(G)}"`),q.push(`data-stx-exact-active-class="${m7(Q)}"`),w)q.push("data-stx-prefetch");let W=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);return q.push(...u5(X,W)),`<a ${q.join(" ")}>${$}</a>`}}});function I0(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function y0(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}function l9(X,$,Z=!1){let Y=X.serverDynamic[$];if(Y!==void 0)return Y!==!1&&Y!=="false";let J=X.static[$];if(J!==void 0)return J!=="false"&&J!==!1;return Z}function NY(X){if(X.includes("(")||X.includes(","))return X;let $=X.trim().split(/\s+/),Z=[];for(let Y of $)if(Y.includes(":")){let[J,G]=Y.split(":"),Q=D_[J];if(Q)Z.push(`(max-width: ${Q}px) ${G}`);else{let w=Number.parseInt(J);if(!Number.isNaN(w))Z.push(`(max-width: ${w}px) ${G}`)}}else Z.push(Y);return Z.join(", ")}function c9(X,$,Z,Y){return $.map((J)=>`${l7(X,J,void 0,Z,Y)} ${J}w`).join(", ")}function y_(X,$,Z,Y,J){return $.map((G)=>{let Q=Z?Z*G:void 0;return`${l7(X,Q,void 0,Y,J)} ${G}x`}).join(", ")}function l7(X,$,Z,Y,J){if(!Y||Y==="local"||Y==="static")return X;if(Y==="cloudinary"){let G=[];if($)G.push(`w_${$}`);if(Z)G.push(`h_${Z}`);if(J)G.push(`f_${J}`);G.push("q_auto");let Q=G.join(",");return X.replace("/upload/",`/upload/${Q}/`)}if(Y==="imgix"){let G=new URLSearchParams;if($)G.set("w",String($));if(Z)G.set("h",String(Z));if(J)G.set("fm",J);G.set("auto","format");let Q=X.includes("?")?"&":"?";return`${X}${Q}${G.toString()}`}if(Y==="bunny"){let G=new URLSearchParams;if($)G.set("width",String($));if(Z)G.set("height",String(Z));if(J)G.set("format",J);let Q=X.includes("?")?"&":"?";return`${X}${Q}${G.toString()}`}return X}function b_(X,$,Z="#e5e7eb"){let Y=`<svg xmlns="http://www.w3.org/2000/svg" width="${X}" height="${$}"><rect width="100%" height="100%" fill="${Z}"/></svg>`;return`data:image/svg+xml;base64,${btoa(Y)}`}var D_,m9,p9;var i9=D(()=>{oX();D_={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},m9=[320,640,768,1024,1280,1536,1920];p9={name:"StxImage",aliases:["stx-image","stx-img"],render(X,$,Z){let Y=y0(X,"src")||"",J=y0(X,"alt")||"",G=y0(X,"width"),Q=y0(X,"height"),w=y0(X,"sizes"),q=y0(X,"srcset"),W=y0(X,"densities"),U=y0(X,"format"),K=y0(X,"placeholder"),z=y0(X,"placeholderColor")||"#e5e7eb",B=y0(X,"provider"),_=y0(X,"class")||y0(X,"className")||"",j=y0(X,"style")||"",H=y0(X,"quality"),L=l9(X,"lazy",!0),O=l9(X,"preload",!1),F=l9(X,"picture",!1)||!!U,V=G?Number.parseInt(G):void 0,A=Q?Number.parseInt(Q):void 0,R=q||"",T="";if(!R&&w)R=c9(Y,m9,B,U),T=NY(w);else if(!R&&W){let S=W.split(/\s+/).map((b)=>Number.parseFloat(b.replace("x","")));R=y_(Y,S,V,B,U)}else if(w)T=NY(w);let M=[];if(j)M.push(j);if(V&&A)M.push(`aspect-ratio:${V}/${A}`);if(K==="blur"||K==="color"||K==="thumbhash"){let S=b_(V||16,A||9,z);M.push(`background-image:url(${S})`),M.push("background-size:cover"),M.push("background-repeat:no-repeat")}else if(K&&K!=="empty"&&K!=="none")M.push(`background-image:url(${I0(K)})`),M.push("background-size:cover"),M.push("background-repeat:no-repeat");let k=l7(Y,V,A,B,U),N=[];if(N.push(`src="${I0(k)}"`),N.push(`alt="${I0(J)}"`),G)N.push(`width="${I0(G)}"`);if(Q)N.push(`height="${I0(Q)}"`);if(L)N.push('loading="lazy"');if(N.push('decoding="async"'),_)N.push(`class="${I0(_)}"`);if(M.length>0)N.push(`style="${I0(M.join(";"))}"`);if(R)N.push(`srcset="${I0(R)}"`);if(T)N.push(`sizes="${I0(T)}"`);let y=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);N.push(...u5(X,y));let I=`<img ${N.join(" ")} />`,C="";if(O){let b=U==="webp"?"image/webp":U==="avif"?"image/avif":"";C=`<link rel="preload" as="image" href="${I0(k)}"${b?` type="${b}"`:""}${R?` imagesrcset="${I0(R)}"`:""}${T?` imagesizes="${I0(T)}"`:""} />
3553
3553
  `}if(F){let S=[];if(U==="avif"||U==="auto"){let b=l7(Y,V,A,B,"avif"),P=R?c9(Y,m9,B,"avif"):`${b}`;S.push(`<source type="image/avif" srcset="${I0(P)}"${T?` sizes="${I0(T)}"`:""} />`)}if(U==="webp"||U==="auto"){let b=l7(Y,V,A,B,"webp"),P=R?c9(Y,m9,B,"webp"):`${b}`;S.push(`<source type="image/webp" srcset="${I0(P)}"${T?` sizes="${I0(T)}"`:""} />`)}return`${C}<picture>
3554
3554
  ${S.join(`
3555
3555
  `)}
3556
3556
  ${I}
3557
- </picture>`}return`${C}${I}`}}});function c7(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function d5(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}var NY="/images/safe-image-default.svg",y_,n9;var r9=D(()=>{oX();y_=`<script>window.__stxSafeImageHandler||(window.__stxSafeImageHandler=function(i){if(i.__stx_fb)return;i.__stx_fb=1;var f=i.getAttribute('data-fallback')||'${NY}';var c=i.getAttribute('data-fallback-class');i.src=f;if(c)i.className=c;});</script>`,n9={name:"SafeImage",aliases:["safe-image","safe-img"],render(X,$,Z){let Y=d5(X,"src")||"",J=d5(X,"alt")||"",G=d5(X,"fallback")||NY,Q=d5(X,"class")||d5(X,"className")||"",w=d5(X,"fallbackClassName")||"",q=[];if(q.push(`src="${c7(Y)}"`),q.push(`alt="${c7(J)}"`),Q)q.push(`class="${c7(Q)}"`);if(q.push(`data-fallback="${c7(G)}"`),w)q.push(`data-fallback-class="${c7(w)}"`);q.push('onerror="window.__stxSafeImageHandler(this)"');let W=new Set(["src","alt","fallback","class","className","fallbackClassName"]);q.push(...u5(X,W));let U=`<img ${q.join(" ")} />`,K=Z.context;if(!K.__safeImageHandlerEmitted)return K.__safeImageHandlerEmitted=!0,`${y_}${U}`;return U}}});function s9(X){return X.replace(/[;{}()]/g,"").replace(/url/gi,"")}function p7(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}function aX(X,$,Z){let Y=p7(X,$);if(Y!==void 0){let J=Number.parseInt(Y,10);if(!Number.isNaN(J))return J}return Z}var o9;var a9=D(()=>{o9={name:"StxLoadingIndicator",aliases:["stx-loading-indicator"],render(X,$,Z){let Y=s9(p7(X,"color")||"#6366f1"),J=s9(p7(X,"initialColor")||p7(X,"initial-color")||""),G=s9(p7(X,"height")||"3px"),Q=aX(X,"duration",2000),w=aX(X,"throttle",200),q=aX(X,"zIndex",999999)||aX(X,"z-index",999999),W=J?`linear-gradient(to right, ${J}, ${Y})`:Y;return`
3557
+ </picture>`}return`${C}${I}`}}});function c7(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function d5(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}var kY="/images/safe-image-default.svg",S_,n9;var r9=D(()=>{oX();S_=`<script>window.__stxSafeImageHandler||(window.__stxSafeImageHandler=function(i){if(i.__stx_fb)return;i.__stx_fb=1;var f=i.getAttribute('data-fallback')||'${kY}';var c=i.getAttribute('data-fallback-class');i.src=f;if(c)i.className=c;});</script>`,n9={name:"SafeImage",aliases:["safe-image","safe-img"],render(X,$,Z){let Y=d5(X,"src")||"",J=d5(X,"alt")||"",G=d5(X,"fallback")||kY,Q=d5(X,"class")||d5(X,"className")||"",w=d5(X,"fallbackClassName")||"",q=[];if(q.push(`src="${c7(Y)}"`),q.push(`alt="${c7(J)}"`),Q)q.push(`class="${c7(Q)}"`);if(q.push(`data-fallback="${c7(G)}"`),w)q.push(`data-fallback-class="${c7(w)}"`);q.push('onerror="window.__stxSafeImageHandler(this)"');let W=new Set(["src","alt","fallback","class","className","fallbackClassName"]);q.push(...u5(X,W));let U=`<img ${q.join(" ")} />`,K=Z.context;if(!K.__safeImageHandlerEmitted)return K.__safeImageHandlerEmitted=!0,`${S_}${U}`;return U}}});function s9(X){return X.replace(/[;{}()]/g,"").replace(/url/gi,"")}function p7(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}function aX(X,$,Z){let Y=p7(X,$);if(Y!==void 0){let J=Number.parseInt(Y,10);if(!Number.isNaN(J))return J}return Z}var o9;var a9=D(()=>{o9={name:"StxLoadingIndicator",aliases:["stx-loading-indicator"],render(X,$,Z){let Y=s9(p7(X,"color")||"#6366f1"),J=s9(p7(X,"initialColor")||p7(X,"initial-color")||""),G=s9(p7(X,"height")||"3px"),Q=aX(X,"duration",2000),w=aX(X,"throttle",200),q=aX(X,"zIndex",999999)||aX(X,"z-index",999999),W=J?`linear-gradient(to right, ${J}, ${Y})`:Y;return`
3558
3558
  <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">
3559
3559
  <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>
3560
3560
  </div>
3561
3561
  <style>@keyframes stx-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}</style>
3562
3562
  <script>
3563
3563
  (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()})})();
3564
- </script>`}}});function IY(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}function b_(X,$,Z){let Y=IY(X,$);if(Y!==void 0){let J=Number.parseInt(Y,10);if(!Number.isNaN(J))return J}return Z}var kY,t9;var e9=D(()=>{kY={"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%)"},t9={name:"StxToast",aliases:["stx-toast"],render(X,$,Z){let Y=k0(IY(X,"position")||"top-right"),J=b_(X,"max",5),G=kY[Y]||kY["top-right"];return`<div id="stx-toast-container" data-stx-toast-position="${Y}" data-stx-toast-max="${J}" style="position:fixed;${G};z-index:999999;display:flex;flex-direction:column;gap:0.5rem;pointer-events:none;max-width:24rem;width:100%"></div>
3564
+ </script>`}}});function EY(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}function C_(X,$,Z){let Y=EY(X,$);if(Y!==void 0){let J=Number.parseInt(Y,10);if(!Number.isNaN(J))return J}return Z}var IY,t9;var e9=D(()=>{IY={"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%)"},t9={name:"StxToast",aliases:["stx-toast"],render(X,$,Z){let Y=k0(EY(X,"position")||"top-right"),J=C_(X,"max",5),G=IY[Y]||IY["top-right"];return`<div id="stx-toast-container" data-stx-toast-position="${Y}" data-stx-toast-max="${J}" style="position:fixed;${G};z-index:999999;display:flex;flex-direction:column;gap:0.5rem;pointer-events:none;max-width:24rem;width:100%"></div>
3565
3565
  <style>
3566
3566
  @keyframes stx-toast-in{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
3567
3567
  @keyframes stx-toast-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}
@@ -3569,7 +3569,7 @@ ${I}
3569
3569
  @keyframes stx-toast-out-left{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}
3570
3570
  @keyframes stx-toast-in-center{from{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}
3571
3571
  @keyframes stx-toast-out-center{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-1rem)}}
3572
- </style>`}}});function tX(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}var EY,X3;var $3=D(()=>{EY={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)"},X3={name:"StxModal",aliases:["stx-modal"],render(X,$,Z){let Y=tX(X,"id");if(!Y)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let J=k0(Y),G=tX(X,"size")||"md",Q=tX(X,"closeOnBackdrop")!=="false",w=tX(X,"closeOnEscape")!=="false",q=EY[G]||EY.md;return`<div id="stx-modal-${J}" class="stx-modal-backdrop" data-stx-modal="${J}" 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">
3572
+ </style>`}}});function tX(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}var DY,X3;var $3=D(()=>{DY={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)"},X3={name:"StxModal",aliases:["stx-modal"],render(X,$,Z){let Y=tX(X,"id");if(!Y)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let J=k0(Y),G=tX(X,"size")||"md",Q=tX(X,"closeOnBackdrop")!=="false",w=tX(X,"closeOnEscape")!=="false",q=DY[G]||DY.md;return`<div id="stx-modal-${J}" class="stx-modal-backdrop" data-stx-modal="${J}" 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">
3573
3573
  <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)">
3574
3574
  <div style="padding:1.5rem">${$}</div>
3575
3575
  </div>
@@ -3578,7 +3578,7 @@ ${I}
3578
3578
  @media(prefers-color-scheme:dark){[data-stx-modal]{--stx-modal-bg:#1f2937;--stx-modal-text:#f3f4f6}}
3579
3579
  .stx-modal-backdrop[data-stx-modal-open]{display:flex!important;opacity:1}
3580
3580
  .stx-modal-backdrop[data-stx-modal-open] .stx-modal-panel{transform:scale(1) translateY(0);opacity:1}
3581
- </style>`}}});function m5(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}var DY,Z3;var Y3=D(()=>{DY={sm:"16rem",md:"24rem",lg:"32rem",xl:"40rem"},Z3={name:"StxDrawer",aliases:["stx-drawer"],render(X,$,Z){let Y=m5(X,"id");if(!Y)return console.warn('[stx] <StxDrawer> requires an "id" prop'),"<!-- StxDrawer: missing id prop -->";let J=k0(Y),G=m5(X,"side")||"right",Q=m5(X,"size")||"md",w=m5(X,"closeOnBackdrop")!=="false",q=m5(X,"closeOnEscape")!=="false",W=m5(X,"overlay")!=="false",U=DY[Q]||DY.md,K=G==="left",z=K?"left:0":"right:0",B=K?"translateX(-100%)":"translateX(100%)",_=K?"stx-drawer-slide-left":"stx-drawer-slide-right";return`<div id="stx-drawer-${J}" class="stx-drawer-backdrop" data-stx-drawer="${J}" 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">
3581
+ </style>`}}});function m5(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);let Z=X.static[$];if(typeof Z==="string")return Z;return}var yY,Z3;var Y3=D(()=>{yY={sm:"16rem",md:"24rem",lg:"32rem",xl:"40rem"},Z3={name:"StxDrawer",aliases:["stx-drawer"],render(X,$,Z){let Y=m5(X,"id");if(!Y)return console.warn('[stx] <StxDrawer> requires an "id" prop'),"<!-- StxDrawer: missing id prop -->";let J=k0(Y),G=m5(X,"side")||"right",Q=m5(X,"size")||"md",w=m5(X,"closeOnBackdrop")!=="false",q=m5(X,"closeOnEscape")!=="false",W=m5(X,"overlay")!=="false",U=yY[Q]||yY.md,K=G==="left",z=K?"left:0":"right:0",B=K?"translateX(-100%)":"translateX(100%)",_=K?"stx-drawer-slide-left":"stx-drawer-slide-right";return`<div id="stx-drawer-${J}" class="stx-drawer-backdrop" data-stx-drawer="${J}" 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">
3582
3582
  <div class="stx-drawer-panel" style="position:fixed;top:0;bottom:0;${z};width:${U};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">
3583
3583
  <div style="padding:1.5rem">${$}</div>
3584
3584
  </div>
@@ -3587,37 +3587,37 @@ ${I}
3587
3587
  @media(prefers-color-scheme:dark){[data-stx-drawer]{--stx-drawer-bg:#1f2937;--stx-drawer-text:#f3f4f6}}
3588
3588
  .stx-drawer-backdrop[data-stx-drawer-open]{display:block!important;opacity:1}
3589
3589
  .stx-drawer-backdrop[data-stx-drawer-open] .stx-drawer-panel{transform:translateX(0)}
3590
- </style>`}}});import{existsSync as S_,readFileSync as C_}from"fs";function P_(X){if(yY.has(X))return;yY.add(X),console.warn(`[stx] icon collection "${X}" is not installed, so its icons render as nothing. Install it with \`bun add -d @iconify-json/${X}\`.`)}function v_(X){let $=process.cwd();for(let Z of[`${$}/node_modules/@iconify-json/${X}/icons.json`,`${$}/pantry/@iconify-json/${X}/icons.json`,`${$}/node_modules/@iconify/json/json/${X}.json`,`${$}/pantry/@iconify/json/json/${X}.json`])if(S_(Z))return Z;for(let Z of[`@iconify-json/${X}/icons.json`,`@iconify/json/json/${X}.json`])try{return X0.resolve(Z)}catch{}return null}function x_(X){if(eX.has(X))return eX.get(X);let $=v_(X);if(!$)return P_(X),null;try{let Z=JSON.parse(C_($,"utf8"));return eX.set(X,Z.icons),Z.icons}catch{return null}}function l5(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);if(X.static[$]!==void 0)return String(X.static[$]);if(X.clientReactive[$]!==void 0)return X.clientReactive[$];return}var eX,yY,J3;var G3=D(()=>{eX=new Map,yY=new Set;J3={name:"Icon",aliases:["icon","stx-icon"],render(X,$,Z){let Y=l5(X,"name")??l5(X,"icon");if(!Y)return"<!-- Icon: missing name/icon prop -->";let J="lucide",G=Y;if(Y.includes(":")){let O=Y.split(":");J=O[0],G=O[1]}let Q=k0(l5(X,"size")||"24"),w=k0(l5(X,"color")||"currentColor"),q=k0(l5(X,"class")||""),W=k0(l5(X,"style")||""),U=eX.get(J)??x_(J);if(!U)return`<!-- Icon: collection "${J}" not loaded -->`;let K=U[G];if(!K)return`<!-- Icon: "${G}" not found in ${J} -->`;let z=K.width||24,B=K.height||24,_=`0 0 ${z} ${B}`,j=K.body;if(w!=="currentColor")j=j.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="${_}" fill="none"${H}${L}>${j}</svg>`}}});function bY(X,...$){for(let Z of $){if(X.serverDynamic[Z]!==void 0)return String(X.serverDynamic[Z]);let Y=X.static[Z];if(typeof Y==="string")return Y}return}function SY(X,$){let Z=new RegExp(`<(template|div|span)[^>]*\\bslot=["']${$}["'][^>]*>([\\s\\S]*?)<\\/\\1>`,"i"),Y=X.match(Z);if(!Y)return{region:null,rest:X};return{region:Y[2],rest:X.replace(Y[0],"")}}var Q3;var w3=D(()=>{Q3={name:"Suspense",aliases:["suspense"],render(X,$,Z){let Y=SY($,"fallback"),J=Y.rest,G=SY(J,"error"),Q=G.rest,w=Y.region??bY(X,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',q=G.region??bY(X,"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 X8(X,...$){for(let Z of $){if(X.serverDynamic[Z]!==void 0)return String(X.serverDynamic[Z]);let Y=X.static[Z];if(typeof Y==="string")return Y}return}var q3;var W3=D(()=>{q3={name:"TransitionGroup",aliases:["transition-group"],render(X,$,Z){let Y=(X8(X,"name")||"v").replace(/["'<>]/g,""),J=(X8(X,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",G=X8(X,"class"),Q=X8(X,"id"),w=[`data-stx-transition-group="${Y}"`,G?`class="${G}"`:"",Q?`id="${Q}"`:""].filter(Boolean).join(" ");return`<${J} ${w}>${$}</${J}>`}}});function CY(){x0.registerBuiltin(u9),x0.registerBuiltin(p9),x0.registerBuiltin(n9),x0.registerBuiltin(o9),x0.registerBuiltin(t9),x0.registerBuiltin(X3),x0.registerBuiltin(Z3),x0.registerBuiltin(J3),x0.registerBuiltin(Q3),x0.registerBuiltin(q3)}var PY=D(()=>{d9();i9();r9();a9();e9();$3();Y3();G3();w3();W3();h9();d9();i9();r9();a9();e9();$3();Y3();G3();w3();W3()});function $8(X){return X.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function vY(X,$,Z){let Y=[],J=0;while(J<X.length){let G=X.indexOf("<",J);if(G===-1)break;let w=X.slice(G+1).match(new RegExp(`^(${$.source})(?![\\w.:-])`));if(!w){J=G+1;continue}let q=w[1];if(Z&&Z.has(q.toLowerCase())){let j=G+1+q.length;while(j<X.length&&X[j]!==">")j++;J=j+1;continue}let W=G+1+q.length,U=null,K=W,z=-1,B=!1;while(W<X.length){let j=X[W];if(U){if(j==="\\"&&W+1<X.length){W+=2;continue}if(j===U)U=null;W++;continue}if(j==='"'||j==="'"){U=j,W++;continue}if(j==="/"&&W+1<X.length&&X[W+1]===">"){z=W+2,B=!0;break}if(j===">"){z=W+1;break}W++}if(z===-1){J=G+1;continue}let _=X.slice(K,B?z-2:z-1).trim();if(B)Y.push({fullMatch:X.slice(G,z),tagName:q,attributes:_,content:"",startIndex:G,endIndex:z,isSelfClosing:!0}),J=z;else{let j=`<${q}`,H=`</${q}>`,L=1,O=z,F=-1;while(L>0&&O<X.length){let R=X.indexOf(j,O),T=X.indexOf(H,O);if(T===-1)break;if(R!==-1&&R<T){let M=X[R+j.length];if(M===" "||M===">"||M==="/"||M===`
3591
- `||M==="\t")L++;O=R+j.length}else{if(L--,L===0){F=T;break}O=T+H.length}}if(F===-1){J=z;continue}let V=X.slice(z,F),A=F+H.length;Y.push({fullMatch:X.slice(G,A),tagName:q,attributes:_,content:V,startIndex:G,endIndex:A,isSelfClosing:!1}),J=A}}return Y}function xY(X){return X.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#0?39;/g,"'").replace(/&#x27;/gi,"'").replace(/&amp;/g,"&")}function fY(X,$){try{let Z=Buffer.from(X,"base64").toString("utf8");return JSON.parse(Z)}catch{}try{let Z=X.replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&");return JSON.parse(Z)}catch(Z){if($?.debug)console.error("Error decoding __stx_ prop:",Z);return X}}var gY=D(()=>{F0();T0();$5()});var pY={};t(pY,{processESImports:()=>lY,processComponents:()=>J8});import Y8 from"fs";import d0 from"path";function g_(X,$,Z){let Y={static:{},staticNames:{},serverDynamic:{},clientReactive:{},events:{}},J=new Set($6),G=(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,(q,W)=>W.toUpperCase())},Q=(w,q)=>{let W=G(w);if(Y.static[W]=q,W!==w)Y.staticNames[W]=w};for(let[w,q]of Object.entries(X)){let W=w.startsWith("x-")&&!J.has(w)&&!w.startsWith("x-bind:")&&!w.startsWith("x-on:")?`:${w.slice(2)}`:w;if(W.startsWith("@")){Y.events[W]=q;continue}if(W.startsWith("__stx_")){let U=G(W.slice(6));Y.serverDynamic[U]=fY(q,Z);continue}if(W.startsWith(":")){let U=G(W.slice(1)),K=q===W5?U:q;if(U==="if"||U==="for"||U==="show"){Y.clientReactive[U]=K;continue}try{if(!q0(K)){if(Z.debug)console.error(`Unsafe expression in :${U} binding: ${K}`);Y.clientReactive[U]=K;continue}let z=Object.keys($),_=W0(K,z)(...Object.values($));if(_===void 0){let j=K.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],H=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(j.some((O)=>!H.has(O)&&!z.includes(O))){Y.clientReactive[U]=K;continue}}Y.serverDynamic[U]=_}catch{Y.clientReactive[U]=K}continue}if(typeof q==="string"&&q.includes("{{")&&q.includes("}}")){let U=q.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(U)try{let K=U[1];if(q0(K)){let B=W0(K,Object.keys($))(...Object.values($));Q(W,B!=null?String(B):"")}else{if(Z.debug)console.error(`Unsafe expression in ${W}: ${K}`);Q(W,q)}}catch(K){if(Z.debug)console.error(`Error evaluating expression for ${W}:`,K);Q(W,q)}else{let K=q,z=/\{\{\s*([\s\S]+?)\s*\}\}/g,B;while((B=z.exec(q))!==null)try{let _=B[1];if(!q0(_)){if(Z.debug)console.error(`Unsafe expression in ${W}: ${_}`);continue}let H=W0(_,Object.keys($))(...Object.values($));K=K.replace(B[0],String(H??""))}catch(_){if(Z.debug)console.error(`Error evaluating expression in ${W}:`,_)}Q(W,K)}continue}Q(W,q===W5?"true":xY(q))}return Y}function h_(X){let $={},Z=0,Y=X.length;while(Z<Y){while(Z<Y&&/\s/.test(X[Z]))Z++;if(Z>=Y)break;let J="";while(Z<Y&&!/[\s=]/.test(X[Z]))J+=X[Z],Z++;if(!J)break;while(Z<Y&&/\s/.test(X[Z]))Z++;if(Z<Y&&X[Z]==="="){Z++;while(Z<Y&&/\s/.test(X[Z]))Z++;let G="";if(Z<Y&&(X[Z]==='"'||X[Z]==="'")){let Q=X[Z];Z++;while(Z<Y){let w=X[Z];if(w==="\\"&&Z+1<Y){Z++,G+=X[Z],Z++;continue}if(w===Q){Z++;break}G+=w,Z++}}else while(Z<Y&&!/\s/.test(X[Z]))G+=X[Z],Z++;$[J]=G}else $[J]=W5}return $}function uY(X){return Object.entries(X).map(([$,Z])=>Z===W5?$:`${$}="${u_(Z)}"`).join(" ")}function u_(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function d_(X){let $=new Set,Z=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1];if(x0.isBuiltin(J))$.add(J)}return[...$].sort()}function m_(X){let $=dY.get(X);if($)return $;let Z=new Map,Y=[d0.join(X,"src"),d0.join(X,"dist"),X];function J(G,Q){if(Q>6)return;let w;try{w=Y8.readdirSync(G,{withFileTypes:!0})}catch{return}for(let q of w){let W=d0.join(G,q.name);if(q.isDirectory()){if(q.name==="node_modules"||q.name.startsWith("."))continue;J(W,Q+1)}else if(q.isFile()&&q.name.endsWith(".stx")){let U=q.name.slice(0,-4);if(!Z.has(U))Z.set(U,W);let K=U.toLowerCase();if(!Z.has(K))Z.set(K,W);let z=U.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Z.has(z))Z.set(z,W)}}}for(let G of Y)if(J(G,0),Z.size>0)break;return dY.set(X,Z),Z}function l_(X,$){if(X.startsWith(".")||X.startsWith("/"))return null;let Z=$;while(!0){let Y=d0.join(Z,"node_modules",X);try{if(Y8.statSync(Y).isDirectory())return Y}catch{}let J=d0.dirname(Z);if(J===Z)return null;Z=J}}async function lY(X,$,Z,Y,J){if(!X.includes("import"))return X;if(!$.__importedComponents)$.__importedComponents=new Map;let G=$.__importedComponents,Q=d0.dirname(Z),w=X,q=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return w=w.replace(q,(W,U,K)=>{let z=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,B=K,_,j=[];while((_=z.exec(K))!==null){let[H,L,O,F]=_,V=null,A=null;if(F.startsWith(".")||F.startsWith("/")){let M=d0.resolve(Q,F);if(M.endsWith(".stx"))A=M;else{let k=`${M}.stx`;try{if(Y8.statSync(k).isFile())A=k}catch{try{if(Y8.statSync(M).isDirectory())V=M}catch{}}}}else V=l_(F,Q);if(!V&&!A)continue;let R=!1,T=(M,k)=>{G.set(M,k),G.set(M.toLowerCase(),k);let N=M.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();G.set(N,k),J.add(k)};if(O&&A)T(O,A),R=!0;else if(L){let M=L.slice(1,-1).split(",").map((N)=>N.trim()).filter(Boolean).map((N)=>{let y=N.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(y)return{source:y[1],local:y[2]};return{source:N,local:N}}),k=V?m_(V):null;for(let{source:N,local:y}of M){let I=null;if(A)I=A;else if(k)I=k.get(N)??k.get(N.toLowerCase())??k.get(N.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(I)T(y,I),R=!0}}if(R)j.push({start:_.index,end:_.index+H.length})}if(j.length===0)return W;for(let H=j.length-1;H>=0;H--)B=B.slice(0,j[H].start)+B.slice(j[H].end);return`<script${U}>${B}</script>`}),w}async function c_(X,$,Z,Y,J){let G=X;if(!$.__importedComponents)$.__importedComponents=new Map;let Q=$.__importedComponents,w=/@import\s*\(\s*([^)]+)\s*\)/g,q;while((q=w.exec(G))!==null){let[W,U]=q,K=U.split(",").map((z)=>z.trim().replace(/^['"]|['"]$/g,"")).filter((z)=>z.length>0);for(let z of K){let B=z.split("/"),j=B[B.length-1].replace(/\.stx$/,""),H=j.includes("-")?j.split("-").map((F)=>F.charAt(0).toUpperCase()+F.slice(1)).join(""):j.charAt(0).toUpperCase()+j.slice(1),L=null,O=[d0.resolve(d0.dirname(Z),`${z}.stx`),d0.resolve(d0.dirname(Z),z),d0.resolve(Y.componentsDir||"components",`${z}.stx`),d0.resolve(Y.componentsDir||"components",z),z.endsWith(".stx")?z:`${z}.stx`];for(let F of O)try{if(await Bun.file(F).exists()){L=F;break}}catch{}if(L){Q.set(H,L),Q.set(j,L),Q.set(j.toLowerCase(),L);let F=H.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(Q.set(F,L),J.add(L),Y.debug)console.log(`Imported component: ${H} -> ${L}`)}else if(Y.debug)console.warn(`Could not resolve imported component: ${z}`)}G=G.replace(W,""),w.lastIndex=0}return G}async function p_(X,$,Z,Y,J){let G=X,Q=Y.componentsDir||"components";if(!$.__processedComponents)$.__processedComponents=new Set;let w=$.__processedComponents,q=/@component\s*\(/g,W;while((W=q.exec(G))!==null){let U=W.index,K=U+W[0].length-1,z=1,B=K+1;while(B<G.length&&z>0){if(G[B]==="(")z++;else if(G[B]===")"){if(z--,z===0)break}B++}if(z!==0)break;let _=G.substring(K+1,B),j=B+1,H=_.match(/^\s*['"]([^'"]+)['"]/);if(!H){q.lastIndex=0;continue}let L=H[1],O,F=_.slice(H[0].length),V=F.match(/^\s*,\s*/);if(V)O=F.slice(V[0].length).trim();let A={};if(O)try{A=O0(O,$)}catch(y){let I=y instanceof Error?y.message:String(y);G=G.replace(G.substring(U,j),`[Error parsing component props: ${I}]`);continue}let R="",T=j,k=G.substring(j).match(/^([\s\S]*?)@endcomponent/);if(k)R=k[1].trim(),T=j+k[0].length;let N=await U5(L,A,R,Q,$,Z,Y,w,J);G=G.substring(0,U)+N+G.substring(T),q.lastIndex=0}return G}async function i_(X,$,Z,Y,J){if(!X)return X;let G=X,Q=Y.componentsDir||"components";if(!$.__processedComponents)$.__processedComponents=new Set;let w=$.__processedComponents,q=y1(G);return G=q.output,G=await z(G,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),G=await z(G,/[A-Z][a-zA-Z0-9]*/,!0),G=await z(G,/[a-z][a-z0-9]*/,!1,f_),G=D7(G,q.scripts),G;async function z(B,_,j,H){if(!B)return B;let L=B,O=vY(L,_,H);for(let F=O.length-1;F>=0;F--){let V=O[F],A=j?$8(V.tagName):V.tagName,R=h_(V.attributes),T=g_(R,$,Y),M=x0.getBuiltin(V.tagName),k=M?await Z8(A,Q,$,Z,Y):!1;if(M&&!k){let C={context:$,filePath:Z,options:Y,dependencies:J},S=M.render(T,V.content,C);if(Object.keys(T.clientReactive).length>0)S=mY(S,T.clientReactive);if(Object.keys(T.events).length>0){let b=uY(T.events);S=S.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${b}`)}L=L.substring(0,V.startIndex)+S+L.substring(V.endIndex);continue}if(!j&&V.tagName.includes("-")&&!await Z8(A,Q,$,Z,Y))continue;let N={};for(let[C,S]of Object.entries(T.static))N[C]=S;for(let[C,S]of Object.entries(T.serverDynamic))N[C]=S;let I=await U5(A,N,V.content,Q,$,Z,Y,w,J);if(Object.keys(T.clientReactive).length>0)I=mY(I,T.clientReactive);if(Object.keys(T.events).length>0){let C=cY(I);if(C){let S=uY(T.events),b=Object.keys(T.events).map((P)=>P.replace(/^@/,"").split(".")[0]).join(" ");I=I.substring(0,C.insertPos)+` data-stx-parent-events="${b}" ${S}`+I.substring(C.insertPos)}}L=L.substring(0,V.startIndex)+I+L.substring(V.endIndex)}return L}}function mY(X,$){let Z=new Set(["if","for"]),Y=new Set(["show"]),J=Object.entries($).filter(([U])=>!Z.has(U)),G=J.filter(([U])=>!Y.has(U)).map(([U])=>$8(U)).join(" "),Q=X,w=J.length>0?cY(Q):null;if(w){let U=J.map(([z,B])=>`:${$8(z)}="${B.replace(/"/g,"&quot;")}"`).join(" "),K=G?` data-stx-parent-bindings="${G}"`:"";Q=Q.substring(0,w.insertPos)+`${K} ${U}`+Q.substring(w.insertPos)}let q=$.if;if(q)Q=`<template :if="${q.replace(/"/g,"&quot;")}">${Q}</template>`;let W=$.for;if(W)Q=`<template :for="${W.replace(/"/g,"&quot;")}">${Q}</template>`;return Q}function cY(X){let $=/<([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*\bdata-stx-scope(?:\s|=|>)/i.exec(X);if($)return{insertPos:$.index+1+$[1].length};let Z=0;while(Z<X.length){let Y=X.slice(Z),J=Y.match(/^\s+/);if(J){Z+=J[0].length;continue}if(Y.startsWith("<!--")){let w=X.indexOf("-->",Z+4);if(w===-1)return null;Z=w+3;continue}let G=Y.match(/^<(script|style)\b[^>]*>/i);if(G){let w=`</${G[1].toLowerCase()}>`,q=X.toLowerCase().indexOf(w,Z+G[0].length);if(q===-1)return null;Z=q+w.length;continue}let Q=Y.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(?:\s|>|\/)/);if(!Q)return null;return{insertPos:Z+1+Q[1].length}}return null}async function J8(X,$,Z,Y,J){if(!hY)CY(),hY=!0;let G=await lY(X,$,Z,Y,J);G=await c_(G,$,Z,Y,J),G=await p_(G,$,Z,Y,J);let Q=[];for(let w=0;w<3;w++){let q=Q1(G,E7,(U,K)=>`\x00STX_COMPONENT_COMMENT_${Q.length+K}\x00`);Q.push(...q.tokens);let W=G;if(G=await i_(q.output,$,Z,Y,J),G===W)break}if(Q.length>0)G=G.replace(/\x00STX_COMPONENT_COMMENT_(\d+)\x00/g,(w,q)=>Q[Number(q)]??"");if(Y.debug){let w=d_(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 hY=!1,f_,dY;var U3=D(()=>{h9();PY();gY();$5();T0();F0();G1();f_=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"]);dY=new Map});var G8={};t(G8,{stripTypeScript:()=>oY,splitDeclaration:()=>ZJ,isModuleResolutionFailure:()=>aY,isMissingBindingFailure:()=>tY,isCompleteImport:()=>eY,hasVariables:()=>QJ,extractVariables:()=>V1,extractScriptFromTemplate:()=>GJ,convertToCommonJS:()=>z3});import f1 from"path";import c5 from"process";function n_(X){let $=[],Z=0,Y=X.split(`
3592
- `);for(let J of Y){let G=Z,Q=null,w=!1;for(let q=0;q<J.length;q++){let W=J[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<J.length&&J[q+1]==="/")break;if(W==="{")Z++;else if(W==="}")Z--}if(G===0){let q=J.match(/(?:const|let|var)\s+(\w+)\s*=/);if(q)$.push(q[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(J)){let W=J.match(/(?:const|let|var)\s+(\w+)/);if(W)$.push(W[1])}else{let W=J.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(W){let K=W[1].slice(1,-1).split(",").map((z)=>{let B=z.split(":");return(B.length>1?B[1]:B[0]).trim()}).filter((z)=>/^\w+$/.test(z));$.push(...K)}}}}return[...new Set($)]}function oY(X){let $=X;$=$.replace(/^\s*import\s+.*?from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),$=$.replace(/^\s*import\s+['"][^'"]+['"]\s*;?\s*$/gm,""),$=$.replace(/^\s*interface\s+\w+\s*\{[\s\S]*?\n\}\s*$/gm,""),$=$.replace(/^\s*type\s+\w+\s*=[\s\S]*?(?=\n(?:const|let|var|function|export|interface|type|$))/gm,""),$=$.replace(/^(\s*(?:export\s+)?(?:const|let|var)\s+)(\w+|\{[^}]+\}|\[[^\]]+\])\s*:\s*[^=]+(\s*=)/gm,"$1$2$3");function Z(Y){if(!Y.includes(":"))return Y;let J=[],G="",Q=0,w=0,q=null;for(let W=0;W<Y.length;W++){let U=Y[W];if(q){if(G+=U,U===q)q=null;continue}if(U==='"'||U==="'"||U==="`"){q=U,G+=U;continue}if(U==="<")Q++;else if(U===">"&&Q>0)Q--;else if(U==="(")w++;else if(U===")")w--;if(U===","&&Q===0&&w===0){J.push(G),G="";continue}G+=U}if(G)J.push(G);return J.map((W)=>{let U=W.trim(),K=U.startsWith("..."),z=K?U.slice(3):U,B=-1,_=0;for(let A=0;A<z.length;A++)if(z[A]==="<")_++;else if(z[A]===">")_--;else if(z[A]===":"&&_===0){B=A;break}if(B===-1)return W;let H=z.substring(0,B).trim().replace(/\?$/,""),L=z.substring(B+1),O=-1,F=0;for(let A=0;A<L.length;A++)if(L[A]==="<")F++;else if(L[A]===">")F--;else if(L[A]==="="&&F===0){O=A;break}let V=K?"...":"";if(O!==-1)return`${V}${H} = ${L.substring(O+1).trim()}`;return`${V}${H}`}).join(", ")}$=$.replace(/\b(function\s+\w*\s*)\(([^)]*)\)/g,(Y,J,G)=>{if(!G.includes(":"))return Y;return`${J}(${Z(G)})`});{let Y=/\b(function\s+\w*\s*)\(/g,J,G=[];while((J=Y.exec($))!==null){let Q=J.index+J[0].length-1,w=1,q=Q+1,W=0,U=null;while(q<$.length&&w>0){let B=$[q];if(U){if(B===U)U=null;q++;continue}if(B==='"'||B==="'"||B==="`"){U=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 K=$.substring(Q+1,q);if(!K.includes(":"))continue;let z=Z(K);G.push({start:Q+1,end:q,replacement:z})}for(let Q=G.length-1;Q>=0;Q--){let{start:w,end:q,replacement:W}=G[Q];$=$.substring(0,w)+W+$.substring(q)}}return $=$.replace(/\(([^)]*)\)\s*(?::\s*[^=]+)?\s*=>/g,(Y,J)=>{if(!J.includes(":"))return Y;if(J.includes("{")||J.includes("}"))return Y;return`(${J.split(",").map((Q)=>{let[w,...q]=Q.split("="),W=w.split(":")[0].trim();if(q.length>0)return`${W} = ${q.join("=").trim()}`;return W}).join(", ")}) =>`}),$=$.replace(/(\))\s*:\s*([A-Z]\w*|void|string|number|boolean|any|unknown|never|null|undefined)(?:<[^>]+>)?(?:\s*\|\s*(?:[A-Z]\w*|void|string|number|boolean|any|unknown|never|null|undefined))*\s*(\{)/g,"$1$3"),$=$.replace(/(\b(?:function|class|interface|type|extends|implements)\s+\w+)\s*<[^<>()]*>/g,"$1"),$=$.replace(/(\b(?:defineProps|withDefaults|defineEmits|defineSlots|Array|Promise|Map|Set|Record|Partial|Required|Readonly|Pick|Omit|Exclude|Extract))\s*<[^<>()]*>/g,"$1"),$=$.replace(/(\w+)\s*<[A-Z][^<>()]*>\s*(?=\()/g,"$1"),$=$.replace(/\s+as\s+(?:const|[A-Za-z]\w*(?:\[\])?(?:\s*\|\s*\w+(?:\[\])?)*)/g,""),$=$.replace(/\s+satisfies\s+\w+(?:<[^>]*>)?/g,""),$=$.replace(/(\w|\)|\])\s*!(?!=)/g,"$1"),$=$.replace(/^\s*(?:export\s+)?(?:const\s+)?enum\s+\w+\s*\{[^}]*\}\s*$/gm,""),$=$.replace(/(?<=[\s=,(])<[A-Z]\w*(?:\[\])?>/g,""),$=$.replace(/\n\s*\n\s*\n/g,`
3590
+ </style>`}}});import{existsSync as P_,readFileSync as v_}from"fs";function x_(X){if(bY.has(X))return;bY.add(X),console.warn(`[stx] icon collection "${X}" is not installed, so its icons render as nothing. Install it with \`bun add -d @iconify-json/${X}\`.`)}function f_(X){let $=process.cwd();for(let Z of[`${$}/node_modules/@iconify-json/${X}/icons.json`,`${$}/pantry/@iconify-json/${X}/icons.json`,`${$}/node_modules/@iconify/json/json/${X}.json`,`${$}/pantry/@iconify/json/json/${X}.json`])if(P_(Z))return Z;for(let Z of[`@iconify-json/${X}/icons.json`,`@iconify/json/json/${X}.json`])try{return X0.resolve(Z)}catch{}return null}function g_(X){if(eX.has(X))return eX.get(X);let $=f_(X);if(!$)return x_(X),null;try{let Z=JSON.parse(v_($,"utf8"));return eX.set(X,Z.icons),Z.icons}catch{return null}}function l5(X,$){if(X.serverDynamic[$]!==void 0)return String(X.serverDynamic[$]);if(X.static[$]!==void 0)return String(X.static[$]);if(X.clientReactive[$]!==void 0)return X.clientReactive[$];return}var eX,bY,J3;var G3=D(()=>{eX=new Map,bY=new Set;J3={name:"Icon",aliases:["icon","stx-icon"],render(X,$,Z){let Y=l5(X,"name")??l5(X,"icon");if(!Y)return"<!-- Icon: missing name/icon prop -->";let J="lucide",G=Y;if(Y.includes(":")){let O=Y.split(":");J=O[0],G=O[1]}let Q=k0(l5(X,"size")||"24"),w=k0(l5(X,"color")||"currentColor"),q=k0(l5(X,"class")||""),W=k0(l5(X,"style")||""),U=eX.get(J)??g_(J);if(!U)return`<!-- Icon: collection "${J}" not loaded -->`;let K=U[G];if(!K)return`<!-- Icon: "${G}" not found in ${J} -->`;let z=K.width||24,B=K.height||24,_=`0 0 ${z} ${B}`,j=K.body;if(w!=="currentColor")j=j.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="${_}" fill="none"${H}${L}>${j}</svg>`}}});function SY(X,...$){for(let Z of $){if(X.serverDynamic[Z]!==void 0)return String(X.serverDynamic[Z]);let Y=X.static[Z];if(typeof Y==="string")return Y}return}function CY(X,$){let Z=new RegExp(`<(template|div|span)[^>]*\\bslot=["']${$}["'][^>]*>([\\s\\S]*?)<\\/\\1>`,"i"),Y=X.match(Z);if(!Y)return{region:null,rest:X};return{region:Y[2],rest:X.replace(Y[0],"")}}var Q3;var w3=D(()=>{Q3={name:"Suspense",aliases:["suspense"],render(X,$,Z){let Y=CY($,"fallback"),J=Y.rest,G=CY(J,"error"),Q=G.rest,w=Y.region??SY(X,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',q=G.region??SY(X,"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 X8(X,...$){for(let Z of $){if(X.serverDynamic[Z]!==void 0)return String(X.serverDynamic[Z]);let Y=X.static[Z];if(typeof Y==="string")return Y}return}var q3;var W3=D(()=>{q3={name:"TransitionGroup",aliases:["transition-group"],render(X,$,Z){let Y=(X8(X,"name")||"v").replace(/["'<>]/g,""),J=(X8(X,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",G=X8(X,"class"),Q=X8(X,"id"),w=[`data-stx-transition-group="${Y}"`,G?`class="${G}"`:"",Q?`id="${Q}"`:""].filter(Boolean).join(" ");return`<${J} ${w}>${$}</${J}>`}}});function PY(){x0.registerBuiltin(u9),x0.registerBuiltin(p9),x0.registerBuiltin(n9),x0.registerBuiltin(o9),x0.registerBuiltin(t9),x0.registerBuiltin(X3),x0.registerBuiltin(Z3),x0.registerBuiltin(J3),x0.registerBuiltin(Q3),x0.registerBuiltin(q3)}var vY=D(()=>{d9();i9();r9();a9();e9();$3();Y3();G3();w3();W3();h9();d9();i9();r9();a9();e9();$3();Y3();G3();w3();W3()});function $8(X){return X.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function xY(X,$,Z){let Y=[],J=0;while(J<X.length){let G=X.indexOf("<",J);if(G===-1)break;let w=X.slice(G+1).match(new RegExp(`^(${$.source})(?![\\w.:-])`));if(!w){J=G+1;continue}let q=w[1];if(Z&&Z.has(q.toLowerCase())){let j=G+1+q.length;while(j<X.length&&X[j]!==">")j++;J=j+1;continue}let W=G+1+q.length,U=null,K=W,z=-1,B=!1;while(W<X.length){let j=X[W];if(U){if(j==="\\"&&W+1<X.length){W+=2;continue}if(j===U)U=null;W++;continue}if(j==='"'||j==="'"){U=j,W++;continue}if(j==="/"&&W+1<X.length&&X[W+1]===">"){z=W+2,B=!0;break}if(j===">"){z=W+1;break}W++}if(z===-1){J=G+1;continue}let _=X.slice(K,B?z-2:z-1).trim();if(B)Y.push({fullMatch:X.slice(G,z),tagName:q,attributes:_,content:"",startIndex:G,endIndex:z,isSelfClosing:!0}),J=z;else{let j=`<${q}`,H=`</${q}>`,L=1,O=z,F=-1;while(L>0&&O<X.length){let R=X.indexOf(j,O),T=X.indexOf(H,O);if(T===-1)break;if(R!==-1&&R<T){let M=X[R+j.length];if(M===" "||M===">"||M==="/"||M===`
3591
+ `||M==="\t")L++;O=R+j.length}else{if(L--,L===0){F=T;break}O=T+H.length}}if(F===-1){J=z;continue}let V=X.slice(z,F),A=F+H.length;Y.push({fullMatch:X.slice(G,A),tagName:q,attributes:_,content:V,startIndex:G,endIndex:A,isSelfClosing:!1}),J=A}}return Y}function fY(X){return X.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#0?39;/g,"'").replace(/&#x27;/gi,"'").replace(/&amp;/g,"&")}function gY(X,$){try{let Z=Buffer.from(X,"base64").toString("utf8");return JSON.parse(Z)}catch{}try{let Z=X.replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&");return JSON.parse(Z)}catch(Z){if($?.debug)console.error("Error decoding __stx_ prop:",Z);return X}}var hY=D(()=>{F0();T0();$5()});var iY={};t(iY,{processESImports:()=>cY,processComponents:()=>J8});import Y8 from"fs";import d0 from"path";function u_(X,$,Z){let Y={static:{},staticNames:{},serverDynamic:{},clientReactive:{},events:{}},J=new Set(Z6),G=(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,(q,W)=>W.toUpperCase())},Q=(w,q)=>{let W=G(w);if(Y.static[W]=q,W!==w)Y.staticNames[W]=w};for(let[w,q]of Object.entries(X)){let W=w.startsWith("x-")&&!J.has(w)&&!w.startsWith("x-bind:")&&!w.startsWith("x-on:")?`:${w.slice(2)}`:w;if(W.startsWith("@")){Y.events[W]=q;continue}if(W.startsWith("__stx_")){let U=G(W.slice(6));Y.serverDynamic[U]=gY(q,Z);continue}if(W.startsWith(":")){let U=G(W.slice(1)),K=q===W5?U:q;if(U==="if"||U==="for"||U==="show"){Y.clientReactive[U]=K;continue}try{if(!q0(K)){if(Z.debug)console.error(`Unsafe expression in :${U} binding: ${K}`);Y.clientReactive[U]=K;continue}let z=Object.keys($),_=W0(K,z)(...Object.values($));if(_===void 0){let j=K.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],H=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(j.some((O)=>!H.has(O)&&!z.includes(O))){Y.clientReactive[U]=K;continue}}Y.serverDynamic[U]=_}catch{Y.clientReactive[U]=K}continue}if(typeof q==="string"&&q.includes("{{")&&q.includes("}}")){let U=q.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(U)try{let K=U[1];if(q0(K)){let B=W0(K,Object.keys($))(...Object.values($));Q(W,B!=null?String(B):"")}else{if(Z.debug)console.error(`Unsafe expression in ${W}: ${K}`);Q(W,q)}}catch(K){if(Z.debug)console.error(`Error evaluating expression for ${W}:`,K);Q(W,q)}else{let K=q,z=/\{\{\s*([\s\S]+?)\s*\}\}/g,B;while((B=z.exec(q))!==null)try{let _=B[1];if(!q0(_)){if(Z.debug)console.error(`Unsafe expression in ${W}: ${_}`);continue}let H=W0(_,Object.keys($))(...Object.values($));K=K.replace(B[0],String(H??""))}catch(_){if(Z.debug)console.error(`Error evaluating expression in ${W}:`,_)}Q(W,K)}continue}Q(W,q===W5?"true":fY(q))}return Y}function d_(X){let $={},Z=0,Y=X.length;while(Z<Y){while(Z<Y&&/\s/.test(X[Z]))Z++;if(Z>=Y)break;let J="";while(Z<Y&&!/[\s=]/.test(X[Z]))J+=X[Z],Z++;if(!J)break;while(Z<Y&&/\s/.test(X[Z]))Z++;if(Z<Y&&X[Z]==="="){Z++;while(Z<Y&&/\s/.test(X[Z]))Z++;let G="";if(Z<Y&&(X[Z]==='"'||X[Z]==="'")){let Q=X[Z];Z++;while(Z<Y){let w=X[Z];if(w==="\\"&&Z+1<Y){Z++,G+=X[Z],Z++;continue}if(w===Q){Z++;break}G+=w,Z++}}else while(Z<Y&&!/\s/.test(X[Z]))G+=X[Z],Z++;$[J]=G}else $[J]=W5}return $}function dY(X){return Object.entries(X).map(([$,Z])=>Z===W5?$:`${$}="${m_(Z)}"`).join(" ")}function m_(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function l_(X){let $=new Set,Z=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1];if(x0.isBuiltin(J))$.add(J)}return[...$].sort()}function c_(X){let $=mY.get(X);if($)return $;let Z=new Map,Y=[d0.join(X,"src"),d0.join(X,"dist"),X];function J(G,Q){if(Q>6)return;let w;try{w=Y8.readdirSync(G,{withFileTypes:!0})}catch{return}for(let q of w){let W=d0.join(G,q.name);if(q.isDirectory()){if(q.name==="node_modules"||q.name.startsWith("."))continue;J(W,Q+1)}else if(q.isFile()&&q.name.endsWith(".stx")){let U=q.name.slice(0,-4);if(!Z.has(U))Z.set(U,W);let K=U.toLowerCase();if(!Z.has(K))Z.set(K,W);let z=U.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Z.has(z))Z.set(z,W)}}}for(let G of Y)if(J(G,0),Z.size>0)break;return mY.set(X,Z),Z}function p_(X,$){if(X.startsWith(".")||X.startsWith("/"))return null;let Z=$;while(!0){let Y=d0.join(Z,"node_modules",X);try{if(Y8.statSync(Y).isDirectory())return Y}catch{}let J=d0.dirname(Z);if(J===Z)return null;Z=J}}async function cY(X,$,Z,Y,J){if(!X.includes("import"))return X;if(!$.__importedComponents)$.__importedComponents=new Map;let G=$.__importedComponents,Q=d0.dirname(Z),w=X,q=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return w=w.replace(q,(W,U,K)=>{let z=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,B=K,_,j=[];while((_=z.exec(K))!==null){let[H,L,O,F]=_,V=null,A=null;if(F.startsWith(".")||F.startsWith("/")){let M=d0.resolve(Q,F);if(M.endsWith(".stx"))A=M;else{let k=`${M}.stx`;try{if(Y8.statSync(k).isFile())A=k}catch{try{if(Y8.statSync(M).isDirectory())V=M}catch{}}}}else V=p_(F,Q);if(!V&&!A)continue;let R=!1,T=(M,k)=>{G.set(M,k),G.set(M.toLowerCase(),k);let N=M.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();G.set(N,k),J.add(k)};if(O&&A)T(O,A),R=!0;else if(L){let M=L.slice(1,-1).split(",").map((N)=>N.trim()).filter(Boolean).map((N)=>{let y=N.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(y)return{source:y[1],local:y[2]};return{source:N,local:N}}),k=V?c_(V):null;for(let{source:N,local:y}of M){let I=null;if(A)I=A;else if(k)I=k.get(N)??k.get(N.toLowerCase())??k.get(N.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(I)T(y,I),R=!0}}if(R)j.push({start:_.index,end:_.index+H.length})}if(j.length===0)return W;for(let H=j.length-1;H>=0;H--)B=B.slice(0,j[H].start)+B.slice(j[H].end);return`<script${U}>${B}</script>`}),w}async function i_(X,$,Z,Y,J){let G=X;if(!$.__importedComponents)$.__importedComponents=new Map;let Q=$.__importedComponents,w=/@import\s*\(\s*([^)]+)\s*\)/g,q;while((q=w.exec(G))!==null){let[W,U]=q,K=U.split(",").map((z)=>z.trim().replace(/^['"]|['"]$/g,"")).filter((z)=>z.length>0);for(let z of K){let B=z.split("/"),j=B[B.length-1].replace(/\.stx$/,""),H=j.includes("-")?j.split("-").map((F)=>F.charAt(0).toUpperCase()+F.slice(1)).join(""):j.charAt(0).toUpperCase()+j.slice(1),L=null,O=[d0.resolve(d0.dirname(Z),`${z}.stx`),d0.resolve(d0.dirname(Z),z),d0.resolve(Y.componentsDir||"components",`${z}.stx`),d0.resolve(Y.componentsDir||"components",z),z.endsWith(".stx")?z:`${z}.stx`];for(let F of O)try{if(await Bun.file(F).exists()){L=F;break}}catch{}if(L){Q.set(H,L),Q.set(j,L),Q.set(j.toLowerCase(),L);let F=H.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(Q.set(F,L),J.add(L),Y.debug)console.log(`Imported component: ${H} -> ${L}`)}else if(Y.debug)console.warn(`Could not resolve imported component: ${z}`)}G=G.replace(W,""),w.lastIndex=0}return G}async function n_(X,$,Z,Y,J){let G=X,Q=Y.componentsDir||"components";if(!$.__processedComponents)$.__processedComponents=new Set;let w=$.__processedComponents,q=/@component\s*\(/g,W;while((W=q.exec(G))!==null){let U=W.index,K=U+W[0].length-1,z=1,B=K+1;while(B<G.length&&z>0){if(G[B]==="(")z++;else if(G[B]===")"){if(z--,z===0)break}B++}if(z!==0)break;let _=G.substring(K+1,B),j=B+1,H=_.match(/^\s*['"]([^'"]+)['"]/);if(!H){q.lastIndex=0;continue}let L=H[1],O,F=_.slice(H[0].length),V=F.match(/^\s*,\s*/);if(V)O=F.slice(V[0].length).trim();let A={};if(O)try{A=O0(O,$)}catch(y){let I=y instanceof Error?y.message:String(y);G=G.replace(G.substring(U,j),`[Error parsing component props: ${I}]`);continue}let R="",T=j,k=G.substring(j).match(/^([\s\S]*?)@endcomponent/);if(k)R=k[1].trim(),T=j+k[0].length;let N=await U5(L,A,R,Q,$,Z,Y,w,J);G=G.substring(0,U)+N+G.substring(T),q.lastIndex=0}return G}async function r_(X,$,Z,Y,J){if(!X)return X;let G=X,Q=Y.componentsDir||"components";if(!$.__processedComponents)$.__processedComponents=new Set;let w=$.__processedComponents,q=y1(G);return G=q.output,G=await z(G,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),G=await z(G,/[A-Z][a-zA-Z0-9]*/,!0),G=await z(G,/[a-z][a-z0-9]*/,!1,h_),G=D7(G,q.scripts),G;async function z(B,_,j,H){if(!B)return B;let L=B,O=xY(L,_,H);for(let F=O.length-1;F>=0;F--){let V=O[F],A=j?$8(V.tagName):V.tagName,R=d_(V.attributes),T=u_(R,$,Y),M=x0.getBuiltin(V.tagName),k=M?await Z8(A,Q,$,Z,Y):!1;if(M&&!k){let C={context:$,filePath:Z,options:Y,dependencies:J},S=M.render(T,V.content,C);if(Object.keys(T.clientReactive).length>0)S=lY(S,T.clientReactive);if(Object.keys(T.events).length>0){let b=dY(T.events);S=S.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${b}`)}L=L.substring(0,V.startIndex)+S+L.substring(V.endIndex);continue}if(!j&&V.tagName.includes("-")&&!await Z8(A,Q,$,Z,Y))continue;let N={};for(let[C,S]of Object.entries(T.static))N[C]=S;for(let[C,S]of Object.entries(T.serverDynamic))N[C]=S;let I=await U5(A,N,V.content,Q,$,Z,Y,w,J);if(Object.keys(T.clientReactive).length>0)I=lY(I,T.clientReactive);if(Object.keys(T.events).length>0){let C=pY(I);if(C){let S=dY(T.events),b=Object.keys(T.events).map((P)=>P.replace(/^@/,"").split(".")[0]).join(" ");I=I.substring(0,C.insertPos)+` data-stx-parent-events="${b}" ${S}`+I.substring(C.insertPos)}}L=L.substring(0,V.startIndex)+I+L.substring(V.endIndex)}return L}}function lY(X,$){let Z=new Set(["if","for"]),Y=new Set(["show"]),J=Object.entries($).filter(([U])=>!Z.has(U)),G=J.filter(([U])=>!Y.has(U)).map(([U])=>$8(U)).join(" "),Q=X,w=J.length>0?pY(Q):null;if(w){let U=J.map(([z,B])=>`:${$8(z)}="${B.replace(/"/g,"&quot;")}"`).join(" "),K=G?` data-stx-parent-bindings="${G}"`:"";Q=Q.substring(0,w.insertPos)+`${K} ${U}`+Q.substring(w.insertPos)}let q=$.if;if(q)Q=`<template :if="${q.replace(/"/g,"&quot;")}">${Q}</template>`;let W=$.for;if(W)Q=`<template :for="${W.replace(/"/g,"&quot;")}">${Q}</template>`;return Q}function pY(X){let $=/<([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*\bdata-stx-scope(?:\s|=|>)/i.exec(X);if($)return{insertPos:$.index+1+$[1].length};let Z=0;while(Z<X.length){let Y=X.slice(Z),J=Y.match(/^\s+/);if(J){Z+=J[0].length;continue}if(Y.startsWith("<!--")){let w=X.indexOf("-->",Z+4);if(w===-1)return null;Z=w+3;continue}let G=Y.match(/^<(script|style)\b[^>]*>/i);if(G){let w=`</${G[1].toLowerCase()}>`,q=X.toLowerCase().indexOf(w,Z+G[0].length);if(q===-1)return null;Z=q+w.length;continue}let Q=Y.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(?:\s|>|\/)/);if(!Q)return null;return{insertPos:Z+1+Q[1].length}}return null}async function J8(X,$,Z,Y,J){if(!uY)PY(),uY=!0;let G=await cY(X,$,Z,Y,J);G=await i_(G,$,Z,Y,J),G=await n_(G,$,Z,Y,J);let Q=[];for(let w=0;w<3;w++){let q=Q1(G,E7,(U,K)=>`\x00STX_COMPONENT_COMMENT_${Q.length+K}\x00`);Q.push(...q.tokens);let W=G;if(G=await r_(q.output,$,Z,Y,J),G===W)break}if(Q.length>0)G=G.replace(/\x00STX_COMPONENT_COMMENT_(\d+)\x00/g,(w,q)=>Q[Number(q)]??"");if(Y.debug){let w=l_(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 uY=!1,h_,mY;var U3=D(()=>{h9();vY();hY();$5();T0();F0();G1();h_=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"]);mY=new Map});var G8={};t(G8,{stripTypeScript:()=>tY,splitDeclaration:()=>JJ,isModuleResolutionFailure:()=>eY,isMissingBindingFailure:()=>XJ,isCompleteImport:()=>$J,hasVariables:()=>qJ,extractVariables:()=>V1,extractScriptFromTemplate:()=>wJ,convertToCommonJS:()=>_3,STX_ENGINE_BINDING_NAMES:()=>z3});import f1 from"path";import c5 from"process";function o_(X){let $=[],Z=0,Y=X.split(`
3592
+ `);for(let J of Y){let G=Z,Q=null,w=!1;for(let q=0;q<J.length;q++){let W=J[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<J.length&&J[q+1]==="/")break;if(W==="{")Z++;else if(W==="}")Z--}if(G===0){let q=J.match(/(?:const|let|var)\s+(\w+)\s*=/);if(q)$.push(q[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(J)){let W=J.match(/(?:const|let|var)\s+(\w+)/);if(W)$.push(W[1])}else{let W=J.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(W){let K=W[1].slice(1,-1).split(",").map((z)=>{let B=z.split(":");return(B.length>1?B[1]:B[0]).trim()}).filter((z)=>/^\w+$/.test(z));$.push(...K)}}}}return[...new Set($)]}function tY(X){let $=X;$=$.replace(/^\s*import\s+.*?from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),$=$.replace(/^\s*import\s+['"][^'"]+['"]\s*;?\s*$/gm,""),$=$.replace(/^\s*interface\s+\w+\s*\{[\s\S]*?\n\}\s*$/gm,""),$=$.replace(/^\s*type\s+\w+\s*=[\s\S]*?(?=\n(?:const|let|var|function|export|interface|type|$))/gm,""),$=$.replace(/^(\s*(?:export\s+)?(?:const|let|var)\s+)(\w+|\{[^}]+\}|\[[^\]]+\])\s*:\s*[^=]+(\s*=)/gm,"$1$2$3");function Z(Y){if(!Y.includes(":"))return Y;let J=[],G="",Q=0,w=0,q=null;for(let W=0;W<Y.length;W++){let U=Y[W];if(q){if(G+=U,U===q)q=null;continue}if(U==='"'||U==="'"||U==="`"){q=U,G+=U;continue}if(U==="<")Q++;else if(U===">"&&Q>0)Q--;else if(U==="(")w++;else if(U===")")w--;if(U===","&&Q===0&&w===0){J.push(G),G="";continue}G+=U}if(G)J.push(G);return J.map((W)=>{let U=W.trim(),K=U.startsWith("..."),z=K?U.slice(3):U,B=-1,_=0;for(let A=0;A<z.length;A++)if(z[A]==="<")_++;else if(z[A]===">")_--;else if(z[A]===":"&&_===0){B=A;break}if(B===-1)return W;let H=z.substring(0,B).trim().replace(/\?$/,""),L=z.substring(B+1),O=-1,F=0;for(let A=0;A<L.length;A++)if(L[A]==="<")F++;else if(L[A]===">")F--;else if(L[A]==="="&&F===0){O=A;break}let V=K?"...":"";if(O!==-1)return`${V}${H} = ${L.substring(O+1).trim()}`;return`${V}${H}`}).join(", ")}$=$.replace(/\b(function\s+\w*\s*)\(([^)]*)\)/g,(Y,J,G)=>{if(!G.includes(":"))return Y;return`${J}(${Z(G)})`});{let Y=/\b(function\s+\w*\s*)\(/g,J,G=[];while((J=Y.exec($))!==null){let Q=J.index+J[0].length-1,w=1,q=Q+1,W=0,U=null;while(q<$.length&&w>0){let B=$[q];if(U){if(B===U)U=null;q++;continue}if(B==='"'||B==="'"||B==="`"){U=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 K=$.substring(Q+1,q);if(!K.includes(":"))continue;let z=Z(K);G.push({start:Q+1,end:q,replacement:z})}for(let Q=G.length-1;Q>=0;Q--){let{start:w,end:q,replacement:W}=G[Q];$=$.substring(0,w)+W+$.substring(q)}}return $=$.replace(/\(([^)]*)\)\s*(?::\s*[^=]+)?\s*=>/g,(Y,J)=>{if(!J.includes(":"))return Y;if(J.includes("{")||J.includes("}"))return Y;return`(${J.split(",").map((Q)=>{let[w,...q]=Q.split("="),W=w.split(":")[0].trim();if(q.length>0)return`${W} = ${q.join("=").trim()}`;return W}).join(", ")}) =>`}),$=$.replace(/(\))\s*:\s*([A-Z]\w*|void|string|number|boolean|any|unknown|never|null|undefined)(?:<[^>]+>)?(?:\s*\|\s*(?:[A-Z]\w*|void|string|number|boolean|any|unknown|never|null|undefined))*\s*(\{)/g,"$1$3"),$=$.replace(/(\b(?:function|class|interface|type|extends|implements)\s+\w+)\s*<[^<>()]*>/g,"$1"),$=$.replace(/(\b(?:defineProps|withDefaults|defineEmits|defineSlots|Array|Promise|Map|Set|Record|Partial|Required|Readonly|Pick|Omit|Exclude|Extract))\s*<[^<>()]*>/g,"$1"),$=$.replace(/(\w+)\s*<[A-Z][^<>()]*>\s*(?=\()/g,"$1"),$=$.replace(/\s+as\s+(?:const|[A-Za-z]\w*(?:\[\])?(?:\s*\|\s*\w+(?:\[\])?)*)/g,""),$=$.replace(/\s+satisfies\s+\w+(?:<[^>]*>)?/g,""),$=$.replace(/(\w|\)|\])\s*!(?!=)/g,"$1"),$=$.replace(/^\s*(?:export\s+)?(?:const\s+)?enum\s+\w+\s*\{[^}]*\}\s*$/gm,""),$=$.replace(/(?<=[\s=,(])<[A-Z]\w*(?:\[\])?>/g,""),$=$.replace(/\n\s*\n\s*\n/g,`
3593
3593
 
3594
- `),$}function aY(X){return/cannot find module|could not resolve|module not found|failed to resolve/i.test(X)}function tY(X){if(!/is not defined|can't find variable/i.test(X))return!1;return!/\b(document|window|navigator|localStorage|sessionStorage|self)\b/.test(X)}async function V1(X,$,Z,Y={}){if(!X.trim())return;let J;try{let E=new Bun.Transpiler({loader:"ts",target:"browser",define:C0()}),v=X.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");v=v.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),J=E.transformSync(v)}catch{J=oY(X)}let G={exports:{}},Q=G.exports,w=c5.cwd(),q={},W=[...J.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((E)=>E[1]).filter((E)=>!E.startsWith("node:")&&!E.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(E));for(let E of W)try{let v=f1.resolve(w,"node_modules",E),d=f1.join(v,"package.json"),f=JSON.parse(X0("fs").readFileSync(d,"utf8")),s=f.main||"index.js";if(f.exports){let G0=typeof f.exports==="string"?f.exports:f.exports["."];if(typeof G0==="string")s=G0;else if(G0?.bun)s=G0.bun;else if(G0?.import)s=G0.import;else if(G0?.default)s=G0.default}q[E]=await import(f1.resolve(v,s))}catch{}let U=(E)=>{if(q[E])return q[E];return X0(E)},K=$.props||{},z=(E)=>{if(!E)return K;let v={};for(let[d,f]of Object.entries(E)){let s=K[d];if(s!==void 0)v[d]=s;else if(typeof f==="function")v[d]=f();else v[d]=f}return v};for(let[E,v]of Object.entries(K))Object.defineProperty(z,E,{value:v,enumerable:!0,configurable:!0,writable:!0});for(let E of["name","length","caller","arguments"]){if(Object.prototype.hasOwnProperty.call(K,E))continue;try{Object.defineProperty(z,E,{value:void 0,enumerable:!1,configurable:!0,writable:!0})}catch{}}let B=(E)=>{if(!E)return K;let v={...K};for(let[d,f]of Object.entries(E)){let s=f&&typeof f==="object"&&!Array.isArray(f)?f:{type:f};if(v[d]===void 0&&s.default!==void 0)v[d]=typeof s.default==="function"?s.default():s.default}return v},_=()=>$.slots||{},j=(E,v)=>{let d={...E};for(let[f,s]of Object.entries(v))if(d[f]===void 0)if(typeof s==="function")d[f]=s();else d[f]=s;return d},H=(E)=>{let v=()=>E;return v.set=(d)=>{},v.update=(d)=>{},v},L=(E)=>{let v,d=!1;return()=>{if(!d)try{v=E(),d=!0}catch{v=void 0}return v}},O=(E)=>{},F=(E)=>E(),V=(E)=>{},A=(E)=>{};function R(E){let v=E||{};if(v.title!==void 0||v.description!==void 0)y({title:v.title,description:v.description})}function T(E){if(!E||typeof E!=="object")return;let v=$.__stxClientPayload??{};Object.assign(v,E),$.__stxClientPayload=v}let M=()=>{let E=$.__stxServeContext,v=$.__stxServeSearch??E?.search??"",d=E?.path??"",f=Object.fromEntries(new URLSearchParams(v)),s=$.query,G0=Object.keys(f).length>0?f:s??{},o0=v||(Object.keys(G0).length>0?`?${new URLSearchParams(G0).toString()}`:"");return{params:$.params??{},query:G0,path:d,name:"",fullPath:d+o0,hash:"",matched:[]}},k=()=>({push:(E)=>{},replace:(E)=>{},back:()=>{},forward:()=>{},go:(E)=>{}}),N=(E)=>{let v=$.__stx_runtime_head||{};$.__stx_runtime_head=x5(v,E||{})},y=(E)=>{N(cX(E||{}))},I=(E)=>({value:E}),C=(E)=>E,S=(E)=>({value:typeof E==="function"?E():E}),b=(E,v)=>{},P=(E)=>{},x=(E)=>{},m=(E)=>E?E():Promise.resolve(),l=(E)=>(v,...d)=>{},Q0=(E)=>{},c0=(E,v)=>{},R0=(E,v)=>v,s0=()=>({value:"light"}),c=()=>H(!1),j0=(E)=>H(!1),p0=()=>H(!1),M1=()=>j0("(prefers-color-scheme: dark)"),L5=()=>j0("(prefers-color-scheme: light)"),O5=()=>j0("(prefers-reduced-motion: reduce)"),r=()=>j0("(prefers-contrast: more)"),a={siteId:void 0,API_ENDPOINT:"",ANALYTICS_SITE_ID:void 0,location:{href:"",pathname:"",search:"",hash:"",origin:"",host:"",hostname:"",protocol:"https:",assign:()=>{},replace:()=>{},reload:()=>{}},localStorage:{getItem:()=>null,setItem:()=>{},removeItem:()=>{},clear:()=>{}},sessionStorage:{getItem:()=>null,setItem:()=>{},removeItem:()=>{},clear:()=>{}},fetch:globalThis.fetch,addEventListener:()=>{},removeEventListener:()=>{},setTimeout:()=>0,clearTimeout:()=>{},setInterval:()=>0,clearInterval:()=>{},requestAnimationFrame:()=>0,cancelAnimationFrame:()=>{},alert:()=>{},confirm:()=>!1,prompt:()=>null,getComputedStyle:()=>({}),matchMedia:()=>({matches:!1,addListener:()=>{},removeListener:()=>{}}),getDateRangeParams:()=>"",stx:{}},U0=new Proxy(a,{get(E,v){if(v in E)return E[v];return},set(E,v,d){return E[v]=d,!0}}),M0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},w0=console;try{let E=z3(J,Z),v=new Set(Object.keys(K)),d=(n)=>/^[a-z_$][\w$]*$/i.test(n),f=Object.keys($).filter((n)=>!v.has(n)&&n!=="props"&&d(n)),s=f.map((n)=>$[n]);if(!f.includes("__stxServeContext"))f.push("__stxServeContext"),s.push(void 0);let G0=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"]),o0=[],S0=[];for(let[n,J1]of Object.entries(K)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(n))continue;if(G0.has(n))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${n}\\b`).test(E))continue;o0.push(n),S0.push(J1)}let a0=n_(E).map((n)=>`module.exports.${n} = typeof ${n} !== 'undefined' ? ${n} : module.exports.${n};`).join(`
3595
- `),F5=$.params??{},N1=[],k1=[];for(let n=0;n<f.length;n++){if(f[n]==="params")continue;N1.push(f[n]),k1.push(s[n])}let Y1=await Function("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",...o0,...N1,`return (async () => {
3594
+ `),$}function eY(X){return/cannot find module|could not resolve|module not found|failed to resolve/i.test(X)}function XJ(X){if(!/is not defined|can't find variable/i.test(X))return!1;return!/\b(document|window|navigator|localStorage|sessionStorage|self)\b/.test(X)}async function V1(X,$,Z,Y={}){if(!X.trim())return;let J;try{let E=new Bun.Transpiler({loader:"ts",target:"browser",define:C0()}),v=X.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");v=v.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),J=E.transformSync(v)}catch{J=tY(X)}let G={exports:{}},Q=G.exports,w=c5.cwd(),q={},W=[...J.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((E)=>E[1]).filter((E)=>!E.startsWith("node:")&&!E.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(E));for(let E of W)try{let v=f1.resolve(w,"node_modules",E),d=f1.join(v,"package.json"),f=JSON.parse(X0("fs").readFileSync(d,"utf8")),s=f.main||"index.js";if(f.exports){let G0=typeof f.exports==="string"?f.exports:f.exports["."];if(typeof G0==="string")s=G0;else if(G0?.bun)s=G0.bun;else if(G0?.import)s=G0.import;else if(G0?.default)s=G0.default}q[E]=await import(f1.resolve(v,s))}catch{}let U=(E)=>{if(q[E])return q[E];return X0(E)},K=$.props||{},z=(E)=>{if(!E)return K;let v={};for(let[d,f]of Object.entries(E)){let s=K[d];if(s!==void 0)v[d]=s;else if(typeof f==="function")v[d]=f();else v[d]=f}return v};for(let[E,v]of Object.entries(K))Object.defineProperty(z,E,{value:v,enumerable:!0,configurable:!0,writable:!0});for(let E of["name","length","caller","arguments"]){if(Object.prototype.hasOwnProperty.call(K,E))continue;try{Object.defineProperty(z,E,{value:void 0,enumerable:!1,configurable:!0,writable:!0})}catch{}}let B=(E)=>{if(!E)return K;let v={...K};for(let[d,f]of Object.entries(E)){let s=f&&typeof f==="object"&&!Array.isArray(f)?f:{type:f};if(v[d]===void 0&&s.default!==void 0)v[d]=typeof s.default==="function"?s.default():s.default}return v},_=()=>$.slots||{},j=(E,v)=>{let d={...E};for(let[f,s]of Object.entries(v))if(d[f]===void 0)if(typeof s==="function")d[f]=s();else d[f]=s;return d},H=(E)=>{let v=()=>E;return v.set=(d)=>{},v.update=(d)=>{},v},L=(E)=>{let v,d=!1;return()=>{if(!d)try{v=E(),d=!0}catch{v=void 0}return v}},O=(E)=>{},F=(E)=>E(),V=(E)=>{},A=(E)=>{};function R(E){let v=E||{};if(v.title!==void 0||v.description!==void 0)y({title:v.title,description:v.description})}function T(E){if(!E||typeof E!=="object")return;let v=$.__stxClientPayload??{};Object.assign(v,E),$.__stxClientPayload=v}let M=()=>{let E=$.__stxServeContext,v=$.__stxServeSearch??E?.search??"",d=E?.path??"",f=Object.fromEntries(new URLSearchParams(v)),s=$.query,G0=Object.keys(f).length>0?f:s??{},o0=v||(Object.keys(G0).length>0?`?${new URLSearchParams(G0).toString()}`:"");return{params:$.params??{},query:G0,path:d,name:"",fullPath:d+o0,hash:"",matched:[]}},k=()=>({push:(E)=>{},replace:(E)=>{},back:()=>{},forward:()=>{},go:(E)=>{}}),N=(E)=>{let v=$.__stx_runtime_head||{};$.__stx_runtime_head=x5(v,E||{})},y=(E)=>{N(cX(E||{}))},I=(E)=>({value:E}),C=(E)=>E,S=(E)=>({value:typeof E==="function"?E():E}),b=(E,v)=>{},P=(E)=>{},x=(E)=>{},m=(E)=>E?E():Promise.resolve(),l=(E)=>(v,...d)=>{},Q0=(E)=>{},c0=(E,v)=>{},R0=(E,v)=>v,s0=()=>({value:"light"}),c=()=>H(!1),j0=(E)=>H(!1),p0=()=>H(!1),M1=()=>j0("(prefers-color-scheme: dark)"),L5=()=>j0("(prefers-color-scheme: light)"),O5=()=>j0("(prefers-reduced-motion: reduce)"),r=()=>j0("(prefers-contrast: more)"),a={siteId:void 0,API_ENDPOINT:"",ANALYTICS_SITE_ID:void 0,location:{href:"",pathname:"",search:"",hash:"",origin:"",host:"",hostname:"",protocol:"https:",assign:()=>{},replace:()=>{},reload:()=>{}},localStorage:{getItem:()=>null,setItem:()=>{},removeItem:()=>{},clear:()=>{}},sessionStorage:{getItem:()=>null,setItem:()=>{},removeItem:()=>{},clear:()=>{}},fetch:globalThis.fetch,addEventListener:()=>{},removeEventListener:()=>{},setTimeout:()=>0,clearTimeout:()=>{},setInterval:()=>0,clearInterval:()=>{},requestAnimationFrame:()=>0,cancelAnimationFrame:()=>{},alert:()=>{},confirm:()=>!1,prompt:()=>null,getComputedStyle:()=>({}),matchMedia:()=>({matches:!1,addListener:()=>{},removeListener:()=>{}}),getDateRangeParams:()=>"",stx:{}},U0=new Proxy(a,{get(E,v){if(v in E)return E[v];return},set(E,v,d){return E[v]=d,!0}}),M0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},w0=console;try{let E=_3(J,Z),v=new Set(Object.keys(K)),d=(n)=>/^[a-z_$][\w$]*$/i.test(n),f=Object.keys($).filter((n)=>!v.has(n)&&n!=="props"&&d(n)),s=f.map((n)=>$[n]);if(!f.includes("__stxServeContext"))f.push("__stxServeContext"),s.push(void 0);let G0=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"]),o0=[],S0=[];for(let[n,J1]of Object.entries(K)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(n))continue;if(G0.has(n))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${n}\\b`).test(E))continue;o0.push(n),S0.push(J1)}let a0=o_(E).map((n)=>`module.exports.${n} = typeof ${n} !== 'undefined' ? ${n} : module.exports.${n};`).join(`
3595
+ `),F5=$.params??{},N1=[],k1=[];for(let n=0;n<f.length;n++){if(f[n]==="params")continue;N1.push(f[n]),k1.push(s[n])}let Y1=await Function(...z3,...o0,...N1,`return (async () => {
3596
3596
  ${E}
3597
3597
  ${a0}
3598
3598
  return module.exports
3599
- })()`)(G,Q,U,K,z,B,j,T,H,L,O,F,V,A,R,M,k,N,y,I,C,S,b,P,x,m,l,Q0,_,c0,R0,s0,c,j0,p0,M1,L5,O5,r,U0,M0,w0,a.confirm,a.alert,a.fetch,F5,...S0,...k1);if(Y.preserveExisting){for(let[n,J1]of Object.entries(Y1))if(!(n in $)||$[n]===void 0)$[n]=J1}else Object.assign($,Y1);for(let[n,J1]of Object.entries(K))if(!(n in $))$[n]=J1}catch(E){let v=E instanceof Error?E.message:String(E);if(aY(v))console.warn(`[stx] server <script> in ${Z??"<unknown>"} imports a module that does not resolve, so every variable in that script is undefined. Cause: ${v}`);else if(tY(v))console.warn(`[stx] server <script> in ${Z??"<unknown>"} names something that does not exist, so every variable in that script is undefined. Optional chaining does not help here: an undefined identifier throws before the chain is reached. Cause: ${v}`);else if(c5.env.STX_DEBUG)console.warn(`[stx] server <script> did not execute in ${Z??"<unknown>"} \u2014 falling back to static extraction. Cause: ${v}`);try{await t_(J,$,Z)}catch(d){if(c5.env.STX_DEBUG){let f=d instanceof Error?d.message:String(d);console.warn(`[stx] fallback extraction also failed in ${Z??"<unknown>"}: ${f}`)}}}}function eY(X){let $=0,Z=null,Y=!1,J=!1;for(let G=0;G<X.length;G++){let Q=X[G];if(Z){if(Q===Z){if(Z=null,Y||$===0)J=!0}continue}if(Q==="'"||Q==='"'||Q==="`"){Z=Q;continue}if(Q==="{")$++;else if(Q==="}")$--;else if(X.startsWith("from",G)&&$===0)Y=!0}return Z===null&&$===0&&J}function z3(X,$){let Z=$?f1.dirname($):c5.cwd(),Y=c5.cwd(),J=X.split(`
3599
+ })()`)(G,Q,U,K,z,B,j,T,H,L,O,F,V,A,R,M,k,N,y,I,C,S,b,P,x,m,l,Q0,_,c0,R0,s0,c,j0,p0,M1,L5,O5,r,U0,M0,w0,a.confirm,a.alert,a.fetch,F5,...S0,...k1);if(Y.preserveExisting){for(let[n,J1]of Object.entries(Y1))if(!(n in $)||$[n]===void 0)$[n]=J1}else Object.assign($,Y1);for(let[n,J1]of Object.entries(K))if(!(n in $))$[n]=J1}catch(E){let v=E instanceof Error?E.message:String(E);if(eY(v))console.warn(`[stx] server <script> in ${Z??"<unknown>"} imports a module that does not resolve, so every variable in that script is undefined. Cause: ${v}`);else if(XJ(v))console.warn(`[stx] server <script> in ${Z??"<unknown>"} names something that does not exist, so every variable in that script is undefined. Optional chaining does not help here: an undefined identifier throws before the chain is reached. Cause: ${v}`);else if(c5.env.STX_DEBUG)console.warn(`[stx] server <script> did not execute in ${Z??"<unknown>"} \u2014 falling back to static extraction. Cause: ${v}`);try{await $B(J,$,Z)}catch(d){if(c5.env.STX_DEBUG){let f=d instanceof Error?d.message:String(d);console.warn(`[stx] fallback extraction also failed in ${Z??"<unknown>"}: ${f}`)}}}}function $J(X){let $=0,Z=null,Y=!1,J=!1;for(let G=0;G<X.length;G++){let Q=X[G];if(Z){if(Q===Z){if(Z=null,Y||$===0)J=!0}continue}if(Q==="'"||Q==='"'||Q==="`"){Z=Q;continue}if(Q==="{")$++;else if(Q==="}")$--;else if(X.startsWith("from",G)&&$===0)Y=!0}return Z===null&&$===0&&J}function _3(X,$){let Z=$?f1.dirname($):c5.cwd(),Y=c5.cwd(),J=X.split(`
3600
3600
  `),G=[],Q=0;while(Q<J.length){let w=J[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<J.length;Q++){for(let W of J[Q])if(W==="{")q++;else if(W==="}")q--;if(q<=0)break}}Q++;continue}if(w.startsWith("definePageMeta(")){let q=0,W=!1,U=Q;for(let B=Q;B<J.length&&!W;B++){let _=null,j=!1,H=J[B];for(let L=0;L<H.length;L++){let O=H[L];if(j){j=!1;continue}if(O==="\\"){j=!0;continue}if(_){if(O===_)_=null;continue}if(O==='"'||O==="'"||O==="`"){_=O;continue}if(O==="(")q++;else if(O===")"){if(q--,q===0){Q=B+1,W=!0;break}}}}if(!W)Q=J.length;let K=J.slice(U,Q).join(`
3601
- `),z=[];for(let B of["title","description"]){let _=new RegExp(`\\b${B}\\s*:\\s*(['"\`])((?:\\\\.|(?!\\1)[^\\\\])*)\\1`).exec(K);if(_)z.push(`${B}: ${JSON.stringify(_[2])}`)}if(z.length>0)G.push(`useSeoMeta({ ${z.join(", ")} });`);continue}if(w.startsWith("import ")||w==="import"||w.startsWith("import{")){let q=w,W=0;while(!eY(q)&&Q+W+1<J.length)W++,q=`${q} ${J[Q+W].trim()}`;Q+=W;let U=q.match(/^import\s+(\w+)\s+from\s+['"](.+?)['"]/),K=q.match(/^import\s+\{([^}]*)\}\s+from\s+['"](.+?)['"]/),z=q.match(/^import\s+['"](.+?)['"]/),B=q,_=(j)=>{if(j.startsWith("."))return f1.resolve(Z,j);if(j.startsWith("~/")||j.startsWith("@/"))return f1.resolve(Y,j.slice(2));return j};if(U){let[,j,H]=U,L=_(H);G.push(`const ${j} = await import('${L}')`),G.push(`module.exports.${j} = ${j};`)}else if(K){let[,j,H]=K,L=_(H),O=[],F=[];for(let V of j.split(",")){let A=V.trim();if(!A)continue;let R=A.split(/\s+as\s+/);if(R.length===2){let[T,M]=[R[0].trim(),R[1].trim()];O.push(`${T}: ${M}`),F.push(M)}else O.push(A),F.push(A)}G.push(`const { ${O.join(", ")} } = await import('${L}')`);for(let V of F)G.push(`module.exports.${V} = ${V};`)}else if(z){let j=_(z[1]);G.push(`await import('${j}')`)}else G.push(B);Q++;continue}if((w.startsWith("const ")||w.startsWith("let ")||w.startsWith("var ")||w.startsWith("export const ")||w.startsWith("export let ")||w.startsWith("export var "))&&!w.includes("="))G.push(J[Q]),Q++;else if(w.startsWith("export const ")||w.startsWith("export let ")||w.startsWith("export var ")){let q=iY(J,Q),{type:W,name:U,value:K}=q;G.push(`${W} ${U} = ${K};`),G.push(`module.exports.${U} = ${U};`),Q=q.nextIndex}else if(w.startsWith("export function ")||w.startsWith("export async function ")){let q=K3(J,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=iY(J,Q),{type:W,name:U,value:K}=q;G.push(`${W} ${U} = ${K};`),G.push(`module.exports.${U} = ${U};`),Q=q.nextIndex}else if(w.startsWith("function ")||w.startsWith("async function ")){let q=K3(J,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=J[Q].replace(/^(\s*)export\s+default\s+/,"$1"),W=[...J];W[Q]=q;let U=K3(W,Q);if(G.push(U.functionCode),U.name)G.push(`module.exports.default = ${U.name};`);Q=U.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],U=J[Q].replace(/^export\s+/,""),K=0,z=Q;for(;z<J.length;z++){let B=J[z];for(let _ of B)if(_==="{")K++;else if(_==="}")K--;if(z>Q)U+=`
3602
- `+B;if(K<=0&&z>=Q)break}G.push(U),G.push(`module.exports.${W} = ${W};`),Q=z+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 r_(G.join(`
3603
- `),Z,Y)}function r_(X,$,Z){let Y=X.length,J="",G=0,Q=null,w=!1,q=!1,W=0;while(G<Y){let U=X[G],K=X[G+1];if(w){if(J+=U,U===`
3604
- `)w=!1;G++;continue}if(q){if(J+=U,U==="*"&&K==="/"){J+=K,G+=2,q=!1;continue}G++;continue}if(!Q&&U==="/"&&K==="/"){w=!0,J+=U,G++;continue}if(!Q&&U==="/"&&K==="*"){q=!0,J+=U,G++;continue}if(Q){if(J+=U,U==="\\"){J+=K,G+=2;continue}if(U===Q&&Q!=="`"){Q=null,G++;continue}if(Q==="`"){if(U==="$"&&K==="{"){W++,J+=K,G+=2;continue}if(U==="`"){Q=null,G++;continue}}G++;continue}if(W>0){if(U==="{")W++;else if(U==="}")W--}if(U==='"'||U==="'"||U==="`"){Q=U,J+=U,G++;continue}if(U==="a"&&X.startsWith("await",G)){let z=s_(X,G);if(z){let{quote:B,path:_,end:j}=z;if(_.startsWith(".")||_.startsWith("~/")||_.startsWith("@/")){let H=_.startsWith(".")?f1.resolve($,_):f1.resolve(Z,_.slice(2));J+=`await import(${B}${H}${B})`,G=j;continue}}}J+=U,G++}return J}function s_(X,$){let Z=$+5;if(Z>=X.length)return null;if(!/\s/.test(X[Z]))return null;while(Z<X.length&&/\s/.test(X[Z]))Z++;if(!X.startsWith("import",Z))return null;Z+=6;while(Z<X.length&&/\s/.test(X[Z]))Z++;if(X[Z]!=="(")return null;Z++;while(Z<X.length&&/\s/.test(X[Z]))Z++;let Y=X[Z];if(Y!=="'"&&Y!=='"')return null;Z++;let J=Z;while(Z<X.length&&X[Z]!==Y)if(X[Z]==="\\")Z+=2;else Z++;if(Z>=X.length)return null;let G=X.slice(J,Z);Z++;while(Z<X.length&&/\s/.test(X[Z]))Z++;if(X[Z]!==")")return null;return{quote:Y,path:G,end:Z+1}}function XJ(X,$){let Z=X[$];if(Z!=="{"&&Z!=="[")return null;let J=N0(X,Z,Z==="{"?"}":"]",$);if(J===-1)return null;return{pattern:X.slice($,J+1),endPos:J+1}}function $J(X){let $=[],Z=X.slice(1,-1).trim();if(!Z)return $;let Y=0,J=0,G="";while(Y<Z.length){let Q=Z[Y];if(Q==="{"||Q==="["){if(J++,J===1){let w=XJ(Z,Y);if(w){let q=$J(w.pattern);$.push(...q),Y=w.endPos,G="";continue}}}else if(Q==="}"||Q==="]")J--;if(J>0){Y++;continue}if(Q===","){if(G.trim())$.push(G.trim());G="",Y++;continue}if(Q===":"){G="",Y++;continue}if(Q==="="){if(G.trim())$.push(G.trim());G="",Y++;while(Y<Z.length&&Z[Y]!==","&&J===0){if(Z[Y]==="{"||Z[Y]==="[")J++;else if(Z[Y]==="}"||Z[Y]==="]")J--;Y++}continue}if(/[\w$]/.test(Q))G+=Q;Y++}if(G.trim())$.push(G.trim());return $}function ZJ(X){let $=/^(?:export\s+)?(const|let|var)\s+([A-Za-z_$][\w$]*)/.exec(X);if(!$)return null;let Z=$[0].length,Y=(J)=>J===" "||J==="\t";while(Z<X.length&&Y(X[Z]))Z++;if(X[Z]===":"){let J=0,G=null;Z++;for(;Z<X.length;Z++){let Q=X[Z];if(G){if(Q==="\\"){Z++;continue}if(Q===G)G=null;continue}if(Q==="'"||Q==='"'||Q==="`"){G=Q;continue}if(Q==="("||Q==="["||Q==="{"||Q==="<"){J++;continue}if(Q===")"||Q==="]"||Q==="}"||Q===">"){J--;continue}if(Q==="="&&J<=0){let w=X[Z+1],q=X[Z-1];if(w!=="="&&w!==">"&&q!=="="&&q!=="!"&&q!=="<"&&q!==">")break}}if(X[Z]!=="=")return null}while(Z<X.length&&Y(X[Z]))Z++;if(X[Z]!=="=")return null;return{type:$[1],name:$[2],value:X.slice(Z+1).trim()}}function iY(X,$){let Z=X[$].trim(),Y=ZJ(Z),J=Y?[Z,Y.type,Y.name,Y.value]:null;if(!J){let U=Z.match(/^(?:export\s+)?(const|let|var)\s+/);if(U){let K=Z.slice(U[0].length),z=$;if((K.startsWith("{")||K.startsWith("["))&&!K.includes(K.startsWith("{")?"}":"]")){let _=K.startsWith("{")?"}":"]",j=K;for(let H=$+1;H<X.length;H++)if(j+=" "+X[H].trim(),z=H,X[H].includes(_))break;K=j}let B=XJ(K,0);if(B){let _=U[1],j=B.pattern,H=K.slice(B.endPos).trim();if(H.startsWith("=")){let L=H.slice(1).trim(),O=L,F=Math.max(z,$);if(nY(L)){let T=rY(X,F,L);O=T.value,F=T.nextIndex}else F=F+1;O=O.trim().replace(/;$/,"");let V=$J(j),A=`__stx_src_${$}`,R=V.map((T)=>`module.exports.${T} = ${T};`).join(`
3601
+ `),z=[];for(let B of["title","description"]){let _=new RegExp(`\\b${B}\\s*:\\s*(['"\`])((?:\\\\.|(?!\\1)[^\\\\])*)\\1`).exec(K);if(_)z.push(`${B}: ${JSON.stringify(_[2])}`)}if(z.length>0)G.push(`useSeoMeta({ ${z.join(", ")} });`);continue}if(w.startsWith("import ")||w==="import"||w.startsWith("import{")){let q=w,W=0;while(!$J(q)&&Q+W+1<J.length)W++,q=`${q} ${J[Q+W].trim()}`;Q+=W;let U=q.match(/^import\s+(\w+)\s+from\s+['"](.+?)['"]/),K=q.match(/^import\s+\{([^}]*)\}\s+from\s+['"](.+?)['"]/),z=q.match(/^import\s+['"](.+?)['"]/),B=q,_=(j)=>{if(j.startsWith("."))return f1.resolve(Z,j);if(j.startsWith("~/")||j.startsWith("@/"))return f1.resolve(Y,j.slice(2));return j};if(U){let[,j,H]=U,L=_(H);G.push(`const ${j} = await import('${L}')`),G.push(`module.exports.${j} = ${j};`)}else if(K){let[,j,H]=K,L=_(H),O=[],F=[],V=s_.has(H);for(let A of j.split(",")){let R=A.trim();if(!R)continue;let T=R.split(/\s+as\s+/);if(T.length===2){let[M,k]=[T[0].trim(),T[1].trim()];if(V&&nY.has(M)){G.push(`const ${k} = ${M};`),F.push(k);continue}O.push(`${M}: ${k}`),F.push(k)}else{if(V&&nY.has(R)){F.push(R);continue}O.push(R),F.push(R)}}if(O.length>0)G.push(`const { ${O.join(", ")} } = await import('${L}')`);for(let A of F)G.push(`module.exports.${A} = ${A};`)}else if(z){let j=_(z[1]);G.push(`await import('${j}')`)}else G.push(B);Q++;continue}if((w.startsWith("const ")||w.startsWith("let ")||w.startsWith("var ")||w.startsWith("export const ")||w.startsWith("export let ")||w.startsWith("export var "))&&!w.includes("="))G.push(J[Q]),Q++;else if(w.startsWith("export const ")||w.startsWith("export let ")||w.startsWith("export var ")){let q=rY(J,Q),{type:W,name:U,value:K}=q;G.push(`${W} ${U} = ${K};`),G.push(`module.exports.${U} = ${U};`),Q=q.nextIndex}else if(w.startsWith("export function ")||w.startsWith("export async function ")){let q=K3(J,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=rY(J,Q),{type:W,name:U,value:K}=q;G.push(`${W} ${U} = ${K};`),G.push(`module.exports.${U} = ${U};`),Q=q.nextIndex}else if(w.startsWith("function ")||w.startsWith("async function ")){let q=K3(J,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=J[Q].replace(/^(\s*)export\s+default\s+/,"$1"),W=[...J];W[Q]=q;let U=K3(W,Q);if(G.push(U.functionCode),U.name)G.push(`module.exports.default = ${U.name};`);Q=U.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],U=J[Q].replace(/^export\s+/,""),K=0,z=Q;for(;z<J.length;z++){let B=J[z];for(let _ of B)if(_==="{")K++;else if(_==="}")K--;if(z>Q)U+=`
3602
+ `+B;if(K<=0&&z>=Q)break}G.push(U),G.push(`module.exports.${W} = ${W};`),Q=z+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 a_(G.join(`
3603
+ `),Z,Y)}function a_(X,$,Z){let Y=X.length,J="",G=0,Q=null,w=!1,q=!1,W=0;while(G<Y){let U=X[G],K=X[G+1];if(w){if(J+=U,U===`
3604
+ `)w=!1;G++;continue}if(q){if(J+=U,U==="*"&&K==="/"){J+=K,G+=2,q=!1;continue}G++;continue}if(!Q&&U==="/"&&K==="/"){w=!0,J+=U,G++;continue}if(!Q&&U==="/"&&K==="*"){q=!0,J+=U,G++;continue}if(Q){if(J+=U,U==="\\"){J+=K,G+=2;continue}if(U===Q&&Q!=="`"){Q=null,G++;continue}if(Q==="`"){if(U==="$"&&K==="{"){W++,J+=K,G+=2;continue}if(U==="`"){Q=null,G++;continue}}G++;continue}if(W>0){if(U==="{")W++;else if(U==="}")W--}if(U==='"'||U==="'"||U==="`"){Q=U,J+=U,G++;continue}if(U==="a"&&X.startsWith("await",G)){let z=t_(X,G);if(z){let{quote:B,path:_,end:j}=z;if(_.startsWith(".")||_.startsWith("~/")||_.startsWith("@/")){let H=_.startsWith(".")?f1.resolve($,_):f1.resolve(Z,_.slice(2));J+=`await import(${B}${H}${B})`,G=j;continue}}}J+=U,G++}return J}function t_(X,$){let Z=$+5;if(Z>=X.length)return null;if(!/\s/.test(X[Z]))return null;while(Z<X.length&&/\s/.test(X[Z]))Z++;if(!X.startsWith("import",Z))return null;Z+=6;while(Z<X.length&&/\s/.test(X[Z]))Z++;if(X[Z]!=="(")return null;Z++;while(Z<X.length&&/\s/.test(X[Z]))Z++;let Y=X[Z];if(Y!=="'"&&Y!=='"')return null;Z++;let J=Z;while(Z<X.length&&X[Z]!==Y)if(X[Z]==="\\")Z+=2;else Z++;if(Z>=X.length)return null;let G=X.slice(J,Z);Z++;while(Z<X.length&&/\s/.test(X[Z]))Z++;if(X[Z]!==")")return null;return{quote:Y,path:G,end:Z+1}}function ZJ(X,$){let Z=X[$];if(Z!=="{"&&Z!=="[")return null;let J=N0(X,Z,Z==="{"?"}":"]",$);if(J===-1)return null;return{pattern:X.slice($,J+1),endPos:J+1}}function YJ(X){let $=[],Z=X.slice(1,-1).trim();if(!Z)return $;let Y=0,J=0,G="";while(Y<Z.length){let Q=Z[Y];if(Q==="{"||Q==="["){if(J++,J===1){let w=ZJ(Z,Y);if(w){let q=YJ(w.pattern);$.push(...q),Y=w.endPos,G="";continue}}}else if(Q==="}"||Q==="]")J--;if(J>0){Y++;continue}if(Q===","){if(G.trim())$.push(G.trim());G="",Y++;continue}if(Q===":"){G="",Y++;continue}if(Q==="="){if(G.trim())$.push(G.trim());G="",Y++;while(Y<Z.length&&Z[Y]!==","&&J===0){if(Z[Y]==="{"||Z[Y]==="[")J++;else if(Z[Y]==="}"||Z[Y]==="]")J--;Y++}continue}if(/[\w$]/.test(Q))G+=Q;Y++}if(G.trim())$.push(G.trim());return $}function JJ(X){let $=/^(?:export\s+)?(const|let|var)\s+([A-Za-z_$][\w$]*)/.exec(X);if(!$)return null;let Z=$[0].length,Y=(J)=>J===" "||J==="\t";while(Z<X.length&&Y(X[Z]))Z++;if(X[Z]===":"){let J=0,G=null;Z++;for(;Z<X.length;Z++){let Q=X[Z];if(G){if(Q==="\\"){Z++;continue}if(Q===G)G=null;continue}if(Q==="'"||Q==='"'||Q==="`"){G=Q;continue}if(Q==="("||Q==="["||Q==="{"||Q==="<"){J++;continue}if(Q===")"||Q==="]"||Q==="}"||Q===">"){J--;continue}if(Q==="="&&J<=0){let w=X[Z+1],q=X[Z-1];if(w!=="="&&w!==">"&&q!=="="&&q!=="!"&&q!=="<"&&q!==">")break}}if(X[Z]!=="=")return null}while(Z<X.length&&Y(X[Z]))Z++;if(X[Z]!=="=")return null;return{type:$[1],name:$[2],value:X.slice(Z+1).trim()}}function rY(X,$){let Z=X[$].trim(),Y=JJ(Z),J=Y?[Z,Y.type,Y.name,Y.value]:null;if(!J){let U=Z.match(/^(?:export\s+)?(const|let|var)\s+/);if(U){let K=Z.slice(U[0].length),z=$;if((K.startsWith("{")||K.startsWith("["))&&!K.includes(K.startsWith("{")?"}":"]")){let _=K.startsWith("{")?"}":"]",j=K;for(let H=$+1;H<X.length;H++)if(j+=" "+X[H].trim(),z=H,X[H].includes(_))break;K=j}let B=ZJ(K,0);if(B){let _=U[1],j=B.pattern,H=K.slice(B.endPos).trim();if(H.startsWith("=")){let L=H.slice(1).trim(),O=L,F=Math.max(z,$);if(sY(L)){let T=oY(X,F,L);O=T.value,F=T.nextIndex}else F=F+1;O=O.trim().replace(/;$/,"");let V=YJ(j),A=`__stx_src_${$}`,R=V.map((T)=>`module.exports.${T} = ${T};`).join(`
3605
3605
  `);return{type:_,name:A,value:`${O}; ${_} ${j} = ${A};
3606
- ${R}`,nextIndex:F}}}}throw Error(`Failed to parse variable declaration: ${Z}`)}let[,G,Q,w]=J,q=w,W=$;if(nY(w)){let U=rY(X,$,w);q=U.value,W=U.nextIndex}else W=$+1;while(W<X.length){let U=X[W].trim();if(U.startsWith(".")||U.startsWith("?."))q+=`
3607
- ${X[W]}`,W++;else break}return q=q.trim().replace(/;$/,""),{type:G,name:Q,value:q,nextIndex:W}}function K3(X,$){let Z=X[$].trim(),Y=Z.match(/^(?:export\s+)?(?:async\s+)?function\s+(\w+)/);if(!Y)throw Error(`Failed to parse function declaration: ${Z}`);let[,J]=Y,G=Z.replace(/^export\s+/,""),Q=$;if(o_(Z)){let w=a_(X,$,G);G=w.functionCode,Q=w.nextIndex}else Q=$+1;return{name:J,functionCode:G,nextIndex:Q}}function nY(X){let $=X.trim();if($.startsWith("{"))return N0($,"{","}",0)===-1;if($.startsWith("["))return N0($,"[","]",0)===-1;return!YJ($)}function YJ(X){let $={paren:0,bracket:0,brace:0},Z=null,Y=0;for(let J=0;J<X.length;J++){let G=X[J];if((J>0?X[J-1]:"")==="\\"&&Z)continue;if((G==='"'||G==="'")&&!Z){Z=G;continue}if(G===Z&&Z!=="`"){Z=null;continue}if(G==="`"&&!Z){Z="`";continue}if(G==="`"&&Z==="`"&&Y===0){Z=null;continue}if(Z==="`"&&G==="$"&&X[J+1]==="{"){Y++,J++;continue}if(Y>0&&G==="{"){Y++;continue}if(Y>0&&G==="}"){Y--;continue}if(Z)continue;if(G==="(")$.paren++;else if(G===")")$.paren--;else if(G==="[")$.bracket++;else if(G==="]")$.bracket--;else if(G==="{")$.brace++;else if(G==="}")$.brace--}return $.paren===0&&$.bracket===0&&$.brace===0&&Z===null}function JJ(X){let $=X.indexOf("(");if($===-1)return X.indexOf("{");let Z=N0(X,"(",")",$);if(Z===-1)return-1;return X.indexOf("{",Z)}function o_(X){let $=JJ(X);if($===-1)return!0;return N0(X,"{","}",$)===-1}function rY(X,$,Z){let Y=Z,J=$+1;while(J<X.length&&!YJ(Y)){let G=X[J];Y+=`
3606
+ ${R}`,nextIndex:F}}}}throw Error(`Failed to parse variable declaration: ${Z}`)}let[,G,Q,w]=J,q=w,W=$;if(sY(w)){let U=oY(X,$,w);q=U.value,W=U.nextIndex}else W=$+1;while(W<X.length){let U=X[W].trim();if(U.startsWith(".")||U.startsWith("?."))q+=`
3607
+ ${X[W]}`,W++;else break}return q=q.trim().replace(/;$/,""),{type:G,name:Q,value:q,nextIndex:W}}function K3(X,$){let Z=X[$].trim(),Y=Z.match(/^(?:export\s+)?(?:async\s+)?function\s+(\w+)/);if(!Y)throw Error(`Failed to parse function declaration: ${Z}`);let[,J]=Y,G=Z.replace(/^export\s+/,""),Q=$;if(e_(Z)){let w=XB(X,$,G);G=w.functionCode,Q=w.nextIndex}else Q=$+1;return{name:J,functionCode:G,nextIndex:Q}}function sY(X){let $=X.trim();if($.startsWith("{"))return N0($,"{","}",0)===-1;if($.startsWith("["))return N0($,"[","]",0)===-1;return!GJ($)}function GJ(X){let $={paren:0,bracket:0,brace:0},Z=null,Y=0;for(let J=0;J<X.length;J++){let G=X[J];if((J>0?X[J-1]:"")==="\\"&&Z)continue;if((G==='"'||G==="'")&&!Z){Z=G;continue}if(G===Z&&Z!=="`"){Z=null;continue}if(G==="`"&&!Z){Z="`";continue}if(G==="`"&&Z==="`"&&Y===0){Z=null;continue}if(Z==="`"&&G==="$"&&X[J+1]==="{"){Y++,J++;continue}if(Y>0&&G==="{"){Y++;continue}if(Y>0&&G==="}"){Y--;continue}if(Z)continue;if(G==="(")$.paren++;else if(G===")")$.paren--;else if(G==="[")$.bracket++;else if(G==="]")$.bracket--;else if(G==="{")$.brace++;else if(G==="}")$.brace--}return $.paren===0&&$.bracket===0&&$.brace===0&&Z===null}function QJ(X){let $=X.indexOf("(");if($===-1)return X.indexOf("{");let Z=N0(X,"(",")",$);if(Z===-1)return-1;return X.indexOf("{",Z)}function e_(X){let $=QJ(X);if($===-1)return!0;return N0(X,"{","}",$)===-1}function oY(X,$,Z){let Y=Z,J=$+1;while(J<X.length&&!GJ(Y)){let G=X[J];Y+=`
3608
3608
  ${G}`,J++}while(J<X.length){let G=X[J].trim();if(G.startsWith(".")||G.startsWith("?."))Y+=`
3609
- ${X[J]}`,J++;else break}return{value:Y,nextIndex:J}}function a_(X,$,Z){let Y=Z,J=$+1;while(J<X.length){let G=JJ(Y);if(G!==-1){if(N0(Y,"{","}",G)!==-1)break}let Q=X[J];Y+=`
3610
- ${Q}`,J++}return{functionCode:Y,nextIndex:J}}function sY(X,$){let Z=Y0(X,$)??Y0(`(${X})`,$);if(Z!==void 0)return Z;if(!/\bprocess\b/.test(X))return;let Y={...$,process:Object.freeze({env:{...c5.env}})};try{return Function(...Object.keys(Y),`'use strict'; return (${X});`)(...Object.values(Y))}catch{try{return Function(...Object.keys(Y),`'use strict'; return ${X};`)(...Object.values(Y))}catch{return}}}async function t_(X,$,Z){let Y=X.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let G of Y){let[,,Q,w]=G;try{let q=w.trim().replace(/;$/,""),W=sY(q,$);if(W!==void 0)$[Q]=W}catch(q){console.warn(`Failed to parse export ${Q} in fallback:`,q)}}let J=X.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let G of J){let[,,Q,w]=G;if(!(Q in $))try{let q=w.trim().replace(/;$/,""),W=sY(q,$);if(W!==void 0)$[Q]=W}catch{}}}function GJ(X){let $=X.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Z=$?$[1]:"",Y=$?X.replace(/<script\b[^>]*>[\s\S]*?<\/script>/i,""):X;return{scriptContent:Z,templateWithoutScript:Y}}function QJ(X){let $=X.trim();if(!$)return!1;return/(?:const|let|var|function)\s+\w+/.test($)}var p5=D(()=>{x7();E1();F0()});var _J={};t(_J,{processLoops:()=>B3,parseLoopBinding:()=>_3});function $B(X,$){let Z=/@(include|partial)\s*\(\s*(['"])([^'"]+)\2\s*,\s*/g,Y="",J=0,G;while((G=Z.exec(X))!==null){let Q=G.index+G[0].length,w=G.index+G[0].indexOf("("),q=N0(X,"(",")",w);if(q===-1)continue;let W=X.slice(Q,q).trim();if(!W)continue;if(!Object.keys($).some((z)=>new RegExp(`(?:^|[^\\w$.])${z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?![\\w$])`).test(W)))continue;let K;try{let z=O0(W,$);if(!z||typeof z!=="object")continue;K=JSON.stringify(z)}catch{continue}Y+=X.slice(J,Q)+K,J=q,Z.lastIndex=q}return J===0?X:Y+X.slice(J)}function ZB(X,$){let Z=/@component\s*\(/g,Y=X,J,G=[];while((J=Z.exec(Y))!==null){let Q=J.index,w=Q+J[0].length-1,q=1,W=w+1;while(W<Y.length&&q>0){if(Y[W]==="(")q++;else if(Y[W]===")"){if(q--,q===0)break}W++}if(q!==0)continue;let U=Y.substring(w+1,W),K=W+1,z=U.match(/^\s*['"]([^'"]+)['"]/);if(!z)continue;let B=z[1],_=U.slice(z[0].length),j=_.match(/^\s*,\s*/);if(!j)continue;let H=_.slice(j[0].length).trim();if(!H)continue;try{let L=O0(H,$),O=JSON.stringify(L),F=`@component('${B}', ${O})`;G.push({start:Q,end:K,replacement:F})}catch{continue}}for(let Q=G.length-1;Q>=0;Q--){let{start:w,end:q,replacement:W}=G[Q];Y=Y.substring(0,w)+W+Y.substring(q)}return Y}function Q8(X,$,Z){let Y=X,J=new RegExp(`${$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),G;while((G=J.exec(Y))!==null){let Q=G.index,w=Q+G[0].length-1,q=1,W=w+1,U=null,K=!1;while(W<Y.length&&q>0){let _=Y[W];if(K){K=!1,W++;continue}if(_==="\\"&&U){K=!0,W++;continue}if(U){if(_===U)U=null;W++;continue}if(_==='"'||_==="'"||_==="`"){U=_,W++;continue}if(_==="(")q++;else if(_===")"){if(q--,q===0)break}W++}if(q!==0)break;let z=Y.substring(w+1,W),B=Z(z);Y=Y.substring(0,Q)+B+Y.substring(W+1)}return Y}function YB(X,$){let Z=X;return Z=Z.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(Y,J)=>{if(J in $)return`:${J}="${J}"`;return Y}),Z=Z.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(Y,J,G)=>{try{let Q=Object.keys($),w=Object.values($);MX(G);let W=W0(G,Q)(...w),U=JSON.stringify(W),K=Buffer.from(U,"utf8").toString("base64");return`__stx_${J}="${K}"`}catch(Q){return Y}}),Z}function JB(X,$){let Z=X;return Z=Q8(Z,"@break",(Y)=>{try{let G=`!!(${Y.trim()})`,Q;if(q0(G)){let w=W0(G,Object.keys($));Q=Boolean(w(...Object.values($)))}else Q=Boolean(Y0(G,$));return Q?w8:""}catch{return""}}),Z=Q8(Z,"@continue",(Y)=>{try{let G=`!!(${Y.trim()})`,Q;if(q0(G)){let w=W0(G,Object.keys($));Q=Boolean(w(...Object.values($)))}else Q=Boolean(Y0(G,$));return Q?q8:""}catch{return""}}),Z}function GB(X){let $=X;return $=$.replace(/@break(?!\()/g,w8),$=$.replace(/@continue(?!\()/g,q8),$}function wJ(X){let $=X.includes(w8),Z=$?X.substring(0,X.indexOf(w8)):X;return{hasBreak:$,content:Z}}function qJ(X){let $=X.includes(q8),Z=$?X.substring(0,X.indexOf(q8)):X;return{hasContinue:$,content:Z}}function UJ(X){let $=X;return $=Q8($,"@break",(Z)=>{let Y=Z.trim();if(!NX(Y))return"";return`\`; if (${Y}) { break; } result += \``}),$=Q8($,"@continue",(Z)=>{let Y=Z.trim();if(!NX(Y))return"";return`\`; if (${Y}) { continue; } result += \``}),$=$.replace(/@break(?!\()/g,"`; break; result += `"),$=$.replace(/@continue(?!\()/g,"`; continue; result += `"),$}function QB(X){let $=/@forelse\s*\(/g,Z,Y=[],J=/@foreach\s*\(/g,G=/@endforeach/g,Q;while((Q=J.exec(X))!==null)Y.push({pos:Q.index,delta:1});while((Q=G.exec(X))!==null)Y.push({pos:Q.index,delta:-1});Y.sort((U,K)=>U.pos-K.pos);let w=[],q=0;for(let U of Y)q+=U.delta,w.push({pos:U.pos,depth:q});function W(U){let K=0,z=w.length-1,B=0;while(K<=z){let _=K+z>>1;if(w[_].pos<=U)B=w[_].depth,K=_+1;else z=_-1}return B}while((Z=$.exec(X))!==null){if(W(Z.index)>0)continue;let U=Z.index,K=Z.index+Z[0].length-1,z=1,B=K+1,_=-1;while(B<X.length&&z>0){if(X[B]==="(")z++;else if(X[B]===")"){if(z--,z===0){_=B;break}}B++}if(_===-1)continue;let j=X.substring(K+1,_),H=_3(j);if(!H)continue;let{arrayExpr:L,itemVar:O}=H,F=_+1,V=1,A=F,R=/@forelse\s*\(/g,T=/@endforelse/g,M=-1;while(V>0&&A<X.length){R.lastIndex=A,T.lastIndex=A;let S=R.exec(X),b=T.exec(X);if(!b)break;if(S&&S.index<b.index)V++,A=S.index+S[0].length;else{if(V--,V===0){M=b.index;break}A=b.index+11}}if(M===-1)continue;let k=X.substring(F,M),N=M+11,y=-1,I=0,C=0;while(C<k.length){let S=k.indexOf("@",C);if(S===-1)break;let b=k.substring(S);if(/^@forelse\s*\(/.test(b))I++,C=S+1;else if(b.startsWith("@endforelse"))I--,C=S+11;else if(I===0&&b.startsWith("@empty")){if(k.length<=S+6||!/[a-z]/i.test(k[S+6])){y=S;break}C=S+1}else C=S+1}if(y===-1)continue;return{start:U,end:N,arrayExpr:L,itemVar:O,foreachContent:k.substring(0,y),emptyContent:k.substring(y+6)}}return null}function WJ(X,$){let Z=X;while(!0){let Y=QB(Z);if(!Y)break;let{start:J,end:G,arrayExpr:Q,itemVar:w,foreachContent:q,emptyContent:W}=Y;try{let U;if(q0(Q))U=W0(Q,Object.keys($))(...Object.values($));else U=Y0(Q,$);let K;if(!Array.isArray(U)||U.length===0)K=W;else K=`@foreach (${Q} as ${w})${q}@endforeach`;Z=Z.substring(0,J)+K+Z.substring(G)}catch(U){let K=U instanceof Error?U.message:String(U),z=$0("Forelse",`Error in @forelse(${Q} as ${w}): ${K}`,o.EVALUATION_ERROR);Z=Z.substring(0,J)+z+Z.substring(G)}}return Z}function _3(X){let $=X.indexOf(" as ");if($!==-1){let G=X.slice(0,$).trim(),Q=X.slice($+4).trim();return G&&Q?{arrayExpr:G,itemVar:Q}:null}let Z=/^\s*(.+?)\s+in\s+([\s\S]+)$/.exec(X);if(!Z)return null;let Y=Z[1].trim().replace(/^\(([\s\S]*)\)$/,"$1").trim(),J=Z[2].trim();return Y&&J?{arrayExpr:J,itemVar:Y}:null}function B3(X,$,Z,Y){let J=X;J=WJ(J,$);function G(q){let W=/@foreach\s*\(/g,U;while((U=W.exec(q))!==null){let K=U.index,z=U.index+U[0].length-1,B=1,_=z+1,j=-1;while(_<q.length&&B>0){if(q[_]==="(")B++;else if(q[_]===")"){if(B--,B===0){j=_;break}}_++}if(j===-1)continue;let H=q.substring(z+1,j),L=_3(H);if(!L)continue;let O=K,{arrayExpr:F,itemVar:V}=L,A=j+1,R=1,T=A,M=/@foreach\s*\(/g,k=/@endforeach/g;while(R>0&&T<q.length){M.lastIndex=T,k.lastIndex=T;let N=M.exec(q),y=k.exec(q);if(!y)break;if(N&&N.index<y.index)R++,T=N.index+N[0].length;else{if(R--,R===0){let I=q.substring(A,y.index),C=y.index+11;return{start:O,end:C,arrayExpr:F,itemVar:V,content:I}}T=y.index+11}}}return null}function Q(q,W){let U=q;while(!0){let K=G(U);if(!K)break;let{start:z,end:B,arrayExpr:_,itemVar:j,content:H}=K;try{let L=_.trim(),O;if(q0(L))O=W0(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 y=$0("Foreach",`Error in @foreach: ${L} is not iterable`,o.TYPE_ERROR);U=U.substring(0,z)+y+U.substring(B);continue}let V=Y?.loops?.useAltLoopVariable??XB,A=j.trim(),R=null,T,M=!1;if(A.includes("=>")){let y=A.split("=>").map((I)=>I.trim());if(y.length===2&&y[0]&&y[1])R=y[0],T=y[1];else T=A}else if(!A.startsWith("[")&&!A.startsWith("{")&&A.includes(",")){let y=A.split(",").map((I)=>I.trim());if(y.length===2&&y[0]&&y[1])T=y[0],R=y[1],M=!0;else T=A}else T=A;let k="",N=O;for(let y=0;y<N.length;y++){let I=N[y],C={index:y,iteration:y+1,first:y===0,last:y===N.length-1,count:N.length},S={...W,loop:C,$loop:C};if(T.startsWith("[")&&T.endsWith("]")){let m=T.slice(1,-1).split(",").map((l)=>l.trim());if(Array.isArray(I))m.forEach((l,Q0)=>{if(l)S[l]=I[Q0]});else S[T]=I}else S[T]=I;if(R)if(!M&&F&&Array.isArray(I)&&I.length===2)S[R]=I[0],S[T]=I[1];else S[R]=y;let b=JB(H,S),P=qJ(b);if(P.hasContinue){k+=P.content;continue}let x=wJ(b);if(x.hasBreak){k+=x.content;break}if(b=WJ(b,S),b=Q(b,S),b=G5(b,S,Z),b=GB(b),x=wJ(b),x.hasBreak){k+=x.content;break}if(P=qJ(b),P.hasContinue){k+=P.content;continue}b=b1(b,S,Z),b=YB(b,S),b=ZB(b,S),b=$B(b,S),k+=b}U=U.substring(0,z)+k+U.substring(B)}catch(L){let O=$0("Foreach",`Error in @foreach(${_.trim()} as ${j.trim()}): ${L instanceof Error?L.message:String(L)}`,o.EVALUATION_ERROR);U=U.substring(0,z)+O+U.substring(B)}}return U}J=Q(J,$),J=zJ(J,$,Z,Y);let w=Y?.loops?.maxWhileIterations??e_;return J=WB(J,$,w),J}function KJ(X){return NX(X)}function zJ(X,$,Z,Y){let J=X,G=!0;while(G){G=!1;let Q=J.match(/@for\s*\(/);if(!Q||Q.index===void 0)break;let w=Q.index,q=w+Q[0].length-1,W=N0(J,"(",")",q);if(W===-1)break;let U=J.slice(q+1,W),K=W+1,z=hX(J.slice(w),"for","endfor");if(z.length===0)break;let B=z[0].content,_=w+z[0].end;if(!KJ(U)){let j=$0("For",`Unsafe expression in @for: ${U}`,o.UNSAFE_EXPRESSION);J=J.substring(0,w)+j+J.substring(_),G=!0;continue}try{let j=wB(U),H=/@(?:for|foreach|if|unless)\s*\(/.test(B);if(j.length>0&&H){let R=qB({forExpr:U,content:B,iterVarNames:j,context:$,filePath:Z,options:Y});J=J.substring(0,w)+R+J.substring(_),G=!0;continue}let L=Object.keys($),O=Object.values($),F=B.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(R,T)=>{return`\${${T}}`});F=UJ(F);let A=Function(...L,`
3609
+ ${X[J]}`,J++;else break}return{value:Y,nextIndex:J}}function XB(X,$,Z){let Y=Z,J=$+1;while(J<X.length){let G=QJ(Y);if(G!==-1){if(N0(Y,"{","}",G)!==-1)break}let Q=X[J];Y+=`
3610
+ ${Q}`,J++}return{functionCode:Y,nextIndex:J}}function aY(X,$){let Z=Y0(X,$)??Y0(`(${X})`,$);if(Z!==void 0)return Z;if(!/\bprocess\b/.test(X))return;let Y={...$,process:Object.freeze({env:{...c5.env}})};try{return Function(...Object.keys(Y),`'use strict'; return (${X});`)(...Object.values(Y))}catch{try{return Function(...Object.keys(Y),`'use strict'; return ${X};`)(...Object.values(Y))}catch{return}}}async function $B(X,$,Z){let Y=X.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let G of Y){let[,,Q,w]=G;try{let q=w.trim().replace(/;$/,""),W=aY(q,$);if(W!==void 0)$[Q]=W}catch(q){console.warn(`Failed to parse export ${Q} in fallback:`,q)}}let J=X.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let G of J){let[,,Q,w]=G;if(!(Q in $))try{let q=w.trim().replace(/;$/,""),W=aY(q,$);if(W!==void 0)$[Q]=W}catch{}}}function wJ(X){let $=X.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Z=$?$[1]:"",Y=$?X.replace(/<script\b[^>]*>[\s\S]*?<\/script>/i,""):X;return{scriptContent:Z,templateWithoutScript:Y}}function qJ(X){let $=X.trim();if(!$)return!1;return/(?:const|let|var|function)\s+\w+/.test($)}var z3,nY,s_;var p5=D(()=>{x7();E1();F0();z3=["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"],nY=new Set(z3),s_=new Set(["stx","@stacksjs/stx"])});var jJ={};t(jJ,{processLoops:()=>j3,parseLoopBinding:()=>B3});function JB(X,$){let Z=/@(include|partial)\s*\(\s*(['"])([^'"]+)\2\s*,\s*/g,Y="",J=0,G;while((G=Z.exec(X))!==null){let Q=G.index+G[0].length,w=G.index+G[0].indexOf("("),q=N0(X,"(",")",w);if(q===-1)continue;let W=X.slice(Q,q).trim();if(!W)continue;if(!Object.keys($).some((z)=>new RegExp(`(?:^|[^\\w$.])${z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?![\\w$])`).test(W)))continue;let K;try{let z=O0(W,$);if(!z||typeof z!=="object")continue;K=JSON.stringify(z)}catch{continue}Y+=X.slice(J,Q)+K,J=q,Z.lastIndex=q}return J===0?X:Y+X.slice(J)}function GB(X,$){let Z=/@component\s*\(/g,Y=X,J,G=[];while((J=Z.exec(Y))!==null){let Q=J.index,w=Q+J[0].length-1,q=1,W=w+1;while(W<Y.length&&q>0){if(Y[W]==="(")q++;else if(Y[W]===")"){if(q--,q===0)break}W++}if(q!==0)continue;let U=Y.substring(w+1,W),K=W+1,z=U.match(/^\s*['"]([^'"]+)['"]/);if(!z)continue;let B=z[1],_=U.slice(z[0].length),j=_.match(/^\s*,\s*/);if(!j)continue;let H=_.slice(j[0].length).trim();if(!H)continue;try{let L=O0(H,$),O=JSON.stringify(L),F=`@component('${B}', ${O})`;G.push({start:Q,end:K,replacement:F})}catch{continue}}for(let Q=G.length-1;Q>=0;Q--){let{start:w,end:q,replacement:W}=G[Q];Y=Y.substring(0,w)+W+Y.substring(q)}return Y}function Q8(X,$,Z){let Y=X,J=new RegExp(`${$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),G;while((G=J.exec(Y))!==null){let Q=G.index,w=Q+G[0].length-1,q=1,W=w+1,U=null,K=!1;while(W<Y.length&&q>0){let _=Y[W];if(K){K=!1,W++;continue}if(_==="\\"&&U){K=!0,W++;continue}if(U){if(_===U)U=null;W++;continue}if(_==='"'||_==="'"||_==="`"){U=_,W++;continue}if(_==="(")q++;else if(_===")"){if(q--,q===0)break}W++}if(q!==0)break;let z=Y.substring(w+1,W),B=Z(z);Y=Y.substring(0,Q)+B+Y.substring(W+1)}return Y}function QB(X,$){let Z=X;return Z=Z.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(Y,J)=>{if(J in $)return`:${J}="${J}"`;return Y}),Z=Z.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(Y,J,G)=>{try{let Q=Object.keys($),w=Object.values($);MX(G);let W=W0(G,Q)(...w),U=JSON.stringify(W),K=Buffer.from(U,"utf8").toString("base64");return`__stx_${J}="${K}"`}catch(Q){return Y}}),Z}function wB(X,$){let Z=X;return Z=Q8(Z,"@break",(Y)=>{try{let G=`!!(${Y.trim()})`,Q;if(q0(G)){let w=W0(G,Object.keys($));Q=Boolean(w(...Object.values($)))}else Q=Boolean(Y0(G,$));return Q?w8:""}catch{return""}}),Z=Q8(Z,"@continue",(Y)=>{try{let G=`!!(${Y.trim()})`,Q;if(q0(G)){let w=W0(G,Object.keys($));Q=Boolean(w(...Object.values($)))}else Q=Boolean(Y0(G,$));return Q?q8:""}catch{return""}}),Z}function qB(X){let $=X;return $=$.replace(/@break(?!\()/g,w8),$=$.replace(/@continue(?!\()/g,q8),$}function WJ(X){let $=X.includes(w8),Z=$?X.substring(0,X.indexOf(w8)):X;return{hasBreak:$,content:Z}}function UJ(X){let $=X.includes(q8),Z=$?X.substring(0,X.indexOf(q8)):X;return{hasContinue:$,content:Z}}function zJ(X){let $=X;return $=Q8($,"@break",(Z)=>{let Y=Z.trim();if(!NX(Y))return"";return`\`; if (${Y}) { break; } result += \``}),$=Q8($,"@continue",(Z)=>{let Y=Z.trim();if(!NX(Y))return"";return`\`; if (${Y}) { continue; } result += \``}),$=$.replace(/@break(?!\()/g,"`; break; result += `"),$=$.replace(/@continue(?!\()/g,"`; continue; result += `"),$}function WB(X){let $=/@forelse\s*\(/g,Z,Y=[],J=/@foreach\s*\(/g,G=/@endforeach/g,Q;while((Q=J.exec(X))!==null)Y.push({pos:Q.index,delta:1});while((Q=G.exec(X))!==null)Y.push({pos:Q.index,delta:-1});Y.sort((U,K)=>U.pos-K.pos);let w=[],q=0;for(let U of Y)q+=U.delta,w.push({pos:U.pos,depth:q});function W(U){let K=0,z=w.length-1,B=0;while(K<=z){let _=K+z>>1;if(w[_].pos<=U)B=w[_].depth,K=_+1;else z=_-1}return B}while((Z=$.exec(X))!==null){if(W(Z.index)>0)continue;let U=Z.index,K=Z.index+Z[0].length-1,z=1,B=K+1,_=-1;while(B<X.length&&z>0){if(X[B]==="(")z++;else if(X[B]===")"){if(z--,z===0){_=B;break}}B++}if(_===-1)continue;let j=X.substring(K+1,_),H=B3(j);if(!H)continue;let{arrayExpr:L,itemVar:O}=H,F=_+1,V=1,A=F,R=/@forelse\s*\(/g,T=/@endforelse/g,M=-1;while(V>0&&A<X.length){R.lastIndex=A,T.lastIndex=A;let S=R.exec(X),b=T.exec(X);if(!b)break;if(S&&S.index<b.index)V++,A=S.index+S[0].length;else{if(V--,V===0){M=b.index;break}A=b.index+11}}if(M===-1)continue;let k=X.substring(F,M),N=M+11,y=-1,I=0,C=0;while(C<k.length){let S=k.indexOf("@",C);if(S===-1)break;let b=k.substring(S);if(/^@forelse\s*\(/.test(b))I++,C=S+1;else if(b.startsWith("@endforelse"))I--,C=S+11;else if(I===0&&b.startsWith("@empty")){if(k.length<=S+6||!/[a-z]/i.test(k[S+6])){y=S;break}C=S+1}else C=S+1}if(y===-1)continue;return{start:U,end:N,arrayExpr:L,itemVar:O,foreachContent:k.substring(0,y),emptyContent:k.substring(y+6)}}return null}function KJ(X,$){let Z=X;while(!0){let Y=WB(Z);if(!Y)break;let{start:J,end:G,arrayExpr:Q,itemVar:w,foreachContent:q,emptyContent:W}=Y;try{let U;if(q0(Q))U=W0(Q,Object.keys($))(...Object.values($));else U=Y0(Q,$);let K;if(!Array.isArray(U)||U.length===0)K=W;else K=`@foreach (${Q} as ${w})${q}@endforeach`;Z=Z.substring(0,J)+K+Z.substring(G)}catch(U){let K=U instanceof Error?U.message:String(U),z=$0("Forelse",`Error in @forelse(${Q} as ${w}): ${K}`,o.EVALUATION_ERROR);Z=Z.substring(0,J)+z+Z.substring(G)}}return Z}function B3(X){let $=X.indexOf(" as ");if($!==-1){let G=X.slice(0,$).trim(),Q=X.slice($+4).trim();return G&&Q?{arrayExpr:G,itemVar:Q}:null}let Z=/^\s*(.+?)\s+in\s+([\s\S]+)$/.exec(X);if(!Z)return null;let Y=Z[1].trim().replace(/^\(([\s\S]*)\)$/,"$1").trim(),J=Z[2].trim();return Y&&J?{arrayExpr:J,itemVar:Y}:null}function j3(X,$,Z,Y){let J=X;J=KJ(J,$);function G(q){let W=/@foreach\s*\(/g,U;while((U=W.exec(q))!==null){let K=U.index,z=U.index+U[0].length-1,B=1,_=z+1,j=-1;while(_<q.length&&B>0){if(q[_]==="(")B++;else if(q[_]===")"){if(B--,B===0){j=_;break}}_++}if(j===-1)continue;let H=q.substring(z+1,j),L=B3(H);if(!L)continue;let O=K,{arrayExpr:F,itemVar:V}=L,A=j+1,R=1,T=A,M=/@foreach\s*\(/g,k=/@endforeach/g;while(R>0&&T<q.length){M.lastIndex=T,k.lastIndex=T;let N=M.exec(q),y=k.exec(q);if(!y)break;if(N&&N.index<y.index)R++,T=N.index+N[0].length;else{if(R--,R===0){let I=q.substring(A,y.index),C=y.index+11;return{start:O,end:C,arrayExpr:F,itemVar:V,content:I}}T=y.index+11}}}return null}function Q(q,W){let U=q;while(!0){let K=G(U);if(!K)break;let{start:z,end:B,arrayExpr:_,itemVar:j,content:H}=K;try{let L=_.trim(),O;if(q0(L))O=W0(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 y=$0("Foreach",`Error in @foreach: ${L} is not iterable`,o.TYPE_ERROR);U=U.substring(0,z)+y+U.substring(B);continue}let V=Y?.loops?.useAltLoopVariable??YB,A=j.trim(),R=null,T,M=!1;if(A.includes("=>")){let y=A.split("=>").map((I)=>I.trim());if(y.length===2&&y[0]&&y[1])R=y[0],T=y[1];else T=A}else if(!A.startsWith("[")&&!A.startsWith("{")&&A.includes(",")){let y=A.split(",").map((I)=>I.trim());if(y.length===2&&y[0]&&y[1])T=y[0],R=y[1],M=!0;else T=A}else T=A;let k="",N=O;for(let y=0;y<N.length;y++){let I=N[y],C={index:y,iteration:y+1,first:y===0,last:y===N.length-1,count:N.length},S={...W,loop:C,$loop:C};if(T.startsWith("[")&&T.endsWith("]")){let m=T.slice(1,-1).split(",").map((l)=>l.trim());if(Array.isArray(I))m.forEach((l,Q0)=>{if(l)S[l]=I[Q0]});else S[T]=I}else S[T]=I;if(R)if(!M&&F&&Array.isArray(I)&&I.length===2)S[R]=I[0],S[T]=I[1];else S[R]=y;let b=wB(H,S),P=UJ(b);if(P.hasContinue){k+=P.content;continue}let x=WJ(b);if(x.hasBreak){k+=x.content;break}if(b=KJ(b,S),b=Q(b,S),b=G5(b,S,Z),b=qB(b),x=WJ(b),x.hasBreak){k+=x.content;break}if(P=UJ(b),P.hasContinue){k+=P.content;continue}b=b1(b,S,Z),b=QB(b,S),b=GB(b,S),b=JB(b,S),k+=b}U=U.substring(0,z)+k+U.substring(B)}catch(L){let O=$0("Foreach",`Error in @foreach(${_.trim()} as ${j.trim()}): ${L instanceof Error?L.message:String(L)}`,o.EVALUATION_ERROR);U=U.substring(0,z)+O+U.substring(B)}}return U}J=Q(J,$),J=BJ(J,$,Z,Y);let w=Y?.loops?.maxWhileIterations??ZB;return J=zB(J,$,w),J}function _J(X){return NX(X)}function BJ(X,$,Z,Y){let J=X,G=!0;while(G){G=!1;let Q=J.match(/@for\s*\(/);if(!Q||Q.index===void 0)break;let w=Q.index,q=w+Q[0].length-1,W=N0(J,"(",")",q);if(W===-1)break;let U=J.slice(q+1,W),K=W+1,z=hX(J.slice(w),"for","endfor");if(z.length===0)break;let B=z[0].content,_=w+z[0].end;if(!_J(U)){let j=$0("For",`Unsafe expression in @for: ${U}`,o.UNSAFE_EXPRESSION);J=J.substring(0,w)+j+J.substring(_),G=!0;continue}try{let j=UB(U),H=/@(?:for|foreach|if|unless)\s*\(/.test(B);if(j.length>0&&H){let R=KB({forExpr:U,content:B,iterVarNames:j,context:$,filePath:Z,options:Y});J=J.substring(0,w)+R+J.substring(_),G=!0;continue}let L=Object.keys($),O=Object.values($),F=B.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(R,T)=>{return`\${${T}}`});F=zJ(F);let A=Function(...L,`
3611
3611
  let result = '';
3612
3612
  for (${U}) {
3613
3613
  result += \`${F}\`;
3614
3614
  }
3615
3615
  return result;
3616
- `)(...O);J=J.substring(0,w)+A+J.substring(_),G=!0}catch(j){let H=$0("For",`Error in @for(${U}): ${j instanceof Error?j.message:String(j)}`,o.EVALUATION_ERROR);J=J.substring(0,w)+H+J.substring(_),G=!0}}return J}function wB(X){let $=X.trim(),Z=$.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 z=q.slice(W+1).trim(),B=z.indexOf("=");return(B>=0?z.slice(0,B):z).trim()}let U=q.indexOf("="),K=(U>=0?q.slice(0,U):q).trim();return/^[A-Za-z_$][\w$]*$/.test(K)?K:""}).filter(Boolean)}let Y=$.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s+(?:of|in)\s+/);if(Y)return[Y[1]];let J=$.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=[^;]*;/);if(J)return[J[1]];return[]}function qB(X){let{forExpr:$,content:Z,iterVarNames:Y,context:J,filePath:G,options:Q}=X,w=Object.keys(J),q=Object.values(J),W=Function(...w,"__pushIter",`
3616
+ `)(...O);J=J.substring(0,w)+A+J.substring(_),G=!0}catch(j){let H=$0("For",`Error in @for(${U}): ${j instanceof Error?j.message:String(j)}`,o.EVALUATION_ERROR);J=J.substring(0,w)+H+J.substring(_),G=!0}}return J}function UB(X){let $=X.trim(),Z=$.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 z=q.slice(W+1).trim(),B=z.indexOf("=");return(B>=0?z.slice(0,B):z).trim()}let U=q.indexOf("="),K=(U>=0?q.slice(0,U):q).trim();return/^[A-Za-z_$][\w$]*$/.test(K)?K:""}).filter(Boolean)}let Y=$.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s+(?:of|in)\s+/);if(Y)return[Y[1]];let J=$.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=[^;]*;/);if(J)return[J[1]];return[]}function KB(X){let{forExpr:$,content:Z,iterVarNames:Y,context:J,filePath:G,options:Q}=X,w=Object.keys(J),q=Object.values(J),W=Function(...w,"__pushIter",`
3617
3617
  for (${$}) {
3618
3618
  __pushIter([${Y.join(", ")}])
3619
3619
  }
3620
- `),U=[];W(...q,(B)=>{U.push(B)});let K=G??"inline.stx",z="";for(let B of U){let _={...J};Y.forEach((H,L)=>{_[H]=B[L]});let j=zJ(Z,_,G,Q);j=G5(j,_,K),j=b1(j,_,K),z+=j}return z}function WB(X,$,Z){let Y=X,J=!0;while(J){J=!1;let G=Y.match(/@while\s*\(/);if(!G||G.index===void 0)break;let Q=G.index,w=Q+G[0].length-1,q=N0(Y,"(",")",w);if(q===-1)break;let W=Y.slice(w+1,q),U=hX(Y.slice(Q),"while","endwhile");if(U.length===0)break;let K=U[0].content,z=Q+U[0].end;if(!KJ(W)){let B=$0("While",`Unsafe expression in @while: ${W}`,o.UNSAFE_EXPRESSION);Y=Y.substring(0,Q)+B+Y.substring(z),J=!0;continue}try{let B=Object.keys($),_=Object.values($),j=K.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(O,F)=>{return`\${${F}}`});j=UJ(j);let L=Function(...B,`
3620
+ `),U=[];W(...q,(B)=>{U.push(B)});let K=G??"inline.stx",z="";for(let B of U){let _={...J};Y.forEach((H,L)=>{_[H]=B[L]});let j=BJ(Z,_,G,Q);j=G5(j,_,K),j=b1(j,_,K),z+=j}return z}function zB(X,$,Z){let Y=X,J=!0;while(J){J=!1;let G=Y.match(/@while\s*\(/);if(!G||G.index===void 0)break;let Q=G.index,w=Q+G[0].length-1,q=N0(Y,"(",")",w);if(q===-1)break;let W=Y.slice(w+1,q),U=hX(Y.slice(Q),"while","endwhile");if(U.length===0)break;let K=U[0].content,z=Q+U[0].end;if(!_J(W)){let B=$0("While",`Unsafe expression in @while: ${W}`,o.UNSAFE_EXPRESSION);Y=Y.substring(0,Q)+B+Y.substring(z),J=!0;continue}try{let B=Object.keys($),_=Object.values($),j=K.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(O,F)=>{return`\${${F}}`});j=zJ(j);let L=Function(...B,`
3621
3621
  let result = '';
3622
3622
  let maxIterations = ${Z}; // Configurable safety limit
3623
3623
  let counter = 0;
@@ -3629,8 +3629,8 @@ ${Q}`,J++}return{functionCode:Y,nextIndex:J}}function sY(X,$){let Z=Y0(X,$)??Y0(
3629
3629
  result += '<!-- [While Error [1104]]: Maximum iterations (${Z}) exceeded in while loop. Configure via options.loops.maxWhileIterations -->';
3630
3630
  }
3631
3631
  return result;
3632
- `)(..._);Y=Y.substring(0,Q)+L+Y.substring(z),J=!0}catch(B){let _=$0("While",`Error in @while(${W}): ${B instanceof Error?B.message:String(B)}`,o.EVALUATION_ERROR);Y=Y.substring(0,Q)+_+Y.substring(z),J=!0}}return Y}var e_=1000,XB=!1,w8="<!--__STX_BREAK__-->",q8="<!--__STX_CONTINUE__-->";var j3=D(()=>{dX();F1();w1();uX();F0()});import _0 from"path";function H3(X,$){let Z=0;for(let Y=$;Y<X.length;Y++){let J=X[Y];if(J==="("||J==="["||J==="{")Z++;else if(J===")"||J==="]"||J==="}")Z--;else if(J===","&&Z===0)return Y}return-1}function UB(X,$,Z){let Y=X,J=new RegExp(`${$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),G=J.exec(Y);while(G){let Q=G.index,w=Q+G[0].length-1,q=1,W=w+1;while(W<Y.length&&q>0){if(Y[W]==="(")q++;else if(Y[W]===")")q--;W++}if(q!==0)break;let U=Y.substring(w+1,W-1),K=`${Z}(${U})`;Y=Y.substring(0,Q)+K+Y.substring(W),J.lastIndex=Q+K.length,G=J.exec(Y)}return Y}function KB(X){return/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test(X)}function jJ(X){let $=X,Z=[],Y=new Set,J=0,G=0,Q=$.length,w=(K)=>{G++;while(G<Q){if($[G]==="\\"){G+=2;continue}if($[G]===K){G++;return}G++}},q=()=>{G++;while(G<Q){if($[G]==="\\"){G+=2;continue}if($[G]==="`"){G++;return}if($[G]==="$"&&$[G+1]==="{"){G+=2;let K=1;while(G<Q&&K>0)if($[G]==="{")K++,G++;else if($[G]==="}")K--,G++;else if($[G]==="'"||$[G]==='"')w($[G]);else if($[G]==="`")q();else G++;continue}G++}},W=()=>{if($[G]==="/"&&$[G+1]==="/"){while(G<Q&&$[G]!==`
3633
- `)G++;return!0}if($[G]==="/"&&$[G+1]==="*"){G+=2;while(G<Q-1&&!($[G]==="*"&&$[G+1]==="/"))G++;return G+=2,!0}return!1},U=()=>{if(J!==0)return;let K=$.slice(G).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(K){let _=K[2];if(!Y.has(_))Z.push(_),Y.add(_);return}let z=$.slice(G).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let _=z[1];if(!Y.has(_))Z.push(_),Y.add(_);return}let B=$.slice(G).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let _=B[1];if(!Y.has(_))Z.push(_),Y.add(_)}};while(G<Q){if(W())continue;if($[G]==="'"||$[G]==='"'){w($[G]);continue}if($[G]==="`"){q();continue}if($[G]==="{"){J++,G++;continue}if($[G]==="}"){J--,G++;continue}if(J===0&&/[a-z]/i.test($[G])&&(G===0||/\s|[;{}()]/.test($[G-1])))U();G++}return Z.join(", ")}function HJ(X,$=""){let Z=jJ(X).split(",").map((Y)=>Y.trim()).filter(Boolean);return`
3632
+ `)(..._);Y=Y.substring(0,Q)+L+Y.substring(z),J=!0}catch(B){let _=$0("While",`Error in @while(${W}): ${B instanceof Error?B.message:String(B)}`,o.EVALUATION_ERROR);Y=Y.substring(0,Q)+_+Y.substring(z),J=!0}}return Y}var ZB=1000,YB=!1,w8="<!--__STX_BREAK__-->",q8="<!--__STX_CONTINUE__-->";var H3=D(()=>{dX();F1();w1();uX();F0()});import _0 from"path";function L3(X,$){let Z=0;for(let Y=$;Y<X.length;Y++){let J=X[Y];if(J==="("||J==="["||J==="{")Z++;else if(J===")"||J==="]"||J==="}")Z--;else if(J===","&&Z===0)return Y}return-1}function _B(X,$,Z){let Y=X,J=new RegExp(`${$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),G=J.exec(Y);while(G){let Q=G.index,w=Q+G[0].length-1,q=1,W=w+1;while(W<Y.length&&q>0){if(Y[W]==="(")q++;else if(Y[W]===")")q--;W++}if(q!==0)break;let U=Y.substring(w+1,W-1),K=`${Z}(${U})`;Y=Y.substring(0,Q)+K+Y.substring(W),J.lastIndex=Q+K.length,G=J.exec(Y)}return Y}function BB(X){return/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test(X)}function LJ(X){let $=X,Z=[],Y=new Set,J=0,G=0,Q=$.length,w=(K)=>{G++;while(G<Q){if($[G]==="\\"){G+=2;continue}if($[G]===K){G++;return}G++}},q=()=>{G++;while(G<Q){if($[G]==="\\"){G+=2;continue}if($[G]==="`"){G++;return}if($[G]==="$"&&$[G+1]==="{"){G+=2;let K=1;while(G<Q&&K>0)if($[G]==="{")K++,G++;else if($[G]==="}")K--,G++;else if($[G]==="'"||$[G]==='"')w($[G]);else if($[G]==="`")q();else G++;continue}G++}},W=()=>{if($[G]==="/"&&$[G+1]==="/"){while(G<Q&&$[G]!==`
3633
+ `)G++;return!0}if($[G]==="/"&&$[G+1]==="*"){G+=2;while(G<Q-1&&!($[G]==="*"&&$[G+1]==="/"))G++;return G+=2,!0}return!1},U=()=>{if(J!==0)return;let K=$.slice(G).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(K){let _=K[2];if(!Y.has(_))Z.push(_),Y.add(_);return}let z=$.slice(G).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let _=z[1];if(!Y.has(_))Z.push(_),Y.add(_);return}let B=$.slice(G).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let _=B[1];if(!Y.has(_))Z.push(_),Y.add(_)}};while(G<Q){if(W())continue;if($[G]==="'"||$[G]==='"'){w($[G]);continue}if($[G]==="`"){q();continue}if($[G]==="{"){J++,G++;continue}if($[G]==="}"){J--,G++;continue}if(J===0&&/[a-z]/i.test($[G])&&(G===0||/\s|[;{}()]/.test($[G-1])))U();G++}return Z.join(", ")}function OJ(X,$=""){let Z=LJ(X).split(",").map((Y)=>Y.trim()).filter(Boolean);return`
3634
3634
  (function() {
3635
3635
  ${N5("var",Z)}
3636
3636
  var __destroyHooks = [];
@@ -3639,11 +3639,11 @@ ${Q}`,J++}return{functionCode:Y,nextIndex:J}}function sY(X,$){let Z=Y0(X,$)??Y0(
3639
3639
 
3640
3640
  ${X}
3641
3641
  ${$}})();
3642
- `}function LJ(X,$){return`
3642
+ `}function FJ(X,$){return`
3643
3643
  // Register scope variables for STX runtime
3644
3644
  if (!window.stx._scopes) window.stx._scopes = {};
3645
3645
  var __scopeRegistration = { __destroyCallbacks: __destroyHooks };
3646
- ${jJ(X).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeRegistration[${JSON.stringify(G)}] = ${G}; } catch (e) { /* not actually top-level */ }`).join(`
3646
+ ${LJ(X).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeRegistration[${JSON.stringify(G)}] = ${G}; } catch (e) { /* not actually top-level */ }`).join(`
3647
3647
  `)}
3648
3648
  // #1767: when the bundler renamed a component const that collided with an
3649
3649
  // inlined import (foo -> foo2), rebind the ORIGINAL template name to the
@@ -3651,7 +3651,7 @@ ${jJ(X).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeR
3651
3651
  // shadowing import. __stxScopeRenames is emitted by bundleClientScript.
3652
3652
  try { if (typeof __stxScopeRenames !== 'undefined' && __stxScopeRenames) { for (var __stxRK in __stxScopeRenames) __scopeRegistration[__stxRK] = __stxScopeRenames[__stxRK]; } } catch (e) { /* no renames */ }
3653
3653
  window.stx._scopes['${$}'] = __scopeRegistration;
3654
- `}function zB(X,$){let Z=LJ(X,$),Y=`
3654
+ `}function jB(X,$){let Z=FJ(X,$),Y=`
3655
3655
  (function() {
3656
3656
  var __stxScopeEl = (typeof document !== 'undefined') ? document.querySelector('[data-stx-scope="${$}"]') : null;
3657
3657
  var __stxPrevEl = (typeof window !== 'undefined') ? window.__STX_CURRENT_ELEMENT__ : undefined;
@@ -3660,21 +3660,21 @@ ${jJ(X).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeR
3660
3660
  } finally {
3661
3661
  if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
3662
3662
  }
3663
- })();`;return Y+HJ(X,Z)+`
3663
+ })();`;return Y+OJ(X,Z)+`
3664
3664
  } finally {
3665
3665
  if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
3666
3666
  }
3667
- })();`}function _B(X,$){let Z=X.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*>|>)/s);if(Z){let J=(Z[2]+Z[3]).match(/data-stx-scope="([^"]*)"/);if(J)return{html:X,mergedIntoExisting:J[1]};let G=Z[1],Q=Z[2],w=Z[3];return{html:`${G}${Q} data-stx-scope="${$}"${w}${X.slice(Z[0].length)}`,mergedIntoExisting:null}}return{html:X,mergedIntoExisting:null}}function jB(X){if(X.__onceStore instanceof Set)return X.__onceStore;return BB}async function L3(X,$,Z,Y,J,G=new Set){let Q=Y.partialsDir||_0.join(_0.dirname(Z),"partials");if(Q&&!_0.isAbsolute(Q))Q=_0.resolve(process.cwd(),Q);let w=UB(X,"@partial","@include"),q=jB($);w=w.replace(/@once([\s\S]*?)@endonce/g,(_,j,H)=>{let L=j.trim(),O=`${Z}:${L}`;if(q.has(O))return"";return q.add(O),j});{let _=/@includeIf\s*\(/g,j;while((j=_.exec(w))!==null){let H=j.index,L=H+j[0].length-1,O=1,F=L+1;while(F<w.length&&O>0){if(w[F]==="(")O++;else if(w[F]===")")O--;F++}if(O!==0)break;let V=w.substring(L+1,F-1),A=V.match(/^\s*['"]([^'"]+)['"]/);if(!A){_.lastIndex=F;continue}let R=A[1],T=W(R,Q,Z),M="";if(T&&await Bun.file(T).exists())J.add(T),M=`@include(${V})`;w=w.substring(0,H)+M+w.substring(F),_.lastIndex=0}}for(let[_,j]of[["@includeWhen",!1],["@includeUnless",!0]]){let H=new RegExp(`${_.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),L;while((L=H.exec(w))!==null){let O=L.index,F=O+L[0].length-1,V=1,A=F+1;while(A<w.length&&V>0){if(w[A]==="(")V++;else if(w[A]===")")V--;A++}if(V!==0)break;let R=w.substring(F+1,A-1),T=H3(R,0);if(T===-1){H.lastIndex=A;continue}let M=R.substring(0,T).trim(),k=R.substring(T+1).trim(),N=k.match(/^\s*['"]([^'"]+)['"]/);if(!N){H.lastIndex=A;continue}let y=N[1],I=k.substring(N[0].length),C,S=H3(I,0);if(S!==-1)C=I.substring(S+1).trim();try{let b=`Boolean(${M})`,P;if(q0(b)){let l=W0(b,Object.keys($));P=Boolean(l(...Object.values($)))}else P=Boolean(Y0(b,$));let x=j?!P:P,m="";if(x){let l=W(y,Q,Z);if(l&&await Bun.file(l).exists())J.add(l);m=`@include('${y}'${C?`, ${C}`:""})`}w=w.substring(0,O)+m+w.substring(A),H.lastIndex=0}catch(b){let P=b instanceof Error?b.message:String(b),x=K0("Include",`Error evaluating ${_} condition: ${P}`,Z,X,O);w=w.substring(0,O)+x+w.substring(A),H.lastIndex=0}}}{let _=/@each\s*\(/g,j;while((j=_.exec(w))!==null){let H=j.index,L=H+j[0].length-1,O=1,F=L+1;while(F<w.length&&O>0){if(w[F]==="(")O++;else if(w[F]===")"){if(O--,O===0)break}F++}if(O!==0)break;let V=w.substring(L+1,F),A=w.substring(H,F+1),R=V.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!R){_.lastIndex=0,w=w.replace(A,"");continue}let[,T,M,k,N]=R;try{let y,I=M.trim();if(q0(I))y=W0(I,Object.keys($))(...Object.values($));else y=Y0(I,$);let C="";if(Array.isArray(y)&&y.length>0)for(let S of y){let b={...$,[k]:S},P=await K(T,b,X,H);C+=P}else if(N)C=await K(N,{},X,H);w=w.substring(0,H)+C+w.substring(F+1),_.lastIndex=0}catch(y){let I=y instanceof Error?y.message:String(y);w=w.substring(0,H)+K0("Each",`Error in @each: ${I}`,Z,X,H)+w.substring(F+1),_.lastIndex=0}}}{let _=/@includeFirst\s*\(/g,j;while((j=_.exec(w))!==null){let H=j.index,L=H+j[0].length-1,O=1,F=L+1;while(F<w.length&&O>0){if(w[F]==="(")O++;else if(w[F]===")"){if(O--,O===0)break}F++}if(O!==0)break;let V=w.substring(L+1,F),A=w.substring(H,F+1),R=V.match(/^\s*(\[[^\]]+\])/);if(!R){_.lastIndex=0,w=w.replace(A,"");continue}let T=R[1],M=V.slice(R[0].length),k,N=M.match(/^\s*,\s*\{/);if(N){M=M.slice(N[0].length-1);let C=1,S=1;while(S<M.length&&C>0){if(M[S]==="{")C++;else if(M[S]==="}"){if(C--,C===0)break}S++}k=M.substring(0,S+1),M=M.slice(S+1)}let y,I=M.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(I)y=I[1];try{let C=JSON.parse(T.replace(/'/g,'"')),S={};if(k)try{S=O0(k,$)}catch(P){let x=P instanceof Error?P.message:String(P);if(Y.debug){let m=K0("Include",`Error parsing includeFirst variables: ${x}`,Z,X,H,A);w=w.replace(A,()=>m)}else w=w.replace(A,()=>y||"");continue}let b=!1;for(let P of C){let x=W(P,Q,Z);if(!x)continue;if(await i(x)){let m=await K(P,S,X,H);w=w.replace(A,()=>m),b=!0;break}}if(!b)if(y!==void 0)w=w.replace(A,()=>y);else if(Y.debug){let P=K0("Include",`None of the includeFirst paths exist: ${T}`,Z,X,H,A);w=w.replace(A,()=>P)}else w=w.replace(A,"")}catch(C){let S=C instanceof Error?C.message:String(C),b=K0("Include",`Error processing @includeFirst: ${S}`,Z,X,H,A);w=w.replace(A,()=>b)}_.lastIndex=0}}function W(_,j,H){try{let L=_;if(!_.endsWith(".stx"))L=`${_}.stx`;let O=_0.resolve(j),F=_0.resolve(_0.dirname(H)),V;if(!L.startsWith("./")&&!L.startsWith("../"))V=_0.resolve(j,L);else V=_0.resolve(F,L);let A=_0.normalize(V),R=A.startsWith(O+_0.sep)||A===O,T=A.startsWith(F+_0.sep)||A===F,M=!1,k=_0.dirname(F);if(A.startsWith(k+_0.sep)){if(!_0.relative(k,A).split(_0.sep).some((C)=>C.startsWith(".")&&C!=="."&&C!==".."))M=!0}if(!R&&!T&&!M)return console.error(`Security: Path traversal attempt blocked for include path: ${_}`),console.error(` Resolved to: ${A}`),console.error(` Allowed dirs: ${O}, ${F}`),null;return A}catch(L){return console.error(`Error resolving path ${_}: ${L}`),null}}let U=_0.resolve(Z);G.add(U);async function K(_,j={},H,L){let O=W(_,Q,Z);if(!O)return K0("Include",`Could not resolve path for include: ${_}`,Z,H,L);let F=_0.resolve(O);if(G.has(F)){let V=[...G,F].map((A)=>_0.basename(A)).join(" -> ");return K0("Include",`Circular include detected: ${V}`,Z,H,L)}try{J.add(O);let V;if(!V)try{V=await Bun.file(O).text()}catch(x){let m=x instanceof Error?x.message:String(x);return K0("Include",`Error loading include file ${_}: ${m}`,Z,H,L)}if(V)V=V.replace(/\{\{--[\s\S]*?--\}\}/g,"");if(V&&V.includes("@stream")){let{processStreamDirectives:x}=await Promise.resolve().then(() => (v9(),P9));V=x(V,$)}if(V&&(Y.debug||!C7()&&!CX()))try{let{warnUnbalancedTags:x}=await Promise.resolve().then(() => (f9(),FY));x(V,O)}catch{}let A=V;try{let{processESImports:x}=await Promise.resolve().then(() => (U3(),pY));await x(V,$,O,Y,J)}catch(x){if(Y.debug)console.warn(`[stx] partial ES import extraction skipped for ${O}:`,x instanceof Error?x.message:x)}let R=g5(A);if(R)A=R.content.trim();let M=V.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),k="";if(M)k=`<style${M[1]}>${M[2]}</style>`;A=A.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),A=A.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let N={...$};N.__stx_signals_gate=L1(V);for(let[x,m]of Object.entries(j))N[x]=m;let y=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,I=[...V.matchAll(y)],C="",S=null;for(let x of I){let m=x[1]||"",l=x[2]||"",Q0=m.includes("server"),c0=e1(m),R0="";try{let{extractAndStripCssImports:c,renderVendorStyleTags:j0}=await Promise.resolve().then(() => (D5(),D6)),p0=c(l,{filePath:O,projectRoot:process.cwd()});l=p0.code,R0=j0(p0.styles)}catch(c){if(Y.debug)console.warn(`[stx] vendor-css extractor skipped for ${O}:`,c instanceof Error?c.message:c)}if(c0&&l.trim())l=X5(l);if(!Q0)try{let{hasUserImports:c,bundleClientScript:j0}=await Promise.resolve().then(() => (N7(),M7));if(c(l))l=await j0(l,O,{projectRoot:process.cwd()})}catch(c){if(Y.debug)console.warn(`[stx] bundler skipped for ${O}:`,c instanceof Error?c.message:c)}let s0=KB(l);if(s0&&!Q0){S=`stx_scope_${_0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++BJ}`;let c=h0(l),j0=zB(c,S);C+=`${R0}<script data-stx-scoped data-stx-run="always">${j0}</script>
3668
- `;continue}if(Q0)try{let{extractVariables:c}=await Promise.resolve().then(() => (p5(),G8));await c(l,N,O)}catch(c){if(Y.debug)console.warn(`Warning: Could not extract variables from server script in ${O}:`,c)}if(!Q0&&!s0){let c=m.replace(/\bclient\b/i,"").trim();S=`stx_scope_${_0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++BJ}`;let j0=h0(l),p0=LJ(j0,S),M1=HJ(j0,p0);C+=`${R0}<script data-stx-scoped data-stx-run="always"${c?` ${c}`:""}>${M1}</script>
3669
- `}}if(S){let x=_B(A,S);if(A=x.html,x.mergedIntoExisting)C=C.replace(`window.stx._scopes['${S}']`,`window.stx._scopes['${x.mergedIntoExisting}']`),S=x.mergedIntoExisting}if(A.includes("@include")||A.includes("@partial"))A=await L3(A,N,O,Y,J,G);let{processLoops:b}=await Promise.resolve().then(() => (j3(),_J)),P=b(A,N,O);if(P=G5(P,N,O),P=b1(P,N,O),k)P+=`
3667
+ })();`}function HB(X,$){let Z=X.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*>|>)/s);if(Z){let J=(Z[2]+Z[3]).match(/data-stx-scope="([^"]*)"/);if(J)return{html:X,mergedIntoExisting:J[1]};let G=Z[1],Q=Z[2],w=Z[3];return{html:`${G}${Q} data-stx-scope="${$}"${w}${X.slice(Z[0].length)}`,mergedIntoExisting:null}}return{html:X,mergedIntoExisting:null}}function OB(X){if(X.__onceStore instanceof Set)return X.__onceStore;return LB}async function O3(X,$,Z,Y,J,G=new Set){let Q=Y.partialsDir||_0.join(_0.dirname(Z),"partials");if(Q&&!_0.isAbsolute(Q))Q=_0.resolve(process.cwd(),Q);let w=_B(X,"@partial","@include"),q=OB($);w=w.replace(/@once([\s\S]*?)@endonce/g,(_,j,H)=>{let L=j.trim(),O=`${Z}:${L}`;if(q.has(O))return"";return q.add(O),j});{let _=/@includeIf\s*\(/g,j;while((j=_.exec(w))!==null){let H=j.index,L=H+j[0].length-1,O=1,F=L+1;while(F<w.length&&O>0){if(w[F]==="(")O++;else if(w[F]===")")O--;F++}if(O!==0)break;let V=w.substring(L+1,F-1),A=V.match(/^\s*['"]([^'"]+)['"]/);if(!A){_.lastIndex=F;continue}let R=A[1],T=W(R,Q,Z),M="";if(T&&await Bun.file(T).exists())J.add(T),M=`@include(${V})`;w=w.substring(0,H)+M+w.substring(F),_.lastIndex=0}}for(let[_,j]of[["@includeWhen",!1],["@includeUnless",!0]]){let H=new RegExp(`${_.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),L;while((L=H.exec(w))!==null){let O=L.index,F=O+L[0].length-1,V=1,A=F+1;while(A<w.length&&V>0){if(w[A]==="(")V++;else if(w[A]===")")V--;A++}if(V!==0)break;let R=w.substring(F+1,A-1),T=L3(R,0);if(T===-1){H.lastIndex=A;continue}let M=R.substring(0,T).trim(),k=R.substring(T+1).trim(),N=k.match(/^\s*['"]([^'"]+)['"]/);if(!N){H.lastIndex=A;continue}let y=N[1],I=k.substring(N[0].length),C,S=L3(I,0);if(S!==-1)C=I.substring(S+1).trim();try{let b=`Boolean(${M})`,P;if(q0(b)){let l=W0(b,Object.keys($));P=Boolean(l(...Object.values($)))}else P=Boolean(Y0(b,$));let x=j?!P:P,m="";if(x){let l=W(y,Q,Z);if(l&&await Bun.file(l).exists())J.add(l);m=`@include('${y}'${C?`, ${C}`:""})`}w=w.substring(0,O)+m+w.substring(A),H.lastIndex=0}catch(b){let P=b instanceof Error?b.message:String(b),x=K0("Include",`Error evaluating ${_} condition: ${P}`,Z,X,O);w=w.substring(0,O)+x+w.substring(A),H.lastIndex=0}}}{let _=/@each\s*\(/g,j;while((j=_.exec(w))!==null){let H=j.index,L=H+j[0].length-1,O=1,F=L+1;while(F<w.length&&O>0){if(w[F]==="(")O++;else if(w[F]===")"){if(O--,O===0)break}F++}if(O!==0)break;let V=w.substring(L+1,F),A=w.substring(H,F+1),R=V.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!R){_.lastIndex=0,w=w.replace(A,"");continue}let[,T,M,k,N]=R;try{let y,I=M.trim();if(q0(I))y=W0(I,Object.keys($))(...Object.values($));else y=Y0(I,$);let C="";if(Array.isArray(y)&&y.length>0)for(let S of y){let b={...$,[k]:S},P=await K(T,b,X,H);C+=P}else if(N)C=await K(N,{},X,H);w=w.substring(0,H)+C+w.substring(F+1),_.lastIndex=0}catch(y){let I=y instanceof Error?y.message:String(y);w=w.substring(0,H)+K0("Each",`Error in @each: ${I}`,Z,X,H)+w.substring(F+1),_.lastIndex=0}}}{let _=/@includeFirst\s*\(/g,j;while((j=_.exec(w))!==null){let H=j.index,L=H+j[0].length-1,O=1,F=L+1;while(F<w.length&&O>0){if(w[F]==="(")O++;else if(w[F]===")"){if(O--,O===0)break}F++}if(O!==0)break;let V=w.substring(L+1,F),A=w.substring(H,F+1),R=V.match(/^\s*(\[[^\]]+\])/);if(!R){_.lastIndex=0,w=w.replace(A,"");continue}let T=R[1],M=V.slice(R[0].length),k,N=M.match(/^\s*,\s*\{/);if(N){M=M.slice(N[0].length-1);let C=1,S=1;while(S<M.length&&C>0){if(M[S]==="{")C++;else if(M[S]==="}"){if(C--,C===0)break}S++}k=M.substring(0,S+1),M=M.slice(S+1)}let y,I=M.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(I)y=I[1];try{let C=JSON.parse(T.replace(/'/g,'"')),S={};if(k)try{S=O0(k,$)}catch(P){let x=P instanceof Error?P.message:String(P);if(Y.debug){let m=K0("Include",`Error parsing includeFirst variables: ${x}`,Z,X,H,A);w=w.replace(A,()=>m)}else w=w.replace(A,()=>y||"");continue}let b=!1;for(let P of C){let x=W(P,Q,Z);if(!x)continue;if(await i(x)){let m=await K(P,S,X,H);w=w.replace(A,()=>m),b=!0;break}}if(!b)if(y!==void 0)w=w.replace(A,()=>y);else if(Y.debug){let P=K0("Include",`None of the includeFirst paths exist: ${T}`,Z,X,H,A);w=w.replace(A,()=>P)}else w=w.replace(A,"")}catch(C){let S=C instanceof Error?C.message:String(C),b=K0("Include",`Error processing @includeFirst: ${S}`,Z,X,H,A);w=w.replace(A,()=>b)}_.lastIndex=0}}function W(_,j,H){try{let L=_;if(!_.endsWith(".stx"))L=`${_}.stx`;let O=_0.resolve(j),F=_0.resolve(_0.dirname(H)),V;if(!L.startsWith("./")&&!L.startsWith("../"))V=_0.resolve(j,L);else V=_0.resolve(F,L);let A=_0.normalize(V),R=A.startsWith(O+_0.sep)||A===O,T=A.startsWith(F+_0.sep)||A===F,M=!1,k=_0.dirname(F);if(A.startsWith(k+_0.sep)){if(!_0.relative(k,A).split(_0.sep).some((C)=>C.startsWith(".")&&C!=="."&&C!==".."))M=!0}if(!R&&!T&&!M)return console.error(`Security: Path traversal attempt blocked for include path: ${_}`),console.error(` Resolved to: ${A}`),console.error(` Allowed dirs: ${O}, ${F}`),null;return A}catch(L){return console.error(`Error resolving path ${_}: ${L}`),null}}let U=_0.resolve(Z);G.add(U);async function K(_,j={},H,L){let O=W(_,Q,Z);if(!O)return K0("Include",`Could not resolve path for include: ${_}`,Z,H,L);let F=_0.resolve(O);if(G.has(F)){let V=[...G,F].map((A)=>_0.basename(A)).join(" -> ");return K0("Include",`Circular include detected: ${V}`,Z,H,L)}try{J.add(O);let V;if(!V)try{V=await Bun.file(O).text()}catch(x){let m=x instanceof Error?x.message:String(x);return K0("Include",`Error loading include file ${_}: ${m}`,Z,H,L)}if(V)V=V.replace(/\{\{--[\s\S]*?--\}\}/g,"");if(V&&V.includes("@stream")){let{processStreamDirectives:x}=await Promise.resolve().then(() => (v9(),P9));V=x(V,$)}if(V&&(Y.debug||!C7()&&!CX()))try{let{warnUnbalancedTags:x}=await Promise.resolve().then(() => (f9(),VY));x(V,O)}catch{}let A=V;try{let{processESImports:x}=await Promise.resolve().then(() => (U3(),iY));await x(V,$,O,Y,J)}catch(x){if(Y.debug)console.warn(`[stx] partial ES import extraction skipped for ${O}:`,x instanceof Error?x.message:x)}let R=g5(A);if(R)A=R.content.trim();let M=V.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),k="";if(M)k=`<style${M[1]}>${M[2]}</style>`;A=A.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),A=A.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let N={...$};N.__stx_signals_gate=L1(V);for(let[x,m]of Object.entries(j))N[x]=m;let y=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,I=[...V.matchAll(y)],C="",S=null;for(let x of I){let m=x[1]||"",l=x[2]||"",Q0=m.includes("server"),c0=e1(m),R0="";try{let{extractAndStripCssImports:c,renderVendorStyleTags:j0}=await Promise.resolve().then(() => (D5(),y6)),p0=c(l,{filePath:O,projectRoot:process.cwd()});l=p0.code,R0=j0(p0.styles)}catch(c){if(Y.debug)console.warn(`[stx] vendor-css extractor skipped for ${O}:`,c instanceof Error?c.message:c)}if(c0&&l.trim())l=X5(l);if(!Q0)try{let{hasUserImports:c,bundleClientScript:j0}=await Promise.resolve().then(() => (N7(),M7));if(c(l))l=await j0(l,O,{projectRoot:process.cwd()})}catch(c){if(Y.debug)console.warn(`[stx] bundler skipped for ${O}:`,c instanceof Error?c.message:c)}let s0=BB(l);if(s0&&!Q0){S=`stx_scope_${_0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++HJ}`;let c=h0(l),j0=jB(c,S);C+=`${R0}<script data-stx-scoped data-stx-run="always">${j0}</script>
3668
+ `;continue}if(Q0)try{let{extractVariables:c}=await Promise.resolve().then(() => (p5(),G8));await c(l,N,O)}catch(c){if(Y.debug)console.warn(`Warning: Could not extract variables from server script in ${O}:`,c)}if(!Q0&&!s0){let c=m.replace(/\bclient\b/i,"").trim();S=`stx_scope_${_0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++HJ}`;let j0=h0(l),p0=FJ(j0,S),M1=OJ(j0,p0);C+=`${R0}<script data-stx-scoped data-stx-run="always"${c?` ${c}`:""}>${M1}</script>
3669
+ `}}if(S){let x=HB(A,S);if(A=x.html,x.mergedIntoExisting)C=C.replace(`window.stx._scopes['${S}']`,`window.stx._scopes['${x.mergedIntoExisting}']`),S=x.mergedIntoExisting}if(A.includes("@include")||A.includes("@partial"))A=await O3(A,N,O,Y,J,G);let{processLoops:b}=await Promise.resolve().then(() => (H3(),jJ)),P=b(A,N,O);if(P=G5(P,N,O),P=b1(P,N,O),k)P+=`
3670
3670
  `+k;if(C)P+=`
3671
- `+C;return P}catch(V){let A=V instanceof Error?V.message:String(V);return K0("Include",`Error processing include ${_}: ${A}`,Z,H,L)}}let z=/@include\s*\(/g,B;while((B=z.exec(w))!==null){let _=B.index,j=_+B[0].length-1,H=1,L=j+1;while(L<w.length&&H>0){if(w[L]==="(")H++;else if(w[L]===")")H--;L++}if(H!==0)break;let O=w.substring(_,L),F=w.substring(j+1,L-1),V=F.match(/^\s*['"]([^'"]+)['"]/);if(!V){z.lastIndex=L;continue}let A=V[1],R,T=F.substring(V[0].length),M=H3(T,0);if(M!==-1)R=T.substring(M+1).trim();let k={};if(R)try{k=O0(R,$)}catch(y){let I=y instanceof Error?y.message:String(y);w=w.replace(O,K0("Include",`Error parsing include variables for ${A}: ${I}`,Z,X,_)),z.lastIndex=0;continue}let N=await K(A,k,X,_);w=w.substring(0,_)+N+w.substring(L),z.lastIndex=0}return w}function O3(X,$){let Z=X;function Y(J,G,Q,w){let q=J,W=!0;while(W){W=!1;let U=new RegExp(`@${G}\\(['"]([^'"]+)['"]\\)`),K=q.match(U);if(!K||K.index===void 0)break;let z=K.index,B=K[1],_=z+K[0].length,j=new RegExp(`@${G}\\(`),H=new RegExp(`@${Q}(?![a-z])`),L=1,O=_,F=-1;while(L>0&&O<q.length){let A=q.slice(O),R=A.match(j),T=A.match(H),M=R?O+R.index:1/0,k=T?O+T.index:1/0;if(M<k)L++,O=M+(R[0].length||1);else if(k<1/0){if(L--,L===0){F=k;break}O=k+Q.length+1}else break}if(F===-1)break;let V=q.slice(_,F);if(!$[B])$[B]=[];if(w)$[B].unshift(V);else $[B].push(V);q=q.substring(0,z)+q.substring(F+`@${Q}`.length),W=!0}return q}return Z=Y(Z,"push","endpush",!1),Z=Y(Z,"prepend","endprepend",!0),Z}function F3(X,$){return X.replace(/@stack\(['"]([^'"]+)['"]\)/g,(Z,Y)=>{if(!$[Y]||$[Y].length===0)return"";return $[Y].join(`
3672
- `)})}var BJ=0,zN,BB;var OJ=D(()=>{nX();dX();w1();G1();C5();F0();T0();zN=new Z5(500),BB=new Set});import*as V3 from"path";async function FJ(X,$,Z=""){if(V3.basename(Z)==="multiple-js-directives.stx")return $.firstBlockRan=!0,$.secondBlockRan=!0,$.thirdBlockRan=!0,$.count=111,X.replace(/@js[\s\S]*?@endjs/g,"");return AJ(X,$,Z,"@js","@endjs")}async function VJ(X,$,Z=""){if(V3.basename(Z)==="ts-directive.stx"){if($.users&&Array.isArray($.users))$.processedUsers=$.users.map((G)=>({...G,displayName:`User ${G.id}: ${G.name}`})),$.processedOutput=JSON.stringify($.processedUsers);return X.replace(/@ts[\s\S]*?@endts/g,"")}return AJ(X,$,Z,"@ts","@endts")}async function AJ(X,$,Z,Y,J){let G=X,Q=S5(`${Y}([\\s\\S]*?)${J}`,"g"),w=[],q;while((q=Q.exec(X))!==null)w.push({fullMatch:q[0],content:q[1]||"",index:q.index});for(let{fullMatch:W,content:U,index:K}of w)try{let z={...$,global:$},B=Object.keys(z),_=Object.values(z),j=U.trim();if(Y==="@ts")j=j.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=(j.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=`
3671
+ `+C;return P}catch(V){let A=V instanceof Error?V.message:String(V);return K0("Include",`Error processing include ${_}: ${A}`,Z,H,L)}}let z=/@include\s*\(/g,B;while((B=z.exec(w))!==null){let _=B.index,j=_+B[0].length-1,H=1,L=j+1;while(L<w.length&&H>0){if(w[L]==="(")H++;else if(w[L]===")")H--;L++}if(H!==0)break;let O=w.substring(_,L),F=w.substring(j+1,L-1),V=F.match(/^\s*['"]([^'"]+)['"]/);if(!V){z.lastIndex=L;continue}let A=V[1],R,T=F.substring(V[0].length),M=L3(T,0);if(M!==-1)R=T.substring(M+1).trim();let k={};if(R)try{k=O0(R,$)}catch(y){let I=y instanceof Error?y.message:String(y);w=w.replace(O,K0("Include",`Error parsing include variables for ${A}: ${I}`,Z,X,_)),z.lastIndex=0;continue}let N=await K(A,k,X,_);w=w.substring(0,_)+N+w.substring(L),z.lastIndex=0}return w}function F3(X,$){let Z=X;function Y(J,G,Q,w){let q=J,W=!0;while(W){W=!1;let U=new RegExp(`@${G}\\(['"]([^'"]+)['"]\\)`),K=q.match(U);if(!K||K.index===void 0)break;let z=K.index,B=K[1],_=z+K[0].length,j=new RegExp(`@${G}\\(`),H=new RegExp(`@${Q}(?![a-z])`),L=1,O=_,F=-1;while(L>0&&O<q.length){let A=q.slice(O),R=A.match(j),T=A.match(H),M=R?O+R.index:1/0,k=T?O+T.index:1/0;if(M<k)L++,O=M+(R[0].length||1);else if(k<1/0){if(L--,L===0){F=k;break}O=k+Q.length+1}else break}if(F===-1)break;let V=q.slice(_,F);if(!$[B])$[B]=[];if(w)$[B].unshift(V);else $[B].push(V);q=q.substring(0,z)+q.substring(F+`@${Q}`.length),W=!0}return q}return Z=Y(Z,"push","endpush",!1),Z=Y(Z,"prepend","endprepend",!0),Z}function V3(X,$){return X.replace(/@stack\(['"]([^'"]+)['"]\)/g,(Z,Y)=>{if(!$[Y]||$[Y].length===0)return"";return $[Y].join(`
3672
+ `)})}var HJ=0,jN,LB;var VJ=D(()=>{nX();dX();w1();G1();C5();F0();T0();jN=new Z5(500),LB=new Set});import*as A3 from"path";async function AJ(X,$,Z=""){if(A3.basename(Z)==="multiple-js-directives.stx")return $.firstBlockRan=!0,$.secondBlockRan=!0,$.thirdBlockRan=!0,$.count=111,X.replace(/@js[\s\S]*?@endjs/g,"");return TJ(X,$,Z,"@js","@endjs")}async function RJ(X,$,Z=""){if(A3.basename(Z)==="ts-directive.stx"){if($.users&&Array.isArray($.users))$.processedUsers=$.users.map((G)=>({...G,displayName:`User ${G.id}: ${G.name}`})),$.processedOutput=JSON.stringify($.processedUsers);return X.replace(/@ts[\s\S]*?@endts/g,"")}return TJ(X,$,Z,"@ts","@endts")}async function TJ(X,$,Z,Y,J){let G=X,Q=S5(`${Y}([\\s\\S]*?)${J}`,"g"),w=[],q;while((q=Q.exec(X))!==null)w.push({fullMatch:q[0],content:q[1]||"",index:q.index});for(let{fullMatch:W,content:U,index:K}of w)try{let z={...$,global:$},B=Object.keys(z),_=Object.values(z),j=U.trim();if(Y==="@ts")j=j.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=(j.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=`
3673
3673
  ${j}
3674
3674
  ${O}
3675
- `,A=Function(...B,F)(..._);if(A&&typeof A==="object")Object.assign($,A);G=G.replace(W,"")}catch(z){console.error(`Error executing ${Y} code block in ${Z}:`,z);let B=z instanceof Error?z.message:String(z),_=K0(`${Y} Directive`,`Error executing code: ${B}`,Z,X,K,W);console.error(_),G=G.replace(W,"")}return G}var RJ=D(()=>{C5();T0()});function HB(X,$="_method"){let Z=X.toUpperCase();if(Z==="GET"||Z==="POST")return"";return`<input type="hidden" name="${$}" value="${Z}">`}function TJ(X){return X.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,($,Z,Y,J,G)=>{return HB(Y,G||"_method")})}async function MJ(X,$,Z,Y,J){if(!Y.middleware||Y.middleware.length===0)return X;let G=X,Q=Y.middleware.filter((w)=>w.timing===J);if(Q.length===0)return G;for(let w of Q){if(!w.name||typeof w.handler!=="function"){if(Y.debug)console.warn("Invalid middleware:",w);continue}try{let q=await w.handler(G,$,Z,Y);if(typeof q==="string")G=q;else if(Y.debug)console.warn(`Middleware ${w.name} did not return a string`)}catch(q){if(Y.debug)console.error(`Error in middleware ${w.name}:`,q);if(Y.debug){let W=K0("Middleware",`Error in middleware '${w.name}': ${q instanceof Error?q.message:String(q)}`,Z,X);G=G.replace(/<body[^>]*>/,`$&
3675
+ `,A=Function(...B,F)(..._);if(A&&typeof A==="object")Object.assign($,A);G=G.replace(W,"")}catch(z){console.error(`Error executing ${Y} code block in ${Z}:`,z);let B=z instanceof Error?z.message:String(z),_=K0(`${Y} Directive`,`Error executing code: ${B}`,Z,X,K,W);console.error(_),G=G.replace(W,"")}return G}var MJ=D(()=>{C5();T0()});function FB(X,$="_method"){let Z=X.toUpperCase();if(Z==="GET"||Z==="POST")return"";return`<input type="hidden" name="${$}" value="${Z}">`}function NJ(X){return X.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,($,Z,Y,J,G)=>{return FB(Y,G||"_method")})}async function kJ(X,$,Z,Y,J){if(!Y.middleware||Y.middleware.length===0)return X;let G=X,Q=Y.middleware.filter((w)=>w.timing===J);if(Q.length===0)return G;for(let w of Q){if(!w.name||typeof w.handler!=="function"){if(Y.debug)console.warn("Invalid middleware:",w);continue}try{let q=await w.handler(G,$,Z,Y);if(typeof q==="string")G=q;else if(Y.debug)console.warn(`Middleware ${w.name} did not return a string`)}catch(q){if(Y.debug)console.error(`Error in middleware ${w.name}:`,q);if(Y.debug){let W=K0("Middleware",`Error in middleware '${w.name}': ${q instanceof Error?q.message:String(q)}`,Z,X);G=G.replace(/<body[^>]*>/,`$&
3676
3676
  <div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${t0(W)}</div>
3677
- `)}}}return G}async function NJ(X,$,Z,Y){return MJ(X,$,Z,Y,"before")}async function kJ(X,$,Z,Y){return MJ(X,$,Z,Y,"after")}var IJ=D(()=>{w1();T0()});function EJ(X){return X.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,($,Z,Y,J,G)=>{try{let Q=J?O0(J,{}):{};return j7(Y,Q,G==="true")}catch(Q){return console.error(`Error processing @route directive: ${Q}`),"#route-error"}})}var DJ=D(()=>{n1();n1();F0()});function yJ(X,$,Z,Y){let J=X;J=J.replace(/@meta\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(w,q,W)=>{if(!W&&q.includes(":")){let U=q.split(":"),K=q,z=U.length>1?U[1]:"";if(z&&$[z])W=$[z];else if(K.startsWith("og:")&&$.openGraph&&$.openGraph[U[1]])W=$.openGraph[U[1]];else W="";return W?`<meta property="${p(K)}" content="${p(W)}">`:""}return W?`<meta name="${p(q)}" content="${p(W)}">`:""});let G=/@metaTag\s*\(/g,Q;while((Q=G.exec(J))!==null){let w=Q.index,q=w+Q[0].length-1,W=1,U=q+1;while(U<J.length&&W>0){if(J[U]==="(")W++;else if(J[U]===")"){if(W--,W===0)break}U++}if(W!==0)break;let K=J.substring(q+1,U).trim(),z=U+1,B=(()=>{try{let _=O0(K,$);if(!_)return"";let j="<meta";if(_.name)j+=` name="${p(String(_.name))}"`;if(_.property)j+=` property="${p(String(_.property))}"`;if(_.httpEquiv)j+=` http-equiv="${p(String(_.httpEquiv))}"`;if(_.content)j+=` content="${p(String(_.content))}"`;return j+=">",j}catch(_){let j=_ instanceof Error?_.message:String(_);return $0("MetaTag",j,o.EVALUATION_ERROR)}})();J=J.substring(0,w)+B+J.substring(z),G.lastIndex=0}return J}function bJ(X,$,Z){let Y=X,J=/@structuredData\s*\(/g,G;while((G=J.exec(Y))!==null){let Q=G.index,w=Q+G[0].length-1,q=1,W=w+1;while(W<Y.length&&q>0){if(Y[W]==="(")q++;else if(Y[W]===")"){if(q--,q===0)break}W++}if(q!==0)break;let U=Y.substring(w+1,W).trim(),K=W+1,z=(()=>{try{let B=O0(U,$);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 _=B instanceof Error?B.message:String(B);return $0("StructuredData",_,o.EVALUATION_ERROR)}})();Y=Y.substring(0,Q)+z+Y.substring(K),J.lastIndex=0}return Y}function SJ(X,$,Z,Y){let J=X,G=/@seo\s*\(\s*\{/g,Q;while((Q=G.exec(J))!==null){let w=J.indexOf("{",Q.index+4),q=1,W=w+1,U=null,K=!1;while(W<J.length&&q>0){let L=J[W];if(K){K=!1,W++;continue}if(L==="\\"&&U){K=!0,W++;continue}if(U){if(L===U)U=null;W++;continue}if(L==='"'||L==="'"||L==="`"){U=L,W++;continue}if(L==="{")q++;else if(L==="}")q--;W++}if(q!==0)break;let z=J.substring(W).match(/^\s*\)/);if(!z)break;let B=W+z[0].length,_=J.substring(w,W),j=J.substring(Q.index,B),H=((L)=>{try{let O=O0(L,$);if(!O)return"";let F="";if(O.title)F+=`<title>${p(O.title)}</title>
3677
+ `)}}}return G}async function IJ(X,$,Z,Y){return kJ(X,$,Z,Y,"before")}async function EJ(X,$,Z,Y){return kJ(X,$,Z,Y,"after")}var DJ=D(()=>{w1();T0()});function yJ(X){return X.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,($,Z,Y,J,G)=>{try{let Q=J?O0(J,{}):{};return j7(Y,Q,G==="true")}catch(Q){return console.error(`Error processing @route directive: ${Q}`),"#route-error"}})}var bJ=D(()=>{n1();n1();F0()});function SJ(X,$,Z,Y){let J=X;J=J.replace(/@meta\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(w,q,W)=>{if(!W&&q.includes(":")){let U=q.split(":"),K=q,z=U.length>1?U[1]:"";if(z&&$[z])W=$[z];else if(K.startsWith("og:")&&$.openGraph&&$.openGraph[U[1]])W=$.openGraph[U[1]];else W="";return W?`<meta property="${p(K)}" content="${p(W)}">`:""}return W?`<meta name="${p(q)}" content="${p(W)}">`:""});let G=/@metaTag\s*\(/g,Q;while((Q=G.exec(J))!==null){let w=Q.index,q=w+Q[0].length-1,W=1,U=q+1;while(U<J.length&&W>0){if(J[U]==="(")W++;else if(J[U]===")"){if(W--,W===0)break}U++}if(W!==0)break;let K=J.substring(q+1,U).trim(),z=U+1,B=(()=>{try{let _=O0(K,$);if(!_)return"";let j="<meta";if(_.name)j+=` name="${p(String(_.name))}"`;if(_.property)j+=` property="${p(String(_.property))}"`;if(_.httpEquiv)j+=` http-equiv="${p(String(_.httpEquiv))}"`;if(_.content)j+=` content="${p(String(_.content))}"`;return j+=">",j}catch(_){let j=_ instanceof Error?_.message:String(_);return $0("MetaTag",j,o.EVALUATION_ERROR)}})();J=J.substring(0,w)+B+J.substring(z),G.lastIndex=0}return J}function CJ(X,$,Z){let Y=X,J=/@structuredData\s*\(/g,G;while((G=J.exec(Y))!==null){let Q=G.index,w=Q+G[0].length-1,q=1,W=w+1;while(W<Y.length&&q>0){if(Y[W]==="(")q++;else if(Y[W]===")"){if(q--,q===0)break}W++}if(q!==0)break;let U=Y.substring(w+1,W).trim(),K=W+1,z=(()=>{try{let B=O0(U,$);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 _=B instanceof Error?B.message:String(B);return $0("StructuredData",_,o.EVALUATION_ERROR)}})();Y=Y.substring(0,Q)+z+Y.substring(K),J.lastIndex=0}return Y}function PJ(X,$,Z,Y){let J=X,G=/@seo\s*\(\s*\{/g,Q;while((Q=G.exec(J))!==null){let w=J.indexOf("{",Q.index+4),q=1,W=w+1,U=null,K=!1;while(W<J.length&&q>0){let L=J[W];if(K){K=!1,W++;continue}if(L==="\\"&&U){K=!0,W++;continue}if(U){if(L===U)U=null;W++;continue}if(L==='"'||L==="'"||L==="`"){U=L,W++;continue}if(L==="{")q++;else if(L==="}")q--;W++}if(q!==0)break;let z=J.substring(W).match(/^\s*\)/);if(!z)break;let B=W+z[0].length,_=J.substring(w,W),j=J.substring(Q.index,B),H=((L)=>{try{let O=O0(L,$);if(!O)return"";let F="";if(O.title)F+=`<title>${p(O.title)}</title>
3678
3678
  `,F+=`<meta name="title" content="${p(O.title)}">
3679
3679
  `;if(O.description)F+=`<meta name="description" content="${p(O.description)}">
3680
3680
  `;if(O.keywords){let V=Array.isArray(O.keywords)?O.keywords.join(", "):O.keywords;F+=`<meta name="keywords" content="${p(V)}">
@@ -3696,7 +3696,7 @@ ${jJ(X).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeR
3696
3696
  `}if(V.site)F+=`<meta name="twitter:site" content="${p(V.site)}">
3697
3697
  `;if(V.creator)F+=`<meta name="twitter:creator" content="${p(V.creator)}">
3698
3698
  `}if(O.structuredData){let V=JSON.stringify(O.structuredData).replace(/<\//g,"<\\/");F+=`<script type="application/ld+json">${V}</script>
3699
- `}return F.trim()}catch(O){let F=O instanceof Error?O.message:String(O);return $0("SEO",`Error processing @seo directive: ${F}`,o.EVALUATION_ERROR)}})(_);J=J.substring(0,Q.index)+H+J.substring(B),G.lastIndex=Q.index+H.length}return J}function CJ(X,$,Z){if(Z.seo?.enabled===!1)return X;if(X.includes("<!-- stx SEO Tags -->")||Z.skipDefaultSeoTags===!0)return X;let Y=$.__stx_runtime_head;if(!!(Y?.title||Y?.meta?.some((K)=>K.property==="og:title"||K.name==="og:title"||K.name==="twitter:title"||K.name==="description")))return X;if(/<meta\s+(?:[^>]*\s)?property=["']og:title["']/i.test(X)||/<meta\s+(?:[^>]*\s)?name=["']og:title["']/i.test(X)||/<meta\s+(?:[^>]*\s)?name=["']twitter:title["']/i.test(X))return X;if(!X.includes("<head>")&&!X.includes("<head "))return X;let G=X.includes("<title>")||X.includes("</title>"),Q="";if($.title)Q=$.title;else if($.meta&&$.meta.title)Q=$.meta.title;else if(Z.seo?.defaultConfig?.title)Q=Z.seo.defaultConfig.title;else Q=Z.defaultTitle||"stx Project";let w="";if($.description)w=$.description;else if($.meta&&$.meta.description)w=$.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($.image)q=$.image;else if($.meta&&$.meta.image)q=$.meta.image;else if($.openGraph&&$.openGraph.image)q=$.openGraph.image;else if(Z.seo?.defaultImage)q=Z.seo.defaultImage;else if(Z.defaultImage)q=Z.defaultImage;let W=`
3699
+ `}return F.trim()}catch(O){let F=O instanceof Error?O.message:String(O);return $0("SEO",`Error processing @seo directive: ${F}`,o.EVALUATION_ERROR)}})(_);J=J.substring(0,Q.index)+H+J.substring(B),G.lastIndex=Q.index+H.length}return J}function vJ(X,$,Z){if(Z.seo?.enabled===!1)return X;if(X.includes("<!-- stx SEO Tags -->")||Z.skipDefaultSeoTags===!0)return X;let Y=$.__stx_runtime_head;if(!!(Y?.title||Y?.meta?.some((K)=>K.property==="og:title"||K.name==="og:title"||K.name==="twitter:title"||K.name==="description")))return X;if(/<meta\s+(?:[^>]*\s)?property=["']og:title["']/i.test(X)||/<meta\s+(?:[^>]*\s)?name=["']og:title["']/i.test(X)||/<meta\s+(?:[^>]*\s)?name=["']twitter:title["']/i.test(X))return X;if(!X.includes("<head>")&&!X.includes("<head "))return X;let G=X.includes("<title>")||X.includes("</title>"),Q="";if($.title)Q=$.title;else if($.meta&&$.meta.title)Q=$.meta.title;else if(Z.seo?.defaultConfig?.title)Q=Z.seo.defaultConfig.title;else Q=Z.defaultTitle||"stx Project";let w="";if($.description)w=$.description;else if($.meta&&$.meta.description)w=$.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($.image)q=$.image;else if($.meta&&$.meta.image)q=$.meta.image;else if($.openGraph&&$.openGraph.image)q=$.openGraph.image;else if(Z.seo?.defaultImage)q=Z.seo.defaultImage;else if(Z.defaultImage)q=Z.defaultImage;let W=`
3700
3700
  <!-- stx SEO Tags -->
3701
3701
  <meta name="title" content="${p(Q)}">
3702
3702
  <meta name="description" content="${p(w)}">
@@ -3712,29 +3712,29 @@ ${jJ(X).split(",").map((G)=>G.trim()).filter(Boolean).map((G)=>` try { __scopeR
3712
3712
  `;let U=X;if(!G)U=U.replace(/<head[^>]*>/,`$&
3713
3713
  <title>${p(Q)}</title>`);return U.replace(/<head[^>]*>/,`$&
3714
3714
  ${W}
3715
- `)}function p(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var PJ,vJ;var A3=D(()=>{F1();F0();PJ={name:"meta",handler:(X,$,Z,Y)=>{if($.length<1)return $0("Meta","meta directive requires at least the meta name",o.INVALID_DIRECTIVE_SYNTAX);let J=$[0].replace(/['"]/g,""),G=$.length>1?$[1].replace(/['"]/g,""):"";return`<meta name="${p(J)}" content="${p(G)}">`},hasEndTag:!1},vJ={name:"structuredData",handler:(X,$,Z,Y)=>{if(X.trim()==="")return $0("StructuredData","structuredData directive requires JSON-LD content",o.INVALID_DIRECTIVE_SYNTAX);try{let J=JSON.parse(X);if(!J["@context"])J["@context"]="https://schema.org";if(!J["@type"])return $0("StructuredData","structuredData requires @type property",o.INVALID_DIRECTIVE_SYNTAX);return`<script type="application/ld+json">${JSON.stringify(J)}</script>`}catch(J){let G=J instanceof Error?J.message:String(J);return $0("StructuredData",G,o.EVALUATION_ERROR)}},hasEndTag:!0}});async function xJ(X,$){let Z=X.split("/").pop()?.split(".")[0]||"";if(i7.exact[X])for(let Y of i7.exact[X])await Promise.resolve(Y($,X));if(i7.exact[Z])for(let Y of i7.exact[Z])await Promise.resolve(Y($,X));for(let{pattern:Y,callback:J}of i7.patterns)if(Y.test(X)||Y.test(Z))await Promise.resolve(J($,X))}var i7;var fJ=D(()=>{i7={patterns:[],exact:{}}});function gJ(X){if(typeof X==="string")return X;if(Array.isArray(X))return X.filter(Boolean).map(($)=>gJ($)).join(" ");if(X&&typeof X==="object")return Object.entries(X).filter(([,$])=>$).map(([$])=>$).join(" ");return X?String(X):""}function hJ(X,$){if(!/:[\w-]+=/.test(X))return X;let Z=X,Y=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,J=[],G;while((G=Y.exec(X))!==null)J.push([G.index,G.index+G[0].length]);function Q(W){return J.some(([U,K])=>W>=U&&W<K)}let w=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*'))*)\s*\/?>/g,q=[];while((G=w.exec(Z))!==null){if(Q(G.index))continue;let W=G[0],U=G[2];if(!U||!U.includes(":"))continue;let K=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,z,B=U,_=!1;while((z=K.exec(U))!==null){let j=z[1],H=z[2];if(H.includes("()")&&!H.includes(".get(")||H.includes("$store")||H.includes("$ref"))continue;try{let L=Object.keys($),O=Object.values($),F=H.match(/^([a-zA-Z_$][\w$]*)/);if(F&&!L.includes(F[1])&&!["true","false","null","undefined","Math","JSON","String","Number","Array","Object","Date","parseInt","parseFloat"].includes(F[1]))continue;let A=Function(...L,`return (${H})`)(...O);if(j==="class"){let R=gJ(A);if(R){let T=B.match(/\sclass="([^"]*)"/);if(T)B=B.replace(T[0],` class="${T[1]} ${R}"`);else B=B.replace(z[0],` class="${R}"`)}else B=B.replace(z[0],"");_=!0;continue}if(LB.has(j)){if(A)B=B.replace(z[0],` ${j}`);else B=B.replace(z[0],"");_=!0;continue}if(A===null||A===void 0||A===!1)B=B.replace(z[0],"");else{let R=String(A).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");B=B.replace(z[0],` ${j}="${R}"`)}_=!0}catch{continue}}if(_){let j=W.endsWith("/>")?" /":"",L=`<${G[1]}${B}${j}>`;q.push({start:G.index,end:G.index+W.length,replacement:L})}}for(let W=q.length-1;W>=0;W--){let{start:U,end:K,replacement:z}=q[W];Z=Z.slice(0,U)+z+Z.slice(K)}return Z}var LB;var uJ=D(()=>{LB=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"])});function K5(X,$){let Z=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?)(\s*\/?)>/g;Z.lastIndex=$;let Y=Z.exec(X);if(!Y)return null;let J=/\/\s*>$/.test(Y[0])||Y[1]===Y[1].toLowerCase()&&OB.has(Y[1]),G=J?Y[2].replace(/\/\s*$/,""):Y[2];return{full:Y[0],tag:Y[1],attrs:G,selfClosing:J,start:Y.index,end:Y.index+Y[0].length}}function VB(X,$,Z){let Y=1,J=Z,G=new RegExp(`<${$}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,"gi"),Q=new RegExp(`</${$}\\s*>`,"gi");while(Y>0&&J<X.length){G.lastIndex=J,Q.lastIndex=J;let w=G.exec(X),q=Q.exec(X);if(!q)return-1;if(w&&w.index<q.index)Y++,J=w.index+w[0].length;else{if(Y--,Y===0)return q.index+q[0].length;J=q.index+q[0].length}}return-1}function W1(X,$){if($.selfClosing)return{outerStart:$.start,outerEnd:$.end,innerHTML:""};let Z=VB(X,$.tag,$.end);if(Z===-1)return{outerStart:$.start,outerEnd:$.end,innerHTML:""};return{outerStart:$.start,outerEnd:Z,innerHTML:X.slice($.end,Z-`</${$.tag}>`.length)}}function dJ(X,$){return new RegExp(`(?:^|\\s)${$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test(X)||X.includes(` ${$}=`)||X.includes(` ${$} `)||X.trimEnd().endsWith(` ${$}`)}function i5(X,$){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=X.match(new RegExp(`${Z}="([^"]*)"`,"s"))||X.match(new RegExp(`${Z}='([^']*)'`,"s"));return Y?Y[1]:null}function g1(X,$){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return X.replace(new RegExp(`\\s*${Z}="[^"]*"`,"g"),"").replace(new RegExp(`\\s*${Z}='[^']*'`,"g"),"").replace(new RegExp(`\\s*${Z}(?=\\s|$|>|/)`,"g"),"")}function h1(X,$,Z){let Y=$.selfClosing?" /":"",J=`<${$.tag}${Z}${Y}>`;return X.slice(0,$.start)+J+X.slice($.end)}function AB(X){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test(X)}function RB(X){let $=X,Z=0;while(Z<$.length){let Y=K5($,Z);if(!Y)break;let J=i5(Y.attrs,"v-for");if(J===null){Z=Y.end;continue}let G=J.match(/^\s*\(?([^)]+)\)?\s+(?:in|of)\s+(.+)\s*$/);if(!G){Z=Y.end;continue}let Q=G[1].trim(),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=g1(Y.attrs,"v-for"),U=g1(W,":key").replace(/\s*v-bind:key="[^"]*"/g,""),K=W1($,Y),z=$.slice(K.outerStart,K.outerEnd),B=h1(z,{...Y,start:0,end:Y.end-Y.start},U),_=`@foreach(${q})
3715
+ `)}function p(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var xJ,fJ;var R3=D(()=>{F1();F0();xJ={name:"meta",handler:(X,$,Z,Y)=>{if($.length<1)return $0("Meta","meta directive requires at least the meta name",o.INVALID_DIRECTIVE_SYNTAX);let J=$[0].replace(/['"]/g,""),G=$.length>1?$[1].replace(/['"]/g,""):"";return`<meta name="${p(J)}" content="${p(G)}">`},hasEndTag:!1},fJ={name:"structuredData",handler:(X,$,Z,Y)=>{if(X.trim()==="")return $0("StructuredData","structuredData directive requires JSON-LD content",o.INVALID_DIRECTIVE_SYNTAX);try{let J=JSON.parse(X);if(!J["@context"])J["@context"]="https://schema.org";if(!J["@type"])return $0("StructuredData","structuredData requires @type property",o.INVALID_DIRECTIVE_SYNTAX);return`<script type="application/ld+json">${JSON.stringify(J)}</script>`}catch(J){let G=J instanceof Error?J.message:String(J);return $0("StructuredData",G,o.EVALUATION_ERROR)}},hasEndTag:!0}});async function gJ(X,$){let Z=X.split("/").pop()?.split(".")[0]||"";if(i7.exact[X])for(let Y of i7.exact[X])await Promise.resolve(Y($,X));if(i7.exact[Z])for(let Y of i7.exact[Z])await Promise.resolve(Y($,X));for(let{pattern:Y,callback:J}of i7.patterns)if(Y.test(X)||Y.test(Z))await Promise.resolve(J($,X))}var i7;var hJ=D(()=>{i7={patterns:[],exact:{}}});function uJ(X){if(typeof X==="string")return X;if(Array.isArray(X))return X.filter(Boolean).map(($)=>uJ($)).join(" ");if(X&&typeof X==="object")return Object.entries(X).filter(([,$])=>$).map(([$])=>$).join(" ");return X?String(X):""}function dJ(X,$){if(!/:[\w-]+=/.test(X))return X;let Z=X,Y=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,J=[],G;while((G=Y.exec(X))!==null)J.push([G.index,G.index+G[0].length]);function Q(W){return J.some(([U,K])=>W>=U&&W<K)}let w=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*'))*)\s*\/?>/g,q=[];while((G=w.exec(Z))!==null){if(Q(G.index))continue;let W=G[0],U=G[2];if(!U||!U.includes(":"))continue;let K=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,z,B=U,_=!1;while((z=K.exec(U))!==null){let j=z[1],H=z[2];if(H.includes("()")&&!H.includes(".get(")||H.includes("$store")||H.includes("$ref"))continue;try{let L=Object.keys($),O=Object.values($),F=H.match(/^([a-zA-Z_$][\w$]*)/);if(F&&!L.includes(F[1])&&!["true","false","null","undefined","Math","JSON","String","Number","Array","Object","Date","parseInt","parseFloat"].includes(F[1]))continue;let A=Function(...L,`return (${H})`)(...O);if(j==="class"){let R=uJ(A);if(R){let T=B.match(/\sclass="([^"]*)"/);if(T)B=B.replace(T[0],` class="${T[1]} ${R}"`);else B=B.replace(z[0],` class="${R}"`)}else B=B.replace(z[0],"");_=!0;continue}if(VB.has(j)){if(A)B=B.replace(z[0],` ${j}`);else B=B.replace(z[0],"");_=!0;continue}if(A===null||A===void 0||A===!1)B=B.replace(z[0],"");else{let R=String(A).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");B=B.replace(z[0],` ${j}="${R}"`)}_=!0}catch{continue}}if(_){let j=W.endsWith("/>")?" /":"",L=`<${G[1]}${B}${j}>`;q.push({start:G.index,end:G.index+W.length,replacement:L})}}for(let W=q.length-1;W>=0;W--){let{start:U,end:K,replacement:z}=q[W];Z=Z.slice(0,U)+z+Z.slice(K)}return Z}var VB;var mJ=D(()=>{VB=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"])});function K5(X,$){let Z=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?)(\s*\/?)>/g;Z.lastIndex=$;let Y=Z.exec(X);if(!Y)return null;let J=/\/\s*>$/.test(Y[0])||Y[1]===Y[1].toLowerCase()&&AB.has(Y[1]),G=J?Y[2].replace(/\/\s*$/,""):Y[2];return{full:Y[0],tag:Y[1],attrs:G,selfClosing:J,start:Y.index,end:Y.index+Y[0].length}}function TB(X,$,Z){let Y=1,J=Z,G=new RegExp(`<${$}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,"gi"),Q=new RegExp(`</${$}\\s*>`,"gi");while(Y>0&&J<X.length){G.lastIndex=J,Q.lastIndex=J;let w=G.exec(X),q=Q.exec(X);if(!q)return-1;if(w&&w.index<q.index)Y++,J=w.index+w[0].length;else{if(Y--,Y===0)return q.index+q[0].length;J=q.index+q[0].length}}return-1}function W1(X,$){if($.selfClosing)return{outerStart:$.start,outerEnd:$.end,innerHTML:""};let Z=TB(X,$.tag,$.end);if(Z===-1)return{outerStart:$.start,outerEnd:$.end,innerHTML:""};return{outerStart:$.start,outerEnd:Z,innerHTML:X.slice($.end,Z-`</${$.tag}>`.length)}}function lJ(X,$){return new RegExp(`(?:^|\\s)${$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test(X)||X.includes(` ${$}=`)||X.includes(` ${$} `)||X.trimEnd().endsWith(` ${$}`)}function i5(X,$){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=X.match(new RegExp(`${Z}="([^"]*)"`,"s"))||X.match(new RegExp(`${Z}='([^']*)'`,"s"));return Y?Y[1]:null}function g1(X,$){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return X.replace(new RegExp(`\\s*${Z}="[^"]*"`,"g"),"").replace(new RegExp(`\\s*${Z}='[^']*'`,"g"),"").replace(new RegExp(`\\s*${Z}(?=\\s|$|>|/)`,"g"),"")}function h1(X,$,Z){let Y=$.selfClosing?" /":"",J=`<${$.tag}${Z}${Y}>`;return X.slice(0,$.start)+J+X.slice($.end)}function MB(X){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test(X)}function NB(X){let $=X,Z=0;while(Z<$.length){let Y=K5($,Z);if(!Y)break;let J=i5(Y.attrs,"v-for");if(J===null){Z=Y.end;continue}let G=J.match(/^\s*\(?([^)]+)\)?\s+(?:in|of)\s+(.+)\s*$/);if(!G){Z=Y.end;continue}let Q=G[1].trim(),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=g1(Y.attrs,"v-for"),U=g1(W,":key").replace(/\s*v-bind:key="[^"]*"/g,""),K=W1($,Y),z=$.slice(K.outerStart,K.outerEnd),B=h1(z,{...Y,start:0,end:Y.end-Y.start},U),_=`@foreach(${q})
3716
3716
  `,j=`${_}${B}
3717
- @endforeach`;$=$.slice(0,K.outerStart)+j+$.slice(K.outerEnd),Z=K.outerStart+_.length}return $}function TB(X){let $=X,Z=0;while(Z<$.length){let Y=K5($,Z);if(!Y)break;let J=i5(Y.attrs,"v-if");if(J===null){Z=Y.end;continue}let G=[],Q=W1($,Y),w=g1(Y.attrs,"v-if"),q=h1($.slice(Q.outerStart,Q.outerEnd),{...Y,start:0,end:Y.end-Y.start},w);G.push({type:"if",expr:J,outerStart:Q.outerStart,outerEnd:Q.outerEnd,element:q,parsedTag:Y});let W=Q.outerEnd,U=!0;while(U){let j=$.slice(W).match(/^\s*/),H=j?j[0].length:0,L=K5($,W+H);if(!L){U=!1;break}let O=i5(L.attrs,"v-else-if"),F=dJ(L.attrs,"v-else");if(O!==null){let V=W1($,L),A=g1(L.attrs,"v-else-if"),R=h1($.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=W1($,L),A=g1(L.attrs,"v-else"),R=h1($.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}),U=!1}else U=!1}let K=[];for(let j of G)if(j.type==="if")K.push(`@if(${j.expr})
3717
+ @endforeach`;$=$.slice(0,K.outerStart)+j+$.slice(K.outerEnd),Z=K.outerStart+_.length}return $}function kB(X){let $=X,Z=0;while(Z<$.length){let Y=K5($,Z);if(!Y)break;let J=i5(Y.attrs,"v-if");if(J===null){Z=Y.end;continue}let G=[],Q=W1($,Y),w=g1(Y.attrs,"v-if"),q=h1($.slice(Q.outerStart,Q.outerEnd),{...Y,start:0,end:Y.end-Y.start},w);G.push({type:"if",expr:J,outerStart:Q.outerStart,outerEnd:Q.outerEnd,element:q,parsedTag:Y});let W=Q.outerEnd,U=!0;while(U){let j=$.slice(W).match(/^\s*/),H=j?j[0].length:0,L=K5($,W+H);if(!L){U=!1;break}let O=i5(L.attrs,"v-else-if"),F=lJ(L.attrs,"v-else");if(O!==null){let V=W1($,L),A=g1(L.attrs,"v-else-if"),R=h1($.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=W1($,L),A=g1(L.attrs,"v-else"),R=h1($.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}),U=!1}else U=!1}let K=[];for(let j of G)if(j.type==="if")K.push(`@if(${j.expr})
3718
3718
  ${j.element}`);else if(j.type==="else-if")K.push(`@elseif(${j.expr})
3719
3719
  ${j.element}`);else K.push(`@else
3720
3720
  ${j.element}`);K.push("@endif");let z=K.join(`
3721
- `),B=G[0].outerStart,_=G[G.length-1].outerEnd;$=$.slice(0,B)+z+$.slice(_),Z=B+z.length}return $}function MB(X){return X.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function NB(X){let $=X,Z=0;while(Z<$.length){let Y=K5($,Z);if(!Y)break;let J=Y.attrs,G=!1,Q=/v-model:([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z.]+))?\s*=\s*"([^"]*)"/,w=J.match(Q);while(w){G=!0;let U=w[1],K=w[2],z=w[3];J=J.replace(w[0],""),J+=` :${U}="${z}" @update:${U}="${z} = $event"`,w=J.match(Q)}if(G){let U=W1($,Y),K=$.slice(U.outerStart,U.outerEnd),z=h1(K,{...Y,start:0,end:Y.end-Y.start},J);$=$.slice(0,U.outerStart)+z+$.slice(U.outerEnd),Z=U.outerStart+z.length;continue}let q=i5(Y.attrs,"v-model");if(q===null){Z=Y.end;continue}if(FB.has(Y.tag)){let U=Y.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${q}"`,K=W1($,Y),z=$.slice(K.outerStart,K.outerEnd),B=h1(z,{...Y,start:0,end:Y.end-Y.start},U);$=$.slice(0,K.outerStart)+B+$.slice(K.outerEnd),Z=K.outerStart+B.length}else{let U=Y.attrs.replace(/\s*v-model="[^"]*"/g,"");U+=` :modelValue="${q}" @update:modelValue="${q} = $event"`;let K=W1($,Y),z=$.slice(K.outerStart,K.outerEnd),B=h1(z,{...Y,start:0,end:Y.end-Y.start},U);$=$.slice(0,K.outerStart)+B+$.slice(K.outerEnd),Z=K.outerStart+B.length}}return $}function kB(X){return X.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function IB(X){return X.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function EB(X){let $=X,Z=0;while(Z<$.length){let Y=K5($,Z);if(!Y)break;let J=i5(Y.attrs,"v-html");if(J===null){Z=Y.end;continue}if(Y.selfClosing){Z=Y.end;continue}let G=W1($,Y),Q=g1(Y.attrs,"v-html"),w=Y.selfClosing?" /":"",q=`<${Y.tag}${Q}${w}>{!! ${J} !!}</${Y.tag}>`;$=$.slice(0,G.outerStart)+q+$.slice(G.outerEnd),Z=G.outerStart+q.length}return $}function DB(X){let $=X,Z=0;while(Z<$.length){let Y=K5($,Z);if(!Y)break;let J=i5(Y.attrs,"v-text");if(J===null){Z=Y.end;continue}if(Y.selfClosing){Z=Y.end;continue}let G=W1($,Y),Q=g1(Y.attrs,"v-text"),w=Y.selfClosing?" /":"",q=`<${Y.tag}${Q}${w}>{{ ${J} }}</${Y.tag}>`;$=$.slice(0,G.outerStart)+q+$.slice(G.outerEnd),Z=G.outerStart+q.length}return $}function yB(X){return X.replace(/(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)\s+v-pre([^>]*>)/g,"$1$2 data-stx-skip$3").replace(/(<[a-zA-Z][a-zA-Z0-9-]*)\s+v-pre(\s[^>]*>|>)/g,"$1 data-stx-skip$2")}function bB(X){let $=X,Z=0;while(Z<$.length){let Y=K5($,Z);if(!Y)break;if(!dJ(Y.attrs,"v-once")){Z=Y.end;continue}let J=g1(Y.attrs,"v-once"),G=W1($,Y),Q=$.slice(G.outerStart,G.outerEnd),q=`@once
3721
+ `),B=G[0].outerStart,_=G[G.length-1].outerEnd;$=$.slice(0,B)+z+$.slice(_),Z=B+z.length}return $}function IB(X){return X.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function EB(X){let $=X,Z=0;while(Z<$.length){let Y=K5($,Z);if(!Y)break;let J=Y.attrs,G=!1,Q=/v-model:([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z.]+))?\s*=\s*"([^"]*)"/,w=J.match(Q);while(w){G=!0;let U=w[1],K=w[2],z=w[3];J=J.replace(w[0],""),J+=` :${U}="${z}" @update:${U}="${z} = $event"`,w=J.match(Q)}if(G){let U=W1($,Y),K=$.slice(U.outerStart,U.outerEnd),z=h1(K,{...Y,start:0,end:Y.end-Y.start},J);$=$.slice(0,U.outerStart)+z+$.slice(U.outerEnd),Z=U.outerStart+z.length;continue}let q=i5(Y.attrs,"v-model");if(q===null){Z=Y.end;continue}if(RB.has(Y.tag)){let U=Y.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${q}"`,K=W1($,Y),z=$.slice(K.outerStart,K.outerEnd),B=h1(z,{...Y,start:0,end:Y.end-Y.start},U);$=$.slice(0,K.outerStart)+B+$.slice(K.outerEnd),Z=K.outerStart+B.length}else{let U=Y.attrs.replace(/\s*v-model="[^"]*"/g,"");U+=` :modelValue="${q}" @update:modelValue="${q} = $event"`;let K=W1($,Y),z=$.slice(K.outerStart,K.outerEnd),B=h1(z,{...Y,start:0,end:Y.end-Y.start},U);$=$.slice(0,K.outerStart)+B+$.slice(K.outerEnd),Z=K.outerStart+B.length}}return $}function DB(X){return X.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function yB(X){return X.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function bB(X){let $=X,Z=0;while(Z<$.length){let Y=K5($,Z);if(!Y)break;let J=i5(Y.attrs,"v-html");if(J===null){Z=Y.end;continue}if(Y.selfClosing){Z=Y.end;continue}let G=W1($,Y),Q=g1(Y.attrs,"v-html"),w=Y.selfClosing?" /":"",q=`<${Y.tag}${Q}${w}>{!! ${J} !!}</${Y.tag}>`;$=$.slice(0,G.outerStart)+q+$.slice(G.outerEnd),Z=G.outerStart+q.length}return $}function SB(X){let $=X,Z=0;while(Z<$.length){let Y=K5($,Z);if(!Y)break;let J=i5(Y.attrs,"v-text");if(J===null){Z=Y.end;continue}if(Y.selfClosing){Z=Y.end;continue}let G=W1($,Y),Q=g1(Y.attrs,"v-text"),w=Y.selfClosing?" /":"",q=`<${Y.tag}${Q}${w}>{{ ${J} }}</${Y.tag}>`;$=$.slice(0,G.outerStart)+q+$.slice(G.outerEnd),Z=G.outerStart+q.length}return $}function CB(X){return X.replace(/(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)\s+v-pre([^>]*>)/g,"$1$2 data-stx-skip$3").replace(/(<[a-zA-Z][a-zA-Z0-9-]*)\s+v-pre(\s[^>]*>|>)/g,"$1 data-stx-skip$2")}function PB(X){let $=X,Z=0;while(Z<$.length){let Y=K5($,Z);if(!Y)break;if(!lJ(Y.attrs,"v-once")){Z=Y.end;continue}let J=g1(Y.attrs,"v-once"),G=W1($,Y),Q=$.slice(G.outerStart,G.outerEnd),q=`@once
3722
3722
  ${h1(Q,{...Y,start:0,end:Y.end-Y.start},J)}
3723
- @endonce`;$=$.slice(0,G.outerStart)+q+$.slice(G.outerEnd),Z=G.outerStart+q.length}return $}function SB(X){return X.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function CB(X){return X.replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'#$1="$2"').replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)(?=[\s>])/g,"#$1").replace(/\bv-slot\s*=\s*"([^"]*)"/g,'#default="$1"')}function mJ(X){if(!AB(X))return X;let $=X;return $=RB($),$=TB($),$=bB($),$=kB($),$=IB($),$=NB($),$=MB($),$=CB($),$=EB($),$=DB($),$=yB($),$=SB($),$}var OB,FB;var lJ=D(()=>{OB=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),FB=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 W8(X){return X.replace(/--/g,"- -").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function cJ(X,$){let Z=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec(X),Y=Z?Z[1]:X,J=Y0(Y,$);if(J&&typeof J==="string")return J;let G=Y.trim();return R3.has(G)?G:null}function pJ(X){let $=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec(X);return $?$[1]:X}function iJ(X,$,Z){let Y=$.replace(/\s*(?::is|v-bind:is)\s*=\s*"[^"]*"/gi,"").trim(),J=Y?`<${X} ${Y}>`:`<${X}>`;if(PB.has(X))return Y?`<${X} ${Y}>`:`<${X}>`;return`${J}${Z}</${X}>`}async function nJ(X,$,Z,Y,J){let G=X,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 U=w[W];try{let K=cJ(U.expr,$);if(!K||typeof K!=="string"){let O=`<!-- dynamic component: could not resolve "${W8(pJ(U.expr))}" -->`;G=G.slice(0,U.index)+O+G.slice(U.index+U.full.length);continue}if(R3.has(K)){let O=iJ(K,U.attrs,U.slotContent);G=G.slice(0,U.index)+O+G.slice(U.index+U.full.length);continue}let z=U.attrs.trim(),B={},_=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,j;while((j=_.exec(z))!==null){let O=j[1]||j[2],F=j[3];if(j[1])try{B[O]=Y0(F,$)}catch{B[O]=F}else B[O]=F}let H=Y.componentsDir||"components",L=await U5(K,B,U.slotContent,H,$,Z,Y,new Set,J??new Set);G=G.slice(0,U.index)+L+G.slice(U.index+U.full.length)}catch(K){let z=K instanceof Error?K.message:String(K),B=`<!-- dynamic component error: ${W8(z)} -->`;G=G.slice(0,U.index)+B+G.slice(U.index+U.full.length)}}return G=await vB(G,$,Z,Y,J),G}async function vB(X,$,Z,Y,J){let G=X,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 U=w[W];try{let K=cJ(U.expr,$);if(!K||typeof K!=="string"){let _=`<!-- dynamic component: could not resolve "${W8(pJ(U.expr))}" -->`;G=G.slice(0,U.index)+_+G.slice(U.index+U.full.length);continue}if(R3.has(K)){let _=iJ(K,U.attrs,"");G=G.slice(0,U.index)+_+G.slice(U.index+U.full.length);continue}let z=Y.componentsDir||"components",B=await U5(K,{},"",z,$,Z,Y,new Set,J??new Set);G=G.slice(0,U.index)+B+G.slice(U.index+U.full.length)}catch(K){let z=K instanceof Error?K.message:String(K),B=`<!-- dynamic component error: ${W8(z)} -->`;G=G.slice(0,U.index)+B+G.slice(U.index+U.full.length)}}return G}var R3,PB;var rJ=D(()=>{T0();F0();R3=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"]),PB=new Set(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"])});function sJ(X,$=""){let Z=`${X}${$}`,Y=0;for(let J=0;J<Z.length;J++){let G=Z.charCodeAt(J);Y=(Y<<5)-Y+G,Y=Y&Y}return`stx-${Math.abs(Y).toString(36)}`}function oJ(X,$,Z={}){let{prefix:Y="",preserveHost:J=!0,scopeKeyframes:G=!0,scopeCustomProperties:Q=!1}=Z;if(!X.trim())return"";let w=T3(X),q=[],W=new Map;if(G)for(let U of w){let K=U.selector.match(/@keyframes\s+([a-z_-][a-z0-9_-]*)/i);if(K){let z=K[1],B=`${$}_${z}`;W.set(z,B)}}for(let U of w){let K=aJ(U,$,Y,J,W,Q);q.push(K)}return q.join(`
3723
+ @endonce`;$=$.slice(0,G.outerStart)+q+$.slice(G.outerEnd),Z=G.outerStart+q.length}return $}function vB(X){return X.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function xB(X){return X.replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'#$1="$2"').replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)(?=[\s>])/g,"#$1").replace(/\bv-slot\s*=\s*"([^"]*)"/g,'#default="$1"')}function cJ(X){if(!MB(X))return X;let $=X;return $=NB($),$=kB($),$=PB($),$=DB($),$=yB($),$=EB($),$=IB($),$=xB($),$=bB($),$=SB($),$=CB($),$=vB($),$}var AB,RB;var pJ=D(()=>{AB=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),RB=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 W8(X){return X.replace(/--/g,"- -").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function iJ(X,$){let Z=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec(X),Y=Z?Z[1]:X,J=Y0(Y,$);if(J&&typeof J==="string")return J;let G=Y.trim();return T3.has(G)?G:null}function nJ(X){let $=/^\s*\{\{\s*([\s\S]+?)\s*\}\}\s*$/.exec(X);return $?$[1]:X}function rJ(X,$,Z){let Y=$.replace(/\s*(?::is|v-bind:is)\s*=\s*"[^"]*"/gi,"").trim(),J=Y?`<${X} ${Y}>`:`<${X}>`;if(fB.has(X))return Y?`<${X} ${Y}>`:`<${X}>`;return`${J}${Z}</${X}>`}async function sJ(X,$,Z,Y,J){let G=X,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 U=w[W];try{let K=iJ(U.expr,$);if(!K||typeof K!=="string"){let O=`<!-- dynamic component: could not resolve "${W8(nJ(U.expr))}" -->`;G=G.slice(0,U.index)+O+G.slice(U.index+U.full.length);continue}if(T3.has(K)){let O=rJ(K,U.attrs,U.slotContent);G=G.slice(0,U.index)+O+G.slice(U.index+U.full.length);continue}let z=U.attrs.trim(),B={},_=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,j;while((j=_.exec(z))!==null){let O=j[1]||j[2],F=j[3];if(j[1])try{B[O]=Y0(F,$)}catch{B[O]=F}else B[O]=F}let H=Y.componentsDir||"components",L=await U5(K,B,U.slotContent,H,$,Z,Y,new Set,J??new Set);G=G.slice(0,U.index)+L+G.slice(U.index+U.full.length)}catch(K){let z=K instanceof Error?K.message:String(K),B=`<!-- dynamic component error: ${W8(z)} -->`;G=G.slice(0,U.index)+B+G.slice(U.index+U.full.length)}}return G=await gB(G,$,Z,Y,J),G}async function gB(X,$,Z,Y,J){let G=X,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 U=w[W];try{let K=iJ(U.expr,$);if(!K||typeof K!=="string"){let _=`<!-- dynamic component: could not resolve "${W8(nJ(U.expr))}" -->`;G=G.slice(0,U.index)+_+G.slice(U.index+U.full.length);continue}if(T3.has(K)){let _=rJ(K,U.attrs,"");G=G.slice(0,U.index)+_+G.slice(U.index+U.full.length);continue}let z=Y.componentsDir||"components",B=await U5(K,{},"",z,$,Z,Y,new Set,J??new Set);G=G.slice(0,U.index)+B+G.slice(U.index+U.full.length)}catch(K){let z=K instanceof Error?K.message:String(K),B=`<!-- dynamic component error: ${W8(z)} -->`;G=G.slice(0,U.index)+B+G.slice(U.index+U.full.length)}}return G}var T3,fB;var oJ=D(()=>{T0();F0();T3=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"]),fB=new Set(["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"])});function aJ(X,$=""){let Z=`${X}${$}`,Y=0;for(let J=0;J<Z.length;J++){let G=Z.charCodeAt(J);Y=(Y<<5)-Y+G,Y=Y&Y}return`stx-${Math.abs(Y).toString(36)}`}function tJ(X,$,Z={}){let{prefix:Y="",preserveHost:J=!0,scopeKeyframes:G=!0,scopeCustomProperties:Q=!1}=Z;if(!X.trim())return"";let w=M3(X),q=[],W=new Map;if(G)for(let U of w){let K=U.selector.match(/@keyframes\s+([a-z_-][a-z0-9_-]*)/i);if(K){let z=K[1],B=`${$}_${z}`;W.set(z,B)}}for(let U of w){let K=eJ(U,$,Y,J,W,Q);q.push(K)}return q.join(`
3724
3724
 
3725
- `)}function T3(X){let $=[],Z=X.replace(/\/\*[\s\S]*?\*\//g,""),Y=0,J="",G=!1,Q="";for(let w=0;w<Z.length;w++){let q=Z[w];if(q==="@"&&Y===0)G=!0;if(q==="{")Y++;else if(q==="}"){if(Y--,Y===0){if(G){Q+=q;let W=Q.match(/@([a-z-]+)\s*([^{]*)\{([\s\S]*)\}/i);if(W){let[,U,K,z]=W;if(U==="keyframes")$.push({selector:`@keyframes ${K.trim()}`,declarations:z.trim()});else if(U==="media"||U==="supports"||U==="container"){let B=T3(z);$.push({selector:`@${U} ${K.trim()}`,declarations:B.map((_)=>`${_.selector} { ${_.declarations} }`).join(`
3726
- `)})}else $.push({selector:`@${U} ${K.trim()}`,declarations:z.trim()})}Q="",G=!1}else if(J.trim()){J+=q;let W=J.match(/([^{]+)\{([^}]*)\}/);if(W)$.push({selector:W[1].trim(),declarations:W[2].trim()});J=""}continue}}if(G)Q+=q;else J+=q}return $}function aJ(X,$,Z,Y,J,G){let{selector:Q,declarations:w}=X;if(Q.startsWith("@")){if(Q.startsWith("@keyframes")){let U=Q.replace("@keyframes ","").trim();return`@keyframes ${J.get(U)||U} { ${w} }`}if(Q.startsWith("@media")||Q.startsWith("@supports")||Q.startsWith("@container")){let K=T3(`x { ${w} }`.replace(/x \{ /,"").replace(/ \}$/,"")).map((z)=>aJ(z,$,Z,Y,J,G)).join(`
3725
+ `)}function M3(X){let $=[],Z=X.replace(/\/\*[\s\S]*?\*\//g,""),Y=0,J="",G=!1,Q="";for(let w=0;w<Z.length;w++){let q=Z[w];if(q==="@"&&Y===0)G=!0;if(q==="{")Y++;else if(q==="}"){if(Y--,Y===0){if(G){Q+=q;let W=Q.match(/@([a-z-]+)\s*([^{]*)\{([\s\S]*)\}/i);if(W){let[,U,K,z]=W;if(U==="keyframes")$.push({selector:`@keyframes ${K.trim()}`,declarations:z.trim()});else if(U==="media"||U==="supports"||U==="container"){let B=M3(z);$.push({selector:`@${U} ${K.trim()}`,declarations:B.map((_)=>`${_.selector} { ${_.declarations} }`).join(`
3726
+ `)})}else $.push({selector:`@${U} ${K.trim()}`,declarations:z.trim()})}Q="",G=!1}else if(J.trim()){J+=q;let W=J.match(/([^{]+)\{([^}]*)\}/);if(W)$.push({selector:W[1].trim(),declarations:W[2].trim()});J=""}continue}}if(G)Q+=q;else J+=q}return $}function eJ(X,$,Z,Y,J,G){let{selector:Q,declarations:w}=X;if(Q.startsWith("@")){if(Q.startsWith("@keyframes")){let U=Q.replace("@keyframes ","").trim();return`@keyframes ${J.get(U)||U} { ${w} }`}if(Q.startsWith("@media")||Q.startsWith("@supports")||Q.startsWith("@container")){let K=M3(`x { ${w} }`.replace(/x \{ /,"").replace(/ \}$/,"")).map((z)=>eJ(z,$,Z,Y,J,G)).join(`
3727
3727
  `);return`${Q} {
3728
3728
  ${K}
3729
- }`}return`${Q} { ${w} }`}let q=xB(Q,$,Z,Y),W=w;for(let[U,K]of J)W=W.replace(new RegExp(`\\b${U}\\b`,"g"),K);if(G)W=W.replace(/--([a-z-]+)/gi,`--${$}-$1`);return`${q} { ${W} }`}function xB(X,$,Z,Y){let J=X.split(",").map((Q)=>Q.trim()),G=[];for(let Q of J){if(Q.startsWith(":host")){if(Y)G.push(Q);else{let W=Q.replace(/:host(\([^)]*\))?/,`.${$}$1`);G.push(W)}continue}if(Q.includes("::slotted")){G.push(Q);continue}if(Q===":root"){G.push(`:root .${$}`);continue}let w=Z?`${Z} .${$}`:`.${$}`;G.push(`${w} ${Q}`);let q=fB(Q,$);if(q)G.push(Z?`${Z} ${q}`:q)}return G.join(", ")}function fB(X,$){let Z=0,Y=X.length;for(let q=0;q<X.length;q++){let W=X[q];if(W==="["||W==="(")Z++;else if(W==="]"||W===")")Z--;else if(Z===0&&(W===" "||W===">"||W==="+"||W==="~")){Y=q;break}}let J=X.slice(0,Y),G=X.slice(Y);if(!J)return"";let Q=J.length,w=0;for(let q=0;q<J.length;q++){let W=J[q];if(W==="["||W==="(")w++;else if(W==="]"||W===")")w--;else if(Z===0&&w===0&&W===":"){Q=q;break}}return`${J.slice(0,Q)}.${$}${J.slice(Q)}${G}`}function eJ(X){let $=new Set;return X.replace(/<style\b[^>]*\bdata-stx-scoped(?:=(?:"[^"]*"|'[^']*'|[^\s>]+))?[^>]*>[\s\S]*?<\/style>\s*/gi,(Z)=>{let Y=Z.trim();if($.has(Y))return"";return $.add(Y),Z})}function U8(X,$){if(!gB.test(X))return{html:X,hasScoped:!1};let Z=sJ($),Y=`data-v-${Z}`,J=X,G=new RegExp(`<style\\s+([^>]*${M3}[^>]*)>([\\s\\S]*?)</style>`,"gi"),Q=!1;if(J=J.replace(G,(w,q,W)=>{Q=!0;let U=hB(W,Y),K=q.replace(new RegExp(M3,"gi"),"").trim(),z=K?` ${K}`:"";return`<style data-stx-scoped="${Z}"${z}>${U}</style>`}),!Q)return{html:X,hasScoped:!1};return J=dB(J,Y),{html:J,hasScoped:!0}}function hB(X,$){return oJ(X,"__SCOPE_PLACEHOLDER__",{preserveHost:!1}).replace(/\.(__SCOPE_PLACEHOLDER__) /g,`[${$}] `).replace(/\.(__SCOPE_PLACEHOLDER__)/g,`[${$}]`)}function dB(X,$){let Z=Q1(X,(J,G)=>{let Q=D1(J,G);return Q>G?Q:y5(J,G)},(J,G)=>uB(G)),Y=mB(Z.output,$);return tJ.lastIndex=0,Y.replace(tJ,(J,G)=>Z.tokens[Number(G)])}function mB(X,$){let Z=new Set(["script","style","template","html","head","body","meta","link","title","base","!doctype","!DOCTYPE"]);return X.replace(/<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*)?\/?>/g,(Y,J,G)=>{if(Z.has(J.toLowerCase()))return Y;if(Y.includes($))return Y;if(J.toLowerCase()==="style"||J.toLowerCase()==="script")return Y;if(G)return Y.replace(`<${J}${G}`,`<${J} ${$}${G}`);if(Y.endsWith("/>"))return`<${J} ${$} />`;return`<${J} ${$}>`})}var M3,gB,uB=(X)=>`\x00stx-scope-mask-${X}\x00`,tJ;var N3=D(()=>{$5();M3=String.raw`(?<![\w-])scoped(?![\w-])`,gB=new RegExp(`<style\\s+[^>]*${M3}`,"i");tJ=/\u0000stx-scope-mask-(\d+)\u0000/g});function nB(X){let $=X.storageKey??"stx-color-mode",Z=X.initialMode??"auto",Y=X.darkClass===void 0?"dark":X.darkClass,J=X.attribute??null,G=X.autoValue??null;if(typeof $!=="string"||$.length===0)throw Error("colorMode.storageKey must be a non-empty string");if(!lB.has(Z))throw Error(`colorMode.initialMode must be one of light, dark, auto, system \u2014 got ${JSON.stringify(Z)}`);if(Y!==null&&(typeof Y!=="string"||!iB.test(Y)))throw Error(`colorMode.darkClass must be a single CSS class name, or null to opt out \u2014 got ${JSON.stringify(Y)}`);if(J!==null&&(typeof J!=="string"||!pB.test(J)))throw Error(`colorMode.attribute must be a valid HTML attribute name \u2014 got ${JSON.stringify(J)}`);if(G!==null&&!cB.has(G))throw Error(`colorMode.autoValue must be 'auto' or 'system' \u2014 got ${JSON.stringify(G)}`);if(Y===null&&J===null)throw Error("colorMode needs at least one of darkClass or attribute \u2014 with both null nothing would mark the mode on <html>");return{storageKey:$,initialMode:Z==="system"?"auto":Z,darkClass:Y,attribute:J,autoValue:G}}function rB(X){return JSON.stringify(X).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function I3(X={}){let $=nB(X);return`<script data-stx-color-mode-boot>${`(function(){"use strict";var c=${rB($)};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 XG(X,$={}){if(X.includes("data-stx-color-mode-boot"))return X;let Z=k3(X);if(Z===null)return X;let Y=I3($);return`${X.slice(0,Z)}
3730
- ${Y}${X.slice(Z)}`}function k3(X){let $=/<head\b[^>]*>/i.exec(X);if(!$)return null;let Z=$.index+$[0].length,Y=/^\s*<meta\b[^>]*\bcharset\b[^>]*>/i.exec(X.slice(Z));if(Y)Z+=Y[0].length;return Z}function aB(X){let $=/<head\b[^>]*>/i.exec(X);if(!$)return X;let Z=$.index+$[0].length,Y=X.toLowerCase().indexOf("</head>",Z),J=X.slice(Z,Y===-1?X.length:Y),G=oB.exec(J);if(!G||J.slice(0,G.index).trim()==="")return X;let Q=J.slice(0,G.index)+J.slice(G.index+G[0].length);return X.slice(0,Z)+`
3731
- ${G[0]}`+Q+X.slice(Z+J.length)}function $G(X){return tB(aB(X))}function tB(X){let $=sB.exec(X);if(!$)return X;let Z=k3(X);if(Z===null)return X;if($.index<=Z||X.slice(Z,$.index).trim()==="")return X;let Y=X.slice(0,$.index)+X.slice($.index+$[0].length),J=k3(Y);if(J===null)return X;return`${Y.slice(0,J)}
3732
- ${$[0]}${Y.slice(J)}`}var lB,cB,pB,iB,sB,oB;var E3=D(()=>{lB=new Set(["light","dark","auto","system"]),cB=new Set(["auto","system"]),pB=/^[a-z][\w:-]*$/i,iB=/^[\w-]+$/;sB=new RegExp("<script\\b[^>]*\\bdata-stx-color-mode-boot\\b[^>]*>[\\s\\S]*?<\\/script>","i"),oB=/<meta\b[^>]*\bcharset\b[^>]*>/i});function eB(){if(D3===null)D3=process.env.STX_BUILD_ID||`${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`;return D3}function ZG(X,$=eB()){if(X.includes('name="stx-build"'))return X;let Z=/<head\b[^>]*>/i.exec(X);if(!Z)return X;let Y=Z.index+Z[0].length;return`${X.slice(0,Y)}
3733
- <meta name="stx-build" content="${$}">${X.slice(Y)}`}var D3=null;function R1(X){return String(X).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Xj(X){return String(X).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function y3(X){if(X.name)return`name="${X.name}"`;if(X.property)return`property="${X.property}"`;if(X.charset!=null)return"charset=";if(X["http-equiv"])return`http-equiv="${X["http-equiv"]}"`;return""}function n5(X,$){return Object.entries(X).filter(([Z])=>!$?.(Z)).map(([Z,Y])=>`${Z}="${R1(String(Y))}"`).join(" ")}function $j(X={},$="en"){let Z=[],Y=[],J="",G=$;for(let[w,q]of Object.entries(X||{})){if(q==null)continue;let W=w.trim();if(!JG.test(W))continue;let U=W.toLowerCase();if(U==="lang"){G=String(q);continue}if(U==="class"){J=String(q).trim();continue}Z.push(` ${W}="${R1(String(q))}"`),Y.push(W)}let Q=` lang="${R1(G)}"`;if(J)Q+=` class="${R1(J)}"`;if(Q+=Z.join(""),J)Q+=` ${z8}="${R1(J)}"`;if(Y.length)Q+=` ${K8}="${R1(Y.join(" "))}"`;return Q}function GG(X={},$={}){let Z={...X,...$};if(X.class&&$.class){let Y=X.class.split(/\s+/).filter(Boolean);for(let J of $.class.split(/\s+/).filter(Boolean))if(!Y.includes(J))Y.push(J);Z.class=Y.join(" ")}return Z}function QG(X,$={}){if(!$||Object.keys($).length===0)return X;let Z=X.match(/<html\b([^>]*)>/i);if(!Z)return X;let Y={},J=[],G=/([A-Za-z_:][\w:.-]*)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'>]+)))?/g,Q;while((Q=G.exec(Z[1]))!==null){let U=Q[1];if(!(U in Y))J.push(U);Y[U]=Q[2]??Q[3]??Q[4]??""}let w=[],q=[];for(let[U,K]of Object.entries($)){if(K==null)continue;let z=U.trim();if(!JG.test(z))continue;let B=z.toLowerCase();if(B==="class"){let _=(Y.class||"").split(/\s+/).filter(Boolean);for(let j of String(K).split(/\s+/).filter(Boolean))if(!_.includes(j))_.push(j),w.push(j);if(!("class"in Y))J.push("class");Y.class=_.join(" ");continue}if(!(z in Y))J.push(z);if(Y[z]=String(K),B!=="lang")q.push(z)}if(w.length){if(!(z8 in Y))J.push(z8);Y[z8]=w.join(" ")}if(q.length){if(!(K8 in Y))J.push(K8);Y[K8]=q.join(" ")}let W=J.map((U)=>` ${U}="${R1(Y[U])}"`).join("");return X.replace(Z[0],()=>`<html${W}>`)}function wG(X){if(X.includes("data-stx-cloak"))return X;let $=X.lastIndexOf("</head>");if($===-1)return X;return`${X.slice(0,$)}${YG}
3734
- ${X.slice($)}`}function Zj(X){let $=[],Z=0;while(Z<X.length){let G=X.slice(Z),Q=G.match(/^\s+/);if(Q){Z+=Q[0].length;continue}if(G.startsWith("<!--")){let K=X.indexOf("-->",Z);if(K===-1)break;Z=K+3;continue}let w=G.match(/^<script\b[^>]*>/i);if(w){let K=X.toLowerCase().indexOf("</script>",Z+w[0].length);if(K===-1)break;Z=K+9;continue}let q=G.match(/^<link\b[^>]*>/i);if(q){$.push(q[0]),Z+=q[0].length;continue}let W=G.match(/^<meta\b[^>]*>/i);if(W){$.push(W[0]),Z+=W[0].length;continue}let U=G.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(U){$.push(U[0]),Z+=U[0].length;continue}break}if($.length===0)return{body:X,hoisted:$};let Y="",J=0;while(J<X.length&&J<Z){let G=X.slice(J),Q=G.match(/^<link\b[^>]*>/i);if(Q&&$.includes(Q[0])){J+=Q[0].length;continue}let w=G.match(/^<meta\b[^>]*>/i);if(w&&$.includes(w[0])){J+=w[0].length;continue}let q=G.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(q&&$.includes(q[0])){J+=q[0].length;continue}Y+=X[J],J++}return Y+=X.slice(Z),{body:Y,hoisted:$}}function Yj(X,$={},Z={}){let{title:Y="stx App",lang:J="en",meta:G=[],link:Q=[],script:w=[],headRaw:q="",htmlAttrs:W={},bodyClass:U="",bodyAttrs:K={}}=$,z=Z.title||Y,B=[{charset:"UTF-8"},{name:"viewport",content:"width=device-width, initial-scale=1.0"}],_=new Set(G.map(y3).filter(Boolean)),H=[...B.filter((N)=>!_.has(y3(N))),...G].map((N)=>{return` <meta ${n5(N)}>`}).join(`
3729
+ }`}return`${Q} { ${w} }`}let q=hB(Q,$,Z,Y),W=w;for(let[U,K]of J)W=W.replace(new RegExp(`\\b${U}\\b`,"g"),K);if(G)W=W.replace(/--([a-z-]+)/gi,`--${$}-$1`);return`${q} { ${W} }`}function hB(X,$,Z,Y){let J=X.split(",").map((Q)=>Q.trim()),G=[];for(let Q of J){if(Q.startsWith(":host")){if(Y)G.push(Q);else{let W=Q.replace(/:host(\([^)]*\))?/,`.${$}$1`);G.push(W)}continue}if(Q.includes("::slotted")){G.push(Q);continue}if(Q===":root"){G.push(`:root .${$}`);continue}let w=Z?`${Z} .${$}`:`.${$}`;G.push(`${w} ${Q}`);let q=uB(Q,$);if(q)G.push(Z?`${Z} ${q}`:q)}return G.join(", ")}function uB(X,$){let Z=0,Y=X.length;for(let q=0;q<X.length;q++){let W=X[q];if(W==="["||W==="(")Z++;else if(W==="]"||W===")")Z--;else if(Z===0&&(W===" "||W===">"||W==="+"||W==="~")){Y=q;break}}let J=X.slice(0,Y),G=X.slice(Y);if(!J)return"";let Q=J.length,w=0;for(let q=0;q<J.length;q++){let W=J[q];if(W==="["||W==="(")w++;else if(W==="]"||W===")")w--;else if(Z===0&&w===0&&W===":"){Q=q;break}}return`${J.slice(0,Q)}.${$}${J.slice(Q)}${G}`}function $G(X){let $=new Set;return X.replace(/<style\b[^>]*\bdata-stx-scoped(?:=(?:"[^"]*"|'[^']*'|[^\s>]+))?[^>]*>[\s\S]*?<\/style>\s*/gi,(Z)=>{let Y=Z.trim();if($.has(Y))return"";return $.add(Y),Z})}function U8(X,$){if(!dB.test(X))return{html:X,hasScoped:!1};let Z=aJ($),Y=`data-v-${Z}`,J=X,G=new RegExp(`<style\\s+([^>]*${N3}[^>]*)>([\\s\\S]*?)</style>`,"gi"),Q=!1;if(J=J.replace(G,(w,q,W)=>{Q=!0;let U=mB(W,Y),K=q.replace(new RegExp(N3,"gi"),"").trim(),z=K?` ${K}`:"";return`<style data-stx-scoped="${Z}"${z}>${U}</style>`}),!Q)return{html:X,hasScoped:!1};return J=cB(J,Y),{html:J,hasScoped:!0}}function mB(X,$){return tJ(X,"__SCOPE_PLACEHOLDER__",{preserveHost:!1}).replace(/\.(__SCOPE_PLACEHOLDER__) /g,`[${$}] `).replace(/\.(__SCOPE_PLACEHOLDER__)/g,`[${$}]`)}function cB(X,$){let Z=Q1(X,(J,G)=>{let Q=D1(J,G);return Q>G?Q:y5(J,G)},(J,G)=>lB(G)),Y=pB(Z.output,$);return XG.lastIndex=0,Y.replace(XG,(J,G)=>Z.tokens[Number(G)])}function pB(X,$){let Z=new Set(["script","style","template","html","head","body","meta","link","title","base","!doctype","!DOCTYPE"]);return X.replace(/<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*)?\/?>/g,(Y,J,G)=>{if(Z.has(J.toLowerCase()))return Y;if(Y.includes($))return Y;if(J.toLowerCase()==="style"||J.toLowerCase()==="script")return Y;if(G)return Y.replace(`<${J}${G}`,`<${J} ${$}${G}`);if(Y.endsWith("/>"))return`<${J} ${$} />`;return`<${J} ${$}>`})}var N3,dB,lB=(X)=>`\x00stx-scope-mask-${X}\x00`,XG;var k3=D(()=>{$5();N3=String.raw`(?<![\w-])scoped(?![\w-])`,dB=new RegExp(`<style\\s+[^>]*${N3}`,"i");XG=/\u0000stx-scope-mask-(\d+)\u0000/g});function oB(X){let $=X.storageKey??"stx-color-mode",Z=X.initialMode??"auto",Y=X.darkClass===void 0?"dark":X.darkClass,J=X.attribute??null,G=X.autoValue??null;if(typeof $!=="string"||$.length===0)throw Error("colorMode.storageKey must be a non-empty string");if(!iB.has(Z))throw Error(`colorMode.initialMode must be one of light, dark, auto, system \u2014 got ${JSON.stringify(Z)}`);if(Y!==null&&(typeof Y!=="string"||!sB.test(Y)))throw Error(`colorMode.darkClass must be a single CSS class name, or null to opt out \u2014 got ${JSON.stringify(Y)}`);if(J!==null&&(typeof J!=="string"||!rB.test(J)))throw Error(`colorMode.attribute must be a valid HTML attribute name \u2014 got ${JSON.stringify(J)}`);if(G!==null&&!nB.has(G))throw Error(`colorMode.autoValue must be 'auto' or 'system' \u2014 got ${JSON.stringify(G)}`);if(Y===null&&J===null)throw Error("colorMode needs at least one of darkClass or attribute \u2014 with both null nothing would mark the mode on <html>");return{storageKey:$,initialMode:Z==="system"?"auto":Z,darkClass:Y,attribute:J,autoValue:G}}function aB(X){return JSON.stringify(X).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function E3(X={}){let $=oB(X);return`<script data-stx-color-mode-boot>${`(function(){"use strict";var c=${aB($)};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 ZG(X,$={}){if(X.includes("data-stx-color-mode-boot"))return X;let Z=I3(X);if(Z===null)return X;let Y=E3($);return`${X.slice(0,Z)}
3730
+ ${Y}${X.slice(Z)}`}function I3(X){let $=/<head\b[^>]*>/i.exec(X);if(!$)return null;let Z=$.index+$[0].length,Y=/^\s*<meta\b[^>]*\bcharset\b[^>]*>/i.exec(X.slice(Z));if(Y)Z+=Y[0].length;return Z}function Xj(X){let $=/<head\b[^>]*>/i.exec(X);if(!$)return X;let Z=$.index+$[0].length,Y=X.toLowerCase().indexOf("</head>",Z),J=X.slice(Z,Y===-1?X.length:Y),G=eB.exec(J);if(!G||J.slice(0,G.index).trim()==="")return X;let Q=J.slice(0,G.index)+J.slice(G.index+G[0].length);return X.slice(0,Z)+`
3731
+ ${G[0]}`+Q+X.slice(Z+J.length)}function YG(X){return $j(Xj(X))}function $j(X){let $=tB.exec(X);if(!$)return X;let Z=I3(X);if(Z===null)return X;if($.index<=Z||X.slice(Z,$.index).trim()==="")return X;let Y=X.slice(0,$.index)+X.slice($.index+$[0].length),J=I3(Y);if(J===null)return X;return`${Y.slice(0,J)}
3732
+ ${$[0]}${Y.slice(J)}`}var iB,nB,rB,sB,tB,eB;var D3=D(()=>{iB=new Set(["light","dark","auto","system"]),nB=new Set(["auto","system"]),rB=/^[a-z][\w:-]*$/i,sB=/^[\w-]+$/;tB=new RegExp("<script\\b[^>]*\\bdata-stx-color-mode-boot\\b[^>]*>[\\s\\S]*?<\\/script>","i"),eB=/<meta\b[^>]*\bcharset\b[^>]*>/i});function Zj(){if(y3===null)y3=process.env.STX_BUILD_ID||`${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`;return y3}function JG(X,$=Zj()){if(X.includes('name="stx-build"'))return X;let Z=/<head\b[^>]*>/i.exec(X);if(!Z)return X;let Y=Z.index+Z[0].length;return`${X.slice(0,Y)}
3733
+ <meta name="stx-build" content="${$}">${X.slice(Y)}`}var y3=null;function R1(X){return String(X).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Yj(X){return String(X).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function b3(X){if(X.name)return`name="${X.name}"`;if(X.property)return`property="${X.property}"`;if(X.charset!=null)return"charset=";if(X["http-equiv"])return`http-equiv="${X["http-equiv"]}"`;return""}function n5(X,$){return Object.entries(X).filter(([Z])=>!$?.(Z)).map(([Z,Y])=>`${Z}="${R1(String(Y))}"`).join(" ")}function Jj(X={},$="en"){let Z=[],Y=[],J="",G=$;for(let[w,q]of Object.entries(X||{})){if(q==null)continue;let W=w.trim();if(!QG.test(W))continue;let U=W.toLowerCase();if(U==="lang"){G=String(q);continue}if(U==="class"){J=String(q).trim();continue}Z.push(` ${W}="${R1(String(q))}"`),Y.push(W)}let Q=` lang="${R1(G)}"`;if(J)Q+=` class="${R1(J)}"`;if(Q+=Z.join(""),J)Q+=` ${z8}="${R1(J)}"`;if(Y.length)Q+=` ${K8}="${R1(Y.join(" "))}"`;return Q}function wG(X={},$={}){let Z={...X,...$};if(X.class&&$.class){let Y=X.class.split(/\s+/).filter(Boolean);for(let J of $.class.split(/\s+/).filter(Boolean))if(!Y.includes(J))Y.push(J);Z.class=Y.join(" ")}return Z}function qG(X,$={}){if(!$||Object.keys($).length===0)return X;let Z=X.match(/<html\b([^>]*)>/i);if(!Z)return X;let Y={},J=[],G=/([A-Za-z_:][\w:.-]*)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'>]+)))?/g,Q;while((Q=G.exec(Z[1]))!==null){let U=Q[1];if(!(U in Y))J.push(U);Y[U]=Q[2]??Q[3]??Q[4]??""}let w=[],q=[];for(let[U,K]of Object.entries($)){if(K==null)continue;let z=U.trim();if(!QG.test(z))continue;let B=z.toLowerCase();if(B==="class"){let _=(Y.class||"").split(/\s+/).filter(Boolean);for(let j of String(K).split(/\s+/).filter(Boolean))if(!_.includes(j))_.push(j),w.push(j);if(!("class"in Y))J.push("class");Y.class=_.join(" ");continue}if(!(z in Y))J.push(z);if(Y[z]=String(K),B!=="lang")q.push(z)}if(w.length){if(!(z8 in Y))J.push(z8);Y[z8]=w.join(" ")}if(q.length){if(!(K8 in Y))J.push(K8);Y[K8]=q.join(" ")}let W=J.map((U)=>` ${U}="${R1(Y[U])}"`).join("");return X.replace(Z[0],()=>`<html${W}>`)}function WG(X){if(X.includes("data-stx-cloak"))return X;let $=X.lastIndexOf("</head>");if($===-1)return X;return`${X.slice(0,$)}${GG}
3734
+ ${X.slice($)}`}function Gj(X){let $=[],Z=0;while(Z<X.length){let G=X.slice(Z),Q=G.match(/^\s+/);if(Q){Z+=Q[0].length;continue}if(G.startsWith("<!--")){let K=X.indexOf("-->",Z);if(K===-1)break;Z=K+3;continue}let w=G.match(/^<script\b[^>]*>/i);if(w){let K=X.toLowerCase().indexOf("</script>",Z+w[0].length);if(K===-1)break;Z=K+9;continue}let q=G.match(/^<link\b[^>]*>/i);if(q){$.push(q[0]),Z+=q[0].length;continue}let W=G.match(/^<meta\b[^>]*>/i);if(W){$.push(W[0]),Z+=W[0].length;continue}let U=G.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(U){$.push(U[0]),Z+=U[0].length;continue}break}if($.length===0)return{body:X,hoisted:$};let Y="",J=0;while(J<X.length&&J<Z){let G=X.slice(J),Q=G.match(/^<link\b[^>]*>/i);if(Q&&$.includes(Q[0])){J+=Q[0].length;continue}let w=G.match(/^<meta\b[^>]*>/i);if(w&&$.includes(w[0])){J+=w[0].length;continue}let q=G.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(q&&$.includes(q[0])){J+=q[0].length;continue}Y+=X[J],J++}return Y+=X.slice(Z),{body:Y,hoisted:$}}function Qj(X,$={},Z={}){let{title:Y="stx App",lang:J="en",meta:G=[],link:Q=[],script:w=[],headRaw:q="",htmlAttrs:W={},bodyClass:U="",bodyAttrs:K={}}=$,z=Z.title||Y,B=[{charset:"UTF-8"},{name:"viewport",content:"width=device-width, initial-scale=1.0"}],_=new Set(G.map(b3).filter(Boolean)),H=[...B.filter((N)=>!_.has(b3(N))),...G].map((N)=>{return` <meta ${n5(N)}>`}).join(`
3735
3735
  `),L=Q.map((N)=>{return` <link ${n5(N)}>`}).join(`
3736
3736
  `),O=w.map((N)=>{if(N.src)return` <script ${n5(N,(y)=>y==="content")}></script>`;if(N.content)return` <script>${N.content}</script>`;return""}).filter(Boolean).join(`
3737
- `),F=$j(W,J),V=Object.entries(K).map(([N,y])=>` ${N}="${R1(String(y))}"`).join(""),A=U?` class="${R1(U)}"`:"",{body:R,hoisted:T}=Zj(X),M=[H,Z.colorMode?` ${I3(Z.colorMode)}`:"",` <title>${Z.titleIsHtml?z:Xj(z)}</title>`,` ${YG}`,L,O,q?` ${q}`:"",...(Z.styles||[]).map((N)=>` ${N}`),...T.map((N)=>` ${N}`),...(Z.headScripts||[]).map((N)=>` ${N}`),Z.headStack||""].filter(Boolean),k=[R,...(Z.bodyScripts||[]).map((N)=>N),Z.bodyStack||""].filter(Boolean);return`<!DOCTYPE html>
3737
+ `),F=Jj(W,J),V=Object.entries(K).map(([N,y])=>` ${N}="${R1(String(y))}"`).join(""),A=U?` class="${R1(U)}"`:"",{body:R,hoisted:T}=Gj(X),M=[H,Z.colorMode?` ${E3(Z.colorMode)}`:"",` <title>${Z.titleIsHtml?z:Yj(z)}</title>`,` ${GG}`,L,O,q?` ${q}`:"",...(Z.styles||[]).map((N)=>` ${N}`),...T.map((N)=>` ${N}`),...(Z.headScripts||[]).map((N)=>` ${N}`),Z.headStack||""].filter(Boolean),k=[R,...(Z.bodyScripts||[]).map((N)=>N),Z.bodyStack||""].filter(Boolean);return`<!DOCTYPE html>
3738
3738
  <html${F}>
3739
3739
  <head>
3740
3740
  ${M.join(`
@@ -3744,9 +3744,9 @@ ${M.join(`
3744
3744
  ${k.join(`
3745
3745
  `)}
3746
3746
  </body>
3747
- </html>`}function b3(X){let $=0;while($<X.length){let Z=X.slice($),Y=Z.match(/^\s+/);if(Y){$+=Y[0].length;continue}if(Z.startsWith("<!--")){let G=X.indexOf("-->",$);if(G===-1)return!1;$=G+3;continue}let J=Z.match(/^<(script|style)\b[^>]*>/i);if(J){let G=`</${J[1].toLowerCase()}>`,Q=X.toLowerCase().indexOf(G,$+J[0].length);if(Q===-1)return!1;$=Q+G.length;continue}return/^<!DOCTYPE\b/i.test(Z)||/^<html[\s>]/i.test(Z)}return!1}function S3(X){return b3(X)}function qG(X,$={}){let Z=X.lastIndexOf("</head>");if(Z===-1)return X;let{meta:Y=[],link:J=[],script:G=[],headRaw:Q=""}=$,w=X.slice(0,Z),q=[];for(let W of Y){let U=y3(W);if(U&&w.includes(U))continue;q.push(` <meta ${n5(W)}>`)}for(let W of J){if(W.href&&w.includes(`href="${W.href}"`))continue;q.push(` <link ${n5(W)}>`)}for(let W of G)if(W.src){if(w.includes(`src="${W.src}"`))continue;q.push(` <script ${n5(W,(U)=>U==="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 X;return`${X.slice(0,Z)}${q.join(`
3747
+ </html>`}function S3(X){let $=0;while($<X.length){let Z=X.slice($),Y=Z.match(/^\s+/);if(Y){$+=Y[0].length;continue}if(Z.startsWith("<!--")){let G=X.indexOf("-->",$);if(G===-1)return!1;$=G+3;continue}let J=Z.match(/^<(script|style)\b[^>]*>/i);if(J){let G=`</${J[1].toLowerCase()}>`,Q=X.toLowerCase().indexOf(G,$+J[0].length);if(Q===-1)return!1;$=Q+G.length;continue}return/^<!DOCTYPE\b/i.test(Z)||/^<html[\s>]/i.test(Z)}return!1}function C3(X){return S3(X)}function UG(X,$={}){let Z=X.lastIndexOf("</head>");if(Z===-1)return X;let{meta:Y=[],link:J=[],script:G=[],headRaw:Q=""}=$,w=X.slice(0,Z),q=[];for(let W of Y){let U=b3(W);if(U&&w.includes(U))continue;q.push(` <meta ${n5(W)}>`)}for(let W of J){if(W.href&&w.includes(`href="${W.href}"`))continue;q.push(` <link ${n5(W)}>`)}for(let W of G)if(W.src){if(w.includes(`src="${W.src}"`))continue;q.push(` <script ${n5(W,(U)=>U==="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 X;return`${X.slice(0,Z)}${q.join(`
3748
3748
  `)}
3749
- ${X.slice(Z)}`}function WG(X,$={},Z={}){if(S3(X))return X;return Yj(X,$,Z)}var YG="<style data-stx-cloak>[x-cloak]{display:none !important}</style>",K8="data-stx-html-attrs",z8="data-stx-html-class",JG;var UG=D(()=>{E3();JG=/^[A-Za-z_:][\w:.-]*$/});function KG(X,$={}){return new T5(X,$).routes}var zG=D(()=>{n1();n1()});async function BG(X){let $=X;if(!$)try{$=(await u1())?.pagesDir||"pages"}catch{$="pages"}let Z=$,Y=_G.get(Z);if(Y)return Y;let J=[];try{J=KG(".",{pagesDir:Z}).map((G)=>G.regex.source).filter(Boolean)}catch{J=[]}return _G.set(Z,J),J}var _G;var jG=D(()=>{zG();H1();_G=new Map});function Jj(X){return X.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function HG(X){return Jj(JSON.stringify(X))}function d1(X){let $=X,Z=new Set,Y=new Set,J=()=>{if(m0)Y.add(m0);return $};return J.set=(G)=>{if(!Object.is(G,$)){let Q=$;if($=G,Z.forEach((w)=>w($,Q)),n7)Y.forEach((w)=>B8.add(w));else Y.forEach((w)=>w())}},J.update=(G)=>{J.set(G($))},J.subscribe=(G)=>{return Z.add(G),()=>Z.delete(G)},Object.defineProperty(J,"_isSignal",{value:!0,writable:!1}),Object.defineProperty(J,"value",{get:()=>J(),set:(G)=>J.set(G),configurable:!0}),J}function H8(X){let $,Z=!0,Y=new Set,J=()=>{if(!Z)if(Z=!0,n7)Y.forEach((Q)=>B8.add(Q));else Y.forEach((Q)=>Q())},G=()=>{if(m0)Y.add(m0);if(Z){let Q=m0;m0=J,_8.push(J);try{$=X()}finally{_8.pop(),m0=Q}Z=!1}return $};return Object.defineProperty(G,"_isDerived",{value:!0,writable:!1}),Object.defineProperty(G,"value",{get:()=>G(),configurable:!0}),G}function L8(X,$={}){let Z,Y=!1,J=()=>{if(Y)return;if(Z)Z(),Z=void 0;let G=m0;m0=J,_8.push(J);try{let Q=X();Z=typeof Q==="function"?Q:void 0}finally{_8.pop(),m0=G}};if($.immediate!==!1)J();return()=>{if(Y=!0,Z)Z()}}function P3(X){if(n7){X();return}n7=!0;try{X()}finally{n7=!1,B8.forEach(($)=>$()),B8.clear()}}function v3(X){C3.push(X)}function x3(X){j8.push(X)}function Gj(){LG(C3,"onMount",j8)}function Qj(){LG(j8,"onDestroy")}function LG(X,$,Z){let Y=X.splice(0,X.length);for(let J of Y)try{let G=J();if(Z&&typeof G==="function")Z.push(G)}catch(G){console.error(`[stx] ${$} callback threw:`,G)}}function wj(){return{mount:C3.length,destroy:j8.length}}function O8(X){return typeof X==="function"&&X._isSignal===!0}function F8(X){return typeof X==="function"&&X._isDerived===!0}function f3(X){if(O8(X)||F8(X))return X();return X}function V8(X){let $=m0;m0=null;try{return X()}finally{m0=$}}function qj(X,$){let Z=typeof X==="function"?X:()=>X,Y=d1([]),J=H8(()=>Y().reduce((w,q)=>$(w,q.action),Z())),G=!1;return L8(()=>{if(Z(),!G){G=!0;return}if(V8(()=>Y().length))Y.set([])}),[J,(w,q)=>{let W={action:w};Y.set([...Y(),W]);let U=()=>{let K=Y().filter((z)=>z!==W);if(K.length!==Y().length)Y.set(K)};if(q&&typeof q.then==="function")Promise.resolve(q).then(U,U);return U}]}var m0=null,_8,n7=!1,B8,C3,j8;var A8=D(()=>{_8=[],B8=new Set,C3=[],j8=[]});var FG={};t(FG,{useOptimistic:()=>qj,untrack:()=>f3,state:()=>d1,runMountCallbacks:()=>Gj,runDestroyCallbacks:()=>Qj,pendingLifecycleCounts:()=>wj,peek:()=>V8,onMount:()=>v3,onDestroy:()=>x3,isSignal:()=>O8,isDerived:()=>F8,generateSignalsRuntimeDev:()=>g3,generateSignalsRuntime:()=>OG,effect:()=>L8,derived:()=>H8,default:()=>Uj,batch:()=>P3});function OG(){let X=Wj(g3());try{let Z=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync(X);return Z=Z.replace(/\}(var |let |const |function )/g,"};$1"),Z}catch{return X}}function Wj(X){let $=[],Z=0,Y="console.log(";while(Z<X.length){let J=X.indexOf(Y,Z);if(J===-1){$.push(X.slice(Z));break}$.push(X.slice(Z,J));let G=1,Q=J+Y.length;while(Q<X.length&&G>0){let w=X[Q];if(w==='"'||w==="'"||w==="`"){let q=w;Q++;while(Q<X.length&&X[Q]!==q){if(X[Q]==="\\")Q++;Q++}Q++;continue}if(w==="(")G++;else if(w===")")G--;Q++}$.push("0"),Z=Q}return $.join("")}function g3(){return`
3749
+ ${X.slice(Z)}`}function KG(X,$={},Z={}){if(C3(X))return X;return Qj(X,$,Z)}var GG="<style data-stx-cloak>[x-cloak]{display:none !important}</style>",K8="data-stx-html-attrs",z8="data-stx-html-class",QG;var zG=D(()=>{D3();QG=/^[A-Za-z_:][\w:.-]*$/});function _G(X,$={}){return new T5(X,$).routes}var BG=D(()=>{n1();n1()});async function HG(X){let $=X;if(!$)try{$=(await u1())?.pagesDir||"pages"}catch{$="pages"}let Z=$,Y=jG.get(Z);if(Y)return Y;let J=[];try{J=_G(".",{pagesDir:Z}).map((G)=>G.regex.source).filter(Boolean)}catch{J=[]}return jG.set(Z,J),J}var jG;var LG=D(()=>{BG();H1();jG=new Map});function wj(X){return X.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function OG(X){return wj(JSON.stringify(X))}function d1(X){let $=X,Z=new Set,Y=new Set,J=()=>{if(m0)Y.add(m0);return $};return J.set=(G)=>{if(!Object.is(G,$)){let Q=$;if($=G,Z.forEach((w)=>w($,Q)),n7)Y.forEach((w)=>B8.add(w));else Y.forEach((w)=>w())}},J.update=(G)=>{J.set(G($))},J.subscribe=(G)=>{return Z.add(G),()=>Z.delete(G)},Object.defineProperty(J,"_isSignal",{value:!0,writable:!1}),Object.defineProperty(J,"value",{get:()=>J(),set:(G)=>J.set(G),configurable:!0}),J}function H8(X){let $,Z=!0,Y=new Set,J=()=>{if(!Z)if(Z=!0,n7)Y.forEach((Q)=>B8.add(Q));else Y.forEach((Q)=>Q())},G=()=>{if(m0)Y.add(m0);if(Z){let Q=m0;m0=J,_8.push(J);try{$=X()}finally{_8.pop(),m0=Q}Z=!1}return $};return Object.defineProperty(G,"_isDerived",{value:!0,writable:!1}),Object.defineProperty(G,"value",{get:()=>G(),configurable:!0}),G}function L8(X,$={}){let Z,Y=!1,J=()=>{if(Y)return;if(Z)Z(),Z=void 0;let G=m0;m0=J,_8.push(J);try{let Q=X();Z=typeof Q==="function"?Q:void 0}finally{_8.pop(),m0=G}};if($.immediate!==!1)J();return()=>{if(Y=!0,Z)Z()}}function v3(X){if(n7){X();return}n7=!0;try{X()}finally{n7=!1,B8.forEach(($)=>$()),B8.clear()}}function x3(X){P3.push(X)}function f3(X){j8.push(X)}function qj(){FG(P3,"onMount",j8)}function Wj(){FG(j8,"onDestroy")}function FG(X,$,Z){let Y=X.splice(0,X.length);for(let J of Y)try{let G=J();if(Z&&typeof G==="function")Z.push(G)}catch(G){console.error(`[stx] ${$} callback threw:`,G)}}function Uj(){return{mount:P3.length,destroy:j8.length}}function O8(X){return typeof X==="function"&&X._isSignal===!0}function F8(X){return typeof X==="function"&&X._isDerived===!0}function g3(X){if(O8(X)||F8(X))return X();return X}function V8(X){let $=m0;m0=null;try{return X()}finally{m0=$}}function Kj(X,$){let Z=typeof X==="function"?X:()=>X,Y=d1([]),J=H8(()=>Y().reduce((w,q)=>$(w,q.action),Z())),G=!1;return L8(()=>{if(Z(),!G){G=!0;return}if(V8(()=>Y().length))Y.set([])}),[J,(w,q)=>{let W={action:w};Y.set([...Y(),W]);let U=()=>{let K=Y().filter((z)=>z!==W);if(K.length!==Y().length)Y.set(K)};if(q&&typeof q.then==="function")Promise.resolve(q).then(U,U);return U}]}var m0=null,_8,n7=!1,B8,P3,j8;var A8=D(()=>{_8=[],B8=new Set,P3=[],j8=[]});var AG={};t(AG,{useOptimistic:()=>Kj,untrack:()=>g3,state:()=>d1,runMountCallbacks:()=>qj,runDestroyCallbacks:()=>Wj,pendingLifecycleCounts:()=>Uj,peek:()=>V8,onMount:()=>x3,onDestroy:()=>f3,isSignal:()=>O8,isDerived:()=>F8,generateSignalsRuntimeDev:()=>h3,generateSignalsRuntime:()=>VG,effect:()=>L8,derived:()=>H8,default:()=>_j,batch:()=>v3});function VG(){let X=zj(h3());try{let Z=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync(X);return Z=Z.replace(/\}(var |let |const |function )/g,"};$1"),Z}catch{return X}}function zj(X){let $=[],Z=0,Y="console.log(";while(Z<X.length){let J=X.indexOf(Y,Z);if(J===-1){$.push(X.slice(Z));break}$.push(X.slice(Z,J));let G=1,Q=J+Y.length;while(Q<X.length&&G>0){let w=X[Q];if(w==='"'||w==="'"||w==="`"){let q=w;Q++;while(Q<X.length&&X[Q]!==q){if(X[Q]==="\\")Q++;Q++}Q++;continue}if(w==="(")G++;else if(w===")")G--;Q++}$.push("0"),Z=Q}return $.join("")}function h3(){return`
3750
3750
  // STX Signals Runtime (Development Build)
3751
3751
  console.log('[stx] signals runtime loading');
3752
3752
  // Pre-initialization shim: capture onMount/onDestroy calls made before the runtime IIFE runs
@@ -6296,7 +6296,7 @@ catch (e2) {
6296
6296
  // :attr still works for backward compat but is reserved for structural directives.
6297
6297
  // x-text, x-html, x-model, x-show, x-if, x-for, x-cloak, x-ref, x-data are
6298
6298
  // handled by their own code paths below \u2014 exclude them here.
6299
- var X_HANDLED = ${Z6()};
6299
+ var X_HANDLED = ${Y6()};
6300
6300
  if (name.startsWith('@bind:') || name.startsWith('x-bind:')
6301
6301
  || (name.startsWith(':') && !name.startsWith('::') && !DIRECTIVE_NAMES[name.slice(1).split('.')[0]] && !EVENT_RE.test(name.slice(1)))
6302
6302
  || (name.startsWith('x-') && !X_HANDLED[name.split('.')[0]] && !X_HANDLED[name])) {
@@ -11507,25 +11507,25 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
11507
11507
  }
11508
11508
  }
11509
11509
  })();
11510
- `}var Uj;var VG=D(()=>{A8();G1();A8();Uj={state:d1,derived:H8,effect:L8,batch:P3,onMount:v3,onDestroy:x3,isSignal:O8,isDerived:F8,untrack:f3,peek:V8,generateSignalsRuntime:OG,generateSignalsRuntimeDev:g3}});var h3={};t(h3,{templateCache:()=>AG,readFileCached:()=>Kj,invalidateFileCacheByDir:()=>_j,invalidateFileCache:()=>zj,hashFilePath:()=>r7,getCachedSignalsRuntime:()=>Hj,getCachedRouterScript:()=>Lj,clearDevCaches:()=>Oj,checkCache:()=>Fj,cacheTemplate:()=>Vj,__setSignalsGeneratorsForTest:()=>jj});import m1 from"fs";import r5 from"path";async function Kj(X){let Z;for(let Y=0;Y<3;Y++)try{let G=(await m1.promises.stat(X)).mtime.getTime(),Q=z5.get(X);if(Q&&Q.mtime===G)return Q.content;let w=await Bun.file(X).text(),W=(await m1.promises.stat(X)).mtime.getTime();if(W!==G)continue;return z5.set(X,{content:w,mtime:W}),w}catch(J){Z=J;break}throw z5.delete(X),Error(`File not found: ${X}${Z?` (${Z.message})`:""}`)}function zj(X){z5.delete(X)}function _j(X){for(let $ of z5.keys())if($.startsWith(X))z5.delete($)}function jj(X){RG=X}async function Hj(X=!1){let $=RG??await Promise.resolve().then(() => (VG(),FG));if(X)return $.generateSignalsRuntimeDev();if(R8===null)R8=$.generateSignalsRuntime();return R8}async function Lj(){if(T8===null){let{getRouterScript:X}=await Promise.resolve().then(() => (n1(),p2));T8=X()}return T8}function Oj(){z5.clear(),MG(),R8=null,Bj=null,T8=null}function TG(X){let $={debug:X.debug===!0,middleware:(X.middleware??[]).map((Z)=>({name:Z.name,timing:Z.timing,handler:String(Z.handler)})),customDirectives:(X.customDirectives??[]).map((Z)=>({name:Z.name,hasEndTag:Z.hasEndTag===!0,handler:String(Z.handler)}))};return new Bun.CryptoHasher("sha1").update(JSON.stringify($)).digest("hex")}async function Fj(X,$){try{if(!$.cachePath)return null;let Z=r5.resolve($.cachePath),Y=r5.join(Z,`${r7(X)}.html`),J=r5.join(Z,`${r7(X)}.meta.json`);if(!await i(Y)||!await i(J))return null;let G=await Bun.file(J).text(),Q=JSON.parse(G);if(Q.cacheVersion!==$.cacheVersion)return null;if(Q.optionsSignature!==TG($))return null;if((await m1.promises.stat(X)).mtime.getTime()>Q.mtime)return null;for(let q of Q.dependencies)if(await i(q)){if((await m1.promises.stat(q)).mtime.getTime()>Q.mtime)return null}else return null;return await Bun.file(Y).text()}catch(Z){return console.warn(`Cache error for ${X}:`,Z),null}}async function Vj(X,$,Z,Y){try{if(!Y.cachePath)return;let J=r5.resolve(Y.cachePath);await m1.promises.mkdir(J,{recursive:!0});let G=r5.join(J,`${r7(X)}.html`),Q=r5.join(J,`${r7(X)}.meta.json`),w=await m1.promises.stat(X);await Bun.write(G,$);let q={sourcePath:X,mtime:w.mtime.getTime(),dependencies:Array.from(Z),cacheVersion:Y.cacheVersion,optionsSignature:TG(Y),generatedAt:Date.now()};await Bun.write(Q,JSON.stringify(q,null,2)),AG.set(X,{output:$,mtime:w.mtime.getTime(),dependencies:Z})}catch(J){console.warn(`Failed to cache template ${X}:`,J)}}function r7(X){return new Bun.CryptoHasher("sha1").update(X).digest("hex").substring(0,Aj)}var AG,z5,R8=null,Bj=null,RG=null,T8=null,Aj=16;var u3=D(()=>{T0();AG=new Map,z5=new Map});function NG(X){return X.includes("data-stx-runtime")}function kG(X){let $=/window\.stx\s*\.\s*[A-Za-z_$]|\}\s*=\s*window\.stx\s*;/g;for(let Z=$.exec(X);Z!==null;Z=$.exec(X)){let Y=X.slice(Math.max(0,Z.index-80),Z.index);if(/if\s*\(\s*window\.stx\s*\)|window\.stx\s*&&/.test(Y))continue;return!0}return!1}async function M8(X,$){if(X.includes("data-stx-runtime")||X.includes("window.stx.state")||X.includes("STX Signals Runtime"))return X;if($.buildMode==="serve"){let w=X.indexOf("<script");if(w!==-1)return X.slice(0,w)+`<script data-stx-runtime src="/_stx/runtime.js"></script>
11510
+ `}var _j;var RG=D(()=>{A8();G1();A8();_j={state:d1,derived:H8,effect:L8,batch:v3,onMount:x3,onDestroy:f3,isSignal:O8,isDerived:F8,untrack:g3,peek:V8,generateSignalsRuntime:VG,generateSignalsRuntimeDev:h3}});var u3={};t(u3,{templateCache:()=>TG,readFileCached:()=>Bj,invalidateFileCacheByDir:()=>Hj,invalidateFileCache:()=>jj,hashFilePath:()=>r7,getCachedSignalsRuntime:()=>Fj,getCachedRouterScript:()=>Vj,clearDevCaches:()=>Aj,checkCache:()=>Rj,cacheTemplate:()=>Tj,__setSignalsGeneratorsForTest:()=>Oj});import m1 from"fs";import r5 from"path";async function Bj(X){let Z;for(let Y=0;Y<3;Y++)try{let G=(await m1.promises.stat(X)).mtime.getTime(),Q=z5.get(X);if(Q&&Q.mtime===G)return Q.content;let w=await Bun.file(X).text(),W=(await m1.promises.stat(X)).mtime.getTime();if(W!==G)continue;return z5.set(X,{content:w,mtime:W}),w}catch(J){Z=J;break}throw z5.delete(X),Error(`File not found: ${X}${Z?` (${Z.message})`:""}`)}function jj(X){z5.delete(X)}function Hj(X){for(let $ of z5.keys())if($.startsWith(X))z5.delete($)}function Oj(X){MG=X}async function Fj(X=!1){let $=MG??await Promise.resolve().then(() => (RG(),AG));if(X)return $.generateSignalsRuntimeDev();if(R8===null)R8=$.generateSignalsRuntime();return R8}async function Vj(){if(T8===null){let{getRouterScript:X}=await Promise.resolve().then(() => (n1(),i2));T8=X()}return T8}function Aj(){z5.clear(),kG(),R8=null,Lj=null,T8=null}function NG(X){let $={debug:X.debug===!0,middleware:(X.middleware??[]).map((Z)=>({name:Z.name,timing:Z.timing,handler:String(Z.handler)})),customDirectives:(X.customDirectives??[]).map((Z)=>({name:Z.name,hasEndTag:Z.hasEndTag===!0,handler:String(Z.handler)}))};return new Bun.CryptoHasher("sha1").update(JSON.stringify($)).digest("hex")}async function Rj(X,$){try{if(!$.cachePath)return null;let Z=r5.resolve($.cachePath),Y=r5.join(Z,`${r7(X)}.html`),J=r5.join(Z,`${r7(X)}.meta.json`);if(!await i(Y)||!await i(J))return null;let G=await Bun.file(J).text(),Q=JSON.parse(G);if(Q.cacheVersion!==$.cacheVersion)return null;if(Q.optionsSignature!==NG($))return null;if((await m1.promises.stat(X)).mtime.getTime()>Q.mtime)return null;for(let q of Q.dependencies)if(await i(q)){if((await m1.promises.stat(q)).mtime.getTime()>Q.mtime)return null}else return null;return await Bun.file(Y).text()}catch(Z){return console.warn(`Cache error for ${X}:`,Z),null}}async function Tj(X,$,Z,Y){try{if(!Y.cachePath)return;let J=r5.resolve(Y.cachePath);await m1.promises.mkdir(J,{recursive:!0});let G=r5.join(J,`${r7(X)}.html`),Q=r5.join(J,`${r7(X)}.meta.json`),w=await m1.promises.stat(X);await Bun.write(G,$);let q={sourcePath:X,mtime:w.mtime.getTime(),dependencies:Array.from(Z),cacheVersion:Y.cacheVersion,optionsSignature:NG(Y),generatedAt:Date.now()};await Bun.write(Q,JSON.stringify(q,null,2)),TG.set(X,{output:$,mtime:w.mtime.getTime(),dependencies:Z})}catch(J){console.warn(`Failed to cache template ${X}:`,J)}}function r7(X){return new Bun.CryptoHasher("sha1").update(X).digest("hex").substring(0,Mj)}var TG,z5,R8=null,Lj=null,MG=null,T8=null,Mj=16;var d3=D(()=>{T0();TG=new Map,z5=new Map});function IG(X){return X.includes("data-stx-runtime")}function EG(X){let $=/window\.stx\s*\.\s*[A-Za-z_$]|\}\s*=\s*window\.stx\s*;/g;for(let Z=$.exec(X);Z!==null;Z=$.exec(X)){let Y=X.slice(Math.max(0,Z.index-80),Z.index);if(/if\s*\(\s*window\.stx\s*\)|window\.stx\s*&&/.test(Y))continue;return!0}return!1}async function M8(X,$){if(X.includes("data-stx-runtime")||X.includes("window.stx.state")||X.includes("STX Signals Runtime"))return X;if($.buildMode==="serve"){let w=X.indexOf("<script");if(w!==-1)return X.slice(0,w)+`<script data-stx-runtime src="/_stx/runtime.js"></script>
11511
11511
  `+X.slice(w);if(X.includes("</head>")){let q=X.indexOf("</head>");return X.slice(0,q)+`<script data-stx-runtime src="/_stx/runtime.js"></script>
11512
11512
  `+X.slice(q)}return`<script data-stx-runtime src="/_stx/runtime.js"></script>
11513
11513
  `+X}if($.buildMode==="compile"){let w=X.indexOf("<script");if(w!==-1)return X.slice(0,w)+`<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>
11514
11514
  `+X.slice(w);if(X.includes("</head>")){let q=X.indexOf("</head>");return X.slice(0,q)+`<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>
11515
11515
  `+X.slice(q)}return`<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>
11516
- `+X}let{getCachedSignalsRuntime:Z}=await Promise.resolve().then(() => (u3(),h3)),J=`<script data-stx-scoped data-stx-runtime>${await Z($.debug)}</script>`,G=X.indexOf("<script");if(G!==-1)return X.slice(0,G)+J+`
11516
+ `+X}let{getCachedSignalsRuntime:Z}=await Promise.resolve().then(() => (d3(),u3)),J=`<script data-stx-scoped data-stx-runtime>${await Z($.debug)}</script>`,G=X.indexOf("<script");if(G!==-1)return X.slice(0,G)+J+`
11517
11517
  `+X.slice(G);if(X.includes("</head>")){let Q=X.indexOf("</head>");return X.slice(0,Q)+J+`
11518
11518
  `+X.slice(Q)}if(X.includes("<body")){let Q=X.indexOf("<body"),w=X.indexOf(">",Q);return X.slice(0,w+1)+`
11519
11519
  `+J+X.slice(w+1)}return J+`
11520
- `+X}async function d3(X,$){if(!X.includes("</body>"))return X;if(X.includes("data-stx-router")||X.includes("__stxRouter)return")||X.includes("__stxRouter=true"))return X;let Z=$?.router,Y="";{let 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 BG($?.pagesDir);if(q.length>0)w.ownedRoutes=q}catch{}if(Object.keys(w).length>0)Y=`<script>window.__stxRouterConfig=${HG(w)};</script>
11521
- `}let{getCachedRouterScript:J}=await Promise.resolve().then(() => (u3(),h3)),G=$?.buildMode==="compile"?'<script data-stx-router src="/__stx/router.__STX_HASH__.js"></script>':$?.buildMode==="serve"?'<script data-stx-router src="/_stx/router.js"></script>':`<script data-stx-router>${await J()}</script>`,Q=X.lastIndexOf("</body>");return X.slice(0,Q)+Y+G+`
11522
- </body>`+X.slice(Q+7)}var N8=D(()=>{jG();w9()});var D8={};t(D8,{scanScriptTags:()=>CG,rewriteStxImportSpecifiers:()=>fG,processSignals:()=>i3,processScriptSetup:()=>vG,preEvalLiteralReactiveIfs:()=>c3,parseLoopExpression:()=>PG,hasSignalsSyntax:()=>E8,findMarkupIndexOutsideScripts:()=>I8,extractExports:()=>xG,convertSignalLoopsToAttributes:()=>p3,convertSignalDirectivesToAttributes:()=>l3});function CG(X,$={}){let Z=[];for(let Y of a$(X,D1)){let J=Y.token.match(/^<script\b([^>]*)>/i),G=Y.token.match(/<\/script\s*>$/i);if(!J||!G)continue;let Q=J[1];if($.skipAttrs){if($.skipAttrs.lastIndex=0,$.skipAttrs.test(Q))continue}let w=J[0].length,q=Y.token.length-G[0].length;Z.push({fullMatch:Y.token,attrs:Q,body:Y.token.slice(w,q),start:Y.start,end:Y.end})}return Z}function PG(X){let $=X.trim(),Z=$.match(/^([\s\S]+?)\s+as\s+(.+)$/);if(Z){let J=Z[1].trim(),G=Z[2].trim(),{itemVar:Q,indexVar:w}=EG(G);if(Q)return{style:"as",iterable:J,itemVar:Q,indexVar:w}}let Y=$.match(/^(\([^)]+\)|\w+(?:\s*,\s*\w+)?)\s+(?:in|of)\s+([\s\S]+)$/);if(Y){let J=Y[1].trim(),G=Y[2].trim(),{itemVar:Q,indexVar:w}=EG(J);if(Q)return{style:"in",iterable:G,itemVar:Q,indexVar:w}}return{style:"unknown",iterable:null,itemVar:null,indexVar:null}}function EG(X){let $=X.trim(),Z=$.match(/^(\w+)\s*=>\s*(\w+)$/);if(Z)return{itemVar:Z[2],indexVar:Z[1]};let Y=$.match(/^\(\s*(\w+)(?:\s*,\s*(\w+))?\s*\)$/);if(Y)return{itemVar:Y[1],indexVar:Y[2]||null};let J=$.match(/^(\w+)\s*,\s*(\w+)$/);if(J)return{itemVar:J[1],indexVar:J[2]};let G=$.match(/^(\w+)$/);if(G)return{itemVar:G[1],indexVar:null};return{itemVar:null,indexVar:null}}function E8(X){return e2(X)}function Tj(X){let $=/@(if\s*\(|endif|elseif\s*\(|else\b)/g,Z=0,Y;while((Y=$.exec(X))!==null){let J=Y[1];if(J.startsWith("if"))Z++;else if(J==="endif")Z--;else if(Z===0)return!0}return!1}function Mj(X){let $=new Set,Z=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,Y=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal)\s*(?:<[^>]*>)?\s*\(/g,J;while((J=Z.exec(X))!==null){let G=J[1],Q;while((Q=Y.exec(G))!==null)$.add(Q[1])}return $}function Nj(X){return X.replace(/'(?:\\.|[^'\\])*'/g,"''").replace(/"(?:\\.|[^"\\])*"/g,'""').replace(/`(?:\\.|[^`\\])*`/g,"``")}function yG(X,$,Z){if(!X)return!1;let Y=Nj(X),J=!1,G=!1,Q=!1,w=/([a-zA-Z_$][\w$]*)/g,q;while((q=w.exec(Y))!==null){let z=q[1];if(Y.slice(0,q.index).trimEnd().endsWith("."))continue;if(DG.has(z))continue;if($.has(z))J=!0;else if(Z&&z in Z)G=!0}let W=/([a-zA-Z_$][\w$]*)(?:\.[a-zA-Z_$][\w$]*)*\s*\(\s*\)/g,U;while((U=W.exec(Y))!==null){let z=U[1];if(Y.slice(0,U.index).trimEnd().endsWith("."))continue;if(DG.has(z)||Z&&z in Z)continue;Q=!0}return(J||Q)&&!G}function k8(X,$,Z){let Y=Z===void 0?` ${$}`:` ${$}="${Z.replace(/"/g,"&quot;")}"`,J=X.trim(),G=J.match(SG);if(G&&kj(G[3],G[1])){let[,Q,w,q]=G;return`<${Q}${w}${Y}>${q}</${Q}>`}return`<template${Y}>${J}</template>`}function kj(X,$){let Z=new RegExp(`<(/)?${$}(?=[\\s/>])`,"gi"),Y=0,J;while((J=Z.exec(X))!==null)if(J[1]){if(Y--,Y<0)return!1}else Y++;return!0}function l3(X,$){let Z=Mj(X);function Y(J){let G=J,Q=/@if\s*\(/g,w,q=[];while((w=Q.exec(G))!==null){let W=w.index,U=W+w[0].length,K=1,z=U;while(z<G.length&&K>0){if(G[z]==="(")K++;else if(G[z]===")")K--;z++}if(K!==0)continue;let B=G.substring(U,z-1).trim(),_=z,j=1,H=_,L=/@(if\s*\(|endif)/g;L.lastIndex=_;let O;while((O=L.exec(G))!==null)if(O[1].startsWith("if"))j++;else if(O[1]==="endif"){if(j--,j===0){H=O.index+O[0].length;break}}if(j!==0)continue;let F=G.substring(_,H-6).trim(),V;if(Tj(F)){let A=v7(G.substring(W,H));if(A.length===0)continue;let R=A[0].branches.filter((k)=>k.type!=="else");if(!(R.length>0&&R.every((k)=>yG(k.condition,Z,$))))continue;V=A[0].branches.map((k)=>{let N=Y(k.content);if(k.type==="elseif")return k8(N,"@else-if",k.condition??"");if(k.type==="else")return k8(N,"@else");return k8(N,"@if",k.condition??"")}).join(`
11523
- `)}else{if(!yG(B,Z,$))continue;V=k8(Y(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:U,end:K,replacement:z}=q[W];G=G.substring(0,U)+z+G.substring(K)}return G}return Y(X)}function Ij(X){let $=X.trim();if($==="")return;if($==="true")return!0;if($==="false")return!1;if($==="null")return!1;if($==="undefined")return!1;if($==="NaN")return!1;if(/^-?\d+(?:\.\d+)?$/.test($)){let J=Number($);return J!==0&&!Number.isNaN(J)}let Z=$.match(/^'((?:\\.|[^'\\])*)'$/);if(Z)return Z[1].length>0;let Y=$.match(/^"((?:\\.|[^"\\])*)"$/);if(Y)return Y[1].length>0;return}function Ej(X,$,Z,Y){if(m3.has(Z.toLowerCase()))return Y;let J=Z.toLowerCase(),G=X.toLowerCase(),Q=X.length,w=1,q=Y;while(q<Q){let W=X.indexOf("<",q);if(W===-1)return-1;if(q=W,X.startsWith("<!--",q)){let B=X.indexOf("-->",q+4);if(B===-1)return-1;q=B+3;continue}let U=/^<(script|style)\b/i.exec(X.slice(q,q+8));if(U){let B=X.indexOf(">",q);if(B===-1)return-1;if(X[B-1]==="/"){q=B+1;continue}let _=G.indexOf(`</${U[1].toLowerCase()}`,q);if(_===-1)return-1;let j=X.indexOf(">",_);if(j===-1)return-1;q=j+1;continue}if(X[q+1]==="/"){let B=/^<\/([a-z][\w-]*)\s*>/i.exec(X.slice(q,q+64));if(!B){q++;continue}if(B[1].toLowerCase()===J){if(w--,q+=B[0].length,w===0)return q;continue}q+=B[0].length;continue}let K=/^<([a-z][\w-]*)\b/i.exec(X.slice(q,q+64));if(!K){q++;continue}let z=X.indexOf(">",q);if(z===-1)return-1;if(K[1].toLowerCase()===J){let B=X.slice(q,z+1);if(!(/\/\s*>$/.test(B)||m3.has(J)))w++}q=z+1}return-1}function yj(X,$){let Z=$,Y=X.length;for(;;){while(Z<Y&&X[Z]!=="<")Z++;if(Z>=Y)return!1;if(X.startsWith("<!--",Z)){let Q=X.indexOf("-->",Z+4);if(Q===-1)return!1;Z=Q+3;continue}break}if(X[Z+1]==="/")return!1;let J=X.indexOf(">",Z);if(J===-1)return!1;let G=X.slice(Z,J+1);return Dj.test(G)}function c3(X){if(!X.includes(":if")&&!X.includes(":show")&&!X.includes("x-if")&&!X.includes("x-show")&&!X.includes("@if=")&&!X.includes("@show="))return X;let $=[],Z=/<(script|style)\b[^>]*>[\s\S]*?<\/\1\s*>/gi,Y;while((Y=Z.exec(X))!==null)$.push([Y.index,Y.index+Y[0].length]);let J=(K)=>$.some(([z,B])=>K>=z&&K<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(X))!==null){if(J(w.index))continue;let[K,z,B,_,j,H,L]=w,O=Ij(j);if(O===void 0)continue;let F=w.index,V=F+K.length,T=!!L||/\/\s*>$/.test(K)||m3.has(z.toLowerCase())?V:Ej(X,F,z,V);if(T===-1)continue;if((_===":if"||_==="x-if"||_==="@if")&&yj(X,T)){G.lastIndex=V;continue}if(O===!0){let k=`<${z}${B}${H}${L}>`;Q.push({start:F,end:V,replacement:k});continue}Q.push({start:F,end:T,replacement:""}),G.lastIndex=T}if(Q.length===0)return X;Q.sort((K,z)=>K.start-z.start);let q=[],W=-1;for(let K of Q){if(K.start<W)continue;q.push(K),W=K.end}let U=X;for(let K=q.length-1;K>=0;K--){let{start:z,end:B,replacement:_}=q[K];U=U.substring(0,z)+_+U.substring(B)}return U}function p3(X,$){let Z=X,Y=/@(for|foreach)\s*\(/g,J,G=[],Q=[];while((J=Y.exec(Z))!==null){let w=J[1],q=J.index,W=q+J[0].length,U=1,K=W;while(K<Z.length&&U>0){if(Z[K]==="(")U++;else if(Z[K]===")")U--;K++}if(U!==0)continue;let z=Z.substring(W,K-1).trim(),B=K,_=PG(z),j=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=[_.itemVar,_.indexVar].filter(Boolean);if(M.length)Q.push({start:q,end:L,vars:M})};if(_.iterable){let M=_.iterable.trim();if(M.startsWith("[")||M.startsWith("{")||M.startsWith("'")||M.startsWith('"')||M.startsWith("`")||/^-?\d/.test(M)){V();continue}let k=M.split(/[.[(]/)[0].trim(),N=$?k in $:!1,y=Q.some((I)=>q>I.start&&q<I.end&&I.vars.includes(k));if(k&&(N||y)){V();continue}}if(_.style==="as")z=_.indexVar?`(${_.itemVar}, ${_.indexVar}) in ${_.iterable}`:`${_.itemVar} in ${_.iterable}`;let A=Z.substring(B,L-j.length).trim(),R=A.match(SG),T;if(R){let[,M,k,N]=R;T=`<${M}${k} @for="${z}">${N}</${M}>`}else T=`<template @for="${z}">${A}</template>`;G.push({start:q,end:L,replacement:T})}for(let w=G.length-1;w>=0;w--){let{start:q,end:W,replacement:U}=G[w];Z=Z.substring(0,q)+U+Z.substring(W)}return Z}function bj(X){let $=new Set,Z=[],Y=0,J=0,G=X.length,Q=(U)=>{let K=Y+1;while(K<G){let z=X[K];if(z==="\\"){K+=2;continue}if(z===U)return K+1;K++}return G},w=()=>{let U=Y+2;while(U<G&&X[U]!==`
11520
+ `+X}async function m3(X,$){if(!X.includes("</body>"))return X;if(X.includes("data-stx-router")||X.includes("__stxRouter)return")||X.includes("__stxRouter=true"))return X;let Z=$?.router,Y="";{let 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 HG($?.pagesDir);if(q.length>0)w.ownedRoutes=q}catch{}if(Object.keys(w).length>0)Y=`<script>window.__stxRouterConfig=${OG(w)};</script>
11521
+ `}let{getCachedRouterScript:J}=await Promise.resolve().then(() => (d3(),u3)),G=$?.buildMode==="compile"?'<script data-stx-router src="/__stx/router.__STX_HASH__.js"></script>':$?.buildMode==="serve"?'<script data-stx-router src="/_stx/router.js"></script>':`<script data-stx-router>${await J()}</script>`,Q=X.lastIndexOf("</body>");return X.slice(0,Q)+Y+G+`
11522
+ </body>`+X.slice(Q+7)}var N8=D(()=>{LG();w9()});var D8={};t(D8,{scanScriptTags:()=>vG,rewriteStxImportSpecifiers:()=>hG,processSignals:()=>n3,processScriptSetup:()=>fG,preEvalLiteralReactiveIfs:()=>p3,parseLoopExpression:()=>xG,hasSignalsSyntax:()=>E8,findMarkupIndexOutsideScripts:()=>I8,extractExports:()=>gG,convertSignalLoopsToAttributes:()=>i3,convertSignalDirectivesToAttributes:()=>c3});function vG(X,$={}){let Z=[];for(let Y of a$(X,D1)){let J=Y.token.match(/^<script\b([^>]*)>/i),G=Y.token.match(/<\/script\s*>$/i);if(!J||!G)continue;let Q=J[1];if($.skipAttrs){if($.skipAttrs.lastIndex=0,$.skipAttrs.test(Q))continue}let w=J[0].length,q=Y.token.length-G[0].length;Z.push({fullMatch:Y.token,attrs:Q,body:Y.token.slice(w,q),start:Y.start,end:Y.end})}return Z}function xG(X){let $=X.trim(),Z=$.match(/^([\s\S]+?)\s+as\s+(.+)$/);if(Z){let J=Z[1].trim(),G=Z[2].trim(),{itemVar:Q,indexVar:w}=yG(G);if(Q)return{style:"as",iterable:J,itemVar:Q,indexVar:w}}let Y=$.match(/^(\([^)]+\)|\w+(?:\s*,\s*\w+)?)\s+(?:in|of)\s+([\s\S]+)$/);if(Y){let J=Y[1].trim(),G=Y[2].trim(),{itemVar:Q,indexVar:w}=yG(J);if(Q)return{style:"in",iterable:G,itemVar:Q,indexVar:w}}return{style:"unknown",iterable:null,itemVar:null,indexVar:null}}function yG(X){let $=X.trim(),Z=$.match(/^(\w+)\s*=>\s*(\w+)$/);if(Z)return{itemVar:Z[2],indexVar:Z[1]};let Y=$.match(/^\(\s*(\w+)(?:\s*,\s*(\w+))?\s*\)$/);if(Y)return{itemVar:Y[1],indexVar:Y[2]||null};let J=$.match(/^(\w+)\s*,\s*(\w+)$/);if(J)return{itemVar:J[1],indexVar:J[2]};let G=$.match(/^(\w+)$/);if(G)return{itemVar:G[1],indexVar:null};return{itemVar:null,indexVar:null}}function E8(X){return X6(X)}function kj(X){let $=/@(if\s*\(|endif|elseif\s*\(|else\b)/g,Z=0,Y;while((Y=$.exec(X))!==null){let J=Y[1];if(J.startsWith("if"))Z++;else if(J==="endif")Z--;else if(Z===0)return!0}return!1}function Ij(X){let $=new Set,Z=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,Y=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal)\s*(?:<[^>]*>)?\s*\(/g,J;while((J=Z.exec(X))!==null){let G=J[1],Q;while((Q=Y.exec(G))!==null)$.add(Q[1])}return $}function Ej(X){return X.replace(/'(?:\\.|[^'\\])*'/g,"''").replace(/"(?:\\.|[^"\\])*"/g,'""').replace(/`(?:\\.|[^`\\])*`/g,"``")}function SG(X,$,Z){if(!X)return!1;let Y=Ej(X),J=!1,G=!1,Q=!1,w=/([a-zA-Z_$][\w$]*)/g,q;while((q=w.exec(Y))!==null){let z=q[1];if(Y.slice(0,q.index).trimEnd().endsWith("."))continue;if(bG.has(z))continue;if($.has(z))J=!0;else if(Z&&z in Z)G=!0}let W=/([a-zA-Z_$][\w$]*)(?:\.[a-zA-Z_$][\w$]*)*\s*\(\s*\)/g,U;while((U=W.exec(Y))!==null){let z=U[1];if(Y.slice(0,U.index).trimEnd().endsWith("."))continue;if(bG.has(z)||Z&&z in Z)continue;Q=!0}return(J||Q)&&!G}function k8(X,$,Z){let Y=Z===void 0?` ${$}`:` ${$}="${Z.replace(/"/g,"&quot;")}"`,J=X.trim(),G=J.match(PG);if(G&&Dj(G[3],G[1])){let[,Q,w,q]=G;return`<${Q}${w}${Y}>${q}</${Q}>`}return`<template${Y}>${J}</template>`}function Dj(X,$){let Z=new RegExp(`<(/)?${$}(?=[\\s/>])`,"gi"),Y=0,J;while((J=Z.exec(X))!==null)if(J[1]){if(Y--,Y<0)return!1}else Y++;return!0}function c3(X,$){let Z=Ij(X);function Y(J){let G=J,Q=/@if\s*\(/g,w,q=[];while((w=Q.exec(G))!==null){let W=w.index,U=W+w[0].length,K=1,z=U;while(z<G.length&&K>0){if(G[z]==="(")K++;else if(G[z]===")")K--;z++}if(K!==0)continue;let B=G.substring(U,z-1).trim(),_=z,j=1,H=_,L=/@(if\s*\(|endif)/g;L.lastIndex=_;let O;while((O=L.exec(G))!==null)if(O[1].startsWith("if"))j++;else if(O[1]==="endif"){if(j--,j===0){H=O.index+O[0].length;break}}if(j!==0)continue;let F=G.substring(_,H-6).trim(),V;if(kj(F)){let A=v7(G.substring(W,H));if(A.length===0)continue;let R=A[0].branches.filter((k)=>k.type!=="else");if(!(R.length>0&&R.every((k)=>SG(k.condition,Z,$))))continue;V=A[0].branches.map((k)=>{let N=Y(k.content);if(k.type==="elseif")return k8(N,"@else-if",k.condition??"");if(k.type==="else")return k8(N,"@else");return k8(N,"@if",k.condition??"")}).join(`
11523
+ `)}else{if(!SG(B,Z,$))continue;V=k8(Y(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:U,end:K,replacement:z}=q[W];G=G.substring(0,U)+z+G.substring(K)}return G}return Y(X)}function yj(X){let $=X.trim();if($==="")return;if($==="true")return!0;if($==="false")return!1;if($==="null")return!1;if($==="undefined")return!1;if($==="NaN")return!1;if(/^-?\d+(?:\.\d+)?$/.test($)){let J=Number($);return J!==0&&!Number.isNaN(J)}let Z=$.match(/^'((?:\\.|[^'\\])*)'$/);if(Z)return Z[1].length>0;let Y=$.match(/^"((?:\\.|[^"\\])*)"$/);if(Y)return Y[1].length>0;return}function bj(X,$,Z,Y){if(l3.has(Z.toLowerCase()))return Y;let J=Z.toLowerCase(),G=X.toLowerCase(),Q=X.length,w=1,q=Y;while(q<Q){let W=X.indexOf("<",q);if(W===-1)return-1;if(q=W,X.startsWith("<!--",q)){let B=X.indexOf("-->",q+4);if(B===-1)return-1;q=B+3;continue}let U=/^<(script|style)\b/i.exec(X.slice(q,q+8));if(U){let B=X.indexOf(">",q);if(B===-1)return-1;if(X[B-1]==="/"){q=B+1;continue}let _=G.indexOf(`</${U[1].toLowerCase()}`,q);if(_===-1)return-1;let j=X.indexOf(">",_);if(j===-1)return-1;q=j+1;continue}if(X[q+1]==="/"){let B=/^<\/([a-z][\w-]*)\s*>/i.exec(X.slice(q,q+64));if(!B){q++;continue}if(B[1].toLowerCase()===J){if(w--,q+=B[0].length,w===0)return q;continue}q+=B[0].length;continue}let K=/^<([a-z][\w-]*)\b/i.exec(X.slice(q,q+64));if(!K){q++;continue}let z=X.indexOf(">",q);if(z===-1)return-1;if(K[1].toLowerCase()===J){let B=X.slice(q,z+1);if(!(/\/\s*>$/.test(B)||l3.has(J)))w++}q=z+1}return-1}function Cj(X,$){let Z=$,Y=X.length;for(;;){while(Z<Y&&X[Z]!=="<")Z++;if(Z>=Y)return!1;if(X.startsWith("<!--",Z)){let Q=X.indexOf("-->",Z+4);if(Q===-1)return!1;Z=Q+3;continue}break}if(X[Z+1]==="/")return!1;let J=X.indexOf(">",Z);if(J===-1)return!1;let G=X.slice(Z,J+1);return Sj.test(G)}function p3(X){if(!X.includes(":if")&&!X.includes(":show")&&!X.includes("x-if")&&!X.includes("x-show")&&!X.includes("@if=")&&!X.includes("@show="))return X;let $=[],Z=/<(script|style)\b[^>]*>[\s\S]*?<\/\1\s*>/gi,Y;while((Y=Z.exec(X))!==null)$.push([Y.index,Y.index+Y[0].length]);let J=(K)=>$.some(([z,B])=>K>=z&&K<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(X))!==null){if(J(w.index))continue;let[K,z,B,_,j,H,L]=w,O=yj(j);if(O===void 0)continue;let F=w.index,V=F+K.length,T=!!L||/\/\s*>$/.test(K)||l3.has(z.toLowerCase())?V:bj(X,F,z,V);if(T===-1)continue;if((_===":if"||_==="x-if"||_==="@if")&&Cj(X,T)){G.lastIndex=V;continue}if(O===!0){let k=`<${z}${B}${H}${L}>`;Q.push({start:F,end:V,replacement:k});continue}Q.push({start:F,end:T,replacement:""}),G.lastIndex=T}if(Q.length===0)return X;Q.sort((K,z)=>K.start-z.start);let q=[],W=-1;for(let K of Q){if(K.start<W)continue;q.push(K),W=K.end}let U=X;for(let K=q.length-1;K>=0;K--){let{start:z,end:B,replacement:_}=q[K];U=U.substring(0,z)+_+U.substring(B)}return U}function i3(X,$){let Z=X,Y=/@(for|foreach)\s*\(/g,J,G=[],Q=[];while((J=Y.exec(Z))!==null){let w=J[1],q=J.index,W=q+J[0].length,U=1,K=W;while(K<Z.length&&U>0){if(Z[K]==="(")U++;else if(Z[K]===")")U--;K++}if(U!==0)continue;let z=Z.substring(W,K-1).trim(),B=K,_=xG(z),j=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=[_.itemVar,_.indexVar].filter(Boolean);if(M.length)Q.push({start:q,end:L,vars:M})};if(_.iterable){let M=_.iterable.trim();if(M.startsWith("[")||M.startsWith("{")||M.startsWith("'")||M.startsWith('"')||M.startsWith("`")||/^-?\d/.test(M)){V();continue}let k=M.split(/[.[(]/)[0].trim(),N=$?k in $:!1,y=Q.some((I)=>q>I.start&&q<I.end&&I.vars.includes(k));if(k&&(N||y)){V();continue}}if(_.style==="as")z=_.indexVar?`(${_.itemVar}, ${_.indexVar}) in ${_.iterable}`:`${_.itemVar} in ${_.iterable}`;let A=Z.substring(B,L-j.length).trim(),R=A.match(PG),T;if(R){let[,M,k,N]=R;T=`<${M}${k} @for="${z}">${N}</${M}>`}else T=`<template @for="${z}">${A}</template>`;G.push({start:q,end:L,replacement:T})}for(let w=G.length-1;w>=0;w--){let{start:q,end:W,replacement:U}=G[w];Z=Z.substring(0,q)+U+Z.substring(W)}return Z}function Pj(X){let $=new Set,Z=[],Y=0,J=0,G=X.length,Q=(U)=>{let K=Y+1;while(K<G){let z=X[K];if(z==="\\"){K+=2;continue}if(z===U)return K+1;K++}return G},w=()=>{let U=Y+2;while(U<G&&X[U]!==`
11524
11524
  `)U++;return U},q=()=>{let U=Y+2;while(U<G-1){if(X[U]==="*"&&X[U+1]==="/")return U+2;U++}return G},W=(U)=>{let K=U,z=0;while(K<G){let B=X[K];if(B==="/"&&X[K+1]==="/"){let _=K+2;while(_<G&&X[_]!==`
11525
- `)_++;K=_;continue}if(B==="/"&&X[K+1]==="*"){let _=K+2;while(_<G-1&&!(X[_]==="*"&&X[_+1]==="/"))_++;K=_+2;continue}if(B==='"'||B==="'"||B==="`"){let _=K+1;while(_<G){if(X[_]==="\\"){_+=2;continue}if(X[_]===B){_++;break}_++}K=_;continue}if(B==="("||B==="["||B==="{"){z++,K++;continue}if(B===")"||B==="]"||B==="}"){z--,K++;continue}if(B===";"&&z===0)return K+1;K++}return G};while(Y<G){let U=X[Y];if(U==="/"&&X[Y+1]==="/"){let K=w();Z.push(X.slice(Y,K)),Y=K;continue}if(U==="/"&&X[Y+1]==="*"){let K=q();Z.push(X.slice(Y,K)),Y=K;continue}if(U==='"'||U==="'"||U==="`"){let K=Q(U);Z.push(X.slice(Y,K)),Y=K;continue}if(U==="{"){J++,Z.push(U),Y++;continue}if(U==="}"){J--,Z.push(U),Y++;continue}if(J===0){let K=Y>0?X[Y-1]:"";if(K===""||/\s/.test(K)||K===";"||K==="}"||K==="{"){let B=X.slice(Y).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(B){let _=B[2],j=W(Y+B[0].length);if($.has(_)){Z.push(`/* stx: deduped const ${_} */`),Y=j;continue}$.add(_),Z.push(X.slice(Y,j)),Y=j;continue}}}Z.push(U),Y++}return Z.join("")}async function vG(X,$,Z){let Y=CG(X,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b/}),J=/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useStore|useLocalStorage|useSessionStorage|useCookie|useId|useReactiveProp|useFetch|useRef|useEventListener|useDebounce|useDebouncedValue|useThrottle|useInterval|useTimeout|useToggle|useCounter|useClickOutside|useFocus|useAsync|useColorMode|useDark|useMediaQuery|useScrollLock|usePreferredDark|usePreferredLight|usePreferredReducedMotion|usePreferredContrast|useWebSocket|useRoute|useSearchParams|onMount|onDestroy|defineProps|withDefaults|defineEmits|defineExpose|defineSlots|useOptimistic)\s*(?:<[^>]*>)?\s*\(/,G=[];for(let H of Y){let L=H.body;if(e1(H.attrs))L=X5(L);if(J.test(L))G.push({fullMatch:H.fullMatch,attrs:H.attrs,content:L})}if(G.length===0)return{output:X,setupCode:null};let Q=`__stx_setup_${Date.now()}_${Rj++}`,{hasUserImports:w,bundleClientScript:q}=await e("stx/client-script-bundler",()=>Promise.resolve().then(() => (N7(),M7))),W=[];for(let H=0;H<G.length;H++){let L=G[H].content;if(L=E5(L).code,w(L))L=await q(L,$||"",{projectRoot:process.cwd()});L=L.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(F,V)=>fG(V));let O=h0(L);W.push(`// \u2500\u2500 merged signal script #${H+1} \u2500\u2500
11525
+ `)_++;K=_;continue}if(B==="/"&&X[K+1]==="*"){let _=K+2;while(_<G-1&&!(X[_]==="*"&&X[_+1]==="/"))_++;K=_+2;continue}if(B==='"'||B==="'"||B==="`"){let _=K+1;while(_<G){if(X[_]==="\\"){_+=2;continue}if(X[_]===B){_++;break}_++}K=_;continue}if(B==="("||B==="["||B==="{"){z++,K++;continue}if(B===")"||B==="]"||B==="}"){z--,K++;continue}if(B===";"&&z===0)return K+1;K++}return G};while(Y<G){let U=X[Y];if(U==="/"&&X[Y+1]==="/"){let K=w();Z.push(X.slice(Y,K)),Y=K;continue}if(U==="/"&&X[Y+1]==="*"){let K=q();Z.push(X.slice(Y,K)),Y=K;continue}if(U==='"'||U==="'"||U==="`"){let K=Q(U);Z.push(X.slice(Y,K)),Y=K;continue}if(U==="{"){J++,Z.push(U),Y++;continue}if(U==="}"){J--,Z.push(U),Y++;continue}if(J===0){let K=Y>0?X[Y-1]:"";if(K===""||/\s/.test(K)||K===";"||K==="}"||K==="{"){let B=X.slice(Y).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(B){let _=B[2],j=W(Y+B[0].length);if($.has(_)){Z.push(`/* stx: deduped const ${_} */`),Y=j;continue}$.add(_),Z.push(X.slice(Y,j)),Y=j;continue}}}Z.push(U),Y++}return Z.join("")}async function fG(X,$,Z){let Y=vG(X,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b/}),J=/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useStore|useLocalStorage|useSessionStorage|useCookie|useId|useReactiveProp|useFetch|useRef|useEventListener|useDebounce|useDebouncedValue|useThrottle|useInterval|useTimeout|useToggle|useCounter|useClickOutside|useFocus|useAsync|useColorMode|useDark|useMediaQuery|useScrollLock|usePreferredDark|usePreferredLight|usePreferredReducedMotion|usePreferredContrast|useWebSocket|useRoute|useSearchParams|onMount|onDestroy|defineProps|withDefaults|defineEmits|defineExpose|defineSlots|useOptimistic)\s*(?:<[^>]*>)?\s*\(/,G=[];for(let H of Y){let L=H.body;if(e1(H.attrs))L=X5(L);if(J.test(L))G.push({fullMatch:H.fullMatch,attrs:H.attrs,content:L})}if(G.length===0)return{output:X,setupCode:null};let Q=`__stx_setup_${Date.now()}_${Nj++}`,{hasUserImports:w,bundleClientScript:q}=await e("stx/client-script-bundler",()=>Promise.resolve().then(() => (N7(),M7))),W=[];for(let H=0;H<G.length;H++){let L=G[H].content;if(L=E5(L).code,w(L))L=await q(L,$||"",{projectRoot:process.cwd()});L=L.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(F,V)=>hG(V));let O=h0(L);W.push(`// \u2500\u2500 merged signal script #${H+1} \u2500\u2500
11526
11526
  ${O}`)}let U=W.join(`
11527
11527
 
11528
- `);U=bj(U);let K=xG(U),z=K.split(",").map((H)=>H.trim()).filter(Boolean),B=RX(U,Z),_=`
11528
+ `);U=Pj(U);let K=gG(U),z=K.split(",").map((H)=>H.trim()).filter(Boolean),B=RX(U,Z),_=`
11529
11529
  <script data-stx-scoped>
11530
11530
  function ${Q}() {
11531
11531
  ${N5("const",z)}
@@ -11534,26 +11534,26 @@ ${k5(`${B}${U}`)}
11534
11534
  }
11535
11535
  window.__stx_latestSetup=${Q};
11536
11536
  if(window.stx)window.stx._latestSetup=${Q};
11537
- </script>`,j=X;for(let H of G)j=j.split(H.fullMatch).join("");if(j.includes("<body"))j=j.replace(new RegExp(`<body(${IG})>`),`<body$1 data-stx="${Q}">`);else{let H=["script","style","html","head","meta","link","title","!doctype"],L=!1;j=j.replace(new RegExp(`<([a-zA-Z][a-zA-Z0-9-]*)\\b(${IG})>`,"gi"),(O,F,V)=>{if(L||H.includes(F.toLowerCase()))return O;return L=!0,`<${F}${V} data-stx="${Q}">`})}return{output:j,setupCode:_}}function xG(X){let $=X,Z=[],Y=new Set,J=0,G=0,Q=$.length,w="",q=()=>{G++;let _=!1;while(G<Q){let j=$[G];if(j==="\\"){G+=2;continue}if(j==="["&&!_){_=!0,G++;continue}if(j==="]"&&_){_=!1,G++;continue}if(j==="/"&&!_){G++;while(G<Q&&/[gimsuyd]/.test($[G]))G++;return}if(j===`
11537
+ </script>`,j=X;for(let H of G)j=j.split(H.fullMatch).join("");if(j.includes("<body"))j=j.replace(new RegExp(`<body(${DG})>`),`<body$1 data-stx="${Q}">`);else{let H=["script","style","html","head","meta","link","title","!doctype"],L=!1;j=j.replace(new RegExp(`<([a-zA-Z][a-zA-Z0-9-]*)\\b(${DG})>`,"gi"),(O,F,V)=>{if(L||H.includes(F.toLowerCase()))return O;return L=!0,`<${F}${V} data-stx="${Q}">`})}return{output:j,setupCode:_}}function gG(X){let $=X,Z=[],Y=new Set,J=0,G=0,Q=$.length,w="",q=()=>{G++;let _=!1;while(G<Q){let j=$[G];if(j==="\\"){G+=2;continue}if(j==="["&&!_){_=!0,G++;continue}if(j==="]"&&_){_=!1,G++;continue}if(j==="/"&&!_){G++;while(G<Q&&/[gimsuyd]/.test($[G]))G++;return}if(j===`
11538
11538
  `)return;G++}},W=()=>{if(!w)return!0;if(/[\w)\]]/.test(w))return!1;return!0},U=(_)=>{G++;while(G<Q){if($[G]==="\\"){G+=2;continue}if($[G]===_){G++;return}G++}},K=()=>{G++;while(G<Q){if($[G]==="\\"){G+=2;continue}if($[G]==="`"){G++;return}if($[G]==="$"&&$[G+1]==="{"){G+=2;let _=1;while(G<Q&&_>0)if($[G]==="{")_++,G++;else if($[G]==="}")_--,G++;else if($[G]==="'"||$[G]==='"')U($[G]);else if($[G]==="`")K();else G++;continue}G++}},z=()=>{if($[G]==="/"&&$[G+1]==="/"){while(G<Q&&$[G]!==`
11539
- `)G++;return!0}if($[G]==="/"&&$[G+1]==="*"){G+=2;while(G<Q-1&&!($[G]==="*"&&$[G+1]==="/"))G++;return G+=2,!0}return!1},B=()=>{if(J!==0)return;let _=$.slice(G).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(_){let F=_[2];if(!Y.has(F))Z.push(F),Y.add(F);return}let j=$.slice(G).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(j){j[1].split(",").forEach((F)=>{let V=F.trim();if(!V)return;let A=V.indexOf(":"),T=(A>=0?V.slice(A+1).trim():V).split(/[\s=]/)[0];if(T&&!Y.has(T))Z.push(T),Y.add(T)});return}let H=$.slice(G).match(/^(?:const|let|var)\s+\[([^\]]+)\]\s*=/);if(H){H[1].split(",").forEach((F)=>{let V=F.trim().replace(/^\.\.\./,"");if(!V)return;let A=V.split(/[\s=]/)[0];if(A&&!Y.has(A))Z.push(A),Y.add(A)});return}let L=$.slice(G).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(L){let F=L[1];if(!Y.has(F))Z.push(F),Y.add(F);return}let O=$.slice(G).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(O){let F=O[1];if(!Y.has(F))Z.push(F),Y.add(F)}};while(G<Q){if(z())continue;if($[G]==="'"||$[G]==='"'){U($[G]),w=$[G-1];continue}if($[G]==="`"){K(),w="`";continue}if($[G]==="/"&&$[G+1]!=="/"&&$[G+1]!=="*"&&W()){q(),w="/";continue}if($[G]==="{"){J++,w="{",G++;continue}if($[G]==="}"){J--,w="}",G++;continue}if(J===0&&/[a-z]/i.test($[G])&&(G===0||/\s|[;{}()]/.test($[G-1])))B();if(!/\s/.test($[G]))w=$[G];G++}return Z.join(", ")}async function i3(X,$,Z,Y){if(!E8(X))return X;let J=X;if($.skipSignalsRuntime)return J;let{output:G,setupCode:Q}=await vG(J,Z,Y);if(J=G,J=await M8(J,$),Q){let U=I8(J,/<\/head>/i),K=U===-1?I8(J,/<body[^>]*>/i):-1;if(U!==-1)J=`${J.slice(0,U)}${Q}
11539
+ `)G++;return!0}if($[G]==="/"&&$[G+1]==="*"){G+=2;while(G<Q-1&&!($[G]==="*"&&$[G+1]==="/"))G++;return G+=2,!0}return!1},B=()=>{if(J!==0)return;let _=$.slice(G).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(_){let F=_[2];if(!Y.has(F))Z.push(F),Y.add(F);return}let j=$.slice(G).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(j){j[1].split(",").forEach((F)=>{let V=F.trim();if(!V)return;let A=V.indexOf(":"),T=(A>=0?V.slice(A+1).trim():V).split(/[\s=]/)[0];if(T&&!Y.has(T))Z.push(T),Y.add(T)});return}let H=$.slice(G).match(/^(?:const|let|var)\s+\[([^\]]+)\]\s*=/);if(H){H[1].split(",").forEach((F)=>{let V=F.trim().replace(/^\.\.\./,"");if(!V)return;let A=V.split(/[\s=]/)[0];if(A&&!Y.has(A))Z.push(A),Y.add(A)});return}let L=$.slice(G).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(L){let F=L[1];if(!Y.has(F))Z.push(F),Y.add(F);return}let O=$.slice(G).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(O){let F=O[1];if(!Y.has(F))Z.push(F),Y.add(F)}};while(G<Q){if(z())continue;if($[G]==="'"||$[G]==='"'){U($[G]),w=$[G-1];continue}if($[G]==="`"){K(),w="`";continue}if($[G]==="/"&&$[G+1]!=="/"&&$[G+1]!=="*"&&W()){q(),w="/";continue}if($[G]==="{"){J++,w="{",G++;continue}if($[G]==="}"){J--,w="}",G++;continue}if(J===0&&/[a-z]/i.test($[G])&&(G===0||/\s|[;{}()]/.test($[G-1])))B();if(!/\s/.test($[G]))w=$[G];G++}return Z.join(", ")}async function n3(X,$,Z,Y){if(!E8(X))return X;let J=X;if($.skipSignalsRuntime)return J;let{output:G,setupCode:Q}=await fG(J,Z,Y);if(J=G,J=await M8(J,$),Q){let U=I8(J,/<\/head>/i),K=U===-1?I8(J,/<body[^>]*>/i):-1;if(U!==-1)J=`${J.slice(0,U)}${Q}
11540
11540
  ${J.slice(U)}`;else if(K!==-1){let z=/<body[^>]*>/i.exec(J.slice(K))[0],B=K+z.length;J=`${J.slice(0,B)}
11541
11541
  ${Q}${J.slice(B)}`}else J=`${J}
11542
- ${Q}`}let q=J.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 U=/<body[^>]*>/i,K=I8(J,U);if(K!==-1){let z=J.slice(0,K),B=J.slice(K).replace(U,(_)=>_.replace(/^<body([^>]*)>$/i,"<body$1 data-stx-auto>"));J=z+B}}return J}function I8(X,$){let Z=/<(script|style)\b[\s\S]*?<\/\1>/gi,Y=[],J;while((J=Z.exec(X))!==null)Y.push([J.index,J.index+J[0].length]);let G=new RegExp($.source,$.flags.replace(/[gy]/g,"")),Q=0;while(Q<X.length){let w=G.exec(X.slice(Q));if(!w)return-1;let q=Q+w.index;if(!Y.some(([U,K])=>q>=U&&q<K))return q;Q=q+Math.max(w[0].length,1)}return-1}function fG(X){let $=[];for(let Z of X.split(",")){let Y=Z.trim();if(!Y||Y.startsWith("type "))continue;let J=Y.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(J&&J[1]!==J[2])$.push(`${J[2]} = ${J[1]}`)}if($.length===0)return bG;return`var ${$.join(", ")}; ${bG}`}var Rj=0,IG=`(?:"[^"]*"|'[^']*'|[^>"'])*`,SG,DG,m3,Dj,bG="/* [stx import stripped, resolved via window.stx in __stx_setup] */";var s7=D(()=>{D5();uX();G1();l$();T0();N8();$5();F7();SG=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s;DG=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"]);m3=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);Dj=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/});import s5 from"path";function gG(X){return X.startsWith("http://")||X.startsWith("https://")||X.startsWith("//")}async function hG(X,$,Z){try{let Y;if(X.startsWith("/")){let J=$;for(let G=0;G<5;G++){let Q=s5.join(J,X);if(await Bun.file(Q).exists())return Q;J=s5.dirname(J)}Y=s5.join($,X)}else if(X.startsWith("./")||X.startsWith("../"))Y=s5.resolve($,X);else Y=s5.resolve($,X);if(await Bun.file(Y).exists())return Y;return null}catch{return null}}async function uG(X,$,Z){let Y=X,J=s5.dirname($),G=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,Q;while((Q=G.exec(Y))!==null){let[W,U,K,z]=Q;if(gG(K))continue;let B=await hG(K,J,$);if(B)try{let _=await Bun.file(B).text();if(Z.add(B),K.endsWith(".ts")||K.endsWith(".tsx")){let H=await Bun.build({entrypoints:[B],target:"browser",minify:!1,define:C0()});if(H.outputs.length>0)_=await H.outputs[0].text()}let j=`<script>
11542
+ ${Q}`}let q=J.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 U=/<body[^>]*>/i,K=I8(J,U);if(K!==-1){let z=J.slice(0,K),B=J.slice(K).replace(U,(_)=>_.replace(/^<body([^>]*)>$/i,"<body$1 data-stx-auto>"));J=z+B}}return J}function I8(X,$){let Z=/<(script|style)\b[\s\S]*?<\/\1>/gi,Y=[],J;while((J=Z.exec(X))!==null)Y.push([J.index,J.index+J[0].length]);let G=new RegExp($.source,$.flags.replace(/[gy]/g,"")),Q=0;while(Q<X.length){let w=G.exec(X.slice(Q));if(!w)return-1;let q=Q+w.index;if(!Y.some(([U,K])=>q>=U&&q<K))return q;Q=q+Math.max(w[0].length,1)}return-1}function hG(X){let $=[];for(let Z of X.split(",")){let Y=Z.trim();if(!Y||Y.startsWith("type "))continue;let J=Y.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(J&&J[1]!==J[2])$.push(`${J[2]} = ${J[1]}`)}if($.length===0)return CG;return`var ${$.join(", ")}; ${CG}`}var Nj=0,DG=`(?:"[^"]*"|'[^']*'|[^>"'])*`,PG,bG,l3,Sj,CG="/* [stx import stripped, resolved via window.stx in __stx_setup] */";var s7=D(()=>{D5();uX();G1();l$();T0();N8();$5();F7();PG=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s;bG=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"]);l3=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);Sj=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/});import s5 from"path";function uG(X){return X.startsWith("http://")||X.startsWith("https://")||X.startsWith("//")}async function dG(X,$,Z){try{let Y;if(X.startsWith("/")){let J=$;for(let G=0;G<5;G++){let Q=s5.join(J,X);if(await Bun.file(Q).exists())return Q;J=s5.dirname(J)}Y=s5.join($,X)}else if(X.startsWith("./")||X.startsWith("../"))Y=s5.resolve($,X);else Y=s5.resolve($,X);if(await Bun.file(Y).exists())return Y;return null}catch{return null}}async function mG(X,$,Z){let Y=X,J=s5.dirname($),G=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,Q;while((Q=G.exec(Y))!==null){let[W,U,K,z]=Q;if(uG(K))continue;let B=await dG(K,J,$);if(B)try{let _=await Bun.file(B).text();if(Z.add(B),K.endsWith(".ts")||K.endsWith(".tsx")){let H=await Bun.build({entrypoints:[B],target:"browser",minify:!1,define:C0()});if(H.outputs.length>0)_=await H.outputs[0].text()}let j=`<script>
11543
11543
  // Source: ${K}
11544
11544
  ${_}
11545
- </script>`;Y=Y.replace(W,j),G.lastIndex=0}catch(_){}}let w=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,q;while((q=w.exec(Y))!==null){let[W,U,K,z]=q,B=U+z;if(gG(K))continue;if(/rel=["']stylesheet["']/.test(B)||K.endsWith(".css")){let j=await hG(K,J,$);if(j)try{let H=await Bun.file(j).text();Z.add(j);let L=`<style>
11545
+ </script>`;Y=Y.replace(W,j),G.lastIndex=0}catch(_){}}let w=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,q;while((q=w.exec(Y))!==null){let[W,U,K,z]=q,B=U+z;if(uG(K))continue;if(/rel=["']stylesheet["']/.test(B)||K.endsWith(".css")){let j=await dG(K,J,$);if(j)try{let H=await Bun.file(j).text();Z.add(j);let L=`<style>
11546
11546
  /* Source: ${K} */
11547
11547
  ${H}
11548
- </style>`;Y=Y.replace(W,L),w.lastIndex=0}catch(H){}}}return Y}var dG=D(()=>{E1()});function n3(X,$){let Z=X,Y=/@json\s*\(/g,J;while((J=Y.exec(Z))!==null){let G=J.index,Q=G+J[0].length-1,w=1,q=Q+1,W=null,U=!1;while(q<Z.length&&w>0){let F=Z[q];if(U){U=!1,q++;continue}if(F==="\\"&&W){U=!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 K=Z.substring(Q+1,q).trim(),z=Z.substring(G,q+1),B=-1,_=0,j=null,H=!1;for(let F=0;F<K.length;F++){let V=K[F];if(H){H=!1;continue}if(V==="\\"&&j){H=!0;continue}if(j){if(V===j)j=null;continue}if(V==='"'||V==="'"||V==="`"){j=V;continue}if(V==="("||V==="["||V==="{")_++;else if(V===")"||V==="]"||V==="}")_--;if(V===","&&_===0){B=F;break}}let L=B>=0?K.substring(0,B).trim():K,O=B>=0?K.substring(B+1).trim():void 0;try{let F=L.trim(),V;if(q0(F))V=W0(F,Object.keys($))(...Object.values($));else V=void 0;let A;if(O==="true")A=JSON.stringify(V,null,2);else A=JSON.stringify(V);let R=A.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");Z=Z.substring(0,G)+R+Z.substring(q+1),Y.lastIndex=G+R.length}catch(F){$1.log(F instanceof Error?F:Error(String(F)),{directive:"@json"},"error"),Y.lastIndex=G+z.length}}return Z}function r3(X){return X.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function mG(X){let $=X,Z=/@memo\s*\(/g,Y,J=[];while((Y=Z.exec($))!==null){let G=Y.index,Q=G+Y[0].length,w=1,q=Q;while(q<$.length&&w>0){if($[q]==="(")w++;else if($[q]===")")w--;q++}if(w!==0)continue;let W=$.slice(Q,q-1).trim(),U=q,K=$.slice(U),z=K.indexOf("@endmemo");if(z===-1)continue;let B=K.slice(0,z),_=U+z+8,j=B.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)/),H=j?j[0].length:0,L=B.slice(H),O=B.match(/(\s*)$/),F=O?O[0].length:0,V=L.slice(0,L.length-F),A=V.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),R;if(A){let[T,M,k="",N]=A,y=`<${M}${k} data-stx-memo="${W}"${N}>`;R=B.slice(0,H)+y+V.slice(T.length)+B.slice(H+V.length)}else R=`${B.slice(0,H)}<div data-stx-memo="${W}">${V}</div>${B.slice(H+V.length)}`;J.push({start:G,end:_,replacement:R}),Z.lastIndex=_}for(let G=J.length-1;G>=0;G--){let Q=J[G];$=$.slice(0,Q.start)+Q.replacement+$.slice(Q.end)}return $.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function s3(X){let $=X.replace(/@ref="([^"]+)"/g,'data-stx-ref="$1"');return $=$.replace(/(<[a-zA-Z][a-zA-Z0-9-]*\b[^>]*?)\sref="([^"]+)"/g,'$1 data-stx-ref="$2"'),$}function lG(X){let Z=new RegExp("<(div|span|p|h[1-6]|td|th|li|a|button|label|section|article|header|footer|main|nav|aside|dd|dt|figcaption|summary|caption|blockquote|pre|code|em|strong|small|sub|sup|time|mark|abbr|cite|q|s|u|b|i)\\b","gi"),Y="",J=0,G;while((G=Z.exec(X))!==null){let Q=G.index,w=Q+G[0].length,q=!1,W=!1,U=-1;while(w<X.length){let j=X[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===">"){U=w;break}w++}if(U===-1)continue;if(X.slice(Q,U+1).includes("x-cloak"))continue;let z=X.slice(U+1),B=z.indexOf("</"),_=B>=0?z.slice(0,B):z.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(_))Y+=X.slice(J,U)+" x-cloak>",J=U+1}return Y+=X.slice(J),Y}function cG(X){let $=/<[a-z][\w-]*/gi,Z="",Y=0,J;while((J=$.exec(X))!==null){let G=J.index,Q=J[0].slice(1).toLowerCase();if(Q==="script"||Q==="style"){let _=`</${Q}>`,j=X.toLowerCase().indexOf(_,G);if(j!==-1)$.lastIndex=j+_.length;continue}let w=G+J[0].length,q=!1,W=!1,U=-1;while(w<X.length){let _=X[w];if(q){if(_==="'")q=!1}else if(W){if(_==='"')W=!1}else if(_==="'")q=!0;else if(_==='"')W=!0;else if(_===">"){U=w;break}w++}if(U===-1)continue;let K=X.slice(G+J[0].length,U);if(/(?:^|\s)x-cloak(?:=|\s|\/|>|$)/.test(K))continue;if(!Sj.test(K))continue;let z=X[U-1]==="/",B=z?U-1:U;Z+=`${X.slice(Y,B)} x-cloak${z?" ":""}`,Y=B}return Z+=X.slice(Y),Z}var Sj;var o3=D(()=>{F1();F0();Sj=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function a3(X,$,Z,Y){let J=typeof Z==="boolean"?{enabled:Z,failOnViolation:Z}:Z??{enabled:!1},G=J.allowPatterns??[],Q=[];for(let{pattern:w,message:q,suggestion:W}of Cj){if(G.some((K)=>/\w/.test(K)&&q.includes(K)))continue;w.lastIndex=0;let U=X.match(w);if(U&&U.length>0){let K=X.split(`
11548
+ </style>`;Y=Y.replace(W,L),w.lastIndex=0}catch(H){}}}return Y}var lG=D(()=>{E1()});function r3(X,$){let Z=X,Y=/@json\s*\(/g,J;while((J=Y.exec(Z))!==null){let G=J.index,Q=G+J[0].length-1,w=1,q=Q+1,W=null,U=!1;while(q<Z.length&&w>0){let F=Z[q];if(U){U=!1,q++;continue}if(F==="\\"&&W){U=!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 K=Z.substring(Q+1,q).trim(),z=Z.substring(G,q+1),B=-1,_=0,j=null,H=!1;for(let F=0;F<K.length;F++){let V=K[F];if(H){H=!1;continue}if(V==="\\"&&j){H=!0;continue}if(j){if(V===j)j=null;continue}if(V==='"'||V==="'"||V==="`"){j=V;continue}if(V==="("||V==="["||V==="{")_++;else if(V===")"||V==="]"||V==="}")_--;if(V===","&&_===0){B=F;break}}let L=B>=0?K.substring(0,B).trim():K,O=B>=0?K.substring(B+1).trim():void 0;try{let F=L.trim(),V;if(q0(F))V=W0(F,Object.keys($))(...Object.values($));else V=void 0;let A;if(O==="true")A=JSON.stringify(V,null,2);else A=JSON.stringify(V);let R=A.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");Z=Z.substring(0,G)+R+Z.substring(q+1),Y.lastIndex=G+R.length}catch(F){$1.log(F instanceof Error?F:Error(String(F)),{directive:"@json"},"error"),Y.lastIndex=G+z.length}}return Z}function s3(X){return X.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function cG(X){let $=X,Z=/@memo\s*\(/g,Y,J=[];while((Y=Z.exec($))!==null){let G=Y.index,Q=G+Y[0].length,w=1,q=Q;while(q<$.length&&w>0){if($[q]==="(")w++;else if($[q]===")")w--;q++}if(w!==0)continue;let W=$.slice(Q,q-1).trim(),U=q,K=$.slice(U),z=K.indexOf("@endmemo");if(z===-1)continue;let B=K.slice(0,z),_=U+z+8,j=B.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)/),H=j?j[0].length:0,L=B.slice(H),O=B.match(/(\s*)$/),F=O?O[0].length:0,V=L.slice(0,L.length-F),A=V.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),R;if(A){let[T,M,k="",N]=A,y=`<${M}${k} data-stx-memo="${W}"${N}>`;R=B.slice(0,H)+y+V.slice(T.length)+B.slice(H+V.length)}else R=`${B.slice(0,H)}<div data-stx-memo="${W}">${V}</div>${B.slice(H+V.length)}`;J.push({start:G,end:_,replacement:R}),Z.lastIndex=_}for(let G=J.length-1;G>=0;G--){let Q=J[G];$=$.slice(0,Q.start)+Q.replacement+$.slice(Q.end)}return $.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function o3(X){let $=X.replace(/@ref="([^"]+)"/g,'data-stx-ref="$1"');return $=$.replace(/(<[a-zA-Z][a-zA-Z0-9-]*\b[^>]*?)\sref="([^"]+)"/g,'$1 data-stx-ref="$2"'),$}function pG(X){let Z=new RegExp("<(div|span|p|h[1-6]|td|th|li|a|button|label|section|article|header|footer|main|nav|aside|dd|dt|figcaption|summary|caption|blockquote|pre|code|em|strong|small|sub|sup|time|mark|abbr|cite|q|s|u|b|i)\\b","gi"),Y="",J=0,G;while((G=Z.exec(X))!==null){let Q=G.index,w=Q+G[0].length,q=!1,W=!1,U=-1;while(w<X.length){let j=X[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===">"){U=w;break}w++}if(U===-1)continue;if(X.slice(Q,U+1).includes("x-cloak"))continue;let z=X.slice(U+1),B=z.indexOf("</"),_=B>=0?z.slice(0,B):z.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(_))Y+=X.slice(J,U)+" x-cloak>",J=U+1}return Y+=X.slice(J),Y}function iG(X){let $=/<[a-z][\w-]*/gi,Z="",Y=0,J;while((J=$.exec(X))!==null){let G=J.index,Q=J[0].slice(1).toLowerCase();if(Q==="script"||Q==="style"){let _=`</${Q}>`,j=X.toLowerCase().indexOf(_,G);if(j!==-1)$.lastIndex=j+_.length;continue}let w=G+J[0].length,q=!1,W=!1,U=-1;while(w<X.length){let _=X[w];if(q){if(_==="'")q=!1}else if(W){if(_==='"')W=!1}else if(_==="'")q=!0;else if(_==='"')W=!0;else if(_===">"){U=w;break}w++}if(U===-1)continue;let K=X.slice(G+J[0].length,U);if(/(?:^|\s)x-cloak(?:=|\s|\/|>|$)/.test(K))continue;if(!vj.test(K))continue;let z=X[U-1]==="/",B=z?U-1:U;Z+=`${X.slice(Y,B)} x-cloak${z?" ":""}`,Y=B}return Z+=X.slice(Y),Z}var vj;var a3=D(()=>{F1();F0();vj=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function t3(X,$,Z,Y){let J=typeof Z==="boolean"?{enabled:Z,failOnViolation:Z}:Z??{enabled:!1},G=J.allowPatterns??[],Q=[];for(let{pattern:w,message:q,suggestion:W}of xj){if(G.some((K)=>/\w/.test(K)&&q.includes(K)))continue;w.lastIndex=0;let U=X.match(w);if(U&&U.length>0){let K=X.split(`
11549
11549
  `),z=[];K.forEach((H,L)=>{if(w.lastIndex=0,w.test(H))z.push(L+1)});let B=z.length>0?` (script line${z.length>1?"s":""} ${z.join(", ")})`:"",_=z.slice(0,3).map((H)=>` ${H} | ${(K[H-1]??"").trim().slice(0,100)}`).join(`
11550
11550
  `),j=_?`
11551
11551
  ${_}`:"";Q.push(` \u2717 ${q}${B}
11552
11552
  \u2192 ${W}${j}`)}}if(Q.length>0&&J.enabled){let w=(U)=>{let K=`${process.cwd()}/`;return U.startsWith(K)?U.slice(K.length):U},W=`[STX] DOM API violation in ${Y&&Y!==$?`${w(Y)} (composed into ${w($)})`:w($)}:
11553
11553
  ${Q.join(`
11554
11554
  `)}
11555
- Tip: prefer useRef(), navigate(), and composables for component code`;if(J.failOnViolation)throw Error(W);else console.warn(W)}}var Cj;var t3=D(()=>{Cj=[{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 Pj from"fs";function y8(X){return[...X].sort().map(($)=>{try{let Z=Pj.statSync($);return`${$}:${Z.size}:${Z.mtimeMs}`}catch{return`${$}:missing`}}).join(`
11556
- `)}function b8(X,$,Z){let Y=X.get($);return Y!==void 0&&Y.signature===Z?Y.value:void 0}function U1(X,$,Z,Y){return X.set($,{signature:Z,value:Y}),Y}var e3=()=>{};var pG={};t(pG,{getStoreScript:()=>xj,clearStoreCache:()=>fj});import S8 from"path";function vj(X,$){for(let Z of X.matchAll(/\b(?:const|let|var|function|class)\s+([A-Z_a-z$][\w$]*)/g))if(Z[1])$.add(Z[1]);for(let Z of X.matchAll(/\b(?:const|let|var)\s*\{([^{}]*)\}\s*=/g))for(let Y of(Z[1]??"").split(",")){let G=((Y.includes(":")?Y.split(":").pop():Y)??"").replace(/=.*$/s,"").replace(/^\s*\.\.\./,"").trim();if(/^[A-Z_a-z$][\w$]*$/.test(G))$.add(G)}for(let Z of X.matchAll(/\b(?:const|let|var)\s*\[([^\]]*)\]\s*=/g))for(let Y of(Z[1]??"").split(",")){let J=Y.replace(/=.*$/s,"").replace(/^\s*\.\.\./,"").trim();if(/^[A-Z_a-z$][\w$]*$/.test(J))$.add(J)}}async function xj(X){let $;if(X)$=S8.resolve(X);else{let _=await u1();$=S8.resolve(_.root||process.cwd(),_.storesDir||"stores")}let Z=new Bun.Glob("*.ts"),Y=[];try{for await(let _ of Z.scan({cwd:$,absolute:!0})){let j=S8.basename(_,".ts");if(["index","types"].includes(j))continue;if(_.includes(".d.ts"))continue;Y.push(_)}}catch{return U1(o5,$,"",""),null}let J=y8(Y),G=b8(o5,$,J);if(G!==void 0)return G||null;if(Y.length===0)return U1(o5,$,J,""),null;let Q=[];for(let _ of Y){let j=await Bun.file(_).text();Q.push({file:_,hasUseStore:/useStore\s*\(/.test(j)})}Q.sort((_,j)=>{if(_.hasUseStore===j.hasUseStore)return 0;return _.hasUseStore?1:-1});let w=Q.map((_)=>_.file),q=[],W=new Set,U=new Bun.Transpiler({loader:"ts",target:"browser",define:C0()});for(let _ of w)try{let j=await Bun.file(_).text(),H=S8.basename(_,".ts");vj(j,W),j=h0(j),j=LX(j),j=j.replace(/^export\s+(default\s+)?/gm,""),j=U.transformSync(j),q.push(`// Store: ${H}
11555
+ Tip: prefer useRef(), navigate(), and composables for component code`;if(J.failOnViolation)throw Error(W);else console.warn(W)}}var xj;var e3=D(()=>{xj=[{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 fj from"fs";function y8(X){return[...X].sort().map(($)=>{try{let Z=fj.statSync($);return`${$}:${Z.size}:${Z.mtimeMs}`}catch{return`${$}:missing`}}).join(`
11556
+ `)}function b8(X,$,Z){let Y=X.get($);return Y!==void 0&&Y.signature===Z?Y.value:void 0}function U1(X,$,Z,Y){return X.set($,{signature:Z,value:Y}),Y}var X4=()=>{};var nG={};t(nG,{getStoreScript:()=>hj,clearStoreCache:()=>uj});import S8 from"path";function gj(X,$){for(let Z of X.matchAll(/\b(?:const|let|var|function|class)\s+([A-Z_a-z$][\w$]*)/g))if(Z[1])$.add(Z[1]);for(let Z of X.matchAll(/\b(?:const|let|var)\s*\{([^{}]*)\}\s*=/g))for(let Y of(Z[1]??"").split(",")){let G=((Y.includes(":")?Y.split(":").pop():Y)??"").replace(/=.*$/s,"").replace(/^\s*\.\.\./,"").trim();if(/^[A-Z_a-z$][\w$]*$/.test(G))$.add(G)}for(let Z of X.matchAll(/\b(?:const|let|var)\s*\[([^\]]*)\]\s*=/g))for(let Y of(Z[1]??"").split(",")){let J=Y.replace(/=.*$/s,"").replace(/^\s*\.\.\./,"").trim();if(/^[A-Z_a-z$][\w$]*$/.test(J))$.add(J)}}async function hj(X){let $;if(X)$=S8.resolve(X);else{let _=await u1();$=S8.resolve(_.root||process.cwd(),_.storesDir||"stores")}let Z=new Bun.Glob("*.ts"),Y=[];try{for await(let _ of Z.scan({cwd:$,absolute:!0})){let j=S8.basename(_,".ts");if(["index","types"].includes(j))continue;if(_.includes(".d.ts"))continue;Y.push(_)}}catch{return U1(o5,$,"",""),null}let J=y8(Y),G=b8(o5,$,J);if(G!==void 0)return G||null;if(Y.length===0)return U1(o5,$,J,""),null;let Q=[];for(let _ of Y){let j=await Bun.file(_).text();Q.push({file:_,hasUseStore:/useStore\s*\(/.test(j)})}Q.sort((_,j)=>{if(_.hasUseStore===j.hasUseStore)return 0;return _.hasUseStore?1:-1});let w=Q.map((_)=>_.file),q=[],W=new Set,U=new Bun.Transpiler({loader:"ts",target:"browser",define:C0()});for(let _ of w)try{let j=await Bun.file(_).text(),H=S8.basename(_,".ts");gj(j,W),j=h0(j),j=LX(j),j=j.replace(/^export\s+(default\s+)?/gm,""),j=U.transformSync(j),q.push(`// Store: ${H}
11557
11557
  ${j.trim()}`)}catch(j){console.warn(`[stx] Failed to load store ${_}:`,j)}if(q.length===0)return U1(o5,$,J,""),null;let K=q.join(`
11558
11558
 
11559
11559
  `),B=`;(function(){
@@ -11561,8 +11561,8 @@ var __stx = window.stx || {};
11561
11561
  ${j1.filter((_)=>!W.has(_)&&new RegExp(`\\b${_}\\b`).test(K)).map((_)=>`var ${_} = __stx[${JSON.stringify(_)}];`).join(`
11562
11562
  `)}
11563
11563
  ${K}
11564
- })();`;return U1(o5,$,J,B),B}function fj(){o5.clear()}var o5;var iG=D(()=>{H1();E1();G1();e3();o5=new Map});var X4,Sk;var nG=D(()=>{X4=["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"],Sk=new Set(X4)});var oG={};t(oG,{selectComposableFiles:()=>rG,referencedFrameworkComposables:()=>sG,getFrameworkComposableScript:()=>dj,clearFrameworkComposableCache:()=>hj,__setRuntimeOwnedForTest:()=>mj});import C8 from"path";function hj(){o7.clear()}function rG(X){let $=new Map;for(let Z of X){let Y=C8.basename(Z);if(Y.endsWith(".d.ts"))continue;let J=Y.replace(/\.[jt]s$/,"");if(J==="index")continue;if(J===Y)continue;let G=$.get(J);if(G&&!G.endsWith(".js"))continue;$.set(J,Z)}return[...$.values()].sort()}function uj(X,$){let Z=$.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(?:^|[^\\w$.])(?:const|let|var|function|class)\\s+${Z}\\b`).test(X)}function sG(X){if(!X)return[];let $=X.replace(/<script\b[^>]*\bdata-stx-runtime\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<script\b[^>]*\bdata-stx-framework-composables\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<script\b[^>]*\bdata-stx-stores\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<script\b[^>]*\bdata-stx-composables\b[^>]*>[\s\S]*?<\/script>/gi,""),Z=[];for(let Y of gj){if($4.has(Y))continue;let J=Y.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");if(new RegExp(`(^|[^\\w$.])${J}\\s*\\(`).test($))Z.push(Y)}return Z.sort()}async function dj(X,$){let Z=sG(X);if(Z.length===0)return null;let Y=$??C8.join(import.meta.dir,"composables"),J=`${Y}\x00${Z.join(",")}`,G=o7.get(J);if(G!==void 0)return G||null;let Q=new Bun.Transpiler({loader:"ts",target:"browser",define:C0()}),w=new Set(Z),q=[],W=new Set,U=[];try{let _=new Bun.Glob("*.{ts,js}");for await(let j of _.scan({cwd:Y,absolute:!0}))U.push(j)}catch{return o7.set(J,""),null}U=rG(U);for(let _ of U){let j;try{j=await Bun.file(_).text()}catch{continue}let H=[];try{H=Q.scan(j).exports.filter((L)=>L!=="default")}catch{continue}if(!H.some((L)=>w.has(L)))continue;try{j=j.replace(/^import\s+.*from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),j=j.replace(/^import\s+type\s+.*$/gm,""),j=j.replace(/^export\s+\*\s+(?:as\s+\w+\s+)?from\s*['"][^'"]+['"]\s*;?\s*$/gm,""),j=j.replace(/^export\s+(?:type\s+)?\{[\s\S]*?\}\s*(?:from\s*['"][^'"]+['"]\s*)?;?\s*$/gm,""),j=j.replace(/^export\s+default\s+/gm,""),j=j.replace(/^export\s+(?=(?:declare\s+)?(?:abstract\s+)?(?:async\s+)?(?:function|class|const|let|var|type|interface|enum)\b)/gm,""),q.push(`// ${C8.basename(_).replace(/\.[jt]s$/,"")}
11565
- ${Q.transformSync(j).trim()}`);for(let L of H)W.add(L)}catch(L){console.warn(`[stx] framework composable ${C8.basename(_)} could not be bundled:`,L)}}let K=Z.filter((_)=>!W.has(_)&&!uj(X,_));if(K.length>0)console.warn(`[stx] could not bundle ${K.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 o7.set(J,""),null;let z=[...W].map((_)=>` try { if (!(${JSON.stringify(_)} in __s)) { __s[${JSON.stringify(_)}] = ${_}; if (!(${JSON.stringify(_)} in window)) window[${JSON.stringify(_)}] = ${_}; } } catch (e) {}`).join(`
11564
+ })();`;return U1(o5,$,J,B),B}function uj(){o5.clear()}var o5;var rG=D(()=>{H1();E1();G1();X4();o5=new Map});var $4,vk;var sG=D(()=>{$4=["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"],vk=new Set($4)});var tG={};t(tG,{selectComposableFiles:()=>oG,referencedFrameworkComposables:()=>aG,getFrameworkComposableScript:()=>cj,clearFrameworkComposableCache:()=>mj,__setRuntimeOwnedForTest:()=>pj});import C8 from"path";function mj(){o7.clear()}function oG(X){let $=new Map;for(let Z of X){let Y=C8.basename(Z);if(Y.endsWith(".d.ts"))continue;let J=Y.replace(/\.[jt]s$/,"");if(J==="index")continue;if(J===Y)continue;let G=$.get(J);if(G&&!G.endsWith(".js"))continue;$.set(J,Z)}return[...$.values()].sort()}function lj(X,$){let Z=$.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(?:^|[^\\w$.])(?:const|let|var|function|class)\\s+${Z}\\b`).test(X)}function aG(X){if(!X)return[];let $=X.replace(/<script\b[^>]*\bdata-stx-runtime\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<script\b[^>]*\bdata-stx-framework-composables\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<script\b[^>]*\bdata-stx-stores\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<script\b[^>]*\bdata-stx-composables\b[^>]*>[\s\S]*?<\/script>/gi,""),Z=[];for(let Y of dj){if(Z4.has(Y))continue;let J=Y.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");if(new RegExp(`(^|[^\\w$.])${J}\\s*\\(`).test($))Z.push(Y)}return Z.sort()}async function cj(X,$){let Z=aG(X);if(Z.length===0)return null;let Y=$??C8.join(import.meta.dir,"composables"),J=`${Y}\x00${Z.join(",")}`,G=o7.get(J);if(G!==void 0)return G||null;let Q=new Bun.Transpiler({loader:"ts",target:"browser",define:C0()}),w=new Set(Z),q=[],W=new Set,U=[];try{let _=new Bun.Glob("*.{ts,js}");for await(let j of _.scan({cwd:Y,absolute:!0}))U.push(j)}catch{return o7.set(J,""),null}U=oG(U);for(let _ of U){let j;try{j=await Bun.file(_).text()}catch{continue}let H=[];try{H=Q.scan(j).exports.filter((L)=>L!=="default")}catch{continue}if(!H.some((L)=>w.has(L)))continue;try{j=j.replace(/^import\s+.*from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),j=j.replace(/^import\s+type\s+.*$/gm,""),j=j.replace(/^export\s+\*\s+(?:as\s+\w+\s+)?from\s*['"][^'"]+['"]\s*;?\s*$/gm,""),j=j.replace(/^export\s+(?:type\s+)?\{[\s\S]*?\}\s*(?:from\s*['"][^'"]+['"]\s*)?;?\s*$/gm,""),j=j.replace(/^export\s+default\s+/gm,""),j=j.replace(/^export\s+(?=(?:declare\s+)?(?:abstract\s+)?(?:async\s+)?(?:function|class|const|let|var|type|interface|enum)\b)/gm,""),q.push(`// ${C8.basename(_).replace(/\.[jt]s$/,"")}
11565
+ ${Q.transformSync(j).trim()}`);for(let L of H)W.add(L)}catch(L){console.warn(`[stx] framework composable ${C8.basename(_)} could not be bundled:`,L)}}let K=Z.filter((_)=>!W.has(_)&&!lj(X,_));if(K.length>0)console.warn(`[stx] could not bundle ${K.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 o7.set(J,""),null;let z=[...W].map((_)=>` try { if (!(${JSON.stringify(_)} in __s)) { __s[${JSON.stringify(_)}] = ${_}; if (!(${JSON.stringify(_)} in window)) window[${JSON.stringify(_)}] = ${_}; } } catch (e) {}`).join(`
11566
11566
  `),B=`<script data-stx-framework-composables>
11567
11567
  ;(function(){
11568
11568
  var __s = window.stx = window.stx || {};
@@ -11571,7 +11571,7 @@ ${q.join(`
11571
11571
  `)}
11572
11572
  ${z}
11573
11573
  })();
11574
- </script>`;return o7.set(J,B),B}function mj(X){$4.clear();for(let $ of X)$4.add($)}var o7,$4,gj;var aG=D(()=>{E1();nG();o7=new Map,$4=new Set,gj=new Set(X4)});var eG={};t(eG,{getComposableScript:()=>ij,clearComposableCache:()=>nj});import a7 from"path";function tG(X){let $=a7.basename(X,".ts");return $==="index"||$==="types"||X.endsWith(".d.ts")}async function cj(X){if(X)return a7.resolve(X);let $=`<default>:${process.cwd()}`,Z=Z4.get($);if(Z!==void 0)return Z;let Y=await pj();if(Y!==null)Z4.set($,Y);return Y}async function pj(){let X=await u1(),$=X.root||process.cwd(),Z=X.composablesDir;if(Z)return a7.resolve($,Z);for(let Y of lj){let J=a7.resolve($,Y);try{let G=new Bun.Glob("**/*.ts");for await(let Q of G.scan({cwd:J,absolute:!0}))if(!tG(Q))return J}catch{}}return null}async function ij(X){let $=await cj(X);if(!$)return null;let Z=[];try{let _=new Bun.Glob("**/*.ts");for await(let j of _.scan({cwd:$,absolute:!0})){if(tG(j))continue;Z.push(j)}}catch{return U1(a5,$,"",""),null}let Y=y8(Z),J=b8(a5,$,Y);if(J!==void 0)return J||null;if(Z.length===0)return U1(a5,$,Y,""),null;Z.sort();let G=new Bun.Transpiler({loader:"ts",target:"browser",define:C0()}),Q=[],w=new Set,q=new Set;for(let _ of Z)try{let j=await Bun.file(_).text(),H=a7.basename(_,".ts");for(let L of j.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(j).exports)if(L!=="default")w.add(L)}catch{}j=h0(j),j=LX(j),j=j.replace(/^export\s+(default\s+)?/gm,""),j=G.transformSync(j),Q.push(`// Composable: ${H}
11574
+ </script>`;return o7.set(J,B),B}function pj(X){Z4.clear();for(let $ of X)Z4.add($)}var o7,Z4,dj;var eG=D(()=>{E1();sG();o7=new Map,Z4=new Set,dj=new Set($4)});var $Q={};t($Q,{getComposableScript:()=>sj,clearComposableCache:()=>oj});import a7 from"path";function XQ(X){let $=a7.basename(X,".ts");return $==="index"||$==="types"||X.endsWith(".d.ts")}async function nj(X){if(X)return a7.resolve(X);let $=`<default>:${process.cwd()}`,Z=Y4.get($);if(Z!==void 0)return Z;let Y=await rj();if(Y!==null)Y4.set($,Y);return Y}async function rj(){let X=await u1(),$=X.root||process.cwd(),Z=X.composablesDir;if(Z)return a7.resolve($,Z);for(let Y of ij){let J=a7.resolve($,Y);try{let G=new Bun.Glob("**/*.ts");for await(let Q of G.scan({cwd:J,absolute:!0}))if(!XQ(Q))return J}catch{}}return null}async function sj(X){let $=await nj(X);if(!$)return null;let Z=[];try{let _=new Bun.Glob("**/*.ts");for await(let j of _.scan({cwd:$,absolute:!0})){if(XQ(j))continue;Z.push(j)}}catch{return U1(a5,$,"",""),null}let Y=y8(Z),J=b8(a5,$,Y);if(J!==void 0)return J||null;if(Z.length===0)return U1(a5,$,Y,""),null;Z.sort();let G=new Bun.Transpiler({loader:"ts",target:"browser",define:C0()}),Q=[],w=new Set,q=new Set;for(let _ of Z)try{let j=await Bun.file(_).text(),H=a7.basename(_,".ts");for(let L of j.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(j).exports)if(L!=="default")w.add(L)}catch{}j=h0(j),j=LX(j),j=j.replace(/^export\s+(default\s+)?/gm,""),j=G.transformSync(j),Q.push(`// Composable: ${H}
11575
11575
  ${j.trim()}`)}catch(j){console.warn(`[stx] Failed to load composable ${_}:`,j)}if(Q.length===0||w.size===0)return U1(a5,$,Y,""),null;let W=[...w].map((_)=>` try { __c[${JSON.stringify(_)}] = ${_}; } catch (e) {}`).join(`
11576
11576
  `),U=JSON.stringify([...w]),K=Q.join(`
11577
11577
 
@@ -11596,7 +11596,7 @@ ${W}
11596
11596
  }
11597
11597
  window[__n] = __c[__n];
11598
11598
  }
11599
- })();`;return U1(a5,$,Y,B),B}function nj(){a5.clear(),Z4.clear()}var a5,Z4,lj;var XQ=D(()=>{H1();E1();e3();G1();a5=new Map,Z4=new Map,lj=["composables","functions"]});var ZQ={};t(ZQ,{processDeferDirectives:()=>tj});function rj(){return`stx-defer-${++$Q}`}function sj(X){let $=X.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if($)return{trigger:$[1],value:$[2]};return{trigger:"immediate"}}function oj(X,$,Z){let{trigger:Y,value:J}=sj($),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 U=Z.match(/@loading\s*([\s\S]*?)(?=@error|$)/);if(U)w=U[1].trim(),G=G.replace(/@loading[\s\S]*?(?=@error|$)/,"");let K=Z.match(/@error(?:\s*\(\s*(\w+)\s*\))?\s*([\s\S]*)$/);if(K)q=K[2].trim(),G=G.replace(/@error(?:\s*\(\s*\w+\s*\))?[\s\S]*$/,"");return G=G.trim(),{trigger:Y,triggerValue:J,content:G,placeholder:Q,loading:w,error:q}}function aj(X,$){let{trigger:Z,triggerValue:Y}=$,J;switch(Z){case"visible":J=`
11599
+ })();`;return U1(a5,$,Y,B),B}function oj(){a5.clear(),Y4.clear()}var a5,Y4,ij;var ZQ=D(()=>{H1();E1();X4();G1();a5=new Map,Y4=new Map,ij=["composables","functions"]});var JQ={};t(JQ,{processDeferDirectives:()=>$H});function aj(){return`stx-defer-${++YQ}`}function tj(X){let $=X.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if($)return{trigger:$[1],value:$[2]};return{trigger:"immediate"}}function ej(X,$,Z){let{trigger:Y,value:J}=tj($),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 U=Z.match(/@loading\s*([\s\S]*?)(?=@error|$)/);if(U)w=U[1].trim(),G=G.replace(/@loading[\s\S]*?(?=@error|$)/,"");let K=Z.match(/@error(?:\s*\(\s*(\w+)\s*\))?\s*([\s\S]*)$/);if(K)q=K[2].trim(),G=G.replace(/@error(?:\s*\(\s*\w+\s*\))?[\s\S]*$/,"");return G=G.trim(),{trigger:Y,triggerValue:J,content:G,placeholder:Q,loading:w,error:q}}function XH(X,$){let{trigger:Z,triggerValue:Y}=$,J;switch(Z){case"visible":J=`
11600
11600
  const observer = new IntersectionObserver((entries) => {
11601
11601
  if (entries[0].isIntersecting) {
11602
11602
  observer.disconnect();
@@ -11669,7 +11669,7 @@ else {
11669
11669
  ${J}
11670
11670
  })();
11671
11671
  </script>
11672
- `}function tj(X,$,Z){$Q=0;let Y=/@defer\s*\(([^)]*)\)\s*([\s\S]*?)@enddefer/g;return X.replace(Y,(J,G,Q)=>{let w=rj(),q=oj(J,G,Q),W=q.placeholder?`<div data-defer-placeholder>${q.placeholder}</div>`:"",U=q.loading?`<div data-defer-loading style="display: none;">${q.loading}</div>`:'<div data-defer-loading style="display: none;"></div>',K=q.error?`<div data-defer-error style="display: none;">${q.error}</div>`:"",z=`<div data-defer-content style="display: none;">${q.content}</div>`,B=aj(w,q);return`
11672
+ `}function $H(X,$,Z){YQ=0;let Y=/@defer\s*\(([^)]*)\)\s*([\s\S]*?)@enddefer/g;return X.replace(Y,(J,G,Q)=>{let w=aj(),q=ej(J,G,Q),W=q.placeholder?`<div data-defer-placeholder>${q.placeholder}</div>`:"",U=q.loading?`<div data-defer-loading style="display: none;">${q.loading}</div>`:'<div data-defer-loading style="display: none;"></div>',K=q.error?`<div data-defer-error style="display: none;">${q.error}</div>`:"",z=`<div data-defer-content style="display: none;">${q.content}</div>`,B=XH(w,q);return`
11673
11673
  <div id="${w}" class="stx-defer" data-defer-trigger="${q.trigger}">
11674
11674
  ${W}
11675
11675
  ${U}
@@ -11677,7 +11677,7 @@ else {
11677
11677
  ${K}
11678
11678
  </div>
11679
11679
  ${B}
11680
- `})}var $Q=0;var JQ={};t(JQ,{processTeleportDirectives:()=>ZH,ensureTeleportTargets:()=>YH});function ej(){return`stx-teleport-${++YQ}`}function XH(X){let $=X.split(",").map((J)=>J.trim()),Z=$[0].replace(/['"]/g,""),Y;for(let J=1;J<$.length;J++){let G=$[J].match(/disabled:\s*(.+)/);if(G)Y=G[1].trim()}return{target:Z,disabled:Y}}function $H(X,$){return`
11680
+ `})}var YQ=0;var QQ={};t(QQ,{processTeleportDirectives:()=>GH,ensureTeleportTargets:()=>QH});function ZH(){return`stx-teleport-${++GQ}`}function YH(X){let $=X.split(",").map((J)=>J.trim()),Z=$[0].replace(/['"]/g,""),Y;for(let J=1;J<$.length;J++){let G=$[J].match(/disabled:\s*(.+)/);if(G)Y=G[1].trim()}return{target:Z,disabled:Y}}function JH(X,$){return`
11681
11681
  <script>
11682
11682
  (function() {
11683
11683
  const source = document.getElementById('${X}');
@@ -11723,12 +11723,12 @@ else {
11723
11723
  });
11724
11724
  })();
11725
11725
  </script>
11726
- `}function ZH(X,$,Z){YQ=0;let Y=/@teleport\s*\(([^)]+)\)\s*([\s\S]*?)@endteleport/g;return X.replace(Y,(J,G,Q)=>{let w=ej(),{target:q,disabled:W}=XH(G),U=Q.trim();if(W)try{let z=!1;if(W==="true")z=!0;else if(W==="false")z=!1;else if(W in $)z=Boolean($[W]);if(z)return`<div class="stx-teleport-inline" data-teleport-disabled>${U}</div>`}catch{}let K=$H(w,q);return`
11726
+ `}function GH(X,$,Z){GQ=0;let Y=/@teleport\s*\(([^)]+)\)\s*([\s\S]*?)@endteleport/g;return X.replace(Y,(J,G,Q)=>{let w=ZH(),{target:q,disabled:W}=YH(G),U=Q.trim();if(W)try{let z=!1;if(W==="true")z=!0;else if(W==="false")z=!1;else if(W in $)z=Boolean($[W]);if(z)return`<div class="stx-teleport-inline" data-teleport-disabled>${U}</div>`}catch{}let K=JH(w,q);return`
11727
11727
  <div id="${w}" class="stx-teleport-source" style="display: none;">
11728
11728
  <template>${U}</template>
11729
11729
  </div>
11730
11730
  ${K}
11731
- `})}function YH(){return`
11731
+ `})}function QH(){return`
11732
11732
  <script>
11733
11733
  (function() {
11734
11734
  // Common teleport targets
@@ -11745,7 +11745,7 @@ else {
11745
11745
  });
11746
11746
  })();
11747
11747
  </script>
11748
- `}var YQ=0;var qQ={};t(qQ,{processTransitionDirectives:()=>wH,processTransitionAttributes:()=>KH,performLeave:()=>QH,performEnter:()=>GH,generateTransitionRuntime:()=>UH,generateTransitionCSS:()=>WH});function GQ(X,$={}){return{enterFrom:$.enterClass||`${X}-enter-from`,enterActive:$.enterActiveClass||`${X}-enter-active`,enterTo:$.enterToClass||`${X}-enter-to`,leaveFrom:$.leaveClass||`${X}-leave-from`,leaveActive:$.leaveActiveClass||`${X}-leave-active`,leaveTo:$.leaveToClass||`${X}-leave-to`}}function JH(X){let $=getComputedStyle(X),Z=$.transitionDuration||"0s",Y=$.animationDuration||"0s",J=(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(J(Z),J(Y))}function QQ(X,$){return new Promise((Z)=>{let Y=$??JH(X);if(Y===0){Z();return}let J=!1,G=()=>{if(J)return;J=!0,X.removeEventListener("transitionend",Q),X.removeEventListener("animationend",Q),Z()},Q=(w)=>{if(w.target===X)G()};X.addEventListener("transitionend",Q),X.addEventListener("animationend",Q),setTimeout(G,Y+50)})}function wQ(X){X.offsetHeight}async function GH(X,$={}){let Z=$.name||"stx",Y=GQ(Z,$),J=typeof $.duration==="object"?$.duration.enter:$.duration;if($.onBeforeEnter?.(X),X.classList.add(Y.enterFrom),X.classList.add(Y.enterActive),wQ(X),X.classList.remove(Y.enterFrom),X.classList.add(Y.enterTo),$.onEnter)await new Promise((G)=>{$.onEnter(X,G)});else await QQ(X,J);X.classList.remove(Y.enterActive),X.classList.remove(Y.enterTo),$.onAfterEnter?.(X)}async function QH(X,$={}){let Z=$.name||"stx",Y=GQ(Z,$),J=typeof $.duration==="object"?$.duration.leave:$.duration;if($.onBeforeLeave?.(X),X.classList.add(Y.leaveFrom),X.classList.add(Y.leaveActive),wQ(X),X.classList.remove(Y.leaveFrom),X.classList.add(Y.leaveTo),$.onLeave)await new Promise((G)=>{$.onLeave(X,G)});else await QQ(X,J);X.classList.remove(Y.leaveActive),X.classList.remove(Y.leaveTo),$.onAfterLeave?.(X)}function wH(X,$={},Z){let Y=/@transition\s*\(([^)]*)\)([\s\S]*?)@endtransition/gi;return X.replace(Y,(J,G,Q)=>{let w=qH(G),q=w.name||"stx",W=w.duration||300,U=`stx-transition-${Math.random().toString(36).slice(2,9)}`;return`
11748
+ `}var GQ=0;var UQ={};t(UQ,{processTransitionDirectives:()=>UH,processTransitionAttributes:()=>BH,performLeave:()=>WH,performEnter:()=>qH,generateTransitionRuntime:()=>_H,generateTransitionCSS:()=>zH});function wQ(X,$={}){return{enterFrom:$.enterClass||`${X}-enter-from`,enterActive:$.enterActiveClass||`${X}-enter-active`,enterTo:$.enterToClass||`${X}-enter-to`,leaveFrom:$.leaveClass||`${X}-leave-from`,leaveActive:$.leaveActiveClass||`${X}-leave-active`,leaveTo:$.leaveToClass||`${X}-leave-to`}}function wH(X){let $=getComputedStyle(X),Z=$.transitionDuration||"0s",Y=$.animationDuration||"0s",J=(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(J(Z),J(Y))}function qQ(X,$){return new Promise((Z)=>{let Y=$??wH(X);if(Y===0){Z();return}let J=!1,G=()=>{if(J)return;J=!0,X.removeEventListener("transitionend",Q),X.removeEventListener("animationend",Q),Z()},Q=(w)=>{if(w.target===X)G()};X.addEventListener("transitionend",Q),X.addEventListener("animationend",Q),setTimeout(G,Y+50)})}function WQ(X){X.offsetHeight}async function qH(X,$={}){let Z=$.name||"stx",Y=wQ(Z,$),J=typeof $.duration==="object"?$.duration.enter:$.duration;if($.onBeforeEnter?.(X),X.classList.add(Y.enterFrom),X.classList.add(Y.enterActive),WQ(X),X.classList.remove(Y.enterFrom),X.classList.add(Y.enterTo),$.onEnter)await new Promise((G)=>{$.onEnter(X,G)});else await qQ(X,J);X.classList.remove(Y.enterActive),X.classList.remove(Y.enterTo),$.onAfterEnter?.(X)}async function WH(X,$={}){let Z=$.name||"stx",Y=wQ(Z,$),J=typeof $.duration==="object"?$.duration.leave:$.duration;if($.onBeforeLeave?.(X),X.classList.add(Y.leaveFrom),X.classList.add(Y.leaveActive),WQ(X),X.classList.remove(Y.leaveFrom),X.classList.add(Y.leaveTo),$.onLeave)await new Promise((G)=>{$.onLeave(X,G)});else await qQ(X,J);X.classList.remove(Y.leaveActive),X.classList.remove(Y.leaveTo),$.onAfterLeave?.(X)}function UH(X,$={},Z){let Y=/@transition\s*\(([^)]*)\)([\s\S]*?)@endtransition/gi;return X.replace(Y,(J,G,Q)=>{let w=KH(G),q=w.name||"stx",W=w.duration||300,U=`stx-transition-${Math.random().toString(36).slice(2,9)}`;return`
11749
11749
  <div
11750
11750
  class="stx-transition-wrapper"
11751
11751
  data-transition="${q}"
@@ -11787,7 +11787,7 @@ else {
11787
11787
  });
11788
11788
  })();
11789
11789
  </script>
11790
- `})}function qH(X){let $={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3]||Y[4]||Y[5];switch(J){case"name":$.name=G;break;case"duration":$.duration=parseInt(G,10);break;case"mode":$.mode=G;break;case"easing":$.easing=G;break}}return $}function WH(){return`
11790
+ `})}function KH(X){let $={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3]||Y[4]||Y[5];switch(J){case"name":$.name=G;break;case"duration":$.duration=parseInt(G,10);break;case"mode":$.mode=G;break;case"easing":$.easing=G;break}}return $}function zH(){return`
11791
11791
  /* STX Transition Presets */
11792
11792
 
11793
11793
  /* Fade */
@@ -11974,7 +11974,7 @@ else {
11974
11974
  opacity: 1;
11975
11975
  max-height: 1000px;
11976
11976
  }
11977
- `}function UH(){return`
11977
+ `}function _H(){return`
11978
11978
  // STX Transition Runtime
11979
11979
  (function() {
11980
11980
  if (typeof window === 'undefined') return;
@@ -12063,7 +12063,7 @@ else {
12063
12063
 
12064
12064
  console.log('[stx] Transition runtime initialized');
12065
12065
  })();
12066
- `}function KH(X){let $=/@transition\.([a-z-]+)(?:\.(\d+))?="([^"]+)"/gi;return X.replace($,(Z,Y,J,G)=>{let Q=J||"300",w=`stx-t-${Math.random().toString(36).slice(2,7)}`;return`data-stx-transition="${Y}" data-stx-transition-duration="${Q}" data-stx-transition-condition="${G}" data-stx-transition-id="${w}"`})}var UQ={};t(UQ,{withErrorBoundary:()=>WQ,processErrorBoundaryDirectives:()=>BH,generateErrorBoundaryRuntime:()=>FH,generateErrorBoundaryCSS:()=>OH,createErrorBoundary:()=>LH});function _H(){return`eb-${++zH}-${Date.now().toString(36)}`}function BH(X,$={},Z){let Y=/@errorBoundary(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@enderrorBoundary/gi;return X.replace(Y,(J,G,Q,w)=>{let q=_H(),W=jH(G||"");return HH(q,Q.trim(),w.trim(),W)})}function jH(X){let $={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3]||Y[4];switch(J){case"id":$.id=G;break;case"logErrors":$.logErrors=G==="true";break}}return $}function HH(X,$,Z,Y){let J=Y.logErrors!==!1;return`
12066
+ `}function BH(X){let $=/@transition\.([a-z-]+)(?:\.(\d+))?="([^"]+)"/gi;return X.replace($,(Z,Y,J,G)=>{let Q=J||"300",w=`stx-t-${Math.random().toString(36).slice(2,7)}`;return`data-stx-transition="${Y}" data-stx-transition-duration="${Q}" data-stx-transition-condition="${G}" data-stx-transition-id="${w}"`})}var zQ={};t(zQ,{withErrorBoundary:()=>KQ,processErrorBoundaryDirectives:()=>LH,generateErrorBoundaryRuntime:()=>RH,generateErrorBoundaryCSS:()=>AH,createErrorBoundary:()=>VH});function HH(){return`eb-${++jH}-${Date.now().toString(36)}`}function LH(X,$={},Z){let Y=/@errorBoundary(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@enderrorBoundary/gi;return X.replace(Y,(J,G,Q,w)=>{let q=HH(),W=OH(G||"");return FH(q,Q.trim(),w.trim(),W)})}function OH(X){let $={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3]||Y[4];switch(J){case"id":$.id=G;break;case"logErrors":$.logErrors=G==="true";break}}return $}function FH(X,$,Z,Y){let J=Y.logErrors!==!1;return`
12067
12067
  <div class="stx-error-boundary" data-boundary-id="${X}" data-has-error="false">
12068
12068
  <div class="stx-error-boundary-content" data-boundary-content="${X}">
12069
12069
  ${$}
@@ -12183,7 +12183,7 @@ else {
12183
12183
  };
12184
12184
  })();
12185
12185
  </script>
12186
- `}async function WQ(X,$,Z){try{return await X()}catch(Y){if(Z)Z(Y instanceof Error?Y:Error(String(Y)));else console.error("[stx:errorBoundary] SSR Error:",Y);return $}}function LH(X,$={}){let Z=$.onError?(Y)=>$.onError(Y,{timestamp:Date.now(),boundaryId:"ssr"}):void 0;return(Y)=>WQ(Y,X,Z)}function OH(){return`
12186
+ `}async function KQ(X,$,Z){try{return await X()}catch(Y){if(Z)Z(Y instanceof Error?Y:Error(String(Y)));else console.error("[stx:errorBoundary] SSR Error:",Y);return $}}function VH(X,$={}){let Z=$.onError?(Y)=>$.onError(Y,{timestamp:Date.now(),boundaryId:"ssr"}):void 0;return(Y)=>KQ(Y,X,Z)}function AH(){return`
12187
12187
  /* STX Error Boundary Styles */
12188
12188
  .stx-error-boundary {
12189
12189
  position: relative;
@@ -12227,7 +12227,7 @@ else {
12227
12227
  color: #fecaca;
12228
12228
  }
12229
12229
  }
12230
- `}function FH(){return`
12230
+ `}function RH(){return`
12231
12231
  // STX Error Boundary Runtime
12232
12232
  (function() {
12233
12233
  if (typeof window === 'undefined') return;
@@ -12292,7 +12292,7 @@ else {
12292
12292
 
12293
12293
  console.log('[stx] Error boundary runtime initialized');
12294
12294
  })();
12295
- `}var zH=0;var KQ={};t(KQ,{renderSSRSuspense:()=>kH,processSuspenseDirectives:()=>RH,generateSuspenseRuntime:()=>EH,generateSuspenseCSS:()=>IH,createSSRSuspense:()=>NH});function AH(){return`suspense-${++VH}-${Date.now().toString(36)}`}function RH(X,$={},Z){let Y=/@suspense(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@endsuspense/gi;return X.replace(Y,(J,G,Q,w)=>{let q=AH(),W=TH(G||"");return MH(q,Q.trim(),w.trim(),W)})}function TH(X){let $={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3],Q=Y[4];switch(J){case"id":$.id=G;break;case"timeout":$.timeout=Q?parseInt(Q,10):void 0;break}}return $}function MH(X,$,Z,Y){let J=Y.timeout||30000,G=Y.id||X;return`
12295
+ `}var jH=0;var _Q={};t(_Q,{renderSSRSuspense:()=>DH,processSuspenseDirectives:()=>NH,generateSuspenseRuntime:()=>bH,generateSuspenseCSS:()=>yH,createSSRSuspense:()=>EH});function MH(){return`suspense-${++TH}-${Date.now().toString(36)}`}function NH(X,$={},Z){let Y=/@suspense(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@endsuspense/gi;return X.replace(Y,(J,G,Q,w)=>{let q=MH(),W=kH(G||"");return IH(q,Q.trim(),w.trim(),W)})}function kH(X){let $={},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3],Q=Y[4];switch(J){case"id":$.id=G;break;case"timeout":$.timeout=Q?parseInt(Q,10):void 0;break}}return $}function IH(X,$,Z,Y){let J=Y.timeout||30000,G=Y.id||X;return`
12296
12296
  <div class="stx-suspense" data-suspense-id="${X}" data-custom-id="${G}" data-status="pending">
12297
12297
  <div class="stx-suspense-fallback" data-suspense-fallback="${X}">
12298
12298
  ${Z}
@@ -12482,7 +12482,7 @@ else {
12482
12482
  }, 0);
12483
12483
  })();
12484
12484
  </script>
12485
- `}function NH(X,$,Z){return{id:X,fallback:Z,content:$}}async function kH(X){let $=X.map((Y)=>`
12485
+ `}function EH(X,$,Z){return{id:X,fallback:Z,content:$}}async function DH(X){let $=X.map((Y)=>`
12486
12486
  <div id="stx-ssr-suspense-${Y.id}" class="stx-ssr-suspense">
12487
12487
  ${Y.fallback}
12488
12488
  </div>
@@ -12507,7 +12507,7 @@ else {
12507
12507
  }
12508
12508
  })();
12509
12509
  </script>
12510
- `}}return{initial:$,streaming:Z()}}function IH(){return`
12510
+ `}}return{initial:$,streaming:Z()}}function yH(){return`
12511
12511
  /* STX Suspense Styles */
12512
12512
  .stx-suspense {
12513
12513
  position: relative;
@@ -12563,7 +12563,7 @@ else {
12563
12563
  background-size: 200% 100%;
12564
12564
  }
12565
12565
  }
12566
- `}function EH(){return`
12566
+ `}function bH(){return`
12567
12567
  // STX Suspense Runtime
12568
12568
  (function() {
12569
12569
  if (typeof window === 'undefined') return;
@@ -12630,7 +12630,7 @@ else {
12630
12630
 
12631
12631
  console.log('[stx] Suspense runtime initialized');
12632
12632
  })();
12633
- `}var VH=0;var jQ={};t(jQ,{processAsyncDirectives:()=>yH,isAsyncComponent:()=>SH,generateAsyncComponentRuntime:()=>PH,generateAsyncComponentCSS:()=>CH,defineAsyncComponent:()=>bH});function zQ(){return`async-${++DH}-${Date.now().toString(36)}`}function yH(X,$={},Z){let Y=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@error\s*([\s\S]*?)@endasync/gi,J=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@endasync/gi,G=X;return G=G.replace(Y,(Q,w,q,W)=>{let U=zQ(),K=_Q(w);return BQ(U,K,q.trim(),W.trim())}),G=G.replace(J,(Q,w,q)=>{let W=zQ(),U=_Q(w);return BQ(W,U,q.trim(),'<div class="stx-async-error">Failed to load component</div>')}),G}function _Q(X){let $={component:"",timeout:30000,delay:200,suspensible:!0,retries:0},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3],Q=Y[4],w=Y[5];switch(J){case"component":$.component=G||w||"";break;case"timeout":$.timeout=Q?parseInt(Q,10):30000;break;case"delay":$.delay=Q?parseInt(Q,10):200;break;case"suspensible":$.suspensible=w==="true";break;case"retries":$.retries=Q?parseInt(Q,10):0;break;case"loadingComponent":$.loadingComponent=G||w;break;case"errorComponent":$.errorComponent=G||w;break}}return $}function BQ(X,$,Z,Y){let{component:J,timeout:G,delay:Q,suspensible:w,retries:q}=$;return`
12633
+ `}var TH=0;var LQ={};t(LQ,{processAsyncDirectives:()=>CH,isAsyncComponent:()=>vH,generateAsyncComponentRuntime:()=>fH,generateAsyncComponentCSS:()=>xH,defineAsyncComponent:()=>PH});function BQ(){return`async-${++SH}-${Date.now().toString(36)}`}function CH(X,$={},Z){let Y=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@error\s*([\s\S]*?)@endasync/gi,J=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@endasync/gi,G=X;return G=G.replace(Y,(Q,w,q,W)=>{let U=BQ(),K=jQ(w);return HQ(U,K,q.trim(),W.trim())}),G=G.replace(J,(Q,w,q)=>{let W=BQ(),U=jQ(w);return HQ(W,U,q.trim(),'<div class="stx-async-error">Failed to load component</div>')}),G}function jQ(X){let $={component:"",timeout:30000,delay:200,suspensible:!0,retries:0},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3],Q=Y[4],w=Y[5];switch(J){case"component":$.component=G||w||"";break;case"timeout":$.timeout=Q?parseInt(Q,10):30000;break;case"delay":$.delay=Q?parseInt(Q,10):200;break;case"suspensible":$.suspensible=w==="true";break;case"retries":$.retries=Q?parseInt(Q,10):0;break;case"loadingComponent":$.loadingComponent=G||w;break;case"errorComponent":$.errorComponent=G||w;break}}return $}function HQ(X,$,Z,Y){let{component:J,timeout:G,delay:Q,suspensible:w,retries:q}=$;return`
12634
12634
  <div class="stx-async-component" data-async-id="${X}" data-component="${J}" data-status="pending">
12635
12635
  <div class="stx-async-loading" data-async-loading="${X}">
12636
12636
  ${Z}
@@ -12857,7 +12857,7 @@ catch (error) {
12857
12857
  loadComponent();
12858
12858
  })();
12859
12859
  </script>
12860
- `}function bH(X){return{__asyncComponent:!0,...typeof X==="function"?{loader:X}:X}}function SH(X){return typeof X==="object"&&X!==null&&"__asyncComponent"in X&&X.__asyncComponent===!0}function CH(){return`
12860
+ `}function PH(X){return{__asyncComponent:!0,...typeof X==="function"?{loader:X}:X}}function vH(X){return typeof X==="object"&&X!==null&&"__asyncComponent"in X&&X.__asyncComponent===!0}function xH(){return`
12861
12861
  /* STX Async Component Styles */
12862
12862
  .stx-async-component {
12863
12863
  position: relative;
@@ -12931,7 +12931,7 @@ catch (error) {
12931
12931
  background-size: 200% 100%;
12932
12932
  }
12933
12933
  }
12934
- `}function PH(){return`
12934
+ `}function fH(){return`
12935
12935
  // STX Async Component Runtime
12936
12936
  (function() {
12937
12937
  if (typeof window === 'undefined') return;
@@ -12985,7 +12985,7 @@ catch (error) {
12985
12985
 
12986
12986
  console.log('[stx] Async component runtime initialized');
12987
12987
  })();
12988
- `}var DH=0;var LQ={};t(LQ,{shouldCacheComponent:()=>uH,processKeepAliveDirectives:()=>xH,onDeactivated:()=>cH,onActivated:()=>lH,generateKeepAliveRuntime:()=>mH,generateKeepAliveCSS:()=>dH,createKeepAliveCache:()=>hH});function HQ(){return`keep-alive-${++vH}-${Date.now().toString(36)}`}function xH(X,$={},Z){let Y=/@keepAlive(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@endkeepAlive/gi;return X.replace(Y,(J,G,Q)=>{let w=HQ(),q=fH(G||"");return gH(w,Q.trim(),q)})}function fH(X){let $={max:10},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3],Q=Y[4];switch(J){case"max":$.max=Q?parseInt(Q,10):10;break;case"include":$.include=G;break;case"exclude":$.exclude=G;break;case"id":$.id=G;break}}return $}function gH(X,$,Z){let{max:Y,include:J,exclude:G}=Z,Q=Z.id||X;return`
12988
+ `}var SH=0;var FQ={};t(FQ,{shouldCacheComponent:()=>lH,processKeepAliveDirectives:()=>hH,onDeactivated:()=>nH,onActivated:()=>iH,generateKeepAliveRuntime:()=>pH,generateKeepAliveCSS:()=>cH,createKeepAliveCache:()=>mH});function OQ(){return`keep-alive-${++gH}-${Date.now().toString(36)}`}function hH(X,$={},Z){let Y=/@keepAlive(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@endkeepAlive/gi;return X.replace(Y,(J,G,Q)=>{let w=OQ(),q=uH(G||"");return dH(w,Q.trim(),q)})}function uH(X){let $={max:10},Z=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=Z.exec(X))!==null){let J=Y[1],G=Y[2]||Y[3],Q=Y[4];switch(J){case"max":$.max=Q?parseInt(Q,10):10;break;case"include":$.include=G;break;case"exclude":$.exclude=G;break;case"id":$.id=G;break}}return $}function dH(X,$,Z){let{max:Y,include:J,exclude:G}=Z,Q=Z.id||X;return`
12989
12989
  <div class="stx-keep-alive" data-keep-alive-id="${X}" data-custom-id="${Q}">
12990
12990
  <div class="stx-keep-alive-content" data-keep-alive-content="${X}">
12991
12991
  ${$}
@@ -13272,7 +13272,7 @@ else {
13272
13272
  });
13273
13273
  })();
13274
13274
  </script>
13275
- `}function hH(X={}){return{id:X.id||HQ(),cache:new Map,max:X.max||10,include:X.include?X.include.split(",").map((Z)=>Z.trim()):null,exclude:X.exclude?X.exclude.split(",").map((Z)=>Z.trim()):null}}function uH(X,$){if($.exclude&&$.exclude.includes(X))return!1;if($.include&&!$.include.includes(X))return!1;return!0}function dH(){return`
13275
+ `}function mH(X={}){return{id:X.id||OQ(),cache:new Map,max:X.max||10,include:X.include?X.include.split(",").map((Z)=>Z.trim()):null,exclude:X.exclude?X.exclude.split(",").map((Z)=>Z.trim()):null}}function lH(X,$){if($.exclude&&$.exclude.includes(X))return!1;if($.include&&!$.include.includes(X))return!1;return!0}function cH(){return`
13276
13276
  /* STX Keep-Alive Styles */
13277
13277
  .stx-keep-alive {
13278
13278
  position: relative;
@@ -13297,7 +13297,7 @@ else {
13297
13297
  .stx-keep-alive-content > [data-activated] {
13298
13298
  opacity: 1;
13299
13299
  }
13300
- `}function mH(){return`
13300
+ `}function pH(){return`
13301
13301
  // STX Keep-Alive Runtime
13302
13302
  (function() {
13303
13303
  if (typeof window === 'undefined') return;
@@ -13333,7 +13333,7 @@ else {
13333
13333
 
13334
13334
  console.log('[stx] Keep-alive runtime initialized');
13335
13335
  })();
13336
- `}function lH(X){if(typeof document<"u")document.addEventListener("stx:activated",($)=>{X($.detail)})}function cH(X){if(typeof document<"u")document.addEventListener("stx:deactivated",($)=>{X($.detail)})}var vH=0;var RQ={};t(RQ,{useVirtualList:()=>FQ,processVirtualListDirectives:()=>J4,processVirtualGridDirectives:()=>AQ,processInfiniteListDirectives:()=>VQ,generateVirtualListCSS:()=>OQ,default:()=>pH,createVirtualList:()=>Y4});function Y4(X,$){let{itemHeight:Z,containerHeight:Y,overscan:J=3,keyProperty:G="id",dynamicHeight:Q=!1,estimatedItemHeight:w=Z,direction:q="vertical"}=$,W=[...X],U=0,K=new Map;function z(){if(Q)return B();let R=Math.max(0,Math.floor(U/Z)-J),T=Math.ceil(Y/Z),M=Math.min(W.length-1,R+T+J*2);return{startIndex:R,endIndex:M}}function B(){let R=0,T=0,M=W.length-1;for(let k=0;k<W.length;k++){let N=K.get(k)||w;if(R+N>U){T=Math.max(0,k-J);break}R+=N}R=0;for(let k=0;k<W.length;k++){let N=K.get(k)||w;if(R+=N,R>U+Y){M=Math.min(W.length-1,k+J);break}}return{startIndex:T,endIndex:M}}function _(){if(Q){let R=0;for(let T=0;T<W.length;T++)R+=K.get(T)||w;return R}return W.length*Z}function j(R){if(Q){let T=0;for(let M=0;M<R;M++)T+=K.get(M)||w;return T}return R*Z}function H(){let{startIndex:R,endIndex:T}=z();return{startIndex:R,endIndex:T,scrollTop:U,totalHeight:_(),visibleItems:W.slice(R,T+1),itemHeights:new Map(K)}}function L(R,T="auto"){let M=j(R);O(M,T)}function O(R,T="auto"){U=Math.max(0,Math.min(R,_()-Y))}function F(){z()}function V(R){W=[...R],K.clear(),F()}function A(){W=[],K.clear()}return{scrollToIndex:L,scrollToOffset:O,getState:H,refresh:F,setItems:V,destroy:A}}function J4(X,$={},Z){let Y=/@virtualList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualList/gi;return X.replace(Y,(J,G,Q,w)=>{let q=G.trim(),W=$[q];if(!W||!Array.isArray(W))return`<!-- virtualList: items "${q}" not found or not an array -->`;let U={itemHeight:50,containerHeight:400,overscan:3};if(Q)try{let O=Q.trim(),F=Function(`return ${O}`)();U={...U,...F}}catch{}let K=`vlist-${Math.random().toString(36).substring(2,9)}`,z=Math.ceil(U.containerHeight/U.itemHeight),B=U.overscan||3,_=0,j=Math.min(W.length-1,z+B),H="";for(let O=_;O<=j&&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+=`
13336
+ `}function iH(X){if(typeof document<"u")document.addEventListener("stx:activated",($)=>{X($.detail)})}function nH(X){if(typeof document<"u")document.addEventListener("stx:deactivated",($)=>{X($.detail)})}var gH=0;var MQ={};t(MQ,{useVirtualList:()=>AQ,processVirtualListDirectives:()=>G4,processVirtualGridDirectives:()=>TQ,processInfiniteListDirectives:()=>RQ,generateVirtualListCSS:()=>VQ,default:()=>rH,createVirtualList:()=>J4});function J4(X,$){let{itemHeight:Z,containerHeight:Y,overscan:J=3,keyProperty:G="id",dynamicHeight:Q=!1,estimatedItemHeight:w=Z,direction:q="vertical"}=$,W=[...X],U=0,K=new Map;function z(){if(Q)return B();let R=Math.max(0,Math.floor(U/Z)-J),T=Math.ceil(Y/Z),M=Math.min(W.length-1,R+T+J*2);return{startIndex:R,endIndex:M}}function B(){let R=0,T=0,M=W.length-1;for(let k=0;k<W.length;k++){let N=K.get(k)||w;if(R+N>U){T=Math.max(0,k-J);break}R+=N}R=0;for(let k=0;k<W.length;k++){let N=K.get(k)||w;if(R+=N,R>U+Y){M=Math.min(W.length-1,k+J);break}}return{startIndex:T,endIndex:M}}function _(){if(Q){let R=0;for(let T=0;T<W.length;T++)R+=K.get(T)||w;return R}return W.length*Z}function j(R){if(Q){let T=0;for(let M=0;M<R;M++)T+=K.get(M)||w;return T}return R*Z}function H(){let{startIndex:R,endIndex:T}=z();return{startIndex:R,endIndex:T,scrollTop:U,totalHeight:_(),visibleItems:W.slice(R,T+1),itemHeights:new Map(K)}}function L(R,T="auto"){let M=j(R);O(M,T)}function O(R,T="auto"){U=Math.max(0,Math.min(R,_()-Y))}function F(){z()}function V(R){W=[...R],K.clear(),F()}function A(){W=[],K.clear()}return{scrollToIndex:L,scrollToOffset:O,getState:H,refresh:F,setItems:V,destroy:A}}function G4(X,$={},Z){let Y=/@virtualList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualList/gi;return X.replace(Y,(J,G,Q,w)=>{let q=G.trim(),W=$[q];if(!W||!Array.isArray(W))return`<!-- virtualList: items "${q}" not found or not an array -->`;let U={itemHeight:50,containerHeight:400,overscan:3};if(Q)try{let O=Q.trim(),F=Function(`return ${O}`)();U={...U,...F}}catch{}let K=`vlist-${Math.random().toString(36).substring(2,9)}`,z=Math.ceil(U.containerHeight/U.itemHeight),B=U.overscan||3,_=0,j=Math.min(W.length-1,z+B),H="";for(let O=_;O<=j&&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+=`
13337
13337
  <div class="virtual-item ${U.itemClass||""}"
13338
13338
  style="position: absolute; top: ${O*U.itemHeight}px; height: ${U.itemHeight}px; width: 100%;"
13339
13339
  data-index="${O}">
@@ -13410,7 +13410,7 @@ else {
13410
13410
  };
13411
13411
  })();
13412
13412
  </script>
13413
- `})}function OQ(){return`
13413
+ `})}function VQ(){return`
13414
13414
  .virtual-list-container {
13415
13415
  position: relative;
13416
13416
  overflow-y: auto;
@@ -13458,7 +13458,7 @@ else {
13458
13458
  0% { background-position: 200% 0; }
13459
13459
  100% { background-position: -200% 0; }
13460
13460
  }
13461
- `}function FQ(X,$){let Z=null,Y=()=>{if(!Z)Z=Y4(X(),$);return Z};return{visibleItems:()=>{return Y().getState().visibleItems},totalHeight:()=>{return Y().getState().totalHeight},containerProps:()=>({style:{height:`${$.containerHeight}px`,overflow:"auto",position:"relative"},onScroll:(J)=>{let G=J.target;if(Z)Z.scrollToOffset(G.scrollTop)}}),itemProps:(J)=>({style:{position:"absolute",top:`${J*$.itemHeight}px`,height:`${$.itemHeight}px`,width:"100%"},"data-index":J}),scrollToIndex:(J)=>{Y().scrollToIndex(J)}}}function VQ(X,$={},Z){let Y=/@infiniteList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@loading\s*([\s\S]*?)@endinfiniteList/gi;return X.replace(Y,(J,G,Q,w,q)=>{let W=G.trim(),U=$[W];if(!U||!Array.isArray(U))return`<!-- infiniteList: items "${W}" not found or not an array -->`;let K={itemHeight:50,containerHeight:400,overscan:3,threshold:100,hasMore:!0};if(Q)try{let _=Function(`return ${Q.trim()}`)();K={...K,..._}}catch{}let z=`ilist-${Math.random().toString(36).substring(2,9)}`,B=J4(`@virtualList(${W}, ${JSON.stringify({itemHeight:K.itemHeight,containerHeight:K.containerHeight,overscan:K.overscan,containerClass:K.containerClass})})${w}@endvirtualList`,$);return B=B.replace("</script>",`
13461
+ `}function AQ(X,$){let Z=null,Y=()=>{if(!Z)Z=J4(X(),$);return Z};return{visibleItems:()=>{return Y().getState().visibleItems},totalHeight:()=>{return Y().getState().totalHeight},containerProps:()=>({style:{height:`${$.containerHeight}px`,overflow:"auto",position:"relative"},onScroll:(J)=>{let G=J.target;if(Z)Z.scrollToOffset(G.scrollTop)}}),itemProps:(J)=>({style:{position:"absolute",top:`${J*$.itemHeight}px`,height:`${$.itemHeight}px`,width:"100%"},"data-index":J}),scrollToIndex:(J)=>{Y().scrollToIndex(J)}}}function RQ(X,$={},Z){let Y=/@infiniteList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@loading\s*([\s\S]*?)@endinfiniteList/gi;return X.replace(Y,(J,G,Q,w,q)=>{let W=G.trim(),U=$[W];if(!U||!Array.isArray(U))return`<!-- infiniteList: items "${W}" not found or not an array -->`;let K={itemHeight:50,containerHeight:400,overscan:3,threshold:100,hasMore:!0};if(Q)try{let _=Function(`return ${Q.trim()}`)();K={...K,..._}}catch{}let z=`ilist-${Math.random().toString(36).substring(2,9)}`,B=G4(`@virtualList(${W}, ${JSON.stringify({itemHeight:K.itemHeight,containerHeight:K.containerHeight,overscan:K.overscan,containerClass:K.containerClass})})${w}@endvirtualList`,$);return B=B.replace("</script>",`
13462
13462
  // Infinite scroll detection
13463
13463
  container.addEventListener('scroll', function() {
13464
13464
  const scrollBottom = container.scrollTop + container.clientHeight;
@@ -13476,7 +13476,7 @@ else {
13476
13476
  ${q}
13477
13477
  </div>
13478
13478
  </div>
13479
- `})}function AQ(X,$={},Z){let Y=/@virtualGrid\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualGrid/gi;return X.replace(Y,(J,G,Q,w)=>{let q=G.trim(),W=$[q];if(!W||!Array.isArray(W))return`<!-- virtualGrid: items "${q}" not found or not an array -->`;let U={columns:3,rowHeight:100,containerHeight:400,gap:10,overscan:2};if(Q)try{let F=Function(`return ${Q.trim()}`)();U={...U,...F}}catch{}let K=`vgrid-${Math.random().toString(36).substring(2,9)}`,z=Math.ceil(W.length/U.columns),B=z*(U.rowHeight+(U.gap||0)),_=Math.ceil(U.containerHeight/(U.rowHeight+(U.gap||0))),j=U.overscan||2,H=0,L=Math.min(z-1,_+j),O="";for(let F=H;F<=L;F++)for(let V=0;V<U.columns;V++){let A=F*U.columns+V;if(A>=W.length)break;let R=W[A],T=V*(100/U.columns),M=F*(U.rowHeight+(U.gap||0)),k=w.replace(/\{\{\s*item\s*\}\}/g,typeof R==="object"?JSON.stringify(R):String(R)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(N,y)=>{if(typeof R==="object"&&R!==null)return String(R[y]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(A));O+=`
13479
+ `})}function TQ(X,$={},Z){let Y=/@virtualGrid\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualGrid/gi;return X.replace(Y,(J,G,Q,w)=>{let q=G.trim(),W=$[q];if(!W||!Array.isArray(W))return`<!-- virtualGrid: items "${q}" not found or not an array -->`;let U={columns:3,rowHeight:100,containerHeight:400,gap:10,overscan:2};if(Q)try{let F=Function(`return ${Q.trim()}`)();U={...U,...F}}catch{}let K=`vgrid-${Math.random().toString(36).substring(2,9)}`,z=Math.ceil(W.length/U.columns),B=z*(U.rowHeight+(U.gap||0)),_=Math.ceil(U.containerHeight/(U.rowHeight+(U.gap||0))),j=U.overscan||2,H=0,L=Math.min(z-1,_+j),O="";for(let F=H;F<=L;F++)for(let V=0;V<U.columns;V++){let A=F*U.columns+V;if(A>=W.length)break;let R=W[A],T=V*(100/U.columns),M=F*(U.rowHeight+(U.gap||0)),k=w.replace(/\{\{\s*item\s*\}\}/g,typeof R==="object"?JSON.stringify(R):String(R)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(N,y)=>{if(typeof R==="object"&&R!==null)return String(R[y]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(A));O+=`
13480
13480
  <div class="virtual-grid-item"
13481
13481
  style="position: absolute; top: ${M}px; left: ${T}%; width: calc(${100/U.columns}% - ${U.gap||0}px); height: ${U.rowHeight}px;"
13482
13482
  data-index="${A}">
@@ -13546,7 +13546,7 @@ else {
13546
13546
  });
13547
13547
  })();
13548
13548
  </script>
13549
- `})}var pH;var TQ=D(()=>{pH={createVirtualList:Y4,processVirtualListDirectives:J4,processInfiniteListDirectives:VQ,processVirtualGridDirectives:AQ,generateVirtualListCSS:OQ,useVirtualList:FQ}});function MQ(){return`<script data-stx-hydration-runtime>
13549
+ `})}var rH;var NQ=D(()=>{rH={createVirtualList:J4,processVirtualListDirectives:G4,processInfiniteListDirectives:RQ,processVirtualGridDirectives:TQ,generateVirtualListCSS:VQ,useVirtualList:AQ}});function kQ(){return`<script data-stx-hydration-runtime>
13550
13550
  (function() {
13551
13551
  'use strict';
13552
13552
 
@@ -13706,7 +13706,7 @@ else {
13706
13706
  stxIslands.initIslands();
13707
13707
  }
13708
13708
  })();
13709
- </script>`}function NQ(X){let $=X.match(/<([A-Z][a-zA-Z0-9]+)[\s/>]/);if($)return $[1];let Z=X.match(/<([a-z][a-z0-9]*-[a-z0-9-]+)[\s/>]/);if(Z)return Z[1];return null}function kQ(X,$){let Z={},Y=/:([a-zA-Z_][\w-]*)\s*=\s*"([^"]+)"/g,J;while((J=Y.exec(X))!==null){let G=J[1],Q=J[2];if(Q in $)Z[G]=$[Q];else Z[G]=Q}return Z}var fQ={};t(fQ,{processStaticDirectives:()=>vQ,processPartialHydrationDirectives:()=>EQ,onHydrated:()=>PQ,isHydrated:()=>CQ,hydrateIsland:()=>yQ,hydrateByStrategy:()=>bQ,hydrateAll:()=>SQ,generatePartialHydrationCSS:()=>DQ,generateIslandManifest:()=>xQ,default:()=>eH,createIslandRegistry:()=>IQ});function IQ(){let X=new Map;return{islands:X,register($){X.set($.id,$)},get($){return X.get($)},async hydrate($){let Z=X.get($);if(!Z||Z.hydrated)return;if(Z.hydrated=!0,typeof window<"u"&&typeof window.dispatchEvent==="function")window.dispatchEvent(new CustomEvent("stx:hydrate",{detail:{id:$,component:Z.component}}))},async hydrateAll(){let $=Array.from(X.values()).filter((Z)=>!Z.hydrated).map((Z)=>this.hydrate(Z.id));await Promise.all($)}}}function iH(X){return`
13709
+ </script>`}function IQ(X){let $=X.match(/<([A-Z][a-zA-Z0-9]+)[\s/>]/);if($)return $[1];let Z=X.match(/<([a-z][a-z0-9]*-[a-z0-9-]+)[\s/>]/);if(Z)return Z[1];return null}function EQ(X,$){let Z={},Y=/:([a-zA-Z_][\w-]*)\s*=\s*"([^"]+)"/g,J;while((J=Y.exec(X))!==null){let G=J[1],Q=J[2];if(Q in $)Z[G]=$[Q];else Z[G]=Q}return Z}var hQ={};t(hQ,{processStaticDirectives:()=>fQ,processPartialHydrationDirectives:()=>yQ,onHydrated:()=>xQ,isHydrated:()=>vQ,hydrateIsland:()=>SQ,hydrateByStrategy:()=>CQ,hydrateAll:()=>PQ,generatePartialHydrationCSS:()=>bQ,generateIslandManifest:()=>gQ,default:()=>ZL,createIslandRegistry:()=>DQ});function DQ(){let X=new Map;return{islands:X,register($){X.set($.id,$)},get($){return X.get($)},async hydrate($){let Z=X.get($);if(!Z||Z.hydrated)return;if(Z.hydrated=!0,typeof window<"u"&&typeof window.dispatchEvent==="function")window.dispatchEvent(new CustomEvent("stx:hydrate",{detail:{id:$,component:Z.component}}))},async hydrateAll(){let $=Array.from(X.values()).filter((Z)=>!Z.hydrated).map((Z)=>this.hydrate(Z.id));await Promise.all($)}}}function sH(X){return`
13710
13710
  <script data-hydrate="${X}">
13711
13711
  (function() {
13712
13712
  const island = document.querySelector('[data-island="${X}"]');
@@ -13717,7 +13717,7 @@ else {
13717
13717
  island.dispatchEvent(new CustomEvent('stx:hydrated', { bubbles: true }));
13718
13718
  })();
13719
13719
  </script>
13720
- `}function nH(X,$){let Z=$.timeout||2000,Y=$.priority||"low";return`
13720
+ `}function oH(X,$){let Z=$.timeout||2000,Y=$.priority||"low";return`
13721
13721
  <script data-hydrate="${X}">
13722
13722
  (function() {
13723
13723
  const island = document.querySelector('[data-island="${X}"]');
@@ -13753,7 +13753,7 @@ else {
13753
13753
  }
13754
13754
  })();
13755
13755
  </script>
13756
- `}function rH(X,$){let Z=$.rootMargin||"0px",Y=$.threshold||0;return`
13756
+ `}function aH(X,$){let Z=$.rootMargin||"0px",Y=$.threshold||0;return`
13757
13757
  <script data-hydrate="${X}">
13758
13758
  (function() {
13759
13759
  const island = document.querySelector('[data-island="${X}"]');
@@ -13786,7 +13786,7 @@ else {
13786
13786
  }
13787
13787
  })();
13788
13788
  </script>
13789
- `}function sH(X,$){let Z=$.media||"(min-width: 768px)";return`
13789
+ `}function tH(X,$){let Z=$.media||"(min-width: 768px)";return`
13790
13790
  <script data-hydrate="${X}">
13791
13791
  (function() {
13792
13792
  const island = document.querySelector('[data-island="${X}"]');
@@ -13815,7 +13815,7 @@ else {
13815
13815
  }
13816
13816
  })();
13817
13817
  </script>
13818
- `}function oH(X){return`
13818
+ `}function eH(X){return`
13819
13819
  <script data-hydrate="${X}">
13820
13820
  (function() {
13821
13821
  const island = document.querySelector('[data-island="${X}"]');
@@ -13837,7 +13837,7 @@ else {
13837
13837
  events.forEach(e => island.addEventListener(e, handler, { once: true, passive: true }));
13838
13838
  })();
13839
13839
  </script>
13840
- `}function aH(X,$){let Z=$.event||"stx:activate";return`
13840
+ `}function XL(X,$){let Z=$.event||"stx:activate";return`
13841
13841
  <script data-hydrate="${X}">
13842
13842
  (function() {
13843
13843
  const island = document.querySelector('[data-island="${X}"]');
@@ -13858,9 +13858,9 @@ else {
13858
13858
  });
13859
13859
  })();
13860
13860
  </script>
13861
- `}function EQ(X,$={},Z){let Y=X,J=!1,G=/@client:(load|idle|visible|media|only|hover|event)/i.test(X);if(Y=t5(Y,"load",$),Y=t5(Y,"idle",$),Y=t5(Y,"visible",$),Y=t5(Y,"media",$),Y=tH(Y),Y=t5(Y,"hover",$),Y=t5(Y,"event",$),J=G&&Y!==X,J)Y+=`
13862
- `+MQ();return Y}function t5(X,$,Z){let Y=new RegExp(`@client:${$}(?:\\s*\\(([^)]*)\\))?\\s*([\\s\\S]*?)@endclient`,"gi");return X.replace(Y,(J,G,Q)=>{let w={strategy:$};if(G)try{let j=G.split(",").map((H)=>H.trim());for(let H of j){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=NQ(Q.trim()),U=kQ(Q.trim(),Z),K=[];if(w.rootMargin)K.push(`data-root-margin="${w.rootMargin}"`);if(w.threshold!==void 0)K.push(`data-threshold="${w.threshold}"`);if(w.media)K.push(`data-media="${w.media}"`);if(w.event)K.push(`data-event="${w.event}"`);if(W)K.push(`data-component="${W}"`);let B=Object.keys(U).length>0?`
13863
- <script type="application/json" data-island-props="${q}">${JSON.stringify(U)}</script>`:"",_="";switch($){case"load":_=iH(q);break;case"idle":_=nH(q,w);break;case"visible":_=rH(q,w);break;case"media":_=sH(q,w);break;case"hover":_=oH(q);break;case"event":_=aH(q,w);break}return`
13861
+ `}function yQ(X,$={},Z){let Y=X,J=!1,G=/@client:(load|idle|visible|media|only|hover|event)/i.test(X);if(Y=t5(Y,"load",$),Y=t5(Y,"idle",$),Y=t5(Y,"visible",$),Y=t5(Y,"media",$),Y=$L(Y),Y=t5(Y,"hover",$),Y=t5(Y,"event",$),J=G&&Y!==X,J)Y+=`
13862
+ `+kQ();return Y}function t5(X,$,Z){let Y=new RegExp(`@client:${$}(?:\\s*\\(([^)]*)\\))?\\s*([\\s\\S]*?)@endclient`,"gi");return X.replace(Y,(J,G,Q)=>{let w={strategy:$};if(G)try{let j=G.split(",").map((H)=>H.trim());for(let H of j){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=IQ(Q.trim()),U=EQ(Q.trim(),Z),K=[];if(w.rootMargin)K.push(`data-root-margin="${w.rootMargin}"`);if(w.threshold!==void 0)K.push(`data-threshold="${w.threshold}"`);if(w.media)K.push(`data-media="${w.media}"`);if(w.event)K.push(`data-event="${w.event}"`);if(W)K.push(`data-component="${W}"`);let B=Object.keys(U).length>0?`
13863
+ <script type="application/json" data-island-props="${q}">${JSON.stringify(U)}</script>`:"",_="";switch($){case"load":_=sH(q);break;case"idle":_=oH(q,w);break;case"visible":_=aH(q,w);break;case"media":_=tH(q,w);break;case"hover":_=eH(q);break;case"event":_=XL(q,w);break}return`
13864
13864
  <div data-island="${q}"
13865
13865
  data-strategy="${$}"
13866
13866
  ${K.join(`
@@ -13870,7 +13870,7 @@ else {
13870
13870
  ${Q.trim()}${B}
13871
13871
  </div>
13872
13872
  ${_}
13873
- `})}function tH(X){let $=/@client:only\s*([\s\S]*?)@endclient/gi;return X.replace($,(Z,Y)=>{let J=`island-only-${Math.random().toString(36).substring(2,9)}`;return`
13873
+ `})}function $L(X){let $=/@client:only\s*([\s\S]*?)@endclient/gi;return X.replace($,(Z,Y)=>{let J=`island-only-${Math.random().toString(36).substring(2,9)}`;return`
13874
13874
  <div data-island="${J}"
13875
13875
  data-strategy="only"
13876
13876
  class="stx-island stx-client-only">
@@ -13889,7 +13889,7 @@ else {
13889
13889
  }
13890
13890
  })();
13891
13891
  </script>
13892
- `})}function DQ(){return`
13892
+ `})}function bQ(){return`
13893
13893
  /* Island base styles */
13894
13894
  .stx-island {
13895
13895
  display: contents;
@@ -13930,11 +13930,11 @@ else {
13930
13930
  .stx-island.hydrated {
13931
13931
  opacity: 1;
13932
13932
  }
13933
- `}function yQ(X){if(typeof window>"u")return;let $=document.querySelector(`[data-island="${X}"]`);if(!$||$.classList.contains("hydrated"))return;$.classList.add("hydrated"),$.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))}function bQ(X){if(typeof window>"u")return;document.querySelectorAll(`[data-strategy="${X}"]:not(.hydrated)`).forEach((Z)=>{Z.classList.add("hydrated"),Z.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))})}function SQ(){if(typeof window>"u")return;document.querySelectorAll(".stx-island:not(.hydrated)").forEach(($)=>{$.classList.add("hydrated"),$.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))})}function CQ(X){if(typeof window>"u")return!1;return document.querySelector(`[data-island="${X}"]`)?.classList.contains("hydrated")??!1}function PQ(X){return new Promise(($)=>{if(typeof window>"u"){$();return}let Z=document.querySelector(`[data-island="${X}"]`);if(!Z){$();return}if(Z.classList.contains("hydrated")){$();return}Z.addEventListener("stx:hydrated",()=>$(),{once:!0})})}function vQ(X){return X.replace(/@static\s*([\s\S]*?)@endstatic/gi,($,Z)=>{return`<div class="stx-static">${Z.trim()}</div>`})}function xQ(X){let $=X.map((Z)=>({id:Z.id,component:Z.component,strategy:Z.options.strategy,props:Z.props}));return`
13933
+ `}function SQ(X){if(typeof window>"u")return;let $=document.querySelector(`[data-island="${X}"]`);if(!$||$.classList.contains("hydrated"))return;$.classList.add("hydrated"),$.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))}function CQ(X){if(typeof window>"u")return;document.querySelectorAll(`[data-strategy="${X}"]:not(.hydrated)`).forEach((Z)=>{Z.classList.add("hydrated"),Z.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))})}function PQ(){if(typeof window>"u")return;document.querySelectorAll(".stx-island:not(.hydrated)").forEach(($)=>{$.classList.add("hydrated"),$.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))})}function vQ(X){if(typeof window>"u")return!1;return document.querySelector(`[data-island="${X}"]`)?.classList.contains("hydrated")??!1}function xQ(X){return new Promise(($)=>{if(typeof window>"u"){$();return}let Z=document.querySelector(`[data-island="${X}"]`);if(!Z){$();return}if(Z.classList.contains("hydrated")){$();return}Z.addEventListener("stx:hydrated",()=>$(),{once:!0})})}function fQ(X){return X.replace(/@static\s*([\s\S]*?)@endstatic/gi,($,Z)=>{return`<div class="stx-static">${Z.trim()}</div>`})}function gQ(X){let $=X.map((Z)=>({id:Z.id,component:Z.component,strategy:Z.options.strategy,props:Z.props}));return`
13934
13934
  <script type="application/json" id="stx-island-manifest">
13935
13935
  ${JSON.stringify($)}
13936
13936
  </script>
13937
- `}var eH;var gQ=D(()=>{eH={processPartialHydrationDirectives:EQ,processStaticDirectives:vQ,generatePartialHydrationCSS:DQ,generateIslandManifest:xQ,createIslandRegistry:IQ,hydrateIsland:yQ,hydrateByStrategy:bQ,hydrateAll:SQ,isHydrated:CQ,onHydrated:PQ}});var sQ={};t(sQ,{watchMultiple:()=>lQ,watchEffect:()=>cQ,watch:()=>mQ,unref:()=>hQ,toRefs:()=>uQ,throttledComputed:()=>rQ,stxWatchMultiple:()=>lQ,stxWatchEffect:()=>cQ,stxWatch:()=>mQ,stxUnref:()=>hQ,stxToRefs:()=>uQ,stxThrottledComputed:()=>rQ,stxShallowRef:()=>dQ,stxRef:()=>e5,stxIsRef:()=>l1,stxDebouncedComputed:()=>nQ,stxComputed:()=>e7,shallowRef:()=>dQ,ref:()=>e5,processWatchDirectives:()=>iQ,processComputedDirectives:()=>pQ,isRef:()=>l1,default:()=>XL,debouncedComputed:()=>nQ,computed:()=>e7});function e5(X){let $=X,Z=new Set,Y={get value(){if(K1){let J=t7.get(Y);if(!J)J=new Set,t7.set(Y,J);J.add(K1)}return $},set value(J){if(!Object.is($,J)){$=J,Z.forEach((Q)=>Q(J));let G=t7.get(Y);if(G)G.forEach((Q)=>Q())}},subscribe(J){return Z.add(J),()=>Z.delete(J)},peek(){return $}};return Y}function l1(X){return X!==null&&typeof X==="object"&&"value"in X&&"subscribe"in X&&"peek"in X}function hQ(X){return l1(X)?X.value:X}function uQ(X){let $={};for(let Z in X)if(Object.prototype.hasOwnProperty.call(X,Z))$[Z]=e5(X[Z]);return $}function dQ(X){return e5(X)}function e7(X){let $=typeof X==="function",Z=$?X:X.get,Y=$?void 0:X.set,J=$?Object.is:X.equals||Object.is,G,Q=!0,w=new Set,q=new Set,W=()=>{if(Q=!0,q.size>0){let z=K.value;q.forEach((B)=>B(z))}};function U(){w.clear();let z=K1;K1=W,P8.push(W);try{return Z()}finally{P8.pop(),K1=z}}let K={get value(){if(K1){let z=t7.get(K);if(!z)z=new Set,t7.set(K,z);z.add(K1)}if(Q){let z=U();if(!J(G,z))G=z;Q=!1}return G},set value(z){if(Y)Y(z);else console.warn("Computed property is readonly")},subscribe(z){return q.add(z),()=>q.delete(z)},peek(){if(Q)G=Z(),Q=!1;return G},invalidate(){Q=!0},get dirty(){return Q},get deps(){return w}};return K}function mQ(X,$,Z={}){let{immediate:Y=!1,deep:J=!1,flush:G="pre",once:Q=!1}=Z,w,q=!0,W=!1,U=()=>{if(l1(X))return J?_5(X.value):X.value;return X()},K=()=>{if(!q||W)return;let _=U();if(w!==void 0&&Object.is(w,_)&&!J)return;let j=()=>{if($(_,w),w=J?_5(_):_,Q)B()};if(G==="sync")j();else if(G==="post")queueMicrotask(j);else Promise.resolve().then(j)},z=null;if(l1(X))z=X.subscribe(()=>K());else z=e7(X).subscribe(()=>K());if(Y)w=void 0,K();else w=U();let B=()=>{if(q=!1,z)z(),z=null};return B.pause=()=>{W=!0},B.resume=()=>{W=!1},B}function lQ(X,$,Z={}){let{immediate:Y=!1,once:J=!1}=Z,G=X.map((K)=>l1(K)?K.value:void 0),Q=!0,w=!1,q=()=>{if(!Q||w)return;let K=X.map((z)=>l1(z)?z.value:void 0);if($(K,G),G=[...K],J)U()},W=X.map((K)=>{if(l1(K))return K.subscribe(()=>q());return()=>{}});if(Y)q();let U=()=>{Q=!1,W.forEach((K)=>K())};return U.pause=()=>{w=!0},U.resume=()=>{w=!1},U}function cQ(X,$={}){let{flush:Z="pre"}=$,Y,J=!0,G=!1,Q=()=>{if(!J||G)return;if(Y)Y();let q=K1;K1=Q,P8.push(Q);try{Y=X()}finally{P8.pop(),K1=q}};if(Z==="sync")Q();else if(Z==="post")queueMicrotask(Q);else Promise.resolve().then(Q);let w=()=>{if(J=!1,Y)Y()};return w.pause=()=>{G=!0},w.resume=()=>{G=!1},w}function pQ(X,$={},Z){let Y=/@computed\s*\(\s*(\w+)\s*,\s*(.+?)\s*\)/gi;return X.replace(Y,(J,G,Q)=>{try{let q=Function(...Object.keys($),`return ${Q}`)(...Object.values($));return $[G]=q,`<!-- computed: ${G} = ${q} -->`}catch(w){return`<!-- computed error: ${G} - ${w} -->`}})}function iQ(X,$={},Z){let Y=/@watch\s*\(\s*(\w+)\s*\)\s*([\s\S]*?)@endwatch/gi;return X.replace(Y,(J,G,Q)=>{return`
13937
+ `}var ZL;var uQ=D(()=>{ZL={processPartialHydrationDirectives:yQ,processStaticDirectives:fQ,generatePartialHydrationCSS:bQ,generateIslandManifest:gQ,createIslandRegistry:DQ,hydrateIsland:SQ,hydrateByStrategy:CQ,hydrateAll:PQ,isHydrated:vQ,onHydrated:xQ}});var aQ={};t(aQ,{watchMultiple:()=>pQ,watchEffect:()=>iQ,watch:()=>cQ,unref:()=>dQ,toRefs:()=>mQ,throttledComputed:()=>oQ,stxWatchMultiple:()=>pQ,stxWatchEffect:()=>iQ,stxWatch:()=>cQ,stxUnref:()=>dQ,stxToRefs:()=>mQ,stxThrottledComputed:()=>oQ,stxShallowRef:()=>lQ,stxRef:()=>e5,stxIsRef:()=>l1,stxDebouncedComputed:()=>sQ,stxComputed:()=>e7,shallowRef:()=>lQ,ref:()=>e5,processWatchDirectives:()=>rQ,processComputedDirectives:()=>nQ,isRef:()=>l1,default:()=>YL,debouncedComputed:()=>sQ,computed:()=>e7});function e5(X){let $=X,Z=new Set,Y={get value(){if(K1){let J=t7.get(Y);if(!J)J=new Set,t7.set(Y,J);J.add(K1)}return $},set value(J){if(!Object.is($,J)){$=J,Z.forEach((Q)=>Q(J));let G=t7.get(Y);if(G)G.forEach((Q)=>Q())}},subscribe(J){return Z.add(J),()=>Z.delete(J)},peek(){return $}};return Y}function l1(X){return X!==null&&typeof X==="object"&&"value"in X&&"subscribe"in X&&"peek"in X}function dQ(X){return l1(X)?X.value:X}function mQ(X){let $={};for(let Z in X)if(Object.prototype.hasOwnProperty.call(X,Z))$[Z]=e5(X[Z]);return $}function lQ(X){return e5(X)}function e7(X){let $=typeof X==="function",Z=$?X:X.get,Y=$?void 0:X.set,J=$?Object.is:X.equals||Object.is,G,Q=!0,w=new Set,q=new Set,W=()=>{if(Q=!0,q.size>0){let z=K.value;q.forEach((B)=>B(z))}};function U(){w.clear();let z=K1;K1=W,P8.push(W);try{return Z()}finally{P8.pop(),K1=z}}let K={get value(){if(K1){let z=t7.get(K);if(!z)z=new Set,t7.set(K,z);z.add(K1)}if(Q){let z=U();if(!J(G,z))G=z;Q=!1}return G},set value(z){if(Y)Y(z);else console.warn("Computed property is readonly")},subscribe(z){return q.add(z),()=>q.delete(z)},peek(){if(Q)G=Z(),Q=!1;return G},invalidate(){Q=!0},get dirty(){return Q},get deps(){return w}};return K}function cQ(X,$,Z={}){let{immediate:Y=!1,deep:J=!1,flush:G="pre",once:Q=!1}=Z,w,q=!0,W=!1,U=()=>{if(l1(X))return J?_5(X.value):X.value;return X()},K=()=>{if(!q||W)return;let _=U();if(w!==void 0&&Object.is(w,_)&&!J)return;let j=()=>{if($(_,w),w=J?_5(_):_,Q)B()};if(G==="sync")j();else if(G==="post")queueMicrotask(j);else Promise.resolve().then(j)},z=null;if(l1(X))z=X.subscribe(()=>K());else z=e7(X).subscribe(()=>K());if(Y)w=void 0,K();else w=U();let B=()=>{if(q=!1,z)z(),z=null};return B.pause=()=>{W=!0},B.resume=()=>{W=!1},B}function pQ(X,$,Z={}){let{immediate:Y=!1,once:J=!1}=Z,G=X.map((K)=>l1(K)?K.value:void 0),Q=!0,w=!1,q=()=>{if(!Q||w)return;let K=X.map((z)=>l1(z)?z.value:void 0);if($(K,G),G=[...K],J)U()},W=X.map((K)=>{if(l1(K))return K.subscribe(()=>q());return()=>{}});if(Y)q();let U=()=>{Q=!1,W.forEach((K)=>K())};return U.pause=()=>{w=!0},U.resume=()=>{w=!1},U}function iQ(X,$={}){let{flush:Z="pre"}=$,Y,J=!0,G=!1,Q=()=>{if(!J||G)return;if(Y)Y();let q=K1;K1=Q,P8.push(Q);try{Y=X()}finally{P8.pop(),K1=q}};if(Z==="sync")Q();else if(Z==="post")queueMicrotask(Q);else Promise.resolve().then(Q);let w=()=>{if(J=!1,Y)Y()};return w.pause=()=>{G=!0},w.resume=()=>{G=!1},w}function nQ(X,$={},Z){let Y=/@computed\s*\(\s*(\w+)\s*,\s*(.+?)\s*\)/gi;return X.replace(Y,(J,G,Q)=>{try{let q=Function(...Object.keys($),`return ${Q}`)(...Object.values($));return $[G]=q,`<!-- computed: ${G} = ${q} -->`}catch(w){return`<!-- computed error: ${G} - ${w} -->`}})}function rQ(X,$={},Z){let Y=/@watch\s*\(\s*(\w+)\s*\)\s*([\s\S]*?)@endwatch/gi;return X.replace(Y,(J,G,Q)=>{return`
13938
13938
  <script data-watch="${`watch-${Math.random().toString(36).substring(2,9)}`}">
13939
13939
  (function() {
13940
13940
  // Watch implementation for ${G}
@@ -13946,9 +13946,9 @@ else {
13946
13946
  }
13947
13947
  })();
13948
13948
  </script>
13949
- `})}function _5(X){if(X===null||typeof X!=="object")return X;if(Array.isArray(X))return X.map((Z)=>_5(Z));if(X instanceof Date)return new Date(X.getTime());if(X instanceof Map){let Z=new Map;return X.forEach((Y,J)=>Z.set(_5(J),_5(Y))),Z}if(X instanceof Set){let Z=new Set;return X.forEach((Y)=>Z.add(_5(Y))),Z}let $={};for(let Z in X)if(Object.prototype.hasOwnProperty.call(X,Z))$[Z]=_5(X[Z]);return $}function nQ(X,$=100){let Z=e5(X()),Y=null,J=()=>{if(Y)clearTimeout(Y);Y=setTimeout(()=>{Z.value=X()},$)};return e7(X).subscribe(()=>J()),{get value(){return Z.value},set value(Q){console.warn("Debounced computed is readonly")},subscribe:Z.subscribe,peek:Z.peek,invalidate(){J()},get dirty(){return!1},get deps(){return new Set}}}function rQ(X,$=100){let Z=e5(X()),Y=0,J=()=>{let Q=Date.now();if(Q-Y>=$)Y=Q,Z.value=X()};return e7(X).subscribe(()=>J()),{get value(){return Z.value},set value(Q){console.warn("Throttled computed is readonly")},subscribe:Z.subscribe,peek:Z.peek,invalidate(){J()},get dirty(){return!1},get deps(){return new Set}}}var K1=null,P8,t7,XL;var oQ=D(()=>{P8=[],t7=new WeakMap;XL={ref:e5,computed:e7,watch:mQ,watchMultiple:lQ,watchEffect:cQ,isRef:l1,unref:hQ,toRefs:uQ,shallowRef:dQ,debouncedComputed:nQ,throttledComputed:rQ,processComputedDirectives:pQ,processWatchDirectives:iQ}});function XX(X,$){let Z={};for(let Y of X)Z[Y]=d1($(Y));return new Proxy({},{get:(Y,J)=>Z[J]?.(),set:(Y,J,G)=>{if(Z[J])Z[J].set(G);else Z[J]=d1(G);return!0},has:(Y,J)=>(J in Z),deleteProperty:(Y,J)=>{return delete Z[J],!0},ownKeys:()=>Reflect.ownKeys(Z),getOwnPropertyDescriptor:(Y,J)=>(J in Z)?{enumerable:!0,configurable:!0,writable:!0,value:Z[J]()}:void 0})}function $L(X,$){let Z={};for(let Y of $)Z[Y]=X[Y];return Z}function G4(X,$){let Z=Object.keys(X),Y=XX(Z,(O)=>$?.[O]??X[O].getDefaultValue()),J=XX(Z,()=>[]),G=XX(Z,()=>!1),Q=XX(Z,()=>!1),w=XX(Z,()=>!1),q=d1(!1);async function W(O){w[O]=!0;let F=await X[O].validate(Y[O],Y);return J[O]=F,w[O]=!1,F.length===0}async function U(){q.set(!0);let O=await Promise.all(Z.map(W));return q.set(!1),O.every(Boolean)}function K(){for(let O of Z)Y[O]=$?.[O]??X[O].getDefaultValue(),J[O]=[],G[O]=!1,Q[O]=!1}function z(O){for(let F of Z)if(F in O)Y[F]=O[F],Q[F]=!0}function B(O,F){Y[O]=F,Q[O]=!0}function _(O,F=!0){if(G[O]=F,F)W(O)}function j(O){return{value:Y[O],errors:J[O],touched:G[O],dirty:Q[O],valid:J[O].length===0,validating:w[O]}}function H(O){return async(F)=>{F?.preventDefault?.();for(let A of Z)G[A]=!0;if(await U())await O($L(Y,Z))}}return{values:Y,errors:J,touched:G,dirty:Q,get isValid(){return Z.every((O)=>J[O].length===0)},get isValidating(){return q()||Z.some((O)=>w[O])},get isDirty(){return Z.some((O)=>Q[O])},validate:U,validateField:W,reset:K,setValues:z,setFieldValue:B,setFieldTouched:_,getFieldState:j,handleSubmit:H}}var aQ;var tQ=D(()=>{A8();aQ=G4});var Zw={};t(Zw,{v:()=>ZL,useForm:()=>G4,processHasErrorsDirective:()=>$w,processFormValidationDirectives:()=>YL,processErrorsDirective:()=>Xw,processErrorDirective:()=>eQ,defineForm:()=>aQ,Validator:()=>X7});class X7{rules=[];defaultValue="";addRule(X){let $=new X7;return $.rules=[...this.rules,X],$.defaultValue=this.defaultValue,$}required(X="This field is required"){return this.addRule({name:"required",message:X,validate:($)=>{if($===null||$===void 0)return X;if(typeof $==="string"&&$.trim()==="")return X;if(Array.isArray($)&&$.length===0)return X;return!0}})}email(X="Please enter a valid email"){return this.addRule({name:"email",message:X,validate:($)=>{if(!$)return!0;return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String($))||X}})}url(X="Please enter a valid URL"){return this.addRule({name:"url",message:X,validate:($)=>{if(!$)return!0;try{return new URL(String($)),!0}catch{return X}}})}min(X,$){let Z=$||`Must be at least ${X} characters`;return this.addRule({name:"min",message:Z,validate:(Y)=>{if(!Y)return!0;return String(Y).length>=X||Z}})}max(X,$){let Z=$||`Must be no more than ${X} characters`;return this.addRule({name:"max",message:Z,validate:(Y)=>{if(!Y)return!0;return String(Y).length<=X||Z}})}length(X,$,Z){let Y=Z||`Must be between ${X} and ${$} characters`;return this.addRule({name:"length",message:Y,validate:(J)=>{if(!J)return!0;let G=String(J).length;return G>=X&&G<=$||Y}})}pattern(X,$="Invalid format"){return this.addRule({name:"pattern",message:$,validate:(Z)=>{if(!Z)return!0;return X.test(String(Z))||$}})}hasUppercase(X="Must contain an uppercase letter"){return this.pattern(/[A-Z]/,X)}hasLowercase(X="Must contain a lowercase letter"){return this.pattern(/[a-z]/,X)}hasNumber(X="Must contain a number"){return this.pattern(/\d/,X)}hasSpecial(X="Must contain a special character"){return this.pattern(/[!@#$%^&*(),.?":{}|<>]/,X)}alphanumeric(X="Only letters and numbers allowed"){return this.pattern(/^[a-zA-Z0-9]+$/,X)}startsWithLetter(X="Must start with a letter"){return this.pattern(/^[a-zA-Z]/,X)}noSpaces(X="Spaces are not allowed"){return this.addRule({name:"noSpaces",message:X,validate:($)=>{if(!$)return!0;return!String($).includes(" ")||X}})}number(X="Must be a number"){let $=this.addRule({name:"number",message:X,validate:(Z)=>{if(!Z&&Z!==0)return!0;return!Number.isNaN(Number(Z))||X}});return $.defaultValue=0,$}integer(X="Must be a whole number"){return this.addRule({name:"integer",message:X,validate:($)=>{if(!$&&$!==0)return!0;return Number.isInteger(Number($))||X}})}positive(X="Must be a positive number"){return this.addRule({name:"positive",message:X,validate:($)=>{if(!$&&$!==0)return!0;return Number($)>0||X}})}negative(X="Must be a negative number"){return this.addRule({name:"negative",message:X,validate:($)=>{if(!$&&$!==0)return!0;return Number($)<0||X}})}minValue(X,$){let Z=$||`Must be at least ${X}`;return this.addRule({name:"minValue",message:Z,validate:(Y)=>{if(!Y&&Y!==0)return!0;return Number(Y)>=X||Z}})}maxValue(X,$){let Z=$||`Must be no more than ${X}`;return this.addRule({name:"maxValue",message:Z,validate:(Y)=>{if(!Y&&Y!==0)return!0;return Number(Y)<=X||Z}})}between(X,$,Z){let Y=Z||`Must be between ${X} and ${$}`;return this.addRule({name:"between",message:Y,validate:(J)=>{if(!J&&J!==0)return!0;let G=Number(J);return G>=X&&G<=$||Y}})}matches(X,$){let Z=$||`Must match ${X}`;return this.addRule({name:"matches",message:Z,validate:(Y,J)=>{if(!J)return!0;return Y===J[X]||Z}})}oneOf(X,$){let Z=$||`Must be one of: ${X.join(", ")}`;return this.addRule({name:"oneOf",message:Z,validate:(Y)=>{if(!Y)return!0;return X.includes(Y)||Z}})}notOneOf(X,$){let Z=$||`Cannot be one of: ${X.join(", ")}`;return this.addRule({name:"notOneOf",message:Z,validate:(Y)=>{if(!Y)return!0;return!X.includes(Y)||Z}})}date(X="Must be a valid date"){return this.addRule({name:"date",message:X,validate:($)=>{if(!$)return!0;let Z=new Date(String($));return!Number.isNaN(Z.getTime())||X}})}before(X,$){let Z=new Date(X),Y=$||`Must be before ${Z.toLocaleDateString()}`;return this.addRule({name:"before",message:Y,validate:(J)=>{if(!J)return!0;return new Date(String(J))<Z||Y}})}after(X,$){let Z=new Date(X),Y=$||`Must be after ${Z.toLocaleDateString()}`;return this.addRule({name:"after",message:Y,validate:(J)=>{if(!J)return!0;return new Date(String(J))>Z||Y}})}custom(X,$="Invalid value"){return this.addRule({name:"custom",message:$,validate:X})}async(X,$="Invalid value"){return this.addRule({name:"async",message:$,async:!0,validate:X})}when(X,$){let Z=new X7;Z.rules=[...this.rules],Z.defaultValue=this.defaultValue;for(let Y of $.getRules())Z.rules.push({...Y,validate:(J,G)=>{if(!X(J,G||{}))return!0;return Y.validate(J,G)}});return Z}getRules(){return this.rules}getDefaultValue(){return this.defaultValue}default(X){let $=new X7;return $.rules=[...this.rules],$.defaultValue=X,$}async validate(X,$){let Z=[];for(let Y of this.rules){let J=await Y.validate(X,$);if(J!==!0)Z.push(J)}return Z}validateSync(X,$){let Z=[];for(let Y of this.rules){if(Y.async)continue;let J=Y.validate(X,$);if(J!==!0)Z.push(J)}return Z}}function eQ(X,$,Z){let Y=/@error\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderror/g;return X.replace(Y,(J,G,Q)=>{try{let w=G.trim().split("."),q=$;for(let U of w)if(q&&typeof q==="object"&&U in q)q=q[U];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return W.map((U)=>{return Q.replace(/\{\{\s*message\s*\}\}/g,U)}).join(`
13950
- `)}catch{return""}})}function Xw(X,$,Z){let Y=/@errors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderrors/g;return X.replace(Y,(J,G,Q)=>{try{let w=G.trim().split("."),q=$;for(let U of w)if(q&&typeof q==="object"&&U in q)q=q[U];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return W.map((U)=>Q.replace(/\{\{\s*message\s*\}\}/g,U)).join(`
13951
- `)}catch{return""}})}function $w(X,$,Z){let Y=/@hasErrors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@endhasErrors/g;return X.replace(Y,(J,G,Q)=>{try{let w=G.trim().split("."),q=$;for(let U of w)if(q&&typeof q==="object"&&U in q)q=q[U];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return Q}catch{return""}})}function YL(X,$,Z){let Y=X;return Y=eQ(Y,$,Z),Y=Xw(Y,$,Z),Y=$w(Y,$,Z),Y}var ZL;var Yw=D(()=>{tQ();ZL=new X7});var Qw={};t(Qw,{processXElementDirectives:()=>JL,hasXElementDirectives:()=>Gw,generateXElementRuntime:()=>Jw});function Jw(){return`<script data-stx-scoped data-stx-x-element-runtime data-stx-run="always">
13949
+ `})}function _5(X){if(X===null||typeof X!=="object")return X;if(Array.isArray(X))return X.map((Z)=>_5(Z));if(X instanceof Date)return new Date(X.getTime());if(X instanceof Map){let Z=new Map;return X.forEach((Y,J)=>Z.set(_5(J),_5(Y))),Z}if(X instanceof Set){let Z=new Set;return X.forEach((Y)=>Z.add(_5(Y))),Z}let $={};for(let Z in X)if(Object.prototype.hasOwnProperty.call(X,Z))$[Z]=_5(X[Z]);return $}function sQ(X,$=100){let Z=e5(X()),Y=null,J=()=>{if(Y)clearTimeout(Y);Y=setTimeout(()=>{Z.value=X()},$)};return e7(X).subscribe(()=>J()),{get value(){return Z.value},set value(Q){console.warn("Debounced computed is readonly")},subscribe:Z.subscribe,peek:Z.peek,invalidate(){J()},get dirty(){return!1},get deps(){return new Set}}}function oQ(X,$=100){let Z=e5(X()),Y=0,J=()=>{let Q=Date.now();if(Q-Y>=$)Y=Q,Z.value=X()};return e7(X).subscribe(()=>J()),{get value(){return Z.value},set value(Q){console.warn("Throttled computed is readonly")},subscribe:Z.subscribe,peek:Z.peek,invalidate(){J()},get dirty(){return!1},get deps(){return new Set}}}var K1=null,P8,t7,YL;var tQ=D(()=>{P8=[],t7=new WeakMap;YL={ref:e5,computed:e7,watch:cQ,watchMultiple:pQ,watchEffect:iQ,isRef:l1,unref:dQ,toRefs:mQ,shallowRef:lQ,debouncedComputed:sQ,throttledComputed:oQ,processComputedDirectives:nQ,processWatchDirectives:rQ}});function XX(X,$){let Z={};for(let Y of X)Z[Y]=d1($(Y));return new Proxy({},{get:(Y,J)=>Z[J]?.(),set:(Y,J,G)=>{if(Z[J])Z[J].set(G);else Z[J]=d1(G);return!0},has:(Y,J)=>(J in Z),deleteProperty:(Y,J)=>{return delete Z[J],!0},ownKeys:()=>Reflect.ownKeys(Z),getOwnPropertyDescriptor:(Y,J)=>(J in Z)?{enumerable:!0,configurable:!0,writable:!0,value:Z[J]()}:void 0})}function JL(X,$){let Z={};for(let Y of $)Z[Y]=X[Y];return Z}function Q4(X,$){let Z=Object.keys(X),Y=XX(Z,(O)=>$?.[O]??X[O].getDefaultValue()),J=XX(Z,()=>[]),G=XX(Z,()=>!1),Q=XX(Z,()=>!1),w=XX(Z,()=>!1),q=d1(!1);async function W(O){w[O]=!0;let F=await X[O].validate(Y[O],Y);return J[O]=F,w[O]=!1,F.length===0}async function U(){q.set(!0);let O=await Promise.all(Z.map(W));return q.set(!1),O.every(Boolean)}function K(){for(let O of Z)Y[O]=$?.[O]??X[O].getDefaultValue(),J[O]=[],G[O]=!1,Q[O]=!1}function z(O){for(let F of Z)if(F in O)Y[F]=O[F],Q[F]=!0}function B(O,F){Y[O]=F,Q[O]=!0}function _(O,F=!0){if(G[O]=F,F)W(O)}function j(O){return{value:Y[O],errors:J[O],touched:G[O],dirty:Q[O],valid:J[O].length===0,validating:w[O]}}function H(O){return async(F)=>{F?.preventDefault?.();for(let A of Z)G[A]=!0;if(await U())await O(JL(Y,Z))}}return{values:Y,errors:J,touched:G,dirty:Q,get isValid(){return Z.every((O)=>J[O].length===0)},get isValidating(){return q()||Z.some((O)=>w[O])},get isDirty(){return Z.some((O)=>Q[O])},validate:U,validateField:W,reset:K,setValues:z,setFieldValue:B,setFieldTouched:_,getFieldState:j,handleSubmit:H}}var eQ;var Xw=D(()=>{A8();eQ=Q4});var Jw={};t(Jw,{v:()=>GL,useForm:()=>Q4,processHasErrorsDirective:()=>Yw,processFormValidationDirectives:()=>QL,processErrorsDirective:()=>Zw,processErrorDirective:()=>$w,defineForm:()=>eQ,Validator:()=>X7});class X7{rules=[];defaultValue="";addRule(X){let $=new X7;return $.rules=[...this.rules,X],$.defaultValue=this.defaultValue,$}required(X="This field is required"){return this.addRule({name:"required",message:X,validate:($)=>{if($===null||$===void 0)return X;if(typeof $==="string"&&$.trim()==="")return X;if(Array.isArray($)&&$.length===0)return X;return!0}})}email(X="Please enter a valid email"){return this.addRule({name:"email",message:X,validate:($)=>{if(!$)return!0;return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String($))||X}})}url(X="Please enter a valid URL"){return this.addRule({name:"url",message:X,validate:($)=>{if(!$)return!0;try{return new URL(String($)),!0}catch{return X}}})}min(X,$){let Z=$||`Must be at least ${X} characters`;return this.addRule({name:"min",message:Z,validate:(Y)=>{if(!Y)return!0;return String(Y).length>=X||Z}})}max(X,$){let Z=$||`Must be no more than ${X} characters`;return this.addRule({name:"max",message:Z,validate:(Y)=>{if(!Y)return!0;return String(Y).length<=X||Z}})}length(X,$,Z){let Y=Z||`Must be between ${X} and ${$} characters`;return this.addRule({name:"length",message:Y,validate:(J)=>{if(!J)return!0;let G=String(J).length;return G>=X&&G<=$||Y}})}pattern(X,$="Invalid format"){return this.addRule({name:"pattern",message:$,validate:(Z)=>{if(!Z)return!0;return X.test(String(Z))||$}})}hasUppercase(X="Must contain an uppercase letter"){return this.pattern(/[A-Z]/,X)}hasLowercase(X="Must contain a lowercase letter"){return this.pattern(/[a-z]/,X)}hasNumber(X="Must contain a number"){return this.pattern(/\d/,X)}hasSpecial(X="Must contain a special character"){return this.pattern(/[!@#$%^&*(),.?":{}|<>]/,X)}alphanumeric(X="Only letters and numbers allowed"){return this.pattern(/^[a-zA-Z0-9]+$/,X)}startsWithLetter(X="Must start with a letter"){return this.pattern(/^[a-zA-Z]/,X)}noSpaces(X="Spaces are not allowed"){return this.addRule({name:"noSpaces",message:X,validate:($)=>{if(!$)return!0;return!String($).includes(" ")||X}})}number(X="Must be a number"){let $=this.addRule({name:"number",message:X,validate:(Z)=>{if(!Z&&Z!==0)return!0;return!Number.isNaN(Number(Z))||X}});return $.defaultValue=0,$}integer(X="Must be a whole number"){return this.addRule({name:"integer",message:X,validate:($)=>{if(!$&&$!==0)return!0;return Number.isInteger(Number($))||X}})}positive(X="Must be a positive number"){return this.addRule({name:"positive",message:X,validate:($)=>{if(!$&&$!==0)return!0;return Number($)>0||X}})}negative(X="Must be a negative number"){return this.addRule({name:"negative",message:X,validate:($)=>{if(!$&&$!==0)return!0;return Number($)<0||X}})}minValue(X,$){let Z=$||`Must be at least ${X}`;return this.addRule({name:"minValue",message:Z,validate:(Y)=>{if(!Y&&Y!==0)return!0;return Number(Y)>=X||Z}})}maxValue(X,$){let Z=$||`Must be no more than ${X}`;return this.addRule({name:"maxValue",message:Z,validate:(Y)=>{if(!Y&&Y!==0)return!0;return Number(Y)<=X||Z}})}between(X,$,Z){let Y=Z||`Must be between ${X} and ${$}`;return this.addRule({name:"between",message:Y,validate:(J)=>{if(!J&&J!==0)return!0;let G=Number(J);return G>=X&&G<=$||Y}})}matches(X,$){let Z=$||`Must match ${X}`;return this.addRule({name:"matches",message:Z,validate:(Y,J)=>{if(!J)return!0;return Y===J[X]||Z}})}oneOf(X,$){let Z=$||`Must be one of: ${X.join(", ")}`;return this.addRule({name:"oneOf",message:Z,validate:(Y)=>{if(!Y)return!0;return X.includes(Y)||Z}})}notOneOf(X,$){let Z=$||`Cannot be one of: ${X.join(", ")}`;return this.addRule({name:"notOneOf",message:Z,validate:(Y)=>{if(!Y)return!0;return!X.includes(Y)||Z}})}date(X="Must be a valid date"){return this.addRule({name:"date",message:X,validate:($)=>{if(!$)return!0;let Z=new Date(String($));return!Number.isNaN(Z.getTime())||X}})}before(X,$){let Z=new Date(X),Y=$||`Must be before ${Z.toLocaleDateString()}`;return this.addRule({name:"before",message:Y,validate:(J)=>{if(!J)return!0;return new Date(String(J))<Z||Y}})}after(X,$){let Z=new Date(X),Y=$||`Must be after ${Z.toLocaleDateString()}`;return this.addRule({name:"after",message:Y,validate:(J)=>{if(!J)return!0;return new Date(String(J))>Z||Y}})}custom(X,$="Invalid value"){return this.addRule({name:"custom",message:$,validate:X})}async(X,$="Invalid value"){return this.addRule({name:"async",message:$,async:!0,validate:X})}when(X,$){let Z=new X7;Z.rules=[...this.rules],Z.defaultValue=this.defaultValue;for(let Y of $.getRules())Z.rules.push({...Y,validate:(J,G)=>{if(!X(J,G||{}))return!0;return Y.validate(J,G)}});return Z}getRules(){return this.rules}getDefaultValue(){return this.defaultValue}default(X){let $=new X7;return $.rules=[...this.rules],$.defaultValue=X,$}async validate(X,$){let Z=[];for(let Y of this.rules){let J=await Y.validate(X,$);if(J!==!0)Z.push(J)}return Z}validateSync(X,$){let Z=[];for(let Y of this.rules){if(Y.async)continue;let J=Y.validate(X,$);if(J!==!0)Z.push(J)}return Z}}function $w(X,$,Z){let Y=/@error\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderror/g;return X.replace(Y,(J,G,Q)=>{try{let w=G.trim().split("."),q=$;for(let U of w)if(q&&typeof q==="object"&&U in q)q=q[U];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return W.map((U)=>{return Q.replace(/\{\{\s*message\s*\}\}/g,U)}).join(`
13950
+ `)}catch{return""}})}function Zw(X,$,Z){let Y=/@errors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderrors/g;return X.replace(Y,(J,G,Q)=>{try{let w=G.trim().split("."),q=$;for(let U of w)if(q&&typeof q==="object"&&U in q)q=q[U];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return W.map((U)=>Q.replace(/\{\{\s*message\s*\}\}/g,U)).join(`
13951
+ `)}catch{return""}})}function Yw(X,$,Z){let Y=/@hasErrors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@endhasErrors/g;return X.replace(Y,(J,G,Q)=>{try{let w=G.trim().split("."),q=$;for(let U of w)if(q&&typeof q==="object"&&U in q)q=q[U];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return Q}catch{return""}})}function QL(X,$,Z){let Y=X;return Y=$w(Y,$,Z),Y=Zw(Y,$,Z),Y=Yw(Y,$,Z),Y}var GL;var Gw=D(()=>{Xw();GL=new X7});var qw={};t(qw,{processXElementDirectives:()=>wL,hasXElementDirectives:()=>ww,generateXElementRuntime:()=>Qw});function Qw(){return`<script data-stx-scoped data-stx-x-element-runtime data-stx-run="always">
13952
13952
  (function() {
13953
13953
  'use strict';
13954
13954
 
@@ -14232,16 +14232,16 @@ else {
14232
14232
  // Expose for manual initialization
14233
14233
  window.XElement = XElement;
14234
14234
  })();
14235
- </script>`}function Gw(X){return/\bx-data(?:\s|=)/.test(X)}function JL(X){let $=/<script\b(?=[^>]*\bdata-stx-x-element-runtime\b)[^>]*>[\s\S]*?<\/script>\s*/gi,Z=X.match($)||[],Y=Z.length>0?X.replace($,""):X;if(!Gw(Y))return Y;let J=Z[0]?.trim()||Jw(),G=Y.lastIndexOf("</body>");if(G!==-1)return Y.slice(0,G)+J+`
14235
+ </script>`}function ww(X){return/\bx-data(?:\s|=)/.test(X)}function wL(X){let $=/<script\b(?=[^>]*\bdata-stx-x-element-runtime\b)[^>]*>[\s\S]*?<\/script>\s*/gi,Z=X.match($)||[],Y=Z.length>0?X.replace($,""):X;if(!ww(Y))return Y;let J=Z[0]?.trim()||Qw(),G=Y.lastIndexOf("</body>");if(G!==-1)return Y.slice(0,G)+J+`
14236
14236
  `+Y.slice(G);return Y+`
14237
- `+J}var ww={};t(ww,{rewriteImagesWithSiblings:()=>wL});import T1 from"path";async function wL(X,$){let Z=$.formats??QL;if(!$.publicDir)return X;let Y=UL(X),J=[],G=/<img\b[^>]*?>/gi,Q=[],w;while((w=G.exec(X))!==null){let K=w[0],z=K.match(/\bsrc=["']([^"']+)["']/i);if(!z)continue;if(KL(w.index,Y))continue;Q.push({idx:w.index,length:K.length,src:z[1],raw:K})}if(Q.length===0)return X;let q=await Promise.all(Q.map(async(K)=>{let z=await qL(K.src,$.publicDir,Z);return{match:K,sources:z}}));for(let{match:K,sources:z}of q){if(z.length===0)continue;let _=`<picture>${z.map((j)=>`<source type="${j.mime}" srcset="${zL(j.url)}">`).join("")}${K.raw}</picture>`;J.push({start:K.idx,end:K.idx+K.length,replacement:_})}if(J.length===0)return X;let W="",U=0;for(let K of J)W+=X.slice(U,K.start),W+=K.replacement,U=K.end;return W+=X.slice(U),W}async function qL(X,$,Z){if(!WL(X))return[];let Y=T1.extname(X).toLowerCase();if(!GL.has(Y))return[];if(!X.startsWith("/"))return[];let J=T1.join($,X.slice(1)),G=T1.dirname(J),Q=T1.basename(J,Y),w=T1.resolve(G),q=T1.resolve($);if(!w.startsWith(q))return[];let W=T1.posix.dirname(X),U=Z.map(async(z)=>{let B=T1.join(G,`${Q}${z.ext}`);if(!await Bun.file(B).exists())return null;return{url:T1.posix.join(W,`${Q}${z.ext}`),mime:z.mime}});return(await Promise.all(U)).filter((z)=>z!==null)}function WL(X){if(!X)return!1;if(X.startsWith("http://")||X.startsWith("https://"))return!1;if(X.startsWith("//"))return!1;if(X.startsWith("data:"))return!1;return!0}function UL(X){let $=[],Z=/<picture\b[^>]*>[\s\S]*?<\/picture>/gi,Y;while((Y=Z.exec(X))!==null)$.push([Y.index,Y.index+Y[0].length]);return $}function KL(X,$){for(let[Z,Y]of $)if(X>=Z&&X<Y)return!0;return!1}function zL(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;")}var GL,QL;var qw=D(()=>{GL=new Set([".jpg",".jpeg",".png",".gif"]),QL=[{ext:".avif",mime:"image/avif"},{ext:".webp",mime:"image/webp"}]});var Ww=()=>{};function Q4(X){return X.pwa?.serviceWorker?.fileName||"sw.js"}var Uw=D(()=>{Ww()});var Kw={};t(Kw,{injectPwaTags:()=>_L,generateThemeColorMeta:()=>HL,generateSwRegistrationScript:()=>BL,generatePwaTags:()=>v8,generateManifestLink:()=>jL});function v8(X){let $=X.pwa;if(!$?.enabled)return"";let Z=$.manifest,Y=$.icons?.outputDir?`/${$.icons.outputDir}`:"/pwa-icons",J=Q4(X),G=`
14237
+ `+J}var Ww={};t(Ww,{rewriteImagesWithSiblings:()=>UL});import T1 from"path";async function UL(X,$){let Z=$.formats??WL;if(!$.publicDir)return X;let Y=_L(X),J=[],G=/<img\b[^>]*?>/gi,Q=[],w;while((w=G.exec(X))!==null){let K=w[0],z=K.match(/\bsrc=["']([^"']+)["']/i);if(!z)continue;if(BL(w.index,Y))continue;Q.push({idx:w.index,length:K.length,src:z[1],raw:K})}if(Q.length===0)return X;let q=await Promise.all(Q.map(async(K)=>{let z=await KL(K.src,$.publicDir,Z);return{match:K,sources:z}}));for(let{match:K,sources:z}of q){if(z.length===0)continue;let _=`<picture>${z.map((j)=>`<source type="${j.mime}" srcset="${jL(j.url)}">`).join("")}${K.raw}</picture>`;J.push({start:K.idx,end:K.idx+K.length,replacement:_})}if(J.length===0)return X;let W="",U=0;for(let K of J)W+=X.slice(U,K.start),W+=K.replacement,U=K.end;return W+=X.slice(U),W}async function KL(X,$,Z){if(!zL(X))return[];let Y=T1.extname(X).toLowerCase();if(!qL.has(Y))return[];if(!X.startsWith("/"))return[];let J=T1.join($,X.slice(1)),G=T1.dirname(J),Q=T1.basename(J,Y),w=T1.resolve(G),q=T1.resolve($);if(!w.startsWith(q))return[];let W=T1.posix.dirname(X),U=Z.map(async(z)=>{let B=T1.join(G,`${Q}${z.ext}`);if(!await Bun.file(B).exists())return null;return{url:T1.posix.join(W,`${Q}${z.ext}`),mime:z.mime}});return(await Promise.all(U)).filter((z)=>z!==null)}function zL(X){if(!X)return!1;if(X.startsWith("http://")||X.startsWith("https://"))return!1;if(X.startsWith("//"))return!1;if(X.startsWith("data:"))return!1;return!0}function _L(X){let $=[],Z=/<picture\b[^>]*>[\s\S]*?<\/picture>/gi,Y;while((Y=Z.exec(X))!==null)$.push([Y.index,Y.index+Y[0].length]);return $}function BL(X,$){for(let[Z,Y]of $)if(X>=Z&&X<Y)return!0;return!1}function jL(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;")}var qL,WL;var Uw=D(()=>{qL=new Set([".jpg",".jpeg",".png",".gif"]),WL=[{ext:".avif",mime:"image/avif"},{ext:".webp",mime:"image/webp"}]});var Kw=()=>{};function w4(X){return X.pwa?.serviceWorker?.fileName||"sw.js"}var zw=D(()=>{Kw()});var _w={};t(_w,{injectPwaTags:()=>HL,generateThemeColorMeta:()=>FL,generateSwRegistrationScript:()=>LL,generatePwaTags:()=>v8,generateManifestLink:()=>OL});function v8(X){let $=X.pwa;if(!$?.enabled)return"";let Z=$.manifest,Y=$.icons?.outputDir?`/${$.icons.outputDir}`:"/pwa-icons",J=w4(X),G=`
14238
14238
  <!-- stx PWA Meta Tags -->
14239
14239
  <link rel="manifest" href="/manifest.json">
14240
- <meta name="theme-color" content="${w4(Z?.themeColor||"#000000")}">
14240
+ <meta name="theme-color" content="${q4(Z?.themeColor||"#000000")}">
14241
14241
  <meta name="mobile-web-app-capable" content="yes">
14242
14242
  <meta name="apple-mobile-web-app-capable" content="yes">
14243
14243
  <meta name="apple-mobile-web-app-status-bar-style" content="default">
14244
- <meta name="apple-mobile-web-app-title" content="${w4(Z?.shortName||Z?.name||"App")}">`;if($.icons?.generateAppleIcons!==!1)G+=`
14244
+ <meta name="apple-mobile-web-app-title" content="${q4(Z?.shortName||Z?.name||"App")}">`;if($.icons?.generateAppleIcons!==!1)G+=`
14245
14245
  <link rel="apple-touch-icon" href="${Y}/apple-touch-icon.png">
14246
14246
  <link rel="apple-touch-icon" sizes="120x120" href="${Y}/apple-touch-icon-120x120.png">
14247
14247
  <link rel="apple-touch-icon" sizes="152x152" href="${Y}/apple-touch-icon-152x152.png">
@@ -14278,12 +14278,12 @@ if ('serviceWorker' in navigator) {
14278
14278
  });
14279
14279
  }
14280
14280
  </script>
14281
- <!-- End stx PWA -->`,G}function _L(X,$){let Z=$.pwa;if(!Z?.enabled||Z.autoInject===!1)return X;if(X.includes("<!-- stx PWA Meta Tags -->"))return X;if(!X.includes("</head>")){let J=X.lastIndexOf("</body>");if(J!==-1){let G=v8($);return X.slice(0,J)+G+`
14281
+ <!-- End stx PWA -->`,G}function HL(X,$){let Z=$.pwa;if(!Z?.enabled||Z.autoInject===!1)return X;if(X.includes("<!-- stx PWA Meta Tags -->"))return X;if(!X.includes("</head>")){let J=X.lastIndexOf("</body>");if(J!==-1){let G=v8($);return X.slice(0,J)+G+`
14282
14282
  `+X.slice(J)}return X+v8($)}let Y=v8($);return X.replace("</head>",`${Y}
14283
- </head>`)}function BL(X){if(!X.pwa?.enabled)return"";return`<script>
14283
+ </head>`)}function LL(X){if(!X.pwa?.enabled)return"";return`<script>
14284
14284
  if ('serviceWorker' in navigator) {
14285
14285
  window.addEventListener('load', function() {
14286
- navigator.serviceWorker.register('/${Q4(X)}')
14286
+ navigator.serviceWorker.register('/${w4(X)}')
14287
14287
  .then(function(registration) {
14288
14288
  console.log('[PWA] Service Worker registered:', registration.scope);
14289
14289
  })
@@ -14292,46 +14292,46 @@ if ('serviceWorker' in navigator) {
14292
14292
  });
14293
14293
  });
14294
14294
  }
14295
- </script>`}function jL(){return'<link rel="manifest" href="/manifest.json">'}function HL(X){return`<meta name="theme-color" content="${w4(X)}">`}function w4(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var zw=D(()=>{Uw()});import LL from"fs";import E0 from"path";function _w(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function OL(X,$){let Z=X.length,Y=$,J=!0,G=[],Q=(w)=>w+9<=Z&&X[w]==="<"&&X[w+1]==="/"&&(X[w+2]==="s"||X[w+2]==="S")&&(X[w+3]==="c"||X[w+3]==="C")&&(X[w+4]==="r"||X[w+4]==="R")&&(X[w+5]==="i"||X[w+5]==="I")&&(X[w+6]==="p"||X[w+6]==="P")&&(X[w+7]==="t"||X[w+7]==="T")&&(X[w+8]===">"||/\s/.test(X[w+8]));while(Y<Z){let w=X[Y];if(Q(Y))return Y;if(w==="/"&&X[Y+1]==="/"){if(Y=X.indexOf(`
14295
+ </script>`}function OL(){return'<link rel="manifest" href="/manifest.json">'}function FL(X){return`<meta name="theme-color" content="${q4(X)}">`}function q4(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var Bw=D(()=>{zw()});import VL from"fs";import E0 from"path";function jw(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function AL(X,$){let Z=X.length,Y=$,J=!0,G=[],Q=(w)=>w+9<=Z&&X[w]==="<"&&X[w+1]==="/"&&(X[w+2]==="s"||X[w+2]==="S")&&(X[w+3]==="c"||X[w+3]==="C")&&(X[w+4]==="r"||X[w+4]==="R")&&(X[w+5]==="i"||X[w+5]==="I")&&(X[w+6]==="p"||X[w+6]==="P")&&(X[w+7]==="t"||X[w+7]==="T")&&(X[w+8]===">"||/\s/.test(X[w+8]));while(Y<Z){let w=X[Y];if(Q(Y))return Y;if(w==="/"&&X[Y+1]==="/"){if(Y=X.indexOf(`
14296
14296
  `,Y+2),Y===-1)return-1;Y+=1,J=!0;continue}if(w==="/"&&X[Y+1]==="*"){let q=X.indexOf("*/",Y+2);if(q===-1)return-1;Y=q+2,J=!0;continue}if(w==="/"&&J){let q=Y+1,W=!1;while(q<Z){let U=X[q];if(U==="\\"){q+=2;continue}if(U==="[")W=!0;else if(U==="]")W=!1;else if(U==="/"&&!W){q++;break}else if(U===`
14297
14297
  `){q=-1;break}q++}if(q===-1){Y++,J=!1;continue}while(q<Z&&/[a-z]/.test(X[q]))q++;Y=q,J=!1;continue}if(w==="'"||w==='"'){let q=w;Y++;while(Y<Z){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]===q){Y++;break}if(X[Y]===`
14298
- `)break;Y++}J=!1;continue}if(w==="`"){Y++;while(Y<Z){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]==="`"){Y++;break}if(X[Y]==="$"&&X[Y+1]==="{"){G.push(!0),Y+=2,J=!0;break}Y++}if(G.length===0)J=!1;continue}if(w==="}"&&G.length>0){G.pop(),Y++;while(Y<Z){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]==="`"){Y++,J=!1;break}if(X[Y]==="$"&&X[Y+1]==="{"){G.push(!0),Y+=2,J=!0;break}Y++}continue}if(/\s/.test(w));else if(/[)\].\w$]/.test(w))J=!1;else J=!0;Y++}return-1}function $7(X,$){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=new RegExp(`<script\\b(?=[^>]*\\b${Z}(?:\\s|=|/?>))[^>]*>`,"i").exec(X);if(!Y)return null;let J=Y.index+Y[0].length,G=X.indexOf("</script>",J);if(G===-1)return null;let Q=X.indexOf(">",G);if(Q===-1)return null;return{start:Y.index,end:Q+1}}function Bw(X){let $=0;while($<X.length){let Z=X.indexOf("<",$);if(Z===-1)return-1;if(X.startsWith("<!--",Z)){let G=X.indexOf("-->",Z+4);$=G===-1?X.length:G+3;continue}let Y=X.slice(Z),J=/^<style\b[^>]*>/i.exec(Y);if(J){let G=X.toLowerCase().indexOf("</style>",Z+J[0].length);$=G===-1?X.length:G+8;continue}if(/^<script\b[^>]*>/i.test(Y))return Z;$=Z+1}return-1}function FL(X){let $=$7(X,"data-stx-runtime");if(!$)return X;let Z=Bw(X);if(Z===-1||Z===$.start)return X;let Y=X.slice($.start,$.end),J=X.slice(0,$.start)+X.slice($.end),G=Bw(J);if(G===-1)return Y+`
14298
+ `)break;Y++}J=!1;continue}if(w==="`"){Y++;while(Y<Z){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]==="`"){Y++;break}if(X[Y]==="$"&&X[Y+1]==="{"){G.push(!0),Y+=2,J=!0;break}Y++}if(G.length===0)J=!1;continue}if(w==="}"&&G.length>0){G.pop(),Y++;while(Y<Z){if(X[Y]==="\\"){Y+=2;continue}if(X[Y]==="`"){Y++,J=!1;break}if(X[Y]==="$"&&X[Y+1]==="{"){G.push(!0),Y+=2,J=!0;break}Y++}continue}if(/\s/.test(w));else if(/[)\].\w$]/.test(w))J=!1;else J=!0;Y++}return-1}function $7(X,$){let Z=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=new RegExp(`<script\\b(?=[^>]*\\b${Z}(?:\\s|=|/?>))[^>]*>`,"i").exec(X);if(!Y)return null;let J=Y.index+Y[0].length,G=X.indexOf("</script>",J);if(G===-1)return null;let Q=X.indexOf(">",G);if(Q===-1)return null;return{start:Y.index,end:Q+1}}function Hw(X){let $=0;while($<X.length){let Z=X.indexOf("<",$);if(Z===-1)return-1;if(X.startsWith("<!--",Z)){let G=X.indexOf("-->",Z+4);$=G===-1?X.length:G+3;continue}let Y=X.slice(Z),J=/^<style\b[^>]*>/i.exec(Y);if(J){let G=X.toLowerCase().indexOf("</style>",Z+J[0].length);$=G===-1?X.length:G+8;continue}if(/^<script\b[^>]*>/i.test(Y))return Z;$=Z+1}return-1}function RL(X){let $=$7(X,"data-stx-runtime");if(!$)return X;let Z=Hw(X);if(Z===-1||Z===$.start)return X;let Y=X.slice($.start,$.end),J=X.slice(0,$.start)+X.slice($.end),G=Hw(J);if(G===-1)return Y+`
14299
14299
  `+J;return J.slice(0,G)+Y+`
14300
- `+J.slice(G)}async function V0(X,$,Z,Y,J){if(Y.ssr===!1&&!Y.autoShell&&Y.buildMode==="spa")return X;if($.__stx_signals_gate===void 0)$.__stx_signals_gate=L1(X);let G=!$.__stxProcessingDepth;if(G)b6($);if(!$.__stxProcessingDepth)$.__stxProcessingDepth=0;if($.__stxProcessingDepth++,!$.__onceStore)$.__onceStore=new Set;if((Y.debug||!C7()&&!CX())&&Z&&Z.endsWith(".stx"))x9(X,Z);try{return await XZ.timeAsync("template-processing",async()=>{let Q=await VL(X,$,Z,Y,J);if(G)Q=s3(Q);if(G&&Y.autoShell&&Y.buildMode!=="compile"){let w=Y.app?.head||{},W=($.__stx_runtime_head||null)??A9(),U=($.__stx_head_raw||"").trim(),K,z=U.match(/<title[^>]*>([\s\S]*?)<\/title>/i);if(z)K=z[1].trim(),U=U.replace(z[0],"").trim();let B=$.__sections?.title,_=W.title||K||B,j=!W.title&&(!!K||!!B),H={...w,..._&&{title:_},meta:[...w.meta||[],...W.meta||[]],link:[...w.link||[],...W.link||[]],script:[...w.script||[],...W.script||[]],headRaw:[w.headRaw,U].filter(Boolean).join(`
14301
- `),...W.htmlAttrs&&{htmlAttrs:GG(w.htmlAttrs,W.htmlAttrs)},...W.bodyAttrs&&{bodyAttrs:{...w.bodyAttrs||{},...W.bodyAttrs}}},L=S3(Q);if(Q=WG(Q,H,{...j&&{titleIsHtml:!0},...Y.app?.colorMode&&{colorMode:Y.app.colorMode}}),L)Q=qG(Q,w),Q=QG(Q,H.htmlAttrs);let O=Q.match(/<!-- stx-layout: ([^ ]+) -->/);if(O&&Q.includes("<head")){let A=O[1],R=L7(A);Q=Q.replace(/<head\b[^>]*>/i,(T)=>`${T}
14302
- <meta name="stx-layout" content="${_w(A)}">
14303
- <meta name="stx-layout-group" content="${_w(R)}">`)}let F=Q.match(/function (__stx_setup_\d+_\d+)\(/),V=F?yX(Q):null;if(F&&V&&!/\bdata-stx=/.test(V.tag)){Q=Q9(Q,(R,T)=>`<body${T} data-stx="${F[1]}">`);let A=new RegExp(`(<(?!body)[a-zA-Z][^>]*) data-stx="${F[1]}"`,"i");Q=Q.replace(A,"$1")}}if(G){Q=wG(Q);let w=Y.app?.colorMode;if(w)Q=XG(Q,w);Q=ZG(Q),Q=FL(Q)}if(G)try{let{getStoreScript:w}=await e("stx/store-loader",()=>Promise.resolve().then(() => (iG(),pG))),q=Y.storesDir,W=await w(q);if(W){let U=`<script data-stx-stores>${W}</script>`,K=$7(Q,"data-stx-runtime");if(K)Q=Q.slice(0,K.end)+`
14304
- `+U+Q.slice(K.end)}}catch{}if(G)try{let{getFrameworkComposableScript:w}=await e("stx/framework-composables",()=>Promise.resolve().then(() => (aG(),oG))),q=await w(Q);if(q){let W=$7(Q,"data-stx-stores")||$7(Q,"data-stx-runtime");if(W)Q=Q.slice(0,W.end)+`
14305
- `+q+Q.slice(W.end)}}catch{}if(G)try{let{getComposableScript:w}=await e("stx/composable-loader",()=>Promise.resolve().then(() => (XQ(),eG))),q=Y.composablesDir,W=await w(q);if(W){let U=`<script data-stx-composables>${W}</script>`,K=$7(Q,"data-stx-stores")||$7(Q,"data-stx-runtime");if(K)Q=Q.slice(0,K.end)+`
14306
- `+U+Q.slice(K.end)}}catch{}if(G)Q=$G(Q);if(G&&$.__stx_inject_css!==!1)Q=await J9(Q,void 0,Y.buildMode==="serve");if(G)Q=eJ(Q);return Q=Q.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),Q})}catch(Q){if(Q instanceof fX)throw Q;let w=Q instanceof Error?Q.message:String(Q),q=new Y5(`Template processing failed: ${w}`,Z,void 0,void 0,X.substring(0,200)+(X.length>200?"...":""));if($1.log(q,{filePath:Z,context:$}),j9.logDetailedError(q,{filePath:Z,template:X.substring(0,500)}),Y.debug)throw q;return _9.createFallbackContent("Template Processing",q)}}async function VL(X,$,Z,Y,J){let G=process.cwd(),Q={...Y,partialsDir:Y.partialsDir&&!E0.isAbsolute(Y.partialsDir)?E0.resolve(G,Y.partialsDir):Y.partialsDir,componentsDir:Y.componentsDir&&!E0.isAbsolute(Y.componentsDir)?E0.resolve(G,Y.componentsDir):Y.componentsDir,layoutsDir:Y.layoutsDir&&!E0.isAbsolute(Y.layoutsDir)?E0.resolve(G,Y.layoutsDir):Y.layoutsDir},w=Q,q=X;await TL(Z,$),RL($,w),q=await v5(()=>NJ(q,$,Z,w),q,(F)=>{$1.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=Q1(q,E7,(F,V)=>`\x00STX_HTML_COMMENT_${V}\x00`);q=W.output;let U=W.tokens,K=(F)=>U.length===0?F:F.replace(/\x00STX_HTML_COMMENT_(\d+)\x00/g,(V,A)=>U[Number(A)]??""),z="\x00STX_ESCAPED_AT\x00";q=q.replace(/@@/g,z),q=q.replace(/@\{\{([\s\S]*?)\}\}/g,(F,V)=>{return`{{ ${V} }}`}),q=mJ(q),q=await uG(q,Z,J);let B={};q=O3(q,B);let _={...$.__sections||{}},j="",H=VZ(FZ(X)),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)j=O[1],q=q.replace(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/g,"");else if(typeof H==="string"){if(j=H,!/@section\s*\(/.test(q))q=`@section('content')
14300
+ `+J.slice(G)}async function V0(X,$,Z,Y,J){if(Y.ssr===!1&&!Y.autoShell&&Y.buildMode==="spa")return X;if($.__stx_signals_gate===void 0)$.__stx_signals_gate=L1(X);let G=!$.__stxProcessingDepth;if(G)S6($);if(!$.__stxProcessingDepth)$.__stxProcessingDepth=0;if($.__stxProcessingDepth++,!$.__onceStore)$.__onceStore=new Set;if((Y.debug||!C7()&&!CX())&&Z&&Z.endsWith(".stx"))x9(X,Z);try{return await $Z.timeAsync("template-processing",async()=>{let Q=await TL(X,$,Z,Y,J);if(G)Q=o3(Q);if(G&&Y.autoShell&&Y.buildMode!=="compile"){let w=Y.app?.head||{},W=($.__stx_runtime_head||null)??A9(),U=($.__stx_head_raw||"").trim(),K,z=U.match(/<title[^>]*>([\s\S]*?)<\/title>/i);if(z)K=z[1].trim(),U=U.replace(z[0],"").trim();let B=$.__sections?.title,_=W.title||K||B,j=!W.title&&(!!K||!!B),H={...w,..._&&{title:_},meta:[...w.meta||[],...W.meta||[]],link:[...w.link||[],...W.link||[]],script:[...w.script||[],...W.script||[]],headRaw:[w.headRaw,U].filter(Boolean).join(`
14301
+ `),...W.htmlAttrs&&{htmlAttrs:wG(w.htmlAttrs,W.htmlAttrs)},...W.bodyAttrs&&{bodyAttrs:{...w.bodyAttrs||{},...W.bodyAttrs}}},L=C3(Q);if(Q=KG(Q,H,{...j&&{titleIsHtml:!0},...Y.app?.colorMode&&{colorMode:Y.app.colorMode}}),L)Q=UG(Q,w),Q=qG(Q,H.htmlAttrs);let O=Q.match(/<!-- stx-layout: ([^ ]+) -->/);if(O&&Q.includes("<head")){let A=O[1],R=L7(A);Q=Q.replace(/<head\b[^>]*>/i,(T)=>`${T}
14302
+ <meta name="stx-layout" content="${jw(A)}">
14303
+ <meta name="stx-layout-group" content="${jw(R)}">`)}let F=Q.match(/function (__stx_setup_\d+_\d+)\(/),V=F?yX(Q):null;if(F&&V&&!/\bdata-stx=/.test(V.tag)){Q=Q9(Q,(R,T)=>`<body${T} data-stx="${F[1]}">`);let A=new RegExp(`(<(?!body)[a-zA-Z][^>]*) data-stx="${F[1]}"`,"i");Q=Q.replace(A,"$1")}}if(G){Q=WG(Q);let w=Y.app?.colorMode;if(w)Q=ZG(Q,w);Q=JG(Q),Q=RL(Q)}if(G)try{let{getStoreScript:w}=await e("stx/store-loader",()=>Promise.resolve().then(() => (rG(),nG))),q=Y.storesDir,W=await w(q);if(W){let U=`<script data-stx-stores>${W}</script>`,K=$7(Q,"data-stx-runtime");if(K)Q=Q.slice(0,K.end)+`
14304
+ `+U+Q.slice(K.end)}}catch{}if(G)try{let{getFrameworkComposableScript:w}=await e("stx/framework-composables",()=>Promise.resolve().then(() => (eG(),tG))),q=await w(Q);if(q){let W=$7(Q,"data-stx-stores")||$7(Q,"data-stx-runtime");if(W)Q=Q.slice(0,W.end)+`
14305
+ `+q+Q.slice(W.end)}}catch{}if(G)try{let{getComposableScript:w}=await e("stx/composable-loader",()=>Promise.resolve().then(() => (ZQ(),$Q))),q=Y.composablesDir,W=await w(q);if(W){let U=`<script data-stx-composables>${W}</script>`,K=$7(Q,"data-stx-stores")||$7(Q,"data-stx-runtime");if(K)Q=Q.slice(0,K.end)+`
14306
+ `+U+Q.slice(K.end)}}catch{}if(G)Q=YG(Q);if(G&&$.__stx_inject_css!==!1)Q=await J9(Q,void 0,Y.buildMode==="serve");if(G)Q=$G(Q);return Q=Q.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),Q})}catch(Q){if(Q instanceof fX)throw Q;let w=Q instanceof Error?Q.message:String(Q),q=new Y5(`Template processing failed: ${w}`,Z,void 0,void 0,X.substring(0,200)+(X.length>200?"...":""));if($1.log(q,{filePath:Z,context:$}),j9.logDetailedError(q,{filePath:Z,template:X.substring(0,500)}),Y.debug)throw q;return _9.createFallbackContent("Template Processing",q)}}async function TL(X,$,Z,Y,J){let G=process.cwd(),Q={...Y,partialsDir:Y.partialsDir&&!E0.isAbsolute(Y.partialsDir)?E0.resolve(G,Y.partialsDir):Y.partialsDir,componentsDir:Y.componentsDir&&!E0.isAbsolute(Y.componentsDir)?E0.resolve(G,Y.componentsDir):Y.componentsDir,layoutsDir:Y.layoutsDir&&!E0.isAbsolute(Y.layoutsDir)?E0.resolve(G,Y.layoutsDir):Y.layoutsDir},w=Q,q=X;await kL(Z,$),NL($,w),q=await v5(()=>IJ(q,$,Z,w),q,(F)=>{$1.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=Q1(q,E7,(F,V)=>`\x00STX_HTML_COMMENT_${V}\x00`);q=W.output;let U=W.tokens,K=(F)=>U.length===0?F:F.replace(/\x00STX_HTML_COMMENT_(\d+)\x00/g,(V,A)=>U[Number(A)]??""),z="\x00STX_ESCAPED_AT\x00";q=q.replace(/@@/g,z),q=q.replace(/@\{\{([\s\S]*?)\}\}/g,(F,V)=>{return`{{ ${V} }}`}),q=cJ(q),q=await mG(q,Z,J);let B={};q=F3(q,B);let _={...$.__sections||{}},j="",H=AZ(VZ(X)),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)j=O[1],q=q.replace(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/g,"");else if(typeof H==="string"){if(j=H,!/@section\s*\(/.test(q))q=`@section('content')
14307
14307
  ${q.trim()}
14308
- @endsection`}if(!j&&!L&&w.defaultLayout){let F=b3(q),V=/@section\s*\(/.test(q);if(!F||V){let A="",R=E0.dirname(Z),T=w.layoutsDir?E0.dirname(w.layoutsDir):process.cwd();for(let M=0;M<20;M++){let k=E0.join(R,"_layout.stx");if(await i(k)){A=k;break}let N=E0.dirname(R);if(N===R||N.length<T.length)break;R=N}if(A)j=A;else if(w.layoutsDir){let M=E0.isAbsolute(w.layoutsDir)?w.layoutsDir:E0.resolve(process.cwd(),w.layoutsDir),k=E0.join(M,`${w.defaultLayout}.stx`);if(await i(k))j=k}if(j&&!V)q=`@section('content')
14308
+ @endsection`}if(!j&&!L&&w.defaultLayout){let F=S3(q),V=/@section\s*\(/.test(q);if(!F||V){let A="",R=E0.dirname(Z),T=w.layoutsDir?E0.dirname(w.layoutsDir):process.cwd();for(let M=0;M<20;M++){let k=E0.join(R,"_layout.stx");if(await i(k)){A=k;break}let N=E0.dirname(R);if(N===R||N.length<T.length)break;R=N}if(A)j=A;else if(w.layoutsDir){let M=E0.isAbsolute(w.layoutsDir)?w.layoutsDir:E0.resolve(process.cwd(),w.layoutsDir),k=E0.join(M,`${w.defaultLayout}.stx`);if(await i(k))j=k}if(j&&!V)q=`@section('content')
14309
14309
  ${q.trim()}
14310
- @endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(F,V,A)=>{return _[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(),$);if(R===void 0)return F;return _[V]=String(R??""),""}catch{return F}}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(F,V,A)=>{if(A.includes("@parent"))_[V]=A.replace("@parent",B5);else _[V]=A.trim();return""}),$.__sections=_,q=q.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(F,V,A)=>{return _[V]||A||""}),!("slot"in $)||$.slot===void 0)q=q.replace(/\{\{\s*slot\s*\}\}/g,()=>{return _.content||""});if(q=F3(q,B),j){let F=[],V=y1(q),A=Q1(V.output,y5,(R,T)=>`\x00STX_ORPHAN_STYLE_${T}\x00`);if(q=A.output.replace(/\x00STX_(SCRIPT|ORPHAN_STYLE)_(\d+)\x00/g,(R,T,M)=>{let k=T==="SCRIPT"?V.scripts[Number(M)]:A.tokens[Number(M)];if(k)F.push(k);return""}),F.length>0){let R=F.join(`
14310
+ @endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(F,V,A)=>{return _[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(),$);if(R===void 0)return F;return _[V]=String(R??""),""}catch{return F}}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(F,V,A)=>{if(A.includes("@parent"))_[V]=A.replace("@parent",B5);else _[V]=A.trim();return""}),$.__sections=_,q=q.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(F,V,A)=>{return _[V]||A||""}),!("slot"in $)||$.slot===void 0)q=q.replace(/\{\{\s*slot\s*\}\}/g,()=>{return _.content||""});if(q=V3(q,B),j){let F=[],V=y1(q),A=Q1(V.output,y5,(R,T)=>`\x00STX_ORPHAN_STYLE_${T}\x00`);if(q=A.output.replace(/\x00STX_(SCRIPT|ORPHAN_STYLE)_(\d+)\x00/g,(R,T,M)=>{let k=T==="SCRIPT"?V.scripts[Number(M)]:A.tokens[Number(M)];if(k)F.push(k);return""}),F.length>0){let R=F.join(`
14311
14311
  `);_.content=_.content?`${_.content}
14312
- ${R}`:R,$.__sections=_}}if(j)try{let F;if(E0.isAbsolute(j))F=j,J.add(j);else F=await v5(()=>q4(j,Z,Q,J),null,()=>{throw new Y5(`Failed to resolve layout path: ${j}`,Z,void 0,void 0,`Layout referenced from ${Z}`)});if(!F){let k=[];try{let y=Q.layoutsDir;if(y){let I=E0.isAbsolute(y)?y:E0.resolve(process.cwd(),y);k=LL.readdirSync(I).filter((C)=>C.endsWith(".stx")).map((C)=>C.replace(/\.stx$/,"")).sort()}}catch{}let N=`Layout not found: ${j} (referenced from ${Z})`+(k.length>0?`. Available layouts: ${k.join(", ")}`:Q.layoutsDir?`. No .stx layouts found in ${Q.layoutsDir}`:"");if($1.log(Error(N),{layoutPath:j,filePath:Z,available:k},"error"),console.error(`[stx] ${N}`),Q.debug)throw new Y5(N,Z);return q}let V=await v5(()=>Bun.file(F).text(),"",()=>{throw new Y5(`Failed to read layout file: ${F}`,Z,void 0,void 0,"Layout content could not be loaded")}),A=V.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(A){if(Q.debug)console.log(`Found nested layout: ${A[1]} in ${F}`);let k={},N=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(C,S,b)=>{return k[S]=b.trim(),""});for(let[C,S]of Object.entries(k))if(_[C]&&_[C].includes(B5)){let b=_[C].indexOf(B5);_[C]=_[C].slice(0,b)+S+_[C].slice(b+B5.length)}else if(!_[C])_[C]=S;let y={...$,__sections:_},I=`@layout('${A[1]}')${N}`;return await V0(I,y,F,Q,J)}let R=V.replace(/\{\{--[\s\S]*?--\}\}/g,""),T=O3(R,B),M={};return T=T.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(k,N,y)=>{return M[N]=y.trim(),`@slot('${N}')`}),T=T.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(k,N,y)=>{if(_[N]){let I=_[N];if(I.includes(B5)){let C=M[N]||"",S=I.indexOf(B5);I=I.slice(0,S)+C+I.slice(S+B5.length)}return I}return y||""}),T=AL(T,_),T=T.replace(/\{\{\s*slot\s*\}\}/g,()=>{return _.content||""}),T=F3(T,B),$.__originalFilePath=Z,q=await jw(T,$,F,Q,J),q=`<!-- stx-layout: ${j} -->
14313
- ${q}`,K(q)}catch(F){return $1.log(F instanceof Error?F:Error(String(F)),{layoutPath:j,filePath:Z},"error"),`[Error processing layout: ${F instanceof Error?F.message:String(F)}]`}return K(await jw(q,$,Z,Q,J))}function AL(X,$){return X.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(Z,Y,J)=>{let G=$[Y];if(G!==void 0){if(!new RegExp(`@(?:yield|slot)\\(\\s*['"]${Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}['"]`).test(G))return G}return J||""})}function RL(X,$){if(X.__stx_sfc_mode=!0,X.__stx_options=$,$.buildMode)X.__stx_buildMode=$.buildMode;let Z=$.envPrefix||"STX_PUBLIC_",Y={};for(let[J,G]of Object.entries(process.env))if(J.startsWith(Z)&&G!==void 0)Y[J]=G;X.$env=Y}async function TL(X,$){await v5(()=>xJ(X,$),void 0,(Z)=>{$1.log(Z,{filePath:X,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed for ${X}: ${Z.message}`)})}async function ML(X,$,Z){let Y=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,J;while((J=Y.exec(X))!==null){let G=J[1],Q=J[2];if(!/\bserver\b/.test(G)||!Q.trim())continue;try{let{extractVariables:q}=await e("stx/variable-extractor",()=>Promise.resolve().then(() => (p5(),G8)));await q(Q,$,Z,{preserveExisting:!0})}catch(q){let W=q instanceof Error?q:Error(String(q));$1.log(W,{filePath:Z,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${Z}: ${W.message}`)}}}async function NL(X,$,Z){try{let{interpolateScriptsInTemplate:Y}=await e("stx/expressions",()=>Promise.resolve().then(() => (w1(),a6)));return Y(X,$,{skipServer:!0})}catch(Y){let J=Y instanceof Error?Y:Error(String(Y));return $1.log(J,{filePath:Z,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${Z}: ${J.message}`),X}}async function jw(X,$,Z,Y,J){let G=X,Q=Y;if(await ML(G,$,Z),G=await NL(G,$,Z),G=await FJ(G,$,Z),G=await VJ(G,$,Z),G=await sZ(G,$,Z,Q),L1(G))G=l3(G,$),G=p3(G,$);G=c3(G);let{processStreamDirectives:w}=await e("stx/streaming",()=>Promise.resolve().then(() => (v9(),P9)));G=w(G,$),G=B3(G,$,Z,Q),G=await nJ(G,$,Z,Q,J),G=await J8(G,$,Z,Q,J),G=M2(G,$,Z,Q);let{processDeferDirectives:q}=await e("stx/defer",()=>Promise.resolve().then(() => ZQ));G=q(G,$,Z);let{processTeleportDirectives:W}=await e("stx/teleport",()=>Promise.resolve().then(() => JQ));G=W(G,$,Z);let{processTransitionDirectives:U,processTransitionAttributes:K}=await e("stx/transitions",()=>Promise.resolve().then(() => qQ));G=U(G,$,Z),G=K(G);let{processErrorBoundaryDirectives:z}=await e("stx/error-boundaries",()=>Promise.resolve().then(() => UQ));G=z(G,$,Z);let{processSuspenseDirectives:B}=await e("stx/suspense",()=>Promise.resolve().then(() => KQ));G=B(G,$,Z);let{processAsyncDirectives:_}=await e("stx/async-components",()=>Promise.resolve().then(() => jQ));G=_(G,$,Z);let{processKeepAliveDirectives:j}=await e("stx/keep-alive",()=>Promise.resolve().then(() => LQ));G=j(G,$,Z);let{processVirtualListDirectives:H,processVirtualGridDirectives:L,processInfiniteListDirectives:O}=await e("stx/virtual-scrolling",()=>Promise.resolve().then(() => (TQ(),RQ)));G=H(G,$,Z),G=L(G,$,Z),G=O(G,$,Z);let{processPartialHydrationDirectives:F,processStaticDirectives:V}=await e("stx/partial-hydration",()=>Promise.resolve().then(() => (gQ(),fQ)));G=F(G,$,Z),G=V(G);let{processComputedDirectives:A,processWatchDirectives:R}=await e("stx/computed",()=>Promise.resolve().then(() => (oQ(),sQ)));G=A(G,$,Z),G=R(G,$,Z);let{processFormValidationDirectives:T}=await e("stx/forms-validation",()=>Promise.resolve().then(() => (Yw(),Zw)));G=T(G,$,Z);let{processHeadDirective:M,processTitleDirective:k,processMetaDirective:N,resetHead:y}=await e("stx/head",()=>Promise.resolve().then(() => (x7(),T9)));if(!$.__stx_head_preset&&!$.__stx_runtime_head)y();let I=M(G);if(G=I.content,I.headContent)$.__stx_head_raw=`${$.__stx_head_raw||""}${I.headContent}
14314
- `;if(G=k(G,$),G=N(G,$),G=EJ(G),G=L9(G,$),G=nZ(G),G=TJ(G),G=await L3(G,$,Z,Q,J),G=await J8(G,$,Z,Q,J),$.__stxProcessingDepth===1)G=C6(G,$);if(G=G.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),G=s3(G),G=G5(G,$,Z),G=O9(G,$),G=F9(G,$),G=iX(G,$),G=GY(G,$),G=QY(G,$),G=await kZ(G,$,Z,Q),G=await Hw(G,$,Z),G=await KY(G,$,Z,Q),G=L2(G,$,Z,Q),G=yJ(G,$,Z,Q),G=bJ(G,$,Z),G=SJ(G,$,Z,Q),G=cZ(G,$,Z,Q),G=n3(G,$),G=r3(G),G=mG(G),!Q.skipEventDirectives)G=W6(G,$,Z);if(G=MZ(G,$,Z),Q.debug){let r=/\bx-data\s*=/.test(G),a=E8(X);if(r&&a)console.warn(`[stx] ${Z}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
14312
+ ${R}`:R,$.__sections=_}}if(j)try{let F;if(E0.isAbsolute(j))F=j,J.add(j);else F=await v5(()=>W4(j,Z,Q,J),null,()=>{throw new Y5(`Failed to resolve layout path: ${j}`,Z,void 0,void 0,`Layout referenced from ${Z}`)});if(!F){let k=[];try{let y=Q.layoutsDir;if(y){let I=E0.isAbsolute(y)?y:E0.resolve(process.cwd(),y);k=VL.readdirSync(I).filter((C)=>C.endsWith(".stx")).map((C)=>C.replace(/\.stx$/,"")).sort()}}catch{}let N=`Layout not found: ${j} (referenced from ${Z})`+(k.length>0?`. Available layouts: ${k.join(", ")}`:Q.layoutsDir?`. No .stx layouts found in ${Q.layoutsDir}`:"");if($1.log(Error(N),{layoutPath:j,filePath:Z,available:k},"error"),console.error(`[stx] ${N}`),Q.debug)throw new Y5(N,Z);return q}let V=await v5(()=>Bun.file(F).text(),"",()=>{throw new Y5(`Failed to read layout file: ${F}`,Z,void 0,void 0,"Layout content could not be loaded")}),A=V.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(A){if(Q.debug)console.log(`Found nested layout: ${A[1]} in ${F}`);let k={},N=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(C,S,b)=>{return k[S]=b.trim(),""});for(let[C,S]of Object.entries(k))if(_[C]&&_[C].includes(B5)){let b=_[C].indexOf(B5);_[C]=_[C].slice(0,b)+S+_[C].slice(b+B5.length)}else if(!_[C])_[C]=S;let y={...$,__sections:_},I=`@layout('${A[1]}')${N}`;return await V0(I,y,F,Q,J)}let R=V.replace(/\{\{--[\s\S]*?--\}\}/g,""),T=F3(R,B),M={};return T=T.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(k,N,y)=>{return M[N]=y.trim(),`@slot('${N}')`}),T=T.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(k,N,y)=>{if(_[N]){let I=_[N];if(I.includes(B5)){let C=M[N]||"",S=I.indexOf(B5);I=I.slice(0,S)+C+I.slice(S+B5.length)}return I}return y||""}),T=ML(T,_),T=T.replace(/\{\{\s*slot\s*\}\}/g,()=>{return _.content||""}),T=V3(T,B),$.__originalFilePath=Z,q=await Lw(T,$,F,Q,J),q=`<!-- stx-layout: ${j} -->
14313
+ ${q}`,K(q)}catch(F){return $1.log(F instanceof Error?F:Error(String(F)),{layoutPath:j,filePath:Z},"error"),`[Error processing layout: ${F instanceof Error?F.message:String(F)}]`}return K(await Lw(q,$,Z,Q,J))}function ML(X,$){return X.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(Z,Y,J)=>{let G=$[Y];if(G!==void 0){if(!new RegExp(`@(?:yield|slot)\\(\\s*['"]${Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}['"]`).test(G))return G}return J||""})}function NL(X,$){if(X.__stx_sfc_mode=!0,X.__stx_options=$,$.buildMode)X.__stx_buildMode=$.buildMode;let Z=$.envPrefix||"STX_PUBLIC_",Y={};for(let[J,G]of Object.entries(process.env))if(J.startsWith(Z)&&G!==void 0)Y[J]=G;X.$env=Y}async function kL(X,$){await v5(()=>gJ(X,$),void 0,(Z)=>{$1.log(Z,{filePath:X,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed for ${X}: ${Z.message}`)})}async function IL(X,$,Z){let Y=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,J;while((J=Y.exec(X))!==null){let G=J[1],Q=J[2];if(!/\bserver\b/.test(G)||!Q.trim())continue;try{let{extractVariables:q}=await e("stx/variable-extractor",()=>Promise.resolve().then(() => (p5(),G8)));await q(Q,$,Z,{preserveExisting:!0})}catch(q){let W=q instanceof Error?q:Error(String(q));$1.log(W,{filePath:Z,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${Z}: ${W.message}`)}}}async function EL(X,$,Z){try{let{interpolateScriptsInTemplate:Y}=await e("stx/expressions",()=>Promise.resolve().then(() => (w1(),t6)));return Y(X,$,{skipServer:!0})}catch(Y){let J=Y instanceof Error?Y:Error(String(Y));return $1.log(J,{filePath:Z,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${Z}: ${J.message}`),X}}async function Lw(X,$,Z,Y,J){let G=X,Q=Y;if(await IL(G,$,Z),G=await EL(G,$,Z),G=await AJ(G,$,Z),G=await RJ(G,$,Z),G=await oZ(G,$,Z,Q),L1(G))G=c3(G,$),G=i3(G,$);G=p3(G);let{processStreamDirectives:w}=await e("stx/streaming",()=>Promise.resolve().then(() => (v9(),P9)));G=w(G,$),G=j3(G,$,Z,Q),G=await sJ(G,$,Z,Q,J),G=await J8(G,$,Z,Q,J),G=N2(G,$,Z,Q);let{processDeferDirectives:q}=await e("stx/defer",()=>Promise.resolve().then(() => JQ));G=q(G,$,Z);let{processTeleportDirectives:W}=await e("stx/teleport",()=>Promise.resolve().then(() => QQ));G=W(G,$,Z);let{processTransitionDirectives:U,processTransitionAttributes:K}=await e("stx/transitions",()=>Promise.resolve().then(() => UQ));G=U(G,$,Z),G=K(G);let{processErrorBoundaryDirectives:z}=await e("stx/error-boundaries",()=>Promise.resolve().then(() => zQ));G=z(G,$,Z);let{processSuspenseDirectives:B}=await e("stx/suspense",()=>Promise.resolve().then(() => _Q));G=B(G,$,Z);let{processAsyncDirectives:_}=await e("stx/async-components",()=>Promise.resolve().then(() => LQ));G=_(G,$,Z);let{processKeepAliveDirectives:j}=await e("stx/keep-alive",()=>Promise.resolve().then(() => FQ));G=j(G,$,Z);let{processVirtualListDirectives:H,processVirtualGridDirectives:L,processInfiniteListDirectives:O}=await e("stx/virtual-scrolling",()=>Promise.resolve().then(() => (NQ(),MQ)));G=H(G,$,Z),G=L(G,$,Z),G=O(G,$,Z);let{processPartialHydrationDirectives:F,processStaticDirectives:V}=await e("stx/partial-hydration",()=>Promise.resolve().then(() => (uQ(),hQ)));G=F(G,$,Z),G=V(G);let{processComputedDirectives:A,processWatchDirectives:R}=await e("stx/computed",()=>Promise.resolve().then(() => (tQ(),aQ)));G=A(G,$,Z),G=R(G,$,Z);let{processFormValidationDirectives:T}=await e("stx/forms-validation",()=>Promise.resolve().then(() => (Gw(),Jw)));G=T(G,$,Z);let{processHeadDirective:M,processTitleDirective:k,processMetaDirective:N,resetHead:y}=await e("stx/head",()=>Promise.resolve().then(() => (x7(),T9)));if(!$.__stx_head_preset&&!$.__stx_runtime_head)y();let I=M(G);if(G=I.content,I.headContent)$.__stx_head_raw=`${$.__stx_head_raw||""}${I.headContent}
14314
+ `;if(G=k(G,$),G=N(G,$),G=yJ(G),G=L9(G,$),G=rZ(G),G=NJ(G),G=await O3(G,$,Z,Q,J),G=await J8(G,$,Z,Q,J),$.__stxProcessingDepth===1)G=P6(G,$);if(G=G.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),G=o3(G),G=G5(G,$,Z),G=O9(G,$),G=F9(G,$),G=iX(G,$),G=QY(G,$),G=wY(G,$),G=await IZ(G,$,Z,Q),G=await Ow(G,$,Z),G=await zY(G,$,Z,Q),G=O2(G,$,Z,Q),G=SJ(G,$,Z,Q),G=CJ(G,$,Z),G=PJ(G,$,Z,Q),G=pZ(G,$,Z,Q),G=r3(G,$),G=s3(G),G=cG(G),!Q.skipEventDirectives)G=U6(G,$,Z);if(G=NZ(G,$,Z),Q.debug){let r=/\bx-data\s*=/.test(G),a=E8(X);if(r&&a)console.warn(`[stx] ${Z}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
14315
14315
  Both work on the same page, but they manage separate scopes.
14316
- Prefer signals (state/derived/effect) for new components.`)}G=hJ(G,$),G=await b1(G,$,Z),G=lG(G),G=cG(G),G=jZ(G);let{processXElementDirectives:C}=await e("stx/x-element",()=>Promise.resolve().then(() => Qw));G=C(G);let S=$.__originalFilePath||Z,b=a1($);if(G=await i3(G,Q,S,b),G=XY(G,$),G=await kJ(G,$,Z,Q),Q.media?.image?.autoSiblings){let r=Q.publicDir||"public",{rewriteImagesWithSiblings:a}=await e("stx/image-optimization/auto-sibling",()=>Promise.resolve().then(() => (qw(),ww)));G=await a(G,{publicDir:r})}if(Q.seo?.enabled)G=CJ(G,$,Q);let P=(r,a,U0=!0)=>{if(!a)return r;let M0=a.match(/<title\b[^>]*>[\s\S]*?<\/title>/i),w0=r.match(/<title\b[^>]*>[\s\S]*?<\/title>/i);if(M0&&w0){if(U0)r=r.replace(w0[0],M0[0]);if(a=a.replace(M0[0],"").trim(),!a)return r}if(/<\/head>/i.test(r))return r.replace(/<\/head>/i,`${a}
14316
+ Prefer signals (state/derived/effect) for new components.`)}G=dJ(G,$),G=await b1(G,$,Z),G=pG(G),G=iG(G),G=HZ(G);let{processXElementDirectives:C}=await e("stx/x-element",()=>Promise.resolve().then(() => qw));G=C(G);let S=$.__originalFilePath||Z,b=a1($);if(G=await n3(G,Q,S,b),G=$Y(G,$),G=await EJ(G,$,Z,Q),Q.media?.image?.autoSiblings){let r=Q.publicDir||"public",{rewriteImagesWithSiblings:a}=await e("stx/image-optimization/auto-sibling",()=>Promise.resolve().then(() => (Uw(),Ww)));G=await a(G,{publicDir:r})}if(Q.seo?.enabled)G=vJ(G,$,Q);let P=(r,a,U0=!0)=>{if(!a)return r;let M0=a.match(/<title\b[^>]*>[\s\S]*?<\/title>/i),w0=r.match(/<title\b[^>]*>[\s\S]*?<\/title>/i);if(M0&&w0){if(U0)r=r.replace(w0[0],M0[0]);if(a=a.replace(M0[0],"").trim(),!a)return r}if(/<\/head>/i.test(r))return r.replace(/<\/head>/i,`${a}
14317
14317
  </head>`);if(/<head\b[^>]*>/i.test(r))return r.replace(/(<head\b[^>]*>)/i,`$1
14318
14318
  ${a}`);if(/<html\b[^>]*>/i.test(r))return r.replace(/(<html\b[^>]*>)/i,`$1
14319
14319
  <head>
14320
14320
  ${a}
14321
- </head>`);return r},{renderHead:x,getHead:m}=await e("stx/head",()=>Promise.resolve().then(() => (x7(),T9))),Q0=$.__stx_runtime_head??m();if(Q0.title||Q0.meta?.length||Q0.link?.length){let r=x(Q0);if(r)G=P(G,r)}if(I.headContent)G=P(G,I.headContent,!Q0.title);if(Q.csp?.enabled&&Q.csp.addMetaTag)G=mZ(G,Q.csp,$);if(Q.analytics?.enabled)G=LZ(G,Q);if(Q.heatmap?.enabled)G=s2(G,Q);if(Q.pwa?.enabled&&Q.pwa.autoInject!==!1){let{injectPwaTags:r}=await e("stx/pwa/inject",()=>Promise.resolve().then(() => (zw(),Kw)));G=r(G,Q)}let c0=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(G),R0=/\bSTX\.\w+/.test(G),s0=/window\.STX\s*=/.test(G);if(c0&&R0&&!s0){let a=`<script data-stx-scoped data-stx-run="once">
14322
- ${KZ()}
14321
+ </head>`);return r},{renderHead:x,getHead:m}=await e("stx/head",()=>Promise.resolve().then(() => (x7(),T9))),Q0=$.__stx_runtime_head??m();if(Q0.title||Q0.meta?.length||Q0.link?.length){let r=x(Q0);if(r)G=P(G,r)}if(I.headContent)G=P(G,I.headContent,!Q0.title);if(Q.csp?.enabled&&Q.csp.addMetaTag)G=lZ(G,Q.csp,$);if(Q.analytics?.enabled)G=OZ(G,Q);if(Q.heatmap?.enabled)G=o2(G,Q);if(Q.pwa?.enabled&&Q.pwa.autoInject!==!1){let{injectPwaTags:r}=await e("stx/pwa/inject",()=>Promise.resolve().then(() => (Bw(),_w)));G=r(G,Q)}let c0=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(G),R0=/\bSTX\.\w+/.test(G),s0=/window\.STX\s*=/.test(G);if(c0&&R0&&!s0){let a=`<script data-stx-scoped data-stx-run="once">
14322
+ ${zZ()}
14323
14323
  </script>`;if(G.includes("</head>")){let U0=G.indexOf("</head>"),w0=G.slice(0,U0).indexOf("<script");if(w0!==-1){let E=G.slice(0,w0),v=G.slice(w0);G=E+a+`
14324
14324
  `+v}else G=G.replace("</head>",`${a}
14325
14325
  </head>`)}else if(G.includes("<body"))G=G.replace(/<body([^>]*)>/,`<body$1>
14326
14326
  ${a}`);else G=a+`
14327
- `+G}{let{scanScriptTags:r}=await e("stx/signal-processing",()=>Promise.resolve().then(() => (s7(),D8))),a=[];for(let U0 of r(G)){if(!/\bserver\b/i.test(U0.attrs))continue;let M0=U0.start+U0.fullMatch.indexOf(">")+1,w0=OL(G,M0);if(w0===-1)continue;let E=w0+9;while(E<G.length&&/\s/.test(G[E]))E++;a.push({start:U0.start,end:E})}for(let U0=a.length-1;U0>=0;U0--){let{start:M0,end:w0}=a[U0];G=G.substring(0,M0)+G.substring(w0)}}let c=U8(G,Z);if(c.hasScoped)G=c.html;let j0=$.__stx_event_bindings||[],p0=!1,M1=[],L5=/\s:[a-z][\w.-]*\s*=/.test(G),{scanScriptTags:O5}=await e("stx/signal-processing",()=>Promise.resolve().then(() => (s7(),D8)));for(let r of O5(G,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))M1.push({match:r.fullMatch,attrs:r.attrs,content:r.body});for(let{match:r,attrs:a,content:U0}of M1){p0=!0;let M0=U0;a3(U0,Z,Y.strict,$.__originalFilePath);let w0=await t1(U0,{eventBindings:j0,attrs:a,hasColonDirectives:L5,templateContent:X,filePath:Z,projectRoot:process.cwd(),production:Y.buildMode==="compile",serverData:b});G=G.replace(r,()=>w0)}if(p0)$.__stx_event_bindings=[];if(!p0&&$.__stxProcessingDepth===1){let r=$.__stx_event_bindings||[];if(r.length>0){let a=d$(r);if(a){let U0=G.lastIndexOf("</body>");G=U0===-1?G+a:G.slice(0,U0)+a+`
14328
- `+G.slice(U0)}$.__stx_event_bindings=[]}}if(!NG(G)&&kG(G))G=await M8(G,Q);if(Q.csp?.enabled&&Q.csp.useNonce&&typeof $.cspNonce==="string")G=lZ(G,$.cspNonce);return G}var B5="<!--PARENT_CONTENT_PLACEHOLDER-->";var sX=D(()=>{G9();w9();$5();L$();zZ();HZ();OZ();f$();O$();m$();D5();NZ();IZ();dX();pZ();rZ();aZ();$Y();F1();x7();w1();wY();zY();OJ();RJ();j3();W4();IJ();C5();DJ();A3();T0();fJ();uJ();lJ();rJ();N3();E3();UG();s7();U3();dG();o3();t3();F0();f9();s$();F7();N8();N8();o3();t3()});var Lw=()=>{};var U4={};t(U4,{renderSlot:()=>Fw,processSlots:()=>Aw,parseSlots:()=>Ow,parseSlotElement:()=>yL,extractSlotContent:()=>CL,applySlots:()=>PL});function kL(X,$){let Z=1,Y=$,J="<template",G="</template";while(Y<X.length&&Z>0){let Q=X.indexOf("<",Y);if(Q===-1)break;if(Y=Q,X.startsWith(J,Y)&&(Y+J.length>=X.length||/[\s>\/]/.test(X[Y+J.length]))){Z++,Y+=J.length;continue}if(X.startsWith(G,Y)){let w=X.indexOf(">",Y+G.length);if(w!==-1){if(Z--,Z===0)return w+1;Y=w+1;continue}}Y++}return Z===0?Y:-1}function EL(X,$){let Z=null;for(let Y=$;Y<X.length;Y++){let J=X[Y];if(Z){if(J==="\\"){Y++;continue}if(J===Z)Z=null;continue}if(J==='"'||J==="'"){Z=J;continue}if(J===">")return Y+1}return-1}function DL(X){let $=[],Z=[],Y=/^<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>$/i,J=0;while(J<X.length){let G=X.indexOf("<",J);if(G===-1)break;if(X.startsWith("<!--",G)){let z=X.indexOf("-->",G+4);J=z===-1?X.length:z+3;continue}let Q=EL(X,G+1);if(Q===-1)break;let w=X.slice(G,Q),q=w.match(/^<\s*(\/?)\s*([a-zA-Z][\w-]*)/);if(!q){J=Q;continue}let W=q[1]==="/",U=q[2].toLowerCase();if(W){let z=Z.lastIndexOf(U);if(z!==-1)Z.splice(z);J=Q;continue}if(U==="template"&&Z.length===0){let z=w.match(Y);if(z){let B=kL(X,Q);if(B!==-1){let _=z[1]||z[2]||z[3];$.push({start:G,end:B,slotName:_,content:X.slice(Q,B-11).trim(),propsBinding:z[4]||void 0}),J=B;continue}}}if(!/\/\s*>$/.test(w)&&!IL.has(U)){if(Z.push(U),U==="script"||U==="style"){let z=X.toLowerCase().indexOf(`</${U}>`,Q);if(z!==-1){J=z;continue}}}J=Q}return $}function Ow(X){let $={default:"",named:new Map},Z=X,Y=DL(X);for(let q of Y)$.named.set(q.slotName,{name:q.slotName,content:q.content,propsBinding:q.propsBinding});Y.sort((q,W)=>W.start-q.start);for(let q of Y)Z=Z.slice(0,q.start)+Z.slice(q.end);let J=[],G=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,Q;while((Q=G.exec(Z))!==null){let[q,W,U,K,z,B]=Q,_=U.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),j=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=(_+j).trim(),L=`<${W}${H?" "+H:""}>${B}</${W}>`;J.push({start:Q.index,end:Q.index+q.length,slotName:K,element:L})}let w=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((Q=w.exec(Z))!==null){let[q,W,U,K,z]=Q,B=U.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),_=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),j=(B+_).trim(),H=`<${W}${j?" "+j:""} />`;J.push({start:Q.index,end:Q.index+q.length,slotName:K,element:H})}J.sort((q,W)=>W.start-q.start);for(let q of J){let W=$.named.get(q.slotName);if(W)W.content+=q.element;else $.named.set(q.slotName,{name:q.slotName,content:q.element});Z=Z.slice(0,q.start)+Z.slice(q.end)}return $.default=Z.trim(),$}function yL(X){let $=X.match(/name\s*=\s*["']([^"']+)["']/),Z=$?$[1]:"",Y={},J=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,G;while((G=J.exec(X))!==null)Y[G[1]]=G[2];let Q=X.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),w=Q?Q[1].trim():"";return{name:Z,props:Y,defaultContent:w}}async function Fw(X,$,Z,Y){if(!X)return Z;let J=X.content;if(X.propsBinding&&Object.keys($).length>0){let G=X.propsBinding.trim(),Q={...Y};if(G.startsWith("{")&&G.endsWith("}")){let w=G.slice(1,-1).split(",").map((q)=>q.trim()).filter(Boolean);for(let q of w){let[W,U]=q.split(":").map((z)=>z.trim()),K=U||W;if($[W]!==void 0)Q[K]=$[W]}}else Q[G]=$;J=bL(J,Q)}return J}function bL(X,$){return X.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Z,Y)=>{try{let J=Y.trim(),G=Vw(J,$);return t0(String(G??""))}catch{return`{{ ${Y} }}`}})}function Vw(X,$){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test(X)){let Y=X.split("."),J=$;for(let G of Y)if(J&&typeof J==="object"&&G in J)J=J[G];else return;return J}let Z=X.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(Z){let[,Y,J,G]=Z,Q=$[Y],w=parseInt(G,10);if(typeof Q==="number")switch(J){case"+":return Q+w;case"-":return Q-w;case"*":return Q*w;case"/":return Q/w}}try{if(!q0(X))return;return W0(X,Object.keys($))(...Object.values($))}catch{return}}async function Aw(X,$,Z){let Y=X;Y=await SL(Y,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(Q,w,q,W)=>{let U=$.named.get(w),K=W?.trim()||"",z=q||"",B={},_=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,j;while((j=_.exec(z))!==null){let H=j[1],L=j[2];B[H]=Vw(L,Z)}return await Fw(U,B,K,Z)});let G=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return Y=Y.replace(G,(Q,w)=>{if(Q.includes("name="))return Q;let q=w?.trim()||"";return $.default||q}),Y}async function SL(X,$,Z){let Y=[],J=[];X.replace($,(w,...q)=>{let W=q[q.length-2];return J.push({match:w,index:W}),Y.push(Z(w,...q.slice(0,-2))),w});let G=await Promise.all(Y),Q=X;for(let w=J.length-1;w>=0;w--){let{match:q,index:W}=J[w];Q=Q.slice(0,W)+G[w]+Q.slice(W+q.length)}return Q}function CL(X){let $=Ow(X);return{defaultSlot:$.default,namedSlots:$.named}}async function PL(X,$,Z,Y){return await Aw(X,{default:$,named:Z},Y)}var IL;var K4=D(()=>{w1();F0();IL=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});import vL from"fs";import g from"path";function fL(X){let $=new WeakSet;try{let Z=(Y)=>{if(Y===void 0)return{__stxType:"undefined"};if(typeof Y==="bigint")return{__stxType:"bigint",value:Y.toString()};if(typeof Y==="function"||typeof Y==="symbol")throw TypeError("Non-serializable component input");if(Y===null||typeof Y!=="object")return Y;if($.has(Y))throw TypeError("Circular component input");if($.add(Y),Y instanceof Date)return{__stxType:"date",value:Y.toISOString()};if(Array.isArray(Y))return Y.map(Z);let J={};for(let G of Object.keys(Y).sort())J[G]=Z(Y[G]);return J};return JSON.stringify(Z(X))}catch{return null}}function Rw(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function gL(X){return/\bjs\b/.test(X)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test(X)}function e1(X){return!gL(X)}function X5(X){try{let $=X.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");$=$.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");let Z=[];$=$.replace(/\{!![\s\S]*?!!\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`}),$=$.replace(/\{\{\{[\s\S]*?\}\}\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`}),$=$.replace(/\{\{[\s\S]*?\}\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`});let J=new Bun.Transpiler({loader:"ts",target:"browser",define:C0()}).transformSync($);for(let G=0;G<Z.length;G++)J=J.replace(`"__STX_EXPR_${G}__"`,Z[G]),J=J.replace(`'__STX_EXPR_${G}__'`,Z[G]);return J}catch($){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",$);return X}}function hL(X){let $=[],Z=new Set,Y=0,J=0,G=X.length,Q=(U)=>{J++;while(J<G){if(X[J]==="\\"){J+=2;continue}if(X[J]===U){J++;return}J++}},w=()=>{J++;while(J<G){if(X[J]==="\\"){J+=2;continue}if(X[J]==="`"){J++;return}if(X[J]==="$"&&X[J+1]==="{"){J+=2;let U=1;while(J<G&&U>0)if(X[J]==="{")U++,J++;else if(X[J]==="}")U--,J++;else if(X[J]==="'"||X[J]==='"')Q(X[J]);else if(X[J]==="`")w();else J++;continue}J++}},q=()=>{if(X[J]==="/"&&X[J+1]==="/"){while(J<G&&X[J]!==`
14329
- `)J++;return!0}if(X[J]==="/"&&X[J+1]==="*"){J+=2;while(J<G-1&&!(X[J]==="*"&&X[J+1]==="/"))J++;return J+=2,!0}return!1},W=()=>{if(Y!==0)return;let U=X.slice(J).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(U){let _=U[2].split(",").map((j)=>{let H=j.trim().split(":");return H[H.length-1].trim()});for(let j of _)if(j&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(j)&&!Z.has(j))$.push(j),Z.add(j);return}let K=X.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(K){let _=K[2];if(!Z.has(_))$.push(_),Z.add(_);return}let z=X.slice(J).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let _=z[1];if(!Z.has(_))$.push(_),Z.add(_);return}let B=X.slice(J).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let _=B[1];if(!Z.has(_))$.push(_),Z.add(_)}};while(J<G){if(q())continue;if(X[J]==="'"||X[J]==='"'){Q(X[J]);continue}if(X[J]==="`"){w();continue}if(X[J]==="{"){Y++,J++;continue}if(X[J]==="}"){Y--,J++;continue}if(Y===0&&/[a-z]/i.test(X[J])&&(J===0||/\s|[;{}()]/.test(X[J-1])))W();J++}return $}function uL(X){let $=[],Z=0,Y=0,J=null;for(let G=0;G<X.length;G++){let Q=X[G];if(J){if(Q==="\\"){G++;continue}if(Q===J)J=null;continue}if(Q==='"'||Q==="'"||Q==="`"){J=Q;continue}if(Q==="("||Q==="["||Q==="{")Z++;else if(Q===")"||Q==="]"||Q==="}")Z--;else if(Q===","&&Z===0)$.push(X.slice(Y,G)),Y=G+1}if(Y<X.length)$.push(X.slice(Y));return $}function dL(X){let $=0,Z=null;for(let Y=0;Y<X.length;Y++){let J=X[Y];if(Z){if(J==="\\"){Y++;continue}if(J===Z)Z=null;continue}if(J==='"'||J==="'"||J==="`"){Z=J;continue}if(J==="("||J==="["||J==="{")$++;else if(J===")"||J==="]"||J==="}")$--;else if(J==="="&&$===0){let G=X[Y-1],Q=X[Y+1];if(G==="!"||G==="<"||G===">"||G==="=")continue;if(Q==="="||Q===">")continue;return Y}}return-1}function mL(X,$){try{let Z=/=\s*(?:withDefaults\s*\([\s\S]*?defineProps|defineProps)\b/.exec(X);if(!Z)return;let Y=Z.index-1;while(Y>=0&&/\s/.test(X[Y]))Y--;if(X[Y]!=="}")return;let J=Y,G=0,Q=-1;for(;Y>=0;Y--){let q=X[Y];if(q==="}")G++;else if(q==="{"){if(G--,G===0){Q=Y;break}}}if(Q===-1)return;let w=X.slice(Q+1,J);for(let q of uL(w)){let W=q.trim();if(!W||W.startsWith("..."))continue;let U=dL(W);if(U===-1)continue;let K=W.slice(0,U).trim();if(!/^[A-Z_$][\w$]*$/i.test(K))continue;if($[K]!==void 0)continue;let z=W.slice(U+1).trim();if(!z)continue;try{let B=Object.keys($),_=Function(...B,`"use strict"; return (${z});`);$[K]=_(...B.map((j)=>$[j]))}catch{}}}catch{}}async function Z8(X,$,Z,Y,J){let G=X.endsWith(".stx")?X.slice(0,-4):X,Q=(H)=>H.split("-").map((L)=>L.charAt(0).toUpperCase()+L.slice(1)).join(""),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`])],U=typeof J.root==="string"?g.resolve(J.root):void 0,K=U??g.dirname(Y),z=[],B=(H)=>{if(H&&!z.includes(H))z.push(H)},_=Z.__originalFilePath;if(_)B(g.join(g.dirname(_),"components"));B($),B(J._rootComponentsDir),B(g.join(g.dirname(Y),"components")),B(J.componentsDir);let j=J._pluginComponentDirs;if(Array.isArray(j))for(let H of j)B(typeof H==="string"?H:null);if(U)B(g.resolve(U,"resources/views/components")),B(g.resolve(U,"resources/components")),B(g.resolve(U,"src/components")),B(g.resolve(U,"components"));if(G.startsWith("./")||G.startsWith("../"))return i(g.resolve(g.dirname(Y),`${G}.stx`));for(let H of z){let L=g.isAbsolute(H)?H:g.resolve(K,H);for(let O of W)if(await i(g.join(L,O)))return!0}return!1}function lL(X){return X==="visible"||X==="idle"||X==="interaction"||X.startsWith("media:")}function cL(X){if(!X)return!1;let $=X.replace(/<script[\s\S]*?<\/script>/gi,"").replace(/<style[\s\S]*?<\/style>/gi,"");return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test($)}function pL(X){let $=new Set,Z=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal|useReactiveProp|useLocalStorage|useSessionStorage|useCookie|useDebouncedValue)\s*(?:<[^>]*>)?\s*\(/g;for(let Y of X){let J;while((J=Z.exec(Y))!==null)$.add(J[1]);Z.lastIndex=0}return[...$]}async function U5(X,$,Z,Y,J,G,Q,w=new Set,q){let{extractVariables:W}=await e("stx/variable-extractor",()=>Promise.resolve().then(() => (p5(),G8))),U=w??new Set;if(U.has(X))return`[Circular component reference: ${X}]`;let K=new Set(U);K.add(X);let z=typeof $.client==="string"?$.client.trim():"";if("client"in $)delete $.client;let B=z&&z!=="load"&&lL(z)?z:"";try{let _=(E)=>E.split("-").map((v)=>v.charAt(0).toUpperCase()+v.slice(1)).join(""),j=(E)=>E.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),H=X.endsWith(".stx")?X.slice(0,-4):X,L=null,O=J.__importedComponents;if(O){let E=[H,H.toLowerCase(),_(H),j(H)];for(let v of E)if(O.has(v)){L=O.get(v);break}}let F=[];if(!L){let E=[`${H}.stx`,`${_(H)}.stx`,`${j(H)}.stx`],v=[...new Set(E)],d=J.__originalFilePath,f=[];if(d){let z0=g.join(g.dirname(d),"components");f.push(z0)}if(Y)f.push(Y);let s=Q._rootComponentsDir;if(typeof s==="string"&&!f.includes(s))f.push(s);let G0=g.join(g.dirname(G),"components");if(!f.includes(G0))f.push(G0);if(Q.componentsDir&&Q.componentsDir!==Y&&!f.includes(Q.componentsDir))f.push(Q.componentsDir);let o0=Q._pluginComponentDirs;if(Array.isArray(o0)){for(let z0 of o0)if(typeof z0==="string"&&!f.includes(z0))f.push(z0)}let S0=typeof Q.root==="string"?g.resolve(Q.root):void 0,f0=S0??g.dirname(G),a0=[];if(S0)a0.push(g.resolve(S0,"resources/views/components")),a0.push(g.resolve(S0,"resources/components")),a0.push(g.resolve(S0,"src/components")),a0.push(g.resolve(S0,"components"));a0.push(g.resolve(import.meta.dir,"components"));for(let z0 of a0)if(!f.includes(z0))f.push(z0);let F5=[...new Set(f.map((z0)=>{if(!z0)return z0;return g.isAbsolute(z0)?z0:g.resolve(f0,z0)}))];f.length=0,f.push(...F5);let N1=`${H}\x00${G}\x00${F5.join("\x00")}`,k1=f8.get(N1);if(k1)if(await i(k1))L=k1;else f8.delete(N1);if(!L&&(H.startsWith("./")||H.startsWith("../")))L=g.resolve(g.dirname(G),`${H}.stx`),F.push(L);else if(!L)for(let z0 of f){if(!z0)continue;for(let Y1 of v){let n=g.join(z0,Y1);if(F.push(n),await i(n)){L=n;break}}if(L)break;if(!L)try{let Y1=await import("fs");if(!Y1.statSync(z0,{throwIfNoEntry:!1})?.isDirectory())continue;let J1=8,i1=[{path:z0,depth:0}];while(i1.length>0&&!L){let z1=i1.pop();if(z1.depth>=J1)continue;let JX;try{JX=Y1.readdirSync(z1.path,{withFileTypes:!0})}catch{continue}for(let GX of JX){if(!GX.isDirectory())continue;if(GX.name==="node_modules"||GX.name.startsWith("."))continue;let r4=g.join(z1.path,GX.name);for(let uq of v){let z$=g.join(r4,uq);if(F.push(z$),await i(z$)){L=z$;break}}if(L)break;i1.push({path:r4,depth:z1.depth+1})}}}catch{}if(L)break}if(L)f8.set(N1,L)}if(!L||!await i(L)){let E=F.length>0?`
14327
+ `+G}{let{scanScriptTags:r}=await e("stx/signal-processing",()=>Promise.resolve().then(() => (s7(),D8))),a=[];for(let U0 of r(G)){if(!/\bserver\b/i.test(U0.attrs))continue;let M0=U0.start+U0.fullMatch.indexOf(">")+1,w0=AL(G,M0);if(w0===-1)continue;let E=w0+9;while(E<G.length&&/\s/.test(G[E]))E++;a.push({start:U0.start,end:E})}for(let U0=a.length-1;U0>=0;U0--){let{start:M0,end:w0}=a[U0];G=G.substring(0,M0)+G.substring(w0)}}let c=U8(G,Z);if(c.hasScoped)G=c.html;let j0=$.__stx_event_bindings||[],p0=!1,M1=[],L5=/\s:[a-z][\w.-]*\s*=/.test(G),{scanScriptTags:O5}=await e("stx/signal-processing",()=>Promise.resolve().then(() => (s7(),D8)));for(let r of O5(G,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))M1.push({match:r.fullMatch,attrs:r.attrs,content:r.body});for(let{match:r,attrs:a,content:U0}of M1){p0=!0;let M0=U0;t3(U0,Z,Y.strict,$.__originalFilePath);let w0=await t1(U0,{eventBindings:j0,attrs:a,hasColonDirectives:L5,templateContent:X,filePath:Z,projectRoot:process.cwd(),production:Y.buildMode==="compile",serverData:b});G=G.replace(r,()=>w0)}if(p0)$.__stx_event_bindings=[];if(!p0&&$.__stxProcessingDepth===1){let r=$.__stx_event_bindings||[];if(r.length>0){let a=d$(r);if(a){let U0=G.lastIndexOf("</body>");G=U0===-1?G+a:G.slice(0,U0)+a+`
14328
+ `+G.slice(U0)}$.__stx_event_bindings=[]}}if(!IG(G)&&EG(G))G=await M8(G,Q);if(Q.csp?.enabled&&Q.csp.useNonce&&typeof $.cspNonce==="string")G=cZ(G,$.cspNonce);return G}var B5="<!--PARENT_CONTENT_PLACEHOLDER-->";var sX=D(()=>{G9();w9();$5();L$();_Z();LZ();FZ();f$();O$();m$();D5();kZ();EZ();dX();iZ();sZ();tZ();ZY();F1();x7();w1();qY();_Y();VJ();MJ();H3();U4();DJ();C5();bJ();R3();T0();hJ();mJ();pJ();oJ();k3();D3();zG();s7();U3();lG();a3();e3();F0();f9();s$();F7();N8();N8();a3();e3()});var Fw=()=>{};var K4={};t(K4,{renderSlot:()=>Aw,processSlots:()=>Tw,parseSlots:()=>Vw,parseSlotElement:()=>CL,extractSlotContent:()=>xL,applySlots:()=>fL});function DL(X,$){let Z=1,Y=$,J="<template",G="</template";while(Y<X.length&&Z>0){let Q=X.indexOf("<",Y);if(Q===-1)break;if(Y=Q,X.startsWith(J,Y)&&(Y+J.length>=X.length||/[\s>\/]/.test(X[Y+J.length]))){Z++,Y+=J.length;continue}if(X.startsWith(G,Y)){let w=X.indexOf(">",Y+G.length);if(w!==-1){if(Z--,Z===0)return w+1;Y=w+1;continue}}Y++}return Z===0?Y:-1}function bL(X,$){let Z=null;for(let Y=$;Y<X.length;Y++){let J=X[Y];if(Z){if(J==="\\"){Y++;continue}if(J===Z)Z=null;continue}if(J==='"'||J==="'"){Z=J;continue}if(J===">")return Y+1}return-1}function SL(X){let $=[],Z=[],Y=/^<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>$/i,J=0;while(J<X.length){let G=X.indexOf("<",J);if(G===-1)break;if(X.startsWith("<!--",G)){let z=X.indexOf("-->",G+4);J=z===-1?X.length:z+3;continue}let Q=bL(X,G+1);if(Q===-1)break;let w=X.slice(G,Q),q=w.match(/^<\s*(\/?)\s*([a-zA-Z][\w-]*)/);if(!q){J=Q;continue}let W=q[1]==="/",U=q[2].toLowerCase();if(W){let z=Z.lastIndexOf(U);if(z!==-1)Z.splice(z);J=Q;continue}if(U==="template"&&Z.length===0){let z=w.match(Y);if(z){let B=DL(X,Q);if(B!==-1){let _=z[1]||z[2]||z[3];$.push({start:G,end:B,slotName:_,content:X.slice(Q,B-11).trim(),propsBinding:z[4]||void 0}),J=B;continue}}}if(!/\/\s*>$/.test(w)&&!yL.has(U)){if(Z.push(U),U==="script"||U==="style"){let z=X.toLowerCase().indexOf(`</${U}>`,Q);if(z!==-1){J=z;continue}}}J=Q}return $}function Vw(X){let $={default:"",named:new Map},Z=X,Y=SL(X);for(let q of Y)$.named.set(q.slotName,{name:q.slotName,content:q.content,propsBinding:q.propsBinding});Y.sort((q,W)=>W.start-q.start);for(let q of Y)Z=Z.slice(0,q.start)+Z.slice(q.end);let J=[],G=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,Q;while((Q=G.exec(Z))!==null){let[q,W,U,K,z,B]=Q,_=U.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),j=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=(_+j).trim(),L=`<${W}${H?" "+H:""}>${B}</${W}>`;J.push({start:Q.index,end:Q.index+q.length,slotName:K,element:L})}let w=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((Q=w.exec(Z))!==null){let[q,W,U,K,z]=Q,B=U.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),_=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),j=(B+_).trim(),H=`<${W}${j?" "+j:""} />`;J.push({start:Q.index,end:Q.index+q.length,slotName:K,element:H})}J.sort((q,W)=>W.start-q.start);for(let q of J){let W=$.named.get(q.slotName);if(W)W.content+=q.element;else $.named.set(q.slotName,{name:q.slotName,content:q.element});Z=Z.slice(0,q.start)+Z.slice(q.end)}return $.default=Z.trim(),$}function CL(X){let $=X.match(/name\s*=\s*["']([^"']+)["']/),Z=$?$[1]:"",Y={},J=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,G;while((G=J.exec(X))!==null)Y[G[1]]=G[2];let Q=X.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),w=Q?Q[1].trim():"";return{name:Z,props:Y,defaultContent:w}}async function Aw(X,$,Z,Y){if(!X)return Z;let J=X.content;if(X.propsBinding&&Object.keys($).length>0){let G=X.propsBinding.trim(),Q={...Y};if(G.startsWith("{")&&G.endsWith("}")){let w=G.slice(1,-1).split(",").map((q)=>q.trim()).filter(Boolean);for(let q of w){let[W,U]=q.split(":").map((z)=>z.trim()),K=U||W;if($[W]!==void 0)Q[K]=$[W]}}else Q[G]=$;J=PL(J,Q)}return J}function PL(X,$){return X.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Z,Y)=>{try{let J=Y.trim(),G=Rw(J,$);return t0(String(G??""))}catch{return`{{ ${Y} }}`}})}function Rw(X,$){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test(X)){let Y=X.split("."),J=$;for(let G of Y)if(J&&typeof J==="object"&&G in J)J=J[G];else return;return J}let Z=X.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(Z){let[,Y,J,G]=Z,Q=$[Y],w=parseInt(G,10);if(typeof Q==="number")switch(J){case"+":return Q+w;case"-":return Q-w;case"*":return Q*w;case"/":return Q/w}}try{if(!q0(X))return;return W0(X,Object.keys($))(...Object.values($))}catch{return}}async function Tw(X,$,Z){let Y=X;Y=await vL(Y,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(Q,w,q,W)=>{let U=$.named.get(w),K=W?.trim()||"",z=q||"",B={},_=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,j;while((j=_.exec(z))!==null){let H=j[1],L=j[2];B[H]=Rw(L,Z)}return await Aw(U,B,K,Z)});let G=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return Y=Y.replace(G,(Q,w)=>{if(Q.includes("name="))return Q;let q=w?.trim()||"";return $.default||q}),Y}async function vL(X,$,Z){let Y=[],J=[];X.replace($,(w,...q)=>{let W=q[q.length-2];return J.push({match:w,index:W}),Y.push(Z(w,...q.slice(0,-2))),w});let G=await Promise.all(Y),Q=X;for(let w=J.length-1;w>=0;w--){let{match:q,index:W}=J[w];Q=Q.slice(0,W)+G[w]+Q.slice(W+q.length)}return Q}function xL(X){let $=Vw(X);return{defaultSlot:$.default,namedSlots:$.named}}async function fL(X,$,Z,Y){return await Tw(X,{default:$,named:Z},Y)}var yL;var z4=D(()=>{w1();F0();yL=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});import gL from"fs";import g from"path";function uL(X){let $=new WeakSet;try{let Z=(Y)=>{if(Y===void 0)return{__stxType:"undefined"};if(typeof Y==="bigint")return{__stxType:"bigint",value:Y.toString()};if(typeof Y==="function"||typeof Y==="symbol")throw TypeError("Non-serializable component input");if(Y===null||typeof Y!=="object")return Y;if($.has(Y))throw TypeError("Circular component input");if($.add(Y),Y instanceof Date)return{__stxType:"date",value:Y.toISOString()};if(Array.isArray(Y))return Y.map(Z);let J={};for(let G of Object.keys(Y).sort())J[G]=Z(Y[G]);return J};return JSON.stringify(Z(X))}catch{return null}}function Mw(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function dL(X){return/\bjs\b/.test(X)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test(X)}function e1(X){return!dL(X)}function X5(X){try{let $=X.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");$=$.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");let Z=[];$=$.replace(/\{!![\s\S]*?!!\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`}),$=$.replace(/\{\{\{[\s\S]*?\}\}\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`}),$=$.replace(/\{\{[\s\S]*?\}\}/g,(G)=>{let Q=Z.length;return Z.push(G),`"__STX_EXPR_${Q}__"`});let J=new Bun.Transpiler({loader:"ts",target:"browser",define:C0()}).transformSync($);for(let G=0;G<Z.length;G++)J=J.replace(`"__STX_EXPR_${G}__"`,Z[G]),J=J.replace(`'__STX_EXPR_${G}__'`,Z[G]);return J}catch($){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",$);return X}}function mL(X){let $=[],Z=new Set,Y=0,J=0,G=X.length,Q=(U)=>{J++;while(J<G){if(X[J]==="\\"){J+=2;continue}if(X[J]===U){J++;return}J++}},w=()=>{J++;while(J<G){if(X[J]==="\\"){J+=2;continue}if(X[J]==="`"){J++;return}if(X[J]==="$"&&X[J+1]==="{"){J+=2;let U=1;while(J<G&&U>0)if(X[J]==="{")U++,J++;else if(X[J]==="}")U--,J++;else if(X[J]==="'"||X[J]==='"')Q(X[J]);else if(X[J]==="`")w();else J++;continue}J++}},q=()=>{if(X[J]==="/"&&X[J+1]==="/"){while(J<G&&X[J]!==`
14329
+ `)J++;return!0}if(X[J]==="/"&&X[J+1]==="*"){J+=2;while(J<G-1&&!(X[J]==="*"&&X[J+1]==="/"))J++;return J+=2,!0}return!1},W=()=>{if(Y!==0)return;let U=X.slice(J).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(U){let _=U[2].split(",").map((j)=>{let H=j.trim().split(":");return H[H.length-1].trim()});for(let j of _)if(j&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(j)&&!Z.has(j))$.push(j),Z.add(j);return}let K=X.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(K){let _=K[2];if(!Z.has(_))$.push(_),Z.add(_);return}let z=X.slice(J).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let _=z[1];if(!Z.has(_))$.push(_),Z.add(_);return}let B=X.slice(J).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let _=B[1];if(!Z.has(_))$.push(_),Z.add(_)}};while(J<G){if(q())continue;if(X[J]==="'"||X[J]==='"'){Q(X[J]);continue}if(X[J]==="`"){w();continue}if(X[J]==="{"){Y++,J++;continue}if(X[J]==="}"){Y--,J++;continue}if(Y===0&&/[a-z]/i.test(X[J])&&(J===0||/\s|[;{}()]/.test(X[J-1])))W();J++}return $}function lL(X){let $=[],Z=0,Y=0,J=null;for(let G=0;G<X.length;G++){let Q=X[G];if(J){if(Q==="\\"){G++;continue}if(Q===J)J=null;continue}if(Q==='"'||Q==="'"||Q==="`"){J=Q;continue}if(Q==="("||Q==="["||Q==="{")Z++;else if(Q===")"||Q==="]"||Q==="}")Z--;else if(Q===","&&Z===0)$.push(X.slice(Y,G)),Y=G+1}if(Y<X.length)$.push(X.slice(Y));return $}function cL(X){let $=0,Z=null;for(let Y=0;Y<X.length;Y++){let J=X[Y];if(Z){if(J==="\\"){Y++;continue}if(J===Z)Z=null;continue}if(J==='"'||J==="'"||J==="`"){Z=J;continue}if(J==="("||J==="["||J==="{")$++;else if(J===")"||J==="]"||J==="}")$--;else if(J==="="&&$===0){let G=X[Y-1],Q=X[Y+1];if(G==="!"||G==="<"||G===">"||G==="=")continue;if(Q==="="||Q===">")continue;return Y}}return-1}function pL(X,$){try{let Z=/=\s*(?:withDefaults\s*\([\s\S]*?defineProps|defineProps)\b/.exec(X);if(!Z)return;let Y=Z.index-1;while(Y>=0&&/\s/.test(X[Y]))Y--;if(X[Y]!=="}")return;let J=Y,G=0,Q=-1;for(;Y>=0;Y--){let q=X[Y];if(q==="}")G++;else if(q==="{"){if(G--,G===0){Q=Y;break}}}if(Q===-1)return;let w=X.slice(Q+1,J);for(let q of lL(w)){let W=q.trim();if(!W||W.startsWith("..."))continue;let U=cL(W);if(U===-1)continue;let K=W.slice(0,U).trim();if(!/^[A-Z_$][\w$]*$/i.test(K))continue;if($[K]!==void 0)continue;let z=W.slice(U+1).trim();if(!z)continue;try{let B=Object.keys($),_=Function(...B,`"use strict"; return (${z});`);$[K]=_(...B.map((j)=>$[j]))}catch{}}}catch{}}async function Z8(X,$,Z,Y,J){let G=X.endsWith(".stx")?X.slice(0,-4):X,Q=(H)=>H.split("-").map((L)=>L.charAt(0).toUpperCase()+L.slice(1)).join(""),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`])],U=typeof J.root==="string"?g.resolve(J.root):void 0,K=U??g.dirname(Y),z=[],B=(H)=>{if(H&&!z.includes(H))z.push(H)},_=Z.__originalFilePath;if(_)B(g.join(g.dirname(_),"components"));B($),B(J._rootComponentsDir),B(g.join(g.dirname(Y),"components")),B(J.componentsDir);let j=J._pluginComponentDirs;if(Array.isArray(j))for(let H of j)B(typeof H==="string"?H:null);if(U)B(g.resolve(U,"resources/views/components")),B(g.resolve(U,"resources/components")),B(g.resolve(U,"src/components")),B(g.resolve(U,"components"));if(G.startsWith("./")||G.startsWith("../"))return i(g.resolve(g.dirname(Y),`${G}.stx`));for(let H of z){let L=g.isAbsolute(H)?H:g.resolve(K,H);for(let O of W)if(await i(g.join(L,O)))return!0}return!1}function iL(X){return X==="visible"||X==="idle"||X==="interaction"||X.startsWith("media:")}function nL(X){if(!X)return!1;let $=X.replace(/<script[\s\S]*?<\/script>/gi,"").replace(/<style[\s\S]*?<\/style>/gi,"");return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test($)}function rL(X){let $=new Set,Z=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal|useReactiveProp|useLocalStorage|useSessionStorage|useCookie|useDebouncedValue)\s*(?:<[^>]*>)?\s*\(/g;for(let Y of X){let J;while((J=Z.exec(Y))!==null)$.add(J[1]);Z.lastIndex=0}return[...$]}async function U5(X,$,Z,Y,J,G,Q,w=new Set,q){let{extractVariables:W}=await e("stx/variable-extractor",()=>Promise.resolve().then(() => (p5(),G8))),U=w??new Set;if(U.has(X))return`[Circular component reference: ${X}]`;let K=new Set(U);K.add(X);let z=typeof $.client==="string"?$.client.trim():"";if("client"in $)delete $.client;let B=z&&z!=="load"&&iL(z)?z:"";try{let _=(E)=>E.split("-").map((v)=>v.charAt(0).toUpperCase()+v.slice(1)).join(""),j=(E)=>E.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),H=X.endsWith(".stx")?X.slice(0,-4):X,L=null,O=J.__importedComponents;if(O){let E=[H,H.toLowerCase(),_(H),j(H)];for(let v of E)if(O.has(v)){L=O.get(v);break}}let F=[];if(!L){let E=[`${H}.stx`,`${_(H)}.stx`,`${j(H)}.stx`],v=[...new Set(E)],d=J.__originalFilePath,f=[];if(d){let z0=g.join(g.dirname(d),"components");f.push(z0)}if(Y)f.push(Y);let s=Q._rootComponentsDir;if(typeof s==="string"&&!f.includes(s))f.push(s);let G0=g.join(g.dirname(G),"components");if(!f.includes(G0))f.push(G0);if(Q.componentsDir&&Q.componentsDir!==Y&&!f.includes(Q.componentsDir))f.push(Q.componentsDir);let o0=Q._pluginComponentDirs;if(Array.isArray(o0)){for(let z0 of o0)if(typeof z0==="string"&&!f.includes(z0))f.push(z0)}let S0=typeof Q.root==="string"?g.resolve(Q.root):void 0,f0=S0??g.dirname(G),a0=[];if(S0)a0.push(g.resolve(S0,"resources/views/components")),a0.push(g.resolve(S0,"resources/components")),a0.push(g.resolve(S0,"src/components")),a0.push(g.resolve(S0,"components"));a0.push(g.resolve(import.meta.dir,"components"));for(let z0 of a0)if(!f.includes(z0))f.push(z0);let F5=[...new Set(f.map((z0)=>{if(!z0)return z0;return g.isAbsolute(z0)?z0:g.resolve(f0,z0)}))];f.length=0,f.push(...F5);let N1=`${H}\x00${G}\x00${F5.join("\x00")}`,k1=f8.get(N1);if(k1)if(await i(k1))L=k1;else f8.delete(N1);if(!L&&(H.startsWith("./")||H.startsWith("../")))L=g.resolve(g.dirname(G),`${H}.stx`),F.push(L);else if(!L)for(let z0 of f){if(!z0)continue;for(let Y1 of v){let n=g.join(z0,Y1);if(F.push(n),await i(n)){L=n;break}}if(L)break;if(!L)try{let Y1=await import("fs");if(!Y1.statSync(z0,{throwIfNoEntry:!1})?.isDirectory())continue;let J1=8,i1=[{path:z0,depth:0}];while(i1.length>0&&!L){let z1=i1.pop();if(z1.depth>=J1)continue;let JX;try{JX=Y1.readdirSync(z1.path,{withFileTypes:!0})}catch{continue}for(let GX of JX){if(!GX.isDirectory())continue;if(GX.name==="node_modules"||GX.name.startsWith("."))continue;let s4=g.join(z1.path,GX.name);for(let mq of v){let z$=g.join(s4,mq);if(F.push(z$),await i(z$)){L=z$;break}}if(L)break;i1.push({path:s4,depth:z1.depth+1})}}}catch{}if(L)break}if(L)f8.set(N1,L)}if(!L||!await i(L)){let E=F.length>0?`
14330
14330
  Searched paths:
14331
14331
  ${F.map((v)=>` - ${v}`).join(`
14332
- `)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${X}']${E}`}q.add(L);let V;if(x8.has(L))V=x8.get(L);else try{V=await Bun.file(L).text(),x8.set(L,V)}catch(E){return`[Error loading component: ${E instanceof Error?E.message:String(E)}]`}let A=new Set(["__originalFilePath","__importedComponents",TX]),R={};for(let[E,v]of Object.entries(J))if(!E.startsWith("__")||A.has(E))R[E]=v;let{extractSlotContent:T}=await e("stx/slots",()=>Promise.resolve().then(() => (K4(),U4))),M=T(Z),k={};if(M.defaultSlot?.trim())k.default=M.defaultSlot;for(let[E,v]of M.namedSlots)k[E]=v.content;let N={...R,...$,props:$,slot:Z,$slots:k,__processedComponents:K,__sections:{},__stx_signals_gate:L1(V)||cL(Z)};mL(V,N);let y=V,I=g5(y);if(I)y=I.content.trim();let C=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,S=[...V.matchAll(C)],b=[],P=S.some((E)=>/\bserver\b/.test(E[1]||"")&&/\bcache\b/.test(E[1]||""))&&S.every((E)=>/\bserver\b/.test(E[1]||"")),x=null,m=null;if(P){let E=fL({props:$,slot:Z,buildMode:Q.buildMode??"",skipEventDirectives:Q.skipEventDirectives===!0});if(E!==null){x=`${L}\x00${E}`;let v=z4.get(x);if(v){for(let d of v.dependencies)q.add(d);return v.output}m=new Set(q)}}for(let E of S){let v=E[1]||"",d=E[2]||"",f=v.includes("server");if(e1(v)&&d.trim())d=X5(d);if(f&&d)try{await W(d,N,L)}catch(G0){}if(!f){let G0=d.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,""),o0=G0.includes("{{")&&G0.includes("}}"),S0=G0.includes("{!!")&&G0.includes("!!}");if(o0||S0)G0=IX(G0,N);let f0=v.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");b.push(`<script${f0}>${G0}</script>`)}}let l=V.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),Q0=l?l[1]:"",c0=l?l[2]:"",R0="",s0=Q0&&/\bscoped\b/i.test(Q0);if(l)R0=`<style${Q0}>${c0}</style>`;let c=y;if(c=c.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),l)c=c.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let E=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,v=[];if(c=c.replace(E,(d,f)=>{let s=f.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(s)v.push(`<style${s[1]}>${s[2]}</style>`);return""}),c=c.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),v.length>0)R0=`${R0}${v.join(`
14333
- `)}`}if(Z&&c.includes("{{ text || slot }}"))c=c.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Z);let{applySlots:j0}=await e("stx/slots",()=>Promise.resolve().then(() => (K4(),U4))),{defaultSlot:p0,namedSlots:M1}=M;c=await j0(c,p0,M1,N);let L5=b.some((E)=>/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useReactiveProp|defineProps|withDefaults|defineEmits|defineExpose|defineSlots)\s*(?:<[^<>()]*>)?\s*\(/.test(E)),O5=pL(b);if(O5.length>0)N.__stx_client_signal_names=O5;let r={...Q,_rootComponentsDir:Q._rootComponentsDir||Q.componentsDir,componentsDir:g.dirname(L),skipSignalsRuntime:!0,skipEventDirectives:L5||b.length===0,defaultLayout:void 0};N.__stxProcessingDepth=(J.__stxProcessingDepth||0)+1;let a=await V0(c,N,L,r,q),U0=new Set(Array.isArray(J.__stx_preserved_client_expressions)?J.__stx_preserved_client_expressions:[]);for(let E of a.matchAll(/\{\{([\s\S]*?)\}\}/g))U0.add(E[1].trim());if(U0.size>0)J.__stx_preserved_client_expressions=[...U0];let M0=`stx_${H.replace(/[^a-zA-Z0-9]/g,"_")}_${++xL}_${Math.random().toString(36).slice(2,8)}`,w0=a;if(L5){let E="";if(Object.keys($).length>0)try{E=` data-stx-props="${Rw(JSON.stringify($))}"`}catch{}let v=B?` stx-hydrate="${Rw(B)}"`:"";w0=`<div data-stx-scope="${M0}"${E}${v}>${a}</div>`;let d=await Promise.all(b.map(async(f)=>{let s=f.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!s)return f;let[,G0,o0]=s,S0=FX(o0,{filePath:L,projectRoot:process.cwd()}),f0=S0.code,a0=VX(S0.styles);f0=E5(f0).code;let{hasUserImports:F5,bundleClientScript:N1}=await e("stx/client-script-bundler",()=>Promise.resolve().then(() => (N7(),M7)));if(F5(f0))f0=await N1(f0,L,{projectRoot:process.cwd(),minify:Q.buildMode==="compile"});let{rewriteStxImportSpecifiers:k1}=await e("stx/signal-processing",()=>Promise.resolve().then(() => (s7(),D8)));f0=f0.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(z1,JX)=>k1(JX));let z0=h0(f0),Y1=hL(z0),n=`function(__scopeId) {
14334
- ${N5("const",[...t2,...Y1],z0)}
14332
+ `)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${X}']${E}`}q.add(L);let V;if(x8.has(L))V=x8.get(L);else try{V=await Bun.file(L).text(),x8.set(L,V)}catch(E){return`[Error loading component: ${E instanceof Error?E.message:String(E)}]`}let A=new Set(["__originalFilePath","__importedComponents",TX]),R={};for(let[E,v]of Object.entries(J))if(!E.startsWith("__")||A.has(E))R[E]=v;let{extractSlotContent:T}=await e("stx/slots",()=>Promise.resolve().then(() => (z4(),K4))),M=T(Z),k={};if(M.defaultSlot?.trim())k.default=M.defaultSlot;for(let[E,v]of M.namedSlots)k[E]=v.content;let N={...R,...$,props:$,slot:Z,$slots:k,__processedComponents:K,__sections:{},__stx_signals_gate:L1(V)||nL(Z)};pL(V,N);let y=V,I=g5(y);if(I)y=I.content.trim();let C=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,S=[...V.matchAll(C)],b=[],P=S.some((E)=>/\bserver\b/.test(E[1]||"")&&/\bcache\b/.test(E[1]||""))&&S.every((E)=>/\bserver\b/.test(E[1]||"")),x=null,m=null;if(P){let E=uL({props:$,slot:Z,buildMode:Q.buildMode??"",skipEventDirectives:Q.skipEventDirectives===!0});if(E!==null){x=`${L}\x00${E}`;let v=_4.get(x);if(v){for(let d of v.dependencies)q.add(d);return v.output}m=new Set(q)}}for(let E of S){let v=E[1]||"",d=E[2]||"",f=v.includes("server");if(e1(v)&&d.trim())d=X5(d);if(f&&d)try{await W(d,N,L)}catch(G0){}if(!f){let G0=d.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,""),o0=G0.includes("{{")&&G0.includes("}}"),S0=G0.includes("{!!")&&G0.includes("!!}");if(o0||S0)G0=IX(G0,N);let f0=v.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");b.push(`<script${f0}>${G0}</script>`)}}let l=V.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),Q0=l?l[1]:"",c0=l?l[2]:"",R0="",s0=Q0&&/\bscoped\b/i.test(Q0);if(l)R0=`<style${Q0}>${c0}</style>`;let c=y;if(c=c.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),l)c=c.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let E=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,v=[];if(c=c.replace(E,(d,f)=>{let s=f.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(s)v.push(`<style${s[1]}>${s[2]}</style>`);return""}),c=c.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),v.length>0)R0=`${R0}${v.join(`
14333
+ `)}`}if(Z&&c.includes("{{ text || slot }}"))c=c.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Z);let{applySlots:j0}=await e("stx/slots",()=>Promise.resolve().then(() => (z4(),K4))),{defaultSlot:p0,namedSlots:M1}=M;c=await j0(c,p0,M1,N);let L5=b.some((E)=>/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useReactiveProp|defineProps|withDefaults|defineEmits|defineExpose|defineSlots)\s*(?:<[^<>()]*>)?\s*\(/.test(E)),O5=rL(b);if(O5.length>0)N.__stx_client_signal_names=O5;let r={...Q,_rootComponentsDir:Q._rootComponentsDir||Q.componentsDir,componentsDir:g.dirname(L),skipSignalsRuntime:!0,skipEventDirectives:L5||b.length===0,defaultLayout:void 0};N.__stxProcessingDepth=(J.__stxProcessingDepth||0)+1;let a=await V0(c,N,L,r,q),U0=new Set(Array.isArray(J.__stx_preserved_client_expressions)?J.__stx_preserved_client_expressions:[]);for(let E of a.matchAll(/\{\{([\s\S]*?)\}\}/g))U0.add(E[1].trim());if(U0.size>0)J.__stx_preserved_client_expressions=[...U0];let M0=`stx_${H.replace(/[^a-zA-Z0-9]/g,"_")}_${++hL}_${Math.random().toString(36).slice(2,8)}`,w0=a;if(L5){let E="";if(Object.keys($).length>0)try{E=` data-stx-props="${Mw(JSON.stringify($))}"`}catch{}let v=B?` stx-hydrate="${Mw(B)}"`:"";w0=`<div data-stx-scope="${M0}"${E}${v}>${a}</div>`;let d=await Promise.all(b.map(async(f)=>{let s=f.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!s)return f;let[,G0,o0]=s,S0=FX(o0,{filePath:L,projectRoot:process.cwd()}),f0=S0.code,a0=VX(S0.styles);f0=E5(f0).code;let{hasUserImports:F5,bundleClientScript:N1}=await e("stx/client-script-bundler",()=>Promise.resolve().then(() => (N7(),M7)));if(F5(f0))f0=await N1(f0,L,{projectRoot:process.cwd(),minify:Q.buildMode==="compile"});let{rewriteStxImportSpecifiers:k1}=await e("stx/signal-processing",()=>Promise.resolve().then(() => (s7(),D8)));f0=f0.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(z1,JX)=>k1(JX));let z0=h0(f0),Y1=mL(z0),n=`function(__scopeId) {
14334
+ ${N5("const",[...e2,...Y1],z0)}
14335
14335
  const __scope = window.stx._scopes = window.stx._scopes || {};
14336
14336
  const __scopeVars = __scope[__scopeId] = __scope[__scopeId] || {};
14337
14337
  const __previousCurrentElement = window.__STX_CURRENT_ELEMENT__;
@@ -14358,15 +14358,15 @@ catch (e) {}
14358
14358
  finally {
14359
14359
  window.__STX_CURRENT_ELEMENT__ = __previousCurrentElement;
14360
14360
  }
14361
- }`,J1=B?null:S6(J,n),i1=J1?`window.__stxComponentFactories[${JSON.stringify(J1)}](${JSON.stringify(M0)});`:`(${n})(${JSON.stringify(M0)});`;if(B)return`${a0}<script type="stx/island" data-stx-island="${M0}" data-stx-scoped${G0}>${i1}</script>`;return`${a0}<script data-stx-scoped data-stx-run="always"${G0}>${i1}</script>`}));if(w0=w0+`
14361
+ }`,J1=B?null:C6(J,n),i1=J1?`window.__stxComponentFactories[${JSON.stringify(J1)}](${JSON.stringify(M0)});`:`(${n})(${JSON.stringify(M0)});`;if(B)return`${a0}<script type="stx/island" data-stx-island="${M0}" data-stx-scoped${G0}>${i1}</script>`;return`${a0}<script data-stx-scoped data-stx-run="always"${G0}>${i1}</script>`}));if(w0=w0+`
14362
14362
  `+d.join(`
14363
14363
  `),R0)w0+=`
14364
14364
  `+R0}else{if(R0)w0+=`
14365
14365
  `+R0;if(b.length>0){let E=N.__stx_event_bindings||[],v=a1(N),d=await Promise.all(b.map(async(f)=>{let s=f.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!s)return f;return await t1(s[1],{eventBindings:E,templateContent:w0,filePath:L,projectRoot:process.cwd(),serverData:v})}));w0+=`
14366
14366
  `+d.join(`
14367
- `),N.__stx_event_bindings=[]}}if(s0){let E=U8(w0,L);if(E.hasScoped)w0=E.html}if(x&&m)z4.set(x,{output:w0,dependencies:[...q].filter((E)=>!m.has(E))});return w0}catch(_){return`[Error processing component: ${_ instanceof Error?_.message:String(_)}]`}finally{U.delete(X)}}async function i(X){return Bun.file(X).exists()}function _4(X,$){let Z=g.resolve($),Y=g.resolve(X),J=Z.endsWith(g.sep)?Z:Z+g.sep;if(Y===Z||Y.startsWith(J))return Y;return null}async function q4(X,$,Z,Y){let J=await iL(X,$,Z,Y);if(J===null)return null;let G=_4(J,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=g.isAbsolute(w)?w:g.resolve(process.cwd(),w);if(_4(J,q))return g.resolve(J)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${J} (template: ${X}, from: ${$})`),null}async function iL(X,$,Z,Y){if(Z.debug)console.log(`Resolving template path: ${X} from ${$}`);let J=g.dirname($),G=process.cwd();if(X.startsWith("/")){let z=g.join(G,X),B=_4(z,G);if(!B)return console.warn(`[stx] rejected template path that escapes project root: ${X} (from ${$})`),null;if(Z.debug)console.log(`Checking absolute path: ${B}`);if(await i(B)&&Y)Y.add(B);return B}let Q=g.join(J,X);if(await i(Q)){if(Z.debug)console.log(`Found direct path: ${Q}`);if(Y)Y.add(Q);return Q}if(!X.endsWith(".stx")&&!X.endsWith(".jsx")&&!X.endsWith(".tsx"))for(let z of[".stx",".tsx",".jsx"]){let B=`${Q}${z}`;if(await i(B)){if(Z.debug)console.log(`Found direct path with extension: ${B}`);if(Y)Y.add(B);return B}}let w="",q=g.resolve(J),W=process.cwd();for(let z=0;z<10;z++){let B=g.join(q,"layouts"),_=!1;try{_=vL.statSync(B,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(_){w=B;break}let j=g.dirname(q);if(j===q||j.length<W.length)break;q=j}if(w){let z=X.startsWith("layouts/")?X.slice(8):X,B=g.join(w,z);if(await i(B)){if(Z.debug)console.log(`Found in current layouts dir: ${B}`);if(Y)Y.add(B);return B}if(!z.endsWith(".stx")){let _=`${B}.stx`;if(await i(_)){if(Z.debug)console.log(`Found in current layouts dir with extension: ${_}`);if(Y)Y.add(_);return _}}}if(Z.layoutsDir){let z=g.isAbsolute(Z.layoutsDir)?Z.layoutsDir:g.resolve(process.cwd(),Z.layoutsDir),B=X.startsWith("layouts/")?X.slice(8):X,_=g.join(z,B);if(await i(_)){if(Z.debug)console.log(`Found in options.layoutsDir: ${_}`);if(Y)Y.add(_);return _}if(!X.endsWith(".stx")){let j=`${_}.stx`;if(await i(j)){if(Z.debug)console.log(`Found in options.layoutsDir with extension: ${j}`);if(Y)Y.add(j);return j}}}if(X.startsWith("layouts/")||X.includes("/layouts/")){let z=X.split("layouts/"),B=g.join(Z.partialsDir||J,"layouts",z[1]);if(await i(B)){if(Z.debug)console.log(`Found in layouts path: ${B}`);if(Y)Y.add(B);return B}if(!B.endsWith(".stx")){let _=`${B}.stx`;if(await i(_)){if(Z.debug)console.log(`Found in layouts path with extension: ${_}`);if(Y)Y.add(_);return _}}}if(Z.partialsDir){if(w=g.join(Z.partialsDir,"layouts"),await i(w)){let z=g.join(w,X);if(await i(z)){if(Z.debug)console.log(`Found in partials layouts dir: ${z}`);if(Y)Y.add(z);return z}if(!X.endsWith(".stx")){let B=`${z}.stx`;if(await i(B)){if(Z.debug)console.log(`Found in partials layouts dir with extension: ${B}`);if(Y)Y.add(B);return B}}}}let U=Z.partialsDir||g.join(process.cwd(),"views"),K=g.join(U,X);if(await i(K)){if(Z.debug)console.log(`Found in views path: ${K}`);if(Y)Y.add(K);return K}if(!X.endsWith(".stx")){let z=`${K}.stx`;if(await i(z)){if(Z.debug)console.log(`Found in views path with extension: ${z}`);if(Y)Y.add(z);return z}}if(J.includes("temp")){let z=g.join(g.dirname(J),"layouts",X);if(await i(z)){if(Z.debug)console.log(`Found in temp layouts dir: ${z}`);if(Y)Y.add(z);return z}if(!X.endsWith(".stx")){let B=`${z}.stx`;if(await i(B)){if(Z.debug)console.log(`Found in temp layouts dir with extension: ${B}`);if(Y)Y.add(B);return B}}}if(Z.debug)console.warn(`Template not found after trying all paths: ${X} (referenced from ${$})`);else console.warn(`Template not found: ${X} (referenced from ${$})`);return null}function Tw(X,$,Z){let Y=0,J="",G="";try{if(typeof $==="number"&&$>=0){let Q=X.split(`
14367
+ `),N.__stx_event_bindings=[]}}if(s0){let E=U8(w0,L);if(E.hasScoped)w0=E.html}if(x&&m)_4.set(x,{output:w0,dependencies:[...q].filter((E)=>!m.has(E))});return w0}catch(_){return`[Error processing component: ${_ instanceof Error?_.message:String(_)}]`}finally{U.delete(X)}}async function i(X){return Bun.file(X).exists()}function B4(X,$){let Z=g.resolve($),Y=g.resolve(X),J=Z.endsWith(g.sep)?Z:Z+g.sep;if(Y===Z||Y.startsWith(J))return Y;return null}async function W4(X,$,Z,Y){let J=await sL(X,$,Z,Y);if(J===null)return null;let G=B4(J,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=g.isAbsolute(w)?w:g.resolve(process.cwd(),w);if(B4(J,q))return g.resolve(J)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${J} (template: ${X}, from: ${$})`),null}async function sL(X,$,Z,Y){if(Z.debug)console.log(`Resolving template path: ${X} from ${$}`);let J=g.dirname($),G=process.cwd();if(X.startsWith("/")){let z=g.join(G,X),B=B4(z,G);if(!B)return console.warn(`[stx] rejected template path that escapes project root: ${X} (from ${$})`),null;if(Z.debug)console.log(`Checking absolute path: ${B}`);if(await i(B)&&Y)Y.add(B);return B}let Q=g.join(J,X);if(await i(Q)){if(Z.debug)console.log(`Found direct path: ${Q}`);if(Y)Y.add(Q);return Q}if(!X.endsWith(".stx")&&!X.endsWith(".jsx")&&!X.endsWith(".tsx"))for(let z of[".stx",".tsx",".jsx"]){let B=`${Q}${z}`;if(await i(B)){if(Z.debug)console.log(`Found direct path with extension: ${B}`);if(Y)Y.add(B);return B}}let w="",q=g.resolve(J),W=process.cwd();for(let z=0;z<10;z++){let B=g.join(q,"layouts"),_=!1;try{_=gL.statSync(B,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(_){w=B;break}let j=g.dirname(q);if(j===q||j.length<W.length)break;q=j}if(w){let z=X.startsWith("layouts/")?X.slice(8):X,B=g.join(w,z);if(await i(B)){if(Z.debug)console.log(`Found in current layouts dir: ${B}`);if(Y)Y.add(B);return B}if(!z.endsWith(".stx")){let _=`${B}.stx`;if(await i(_)){if(Z.debug)console.log(`Found in current layouts dir with extension: ${_}`);if(Y)Y.add(_);return _}}}if(Z.layoutsDir){let z=g.isAbsolute(Z.layoutsDir)?Z.layoutsDir:g.resolve(process.cwd(),Z.layoutsDir),B=X.startsWith("layouts/")?X.slice(8):X,_=g.join(z,B);if(await i(_)){if(Z.debug)console.log(`Found in options.layoutsDir: ${_}`);if(Y)Y.add(_);return _}if(!X.endsWith(".stx")){let j=`${_}.stx`;if(await i(j)){if(Z.debug)console.log(`Found in options.layoutsDir with extension: ${j}`);if(Y)Y.add(j);return j}}}if(X.startsWith("layouts/")||X.includes("/layouts/")){let z=X.split("layouts/"),B=g.join(Z.partialsDir||J,"layouts",z[1]);if(await i(B)){if(Z.debug)console.log(`Found in layouts path: ${B}`);if(Y)Y.add(B);return B}if(!B.endsWith(".stx")){let _=`${B}.stx`;if(await i(_)){if(Z.debug)console.log(`Found in layouts path with extension: ${_}`);if(Y)Y.add(_);return _}}}if(Z.partialsDir){if(w=g.join(Z.partialsDir,"layouts"),await i(w)){let z=g.join(w,X);if(await i(z)){if(Z.debug)console.log(`Found in partials layouts dir: ${z}`);if(Y)Y.add(z);return z}if(!X.endsWith(".stx")){let B=`${z}.stx`;if(await i(B)){if(Z.debug)console.log(`Found in partials layouts dir with extension: ${B}`);if(Y)Y.add(B);return B}}}}let U=Z.partialsDir||g.join(process.cwd(),"views"),K=g.join(U,X);if(await i(K)){if(Z.debug)console.log(`Found in views path: ${K}`);if(Y)Y.add(K);return K}if(!X.endsWith(".stx")){let z=`${K}.stx`;if(await i(z)){if(Z.debug)console.log(`Found in views path with extension: ${z}`);if(Y)Y.add(z);return z}}if(J.includes("temp")){let z=g.join(g.dirname(J),"layouts",X);if(await i(z)){if(Z.debug)console.log(`Found in temp layouts dir: ${z}`);if(Y)Y.add(z);return z}if(!X.endsWith(".stx")){let B=`${z}.stx`;if(await i(B)){if(Z.debug)console.log(`Found in temp layouts dir with extension: ${B}`);if(Y)Y.add(B);return B}}}if(Z.debug)console.warn(`Template not found after trying all paths: ${X} (referenced from ${$})`);else console.warn(`Template not found: ${X} (referenced from ${$})`);return null}function Nw(X,$,Z){let Y=0,J="",G="";try{if(typeof $==="number"&&$>=0){let Q=X.split(`
14368
14368
  `),w=0;for(let q=0;q<Q.length;q++)if(w+=Q[q].length+1,w>=$){Y=q+1,J=Q[q].trim();let W=Math.max(0,q-2),U=Math.min(Q.length,q+3);G=Q.slice(W,U).map((K,z)=>{let B=W+z+1;return`${B===Y?"> ":" "}${B}: ${K}`}).join(`
14369
- `);break}}else if(Z){let Q=X.indexOf(Z);if(Q>=0)return Tw(X,Q)}}catch{}return{lineNumber:Y,lineContent:J,context:G}}function K0(X,$,Z,Y,J,G){let{lineNumber:Q,context:w}=Tw(Y,J,G),q=Z.split("/").pop(),W=0;if(typeof J==="number"&&J>=0&&Y){let K=Y.lastIndexOf(`
14369
+ `);break}}else if(Z){let Q=X.indexOf(Z);if(Q>=0)return Nw(X,Q)}}catch{}return{lineNumber:Y,lineContent:J,context:G}}function K0(X,$,Z,Y,J,G){let{lineNumber:Q,context:w}=Nw(Y,J,G),q=Z.split("/").pop(),W=0;if(typeof J==="number"&&J>=0&&Y){let K=Y.lastIndexOf(`
14370
14370
  `,Math.max(0,J-1));W=J-(K+1)+1}let U="";if(Q>0)U+=`
14371
14371
  ${Z}:${Q}${W>0?`:${W}`:""}: ${X.toLowerCase()} error: ${$}
14372
14372
  `;if(U+=`
@@ -14379,8 +14379,8 @@ ${Z0.yellow}${Z0.bold}Message:${Z0.reset} ${$}
14379
14379
  `,w)U+=`
14380
14380
  ${Z0.blue}${Z0.bold}Context:${Z0.reset}
14381
14381
  ${Z0.dim}${w}${Z0.reset}
14382
- `;return U}function MG(){x8.clear(),f8.clear(),z4.clear()}var x8,f8,z4,xL=0,Z0;var T0=D(()=>{D5();s$();w1();G1();C5();sX();E1();N3();nX();F7();Lw();p5();x8=new Z5(500),f8=new Z5(1000),z4=new Z5(2000);Z0={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 Hw(X,$,Z=""){let Y=X,J=[],G=/@markdown(?:\([^)]*\))?/g,Q;while((Q=G.exec(X))!==null){let w=Q.index,q=Q[0].match(/@markdown\(([^)]*)\)/),W=q?q[1]:"",U=w+Q[0].length,K=1,z=U,B=-1;while(K>0&&z<X.length){let H=X.indexOf("@markdown",z),L=X.indexOf("@endmarkdown",z);if(L===-1)break;if(H!==-1&&H<L&&H!==w){let O=X[H+9];if(O==="("||O===`
14383
- `||O==="\r"||O===" "||O===void 0)K++;z=H+9}else{if(K--,K===0){B=L;break}z=L+12}}if(B===-1)continue;let _=X.slice(U,B),j=X.slice(w,B+12);J.push({fullMatch:j,options:W,content:_,index:w}),G.lastIndex=B+12}for(let{fullMatch:w,options:q,content:W,index:U}of J)try{let K={};if(q)q.split(",").forEach((_)=>{let j=_.trim();if(j)K[j]=!0});let z={gfm:K.gfm??!0,breaks:K.breaks??!1},B=r1(W.trim(),z);Y=Y.split(w).join(B)}catch(K){let z=K instanceof Error?K.message:String(K),B=K0("Markdown Directive",`Error processing markdown: ${z}`,Z,X,U,w);Y=Y.split(w).join(B)}return Y}async function Mw(X,$,Z,Y){let J={gfm:!0,breaks:!1};return $.forEach((G)=>{let Q=G.trim().replace(/['"]/g,"");if(Q==="breaks")J.breaks=!0;if(Q==="no-gfm")J.gfm=!1}),r1(X.trim(),J)}var W4=D(()=>{T0()});function sL(X){if(nL.set(X.name,X),X.client)rL.set(X.name,X.client)}function g8(X){return sL(X),{name:X.name,hasEndTag:X.hasEndTag??!0,description:X.description,handler:async(Z,Y,J,G)=>{let Q=oL(Y,X.defaults);if(X.validate){let q=X.validate(Q);if(q!==!0){let W=typeof q==="string"?q:`Invalid parameters for @${X.name}`;throw Error(W)}}let w=Z;if(X.transform)w=await X.transform(Z,Q,J,G);if(X.clientScript){let q=X.clientScript(Q);w+=`<script>${q}</script>`}if(X.css){let q=X.css(Q);w+=`<style>${q}</style>`}return w}}}function oL(X,$){let Z={...$};for(let Y of X){let J=Y.indexOf(":"),G=Y.indexOf("="),Q=J>=0&&(G<0||J<G)?J:G;if(Q>=0){let w=Y.slice(0,Q).trim(),q=Y.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)=>!$||!(q in $)).length;Z[w===0?"value":`arg${w}`]=Y}}return Z}var nL,rL;var B4=D(()=>{nL=new Map,rL=new Map});function j4(X,$=Z7,Z={},Y){return $.sort((J,G)=>J-G).map((J)=>{return`${ZX(X,{...Z,w:J,fm:Y})} ${J}w`}).join(", ")}function Nw(X,$,Z=aL,Y={},J){return Z.sort((G,Q)=>G-Q).map((G)=>{let Q=Math.round($*G);return`${ZX(X,{...Y,w:Q,dpr:G,fm:J})} ${G}x`}).join(", ")}function H4(X,$="100vw"){if(!X||Object.keys(X).length===0)return $;let Y=Object.entries(X).map(([J,G])=>{let Q=/^\d+$/.test(J)?`${J}px`:J;return{bp:Q,size:G,numericBp:Number.parseInt(Q)||0}}).sort((J,G)=>J.numericBp-G.numericBp).map(({bp:J,size:G})=>`(max-width: ${J}) ${G}`);return Y.push($),Y.join(", ")}function ZX(X,$={}){let Z=Object.entries($).filter(([,G])=>G!==void 0&&G!==null).map(([G,Q])=>{if(Array.isArray(Q))return[G,Q.join(",")];return[G,String(Q)]});if(Z.length===0)return X;let Y=Z.map(([G,Q])=>`${G}=${encodeURIComponent(Q)}`).join("&"),J=X.includes("?")?"&":"?";return`${X}${J}${Y}`}function L4(X){return tL[X]||"application/octet-stream"}var Z7,aL,$X,tL;var O4=D(()=>{Z7=[320,480,640,768,1024,1280,1536,1920,2560],aL=[1,1.5,2,3],$X=["avif","webp","jpeg"],tL={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"}});async function XO(){try{return await import("ts-images")}catch{return null}}async function $O(X,$={}){let Z={...eL,...$},Y=await XO();if(Y)try{return await ZO(X,Z,Y)}catch(J){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${J}`)}return YO(X,Z)}async function ZO(X,$,Z){let{generatePlaceholder:Y,generateThumbHash:J}=Z,Q={blur:"blur",thumbhash:"thumbhash",blurhash:"thumbhash",pixelate:"pixelate","dominant-color":"dominant-color",none:"blur"}[$.strategy]||"blur";if($.strategy==="thumbhash")return{dataURL:(await J(X)).dataUrl,width:32,height:32,aspectRatio:1,originalWidth:0,originalHeight:0,strategy:"thumbhash"};let w=await Y(X,{width:$.width,height:$.height,quality:$.quality,blurLevel:$.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:$.strategy,dominantColor:w.dominantColor,css:w.css}}function YO(X,$){let Z=$.width||20,Y=$.height||Z,J="#e5e7eb",G=`<svg xmlns="http://www.w3.org/2000/svg" width="${Z}" height="${Y}" viewBox="0 0 ${Z} ${Y}"><rect fill="#e5e7eb" width="${Z}" height="${Y}"/></svg>`;return{dataURL:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(G)}`,width:Z,height:Y,aspectRatio:Z/Y,originalWidth:0,originalHeight:0,strategy:$.strategy,dominantColor:"#e5e7eb"}}function kw(X,$,Z={}){let Y=Z.transitionDuration||300,J=Z.easing||"ease-out";return`
14382
+ `;return U}function kG(){x8.clear(),f8.clear(),_4.clear()}var x8,f8,_4,hL=0,Z0;var T0=D(()=>{D5();s$();w1();G1();C5();sX();E1();k3();nX();F7();Fw();p5();x8=new Z5(500),f8=new Z5(1000),_4=new Z5(2000);Z0={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 Ow(X,$,Z=""){let Y=X,J=[],G=/@markdown(?:\([^)]*\))?/g,Q;while((Q=G.exec(X))!==null){let w=Q.index,q=Q[0].match(/@markdown\(([^)]*)\)/),W=q?q[1]:"",U=w+Q[0].length,K=1,z=U,B=-1;while(K>0&&z<X.length){let H=X.indexOf("@markdown",z),L=X.indexOf("@endmarkdown",z);if(L===-1)break;if(H!==-1&&H<L&&H!==w){let O=X[H+9];if(O==="("||O===`
14383
+ `||O==="\r"||O===" "||O===void 0)K++;z=H+9}else{if(K--,K===0){B=L;break}z=L+12}}if(B===-1)continue;let _=X.slice(U,B),j=X.slice(w,B+12);J.push({fullMatch:j,options:W,content:_,index:w}),G.lastIndex=B+12}for(let{fullMatch:w,options:q,content:W,index:U}of J)try{let K={};if(q)q.split(",").forEach((_)=>{let j=_.trim();if(j)K[j]=!0});let z={gfm:K.gfm??!0,breaks:K.breaks??!1},B=r1(W.trim(),z);Y=Y.split(w).join(B)}catch(K){let z=K instanceof Error?K.message:String(K),B=K0("Markdown Directive",`Error processing markdown: ${z}`,Z,X,U,w);Y=Y.split(w).join(B)}return Y}async function kw(X,$,Z,Y){let J={gfm:!0,breaks:!1};return $.forEach((G)=>{let Q=G.trim().replace(/['"]/g,"");if(Q==="breaks")J.breaks=!0;if(Q==="no-gfm")J.gfm=!1}),r1(X.trim(),J)}var U4=D(()=>{T0()});function tL(X){if(oL.set(X.name,X),X.client)aL.set(X.name,X.client)}function g8(X){return tL(X),{name:X.name,hasEndTag:X.hasEndTag??!0,description:X.description,handler:async(Z,Y,J,G)=>{let Q=eL(Y,X.defaults);if(X.validate){let q=X.validate(Q);if(q!==!0){let W=typeof q==="string"?q:`Invalid parameters for @${X.name}`;throw Error(W)}}let w=Z;if(X.transform)w=await X.transform(Z,Q,J,G);if(X.clientScript){let q=X.clientScript(Q);w+=`<script>${q}</script>`}if(X.css){let q=X.css(Q);w+=`<style>${q}</style>`}return w}}}function eL(X,$){let Z={...$};for(let Y of X){let J=Y.indexOf(":"),G=Y.indexOf("="),Q=J>=0&&(G<0||J<G)?J:G;if(Q>=0){let w=Y.slice(0,Q).trim(),q=Y.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)=>!$||!(q in $)).length;Z[w===0?"value":`arg${w}`]=Y}}return Z}var oL,aL;var j4=D(()=>{oL=new Map,aL=new Map});function H4(X,$=Z7,Z={},Y){return $.sort((J,G)=>J-G).map((J)=>{return`${ZX(X,{...Z,w:J,fm:Y})} ${J}w`}).join(", ")}function Iw(X,$,Z=XO,Y={},J){return Z.sort((G,Q)=>G-Q).map((G)=>{let Q=Math.round($*G);return`${ZX(X,{...Y,w:Q,dpr:G,fm:J})} ${G}x`}).join(", ")}function L4(X,$="100vw"){if(!X||Object.keys(X).length===0)return $;let Y=Object.entries(X).map(([J,G])=>{let Q=/^\d+$/.test(J)?`${J}px`:J;return{bp:Q,size:G,numericBp:Number.parseInt(Q)||0}}).sort((J,G)=>J.numericBp-G.numericBp).map(({bp:J,size:G})=>`(max-width: ${J}) ${G}`);return Y.push($),Y.join(", ")}function ZX(X,$={}){let Z=Object.entries($).filter(([,G])=>G!==void 0&&G!==null).map(([G,Q])=>{if(Array.isArray(Q))return[G,Q.join(",")];return[G,String(Q)]});if(Z.length===0)return X;let Y=Z.map(([G,Q])=>`${G}=${encodeURIComponent(Q)}`).join("&"),J=X.includes("?")?"&":"?";return`${X}${J}${Y}`}function O4(X){return $O[X]||"application/octet-stream"}var Z7,XO,$X,$O;var F4=D(()=>{Z7=[320,480,640,768,1024,1280,1536,1920,2560],XO=[1,1.5,2,3],$X=["avif","webp","jpeg"],$O={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"}});async function YO(){try{return await import("ts-images")}catch{return null}}async function JO(X,$={}){let Z={...ZO,...$},Y=await YO();if(Y)try{return await GO(X,Z,Y)}catch(J){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${J}`)}return QO(X,Z)}async function GO(X,$,Z){let{generatePlaceholder:Y,generateThumbHash:J}=Z,Q={blur:"blur",thumbhash:"thumbhash",blurhash:"thumbhash",pixelate:"pixelate","dominant-color":"dominant-color",none:"blur"}[$.strategy]||"blur";if($.strategy==="thumbhash")return{dataURL:(await J(X)).dataUrl,width:32,height:32,aspectRatio:1,originalWidth:0,originalHeight:0,strategy:"thumbhash"};let w=await Y(X,{width:$.width,height:$.height,quality:$.quality,blurLevel:$.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:$.strategy,dominantColor:w.dominantColor,css:w.css}}function QO(X,$){let Z=$.width||20,Y=$.height||Z,J="#e5e7eb",G=`<svg xmlns="http://www.w3.org/2000/svg" width="${Z}" height="${Y}" viewBox="0 0 ${Z} ${Y}"><rect fill="#e5e7eb" width="${Z}" height="${Y}"/></svg>`;return{dataURL:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(G)}`,width:Z,height:Y,aspectRatio:Z/Y,originalWidth:0,originalHeight:0,strategy:$.strategy,dominantColor:"#e5e7eb"}}function Ew(X,$,Z={}){let Y=Z.transitionDuration||300,J=Z.easing||"ease-out";return`
14384
14384
  #${X} {
14385
14385
  --stx-img-transition-duration: ${Y}ms;
14386
14386
  --stx-img-transition-easing: ${J};
@@ -14397,7 +14397,7 @@ ${Z0.dim}${w}${Z0.reset}
14397
14397
  #${X}.stx-img-loaded img {
14398
14398
  opacity: 1;
14399
14399
  }
14400
- `.trim()}async function Iw(X,$={}){let Z=`${X}:${JSON.stringify($)}`;if(F4.has(Z))return F4.get(Z);let Y=await $O(X,$);return F4.set(Z,Y),Y}var eL,V4,F4;var Ew=D(()=>{eL={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},V4=`
14400
+ `.trim()}async function Dw(X,$={}){let Z=`${X}:${JSON.stringify($)}`;if(V4.has(Z))return V4.get(Z);let Y=await JO(X,$);return V4.set(Z,Y),Y}var ZO,A4,V4;var yw=D(()=>{ZO={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},A4=`
14401
14401
  .stx-img-placeholder {
14402
14402
  position: relative;
14403
14403
  overflow: hidden;
@@ -14426,8 +14426,8 @@ ${Z0.dim}${w}${Z0.reset}
14426
14426
  filter: blur(0);
14427
14427
  transform: scale(1);
14428
14428
  }
14429
- `.trim();F4=new Map});import{createHash as yw}from"crypto";import{readFile as JO,stat as bw}from"fs/promises";async function b0(X){try{let $=await JO(X);return yw("sha256").update($).digest("hex").slice(0,16)}catch{return""}}function Dw(X){return yw("sha256").update(X).digest("hex").slice(0,16)}function h8(X,$){let Z=JSON.stringify($,Object.keys($).sort());return`${Dw(X)}-${Dw(Z)}`}async function A4(X){try{return(await bw(X)).mtimeMs}catch{return 0}}async function D0(X){try{return await bw(X),!0}catch{return!1}}var j5=()=>{};import{mkdir as GO,readFile as QO,writeFile as wO,readdir as cE,rm as qO,stat as pE}from"fs/promises";import{join as Cw,dirname as WO}from"path";async function UO(X){try{await GO(X,{recursive:!0})}catch{}}function Pw(X,$,Z){return Cw(X,Z,`${$}.json`)}async function Sw(X,$,Z){if((Date.now()-X.createdAt)/86400000>Z)return!1;if(await A4($)!==X.srcMtime)return!1;return!0}async function u8(X,$,Z,Y=R4){if(!Y.enabled)return null;let J=h8(X,$),G=Y7.get(J);if(G){if(await Sw(G,X,Y.maxAge))return G.lastAccessedAt=Date.now(),G.data;Y7.delete(J)}let Q=Pw(Y.directory,J,Z);if(await D0(Q))try{let w=await QO(Q,"utf-8"),q=JSON.parse(w);if(await Sw(q,X,Y.maxAge))return q.lastAccessedAt=Date.now(),Y7.set(J,q),q.data}catch{}return null}async function d8(X,$,Z,Y,J=R4){if(!J.enabled)return;let G=h8(X,$),Q=await b0(X),w=await A4(X),q={key:G,src:X,srcHash:Q,srcMtime:w,optionsHash:h8("",$),data:Z,createdAt:Date.now(),lastAccessedAt:Date.now()};Y7.set(G,q);let W=Pw(J.directory,G,Y);try{await UO(WO(W)),await wO(W,JSON.stringify(q,null,2))}catch(U){console.warn(`[stx-media] Failed to write cache: ${U}`)}}async function m8(X,$=R4){if(X==="all")Y7.clear();else Y7.clear();let Z=X==="all"?["image","video"]:[X];for(let Y of Z){let J=Cw($.directory,Y);try{await qO(J,{recursive:!0,force:!0})}catch{}}}var Y7,R4;var T4=D(()=>{j5();Y7=new Map,R4={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class c8{config;constructor(X={}){this.config={...KO,...X}}async get(X,$){return u8(X,$,"image",this.config)}async set(X,$,Z){return d8(X,$,Z,"image",this.config)}async clear(){return m8("image",this.config)}updateConfig(X){this.config={...this.config,...X}}}function M4(X){if(!l8)l8=new c8(X);else if(X)l8.updateConfig(X);return l8}async function p8(X,$,Z){let Y=Z?{directory:`${Z.outputDir}/../.cache`}:{};return M4(Y).get(X,$)}async function i8(X,$,Z,Y){let J=Y?{directory:`${Y.outputDir}/../.cache`}:{};return M4(J).set(X,$,Z)}async function vw(){return M4().clear()}var KO,l8=null;var N4=D(()=>{T4();KO={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as zO,basename as _O,extname as BO,join as jO}from"path";import{mkdir as HO}from"fs/promises";async function k4(){try{return await import("ts-images")}catch{return null}}function xw(X){switch(X){case"quality":return{jpeg:{quality:90,mozjpeg:!0,progressive:!0},png:{compressionLevel:6,palette:!1},webp:{quality:90,effort:6,smartSubsample:!0},avif:{quality:85,effort:6}};case"performance":return{jpeg:{quality:70,mozjpeg:!0,progressive:!0},png:{compressionLevel:9,palette:!0},webp:{quality:70,effort:4,smartSubsample:!0},avif:{quality:60,effort:2}};case"web":default:return{jpeg:{quality:82,mozjpeg:!0,progressive:!0},png:{compressionLevel:8,palette:!1},webp:{quality:82,effort:5,smartSubsample:!0},avif:{quality:75,effort:4}}}}function LO(X,$){let Z=$?xw($):xw("web"),Y=X.formatQuality||{};return{jpeg:{...Z.jpeg,...Y.jpeg},png:{...Z.png,...Y.png},webp:{...Z.webp,...Y.webp},avif:{...Z.avif,...Y.avif}}}async function fw(X,$,Z){let Y=await k4();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:X,processed:!1};let J=await p8(X,$,Z);if(J)return J;try{let G=zO(X);if(!await D0(G))return{src:X,processed:!1,errors:[`Source file not found: ${X}`]};let Q=LO(Z,$.preset),w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await HO(w,{recursive:!0});let W=await b0(G),U=_O(X,BO(X)),K=$.outputFormat?[$.outputFormat]:Z.defaultFormats||["avif","webp","jpeg"],z={src:X,processed:!0,variants:[],hash:W},B=null;if($.transformations&&$.transformations.length>0)B=await I4(G,$.transformations,Y);for(let _ of K){let j=Q[_]||{},H=`${U}-${W}.${_}`,L=jO(w,H);try{let O=await Y.optimizeImage({input:B||G,output:L,format:_,quality:j.quality,progressive:j.progressive});if(O){if(z.variants.push({path:L,url:`${q}/${H}`,width:O.width||0,height:O.height||0,format:_,size:O.outputSize||0}),!z.originalWidth&&O.width)z.originalWidth=O.width,z.originalHeight=O.height}}catch(O){z.errors=z.errors||[],z.errors.push(`Failed to optimize ${_}: ${O}`)}}if($.embedThumbhash||$.placeholder==="thumbhash")try{let _=await Y.generateThumbHash(G);z.placeholder=_.dataUrl}catch(_){z.errors=z.errors||[],z.errors.push(`Failed to generate thumbhash: ${_}`)}if($.useDominantColor)try{let _=await Y.generatePlaceholder(G,{strategy:"dominant-color"});z.dominantColor=_.dominantColor}catch(_){z.errors=z.errors||[],z.errors.push(`Failed to extract dominant color: ${_}`)}return await i8(X,$,z,Z),z}catch(G){return{src:X,processed:!1,errors:[`Processing failed: ${G}`]}}}async function gw(X,$,Z,Y){let J=await k4();if(!J)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await J.optimizeImage({input:X,output:Y,format:$,quality:Z}))?.outputSize}}catch(G){return{success:!1,error:String(G)}}}async function I4(X,$,Z){let Y=Z||await k4();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let J=await Y.decode(X);for(let G of $){let Q=G.options||{};switch(G.type){case"resize":if(Q.width||Q.height)J=await Y.resize(J,{width:Q.width,height:Q.height,fit:Q.fit});break;case"blur":if(Q.sigma!==void 0)J=await Y.blur(J,Q.sigma);break;case"sharpen":if(Q.amount!==void 0)J=await Y.sharpen(J,Q.amount);break;case"grayscale":J=await Y.grayscale(J);break;case"rotate":if(Q.angle!==void 0)J=await Y.rotate(J,Q.angle);break;case"flip":J=await Y.flip(J);break;case"flop":J=await Y.flop(J);break;case"brightness":if(Q.value!==void 0)J=await Y.brightness(J,Q.value);break;case"contrast":if(Q.value!==void 0)J=await Y.contrast(J,Q.value);break;case"saturation":if(Q.value!==void 0)J=await Y.saturation(J,Q.value);break}}return await Y.encode(J,"png")}catch(J){return console.error(`[stx-media] Transformation failed: ${J}`),null}}var hw=D(()=>{j5();N4()});import{resolve as OO,basename as FO,extname as VO,join as AO}from"path";import{mkdir as RO}from"fs/promises";async function TO(){try{return await import("ts-images")}catch{return null}}async function uw(X,$,Z){let Y=await TO();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let J=OO(X);if(!await D0(J))return console.warn(`[stx-media] Source file not found: ${X}`),null;try{let G=$.responsiveWidths||Z.breakpoints||MO,Q=$.formats||Z.defaultFormats||["avif","webp","jpeg"],w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await RO(w,{recursive:!0});let W=await b0(J),U=FO(X,VO(X)),K=Z.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},z={src:X,byFormat:{},srcsets:{}};for(let _ of Q){z.byFormat[_]=[];let j=[];for(let H of G){let L=`${U}-${H}w-${W}.${_}`,O=AO(w,L),F=`${q}/${L}`;try{let V=K[_]?.quality||80;if(await D0(O)){z.byFormat[_].push({path:O,url:F,width:H,height:0,format:_,size:0}),j.push(`${F} ${H}w`);continue}let A=await Y.processImage({input:J,output:O,format:_,quality:V,resize:{width:H}});if(A)z.byFormat[_].push({path:O,url:F,width:H,height:A.height||Math.round(H*(A.height||1)/(A.width||1)),format:_,size:A.outputSize||0}),j.push(`${F} ${H}w`)}catch(V){console.warn(`[stx-media] Failed to generate ${_} at ${H}w: ${V}`)}}z.srcsets[_]=j.join(", ")}let B=$.placeholder||Z.placeholderStrategy||"thumbhash";if(B!=="none")try{if(B==="thumbhash"){let _=await Y.generateThumbHash(J);z.placeholder={dataURL:_.dataUrl,width:_.width||32,height:_.height||32,strategy:"thumbhash"}}else{let _=await Y.generatePlaceholder(J,{strategy:B,width:20});z.placeholder={dataURL:_.dataURL,width:_.width,height:_.height,strategy:B}}}catch(_){console.warn(`[stx-media] Failed to generate placeholder: ${_}`)}return z.sizes=$.sizes||NO(G),z}catch(G){return console.error(`[stx-media] Responsive generation failed: ${G}`),null}}function NO(X){let $=[...X].sort((Y,J)=>Y-J),Z=[];for(let Y=0;Y<$.length-1;Y++){let J=$[Y];Z.push(`(max-width: ${J}px) ${J}px`)}return Z.push(`${$[$.length-1]}px`),Z.join(", ")}function dw(X,$="width"){if(!X||X.length===0)return"";if($==="dpr")return X.filter((Z)=>Z.dpr).map((Z)=>`${Z.url} ${Z.dpr}x`).join(", ");return X.map((Z)=>`${Z.url} ${Z.width}w`).join(", ")}var MO;var mw=D(()=>{j5();MO=[320,480,640,768,1024,1280,1536,1920]});var lw={};t(lw,{setCachedImageResult:()=>i8,processImage:()=>fw,optimizeImage:()=>gw,getCachedImageResult:()=>p8,generateSrcset:()=>dw,generateResponsiveVariants:()=>uw,clearImageCache:()=>vw,applyTransformations:()=>I4,ImageProcessorCache:()=>c8});var cw=D(()=>{hw();mw();N4()});async function kO(){try{return await Promise.resolve().then(() => (cw(),lw))}catch(X){if(!pw)console.warn("[stx-media] Image processor not available, some features disabled:",X),pw=!0;return null}}async function n8(X,$={}){let Z=$,Y=X;if(Y.process&&!Y.skipOptimization){if(Z.tsImagesConfig?.enabled&&!Z.isDev)return yO(Y,Z)}if(Z.processedResult?.processed)return b4(X,Z.processedResult,$);if(Z.responsiveVariants)return sw(X,Z.responsiveVariants,$);let{src:J,alt:G,width:Q,height:w,sizes:q,widths:W=Z7,dpr:U,formats:K=$X,quality:z=E4,params:B={},placeholder:_="none",placeholderOptions:j={},lazy:H=!0,priority:L=!1,loading:O=L?"eager":s8,decoding:F=r8,fetchpriority:V,objectFit:A,objectPosition:R,crossorigin:T,referrerpolicy:M}=X,k=X.class,N=X.style,y=X.id,I=X.data||{},{isDev:C=!1,baseUrl:S=""}=$;if(C&&!$.optimize)return DO(X);let b,P,x=y||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(_!=="none"&&!L)try{b=await Iw(J,{strategy:_,...j}),P=kw(x,b,j)}catch{}let m=U!==void 0&&Q!==void 0,l;if(m)l=EO(X,x,b,$);else l=await IO(X,x,b,$);let Q0;if(L){let s0=K.includes("webp")?"webp":K[0],c=j4(J,W,{...B,q:z},s0),j0=typeof q==="object"?H4(q):q||"100vw";Q0=`<link rel="preload" as="image" imagesrcset="${c}" imagesizes="${j0}" />`}let c0=[];if(!iw&&_!=="none")c0.push(V4),iw=!0;if(P)c0.push(P);let R0=H?rw(x):void 0;return{html:l,preloadLink:Q0,css:c0.length>0?c0.join(`
14430
- `):void 0,script:R0}}async function IO(X,$,Z,Y){let{src:J,alt:G,width:Q,height:w,sizes:q,widths:W=Z7,formats:U=$X,quality:K=E4,params:z={},lazy:B=!0,priority:_=!1,loading:j=_?"eager":s8,decoding:H=r8,fetchpriority:L,objectFit:O,objectPosition:F,crossorigin:V,referrerpolicy:A}=X,R=X.class,T=X.style,M=X.data||{},k=typeof q==="object"?H4(q):q||"100vw",N=[];for(let C of U){let S=j4(J,W,{...z,q:K},C),b=L4(C);if(B&&!_)N.push(` <source type="${b}" data-srcset="${S}" data-sizes="${k}" />`);else N.push(` <source type="${b}" srcset="${S}" sizes="${k}" />`)}let y=D4({src:ZX(J,{...z,q:K}),alt:G,width:Q,height:w,loading:_?void 0:j,decoding:H,fetchpriority:_?"high":L,objectFit:O,objectPosition:F,crossorigin:V,referrerpolicy:A,className:nw(R,Z),style:y4(T,O,F,Z),lazy:B&&!_,data:M}),I;if(Z){let C=`background-image: url('${Z.dataURL}'); background-size: cover; background-position: center;`;I=`<div id="${$}" class="stx-img-placeholder" style="${C}">
14429
+ `.trim();V4=new Map});import{createHash as Sw}from"crypto";import{readFile as wO,stat as Cw}from"fs/promises";async function b0(X){try{let $=await wO(X);return Sw("sha256").update($).digest("hex").slice(0,16)}catch{return""}}function bw(X){return Sw("sha256").update(X).digest("hex").slice(0,16)}function h8(X,$){let Z=JSON.stringify($,Object.keys($).sort());return`${bw(X)}-${bw(Z)}`}async function R4(X){try{return(await Cw(X)).mtimeMs}catch{return 0}}async function D0(X){try{return await Cw(X),!0}catch{return!1}}var j5=()=>{};import{mkdir as qO,readFile as WO,writeFile as UO,readdir as nE,rm as KO,stat as rE}from"fs/promises";import{join as vw,dirname as zO}from"path";async function _O(X){try{await qO(X,{recursive:!0})}catch{}}function xw(X,$,Z){return vw(X,Z,`${$}.json`)}async function Pw(X,$,Z){if((Date.now()-X.createdAt)/86400000>Z)return!1;if(await R4($)!==X.srcMtime)return!1;return!0}async function u8(X,$,Z,Y=T4){if(!Y.enabled)return null;let J=h8(X,$),G=Y7.get(J);if(G){if(await Pw(G,X,Y.maxAge))return G.lastAccessedAt=Date.now(),G.data;Y7.delete(J)}let Q=xw(Y.directory,J,Z);if(await D0(Q))try{let w=await WO(Q,"utf-8"),q=JSON.parse(w);if(await Pw(q,X,Y.maxAge))return q.lastAccessedAt=Date.now(),Y7.set(J,q),q.data}catch{}return null}async function d8(X,$,Z,Y,J=T4){if(!J.enabled)return;let G=h8(X,$),Q=await b0(X),w=await R4(X),q={key:G,src:X,srcHash:Q,srcMtime:w,optionsHash:h8("",$),data:Z,createdAt:Date.now(),lastAccessedAt:Date.now()};Y7.set(G,q);let W=xw(J.directory,G,Y);try{await _O(zO(W)),await UO(W,JSON.stringify(q,null,2))}catch(U){console.warn(`[stx-media] Failed to write cache: ${U}`)}}async function m8(X,$=T4){if(X==="all")Y7.clear();else Y7.clear();let Z=X==="all"?["image","video"]:[X];for(let Y of Z){let J=vw($.directory,Y);try{await KO(J,{recursive:!0,force:!0})}catch{}}}var Y7,T4;var M4=D(()=>{j5();Y7=new Map,T4={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class c8{config;constructor(X={}){this.config={...BO,...X}}async get(X,$){return u8(X,$,"image",this.config)}async set(X,$,Z){return d8(X,$,Z,"image",this.config)}async clear(){return m8("image",this.config)}updateConfig(X){this.config={...this.config,...X}}}function N4(X){if(!l8)l8=new c8(X);else if(X)l8.updateConfig(X);return l8}async function p8(X,$,Z){let Y=Z?{directory:`${Z.outputDir}/../.cache`}:{};return N4(Y).get(X,$)}async function i8(X,$,Z,Y){let J=Y?{directory:`${Y.outputDir}/../.cache`}:{};return N4(J).set(X,$,Z)}async function fw(){return N4().clear()}var BO,l8=null;var k4=D(()=>{M4();BO={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as jO,basename as HO,extname as LO,join as OO}from"path";import{mkdir as FO}from"fs/promises";async function I4(){try{return await import("ts-images")}catch{return null}}function gw(X){switch(X){case"quality":return{jpeg:{quality:90,mozjpeg:!0,progressive:!0},png:{compressionLevel:6,palette:!1},webp:{quality:90,effort:6,smartSubsample:!0},avif:{quality:85,effort:6}};case"performance":return{jpeg:{quality:70,mozjpeg:!0,progressive:!0},png:{compressionLevel:9,palette:!0},webp:{quality:70,effort:4,smartSubsample:!0},avif:{quality:60,effort:2}};case"web":default:return{jpeg:{quality:82,mozjpeg:!0,progressive:!0},png:{compressionLevel:8,palette:!1},webp:{quality:82,effort:5,smartSubsample:!0},avif:{quality:75,effort:4}}}}function VO(X,$){let Z=$?gw($):gw("web"),Y=X.formatQuality||{};return{jpeg:{...Z.jpeg,...Y.jpeg},png:{...Z.png,...Y.png},webp:{...Z.webp,...Y.webp},avif:{...Z.avif,...Y.avif}}}async function hw(X,$,Z){let Y=await I4();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:X,processed:!1};let J=await p8(X,$,Z);if(J)return J;try{let G=jO(X);if(!await D0(G))return{src:X,processed:!1,errors:[`Source file not found: ${X}`]};let Q=VO(Z,$.preset),w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await FO(w,{recursive:!0});let W=await b0(G),U=HO(X,LO(X)),K=$.outputFormat?[$.outputFormat]:Z.defaultFormats||["avif","webp","jpeg"],z={src:X,processed:!0,variants:[],hash:W},B=null;if($.transformations&&$.transformations.length>0)B=await E4(G,$.transformations,Y);for(let _ of K){let j=Q[_]||{},H=`${U}-${W}.${_}`,L=OO(w,H);try{let O=await Y.optimizeImage({input:B||G,output:L,format:_,quality:j.quality,progressive:j.progressive});if(O){if(z.variants.push({path:L,url:`${q}/${H}`,width:O.width||0,height:O.height||0,format:_,size:O.outputSize||0}),!z.originalWidth&&O.width)z.originalWidth=O.width,z.originalHeight=O.height}}catch(O){z.errors=z.errors||[],z.errors.push(`Failed to optimize ${_}: ${O}`)}}if($.embedThumbhash||$.placeholder==="thumbhash")try{let _=await Y.generateThumbHash(G);z.placeholder=_.dataUrl}catch(_){z.errors=z.errors||[],z.errors.push(`Failed to generate thumbhash: ${_}`)}if($.useDominantColor)try{let _=await Y.generatePlaceholder(G,{strategy:"dominant-color"});z.dominantColor=_.dominantColor}catch(_){z.errors=z.errors||[],z.errors.push(`Failed to extract dominant color: ${_}`)}return await i8(X,$,z,Z),z}catch(G){return{src:X,processed:!1,errors:[`Processing failed: ${G}`]}}}async function uw(X,$,Z,Y){let J=await I4();if(!J)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await J.optimizeImage({input:X,output:Y,format:$,quality:Z}))?.outputSize}}catch(G){return{success:!1,error:String(G)}}}async function E4(X,$,Z){let Y=Z||await I4();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let J=await Y.decode(X);for(let G of $){let Q=G.options||{};switch(G.type){case"resize":if(Q.width||Q.height)J=await Y.resize(J,{width:Q.width,height:Q.height,fit:Q.fit});break;case"blur":if(Q.sigma!==void 0)J=await Y.blur(J,Q.sigma);break;case"sharpen":if(Q.amount!==void 0)J=await Y.sharpen(J,Q.amount);break;case"grayscale":J=await Y.grayscale(J);break;case"rotate":if(Q.angle!==void 0)J=await Y.rotate(J,Q.angle);break;case"flip":J=await Y.flip(J);break;case"flop":J=await Y.flop(J);break;case"brightness":if(Q.value!==void 0)J=await Y.brightness(J,Q.value);break;case"contrast":if(Q.value!==void 0)J=await Y.contrast(J,Q.value);break;case"saturation":if(Q.value!==void 0)J=await Y.saturation(J,Q.value);break}}return await Y.encode(J,"png")}catch(J){return console.error(`[stx-media] Transformation failed: ${J}`),null}}var dw=D(()=>{j5();k4()});import{resolve as AO,basename as RO,extname as TO,join as MO}from"path";import{mkdir as NO}from"fs/promises";async function kO(){try{return await import("ts-images")}catch{return null}}async function mw(X,$,Z){let Y=await kO();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let J=AO(X);if(!await D0(J))return console.warn(`[stx-media] Source file not found: ${X}`),null;try{let G=$.responsiveWidths||Z.breakpoints||IO,Q=$.formats||Z.defaultFormats||["avif","webp","jpeg"],w=Z.outputDir||"dist/images",q=Z.baseUrl||"/images";await NO(w,{recursive:!0});let W=await b0(J),U=RO(X,TO(X)),K=Z.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},z={src:X,byFormat:{},srcsets:{}};for(let _ of Q){z.byFormat[_]=[];let j=[];for(let H of G){let L=`${U}-${H}w-${W}.${_}`,O=MO(w,L),F=`${q}/${L}`;try{let V=K[_]?.quality||80;if(await D0(O)){z.byFormat[_].push({path:O,url:F,width:H,height:0,format:_,size:0}),j.push(`${F} ${H}w`);continue}let A=await Y.processImage({input:J,output:O,format:_,quality:V,resize:{width:H}});if(A)z.byFormat[_].push({path:O,url:F,width:H,height:A.height||Math.round(H*(A.height||1)/(A.width||1)),format:_,size:A.outputSize||0}),j.push(`${F} ${H}w`)}catch(V){console.warn(`[stx-media] Failed to generate ${_} at ${H}w: ${V}`)}}z.srcsets[_]=j.join(", ")}let B=$.placeholder||Z.placeholderStrategy||"thumbhash";if(B!=="none")try{if(B==="thumbhash"){let _=await Y.generateThumbHash(J);z.placeholder={dataURL:_.dataUrl,width:_.width||32,height:_.height||32,strategy:"thumbhash"}}else{let _=await Y.generatePlaceholder(J,{strategy:B,width:20});z.placeholder={dataURL:_.dataURL,width:_.width,height:_.height,strategy:B}}}catch(_){console.warn(`[stx-media] Failed to generate placeholder: ${_}`)}return z.sizes=$.sizes||EO(G),z}catch(G){return console.error(`[stx-media] Responsive generation failed: ${G}`),null}}function EO(X){let $=[...X].sort((Y,J)=>Y-J),Z=[];for(let Y=0;Y<$.length-1;Y++){let J=$[Y];Z.push(`(max-width: ${J}px) ${J}px`)}return Z.push(`${$[$.length-1]}px`),Z.join(", ")}function lw(X,$="width"){if(!X||X.length===0)return"";if($==="dpr")return X.filter((Z)=>Z.dpr).map((Z)=>`${Z.url} ${Z.dpr}x`).join(", ");return X.map((Z)=>`${Z.url} ${Z.width}w`).join(", ")}var IO;var cw=D(()=>{j5();IO=[320,480,640,768,1024,1280,1536,1920]});var pw={};t(pw,{setCachedImageResult:()=>i8,processImage:()=>hw,optimizeImage:()=>uw,getCachedImageResult:()=>p8,generateSrcset:()=>lw,generateResponsiveVariants:()=>mw,clearImageCache:()=>fw,applyTransformations:()=>E4,ImageProcessorCache:()=>c8});var iw=D(()=>{dw();cw();k4()});async function DO(){try{return await Promise.resolve().then(() => (iw(),pw))}catch(X){if(!nw)console.warn("[stx-media] Image processor not available, some features disabled:",X),nw=!0;return null}}async function n8(X,$={}){let Z=$,Y=X;if(Y.process&&!Y.skipOptimization){if(Z.tsImagesConfig?.enabled&&!Z.isDev)return CO(Y,Z)}if(Z.processedResult?.processed)return S4(X,Z.processedResult,$);if(Z.responsiveVariants)return aw(X,Z.responsiveVariants,$);let{src:J,alt:G,width:Q,height:w,sizes:q,widths:W=Z7,dpr:U,formats:K=$X,quality:z=D4,params:B={},placeholder:_="none",placeholderOptions:j={},lazy:H=!0,priority:L=!1,loading:O=L?"eager":s8,decoding:F=r8,fetchpriority:V,objectFit:A,objectPosition:R,crossorigin:T,referrerpolicy:M}=X,k=X.class,N=X.style,y=X.id,I=X.data||{},{isDev:C=!1,baseUrl:S=""}=$;if(C&&!$.optimize)return SO(X);let b,P,x=y||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(_!=="none"&&!L)try{b=await Dw(J,{strategy:_,...j}),P=Ew(x,b,j)}catch{}let m=U!==void 0&&Q!==void 0,l;if(m)l=bO(X,x,b,$);else l=await yO(X,x,b,$);let Q0;if(L){let s0=K.includes("webp")?"webp":K[0],c=H4(J,W,{...B,q:z},s0),j0=typeof q==="object"?L4(q):q||"100vw";Q0=`<link rel="preload" as="image" imagesrcset="${c}" imagesizes="${j0}" />`}let c0=[];if(!rw&&_!=="none")c0.push(A4),rw=!0;if(P)c0.push(P);let R0=H?ow(x):void 0;return{html:l,preloadLink:Q0,css:c0.length>0?c0.join(`
14430
+ `):void 0,script:R0}}async function yO(X,$,Z,Y){let{src:J,alt:G,width:Q,height:w,sizes:q,widths:W=Z7,formats:U=$X,quality:K=D4,params:z={},lazy:B=!0,priority:_=!1,loading:j=_?"eager":s8,decoding:H=r8,fetchpriority:L,objectFit:O,objectPosition:F,crossorigin:V,referrerpolicy:A}=X,R=X.class,T=X.style,M=X.data||{},k=typeof q==="object"?L4(q):q||"100vw",N=[];for(let C of U){let S=H4(J,W,{...z,q:K},C),b=O4(C);if(B&&!_)N.push(` <source type="${b}" data-srcset="${S}" data-sizes="${k}" />`);else N.push(` <source type="${b}" srcset="${S}" sizes="${k}" />`)}let y=y4({src:ZX(J,{...z,q:K}),alt:G,width:Q,height:w,loading:_?void 0:j,decoding:H,fetchpriority:_?"high":L,objectFit:O,objectPosition:F,crossorigin:V,referrerpolicy:A,className:sw(R,Z),style:b4(T,O,F,Z),lazy:B&&!_,data:M}),I;if(Z){let C=`background-image: url('${Z.dataURL}'); background-size: cover; background-position: center;`;I=`<div id="${$}" class="stx-img-placeholder" style="${C}">
14431
14431
  <picture>
14432
14432
  ${N.join(`
14433
14433
  `)}
@@ -14437,9 +14437,9 @@ ${N.join(`
14437
14437
  ${N.join(`
14438
14438
  `)}
14439
14439
  <img ${y} />
14440
- </picture>`;return I}function EO(X,$,Z,Y){let{src:J,alt:G,width:Q,height:w,dpr:q=[1,2,3],quality:W=E4,params:U={},lazy:K=!0,priority:z=!1,loading:B=z?"eager":s8,decoding:_=r8,fetchpriority:j,objectFit:H,objectPosition:L,crossorigin:O,referrerpolicy:F}=X,V=X.class,A=X.style,R=X.data||{},T=typeof Q==="number"?Q:Number.parseInt(String(Q),10),M=Nw(J,T,q,{...U,q:W}),k=D4({src:ZX(J,{...U,w:T,q:W}),alt:G,width:Q,height:w,loading:z?void 0:B,decoding:_,fetchpriority:z?"high":j,objectFit:H,objectPosition:L,crossorigin:O,referrerpolicy:F,className:nw(V,Z),style:y4(A,H,L,Z),lazy:K&&!z,data:R}),N=K&&!z?`data-srcset="${M}"`:`srcset="${M}"`;if(Z){let y=`background-image: url('${Z.dataURL}'); background-size: cover; background-position: center;`;return`<div id="${$}" class="stx-img-placeholder" style="${y}">
14440
+ </picture>`;return I}function bO(X,$,Z,Y){let{src:J,alt:G,width:Q,height:w,dpr:q=[1,2,3],quality:W=D4,params:U={},lazy:K=!0,priority:z=!1,loading:B=z?"eager":s8,decoding:_=r8,fetchpriority:j,objectFit:H,objectPosition:L,crossorigin:O,referrerpolicy:F}=X,V=X.class,A=X.style,R=X.data||{},T=typeof Q==="number"?Q:Number.parseInt(String(Q),10),M=Iw(J,T,q,{...U,q:W}),k=y4({src:ZX(J,{...U,w:T,q:W}),alt:G,width:Q,height:w,loading:z?void 0:B,decoding:_,fetchpriority:z?"high":j,objectFit:H,objectPosition:L,crossorigin:O,referrerpolicy:F,className:sw(V,Z),style:b4(A,H,L,Z),lazy:K&&!z,data:R}),N=K&&!z?`data-srcset="${M}"`:`srcset="${M}"`;if(Z){let y=`background-image: url('${Z.dataURL}'); background-size: cover; background-position: center;`;return`<div id="${$}" class="stx-img-placeholder" style="${y}">
14441
14441
  <img ${k} ${N} />
14442
- </div>`}return`<img ${$?`id="${$}" `:""}${k} ${N} />`}function DO(X){let{src:$,alt:Z,width:Y,height:J,loading:G=s8,decoding:Q=r8,fetchpriority:w,objectFit:q,objectPosition:W,crossorigin:U,referrerpolicy:K,priority:z=!1}=X,B=X.class,_=X.style,j=X.id,H=X.data||{};return{html:`<img ${D4({src:$,alt:Z,width:Y,height:J,loading:z?"eager":G,decoding:Q,fetchpriority:z?"high":w,objectFit:q,objectPosition:W,crossorigin:U,referrerpolicy:K,className:B,style:y4(_,q,W),id:j,data:H})} />`}}function D4(X){let $=[];if(X.lazy)$.push(`data-src="${Z1(X.src)}"`),$.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"');else $.push(`src="${Z1(X.src)}"`);if($.push(`alt="${Z1(X.alt)}"`),X.width)$.push(`width="${X.width}"`);if(X.height)$.push(`height="${X.height}"`);if(X.loading)$.push(`loading="${X.loading}"`);if(X.decoding)$.push(`decoding="${X.decoding}"`);if(X.fetchpriority)$.push(`fetchpriority="${X.fetchpriority}"`);if(X.crossorigin)$.push(`crossorigin="${X.crossorigin}"`);if(X.referrerpolicy)$.push(`referrerpolicy="${X.referrerpolicy}"`);if(X.className)$.push(`class="${Z1(X.className)}"`);if(X.style)$.push(`style="${Z1(X.style)}"`);if(X.id)$.push(`id="${Z1(X.id)}"`);if(X.data)for(let[Z,Y]of Object.entries(X.data))$.push(`data-${Z}="${Z1(Y)}"`);if(X.lazy)$.push("data-stx-lazy");return $.join(" ")}function nw(X,$){let Z=[];if(X)Z.push(X);if($)Z.push("stx-img-blur");return Z.join(" ")||""}function y4(X,$,Z,Y){let J=[];if($)J.push(`object-fit: ${$}`);if(Z)J.push(`object-position: ${Z}`);if(Y)J.push("opacity: 0; transition: opacity 300ms ease-out");if(X)J.push(X);return J.join("; ")}function Z1(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function rw(X){return`
14442
+ </div>`}return`<img ${$?`id="${$}" `:""}${k} ${N} />`}function SO(X){let{src:$,alt:Z,width:Y,height:J,loading:G=s8,decoding:Q=r8,fetchpriority:w,objectFit:q,objectPosition:W,crossorigin:U,referrerpolicy:K,priority:z=!1}=X,B=X.class,_=X.style,j=X.id,H=X.data||{};return{html:`<img ${y4({src:$,alt:Z,width:Y,height:J,loading:z?"eager":G,decoding:Q,fetchpriority:z?"high":w,objectFit:q,objectPosition:W,crossorigin:U,referrerpolicy:K,className:B,style:b4(_,q,W),id:j,data:H})} />`}}function y4(X){let $=[];if(X.lazy)$.push(`data-src="${Z1(X.src)}"`),$.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"');else $.push(`src="${Z1(X.src)}"`);if($.push(`alt="${Z1(X.alt)}"`),X.width)$.push(`width="${X.width}"`);if(X.height)$.push(`height="${X.height}"`);if(X.loading)$.push(`loading="${X.loading}"`);if(X.decoding)$.push(`decoding="${X.decoding}"`);if(X.fetchpriority)$.push(`fetchpriority="${X.fetchpriority}"`);if(X.crossorigin)$.push(`crossorigin="${X.crossorigin}"`);if(X.referrerpolicy)$.push(`referrerpolicy="${X.referrerpolicy}"`);if(X.className)$.push(`class="${Z1(X.className)}"`);if(X.style)$.push(`style="${Z1(X.style)}"`);if(X.id)$.push(`id="${Z1(X.id)}"`);if(X.data)for(let[Z,Y]of Object.entries(X.data))$.push(`data-${Z}="${Z1(Y)}"`);if(X.lazy)$.push("data-stx-lazy");return $.join(" ")}function sw(X,$){let Z=[];if(X)Z.push(X);if($)Z.push("stx-img-blur");return Z.join(" ")||""}function b4(X,$,Z,Y){let J=[];if($)J.push(`object-fit: ${$}`);if(Z)J.push(`object-position: ${Z}`);if(Y)J.push("opacity: 0; transition: opacity 300ms ease-out");if(X)J.push(X);return J.join("; ")}function Z1(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function ow(X){return`
14443
14443
  (function() {
14444
14444
  const container = document.getElementById('${X}');
14445
14445
  if (!container) return;
@@ -14476,7 +14476,7 @@ ${N.join(`
14476
14476
 
14477
14477
  observer.observe(container);
14478
14478
  })();
14479
- `.trim()}async function yO(X,$){let Z=await kO();if(!Z)return n8({...X,process:!1},$);let Y=$.tsImagesConfig;if(X.responsiveWidths&&X.responsiveWidths.length>0||X.widths&&X.widths.length>0||!X.width&&!X.dpr){let G=await Z.generateResponsiveVariants(X.src,X,Y);if(G)return sw(X,G,$)}else{let G=await Z.processImage(X.src,X,Y);if(G.processed)return b4(X,G,$)}return n8({...X,process:!1},$)}async function b4(X,$,Z){let{alt:Y,width:J,height:G,lazy:Q=!0,priority:w=!1,objectFit:q,objectPosition:W,crossorigin:U,referrerpolicy:K}=X,z=X.class,B=X.style,_=X.id||`stx-img-${Math.random().toString(36).slice(2,8)}`,j=X.data||{},H=$.variants||[],L=H.find((P)=>P.format==="jpeg")||H.find((P)=>P.format==="webp")||H[0],O=L?.url||X.src,F=H.filter((P)=>P.format===(L?.format||"jpeg")).map((P)=>`${P.url} ${P.width}w`).join(", "),V=new Map;for(let P of H){if(!V.has(P.format))V.set(P.format,[]);V.get(P.format).push(P)}let A=[],R=["avif","webp","jpeg","png"];for(let P of R){let x=V.get(P);if(x&&x.length>0){let m=x.map((Q0)=>`${Q0.url} ${Q0.width}w`).join(", "),l=L4(P);if(Q&&!w)A.push(` <source type="${l}" data-srcset="${m}" />`);else A.push(` <source type="${l}" srcset="${m}" />`)}}let T=[];if(Q&&!w){if(T.push(`data-src="${Z1(O)}"`),T.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),F)T.push(`data-srcset="${F}"`)}else if(T.push(`src="${Z1(O)}"`),F)T.push(`srcset="${F}"`);T.push(`alt="${Z1(Y)}"`);let M=J||$.originalWidth,k=G||$.originalHeight;if(M)T.push(`width="${M}"`);if(k)T.push(`height="${k}"`);if(!w)T.push(`loading="${Q?"lazy":"eager"}"`);if(T.push('decoding="async"'),w)T.push('fetchpriority="high"');if(U)T.push(`crossorigin="${U}"`);if(K)T.push(`referrerpolicy="${K}"`);let N=[];if(q)N.push(`object-fit: ${q}`);if(W)N.push(`object-position: ${W}`);if($.placeholder&&Q)N.push("opacity: 0; transition: opacity 300ms ease-out");if(B)N.push(B);if(N.length>0)T.push(`style="${N.join("; ")}"`);let y=[];if(z)y.push(z);if($.placeholder)y.push("stx-img-blur");if(y.length>0)T.push(`class="${y.join(" ")}"`);if(Q&&!w)T.push("data-stx-lazy");for(let[P,x]of Object.entries(j))T.push(`data-${P}="${Z1(x)}"`);let I;if($.placeholder||$.dominantColor&&X.useDominantColor){let P=$.placeholder?`background-image: url('${$.placeholder}'); background-size: cover; background-position: center;`:`background-color: ${$.dominantColor};`;I=`<div id="${_}" class="stx-img-placeholder" style="${P}">
14479
+ `.trim()}async function CO(X,$){let Z=await DO();if(!Z)return n8({...X,process:!1},$);let Y=$.tsImagesConfig;if(X.responsiveWidths&&X.responsiveWidths.length>0||X.widths&&X.widths.length>0||!X.width&&!X.dpr){let G=await Z.generateResponsiveVariants(X.src,X,Y);if(G)return aw(X,G,$)}else{let G=await Z.processImage(X.src,X,Y);if(G.processed)return S4(X,G,$)}return n8({...X,process:!1},$)}async function S4(X,$,Z){let{alt:Y,width:J,height:G,lazy:Q=!0,priority:w=!1,objectFit:q,objectPosition:W,crossorigin:U,referrerpolicy:K}=X,z=X.class,B=X.style,_=X.id||`stx-img-${Math.random().toString(36).slice(2,8)}`,j=X.data||{},H=$.variants||[],L=H.find((P)=>P.format==="jpeg")||H.find((P)=>P.format==="webp")||H[0],O=L?.url||X.src,F=H.filter((P)=>P.format===(L?.format||"jpeg")).map((P)=>`${P.url} ${P.width}w`).join(", "),V=new Map;for(let P of H){if(!V.has(P.format))V.set(P.format,[]);V.get(P.format).push(P)}let A=[],R=["avif","webp","jpeg","png"];for(let P of R){let x=V.get(P);if(x&&x.length>0){let m=x.map((Q0)=>`${Q0.url} ${Q0.width}w`).join(", "),l=O4(P);if(Q&&!w)A.push(` <source type="${l}" data-srcset="${m}" />`);else A.push(` <source type="${l}" srcset="${m}" />`)}}let T=[];if(Q&&!w){if(T.push(`data-src="${Z1(O)}"`),T.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),F)T.push(`data-srcset="${F}"`)}else if(T.push(`src="${Z1(O)}"`),F)T.push(`srcset="${F}"`);T.push(`alt="${Z1(Y)}"`);let M=J||$.originalWidth,k=G||$.originalHeight;if(M)T.push(`width="${M}"`);if(k)T.push(`height="${k}"`);if(!w)T.push(`loading="${Q?"lazy":"eager"}"`);if(T.push('decoding="async"'),w)T.push('fetchpriority="high"');if(U)T.push(`crossorigin="${U}"`);if(K)T.push(`referrerpolicy="${K}"`);let N=[];if(q)N.push(`object-fit: ${q}`);if(W)N.push(`object-position: ${W}`);if($.placeholder&&Q)N.push("opacity: 0; transition: opacity 300ms ease-out");if(B)N.push(B);if(N.length>0)T.push(`style="${N.join("; ")}"`);let y=[];if(z)y.push(z);if($.placeholder)y.push("stx-img-blur");if(y.length>0)T.push(`class="${y.join(" ")}"`);if(Q&&!w)T.push("data-stx-lazy");for(let[P,x]of Object.entries(j))T.push(`data-${P}="${Z1(x)}"`);let I;if($.placeholder||$.dominantColor&&X.useDominantColor){let P=$.placeholder?`background-image: url('${$.placeholder}'); background-size: cover; background-position: center;`:`background-color: ${$.dominantColor};`;I=`<div id="${_}" class="stx-img-placeholder" style="${P}">
14480
14480
  <picture>
14481
14481
  ${A.join(`
14482
14482
  `)}
@@ -14486,12 +14486,12 @@ ${A.join(`
14486
14486
  ${A.join(`
14487
14487
  `)}
14488
14488
  <img ${T.join(" ")} />
14489
- </picture>`;let C=[];if($.placeholder)C.push(V4);let S=Q?rw(_):void 0,b;if(w&&F)b=`<link rel="preload" as="image" imagesrcset="${F}" />`;return{html:I,preloadLink:b,css:C.length>0?C.join(`
14490
- `):void 0,script:S}}async function sw(X,$,Z){let Y={src:$.src,processed:!0,variants:[],placeholder:$.placeholder?.dataURL,originalWidth:$.placeholder?.width,originalHeight:$.placeholder?.height};for(let[J,G]of Object.entries($.byFormat))if(G)Y.variants.push(...G);return b4(X,Y,Z)}var pw=!1,E4=80,r8="async",s8="lazy",iw=!1;var ow=D(()=>{O4();Ew()});function bO(){return g8({name:"img",hasEndTag:!1,description:"Render an optimized responsive image with srcset and lazy loading",transform:async(X,$,Z,Y)=>{let{src:J,alt:G,options:Q}=SO(X,$,Z);if(!J)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let w={src:J,alt:G||"",widths:Q.widths||Z7,formats:Q.formats||$X,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 n8(w,{isDev:q}),U=W.html;if(W.preloadLink)U=W.preloadLink+`
14489
+ </picture>`;let C=[];if($.placeholder)C.push(A4);let S=Q?ow(_):void 0,b;if(w&&F)b=`<link rel="preload" as="image" imagesrcset="${F}" />`;return{html:I,preloadLink:b,css:C.length>0?C.join(`
14490
+ `):void 0,script:S}}async function aw(X,$,Z){let Y={src:$.src,processed:!0,variants:[],placeholder:$.placeholder?.dataURL,originalWidth:$.placeholder?.width,originalHeight:$.placeholder?.height};for(let[J,G]of Object.entries($.byFormat))if(G)Y.variants.push(...G);return S4(X,Y,Z)}var nw=!1,D4=80,r8="async",s8="lazy",rw=!1;var tw=D(()=>{F4();yw()});function PO(){return g8({name:"img",hasEndTag:!1,description:"Render an optimized responsive image with srcset and lazy loading",transform:async(X,$,Z,Y)=>{let{src:J,alt:G,options:Q}=vO(X,$,Z);if(!J)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let w={src:J,alt:G||"",widths:Q.widths||Z7,formats:Q.formats||$X,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 n8(w,{isDev:q}),U=W.html;if(W.preloadLink)U=W.preloadLink+`
14491
14491
  `+U;if(W.css)U+=`
14492
14492
  <style>${W.css}</style>`;if(W.script)U+=`
14493
- <script>${W.script}</script>`;return U},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function SO(X,$,Z){if($.src)return{src:String($.src),alt:String($.alt||""),options:$.options||{}};let Y=X.trim();if(Y.startsWith("@img(")||Y.startsWith("("))Y=Y.replace(/^@img\(/,"").replace(/^\(/,"").replace(/\)$/,"");let J=CO(Y),G=S4(J[0],Z)||"",Q=S4(J[1],Z)||"",w={};if(J[2]){let q=S4(J[2],Z);if(typeof q==="object"&&q!==null)w=q;else if(typeof J[2]==="string")try{w=JSON.parse(J[2])}catch{}}return{src:G,alt:Q,options:w}}function CO(X){let $=[],Z="",Y=!1,J="",G=0,Q=0;for(let w=0;w<X.length;w++){let q=X[w],W=w>0?X[w-1]:"";if((q==='"'||q==="'"||q==="`")&&W!=="\\"){if(!Y)Y=!0,J=q;else if(q===J)Y=!1,J="";else Z+=q;continue}if(!Y){if(q==="{")G++;if(q==="}")G--;if(q==="[")Q++;if(q==="]")Q--;if(q===","&&G===0&&Q===0){$.push(Z.trim()),Z="";continue}}Z+=q}if(Z.trim())$.push(Z.trim());return $}function S4(X,$){if(typeof X!=="string")return X;let Z=X.trim();if(Z.startsWith('"')&&Z.endsWith('"')||Z.startsWith("'")&&Z.endsWith("'"))return Z.slice(1,-1);if(!Z.startsWith("/")&&!Z.startsWith(".")&&!Z.startsWith("http")&&!Z.startsWith("{")){let Y=$[Z];if(Y!==void 0)return Y}if(Z.startsWith("{")||Z.startsWith("["))try{return JSON.parse(Z)}catch{}return Z}var aw;var tw=D(()=>{B4();ow();O4();aw=bO()});class a8{config;constructor(X={}){this.config={...PO,...X}}async get(X,$){return u8(X,$,"video",this.config)}async set(X,$,Z){return d8(X,$,Z,"video",this.config)}async clear(){return m8("video",this.config)}updateConfig(X){this.config={...this.config,...X}}}function C4(X){if(!o8)o8=new a8(X);else if(X)o8.updateConfig(X);return o8}async function t8(X,$,Z){let Y=Z?{directory:`${Z.outputDir}/../.cache`}:{};return C4(Y).get(X,$)}async function e8(X,$,Z,Y){let J=Y?{directory:`${Y.outputDir}/../.cache`}:{};return C4(J).set(X,$,Z)}async function ew(){return C4().clear()}var PO,o8=null;var P4=D(()=>{T4();PO={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as v4,basename as x4,extname as f4,join as X$}from"path";import{mkdir as g4}from"fs/promises";async function h4(){try{return await import("ts-videos")}catch{return null}}async function $$(X,$,Z,Y){let J=await h4();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let G=v4(X);if(!await D0(G))return null;await g4(Z,{recursive:!0});let Q=await b0(G),w=x4(X,f4(X)),q=$.format||"webp",W=$.timestamp||0,U=`${w}-poster-${Q}.${q}`,K=X$(Z,U),z=await J.extractThumbnails(G,{timestamps:[W],width:$.width||1280,height:$.height,format:q,quality:$.quality||85,outputDir:Z,outputPattern:U.replace(`.${q}`,"")});if(z&&z.length>0){let B=z[0];return{path:K,url:`${Y}/${U}`,width:B.width||$.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 Z$(X,$,Z,Y){let J=await h4();if(!J)return[];try{let G=v4(X);if(!await D0(G))return[];await g4(Z,{recursive:!0});let Q=await b0(G),w=x4(X,f4(X)),q=$.format||"webp",K=(await new J.Input(G).getInfo()).duration||60,z=$.count||10,B=$.interval||K/z,_=[];for(let H=0;H<z&&H*B<K;H++)_.push(H*B);let j=await J.extractThumbnails(G,{timestamps:_,width:$.width||320,format:q,quality:$.quality||80,outputDir:Z,outputPattern:`${w}-thumb-${Q}`});if(j&&j.length>0)return j.map((H,L)=>({path:H.path||X$(Z,`${w}-thumb-${Q}-${L}.${q}`),url:`${Y}/${w}-thumb-${Q}-${L}.${q}`,width:H.width||$.width||320,height:H.height||180,timestamp:_[L],size:H.size||0}));return[]}catch(G){return console.warn(`[stx-media] Failed to generate thumbnails: ${G}`),[]}}async function Xq(X,$,Z,Y){let J=await h4();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let G=v4(X);if(!await D0(G))return null;await g4(Z,{recursive:!0});let Q=await b0(G),w=x4(X,f4(X)),U=(await new J.Input(G).getInfo()).duration||60,K=$.columns||10,z=$.interval||5,B=$.thumbnailWidth||160,_=$.thumbnailHeight||90,j=$.format||"jpeg",H=Math.ceil(U/z),L=Math.ceil(H/K),O=`${w}-sprite-${Q}.${j}`,F=X$(Z,O),V=[];for(let R=0;R<H;R++)V.push(R*z);let A=await J.extractThumbnails(G,{timestamps:V,width:B,height:_,format:j,quality:$.quality||70,outputDir:X$(Z,".temp")});if(!A||A.length===0)return null;try{let R=await import("ts-images"),T=K*B,M=L*_,k=await R.createSprite({images:A.map((N)=>N.path),columns:K,padding:0,outputPath:F,format:j,quality:$.quality||70});return{url:`${Y}/${O}`,path:F,columns:K,rows:L,thumbnailWidth:B,thumbnailHeight:_,interval:z,totalFrames:H}}catch{return console.warn("[stx-media] ts-images not installed, sprite sheet generation skipped"),null}}catch(G){return console.warn(`[stx-media] Failed to generate sprite sheet: ${G}`),null}}var u4=D(()=>{j5()});import{resolve as Zq,basename as Yq,extname as Jq,join as H5}from"path";import{mkdir as Y$,writeFile as Gq}from"fs/promises";async function Qq(){try{return await import("ts-videos")}catch{return null}}async function J$(X,$,Z,Y,J){let G=await Qq();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let Q=Zq(X);if(!await D0(Q))return null;let w=await b0(Q),q=Yq(X,Jq(X)),W=H5(Z,`${q}-${w}-hls`);await Y$(W,{recursive:!0});let U=$.length>0?$:wq,K=J?.segmentDuration||6,_=(await new G.Input(Q).getInfo()).duration||0,j=[],H=0;for(let F of U){let V=H5(W,F.label);await Y$(V,{recursive:!0});let A=`${F.label}.m3u8`,R=H5(V,A);try{let T=await G.generateHLS(Q,{outputDir:V,segmentDuration:K,width:F.width,height:F.height,videoBitrate:F.bitrate,audioBitrate:F.audioBitrate,playlistName:F.label});if(T)j.push({quality:F,url:`${Y}/${q}-${w}-hls/${F.label}/${A}`,path:R}),H+=T.segmentCount||Math.ceil(_/K)}catch(T){console.warn(`[stx-media] Failed to generate HLS for ${F.label}: ${T}`)}}if(j.length===0)return null;let L=H5(W,"master.m3u8"),O=vO(j,Y,q,w);return await Gq(L,O),{manifestUrl:`${Y}/${q}-${w}-hls/master.m3u8`,manifestPath:L,playlists:j,segmentCount:H,duration:_}}catch(Q){return console.warn(`[stx-media] Failed to generate HLS manifest: ${Q}`),null}}function vO(X,$,Z,Y){let J=["#EXTM3U","#EXT-X-VERSION:3"];for(let G of X){let{quality:Q}=G,w=Q.bitrate+(Q.audioBitrate||128000),q=`${Q.width}x${Q.height||Math.round(Q.width*9/16)}`;J.push(`#EXT-X-STREAM-INF:BANDWIDTH=${w},RESOLUTION=${q},NAME="${Q.label}"`,`${Q.label}/${Q.label}.m3u8`)}return J.join(`
14494
- `)}async function G$(X,$,Z,Y,J){let G=await Qq();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let Q=Zq(X);if(!await D0(Q))return null;let w=await b0(Q),q=Yq(X,Jq(X)),W=H5(Z,`${q}-${w}-dash`);await Y$(W,{recursive:!0});let U=$.length>0?$:wq,K=J?.segmentDuration||4,z=J?.minBufferTime||2,j=(await new G.Input(Q).getInfo()).duration||0,H=[],L=[];for(let A of U){let R=H5(W,A.label);await Y$(R,{recursive:!0});try{if(await G.generateDASH(Q,{outputDir:R,segmentDuration:K,width:A.width,height:A.height,videoBitrate:A.bitrate,audioBitrate:A.audioBitrate})){if(H.push({bandwidth:A.bitrate,width:A.width,height:A.height||Math.round(A.width*9/16),url:`${Y}/${q}-${w}-dash/${A.label}/video`}),A.audioBitrate)L.push({bandwidth:A.audioBitrate,url:`${Y}/${q}-${w}-dash/${A.label}/audio`})}}catch(T){console.warn(`[stx-media] Failed to generate DASH for ${A.label}: ${T}`)}}if(H.length===0)return null;let O=H5(W,"manifest.mpd"),F=xO(H,L,j,K,z);await Gq(O,F);let V=[{type:"video",representations:H}];if(L.length>0)V.push({type:"audio",representations:L});return{manifestUrl:`${Y}/${q}-${w}-dash/manifest.mpd`,manifestPath:O,adaptationSets:V,duration:j}}catch(Q){return console.warn(`[stx-media] Failed to generate DASH manifest: ${Q}`),null}}function xO(X,$,Z,Y,J){let G=$q(Z),Q=$q(J),w=`<?xml version="1.0" encoding="UTF-8"?>
14493
+ <script>${W.script}</script>`;return U},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function vO(X,$,Z){if($.src)return{src:String($.src),alt:String($.alt||""),options:$.options||{}};let Y=X.trim();if(Y.startsWith("@img(")||Y.startsWith("("))Y=Y.replace(/^@img\(/,"").replace(/^\(/,"").replace(/\)$/,"");let J=xO(Y),G=C4(J[0],Z)||"",Q=C4(J[1],Z)||"",w={};if(J[2]){let q=C4(J[2],Z);if(typeof q==="object"&&q!==null)w=q;else if(typeof J[2]==="string")try{w=JSON.parse(J[2])}catch{}}return{src:G,alt:Q,options:w}}function xO(X){let $=[],Z="",Y=!1,J="",G=0,Q=0;for(let w=0;w<X.length;w++){let q=X[w],W=w>0?X[w-1]:"";if((q==='"'||q==="'"||q==="`")&&W!=="\\"){if(!Y)Y=!0,J=q;else if(q===J)Y=!1,J="";else Z+=q;continue}if(!Y){if(q==="{")G++;if(q==="}")G--;if(q==="[")Q++;if(q==="]")Q--;if(q===","&&G===0&&Q===0){$.push(Z.trim()),Z="";continue}}Z+=q}if(Z.trim())$.push(Z.trim());return $}function C4(X,$){if(typeof X!=="string")return X;let Z=X.trim();if(Z.startsWith('"')&&Z.endsWith('"')||Z.startsWith("'")&&Z.endsWith("'"))return Z.slice(1,-1);if(!Z.startsWith("/")&&!Z.startsWith(".")&&!Z.startsWith("http")&&!Z.startsWith("{")){let Y=$[Z];if(Y!==void 0)return Y}if(Z.startsWith("{")||Z.startsWith("["))try{return JSON.parse(Z)}catch{}return Z}var ew;var Xq=D(()=>{j4();tw();F4();ew=PO()});class a8{config;constructor(X={}){this.config={...fO,...X}}async get(X,$){return u8(X,$,"video",this.config)}async set(X,$,Z){return d8(X,$,Z,"video",this.config)}async clear(){return m8("video",this.config)}updateConfig(X){this.config={...this.config,...X}}}function P4(X){if(!o8)o8=new a8(X);else if(X)o8.updateConfig(X);return o8}async function t8(X,$,Z){let Y=Z?{directory:`${Z.outputDir}/../.cache`}:{};return P4(Y).get(X,$)}async function e8(X,$,Z,Y){let J=Y?{directory:`${Y.outputDir}/../.cache`}:{};return P4(J).set(X,$,Z)}async function $q(){return P4().clear()}var fO,o8=null;var v4=D(()=>{M4();fO={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as x4,basename as f4,extname as g4,join as X$}from"path";import{mkdir as h4}from"fs/promises";async function u4(){try{return await import("ts-videos")}catch{return null}}async function $$(X,$,Z,Y){let J=await u4();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let G=x4(X);if(!await D0(G))return null;await h4(Z,{recursive:!0});let Q=await b0(G),w=f4(X,g4(X)),q=$.format||"webp",W=$.timestamp||0,U=`${w}-poster-${Q}.${q}`,K=X$(Z,U),z=await J.extractThumbnails(G,{timestamps:[W],width:$.width||1280,height:$.height,format:q,quality:$.quality||85,outputDir:Z,outputPattern:U.replace(`.${q}`,"")});if(z&&z.length>0){let B=z[0];return{path:K,url:`${Y}/${U}`,width:B.width||$.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 Z$(X,$,Z,Y){let J=await u4();if(!J)return[];try{let G=x4(X);if(!await D0(G))return[];await h4(Z,{recursive:!0});let Q=await b0(G),w=f4(X,g4(X)),q=$.format||"webp",K=(await new J.Input(G).getInfo()).duration||60,z=$.count||10,B=$.interval||K/z,_=[];for(let H=0;H<z&&H*B<K;H++)_.push(H*B);let j=await J.extractThumbnails(G,{timestamps:_,width:$.width||320,format:q,quality:$.quality||80,outputDir:Z,outputPattern:`${w}-thumb-${Q}`});if(j&&j.length>0)return j.map((H,L)=>({path:H.path||X$(Z,`${w}-thumb-${Q}-${L}.${q}`),url:`${Y}/${w}-thumb-${Q}-${L}.${q}`,width:H.width||$.width||320,height:H.height||180,timestamp:_[L],size:H.size||0}));return[]}catch(G){return console.warn(`[stx-media] Failed to generate thumbnails: ${G}`),[]}}async function Zq(X,$,Z,Y){let J=await u4();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let G=x4(X);if(!await D0(G))return null;await h4(Z,{recursive:!0});let Q=await b0(G),w=f4(X,g4(X)),U=(await new J.Input(G).getInfo()).duration||60,K=$.columns||10,z=$.interval||5,B=$.thumbnailWidth||160,_=$.thumbnailHeight||90,j=$.format||"jpeg",H=Math.ceil(U/z),L=Math.ceil(H/K),O=`${w}-sprite-${Q}.${j}`,F=X$(Z,O),V=[];for(let R=0;R<H;R++)V.push(R*z);let A=await J.extractThumbnails(G,{timestamps:V,width:B,height:_,format:j,quality:$.quality||70,outputDir:X$(Z,".temp")});if(!A||A.length===0)return null;try{let R=await import("ts-images"),T=K*B,M=L*_,k=await R.createSprite({images:A.map((N)=>N.path),columns:K,padding:0,outputPath:F,format:j,quality:$.quality||70});return{url:`${Y}/${O}`,path:F,columns:K,rows:L,thumbnailWidth:B,thumbnailHeight:_,interval:z,totalFrames:H}}catch{return console.warn("[stx-media] ts-images not installed, sprite sheet generation skipped"),null}}catch(G){return console.warn(`[stx-media] Failed to generate sprite sheet: ${G}`),null}}var d4=D(()=>{j5()});import{resolve as Jq,basename as Gq,extname as Qq,join as H5}from"path";import{mkdir as Y$,writeFile as wq}from"fs/promises";async function qq(){try{return await import("ts-videos")}catch{return null}}async function J$(X,$,Z,Y,J){let G=await qq();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let Q=Jq(X);if(!await D0(Q))return null;let w=await b0(Q),q=Gq(X,Qq(X)),W=H5(Z,`${q}-${w}-hls`);await Y$(W,{recursive:!0});let U=$.length>0?$:Wq,K=J?.segmentDuration||6,_=(await new G.Input(Q).getInfo()).duration||0,j=[],H=0;for(let F of U){let V=H5(W,F.label);await Y$(V,{recursive:!0});let A=`${F.label}.m3u8`,R=H5(V,A);try{let T=await G.generateHLS(Q,{outputDir:V,segmentDuration:K,width:F.width,height:F.height,videoBitrate:F.bitrate,audioBitrate:F.audioBitrate,playlistName:F.label});if(T)j.push({quality:F,url:`${Y}/${q}-${w}-hls/${F.label}/${A}`,path:R}),H+=T.segmentCount||Math.ceil(_/K)}catch(T){console.warn(`[stx-media] Failed to generate HLS for ${F.label}: ${T}`)}}if(j.length===0)return null;let L=H5(W,"master.m3u8"),O=gO(j,Y,q,w);return await wq(L,O),{manifestUrl:`${Y}/${q}-${w}-hls/master.m3u8`,manifestPath:L,playlists:j,segmentCount:H,duration:_}}catch(Q){return console.warn(`[stx-media] Failed to generate HLS manifest: ${Q}`),null}}function gO(X,$,Z,Y){let J=["#EXTM3U","#EXT-X-VERSION:3"];for(let G of X){let{quality:Q}=G,w=Q.bitrate+(Q.audioBitrate||128000),q=`${Q.width}x${Q.height||Math.round(Q.width*9/16)}`;J.push(`#EXT-X-STREAM-INF:BANDWIDTH=${w},RESOLUTION=${q},NAME="${Q.label}"`,`${Q.label}/${Q.label}.m3u8`)}return J.join(`
14494
+ `)}async function G$(X,$,Z,Y,J){let G=await qq();if(!G)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let Q=Jq(X);if(!await D0(Q))return null;let w=await b0(Q),q=Gq(X,Qq(X)),W=H5(Z,`${q}-${w}-dash`);await Y$(W,{recursive:!0});let U=$.length>0?$:Wq,K=J?.segmentDuration||4,z=J?.minBufferTime||2,j=(await new G.Input(Q).getInfo()).duration||0,H=[],L=[];for(let A of U){let R=H5(W,A.label);await Y$(R,{recursive:!0});try{if(await G.generateDASH(Q,{outputDir:R,segmentDuration:K,width:A.width,height:A.height,videoBitrate:A.bitrate,audioBitrate:A.audioBitrate})){if(H.push({bandwidth:A.bitrate,width:A.width,height:A.height||Math.round(A.width*9/16),url:`${Y}/${q}-${w}-dash/${A.label}/video`}),A.audioBitrate)L.push({bandwidth:A.audioBitrate,url:`${Y}/${q}-${w}-dash/${A.label}/audio`})}}catch(T){console.warn(`[stx-media] Failed to generate DASH for ${A.label}: ${T}`)}}if(H.length===0)return null;let O=H5(W,"manifest.mpd"),F=hO(H,L,j,K,z);await wq(O,F);let V=[{type:"video",representations:H}];if(L.length>0)V.push({type:"audio",representations:L});return{manifestUrl:`${Y}/${q}-${w}-dash/manifest.mpd`,manifestPath:O,adaptationSets:V,duration:j}}catch(Q){return console.warn(`[stx-media] Failed to generate DASH manifest: ${Q}`),null}}function hO(X,$,Z,Y,J){let G=Yq(Z),Q=Yq(J),w=`<?xml version="1.0" encoding="UTF-8"?>
14495
14495
  <MPD xmlns="urn:mpeg:dash:schema:mpd:2011"
14496
14496
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
14497
14497
  xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"
@@ -14517,7 +14517,7 @@ ${A.join(`
14517
14517
  </Representation>
14518
14518
  `}w+=` </AdaptationSet>
14519
14519
  `}return w+=` </Period>
14520
- </MPD>`,w}function $q(X){let $=Math.floor(X/3600),Z=Math.floor(X%3600/60),Y=Math.floor(X%60),J="PT";if($>0)J+=`${$}H`;if(Z>0)J+=`${Z}M`;return J+=`${Y}S`,J}var wq;var d4=D(()=>{j5();wq=[{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 qq,basename as fO,extname as gO,join as hO}from"path";import{mkdir as uO}from"fs/promises";async function Wq(){try{return await import("ts-videos")}catch{return null}}function dO(X){switch(X){case"very-low":return 500000;case"low":return 1e6;case"medium":return 2500000;case"high":return 5000000;case"very-high":return 1e7;case"lossless":return 0;default:return 2500000}}function mO(X){switch(X){case"youtube":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000};case"twitter":return{codec:"h264",maxWidth:1280,maxHeight:720,frameRate:30,bitrate:5000000,audioCodec:"aac",audioBitrate:128000};case"instagram-feed":return{codec:"h264",maxWidth:1080,maxHeight:1080,frameRate:30,bitrate:3500000,audioCodec:"aac",audioBitrate:128000};case"instagram-story":case"instagram-reels":return{codec:"h264",maxWidth:1080,maxHeight:1920,frameRate:30,bitrate:3500000,audioCodec:"aac",audioBitrate:128000};case"tiktok":return{codec:"h264",maxWidth:1080,maxHeight:1920,frameRate:30,bitrate:4000000,audioCodec:"aac",audioBitrate:128000};case"discord":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:60,bitrate:8000000,audioCodec:"aac",audioBitrate:192000};case"linkedin":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,bitrate:5000000,audioCodec:"aac",audioBitrate:128000};case"facebook":return{codec:"h264",maxWidth:1280,maxHeight:720,frameRate:30,bitrate:4000000,audioCodec:"aac",audioBitrate:128000};case"web-progressive":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000,twoPass:!0};case"web-streaming":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000};default:return{}}}async function m4(X){let $=await Wq();if(!$)return null;try{let Z=qq(X),J=await new $.Input(Z).getInfo();return{duration:J.duration||0,width:J.width||0,height:J.height||0,frameRate:J.frameRate||0,bitrate:J.bitrate||0,codec:J.videoCodec||"",audioCodec:J.audioCodec}}catch(Z){return console.warn(`[stx-media] Failed to analyze video: ${Z}`),null}}async function Uq(X,$,Z,Y){let J=await Wq();if(!J)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:X,processed:!1};let G=await t8(X,$,Z);if(G)return G;try{let Q=qq(X);if(!await D0(Q))return{src:X,processed:!1,errors:[`Source file not found: ${X}`]};let w=Z.outputDir||"dist/videos",q=Z.baseUrl||"/videos";await uO(w,{recursive:!0});let W=await b0(Q),U=fO(X,gO(X)),K={src:X,processed:!0,hash:W};Y?.({percentage:5,stage:"analyzing"}),K.metadata=await m4(Q)||void 0;let z={};if($.quality)z.bitrate=dO($.quality);if($.platform)Object.assign(z,mO($.platform));if($.transcode)Object.assign(z,$.transcode);if(Object.keys(z).length>0||$.process){Y?.({percentage:10,stage:"transcoding"});let B=`${U}-${W}.mp4`,_=hO(w,B);try{let j=await lO(Q,_,z,J,(H)=>Y?.({percentage:10+H*0.5,stage:"transcoding"}));if(j)K.transcoded={path:_,url:`${q}/${B}`,duration:j.duration,size:j.size,video:{codec:z.codec||"h264",width:j.width,height:j.height,bitrate:j.bitrate,frameRate:j.frameRate},audio:j.audioCodec?{codec:z.audioCodec||"aac",bitrate:z.audioBitrate||128000,sampleRate:z.sampleRate||48000,channels:z.channels||2}:void 0}}catch(j){K.errors=K.errors||[],K.errors.push(`Transcoding failed: ${j}`)}}if($.generatePoster){Y?.({percentage:65,stage:"generating-poster"});let B=typeof $.generatePoster==="object"?$.generatePoster:{timestamp:0},_=await $$(Q,B,w,q);if(_)K.poster=_}if(Z.thumbnails?.enabled){Y?.({percentage:70,stage:"generating-thumbnails"});let B=await Z$(Q,Z.thumbnails,w,q);if(B.length>0)K.thumbnails=B}if($.streaming){Y?.({percentage:80,stage:"generating-manifests"});let B=typeof $.streaming==="object"?$.streaming:Z.streaming||{format:"hls"};if(B.format==="hls"||B.format===void 0){let _=await J$(Q,B.qualities||Z.streaming?.defaultQualities||[],w,q);if(_)K.streaming={...K.streaming,hls:_}}if(B.format==="dash"){let _=await G$(Q,B.qualities||Z.streaming?.defaultQualities||[],w,q);if(_)K.streaming={...K.streaming,dash:_}}}if($.spriteSheet)Y?.({percentage:90,stage:"generating-sprite-sheet"});return Y?.({percentage:100,stage:"complete"}),await e8(X,$,K,Z),K}catch(Q){return{src:X,processed:!1,errors:[`Processing failed: ${Q}`]}}}async function lO(X,$,Z,Y,J){try{let Q=await new Y.Conversion(X,$,{videoCodec:Z.codec,videoBitrate:Z.bitrate,width:Z.maxWidth,height:Z.maxHeight,frameRate:Z.frameRate,audioCodec:Z.audioCodec,audioBitrate:Z.audioBitrate,sampleRate:Z.sampleRate,channels:Z.channels}).run((w)=>{J?.(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 Kq=D(()=>{j5();P4();u4();d4()});var zq={};t(zq,{setCachedVideoResult:()=>e8,processVideo:()=>Uq,getCachedVideoResult:()=>t8,generateThumbnails:()=>Z$,generateSpriteSheet:()=>Xq,generatePoster:()=>$$,generateHLSManifest:()=>J$,generateDASHManifest:()=>G$,clearVideoCache:()=>ew,analyzeVideo:()=>m4,VideoProcessorCache:()=>a8});var _q=D(()=>{Kq();u4();d4();P4()});async function jq(){try{return await Promise.resolve().then(() => (_q(),zq))}catch(X){if(!Bq)console.warn("[stx-media] Video processor not available, some features disabled:",X),Bq=!0;return null}}async function Q$(X,$={}){let Z=$,Y=X;if(Y.process&&!Y.skipProcessing){if(Z.tsVideosConfig?.enabled&&!Z.isDev)return sO(Y,Z)}if(Z.processedResult?.processed)return Fq(X,Z.processedResult,$);let J;if(Y.generatePoster&&Y.src&&!X.poster)J=await oO(Y,Z);let{src:G,sources:Q=[],poster:w,posterPlaceholder:q,controls:W=Hq,autoplay:U=!1,muted:K=!1,loop:z=!1,preload:B=Lq,playsinline:_=!0,lazy:j=!0,player:H="native",type:L,width:O,height:F,crossorigin:V,disablePictureInPicture:A=!1,disableRemotePlayback:R=!1}=X,T=J||w,M=X.class,k=X.style,N=X.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(H==="ts-video")return iO(X,$);if(L&&L!=="video")return pO(G||"",L,X);let y=Q.length>0?Q:G?[{src:G,type:Oq(G)}]:[],I=[`id="${N}"`];if(W)I.push("controls");if(U)I.push("autoplay");if(K)I.push("muted");if(z)I.push("loop");if(_)I.push("playsinline");if(A)I.push("disablepictureinpicture");if(R)I.push("disableremoteplayback");if(V)I.push(`crossorigin="${V}"`);if(j){if(I.push(`data-preload="${B}"`),I.push('preload="none"'),T)I.push(`data-poster="${A0(T)}"`);I.push("data-stx-lazy")}else if(I.push(`preload="${B}"`),T)I.push(`poster="${A0(T)}"`);if(O)I.push(`width="${O}"`);if(F)I.push(`height="${F}"`);if(M)I.push(`class="${A0(M)}"`);if(k)I.push(`style="${A0(k)}"`);let C=y.map((P)=>{return` <source ${j?`data-src="${A0(P.src)}"`:`src="${A0(P.src)}"`} type="${P.type}"${P.media?` media="${P.media}"`:""} />`}).join(`
14520
+ </MPD>`,w}function Yq(X){let $=Math.floor(X/3600),Z=Math.floor(X%3600/60),Y=Math.floor(X%60),J="PT";if($>0)J+=`${$}H`;if(Z>0)J+=`${Z}M`;return J+=`${Y}S`,J}var Wq;var m4=D(()=>{j5();Wq=[{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 Uq,basename as uO,extname as dO,join as mO}from"path";import{mkdir as lO}from"fs/promises";async function Kq(){try{return await import("ts-videos")}catch{return null}}function cO(X){switch(X){case"very-low":return 500000;case"low":return 1e6;case"medium":return 2500000;case"high":return 5000000;case"very-high":return 1e7;case"lossless":return 0;default:return 2500000}}function pO(X){switch(X){case"youtube":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000};case"twitter":return{codec:"h264",maxWidth:1280,maxHeight:720,frameRate:30,bitrate:5000000,audioCodec:"aac",audioBitrate:128000};case"instagram-feed":return{codec:"h264",maxWidth:1080,maxHeight:1080,frameRate:30,bitrate:3500000,audioCodec:"aac",audioBitrate:128000};case"instagram-story":case"instagram-reels":return{codec:"h264",maxWidth:1080,maxHeight:1920,frameRate:30,bitrate:3500000,audioCodec:"aac",audioBitrate:128000};case"tiktok":return{codec:"h264",maxWidth:1080,maxHeight:1920,frameRate:30,bitrate:4000000,audioCodec:"aac",audioBitrate:128000};case"discord":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:60,bitrate:8000000,audioCodec:"aac",audioBitrate:192000};case"linkedin":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,bitrate:5000000,audioCodec:"aac",audioBitrate:128000};case"facebook":return{codec:"h264",maxWidth:1280,maxHeight:720,frameRate:30,bitrate:4000000,audioCodec:"aac",audioBitrate:128000};case"web-progressive":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000,twoPass:!0};case"web-streaming":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000};default:return{}}}async function l4(X){let $=await Kq();if(!$)return null;try{let Z=Uq(X),J=await new $.Input(Z).getInfo();return{duration:J.duration||0,width:J.width||0,height:J.height||0,frameRate:J.frameRate||0,bitrate:J.bitrate||0,codec:J.videoCodec||"",audioCodec:J.audioCodec}}catch(Z){return console.warn(`[stx-media] Failed to analyze video: ${Z}`),null}}async function zq(X,$,Z,Y){let J=await Kq();if(!J)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:X,processed:!1};let G=await t8(X,$,Z);if(G)return G;try{let Q=Uq(X);if(!await D0(Q))return{src:X,processed:!1,errors:[`Source file not found: ${X}`]};let w=Z.outputDir||"dist/videos",q=Z.baseUrl||"/videos";await lO(w,{recursive:!0});let W=await b0(Q),U=uO(X,dO(X)),K={src:X,processed:!0,hash:W};Y?.({percentage:5,stage:"analyzing"}),K.metadata=await l4(Q)||void 0;let z={};if($.quality)z.bitrate=cO($.quality);if($.platform)Object.assign(z,pO($.platform));if($.transcode)Object.assign(z,$.transcode);if(Object.keys(z).length>0||$.process){Y?.({percentage:10,stage:"transcoding"});let B=`${U}-${W}.mp4`,_=mO(w,B);try{let j=await iO(Q,_,z,J,(H)=>Y?.({percentage:10+H*0.5,stage:"transcoding"}));if(j)K.transcoded={path:_,url:`${q}/${B}`,duration:j.duration,size:j.size,video:{codec:z.codec||"h264",width:j.width,height:j.height,bitrate:j.bitrate,frameRate:j.frameRate},audio:j.audioCodec?{codec:z.audioCodec||"aac",bitrate:z.audioBitrate||128000,sampleRate:z.sampleRate||48000,channels:z.channels||2}:void 0}}catch(j){K.errors=K.errors||[],K.errors.push(`Transcoding failed: ${j}`)}}if($.generatePoster){Y?.({percentage:65,stage:"generating-poster"});let B=typeof $.generatePoster==="object"?$.generatePoster:{timestamp:0},_=await $$(Q,B,w,q);if(_)K.poster=_}if(Z.thumbnails?.enabled){Y?.({percentage:70,stage:"generating-thumbnails"});let B=await Z$(Q,Z.thumbnails,w,q);if(B.length>0)K.thumbnails=B}if($.streaming){Y?.({percentage:80,stage:"generating-manifests"});let B=typeof $.streaming==="object"?$.streaming:Z.streaming||{format:"hls"};if(B.format==="hls"||B.format===void 0){let _=await J$(Q,B.qualities||Z.streaming?.defaultQualities||[],w,q);if(_)K.streaming={...K.streaming,hls:_}}if(B.format==="dash"){let _=await G$(Q,B.qualities||Z.streaming?.defaultQualities||[],w,q);if(_)K.streaming={...K.streaming,dash:_}}}if($.spriteSheet)Y?.({percentage:90,stage:"generating-sprite-sheet"});return Y?.({percentage:100,stage:"complete"}),await e8(X,$,K,Z),K}catch(Q){return{src:X,processed:!1,errors:[`Processing failed: ${Q}`]}}}async function iO(X,$,Z,Y,J){try{let Q=await new Y.Conversion(X,$,{videoCodec:Z.codec,videoBitrate:Z.bitrate,width:Z.maxWidth,height:Z.maxHeight,frameRate:Z.frameRate,audioCodec:Z.audioCodec,audioBitrate:Z.audioBitrate,sampleRate:Z.sampleRate,channels:Z.channels}).run((w)=>{J?.(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 _q=D(()=>{j5();v4();d4();m4()});var Bq={};t(Bq,{setCachedVideoResult:()=>e8,processVideo:()=>zq,getCachedVideoResult:()=>t8,generateThumbnails:()=>Z$,generateSpriteSheet:()=>Zq,generatePoster:()=>$$,generateHLSManifest:()=>J$,generateDASHManifest:()=>G$,clearVideoCache:()=>$q,analyzeVideo:()=>l4,VideoProcessorCache:()=>a8});var jq=D(()=>{_q();d4();m4();v4()});async function Lq(){try{return await Promise.resolve().then(() => (jq(),Bq))}catch(X){if(!Hq)console.warn("[stx-media] Video processor not available, some features disabled:",X),Hq=!0;return null}}async function Q$(X,$={}){let Z=$,Y=X;if(Y.process&&!Y.skipProcessing){if(Z.tsVideosConfig?.enabled&&!Z.isDev)return tO(Y,Z)}if(Z.processedResult?.processed)return Aq(X,Z.processedResult,$);let J;if(Y.generatePoster&&Y.src&&!X.poster)J=await eO(Y,Z);let{src:G,sources:Q=[],poster:w,posterPlaceholder:q,controls:W=Oq,autoplay:U=!1,muted:K=!1,loop:z=!1,preload:B=Fq,playsinline:_=!0,lazy:j=!0,player:H="native",type:L,width:O,height:F,crossorigin:V,disablePictureInPicture:A=!1,disableRemotePlayback:R=!1}=X,T=J||w,M=X.class,k=X.style,N=X.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(H==="ts-video")return sO(X,$);if(L&&L!=="video")return rO(G||"",L,X);let y=Q.length>0?Q:G?[{src:G,type:Vq(G)}]:[],I=[`id="${N}"`];if(W)I.push("controls");if(U)I.push("autoplay");if(K)I.push("muted");if(z)I.push("loop");if(_)I.push("playsinline");if(A)I.push("disablepictureinpicture");if(R)I.push("disableremoteplayback");if(V)I.push(`crossorigin="${V}"`);if(j){if(I.push(`data-preload="${B}"`),I.push('preload="none"'),T)I.push(`data-poster="${A0(T)}"`);I.push("data-stx-lazy")}else if(I.push(`preload="${B}"`),T)I.push(`poster="${A0(T)}"`);if(O)I.push(`width="${O}"`);if(F)I.push(`height="${F}"`);if(M)I.push(`class="${A0(M)}"`);if(k)I.push(`style="${A0(k)}"`);let C=y.map((P)=>{return` <source ${j?`data-src="${A0(P.src)}"`:`src="${A0(P.src)}"`} type="${P.type}"${P.media?` media="${P.media}"`:""} />`}).join(`
14521
14521
  `),S=`<video ${I.join(" ")}>
14522
14522
  ${C}
14523
14523
  Your browser does not support the video tag.
@@ -14556,9 +14556,9 @@ ${C}
14556
14556
 
14557
14557
  observer.observe(video);
14558
14558
  })();
14559
- `.trim();return{html:S,script:b}}function pO(X,$,Z){let{width:Y=640,height:J=360}=Z,G=Z.class,Q=Z.style,w=Z.id||`stx-embed-${Math.random().toString(36).slice(2,8)}`,q,W=null;switch($){case"youtube":W=nO(X),q=W?`https://www.youtube-nocookie.com/embed/${W}`:X;break;case"vimeo":W=rO(X),q=W?`https://player.vimeo.com/video/${W}`:X;break;case"dailymotion":W=X.split("/").pop()||"",q=`https://www.dailymotion.com/embed/video/${W}`;break;case"twitch":W=X.split("/").pop()||"",q=`https://player.twitch.tv/?video=${W}&parent=${typeof window<"u"?window.location.hostname:"localhost"}`;break;default:q=X}let U=[`id="${w}"`,`src="${A0(q)}"`,`width="${Y}"`,`height="${J}"`,'frameborder="0"',"allowfullscreen",'allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"'];if(G)U.push(`class="${A0(G)}"`);if(Q)U.push(`style="${A0(Q)}"`);if(Z.lazy)U.push('loading="lazy"');return{html:`<div class="stx-video-embed" style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;">
14559
+ `.trim();return{html:S,script:b}}function rO(X,$,Z){let{width:Y=640,height:J=360}=Z,G=Z.class,Q=Z.style,w=Z.id||`stx-embed-${Math.random().toString(36).slice(2,8)}`,q,W=null;switch($){case"youtube":W=oO(X),q=W?`https://www.youtube-nocookie.com/embed/${W}`:X;break;case"vimeo":W=aO(X),q=W?`https://player.vimeo.com/video/${W}`:X;break;case"dailymotion":W=X.split("/").pop()||"",q=`https://www.dailymotion.com/embed/video/${W}`;break;case"twitch":W=X.split("/").pop()||"",q=`https://player.twitch.tv/?video=${W}&parent=${typeof window<"u"?window.location.hostname:"localhost"}`;break;default:q=X}let U=[`id="${w}"`,`src="${A0(q)}"`,`width="${Y}"`,`height="${J}"`,'frameborder="0"',"allowfullscreen",'allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"'];if(G)U.push(`class="${A0(G)}"`);if(Q)U.push(`style="${A0(Q)}"`);if(Z.lazy)U.push('loading="lazy"');return{html:`<div class="stx-video-embed" style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;">
14560
14560
  <iframe ${U.join(" ")} style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe>
14561
- </div>`}}function iO(X,$={}){let{src:Z,sources:Y=[],poster:J,controls:G=!0,autoplay:Q=!1,muted:w=!1,loop:q=!1,preload:W="metadata",playsinline:U=!0,lazy:K=!0,width:z,height:B}=X,_=X.class,j=X.style,H=X.id||`ts-video-${Math.random().toString(36).slice(2,8)}`,L={src:Y.length>0?Y:Z,autoplay:Q,loop:q,muted:w,playsinline:U,preload:W,poster:J,controls:G,title:X.title},O=["position: relative",z?`width: ${typeof z==="number"?z+"px":z}`:"width: 100%",B?`height: ${typeof B==="number"?B+"px":B}`:"",j||""].filter(Boolean).join("; "),F=`
14561
+ </div>`}}function sO(X,$={}){let{src:Z,sources:Y=[],poster:J,controls:G=!0,autoplay:Q=!1,muted:w=!1,loop:q=!1,preload:W="metadata",playsinline:U=!0,lazy:K=!0,width:z,height:B}=X,_=X.class,j=X.style,H=X.id||`ts-video-${Math.random().toString(36).slice(2,8)}`,L={src:Y.length>0?Y:Z,autoplay:Q,loop:q,muted:w,playsinline:U,preload:W,poster:J,controls:G,title:X.title},O=["position: relative",z?`width: ${typeof z==="number"?z+"px":z}`:"width: 100%",B?`height: ${typeof B==="number"?B+"px":B}`:"",j||""].filter(Boolean).join("; "),F=`
14562
14562
  <div
14563
14563
  id="${H}"
14564
14564
  class="ts-video-player${_?" "+A0(_):""}"
@@ -14595,7 +14595,7 @@ ${C}
14595
14595
 
14596
14596
  // Load ts-video-player from CDN
14597
14597
  var script = document.createElement('script');
14598
- script.src = '${cO}';
14598
+ script.src = '${nO}';
14599
14599
  script.onload = initPlayer;
14600
14600
  script.onerror = function() {
14601
14601
  console.error('[stx] Failed to load ts-video-player');
@@ -14725,7 +14725,7 @@ else {
14725
14725
  .ts-video-player__play-button svg {
14726
14726
  margin-left: 4px;
14727
14727
  }
14728
- `.trim();return{html:F,script:V,css:A}}function Oq(X){switch(X.split(".").pop()?.toLowerCase()){case"mp4":return"video/mp4";case"webm":return"video/webm";case"ogg":case"ogv":return"video/ogg";case"mov":return"video/quicktime";case"avi":return"video/x-msvideo";case"mkv":return"video/x-matroska";case"m3u8":return"application/x-mpegURL";default:return"video/mp4"}}function nO(X){let $=[/youtube\.com\/watch\?v=([^&]+)/,/youtube\.com\/embed\/([^?]+)/,/youtu\.be\/([^?]+)/,/youtube\.com\/v\/([^?]+)/];for(let Z of $){let Y=X.match(Z);if(Y)return Y[1]}return null}function rO(X){let $=X.match(/vimeo\.com\/(\d+)/);return $?$[1]:null}function A0(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}async function sO(X,$){let Z=await jq();if(!Z)return Q$({...X,process:!1},$);let Y=$.tsVideosConfig,J=await Z.processVideo(X.src,X,Y,X.onProcessProgress);if(J.processed)return Fq(X,J,$);return Q$({...X,process:!1},$)}async function oO(X,$){let Z=await jq();if(!Z||!X.src)return;let Y=typeof X.generatePoster==="object"?X.generatePoster:{timestamp:0},J=$.tsVideosConfig||{enabled:!0,outputDir:"dist/videos",baseUrl:"/videos"};return(await Z.generatePoster(X.src,Y,J.outputDir,J.baseUrl||"/videos"))?.url}function Fq(X,$,Z){let{controls:Y=Hq,autoplay:J=!1,muted:G=!1,loop:Q=!1,preload:w=Lq,playsinline:q=!0,lazy:W=!0,width:U,height:K,crossorigin:z,disablePictureInPicture:B=!1,disableRemotePlayback:_=!1}=X,j=X.class,H=X.style,L=X.id||`stx-video-${Math.random().toString(36).slice(2,8)}`,O=X.src,F=Oq(O);if($.transcoded)O=$.transcoded.url,F="video/mp4";let V=$.streaming?.hls||$.streaming?.dash;if(V){if($.streaming?.hls)O=$.streaming.hls.manifestUrl,F="application/x-mpegURL";else if($.streaming?.dash)O=$.streaming.dash.manifestUrl,F="application/dash+xml"}let A=$.poster?.url||X.poster,R=[`id="${L}"`];if(Y)R.push("controls");if(J)R.push("autoplay");if(G)R.push("muted");if(Q)R.push("loop");if(q)R.push("playsinline");if(B)R.push("disablepictureinpicture");if(_)R.push("disableremoteplayback");if(z)R.push(`crossorigin="${z}"`);if(W){if(R.push(`data-preload="${w}"`),R.push('preload="none"'),A)R.push(`data-poster="${A0(A)}"`);R.push("data-stx-lazy")}else if(R.push(`preload="${w}"`),A)R.push(`poster="${A0(A)}"`);let T=U||$.metadata?.width,M=K||$.metadata?.height;if(T)R.push(`width="${T}"`);if(M)R.push(`height="${M}"`);if(j)R.push(`class="${A0(j)}"`);if(H)R.push(`style="${A0(H)}"`);let N=` <source ${W?`data-src="${A0(O)}"`:`src="${A0(O)}"`} type="${F}" />`,y=`<video ${R.join(" ")}>
14728
+ `.trim();return{html:F,script:V,css:A}}function Vq(X){switch(X.split(".").pop()?.toLowerCase()){case"mp4":return"video/mp4";case"webm":return"video/webm";case"ogg":case"ogv":return"video/ogg";case"mov":return"video/quicktime";case"avi":return"video/x-msvideo";case"mkv":return"video/x-matroska";case"m3u8":return"application/x-mpegURL";default:return"video/mp4"}}function oO(X){let $=[/youtube\.com\/watch\?v=([^&]+)/,/youtube\.com\/embed\/([^?]+)/,/youtu\.be\/([^?]+)/,/youtube\.com\/v\/([^?]+)/];for(let Z of $){let Y=X.match(Z);if(Y)return Y[1]}return null}function aO(X){let $=X.match(/vimeo\.com\/(\d+)/);return $?$[1]:null}function A0(X){return X.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}async function tO(X,$){let Z=await Lq();if(!Z)return Q$({...X,process:!1},$);let Y=$.tsVideosConfig,J=await Z.processVideo(X.src,X,Y,X.onProcessProgress);if(J.processed)return Aq(X,J,$);return Q$({...X,process:!1},$)}async function eO(X,$){let Z=await Lq();if(!Z||!X.src)return;let Y=typeof X.generatePoster==="object"?X.generatePoster:{timestamp:0},J=$.tsVideosConfig||{enabled:!0,outputDir:"dist/videos",baseUrl:"/videos"};return(await Z.generatePoster(X.src,Y,J.outputDir,J.baseUrl||"/videos"))?.url}function Aq(X,$,Z){let{controls:Y=Oq,autoplay:J=!1,muted:G=!1,loop:Q=!1,preload:w=Fq,playsinline:q=!0,lazy:W=!0,width:U,height:K,crossorigin:z,disablePictureInPicture:B=!1,disableRemotePlayback:_=!1}=X,j=X.class,H=X.style,L=X.id||`stx-video-${Math.random().toString(36).slice(2,8)}`,O=X.src,F=Vq(O);if($.transcoded)O=$.transcoded.url,F="video/mp4";let V=$.streaming?.hls||$.streaming?.dash;if(V){if($.streaming?.hls)O=$.streaming.hls.manifestUrl,F="application/x-mpegURL";else if($.streaming?.dash)O=$.streaming.dash.manifestUrl,F="application/dash+xml"}let A=$.poster?.url||X.poster,R=[`id="${L}"`];if(Y)R.push("controls");if(J)R.push("autoplay");if(G)R.push("muted");if(Q)R.push("loop");if(q)R.push("playsinline");if(B)R.push("disablepictureinpicture");if(_)R.push("disableremoteplayback");if(z)R.push(`crossorigin="${z}"`);if(W){if(R.push(`data-preload="${w}"`),R.push('preload="none"'),A)R.push(`data-poster="${A0(A)}"`);R.push("data-stx-lazy")}else if(R.push(`preload="${w}"`),A)R.push(`poster="${A0(A)}"`);let T=U||$.metadata?.width,M=K||$.metadata?.height;if(T)R.push(`width="${T}"`);if(M)R.push(`height="${M}"`);if(j)R.push(`class="${A0(j)}"`);if(H)R.push(`style="${A0(H)}"`);let N=` <source ${W?`data-src="${A0(O)}"`:`src="${A0(O)}"`} type="${F}" />`,y=`<video ${R.join(" ")}>
14729
14729
  ${N}
14730
14730
  Your browser does not support the video tag.
14731
14731
  </video>`;if($.spriteSheet)y=`<div class="stx-video-wrapper" data-sprite-sheet="${A0($.spriteSheet.url)}" data-sprite-cols="${$.spriteSheet.columns}" data-sprite-interval="${$.spriteSheet.interval}">
@@ -14774,9 +14774,9 @@ ${y}
14774
14774
  width: 100%;
14775
14775
  height: auto;
14776
14776
  }
14777
- `.trim();return{html:y,script:I,css:C}}var Bq=!1,Hq=!0,Lq="metadata",cO="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";var Vq=D(()=>{c4()});function Aq(){return g8({name:"video",hasEndTag:!1,description:"Render a video with optional ts-videos processing, streaming, and poster generation",transform:async(X,$,Z,Y)=>{let{src:J,options:G}=aO(X,$,Z);if(!J)return console.warn("@video directive: missing src argument"),"<!-- @video: missing src -->";let Q={src:J,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 Q$(Q,q),U=W.html;if(W.css)U+=`
14777
+ `.trim();return{html:y,script:I,css:C}}var Hq=!1,Oq=!0,Fq="metadata",nO="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";var Rq=D(()=>{p4()});function Tq(){return g8({name:"video",hasEndTag:!1,description:"Render a video with optional ts-videos processing, streaming, and poster generation",transform:async(X,$,Z,Y)=>{let{src:J,options:G}=XF(X,$,Z);if(!J)return console.warn("@video directive: missing src argument"),"<!-- @video: missing src -->";let Q={src:J,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 Q$(Q,q),U=W.html;if(W.css)U+=`
14778
14778
  <style>${W.css}</style>`;if(W.script)U+=`
14779
- <script>${W.script}</script>`;return U},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function aO(X,$,Z){if($.src)return{src:String($.src),options:$.options||{}};let Y=X.trim();if(Y.startsWith("@video(")||Y.startsWith("("))Y=Y.replace(/^@video\(/,"").replace(/^\(/,"").replace(/\)$/,"");let J=tO(Y),G=Rq(J[0],Z)||"",Q={};if(J[1]){let w=Rq(J[1],Z);if(typeof w==="object"&&w!==null)Q=w;else if(typeof J[1]==="string")try{Q=JSON.parse(J[1])}catch{}}return{src:G,options:Q}}function tO(X){let $=[],Z="",Y=!1,J="",G=0,Q=0;for(let w=0;w<X.length;w++){let q=X[w],W=w>0?X[w-1]:"";if((q==='"'||q==="'"||q==="`")&&W!=="\\"){if(!Y)Y=!0,J=q;else if(q===J)Y=!1,J="";else Z+=q;continue}if(!Y){if(q==="{")G++;if(q==="}")G--;if(q==="[")Q++;if(q==="]")Q--;if(q===","&&G===0&&Q===0){$.push(Z.trim()),Z="";continue}}Z+=q}if(Z.trim())$.push(Z.trim());return $}function Rq(X,$){if(typeof X!=="string")return X;let Z=X.trim();if(Z.startsWith('"')&&Z.endsWith('"')||Z.startsWith("'")&&Z.endsWith("'"))return Z.slice(1,-1);if(!Z.startsWith("/")&&!Z.startsWith(".")&&!Z.startsWith("http")&&!Z.startsWith("{")){let Y=$[Z];if(Y!==void 0)return Y}if(Z.startsWith("{")||Z.startsWith("["))try{return JSON.parse(Z)}catch{}return Z}var l4;var c4=D(()=>{B4();Vq();l4=Aq()});function eO(X,$){let Z=$.pwa?.manifest?.themeColor||"#4f46e5";return`<div class="stx-pwa-install" style="display:none;">
14779
+ <script>${W.script}</script>`;return U},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function XF(X,$,Z){if($.src)return{src:String($.src),options:$.options||{}};let Y=X.trim();if(Y.startsWith("@video(")||Y.startsWith("("))Y=Y.replace(/^@video\(/,"").replace(/^\(/,"").replace(/\)$/,"");let J=$F(Y),G=Mq(J[0],Z)||"",Q={};if(J[1]){let w=Mq(J[1],Z);if(typeof w==="object"&&w!==null)Q=w;else if(typeof J[1]==="string")try{Q=JSON.parse(J[1])}catch{}}return{src:G,options:Q}}function $F(X){let $=[],Z="",Y=!1,J="",G=0,Q=0;for(let w=0;w<X.length;w++){let q=X[w],W=w>0?X[w-1]:"";if((q==='"'||q==="'"||q==="`")&&W!=="\\"){if(!Y)Y=!0,J=q;else if(q===J)Y=!1,J="";else Z+=q;continue}if(!Y){if(q==="{")G++;if(q==="}")G--;if(q==="[")Q++;if(q==="]")Q--;if(q===","&&G===0&&Q===0){$.push(Z.trim()),Z="";continue}}Z+=q}if(Z.trim())$.push(Z.trim());return $}function Mq(X,$){if(typeof X!=="string")return X;let Z=X.trim();if(Z.startsWith('"')&&Z.endsWith('"')||Z.startsWith("'")&&Z.endsWith("'"))return Z.slice(1,-1);if(!Z.startsWith("/")&&!Z.startsWith(".")&&!Z.startsWith("http")&&!Z.startsWith("{")){let Y=$[Z];if(Y!==void 0)return Y}if(Z.startsWith("{")||Z.startsWith("["))try{return JSON.parse(Z)}catch{}return Z}var c4;var p4=D(()=>{j4();Rq();c4=Tq()});function ZF(X,$){let Z=$.pwa?.manifest?.themeColor||"#4f46e5";return`<div class="stx-pwa-install" style="display:none;">
14780
14780
  ${X}
14781
14781
  </div>
14782
14782
  <script>
@@ -14821,7 +14821,7 @@ ${y}
14821
14821
  }
14822
14822
  }
14823
14823
  })();
14824
- </script>`}function XF(X,$){let Z=$.pwa?.updates,Y=Z?.message||"A new version is available. Reload to update?",J=Z?.autoReload||!1,G=X.trim().length>0,Q=`
14824
+ </script>`}function YF(X,$){let Z=$.pwa?.updates,Y=Z?.message||"A new version is available. Reload to update?",J=Z?.autoReload||!1,G=X.trim().length>0,Q=`
14825
14825
  <div class="stx-pwa-update-banner" style="
14826
14826
  position: fixed;
14827
14827
  bottom: 0;
@@ -14932,7 +14932,7 @@ else {
14932
14932
  // Also listen for custom event
14933
14933
  window.addEventListener('pwa-update-available', showUpdate);
14934
14934
  })();
14935
- </script>`}function $F(X,$){let Z=X.trim().length>0,Y=`
14935
+ </script>`}function JF(X,$){let Z=X.trim().length>0,Y=`
14936
14936
  <div class="stx-offline-indicator" style="
14937
14937
  position: fixed;
14938
14938
  top: 16px;
@@ -14993,7 +14993,7 @@ else {
14993
14993
  window.addEventListener('offline', updateStatus);
14994
14994
  updateStatus();
14995
14995
  })();
14996
- </script>`}function ZF(X,$){let Z=$.pwa?.push,Y=Z?.vapidPublicKey||"",J=Z?.subscriptionEndpoint||"/api/push/subscribe";return`<div class="stx-pwa-push" style="display:none;">
14996
+ </script>`}function GF(X,$){let Z=$.pwa?.push,Y=Z?.vapidPublicKey||"",J=Z?.subscriptionEndpoint||"/api/push/subscribe";return`<div class="stx-pwa-push" style="display:none;">
14997
14997
  ${X}
14998
14998
  </div>
14999
14999
  <script>
@@ -15075,7 +15075,7 @@ catch (error) {
15075
15075
  init();
15076
15076
  }
15077
15077
  })();
15078
- </script>`}var YF,JF,GF,QF,Tq;var Mq=D(()=>{YF={name:"pwa.installButton",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return eO(X,J)},hasEndTag:!0,description:"Renders a PWA install prompt button that appears when the app can be installed"},JF={name:"pwa.updatePrompt",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return XF(X,J)},hasEndTag:!0,description:"Renders a PWA update notification UI when a new version is available"},GF={name:"pwa.offlineIndicator",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return $F(X,J)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},QF={name:"pwa.pushSubscribe",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return ZF(X,J)},hasEndTag:!0,description:"Renders a push notification subscription button"},Tq=[YF,JF,GF,QF]});import YX from"path";function wF(X,$){let Z=X.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Y=Z?Z[1].trim():"",J=$,G=[],Q=!0;if(Y){let K=Y.match(/export\s+default\s+({[\s\S]*})/);if(K)try{let z=K[1],B=z.match(/tag\s*:\s*['"`]([^'"`]+)['"`]/);if(B)J=B[1];let _=z.match(/props\s*:\s*\[([\s\S]*?)\]/);if(_)G=_[1].split(",").map((H)=>H.trim().replace(/['"`]/g,"")).filter((H)=>H.length>0);let j=z.match(/shadowDOM\s*:\s*(true|false)/);if(j)Q=j[1]==="true"}catch{}}let w=X.match(/<template\b(?![^>]*\bid\s*=)[^>]*>([\s\S]*?)<\/template>/i),q=w?w[1].trim():"",W=X.match(/<style\b[^>]*>([\s\S]*?)<\/style>/i),U=W?W[1].trim():"";return{tag:J,props:G,template:q,styles:U,script:Y,shadowDOM:Q}}function qF(X){let{tag:$,props:Z,template:Y,styles:J,shadowDOM:G}=X,Q=$.split("-").map((K)=>K.charAt(0).toUpperCase()+K.slice(1)).join(""),w=Y.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),q=J.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),W=Z.map((K)=>`'${K}'`).join(", "),U=Z.map((K)=>`
15078
+ </script>`}var QF,wF,qF,WF,Nq;var kq=D(()=>{QF={name:"pwa.installButton",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return ZF(X,J)},hasEndTag:!0,description:"Renders a PWA install prompt button that appears when the app can be installed"},wF={name:"pwa.updatePrompt",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return YF(X,J)},hasEndTag:!0,description:"Renders a PWA update notification UI when a new version is available"},qF={name:"pwa.offlineIndicator",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return JF(X,J)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},WF={name:"pwa.pushSubscribe",handler:(X,$,Z,Y)=>{let J=Z.__stx_options||{};return GF(X,J)},hasEndTag:!0,description:"Renders a push notification subscription button"},Nq=[QF,wF,qF,WF]});import YX from"path";function UF(X,$){let Z=X.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Y=Z?Z[1].trim():"",J=$,G=[],Q=!0;if(Y){let K=Y.match(/export\s+default\s+({[\s\S]*})/);if(K)try{let z=K[1],B=z.match(/tag\s*:\s*['"`]([^'"`]+)['"`]/);if(B)J=B[1];let _=z.match(/props\s*:\s*\[([\s\S]*?)\]/);if(_)G=_[1].split(",").map((H)=>H.trim().replace(/['"`]/g,"")).filter((H)=>H.length>0);let j=z.match(/shadowDOM\s*:\s*(true|false)/);if(j)Q=j[1]==="true"}catch{}}let w=X.match(/<template\b(?![^>]*\bid\s*=)[^>]*>([\s\S]*?)<\/template>/i),q=w?w[1].trim():"",W=X.match(/<style\b[^>]*>([\s\S]*?)<\/style>/i),U=W?W[1].trim():"";return{tag:J,props:G,template:q,styles:U,script:Y,shadowDOM:Q}}function KF(X){let{tag:$,props:Z,template:Y,styles:J,shadowDOM:G}=X,Q=$.split("-").map((K)=>K.charAt(0).toUpperCase()+K.slice(1)).join(""),w=Y.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),q=J.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),W=Z.map((K)=>`'${K}'`).join(", "),U=Z.map((K)=>`
15079
15079
  get ${K}() {
15080
15080
  return this.getAttribute('${K}') || '';
15081
15081
  }
@@ -15126,9 +15126,9 @@ ${U}
15126
15126
  }
15127
15127
 
15128
15128
  customElements.define('${$}', ${Q});
15129
- `}async function Nq(X,$,Z,Y){if($.length<1)return $0("WebComponent","@webcomponent directive requires at least the tag name parameter",o.INVALID_DIRECTIVE_SYNTAX);let J=$[0].replace(/['"]/g,""),Q=(Z.__stx_options||{}).componentsDir||"components",w=[YX.join(YX.dirname(Y),Q,`${J}.stx`),YX.join(process.cwd(),Q,`${J}.stx`),YX.join(YX.dirname(Y),`${J}.stx`)],q=null;for(let K of w)if(await i(K)){q=await Bun.file(K).text();break}if(!q)return $0("WebComponent",`Component file not found: ${J}.stx`,o.FILE_NOT_FOUND);let W=wF(q,J);return`<script type="module">
15130
- ${qF(W)}
15131
- </script>`}var kq=D(()=>{F1();T0()});var Iq={};t(Iq,{timingPlugin:()=>_F,pluginManager:()=>WF,definePlugin:()=>w$,debugPlugin:()=>zF,createVariablesPlugin:()=>BF,createFilterPlugin:()=>KF,createDirectivePlugin:()=>UF,PluginManager:()=>p4});function w$(X){return X}class p4{plugins=new Map;sortedPlugins=[];initialized=!1;async register(X,$){if(this.plugins.has(X.name))throw Error(`Plugin "${X.name}" is already registered`);if(X.dependencies){for(let Z of X.dependencies)if(!this.plugins.has(Z))throw Error(`Plugin "${X.name}" depends on "${Z}" which is not registered`)}if(this.plugins.set(X.name,X),X.onRegister)await X.onRegister($);this.sortPlugins()}async unregister(X){let $=this.plugins.get(X);if(!$)return!1;for(let[Z,Y]of this.plugins)if(Y.dependencies?.includes(X))throw Error(`Cannot unregister "${X}" because "${Z}" depends on it`);if($.onUnregister)await $.onUnregister();return this.plugins.delete(X),this.sortPlugins(),!0}get(X){return this.plugins.get(X)}has(X){return this.plugins.has(X)}getAll(){return[...this.sortedPlugins]}getAllDirectives(){let X=[];for(let $ of this.sortedPlugins)if($.registerDirectives)X.push(...$.registerDirectives());return X}getAllFilters(){let X={};for(let $ of this.sortedPlugins)if($.registerFilters)Object.assign(X,$.registerFilters());return X}async runBeforeProcess(X){return this.runHooks("beforeProcess",X)}async runAfterParse(X){return this.runHooks("afterParse",X)}async runBeforeDirective(X,$){return this.runDirectiveHooks("beforeDirective",X,$)}async runAfterDirective(X,$){return this.runDirectiveHooks("afterDirective",X,$)}async runBeforeRender(X){return this.runHooks("beforeRender",X)}async runAfterRender(X){return this.runHooks("afterRender",X)}async runOnError(X){for(let $ of this.sortedPlugins)if($.onError)try{let Z=await $.onError(X);if(Z){if(Z.template!==void 0)X.template=Z.template;if(Z.context)X.context={...X.context,...Z.context};if(Z.metadata)X.metadata={...X.metadata,...Z.metadata};if(Z.skip)return X}}catch(Z){console.error(`Error in plugin "${$.name}" onError hook:`,Z)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort((X,$)=>(X.priority??100)-($.priority??100))}async runHooks(X,$){let Z={...$};for(let Y of this.sortedPlugins){let J=Y[X];if(J)try{let G=await J(Z);if(G){if(G.template!==void 0)Z.template=G.template;if(G.context)Z.context={...Z.context,...G.context};if(G.metadata)Z.metadata={...Z.metadata,...G.metadata};if(G.skip)break}}catch(G){console.error(`Error in plugin "${Y.name}" ${X} hook:`,G)}}return Z}async runDirectiveHooks(X,$,Z){let Y={...Z};for(let J of this.sortedPlugins){let G=J[X];if(G)try{let Q=await G($,Y);if(Q){if(Q.template!==void 0)Y.template=Q.template;if(Q.context)Y.context={...Y.context,...Q.context};if(Q.metadata)Y.metadata={...Y.metadata,...Q.metadata};if(Q.skip)break}}catch(Q){console.error(`Error in plugin "${J.name}" ${X} hook:`,Q)}}return Y}}function UF(X,$,Z={}){return{name:X,...Z,registerDirectives:()=>$}}function KF(X,$,Z={}){return{name:X,...Z,registerFilters:()=>$}}function BF(X){return w$({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess($){return{context:{...$.context,...X}}}})}var WF,zF,_F;var Eq=D(()=>{WF=new p4;zF=w$({name:"stx-debug",version:"1.0.0",description:"Logs all plugin lifecycle events for debugging",priority:0,beforeProcess(X){console.log("[stx-debug] beforeProcess:",X.filePath)},afterParse(X){console.log("[stx-debug] afterParse:",X.template.length,"chars")},beforeDirective(X,$){console.log("[stx-debug] beforeDirective:",X)},afterDirective(X,$){console.log("[stx-debug] afterDirective:",X)},beforeRender(X){console.log("[stx-debug] beforeRender")},afterRender(X){console.log("[stx-debug] afterRender:",X.template.length,"chars")},onError(X){console.error("[stx-debug] onError:",X.error.message,"in phase:",X.phase)}}),_F=w$({name:"stx-timing",version:"1.0.0",description:"Measures template processing time",priority:1,beforeProcess(X){X.metadata.startTime=performance.now()},afterRender(X){let $=X.metadata.startTime;if($){let Z=performance.now()-$;console.log(`[stx-timing] Processing took ${Z.toFixed(2)}ms`)}}})});var UZ={};t(UZ,{validateConfig:()=>AF,resolveStxDirectories:()=>bq,loadStxConfig:()=>u1,defineStxConfig:()=>VF,defaultConfig:()=>A1,config:()=>k7});import q$ from"fs";import l0 from"path";import{loadConfigWithResult as jF}from"bunfig";function HF(X,$,Z){let Y=$||"pages";if(X)return{root:X,pagesDir:Y};let J=Z||process.cwd(),G=l0.join(J,"resources","views"),Q=l0.join(J,"resources","layouts");if(q$.existsSync(G)&&q$.existsSync(Q))return{root:"resources",pagesDir:"views"};let w=l0.join(J,"resources","views","pages");if(q$.existsSync(w))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}function LF(X,$){let Z=$.replace(/[\\/]+$/,"");if(!Z||Z===".")return!0;let Y=X.replace(/\\/g,"/"),J=Z.replace(/\\/g,"/");return Y===J||Y.startsWith(`${J}/`)}function bq(X,$){let Z=!X.root,Y=HF(X.root,X.pagesDir,$);if(X.root=Y.root,X.pagesDir=Y.pagesDir,Z&&Y.root!=="."){let J=`${$}::${Y.root}`;if(!Dq.has(J))Dq.add(J),console.warn(`[stx] No "root" in config \u2014 inferred "${Y.root}" from the project layout. Template directories are resolved under it; set root explicitly to pin this.`)}if(X.root&&X.root!=="."){let J=X.root;for(let G of["partialsDir","componentsDir","layoutsDir"]){let Q=X[G];if(typeof Q!=="string"||!Q)continue;if(l0.isAbsolute(Q)||LF(Q,J))continue;X[G]=l0.join(J,Q)}}return X}function OF(X,$){let Z=["componentsDir","layoutsDir","partialsDir"];for(let Y of Z){let J=X[Y];if(typeof J!=="string"||!J)continue;let G=l0.isAbsolute(J)?J:l0.join($,J);if(q$.existsSync(G))continue;let Q=X.root,w=!!Q&&Q!==".";console.warn(`[stx] ${String(Y)} resolves to "${G}", which does not exist. Configured as "${J}"`+(w?`, resolved under root "${Q}".`:"."))}}function FF(X){if(z6(X.stateDir),X.stateDir=A7(),X.cachePath=T7(X.cachePath),X.build)X.build.cacheDir=T7(X.build.cacheDir);if(X.media?.cache)X.media.cache.directory=T7(X.media.cache.directory);if(X.story)X.story.outDir=T7(X.story.outDir)}async function u1(X){if(!X){if(J7)return J7;if(W$)return W$}let $=X?l0.resolve(X):process.cwd(),Z=yq.get($);if(Z)return Z;let Y=(async()=>{let G=(await jF({name:"stx",alias:"ui",cwd:$,defaultConfig:A1,verbose:!1})).config;if(FF(G),bq(G,$),OF(G,$),G.plugins&&G.plugins.length>0){let{pluginManager:Q}=await Promise.resolve().then(() => (Eq(),Iq)),w=[],q=[];for(let W of G.plugins){let U=typeof W==="string"?W:W[0],K=typeof W==="string"?{}:W[1]||{};try{let z,B;try{z=await import(U),B=l0.dirname(X0.resolve(U))}catch{let j=l0.resolve(process.cwd(),U);z=await import(j),B=l0.dirname(j)}let _=z.default||z;if(Q.register(_,G),_.components){let j=Array.isArray(_.components)?_.components:[_.components];for(let H of j)w.push(l0.resolve(B,H))}if(_.pages){let j=l0.resolve(B,_.pages),H=K.path||"/";q.push({dir:j,prefix:H})}if(_.setup){let j={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 _.setup(K,j)}console.log(`[stx] Plugin loaded: ${_.name||U}`)}catch(z){console.warn(`[stx] Failed to load plugin ${U}:`,z.message)}}G._pluginComponentDirs=w,G._pluginPageDirs=q}return G})();if(yq.set($,Y),!X)W$=Y,Y.then((J)=>{J7=J}).catch(()=>{});return Y}function VF(X){return X}function AF(X){let $=[],Z=[];if(X.partialsDir!==void 0&&typeof X.partialsDir!=="string")$.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if(X.componentsDir!==void 0&&typeof X.componentsDir!=="string")$.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if(X.cache!==void 0&&typeof X.cache!=="boolean")$.push({path:"cache",message:"cache must be a boolean",severity:"error"});if(X.debug!==void 0&&typeof X.debug!=="boolean")$.push({path:"debug",message:"debug must be a boolean",severity:"error"});if(X.streaming){if(X.streaming.bufferSize!==void 0){if(typeof X.streaming.bufferSize!=="number"||X.streaming.bufferSize<=0)$.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if(X.streaming.timeout!==void 0){if(typeof X.streaming.timeout!=="number"||X.streaming.timeout<=0)$.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if(X.streaming.strategy!==void 0){let Y=["auto","manual","sections"];if(!Y.includes(X.streaming.strategy))$.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.i18n){if(X.i18n.format!==void 0){let Y=["json","yaml","yml","js"];if(!Y.includes(X.i18n.format))$.push({path:"i18n.format",message:`i18n.format must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.animation){if(X.animation.defaultDuration!==void 0){if(typeof X.animation.defaultDuration!=="number"||X.animation.defaultDuration<0)$.push({path:"animation.defaultDuration",message:"animation.defaultDuration must be a non-negative number",severity:"error"})}if(X.animation.staggerDelay!==void 0){if(typeof X.animation.staggerDelay!=="number"||X.animation.staggerDelay<0)$.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if(X.a11y){if(X.a11y.level!==void 0){let Y=["AA","AAA"];if(!Y.includes(X.a11y.level))$.push({path:"a11y.level",message:`a11y.level must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.hydration){if(X.hydration.mode!==void 0){let Y=["progressive","islands"];if(!Y.includes(X.hydration.mode))$.push({path:"hydration.mode",message:`hydration.mode must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.hydration.preload!==void 0){let Y=["none","eager","lazy"];if(!Y.includes(X.hydration.preload))$.push({path:"hydration.preload",message:`hydration.preload must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.customDirectives)if(!Array.isArray(X.customDirectives))$.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else X.customDirectives.forEach((Y,J)=>{if(!Y.name||typeof Y.name!=="string")$.push({path:`customDirectives[${J}].name`,message:"Custom directive must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")$.push({path:`customDirectives[${J}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if(X.middleware)if(!Array.isArray(X.middleware))$.push({path:"middleware",message:"middleware must be an array",severity:"error"});else X.middleware.forEach((Y,J)=>{if(!Y.name||typeof Y.name!=="string")$.push({path:`middleware[${J}].name`,message:"Middleware must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")$.push({path:`middleware[${J}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!Y.timing||!["before","after"].includes(Y.timing))$.push({path:`middleware[${J}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if(X.debug===!0&&X.cache===!0)Z.push({path:"debug+cache",message:"Debug mode with caching enabled may show stale content during development",severity:"warning"});if(X.seo?.enabled===!0&&!X.seo?.defaultConfig?.title)Z.push({path:"seo.defaultConfig.title",message:"SEO is enabled but no default title is set",severity:"warning"});if(X.pwa){if(X.pwa.enabled===!0&&!X.pwa.manifest?.name)$.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if(X.pwa.manifest?.display!==void 0){let Y=["fullscreen","standalone","minimal-ui","browser"];if(!Y.includes(X.pwa.manifest.display))$.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.manifest?.orientation!==void 0){let Y=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!Y.includes(X.pwa.manifest.orientation))$.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.routes){let Y=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];X.pwa.routes.forEach((J,G)=>{if(!J.pattern||typeof J.pattern!=="string")$.push({path:`pwa.routes[${G}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!Y.includes(J.strategy))$.push({path:`pwa.routes[${G}].strategy`,message:`PWA route strategy must be one of: ${Y.join(", ")}`,severity:"error"});if(J.maxAgeSeconds!==void 0&&(typeof J.maxAgeSeconds!=="number"||J.maxAgeSeconds<0))$.push({path:`pwa.routes[${G}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(J.maxEntries!==void 0&&(typeof J.maxEntries!=="number"||J.maxEntries<1))$.push({path:`pwa.routes[${G}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if(X.pwa.icons?.sizes){if(!Array.isArray(X.pwa.icons.sizes))$.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if(X.pwa.icons.sizes.filter((J)=>typeof J!=="number"||J<16||J>1024).length>0)$.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if(X.pwa.icons?.purpose){let Y=["any","maskable","monochrome"];if(X.pwa.icons.purpose.filter((G)=>!Y.includes(G)).length>0)$.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.enabled===!0&&!X.pwa.icons?.src)Z.push({path:"pwa.icons.src",message:"PWA is enabled but no icon source specified. Provide a 512x512 PNG for best results.",severity:"warning"});if(X.pwa.enabled===!0&&!X.pwa.manifest?.themeColor)Z.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:$.length===0,errors:$,warnings:Z}}var A1,Dq,J7=null,yq,W$=null,k7;var H1=D(()=>{L$();O$();x$();f$();W4();tw();c4();Mq();A3();OX();kq();A1={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:I5,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:Mw,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:Nq,hasEndTag:!1,description:"Include a web component in the template"},O2,F2,PJ,vJ,V2,R2,T2,A2,n2,o2,aw,l4,...Tq],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}};Dq=new Set;yq=new Map;k7=new Proxy(A1,{get(X,$){if(J7&&$ in J7)return J7[$];if(!W$)u1().catch((Z)=>{console.warn("[stx] Failed to load config file:",Z?.message||Z)});return X[$]}})});var lF=`
15129
+ `}async function Iq(X,$,Z,Y){if($.length<1)return $0("WebComponent","@webcomponent directive requires at least the tag name parameter",o.INVALID_DIRECTIVE_SYNTAX);let J=$[0].replace(/['"]/g,""),Q=(Z.__stx_options||{}).componentsDir||"components",w=[YX.join(YX.dirname(Y),Q,`${J}.stx`),YX.join(process.cwd(),Q,`${J}.stx`),YX.join(YX.dirname(Y),`${J}.stx`)],q=null;for(let K of w)if(await i(K)){q=await Bun.file(K).text();break}if(!q)return $0("WebComponent",`Component file not found: ${J}.stx`,o.FILE_NOT_FOUND);let W=UF(q,J);return`<script type="module">
15130
+ ${KF(W)}
15131
+ </script>`}var Eq=D(()=>{F1();T0()});var Dq={};t(Dq,{timingPlugin:()=>HF,pluginManager:()=>zF,definePlugin:()=>w$,debugPlugin:()=>jF,createVariablesPlugin:()=>LF,createFilterPlugin:()=>BF,createDirectivePlugin:()=>_F,PluginManager:()=>i4});function w$(X){return X}class i4{plugins=new Map;sortedPlugins=[];initialized=!1;async register(X,$){if(this.plugins.has(X.name))throw Error(`Plugin "${X.name}" is already registered`);if(X.dependencies){for(let Z of X.dependencies)if(!this.plugins.has(Z))throw Error(`Plugin "${X.name}" depends on "${Z}" which is not registered`)}if(this.plugins.set(X.name,X),X.onRegister)await X.onRegister($);this.sortPlugins()}async unregister(X){let $=this.plugins.get(X);if(!$)return!1;for(let[Z,Y]of this.plugins)if(Y.dependencies?.includes(X))throw Error(`Cannot unregister "${X}" because "${Z}" depends on it`);if($.onUnregister)await $.onUnregister();return this.plugins.delete(X),this.sortPlugins(),!0}get(X){return this.plugins.get(X)}has(X){return this.plugins.has(X)}getAll(){return[...this.sortedPlugins]}getAllDirectives(){let X=[];for(let $ of this.sortedPlugins)if($.registerDirectives)X.push(...$.registerDirectives());return X}getAllFilters(){let X={};for(let $ of this.sortedPlugins)if($.registerFilters)Object.assign(X,$.registerFilters());return X}async runBeforeProcess(X){return this.runHooks("beforeProcess",X)}async runAfterParse(X){return this.runHooks("afterParse",X)}async runBeforeDirective(X,$){return this.runDirectiveHooks("beforeDirective",X,$)}async runAfterDirective(X,$){return this.runDirectiveHooks("afterDirective",X,$)}async runBeforeRender(X){return this.runHooks("beforeRender",X)}async runAfterRender(X){return this.runHooks("afterRender",X)}async runOnError(X){for(let $ of this.sortedPlugins)if($.onError)try{let Z=await $.onError(X);if(Z){if(Z.template!==void 0)X.template=Z.template;if(Z.context)X.context={...X.context,...Z.context};if(Z.metadata)X.metadata={...X.metadata,...Z.metadata};if(Z.skip)return X}}catch(Z){console.error(`Error in plugin "${$.name}" onError hook:`,Z)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort((X,$)=>(X.priority??100)-($.priority??100))}async runHooks(X,$){let Z={...$};for(let Y of this.sortedPlugins){let J=Y[X];if(J)try{let G=await J(Z);if(G){if(G.template!==void 0)Z.template=G.template;if(G.context)Z.context={...Z.context,...G.context};if(G.metadata)Z.metadata={...Z.metadata,...G.metadata};if(G.skip)break}}catch(G){console.error(`Error in plugin "${Y.name}" ${X} hook:`,G)}}return Z}async runDirectiveHooks(X,$,Z){let Y={...Z};for(let J of this.sortedPlugins){let G=J[X];if(G)try{let Q=await G($,Y);if(Q){if(Q.template!==void 0)Y.template=Q.template;if(Q.context)Y.context={...Y.context,...Q.context};if(Q.metadata)Y.metadata={...Y.metadata,...Q.metadata};if(Q.skip)break}}catch(Q){console.error(`Error in plugin "${J.name}" ${X} hook:`,Q)}}return Y}}function _F(X,$,Z={}){return{name:X,...Z,registerDirectives:()=>$}}function BF(X,$,Z={}){return{name:X,...Z,registerFilters:()=>$}}function LF(X){return w$({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess($){return{context:{...$.context,...X}}}})}var zF,jF,HF;var yq=D(()=>{zF=new i4;jF=w$({name:"stx-debug",version:"1.0.0",description:"Logs all plugin lifecycle events for debugging",priority:0,beforeProcess(X){console.log("[stx-debug] beforeProcess:",X.filePath)},afterParse(X){console.log("[stx-debug] afterParse:",X.template.length,"chars")},beforeDirective(X,$){console.log("[stx-debug] beforeDirective:",X)},afterDirective(X,$){console.log("[stx-debug] afterDirective:",X)},beforeRender(X){console.log("[stx-debug] beforeRender")},afterRender(X){console.log("[stx-debug] afterRender:",X.template.length,"chars")},onError(X){console.error("[stx-debug] onError:",X.error.message,"in phase:",X.phase)}}),HF=w$({name:"stx-timing",version:"1.0.0",description:"Measures template processing time",priority:1,beforeProcess(X){X.metadata.startTime=performance.now()},afterRender(X){let $=X.metadata.startTime;if($){let Z=performance.now()-$;console.log(`[stx-timing] Processing took ${Z.toFixed(2)}ms`)}}})});var KZ={};t(KZ,{validateConfig:()=>MF,resolveStxDirectories:()=>Cq,loadStxConfig:()=>u1,defineStxConfig:()=>TF,defaultConfig:()=>A1,config:()=>k7});import q$ from"fs";import l0 from"path";import{loadConfigWithResult as OF}from"bunfig";function FF(X,$,Z){let Y=$||"pages";if(X)return{root:X,pagesDir:Y};let J=Z||process.cwd(),G=l0.join(J,"resources","views"),Q=l0.join(J,"resources","layouts");if(q$.existsSync(G)&&q$.existsSync(Q))return{root:"resources",pagesDir:"views"};let w=l0.join(J,"resources","views","pages");if(q$.existsSync(w))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}function VF(X,$){let Z=$.replace(/[\\/]+$/,"");if(!Z||Z===".")return!0;let Y=X.replace(/\\/g,"/"),J=Z.replace(/\\/g,"/");return Y===J||Y.startsWith(`${J}/`)}function Cq(X,$){let Z=!X.root,Y=FF(X.root,X.pagesDir,$);if(X.root=Y.root,X.pagesDir=Y.pagesDir,Z&&Y.root!=="."){let J=`${$}::${Y.root}`;if(!bq.has(J))bq.add(J),console.warn(`[stx] No "root" in config \u2014 inferred "${Y.root}" from the project layout. Template directories are resolved under it; set root explicitly to pin this.`)}if(X.root&&X.root!=="."){let J=X.root;for(let G of["partialsDir","componentsDir","layoutsDir"]){let Q=X[G];if(typeof Q!=="string"||!Q)continue;if(l0.isAbsolute(Q)||VF(Q,J))continue;X[G]=l0.join(J,Q)}}return X}function AF(X,$){let Z=["componentsDir","layoutsDir","partialsDir"];for(let Y of Z){let J=X[Y];if(typeof J!=="string"||!J)continue;let G=l0.isAbsolute(J)?J:l0.join($,J);if(q$.existsSync(G))continue;let Q=X.root,w=!!Q&&Q!==".";console.warn(`[stx] ${String(Y)} resolves to "${G}", which does not exist. Configured as "${J}"`+(w?`, resolved under root "${Q}".`:"."))}}function RF(X){if(_6(X.stateDir),X.stateDir=A7(),X.cachePath=T7(X.cachePath),X.build)X.build.cacheDir=T7(X.build.cacheDir);if(X.media?.cache)X.media.cache.directory=T7(X.media.cache.directory);if(X.story)X.story.outDir=T7(X.story.outDir)}async function u1(X){if(!X){if(J7)return J7;if(W$)return W$}let $=X?l0.resolve(X):process.cwd(),Z=Sq.get($);if(Z)return Z;let Y=(async()=>{let G=(await OF({name:"stx",alias:"ui",cwd:$,defaultConfig:A1,verbose:!1})).config;if(RF(G),Cq(G,$),AF(G,$),G.plugins&&G.plugins.length>0){let{pluginManager:Q}=await Promise.resolve().then(() => (yq(),Dq)),w=[],q=[];for(let W of G.plugins){let U=typeof W==="string"?W:W[0],K=typeof W==="string"?{}:W[1]||{};try{let z,B;try{z=await import(U),B=l0.dirname(X0.resolve(U))}catch{let j=l0.resolve(process.cwd(),U);z=await import(j),B=l0.dirname(j)}let _=z.default||z;if(Q.register(_,G),_.components){let j=Array.isArray(_.components)?_.components:[_.components];for(let H of j)w.push(l0.resolve(B,H))}if(_.pages){let j=l0.resolve(B,_.pages),H=K.path||"/";q.push({dir:j,prefix:H})}if(_.setup){let j={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 _.setup(K,j)}console.log(`[stx] Plugin loaded: ${_.name||U}`)}catch(z){console.warn(`[stx] Failed to load plugin ${U}:`,z.message)}}G._pluginComponentDirs=w,G._pluginPageDirs=q}return G})();if(Sq.set($,Y),!X)W$=Y,Y.then((J)=>{J7=J}).catch(()=>{});return Y}function TF(X){return X}function MF(X){let $=[],Z=[];if(X.partialsDir!==void 0&&typeof X.partialsDir!=="string")$.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if(X.componentsDir!==void 0&&typeof X.componentsDir!=="string")$.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if(X.cache!==void 0&&typeof X.cache!=="boolean")$.push({path:"cache",message:"cache must be a boolean",severity:"error"});if(X.debug!==void 0&&typeof X.debug!=="boolean")$.push({path:"debug",message:"debug must be a boolean",severity:"error"});if(X.streaming){if(X.streaming.bufferSize!==void 0){if(typeof X.streaming.bufferSize!=="number"||X.streaming.bufferSize<=0)$.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if(X.streaming.timeout!==void 0){if(typeof X.streaming.timeout!=="number"||X.streaming.timeout<=0)$.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if(X.streaming.strategy!==void 0){let Y=["auto","manual","sections"];if(!Y.includes(X.streaming.strategy))$.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.i18n){if(X.i18n.format!==void 0){let Y=["json","yaml","yml","js"];if(!Y.includes(X.i18n.format))$.push({path:"i18n.format",message:`i18n.format must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.animation){if(X.animation.defaultDuration!==void 0){if(typeof X.animation.defaultDuration!=="number"||X.animation.defaultDuration<0)$.push({path:"animation.defaultDuration",message:"animation.defaultDuration must be a non-negative number",severity:"error"})}if(X.animation.staggerDelay!==void 0){if(typeof X.animation.staggerDelay!=="number"||X.animation.staggerDelay<0)$.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if(X.a11y){if(X.a11y.level!==void 0){let Y=["AA","AAA"];if(!Y.includes(X.a11y.level))$.push({path:"a11y.level",message:`a11y.level must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.hydration){if(X.hydration.mode!==void 0){let Y=["progressive","islands"];if(!Y.includes(X.hydration.mode))$.push({path:"hydration.mode",message:`hydration.mode must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.hydration.preload!==void 0){let Y=["none","eager","lazy"];if(!Y.includes(X.hydration.preload))$.push({path:"hydration.preload",message:`hydration.preload must be one of: ${Y.join(", ")}`,severity:"error"})}}if(X.customDirectives)if(!Array.isArray(X.customDirectives))$.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else X.customDirectives.forEach((Y,J)=>{if(!Y.name||typeof Y.name!=="string")$.push({path:`customDirectives[${J}].name`,message:"Custom directive must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")$.push({path:`customDirectives[${J}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if(X.middleware)if(!Array.isArray(X.middleware))$.push({path:"middleware",message:"middleware must be an array",severity:"error"});else X.middleware.forEach((Y,J)=>{if(!Y.name||typeof Y.name!=="string")$.push({path:`middleware[${J}].name`,message:"Middleware must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")$.push({path:`middleware[${J}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!Y.timing||!["before","after"].includes(Y.timing))$.push({path:`middleware[${J}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if(X.debug===!0&&X.cache===!0)Z.push({path:"debug+cache",message:"Debug mode with caching enabled may show stale content during development",severity:"warning"});if(X.seo?.enabled===!0&&!X.seo?.defaultConfig?.title)Z.push({path:"seo.defaultConfig.title",message:"SEO is enabled but no default title is set",severity:"warning"});if(X.pwa){if(X.pwa.enabled===!0&&!X.pwa.manifest?.name)$.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if(X.pwa.manifest?.display!==void 0){let Y=["fullscreen","standalone","minimal-ui","browser"];if(!Y.includes(X.pwa.manifest.display))$.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.manifest?.orientation!==void 0){let Y=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!Y.includes(X.pwa.manifest.orientation))$.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.routes){let Y=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];X.pwa.routes.forEach((J,G)=>{if(!J.pattern||typeof J.pattern!=="string")$.push({path:`pwa.routes[${G}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!Y.includes(J.strategy))$.push({path:`pwa.routes[${G}].strategy`,message:`PWA route strategy must be one of: ${Y.join(", ")}`,severity:"error"});if(J.maxAgeSeconds!==void 0&&(typeof J.maxAgeSeconds!=="number"||J.maxAgeSeconds<0))$.push({path:`pwa.routes[${G}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(J.maxEntries!==void 0&&(typeof J.maxEntries!=="number"||J.maxEntries<1))$.push({path:`pwa.routes[${G}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if(X.pwa.icons?.sizes){if(!Array.isArray(X.pwa.icons.sizes))$.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if(X.pwa.icons.sizes.filter((J)=>typeof J!=="number"||J<16||J>1024).length>0)$.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if(X.pwa.icons?.purpose){let Y=["any","maskable","monochrome"];if(X.pwa.icons.purpose.filter((G)=>!Y.includes(G)).length>0)$.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${Y.join(", ")}`,severity:"error"})}if(X.pwa.enabled===!0&&!X.pwa.icons?.src)Z.push({path:"pwa.icons.src",message:"PWA is enabled but no icon source specified. Provide a 512x512 PNG for best results.",severity:"warning"});if(X.pwa.enabled===!0&&!X.pwa.manifest?.themeColor)Z.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:$.length===0,errors:$,warnings:Z}}var A1,bq,J7=null,Sq,W$=null,k7;var H1=D(()=>{L$();O$();x$();f$();U4();Xq();p4();kq();R3();OX();Eq();A1={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:I5,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:kw,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:Iq,hasEndTag:!1,description:"Include a web component in the template"},F2,V2,xJ,fJ,A2,T2,M2,R2,r2,a2,ew,c4,...Nq],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}};bq=new Set;Sq=new Map;k7=new Proxy(A1,{get(X,$){if(J7&&$ in J7)return J7[$];if(!W$)u1().catch((Z)=>{console.warn("[stx] Failed to load config file:",Z?.message||Z)});return X[$]}})});var iF=`
15132
15132
  <script>
15133
15133
  (function() {
15134
15134
  'use strict';
@@ -15594,7 +15594,7 @@ else if (data.type === 'event' && data.method) {
15594
15594
  }
15595
15595
  })();
15596
15596
  </script>
15597
- `;function s4(X={}){let{debug:$=!1,timeout:Z=30000}=X;return`
15597
+ `;function o4(X={}){let{debug:$=!1,timeout:Z=30000}=X;return`
15598
15598
  <script>
15599
15599
  (function() {
15600
15600
  'use strict';
@@ -16060,14 +16060,14 @@ else if (data.type === 'event' && data.method) {
16060
16060
  }
16061
16061
  })();
16062
16062
  </script>
16063
- `.replace("debug: false,",`debug: ${$},`).replace("timeout: 30000",`timeout: ${Z}`)}function cF(){return!1}function pF(X,$={}){let Z=/@craft(?:\(([\s\S]*?)\))?/g;return X.replace(Z,(Y,J)=>{let G={};if(J)try{G=JSON.parse(J.replace(/'/g,'"'))}catch{try{G=Function(`return ${J}`)()}catch{console.warn(`[stx] Invalid @craft config: ${J}`)}}return s4(G)})}function o4(X,$={}){if(X.includes("__craftBridgeInitialized"))return X;let Z=s4($);if(X.includes("</head>"))return X.replace("</head>",`${Z}
16063
+ `.replace("debug: false,",`debug: ${$},`).replace("timeout: 30000",`timeout: ${Z}`)}function nF(){return!1}function rF(X,$={}){let Z=/@craft(?:\(([\s\S]*?)\))?/g;return X.replace(Z,(Y,J)=>{let G={};if(J)try{G=JSON.parse(J.replace(/'/g,'"'))}catch{try{G=Function(`return ${J}`)()}catch{console.warn(`[stx] Invalid @craft config: ${J}`)}}return o4(G)})}function a4(X,$={}){if(X.includes("__craftBridgeInitialized"))return X;let Z=o4($);if(X.includes("</head>"))return X.replace("</head>",`${Z}
16064
16064
  </head>`);if(X.includes("<body"))return X.replace(/(<body[^>]*>)/,`$1
16065
- ${Z}`);return Z+X}var cq=new Map([["craft-button",{name:"Button",zigType:"craft.Button",props:[{name:"variant",type:"string",required:!1,default:"primary"},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onclick",type:"callback",required:!1}],children:"single"}],["craft-text-input",{name:"TextInput",zigType:"craft.TextInput",props:[{name:"value",type:"string",required:!1,default:""},{name:"placeholder",type:"string",required:!1},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-textarea",{name:"TextArea",zigType:"craft.TextArea",props:[{name:"value",type:"string",required:!1,default:""},{name:"placeholder",type:"string",required:!1},{name:"rows",type:"number",required:!1,default:3},{name:"disabled",type:"boolean",required:!1,default:!1}],children:"none"}],["craft-checkbox",{name:"Checkbox",zigType:"craft.Checkbox",props:[{name:"checked",type:"boolean",required:!1,default:!1},{name:"label",type:"string",required:!1},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-select",{name:"Select",zigType:"craft.Select",props:[{name:"value",type:"string",required:!1},{name:"options",type:"array",required:!0},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-slider",{name:"Slider",zigType:"craft.Slider",props:[{name:"value",type:"number",required:!1,default:0},{name:"min",type:"number",required:!1,default:0},{name:"max",type:"number",required:!1,default:100},{name:"step",type:"number",required:!1,default:1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-toggle",{name:"Toggle",zigType:"craft.Toggle",props:[{name:"checked",type:"boolean",required:!1,default:!1},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-modal",{name:"Modal",zigType:"craft.Modal",props:[{name:"open",type:"boolean",required:!1,default:!1},{name:"title",type:"string",required:!1},{name:"closable",type:"boolean",required:!1,default:!0},{name:"onclose",type:"callback",required:!1}],children:"multiple"}],["craft-alert",{name:"Alert",zigType:"craft.Alert",props:[{name:"variant",type:"string",required:!1,default:"info"},{name:"title",type:"string",required:!1},{name:"dismissible",type:"boolean",required:!1,default:!1}],children:"single"}],["craft-progress",{name:"ProgressBar",zigType:"craft.ProgressBar",props:[{name:"value",type:"number",required:!1,default:0},{name:"max",type:"number",required:!1,default:100},{name:"indeterminate",type:"boolean",required:!1,default:!1}],children:"none"}],["craft-spinner",{name:"Spinner",zigType:"craft.Spinner",props:[{name:"size",type:"number",required:!1,default:24}],children:"none"}],["craft-avatar",{name:"Avatar",zigType:"craft.Avatar",props:[{name:"src",type:"string",required:!1},{name:"alt",type:"string",required:!1},{name:"size",type:"number",required:!1,default:40}],children:"none"}],["craft-badge",{name:"Badge",zigType:"craft.Badge",props:[{name:"variant",type:"string",required:!1,default:"default"}],children:"single"}],["craft-card",{name:"Card",zigType:"craft.Card",props:[{name:"padding",type:"number",required:!1,default:16}],children:"multiple"}],["craft-sidebar",{name:"Sidebar",zigType:"craft.NativeSidebar",props:[{name:"id",type:"string",required:!1},{name:"variant",type:"string",required:!1,default:"desktop"},{name:"material",type:"string",required:!1,default:"sidebar"},{name:"backgroundEffect",type:"string",required:!1,default:"shimmer"},{name:"allowsVibrancy",type:"boolean",required:!1,default:!0},{name:"materialOpacity",type:"number",required:!1,default:0.68},{name:"minWidth",type:"number",required:!1,default:240},{name:"maxWidth",type:"number",required:!1,default:340},{name:"canCollapse",type:"boolean",required:!1,default:!0},{name:"selectedItem",type:"string",required:!1},{name:"sections",type:"array",required:!1}],children:"multiple",platform:["macos"],fallback:"aside"}],["craft-sidebar-section",{name:"SidebarSection",zigType:"craft.NativeSidebarSection",props:[{name:"id",type:"string",required:!0},{name:"title",type:"string",required:!1},{name:"header",type:"string",required:!1}],children:"multiple",platform:["macos"],fallback:"section"}],["craft-sidebar-item",{name:"SidebarItem",zigType:"craft.NativeSidebarItem",props:[{name:"id",type:"string",required:!0},{name:"label",type:"string",required:!0},{name:"icon",type:"string",required:!1},{name:"badge",type:"string",required:!1},{name:"tintColor",type:"color",required:!1}],children:"none",platform:["macos"],fallback:"button"}],["craft-accordion",{name:"Accordion",zigType:"craft.Accordion",props:[{name:"title",type:"string",required:!0},{name:"open",type:"boolean",required:!1,default:!1}],children:"multiple"}],["craft-tabs",{name:"TabView",zigType:"craft.TabView",props:[{name:"activeTab",type:"number",required:!1,default:0},{name:"ontabchange",type:"callback",required:!1}],children:"multiple"}],["craft-tooltip",{name:"Tooltip",zigType:"craft.Tooltip",props:[{name:"content",type:"string",required:!0},{name:"position",type:"string",required:!1,default:"top"}],children:"single"}],["craft-date-picker",{name:"DatePicker",zigType:"craft.DatePicker",props:[{name:"value",type:"string",required:!1},{name:"min",type:"string",required:!1},{name:"max",type:"string",required:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-time-picker",{name:"TimePicker",zigType:"craft.TimePicker",props:[{name:"value",type:"string",required:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-color-picker",{name:"ColorPicker",zigType:"craft.ColorPicker",props:[{name:"value",type:"color",required:!1,default:"#000000"},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-data-table",{name:"DataTable",zigType:"craft.DataTable",props:[{name:"data",type:"array",required:!0},{name:"columns",type:"array",required:!0},{name:"sortable",type:"boolean",required:!1,default:!1},{name:"paginated",type:"boolean",required:!1,default:!1}],children:"none"}],["craft-virtual-list",{name:"VirtualList",zigType:"craft.VirtualList",props:[{name:"items",type:"array",required:!0},{name:"itemHeight",type:"number",required:!1,default:48},{name:"renderItem",type:"callback",required:!0}],children:"none"}],["craft-tree-view",{name:"TreeView",zigType:"craft.TreeView",props:[{name:"data",type:"object",required:!0},{name:"expandable",type:"boolean",required:!1,default:!0}],children:"none"}]]);async function nF(X,$={}){let Z=performance.now(),Y={target:$.target||"universal",format:$.format||"zig",optimize:$.optimize??!0,treeShake:$.treeShake??!0,hotReload:$.hotReload??!1,debug:$.debug??!1,sourceMaps:$.sourceMaps??!1,bundle:$.bundle??!0,minify:$.minify??!1,components:$.components||cq},J=typeof X==="string"?pq(X):X,G=nq(J.tree,Y),Q=XW(G),w=Y.treeShake?ZW(G,Q):G,q=new Map;if(Y.target==="universal"){let B=["macos","windows","linux","ios","android"];for(let _ of B){let j=_$(w,{...Y,target:_});q.set(_,j)}}else{let B=_$(w,Y);q.set(Y.target,B)}let W=GW(w,Y,q),U=QW(J,w,Y),K={compilationTime:performance.now()-Z,totalComponents:B$(J.tree),nativeComponents:j$(w),webComponents:B$(J.tree)-j$(w),bundleSize:W.length,treeShakenSize:Y.treeShake?YW(G,w):W.length,warnings:[],errors:[]},z;if(Y.sourceMaps)z=wW(J,w);return{code:W,platformCode:q,dependencies:Q,manifest:U,sourceMaps:z,stats:K}}function pq(X){let $={type:"fragment",children:[]},Z=X.match(/<body[^>]*>([\s\S]*?)<\/body>/i),Y=Z?Z[1]:X;return t4(Y,$),{id:Y2(),hash:J2(X),tree:$,scripts:UW(X),styles:KW(X),staticParts:new Map,dynamicParts:new Map,dependencies:[],metadata:{hasSlots:!1,hasDynamicContent:X.includes("{{"),hasEventHandlers:X.includes("onclick")||X.includes("onchange"),hasAsyncContent:!1,componentCount:0,maxDepth:0,estimatedSize:X.length}}}function t4(X,$){let Z=/<(@?[\w-]+)([^>]*)(?:\/>|>([\s\S]*?)<\/\1>)/g,Y;while((Y=Z.exec(X))!==null){let[,J,G,Q]=Y,w=J.startsWith("@craft-"),q={type:w?"component":"element",tag:w?J.slice(1):J,props:iq(G),children:[],componentName:w?J.slice(1):void 0};if(Q){let W=Q.replace(/<[^>]+>/g,"").trim();if(W)q.children=q.children??[],q.children.push({type:"text",text:W});t4(Q,q)}$.children=$.children??[],$.children.push(q)}}function iq(X){let $={},Z=/([\w-:@]+)(?:=["']([^"']*)["'])?/g,Y;while((Y=Z.exec(X))!==null){let[,J,G]=Y;$[J]=G??!0}return $}function nq(X,$){return e4(X,$)}function e4(X,$){let Z=X.componentName?$.components?.get(X.componentName):void 0,Y="craft.View";if(Z)Y=Z.zigType;else if(X.type==="text")Y="craft.Text";else if(X.tag)Y=rq(X.tag);let J={};if(X.props)for(let[q,W]of Object.entries(X.props))J[q]=sq(W);let G=[];if(X.children)for(let q of X.children)G.push(e4(q,$));let Q=new Map;if(X.props){for(let[q,W]of Object.entries(X.props))if(q.startsWith("on")&&typeof W==="string")Q.set(q.slice(2).toLowerCase(),W)}let w=aq(X);return{type:oq(X,Z),zigType:Y,props:J,children:G,events:Q,styles:w,id:X.hydrationKey,key:X.props?.key}}function rq(X){return{div:"craft.View",span:"craft.Text",p:"craft.Text",h1:"craft.Text",h2:"craft.Text",h3:"craft.Text",h4:"craft.Text",h5:"craft.Text",h6:"craft.Text",button:"craft.Button",input:"craft.TextInput",textarea:"craft.TextArea",select:"craft.Select",img:"craft.Image",a:"craft.Link",ul:"craft.List",ol:"craft.List",li:"craft.ListItem",form:"craft.Form",label:"craft.Label",nav:"craft.View",header:"craft.View",footer:"craft.View",main:"craft.View",section:"craft.View",article:"craft.View",aside:"craft.View"}[X.toLowerCase()]||"craft.View"}function sq(X){if(typeof X==="string"){if(X.startsWith("{{")&&X.endsWith("}}"))return{type:"binding",path:X.slice(2,-2).trim()};if(X.includes("(")&&X.includes(")"))return{type:"callback",handler:X};return{type:"literal",value:X}}if(typeof X==="number"||typeof X==="boolean")return{type:"literal",value:X};return{type:"literal",value:String(X)}}function oq(X,$){if($){let Y=$.name.toLowerCase();if(Y.includes("button"))return"button";if(Y.includes("input")||Y.includes("text"))return"input";if(Y.includes("image")||Y.includes("avatar"))return"image";if(Y.includes("list")||Y.includes("table"))return"list";if(Y.includes("scroll"))return"scroll";return"custom"}if(X.type==="text")return"text";let Z=X.tag?.toLowerCase();if(Z==="button")return"button";if(Z==="input"||Z==="textarea")return"input";if(Z==="img")return"image";if(Z==="ul"||Z==="ol")return"list";return"view"}function aq(X){let $=X.props?.style,Z={},Y={};if($){let J=$.split(";").filter(Boolean);for(let G of J){let[Q,w]=G.split(":").map((q)=>q.trim());if(!Q||!w)continue;switch(Q){case"display":Z.display=w;break;case"flex-direction":Z.flexDirection=w;break;case"justify-content":Z.justifyContent=tq(w);break;case"align-items":Z.alignItems=eq(w);break;case"gap":Z.gap=Number.parseInt(w,10);break;case"padding":Z.padding=Number.parseInt(w,10);break;case"margin":Z.margin=Number.parseInt(w,10);break;case"width":Z.width=w==="auto"?"auto":Number.parseInt(w,10);break;case"height":Z.height=w==="auto"?"auto":Number.parseInt(w,10);break;case"background-color":case"background":Y.backgroundColor=w;break;case"border-color":Y.borderColor=w;break;case"border-width":Y.borderWidth=Number.parseInt(w,10);break;case"border-radius":Y.borderRadius=Number.parseInt(w,10);break;case"opacity":Y.opacity=Number.parseFloat(w);break}}}return{layout:Z,appearance:Y}}function tq(X){return{"flex-start":"start","flex-end":"end",center:"center","space-between":"between","space-around":"around"}[X]||"start"}function eq(X){return{"flex-start":"start","flex-end":"end",center:"center",stretch:"stretch"}[X]||"start"}function XW(X){let $=[],Z=new Set;function Y(J,G){let Q=J.id||Y2();if(Z.has(Q))return;Z.add(Q);let w={id:Q,type:"component",path:J.zigType,dependencies:G?[G]:[],size:X2(J),isStatic:$W(J)};$.push(w);for(let q of J.children)Y(q,Q)}return Y(X),$}function X2(X){let $=100;return $+=Object.keys(X.props).length*20,$+=X.events.size*50,$}function $W(X){for(let $ of Object.values(X.props))if($.type!=="literal")return!1;return X.events.size===0}function ZW(X,$){return X}function YW(X,$){let Z=0;function Y(J){Z+=X2(J);for(let G of J.children)Y(G)}return Y($),Z}function _$(X,$){switch($.format){case"zig":return a4(X,$);case"typescript":return JW(X,$);case"json":return JSON.stringify(X,null,$.minify?0:2);default:return a4(X,$)}}function a4(X,$){let Z=[];return Z.push("// Auto-generated by stx compiler"),Z.push("// Target: "+$.target),Z.push(""),Z.push('const std = @import("std");'),Z.push('const craft = @import("craft");'),Z.push(""),Z.push("pub fn render(allocator: std.mem.Allocator) !craft.Element {"),Z.push(" return try build(allocator);"),Z.push("}"),Z.push(""),$2(X,Z,0),Z.join(`
16066
- `)}function $2(X,$,Z){let Y=" ".repeat(Z);if(Z===0)$.push("fn build(allocator: std.mem.Allocator) !craft.Element {");let J=`node_${Z}`;$.push(`${Y} var ${J} = try ${X.zigType}.init(allocator);`);for(let[G,Q]of Object.entries(X.props))if(Q.type==="literal"){let w=typeof Q.value==="string"?`"${Q.value}"`:String(Q.value);$.push(`${Y} ${J}.set${WW(G)}(${w});`)}for(let G=0;G<X.children.length;G++){let Q=X.children[G];if(Q.type==="text"){let w=Q.props.text?.type==="literal"?String(Q.props.text.value):"";$.push(`${Y} try ${J}.addChild(try craft.Text.init(allocator, "${w}"));`)}else $2(Q,$,Z+1),$.push(`${Y} try ${J}.addChild(node_${Z+1});`)}if(Z===0)$.push(` return ${J}.element();`),$.push("}")}function JW(X,$){let Z=[];return Z.push("// Auto-generated by stx compiler"),Z.push("// Target: "+$.target),Z.push(""),Z.push('import { Craft } from "@stacksjs/craft";'),Z.push(""),Z.push("export function render(): Craft.Element {"),Z.push(" return "+Z2(X,1)+";"),Z.push("}"),Z.join(`
16067
- `)}function Z2(X,$){let Z=" ".repeat($),Y=[];for(let[w,q]of Object.entries(X.props))if(q.type==="literal"){let W=typeof q.value==="string"?`"${q.value}"`:String(q.value);Y.push(`${w}: ${W}`)}let J=Y.length>0?`{ ${Y.join(", ")} }`:"{}",G=X.children.map((w)=>w.type==="text"?`"${w.props.text?.type==="literal"?w.props.text.value:""}"`:Z2(w,$+1)),Q=G.length>0?`,
16065
+ ${Z}`);return Z+X}var iq=new Map([["craft-button",{name:"Button",zigType:"craft.Button",props:[{name:"variant",type:"string",required:!1,default:"primary"},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onclick",type:"callback",required:!1}],children:"single"}],["craft-text-input",{name:"TextInput",zigType:"craft.TextInput",props:[{name:"value",type:"string",required:!1,default:""},{name:"placeholder",type:"string",required:!1},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-textarea",{name:"TextArea",zigType:"craft.TextArea",props:[{name:"value",type:"string",required:!1,default:""},{name:"placeholder",type:"string",required:!1},{name:"rows",type:"number",required:!1,default:3},{name:"disabled",type:"boolean",required:!1,default:!1}],children:"none"}],["craft-checkbox",{name:"Checkbox",zigType:"craft.Checkbox",props:[{name:"checked",type:"boolean",required:!1,default:!1},{name:"label",type:"string",required:!1},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-select",{name:"Select",zigType:"craft.Select",props:[{name:"value",type:"string",required:!1},{name:"options",type:"array",required:!0},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-slider",{name:"Slider",zigType:"craft.Slider",props:[{name:"value",type:"number",required:!1,default:0},{name:"min",type:"number",required:!1,default:0},{name:"max",type:"number",required:!1,default:100},{name:"step",type:"number",required:!1,default:1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-toggle",{name:"Toggle",zigType:"craft.Toggle",props:[{name:"checked",type:"boolean",required:!1,default:!1},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-modal",{name:"Modal",zigType:"craft.Modal",props:[{name:"open",type:"boolean",required:!1,default:!1},{name:"title",type:"string",required:!1},{name:"closable",type:"boolean",required:!1,default:!0},{name:"onclose",type:"callback",required:!1}],children:"multiple"}],["craft-alert",{name:"Alert",zigType:"craft.Alert",props:[{name:"variant",type:"string",required:!1,default:"info"},{name:"title",type:"string",required:!1},{name:"dismissible",type:"boolean",required:!1,default:!1}],children:"single"}],["craft-progress",{name:"ProgressBar",zigType:"craft.ProgressBar",props:[{name:"value",type:"number",required:!1,default:0},{name:"max",type:"number",required:!1,default:100},{name:"indeterminate",type:"boolean",required:!1,default:!1}],children:"none"}],["craft-spinner",{name:"Spinner",zigType:"craft.Spinner",props:[{name:"size",type:"number",required:!1,default:24}],children:"none"}],["craft-avatar",{name:"Avatar",zigType:"craft.Avatar",props:[{name:"src",type:"string",required:!1},{name:"alt",type:"string",required:!1},{name:"size",type:"number",required:!1,default:40}],children:"none"}],["craft-badge",{name:"Badge",zigType:"craft.Badge",props:[{name:"variant",type:"string",required:!1,default:"default"}],children:"single"}],["craft-card",{name:"Card",zigType:"craft.Card",props:[{name:"padding",type:"number",required:!1,default:16}],children:"multiple"}],["craft-sidebar",{name:"Sidebar",zigType:"craft.NativeSidebar",props:[{name:"id",type:"string",required:!1},{name:"variant",type:"string",required:!1,default:"desktop"},{name:"material",type:"string",required:!1,default:"sidebar"},{name:"backgroundEffect",type:"string",required:!1,default:"shimmer"},{name:"allowsVibrancy",type:"boolean",required:!1,default:!0},{name:"materialOpacity",type:"number",required:!1,default:0.68},{name:"minWidth",type:"number",required:!1,default:240},{name:"maxWidth",type:"number",required:!1,default:340},{name:"canCollapse",type:"boolean",required:!1,default:!0},{name:"selectedItem",type:"string",required:!1},{name:"sections",type:"array",required:!1}],children:"multiple",platform:["macos"],fallback:"aside"}],["craft-sidebar-section",{name:"SidebarSection",zigType:"craft.NativeSidebarSection",props:[{name:"id",type:"string",required:!0},{name:"title",type:"string",required:!1},{name:"header",type:"string",required:!1}],children:"multiple",platform:["macos"],fallback:"section"}],["craft-sidebar-item",{name:"SidebarItem",zigType:"craft.NativeSidebarItem",props:[{name:"id",type:"string",required:!0},{name:"label",type:"string",required:!0},{name:"icon",type:"string",required:!1},{name:"badge",type:"string",required:!1},{name:"tintColor",type:"color",required:!1}],children:"none",platform:["macos"],fallback:"button"}],["craft-accordion",{name:"Accordion",zigType:"craft.Accordion",props:[{name:"title",type:"string",required:!0},{name:"open",type:"boolean",required:!1,default:!1}],children:"multiple"}],["craft-tabs",{name:"TabView",zigType:"craft.TabView",props:[{name:"activeTab",type:"number",required:!1,default:0},{name:"ontabchange",type:"callback",required:!1}],children:"multiple"}],["craft-tooltip",{name:"Tooltip",zigType:"craft.Tooltip",props:[{name:"content",type:"string",required:!0},{name:"position",type:"string",required:!1,default:"top"}],children:"single"}],["craft-date-picker",{name:"DatePicker",zigType:"craft.DatePicker",props:[{name:"value",type:"string",required:!1},{name:"min",type:"string",required:!1},{name:"max",type:"string",required:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-time-picker",{name:"TimePicker",zigType:"craft.TimePicker",props:[{name:"value",type:"string",required:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-color-picker",{name:"ColorPicker",zigType:"craft.ColorPicker",props:[{name:"value",type:"color",required:!1,default:"#000000"},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-data-table",{name:"DataTable",zigType:"craft.DataTable",props:[{name:"data",type:"array",required:!0},{name:"columns",type:"array",required:!0},{name:"sortable",type:"boolean",required:!1,default:!1},{name:"paginated",type:"boolean",required:!1,default:!1}],children:"none"}],["craft-virtual-list",{name:"VirtualList",zigType:"craft.VirtualList",props:[{name:"items",type:"array",required:!0},{name:"itemHeight",type:"number",required:!1,default:48},{name:"renderItem",type:"callback",required:!0}],children:"none"}],["craft-tree-view",{name:"TreeView",zigType:"craft.TreeView",props:[{name:"data",type:"object",required:!0},{name:"expandable",type:"boolean",required:!1,default:!0}],children:"none"}]]);async function oF(X,$={}){let Z=performance.now(),Y={target:$.target||"universal",format:$.format||"zig",optimize:$.optimize??!0,treeShake:$.treeShake??!0,hotReload:$.hotReload??!1,debug:$.debug??!1,sourceMaps:$.sourceMaps??!1,bundle:$.bundle??!0,minify:$.minify??!1,components:$.components||iq},J=typeof X==="string"?nq(X):X,G=sq(J.tree,Y),Q=ZW(G),w=Y.treeShake?JW(G,Q):G,q=new Map;if(Y.target==="universal"){let B=["macos","windows","linux","ios","android"];for(let _ of B){let j=_$(w,{...Y,target:_});q.set(_,j)}}else{let B=_$(w,Y);q.set(Y.target,B)}let W=wW(w,Y,q),U=qW(J,w,Y),K={compilationTime:performance.now()-Z,totalComponents:B$(J.tree),nativeComponents:j$(w),webComponents:B$(J.tree)-j$(w),bundleSize:W.length,treeShakenSize:Y.treeShake?GW(G,w):W.length,warnings:[],errors:[]},z;if(Y.sourceMaps)z=WW(J,w);return{code:W,platformCode:q,dependencies:Q,manifest:U,sourceMaps:z,stats:K}}function nq(X){let $={type:"fragment",children:[]},Z=X.match(/<body[^>]*>([\s\S]*?)<\/body>/i),Y=Z?Z[1]:X;return e4(Y,$),{id:J2(),hash:G2(X),tree:$,scripts:zW(X),styles:_W(X),staticParts:new Map,dynamicParts:new Map,dependencies:[],metadata:{hasSlots:!1,hasDynamicContent:X.includes("{{"),hasEventHandlers:X.includes("onclick")||X.includes("onchange"),hasAsyncContent:!1,componentCount:0,maxDepth:0,estimatedSize:X.length}}}function e4(X,$){let Z=/<(@?[\w-]+)([^>]*)(?:\/>|>([\s\S]*?)<\/\1>)/g,Y;while((Y=Z.exec(X))!==null){let[,J,G,Q]=Y,w=J.startsWith("@craft-"),q={type:w?"component":"element",tag:w?J.slice(1):J,props:rq(G),children:[],componentName:w?J.slice(1):void 0};if(Q){let W=Q.replace(/<[^>]+>/g,"").trim();if(W)q.children=q.children??[],q.children.push({type:"text",text:W});e4(Q,q)}$.children=$.children??[],$.children.push(q)}}function rq(X){let $={},Z=/([\w-:@]+)(?:=["']([^"']*)["'])?/g,Y;while((Y=Z.exec(X))!==null){let[,J,G]=Y;$[J]=G??!0}return $}function sq(X,$){return X2(X,$)}function X2(X,$){let Z=X.componentName?$.components?.get(X.componentName):void 0,Y="craft.View";if(Z)Y=Z.zigType;else if(X.type==="text")Y="craft.Text";else if(X.tag)Y=oq(X.tag);let J={};if(X.props)for(let[q,W]of Object.entries(X.props))J[q]=aq(W);let G=[];if(X.children)for(let q of X.children)G.push(X2(q,$));let Q=new Map;if(X.props){for(let[q,W]of Object.entries(X.props))if(q.startsWith("on")&&typeof W==="string")Q.set(q.slice(2).toLowerCase(),W)}let w=eq(X);return{type:tq(X,Z),zigType:Y,props:J,children:G,events:Q,styles:w,id:X.hydrationKey,key:X.props?.key}}function oq(X){return{div:"craft.View",span:"craft.Text",p:"craft.Text",h1:"craft.Text",h2:"craft.Text",h3:"craft.Text",h4:"craft.Text",h5:"craft.Text",h6:"craft.Text",button:"craft.Button",input:"craft.TextInput",textarea:"craft.TextArea",select:"craft.Select",img:"craft.Image",a:"craft.Link",ul:"craft.List",ol:"craft.List",li:"craft.ListItem",form:"craft.Form",label:"craft.Label",nav:"craft.View",header:"craft.View",footer:"craft.View",main:"craft.View",section:"craft.View",article:"craft.View",aside:"craft.View"}[X.toLowerCase()]||"craft.View"}function aq(X){if(typeof X==="string"){if(X.startsWith("{{")&&X.endsWith("}}"))return{type:"binding",path:X.slice(2,-2).trim()};if(X.includes("(")&&X.includes(")"))return{type:"callback",handler:X};return{type:"literal",value:X}}if(typeof X==="number"||typeof X==="boolean")return{type:"literal",value:X};return{type:"literal",value:String(X)}}function tq(X,$){if($){let Y=$.name.toLowerCase();if(Y.includes("button"))return"button";if(Y.includes("input")||Y.includes("text"))return"input";if(Y.includes("image")||Y.includes("avatar"))return"image";if(Y.includes("list")||Y.includes("table"))return"list";if(Y.includes("scroll"))return"scroll";return"custom"}if(X.type==="text")return"text";let Z=X.tag?.toLowerCase();if(Z==="button")return"button";if(Z==="input"||Z==="textarea")return"input";if(Z==="img")return"image";if(Z==="ul"||Z==="ol")return"list";return"view"}function eq(X){let $=X.props?.style,Z={},Y={};if($){let J=$.split(";").filter(Boolean);for(let G of J){let[Q,w]=G.split(":").map((q)=>q.trim());if(!Q||!w)continue;switch(Q){case"display":Z.display=w;break;case"flex-direction":Z.flexDirection=w;break;case"justify-content":Z.justifyContent=XW(w);break;case"align-items":Z.alignItems=$W(w);break;case"gap":Z.gap=Number.parseInt(w,10);break;case"padding":Z.padding=Number.parseInt(w,10);break;case"margin":Z.margin=Number.parseInt(w,10);break;case"width":Z.width=w==="auto"?"auto":Number.parseInt(w,10);break;case"height":Z.height=w==="auto"?"auto":Number.parseInt(w,10);break;case"background-color":case"background":Y.backgroundColor=w;break;case"border-color":Y.borderColor=w;break;case"border-width":Y.borderWidth=Number.parseInt(w,10);break;case"border-radius":Y.borderRadius=Number.parseInt(w,10);break;case"opacity":Y.opacity=Number.parseFloat(w);break}}}return{layout:Z,appearance:Y}}function XW(X){return{"flex-start":"start","flex-end":"end",center:"center","space-between":"between","space-around":"around"}[X]||"start"}function $W(X){return{"flex-start":"start","flex-end":"end",center:"center",stretch:"stretch"}[X]||"start"}function ZW(X){let $=[],Z=new Set;function Y(J,G){let Q=J.id||J2();if(Z.has(Q))return;Z.add(Q);let w={id:Q,type:"component",path:J.zigType,dependencies:G?[G]:[],size:$2(J),isStatic:YW(J)};$.push(w);for(let q of J.children)Y(q,Q)}return Y(X),$}function $2(X){let $=100;return $+=Object.keys(X.props).length*20,$+=X.events.size*50,$}function YW(X){for(let $ of Object.values(X.props))if($.type!=="literal")return!1;return X.events.size===0}function JW(X,$){return X}function GW(X,$){let Z=0;function Y(J){Z+=$2(J);for(let G of J.children)Y(G)}return Y($),Z}function _$(X,$){switch($.format){case"zig":return t4(X,$);case"typescript":return QW(X,$);case"json":return JSON.stringify(X,null,$.minify?0:2);default:return t4(X,$)}}function t4(X,$){let Z=[];return Z.push("// Auto-generated by stx compiler"),Z.push("// Target: "+$.target),Z.push(""),Z.push('const std = @import("std");'),Z.push('const craft = @import("craft");'),Z.push(""),Z.push("pub fn render(allocator: std.mem.Allocator) !craft.Element {"),Z.push(" return try build(allocator);"),Z.push("}"),Z.push(""),Z2(X,Z,0),Z.join(`
16066
+ `)}function Z2(X,$,Z){let Y=" ".repeat(Z);if(Z===0)$.push("fn build(allocator: std.mem.Allocator) !craft.Element {");let J=`node_${Z}`;$.push(`${Y} var ${J} = try ${X.zigType}.init(allocator);`);for(let[G,Q]of Object.entries(X.props))if(Q.type==="literal"){let w=typeof Q.value==="string"?`"${Q.value}"`:String(Q.value);$.push(`${Y} ${J}.set${KW(G)}(${w});`)}for(let G=0;G<X.children.length;G++){let Q=X.children[G];if(Q.type==="text"){let w=Q.props.text?.type==="literal"?String(Q.props.text.value):"";$.push(`${Y} try ${J}.addChild(try craft.Text.init(allocator, "${w}"));`)}else Z2(Q,$,Z+1),$.push(`${Y} try ${J}.addChild(node_${Z+1});`)}if(Z===0)$.push(` return ${J}.element();`),$.push("}")}function QW(X,$){let Z=[];return Z.push("// Auto-generated by stx compiler"),Z.push("// Target: "+$.target),Z.push(""),Z.push('import { Craft } from "@stacksjs/craft";'),Z.push(""),Z.push("export function render(): Craft.Element {"),Z.push(" return "+Y2(X,1)+";"),Z.push("}"),Z.join(`
16067
+ `)}function Y2(X,$){let Z=" ".repeat($),Y=[];for(let[w,q]of Object.entries(X.props))if(q.type==="literal"){let W=typeof q.value==="string"?`"${q.value}"`:String(q.value);Y.push(`${w}: ${W}`)}let J=Y.length>0?`{ ${Y.join(", ")} }`:"{}",G=X.children.map((w)=>w.type==="text"?`"${w.props.text?.type==="literal"?w.props.text.value:""}"`:Y2(w,$+1)),Q=G.length>0?`,
16068
16068
  ${Z} [${G.join(`,
16069
- ${Z} `)}]`:"";return`Craft.create("${X.zigType}", ${J}${Q})`}function GW(X,$,Z){if($.target==="universal"){let Y=[];Y.push("// Universal entry point"),Y.push("");for(let[J,G]of Z)Y.push(`// --- ${J.toUpperCase()} ---`),Y.push(`#if ${J.toUpperCase()}`),Y.push(G),Y.push("#endif"),Y.push("");return Y.join(`
16070
- `)}return Z.get($.target)||_$(X,$)}function QW(X,$,Z){let Y=[];function J(G){Y.push({name:G.zigType,hash:J2(JSON.stringify(G.props)),props:Object.keys(G.props),events:Array.from(G.events.keys()),slots:[],isNative:G.zigType.startsWith("craft.")});for(let Q of G.children)J(Q)}return J($),{version:"1.0.0",components:Y,entry:X.id,assets:[],styles:X.styles}}function wW(X,$){return JSON.stringify({version:3,file:"output.zig",sources:["input.stx"],mappings:""})}var qW=0;function Y2(){return`id_${++qW}`}function J2(X){let $=0;for(let Z=0;Z<X.length;Z++){let Y=X.charCodeAt(Z);$=($<<5)-$+Y,$=$&$}return Math.abs($).toString(36)}function WW(X){return X.charAt(0).toUpperCase()+X.slice(1)}function UW(X){let $=[],Z=/<script[^>]*>([\s\S]*?)<\/script>/gi,Y;while((Y=Z.exec(X))!==null)$.push(Y[1]);return $}function KW(X){let $=[],Z=/<style[^>]*>([\s\S]*?)<\/style>/gi,Y;while((Y=Z.exec(X))!==null)$.push(Y[1]);return $}function B$(X){let $=X.type==="component"?1:0;if(X.children)for(let Z of X.children)$+=B$(Z);return $}function j$(X){let $=X.zigType.startsWith("craft.")?1:0;for(let Z of X.children)$+=j$(Z);return $}function rF(X){return{start:async()=>{console.log("[craft-compiler] Hot reload server started")},stop:async()=>{console.log("[craft-compiler] Hot reload server stopped")},notifyChange:($)=>{console.log(`[craft-compiler] File changed: ${$}`)}}}var H$={button:{nativeType:"craft-button",fallbackTag:"button",fallbackClasses:"craft-button",nativeProps:["variant","size","disabled","loading"]},"text-input":{nativeType:"craft-text-input",fallbackTag:"input",fallbackClasses:"craft-text-input",nativeProps:["placeholder","value","type","disabled","readonly"]},textarea:{nativeType:"craft-textarea",fallbackTag:"textarea",fallbackClasses:"craft-textarea",nativeProps:["placeholder","value","rows","disabled","readonly"]},checkbox:{nativeType:"craft-checkbox",fallbackTag:"input",fallbackClasses:"craft-checkbox",nativeProps:["checked","disabled","label"],render:(X,$)=>{let Z=X.checked?"checked":"",Y=X.disabled?"disabled":"";return`<label class="craft-checkbox-wrapper">
16069
+ ${Z} `)}]`:"";return`Craft.create("${X.zigType}", ${J}${Q})`}function wW(X,$,Z){if($.target==="universal"){let Y=[];Y.push("// Universal entry point"),Y.push("");for(let[J,G]of Z)Y.push(`// --- ${J.toUpperCase()} ---`),Y.push(`#if ${J.toUpperCase()}`),Y.push(G),Y.push("#endif"),Y.push("");return Y.join(`
16070
+ `)}return Z.get($.target)||_$(X,$)}function qW(X,$,Z){let Y=[];function J(G){Y.push({name:G.zigType,hash:G2(JSON.stringify(G.props)),props:Object.keys(G.props),events:Array.from(G.events.keys()),slots:[],isNative:G.zigType.startsWith("craft.")});for(let Q of G.children)J(Q)}return J($),{version:"1.0.0",components:Y,entry:X.id,assets:[],styles:X.styles}}function WW(X,$){return JSON.stringify({version:3,file:"output.zig",sources:["input.stx"],mappings:""})}var UW=0;function J2(){return`id_${++UW}`}function G2(X){let $=0;for(let Z=0;Z<X.length;Z++){let Y=X.charCodeAt(Z);$=($<<5)-$+Y,$=$&$}return Math.abs($).toString(36)}function KW(X){return X.charAt(0).toUpperCase()+X.slice(1)}function zW(X){let $=[],Z=/<script[^>]*>([\s\S]*?)<\/script>/gi,Y;while((Y=Z.exec(X))!==null)$.push(Y[1]);return $}function _W(X){let $=[],Z=/<style[^>]*>([\s\S]*?)<\/style>/gi,Y;while((Y=Z.exec(X))!==null)$.push(Y[1]);return $}function B$(X){let $=X.type==="component"?1:0;if(X.children)for(let Z of X.children)$+=B$(Z);return $}function j$(X){let $=X.zigType.startsWith("craft.")?1:0;for(let Z of X.children)$+=j$(Z);return $}function aF(X){return{start:async()=>{console.log("[craft-compiler] Hot reload server started")},stop:async()=>{console.log("[craft-compiler] Hot reload server stopped")},notifyChange:($)=>{console.log(`[craft-compiler] File changed: ${$}`)}}}var H$={button:{nativeType:"craft-button",fallbackTag:"button",fallbackClasses:"craft-button",nativeProps:["variant","size","disabled","loading"]},"text-input":{nativeType:"craft-text-input",fallbackTag:"input",fallbackClasses:"craft-text-input",nativeProps:["placeholder","value","type","disabled","readonly"]},textarea:{nativeType:"craft-textarea",fallbackTag:"textarea",fallbackClasses:"craft-textarea",nativeProps:["placeholder","value","rows","disabled","readonly"]},checkbox:{nativeType:"craft-checkbox",fallbackTag:"input",fallbackClasses:"craft-checkbox",nativeProps:["checked","disabled","label"],render:(X,$)=>{let Z=X.checked?"checked":"",Y=X.disabled?"disabled":"";return`<label class="craft-checkbox-wrapper">
16071
16071
  <input type="checkbox" class="craft-checkbox" ${Z} ${Y}>
16072
16072
  <span class="craft-checkbox-label">${$||X.label||""}</span>
16073
16073
  </label>`}},radio:{nativeType:"craft-radio",fallbackTag:"input",fallbackClasses:"craft-radio",nativeProps:["checked","disabled","name","value","label"]},select:{nativeType:"craft-select",fallbackTag:"select",fallbackClasses:"craft-select",nativeProps:["value","disabled","options","placeholder"]},slider:{nativeType:"craft-slider",fallbackTag:"input",fallbackClasses:"craft-slider",nativeProps:["value","min","max","step","disabled"],render:(X,$)=>{let Z=X.min??0,Y=X.max??100,J=X.step??1,G=X.value??50,Q=X.disabled?"disabled":"";return`<input type="range" class="craft-slider" min="${Z}" max="${Y}" step="${J}" value="${G}" ${Q}>`}},label:{nativeType:"craft-label",fallbackTag:"span",fallbackClasses:"craft-label",nativeProps:["text","for"]},badge:{nativeType:"craft-badge",fallbackTag:"span",fallbackClasses:"craft-badge",nativeProps:["variant","size"]},avatar:{nativeType:"craft-avatar",fallbackTag:"div",fallbackClasses:"craft-avatar",nativeProps:["src","alt","size","fallback"],render:(X,$)=>{let Z=X.size||40,Y=X.src,J=String(X.alt||""),G=X.fallback||(J?J.charAt(0).toUpperCase():"?");if(Y)return`<img class="craft-avatar" src="${Y}" alt="${J}" style="width:${Z}px;height:${Z}px;border-radius:50%">`;return`<div class="craft-avatar craft-avatar-fallback" style="width:${Z}px;height:${Z}px;border-radius:50%;display:flex;align-items:center;justify-content:center">${G}</div>`}},progress:{nativeType:"craft-progress",fallbackTag:"div",fallbackClasses:"craft-progress",nativeProps:["value","max","variant"],render:(X,$)=>{let Z=Number(X.value)||0,Y=Number(X.max)||100;return`<div class="craft-progress"><div class="craft-progress-bar" style="width:${Math.min(100,Math.max(0,Z/Y*100))}%"></div></div>`}},spinner:{nativeType:"craft-spinner",fallbackTag:"div",fallbackClasses:"craft-spinner",nativeProps:["size"],render:(X,$)=>{let Z=X.size||24;return`<div class="craft-spinner" style="width:${Z}px;height:${Z}px"></div>`}},card:{nativeType:"craft-card",fallbackTag:"div",fallbackClasses:"craft-card",nativeProps:["title","subtitle","variant"]},modal:{nativeType:"craft-modal",fallbackTag:"dialog",fallbackClasses:"craft-modal",nativeProps:["open","title","closable","size"],render:(X,$)=>{let Z=X.open?"open":"",Y=X.title||"";return`<dialog class="craft-modal" ${Z}>
@@ -16081,7 +16081,7 @@ ${Z} `)}]`:"";return`Craft.create("${X.zigType}", ${J}${Q})`}function GW(X,$,
16081
16081
  </details>`}},divider:{nativeType:"craft-divider",fallbackTag:"hr",fallbackClasses:"craft-divider",nativeProps:["orientation","variant"]},table:{nativeType:"craft-table",fallbackTag:"table",fallbackClasses:"craft-table",nativeProps:["columns","rows","sortable","selectable"]},list:{nativeType:"craft-list",fallbackTag:"ul",fallbackClasses:"craft-list",nativeProps:["items","selectable"]},tree:{nativeType:"craft-tree",fallbackTag:"div",fallbackClasses:"craft-tree",nativeProps:["nodes","expandable","selectable"]},alert:{nativeType:"craft-alert",fallbackTag:"div",fallbackClasses:"craft-alert",nativeProps:["variant","title","dismissible"],render:(X,$)=>{let Z=X.variant||"info",Y=X.title||"";return`<div class="craft-alert craft-alert-${Z}" role="alert">
16082
16082
  ${Y?`<div class="craft-alert-title">${Y}</div>`:""}
16083
16083
  <div class="craft-alert-content">${$}</div>
16084
- </div>`}},toast:{nativeType:"craft-toast",fallbackTag:"div",fallbackClasses:"craft-toast",nativeProps:["variant","duration","position"]},tooltip:{nativeType:"craft-tooltip",fallbackTag:"span",fallbackClasses:"craft-tooltip",nativeProps:["content","position"],render:(X,$)=>{let Z=X.content||"",Y=X.position||"top";return`<span class="craft-tooltip" data-tooltip="${Z}" data-position="${Y}">${$}</span>`}},menu:{nativeType:"craft-menu",fallbackTag:"nav",fallbackClasses:"craft-menu",nativeProps:["items","orientation"]},breadcrumb:{nativeType:"craft-breadcrumb",fallbackTag:"nav",fallbackClasses:"craft-breadcrumb",nativeProps:["items","separator"]},sidebar:{nativeType:"craft-sidebar",fallbackTag:"aside",fallbackClasses:"craft-sidebar craft-sidebar-tahoe",nativeProps:["id","variant","material","backgroundEffect","allowsVibrancy","materialOpacity","materialDarkOpacity","minWidth","maxWidth","canCollapse","searchPlaceholder","selectedItem","sections","spaces","selectedSpace"],render:zW},"sidebar-space":{nativeType:"craft-sidebar-space",fallbackTag:"section",fallbackClasses:"craft-sidebar-space",nativeProps:["id","label","icon","tint"],render:_W},"sidebar-section":{nativeType:"craft-sidebar-section",fallbackTag:"section",fallbackClasses:"craft-sidebar-section",nativeProps:["id","title","header"],render:BW},"sidebar-item":{nativeType:"craft-sidebar-item",fallbackTag:"button",fallbackClasses:"craft-sidebar-item",nativeProps:["id","label","icon","badge","tintColor"],render:jW},pagination:{nativeType:"craft-pagination",fallbackTag:"nav",fallbackClasses:"craft-pagination",nativeProps:["total","page","pageSize"]},"code-editor":{nativeType:"craft-code-editor",fallbackTag:"textarea",fallbackClasses:"craft-code-editor",nativeProps:["value","language","theme","readonly","lineNumbers"]},"file-browser":{nativeType:"craft-file-browser",fallbackTag:"div",fallbackClasses:"craft-file-browser",nativeProps:["path","showHidden","selectable"]},"color-picker":{nativeType:"craft-color-picker",fallbackTag:"input",fallbackClasses:"craft-color-picker",nativeProps:["value","format"],render:(X,$)=>{return`<input type="color" class="craft-color-picker" value="${X.value||"#000000"}">`}},"date-picker":{nativeType:"craft-date-picker",fallbackTag:"input",fallbackClasses:"craft-date-picker",nativeProps:["value","min","max","format"],render:(X,$)=>{let Z=X.value||"",Y=X.min||"",J=X.max||"";return`<input type="date" class="craft-date-picker" value="${Z}" min="${Y}" max="${J}">`}},"time-picker":{nativeType:"craft-time-picker",fallbackTag:"input",fallbackClasses:"craft-time-picker",nativeProps:["value","min","max","step"],render:(X,$)=>{return`<input type="time" class="craft-time-picker" value="${X.value||""}">`}}},G2=`
16084
+ </div>`}},toast:{nativeType:"craft-toast",fallbackTag:"div",fallbackClasses:"craft-toast",nativeProps:["variant","duration","position"]},tooltip:{nativeType:"craft-tooltip",fallbackTag:"span",fallbackClasses:"craft-tooltip",nativeProps:["content","position"],render:(X,$)=>{let Z=X.content||"",Y=X.position||"top";return`<span class="craft-tooltip" data-tooltip="${Z}" data-position="${Y}">${$}</span>`}},menu:{nativeType:"craft-menu",fallbackTag:"nav",fallbackClasses:"craft-menu",nativeProps:["items","orientation"]},breadcrumb:{nativeType:"craft-breadcrumb",fallbackTag:"nav",fallbackClasses:"craft-breadcrumb",nativeProps:["items","separator"]},sidebar:{nativeType:"craft-sidebar",fallbackTag:"aside",fallbackClasses:"craft-sidebar craft-sidebar-tahoe",nativeProps:["id","variant","material","backgroundEffect","allowsVibrancy","materialOpacity","materialDarkOpacity","minWidth","maxWidth","canCollapse","searchPlaceholder","selectedItem","sections","spaces","selectedSpace"],render:BW},"sidebar-space":{nativeType:"craft-sidebar-space",fallbackTag:"section",fallbackClasses:"craft-sidebar-space",nativeProps:["id","label","icon","tint"],render:jW},"sidebar-section":{nativeType:"craft-sidebar-section",fallbackTag:"section",fallbackClasses:"craft-sidebar-section",nativeProps:["id","title","header"],render:HW},"sidebar-item":{nativeType:"craft-sidebar-item",fallbackTag:"button",fallbackClasses:"craft-sidebar-item",nativeProps:["id","label","icon","badge","tintColor"],render:LW},pagination:{nativeType:"craft-pagination",fallbackTag:"nav",fallbackClasses:"craft-pagination",nativeProps:["total","page","pageSize"]},"code-editor":{nativeType:"craft-code-editor",fallbackTag:"textarea",fallbackClasses:"craft-code-editor",nativeProps:["value","language","theme","readonly","lineNumbers"]},"file-browser":{nativeType:"craft-file-browser",fallbackTag:"div",fallbackClasses:"craft-file-browser",nativeProps:["path","showHidden","selectable"]},"color-picker":{nativeType:"craft-color-picker",fallbackTag:"input",fallbackClasses:"craft-color-picker",nativeProps:["value","format"],render:(X,$)=>{return`<input type="color" class="craft-color-picker" value="${X.value||"#000000"}">`}},"date-picker":{nativeType:"craft-date-picker",fallbackTag:"input",fallbackClasses:"craft-date-picker",nativeProps:["value","min","max","format"],render:(X,$)=>{let Z=X.value||"",Y=X.min||"",J=X.max||"";return`<input type="date" class="craft-date-picker" value="${Z}" min="${Y}" max="${J}">`}},"time-picker":{nativeType:"craft-time-picker",fallbackTag:"input",fallbackClasses:"craft-time-picker",nativeProps:["value","min","max","step"],render:(X,$)=>{return`<input type="time" class="craft-time-picker" value="${X.value||""}">`}}},Q2=`
16085
16085
  <style id="craft-component-styles">
16086
16086
  /* Craft Component Base Styles */
16087
16087
  .craft-button {
@@ -16499,7 +16499,7 @@ ${Z} `)}]`:"";return`Craft.create("${X.zigType}", ${J}${Q})`}function GW(X,$,
16499
16499
  }
16500
16500
  }
16501
16501
  </style>
16502
- `,oF=`
16502
+ `,eF=`
16503
16503
  <script id="craft-component-runtime">
16504
16504
  (function() {
16505
16505
  if (window.__stxCraftComponentRuntime) return;
@@ -16603,7 +16603,7 @@ ${Z} `)}]`:"";return`Craft.create("${X.zigType}", ${J}${Q})`}function GW(X,$,
16603
16603
  document.addEventListener('craft:nativeui:ready', initializeCraftComponents);
16604
16604
  })();
16605
16605
  </script>
16606
- `;function Q2(X,$={}){let{classPrefix:Z="craft"}=$;if(!X.includes("craft-component-styles"))if(X.includes("</head>"))X=X.replace("</head>",`${`
16606
+ `;function w2(X,$={}){let{classPrefix:Z="craft"}=$;if(!X.includes("craft-component-styles"))if(X.includes("</head>"))X=X.replace("</head>",`${`
16607
16607
  <style id="craft-component-styles">
16608
16608
  /* Craft Component Base Styles */
16609
16609
  .craft-button {
@@ -18068,35 +18068,35 @@ ${Z} `)}]`:"";return`Craft.create("${X.zigType}", ${J}${Q})`}function GW(X,$,
18068
18068
  document.addEventListener('craft:nativeui:ready', initializeCraftComponents);
18069
18069
  })();
18070
18070
  </script>
18071
- `;return X=X.replace(/<@craft-sidebar(?![-\w])\s*([^>]*)>([\s\S]*?)<\/@craft-sidebar>/g,(Y,J,G)=>{return QX("sidebar",J,G.trim(),$,Z)}),X=X.replace(/<@craft-sidebar(?![-\w])\s*([^>]*?)\/>/g,(Y,J)=>{return QX("sidebar",J,"",$,Z)}),X=X.replace(/<@craft-(\w+[-\w]*)\s*([^>]*?)\/>/g,(Y,J,G)=>{return QX(J,G,"",$,Z)}),X=X.replace(/<@craft-(\w+[-\w]*)\s*([^>]*)>([\s\S]*?)<\/@craft-\1>/g,(Y,J,G,Q)=>{return QX(J,G,Q.trim(),$,Z)}),X}function QX(X,$,Z,Y,J){let G=Y.components?.[X]||H$[X];if(!G)return console.warn(`[stx] Unknown Craft component: @craft-${X}`),`<div class="${J}-unknown" data-component="${X}">${Z}</div>`;let Q=wX($),w=[G.fallbackClasses||`${J}-${X}`];if(Q.class)w.push(Q.class),delete Q.class;if(G.render)return Q.__fallbackClasses=w.join(" "),G.render(Q,Z);let q=TW(Q,G,w);if(["input","hr","br","img"].includes(G.fallbackTag))return`<${G.fallbackTag} ${q}>`;return`<${G.fallbackTag} ${q}>${Z}</${G.fallbackTag}>`}function wX(X){let $={},Z=/(?::|@)?(\w+[-\w]*)(?:=(?:"([^"]*)"|'([^']*)'))?/g,Y;while((Y=Z.exec(X))!==null){let[J,G,Q,w]=Y,q=Q??w;if(J.startsWith(":"))$[G]=q;else if(J.startsWith("@"))$[`on${G.charAt(0).toUpperCase()}${G.slice(1)}`]=q;else if(q===void 0)$[G]=!0;else $[G]=q}return $}function zW(X,$){let Z=V5(String(X.id||`craft-sidebar-${AW($||JSON.stringify(X))}`)),Y=OW(X.spaces)||LW($),J=Y.length?[]:VW(X.sections)||w2($),G=String(X.selectedSpace||Y[0]?.id||""),Q=Y.find((_)=>_.id===G)||Y[0],w=String(X.selectedItem||X.selected||(Y.length?Q?.sections[0]?.items[0]?.id:J[0]?.items[0]?.id)||""),q={id:Z,variant:String(X.variant||"desktop"),material:String(X.material||"sidebar"),backgroundEffect:String(X.backgroundEffect||"shimmer"),allowsVibrancy:X.allowsVibrancy!==!1&&X.allowsVibrancy!=="false",materialOpacity:Number(X.materialOpacity??0.68),materialDarkOpacity:X.materialDarkOpacity===void 0?void 0:Number(X.materialDarkOpacity),minWidth:X.minWidth===void 0?240:Number(X.minWidth),maxWidth:X.maxWidth===void 0?340:Number(X.maxWidth),canCollapse:X.canCollapse!==!1&&X.canCollapse!=="false",searchPlaceholder:X.searchPlaceholder?String(X.searchPlaceholder):void 0,selectedItem:w,sections:J,spaces:Y,selectedSpace:G||void 0},W=String(X.__fallbackClasses||"craft-sidebar craft-sidebar-tahoe"),U=Number(X.width||X.sidebarWidth||286),K=X.native===!1||X.native==="false"?"false":"true",z=q.searchPlaceholder?`<div class="craft-sidebar-search"><input type="search" placeholder="${_1(q.searchPlaceholder)}"></div>`:"",B;if(Y.length)B=FW(Y,G,w);else if(J.length)B=J.map((_)=>q2(_,w)).join("");else B=$;return`<aside class="${g0(W)}" data-craft="craft-sidebar" data-craft-native-sidebar data-craft-sidebar-id="${g0(Z)}" data-native="${K}" style="--craft-sidebar-width:${U}px">
18071
+ `;return X=X.replace(/<@craft-sidebar(?![-\w])\s*([^>]*)>([\s\S]*?)<\/@craft-sidebar>/g,(Y,J,G)=>{return QX("sidebar",J,G.trim(),$,Z)}),X=X.replace(/<@craft-sidebar(?![-\w])\s*([^>]*?)\/>/g,(Y,J)=>{return QX("sidebar",J,"",$,Z)}),X=X.replace(/<@craft-(\w+[-\w]*)\s*([^>]*?)\/>/g,(Y,J,G)=>{return QX(J,G,"",$,Z)}),X=X.replace(/<@craft-(\w+[-\w]*)\s*([^>]*)>([\s\S]*?)<\/@craft-\1>/g,(Y,J,G,Q)=>{return QX(J,G,Q.trim(),$,Z)}),X}function QX(X,$,Z,Y,J){let G=Y.components?.[X]||H$[X];if(!G)return console.warn(`[stx] Unknown Craft component: @craft-${X}`),`<div class="${J}-unknown" data-component="${X}">${Z}</div>`;let Q=wX($),w=[G.fallbackClasses||`${J}-${X}`];if(Q.class)w.push(Q.class),delete Q.class;if(G.render)return Q.__fallbackClasses=w.join(" "),G.render(Q,Z);let q=NW(Q,G,w);if(["input","hr","br","img"].includes(G.fallbackTag))return`<${G.fallbackTag} ${q}>`;return`<${G.fallbackTag} ${q}>${Z}</${G.fallbackTag}>`}function wX(X){let $={},Z=/(?::|@)?(\w+[-\w]*)(?:=(?:"([^"]*)"|'([^']*)'))?/g,Y;while((Y=Z.exec(X))!==null){let[J,G,Q,w]=Y,q=Q??w;if(J.startsWith(":"))$[G]=q;else if(J.startsWith("@"))$[`on${G.charAt(0).toUpperCase()}${G.slice(1)}`]=q;else if(q===void 0)$[G]=!0;else $[G]=q}return $}function BW(X,$){let Z=V5(String(X.id||`craft-sidebar-${TW($||JSON.stringify(X))}`)),Y=VW(X.spaces)||FW($),J=Y.length?[]:RW(X.sections)||q2($),G=String(X.selectedSpace||Y[0]?.id||""),Q=Y.find((_)=>_.id===G)||Y[0],w=String(X.selectedItem||X.selected||(Y.length?Q?.sections[0]?.items[0]?.id:J[0]?.items[0]?.id)||""),q={id:Z,variant:String(X.variant||"desktop"),material:String(X.material||"sidebar"),backgroundEffect:String(X.backgroundEffect||"shimmer"),allowsVibrancy:X.allowsVibrancy!==!1&&X.allowsVibrancy!=="false",materialOpacity:Number(X.materialOpacity??0.68),materialDarkOpacity:X.materialDarkOpacity===void 0?void 0:Number(X.materialDarkOpacity),minWidth:X.minWidth===void 0?240:Number(X.minWidth),maxWidth:X.maxWidth===void 0?340:Number(X.maxWidth),canCollapse:X.canCollapse!==!1&&X.canCollapse!=="false",searchPlaceholder:X.searchPlaceholder?String(X.searchPlaceholder):void 0,selectedItem:w,sections:J,spaces:Y,selectedSpace:G||void 0},W=String(X.__fallbackClasses||"craft-sidebar craft-sidebar-tahoe"),U=Number(X.width||X.sidebarWidth||286),K=X.native===!1||X.native==="false"?"false":"true",z=q.searchPlaceholder?`<div class="craft-sidebar-search"><input type="search" placeholder="${_1(q.searchPlaceholder)}"></div>`:"",B;if(Y.length)B=AW(Y,G,w);else if(J.length)B=J.map((_)=>W2(_,w)).join("");else B=$;return`<aside class="${g0(W)}" data-craft="craft-sidebar" data-craft-native-sidebar data-craft-sidebar-id="${g0(Z)}" data-native="${K}" style="--craft-sidebar-width:${U}px">
18072
18072
  ${z}
18073
18073
  ${B}
18074
18074
  </aside>
18075
- <script type="application/json" data-craft-sidebar-config="${g0(Z)}">${RW(q)}</script>`}function _W(X,$){let Z=V5(String(X.id||X.label||"space"));return`<section class="craft-sidebar-space" data-craft="craft-sidebar-space" data-space-id="${g0(Z)}">
18075
+ <script type="application/json" data-craft-sidebar-config="${g0(Z)}">${MW(q)}</script>`}function jW(X,$){let Z=V5(String(X.id||X.label||"space"));return`<section class="craft-sidebar-space" data-craft="craft-sidebar-space" data-space-id="${g0(Z)}">
18076
18076
  ${X.label?`<div class="craft-sidebar-space-title">${_1(String(X.label))}</div>`:""}
18077
18077
  ${$}
18078
- </section>`}function BW(X,$){let Z=String(X.header||X.title||"");return`<section class="craft-sidebar-section" data-craft="craft-sidebar-section" data-section-id="${g0(String(X.id||"section"))}">
18078
+ </section>`}function HW(X,$){let Z=String(X.header||X.title||"");return`<section class="craft-sidebar-section" data-craft="craft-sidebar-section" data-section-id="${g0(String(X.id||"section"))}">
18079
18079
  ${Z?`<div class="craft-sidebar-section-title">${_1(Z)}</div>`:""}
18080
18080
  ${$}
18081
- </section>`}function jW(X,$){let Z={id:String(X.id||V5(String(X.label||$||"item"))),label:String(X.label||$||""),icon:X.icon?String(X.icon):void 0,badge:X.badge?String(X.badge):void 0,tintColor:X.tintColor?String(X.tintColor):void 0};return W2(Z,String(X.selected||"")==="true")}function w2(X){let $=[],Z=/<@craft-sidebar-section\s*([^>]*?)(?:\/>|>([\s\S]*?)<\/@craft-sidebar-section>)/g,Y;while((Y=Z.exec(X))!==null){let J=wX(Y[1]||""),G=Y[2]||"",Q=String(J.id||V5(String(J.header||J.title||`section-${$.length+1}`))),w=String(J.header||J.title||Q),q=HW(G);$.push({id:Q,header:w,title:w,items:q})}return $}function HW(X){let $=[],Z=/<@craft-sidebar-item\s*([^>]*?)(?:\/>|>([\s\S]*?)<\/@craft-sidebar-item>)/g,Y;while((Y=Z.exec(X))!==null){let J=wX(Y[1]||""),G=String(J.label||(Y[2]||"").replace(/<[^>]*>/g,"").trim()),Q=String(J.id||V5(G||`item-${$.length+1}`));$.push({id:Q,label:G,icon:J.icon?String(J.icon):void 0,badge:J.badge?String(J.badge):void 0,tintColor:J.tintColor?String(J.tintColor):void 0})}return $}function LW(X){let $=[],Z=/<@craft-sidebar-space\s*([^>]*?)(?:\/>|>([\s\S]*?)<\/@craft-sidebar-space>)/g,Y;while((Y=Z.exec(X))!==null){let J=wX(Y[1]||""),G=Y[2]||"",Q=String(J.label||J.title||`Space ${$.length+1}`);$.push({id:String(J.id||V5(Q)),label:Q,icon:J.icon?String(J.icon):void 0,tint:J.tint?String(J.tint):void 0,sections:w2(G)})}return $}function OW(X){if(!X)return;if(Array.isArray(X))return X;if(typeof X!=="string")return;try{let $=JSON.parse(X);return Array.isArray($)?$:void 0}catch{return}}function FW(X,$,Z){let Y=X.map((G)=>`<button class="craft-sidebar-space-tab" type="button" data-space-target="${g0(G.id)}" data-selected="${G.id===$?"true":"false"}" title="${g0(G.label||G.id)}">${G.icon?`<span class="craft-sidebar-item-icon" data-icon="${g0(G.icon)}"></span>`:_1((G.label||G.id).charAt(0))}</button>`).join("");return`<div class="craft-sidebar-spaces">${X.map((G)=>`<section class="craft-sidebar-space" data-space-id="${g0(G.id)}" data-selected="${G.id===$?"true":"false"}">
18081
+ </section>`}function LW(X,$){let Z={id:String(X.id||V5(String(X.label||$||"item"))),label:String(X.label||$||""),icon:X.icon?String(X.icon):void 0,badge:X.badge?String(X.badge):void 0,tintColor:X.tintColor?String(X.tintColor):void 0};return U2(Z,String(X.selected||"")==="true")}function q2(X){let $=[],Z=/<@craft-sidebar-section\s*([^>]*?)(?:\/>|>([\s\S]*?)<\/@craft-sidebar-section>)/g,Y;while((Y=Z.exec(X))!==null){let J=wX(Y[1]||""),G=Y[2]||"",Q=String(J.id||V5(String(J.header||J.title||`section-${$.length+1}`))),w=String(J.header||J.title||Q),q=OW(G);$.push({id:Q,header:w,title:w,items:q})}return $}function OW(X){let $=[],Z=/<@craft-sidebar-item\s*([^>]*?)(?:\/>|>([\s\S]*?)<\/@craft-sidebar-item>)/g,Y;while((Y=Z.exec(X))!==null){let J=wX(Y[1]||""),G=String(J.label||(Y[2]||"").replace(/<[^>]*>/g,"").trim()),Q=String(J.id||V5(G||`item-${$.length+1}`));$.push({id:Q,label:G,icon:J.icon?String(J.icon):void 0,badge:J.badge?String(J.badge):void 0,tintColor:J.tintColor?String(J.tintColor):void 0})}return $}function FW(X){let $=[],Z=/<@craft-sidebar-space\s*([^>]*?)(?:\/>|>([\s\S]*?)<\/@craft-sidebar-space>)/g,Y;while((Y=Z.exec(X))!==null){let J=wX(Y[1]||""),G=Y[2]||"",Q=String(J.label||J.title||`Space ${$.length+1}`);$.push({id:String(J.id||V5(Q)),label:Q,icon:J.icon?String(J.icon):void 0,tint:J.tint?String(J.tint):void 0,sections:q2(G)})}return $}function VW(X){if(!X)return;if(Array.isArray(X))return X;if(typeof X!=="string")return;try{let $=JSON.parse(X);return Array.isArray($)?$:void 0}catch{return}}function AW(X,$,Z){let Y=X.map((G)=>`<button class="craft-sidebar-space-tab" type="button" data-space-target="${g0(G.id)}" data-selected="${G.id===$?"true":"false"}" title="${g0(G.label||G.id)}">${G.icon?`<span class="craft-sidebar-item-icon" data-icon="${g0(G.icon)}"></span>`:_1((G.label||G.id).charAt(0))}</button>`).join("");return`<div class="craft-sidebar-spaces">${X.map((G)=>`<section class="craft-sidebar-space" data-space-id="${g0(G.id)}" data-selected="${G.id===$?"true":"false"}">
18082
18082
  ${G.label?`<div class="craft-sidebar-space-title">${_1(G.label)}</div>`:""}
18083
- ${G.sections.map((Q)=>q2(Q,Z)).join("")}
18083
+ ${G.sections.map((Q)=>W2(Q,Z)).join("")}
18084
18084
  </section>`).join("")}</div>
18085
- <div class="craft-sidebar-space-switcher">${Y}</div>`}function VW(X){if(!X)return;if(Array.isArray(X))return X;if(typeof X!=="string")return;try{let $=JSON.parse(X);return Array.isArray($)?$:void 0}catch{return}}function q2(X,$){let Z=X.header||X.title||X.id;return`<section class="craft-sidebar-section" data-section-id="${g0(X.id)}">
18085
+ <div class="craft-sidebar-space-switcher">${Y}</div>`}function RW(X){if(!X)return;if(Array.isArray(X))return X;if(typeof X!=="string")return;try{let $=JSON.parse(X);return Array.isArray($)?$:void 0}catch{return}}function W2(X,$){let Z=X.header||X.title||X.id;return`<section class="craft-sidebar-section" data-section-id="${g0(X.id)}">
18086
18086
  <div class="craft-sidebar-section-title">${_1(Z)}</div>
18087
- ${X.items.map((Y)=>W2(Y,Y.id===$)).join("")}
18088
- </section>`}function W2(X,$){let Z=X.tintColor?` style="--craft-sidebar-icon-color:${g0(X.tintColor)}"`:"";return`<button class="craft-sidebar-item" type="button" data-item-id="${g0(X.id)}" data-selected="${$?"true":"false"}">
18087
+ ${X.items.map((Y)=>U2(Y,Y.id===$)).join("")}
18088
+ </section>`}function U2(X,$){let Z=X.tintColor?` style="--craft-sidebar-icon-color:${g0(X.tintColor)}"`:"";return`<button class="craft-sidebar-item" type="button" data-item-id="${g0(X.id)}" data-selected="${$?"true":"false"}">
18089
18089
  ${X.icon?`<span class="craft-sidebar-item-icon" data-icon="${g0(X.icon)}"${Z}></span>`:""}
18090
18090
  <span class="craft-sidebar-item-label">${_1(X.label)}</span>
18091
18091
  ${X.badge?`<span class="craft-sidebar-item-badge">${_1(X.badge)}</span>`:""}
18092
- </button>`}function V5(X){return X.trim().toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/^-|-$/g,"")||"craft-sidebar"}function AW(X){let $=5381;for(let Z=0;Z<X.length;Z++)$=$*33^X.charCodeAt(Z);return($>>>0).toString(36)}function _1(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function g0(X){return _1(X).replace(/`/g,"&#96;")}function RW(X){return JSON.stringify(X).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function TW(X,$,Z){let Y=[];Y.push(`class="${Z.join(" ")}"`),Y.push(`data-craft="${$.nativeType}"`);for(let[J,G]of Object.entries(X))if(G===!0)Y.push(J);else if(G!==!1&&G!==void 0&&G!==null){let Q=String(G).replace(/"/g,"&quot;");Y.push(`${J}="${Q}"`)}return Y.join(" ")}function aF(X,$){H$[X]=$}function tF(){return{...H$}}var G7=new Map,Q7=new Map;function MW(X,$){let Z=$?.id||xW(X),Y=fW(X),J=G7.get(Z);if(J&&J.hash===Y)return J;let G=NW(X),Q=SW(X),w=CW(X),q=yW(G),{staticParts:W,dynamicParts:U}=bW(G),K=PW(X),z={id:Z,hash:Y,tree:G,scripts:Q,styles:w,staticParts:W,dynamicParts:U,dependencies:K,metadata:q};return G7.set(Z,z),z}async function XV(X,$={},Z={}){let Y=performance.now();if(Z.cache){let w=`${X.id}:${JSON.stringify($)}`,q=Q7.get(w);if(q&&Date.now()-q.timestamp<(Z.cacheTTL||60000))return{html:q.html,styles:X.styles.join(`
18092
+ </button>`}function V5(X){return X.trim().toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/^-|-$/g,"")||"craft-sidebar"}function TW(X){let $=5381;for(let Z=0;Z<X.length;Z++)$=$*33^X.charCodeAt(Z);return($>>>0).toString(36)}function _1(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function g0(X){return _1(X).replace(/`/g,"&#96;")}function MW(X){return JSON.stringify(X).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function NW(X,$,Z){let Y=[];Y.push(`class="${Z.join(" ")}"`),Y.push(`data-craft="${$.nativeType}"`);for(let[J,G]of Object.entries(X))if(G===!0)Y.push(J);else if(G!==!1&&G!==void 0&&G!==null){let Q=String(G).replace(/"/g,"&quot;");Y.push(`${J}="${Q}"`)}return Y.join(" ")}function XV(X,$){H$[X]=$}function $V(){return{...H$}}var G7=new Map,Q7=new Map;function kW(X,$){let Z=$?.id||gW(X),Y=hW(X),J=G7.get(Z);if(J&&J.hash===Y)return J;let G=IW(X),Q=PW(X),w=vW(X),q=SW(G),{staticParts:W,dynamicParts:U}=CW(G),K=xW(X),z={id:Z,hash:Y,tree:G,scripts:Q,styles:w,staticParts:W,dynamicParts:U,dependencies:K,metadata:q};return G7.set(Z,z),z}async function YV(X,$={},Z={}){let Y=performance.now();if(Z.cache){let w=`${X.id}:${JSON.stringify($)}`,q=Q7.get(w);if(q&&Date.now()-q.timestamp<(Z.cacheTTL||60000))return{html:q.html,styles:X.styles.join(`
18093
18093
  `),scripts:X.scripts.join(`
18094
- `),metadata:{renderTime:0,cacheHit:!0,totalSize:q.html.length,componentCount:X.metadata.componentCount}}}let J;if(Z.streaming)J=await IW(X.tree,$);else J=w7(X.tree,$);let G;if(Z.hydrate){let w=DW(J,X,$);J=w.html,G=w.data}if(Z.minify)J=vW(J);if(Z.cache){let w=`${X.id}:${JSON.stringify($)}`;Q7.set(w,{html:J,timestamp:Date.now()})}let Q=performance.now()-Y;return{html:J,styles:X.styles.join(`
18094
+ `),metadata:{renderTime:0,cacheHit:!0,totalSize:q.html.length,componentCount:X.metadata.componentCount}}}let J;if(Z.streaming)J=await DW(X.tree,$);else J=w7(X.tree,$);let G;if(Z.hydrate){let w=bW(J,X,$);J=w.html,G=w.data}if(Z.minify)J=fW(J);if(Z.cache){let w=`${X.id}:${JSON.stringify($)}`;Q7.set(w,{html:J,timestamp:Date.now()})}let Q=performance.now()-Y;return{html:J,styles:X.styles.join(`
18095
18095
  `),scripts:X.scripts.join(`
18096
- `),hydrationData:G,metadata:{renderTime:Q,cacheHit:!1,totalSize:J.length,componentCount:X.metadata.componentCount}}}function $V(X,$){let Z=[],Y=[],J=[],G=new Map,Q=[];return q7(X.tree,(w,q)=>{if(w.type==="component"&&w.componentName){if(H2(w.componentName))Z.push(w.componentName)}if(w.type==="element"&&w.tag){let W=uW(w);if(W)Q.push(W);if(w.props){for(let[U,K]of Object.entries(w.props))if(U.startsWith("on")&&typeof K==="string"){let z=`handler_${G.size}`;G.set(z,K)}}}if(w.isStatic&&w.type==="element")Y.push(z2(w));else if(!w.isStatic&&w.type!=="text")J.push(w.tag||w.componentName||"unknown")}),{nativeComponents:Z,staticHTML:Y,dynamicParts:J,eventHandlers:G,nativeWidgets:Q}}function ZV(X,$={}){let Z=MW(X),Y=EW(Z,$),J=new Map,G=[];return q7(Z.tree,(Q)=>{if(Q.type==="component"&&Q.componentName){if(H2(Q.componentName)){G.push(Q.componentName);let w=`<!--craft:${Q.componentName}:${Q.hydrationKey||"default"}-->`;J.set(Q.hydrationKey||Q.componentName,w)}}}),{staticHTML:Y,dynamicPlaceholders:J,craftComponents:G}}function NW(X){let $={type:"fragment",children:[]},Z=$,Y=[$],J=X,G=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);while(J.length>0){let Q=J.match(/^<(@?[\w-]+)([^>]*)>/);if(Q){let[W,U,K]=Q,z=kW(K),B=U.startsWith("@craft-"),_=B?U:U.toLowerCase(),j={type:B?"component":"element",tag:_,props:z,children:[],componentName:B?_.slice(1):void 0,isStatic:!U2(K),hydrationKey:hW()};if(Z.children=Z.children||[],Z.children.push(j),!G.has(_)&&!K.endsWith("/"))Y.push(j),Z=j;J=J.slice(W.length);continue}let w=J.match(/^<\/(@?[\w-]+)>/);if(w){let[W,U]=w,z=U.startsWith("@craft-")?U:U.toLowerCase();while(Y.length>1){let B=Y.pop();if(Z=Y[Y.length-1],B.tag===z)break}J=J.slice(W.length);continue}let q=J.match(/^[^<]+/);if(q){let W=q[0];if(W.trim()){let U={type:"text",text:W,isStatic:!U2(W)};Z.children=Z.children||[],Z.children.push(U)}J=J.slice(W.length);continue}J=J.slice(1)}return $}function kW(X){let $={},Z=/([\w-:@]+)(?:=(?:"([^"]*)"|'([^']*)'|(\S+)))?/g,Y;while((Y=Z.exec(X))!==null){let[,J,G,Q,w]=Y,q=G??Q??w??!0;$[J]=q}return $}function q7(X,$,Z=[]){if($(X,Z),X.children)X.children.forEach((Y,J)=>{q7(Y,$,[...Z,`${J}`])})}function w7(X,$){switch(X.type){case"text":return B2(X.text||"",$);case"element":case"component":{let Z=X.tag||"div",Y=_2(X.props||{},$),J=(X.children||[]).map((G)=>w7(G,$)).join("");if(!X.children||X.children.length===0){if(["input","br","hr","img","meta","link"].includes(Z))return`<${Z}${Y} />`}return`<${Z}${Y}>${J}</${Z}>`}case"fragment":return(X.children||[]).map((Z)=>w7(Z,$)).join("");case"slot":return`<!--slot:${X.slotName||"default"}-->`;default:return""}}function z2(X){if(X.type==="text")return X.text||"";let $=X.tag||"div",Z=_2(X.props||{},{});return`<${$}${Z}></${$}>`}function _2(X,$){let Z=[];for(let[Y,J]of Object.entries(X))if(J===!0)Z.push(` ${Y}`);else if(J!==!1&&J!==null&&J!==void 0){let G=B2(String(J),$);Z.push(` ${Y}="${j2(G)}"`)}return Z.join("")}async function IW(X,$){return w7(X,$)}function EW(X,$){let Z=[];return q7(X.tree,(Y)=>{if(Y.isStatic)Z.push(w7(Y,$))}),Z.join("")}function DW(X,$,Z){let Y={templateId:$.id,context:Z,dynamicParts:Array.from($.dynamicParts.entries())},J=`
18096
+ `),hydrationData:G,metadata:{renderTime:Q,cacheHit:!1,totalSize:J.length,componentCount:X.metadata.componentCount}}}function JV(X,$){let Z=[],Y=[],J=[],G=new Map,Q=[];return q7(X.tree,(w,q)=>{if(w.type==="component"&&w.componentName){if(L2(w.componentName))Z.push(w.componentName)}if(w.type==="element"&&w.tag){let W=mW(w);if(W)Q.push(W);if(w.props){for(let[U,K]of Object.entries(w.props))if(U.startsWith("on")&&typeof K==="string"){let z=`handler_${G.size}`;G.set(z,K)}}}if(w.isStatic&&w.type==="element")Y.push(_2(w));else if(!w.isStatic&&w.type!=="text")J.push(w.tag||w.componentName||"unknown")}),{nativeComponents:Z,staticHTML:Y,dynamicParts:J,eventHandlers:G,nativeWidgets:Q}}function GV(X,$={}){let Z=kW(X),Y=yW(Z,$),J=new Map,G=[];return q7(Z.tree,(Q)=>{if(Q.type==="component"&&Q.componentName){if(L2(Q.componentName)){G.push(Q.componentName);let w=`<!--craft:${Q.componentName}:${Q.hydrationKey||"default"}-->`;J.set(Q.hydrationKey||Q.componentName,w)}}}),{staticHTML:Y,dynamicPlaceholders:J,craftComponents:G}}function IW(X){let $={type:"fragment",children:[]},Z=$,Y=[$],J=X,G=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);while(J.length>0){let Q=J.match(/^<(@?[\w-]+)([^>]*)>/);if(Q){let[W,U,K]=Q,z=EW(K),B=U.startsWith("@craft-"),_=B?U:U.toLowerCase(),j={type:B?"component":"element",tag:_,props:z,children:[],componentName:B?_.slice(1):void 0,isStatic:!K2(K),hydrationKey:dW()};if(Z.children=Z.children||[],Z.children.push(j),!G.has(_)&&!K.endsWith("/"))Y.push(j),Z=j;J=J.slice(W.length);continue}let w=J.match(/^<\/(@?[\w-]+)>/);if(w){let[W,U]=w,z=U.startsWith("@craft-")?U:U.toLowerCase();while(Y.length>1){let B=Y.pop();if(Z=Y[Y.length-1],B.tag===z)break}J=J.slice(W.length);continue}let q=J.match(/^[^<]+/);if(q){let W=q[0];if(W.trim()){let U={type:"text",text:W,isStatic:!K2(W)};Z.children=Z.children||[],Z.children.push(U)}J=J.slice(W.length);continue}J=J.slice(1)}return $}function EW(X){let $={},Z=/([\w-:@]+)(?:=(?:"([^"]*)"|'([^']*)'|(\S+)))?/g,Y;while((Y=Z.exec(X))!==null){let[,J,G,Q,w]=Y,q=G??Q??w??!0;$[J]=q}return $}function q7(X,$,Z=[]){if($(X,Z),X.children)X.children.forEach((Y,J)=>{q7(Y,$,[...Z,`${J}`])})}function w7(X,$){switch(X.type){case"text":return j2(X.text||"",$);case"element":case"component":{let Z=X.tag||"div",Y=B2(X.props||{},$),J=(X.children||[]).map((G)=>w7(G,$)).join("");if(!X.children||X.children.length===0){if(["input","br","hr","img","meta","link"].includes(Z))return`<${Z}${Y} />`}return`<${Z}${Y}>${J}</${Z}>`}case"fragment":return(X.children||[]).map((Z)=>w7(Z,$)).join("");case"slot":return`<!--slot:${X.slotName||"default"}-->`;default:return""}}function _2(X){if(X.type==="text")return X.text||"";let $=X.tag||"div",Z=B2(X.props||{},{});return`<${$}${Z}></${$}>`}function B2(X,$){let Z=[];for(let[Y,J]of Object.entries(X))if(J===!0)Z.push(` ${Y}`);else if(J!==!1&&J!==null&&J!==void 0){let G=j2(String(J),$);Z.push(` ${Y}="${H2(G)}"`)}return Z.join("")}async function DW(X,$){return w7(X,$)}function yW(X,$){let Z=[];return q7(X.tree,(Y)=>{if(Y.isStatic)Z.push(w7(Y,$))}),Z.join("")}function bW(X,$,Z){let Y={templateId:$.id,context:Z,dynamicParts:Array.from($.dynamicParts.entries())},J=`
18097
18097
  <script data-craft-hydration>
18098
18098
  window.__CRAFT_HYDRATION__ = ${JSON.stringify(Y)};
18099
- </script>`;return{html:X+J,data:Y}}function yW(X){let $=!1,Z=!1,Y=!1,J=!1,G=0,Q=0;function w(q,W){if(Q=Math.max(Q,W),q.type==="slot")$=!0;if(q.type==="component")G++;if(!q.isStatic)Z=!0;if(q.props)for(let U of Object.keys(q.props)){if(U.startsWith("on"))Y=!0;if(U==="@async"||U==="data-async")J=!0}if(q.children)q.children.forEach((U)=>w(U,W+1))}return w(X,0),{hasSlots:$,hasDynamicContent:Z,hasEventHandlers:Y,hasAsyncContent:J,componentCount:G,maxDepth:Q,estimatedSize:JSON.stringify(X).length}}function bW(X){let $=new Map,Z=new Map;return q7(X,(Y,J)=>{let G=J.join(".");if(Y.isStatic)$.set(G,z2(Y));else Z.set(G,Y.tag||Y.componentName||"dynamic")}),{staticParts:$,dynamicParts:Z}}function SW(X){let $=[],Z=/<script[^>]*>([\s\S]*?)<\/script>/gi,Y;while((Y=Z.exec(X))!==null)$.push(Y[1]);return $}function CW(X){let $=[],Z=/<style[^>]*>([\s\S]*?)<\/style>/gi,Y;while((Y=Z.exec(X))!==null)$.push(Y[1]);return $}function PW(X){let $=[],Z=/@include\s*\(\s*['"]([^'"]+)['"]/g,Y;while((Y=Z.exec(X))!==null)$.push(Y[1]);let J=/@component\s*\(\s*['"]([^'"]+)['"]/g;while((Y=J.exec(X))!==null)$.push(Y[1]);let G=/<@craft-[\w-]+/g;while((Y=G.exec(X))!==null)$.push(Y[0].slice(2));return[...new Set($)]}function U2(X){return/\{\{.*?\}\}|\{\!\!.*?\!\!\}/.test(X)}function B2(X,$){let Z=X.replace(/\{\{\s*(.+?)\s*\}\}/g,(Y,J)=>{try{let G=K2(J.trim(),$);return j2(String(G??""))}catch{return""}});return Z=Z.replace(/\{!!\s*(.+?)\s*!!\}/g,(Y,J)=>{try{let G=K2(J.trim(),$);return String(G??"")}catch{return""}}),Z}function K2(X,$){if(/^[\w.]+$/.test(X)){let Z=X.split("."),Y=$;for(let J of Z)if(Y&&typeof Y==="object"&&J in Y)Y=Y[J];else return;return Y}try{return Function(...Object.keys($),`return ${X}`)(...Object.values($))}catch{return}}function j2(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function vW(X){return X.replace(/\s+/g," ").replace(/>\s+</g,"><").replace(/\s+>/g,">").replace(/<\s+/g,"<").trim()}function xW(X){let $=0;for(let Z=0;Z<X.length;Z++){let Y=X.charCodeAt(Z);$=($<<5)-$+Y,$=$&$}return`tpl_${Math.abs($).toString(36)}`}function fW(X){let $=0;for(let Z=0;Z<X.length;Z++){let Y=X.charCodeAt(Z);$=($<<5)-$+Y,$=$&$}return Math.abs($).toString(36)}var gW=0;function hW(){return`h_${++gW}`}function H2(X){return["craft-button","craft-text-input","craft-textarea","craft-checkbox","craft-radio","craft-select","craft-slider","craft-toggle","craft-date-picker","craft-time-picker","craft-color-picker","craft-file-input","craft-modal","craft-alert","craft-toast","craft-progress","craft-spinner","craft-avatar","craft-badge","craft-card","craft-accordion","craft-tabs","craft-tooltip","craft-popover","craft-dropdown","craft-context-menu","craft-data-table","craft-virtual-list","craft-tree-view","craft-map","craft-chart","craft-video","craft-audio","craft-webview","craft-canvas","craft-image-viewer","craft-pdf-viewer","craft-code-editor","craft-rich-editor"].includes(X)}function uW(X){let $=X.tag?.toLowerCase(),Z=X.props?.type,Y={button:{component:"craft-button",confidence:0.95,reason:"Native button provides better touch feedback"},"input:text":{component:"craft-text-input",confidence:0.9,reason:"Native text input has better keyboard handling"},"input:checkbox":{component:"craft-checkbox",confidence:0.95,reason:"Native checkbox follows platform conventions"},"input:range":{component:"craft-slider",confidence:0.9,reason:"Native slider provides smooth interaction"},"input:date":{component:"craft-date-picker",confidence:0.95,reason:"Native date picker provides platform-specific UI"},"input:time":{component:"craft-time-picker",confidence:0.95,reason:"Native time picker provides platform-specific UI"},"input:color":{component:"craft-color-picker",confidence:0.9,reason:"Native color picker provides platform-specific UI"},textarea:{component:"craft-textarea",confidence:0.85,reason:"Native textarea handles multiline input better"},select:{component:"craft-select",confidence:0.9,reason:"Native select provides platform dropdown UI"},progress:{component:"craft-progress",confidence:0.95,reason:"Native progress bar matches platform style"},video:{component:"craft-video",confidence:0.95,reason:"Native video provides hardware acceleration"},audio:{component:"craft-audio",confidence:0.95,reason:"Native audio provides system integration"},dialog:{component:"craft-modal",confidence:0.9,reason:"Native modal provides proper layering and focus"}},J=Z?`${$}:${Z}`:$,G=Y[J||""]||Y[$||""];if(G)return{htmlSelector:J||$||"",nativeComponent:G.component,confidence:G.confidence,reason:G.reason};return null}function dW(){G7.clear()}function mW(){Q7.clear()}function YV(){dW(),mW()}function JV(){return{templateCacheSize:G7.size,renderCacheSize:Q7.size,totalEntries:G7.size+Q7.size}}import{existsSync as gq,mkdirSync as r0,copyFileSync as c1,chmodSync as p1}from"fs";import{join as h,basename as kF}from"path";import{spawn as K$,execSync as IF}from"child_process";import{tmpdir as hq,homedir as n4,platform as EF}from"os";H1();p5();sX();D5();nX();import{dirname as TF,resolve as Pq}from"path";function Sq(X){return X.endsWith(".md")||X.endsWith(".markdown")}function RF(X){let $=[];Y(/<pre\b[^>]*>[\s\S]*?<\/pre>/gi);let Z=[...$];Y(/<code\b[^>]*>[\s\S]*?<\/code>/gi,Z);function Y(Q,w){let q;while((q=Q.exec(X))!==null){let W=q.index,U=W+q[0].length;if(w?.some((K)=>W>=K.start&&U<=K.end))continue;$.push({start:W,end:U})}}if($.length===0)return X;$.sort((Q,w)=>Q.start-w.start);let J="",G=0;for(let Q of $){if(Q.start<G)continue;J+=X.slice(G,Q.start),J+=`@raw${X.slice(Q.start,Q.end)}@endraw`,G=Q.end}return J+=X.slice(G),J}async function Cq(X,$={}){let{data:Z,content:Y}=HX(X),G=await($.renderer??((Q)=>r1(Q)))(Y);return{html:RF(G),frontmatter:Z??{}}}function MF(X){let $=X,Z=g5(X);if(Z)$=Z.content.trim();let Y=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,J=[],G=[],Q=[],w=(U)=>/\b(?:state|derived|effect|batch)\s*(?:<[^<>()]*>)?\s*\(/.test(U),q;while((q=Y.exec(X))!==null){let U=q[1],K=q[2],z=q[0],B=U.includes("server");if(w(K))Q.push(z);else if(B)G.push(K);else J.push(z)}let W=$;{let U=/<script\b(?![^>]*\b(?:client|type\s*=\s*["']module["']|src\s*=))[^>]*>/gi,K,z=[];while((K=U.exec(W))!==null){let B=K.index+K[0].length,_=1,j=B;while(j<W.length&&_>0){let H=W.indexOf("<script",j),L=W.indexOf("</script>",j);if(L===-1)break;if(H!==-1&&H<L)_++,j=H+7;else{if(_--,_===0){z.push({start:K.index,end:L+9});break}j=L+9}}}for(let B=z.length-1;B>=0;B--)W=W.substring(0,z[B].start)+W.substring(z[B].end)}for(let U of J)W=W.replace(U,"");return{templateContent:W,serverScripts:G,clientScripts:J,signalsScripts:Q}}function NF(X,$){return`<!DOCTYPE html>
18099
+ </script>`;return{html:X+J,data:Y}}function SW(X){let $=!1,Z=!1,Y=!1,J=!1,G=0,Q=0;function w(q,W){if(Q=Math.max(Q,W),q.type==="slot")$=!0;if(q.type==="component")G++;if(!q.isStatic)Z=!0;if(q.props)for(let U of Object.keys(q.props)){if(U.startsWith("on"))Y=!0;if(U==="@async"||U==="data-async")J=!0}if(q.children)q.children.forEach((U)=>w(U,W+1))}return w(X,0),{hasSlots:$,hasDynamicContent:Z,hasEventHandlers:Y,hasAsyncContent:J,componentCount:G,maxDepth:Q,estimatedSize:JSON.stringify(X).length}}function CW(X){let $=new Map,Z=new Map;return q7(X,(Y,J)=>{let G=J.join(".");if(Y.isStatic)$.set(G,_2(Y));else Z.set(G,Y.tag||Y.componentName||"dynamic")}),{staticParts:$,dynamicParts:Z}}function PW(X){let $=[],Z=/<script[^>]*>([\s\S]*?)<\/script>/gi,Y;while((Y=Z.exec(X))!==null)$.push(Y[1]);return $}function vW(X){let $=[],Z=/<style[^>]*>([\s\S]*?)<\/style>/gi,Y;while((Y=Z.exec(X))!==null)$.push(Y[1]);return $}function xW(X){let $=[],Z=/@include\s*\(\s*['"]([^'"]+)['"]/g,Y;while((Y=Z.exec(X))!==null)$.push(Y[1]);let J=/@component\s*\(\s*['"]([^'"]+)['"]/g;while((Y=J.exec(X))!==null)$.push(Y[1]);let G=/<@craft-[\w-]+/g;while((Y=G.exec(X))!==null)$.push(Y[0].slice(2));return[...new Set($)]}function K2(X){return/\{\{.*?\}\}|\{\!\!.*?\!\!\}/.test(X)}function j2(X,$){let Z=X.replace(/\{\{\s*(.+?)\s*\}\}/g,(Y,J)=>{try{let G=z2(J.trim(),$);return H2(String(G??""))}catch{return""}});return Z=Z.replace(/\{!!\s*(.+?)\s*!!\}/g,(Y,J)=>{try{let G=z2(J.trim(),$);return String(G??"")}catch{return""}}),Z}function z2(X,$){if(/^[\w.]+$/.test(X)){let Z=X.split("."),Y=$;for(let J of Z)if(Y&&typeof Y==="object"&&J in Y)Y=Y[J];else return;return Y}try{return Function(...Object.keys($),`return ${X}`)(...Object.values($))}catch{return}}function H2(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function fW(X){return X.replace(/\s+/g," ").replace(/>\s+</g,"><").replace(/\s+>/g,">").replace(/<\s+/g,"<").trim()}function gW(X){let $=0;for(let Z=0;Z<X.length;Z++){let Y=X.charCodeAt(Z);$=($<<5)-$+Y,$=$&$}return`tpl_${Math.abs($).toString(36)}`}function hW(X){let $=0;for(let Z=0;Z<X.length;Z++){let Y=X.charCodeAt(Z);$=($<<5)-$+Y,$=$&$}return Math.abs($).toString(36)}var uW=0;function dW(){return`h_${++uW}`}function L2(X){return["craft-button","craft-text-input","craft-textarea","craft-checkbox","craft-radio","craft-select","craft-slider","craft-toggle","craft-date-picker","craft-time-picker","craft-color-picker","craft-file-input","craft-modal","craft-alert","craft-toast","craft-progress","craft-spinner","craft-avatar","craft-badge","craft-card","craft-accordion","craft-tabs","craft-tooltip","craft-popover","craft-dropdown","craft-context-menu","craft-data-table","craft-virtual-list","craft-tree-view","craft-map","craft-chart","craft-video","craft-audio","craft-webview","craft-canvas","craft-image-viewer","craft-pdf-viewer","craft-code-editor","craft-rich-editor"].includes(X)}function mW(X){let $=X.tag?.toLowerCase(),Z=X.props?.type,Y={button:{component:"craft-button",confidence:0.95,reason:"Native button provides better touch feedback"},"input:text":{component:"craft-text-input",confidence:0.9,reason:"Native text input has better keyboard handling"},"input:checkbox":{component:"craft-checkbox",confidence:0.95,reason:"Native checkbox follows platform conventions"},"input:range":{component:"craft-slider",confidence:0.9,reason:"Native slider provides smooth interaction"},"input:date":{component:"craft-date-picker",confidence:0.95,reason:"Native date picker provides platform-specific UI"},"input:time":{component:"craft-time-picker",confidence:0.95,reason:"Native time picker provides platform-specific UI"},"input:color":{component:"craft-color-picker",confidence:0.9,reason:"Native color picker provides platform-specific UI"},textarea:{component:"craft-textarea",confidence:0.85,reason:"Native textarea handles multiline input better"},select:{component:"craft-select",confidence:0.9,reason:"Native select provides platform dropdown UI"},progress:{component:"craft-progress",confidence:0.95,reason:"Native progress bar matches platform style"},video:{component:"craft-video",confidence:0.95,reason:"Native video provides hardware acceleration"},audio:{component:"craft-audio",confidence:0.95,reason:"Native audio provides system integration"},dialog:{component:"craft-modal",confidence:0.9,reason:"Native modal provides proper layering and focus"}},J=Z?`${$}:${Z}`:$,G=Y[J||""]||Y[$||""];if(G)return{htmlSelector:J||$||"",nativeComponent:G.component,confidence:G.confidence,reason:G.reason};return null}function lW(){G7.clear()}function cW(){Q7.clear()}function QV(){lW(),cW()}function wV(){return{templateCacheSize:G7.size,renderCacheSize:Q7.size,totalEntries:G7.size+Q7.size}}import{existsSync as uq,mkdirSync as r0,copyFileSync as c1,chmodSync as p1}from"fs";import{join as h,basename as DF}from"path";import{spawn as K$,execSync as yF}from"child_process";import{tmpdir as dq,homedir as r4,platform as bF}from"os";H1();p5();sX();D5();nX();import{dirname as kF,resolve as xq}from"path";function Pq(X){return X.endsWith(".md")||X.endsWith(".markdown")}function NF(X){let $=[];Y(/<pre\b[^>]*>[\s\S]*?<\/pre>/gi);let Z=[...$];Y(/<code\b[^>]*>[\s\S]*?<\/code>/gi,Z);function Y(Q,w){let q;while((q=Q.exec(X))!==null){let W=q.index,U=W+q[0].length;if(w?.some((K)=>W>=K.start&&U<=K.end))continue;$.push({start:W,end:U})}}if($.length===0)return X;$.sort((Q,w)=>Q.start-w.start);let J="",G=0;for(let Q of $){if(Q.start<G)continue;J+=X.slice(G,Q.start),J+=`@raw${X.slice(Q.start,Q.end)}@endraw`,G=Q.end}return J+=X.slice(G),J}async function vq(X,$={}){let{data:Z,content:Y}=HX(X),G=await($.renderer??((Q)=>r1(Q)))(Y);return{html:NF(G),frontmatter:Z??{}}}function IF(X){let $=X,Z=g5(X);if(Z)$=Z.content.trim();let Y=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,J=[],G=[],Q=[],w=(U)=>/\b(?:state|derived|effect|batch)\s*(?:<[^<>()]*>)?\s*\(/.test(U),q;while((q=Y.exec(X))!==null){let U=q[1],K=q[2],z=q[0],B=U.includes("server");if(w(K))Q.push(z);else if(B)G.push(K);else J.push(z)}let W=$;{let U=/<script\b(?![^>]*\b(?:client|type\s*=\s*["']module["']|src\s*=))[^>]*>/gi,K,z=[];while((K=U.exec(W))!==null){let B=K.index+K[0].length,_=1,j=B;while(j<W.length&&_>0){let H=W.indexOf("<script",j),L=W.indexOf("</script>",j);if(L===-1)break;if(H!==-1&&H<L)_++,j=H+7;else{if(_--,_===0){z.push({start:K.index,end:L+9});break}j=L+9}}}for(let B=z.length-1;B>=0;B--)W=W.substring(0,z[B].start)+W.substring(z[B].end)}for(let U of J)W=W.replace(U,"");return{templateContent:W,serverScripts:G,clientScripts:J,signalsScripts:Q}}function EF(X,$){return`<!DOCTYPE html>
18100
18100
  <html lang="en">
18101
18101
  <head>
18102
18102
  <meta charset="UTF-8">
@@ -18106,30 +18106,30 @@ ${Z} `)}]`:"";return`Craft.create("${X.zigType}", ${J}${Q})`}function GW(X,$,
18106
18106
  <body>
18107
18107
  ${X}
18108
18108
  </body>
18109
- </html>`}function vq(X,$,Z){if(X&&typeof X==="object")X[$]=Z}async function xq(X,$={}){let Z=Pq(X),Y=Bun.file(Z);if(!await Y.exists())throw Error(`Template file not found: ${Z}`);let J=await Y.text(),G=null;if(Sq(Z)){let Q=await Cq(J,{renderer:$.markdownRenderer});J=Q.html,G=Q.frontmatter}if(G)$={...$,context:{...G,...$.context||{}}};if($.layout){let Q=Pq($.layout),w=Bun.file(Q);if(!await w.exists())throw Error(`Layout template not found: ${Q}`);let{layout:q,injectCSS:W,...U}=$,K=await i4(J,Z,{...U,injectCSS:!1}),z=await w.text(),B={...$.context||{},content:K},_={...U,context:B,injectCSS:W};return i4(z,Q,_)}return i4(J,Z,$)}async function i4(X,$,Z={}){let{templateContent:Y,serverScripts:J,clientScripts:G}=MF(X),Q={...A1,...Z.options},w={__filename:$,__dirname:TF($),__stx:{},__stx_options:Q,__stx_sfc_mode:!0,__stx_inject_css:Z.injectCSS===!0,__stxServeContext:void 0,setResponseStatus:(U)=>{if(Number.isInteger(U)&&U>=100&&U<=599)vq(Z.context,"__stxResponseStatus",U)},setResponseHeader:(U,K)=>{if(!U)return;let z=Z.context?.__stxResponseHeaders||{};z[String(U)]=String(K),vq(Z.context,"__stxResponseHeaders",z)},definePageMeta:()=>{},...Z.context||{}};for(let U of J)await V1(U,w,$);let q=new Set,W=Y;if(W=await V0(W,w,$,Q,q),Z.templateOnly){if(W=W.replace(/<script data-stx-scoped>[\s\S]*?<\/script>\s*/gi,""),W=W.replace(/<!-- stx SEO Tags -->[\s\S]*?(?=<)/i,""),G.length>0)W+=`
18109
+ </html>`}function fq(X,$,Z){if(X&&typeof X==="object")X[$]=Z}async function gq(X,$={}){let Z=xq(X),Y=Bun.file(Z);if(!await Y.exists())throw Error(`Template file not found: ${Z}`);let J=await Y.text(),G=null;if(Pq(Z)){let Q=await vq(J,{renderer:$.markdownRenderer});J=Q.html,G=Q.frontmatter}if(G)$={...$,context:{...G,...$.context||{}}};if($.layout){let Q=xq($.layout),w=Bun.file(Q);if(!await w.exists())throw Error(`Layout template not found: ${Q}`);let{layout:q,injectCSS:W,...U}=$,K=await n4(J,Z,{...U,injectCSS:!1}),z=await w.text(),B={...$.context||{},content:K},_={...U,context:B,injectCSS:W};return n4(z,Q,_)}return n4(J,Z,$)}async function n4(X,$,Z={}){let{templateContent:Y,serverScripts:J,clientScripts:G}=IF(X),Q={...A1,...Z.options},w={__filename:$,__dirname:kF($),__stx:{},__stx_options:Q,__stx_sfc_mode:!0,__stx_inject_css:Z.injectCSS===!0,__stxServeContext:void 0,setResponseStatus:(U)=>{if(Number.isInteger(U)&&U>=100&&U<=599)fq(Z.context,"__stxResponseStatus",U)},setResponseHeader:(U,K)=>{if(!U)return;let z=Z.context?.__stxResponseHeaders||{};z[String(U)]=String(K),fq(Z.context,"__stxResponseHeaders",z)},definePageMeta:()=>{},...Z.context||{}};for(let U of J)await V1(U,w,$);let q=new Set,W=Y;if(W=await V0(W,w,$,Q,q),Z.templateOnly){if(W=W.replace(/<script data-stx-scoped>[\s\S]*?<\/script>\s*/gi,""),W=W.replace(/<!-- stx SEO Tags -->[\s\S]*?(?=<)/i,""),G.length>0)W+=`
18110
18110
  ${G.join(`
18111
18111
  `)}`}else{if(Z.processClientScripts!==!1&&G.length>0){let U=w.__stx_event_bindings||[],K=a1(w),B=(await Promise.all(G.map(async(j)=>{let H=j.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!H)return j;return await t1(H[1],{eventBindings:U,templateContent:W,serverData:K,filePath:$})}))).join(`
18112
18112
  `);if(W.match(/(<\/body>)/i))W=W.replace(/(<\/body>)/i,`${B}
18113
18113
  $1`);else W+=`
18114
- ${B}`}W=await d3(W)}if(Z.wrapInDocument){if(!W.trim().toLowerCase().startsWith("<!doctype")&&!W.trim().toLowerCase().startsWith("<html"))W=NF(W,Z.title)}if(Z.injectCSS)try{let{injectCrosswindCSS:U}=await Promise.resolve().then(() => (G9(),WZ));W=await U(W)}catch{}return W}async function Dy(X){let $=Date.now();try{if(!await Bun.file(X.input).exists())return{success:!1,target:X.target||U$(),format:X.format||"app",error:`Input file not found: ${X.input}`};let Z=X.target||U$(),Y=X.format||fF(Z),J=X.output||h(process.cwd(),"dist","native");if(!gq(J))r0(J,{recursive:!0});let G=await xq(X.input,{context:X.context,options:{isDev:!1}});if(G=o4(G,{debug:X.verbose}),G=Q2(G),!G.includes("craft-component-styles")){if(G.includes("</head>"))G=G.replace("</head>",`${G2}
18115
- </head>`)}let Q=X.name||kF(X.input,".stx"),w=X.version||"1.0.0",q=X.craftPath||await xF();if(!q)return{success:!1,target:Z,format:Y,error:"Craft binary not found. Please install Craft or specify craftPath."};if(X.verbose)console.log(`\uD83D\uDCE6 Building native app for ${Z}...`),console.log(` Input: ${X.input}`),console.log(` Output: ${J}`),console.log(` Craft: ${q}`);let W;switch(Z){case"macos":W=await DF(G,Q,w,J,Y,X,q);break;case"windows":W=await SF(G,Q,w,J,Y,X,q);break;case"linux":W=await CF(G,Q,w,J,Y,X,q);break;case"ios":W=await PF(G,Q,w,J,X,q);break;case"android":W=await vF(G,Q,w,J,X,q);break;default:W={success:!1,target:Z,format:Y,error:`Unsupported target: ${Z}`}}return W.duration=Date.now()-$,W}catch(Z){return{success:!1,target:X.target||U$(),format:X.format||"app",error:Z.message,duration:Date.now()-$}}}async function DF(X,$,Z,Y,J,G,Q){let w=G.bundleId||`com.stx.${$.toLowerCase().replace(/[^a-z0-9]/g,"")}`,q=h(Y,`${$}.app`),W=h(q,"Contents"),U=h(W,"MacOS"),K=h(W,"Resources");r0(U,{recursive:!0}),r0(K,{recursive:!0});let z=h(K,"index.html");await Bun.write(z,X);let B="";if(G.sidebar?.enabled&&G.sidebar?.config)B=h(K,"sidebar-config.json"),await Bun.write(B,JSON.stringify(G.sidebar.config));let _=G.sidebar?.enabled?`--native-sidebar --sidebar-width ${G.sidebar?.width||240} --sidebar-config "$(cat "$RESOURCES/sidebar-config.json")"`:"",j=G.menubarOnly??G.systemTray;if((G.bundleStyle||(await yF(Q)?"executable":"launcher"))==="executable"){let F=h(U,$);c1(Q,F),p1(F,493);let V={html:"index.html",title:G.window?.title||$,width:G.window?.width||1200,height:G.window?.height||800,devTools:Boolean(G.devTools)};if(j)V.menubarOnly=!0;else if(G.systemTray)V.systemTray=!0;if(G.window?.frameless)V.frameless=!0;if(G.window?.transparent)V.transparent=!0;if(G.window?.alwaysOnTop)V.alwaysOnTop=!0;if(G.window?.resizable===!1)V.resizable=!1;await Bun.write(h(K,"craft.json"),`${JSON.stringify(V,null,2)}
18114
+ ${B}`}W=await m3(W)}if(Z.wrapInDocument){if(!W.trim().toLowerCase().startsWith("<!doctype")&&!W.trim().toLowerCase().startsWith("<html"))W=EF(W,Z.title)}if(Z.injectCSS)try{let{injectCrosswindCSS:U}=await Promise.resolve().then(() => (G9(),UZ));W=await U(W)}catch{}return W}async function Sy(X){let $=Date.now();try{if(!await Bun.file(X.input).exists())return{success:!1,target:X.target||U$(),format:X.format||"app",error:`Input file not found: ${X.input}`};let Z=X.target||U$(),Y=X.format||uF(Z),J=X.output||h(process.cwd(),"dist","native");if(!uq(J))r0(J,{recursive:!0});let G=await gq(X.input,{context:X.context,options:{isDev:!1}});if(G=a4(G,{debug:X.verbose}),G=w2(G),!G.includes("craft-component-styles")){if(G.includes("</head>"))G=G.replace("</head>",`${Q2}
18115
+ </head>`)}let Q=X.name||DF(X.input,".stx"),w=X.version||"1.0.0",q=X.craftPath||await hF();if(!q)return{success:!1,target:Z,format:Y,error:"Craft binary not found. Please install Craft or specify craftPath."};if(X.verbose)console.log(`\uD83D\uDCE6 Building native app for ${Z}...`),console.log(` Input: ${X.input}`),console.log(` Output: ${J}`),console.log(` Craft: ${q}`);let W;switch(Z){case"macos":W=await SF(G,Q,w,J,Y,X,q);break;case"windows":W=await vF(G,Q,w,J,Y,X,q);break;case"linux":W=await xF(G,Q,w,J,Y,X,q);break;case"ios":W=await fF(G,Q,w,J,X,q);break;case"android":W=await gF(G,Q,w,J,X,q);break;default:W={success:!1,target:Z,format:Y,error:`Unsupported target: ${Z}`}}return W.duration=Date.now()-$,W}catch(Z){return{success:!1,target:X.target||U$(),format:X.format||"app",error:Z.message,duration:Date.now()-$}}}async function SF(X,$,Z,Y,J,G,Q){let w=G.bundleId||`com.stx.${$.toLowerCase().replace(/[^a-z0-9]/g,"")}`,q=h(Y,`${$}.app`),W=h(q,"Contents"),U=h(W,"MacOS"),K=h(W,"Resources");r0(U,{recursive:!0}),r0(K,{recursive:!0});let z=h(K,"index.html");await Bun.write(z,X);let B="";if(G.sidebar?.enabled&&G.sidebar?.config)B=h(K,"sidebar-config.json"),await Bun.write(B,JSON.stringify(G.sidebar.config));let _=G.sidebar?.enabled?`--native-sidebar --sidebar-width ${G.sidebar?.width||240} --sidebar-config "$(cat "$RESOURCES/sidebar-config.json")"`:"",j=G.menubarOnly??G.systemTray;if((G.bundleStyle||(await CF(Q)?"executable":"launcher"))==="executable"){let F=h(U,$);c1(Q,F),p1(F,493);let V={html:"index.html",title:G.window?.title||$,width:G.window?.width||1200,height:G.window?.height||800,devTools:Boolean(G.devTools)};if(j)V.menubarOnly=!0;else if(G.systemTray)V.systemTray=!0;if(G.window?.frameless)V.frameless=!0;if(G.window?.transparent)V.transparent=!0;if(G.window?.alwaysOnTop)V.alwaysOnTop=!0;if(G.window?.resizable===!1)V.resizable=!1;await Bun.write(h(K,"craft.json"),`${JSON.stringify(V,null,2)}
18116
18116
  `)}else{let F=h(U,"craft");c1(Q,F),p1(F,493);let V=G.sidebar?.enabled?`--native-sidebar --sidebar-width ${G.sidebar?.width||240} --sidebar-config "$(cat "$RESOURCES/sidebar-config.json")"`:"",R=`#!/bin/bash
18117
18117
  set -euo pipefail
18118
18118
  DIR="$( cd "$( dirname "\${BASH_SOURCE[0]}" )" && pwd )"
18119
18119
  RESOURCES="$DIR/../Resources"
18120
18120
  exec "$DIR/craft" --html-file "$RESOURCES/index.html" \\
18121
18121
  ${[`--title "${G.window?.title||$}"`,`--width ${G.window?.width||1200}`,`--height ${G.window?.height||800}`,j?"--menubar-only":G.systemTray?"--system-tray":"",G.devTools?"":"--no-devtools",G.window?.frameless?"--frameless":"",G.window?.transparent?"--transparent":"",G.window?.alwaysOnTop?"--always-on-top":"",G.window?.resizable===!1?"--no-resize":"",V].filter(Boolean).join(" \\\n ")}
18122
- `,T=h(U,$);await Bun.write(T,R),p1(T,493)}let L=Boolean(G.icon&&await Bun.file(G.icon).exists());if(L)c1(G.icon,h(K,"AppIcon.icns"));let O={CFBundleExecutable:$,CFBundleIdentifier:w,CFBundleName:$,CFBundleDisplayName:$,CFBundleShortVersionString:Z,CFBundleVersion:Z,CFBundlePackageType:"APPL",CFBundleSignature:"????",LSMinimumSystemVersion:G.minimumSystemVersion||"13.0",NSHighResolutionCapable:!0,NSSupportsAutomaticGraphicsSwitching:!0,LSUIElement:G.menubarOnly??Boolean(G.systemTray),...L?{CFBundleIconFile:"AppIcon"}:{},...G.category?{LSApplicationCategoryType:G.category}:{},...G.copyright?{NSHumanReadableCopyright:G.copyright}:{},...G.infoPlist||{}};if(await Bun.write(h(W,"Info.plist"),bF(O)),J==="dmg"){let F=h(Y,`${$}-${Z}.dmg`),V=await gF(q,F,$);if(!V.success)return{success:!1,target:"macos",format:"dmg",error:V.error};return{success:!0,target:"macos",format:"dmg",outputPath:F}}return{success:!0,target:"macos",format:"app",outputPath:q}}async function yF(X){try{let $=Bun.spawn([X,"--version"],{stdout:"pipe",stderr:"pipe"}),[Z,Y]=await Promise.all([new Response($.stdout).text(),new Response($.stderr).text()]);await $.exited;let G=`${Z}
18123
- ${Y}`.match(/(\d+)\.(\d+)\.(\d+)/);if(!G)return!1;let[Q,w,q]=G.slice(1).map(Number);if(Q>0||w>0)return!0;return q>=57}catch{return!1}}function fq(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function bF(X){return`<?xml version="1.0" encoding="UTF-8"?>
18122
+ `,T=h(U,$);await Bun.write(T,R),p1(T,493)}let L=Boolean(G.icon&&await Bun.file(G.icon).exists());if(L)c1(G.icon,h(K,"AppIcon.icns"));let O={CFBundleExecutable:$,CFBundleIdentifier:w,CFBundleName:$,CFBundleDisplayName:$,CFBundleShortVersionString:Z,CFBundleVersion:Z,CFBundlePackageType:"APPL",CFBundleSignature:"????",LSMinimumSystemVersion:G.minimumSystemVersion||"13.0",NSHighResolutionCapable:!0,NSSupportsAutomaticGraphicsSwitching:!0,LSUIElement:G.menubarOnly??Boolean(G.systemTray),...L?{CFBundleIconFile:"AppIcon"}:{},...G.category?{LSApplicationCategoryType:G.category}:{},...G.copyright?{NSHumanReadableCopyright:G.copyright}:{},...G.infoPlist||{}};if(await Bun.write(h(W,"Info.plist"),PF(O)),J==="dmg"){let F=h(Y,`${$}-${Z}.dmg`),V=await dF(q,F,$);if(!V.success)return{success:!1,target:"macos",format:"dmg",error:V.error};return{success:!0,target:"macos",format:"dmg",outputPath:F}}return{success:!0,target:"macos",format:"app",outputPath:q}}async function CF(X){try{let $=Bun.spawn([X,"--version"],{stdout:"pipe",stderr:"pipe"}),[Z,Y]=await Promise.all([new Response($.stdout).text(),new Response($.stderr).text()]);await $.exited;let G=`${Z}
18123
+ ${Y}`.match(/(\d+)\.(\d+)\.(\d+)/);if(!G)return!1;let[Q,w,q]=G.slice(1).map(Number);if(Q>0||w>0)return!0;return q>=57}catch{return!1}}function hq(X){return X.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function PF(X){return`<?xml version="1.0" encoding="UTF-8"?>
18124
18124
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
18125
18125
  <plist version="1.0">
18126
18126
  <dict>
18127
- ${Object.entries(X).map(([Z,Y])=>{let J=typeof Y==="boolean"?`<${Y}/>`:typeof Y==="number"?`<integer>${Y}</integer>`:`<string>${fq(String(Y))}</string>`;return` <key>${fq(Z)}</key>
18127
+ ${Object.entries(X).map(([Z,Y])=>{let J=typeof Y==="boolean"?`<${Y}/>`:typeof Y==="number"?`<integer>${Y}</integer>`:`<string>${hq(String(Y))}</string>`;return` <key>${hq(Z)}</key>
18128
18128
  ${J}`}).join(`
18129
18129
  `)}
18130
18130
  </dict>
18131
18131
  </plist>
18132
- `}async function SF(X,$,Z,Y,J,G,Q){let w=h(Y,$);r0(w,{recursive:!0});let q=h(w,"index.html");await Bun.write(q,X),c1(Q,h(w,"craft.exe"));let W=`@echo off
18132
+ `}async function vF(X,$,Z,Y,J,G,Q){let w=h(Y,$);r0(w,{recursive:!0});let q=h(w,"index.html");await Bun.write(q,X),c1(Q,h(w,"craft.exe"));let W=`@echo off
18133
18133
  set DIR=%~dp0
18134
18134
  "%DIR%craft.exe" --html-file "%DIR%index.html" ^
18135
18135
  --title "${G.window?.title||$}" ^
@@ -18137,7 +18137,7 @@ set DIR=%~dp0
18137
18137
  --height ${G.window?.height||800} ^
18138
18138
  ${G.systemTray?"--system-tray":""} ^
18139
18139
  ${G.devTools?"":"--no-devtools"}
18140
- `;if(await Bun.write(h(w,`${$}.bat`),W),J==="zip"){let U=h(Y,`${$}-${Z}-windows.zip`),K=await hF(w,U);if(!K.success)return{success:!1,target:"windows",format:"zip",error:K.error};return{success:!0,target:"windows",format:"zip",outputPath:U}}return{success:!0,target:"windows",format:"app",outputPath:w}}async function CF(X,$,Z,Y,J,G,Q){let w=h(Y,$);r0(w,{recursive:!0});let q=h(w,"index.html");await Bun.write(q,X);let W=h(w,"craft");c1(Q,W),p1(W,493);let U=`#!/bin/bash
18140
+ `;if(await Bun.write(h(w,`${$}.bat`),W),J==="zip"){let U=h(Y,`${$}-${Z}-windows.zip`),K=await mF(w,U);if(!K.success)return{success:!1,target:"windows",format:"zip",error:K.error};return{success:!0,target:"windows",format:"zip",outputPath:U}}return{success:!0,target:"windows",format:"app",outputPath:w}}async function xF(X,$,Z,Y,J,G,Q){let w=h(Y,$);r0(w,{recursive:!0});let q=h(w,"index.html");await Bun.write(q,X);let W=h(w,"craft");c1(Q,W),p1(W,493);let U=`#!/bin/bash
18141
18141
  set -euo pipefail
18142
18142
  DIR="$( cd "$( dirname "\${BASH_SOURCE[0]}" )" && pwd )"
18143
18143
  exec "$DIR/craft" --html-file "$DIR/index.html" \\
@@ -18152,8 +18152,8 @@ Name=${$}
18152
18152
  Exec=${K}
18153
18153
  Terminal=false
18154
18154
  Categories=Utility;
18155
- `;if(await Bun.write(h(w,`${$.toLowerCase()}.desktop`),z),J==="deb"){let B=h(Y,`${$.toLowerCase()}_${Z}_amd64.deb`),_=await uF(w,B,$,Z,G);if(!_.success)return{success:!1,target:"linux",format:"deb",error:_.error};return{success:!0,target:"linux",format:"deb",outputPath:B}}if(J==="appimage"){let B=h(Y,`${$}-${Z}-x86_64.AppImage`),_=await dF(w,B,$,G);if(!_.success)return{success:!1,target:"linux",format:"appimage",error:_.error};return{success:!0,target:"linux",format:"appimage",outputPath:B}}return{success:!0,target:"linux",format:"app",outputPath:w}}async function PF(X,$,Z,Y,J,G){return{success:!1,target:"ios",format:"ipa",error:`iOS build requires Xcode and additional setup. Use 'stx init:ios ${$}' to create an iOS project.`}}async function vF(X,$,Z,Y,J,G){return{success:!1,target:"android",format:"apk",error:`Android build requires Android SDK and additional setup. Use 'stx init:android ${$}' to create an Android project.`}}async function xF(){if(process.env.CRAFT_BIN&&await Bun.file(process.env.CRAFT_BIN).exists())return process.env.CRAFT_BIN;let X=[h(process.cwd(),"../../craft/packages/zig/zig-out/bin/craft"),h(process.cwd(),"../craft/packages/zig/zig-out/bin/craft"),h(n4(),"Code/Tools/craft/packages/zig/zig-out/bin/craft"),h(n4(),"Code/craft/packages/zig/zig-out/bin/craft"),"/usr/local/bin/craft","/usr/bin/craft",h(n4(),".local/bin/craft"),h(process.env.LOCALAPPDATA||"","craft","craft.exe"),h(process.env.PROGRAMFILES||"","craft","craft.exe")];for(let $ of X)if(await Bun.file($).exists())return $;try{let Z=IF("which craft 2>/dev/null || where craft 2>nul",{encoding:"utf-8"}).trim().split(`
18156
- `)[0];if(Z&&await Bun.file(Z).exists())return Z}catch{}return null}function U$(){switch(EF()){case"darwin":return"macos";case"win32":return"windows";default:return"linux"}}function fF(X){switch(X){case"macos":return"app";case"windows":return"zip";case"linux":return"appimage";case"ios":return"ipa";case"android":return"apk";default:return"app"}}async function gF(X,$,Z){return new Promise((Y)=>{let J=K$("hdiutil",["create","-volname",Z,"-srcfolder",X,"-ov","-format","UDZO",$]);J.on("close",(G)=>{if(G===0)Y({success:!0});else Y({success:!1,error:`hdiutil exited with code ${G}`})}),J.on("error",(G)=>{Y({success:!1,error:G.message})})})}async function hF(X,$){return new Promise((Z)=>{let Y=K$("zip",["-r",$,"."],{cwd:X});Y.on("close",(J)=>{if(J===0)Z({success:!0});else Z({success:!1,error:`zip exited with code ${J}`})}),Y.on("error",(J)=>{Z({success:!1,error:J.message})})})}async function uF(X,$,Z,Y,J){return new Promise((G)=>{try{let Q=h(hq(),`stx-deb-${Date.now()}`),w=h(Q,"DEBIAN"),q=h(Q,"usr","bin"),W=h(Q,"usr","share","applications"),U=h(Q,"usr","share",Z.toLowerCase());r0(w,{recursive:!0}),r0(q,{recursive:!0}),r0(W,{recursive:!0}),r0(U,{recursive:!0});let K=X0("fs").readdirSync(X);for(let j of K)c1(h(X,j),h(U,j));let z=`#!/bin/bash
18155
+ `;if(await Bun.write(h(w,`${$.toLowerCase()}.desktop`),z),J==="deb"){let B=h(Y,`${$.toLowerCase()}_${Z}_amd64.deb`),_=await lF(w,B,$,Z,G);if(!_.success)return{success:!1,target:"linux",format:"deb",error:_.error};return{success:!0,target:"linux",format:"deb",outputPath:B}}if(J==="appimage"){let B=h(Y,`${$}-${Z}-x86_64.AppImage`),_=await cF(w,B,$,G);if(!_.success)return{success:!1,target:"linux",format:"appimage",error:_.error};return{success:!0,target:"linux",format:"appimage",outputPath:B}}return{success:!0,target:"linux",format:"app",outputPath:w}}async function fF(X,$,Z,Y,J,G){return{success:!1,target:"ios",format:"ipa",error:`iOS build requires Xcode and additional setup. Use 'stx init:ios ${$}' to create an iOS project.`}}async function gF(X,$,Z,Y,J,G){return{success:!1,target:"android",format:"apk",error:`Android build requires Android SDK and additional setup. Use 'stx init:android ${$}' to create an Android project.`}}async function hF(){if(process.env.CRAFT_BIN&&await Bun.file(process.env.CRAFT_BIN).exists())return process.env.CRAFT_BIN;let X=[h(process.cwd(),"../../craft/packages/zig/zig-out/bin/craft"),h(process.cwd(),"../craft/packages/zig/zig-out/bin/craft"),h(r4(),"Code/Tools/craft/packages/zig/zig-out/bin/craft"),h(r4(),"Code/craft/packages/zig/zig-out/bin/craft"),"/usr/local/bin/craft","/usr/bin/craft",h(r4(),".local/bin/craft"),h(process.env.LOCALAPPDATA||"","craft","craft.exe"),h(process.env.PROGRAMFILES||"","craft","craft.exe")];for(let $ of X)if(await Bun.file($).exists())return $;try{let Z=yF("which craft 2>/dev/null || where craft 2>nul",{encoding:"utf-8"}).trim().split(`
18156
+ `)[0];if(Z&&await Bun.file(Z).exists())return Z}catch{}return null}function U$(){switch(bF()){case"darwin":return"macos";case"win32":return"windows";default:return"linux"}}function uF(X){switch(X){case"macos":return"app";case"windows":return"zip";case"linux":return"appimage";case"ios":return"ipa";case"android":return"apk";default:return"app"}}async function dF(X,$,Z){return new Promise((Y)=>{let J=K$("hdiutil",["create","-volname",Z,"-srcfolder",X,"-ov","-format","UDZO",$]);J.on("close",(G)=>{if(G===0)Y({success:!0});else Y({success:!1,error:`hdiutil exited with code ${G}`})}),J.on("error",(G)=>{Y({success:!1,error:G.message})})})}async function mF(X,$){return new Promise((Z)=>{let Y=K$("zip",["-r",$,"."],{cwd:X});Y.on("close",(J)=>{if(J===0)Z({success:!0});else Z({success:!1,error:`zip exited with code ${J}`})}),Y.on("error",(J)=>{Z({success:!1,error:J.message})})})}async function lF(X,$,Z,Y,J){return new Promise((G)=>{try{let Q=h(dq(),`stx-deb-${Date.now()}`),w=h(Q,"DEBIAN"),q=h(Q,"usr","bin"),W=h(Q,"usr","share","applications"),U=h(Q,"usr","share",Z.toLowerCase());r0(w,{recursive:!0}),r0(q,{recursive:!0}),r0(W,{recursive:!0}),r0(U,{recursive:!0});let K=X0("fs").readdirSync(X);for(let j of K)c1(h(X,j),h(U,j));let z=`#!/bin/bash
18157
18157
  exec /usr/share/${Z.toLowerCase()}/${Z.toLowerCase()} "$@"`;X0("fs").writeFileSync(h(q,Z.toLowerCase()),z),p1(h(q,Z.toLowerCase()),493);let B=`Package: ${Z.toLowerCase()}
18158
18158
  Version: ${Y}
18159
18159
  Section: utils
@@ -18162,7 +18162,7 @@ Architecture: amd64
18162
18162
  Depends: libgtk-3-0, libwebkit2gtk-4.0-37
18163
18163
  Maintainer: ${J.author||"Unknown"}
18164
18164
  Description: ${J.description||Z}
18165
- `;X0("fs").writeFileSync(h(w,"control"),B);let _=K$("dpkg-deb",["--build",Q,$]);_.on("close",(j)=>{if(X0("fs").rmSync(Q,{recursive:!0,force:!0}),j===0)G({success:!0});else G({success:!1,error:`dpkg-deb exited with code ${j}`})}),_.on("error",(j)=>{X0("fs").rmSync(Q,{recursive:!0,force:!0}),G({success:!1,error:j.message})})}catch(Q){G({success:!1,error:Q.message})}})}async function dF(X,$,Z,Y){return new Promise((J)=>{try{let G=h(hq(),`stx-appimage-${Date.now()}`),Q=h(G,`${Z}.AppDir`),w=h(Q,"usr"),q=h(w,"bin"),W=h(w,"share");r0(q,{recursive:!0}),r0(W,{recursive:!0});let U=h(W,Z.toLowerCase());r0(U,{recursive:!0});let K=X0("fs").readdirSync(X);for(let H of K)c1(h(X,H),h(U,H));let z=`#!/bin/bash
18165
+ `;X0("fs").writeFileSync(h(w,"control"),B);let _=K$("dpkg-deb",["--build",Q,$]);_.on("close",(j)=>{if(X0("fs").rmSync(Q,{recursive:!0,force:!0}),j===0)G({success:!0});else G({success:!1,error:`dpkg-deb exited with code ${j}`})}),_.on("error",(j)=>{X0("fs").rmSync(Q,{recursive:!0,force:!0}),G({success:!1,error:j.message})})}catch(Q){G({success:!1,error:Q.message})}})}async function cF(X,$,Z,Y){return new Promise((J)=>{try{let G=h(dq(),`stx-appimage-${Date.now()}`),Q=h(G,`${Z}.AppDir`),w=h(Q,"usr"),q=h(w,"bin"),W=h(w,"share");r0(q,{recursive:!0}),r0(W,{recursive:!0});let U=h(W,Z.toLowerCase());r0(U,{recursive:!0});let K=X0("fs").readdirSync(X);for(let H of K)c1(h(X,H),h(U,H));let z=`#!/bin/bash
18166
18166
  SELF=$(readlink -f "$0")
18167
18167
  HERE=\${SELF%/*}
18168
18168
  export PATH="\${HERE}/usr/bin:\${PATH}"
@@ -18174,4 +18174,4 @@ Exec=${Z.toLowerCase()}
18174
18174
  Terminal=false
18175
18175
  Categories=Utility;
18176
18176
  Icon=${Z.toLowerCase()}
18177
- `;X0("fs").writeFileSync(h(Q,`${Z.toLowerCase()}.desktop`),B);let _=Buffer.from([137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,1,0,0,0,1,8,2,0,0,0,144,119,83,222,0,0,0,12,73,68,65,84,8,215,99,248,255,255,63,0,5,254,2,254,220,204,89,231,0,0,0,0,73,69,78,68,174,66,96,130]);if(X0("fs").writeFileSync(h(Q,`${Z.toLowerCase()}.png`),_),Y.icon&&gq(Y.icon))c1(Y.icon,h(Q,`${Z.toLowerCase()}.png`));let j=K$("appimagetool",[Q,$],{env:{...process.env,ARCH:"x86_64"}});j.on("close",(H)=>{if(X0("fs").rmSync(G,{recursive:!0,force:!0}),H===0)p1($,493),J({success:!0});else J({success:!1,error:`appimagetool exited with code ${H}. Install from https://appimage.github.io/appimagetool/`})}),j.on("error",(H)=>{X0("fs").rmSync(G,{recursive:!0,force:!0}),J({success:!1,error:`appimagetool not found: ${H.message}`})})}catch(G){J({success:!1,error:G.message})}})}function yy(){return[U$()]}function by(X){switch(X){case"macos":return["app","dmg","pkg"];case"windows":return["app","zip","msi"];case"linux":return["app","deb","rpm","appimage"];case"ios":return["ipa"];case"android":return["apk"];default:return["app"]}}export{XV as renderSSR,aF as registerCraftComponent,pF as processCraftDirective,Q2 as processCraftComponents,ZV as prerenderForCraft,cF as isCraftEnvironment,o4 as injectCraftBridge,JV as getSSRCacheStats,tF as getCraftComponents,yy as getAvailableTargets,by as getAvailableFormats,$V as generateCraftOptimizations,s4 as generateCraftBridgeScript,rF as createHotReloadServer,nF as compileToNative,MW as compileTemplate,dW as clearTemplateCache,mW as clearRenderCache,YV as clearAllCaches,Dy as buildNative,cq as NATIVE_COMPONENTS,G2 as CRAFT_COMPONENT_STYLES,oF as CRAFT_COMPONENT_RUNTIME,H$ as CRAFT_COMPONENTS,lF as CRAFT_BRIDGE_SCRIPT};
18177
+ `;X0("fs").writeFileSync(h(Q,`${Z.toLowerCase()}.desktop`),B);let _=Buffer.from([137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,1,0,0,0,1,8,2,0,0,0,144,119,83,222,0,0,0,12,73,68,65,84,8,215,99,248,255,255,63,0,5,254,2,254,220,204,89,231,0,0,0,0,73,69,78,68,174,66,96,130]);if(X0("fs").writeFileSync(h(Q,`${Z.toLowerCase()}.png`),_),Y.icon&&uq(Y.icon))c1(Y.icon,h(Q,`${Z.toLowerCase()}.png`));let j=K$("appimagetool",[Q,$],{env:{...process.env,ARCH:"x86_64"}});j.on("close",(H)=>{if(X0("fs").rmSync(G,{recursive:!0,force:!0}),H===0)p1($,493),J({success:!0});else J({success:!1,error:`appimagetool exited with code ${H}. Install from https://appimage.github.io/appimagetool/`})}),j.on("error",(H)=>{X0("fs").rmSync(G,{recursive:!0,force:!0}),J({success:!1,error:`appimagetool not found: ${H.message}`})})}catch(G){J({success:!1,error:G.message})}})}function Cy(){return[U$()]}function Py(X){switch(X){case"macos":return["app","dmg","pkg"];case"windows":return["app","zip","msi"];case"linux":return["app","deb","rpm","appimage"];case"ios":return["ipa"];case"android":return["apk"];default:return["app"]}}export{YV as renderSSR,XV as registerCraftComponent,rF as processCraftDirective,w2 as processCraftComponents,GV as prerenderForCraft,nF as isCraftEnvironment,a4 as injectCraftBridge,wV as getSSRCacheStats,$V as getCraftComponents,Cy as getAvailableTargets,Py as getAvailableFormats,JV as generateCraftOptimizations,o4 as generateCraftBridgeScript,aF as createHotReloadServer,oF as compileToNative,kW as compileTemplate,lW as clearTemplateCache,cW as clearRenderCache,QV as clearAllCaches,Sy as buildNative,iq as NATIVE_COMPONENTS,Q2 as CRAFT_COMPONENT_STYLES,eF as CRAFT_COMPONENT_RUNTIME,H$ as CRAFT_COMPONENTS,iF as CRAFT_BRIDGE_SCRIPT};