@stacksjs/stx 0.2.21 → 0.2.24

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/ssg.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- var iY=Object.defineProperty;var nY=($)=>$;function oY($,Z){this[$]=nY.bind(null,Z)}var r=($,Z)=>{for(var J in Z)iY($,J,{get:Z[J],enumerable:!0,configurable:!0,set:oY.bind(Z,J)})};var P=($,Z)=>()=>($&&(Z=$($=0)),Z);var J0=import.meta.require;var K0;var r7=P(()=>{K0={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"}});function a7($,Z,J,Y){let Q=$;Q=Q.replace(/@a11y\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(G,K,q)=>{let _={"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"}[K]||"Make this element accessible";return`<!-- a11y-hint: ${q||_} -->`});let X=/@screenReader\(([^@]*)\)@endScreenReader/g;return Q=Q.replace(X,(G,K)=>{return`<span class="sr-only">${K.trim()}</span>`}),Q=Q.replace(/@ariaDescribe\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(G,K,q)=>{return`<span id="${`desc-${K}`}" class="sr-only">${q}</span>`}),Q}var t7,e7;var D$=P(()=>{t7={name:"a11y",handler:($,Z,J,Y)=>{if(!Z.length)return $;let Q=Z[0].replace(/['"]/g,""),X=Z.length>1?Z[1].replace(/['"]/g,""):"",K={"aria-label":"Ensure interactive elements have accessible labels","alt-text":"Provide alternative text for images",focus:"Ensure the element can receive keyboard focus",landmark:"Use appropriate landmark roles","heading-order":"Maintain proper heading hierarchy","color-contrast":"Ensure sufficient color contrast","keyboard-nav":"Make sure element is keyboard navigable","screen-reader":"Optimize for screen reader users"}[Q]||"Make this element accessible";return`<!-- a11y-hint: ${X||K} -->${$}`},hasEndTag:!1},e7={name:"screenReader",handler:($)=>{return`<span class="sr-only">${$}</span>`},hasEndTag:!0}});function rY($,Z={}){let{duration:J,delay:Y,ease:Q,direction:X,custom:G}={...u0,...Z};if($==="custom"&&G)return G;switch($){case"fade":return`${X==="in"?"opacity: 0; animation: fadeIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":X==="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 JY=Object.defineProperty;var XY=($)=>$;function QY($,Z){this[$]=XY.bind(null,Z)}var r=($,Z)=>{for(var J in Z)JY($,J,{get:Z[J],enumerable:!0,configurable:!0,set:QY.bind(Z,J)})};var C=($,Z)=>()=>($&&(Z=$($=0)),Z);var J0=import.meta.require;var q0;var X7=C(()=>{q0={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"}});function Q7($,Z,J,Y){let Q=$;Q=Q.replace(/@a11y\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(G,K,q)=>{let 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"}[K]||"Make this element accessible";return`<!-- a11y-hint: ${q||W} -->`});let X=/@screenReader\(([^@]*)\)@endScreenReader/g;return Q=Q.replace(X,(G,K)=>{return`<span class="sr-only">${K.trim()}</span>`}),Q=Q.replace(/@ariaDescribe\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(G,K,q)=>{return`<span id="${`desc-${K}`}" class="sr-only">${q}</span>`}),Q}var G7,K7;var C9=C(()=>{G7={name:"a11y",handler:($,Z,J,Y)=>{if(!Z.length)return $;let Q=Z[0].replace(/['"]/g,""),X=Z.length>1?Z[1].replace(/['"]/g,""):"",K={"aria-label":"Ensure interactive elements have accessible labels","alt-text":"Provide alternative text for images",focus:"Ensure the element can receive keyboard focus",landmark:"Use appropriate landmark roles","heading-order":"Maintain proper heading hierarchy","color-contrast":"Ensure sufficient color contrast","keyboard-nav":"Make sure element is keyboard navigable","screen-reader":"Optimize for screen reader users"}[Q]||"Make this element accessible";return`<!-- a11y-hint: ${X||K} -->${$}`},hasEndTag:!1},K7={name:"screenReader",handler:($)=>{return`<span class="sr-only">${$}</span>`},hasEndTag:!0}});function KY($,Z={}){let{duration:J,delay:Y,ease:Q,direction:X,custom:G}={...p0,...Z};if($==="custom"&&G)return G;switch($){case"fade":return`${X==="in"?"opacity: 0; animation: fadeIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":X==="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`${X==="in"?"transform: translateY(20px); opacity: 0; animation: slideIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":X==="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 iY=Object.defineProperty;var nY=($)=>$;function oY($,Z){this[$]=nY.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`${X==="in"?"transform: rotate(-90deg); opacity: 0; animation: rotateIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":X==="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 aY(){return`
12
+ @keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function qY(){return`
13
13
  <script data-stx-scoped>
14
14
  // Motion preferences handling
15
15
  (function() {
@@ -37,7 +37,7 @@ else {
37
37
  });
38
38
  })();
39
39
  </script>
40
- `}function tY($){return[/@animate\b/,/@transition\b/,/@scroll(?:Animate)?\b/,/@staggered\b/,/@sequence\b/,/@motion\b/,/@animationGroup\b/,/\bstx-transition\b/,/\bstx-(?:fade|scale|flip|rotate|slide|from-|observe)\b/,/data-animate=['"](?:auto|true|false)['"]/].some((J)=>J.test($))}function eY($=0.1,Z="0px"){return`
40
+ `}function WY($){return[/@animate\b/,/@transition\b/,/@scroll(?:Animate)?\b/,/@staggered\b/,/@sequence\b/,/@motion\b/,/@animationGroup\b/,/\bstx-transition\b/,/\bstx-(?:fade|scale|flip|rotate|slide|from-|observe)\b/,/data-animate=['"](?:auto|true|false)['"]/].some((J)=>J.test($))}function _Y($=0.1,Z="0px"){return`
41
41
  <script data-stx-scoped>
42
42
  // Intersection Observer for scroll animations
43
43
  (function() {
@@ -80,7 +80,7 @@ else {
80
80
  }
81
81
  })();
82
82
  </script>
83
- `}function $2(){return`
83
+ `}function zY(){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 Z2($,Z,J={}){let{staggerDelay:Y=50,sequence:Q=!1}=J;return`
198
+ `}function UY($,Z,J={}){let{staggerDelay:Y=50,sequence:Q=!1}=J;return`
199
199
  <script data-stx-scoped>
200
200
  // Animation Group: ${$}
201
201
  (function() {
@@ -232,11 +232,11 @@ else {
232
232
  }
233
233
  })();
234
234
  </script>
235
- `}function X6($,Z,J,Y){let Q=$;if(Y.animation?.enabled===!1)return Q;let X=J.includes("test")&&J.includes("animation");if(!tY(Q)&&!X)return Q;if(!Q.includes('<style id="stx-animation-base">')){let K=$2();Q=Q.replace("</head>",`${K}
236
- </head>`)}if(Q.includes("stx-observe")){if(!Q.includes("Intersection Observer for scroll animations")){let q=eY(),U=Q.lastIndexOf("</body>");if(U!==-1)Q=Q.slice(0,U)+q+`
237
- `+Q.slice(U)}}return Q}var u0,$6,Z6,Y6,J6;var k$=P(()=>{u0={duration:300,delay:0,ease:"ease",direction:"both"};$6={name:"transition",handler:($,Z,J,Y)=>{if(Z.length<1)return`<div class="stx-error">@transition directive requires at least a transition type</div>${$}`;let Q=Z[0],X=Z.length>1?Number.parseInt(Z[1],10)||u0.duration:u0.duration,G=Z.length>2?Z[2]||u0.ease:u0.ease,K=Z.length>3?Number.parseInt(Z[3],10)||u0.delay:u0.delay,q=Z.length>4?Z[4]||u0.direction:u0.direction,U=`stx-transition-${Math.random().toString(36).substr(2,9)}`,_=rY(Q,{duration:X,delay:K,ease:G,direction:q}),W="stx-transition",z="";if(Q==="fade")z="stx-fade";else if(Q==="slide")z="stx-slide";else if(Q==="scale")z="stx-scale";else if(Q==="flip")z="stx-flip";else if(Q==="rotate")z="stx-rotate";return`<div id="${U}" class="${W} ${z} ${q==="out"?"stx-out":""}"
238
- style="--stx-transition-duration: ${X}ms; --stx-transition-ease: ${G}; --stx-transition-delay: ${K}ms;">${$}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},Z6={name:"scrollAnimate",handler:($,Z,J,Y)=>{if(Z.length<1)return`<div class="stx-error">@scrollAnimate directive requires at least an animation type</div>${$}`;let Q=Z[0],X=Z.length>1?Number.parseInt(Z[1],10)||300:300,G=Z.length>2?Z[2]||"ease":"ease",K=Z.length>3?Number.parseFloat(Z[3])||0.2:0.2,q=Z.length>4?Number.parseInt(Z[4],10)||0:0,U=`stx-scroll-${Math.random().toString(36).substr(2,9)}`,_=`--stx-transition-duration: ${X}ms; --stx-transition-ease: ${G}; --stx-transition-delay: ${q}ms; will-change: opacity, transform;`,W="stx-transition stx-observe stx-out";if(Q==="fade")W+=" stx-fade";else if(Q==="slide-up"||Q==="slide")W+=" stx-from-bottom";else if(Q==="slide-down")W+=" stx-from-top";else if(Q==="slide-left")W+=" stx-from-right";else if(Q==="slide-right")W+=" stx-from-left";else if(Q==="scale")W+=" stx-scale";else if(Q.includes("-"))W+=` stx-${Q}`;else W+=` stx-${Q}`;return`<div id="${U}" class="${W}" style="${_}" data-threshold="${K}">${$}</div>`},hasEndTag:!0,description:"Applies animations that trigger when scrolled into view"},Y6={name:"animationGroup",handler:($,Z,J,Y)=>{if(Z.length<2)return`<div class="stx-error">@animationGroup directive requires a group name and at least one element selector</div>${$}`;let Q=Z[0],X=Z.slice(1).map((U)=>U.startsWith("#")||U.startsWith(".")?U:`#${U}`),G=J.staggerDelay||50,K=J.sequence||!0,q=Z2(Q,X,{staggerDelay:G,sequence:K});return`${$}
239
- ${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},J6={name:"motion",handler:($,Z,J,Y)=>{let Q=Z.length>0?Z[0].toLowerCase()==="true":!0,X=aY();return`<div data-animate="${Q?"auto":"true"}">${$}</div>${X}`},hasEndTag:!0,description:"Controls motion and animation preferences"}});import{getRouterScript as Q6}from"stx-router";var G6=P(()=>{S$()});async function Y2($,Z,J,Y){let Q=Z[0]?.replace(/['"]/g,"")||"main",X=Q6();if(Q!=="main")X=X.replace("container:'main'",`container:'${Q}'`);return`<script data-stx-router>${X}</script>`}var K6;var S$=P(()=>{G6();K6={name:"stxRouter",handler:Y2,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"}});function q6($){let Z=$.heatmap;if(!Z?.enabled)return"";let J={...J2,...Z};return`
235
+ `}function U7($,Z,J,Y){let Q=$;if(Y.animation?.enabled===!1)return Q;let X=J.includes("test")&&J.includes("animation");if(!WY(Q)&&!X)return Q;if(!Q.includes('<style id="stx-animation-base">')){let K=zY();Q=Q.replace("</head>",`${K}
236
+ </head>`)}if(Q.includes("stx-observe")){if(!Q.includes("Intersection Observer for scroll animations")){let q=_Y(),_=Q.lastIndexOf("</body>");if(_!==-1)Q=Q.slice(0,_)+q+`
237
+ `+Q.slice(_)}}return Q}var p0,q7,W7,_7,z7;var P9=C(()=>{p0={duration:300,delay:0,ease:"ease",direction:"both"};q7={name:"transition",handler:($,Z,J,Y)=>{if(Z.length<1)return`<div class="stx-error">@transition directive requires at least a transition type</div>${$}`;let Q=Z[0],X=Z.length>1?Number.parseInt(Z[1],10)||p0.duration:p0.duration,G=Z.length>2?Z[2]||p0.ease:p0.ease,K=Z.length>3?Number.parseInt(Z[3],10)||p0.delay:p0.delay,q=Z.length>4?Z[4]||p0.direction:p0.direction,_=`stx-transition-${Math.random().toString(36).substr(2,9)}`,W=KY(Q,{duration:X,delay:K,ease:G,direction:q}),z="stx-transition",U="";if(Q==="fade")U="stx-fade";else if(Q==="slide")U="stx-slide";else if(Q==="scale")U="stx-scale";else if(Q==="flip")U="stx-flip";else if(Q==="rotate")U="stx-rotate";return`<div id="${_}" class="${z} ${U} ${q==="out"?"stx-out":""}"
238
+ style="--stx-transition-duration: ${X}ms; --stx-transition-ease: ${G}; --stx-transition-delay: ${K}ms;">${$}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},W7={name:"scrollAnimate",handler:($,Z,J,Y)=>{if(Z.length<1)return`<div class="stx-error">@scrollAnimate directive requires at least an animation type</div>${$}`;let Q=Z[0],X=Z.length>1?Number.parseInt(Z[1],10)||300:300,G=Z.length>2?Z[2]||"ease":"ease",K=Z.length>3?Number.parseFloat(Z[3])||0.2:0.2,q=Z.length>4?Number.parseInt(Z[4],10)||0:0,_=`stx-scroll-${Math.random().toString(36).substr(2,9)}`,W=`--stx-transition-duration: ${X}ms; --stx-transition-ease: ${G}; --stx-transition-delay: ${q}ms; will-change: opacity, transform;`,z="stx-transition stx-observe stx-out";if(Q==="fade")z+=" stx-fade";else if(Q==="slide-up"||Q==="slide")z+=" stx-from-bottom";else if(Q==="slide-down")z+=" stx-from-top";else if(Q==="slide-left")z+=" stx-from-right";else if(Q==="slide-right")z+=" stx-from-left";else if(Q==="scale")z+=" stx-scale";else if(Q.includes("-"))z+=` stx-${Q}`;else z+=` stx-${Q}`;return`<div id="${_}" class="${z}" style="${W}" data-threshold="${K}">${$}</div>`},hasEndTag:!0,description:"Applies animations that trigger when scrolled into view"},_7={name:"animationGroup",handler:($,Z,J,Y)=>{if(Z.length<2)return`<div class="stx-error">@animationGroup directive requires a group name and at least one element selector</div>${$}`;let Q=Z[0],X=Z.slice(1).map((_)=>_.startsWith("#")||_.startsWith(".")?_:`#${_}`),G=J.staggerDelay||50,K=J.sequence||!0,q=UY(Q,X,{staggerDelay:G,sequence:K});return`${$}
239
+ ${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},z7={name:"motion",handler:($,Z,J,Y)=>{let Q=Z.length>0?Z[0].toLowerCase()==="true":!0,X=qY();return`<div data-animate="${Q?"auto":"true"}">${$}</div>${X}`},hasEndTag:!0,description:"Controls motion and animation preferences"}});import{getRouterScript as B7}from"stx-router";var j7=C(()=>{v9()});async function BY($,Z,J,Y){let Q=Z[0]?.replace(/['"]/g,"")||"main",X=B7();if(Q!=="main")X=X.replace("container:'main'",`container:'${Q}'`);return`<script data-stx-router>${X}</script>`}var O7;var v9=C(()=>{j7();O7={name:"stxRouter",handler:BY,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"}});function H7($){let Z=$.heatmap;if(!Z?.enabled)return"";let J={...jY,...Z};return`
240
240
  <!-- stx Heatmap - Privacy-Compliant Tracking -->
241
241
  <script>
242
242
  (function() {
@@ -619,9 +619,9 @@ else {
619
619
  };
620
620
  })();
621
621
  </script>
622
- `}function _6($,Z){let J=q6(Z);if(!J)return $;let Y=$.lastIndexOf("</body>");if(Y!==-1)return $.slice(0,Y)+J+$.slice(Y);return $+J}function X2($){let Z={},J=$.match(/(\w+)=["']?([^"'\s]+)["']?/g)||[];for(let Y of J){let[Q,X]=Y.split("="),G=X?.replace(/["']/g,"");switch(Q){case"endpoint":Z.endpoint=G;break;case"samplingRate":Z.samplingRate=Number.parseInt(G,10);break;case"batchSize":Z.batchSize=Number.parseInt(G,10);break;case"trackMouse":Z.trackMouse=G==="true";break;case"trackClicks":Z.trackClicks=G==="true";break;case"trackScroll":Z.trackScroll=G==="true";break;case"honorDnt":Z.honorDnt=G==="true";break;case"debugOverlay":Z.debugOverlay=G==="true";break}}return Z}var J2,U6;var b$=P(()=>{J2={enabled:!1,trackMouse:!0,trackClicks:!0,trackScroll:!0,samplingRate:100,honorDnt:!0,batchSize:50,maxDataPoints:1000,sessionTimeout:30,persistData:!1,storagePrefix:"stx_heatmap",captureAttributes:["data-heatmap-id","data-track"],ignoreSelectors:["[data-heatmap-ignore]",".heatmap-ignore"],debugOverlay:!1};U6={name:"heatmap",hasEndTag:!1,description:"Inject privacy-compliant heatmap tracking script",handler:async($,Z,J,Y)=>{let Q=J.__stx_config||{};if(Z.length>0){let X=X2(Z.join(" "));Q.heatmap={...Q.heatmap,...X,enabled:!0}}return q6(Q)}}});function i0($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function W6($){let Z=$.trim().toLowerCase();return!Z.startsWith("javascript:")&&!Z.startsWith("vbscript:")&&!Z.startsWith("data:text/html")}function z6($){let Z=/^---\r?\n([\s\S]*?)\r?\n---\r?\n/,J=$.match(Z);if(!J)return{data:{},content:$.trim()};let Y=J[1],Q=$.slice(J[0].length),X={};for(let G of Y.split(`
623
- `)){let K=G.trim();if(!K||K.startsWith("#"))continue;let q=K.indexOf(":");if(q===-1)continue;let U=K.slice(0,q).trim(),_=K.slice(q+1).trim();if(typeof _==="string"){if(_.startsWith('"')&&_.endsWith('"')||_.startsWith("'")&&_.endsWith("'"))_=_.slice(1,-1);else if(_.startsWith("[")&&_.endsWith("]"))try{_=JSON.parse(_)}catch{}else if(_==="true")_=!0;else if(_==="false")_=!1;else if(/^-?\d+(?:\.\d+)?$/.test(_))_=Number(_)}X[U]=_}return{data:X,content:Q.trim()}}function m1($,Z={}){let{gfm:J=!0,breaks:Y=!1}=Z,Q=$,X=[];if(Q=Q.replace(/```(\w*)\n([\s\S]*?)```/g,(_,W,z)=>{let j=X.length,B=W?` class="language-${i0(W)}"`:"";return X.push(`<pre><code${B}>${i0(z.trim())}</code></pre>`),`\x00CODEBLOCK${j}\x00`}),Q=Q.replace(/`([^`]*)`/g,(_,W)=>`<code>${i0(W)}</code>`),Q=Q.replace(/^######\s+(.*)$/gm,"<h6>$1</h6>"),Q=Q.replace(/^#####\s+(.*)$/gm,"<h5>$1</h5>"),Q=Q.replace(/^####\s+(.*)$/gm,"<h4>$1</h4>"),Q=Q.replace(/^###\s+(.*)$/gm,"<h3>$1</h3>"),Q=Q.replace(/^##\s+(.*)$/gm,"<h2>$1</h2>"),Q=Q.replace(/^#\s+(.*)$/gm,"<h1>$1</h1>"),Q=Q.replace(/\*\*\*(.+?)\*\*\*/g,"<strong><em>$1</em></strong>"),Q=Q.replace(/___(.+?)___/g,"<strong><em>$1</em></strong>"),Q=Q.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),Q=Q.replace(/__(.+?)__/g,"<strong>$1</strong>"),Q=Q.replace(/\*(.+?)\*/g,"<em>$1</em>"),Q=Q.replace(/(?<![a-zA-Z0-9])_(.+?)_(?![a-zA-Z0-9])/g,"<em>$1</em>"),J)Q=Q.replace(/~~(.+?)~~/g,"<del>$1</del>");if(Q=Q.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,(_,W,z)=>{return`<img src="${W6(z)?i0(z):""}" alt="${i0(W)}" />`}),Q=Q.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(_,W,z)=>{return`<a href="${W6(z)?i0(z):""}">${W}</a>`}),Q=Q.replace(/^(?:---|\*\*\*|___)\s*$/gm,"<hr />"),Q=Q.replace(/^>\s+(.*)$/gm,"<blockquote>$1</blockquote>"),Q=Q.replace(/<\/blockquote>\n<blockquote>/g,`
624
- `),Q=Q.replace(/^[*\-+]\s+(.*)$/gm,"<li data-ul>$1</li>"),Q=Q.replace(/(<li data-ul>.*<\/li>\n?)+/g,"<ul>$&</ul>"),Q=Q.replace(/<\/ul>\n<ul>/g,""),Q=Q.replace(/^\d+\.\s+(.*)$/gm,"<li data-ol>$1</li>"),Q=Q.replace(/(<li data-ol>.*<\/li>\n?)+/g,"<ol>$&</ol>"),Q=Q.replace(/<\/ol>\n<ol>/g,""),Q=Q.replace(/<li data-ul>/g,"<li>"),Q=Q.replace(/<li data-ol>/g,"<li>"),J)Q=Q.replace(/^\|(.+)\|\s*\n\|[-:\s|]+\|\s*\n((?:\|.+\|\s*\n)*)/gm,(_,W,z)=>{let B=`<tr>${W.split("|").map((F)=>F.trim()).filter(Boolean).map((F)=>`<th>${i0(F)}</th>`).join("")}</tr>`,O=z.trim().split(`
622
+ `}function L7($,Z){let J=H7(Z);if(!J)return $;let Y=$.lastIndexOf("</body>");if(Y!==-1)return $.slice(0,Y)+J+$.slice(Y);return $+J}function OY($){let Z={},J=$.match(/(\w+)=["']?([^"'\s]+)["']?/g)||[];for(let Y of J){let[Q,X]=Y.split("="),G=X?.replace(/["']/g,"");switch(Q){case"endpoint":Z.endpoint=G;break;case"samplingRate":Z.samplingRate=Number.parseInt(G,10);break;case"batchSize":Z.batchSize=Number.parseInt(G,10);break;case"trackMouse":Z.trackMouse=G==="true";break;case"trackClicks":Z.trackClicks=G==="true";break;case"trackScroll":Z.trackScroll=G==="true";break;case"honorDnt":Z.honorDnt=G==="true";break;case"debugOverlay":Z.debugOverlay=G==="true";break}}return Z}var jY,F7;var x9=C(()=>{jY={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};F7={name:"heatmap",hasEndTag:!1,description:"Inject privacy-compliant heatmap tracking script",handler:async($,Z,J,Y)=>{let Q=J.__stx_config||{};if(Z.length>0){let X=OY(Z.join(" "));Q.heatmap={...Q.heatmap,...X,enabled:!0}}return H7(Q)}}});function i0($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function V7($){let Z=$.trim().toLowerCase();return!Z.startsWith("javascript:")&&!Z.startsWith("vbscript:")&&!Z.startsWith("data:text/html")}function w7($){let Z=/^---\r?\n([\s\S]*?)\r?\n---\r?\n/,J=$.match(Z);if(!J)return{data:{},content:$.trim()};let Y=J[1],Q=$.slice(J[0].length),X={};for(let G of Y.split(`
623
+ `)){let K=G.trim();if(!K||K.startsWith("#"))continue;let q=K.indexOf(":");if(q===-1)continue;let _=K.slice(0,q).trim(),W=K.slice(q+1).trim();if(typeof W==="string"){if(W.startsWith('"')&&W.endsWith('"')||W.startsWith("'")&&W.endsWith("'"))W=W.slice(1,-1);else if(W.startsWith("[")&&W.endsWith("]"))try{W=JSON.parse(W)}catch{}else if(W==="true")W=!0;else if(W==="false")W=!1;else if(/^-?\d+(?:\.\d+)?$/.test(W))W=Number(W)}X[_]=W}return{data:X,content:Q.trim()}}function l1($,Z={}){let{gfm:J=!0,breaks:Y=!1}=Z,Q=$,X=[];if(Q=Q.replace(/```(\w*)\n([\s\S]*?)```/g,(W,z,U)=>{let j=X.length,B=z?` class="language-${i0(z)}"`:"";return X.push(`<pre><code${B}>${i0(U.trim())}</code></pre>`),`\x00CODEBLOCK${j}\x00`}),Q=Q.replace(/`([^`]*)`/g,(W,z)=>`<code>${i0(z)}</code>`),Q=Q.replace(/^######\s+(.*)$/gm,"<h6>$1</h6>"),Q=Q.replace(/^#####\s+(.*)$/gm,"<h5>$1</h5>"),Q=Q.replace(/^####\s+(.*)$/gm,"<h4>$1</h4>"),Q=Q.replace(/^###\s+(.*)$/gm,"<h3>$1</h3>"),Q=Q.replace(/^##\s+(.*)$/gm,"<h2>$1</h2>"),Q=Q.replace(/^#\s+(.*)$/gm,"<h1>$1</h1>"),Q=Q.replace(/\*\*\*(.+?)\*\*\*/g,"<strong><em>$1</em></strong>"),Q=Q.replace(/___(.+?)___/g,"<strong><em>$1</em></strong>"),Q=Q.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),Q=Q.replace(/__(.+?)__/g,"<strong>$1</strong>"),Q=Q.replace(/\*(.+?)\*/g,"<em>$1</em>"),Q=Q.replace(/(?<![a-zA-Z0-9])_(.+?)_(?![a-zA-Z0-9])/g,"<em>$1</em>"),J)Q=Q.replace(/~~(.+?)~~/g,"<del>$1</del>");if(Q=Q.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,(W,z,U)=>{return`<img src="${V7(U)?i0(U):""}" alt="${i0(z)}" />`}),Q=Q.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(W,z,U)=>{return`<a href="${V7(U)?i0(U):""}">${z}</a>`}),Q=Q.replace(/^(?:---|\*\*\*|___)\s*$/gm,"<hr />"),Q=Q.replace(/^>\s+(.*)$/gm,"<blockquote>$1</blockquote>"),Q=Q.replace(/<\/blockquote>\n<blockquote>/g,`
624
+ `),Q=Q.replace(/^[*\-+]\s+(.*)$/gm,"<li data-ul>$1</li>"),Q=Q.replace(/(<li data-ul>.*<\/li>\n?)+/g,"<ul>$&</ul>"),Q=Q.replace(/<\/ul>\n<ul>/g,""),Q=Q.replace(/^\d+\.\s+(.*)$/gm,"<li data-ol>$1</li>"),Q=Q.replace(/(<li data-ol>.*<\/li>\n?)+/g,"<ol>$&</ol>"),Q=Q.replace(/<\/ol>\n<ol>/g,""),Q=Q.replace(/<li data-ul>/g,"<li>"),Q=Q.replace(/<li data-ol>/g,"<li>"),J)Q=Q.replace(/^\|(.+)\|\s*\n\|[-:\s|]+\|\s*\n((?:\|.+\|\s*\n)*)/gm,(W,z,U)=>{let B=`<tr>${z.split("|").map((F)=>F.trim()).filter(Boolean).map((F)=>`<th>${i0(F)}</th>`).join("")}</tr>`,O=U.trim().split(`
625
625
  `).map((F)=>{return`<tr>${F.split("|").map((H)=>H.trim()).filter(Boolean).map((H)=>`<td>${i0(H)}</td>`).join("")}</tr>`}).join(`
626
626
  `);return`<table>
627
627
  <thead>
@@ -631,24 +631,24 @@ ${B}
631
631
  ${O}
632
632
  </tbody>
633
633
  </table>`});if(J)Q=Q.replace(/<li>\s*\[\s*\]\s*/g,'<li><input type="checkbox" disabled /> '),Q=Q.replace(/<li>\s*\[x\]\s*/gi,'<li><input type="checkbox" checked disabled /> ');let G=Q.split(`
634
- `),K=[],q=!1,U=[];for(let _ of G){let W=_.trim();if(/^<(?:h[1-6]|ul|ol|li|blockquote|pre|table|thead|tbody|tr|th|td|hr|div|p)/.test(W)||/^\0CODEBLOCK\d+\0$/.test(W)||W===""){if(q&&U.length>0)K.push(`<p>${U.join(Y?`<br />
634
+ `),K=[],q=!1,_=[];for(let W of G){let z=W.trim();if(/^<(?:h[1-6]|ul|ol|li|blockquote|pre|table|thead|tbody|tr|th|td|hr|div|p)/.test(z)||/^\0CODEBLOCK\d+\0$/.test(z)||z===""){if(q&&_.length>0)K.push(`<p>${_.join(Y?`<br />
635
635
  `:`
636
- `)}</p>`),U=[],q=!1;K.push(_)}else q=!0,U.push(W)}if(q&&U.length>0)K.push(`<p>${U.join(Y?`<br />
636
+ `)}</p>`),_=[],q=!1;K.push(W)}else q=!0,_.push(z)}if(q&&_.length>0)K.push(`<p>${_.join(Y?`<br />
637
637
  `:`
638
638
  `)}</p>`);if(Q=K.join(`
639
639
  `),Y)Q=Q.replace(/\n/g,`<br />
640
- `);for(let _=0;_<X.length;_++)Q=Q.replace(`\x00CODEBLOCK${_}\x00`,X[_]);return Q=Q.replace(/<p>\s*<\/p>/g,""),Q.trim()}function n0($){let Z=/import\s*\{([^}]+)\}\s*from\s*['"](@stores|stx\/stores)['"]\s*;?\n?/g;$=$.replace(Z,(Y,Q)=>{return`const { ${Q.split(",").map((G)=>G.trim()).filter(Boolean).join(", ")} } = window.__STX_STORES__
640
+ `);for(let W=0;W<X.length;W++)Q=Q.replace(`\x00CODEBLOCK${W}\x00`,X[W]);return Q=Q.replace(/<p>\s*<\/p>/g,""),Q.trim()}function n0($){let Z=/import\s*\{([^}]+)\}\s*from\s*['"](@stores|stx\/stores)['"]\s*;?\n?/g;$=$.replace(Z,(Y,Q)=>{return`const { ${Q.split(",").map((G)=>G.trim()).filter(Boolean).join(", ")} } = window.__STX_STORES__
641
641
  `});let J=/import\s*\{([^}]+)\}\s*from\s*['"]@composables['"]\s*;?\n?/g;return $=$.replace(J,(Y,Q)=>{return`const { ${Q.split(",").map((G)=>G.trim()).filter(Boolean).join(", ")} } = window.__composables
642
- `}),$}var y$={};r(y$,{hasUserImports:()=>Q2,bundleClientScript:()=>K2});import f0 from"path";import X1 from"fs";function Q2($){let Z=/^\s*import\s+(?!type\s)/gm;if(!$.match(Z))return!1;let Y=/^\s*import\s+(?!type\s).*?\s+from\s+['"]([^'"]+)['"]/gm,Q;while((Q=Y.exec($))!==null){let G=Q[1];if(!B6.some((q)=>q.test(G)))return console.log("[stx:bundler] detected user import:",G),!0}let X=/^\s*import\s+['"]([^'"]+)['"]/gm;while((Q=X.exec($))!==null){let G=Q[1];if(!B6.some((q)=>q.test(G)))return console.log("[stx:bundler] detected side-effect import:",G),!0}return!1}function G2($){return{name:"stx-client-bundle",setup(Z){Z.onResolve({filter:/^(stx|@stacksjs\/stx|@stacksjs\/browser)$/},(J)=>({path:J.path,external:!0})),Z.onResolve({filter:/^(@stores|@composables|stx\/stores)$/},(J)=>({path:J.path,external:!0})),Z.onResolve({filter:/^@\//},(J)=>{let Y=f0.resolve($,J.path.slice(2)),Q=[Y,`${Y}.ts`,`${Y}.js`,f0.join(Y,"index.ts"),f0.join(Y,"index.js")];for(let X of Q)if(X1.existsSync(X)&&X1.statSync(X,{throwIfNoEntry:!1})?.isFile())return console.log("[stx:bundler] resolved @/ import:",J.path,"\u2192",X),{path:X};return console.warn("[stx:bundler] could not resolve @/ import:",J.path),{path:Y}})}}}async function K2($,Z,J={}){let Y=J.projectRoot||process.cwd(),Q=J.minify??!1,X=J.cacheDir||f0.join(Y,".stx","bundle-cache"),G=new Bun.CryptoHasher("md5");G.update($+Z);let K=G.digest("hex").slice(0,12),q=f0.join(X,`${K}.js`),U=Bun.file(q);if(await U.exists())return console.log("[stx:bundler] cache hit:",K),await U.text();let _=f0.join(Y,".stx","bundle-tmp"),W=f0.join(_,`${K}.ts`),z=f0.join(_,"out",K);X1.mkdirSync(_,{recursive:!0}),X1.mkdirSync(z,{recursive:!0});let j=f0.dirname(Z),B=[],O=/^(export\s+)?(?:const|let|var)\s+(?:\{([^}]+)\}|(\w+))/gm,F=/^(export\s+)?(?:async\s+)?function\s+(\w+)/gm,L;while((L=O.exec($))!==null){if(L[1])continue;if(L[2])L[2].split(",").forEach((V)=>{let R=V.split(":")[0].trim();if(R)B.push(R)});else if(L[3])B.push(L[3])}while((L=F.exec($))!==null){if(L[1])continue;B.push(L[2])}let H=B.length>0?`
643
- export { ${B.join(", ")} }`:"";await Bun.write(W,$+H),console.log("[stx:bundler] bundling:",K,"from:",f0.basename(Z));try{let V=await Bun.build({entrypoints:[W],outdir:z,target:"browser",format:"esm",minify:Q,plugins:[G2(Y)],define:{"process.env.NODE_ENV":Q?'"production"':'"development"'},root:j});if(!V.success){let N=V.logs.filter((A)=>A.level==="error").map((A)=>A.message).join(", ");return console.warn("[stx:bundler] build failed:",N),$}let R="";for(let N of V.outputs){R=await N.text();break}return R=R.replace(/^\s*export\s*\{[^}]*\}\s*;?\s*$/gm,"").replace(/^\s*export\s+default\s+.*$/gm,"").trim(),console.log("[stx:bundler] bundled:",K,"output:",R.length,"bytes"),X1.mkdirSync(X,{recursive:!0}),await Bun.write(q,R),R}catch(V){return console.warn("[stx:bundler] error:",V instanceof Error?V.message:V),$}finally{try{X1.rmSync(W,{force:!0}),X1.rmSync(z,{recursive:!0,force:!0})}catch{}}}var B6;var C$=P(()=>{B6=[/^stx$/,/^@stacksjs\/stx$/,/^@stacksjs\/browser$/,/^@stores$/,/^stx\/stores$/,/^@composables$/]});function W2($){let Z=new Set,J=/\b([A-Z][a-zA-Z0-9]*)\s*\.\s*(all|find|first|get|where|orderBy|orderByDesc|limit|select|pluck|create|update|delete)\s*\(/g,Y;while((Y=J.exec($))!==null)if(!U2.has(Y[1]))Z.add(Y[1]);return Array.from(Z)}function z2($){let Z=new Set,J=new Set,Y=$;Y=Y.replace(/^\s*import\s+type\s+\{[^}]*\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm,"// [type import stripped]");let Q=new Set,X=/^\s*import\s+(?:type\s+)?{\s*([^}]+)\s*}\s+from\s+['"](@stacksjs\/browser|stx)['"]\s*;?\s*$/gm,G;while((G=X.exec($))!==null){let q=G[1],U=G[2];if(G[0].includes("import type"))continue;q.split(",").map((W)=>W.trim().split(/\s+as\s+/)[0]).filter((W)=>W.length>0).forEach((W)=>{if(Q.add(W),U==="stx")Z.add(W);else J.add(W)}),Y=Y.replace(G[0],"// [auto-import processed]")}for(let q of q2){if(Q.has(q))continue;if(new RegExp(`\\b${q}\\s*\\(`,"g").test(Y))Z.add(q)}for(let q of _2){if(Q.has(q))continue;if(new RegExp(`\\b${q}\\b`,"g").test(Y))J.add(q)}let K=W2(Y);for(let q of K)if(!Q.has(q))J.add(q);return{code:Y,stxImports:Array.from(Z),browserImports:Array.from(J)}}function B2($,Z){let J=[];if($.length>0)J.push(` var { ${$.join(", ")} } = window.stx || window;`);if(Z.length>0)J.push(` var { ${Z.join(", ")} } = window.StacksBrowser || {};`);if(J.length>0)return` // STX: auto-imported from stx and @stacksjs/browser
642
+ `}),$}import HY from"process";function x0($="STX_PUBLIC_"){let Z={},J={};for(let[Y,Q]of Object.entries(HY.env)){if(!Y.startsWith($)||Q===void 0)continue;Z[`import.meta.env.${Y}`]=JSON.stringify(Q),J[Y]=Q}return Z["import.meta.env"]=JSON.stringify(J),Z}var R1=()=>{};var f9={};r(f9,{hasUserImports:()=>LY,bundleClientScript:()=>VY});import f0 from"path";import X1 from"fs";function LY($){let Z=/^\s*import\s+(?!type\s)/gm;if(!$.match(Z))return!1;let Y=/^\s*import\s+(?!type\s).*?\s+from\s+['"]([^'"]+)['"]/gm,Q;while((Q=Y.exec($))!==null){let G=Q[1];if(!N7.some((q)=>q.test(G)))return console.log("[stx:bundler] detected user import:",G),!0}let X=/^\s*import\s+['"]([^'"]+)['"]/gm;while((Q=X.exec($))!==null){let G=Q[1];if(!N7.some((q)=>q.test(G)))return console.log("[stx:bundler] detected side-effect import:",G),!0}return!1}function FY($){return{name:"stx-client-bundle",setup(Z){Z.onResolve({filter:/^(stx|@stacksjs\/stx|@stacksjs\/browser)$/},(J)=>({path:J.path,external:!0})),Z.onResolve({filter:/^(@stores|@composables|stx\/stores)$/},(J)=>({path:J.path,external:!0})),Z.onResolve({filter:/^@\//},(J)=>{let Y=f0.resolve($,J.path.slice(2)),Q=[Y,`${Y}.ts`,`${Y}.js`,f0.join(Y,"index.ts"),f0.join(Y,"index.js")];for(let X of Q)if(X1.existsSync(X)&&X1.statSync(X,{throwIfNoEntry:!1})?.isFile())return console.log("[stx:bundler] resolved @/ import:",J.path,"\u2192",X),{path:X};return console.warn("[stx:bundler] could not resolve @/ import:",J.path),{path:Y}})}}}async function VY($,Z,J={}){let Y=J.projectRoot||process.cwd(),Q=J.minify??!1,X=J.cacheDir||f0.join(Y,".stx","bundle-cache"),G=new Bun.CryptoHasher("md5");G.update($+Z);let K=G.digest("hex").slice(0,12),q=f0.join(X,`${K}.js`),_=Bun.file(q);if(await _.exists())return console.log("[stx:bundler] cache hit:",K),await _.text();let W=f0.join(Y,".stx","bundle-tmp"),z=f0.join(W,`${K}.ts`),U=f0.join(W,"out",K);X1.mkdirSync(W,{recursive:!0}),X1.mkdirSync(U,{recursive:!0});let j=f0.dirname(Z),B=[],O=/^(export\s+)?(?:const|let|var)\s+(?:\{([^}]+)\}|(\w+))/gm,F=/^(export\s+)?(?:async\s+)?function\s+(\w+)/gm,L;while((L=O.exec($))!==null){if(L[1])continue;if(L[2])L[2].split(",").forEach((V)=>{let N=V.split(":")[0].trim();if(N)B.push(N)});else if(L[3])B.push(L[3])}while((L=F.exec($))!==null){if(L[1])continue;B.push(L[2])}let H=B.length>0?`
643
+ export { ${B.join(", ")} }`:"";await Bun.write(z,$+H),console.log("[stx:bundler] bundling:",K,"from:",f0.basename(Z));try{let V=await Bun.build({entrypoints:[z],outdir:U,target:"browser",format:"esm",minify:Q,plugins:[FY(Y)],define:{"process.env.NODE_ENV":Q?'"production"':'"development"',...x0()},root:j});if(!V.success){let w=V.logs.filter((R)=>R.level==="error").map((R)=>R.message).join(", ");return console.warn("[stx:bundler] build failed:",w),$}let N="";for(let w of V.outputs){N=await w.text();break}return N=N.replace(/^\s*export\s*\{[^}]*\}\s*;?\s*$/gm,"").replace(/^\s*export\s+default\s+.*$/gm,"").trim(),console.log("[stx:bundler] bundled:",K,"output:",N.length,"bytes"),X1.mkdirSync(X,{recursive:!0}),await Bun.write(q,N),N}catch(V){return console.warn("[stx:bundler] error:",V instanceof Error?V.message:V),$}finally{try{X1.rmSync(z,{force:!0}),X1.rmSync(U,{recursive:!0,force:!0})}catch{}}}var N7;var g9=C(()=>{R1();N7=[/^stx$/,/^@stacksjs\/stx$/,/^@stacksjs\/browser$/,/^@stores$/,/^stx\/stores$/,/^@composables$/]});function AY($){let Z=new Set,J=/\b([A-Z][a-zA-Z0-9]*)\s*\.\s*(all|find|first|get|where|orderBy|orderByDesc|limit|select|pluck|create|update|delete)\s*\(/g,Y;while((Y=J.exec($))!==null)if(!RY.has(Y[1]))Z.add(Y[1]);return Array.from(Z)}function TY($){let Z=new Set,J=new Set,Y=$;Y=Y.replace(/^\s*import\s+type\s+\{[^}]*\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm,"// [type import stripped]");let Q=new Set,X=/^\s*import\s+(?:type\s+)?{\s*([^}]+)\s*}\s+from\s+['"](@stacksjs\/browser|stx)['"]\s*;?\s*$/gm,G;while((G=X.exec($))!==null){let q=G[1],_=G[2];if(G[0].includes("import type"))continue;q.split(",").map((z)=>z.trim().split(/\s+as\s+/)[0]).filter((z)=>z.length>0).forEach((z)=>{if(Q.add(z),_==="stx")Z.add(z);else J.add(z)}),Y=Y.replace(G[0],"// [auto-import processed]")}for(let q of wY){if(Q.has(q))continue;if(new RegExp(`\\b${q}\\s*\\(`,"g").test(Y))Z.add(q)}for(let q of NY){if(Q.has(q))continue;if(new RegExp(`\\b${q}\\b`,"g").test(Y))J.add(q)}let K=AY(Y);for(let q of K)if(!Q.has(q))J.add(q);return{code:Y,stxImports:Array.from(Z),browserImports:Array.from(J)}}function MY($,Z){let J=[];if($.length>0)J.push(` var { ${$.join(", ")} } = window.stx || window;`);if(Z.length>0)J.push(` var { ${Z.join(", ")} } = window.StacksBrowser || {};`);if(J.length>0)return` // STX: auto-imported from stx and @stacksjs/browser
644
644
  ${J.join(`
645
645
  `)}
646
- `;return""}function O2($){let Z=[];if($.self)Z.push("if ($event.target !== $el) return");for(let J of $.systemKeys)Z.push(`if (!$event.${J}Key) return`);if($.keys.length>0){let J=$.keys.map((Y)=>`$event.key === '${Y}'`).join(" || ");Z.push(`if (!(${J})) return`)}if($.mouse!==null){let J=j2[$.mouse];Z.push(`if ($event.button !== ${J}) return`)}if($.prevent)Z.push("$event.preventDefault()");if($.stop)Z.push("$event.stopPropagation()");return Z.join("; ")}function H2($,Z){let{elementId:J,event:Y,handler:Q,modifiers:X}=$,G=O2(X),K=[];if(X.once)K.push("once: true");if(X.capture)K.push("capture: true");if(X.passive)K.push("passive: true");let q=K.length>0?`, { ${K.join(", ")} }`:"",U="";if(G)U+=`${G}; `;let _=Q.replace(/\\/g,"\\\\").replace(/'/g,"\\'");function W(z){return`var scope = $el.closest('[data-stx-scope]');
646
+ `;return""}function DY($){let Z=[];if($.self)Z.push("if ($event.target !== $el) return");for(let J of $.systemKeys)Z.push(`if (!$event.${J}Key) return`);if($.keys.length>0){let J=$.keys.map((Y)=>`$event.key === '${Y}'`).join(" || ");Z.push(`if (!(${J})) return`)}if($.mouse!==null){let J=IY[$.mouse];Z.push(`if ($event.button !== ${J}) return`)}if($.prevent)Z.push("$event.preventDefault()");if($.stop)Z.push("$event.stopPropagation()");return Z.join("; ")}function EY($,Z){let{elementId:J,event:Y,handler:Q,modifiers:X}=$,G=DY(X),K=[];if(X.once)K.push("once: true");if(X.capture)K.push("capture: true");if(X.passive)K.push("passive: true");let q=K.length>0?`, { ${K.join(", ")} }`:"",_="";if(G)_+=`${G}; `;let W=Q.replace(/\\/g,"\\\\").replace(/'/g,"\\'");function z(U){return`var scope = $el.closest('[data-stx-scope]');
647
647
  if (scope && scope.__stx_execute) {
648
- scope.__stx_execute('${_}', $event, $el);
648
+ scope.__stx_execute('${W}', $event, $el);
649
649
  }
650
650
  else {
651
- ${z}
651
+ ${U}
652
652
  }`}if(X.debounce!==null)return` ;(function() {
653
653
  // eslint-disable-next-line pickier/no-unused-vars
654
654
  var $el = document.getElementById('${J}')
@@ -656,7 +656,7 @@ else {
656
656
  var __timer
657
657
  $el.addEventListener('${Y}', function($event) {
658
658
  ${G?G+"; ":""}clearTimeout(__timer)
659
- __timer = setTimeout(function() { ${W(Q)} }, ${X.debounce})
659
+ __timer = setTimeout(function() { ${z(Q)} }, ${X.debounce})
660
660
  }${q})
661
661
  })()`;if(X.throttle!==null)return` ;(function() {
662
662
  // eslint-disable-next-line pickier/no-unused-vars
@@ -667,37 +667,37 @@ else {
667
667
  ${G?G+"; ":""}var __now = Date.now()
668
668
  if (__now - __last >= ${X.throttle}) {
669
669
  __last = __now
670
- ${W(Q)}
670
+ ${z(Q)}
671
671
  }
672
672
  }${q})
673
673
  })()`;return` var $el = document.getElementById('${J}')
674
674
  if ($el) $el.addEventListener('${Y}', function($event) {
675
- ${U}var scope = $el.closest('[data-stx-scope]');
675
+ ${_}var scope = $el.closest('[data-stx-scope]');
676
676
  if (scope && scope.__stx_execute) {
677
- scope.__stx_execute('${_}', $event, $el);
677
+ scope.__stx_execute('${W}', $event, $el);
678
678
  }
679
679
  else {
680
680
  ${Q}
681
681
  }
682
- }${q})`}function L2($){if($.length===0)return"";return`
682
+ }${q})`}function kY($){if($.length===0)return"";return`
683
683
  // STX: auto-generated event bindings
684
- ${$.map((J,Y)=>H2(J,Y)).join(`
685
- `)}`}function j6($){let Z=[],J=new Set,Y=$.replace(/^\s*import\s+.*$/gm,""),Q=0,X=Y.length,G=0;while(G<X){let K=Y[G];if(K==="'"||K==='"'||K==="`"){let q=K;if(G++,q==="`"){let U=0;while(G<X){if(Y[G]==="\\"){G+=2;continue}if(Y[G]==="`"&&U===0){G++;break}if(Y[G]==="$"&&Y[G+1]==="{"){U++,G+=2;continue}if(Y[G]==="}"&&U>0){U--,G++;continue}G++}}else while(G<X){if(Y[G]==="\\"){G+=2;continue}if(Y[G]===q){G++;break}G++}continue}if(K==="/"&&Y[G+1]==="/"){while(G<X&&Y[G]!==`
686
- `)G++;continue}if(K==="/"&&Y[G+1]==="*"){G+=2;while(G<X-1&&!(Y[G]==="*"&&Y[G+1]==="/"))G++;G+=2;continue}if(K==="{"){Q++,G++;continue}if(K==="}"){Q--,G++;continue}if(Q===0){let q=Y.slice(G),U=q.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(U){let z=U[1];if(!z.startsWith("_")&&!J.has(z))Z.push(z),J.add(z);G+=U[0].length;continue}let _=q.match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(_){_[1].split(",").forEach((z)=>{let j=z.trim(),B=j.indexOf(":"),O=B>=0?j.slice(B+1).trim().split(/[\s=]/)[0]:j.split(/[\s=]/)[0];if(O&&!O.startsWith("_")&&!J.has(O))Z.push(O),J.add(O)}),G+=_[0].length;continue}let W=q.match(/^(?:async\s+)?function\s+([a-zA-Z_$]\w*)/);if(W){let z=W[1];if(!z.startsWith("_")&&!J.has(z))Z.push(z),J.add(z);G+=W[0].length;continue}}G++}return Z}function V2($){let Z=new Set,J=/[a-zA-Z_$][a-zA-Z0-9_$]*/g;function Y(z){let j;while((j=J.exec(z))!==null){let B=j[0];if(!F2.has(B))Z.add(B)}}let Q=/\{\{([\s\S]*?)\}\}/g,X;while((X=Q.exec($))!==null)Y(X[1]);let G=/:[a-z][\w.-]*\s*=\s*"([^"]*)"/gi;while((X=G.exec($))!==null)Y(X[1]);let K=/:[a-z][\w.-]*\s*=\s*'([^']*)'/gi;while((X=K.exec($))!==null)Y(X[1]);let q=/@[a-z]+(?:\.[a-z]+)*\s*=\s*"([^"]*)"/gi;while((X=q.exec($))!==null)Y(X[1]);let U=/@[a-z]+(?:\.[a-z]+)*\s*=\s*'([^']*)'/gi;while((X=U.exec($))!==null)Y(X[1]);let _=/@model\s*=\s*["']([^"']*)["']/gi;while((X=_.exec($))!==null)Y(X[1]);let W=/@for\s*=\s*["'][^"']*\bin\s+([^"']+)["']/gi;while((X=W.exec($))!==null)Y(X[1]);return Z}async function j5($,Z={}){let J=$,Y="",Q=!1,{hasUserImports:X,bundleClientScript:G}=await Promise.resolve().then(() => (C$(),y$));if(X(J))console.log("[stx:bundler] user imports detected, bundling..."),J=await G(J,Z.filePath||"",{projectRoot:Z.projectRoot,minify:Z.production}),Q=!0;if(Z.autoImports!==!1){let B=z2(J);J=B.code,Y=B2(B.stxImports,B.browserImports)}if(J=n0(J),!Q&&Q1(Z.attrs||""))J=G1(J);let K=L2(Z.eventBindings||[]),q=(Z.attrs||"").trim();if(/\btype\s*=\s*["']module["']/i.test(q)){let B=q.replace(/\btype\s*=\s*["']module["']/i,"").trim();return`<script ${`type="module" data-stx-scoped${B?` ${B}`:""}`}>
684
+ ${$.map((J,Y)=>EY(J,Y)).join(`
685
+ `)}`}function R7($){let Z=[],J=new Set,Y=$.replace(/^\s*import\s+.*$/gm,""),Q=0,X=Y.length,G=0;while(G<X){let K=Y[G];if(K==="'"||K==='"'||K==="`"){let q=K;if(G++,q==="`"){let _=0;while(G<X){if(Y[G]==="\\"){G+=2;continue}if(Y[G]==="`"&&_===0){G++;break}if(Y[G]==="$"&&Y[G+1]==="{"){_++,G+=2;continue}if(Y[G]==="}"&&_>0){_--,G++;continue}G++}}else while(G<X){if(Y[G]==="\\"){G+=2;continue}if(Y[G]===q){G++;break}G++}continue}if(K==="/"&&Y[G+1]==="/"){while(G<X&&Y[G]!==`
686
+ `)G++;continue}if(K==="/"&&Y[G+1]==="*"){G+=2;while(G<X-1&&!(Y[G]==="*"&&Y[G+1]==="/"))G++;G+=2;continue}if(K==="{"){Q++,G++;continue}if(K==="}"){Q--,G++;continue}if(Q===0){let q=Y.slice(G),_=q.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(_){let U=_[1];if(!U.startsWith("_")&&!J.has(U))Z.push(U),J.add(U);G+=_[0].length;continue}let W=q.match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(W){W[1].split(",").forEach((U)=>{let j=U.trim(),B=j.indexOf(":"),O=B>=0?j.slice(B+1).trim().split(/[\s=]/)[0]:j.split(/[\s=]/)[0];if(O&&!O.startsWith("_")&&!J.has(O))Z.push(O),J.add(O)}),G+=W[0].length;continue}let z=q.match(/^(?:async\s+)?function\s+([a-zA-Z_$]\w*)/);if(z){let U=z[1];if(!U.startsWith("_")&&!J.has(U))Z.push(U),J.add(U);G+=z[0].length;continue}}G++}return Z}function SY($){let Z=new Set,J=/[a-zA-Z_$][a-zA-Z0-9_$]*/g;function Y(U){let j;while((j=J.exec(U))!==null){let B=j[0];if(!bY.has(B))Z.add(B)}}let Q=/\{\{([\s\S]*?)\}\}/g,X;while((X=Q.exec($))!==null)Y(X[1]);let G=/:[a-z][\w.-]*\s*=\s*"([^"]*)"/gi;while((X=G.exec($))!==null)Y(X[1]);let K=/:[a-z][\w.-]*\s*=\s*'([^']*)'/gi;while((X=K.exec($))!==null)Y(X[1]);let q=/@[a-z]+(?:\.[a-z]+)*\s*=\s*"([^"]*)"/gi;while((X=q.exec($))!==null)Y(X[1]);let _=/@[a-z]+(?:\.[a-z]+)*\s*=\s*'([^']*)'/gi;while((X=_.exec($))!==null)Y(X[1]);let W=/@model\s*=\s*["']([^"']*)["']/gi;while((X=W.exec($))!==null)Y(X[1]);let z=/@for\s*=\s*["'][^"']*\bin\s+([^"']+)["']/gi;while((X=z.exec($))!==null)Y(X[1]);return Z}async function L5($,Z={}){let J=$,Y="",Q=!1,{hasUserImports:X,bundleClientScript:G}=await Promise.resolve().then(() => (g9(),f9));if(X(J))console.log("[stx:bundler] user imports detected, bundling..."),J=await G(J,Z.filePath||"",{projectRoot:Z.projectRoot,minify:Z.production}),Q=!0;if(Z.autoImports!==!1){let B=TY(J);J=B.code,Y=MY(B.stxImports,B.browserImports)}if(J=n0(J),!Q&&Q1(Z.attrs||""))J=G1(J);let K=kY(Z.eventBindings||[]),q=(Z.attrs||"").trim();if(/\btype\s*=\s*["']module["']/i.test(q)){let B=q.replace(/\btype\s*=\s*["']module["']/i,"").trim();return`<script ${`type="module" data-stx-scoped${B?` ${B}`:""}`}>
687
687
  ${Y}${J}
688
688
  ${K}
689
- </script>`}let _=/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect|useLocalStorage|useSessionStorage|useRef|useEventListener|useFetch|useDebounce|useDebouncedValue|useThrottle|useInterval|useTimeout|useToggle|useCounter|useClickOutside|useFocus|useAsync|useColorMode|useDark|useWebSocket|useRoute|useSearchParams|onMount|onDestroy|batch|untrack|peek)\s*(?:<[^>]*>)?\s*\(/.test($),W=/function __stx_setup_/.test(J),z=/\bstx\.mount\s*\(|\bstx\.mountEl\s*\(/.test($);function j(B){let O=B.length>0?`
689
+ </script>`}let W=/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect|useLocalStorage|useSessionStorage|useRef|useEventListener|useFetch|useDebounce|useDebouncedValue|useThrottle|useInterval|useTimeout|useToggle|useCounter|useClickOutside|useFocus|useAsync|useColorMode|useDark|useWebSocket|useRoute|useSearchParams|onMount|onDestroy|batch|untrack|peek)\s*(?:<[^>]*>)?\s*\(/.test($),z=/function __stx_setup_/.test(J),U=/\bstx\.mount\s*\(|\bstx\.mountEl\s*\(/.test($);function j(B){let O=B.length>0?`
690
690
  return { ${B.join(", ")} };`:"";return`<script data-stx-scoped>
691
691
  window.stx.mount(function() {
692
692
  'use strict';
693
693
  ${Y}${J}
694
694
  ${K}${O}
695
- })</script>`}if(!z&&!W){if(_)return j(j6($));if(Z.templateContent){let B=j6($);if(B.length>0){let O=V2(Z.templateContent);if(B.some((L)=>O.has(L)))return j(B)}}}return`<script data-stx-scoped>
695
+ })</script>`}if(!U&&!z){if(W)return j(R7($));if(Z.templateContent){let B=R7($);if(B.length>0){let O=SY(Z.templateContent);if(B.some((L)=>O.has(L)))return j(B)}}}return`<script data-stx-scoped>
696
696
  ;(function() {
697
697
  'use strict';
698
698
  ${Y}${J}
699
699
  ${K}
700
- })()</script>`}var q2,_2,U2,j2,F2;var P$=P(()=>{V0();q2=["state","derived","effect","batch","untrack","peek","isSignal","isDerived","onMount","onDestroy","useRef","navigate","goBack","goForward","useRoute","setRouteParams","useSearchParams","useQuery","useMutation","useEventListener","useMeta","useDebounce","useDebouncedValue","useThrottle","useInterval","useTimeout","useToggle","useCounter","useClickOutside","useFocus","useAsync","useColorMode","useDark","ref","reactive","computed","watch","watchEffect","watchMultiple","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onUnmounted","defineProps","withDefaults","defineEmits","defineExpose","provide","inject","nextTick","getCurrentInstance","onErrorCaptured","useSlots","useAttrs","createStore","defineStore","useStore","action","createSelector","h","Fragment"],_2=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser"],U2=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"]);j2={left:0,middle:1,right:2};F2=new Set(["if","else","true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","switch","case","break","continue","for","while","do","try","catch","finally","const","let","var","function","class","import","export","default","async","await","yield","with","debugger","console","window","document","Math","JSON","Date","Array","Object","String","Number","Boolean","Symbol","Map","Set","Promise","Error","parseInt","parseFloat","isNaN","isFinite","encodeURIComponent","decodeURIComponent","setTimeout","setInterval","clearTimeout","clearInterval","fetch","alert","confirm","prompt","event"])});function A2($){let Z="",J=null,Y=!1;for(let Q=0;Q<$.length;Q++){let X=$[Q];if(Y){Y=!1;continue}if(X==="\\"&&J){Y=!0;continue}if(J){if(J==="`"&&X==="$"&&Q+1<$.length&&$[Q+1]==="{"){let G=1;Q+=2;while(Q<$.length&&G>0){if($[Q]==="{")G++;else if($[Q]==="}")G--;if(G>0)Z+=$[Q],Q++}continue}if(X===J)J=null;continue}if(X==='"'||X==="'"||X==="`"){J=X;continue}Z+=X}return Z}function u1($){let Z=$.trim(),J=A2(Z);for(let Y of H6)if(Y.test(J))throw Error(`Potentially unsafe expression (matched /${Y.source}/): ${Z}`);if(!O6.allowBracketNotation&&R2.test(Z))throw Error(`Bracket notation with strings not allowed: ${Z}. Enable with configureSafeEvaluator({ allowBracketNotation: true })`);return Z}function w2($){let Z={};Z.Math=Math,Z.JSON=JSON,Z.Date=Date,Z.String=String,Z.Number=Number,Z.Boolean=Boolean,Z.Array=Array,Z.parseInt=Number.parseInt,Z.parseFloat=Number.parseFloat,Z.isNaN=Number.isNaN,Z.isFinite=Number.isFinite,Z.encodeURIComponent=encodeURIComponent,Z.decodeURIComponent=decodeURIComponent;for(let[J,Y]of Object.entries($)){if(J.startsWith("__")||H6.some((Q)=>Q.test(J)))continue;if(Y&&typeof Y==="object"&&!Array.isArray(Y))Z[J]=v$(Y);else Z[J]=Y}return Z}function v$($,Z=0){if(Z>=O6.maxSanitizeDepth)return"[Object too deep]";if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((Y)=>v$(Y,Z+1));if($ instanceof Date||$ instanceof RegExp||$ instanceof Map||$ instanceof Set||$ instanceof Error)return $;let J={};for(let[Y,Q]of Object.entries($)){if(Y.startsWith("__")||Y==="constructor"||Y==="prototype")continue;if(Q&&typeof Q==="object")J[Y]=v$(Q,Z+1);else J[Y]=Q}return J}function X0($,Z){try{let J=u1($),Y=w2(Z);return Function(...Object.keys(Y),`
700
+ })()</script>`}var wY,NY,RY,IY,bY;var h9=C(()=>{F0();wY=["state","derived","effect","batch","untrack","peek","isSignal","isDerived","onMount","onDestroy","useRef","navigate","goBack","goForward","useRoute","setRouteParams","useSearchParams","useQuery","useMutation","useEventListener","useMeta","useDebounce","useDebouncedValue","useThrottle","useInterval","useTimeout","useToggle","useCounter","useClickOutside","useFocus","useAsync","useColorMode","useDark","ref","reactive","computed","watch","watchEffect","watchMultiple","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onUnmounted","defineProps","withDefaults","defineEmits","defineExpose","provide","inject","nextTick","getCurrentInstance","onErrorCaptured","useSlots","useAttrs","createStore","defineStore","useStore","action","createSelector","h","Fragment"],NY=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser"],RY=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"]);IY={left:0,middle:1,right:2};bY=new Set(["if","else","true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","switch","case","break","continue","for","while","do","try","catch","finally","const","let","var","function","class","import","export","default","async","await","yield","with","debugger","console","window","document","Math","JSON","Date","Array","Object","String","Number","Boolean","Symbol","Map","Set","Promise","Error","parseInt","parseFloat","isNaN","isFinite","encodeURIComponent","decodeURIComponent","setTimeout","setInterval","clearTimeout","clearInterval","fetch","alert","confirm","prompt","event"])});function PY($){let Z="",J=null,Y=!1;for(let Q=0;Q<$.length;Q++){let X=$[Q];if(Y){Y=!1;continue}if(X==="\\"&&J){Y=!0;continue}if(J){if(J==="`"&&X==="$"&&Q+1<$.length&&$[Q+1]==="{"){let G=1;Q+=2;while(Q<$.length&&G>0){if($[Q]==="{")G++;else if($[Q]==="}")G--;if(G>0)Z+=$[Q],Q++}continue}if(X===J)J=null;continue}if(X==='"'||X==="'"||X==="`"){J=X;continue}Z+=X}return Z}function c1($){let Z=$.trim(),J=PY(Z);for(let Y of T7)if(Y.test(J))throw Error(`Potentially unsafe expression (matched /${Y.source}/): ${Z}`);if(!A7.allowBracketNotation&&CY.test(Z))throw Error(`Bracket notation with strings not allowed: ${Z}. Enable with configureSafeEvaluator({ allowBracketNotation: true })`);return Z}function vY($){let Z={};Z.Math=Math,Z.JSON=JSON,Z.Date=Date,Z.String=String,Z.Number=Number,Z.Boolean=Boolean,Z.Array=Array,Z.parseInt=Number.parseInt,Z.parseFloat=Number.parseFloat,Z.isNaN=Number.isNaN,Z.isFinite=Number.isFinite,Z.encodeURIComponent=encodeURIComponent,Z.decodeURIComponent=decodeURIComponent;for(let[J,Y]of Object.entries($)){if(J.startsWith("__")||T7.some((Q)=>Q.test(J)))continue;if(Y&&typeof Y==="object"&&!Array.isArray(Y))Z[J]=d9(Y);else Z[J]=Y}return Z}function d9($,Z=0){if(Z>=A7.maxSanitizeDepth)return"[Object too deep]";if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((Y)=>d9(Y,Z+1));if($ instanceof Date||$ instanceof RegExp||$ instanceof Map||$ instanceof Set||$ instanceof Error)return $;let J={};for(let[Y,Q]of Object.entries($)){if(Y.startsWith("__")||Y==="constructor"||Y==="prototype")continue;if(Q&&typeof Q==="object")J[Y]=d9(Q,Z+1);else J[Y]=Q}return J}function X0($,Z){try{let J=c1($),Y=vY(Z);return Function(...Object.keys(Y),`
701
701
  'use strict';
702
702
  try {
703
703
  return ${J};
@@ -708,7 +708,7 @@ catch (e) {
708
708
  }
709
709
  throw e;
710
710
  }
711
- `)(...Object.values(Y))}catch{return}}function e($){try{return u1($),!0}catch{return!1}}function O0($,Z){try{let J=X0($,Z);if(J&&typeof J==="object"&&!Array.isArray(J))return J;return{}}catch{return{}}}function $0($,Z){let J=u1($);return Function(...Z,`
711
+ `)(...Object.values(Y))}catch{return}}function e($){try{return c1($),!0}catch{return!1}}function O0($,Z){try{let J=X0($,Z);if(J&&typeof J==="object"&&!Array.isArray(J))return J;return{}}catch{return{}}}function $0($,Z){let J=c1($);return Function(...Z,`
712
712
  'use strict';
713
713
  try {
714
714
  return ${J};
@@ -719,7 +719,7 @@ catch (e) {
719
719
  }
720
720
  throw e;
721
721
  }
722
- `)}function O5($){let Z=$.trim(),J=[/\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 J)if(Y.test(Z))return!1;return!0}var N2,O6,H6,R2;var R0=P(()=>{N2={maxSanitizeDepth:10,allowBracketNotation:!1},O6={...N2},H6=[/\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/],R2=/[\w)\]]\s*\[\s*['"]/});function H5($,Z){let J=T2++,Y=`<!--__STX_${$.toUpperCase()}_${J}__-->`;return M2.set(Y,{type:$,expression:Z}),Y}var T2=0,M2;var L6=P(()=>{M2=new Map});var T6={};r(T6,{usesSignalsInScript:()=>L5,unescapeHtml:()=>x$,registerFilters:()=>E2,registerFilter:()=>N6,processExpressions:()=>q1,interpolateScriptsInTemplate:()=>k2,interpolateScriptExpressions:()=>A6,getAllFilters:()=>R6,evaluateExpression:()=>p0,escapeHtml:()=>K1,defaultFilters:()=>l1,clearCustomFilters:()=>D2,applyFilters:()=>w6});function I2($){let Z=F6.get($);if(!Z){let J=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${J}(?!\\w)`,"g"),F6.set($,Z)}return Z.lastIndex=0,Z}function N6($,Z){if($ in l1)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);p1[$]=Z}function E2($){for(let[Z,J]of Object.entries($))N6(Z,J)}function R6(){return{...l1,...p1}}function D2(){for(let $ of Object.keys(p1))delete p1[$]}function K1($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function L5($){let Z=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,J;while((J=Z.exec($))!==null){let Y=J[1];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(Y))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test($))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test($))return!0;return!1}function V6($,Z){let J=["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=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),Q="",X=!1,G=0;for(let U=0;U<Y.length;U++){let _=Y[U];if(!X&&_==="`"){X=!0,G=0;continue}if(X){if(_==="`"&&G===0){X=!1;continue}if(_==="$"&&Y[U+1]==="{"){G++,U++;continue}if(_==="}"&&G>0){G--;continue}continue}Q+=_}Y=Q;let K=/\b([a-zA-Z_$][a-zA-Z0-9_$]*)\b/g,q;while((q=K.exec(Y))!==null){let U=q[1];if(!Y.substring(0,q.index).trimEnd().endsWith(".")){if(!J.includes(U)&&!(U in Z))return!1}}return!0}function A6($,Z){let J=$;return J=J.replace(/\{!!([\s\S]*?)!!\}/g,(Y,Q)=>{try{let X=p0(Q,Z);if(X===void 0)return Y;return X===null?"":String(X)}catch{return Y}}),J=J.replace(/\{\{([\s\S]*?)\}\}/g,(Y,Q)=>{let X=Q.trim();if(/^__[A-Z_]+__$/.test(X))return Y;try{let G=p0(Q,Z);if(G===void 0)return Y;return JSON.stringify(G)}catch{return Y}}),J}function k2($,Z,J={}){return $.replace(/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,(Y,Q,X)=>{if(/\bsrc\s*=/.test(Q))return Y;if(/\bdata-raw\b/.test(Q))return Y;if(/\btype\s*=\s*["']application\/json["']/.test(Q))return Y;if(J.skipServer&&/\bserver\b/.test(Q))return Y;let G=A6(X,Z);return`<script${Q}>${G}</script>`})}function q1($,Z,J){let Y=$,Q=[];Y=Y.replace(/<style[^>]*>[\s\S]*?<\/style>/gi,(K)=>{if(/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(K))return K;let q=Q.length;return Q.push(K),`<!--__STX_STYLE_${q}__-->`});let X=[];Y=Y.replace(/<script[^>]*>[\s\S]*?<\/script>/gi,(K)=>{let q=X.length;return X.push(K),`<!--__STX_SCRIPT_EXPR_${q}__-->`});let G=L5($);Y=Y.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(K,q,U)=>{try{let _=p0(q,Z);return _!==void 0&&_!==null?String(_):""}catch(_){let W=_ instanceof Error?_.message:String(_);return Q0("Expression",`Error evaluating: {{{ ${q.trim()}}}}: ${W}`,J,$,U,K)}}),Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(K,q,U)=>{try{let _=p0(q,Z);if(_===void 0&&Z.__stx_buildMode==="compile")return H5("raw",q.trim());return _!==void 0&&_!==null?String(_):""}catch(_){if(Z.__stx_buildMode==="compile")return H5("raw",q.trim());let W=_ instanceof Error?_.message:String(_);return Q0("Expression",`Error evaluating: {!! ${q.trim()} !!}: ${W}`,J,$,U,K)}}),Y=Y.replace(/<script[^>]*>[\s\S]*?<\/script>/gi,(K)=>{if(K.startsWith("<!--__STX_SCRIPT_EXPR_"))return K;let q=X.length;return X.push(K),`<!--__STX_SCRIPT_EXPR_${q}__-->`}),Y=Y.replace(/<style[^>]*>[\s\S]*?<\/style>/gi,(K)=>{if(K.startsWith("<!--__STX_STYLE_"))return K;if(/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(K))return K;let q=Q.length;return Q.push(K),`<!--__STX_STYLE_${q}__-->`}),Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(K,q,U)=>{let _=q.trim(),W=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],z=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,B=_.match(z)?.[1],O=B&&((B in Z)||W.includes(B)),F=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,L=_.match(F),H=L&&!W.includes(L[1])&&!(L[1]in Z);if(/^__[A-Z_]+__$/.test(_))return"";try{let V=p0(q,Z);if(V===void 0&&G&&!V6(_,Z))return K;if(V===void 0&&Z.__stx_buildMode==="compile"&&!G)return H5("expr",_);return V!==void 0&&V!==null?K1(String(V)):""}catch(V){if(G&&!V6(_,Z))return K;if(H)return K;let R=V instanceof Error?V.message:String(V);return Q0("Expression",`Error evaluating: {{ ${_} }}: ${R}`,J,$,U,K)}});for(let K=0;K<X.length;K++)Y=Y.replace(`<!--__STX_SCRIPT_EXPR_${K}__-->`,()=>X[K]);for(let K=0;K<Q.length;K++)Y=Y.replace(`<!--__STX_STYLE_${K}__-->`,()=>Q[K]);return Y}function w6($,Z,J){if(!Z.trim())return $;let Y=$,Q=Z.trim();while(Q.length>0){let X=Q.match(/^(\w+)/);if(!X)break;let G=X[1];Q=Q.substring(G.length).trim();let K=p1[G]||l1[G];if(!K)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(R6()).join(", ")}`);let q=[];if(Q.startsWith(":")){let U=Q.match(/^:([^|\s]+)/);if(U){let _=U[1].trim();try{let W=Number(_);q=[Number.isNaN(W)?_:W]}catch{q=[_]}Q=Q.substring(U[0].length).trim()}}else if(Q.startsWith("(")){let U=1,_=1;while(U>0&&_<Q.length){if(Q[_]==="(")U++;if(Q[_]===")")U--;_++}if(U===0){let W=Q.substring(1,_-1).trim();if(W)try{if(W.startsWith("{")&&W.endsWith("}"))q=[p0(`(${W})`,J,!0)];else{let z=[],j="",B=null,O=0,F=0,L=0,H=!1;for(let V=0;V<W.length;V++){let R=W[V];if(H){j+=R,H=!1;continue}if(R==="\\"){j+=R,H=!0;continue}if(B){if(j+=R,R===B)B=null;continue}if(R==='"'||R==="'"||R==="`"){B=R,j+=R;continue}if(R==="(")O++;else if(R===")")O--;else if(R==="[")F++;else if(R==="]")F--;else if(R==="{")L++;else if(R==="}")L--;if(R===","&&O===0&&F===0&&L===0){z.push(j),j="";continue}j+=R}if(j)z.push(j);q=z.map((V)=>{let R=V.trim();return p0(R,J,!0)})}}catch{q=[W]}Q=Q.substring(_).trim()}}try{Y=K(Y,J,...q)}catch(U){let _=U instanceof Error?U.message:String(U);throw Error(`Error applying filter '${G}': ${_}`)}if(Q.startsWith("|"))Q=Q.substring(1).trim();else break}return Y}function S2($){let Z=!1,J="",Y=0,Q=0,X=0,G=!1;for(let K=0;K<$.length;K++){let q=$[K],U=$[K+1];if(Z&&G){G=!1;continue}if(Z&&q==="\\"){G=!0;continue}if(G=!1,(q==='"'||q==="'"||q==="`")&&!G){if(!Z)Z=!0,J=q;else if(q===J)Z=!1,J="";continue}if(Z&&J==="`"&&q==="$"&&U==="{"){let _=1;K+=2;while(K<$.length&&_>0){if($[K]==="{")_++;else if($[K]==="}")_--;if(_>0)K++}continue}if(Z)continue;if(q==="(")Y++;else if(q===")")Y--;else if(q==="[")Q++;else if(q==="]")Q--;else if(q==="{")X++;else if(q==="}")X--;if(q==="|"&&Y===0&&Q===0&&X===0){if(U==="|"){K++;continue}if(U==="="){K++;continue}return K}}return-1}function p0($,Z,J=!1){try{let Y=$.trim(),Q=S2(Y);if(Q>0){let X=Y.substring(0,Q).trim(),G=Y.substring(Q+1).trim(),K=p0(X,Z,!0);return w6(K,G,Z)}if(!e(Y)){if(!J)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${Y}`);return X0(Y,Z)}try{let X=Object.keys(Z),G=Object.values(Z);return $0(Y,X)(...G)}catch{return X0(Y,Z)}}catch(Y){if(!J)console.error(`Error evaluating expression: ${$}`,Y);throw Y}}function x$($){if(!$)return"";return $.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#039;/g,"'").replace(/&#39;/g,"'").replace(/&amp;/g,"&")}var p1,F6,l1;var o0=P(()=>{R0();V0();L6();p1={},F6=new Map;l1={uppercase:($,Z)=>{return $!==void 0&&$!==null?String($).toUpperCase():""},lowercase:($,Z)=>{return $!==void 0&&$!==null?String($).toLowerCase():""},capitalize:($,Z)=>{if($===void 0||$===null)return"";let J=String($);return J.charAt(0).toUpperCase()+J.slice(1)},number:($,Z,J=0)=>{if($===void 0||$===null)return"";try{let Y=Number($);return Number.isNaN(Y)?"":Y.toFixed(Number.parseInt(String(J),10))}catch{return""}},fmt:($,Z,J="en-US")=>{if($===void 0||$===null)return"";try{let Y=Number($);if(Number.isNaN(Y))return String($);return Y.toLocaleString(J)}catch{return String($)}},join:($,Z,J=",")=>{if(!Array.isArray($))return"";return $.join(String(J))},escape:($,Z)=>{if($===void 0||$===null)return"";return K1(String($))},translate:($,Z,J={})=>{if(!Z||!Z.__translations)return $;let Y=Z.__translations,Q=Z.__i18nConfig?.fallbackToKey??!0,X=String($).split("."),G=Y;for(let q of X){if(G===void 0||G===null)break;G=G[q]}if(G===void 0||G===null)return Q?$:"";let K=String(G);return Object.entries(J).forEach(([q,U])=>{K=K.replace(I2(q),String(U))}),K},t:($,Z,J={})=>{return l1.translate($,Z,J)},truncate:($,Z,J=50,Y="...")=>{if($===void 0||$===null)return"";let Q=String($);if(Q.length<=J)return Q;if(J<=Y.length)return Y.substring(0,J);return Q.substring(0,J-Y.length)+Y},date:($,Z,J="short",Y="en-US")=>{if($===void 0||$===null)return"";try{let Q=$ instanceof Date?$:new Date($);if(Number.isNaN(Q.getTime()))return String($);let X={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"},time:{timeStyle:"short"},datetime:{dateStyle:"short",timeStyle:"short"},iso:{}};if(J==="iso")return Q.toISOString();return new Intl.DateTimeFormat(Y,X[J]||X.short).format(Q)}catch{return String($)}},currency:($,Z,J="USD",Y="en-US")=>{if($===void 0||$===null)return"";try{let Q=Number($);if(Number.isNaN(Q))return String($);return new Intl.NumberFormat(Y,{style:"currency",currency:J}).format(Q)}catch{return String($)}},pluralize:($,Z,J,Y)=>{let Q=Number($);if(Number.isNaN(Q))return J;let X=Y||`${J}s`;return Q===1?J:X},first:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[0];return String($).charAt(0)},last:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[$.length-1];let J=String($);return J.charAt(J.length-1)},length:($,Z)=>{if($===void 0||$===null)return 0;if(Array.isArray($)||typeof $==="string")return $.length;if($ instanceof Map||$ instanceof Set)return $.size;if(typeof $==="object")return Object.keys($).length;return 0},json:($,Z,J=!1)=>{if($===void 0)return"undefined";if($===null)return"null";try{return J?JSON.stringify($,null,2):JSON.stringify($)}catch{return String($)}},default:($,Z,J="")=>{return $===void 0||$===null||$===""?J:$},reverse:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return[...$].reverse();return String($).split("").reverse().join("")},slice:($,Z,J=0,Y)=>{if($===void 0||$===null)return"";if(Array.isArray($)||typeof $==="string")return $.slice(J,Y);return $},replace:($,Z,J,Y="")=>{if($===void 0||$===null)return"";let Q=J.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(Q,"g"),()=>Y)},stripTags:($,Z)=>{if($===void 0||$===null)return"";return String($).replace(/<[^>]*>/g,"")},urlencode:($,Z)=>{if($===void 0||$===null)return"";return encodeURIComponent(String($))},abs:($,Z)=>{let J=Number($);return Number.isNaN(J)?0:Math.abs(J)},round:($,Z,J=0)=>{let Y=Number($);if(Number.isNaN(Y))return 0;let Q=10**J;return Math.round(Y*Q)/Q}}});class c1{cache=new Map;maxSize;constructor($=100){this.maxSize=$}get($){if(!this.cache.has($))return;let Z=this.cache.get($);return this.cache.delete($),this.cache.set($,Z),Z}set($,Z){if(this.cache.has($))this.cache.delete($);else if(this.cache.size>=this.maxSize){let J=this.cache.keys().next().value;if(J!==void 0)this.cache.delete(J)}this.cache.set($,Z)}has($){return this.cache.has($)}delete($){return this.cache.delete($)}clear(){this.cache.clear()}get size(){return this.cache.size}keys(){return this.cache.keys()}values(){return this.cache.values()}}function w1($,Z){if(Z?.includes("g"))return new RegExp($,Z);let J=`${$}:${Z||""}`;if(!A1.has(J)){if(A1.size>=b2){let Y=A1.keys().next().value;if(Y)A1.delete(Y)}A1.set(J,new RegExp($,Z))}return A1.get(J)}class M6{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator($){let Z=Array.from(new Set($)),J=Z.sort().join(","),Y=this.pool.find((K)=>K.context.join(",")===J);if(Y)return Y.func;let Q=this.fnCache,X=this.fnCacheMaxSize,G=(...K)=>{return(q)=>{try{let U=`${J}:${q}`,_=Q.get(U);if(!_){if(Q.size>=X){let W=Q.keys().next().value;if(W)Q.delete(W)}_=Function(...Z,`
722
+ `)}function F5($){let Z=$.trim(),J=[/\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 J)if(Y.test(Z))return!1;return!0}var yY,A7,T7,CY;var N0=C(()=>{yY={maxSanitizeDepth:10,allowBracketNotation:!1},A7={...yY},T7=[/\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/],CY=/[\w)\]]\s*\[\s*['"]/});function V5($,Z){let J=xY++,Y=`<!--__STX_${$.toUpperCase()}_${J}__-->`;return fY.set(Y,{type:$,expression:Z}),Y}var xY=0,fY;var M7=C(()=>{fY=new Map});var y7={};r(y7,{usesSignalsInScript:()=>w5,unescapeHtml:()=>m9,registerFilters:()=>hY,registerFilter:()=>E7,processExpressions:()=>q1,interpolateScriptsInTemplate:()=>mY,interpolateScriptExpressions:()=>b7,getAllFilters:()=>k7,evaluateExpression:()=>l0,escapeHtml:()=>K1,defaultFilters:()=>n1,clearCustomFilters:()=>dY,applyFilters:()=>S7});function gY($){let Z=I7.get($);if(!Z){let J=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${J}(?!\\w)`,"g"),I7.set($,Z)}return Z.lastIndex=0,Z}function E7($,Z){if($ in n1)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);i1[$]=Z}function hY($){for(let[Z,J]of Object.entries($))E7(Z,J)}function k7(){return{...n1,...i1}}function dY(){for(let $ of Object.keys(i1))delete i1[$]}function K1($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function w5($){let Z=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,J;while((J=Z.exec($))!==null){let Y=J[1];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(Y))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test($))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test($))return!0;return!1}function D7($,Z){let J=["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=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),Q="",X=!1,G=0;for(let _=0;_<Y.length;_++){let W=Y[_];if(!X&&W==="`"){X=!0,G=0;continue}if(X){if(W==="`"&&G===0){X=!1;continue}if(W==="$"&&Y[_+1]==="{"){G++,_++;continue}if(W==="}"&&G>0){G--;continue}continue}Q+=W}Y=Q;let K=/\b([a-zA-Z_$][a-zA-Z0-9_$]*)\b/g,q;while((q=K.exec(Y))!==null){let _=q[1];if(!Y.substring(0,q.index).trimEnd().endsWith(".")){if(!J.includes(_)&&!(_ in Z))return!1}}return!0}function b7($,Z){let J=$;return J=J.replace(/\{!!([\s\S]*?)!!\}/g,(Y,Q)=>{try{let X=l0(Q,Z);if(X===void 0)return Y;return X===null?"":String(X)}catch{return Y}}),J=J.replace(/\{\{([\s\S]*?)\}\}/g,(Y,Q)=>{let X=Q.trim();if(/^__[A-Z_]+__$/.test(X))return Y;try{let G=l0(Q,Z);if(G===void 0)return Y;return JSON.stringify(G)}catch{return Y}}),J}function mY($,Z,J={}){return $.replace(/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,(Y,Q,X)=>{if(/\bsrc\s*=/.test(Q))return Y;if(/\bdata-raw\b/.test(Q))return Y;if(/\btype\s*=\s*["']application\/json["']/.test(Q))return Y;if(J.skipServer&&/\bserver\b/.test(Q))return Y;let G=b7(X,Z);return`<script${Q}>${G}</script>`})}function q1($,Z,J){let Y=$,Q=[];Y=Y.replace(/<style[^>]*>[\s\S]*?<\/style>/gi,(K)=>{if(/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(K))return K;let q=Q.length;return Q.push(K),`<!--__STX_STYLE_${q}__-->`});let X=[];Y=Y.replace(/<script[^>]*>[\s\S]*?<\/script>/gi,(K)=>{let q=X.length;return X.push(K),`<!--__STX_SCRIPT_EXPR_${q}__-->`});let G=w5($);Y=Y.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(K,q,_)=>{try{let W=l0(q,Z);return W!==void 0&&W!==null?String(W):""}catch(W){let z=W instanceof Error?W.message:String(W);return Q0("Expression",`Error evaluating: {{{ ${q.trim()}}}}: ${z}`,J,$,_,K)}}),Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(K,q,_)=>{try{let W=l0(q,Z);if(W===void 0&&Z.__stx_buildMode==="compile")return V5("raw",q.trim());return W!==void 0&&W!==null?String(W):""}catch(W){if(Z.__stx_buildMode==="compile")return V5("raw",q.trim());let z=W instanceof Error?W.message:String(W);return Q0("Expression",`Error evaluating: {!! ${q.trim()} !!}: ${z}`,J,$,_,K)}}),Y=Y.replace(/<script[^>]*>[\s\S]*?<\/script>/gi,(K)=>{if(K.startsWith("<!--__STX_SCRIPT_EXPR_"))return K;let q=X.length;return X.push(K),`<!--__STX_SCRIPT_EXPR_${q}__-->`}),Y=Y.replace(/<style[^>]*>[\s\S]*?<\/style>/gi,(K)=>{if(K.startsWith("<!--__STX_STYLE_"))return K;if(/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(K))return K;let q=Q.length;return Q.push(K),`<!--__STX_STYLE_${q}__-->`}),Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(K,q,_)=>{let W=q.trim(),z=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],U=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,B=W.match(U)?.[1],O=B&&((B in Z)||z.includes(B)),F=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,L=W.match(F),H=L&&!z.includes(L[1])&&!(L[1]in Z);if(/^__[A-Z_]+__$/.test(W))return"";try{let V=l0(q,Z);if(V===void 0&&G&&!D7(W,Z))return K;if(V===void 0&&Z.__stx_buildMode==="compile"&&!G)return V5("expr",W);return V!==void 0&&V!==null?K1(String(V)):""}catch(V){if(G&&!D7(W,Z))return K;if(H)return K;let N=V instanceof Error?V.message:String(V);return Q0("Expression",`Error evaluating: {{ ${W} }}: ${N}`,J,$,_,K)}});for(let K=0;K<X.length;K++)Y=Y.replace(`<!--__STX_SCRIPT_EXPR_${K}__-->`,()=>X[K]);for(let K=0;K<Q.length;K++)Y=Y.replace(`<!--__STX_STYLE_${K}__-->`,()=>Q[K]);return Y}function S7($,Z,J){if(!Z.trim())return $;let Y=$,Q=Z.trim();while(Q.length>0){let X=Q.match(/^(\w+)/);if(!X)break;let G=X[1];Q=Q.substring(G.length).trim();let K=i1[G]||n1[G];if(!K)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(k7()).join(", ")}`);let q=[];if(Q.startsWith(":")){let _=Q.match(/^:([^|\s]+)/);if(_){let W=_[1].trim();try{let z=Number(W);q=[Number.isNaN(z)?W:z]}catch{q=[W]}Q=Q.substring(_[0].length).trim()}}else if(Q.startsWith("(")){let _=1,W=1;while(_>0&&W<Q.length){if(Q[W]==="(")_++;if(Q[W]===")")_--;W++}if(_===0){let z=Q.substring(1,W-1).trim();if(z)try{if(z.startsWith("{")&&z.endsWith("}"))q=[l0(`(${z})`,J,!0)];else{let U=[],j="",B=null,O=0,F=0,L=0,H=!1;for(let V=0;V<z.length;V++){let N=z[V];if(H){j+=N,H=!1;continue}if(N==="\\"){j+=N,H=!0;continue}if(B){if(j+=N,N===B)B=null;continue}if(N==='"'||N==="'"||N==="`"){B=N,j+=N;continue}if(N==="(")O++;else if(N===")")O--;else if(N==="[")F++;else if(N==="]")F--;else if(N==="{")L++;else if(N==="}")L--;if(N===","&&O===0&&F===0&&L===0){U.push(j),j="";continue}j+=N}if(j)U.push(j);q=U.map((V)=>{let N=V.trim();return l0(N,J,!0)})}}catch{q=[z]}Q=Q.substring(W).trim()}}try{Y=K(Y,J,...q)}catch(_){let W=_ instanceof Error?_.message:String(_);throw Error(`Error applying filter '${G}': ${W}`)}if(Q.startsWith("|"))Q=Q.substring(1).trim();else break}return Y}function uY($){let Z=!1,J="",Y=0,Q=0,X=0,G=!1;for(let K=0;K<$.length;K++){let q=$[K],_=$[K+1];if(Z&&G){G=!1;continue}if(Z&&q==="\\"){G=!0;continue}if(G=!1,(q==='"'||q==="'"||q==="`")&&!G){if(!Z)Z=!0,J=q;else if(q===J)Z=!1,J="";continue}if(Z&&J==="`"&&q==="$"&&_==="{"){let W=1;K+=2;while(K<$.length&&W>0){if($[K]==="{")W++;else if($[K]==="}")W--;if(W>0)K++}continue}if(Z)continue;if(q==="(")Y++;else if(q===")")Y--;else if(q==="[")Q++;else if(q==="]")Q--;else if(q==="{")X++;else if(q==="}")X--;if(q==="|"&&Y===0&&Q===0&&X===0){if(_==="|"){K++;continue}if(_==="="){K++;continue}return K}}return-1}function l0($,Z,J=!1){try{let Y=$.trim(),Q=uY(Y);if(Q>0){let X=Y.substring(0,Q).trim(),G=Y.substring(Q+1).trim(),K=l0(X,Z,!0);return S7(K,G,Z)}if(!e(Y)){if(!J)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${Y}`);return X0(Y,Z)}try{let X=Object.keys(Z),G=Object.values(Z);return $0(Y,X)(...G)}catch{return X0(Y,Z)}}catch(Y){if(Y instanceof ReferenceError){let Q=/(\b\w+)\s+is not defined/.exec(Y.message);if(Q){let X=Q[1],G=pY(X,Object.keys(Z));if(G&&G!==X)Y.message=`${Y.message} \u2014 did you mean '${G}'?`}}if(!J)console.error(`Error evaluating expression: ${$}`,Y);throw Y}}function pY($,Z){let J=null;for(let Q of Z){if(Q===$)continue;let X=lY($,Q);if(J===null||X<J.dist)J={key:Q,dist:X}}if(!J)return null;let Y=Math.max($.length,J.key.length);if(J.dist<=2||J.dist/Y<=0.35)return J.key;return null}function lY($,Z){if($===Z)return 0;if($.length===0)return Z.length;if(Z.length===0)return $.length;let[J,Y]=$.length<Z.length?[$,Z]:[Z,$],Q=Array(J.length+1),X=Array(J.length+1);for(let G=0;G<=J.length;G++)Q[G]=G;for(let G=1;G<=Y.length;G++){X[0]=G;for(let K=1;K<=J.length;K++){let q=J[K-1]===Y[G-1]?0:1;X[K]=Math.min(X[K-1]+1,Q[K]+1,Q[K-1]+q)}for(let K=0;K<=J.length;K++)Q[K]=X[K]}return Q[J.length]}function m9($){if(!$)return"";return $.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#039;/g,"'").replace(/&#39;/g,"'").replace(/&amp;/g,"&")}var i1,I7,n1;var o0=C(()=>{N0();F0();M7();i1={},I7=new Map;n1={uppercase:($,Z)=>{return $!==void 0&&$!==null?String($).toUpperCase():""},lowercase:($,Z)=>{return $!==void 0&&$!==null?String($).toLowerCase():""},capitalize:($,Z)=>{if($===void 0||$===null)return"";let J=String($);return J.charAt(0).toUpperCase()+J.slice(1)},number:($,Z,J=0)=>{if($===void 0||$===null)return"";try{let Y=Number($);return Number.isNaN(Y)?"":Y.toFixed(Number.parseInt(String(J),10))}catch{return""}},fmt:($,Z,J="en-US")=>{if($===void 0||$===null)return"";try{let Y=Number($);if(Number.isNaN(Y))return String($);return Y.toLocaleString(J)}catch{return String($)}},join:($,Z,J=",")=>{if(!Array.isArray($))return"";return $.join(String(J))},escape:($,Z)=>{if($===void 0||$===null)return"";return K1(String($))},translate:($,Z,J={})=>{if(!Z||!Z.__translations)return $;let Y=Z.__translations,Q=Z.__i18nConfig?.fallbackToKey??!0,X=String($).split("."),G=Y;for(let q of X){if(G===void 0||G===null)break;G=G[q]}if(G===void 0||G===null)return Q?$:"";let K=String(G);return Object.entries(J).forEach(([q,_])=>{K=K.replace(gY(q),String(_))}),K},t:($,Z,J={})=>{return n1.translate($,Z,J)},truncate:($,Z,J=50,Y="...")=>{if($===void 0||$===null)return"";let Q=String($);if(Q.length<=J)return Q;if(J<=Y.length)return Y.substring(0,J);return Q.substring(0,J-Y.length)+Y},date:($,Z,J="short",Y="en-US")=>{if($===void 0||$===null)return"";try{let Q=$ instanceof Date?$:new Date($);if(Number.isNaN(Q.getTime()))return String($);let X={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"},time:{timeStyle:"short"},datetime:{dateStyle:"short",timeStyle:"short"},iso:{}};if(J==="iso")return Q.toISOString();return new Intl.DateTimeFormat(Y,X[J]||X.short).format(Q)}catch{return String($)}},currency:($,Z,J="USD",Y="en-US")=>{if($===void 0||$===null)return"";try{let Q=Number($);if(Number.isNaN(Q))return String($);return new Intl.NumberFormat(Y,{style:"currency",currency:J}).format(Q)}catch{return String($)}},pluralize:($,Z,J,Y)=>{let Q=Number($);if(Number.isNaN(Q))return J;let X=Y||`${J}s`;return Q===1?J:X},first:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[0];return String($).charAt(0)},last:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[$.length-1];let J=String($);return J.charAt(J.length-1)},length:($,Z)=>{if($===void 0||$===null)return 0;if(Array.isArray($)||typeof $==="string")return $.length;if($ instanceof Map||$ instanceof Set)return $.size;if(typeof $==="object")return Object.keys($).length;return 0},json:($,Z,J=!1)=>{if($===void 0)return"undefined";if($===null)return"null";try{return J?JSON.stringify($,null,2):JSON.stringify($)}catch{return String($)}},default:($,Z,J="")=>{return $===void 0||$===null||$===""?J:$},reverse:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return[...$].reverse();return String($).split("").reverse().join("")},slice:($,Z,J=0,Y)=>{if($===void 0||$===null)return"";if(Array.isArray($)||typeof $==="string")return $.slice(J,Y);return $},replace:($,Z,J,Y="")=>{if($===void 0||$===null)return"";let Q=J.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(Q,"g"),()=>Y)},stripTags:($,Z)=>{if($===void 0||$===null)return"";return String($).replace(/<[^>]*>/g,"")},urlencode:($,Z)=>{if($===void 0||$===null)return"";return encodeURIComponent(String($))},abs:($,Z)=>{let J=Number($);return Number.isNaN(J)?0:Math.abs(J)},round:($,Z,J=0)=>{let Y=Number($);if(Number.isNaN(Y))return 0;let Q=10**J;return Math.round(Y*Q)/Q}}});class o1{cache=new Map;maxSize;constructor($=100){this.maxSize=$}get($){if(!this.cache.has($))return;let Z=this.cache.get($);return this.cache.delete($),this.cache.set($,Z),Z}set($,Z){if(this.cache.has($))this.cache.delete($);else if(this.cache.size>=this.maxSize){let J=this.cache.keys().next().value;if(J!==void 0)this.cache.delete(J)}this.cache.set($,Z)}has($){return this.cache.has($)}delete($){return this.cache.delete($)}clear(){this.cache.clear()}get size(){return this.cache.size}keys(){return this.cache.keys()}values(){return this.cache.values()}}function T1($,Z){if(Z?.includes("g"))return new RegExp($,Z);let J=`${$}:${Z||""}`;if(!A1.has(J)){if(A1.size>=cY){let Y=A1.keys().next().value;if(Y)A1.delete(Y)}A1.set(J,new RegExp($,Z))}return A1.get(J)}class C7{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator($){let Z=Array.from(new Set($)),J=Z.sort().join(","),Y=this.pool.find((K)=>K.context.join(",")===J);if(Y)return Y.func;let Q=this.fnCache,X=this.fnCacheMaxSize,G=(...K)=>{return(q)=>{try{let _=`${J}:${q}`,W=Q.get(_);if(!W){if(Q.size>=X){let z=Q.keys().next().value;if(z)Q.delete(z)}W=Function(...Z,`
723
723
  'use strict';
724
724
  try {
725
725
  return ${q};
@@ -730,46 +730,46 @@ catch (e) {
730
730
  }
731
731
  throw e;
732
732
  }
733
- `),Q.set(U,_)}return _(...K)}catch{return}}};if(this.pool.length<this.maxPoolSize)this.pool.push({func:G,context:Z.slice()});return G}clear(){this.pool.length=0,this.fnCache.clear()}}class I6{metrics=new Map;budgets=new Map;violations=[];maxViolations=100;violationHandlers=[];enabled=!0;setEnabled($){this.enabled=$}isEnabled(){return this.enabled}setBudget($,Z){this.budgets.set($,{warnThreshold:0.8,action:"warn",...Z})}setBudgets($){for(let[Z,J]of Object.entries($))this.setBudget(Z,J)}removeBudget($){this.budgets.delete($)}getBudgets(){let $={};for(let[Z,J]of this.budgets.entries())$[Z]=J;return $}onViolation($){this.violationHandlers.push($)}offViolation($){let Z=this.violationHandlers.indexOf($);if(Z!==-1)this.violationHandlers.splice(Z,1)}time($,Z){if(!this.enabled)return Z();let J=performance.now(),Y=Z(),Q=performance.now()-J;return this.recordTime($,Q),this.checkBudget($,Q),Y}async timeAsync($,Z){if(!this.enabled)return Z();let J=performance.now(),Y=await Z(),Q=performance.now()-J;return this.recordTime($,Q),this.checkBudget($,Q),Y}checkBudget($,Z){let J=this.budgets.get($);if(!J)return;let Y=Z/J.maxTime*100,Q=J.warnThreshold!==void 0?Z>=J.maxTime*J.warnThreshold&&Z<J.maxTime:!1,X=Z>=J.maxTime;if(!Q&&!X)return;let G={label:$,actualTime:Z,budgetTime:J.maxTime,exceedancePercent:Y,timestamp:new Date,isWarning:Q};this.violations.push(G);while(this.violations.length>this.maxViolations)this.violations.shift();for(let q of this.violationHandlers)try{q(G)}catch{}let K=Q?`[Performance Warning] "${$}" took ${Z.toFixed(2)}ms (${Y.toFixed(1)}% of ${J.maxTime}ms budget)`:`[Performance Budget Exceeded] "${$}" took ${Z.toFixed(2)}ms (exceeded ${J.maxTime}ms budget by ${(Y-100).toFixed(1)}%)`;switch(J.action){case"log":console.log(K);break;case"warn":console.warn(K);break;case"error":console.error(K);break;case"throw":if(X)throw Error(K);else console.warn(K);break}}recordTime($,Z){let J=this.metrics.get($);if(J)J.count++,J.totalTime+=Z,J.maxTime=Math.max(J.maxTime,Z),J.minTime=Math.min(J.minTime,Z);else this.metrics.set($,{count:1,totalTime:Z,maxTime:Z,minTime:Z})}getStats($){if($){let J=this.metrics.get($);if(!J)return{};let Y=this.budgets.get($);return{count:J.count,avgTime:J.totalTime/J.count,totalTime:J.totalTime,maxTime:J.maxTime,minTime:J.minTime,budget:Y?.maxTime,budgetUtilization:Y?J.totalTime/J.count/Y.maxTime*100:void 0}}let Z={};for(let[J,Y]of this.metrics.entries()){let Q=this.budgets.get(J);Z[J]={count:Y.count,avgTime:Y.totalTime/Y.count,totalTime:Y.totalTime,maxTime:Y.maxTime,minTime:Y.minTime,budget:Q?.maxTime,budgetUtilization:Q?Y.totalTime/Y.count/Q.maxTime*100:void 0}}return Z}getViolations($){if($)return this.violations.filter((Z)=>Z.label===$);return[...this.violations]}getViolationStats(){let $={},Z=0,J=0;for(let Y of this.violations)if($[Y.label]=($[Y.label]||0)+1,Y.isWarning)Z++;else J++;return{total:this.violations.length,byLabel:$,warnings:Z,errors:J}}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 y2(){if(!f$)f$=new I6;return f$}var A1,b2=500,b_,f$=null,E6;var T1=P(()=>{A1=new Map;b_=new M6;E6=new Proxy({},{get($,Z){return y2()[Z]}})});function D6($,Z=""){let J=`${$}${Z}`,Y=0;for(let Q=0;Q<J.length;Q++){let X=J.charCodeAt(Q);Y=(Y<<5)-Y+X,Y=Y&Y}return`stx-${Math.abs(Y).toString(36)}`}function k6($,Z,J={}){let{prefix:Y="",preserveHost:Q=!0,scopeKeyframes:X=!0,scopeCustomProperties:G=!1}=J;if(!$.trim())return"";let K=g$($),q=[],U=new Map;if(X)for(let _ of K){let W=_.selector.match(/@keyframes\s+([a-z_-][a-z0-9_-]*)/i);if(W){let z=W[1],j=`${Z}_${z}`;U.set(z,j)}}for(let _ of K){let W=S6(_,Z,Y,Q,U,G);q.push(W)}return q.join(`
733
+ `),Q.set(_,W)}return W(...K)}catch{return}}};if(this.pool.length<this.maxPoolSize)this.pool.push({func:G,context:Z.slice()});return G}clear(){this.pool.length=0,this.fnCache.clear()}}class P7{metrics=new Map;budgets=new Map;violations=[];maxViolations=100;violationHandlers=[];enabled=!0;setEnabled($){this.enabled=$}isEnabled(){return this.enabled}setBudget($,Z){this.budgets.set($,{warnThreshold:0.8,action:"warn",...Z})}setBudgets($){for(let[Z,J]of Object.entries($))this.setBudget(Z,J)}removeBudget($){this.budgets.delete($)}getBudgets(){let $={};for(let[Z,J]of this.budgets.entries())$[Z]=J;return $}onViolation($){this.violationHandlers.push($)}offViolation($){let Z=this.violationHandlers.indexOf($);if(Z!==-1)this.violationHandlers.splice(Z,1)}time($,Z){if(!this.enabled)return Z();let J=performance.now(),Y=Z(),Q=performance.now()-J;return this.recordTime($,Q),this.checkBudget($,Q),Y}async timeAsync($,Z){if(!this.enabled)return Z();let J=performance.now(),Y=await Z(),Q=performance.now()-J;return this.recordTime($,Q),this.checkBudget($,Q),Y}checkBudget($,Z){let J=this.budgets.get($);if(!J)return;let Y=Z/J.maxTime*100,Q=J.warnThreshold!==void 0?Z>=J.maxTime*J.warnThreshold&&Z<J.maxTime:!1,X=Z>=J.maxTime;if(!Q&&!X)return;let G={label:$,actualTime:Z,budgetTime:J.maxTime,exceedancePercent:Y,timestamp:new Date,isWarning:Q};this.violations.push(G);while(this.violations.length>this.maxViolations)this.violations.shift();for(let q of this.violationHandlers)try{q(G)}catch{}let K=Q?`[Performance Warning] "${$}" took ${Z.toFixed(2)}ms (${Y.toFixed(1)}% of ${J.maxTime}ms budget)`:`[Performance Budget Exceeded] "${$}" took ${Z.toFixed(2)}ms (exceeded ${J.maxTime}ms budget by ${(Y-100).toFixed(1)}%)`;switch(J.action){case"log":console.log(K);break;case"warn":console.warn(K);break;case"error":console.error(K);break;case"throw":if(X)throw Error(K);else console.warn(K);break}}recordTime($,Z){let J=this.metrics.get($);if(J)J.count++,J.totalTime+=Z,J.maxTime=Math.max(J.maxTime,Z),J.minTime=Math.min(J.minTime,Z);else this.metrics.set($,{count:1,totalTime:Z,maxTime:Z,minTime:Z})}getStats($){if($){let J=this.metrics.get($);if(!J)return{};let Y=this.budgets.get($);return{count:J.count,avgTime:J.totalTime/J.count,totalTime:J.totalTime,maxTime:J.maxTime,minTime:J.minTime,budget:Y?.maxTime,budgetUtilization:Y?J.totalTime/J.count/Y.maxTime*100:void 0}}let Z={};for(let[J,Y]of this.metrics.entries()){let Q=this.budgets.get(J);Z[J]={count:Y.count,avgTime:Y.totalTime/Y.count,totalTime:Y.totalTime,maxTime:Y.maxTime,minTime:Y.minTime,budget:Q?.maxTime,budgetUtilization:Q?Y.totalTime/Y.count/Q.maxTime*100:void 0}}return Z}getViolations($){if($)return this.violations.filter((Z)=>Z.label===$);return[...this.violations]}getViolationStats(){let $={},Z=0,J=0;for(let Y of this.violations)if($[Y.label]=($[Y.label]||0)+1,Y.isWarning)Z++;else J++;return{total:this.violations.length,byLabel:$,warnings:Z,errors:J}}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 iY(){if(!u9)u9=new P7;return u9}var A1,cY=500,rW,u9=null,v7;var M1=C(()=>{A1=new Map;rW=new C7;v7=new Proxy({},{get($,Z){return iY()[Z]}})});function x7($,Z=""){let J=`${$}${Z}`,Y=0;for(let Q=0;Q<J.length;Q++){let X=J.charCodeAt(Q);Y=(Y<<5)-Y+X,Y=Y&Y}return`stx-${Math.abs(Y).toString(36)}`}function f7($,Z,J={}){let{prefix:Y="",preserveHost:Q=!0,scopeKeyframes:X=!0,scopeCustomProperties:G=!1}=J;if(!$.trim())return"";let K=p9($),q=[],_=new Map;if(X)for(let W of K){let z=W.selector.match(/@keyframes\s+([a-z_-][a-z0-9_-]*)/i);if(z){let U=z[1],j=`${Z}_${U}`;_.set(U,j)}}for(let W of K){let z=g7(W,Z,Y,Q,_,G);q.push(z)}return q.join(`
734
734
 
735
- `)}function g$($){let Z=[],J=$.replace(/\/\*[\s\S]*?\*\//g,""),Y=0,Q="",X=!1,G="";for(let K=0;K<J.length;K++){let q=J[K];if(q==="@"&&Y===0)X=!0;if(q==="{")Y++;else if(q==="}"){if(Y--,Y===0){if(X){G+=q;let U=G.match(/@([a-z-]+)\s*([^{]*)\{([\s\S]*)\}/i);if(U){let[,_,W,z]=U;if(_==="keyframes")Z.push({selector:`@keyframes ${W.trim()}`,declarations:z.trim()});else if(_==="media"||_==="supports"||_==="container"){let j=g$(z);Z.push({selector:`@${_} ${W.trim()}`,declarations:j.map((B)=>`${B.selector} { ${B.declarations} }`).join(`
736
- `)})}else Z.push({selector:`@${_} ${W.trim()}`,declarations:z.trim()})}G="",X=!1}else if(Q.trim()){Q+=q;let U=Q.match(/([^{]+)\{([^}]*)\}/);if(U)Z.push({selector:U[1].trim(),declarations:U[2].trim()});Q=""}continue}}if(X)G+=q;else Q+=q}return Z}function S6($,Z,J,Y,Q,X){let{selector:G,declarations:K}=$;if(G.startsWith("@")){if(G.startsWith("@keyframes")){let _=G.replace("@keyframes ","").trim();return`@keyframes ${Q.get(_)||_} { ${K} }`}if(G.startsWith("@media")||G.startsWith("@supports")||G.startsWith("@container")){let W=g$(`x { ${K} }`.replace(/x \{ /,"").replace(/ \}$/,"")).map((z)=>S6(z,Z,J,Y,Q,X)).join(`
735
+ `)}function p9($){let Z=[],J=$.replace(/\/\*[\s\S]*?\*\//g,""),Y=0,Q="",X=!1,G="";for(let K=0;K<J.length;K++){let q=J[K];if(q==="@"&&Y===0)X=!0;if(q==="{")Y++;else if(q==="}"){if(Y--,Y===0){if(X){G+=q;let _=G.match(/@([a-z-]+)\s*([^{]*)\{([\s\S]*)\}/i);if(_){let[,W,z,U]=_;if(W==="keyframes")Z.push({selector:`@keyframes ${z.trim()}`,declarations:U.trim()});else if(W==="media"||W==="supports"||W==="container"){let j=p9(U);Z.push({selector:`@${W} ${z.trim()}`,declarations:j.map((B)=>`${B.selector} { ${B.declarations} }`).join(`
736
+ `)})}else Z.push({selector:`@${W} ${z.trim()}`,declarations:U.trim()})}G="",X=!1}else if(Q.trim()){Q+=q;let _=Q.match(/([^{]+)\{([^}]*)\}/);if(_)Z.push({selector:_[1].trim(),declarations:_[2].trim()});Q=""}continue}}if(X)G+=q;else Q+=q}return Z}function g7($,Z,J,Y,Q,X){let{selector:G,declarations:K}=$;if(G.startsWith("@")){if(G.startsWith("@keyframes")){let W=G.replace("@keyframes ","").trim();return`@keyframes ${Q.get(W)||W} { ${K} }`}if(G.startsWith("@media")||G.startsWith("@supports")||G.startsWith("@container")){let z=p9(`x { ${K} }`.replace(/x \{ /,"").replace(/ \}$/,"")).map((U)=>g7(U,Z,J,Y,Q,X)).join(`
737
737
  `);return`${G} {
738
- ${W}
739
- }`}return`${G} { ${K} }`}let q=C2(G,Z,J,Y),U=K;for(let[_,W]of Q)U=U.replace(new RegExp(`\\b${_}\\b`,"g"),W);if(X)U=U.replace(/--([a-z-]+)/gi,`--${Z}-$1`);return`${q} { ${U} }`}function C2($,Z,J,Y){let Q=$.split(",").map((G)=>G.trim()),X=[];for(let G of Q){if(G.startsWith(":host")){if(Y)X.push(G);else{let q=G.replace(/:host(\([^)]*\))?/,`.${Z}$1`);X.push(q)}continue}if(G.includes("::slotted")){X.push(G);continue}if(G===":root"){X.push(`:root .${Z}`);continue}let K=J?`${J} .${Z}`:`.${Z}`;X.push(`${K} ${G}`)}return X.join(", ")}function F5($,Z){if(!/<style\s+[^>]*\bscoped\b/i.test($))return{html:$,hasScoped:!1};let J=D6(Z),Y=`data-v-${J}`,Q=$,X=/<style\s+([^>]*\bscoped\b[^>]*)>([\s\S]*?)<\/style>/gi,G=!1;if(Q=Q.replace(X,(K,q,U)=>{G=!0;let _=P2(U,Y),W=q.replace(/\bscoped\b/gi,"").trim(),z=W?` ${W}`:"";return`<style data-stx-scoped="${J}"${z}>${_}</style>`}),!G)return{html:$,hasScoped:!1};return Q=v2(Q,Y),{html:Q,hasScoped:!0}}function P2($,Z){return k6($,"__SCOPE_PLACEHOLDER__",{preserveHost:!1}).replace(/\.(__SCOPE_PLACEHOLDER__) /g,`[${Z}] `).replace(/\.(__SCOPE_PLACEHOLDER__)/g,`[${Z}]`)}function v2($,Z){let J=new Set(["script","style","template","html","head","body","meta","link","title","base","!doctype","!DOCTYPE"]);return $.replace(/<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*)?\/?>/g,(Y,Q,X)=>{if(J.has(Q.toLowerCase()))return Y;if(Y.includes(Z))return Y;if(Q.toLowerCase()==="style"||Q.toLowerCase()==="script")return Y;if(X)return Y.replace(`<${Q}${X}`,`<${Q} ${Z}${X}`);if(Y.endsWith("/>"))return`<${Q} ${Z} />`;return`<${Q} ${Z}>`})}var h$=()=>{};var b6=()=>{};function I0($,Z,J,Y=0){let Q=0,X=Y,G=null,K=0,q=!1;while(X<$.length){let U=$[X];if(G&&q){q=!1,X++;continue}if(G&&U==="\\"){q=!0,X++;continue}if(q=!1,(U==='"'||U==="'"||U==="`")&&!G){G=U,X++;continue}if(U===G&&G!=="`"){G=null,X++;continue}if(G==="`"&&U==="$"&&$[X+1]==="{"){K++,X+=2;continue}if(K>0&&U==="}"){K--,X++;continue}if(U==="`"&&G==="`"&&K===0){G=null,X++;continue}if(G){X++;continue}if(U===Z)Q++;else if(U===J){if(Q--,Q===0)return X}X++}return-1}var d$={};r(d$,{useTitle:()=>m2,useSeoMeta:()=>N5,usePageTitle:()=>m2,useHead:()=>U1,resetHead:()=>g2,renderHtmlAttrs:()=>p2,renderHead:()=>u2,renderBodyAttrs:()=>l2,processTitleDirective:()=>n2,processMetaDirective:()=>o2,processHeadDirective:()=>i2,getPageMeta:()=>f2,getHead:()=>i1,definePageMeta:()=>d2,applyHead:()=>c2});function i1(){return s0}function f2(){return V5}function g2(){s0={},x2.length=0,V5={}}function U1($){s0=h2(s0,$)}function h2($,Z){return{title:Z.title??$.title,titleTemplate:Z.titleTemplate??$.titleTemplate,base:Z.base??$.base,meta:[...$.meta||[],...Z.meta||[]],link:[...$.link||[],...Z.link||[]],script:[...$.script||[],...Z.script||[]],style:[...$.style||[],...Z.style||[]],htmlAttrs:{...$.htmlAttrs,...Z.htmlAttrs},bodyAttrs:{...$.bodyAttrs,...Z.bodyAttrs}}}function N5($){let Z=[];if($.description)Z.push({name:"description",content:$.description});if($.keywords){let q=Array.isArray($.keywords)?$.keywords.join(", "):$.keywords;Z.push({name:"keywords",content:q})}if($.author)Z.push({name:"author",content:$.author});if($.robots)Z.push({name:"robots",content:$.robots});let J=$.ogTitle??$.title,Y=$.ogDescription??$.description;if(J)Z.push({property:"og:title",content:J});if(Y)Z.push({property:"og:description",content:Y});if($.ogImage)Z.push({property:"og:image",content:$.ogImage});if($.ogUrl)Z.push({property:"og:url",content:$.ogUrl});if($.ogType)Z.push({property:"og:type",content:$.ogType});if($.ogSiteName)Z.push({property:"og:site_name",content:$.ogSiteName});if($.ogLocale)Z.push({property:"og:locale",content:$.ogLocale});let Q=$.twitterTitle??$.title,X=$.twitterDescription??$.description,G=$.twitterImage??$.ogImage;if($.twitterCard)Z.push({name:"twitter:card",content:$.twitterCard});if(Q)Z.push({name:"twitter:title",content:Q});if(X)Z.push({name:"twitter:description",content:X});if(G)Z.push({name:"twitter:image",content:G});if($.twitterSite)Z.push({name:"twitter:site",content:$.twitterSite});if($.twitterCreator)Z.push({name:"twitter:creator",content:$.twitterCreator});if($.articleAuthor)Z.push({property:"article:author",content:$.articleAuthor});if($.articlePublishedTime)Z.push({property:"article:published_time",content:$.articlePublishedTime});if($.articleModifiedTime)Z.push({property:"article:modified_time",content:$.articleModifiedTime});if($.articleSection)Z.push({property:"article:section",content:$.articleSection});if($.articleTags)for(let q of $.articleTags)Z.push({property:"article:tag",content:q});let K=[];if($.canonical)K.push({rel:"canonical",href:$.canonical});U1({title:$.title,titleTemplate:$.titleTemplate,meta:Z,link:K})}function d2($){if(V5={...V5,...$},$.title||$.description)N5({title:$.title,description:$.description})}function m2($){let Z=typeof $==="function"?$():$;U1({title:Z})}function u2($=s0){let Z=[];if($.title){let J=$.title;if($.titleTemplate)J=typeof $.titleTemplate==="function"?$.titleTemplate(J):$.titleTemplate.replace("%s",J);Z.push(`<title>${_1(J)}</title>`)}if($.base){let J=Object.entries($.base).map(([Y,Q])=>`${Y}="${_1(Q)}"`).join(" ");Z.push(`<base ${J}>`)}for(let J of $.meta||[]){let Y=Object.entries(J).filter(([Q,X])=>X!==void 0).map(([Q,X])=>{return`${Q==="httpEquiv"?"http-equiv":Q}="${_1(String(X))}"`}).join(" ");Z.push(`<meta ${Y}>`)}for(let J of $.link||[]){let Y=Object.entries(J).filter(([Q,X])=>X!==void 0).map(([Q,X])=>`${Q}="${_1(String(X))}"`).join(" ");Z.push(`<link ${Y}>`)}for(let J of $.script||[]){let{content:Y,...Q}=J,X=Object.entries(Q).filter(([G,K])=>K!==void 0).map(([G,K])=>{if(typeof K==="boolean")return K?G:"";return`${G}="${_1(String(K))}"`}).filter(Boolean).join(" ");if(Y)Z.push(`<script ${X}>${Y}</script>`);else Z.push(`<script ${X}></script>`)}for(let J of $.style||[]){let Y=J.type?` type="${J.type}"`:"";Z.push(`<style${Y}>${J.content}</style>`)}return Z.join(`
740
- `)}function p2($=s0){if(!$.htmlAttrs)return"";return Object.entries($.htmlAttrs).map(([Z,J])=>`${Z}="${_1(J)}"`).join(" ")}function l2($=s0){if(!$.bodyAttrs)return"";return Object.entries($.bodyAttrs).map(([Z,J])=>`${Z}="${_1(J)}"`).join(" ")}function _1($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function c2($=s0){if(typeof document>"u")return;if($.title){let Z=$.title;if($.titleTemplate)Z=typeof $.titleTemplate==="function"?$.titleTemplate(Z):$.titleTemplate.replace("%s",Z);document.title=Z}for(let Z of $.meta||[]){let J=Z.name?`meta[name="${Z.name}"]`:Z.property?`meta[property="${Z.property}"]`:null;if(J){let Y=document.querySelector(J);if(!Y){if(Y=document.createElement("meta"),Z.name)Y.setAttribute("name",Z.name);if(Z.property)Y.setAttribute("property",Z.property);document.head.appendChild(Y)}Y.setAttribute("content",Z.content)}}for(let Z of $.link||[]){let J=`link[rel="${Z.rel}"]${Z.href?`[href="${Z.href}"]`:""}`,Y=document.querySelector(J);if(!Y)Y=document.createElement("link"),document.head.appendChild(Y);for(let[Q,X]of Object.entries(Z))if(X!==void 0)Y.setAttribute(Q,String(X))}if($.htmlAttrs)for(let[Z,J]of Object.entries($.htmlAttrs))document.documentElement.setAttribute(Z,J);if($.bodyAttrs)for(let[Z,J]of Object.entries($.bodyAttrs))document.body.setAttribute(Z,J)}function i2($){let Z="";return{content:$.replace(/@head\s*([\s\S]*?)@endhead/g,(Y,Q)=>{return Z+=Q.trim()+`
741
- `,""}),headContent:Z.trim()}}function n2($,Z){return $.replace(/@title\s*\(\s*(?:(['"`])(.+?)\1|([^)]+))\s*\)/g,(J,Y,Q,X)=>{let G=Y?Q:Z[(X||"").trim()]??X;return U1({title:G}),""})}function o2($,Z){return $.replace(/@meta\s*\(\s*(['"`])(.+?)\1\s*,\s*(?:(['"`])(.+?)\3|([^)]+))\s*\)/g,(J,Y,Q,X,G,K)=>{let q=X?G:K,U=X?q:Z[(q||"").trim()]??q,W=Q.includes(":")?{property:Q,content:U}:{name:Q,content:U};return U1({meta:[W]}),""})}var s0,x2,V5;var n1=P(()=>{s0={},x2=[],V5={}});var R5={};r(R5,{stripTypeScript:()=>v6,hasVariables:()=>m6,extractVariables:()=>x6,extractScriptFromTemplate:()=>d6,convertToCommonJS:()=>u$});import o1 from"path";function s2($){let Z=[],J=0,Y=$.split(`
742
- `);for(let Q of Y){let X=null,G=!1;for(let K=0;K<Q.length;K++){let q=Q[K];if(G){G=!1;continue}if(q==="\\"){G=!0;continue}if(X){if(q===X)X=null;continue}if(q==="'"||q==='"'||q==="`"){X=q;continue}if(q==="/"&&K+1<Q.length&&Q[K+1]==="/")break;if(q==="{")J++;else if(q==="}")J--}if(J===0){let K=Q.match(/(?:const|let|var)\s+(\w+)\s*=/);if(K)Z.push(K[1]);else{let q=Q.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(q){let _=q[1].slice(1,-1).split(",").map((W)=>{let z=W.split(":");return(z.length>1?z[1]:z[0]).trim()}).filter((W)=>/^\w+$/.test(W));Z.push(..._)}}}}return[...new Set(Z)]}function v6($){let Z=$;Z=Z.replace(/^\s*import\s+.*?from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),Z=Z.replace(/^\s*import\s+['"][^'"]+['"]\s*;?\s*$/gm,""),Z=Z.replace(/^\s*interface\s+\w+\s*\{[\s\S]*?\n\}\s*$/gm,""),Z=Z.replace(/^\s*type\s+\w+\s*=[\s\S]*?(?=\n(?:const|let|var|function|export|interface|type|$))/gm,""),Z=Z.replace(/^(\s*(?:export\s+)?(?:const|let|var)\s+)(\w+|\{[^}]+\}|\[[^\]]+\])\s*:\s*[^=]+(\s*=)/gm,"$1$2$3");function J(Y){if(!Y.includes(":"))return Y;let Q=[],X="",G=0,K=0,q=null;for(let U=0;U<Y.length;U++){let _=Y[U];if(q){if(X+=_,_===q)q=null;continue}if(_==='"'||_==="'"||_==="`"){q=_,X+=_;continue}if(_==="<")G++;else if(_===">"&&G>0)G--;else if(_==="(")K++;else if(_===")")K--;if(_===","&&G===0&&K===0){Q.push(X),X="";continue}X+=_}if(X)Q.push(X);return Q.map((U)=>{let _=U.trim(),W=_.startsWith("..."),z=W?_.slice(3):_,j=-1,B=0;for(let N=0;N<z.length;N++)if(z[N]==="<")B++;else if(z[N]===">")B--;else if(z[N]===":"&&B===0){j=N;break}if(j===-1)return U;let F=z.substring(0,j).trim().replace(/\?$/,""),L=z.substring(j+1),H=-1,V=0;for(let N=0;N<L.length;N++)if(L[N]==="<")V++;else if(L[N]===">")V--;else if(L[N]==="="&&V===0){H=N;break}let R=W?"...":"";if(H!==-1)return`${R}${F} = ${L.substring(H+1).trim()}`;return`${R}${F}`}).join(", ")}Z=Z.replace(/\b(function\s+\w*\s*)\(([^)]*)\)/g,(Y,Q,X)=>{if(!X.includes(":"))return Y;return`${Q}(${J(X)})`});{let Y=/\b(function\s+\w*\s*)\(/g,Q,X=[];while((Q=Y.exec(Z))!==null){let G=Q.index+Q[0].length-1,K=1,q=G+1,U=0,_=null;while(q<Z.length&&K>0){let j=Z[q];if(_){if(j===_)_=null;q++;continue}if(j==='"'||j==="'"||j==="`"){_=j,q++;continue}if(j==="<")U++;else if(j===">"&&U>0)U--;else if(U===0){if(j==="(")K++;else if(j===")")K--}if(K>0)q++}if(K!==0)continue;let W=Z.substring(G+1,q);if(!W.includes(":"))continue;let z=J(W);X.push({start:G+1,end:q,replacement:z})}for(let G=X.length-1;G>=0;G--){let{start:K,end:q,replacement:U}=X[G];Z=Z.substring(0,K)+U+Z.substring(q)}}return Z=Z.replace(/\(([^)]*)\)\s*(?::\s*[^=]+)?\s*=>/g,(Y,Q)=>{if(!Q.includes(":"))return Y;if(Q.includes("{")||Q.includes("}"))return Y;return`(${Q.split(",").map((G)=>{let[K,...q]=G.split("="),U=K.split(":")[0].trim();if(q.length>0)return`${U} = ${q.join("=").trim()}`;return U}).join(", ")}) =>`}),Z=Z.replace(/(\))\s*:\s*([A-Z]\w*|void|string|number|boolean|any|unknown|never|null|undefined)(?:<[^>]+>)?(?:\s*\|\s*(?:[A-Z]\w*|void|string|number|boolean|any|unknown|never|null|undefined))*\s*(\{)/g,"$1$3"),Z=Z.replace(/(\b(?:function|class|interface|type|extends|implements)\s+\w+)\s*<[^<>()]*>/g,"$1"),Z=Z.replace(/(\b(?:defineProps|withDefaults|Array|Promise|Map|Set|Record|Partial|Required|Readonly|Pick|Omit|Exclude|Extract))\s*<[^<>()]*>/g,"$1"),Z=Z.replace(/(\w+)\s*<[A-Z][^<>()]*>\s*(?=\()/g,"$1"),Z=Z.replace(/\s+as\s+(?:const|[A-Za-z]\w*(?:\[\])?(?:\s*\|\s*\w+(?:\[\])?)*)/g,""),Z=Z.replace(/\s+satisfies\s+\w+(?:<[^>]*>)?/g,""),Z=Z.replace(/(\w|\)|\])\s*!(?!=)/g,"$1"),Z=Z.replace(/^\s*(?:export\s+)?(?:const\s+)?enum\s+\w+\s*\{[^}]*\}\s*$/gm,""),Z=Z.replace(/(?<=[\s=,(])<[A-Z]\w*(?:\[\])?>/g,""),Z=Z.replace(/\n\s*\n\s*\n/g,`
743
-
744
- `),Z}async function x6($,Z,J){if(!$.trim())return;let Y;try{let C=new Bun.Transpiler({loader:"ts",target:"browser"}),v=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");v=v.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),Y=C.transformSync(v)}catch{Y=v6($)}let Q={exports:{}},X=Q.exports,G=process.cwd(),K={},q=[...Y.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((C)=>C[1]).filter((C)=>!C.startsWith("node:")&&!C.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(C));for(let C of q)try{let v=o1.resolve(G,"node_modules",C),x=o1.join(v,"package.json"),l=JSON.parse(J0("fs").readFileSync(x,"utf8")),g=l.main||"index.js";if(l.exports){let m=typeof l.exports==="string"?l.exports:l.exports["."];if(typeof m==="string")g=m;else if(m?.bun)g=m.bun;else if(m?.import)g=m.import;else if(m?.default)g=m.default}K[C]=await import(o1.resolve(v,g))}catch{}let U=(C)=>{if(K[C])return K[C];return J0(C)},_=Z.props||{},W=Object.assign((C)=>{if(!C)return _;let v={};for(let[x,l]of Object.entries(C)){let g=_[x];if(g!==void 0)v[x]=g;else if(typeof l==="function")v[x]=l();else v[x]=l}return v},_),z=()=>_,j=(C,v)=>{let x={...C};for(let[l,g]of Object.entries(v))if(x[l]===void 0)if(typeof g==="function")x[l]=g();else x[l]=g;return x},B=(C)=>{let v=()=>C;return v.set=(x)=>{},v.update=(x)=>{},v},O=(C)=>{let v,x=!1;return()=>{if(!x)try{v=C(),x=!0}catch{v=void 0}return v}},F=(C)=>{},L=(C)=>C(),H=(C)=>{},V=(C)=>{},R=(C)=>{},N=()=>({params:{},query:{},path:"",name:"",fullPath:"",hash:"",matched:[]}),A=()=>({push:(C)=>{},replace:(C)=>{},back:()=>{},forward:()=>{},go:(C)=>{}}),w=(C)=>{U1(C);let v=Z.__stx_runtime_head||{},x=C||{};Z.__stx_runtime_head={...v,...x.title&&{title:x.title},meta:[...v.meta||[],...x.meta||[]],link:[...v.link||[],...x.link||[]],script:[...v.script||[],...x.script||[]],htmlAttrs:{...v.htmlAttrs||{},...x.htmlAttrs||{}},bodyAttrs:{...v.bodyAttrs||{},...x.bodyAttrs||{}}}},M=(C)=>{N5(C);let v=i1();Z.__stx_runtime_head={...Z.__stx_runtime_head||{},...v.title&&{title:v.title},meta:v.meta?[...v.meta]:[]}},E=(C)=>({value:C}),T=(C)=>C,I=(C)=>({value:typeof C==="function"?C():C}),D=(C,v)=>{},y=(C)=>{},b=(C)=>{},S=(C)=>C?C():Promise.resolve(),k=(C)=>(v,...x)=>{},f=(C)=>{},h=(C,v)=>{},p=(C,v)=>v,z0=()=>({value:"light"}),M0=()=>({value:!1}),U0={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:{}},b0=new Proxy(U0,{get(C,v){if(v in C)return C[v];return},set(C,v,x){return C[v]=x,!0}}),P0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},L0=console;try{let C=u$(Y,J),v=new Set(Object.keys(_)),x=Object.keys(Z).filter((t)=>!v.has(t)&&t!=="props"),l=x.map((t)=>Z[t]),g=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"]),m=[],_0=[];for(let[t,I$]of Object.entries(_)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(t))continue;if(g.has(t))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${t}\\b`).test(C))continue;m.push(t),_0.push(I$)}let G0=s2(C).map((t)=>`module.exports.${t} = typeof ${t} !== 'undefined' ? ${t} : module.exports.${t};`).join(`
745
- `),F0=Z.params??{},v0=[],x0=[];for(let t=0;t<x.length;t++){if(x[t]==="params")continue;v0.push(x[t]),x0.push(l[t])}let M$=await Function("module","exports","require","props","$props","defineProps","withDefaults","state","derived","effect","batch","onMount","onDestroy","definePageMeta","useRoute","useRouter","useHead","useSeoMeta","ref","reactive","computed","watch","onMounted","onUnmounted","nextTick","defineEmits","defineExpose","provide","inject","useColorMode","useDark","window","document","console","confirm","alert","fetch","params",...m,...v0,`return (async () => {
746
- ${C}
747
- ${G0}
738
+ ${z}
739
+ }`}return`${G} { ${K} }`}let q=nY(G,Z,J,Y),_=K;for(let[W,z]of Q)_=_.replace(new RegExp(`\\b${W}\\b`,"g"),z);if(X)_=_.replace(/--([a-z-]+)/gi,`--${Z}-$1`);return`${q} { ${_} }`}function nY($,Z,J,Y){let Q=$.split(",").map((G)=>G.trim()),X=[];for(let G of Q){if(G.startsWith(":host")){if(Y)X.push(G);else{let q=G.replace(/:host(\([^)]*\))?/,`.${Z}$1`);X.push(q)}continue}if(G.includes("::slotted")){X.push(G);continue}if(G===":root"){X.push(`:root .${Z}`);continue}let K=J?`${J} .${Z}`:`.${Z}`;X.push(`${K} ${G}`)}return X.join(", ")}function N5($,Z){if(!/<style\s+[^>]*\bscoped\b/i.test($))return{html:$,hasScoped:!1};let J=x7(Z),Y=`data-v-${J}`,Q=$,X=/<style\s+([^>]*\bscoped\b[^>]*)>([\s\S]*?)<\/style>/gi,G=!1;if(Q=Q.replace(X,(K,q,_)=>{G=!0;let W=oY(_,Y),z=q.replace(/\bscoped\b/gi,"").trim(),U=z?` ${z}`:"";return`<style data-stx-scoped="${J}"${U}>${W}</style>`}),!G)return{html:$,hasScoped:!1};return Q=sY(Q,Y),{html:Q,hasScoped:!0}}function oY($,Z){return f7($,"__SCOPE_PLACEHOLDER__",{preserveHost:!1}).replace(/\.(__SCOPE_PLACEHOLDER__) /g,`[${Z}] `).replace(/\.(__SCOPE_PLACEHOLDER__)/g,`[${Z}]`)}function sY($,Z){let J=new Set(["script","style","template","html","head","body","meta","link","title","base","!doctype","!DOCTYPE"]);return $.replace(/<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*)?\/?>/g,(Y,Q,X)=>{if(J.has(Q.toLowerCase()))return Y;if(Y.includes(Z))return Y;if(Q.toLowerCase()==="style"||Q.toLowerCase()==="script")return Y;if(X)return Y.replace(`<${Q}${X}`,`<${Q} ${Z}${X}`);if(Y.endsWith("/>"))return`<${Q} ${Z} />`;return`<${Q} ${Z}>`})}var l9=()=>{};var h7=()=>{};function I0($,Z,J,Y=0){let Q=0,X=Y,G=null,K=0,q=!1;while(X<$.length){let _=$[X];if(G&&q){q=!1,X++;continue}if(G&&_==="\\"){q=!0,X++;continue}if(q=!1,(_==='"'||_==="'"||_==="`")&&!G){G=_,X++;continue}if(_===G&&G!=="`"){G=null,X++;continue}if(G==="`"&&_==="$"&&$[X+1]==="{"){K++,X+=2;continue}if(K>0&&_==="}"){K--,X++;continue}if(_==="`"&&G==="`"&&K===0){G=null,X++;continue}if(G){X++;continue}if(_===Z)Q++;else if(_===J){if(Q--,Q===0)return X}X++}return-1}var c9={};r(c9,{useTitle:()=>ZJ,useSeoMeta:()=>A5,usePageTitle:()=>ZJ,useHead:()=>_1,resetHead:()=>tY,renderHtmlAttrs:()=>JJ,renderHead:()=>YJ,renderBodyAttrs:()=>XJ,processTitleDirective:()=>KJ,processMetaDirective:()=>qJ,processHeadDirective:()=>GJ,getPageMeta:()=>aY,getHead:()=>s1,definePageMeta:()=>$J,applyHead:()=>QJ});function s1(){return s0}function aY(){return R5}function tY(){s0={},rY.length=0,R5={}}function _1($){s0=eY(s0,$)}function eY($,Z){return{title:Z.title??$.title,titleTemplate:Z.titleTemplate??$.titleTemplate,base:Z.base??$.base,meta:[...$.meta||[],...Z.meta||[]],link:[...$.link||[],...Z.link||[]],script:[...$.script||[],...Z.script||[]],style:[...$.style||[],...Z.style||[]],htmlAttrs:{...$.htmlAttrs,...Z.htmlAttrs},bodyAttrs:{...$.bodyAttrs,...Z.bodyAttrs}}}function A5($){let Z=[];if($.description)Z.push({name:"description",content:$.description});if($.keywords){let q=Array.isArray($.keywords)?$.keywords.join(", "):$.keywords;Z.push({name:"keywords",content:q})}if($.author)Z.push({name:"author",content:$.author});if($.robots)Z.push({name:"robots",content:$.robots});let J=$.ogTitle??$.title,Y=$.ogDescription??$.description;if(J)Z.push({property:"og:title",content:J});if(Y)Z.push({property:"og:description",content:Y});if($.ogImage)Z.push({property:"og:image",content:$.ogImage});if($.ogUrl)Z.push({property:"og:url",content:$.ogUrl});if($.ogType)Z.push({property:"og:type",content:$.ogType});if($.ogSiteName)Z.push({property:"og:site_name",content:$.ogSiteName});if($.ogLocale)Z.push({property:"og:locale",content:$.ogLocale});let Q=$.twitterTitle??$.title,X=$.twitterDescription??$.description,G=$.twitterImage??$.ogImage;if($.twitterCard)Z.push({name:"twitter:card",content:$.twitterCard});if(Q)Z.push({name:"twitter:title",content:Q});if(X)Z.push({name:"twitter:description",content:X});if(G)Z.push({name:"twitter:image",content:G});if($.twitterSite)Z.push({name:"twitter:site",content:$.twitterSite});if($.twitterCreator)Z.push({name:"twitter:creator",content:$.twitterCreator});if($.articleAuthor)Z.push({property:"article:author",content:$.articleAuthor});if($.articlePublishedTime)Z.push({property:"article:published_time",content:$.articlePublishedTime});if($.articleModifiedTime)Z.push({property:"article:modified_time",content:$.articleModifiedTime});if($.articleSection)Z.push({property:"article:section",content:$.articleSection});if($.articleTags)for(let q of $.articleTags)Z.push({property:"article:tag",content:q});let K=[];if($.canonical)K.push({rel:"canonical",href:$.canonical});_1({title:$.title,titleTemplate:$.titleTemplate,meta:Z,link:K})}function $J($){if(R5={...R5,...$},$.title||$.description)A5({title:$.title,description:$.description})}function ZJ($){let Z=typeof $==="function"?$():$;_1({title:Z})}function YJ($=s0){let Z=[];if($.title){let J=$.title;if($.titleTemplate)J=typeof $.titleTemplate==="function"?$.titleTemplate(J):$.titleTemplate.replace("%s",J);Z.push(`<title>${W1(J)}</title>`)}if($.base){let J=Object.entries($.base).map(([Y,Q])=>`${Y}="${W1(Q)}"`).join(" ");Z.push(`<base ${J}>`)}for(let J of $.meta||[]){let Y=Object.entries(J).filter(([Q,X])=>X!==void 0).map(([Q,X])=>{return`${Q==="httpEquiv"?"http-equiv":Q}="${W1(String(X))}"`}).join(" ");Z.push(`<meta ${Y}>`)}for(let J of $.link||[]){let Y=Object.entries(J).filter(([Q,X])=>X!==void 0).map(([Q,X])=>`${Q}="${W1(String(X))}"`).join(" ");Z.push(`<link ${Y}>`)}for(let J of $.script||[]){let{content:Y,...Q}=J,X=Object.entries(Q).filter(([G,K])=>K!==void 0).map(([G,K])=>{if(typeof K==="boolean")return K?G:"";return`${G}="${W1(String(K))}"`}).filter(Boolean).join(" ");if(Y)Z.push(`<script ${X}>${Y}</script>`);else Z.push(`<script ${X}></script>`)}for(let J of $.style||[]){let Y=J.type?` type="${J.type}"`:"";Z.push(`<style${Y}>${J.content}</style>`)}return Z.join(`
740
+ `)}function JJ($=s0){if(!$.htmlAttrs)return"";return Object.entries($.htmlAttrs).map(([Z,J])=>`${Z}="${W1(J)}"`).join(" ")}function XJ($=s0){if(!$.bodyAttrs)return"";return Object.entries($.bodyAttrs).map(([Z,J])=>`${Z}="${W1(J)}"`).join(" ")}function W1($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function QJ($=s0){if(typeof document>"u")return;if($.title){let Z=$.title;if($.titleTemplate)Z=typeof $.titleTemplate==="function"?$.titleTemplate(Z):$.titleTemplate.replace("%s",Z);document.title=Z}for(let Z of $.meta||[]){let J=Z.name?`meta[name="${Z.name}"]`:Z.property?`meta[property="${Z.property}"]`:null;if(J){let Y=document.querySelector(J);if(!Y){if(Y=document.createElement("meta"),Z.name)Y.setAttribute("name",Z.name);if(Z.property)Y.setAttribute("property",Z.property);document.head.appendChild(Y)}Y.setAttribute("content",Z.content)}}for(let Z of $.link||[]){let J=`link[rel="${Z.rel}"]${Z.href?`[href="${Z.href}"]`:""}`,Y=document.querySelector(J);if(!Y)Y=document.createElement("link"),document.head.appendChild(Y);for(let[Q,X]of Object.entries(Z))if(X!==void 0)Y.setAttribute(Q,String(X))}if($.htmlAttrs)for(let[Z,J]of Object.entries($.htmlAttrs))document.documentElement.setAttribute(Z,J);if($.bodyAttrs)for(let[Z,J]of Object.entries($.bodyAttrs))document.body.setAttribute(Z,J)}function GJ($){let Z="";return{content:$.replace(/@head\s*([\s\S]*?)@endhead/g,(Y,Q)=>{return Z+=Q.trim()+`
741
+ `,""}),headContent:Z.trim()}}function KJ($,Z){return $.replace(/@title\s*\(\s*(?:(['"`])(.+?)\1|([^)]+))\s*\)/g,(J,Y,Q,X)=>{let G=Y?Q:Z[(X||"").trim()]??X;return _1({title:G}),""})}function qJ($,Z){return $.replace(/@meta\s*\(\s*(['"`])(.+?)\1\s*,\s*(?:(['"`])(.+?)\3|([^)]+))\s*\)/g,(J,Y,Q,X,G,K)=>{let q=X?G:K,_=X?q:Z[(q||"").trim()]??q,z=Q.includes(":")?{property:Q,content:_}:{name:Q,content:_};return _1({meta:[z]}),""})}var s0,rY,R5;var r1=C(()=>{s0={},rY=[],R5={}});var T5={};r(T5,{stripTypeScript:()=>p7,hasVariables:()=>s7,extractVariables:()=>l7,extractScriptFromTemplate:()=>o7,convertToCommonJS:()=>n9});import a1 from"path";function WJ($){let Z=[],J=0,Y=$.split(`
742
+ `);for(let Q of Y){let X=null,G=!1;for(let K=0;K<Q.length;K++){let q=Q[K];if(G){G=!1;continue}if(q==="\\"){G=!0;continue}if(X){if(q===X)X=null;continue}if(q==="'"||q==='"'||q==="`"){X=q;continue}if(q==="/"&&K+1<Q.length&&Q[K+1]==="/")break;if(q==="{")J++;else if(q==="}")J--}if(J===0){let K=Q.match(/(?:const|let|var)\s+(\w+)\s*=/);if(K)Z.push(K[1]);else{let q=Q.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(q){let W=q[1].slice(1,-1).split(",").map((z)=>{let U=z.split(":");return(U.length>1?U[1]:U[0]).trim()}).filter((z)=>/^\w+$/.test(z));Z.push(...W)}}}}return[...new Set(Z)]}function p7($){let Z=$;Z=Z.replace(/^\s*import\s+.*?from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),Z=Z.replace(/^\s*import\s+['"][^'"]+['"]\s*;?\s*$/gm,""),Z=Z.replace(/^\s*interface\s+\w+\s*\{[\s\S]*?\n\}\s*$/gm,""),Z=Z.replace(/^\s*type\s+\w+\s*=[\s\S]*?(?=\n(?:const|let|var|function|export|interface|type|$))/gm,""),Z=Z.replace(/^(\s*(?:export\s+)?(?:const|let|var)\s+)(\w+|\{[^}]+\}|\[[^\]]+\])\s*:\s*[^=]+(\s*=)/gm,"$1$2$3");function J(Y){if(!Y.includes(":"))return Y;let Q=[],X="",G=0,K=0,q=null;for(let _=0;_<Y.length;_++){let W=Y[_];if(q){if(X+=W,W===q)q=null;continue}if(W==='"'||W==="'"||W==="`"){q=W,X+=W;continue}if(W==="<")G++;else if(W===">"&&G>0)G--;else if(W==="(")K++;else if(W===")")K--;if(W===","&&G===0&&K===0){Q.push(X),X="";continue}X+=W}if(X)Q.push(X);return Q.map((_)=>{let W=_.trim(),z=W.startsWith("..."),U=z?W.slice(3):W,j=-1,B=0;for(let w=0;w<U.length;w++)if(U[w]==="<")B++;else if(U[w]===">")B--;else if(U[w]===":"&&B===0){j=w;break}if(j===-1)return _;let F=U.substring(0,j).trim().replace(/\?$/,""),L=U.substring(j+1),H=-1,V=0;for(let w=0;w<L.length;w++)if(L[w]==="<")V++;else if(L[w]===">")V--;else if(L[w]==="="&&V===0){H=w;break}let N=z?"...":"";if(H!==-1)return`${N}${F} = ${L.substring(H+1).trim()}`;return`${N}${F}`}).join(", ")}Z=Z.replace(/\b(function\s+\w*\s*)\(([^)]*)\)/g,(Y,Q,X)=>{if(!X.includes(":"))return Y;return`${Q}(${J(X)})`});{let Y=/\b(function\s+\w*\s*)\(/g,Q,X=[];while((Q=Y.exec(Z))!==null){let G=Q.index+Q[0].length-1,K=1,q=G+1,_=0,W=null;while(q<Z.length&&K>0){let j=Z[q];if(W){if(j===W)W=null;q++;continue}if(j==='"'||j==="'"||j==="`"){W=j,q++;continue}if(j==="<")_++;else if(j===">"&&_>0)_--;else if(_===0){if(j==="(")K++;else if(j===")")K--}if(K>0)q++}if(K!==0)continue;let z=Z.substring(G+1,q);if(!z.includes(":"))continue;let U=J(z);X.push({start:G+1,end:q,replacement:U})}for(let G=X.length-1;G>=0;G--){let{start:K,end:q,replacement:_}=X[G];Z=Z.substring(0,K)+_+Z.substring(q)}}return Z=Z.replace(/\(([^)]*)\)\s*(?::\s*[^=]+)?\s*=>/g,(Y,Q)=>{if(!Q.includes(":"))return Y;if(Q.includes("{")||Q.includes("}"))return Y;return`(${Q.split(",").map((G)=>{let[K,...q]=G.split("="),_=K.split(":")[0].trim();if(q.length>0)return`${_} = ${q.join("=").trim()}`;return _}).join(", ")}) =>`}),Z=Z.replace(/(\))\s*:\s*([A-Z]\w*|void|string|number|boolean|any|unknown|never|null|undefined)(?:<[^>]+>)?(?:\s*\|\s*(?:[A-Z]\w*|void|string|number|boolean|any|unknown|never|null|undefined))*\s*(\{)/g,"$1$3"),Z=Z.replace(/(\b(?:function|class|interface|type|extends|implements)\s+\w+)\s*<[^<>()]*>/g,"$1"),Z=Z.replace(/(\b(?:defineProps|withDefaults|Array|Promise|Map|Set|Record|Partial|Required|Readonly|Pick|Omit|Exclude|Extract))\s*<[^<>()]*>/g,"$1"),Z=Z.replace(/(\w+)\s*<[A-Z][^<>()]*>\s*(?=\()/g,"$1"),Z=Z.replace(/\s+as\s+(?:const|[A-Za-z]\w*(?:\[\])?(?:\s*\|\s*\w+(?:\[\])?)*)/g,""),Z=Z.replace(/\s+satisfies\s+\w+(?:<[^>]*>)?/g,""),Z=Z.replace(/(\w|\)|\])\s*!(?!=)/g,"$1"),Z=Z.replace(/^\s*(?:export\s+)?(?:const\s+)?enum\s+\w+\s*\{[^}]*\}\s*$/gm,""),Z=Z.replace(/(?<=[\s=,(])<[A-Z]\w*(?:\[\])?>/g,""),Z=Z.replace(/\n\s*\n\s*\n/g,`
743
+
744
+ `),Z}async function l7($,Z,J){if(!$.trim())return;let Y;try{let P=new Bun.Transpiler({loader:"ts",target:"browser",define:x0()}),v=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");v=v.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),Y=P.transformSync(v)}catch{Y=p7($)}let Q={exports:{}},X=Q.exports,G=process.cwd(),K={},q=[...Y.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((P)=>P[1]).filter((P)=>!P.startsWith("node:")&&!P.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(P));for(let P of q)try{let v=a1.resolve(G,"node_modules",P),g=a1.join(v,"package.json"),c=JSON.parse(J0("fs").readFileSync(g,"utf8")),f=c.main||"index.js";if(c.exports){let d=typeof c.exports==="string"?c.exports:c.exports["."];if(typeof d==="string")f=d;else if(d?.bun)f=d.bun;else if(d?.import)f=d.import;else if(d?.default)f=d.default}K[P]=await import(a1.resolve(v,f))}catch{}let _=(P)=>{if(K[P])return K[P];return J0(P)},W=Z.props||{},z=Object.assign((P)=>{if(!P)return W;let v={};for(let[g,c]of Object.entries(P)){let f=W[g];if(f!==void 0)v[g]=f;else if(typeof c==="function")v[g]=c();else v[g]=c}return v},W),U=()=>W,j=(P,v)=>{let g={...P};for(let[c,f]of Object.entries(v))if(g[c]===void 0)if(typeof f==="function")g[c]=f();else g[c]=f;return g},B=(P)=>{let v=()=>P;return v.set=(g)=>{},v.update=(g)=>{},v},O=(P)=>{let v,g=!1;return()=>{if(!g)try{v=P(),g=!0}catch{v=void 0}return v}},F=(P)=>{},L=(P)=>P(),H=(P)=>{},V=(P)=>{},N=(P)=>{},w=()=>({params:{},query:{},path:"",name:"",fullPath:"",hash:"",matched:[]}),R=()=>({push:(P)=>{},replace:(P)=>{},back:()=>{},forward:()=>{},go:(P)=>{}}),A=(P)=>{_1(P);let v=Z.__stx_runtime_head||{},g=P||{};Z.__stx_runtime_head={...v,...g.title&&{title:g.title},meta:[...v.meta||[],...g.meta||[]],link:[...v.link||[],...g.link||[]],script:[...v.script||[],...g.script||[]],htmlAttrs:{...v.htmlAttrs||{},...g.htmlAttrs||{}},bodyAttrs:{...v.bodyAttrs||{},...g.bodyAttrs||{}}}},T=(P)=>{A5(P);let v=s1();Z.__stx_runtime_head={...Z.__stx_runtime_head||{},...v.title&&{title:v.title},meta:v.meta?[...v.meta]:[]}},I=(P)=>({value:P}),M=(P)=>P,E=(P)=>({value:typeof P==="function"?P():P}),k=(P,v)=>{},y=(P)=>{},S=(P)=>{},b=(P)=>P?P():Promise.resolve(),D=(P)=>(v,...g)=>{},x=(P)=>{},h=(P,v)=>{},l=(P,v)=>v,U0=()=>({value:"light"}),M0=()=>({value:!1}),_0={siteId:void 0,API_ENDPOINT:"",ANALYTICS_SITE_ID:void 0,location:{href:"",pathname:"",search:"",hash:"",origin:"",host:"",hostname:"",protocol:"https:",assign:()=>{},replace:()=>{},reload:()=>{}},localStorage:{getItem:()=>null,setItem:()=>{},removeItem:()=>{},clear:()=>{}},sessionStorage:{getItem:()=>null,setItem:()=>{},removeItem:()=>{},clear:()=>{}},fetch:globalThis.fetch,addEventListener:()=>{},removeEventListener:()=>{},setTimeout:()=>0,clearTimeout:()=>{},setInterval:()=>0,clearInterval:()=>{},requestAnimationFrame:()=>0,cancelAnimationFrame:()=>{},alert:()=>{},confirm:()=>!1,prompt:()=>null,getComputedStyle:()=>({}),matchMedia:()=>({matches:!1,addListener:()=>{},removeListener:()=>{}}),getDateRangeParams:()=>"",stx:{}},S0=new Proxy(_0,{get(P,v){if(v in P)return P[v];return},set(P,v,g){return P[v]=g,!0}}),v0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},L0=console;try{let P=n9(Y,J),v=new Set(Object.keys(W)),g=Object.keys(Z).filter((t)=>!v.has(t)&&t!=="props"),c=g.map((t)=>Z[t]),f=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"]),d=[],W0=[];for(let[t,S9]of Object.entries(W)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(t))continue;if(f.has(t))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${t}\\b`).test(P))continue;d.push(t),W0.push(S9)}let Y0=WJ(P).map((t)=>`module.exports.${t} = typeof ${t} !== 'undefined' ? ${t} : module.exports.${t};`).join(`
745
+ `),w0=Z.params??{},N1=[],p1=[];for(let t=0;t<g.length;t++){if(g[t]==="params")continue;N1.push(g[t]),p1.push(c[t])}let b9=await Function("module","exports","require","props","$props","defineProps","withDefaults","state","derived","effect","batch","onMount","onDestroy","definePageMeta","useRoute","useRouter","useHead","useSeoMeta","ref","reactive","computed","watch","onMounted","onUnmounted","nextTick","defineEmits","defineExpose","provide","inject","useColorMode","useDark","window","document","console","confirm","alert","fetch","params",...d,...N1,`return (async () => {
746
+ ${P}
747
+ ${Y0}
748
748
  return module.exports
749
- })()`)(Q,X,U,_,W,z,j,B,O,F,L,H,V,R,N,A,w,M,E,T,I,D,y,b,S,k,f,h,p,z0,M0,b0,P0,L0,U0.confirm,U0.alert,U0.fetch,F0,..._0,...x0);Object.assign(Z,M$);for(let[t,I$]of Object.entries(_))if(!(t in Z))Z[t]=I$}catch{try{await t2(Y,Z,J)}catch{}}}function u$($,Z){let J=Z?o1.dirname(Z):process.cwd(),Y=$.split(`
750
- `),Q=[],X=0;while(X<Y.length){let G=Y[X].trim();if(G.startsWith("interface ")||G.startsWith("export interface ")||G.startsWith("type ")||G.startsWith("export type ")){if(G.includes("{")&&!G.includes("}")){let K=0;for(;X<Y.length;X++){for(let q of Y[X])if(q==="{")K++;else if(q==="}")K--;if(K<=0)break}}X++;continue}if(G.startsWith("definePageMeta(")){let K=0,q=!1;for(let U=X;U<Y.length&&!q;U++){let _=null,W=!1,z=Y[U];for(let j=0;j<z.length;j++){let B=z[j];if(W){W=!1;continue}if(B==="\\"){W=!0;continue}if(_){if(B===_)_=null;continue}if(B==='"'||B==="'"||B==="`"){_=B;continue}if(B==="(")K++;else if(B===")"){if(K--,K===0){X=U+1,q=!0;break}}}}if(!q)X=Y.length;continue}if(G.startsWith("import ")){let K=G.match(/^import\s+(\w+)\s+from\s+['"](.+)['"]/),q=G.match(/^import\s+\{([^}]+)\}\s+from\s+['"](.+)['"]/),U=G.match(/^import\s+['"](.+)['"]/),_=(W)=>{if(W.startsWith("."))return o1.resolve(J,W);return W};if(K){let[,W,z]=K,j=_(z);Q.push(`const ${W} = await import('${j}')`),Q.push(`module.exports.${W} = ${W};`)}else if(q){let[,W,z]=q,j=W.trim(),B=_(z);Q.push(`const { ${j} } = await import('${B}')`);for(let O of j.split(",")){let F=O.trim().split(/\s+as\s+/).pop()?.trim();if(F)Q.push(`module.exports.${F} = ${F};`)}}else if(U){let W=_(U[1]);Q.push(`await import('${W}')`)}else Q.push(G);X++;continue}if(G.startsWith("export const ")||G.startsWith("export let ")||G.startsWith("export var ")){let K=y6(Y,X),{type:q,name:U,value:_}=K;Q.push(`${q} ${U} = ${_};`),Q.push(`module.exports.${U} = ${U};`),X=K.nextIndex}else if(G.startsWith("export function ")||G.startsWith("export async function ")){let K=m$(Y,X);Q.push(K.functionCode),Q.push(`module.exports.${K.name} = ${K.name};`),X=K.nextIndex}else if(G.startsWith("const ")||G.startsWith("let ")||G.startsWith("var ")){let K=y6(Y,X),{type:q,name:U,value:_}=K;Q.push(`${q} ${U} = ${_};`),Q.push(`module.exports.${U} = ${U};`),X=K.nextIndex}else if(G.startsWith("function ")||G.startsWith("async function ")){let K=m$(Y,X);Q.push(K.functionCode),Q.push(`module.exports.${K.name} = ${K.name};`),X=K.nextIndex}else if(G.startsWith("export default function ")||G.startsWith("export default async function ")){let K=Y[X].replace(/^(\s*)export\s+default\s+/,"$1"),q=[...Y];q[X]=K;let U=m$(q,X);if(Q.push(U.functionCode),U.name)Q.push(`module.exports.default = ${U.name};`);X=U.nextIndex}else if(G.startsWith("export default ")){let K=G.replace(/^export\s+default\s+/,"").replace(/;$/,"");Q.push(`module.exports.default = ${K};`),X++}else if(G.startsWith("class ")||G.startsWith("export class ")){let K=G.match(/(?:export\s+)?class\s+(\w+)/);if(K){let q=K[1],U=Y[X].replace(/^export\s+/,""),_=0,W=X;for(;W<Y.length;W++){let z=Y[W];for(let j of z)if(j==="{")_++;else if(j==="}")_--;if(W>X)U+=`
751
- `+z;if(_<=0&&W>=X)break}Q.push(U),Q.push(`module.exports.${q} = ${q};`),X=W+1}else Q.push(G),X++}else if(G.includes("module.exports"))Q.push(G),X++;else if(G.trim()&&!G.startsWith("//"))Q.push(G),X++;else X++}return Q.join(`
752
- `)}function f6($,Z){let J=$[Z];if(J!=="{"&&J!=="[")return null;let Q=I0($,J,J==="{"?"}":"]",Z);if(Q===-1)return null;return{pattern:$.slice(Z,Q+1),endPos:Q+1}}function g6($){let Z=[],J=$.slice(1,-1).trim();if(!J)return Z;let Y=0,Q=0,X="";while(Y<J.length){let G=J[Y];if(G==="{"||G==="["){if(Q++,Q===1){let K=f6(J,Y);if(K){let q=g6(K.pattern);Z.push(...q),Y=K.endPos,X="";continue}}}else if(G==="}"||G==="]")Q--;if(Q>0){Y++;continue}if(G===","){if(X.trim())Z.push(X.trim());X="",Y++;continue}if(G===":"){X="",Y++;continue}if(G==="="){if(X.trim())Z.push(X.trim());X="",Y++;while(Y<J.length&&J[Y]!==","&&Q===0){if(J[Y]==="{"||J[Y]==="[")Q++;else if(J[Y]==="}"||J[Y]==="]")Q--;Y++}continue}if(/[\w$]/.test(G))X+=G;Y++}if(X.trim())Z.push(X.trim());return Z}function y6($,Z){let J=$[Z].trim(),Y=J.match(/^(?:export\s+)?(const|let|var)\s+(\w+)\s*=\s*(.*)$/);if(!Y){let U=J.match(/^(?:export\s+)?(const|let|var)\s+/);if(U){let _=J.slice(U[0].length),W=Z;if((_.startsWith("{")||_.startsWith("["))&&!_.includes(_.startsWith("{")?"}":"]")){let j=_.startsWith("{")?"}":"]",B=_;for(let O=Z+1;O<$.length;O++)if(B+=" "+$[O].trim(),W=O,$[O].includes(j))break;_=B}let z=f6(_,0);if(z){let j=U[1],B=z.pattern,O=_.slice(z.endPos).trim();if(O.startsWith("=")){let F=O.slice(1).trim(),L=F,H=Math.max(W,Z);if(C6(F)){let A=P6($,H,F);L=A.value,H=A.nextIndex}else H=H+1;L=L.trim().replace(/;$/,"");let V=g6(B),R=`__stx_src_${Z}`,N=V.map((A)=>`module.exports.${A} = ${A};`).join(`
753
- `);return{type:j,name:R,value:`${L}; ${j} ${B} = ${R};
754
- ${N}`,nextIndex:H}}}}throw Error(`Failed to parse variable declaration: ${J}`)}let[,Q,X,G]=Y,K=G,q=Z;if(C6(G)){let U=P6($,Z,G);K=U.value,q=U.nextIndex}else q=Z+1;while(q<$.length){let U=$[q].trim();if(U.startsWith(".")||U.startsWith("?."))K+=`
755
- ${$[q]}`,q++;else break}return K=K.trim().replace(/;$/,""),{type:Q,name:X,value:K,nextIndex:q}}function m$($,Z){let J=$[Z].trim(),Y=J.match(/^(?:export\s+)?(?:async\s+)?function\s+(\w+)/);if(!Y)throw Error(`Failed to parse function declaration: ${J}`);let[,Q]=Y,X=J.replace(/^export\s+/,""),G=Z;if(r2(J)){let K=a2($,Z,X);X=K.functionCode,G=K.nextIndex}else G=Z+1;return{name:Q,functionCode:X,nextIndex:G}}function C6($){let Z=$.trim();if(Z.startsWith("{"))return I0(Z,"{","}",0)===-1;if(Z.startsWith("["))return I0(Z,"[","]",0)===-1;return!h6(Z)}function h6($){let Z={paren:0,bracket:0,brace:0},J=null,Y=0;for(let Q=0;Q<$.length;Q++){let X=$[Q];if((Q>0?$[Q-1]:"")==="\\"&&J)continue;if((X==='"'||X==="'")&&!J){J=X;continue}if(X===J&&J!=="`"){J=null;continue}if(X==="`"&&!J){J="`";continue}if(X==="`"&&J==="`"&&Y===0){J=null;continue}if(J==="`"&&X==="$"&&$[Q+1]==="{"){Y++,Q++;continue}if(Y>0&&X==="{"){Y++;continue}if(Y>0&&X==="}"){Y--;continue}if(J)continue;if(X==="(")Z.paren++;else if(X===")")Z.paren--;else if(X==="[")Z.bracket++;else if(X==="]")Z.bracket--;else if(X==="{")Z.brace++;else if(X==="}")Z.brace--}return Z.paren===0&&Z.bracket===0&&Z.brace===0&&J===null}function r2($){let Z=$.indexOf("{");if(Z===-1)return!0;return I0($,"{","}",Z)===-1}function P6($,Z,J){let Y=J,Q=Z+1;while(Q<$.length&&!h6(Y)){let X=$[Q];Y+=`
749
+ })()`)(Q,X,_,W,z,U,j,B,O,F,L,H,V,N,w,R,A,T,I,M,E,k,y,S,b,D,x,h,l,U0,M0,S0,v0,L0,_0.confirm,_0.alert,_0.fetch,w0,...W0,...p1);Object.assign(Z,b9);for(let[t,S9]of Object.entries(W))if(!(t in Z))Z[t]=S9}catch{try{await UJ(Y,Z,J)}catch{}}}function n9($,Z){let J=Z?a1.dirname(Z):process.cwd(),Y=$.split(`
750
+ `),Q=[],X=0;while(X<Y.length){let G=Y[X].trim();if(G.startsWith("interface ")||G.startsWith("export interface ")||G.startsWith("type ")||G.startsWith("export type ")){if(G.includes("{")&&!G.includes("}")){let K=0;for(;X<Y.length;X++){for(let q of Y[X])if(q==="{")K++;else if(q==="}")K--;if(K<=0)break}}X++;continue}if(G.startsWith("definePageMeta(")){let K=0,q=!1;for(let _=X;_<Y.length&&!q;_++){let W=null,z=!1,U=Y[_];for(let j=0;j<U.length;j++){let B=U[j];if(z){z=!1;continue}if(B==="\\"){z=!0;continue}if(W){if(B===W)W=null;continue}if(B==='"'||B==="'"||B==="`"){W=B;continue}if(B==="(")K++;else if(B===")"){if(K--,K===0){X=_+1,q=!0;break}}}}if(!q)X=Y.length;continue}if(G.startsWith("import ")){let K=G.match(/^import\s+(\w+)\s+from\s+['"](.+)['"]/),q=G.match(/^import\s+\{([^}]+)\}\s+from\s+['"](.+)['"]/),_=G.match(/^import\s+['"](.+)['"]/),W=(z)=>{if(z.startsWith("."))return a1.resolve(J,z);return z};if(K){let[,z,U]=K,j=W(U);Q.push(`const ${z} = await import('${j}')`),Q.push(`module.exports.${z} = ${z};`)}else if(q){let[,z,U]=q,j=z.trim(),B=W(U);Q.push(`const { ${j} } = await import('${B}')`);for(let O of j.split(",")){let F=O.trim().split(/\s+as\s+/).pop()?.trim();if(F)Q.push(`module.exports.${F} = ${F};`)}}else if(_){let z=W(_[1]);Q.push(`await import('${z}')`)}else Q.push(G);X++;continue}if(G.startsWith("export const ")||G.startsWith("export let ")||G.startsWith("export var ")){let K=d7(Y,X),{type:q,name:_,value:W}=K;Q.push(`${q} ${_} = ${W};`),Q.push(`module.exports.${_} = ${_};`),X=K.nextIndex}else if(G.startsWith("export function ")||G.startsWith("export async function ")){let K=i9(Y,X);Q.push(K.functionCode),Q.push(`module.exports.${K.name} = ${K.name};`),X=K.nextIndex}else if(G.startsWith("const ")||G.startsWith("let ")||G.startsWith("var ")){let K=d7(Y,X),{type:q,name:_,value:W}=K;Q.push(`${q} ${_} = ${W};`),Q.push(`module.exports.${_} = ${_};`),X=K.nextIndex}else if(G.startsWith("function ")||G.startsWith("async function ")){let K=i9(Y,X);Q.push(K.functionCode),Q.push(`module.exports.${K.name} = ${K.name};`),X=K.nextIndex}else if(G.startsWith("export default function ")||G.startsWith("export default async function ")){let K=Y[X].replace(/^(\s*)export\s+default\s+/,"$1"),q=[...Y];q[X]=K;let _=i9(q,X);if(Q.push(_.functionCode),_.name)Q.push(`module.exports.default = ${_.name};`);X=_.nextIndex}else if(G.startsWith("export default ")){let K=G.replace(/^export\s+default\s+/,"").replace(/;$/,"");Q.push(`module.exports.default = ${K};`),X++}else if(G.startsWith("class ")||G.startsWith("export class ")){let K=G.match(/(?:export\s+)?class\s+(\w+)/);if(K){let q=K[1],_=Y[X].replace(/^export\s+/,""),W=0,z=X;for(;z<Y.length;z++){let U=Y[z];for(let j of U)if(j==="{")W++;else if(j==="}")W--;if(z>X)_+=`
751
+ `+U;if(W<=0&&z>=X)break}Q.push(_),Q.push(`module.exports.${q} = ${q};`),X=z+1}else Q.push(G),X++}else if(G.includes("module.exports"))Q.push(G),X++;else if(G.trim()&&!G.startsWith("//"))Q.push(G),X++;else X++}return Q.join(`
752
+ `)}function c7($,Z){let J=$[Z];if(J!=="{"&&J!=="[")return null;let Q=I0($,J,J==="{"?"}":"]",Z);if(Q===-1)return null;return{pattern:$.slice(Z,Q+1),endPos:Q+1}}function i7($){let Z=[],J=$.slice(1,-1).trim();if(!J)return Z;let Y=0,Q=0,X="";while(Y<J.length){let G=J[Y];if(G==="{"||G==="["){if(Q++,Q===1){let K=c7(J,Y);if(K){let q=i7(K.pattern);Z.push(...q),Y=K.endPos,X="";continue}}}else if(G==="}"||G==="]")Q--;if(Q>0){Y++;continue}if(G===","){if(X.trim())Z.push(X.trim());X="",Y++;continue}if(G===":"){X="",Y++;continue}if(G==="="){if(X.trim())Z.push(X.trim());X="",Y++;while(Y<J.length&&J[Y]!==","&&Q===0){if(J[Y]==="{"||J[Y]==="[")Q++;else if(J[Y]==="}"||J[Y]==="]")Q--;Y++}continue}if(/[\w$]/.test(G))X+=G;Y++}if(X.trim())Z.push(X.trim());return Z}function d7($,Z){let J=$[Z].trim(),Y=J.match(/^(?:export\s+)?(const|let|var)\s+(\w+)\s*=\s*(.*)$/);if(!Y){let _=J.match(/^(?:export\s+)?(const|let|var)\s+/);if(_){let W=J.slice(_[0].length),z=Z;if((W.startsWith("{")||W.startsWith("["))&&!W.includes(W.startsWith("{")?"}":"]")){let j=W.startsWith("{")?"}":"]",B=W;for(let O=Z+1;O<$.length;O++)if(B+=" "+$[O].trim(),z=O,$[O].includes(j))break;W=B}let U=c7(W,0);if(U){let j=_[1],B=U.pattern,O=W.slice(U.endPos).trim();if(O.startsWith("=")){let F=O.slice(1).trim(),L=F,H=Math.max(z,Z);if(m7(F)){let R=u7($,H,F);L=R.value,H=R.nextIndex}else H=H+1;L=L.trim().replace(/;$/,"");let V=i7(B),N=`__stx_src_${Z}`,w=V.map((R)=>`module.exports.${R} = ${R};`).join(`
753
+ `);return{type:j,name:N,value:`${L}; ${j} ${B} = ${N};
754
+ ${w}`,nextIndex:H}}}}throw Error(`Failed to parse variable declaration: ${J}`)}let[,Q,X,G]=Y,K=G,q=Z;if(m7(G)){let _=u7($,Z,G);K=_.value,q=_.nextIndex}else q=Z+1;while(q<$.length){let _=$[q].trim();if(_.startsWith(".")||_.startsWith("?."))K+=`
755
+ ${$[q]}`,q++;else break}return K=K.trim().replace(/;$/,""),{type:Q,name:X,value:K,nextIndex:q}}function i9($,Z){let J=$[Z].trim(),Y=J.match(/^(?:export\s+)?(?:async\s+)?function\s+(\w+)/);if(!Y)throw Error(`Failed to parse function declaration: ${J}`);let[,Q]=Y,X=J.replace(/^export\s+/,""),G=Z;if(_J(J)){let K=zJ($,Z,X);X=K.functionCode,G=K.nextIndex}else G=Z+1;return{name:Q,functionCode:X,nextIndex:G}}function m7($){let Z=$.trim();if(Z.startsWith("{"))return I0(Z,"{","}",0)===-1;if(Z.startsWith("["))return I0(Z,"[","]",0)===-1;return!n7(Z)}function n7($){let Z={paren:0,bracket:0,brace:0},J=null,Y=0;for(let Q=0;Q<$.length;Q++){let X=$[Q];if((Q>0?$[Q-1]:"")==="\\"&&J)continue;if((X==='"'||X==="'")&&!J){J=X;continue}if(X===J&&J!=="`"){J=null;continue}if(X==="`"&&!J){J="`";continue}if(X==="`"&&J==="`"&&Y===0){J=null;continue}if(J==="`"&&X==="$"&&$[Q+1]==="{"){Y++,Q++;continue}if(Y>0&&X==="{"){Y++;continue}if(Y>0&&X==="}"){Y--;continue}if(J)continue;if(X==="(")Z.paren++;else if(X===")")Z.paren--;else if(X==="[")Z.bracket++;else if(X==="]")Z.bracket--;else if(X==="{")Z.brace++;else if(X==="}")Z.brace--}return Z.paren===0&&Z.bracket===0&&Z.brace===0&&J===null}function _J($){let Z=$.indexOf("{");if(Z===-1)return!0;return I0($,"{","}",Z)===-1}function u7($,Z,J){let Y=J,Q=Z+1;while(Q<$.length&&!n7(Y)){let X=$[Q];Y+=`
756
756
  ${X}`,Q++}while(Q<$.length){let X=$[Q].trim();if(X.startsWith(".")||X.startsWith("?."))Y+=`
757
- ${$[Q]}`,Q++;else break}return{value:Y,nextIndex:Q}}function a2($,Z,J){let Y=J,Q=Z+1;while(Q<$.length){let X=Y.indexOf("{");if(X!==-1){if(I0(Y,"{","}",X)!==-1)break}let G=$[Q];Y+=`
758
- ${G}`,Q++}return{functionCode:Y,nextIndex:Q}}async function t2($,Z,J){let Y=$.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let X of Y){let[,,G,K]=X;try{let q=K.trim().replace(/;$/,""),U=Function(`return ${q}`);Z[G]=U()}catch{try{let q=K.trim().replace(/;$/,""),U=Function(`return (${q})`);Z[G]=U()}catch(q){console.warn(`Failed to parse export ${G} in fallback:`,q)}}}let Q=$.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let X of Q){let[,,G,K]=X;if(!(G in Z))try{let q=K.trim().replace(/;$/,""),U=Function(`return ${q}`);Z[G]=U()}catch{}}try{let X=$.replace(/^export\s+/gm,""),K=Function(`
757
+ ${$[Q]}`,Q++;else break}return{value:Y,nextIndex:Q}}function zJ($,Z,J){let Y=J,Q=Z+1;while(Q<$.length){let X=Y.indexOf("{");if(X!==-1){if(I0(Y,"{","}",X)!==-1)break}let G=$[Q];Y+=`
758
+ ${G}`,Q++}return{functionCode:Y,nextIndex:Q}}async function UJ($,Z,J){let Y=$.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let X of Y){let[,,G,K]=X;try{let q=K.trim().replace(/;$/,""),_=Function(`return ${q}`);Z[G]=_()}catch{try{let q=K.trim().replace(/;$/,""),_=Function(`return (${q})`);Z[G]=_()}catch(q){console.warn(`Failed to parse export ${G} in fallback:`,q)}}}let Q=$.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let X of Q){let[,,G,K]=X;if(!(G in Z))try{let q=K.trim().replace(/;$/,""),_=Function(`return ${q}`);Z[G]=_()}catch{}}try{let X=$.replace(/^export\s+/gm,""),K=Function(`
759
759
  ${X}
760
760
  const result = {};
761
761
  ${Array.from($.matchAll(/(?:const|let|var)\s+(\w+)\s*=/g)).map((q)=>`if (typeof ${q[1]} !== 'undefined') result.${q[1]} = ${q[1]};`).join(`
762
762
  `)}
763
763
  return result;
764
- `)();Object.entries(K).forEach(([q,U])=>{if(U!==void 0&&!(q in Z))Z[q]=U})}catch{}}function d6($){let Z=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),J=Z?Z[1]:"",Y=Z?$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/i,""):$;return{scriptContent:J,templateWithoutScript:Y}}function m6($){let Z=$.trim();if(!Z)return!1;return/(?:const|let|var|function)\s+\w+/.test(Z)}var s1=P(()=>{n1()});var i6={};r(i6,{renderSlot:()=>p6,processSlots:()=>c6,parseSlots:()=>u6,parseSlotElement:()=>$J,extractSlotContent:()=>JJ,applySlots:()=>XJ});function e2($,Z){let J=1,Y=Z,Q="<template",X="</template";while(Y<$.length&&J>0){let G=$.indexOf("<",Y);if(G===-1)break;if(Y=G,$.startsWith(Q,Y)&&(Y+Q.length>=$.length||/[\s>\/]/.test($[Y+Q.length]))){J++,Y+=Q.length;continue}if($.startsWith(X,Y)){let K=$.indexOf(">",Y+X.length);if(K!==-1){if(J--,J===0)return K+1;Y=K+1;continue}}Y++}return J===0?Y:-1}function u6($){let Z={default:"",named:new Map},J=$,Y=/<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>/gi,Q=[],X;while((X=Y.exec($))!==null){let[_,W,z,j,B]=X,O=W||z||j,F=X.index+_.length,L=e2($,F);if(L!==-1){let H=$.slice(F,L-11).trim();Q.push({start:X.index,end:L,slotName:O,content:H,propsBinding:B||void 0}),Z.named.set(O,{name:O,content:H,propsBinding:B||void 0})}}Q.sort((_,W)=>W.start-_.start);for(let _ of Q)J=J.slice(0,_.start)+J.slice(_.end);let G=[],K=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,q;while((q=K.exec(J))!==null){let[_,W,z,j,B,O]=q,F=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),L=B.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=(F+L).trim(),V=`<${W}${H?" "+H:""}>${O}</${W}>`;G.push({start:q.index,end:q.index+_.length,slotName:j,element:V})}let U=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((q=U.exec(J))!==null){let[_,W,z,j,B]=q,O=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),F=B.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),L=(O+F).trim(),H=`<${W}${L?" "+L:""} />`;G.push({start:q.index,end:q.index+_.length,slotName:j,element:H})}G.sort((_,W)=>W.start-_.start);for(let _ of G){let W=Z.named.get(_.slotName);if(W)W.content+=_.element;else Z.named.set(_.slotName,{name:_.slotName,content:_.element});J=J.slice(0,_.start)+J.slice(_.end)}return Z.default=J.trim(),Z}function $J($){let Z=$.match(/name\s*=\s*["']([^"']+)["']/),J=Z?Z[1]:"",Y={},Q=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,X;while((X=Q.exec($))!==null)Y[X[1]]=X[2];let G=$.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),K=G?G[1].trim():"";return{name:J,props:Y,defaultContent:K}}async function p6($,Z,J,Y){if(!$)return J;let Q=$.content;if($.propsBinding&&Object.keys(Z).length>0){let X=$.propsBinding.trim(),G={...Y};if(X.startsWith("{")&&X.endsWith("}")){let K=X.slice(1,-1).split(",").map((q)=>q.trim()).filter(Boolean);for(let q of K){let[U,_]=q.split(":").map((z)=>z.trim()),W=_||U;if(Z[U]!==void 0)G[W]=Z[U]}}else G[X]=Z;Q=ZJ(Q,G)}return Q}function ZJ($,Z){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(J,Y)=>{try{let Q=Y.trim(),X=l6(Q,Z);return K1(String(X??""))}catch{return`{{ ${Y} }}`}})}function l6($,Z){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test($)){let Y=$.split("."),Q=Z;for(let X of Y)if(Q&&typeof Q==="object"&&X in Q)Q=Q[X];else return;return Q}let J=$.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(J){let[,Y,Q,X]=J,G=Z[Y],K=parseInt(X,10);if(typeof G==="number")switch(Q){case"+":return G+K;case"-":return G-K;case"*":return G*K;case"/":return G/K}}try{if(!e($))return;return $0($,Object.keys(Z))(...Object.values(Z))}catch{return}}async function c6($,Z,J){let Y=$;Y=await YJ(Y,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(G,K,q,U)=>{let _=Z.named.get(K),W=U?.trim()||"",z=q||"",j={},B=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,O;while((O=B.exec(z))!==null){let F=O[1],L=O[2];j[F]=l6(L,J)}return await p6(_,j,W,J)});let X=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return Y=Y.replace(X,(G,K)=>{if(G.includes("name="))return G;let q=K?.trim()||"";return Z.default||q}),Y}async function YJ($,Z,J){let Y=[],Q=[];$.replace(Z,(K,...q)=>{let U=q[q.length-2];return Q.push({match:K,index:U}),Y.push(J(K,...q.slice(0,-2))),K});let X=await Promise.all(Y),G=$;for(let K=Q.length-1;K>=0;K--){let{match:q,index:U}=Q[K];G=G.slice(0,U)+X[K]+G.slice(U+q.length)}return G}function JJ($){let Z=u6($);return{defaultSlot:Z.default,namedSlots:Z.named}}async function XJ($,Z,J,Y){return await c6($,{default:Z,named:J},Y)}var n6=P(()=>{o0();R0()});import QJ from"fs";import s from"path";function KJ($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function qJ($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function Q1($){return!qJ($)}function G1($){try{let Z=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");Z=Z.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");let J=[];Z=Z.replace(/\{!![\s\S]*?!!\}/g,(X)=>{let G=J.length;return J.push(X),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{\{[\s\S]*?\}\}\}/g,(X)=>{let G=J.length;return J.push(X),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{[\s\S]*?\}\}/g,(X)=>{let G=J.length;return J.push(X),`"__STX_EXPR_${G}__"`});let Q=new Bun.Transpiler({loader:"ts",target:"browser"}).transformSync(Z);for(let X=0;X<J.length;X++)Q=Q.replace(`"__STX_EXPR_${X}__"`,J[X]),Q=Q.replace(`'__STX_EXPR_${X}__'`,J[X]);return Q}catch(Z){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",Z);return $}}function _J($){let Z=[],J=new Set,Y=0,Q=0,X=$.length,G=(_)=>{Q++;while(Q<X){if($[Q]==="\\"){Q+=2;continue}if($[Q]===_){Q++;return}Q++}},K=()=>{Q++;while(Q<X){if($[Q]==="\\"){Q+=2;continue}if($[Q]==="`"){Q++;return}if($[Q]==="$"&&$[Q+1]==="{"){Q+=2;let _=1;while(Q<X&&_>0)if($[Q]==="{")_++;else if($[Q]==="}")_--;else if($[Q]==="'"||$[Q]==='"')G($[Q]);else if($[Q]==="`")K();else Q++;continue}Q++}},q=()=>{if($[Q]==="/"&&$[Q+1]==="/"){while(Q<X&&$[Q]!==`
765
- `)Q++;return!0}if($[Q]==="/"&&$[Q+1]==="*"){Q+=2;while(Q<X-1&&!($[Q]==="*"&&$[Q+1]==="/"))Q++;return Q+=2,!0}return!1},U=()=>{if(Y!==0)return;let _=$.slice(Q).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(_){let B=_[2].split(",").map((O)=>{let F=O.trim().split(":");return F[F.length-1].trim()});for(let O of B)if(O&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(O)&&!J.has(O))Z.push(O),J.add(O);return}let W=$.slice(Q).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(W){let B=W[2];if(!J.has(B))Z.push(B),J.add(B);return}let z=$.slice(Q).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let B=z[1];if(!J.has(B))Z.push(B),J.add(B);return}let j=$.slice(Q).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(j){let B=j[1];if(!J.has(B))Z.push(B),J.add(B)}};while(Q<X){if(q())continue;if($[Q]==="'"||$[Q]==='"'){G($[Q]);continue}if($[Q]==="`"){K();continue}if($[Q]==="{"){Y++,Q++;continue}if($[Q]==="}"){Y--,Q++;continue}if(Y===0&&/[a-z]/i.test($[Q])&&(Q===0||/\s|[;{}()]/.test($[Q-1])))U();Q++}return Z}async function W1($,Z,J,Y,Q,X,G,K=new Set,q){let{extractVariables:U}=await Promise.resolve().then(() => (s1(),R5)),_=K??new Set;if(_.has($))return`[Circular component reference: ${$}]`;let W=new Set(_);W.add($);try{let z=(C)=>C.split("-").map((v)=>v.charAt(0).toUpperCase()+v.slice(1)).join(""),j=(C)=>C.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),B=$.endsWith(".stx")?$.slice(0,-4):$,O=null,F=Q.__importedComponents;if(F){let C=[B,B.toLowerCase(),z(B),j(B)];for(let v of C)if(F.has(v)){O=F.get(v);break}}let L=[];if(!O){let C=[`${B}.stx`,`${z(B)}.stx`,`${j(B)}.stx`],v=[...new Set(C)],x=Q.__originalFilePath,l=[];if(x){let Z0=s.join(s.dirname(x),"components");l.push(Z0)}if(Y)l.push(Y);let g=s.join(s.dirname(X),"components");if(!l.includes(g))l.push(g);if(G.componentsDir&&G.componentsDir!==Y&&!l.includes(G.componentsDir))l.push(G.componentsDir);let m=process.cwd(),_0=[s.resolve(m,"src/components"),s.resolve(m,"components"),s.resolve(import.meta.dir,"components")];for(let Z0 of _0)if(!l.includes(Z0))l.push(Z0);if(B.startsWith("./")||B.startsWith("../"))O=s.resolve(s.dirname(X),`${B}.stx`),L.push(O);else for(let Z0 of l){if(!Z0)continue;for(let G0 of v){let F0=s.join(Z0,G0);if(L.push(F0),await c(F0)){O=F0;break}}if(O)break;if(!O)try{let G0=await import("fs");if(!G0.statSync(Z0,{throwIfNoEntry:!1})?.isDirectory())continue;let v0=G0.readdirSync(Z0,{withFileTypes:!0});for(let x0 of v0)if(x0.isDirectory()){let J1=s.join(Z0,x0.name);for(let M$ of v){let t=s.join(J1,M$);if(L.push(t),await c(t)){O=t;break}}if(O)break}}catch{}if(O)break}}if(!O||!await c(O)){let C=L.length>0?`
764
+ `)();Object.entries(K).forEach(([q,_])=>{if(_!==void 0&&!(q in Z))Z[q]=_})}catch{}}function o7($){let Z=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),J=Z?Z[1]:"",Y=Z?$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/i,""):$;return{scriptContent:J,templateWithoutScript:Y}}function s7($){let Z=$.trim();if(!Z)return!1;return/(?:const|let|var|function)\s+\w+/.test(Z)}var t1=C(()=>{r1();R1()});var $3={};r($3,{renderSlot:()=>a7,processSlots:()=>e7,parseSlots:()=>r7,parseSlotElement:()=>jJ,extractSlotContent:()=>LJ,applySlots:()=>FJ});function BJ($,Z){let J=1,Y=Z,Q="<template",X="</template";while(Y<$.length&&J>0){let G=$.indexOf("<",Y);if(G===-1)break;if(Y=G,$.startsWith(Q,Y)&&(Y+Q.length>=$.length||/[\s>\/]/.test($[Y+Q.length]))){J++,Y+=Q.length;continue}if($.startsWith(X,Y)){let K=$.indexOf(">",Y+X.length);if(K!==-1){if(J--,J===0)return K+1;Y=K+1;continue}}Y++}return J===0?Y:-1}function r7($){let Z={default:"",named:new Map},J=$,Y=/<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>/gi,Q=[],X;while((X=Y.exec($))!==null){let[W,z,U,j,B]=X,O=z||U||j,F=X.index+W.length,L=BJ($,F);if(L!==-1){let H=$.slice(F,L-11).trim();Q.push({start:X.index,end:L,slotName:O,content:H,propsBinding:B||void 0}),Z.named.set(O,{name:O,content:H,propsBinding:B||void 0})}}Q.sort((W,z)=>z.start-W.start);for(let W of Q)J=J.slice(0,W.start)+J.slice(W.end);let G=[],K=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,q;while((q=K.exec(J))!==null){let[W,z,U,j,B,O]=q,F=U.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),L=B.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=(F+L).trim(),V=`<${z}${H?" "+H:""}>${O}</${z}>`;G.push({start:q.index,end:q.index+W.length,slotName:j,element:V})}let _=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((q=_.exec(J))!==null){let[W,z,U,j,B]=q,O=U.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),F=B.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),L=(O+F).trim(),H=`<${z}${L?" "+L:""} />`;G.push({start:q.index,end:q.index+W.length,slotName:j,element:H})}G.sort((W,z)=>z.start-W.start);for(let W of G){let z=Z.named.get(W.slotName);if(z)z.content+=W.element;else Z.named.set(W.slotName,{name:W.slotName,content:W.element});J=J.slice(0,W.start)+J.slice(W.end)}return Z.default=J.trim(),Z}function jJ($){let Z=$.match(/name\s*=\s*["']([^"']+)["']/),J=Z?Z[1]:"",Y={},Q=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,X;while((X=Q.exec($))!==null)Y[X[1]]=X[2];let G=$.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),K=G?G[1].trim():"";return{name:J,props:Y,defaultContent:K}}async function a7($,Z,J,Y){if(!$)return J;let Q=$.content;if($.propsBinding&&Object.keys(Z).length>0){let X=$.propsBinding.trim(),G={...Y};if(X.startsWith("{")&&X.endsWith("}")){let K=X.slice(1,-1).split(",").map((q)=>q.trim()).filter(Boolean);for(let q of K){let[_,W]=q.split(":").map((U)=>U.trim()),z=W||_;if(Z[_]!==void 0)G[z]=Z[_]}}else G[X]=Z;Q=OJ(Q,G)}return Q}function OJ($,Z){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(J,Y)=>{try{let Q=Y.trim(),X=t7(Q,Z);return K1(String(X??""))}catch{return`{{ ${Y} }}`}})}function t7($,Z){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test($)){let Y=$.split("."),Q=Z;for(let X of Y)if(Q&&typeof Q==="object"&&X in Q)Q=Q[X];else return;return Q}let J=$.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(J){let[,Y,Q,X]=J,G=Z[Y],K=parseInt(X,10);if(typeof G==="number")switch(Q){case"+":return G+K;case"-":return G-K;case"*":return G*K;case"/":return G/K}}try{if(!e($))return;return $0($,Object.keys(Z))(...Object.values(Z))}catch{return}}async function e7($,Z,J){let Y=$;Y=await HJ(Y,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(G,K,q,_)=>{let W=Z.named.get(K),z=_?.trim()||"",U=q||"",j={},B=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,O;while((O=B.exec(U))!==null){let F=O[1],L=O[2];j[F]=t7(L,J)}return await a7(W,j,z,J)});let X=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return Y=Y.replace(X,(G,K)=>{if(G.includes("name="))return G;let q=K?.trim()||"";return Z.default||q}),Y}async function HJ($,Z,J){let Y=[],Q=[];$.replace(Z,(K,...q)=>{let _=q[q.length-2];return Q.push({match:K,index:_}),Y.push(J(K,...q.slice(0,-2))),K});let X=await Promise.all(Y),G=$;for(let K=Q.length-1;K>=0;K--){let{match:q,index:_}=Q[K];G=G.slice(0,_)+X[K]+G.slice(_+q.length)}return G}function LJ($){let Z=r7($);return{defaultSlot:Z.default,namedSlots:Z.named}}async function FJ($,Z,J,Y){return await e7($,{default:Z,named:J},Y)}var Z3=C(()=>{o0();N0()});import VJ from"fs";import n from"path";function NJ($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function RJ($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function Q1($){return!RJ($)}function G1($){try{let Z=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");Z=Z.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");let J=[];Z=Z.replace(/\{!![\s\S]*?!!\}/g,(X)=>{let G=J.length;return J.push(X),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{\{[\s\S]*?\}\}\}/g,(X)=>{let G=J.length;return J.push(X),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{[\s\S]*?\}\}/g,(X)=>{let G=J.length;return J.push(X),`"__STX_EXPR_${G}__"`});let Q=new Bun.Transpiler({loader:"ts",target:"browser",define:x0()}).transformSync(Z);for(let X=0;X<J.length;X++)Q=Q.replace(`"__STX_EXPR_${X}__"`,J[X]),Q=Q.replace(`'__STX_EXPR_${X}__'`,J[X]);return Q}catch(Z){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",Z);return $}}function AJ($){let Z=[],J=new Set,Y=0,Q=0,X=$.length,G=(W)=>{Q++;while(Q<X){if($[Q]==="\\"){Q+=2;continue}if($[Q]===W){Q++;return}Q++}},K=()=>{Q++;while(Q<X){if($[Q]==="\\"){Q+=2;continue}if($[Q]==="`"){Q++;return}if($[Q]==="$"&&$[Q+1]==="{"){Q+=2;let W=1;while(Q<X&&W>0)if($[Q]==="{")W++;else if($[Q]==="}")W--;else if($[Q]==="'"||$[Q]==='"')G($[Q]);else if($[Q]==="`")K();else Q++;continue}Q++}},q=()=>{if($[Q]==="/"&&$[Q+1]==="/"){while(Q<X&&$[Q]!==`
765
+ `)Q++;return!0}if($[Q]==="/"&&$[Q+1]==="*"){Q+=2;while(Q<X-1&&!($[Q]==="*"&&$[Q+1]==="/"))Q++;return Q+=2,!0}return!1},_=()=>{if(Y!==0)return;let W=$.slice(Q).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(W){let B=W[2].split(",").map((O)=>{let F=O.trim().split(":");return F[F.length-1].trim()});for(let O of B)if(O&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(O)&&!J.has(O))Z.push(O),J.add(O);return}let z=$.slice(Q).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(z){let B=z[2];if(!J.has(B))Z.push(B),J.add(B);return}let U=$.slice(Q).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(U){let B=U[1];if(!J.has(B))Z.push(B),J.add(B);return}let j=$.slice(Q).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(j){let B=j[1];if(!J.has(B))Z.push(B),J.add(B)}};while(Q<X){if(q())continue;if($[Q]==="'"||$[Q]==='"'){G($[Q]);continue}if($[Q]==="`"){K();continue}if($[Q]==="{"){Y++,Q++;continue}if($[Q]==="}"){Y--,Q++;continue}if(Y===0&&/[a-z]/i.test($[Q])&&(Q===0||/\s|[;{}()]/.test($[Q-1])))_();Q++}return Z}async function z1($,Z,J,Y,Q,X,G,K=new Set,q){let{extractVariables:_}=await Promise.resolve().then(() => (t1(),T5)),W=K??new Set;if(W.has($))return`[Circular component reference: ${$}]`;let z=new Set(W);z.add($);try{let U=(P)=>P.split("-").map((v)=>v.charAt(0).toUpperCase()+v.slice(1)).join(""),j=(P)=>P.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),B=$.endsWith(".stx")?$.slice(0,-4):$,O=null,F=Q.__importedComponents;if(F){let P=[B,B.toLowerCase(),U(B),j(B)];for(let v of P)if(F.has(v)){O=F.get(v);break}}let L=[];if(!O){let P=[`${B}.stx`,`${U(B)}.stx`,`${j(B)}.stx`],v=[...new Set(P)],g=Q.__originalFilePath,c=[];if(g){let a=n.join(n.dirname(g),"components");c.push(a)}if(Y)c.push(Y);let f=n.join(n.dirname(X),"components");if(!c.includes(f))c.push(f);if(G.componentsDir&&G.componentsDir!==Y&&!c.includes(G.componentsDir))c.push(G.componentsDir);let d=process.cwd(),W0=[n.resolve(d,"src/components"),n.resolve(d,"components"),n.resolve(import.meta.dir,"components")];for(let a of W0)if(!c.includes(a))c.push(a);if(B.startsWith("./")||B.startsWith("../"))O=n.resolve(n.dirname(X),`${B}.stx`),L.push(O);else for(let a of c){if(!a)continue;for(let Y0 of v){let w0=n.join(a,Y0);if(L.push(w0),await i(w0)){O=w0;break}}if(O)break;if(!O)try{let Y0=await import("fs");if(!Y0.statSync(a,{throwIfNoEntry:!1})?.isDirectory())continue;let N1=Y0.readdirSync(a,{withFileTypes:!0});for(let p1 of N1)if(p1.isDirectory()){let J7=n.join(a,p1.name);for(let b9 of v){let t=n.join(J7,b9);if(L.push(t),await i(t)){O=t;break}}if(O)break}}catch{}if(O)break}}if(!O||!await i(O)){let P=L.length>0?`
766
766
  Searched paths:
767
767
  ${L.map((v)=>` - ${v}`).join(`
768
- `)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${C}`}q.add(O);let H;if(p$.has(O))H=p$.get(O);else try{H=await Bun.file(O).text(),p$.set(O,H)}catch(C){return`[Error loading component: ${C instanceof Error?C.message:String(C)}]`}let V=new Set(["__originalFilePath","__importedComponents"]),R={};for(let[C,v]of Object.entries(Q))if(!C.startsWith("__")||V.has(C))R[C]=v;let N={...R,...Z,props:Z,slot:J,__processedComponents:W,__sections:{}},A=H,w=A.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>([\s\S]*?)<\/template>/i);if(w)A=w[1].trim();let M=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,E=[...H.matchAll(M)],T=[];for(let C of E){let v=C[1]||"",x=C[2]||"",l=v.includes("server");if(Q1(v)&&x.trim())x=G1(x);if(l&&x)try{await U(x,N,O)}catch(m){}if(!l){let m=x.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,""),_0=v.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");T.push(`<script${_0}>${m}</script>`)}}let I=H.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),D=I?I[1]:"",y=I?I[2]:"",b="",S=D&&/\bscoped\b/i.test(D);if(I)b=`<style${D}>${y}</style>`;let k=A;if(k=k.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),I)k=k.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");if(J&&k.includes("{{ text || slot }}"))k=k.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>J);let{extractSlotContent:f,applySlots:h}=await Promise.resolve().then(() => (n6(),i6)),{defaultSlot:p,namedSlots:z0}=f(J);k=await h(k,p||J,z0,N);for(let[C,v]of Object.entries(N))if(typeof v==="string"){if(v.includes("<")&&v.includes(">")||v.includes("&lt;")||v.includes("&quot;")){let x=x$(v);N[C]=x}}let M0=T.some((C)=>/\b(state|derived|effect)\s*\(/.test(C)),U0={...G,componentsDir:s.dirname(O),skipSignalsRuntime:!0,skipEventDirectives:M0,defaultLayout:void 0};N.__stxProcessingDepth=(Q.__stxProcessingDepth||0)+1;let b0=await r0(k,N,O,U0,q),P0=`stx_${B.replace(/[^a-zA-Z0-9]/g,"_")}_${++GJ}_${Math.random().toString(36).slice(2,8)}`,L0=b0;if(M0){let C="";if(Object.keys(Z).length>0)try{C=` data-stx-props="${KJ(JSON.stringify(Z))}"`}catch{}if(L0=`<div data-stx-scope="${P0}"${C}>${b0}</div>`,L0=T.map((x)=>{let l=x.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!l)return x;let[,g,m]=l,_0=n0(m),Z0=`
768
+ `)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${P}`}q.add(O);let H;if(o9.has(O))H=o9.get(O);else try{H=await Bun.file(O).text(),o9.set(O,H)}catch(P){return`[Error loading component: ${P instanceof Error?P.message:String(P)}]`}let V=new Set(["__originalFilePath","__importedComponents"]),N={};for(let[P,v]of Object.entries(Q))if(!P.startsWith("__")||V.has(P))N[P]=v;let w={...N,...Z,props:Z,slot:J,__processedComponents:z,__sections:{}},R=H,A=R.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>([\s\S]*?)<\/template>/i);if(A)R=A[1].trim();let T=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,I=[...H.matchAll(T)],M=[];for(let P of I){let v=P[1]||"",g=P[2]||"",c=v.includes("server");if(Q1(v)&&g.trim())g=G1(g);if(c&&g)try{await _(g,w,O)}catch(d){}if(!c){let d=g.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,""),W0=v.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");M.push(`<script${W0}>${d}</script>`)}}let E=H.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),k=E?E[1]:"",y=E?E[2]:"",S="",b=k&&/\bscoped\b/i.test(k);if(E)S=`<style${k}>${y}</style>`;let D=R;if(D=D.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),E)D=D.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");if(J&&D.includes("{{ text || slot }}"))D=D.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>J);let{extractSlotContent:x,applySlots:h}=await Promise.resolve().then(() => (Z3(),$3)),{defaultSlot:l,namedSlots:U0}=x(J);D=await h(D,l||J,U0,w);for(let[P,v]of Object.entries(w))if(typeof v==="string"){if(v.includes("<")&&v.includes(">")||v.includes("&lt;")||v.includes("&quot;")){let g=m9(v);w[P]=g}}let M0=M.some((P)=>/\b(state|derived|effect)\s*\(/.test(P)),_0={...G,componentsDir:n.dirname(O),skipSignalsRuntime:!0,skipEventDirectives:M0,defaultLayout:void 0};w.__stxProcessingDepth=(Q.__stxProcessingDepth||0)+1;let S0=await r0(D,w,O,_0,q),v0=`stx_${B.replace(/[^a-zA-Z0-9]/g,"_")}_${++wJ}_${Math.random().toString(36).slice(2,8)}`,L0=S0;if(M0){let P="";if(Object.keys(Z).length>0)try{P=` data-stx-props="${NJ(JSON.stringify(Z))}"`}catch{}if(L0=`<div data-stx-scope="${v0}"${P}>${S0}</div>`,L0=M.map((g)=>{let c=g.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!c)return g;let[,f,d]=c,W0=n0(d),a=`
769
769
  (function() {
770
770
  const { state, derived, effect, batch } = window.stx;
771
771
  const __scope = window.stx._scopes = window.stx._scopes || {};
772
- const __scopeVars = __scope['${P0}'] = __scope['${P0}'] || {};
772
+ const __scopeVars = __scope['${v0}'] = __scope['${v0}'] || {};
773
773
 
774
774
  // Scope-specific lifecycle callbacks
775
775
  __scopeVars.__mountCallbacks = __scopeVars.__mountCallbacks || [];
@@ -777,36 +777,39 @@ ${L.map((v)=>` - ${v}`).join(`
777
777
  const onMount = (fn) => __scopeVars.__mountCallbacks.push(fn);
778
778
  const onDestroy = (fn) => __scopeVars.__destroyCallbacks.push(fn);
779
779
 
780
- ${_0}
780
+ ${W0}
781
781
 
782
782
  // Register all defined signals and functions in this scope
783
783
  const __localVars = {};
784
784
  try {
785
- ${_J(_0).map((G0)=>`if (typeof ${G0} !== 'undefined') __localVars['${G0}'] = ${G0};`).join(`
785
+ ${AJ(W0).map((Y0)=>`if (typeof ${Y0} !== 'undefined') __localVars['${Y0}'] = ${Y0};`).join(`
786
786
  `)}
787
787
  }
788
788
  catch (e) {}
789
789
  Object.assign(__scopeVars, __localVars);
790
- })();`;return`<script data-stx-scoped${g}>${Z0}</script>`}).join(`
790
+ })();`;return`<script data-stx-scoped${f}>${a}</script>`}).join(`
791
791
  `)+`
792
- `+L0,b)L0+=`
793
- `+b}else{if(b)L0+=`
794
- `+b;if(T.length>0){let C=N.__stx_event_bindings||[],v=await Promise.all(T.map(async(x)=>{let l=x.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!l)return x;return await j5(l[1],{eventBindings:C,templateContent:L0,filePath:O,projectRoot:process.cwd()})}));L0+=`
792
+ `+L0,S)L0+=`
793
+ `+S}else{if(S)L0+=`
794
+ `+S;if(M.length>0){let P=w.__stx_event_bindings||[],v=await Promise.all(M.map(async(g)=>{let c=g.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!c)return g;return await L5(c[1],{eventBindings:P,templateContent:L0,filePath:O,projectRoot:process.cwd()})}));L0+=`
795
795
  `+v.join(`
796
- `),N.__stx_event_bindings=[]}}if(S){let C=F5(L0,O);if(C.hasScoped)L0=C.html}return L0}catch(z){return`[Error processing component: ${z instanceof Error?z.message:String(z)}]`}finally{_.delete($)}}async function c($){return Bun.file($).exists()}async function l$($,Z,J,Y){if(J.debug)console.log(`Resolving template path: ${$} from ${Z}`);let Q=s.dirname(Z);if($.startsWith("/")){let W=s.join(process.cwd(),$);if(J.debug)console.log(`Checking absolute path: ${W}`);if(await c(W)&&Y)Y.add(W);return W}let X=s.join(Q,$);if(await c(X)){if(J.debug)console.log(`Found direct path: ${X}`);if(Y)Y.add(X);return X}if(!$.endsWith(".stx")&&!$.endsWith(".jsx")&&!$.endsWith(".tsx"))for(let W of[".stx",".tsx",".jsx"]){let z=`${X}${W}`;if(await c(z)){if(J.debug)console.log(`Found direct path with extension: ${z}`);if(Y)Y.add(z);return z}}let G="",K=s.resolve(Q),q=process.cwd();for(let W=0;W<10;W++){let z=s.join(K,"layouts"),j=!1;try{j=QJ.statSync(z,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(j){G=z;break}let B=s.dirname(K);if(B===K||B.length<q.length)break;K=B}if(G){let W=$.startsWith("layouts/")?$.slice(8):$,z=s.join(G,W);if(await c(z)){if(J.debug)console.log(`Found in current layouts dir: ${z}`);if(Y)Y.add(z);return z}if(!W.endsWith(".stx")){let j=`${z}.stx`;if(await c(j)){if(J.debug)console.log(`Found in current layouts dir with extension: ${j}`);if(Y)Y.add(j);return j}}}if(J.layoutsDir){let W=s.isAbsolute(J.layoutsDir)?J.layoutsDir:s.resolve(process.cwd(),J.layoutsDir),z=$.startsWith("layouts/")?$.slice(8):$,j=s.join(W,z);if(await c(j)){if(J.debug)console.log(`Found in options.layoutsDir: ${j}`);if(Y)Y.add(j);return j}if(!$.endsWith(".stx")){let B=`${j}.stx`;if(await c(B)){if(J.debug)console.log(`Found in options.layoutsDir with extension: ${B}`);if(Y)Y.add(B);return B}}}if($.startsWith("layouts/")||$.includes("/layouts/")){let W=$.split("layouts/"),z=s.join(J.partialsDir||Q,"layouts",W[1]);if(await c(z)){if(J.debug)console.log(`Found in layouts path: ${z}`);if(Y)Y.add(z);return z}if(!z.endsWith(".stx")){let j=`${z}.stx`;if(await c(j)){if(J.debug)console.log(`Found in layouts path with extension: ${j}`);if(Y)Y.add(j);return j}}}if(J.partialsDir){if(G=s.join(J.partialsDir,"layouts"),await c(G)){let W=s.join(G,$);if(await c(W)){if(J.debug)console.log(`Found in partials layouts dir: ${W}`);if(Y)Y.add(W);return W}if(!$.endsWith(".stx")){let z=`${W}.stx`;if(await c(z)){if(J.debug)console.log(`Found in partials layouts dir with extension: ${z}`);if(Y)Y.add(z);return z}}}}let U=J.partialsDir||s.join(process.cwd(),"views"),_=s.join(U,$);if(await c(_)){if(J.debug)console.log(`Found in views path: ${_}`);if(Y)Y.add(_);return _}if(!$.endsWith(".stx")){let W=`${_}.stx`;if(await c(W)){if(J.debug)console.log(`Found in views path with extension: ${W}`);if(Y)Y.add(W);return W}}if(Q.includes("temp")){let W=s.join(s.dirname(Q),"layouts",$);if(await c(W)){if(J.debug)console.log(`Found in temp layouts dir: ${W}`);if(Y)Y.add(W);return W}if(!$.endsWith(".stx")){let z=`${W}.stx`;if(await c(z)){if(J.debug)console.log(`Found in temp layouts dir with extension: ${z}`);if(Y)Y.add(z);return z}}}if(J.debug)console.warn(`Template not found after trying all paths: ${$} (referenced from ${Z})`);else console.warn(`Template not found: ${$} (referenced from ${Z})`);return null}function o6($,Z,J){let Y=0,Q="",X="";try{if(typeof Z==="number"&&Z>=0){let G=$.split(`
797
- `),K=0;for(let q=0;q<G.length;q++)if(K+=G[q].length+1,K>=Z){Y=q+1,Q=G[q].trim();let U=Math.max(0,q-2),_=Math.min(G.length,q+3);X=G.slice(U,_).map((W,z)=>{let j=U+z+1;return`${j===Y?"> ":" "}${j}: ${W}`}).join(`
798
- `);break}}else if(J){let G=$.indexOf(J);if(G>=0)return o6($,G)}}catch{}return{lineNumber:Y,lineContent:Q,context:X}}function Q0($,Z,J,Y,Q,X){let{lineNumber:G,context:K}=o6(Y,Q,X),q=J.split("/").pop(),U=`
799
- ${n.bold}${n.red}\u256D\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256E${n.reset}
800
- `;if(U+=`${n.bold}${n.red}\u2502${n.reset} ${n.bold}${n.bgRed} ERROR ${n.reset} ${n.red}${$} Error${n.reset}${" ".repeat(Math.max(0,43-$.length))}${n.bold}${n.red}\u2502${n.reset}
801
- `,U+=`${n.bold}${n.red}\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256F${n.reset}
802
- `,U+=`
803
- ${n.cyan}${n.bold}File:${n.reset} ${n.dim}${q}${n.reset}`,G>0)U+=` ${n.gray}(line ${G})${n.reset}`;if(U+=`
804
- ${n.yellow}${n.bold}Message:${n.reset} ${Z}
805
- `,K)U+=`
806
- ${n.blue}${n.bold}Context:${n.reset}
807
- ${n.dim}${K}${n.reset}
808
- `;return U}var p$,GJ=0,n;var V0=P(()=>{P$();o0();T1();c$();h$();b6();s1();p$=new c1(500);n={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 s6($,Z,J=""){let Y=$,Q=[],X=/@markdown(?:\([^)]*\))?/g,G;while((G=X.exec($))!==null){let K=G.index,q=G[0].match(/@markdown\(([^)]*)\)/),U=q?q[1]:"",_=K+G[0].length,W=1,z=_,j=-1;while(W>0&&z<$.length){let F=$.indexOf("@markdown",z),L=$.indexOf("@endmarkdown",z);if(L===-1)break;if(F!==-1&&F<L&&F!==K){let H=$[F+9];if(H==="("||H===`
809
- `||H==="\r"||H===" "||H===void 0)W++;z=F+9}else{if(W--,W===0){j=L;break}z=L+12}}if(j===-1)continue;let B=$.slice(_,j),O=$.slice(K,j+12);Q.push({fullMatch:O,options:U,content:B,index:K}),X.lastIndex=j+12}for(let{fullMatch:K,options:q,content:U,index:_}of Q)try{let W={};if(q)q.split(",").forEach((B)=>{let O=B.trim();if(O)W[O]=!0});let z={gfm:W.gfm??!0,breaks:W.breaks??!1},j=m1(U.trim(),z);Y=Y.split(K).join(j)}catch(W){let z=W instanceof Error?W.message:String(W),j=Q0("Markdown Directive",`Error processing markdown: ${z}`,J,$,_,K);Y=Y.split(K).join(j)}return Y}async function r6($,Z,J,Y){let Q={gfm:!0,breaks:!1};return Z.forEach((X)=>{let G=X.trim().replace(/['"]/g,"");if(G==="breaks")Q.breaks=!0;if(G==="no-gfm")Q.gfm=!1}),m1($.trim(),Q)}var i$=P(()=>{V0()});function zJ($){if(UJ.set($.name,$),$.client)WJ.set($.name,$.client)}function A5($){return zJ($),{name:$.name,hasEndTag:$.hasEndTag??!0,description:$.description,handler:async(J,Y,Q,X)=>{let G=BJ(Y,$.defaults);if($.validate){let q=$.validate(G);if(q!==!0){let U=typeof q==="string"?q:`Invalid parameters for @${$.name}`;throw Error(U)}}let K=J;if($.transform)K=await $.transform(J,G,Q,X);if($.clientScript){let q=$.clientScript(G);K+=`<script>${q}</script>`}if($.css){let q=$.css(G);K+=`<style>${q}</style>`}return K}}}function BJ($,Z){let J={...Z};for(let Y of $){let Q=Y.indexOf(":"),X=Y.indexOf("="),G=Q>=0&&(X<0||Q<X)?Q:X;if(G>=0){let K=Y.slice(0,G).trim(),q=Y.slice(G+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{}J[K]=q}else{let K=Object.keys(J).filter((q)=>!Z||!(q in Z)).length;J[K===0?"value":`arg${K}`]=Y}}return J}var UJ,WJ;var n$=P(()=>{UJ=new Map,WJ=new Map});function o$($,Z=M1,J={},Y){return Z.sort((Q,X)=>Q-X).map((Q)=>{return`${a1($,{...J,w:Q,fm:Y})} ${Q}w`}).join(", ")}function a6($,Z,J=jJ,Y={},Q){return J.sort((X,G)=>X-G).map((X)=>{let G=Math.round(Z*X);return`${a1($,{...Y,w:G,dpr:X,fm:Q})} ${X}x`}).join(", ")}function s$($,Z="100vw"){if(!$||Object.keys($).length===0)return Z;let Y=Object.entries($).map(([Q,X])=>{let G=/^\d+$/.test(Q)?`${Q}px`:Q;return{bp:G,size:X,numericBp:Number.parseInt(G)||0}}).sort((Q,X)=>Q.numericBp-X.numericBp).map(({bp:Q,size:X})=>`(max-width: ${Q}) ${X}`);return Y.push(Z),Y.join(", ")}function a1($,Z={}){let J=Object.entries(Z).filter(([,X])=>X!==void 0&&X!==null).map(([X,G])=>{if(Array.isArray(G))return[X,G.join(",")];return[X,String(G)]});if(J.length===0)return $;let Y=J.map(([X,G])=>`${X}=${encodeURIComponent(G)}`).join("&"),Q=$.includes("?")?"&":"?";return`${$}${Q}${Y}`}function r$($){return OJ[$]||"application/octet-stream"}var M1,jJ,r1,OJ;var a$=P(()=>{M1=[320,480,640,768,1024,1280,1536,1920,2560],jJ=[1,1.5,2,3],r1=["avif","webp","jpeg"],OJ={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"}});async function LJ(){try{return await import("ts-images")}catch{return null}}async function FJ($,Z={}){let J={...HJ,...Z},Y=await LJ();if(Y)try{return await VJ($,J,Y)}catch(Q){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${Q}`)}return NJ($,J)}async function VJ($,Z,J){let{generatePlaceholder:Y,generateThumbHash:Q}=J,G={blur:"blur",thumbhash:"thumbhash",blurhash:"thumbhash",pixelate:"pixelate","dominant-color":"dominant-color",none:"blur"}[Z.strategy]||"blur";if(Z.strategy==="thumbhash")return{dataURL:(await Q($)).dataUrl,width:32,height:32,aspectRatio:1,originalWidth:0,originalHeight:0,strategy:"thumbhash"};let K=await Y($,{width:Z.width,height:Z.height,quality:Z.quality,blurLevel:Z.blurLevel,strategy:G,base64Encode:!0});return{dataURL:K.dataURL,width:K.width,height:K.height,aspectRatio:K.aspectRatio,originalWidth:K.originalWidth,originalHeight:K.originalHeight,strategy:Z.strategy,dominantColor:K.dominantColor,css:K.css}}function NJ($,Z){let J=Z.width||20,Y=Z.height||J,Q="#e5e7eb",X=`<svg xmlns="http://www.w3.org/2000/svg" width="${J}" height="${Y}" viewBox="0 0 ${J} ${Y}"><rect fill="#e5e7eb" width="${J}" height="${Y}"/></svg>`;return{dataURL:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(X)}`,width:J,height:Y,aspectRatio:J/Y,originalWidth:0,originalHeight:0,strategy:Z.strategy,dominantColor:"#e5e7eb"}}function t6($,Z,J={}){let Y=J.transitionDuration||300,Q=J.easing||"ease-out";return`
796
+ `),w.__stx_event_bindings=[]}}if(b){let P=N5(L0,O);if(P.hasScoped)L0=P.html}return L0}catch(U){return`[Error processing component: ${U instanceof Error?U.message:String(U)}]`}finally{W.delete($)}}async function i($){return Bun.file($).exists()}function Y3($,Z){let J=n.resolve(Z),Y=n.resolve($),Q=J.endsWith(n.sep)?J:J+n.sep;if(Y===J||Y.startsWith(Q))return Y;return null}async function s9($,Z,J,Y){let Q=await TJ($,Z,J,Y);if(Q===null)return null;let X=Y3(Q,process.cwd());if(!X)return console.warn(`[stx] rejected resolved template path that escapes project root: ${Q} (template: ${$}, from: ${Z})`),null;return X}async function TJ($,Z,J,Y){if(J.debug)console.log(`Resolving template path: ${$} from ${Z}`);let Q=n.dirname(Z),X=process.cwd();if($.startsWith("/")){let U=n.join(X,$),j=Y3(U,X);if(!j)return console.warn(`[stx] rejected template path that escapes project root: ${$} (from ${Z})`),null;if(J.debug)console.log(`Checking absolute path: ${j}`);if(await i(j)&&Y)Y.add(j);return j}let G=n.join(Q,$);if(await i(G)){if(J.debug)console.log(`Found direct path: ${G}`);if(Y)Y.add(G);return G}if(!$.endsWith(".stx")&&!$.endsWith(".jsx")&&!$.endsWith(".tsx"))for(let U of[".stx",".tsx",".jsx"]){let j=`${G}${U}`;if(await i(j)){if(J.debug)console.log(`Found direct path with extension: ${j}`);if(Y)Y.add(j);return j}}let K="",q=n.resolve(Q),_=process.cwd();for(let U=0;U<10;U++){let j=n.join(q,"layouts"),B=!1;try{B=VJ.statSync(j,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(B){K=j;break}let O=n.dirname(q);if(O===q||O.length<_.length)break;q=O}if(K){let U=$.startsWith("layouts/")?$.slice(8):$,j=n.join(K,U);if(await i(j)){if(J.debug)console.log(`Found in current layouts dir: ${j}`);if(Y)Y.add(j);return j}if(!U.endsWith(".stx")){let B=`${j}.stx`;if(await i(B)){if(J.debug)console.log(`Found in current layouts dir with extension: ${B}`);if(Y)Y.add(B);return B}}}if(J.layoutsDir){let U=n.isAbsolute(J.layoutsDir)?J.layoutsDir:n.resolve(process.cwd(),J.layoutsDir),j=$.startsWith("layouts/")?$.slice(8):$,B=n.join(U,j);if(await i(B)){if(J.debug)console.log(`Found in options.layoutsDir: ${B}`);if(Y)Y.add(B);return B}if(!$.endsWith(".stx")){let O=`${B}.stx`;if(await i(O)){if(J.debug)console.log(`Found in options.layoutsDir with extension: ${O}`);if(Y)Y.add(O);return O}}}if($.startsWith("layouts/")||$.includes("/layouts/")){let U=$.split("layouts/"),j=n.join(J.partialsDir||Q,"layouts",U[1]);if(await i(j)){if(J.debug)console.log(`Found in layouts path: ${j}`);if(Y)Y.add(j);return j}if(!j.endsWith(".stx")){let B=`${j}.stx`;if(await i(B)){if(J.debug)console.log(`Found in layouts path with extension: ${B}`);if(Y)Y.add(B);return B}}}if(J.partialsDir){if(K=n.join(J.partialsDir,"layouts"),await i(K)){let U=n.join(K,$);if(await i(U)){if(J.debug)console.log(`Found in partials layouts dir: ${U}`);if(Y)Y.add(U);return U}if(!$.endsWith(".stx")){let j=`${U}.stx`;if(await i(j)){if(J.debug)console.log(`Found in partials layouts dir with extension: ${j}`);if(Y)Y.add(j);return j}}}}let W=J.partialsDir||n.join(process.cwd(),"views"),z=n.join(W,$);if(await i(z)){if(J.debug)console.log(`Found in views path: ${z}`);if(Y)Y.add(z);return z}if(!$.endsWith(".stx")){let U=`${z}.stx`;if(await i(U)){if(J.debug)console.log(`Found in views path with extension: ${U}`);if(Y)Y.add(U);return U}}if(Q.includes("temp")){let U=n.join(n.dirname(Q),"layouts",$);if(await i(U)){if(J.debug)console.log(`Found in temp layouts dir: ${U}`);if(Y)Y.add(U);return U}if(!$.endsWith(".stx")){let j=`${U}.stx`;if(await i(j)){if(J.debug)console.log(`Found in temp layouts dir with extension: ${j}`);if(Y)Y.add(j);return j}}}if(J.debug)console.warn(`Template not found after trying all paths: ${$} (referenced from ${Z})`);else console.warn(`Template not found: ${$} (referenced from ${Z})`);return null}function J3($,Z,J){let Y=0,Q="",X="";try{if(typeof Z==="number"&&Z>=0){let G=$.split(`
797
+ `),K=0;for(let q=0;q<G.length;q++)if(K+=G[q].length+1,K>=Z){Y=q+1,Q=G[q].trim();let _=Math.max(0,q-2),W=Math.min(G.length,q+3);X=G.slice(_,W).map((z,U)=>{let j=_+U+1;return`${j===Y?"> ":" "}${j}: ${z}`}).join(`
798
+ `);break}}else if(J){let G=$.indexOf(J);if(G>=0)return J3($,G)}}catch{}return{lineNumber:Y,lineContent:Q,context:X}}function Q0($,Z,J,Y,Q,X){let{lineNumber:G,context:K}=J3(Y,Q,X),q=J.split("/").pop(),_=0;if(typeof Q==="number"&&Q>=0&&Y){let z=Y.lastIndexOf(`
799
+ `,Math.max(0,Q-1));_=Q-(z+1)+1}let W="";if(G>0)W+=`
800
+ ${J}:${G}${_>0?`:${_}`:""}: ${$.toLowerCase()} error: ${Z}
801
+ `;if(W+=`
802
+ ${o.bold}${o.red}\u256D\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256E${o.reset}
803
+ `,W+=`${o.bold}${o.red}\u2502${o.reset} ${o.bold}${o.bgRed} ERROR ${o.reset} ${o.red}${$} Error${o.reset}${" ".repeat(Math.max(0,43-$.length))}${o.bold}${o.red}\u2502${o.reset}
804
+ `,W+=`${o.bold}${o.red}\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256F${o.reset}
805
+ `,W+=`
806
+ ${o.cyan}${o.bold}File:${o.reset} ${o.dim}${q}${o.reset}`,G>0)W+=` ${o.gray}(line ${G}${_>0?`, col ${_}`:""})${o.reset}`;if(W+=`
807
+ ${o.yellow}${o.bold}Message:${o.reset} ${Z}
808
+ `,K)W+=`
809
+ ${o.blue}${o.bold}Context:${o.reset}
810
+ ${o.dim}${K}${o.reset}
811
+ `;return W}var o9,wJ=0,o;var F0=C(()=>{h9();o0();M1();r9();R1();l9();h7();t1();o9=new o1(500);o={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 X3($,Z,J=""){let Y=$,Q=[],X=/@markdown(?:\([^)]*\))?/g,G;while((G=X.exec($))!==null){let K=G.index,q=G[0].match(/@markdown\(([^)]*)\)/),_=q?q[1]:"",W=K+G[0].length,z=1,U=W,j=-1;while(z>0&&U<$.length){let F=$.indexOf("@markdown",U),L=$.indexOf("@endmarkdown",U);if(L===-1)break;if(F!==-1&&F<L&&F!==K){let H=$[F+9];if(H==="("||H===`
812
+ `||H==="\r"||H===" "||H===void 0)z++;U=F+9}else{if(z--,z===0){j=L;break}U=L+12}}if(j===-1)continue;let B=$.slice(W,j),O=$.slice(K,j+12);Q.push({fullMatch:O,options:_,content:B,index:K}),X.lastIndex=j+12}for(let{fullMatch:K,options:q,content:_,index:W}of Q)try{let z={};if(q)q.split(",").forEach((B)=>{let O=B.trim();if(O)z[O]=!0});let U={gfm:z.gfm??!0,breaks:z.breaks??!1},j=l1(_.trim(),U);Y=Y.split(K).join(j)}catch(z){let U=z instanceof Error?z.message:String(z),j=Q0("Markdown Directive",`Error processing markdown: ${U}`,J,$,W,K);Y=Y.split(K).join(j)}return Y}async function Q3($,Z,J,Y){let Q={gfm:!0,breaks:!1};return Z.forEach((X)=>{let G=X.trim().replace(/['"]/g,"");if(G==="breaks")Q.breaks=!0;if(G==="no-gfm")Q.gfm=!1}),l1($.trim(),Q)}var a9=C(()=>{F0()});function DJ($){if(MJ.set($.name,$),$.client)IJ.set($.name,$.client)}function M5($){return DJ($),{name:$.name,hasEndTag:$.hasEndTag??!0,description:$.description,handler:async(J,Y,Q,X)=>{let G=EJ(Y,$.defaults);if($.validate){let q=$.validate(G);if(q!==!0){let _=typeof q==="string"?q:`Invalid parameters for @${$.name}`;throw Error(_)}}let K=J;if($.transform)K=await $.transform(J,G,Q,X);if($.clientScript){let q=$.clientScript(G);K+=`<script>${q}</script>`}if($.css){let q=$.css(G);K+=`<style>${q}</style>`}return K}}}function EJ($,Z){let J={...Z};for(let Y of $){let Q=Y.indexOf(":"),X=Y.indexOf("="),G=Q>=0&&(X<0||Q<X)?Q:X;if(G>=0){let K=Y.slice(0,G).trim(),q=Y.slice(G+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{}J[K]=q}else{let K=Object.keys(J).filter((q)=>!Z||!(q in Z)).length;J[K===0?"value":`arg${K}`]=Y}}return J}var MJ,IJ;var t9=C(()=>{MJ=new Map,IJ=new Map});function e9($,Z=I1,J={},Y){return Z.sort((Q,X)=>Q-X).map((Q)=>{return`${$5($,{...J,w:Q,fm:Y})} ${Q}w`}).join(", ")}function G3($,Z,J=kJ,Y={},Q){return J.sort((X,G)=>X-G).map((X)=>{let G=Math.round(Z*X);return`${$5($,{...Y,w:G,dpr:X,fm:Q})} ${X}x`}).join(", ")}function $$($,Z="100vw"){if(!$||Object.keys($).length===0)return Z;let Y=Object.entries($).map(([Q,X])=>{let G=/^\d+$/.test(Q)?`${Q}px`:Q;return{bp:G,size:X,numericBp:Number.parseInt(G)||0}}).sort((Q,X)=>Q.numericBp-X.numericBp).map(({bp:Q,size:X})=>`(max-width: ${Q}) ${X}`);return Y.push(Z),Y.join(", ")}function $5($,Z={}){let J=Object.entries(Z).filter(([,X])=>X!==void 0&&X!==null).map(([X,G])=>{if(Array.isArray(G))return[X,G.join(",")];return[X,String(G)]});if(J.length===0)return $;let Y=J.map(([X,G])=>`${X}=${encodeURIComponent(G)}`).join("&"),Q=$.includes("?")?"&":"?";return`${$}${Q}${Y}`}function Z$($){return bJ[$]||"application/octet-stream"}var I1,kJ,e1,bJ;var Y$=C(()=>{I1=[320,480,640,768,1024,1280,1536,1920,2560],kJ=[1,1.5,2,3],e1=["avif","webp","jpeg"],bJ={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"}});async function yJ(){try{return await import("ts-images")}catch{return null}}async function CJ($,Z={}){let J={...SJ,...Z},Y=await yJ();if(Y)try{return await PJ($,J,Y)}catch(Q){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${Q}`)}return vJ($,J)}async function PJ($,Z,J){let{generatePlaceholder:Y,generateThumbHash:Q}=J,G={blur:"blur",thumbhash:"thumbhash",blurhash:"thumbhash",pixelate:"pixelate","dominant-color":"dominant-color",none:"blur"}[Z.strategy]||"blur";if(Z.strategy==="thumbhash")return{dataURL:(await Q($)).dataUrl,width:32,height:32,aspectRatio:1,originalWidth:0,originalHeight:0,strategy:"thumbhash"};let K=await Y($,{width:Z.width,height:Z.height,quality:Z.quality,blurLevel:Z.blurLevel,strategy:G,base64Encode:!0});return{dataURL:K.dataURL,width:K.width,height:K.height,aspectRatio:K.aspectRatio,originalWidth:K.originalWidth,originalHeight:K.originalHeight,strategy:Z.strategy,dominantColor:K.dominantColor,css:K.css}}function vJ($,Z){let J=Z.width||20,Y=Z.height||J,Q="#e5e7eb",X=`<svg xmlns="http://www.w3.org/2000/svg" width="${J}" height="${Y}" viewBox="0 0 ${J} ${Y}"><rect fill="#e5e7eb" width="${J}" height="${Y}"/></svg>`;return{dataURL:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(X)}`,width:J,height:Y,aspectRatio:J/Y,originalWidth:0,originalHeight:0,strategy:Z.strategy,dominantColor:"#e5e7eb"}}function K3($,Z,J={}){let Y=J.transitionDuration||300,Q=J.easing||"ease-out";return`
810
813
  #${$} {
811
814
  --stx-img-transition-duration: ${Y}ms;
812
815
  --stx-img-transition-easing: ${Q};
@@ -823,7 +826,7 @@ ${n.dim}${K}${n.reset}
823
826
  #${$}.stx-img-loaded img {
824
827
  opacity: 1;
825
828
  }
826
- `.trim()}async function e6($,Z={}){let J=`${$}:${JSON.stringify(Z)}`;if(t$.has(J))return t$.get(J);let Y=await FJ($,Z);return t$.set(J,Y),Y}var HJ,e$,t$;var $Z=P(()=>{HJ={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},e$=`
829
+ `.trim()}async function q3($,Z={}){let J=`${$}:${JSON.stringify(Z)}`;if(J$.has(J))return J$.get(J);let Y=await CJ($,Z);return J$.set(J,Y),Y}var SJ,X$,J$;var W3=C(()=>{SJ={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},X$=`
827
830
  .stx-img-placeholder {
828
831
  position: relative;
829
832
  overflow: hidden;
@@ -852,20 +855,20 @@ ${n.dim}${K}${n.reset}
852
855
  filter: blur(0);
853
856
  transform: scale(1);
854
857
  }
855
- `.trim();t$=new Map});import{createHash as YZ}from"crypto";import{readFile as RJ,stat as JZ}from"fs/promises";async function A0($){try{let Z=await RJ($);return YZ("sha256").update(Z).digest("hex").slice(0,16)}catch{return""}}function ZZ($){return YZ("sha256").update($).digest("hex").slice(0,16)}function w5($,Z){let J=JSON.stringify(Z,Object.keys(Z).sort());return`${ZZ($)}-${ZZ(J)}`}async function $4($){try{return(await JZ($)).mtimeMs}catch{return 0}}async function N0($){try{return await JZ($),!0}catch{return!1}}var z1=()=>{};import{mkdir as AJ,readFile as wJ,writeFile as TJ,readdir as HU,rm as MJ,stat as LU}from"fs/promises";import{join as QZ,dirname as IJ}from"path";async function EJ($){try{await AJ($,{recursive:!0})}catch{}}function GZ($,Z,J){return QZ($,J,`${Z}.json`)}async function XZ($,Z,J){if((Date.now()-$.createdAt)/86400000>J)return!1;if(await $4(Z)!==$.srcMtime)return!1;return!0}async function T5($,Z,J,Y=Z4){if(!Y.enabled)return null;let Q=w5($,Z),X=I1.get(Q);if(X){if(await XZ(X,$,Y.maxAge))return X.lastAccessedAt=Date.now(),X.data;I1.delete(Q)}let G=GZ(Y.directory,Q,J);if(await N0(G))try{let K=await wJ(G,"utf-8"),q=JSON.parse(K);if(await XZ(q,$,Y.maxAge))return q.lastAccessedAt=Date.now(),I1.set(Q,q),q.data}catch{}return null}async function M5($,Z,J,Y,Q=Z4){if(!Q.enabled)return;let X=w5($,Z),G=await A0($),K=await $4($),q={key:X,src:$,srcHash:G,srcMtime:K,optionsHash:w5("",Z),data:J,createdAt:Date.now(),lastAccessedAt:Date.now()};I1.set(X,q);let U=GZ(Q.directory,X,Y);try{await EJ(IJ(U)),await TJ(U,JSON.stringify(q,null,2))}catch(_){console.warn(`[stx-media] Failed to write cache: ${_}`)}}async function I5($,Z=Z4){if($==="all")I1.clear();else I1.clear();let J=$==="all"?["image","video"]:[$];for(let Y of J){let Q=QZ(Z.directory,Y);try{await MJ(Q,{recursive:!0,force:!0})}catch{}}}var I1,Z4;var Y4=P(()=>{z1();I1=new Map,Z4={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class D5{config;constructor($={}){this.config={...DJ,...$}}async get($,Z){return T5($,Z,"image",this.config)}async set($,Z,J){return M5($,Z,J,"image",this.config)}async clear(){return I5("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function J4($){if(!E5)E5=new D5($);else if($)E5.updateConfig($);return E5}async function k5($,Z,J){let Y=J?{directory:`${J.outputDir}/../.cache`}:{};return J4(Y).get($,Z)}async function S5($,Z,J,Y){let Q=Y?{directory:`${Y.outputDir}/../.cache`}:{};return J4(Q).set($,Z,J)}async function KZ(){return J4().clear()}var DJ,E5=null;var X4=P(()=>{Y4();DJ={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as kJ,basename as SJ,extname as bJ,join as yJ}from"path";import{mkdir as CJ}from"fs/promises";async function Q4(){try{return await import("ts-images")}catch{return null}}function qZ($){switch($){case"quality":return{jpeg:{quality:90,mozjpeg:!0,progressive:!0},png:{compressionLevel:6,palette:!1},webp:{quality:90,effort:6,smartSubsample:!0},avif:{quality:85,effort:6}};case"performance":return{jpeg:{quality:70,mozjpeg:!0,progressive:!0},png:{compressionLevel:9,palette:!0},webp:{quality:70,effort:4,smartSubsample:!0},avif:{quality:60,effort:2}};case"web":default:return{jpeg:{quality:82,mozjpeg:!0,progressive:!0},png:{compressionLevel:8,palette:!1},webp:{quality:82,effort:5,smartSubsample:!0},avif:{quality:75,effort:4}}}}function PJ($,Z){let J=Z?qZ(Z):qZ("web"),Y=$.formatQuality||{};return{jpeg:{...J.jpeg,...Y.jpeg},png:{...J.png,...Y.png},webp:{...J.webp,...Y.webp},avif:{...J.avif,...Y.avif}}}async function _Z($,Z,J){let Y=await Q4();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let Q=await k5($,Z,J);if(Q)return Q;try{let X=kJ($);if(!await N0(X))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let G=PJ(J,Z.preset),K=J.outputDir||"dist/images",q=J.baseUrl||"/images";await CJ(K,{recursive:!0});let U=await A0(X),_=SJ($,bJ($)),W=Z.outputFormat?[Z.outputFormat]:J.defaultFormats||["avif","webp","jpeg"],z={src:$,processed:!0,variants:[],hash:U},j=null;if(Z.transformations&&Z.transformations.length>0)j=await G4(X,Z.transformations,Y);for(let B of W){let O=G[B]||{},F=`${_}-${U}.${B}`,L=yJ(K,F);try{let H=await Y.optimizeImage({input:j||X,output:L,format:B,quality:O.quality,progressive:O.progressive});if(H){if(z.variants.push({path:L,url:`${q}/${F}`,width:H.width||0,height:H.height||0,format:B,size:H.outputSize||0}),!z.originalWidth&&H.width)z.originalWidth=H.width,z.originalHeight=H.height}}catch(H){z.errors=z.errors||[],z.errors.push(`Failed to optimize ${B}: ${H}`)}}if(Z.embedThumbhash||Z.placeholder==="thumbhash")try{let B=await Y.generateThumbHash(X);z.placeholder=B.dataUrl}catch(B){z.errors=z.errors||[],z.errors.push(`Failed to generate thumbhash: ${B}`)}if(Z.useDominantColor)try{let B=await Y.generatePlaceholder(X,{strategy:"dominant-color"});z.dominantColor=B.dominantColor}catch(B){z.errors=z.errors||[],z.errors.push(`Failed to extract dominant color: ${B}`)}return await S5($,Z,z,J),z}catch(X){return{src:$,processed:!1,errors:[`Processing failed: ${X}`]}}}async function UZ($,Z,J,Y){let Q=await Q4();if(!Q)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await Q.optimizeImage({input:$,output:Y,format:Z,quality:J}))?.outputSize}}catch(X){return{success:!1,error:String(X)}}}async function G4($,Z,J){let Y=J||await Q4();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let Q=await Y.decode($);for(let X of Z){let G=X.options||{};switch(X.type){case"resize":if(G.width||G.height)Q=await Y.resize(Q,{width:G.width,height:G.height,fit:G.fit});break;case"blur":if(G.sigma!==void 0)Q=await Y.blur(Q,G.sigma);break;case"sharpen":if(G.amount!==void 0)Q=await Y.sharpen(Q,G.amount);break;case"grayscale":Q=await Y.grayscale(Q);break;case"rotate":if(G.angle!==void 0)Q=await Y.rotate(Q,G.angle);break;case"flip":Q=await Y.flip(Q);break;case"flop":Q=await Y.flop(Q);break;case"brightness":if(G.value!==void 0)Q=await Y.brightness(Q,G.value);break;case"contrast":if(G.value!==void 0)Q=await Y.contrast(Q,G.value);break;case"saturation":if(G.value!==void 0)Q=await Y.saturation(Q,G.value);break}}return await Y.encode(Q,"png")}catch(Q){return console.error(`[stx-media] Transformation failed: ${Q}`),null}}var WZ=P(()=>{z1();X4()});import{resolve as vJ,basename as xJ,extname as fJ,join as gJ}from"path";import{mkdir as hJ}from"fs/promises";async function dJ(){try{return await import("ts-images")}catch{return null}}async function zZ($,Z,J){let Y=await dJ();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let Q=vJ($);if(!await N0(Q))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let X=Z.responsiveWidths||J.breakpoints||mJ,G=Z.formats||J.defaultFormats||["avif","webp","jpeg"],K=J.outputDir||"dist/images",q=J.baseUrl||"/images";await hJ(K,{recursive:!0});let U=await A0(Q),_=xJ($,fJ($)),W=J.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},z={src:$,byFormat:{},srcsets:{}};for(let B of G){z.byFormat[B]=[];let O=[];for(let F of X){let L=`${_}-${F}w-${U}.${B}`,H=gJ(K,L),V=`${q}/${L}`;try{let R=W[B]?.quality||80;if(await N0(H)){z.byFormat[B].push({path:H,url:V,width:F,height:0,format:B,size:0}),O.push(`${V} ${F}w`);continue}let N=await Y.processImage({input:Q,output:H,format:B,quality:R,resize:{width:F}});if(N)z.byFormat[B].push({path:H,url:V,width:F,height:N.height||Math.round(F*(N.height||1)/(N.width||1)),format:B,size:N.outputSize||0}),O.push(`${V} ${F}w`)}catch(R){console.warn(`[stx-media] Failed to generate ${B} at ${F}w: ${R}`)}}z.srcsets[B]=O.join(", ")}let j=Z.placeholder||J.placeholderStrategy||"thumbhash";if(j!=="none")try{if(j==="thumbhash"){let B=await Y.generateThumbHash(Q);z.placeholder={dataURL:B.dataUrl,width:B.width||32,height:B.height||32,strategy:"thumbhash"}}else{let B=await Y.generatePlaceholder(Q,{strategy:j,width:20});z.placeholder={dataURL:B.dataURL,width:B.width,height:B.height,strategy:j}}}catch(B){console.warn(`[stx-media] Failed to generate placeholder: ${B}`)}return z.sizes=Z.sizes||uJ(X),z}catch(X){return console.error(`[stx-media] Responsive generation failed: ${X}`),null}}function uJ($){let Z=[...$].sort((Y,Q)=>Y-Q),J=[];for(let Y=0;Y<Z.length-1;Y++){let Q=Z[Y];J.push(`(max-width: ${Q}px) ${Q}px`)}return J.push(`${Z[Z.length-1]}px`),J.join(", ")}function BZ($,Z="width"){if(!$||$.length===0)return"";if(Z==="dpr")return $.filter((J)=>J.dpr).map((J)=>`${J.url} ${J.dpr}x`).join(", ");return $.map((J)=>`${J.url} ${J.width}w`).join(", ")}var mJ;var jZ=P(()=>{z1();mJ=[320,480,640,768,1024,1280,1536,1920]});var OZ={};r(OZ,{setCachedImageResult:()=>S5,processImage:()=>_Z,optimizeImage:()=>UZ,getCachedImageResult:()=>k5,generateSrcset:()=>BZ,generateResponsiveVariants:()=>zZ,clearImageCache:()=>KZ,applyTransformations:()=>G4,ImageProcessorCache:()=>D5});var HZ=P(()=>{WZ();jZ();X4()});async function pJ(){try{return await Promise.resolve().then(() => (HZ(),OZ))}catch($){if(!LZ)console.warn("[stx-media] Image processor not available, some features disabled:",$),LZ=!0;return null}}async function b5($,Z={}){let J=Z,Y=$;if(Y.process&&!Y.skipOptimization){if(J.tsImagesConfig?.enabled&&!J.isDev)return nJ(Y,J)}if(J.processedResult?.processed)return U4($,J.processedResult,Z);if(J.responsiveVariants)return RZ($,J.responsiveVariants,Z);let{src:Q,alt:X,width:G,height:K,sizes:q,widths:U=M1,dpr:_,formats:W=r1,quality:z=K4,params:j={},placeholder:B="none",placeholderOptions:O={},lazy:F=!0,priority:L=!1,loading:H=L?"eager":C5,decoding:V=y5,fetchpriority:R,objectFit:N,objectPosition:A,crossorigin:w,referrerpolicy:M}=$,E=$.class,T=$.style,I=$.id,D=$.data||{},{isDev:y=!1,baseUrl:b=""}=Z;if(y&&!Z.optimize)return iJ($);let S,k,f=I||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(B!=="none"&&!L)try{S=await e6(Q,{strategy:B,...O}),k=t6(f,S,O)}catch{}let h=_!==void 0&&G!==void 0,p;if(h)p=cJ($,f,S,Z);else p=await lJ($,f,S,Z);let z0;if(L){let b0=W.includes("webp")?"webp":W[0],P0=o$(Q,U,{...j,q:z},b0),L0=typeof q==="object"?s$(q):q||"100vw";z0=`<link rel="preload" as="image" imagesrcset="${P0}" imagesizes="${L0}" />`}let M0=[];if(!FZ&&B!=="none")M0.push(e$),FZ=!0;if(k)M0.push(k);let U0=F?NZ(f):void 0;return{html:p,preloadLink:z0,css:M0.length>0?M0.join(`
856
- `):void 0,script:U0}}async function lJ($,Z,J,Y){let{src:Q,alt:X,width:G,height:K,sizes:q,widths:U=M1,formats:_=r1,quality:W=K4,params:z={},lazy:j=!0,priority:B=!1,loading:O=B?"eager":C5,decoding:F=y5,fetchpriority:L,objectFit:H,objectPosition:V,crossorigin:R,referrerpolicy:N}=$,A=$.class,w=$.style,M=$.data||{},E=typeof q==="object"?s$(q):q||"100vw",T=[];for(let y of _){let b=o$(Q,U,{...z,q:W},y),S=r$(y);if(j&&!B)T.push(` <source type="${S}" data-srcset="${b}" data-sizes="${E}" />`);else T.push(` <source type="${S}" srcset="${b}" sizes="${E}" />`)}let I=q4({src:a1(Q,{...z,q:W}),alt:X,width:G,height:K,loading:B?void 0:O,decoding:F,fetchpriority:B?"high":L,objectFit:H,objectPosition:V,crossorigin:R,referrerpolicy:N,className:VZ(A,J),style:_4(w,H,V,J),lazy:j&&!B,data:M}),D;if(J){let y=`background-image: url('${J.dataURL}'); background-size: cover; background-position: center;`;D=`<div id="${Z}" class="stx-img-placeholder" style="${y}">
858
+ `.trim();J$=new Map});import{createHash as z3}from"crypto";import{readFile as xJ,stat as U3}from"fs/promises";async function R0($){try{let Z=await xJ($);return z3("sha256").update(Z).digest("hex").slice(0,16)}catch{return""}}function _3($){return z3("sha256").update($).digest("hex").slice(0,16)}function I5($,Z){let J=JSON.stringify(Z,Object.keys(Z).sort());return`${_3($)}-${_3(J)}`}async function Q$($){try{return(await U3($)).mtimeMs}catch{return 0}}async function V0($){try{return await U3($),!0}catch{return!1}}var U1=()=>{};import{mkdir as fJ,readFile as gJ,writeFile as hJ,readdir as f_,rm as dJ,stat as g_}from"fs/promises";import{join as j3,dirname as mJ}from"path";async function uJ($){try{await fJ($,{recursive:!0})}catch{}}function O3($,Z,J){return j3($,J,`${Z}.json`)}async function B3($,Z,J){if((Date.now()-$.createdAt)/86400000>J)return!1;if(await Q$(Z)!==$.srcMtime)return!1;return!0}async function D5($,Z,J,Y=G$){if(!Y.enabled)return null;let Q=I5($,Z),X=D1.get(Q);if(X){if(await B3(X,$,Y.maxAge))return X.lastAccessedAt=Date.now(),X.data;D1.delete(Q)}let G=O3(Y.directory,Q,J);if(await V0(G))try{let K=await gJ(G,"utf-8"),q=JSON.parse(K);if(await B3(q,$,Y.maxAge))return q.lastAccessedAt=Date.now(),D1.set(Q,q),q.data}catch{}return null}async function E5($,Z,J,Y,Q=G$){if(!Q.enabled)return;let X=I5($,Z),G=await R0($),K=await Q$($),q={key:X,src:$,srcHash:G,srcMtime:K,optionsHash:I5("",Z),data:J,createdAt:Date.now(),lastAccessedAt:Date.now()};D1.set(X,q);let _=O3(Q.directory,X,Y);try{await uJ(mJ(_)),await hJ(_,JSON.stringify(q,null,2))}catch(W){console.warn(`[stx-media] Failed to write cache: ${W}`)}}async function k5($,Z=G$){if($==="all")D1.clear();else D1.clear();let J=$==="all"?["image","video"]:[$];for(let Y of J){let Q=j3(Z.directory,Y);try{await dJ(Q,{recursive:!0,force:!0})}catch{}}}var D1,G$;var K$=C(()=>{U1();D1=new Map,G$={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class S5{config;constructor($={}){this.config={...pJ,...$}}async get($,Z){return D5($,Z,"image",this.config)}async set($,Z,J){return E5($,Z,J,"image",this.config)}async clear(){return k5("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function q$($){if(!b5)b5=new S5($);else if($)b5.updateConfig($);return b5}async function y5($,Z,J){let Y=J?{directory:`${J.outputDir}/../.cache`}:{};return q$(Y).get($,Z)}async function C5($,Z,J,Y){let Q=Y?{directory:`${Y.outputDir}/../.cache`}:{};return q$(Q).set($,Z,J)}async function H3(){return q$().clear()}var pJ,b5=null;var W$=C(()=>{K$();pJ={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as lJ,basename as cJ,extname as iJ,join as nJ}from"path";import{mkdir as oJ}from"fs/promises";async function _$(){try{return await import("ts-images")}catch{return null}}function L3($){switch($){case"quality":return{jpeg:{quality:90,mozjpeg:!0,progressive:!0},png:{compressionLevel:6,palette:!1},webp:{quality:90,effort:6,smartSubsample:!0},avif:{quality:85,effort:6}};case"performance":return{jpeg:{quality:70,mozjpeg:!0,progressive:!0},png:{compressionLevel:9,palette:!0},webp:{quality:70,effort:4,smartSubsample:!0},avif:{quality:60,effort:2}};case"web":default:return{jpeg:{quality:82,mozjpeg:!0,progressive:!0},png:{compressionLevel:8,palette:!1},webp:{quality:82,effort:5,smartSubsample:!0},avif:{quality:75,effort:4}}}}function sJ($,Z){let J=Z?L3(Z):L3("web"),Y=$.formatQuality||{};return{jpeg:{...J.jpeg,...Y.jpeg},png:{...J.png,...Y.png},webp:{...J.webp,...Y.webp},avif:{...J.avif,...Y.avif}}}async function F3($,Z,J){let Y=await _$();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let Q=await y5($,Z,J);if(Q)return Q;try{let X=lJ($);if(!await V0(X))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let G=sJ(J,Z.preset),K=J.outputDir||"dist/images",q=J.baseUrl||"/images";await oJ(K,{recursive:!0});let _=await R0(X),W=cJ($,iJ($)),z=Z.outputFormat?[Z.outputFormat]:J.defaultFormats||["avif","webp","jpeg"],U={src:$,processed:!0,variants:[],hash:_},j=null;if(Z.transformations&&Z.transformations.length>0)j=await z$(X,Z.transformations,Y);for(let B of z){let O=G[B]||{},F=`${W}-${_}.${B}`,L=nJ(K,F);try{let H=await Y.optimizeImage({input:j||X,output:L,format:B,quality:O.quality,progressive:O.progressive});if(H){if(U.variants.push({path:L,url:`${q}/${F}`,width:H.width||0,height:H.height||0,format:B,size:H.outputSize||0}),!U.originalWidth&&H.width)U.originalWidth=H.width,U.originalHeight=H.height}}catch(H){U.errors=U.errors||[],U.errors.push(`Failed to optimize ${B}: ${H}`)}}if(Z.embedThumbhash||Z.placeholder==="thumbhash")try{let B=await Y.generateThumbHash(X);U.placeholder=B.dataUrl}catch(B){U.errors=U.errors||[],U.errors.push(`Failed to generate thumbhash: ${B}`)}if(Z.useDominantColor)try{let B=await Y.generatePlaceholder(X,{strategy:"dominant-color"});U.dominantColor=B.dominantColor}catch(B){U.errors=U.errors||[],U.errors.push(`Failed to extract dominant color: ${B}`)}return await C5($,Z,U,J),U}catch(X){return{src:$,processed:!1,errors:[`Processing failed: ${X}`]}}}async function V3($,Z,J,Y){let Q=await _$();if(!Q)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await Q.optimizeImage({input:$,output:Y,format:Z,quality:J}))?.outputSize}}catch(X){return{success:!1,error:String(X)}}}async function z$($,Z,J){let Y=J||await _$();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let Q=await Y.decode($);for(let X of Z){let G=X.options||{};switch(X.type){case"resize":if(G.width||G.height)Q=await Y.resize(Q,{width:G.width,height:G.height,fit:G.fit});break;case"blur":if(G.sigma!==void 0)Q=await Y.blur(Q,G.sigma);break;case"sharpen":if(G.amount!==void 0)Q=await Y.sharpen(Q,G.amount);break;case"grayscale":Q=await Y.grayscale(Q);break;case"rotate":if(G.angle!==void 0)Q=await Y.rotate(Q,G.angle);break;case"flip":Q=await Y.flip(Q);break;case"flop":Q=await Y.flop(Q);break;case"brightness":if(G.value!==void 0)Q=await Y.brightness(Q,G.value);break;case"contrast":if(G.value!==void 0)Q=await Y.contrast(Q,G.value);break;case"saturation":if(G.value!==void 0)Q=await Y.saturation(Q,G.value);break}}return await Y.encode(Q,"png")}catch(Q){return console.error(`[stx-media] Transformation failed: ${Q}`),null}}var w3=C(()=>{U1();W$()});import{resolve as rJ,basename as aJ,extname as tJ,join as eJ}from"path";import{mkdir as $X}from"fs/promises";async function ZX(){try{return await import("ts-images")}catch{return null}}async function N3($,Z,J){let Y=await ZX();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let Q=rJ($);if(!await V0(Q))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let X=Z.responsiveWidths||J.breakpoints||YX,G=Z.formats||J.defaultFormats||["avif","webp","jpeg"],K=J.outputDir||"dist/images",q=J.baseUrl||"/images";await $X(K,{recursive:!0});let _=await R0(Q),W=aJ($,tJ($)),z=J.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},U={src:$,byFormat:{},srcsets:{}};for(let B of G){U.byFormat[B]=[];let O=[];for(let F of X){let L=`${W}-${F}w-${_}.${B}`,H=eJ(K,L),V=`${q}/${L}`;try{let N=z[B]?.quality||80;if(await V0(H)){U.byFormat[B].push({path:H,url:V,width:F,height:0,format:B,size:0}),O.push(`${V} ${F}w`);continue}let w=await Y.processImage({input:Q,output:H,format:B,quality:N,resize:{width:F}});if(w)U.byFormat[B].push({path:H,url:V,width:F,height:w.height||Math.round(F*(w.height||1)/(w.width||1)),format:B,size:w.outputSize||0}),O.push(`${V} ${F}w`)}catch(N){console.warn(`[stx-media] Failed to generate ${B} at ${F}w: ${N}`)}}U.srcsets[B]=O.join(", ")}let j=Z.placeholder||J.placeholderStrategy||"thumbhash";if(j!=="none")try{if(j==="thumbhash"){let B=await Y.generateThumbHash(Q);U.placeholder={dataURL:B.dataUrl,width:B.width||32,height:B.height||32,strategy:"thumbhash"}}else{let B=await Y.generatePlaceholder(Q,{strategy:j,width:20});U.placeholder={dataURL:B.dataURL,width:B.width,height:B.height,strategy:j}}}catch(B){console.warn(`[stx-media] Failed to generate placeholder: ${B}`)}return U.sizes=Z.sizes||JX(X),U}catch(X){return console.error(`[stx-media] Responsive generation failed: ${X}`),null}}function JX($){let Z=[...$].sort((Y,Q)=>Y-Q),J=[];for(let Y=0;Y<Z.length-1;Y++){let Q=Z[Y];J.push(`(max-width: ${Q}px) ${Q}px`)}return J.push(`${Z[Z.length-1]}px`),J.join(", ")}function R3($,Z="width"){if(!$||$.length===0)return"";if(Z==="dpr")return $.filter((J)=>J.dpr).map((J)=>`${J.url} ${J.dpr}x`).join(", ");return $.map((J)=>`${J.url} ${J.width}w`).join(", ")}var YX;var A3=C(()=>{U1();YX=[320,480,640,768,1024,1280,1536,1920]});var T3={};r(T3,{setCachedImageResult:()=>C5,processImage:()=>F3,optimizeImage:()=>V3,getCachedImageResult:()=>y5,generateSrcset:()=>R3,generateResponsiveVariants:()=>N3,clearImageCache:()=>H3,applyTransformations:()=>z$,ImageProcessorCache:()=>S5});var M3=C(()=>{w3();A3();W$()});async function XX(){try{return await Promise.resolve().then(() => (M3(),T3))}catch($){if(!I3)console.warn("[stx-media] Image processor not available, some features disabled:",$),I3=!0;return null}}async function P5($,Z={}){let J=Z,Y=$;if(Y.process&&!Y.skipOptimization){if(J.tsImagesConfig?.enabled&&!J.isDev)return qX(Y,J)}if(J.processedResult?.processed)return O$($,J.processedResult,Z);if(J.responsiveVariants)return b3($,J.responsiveVariants,Z);let{src:Q,alt:X,width:G,height:K,sizes:q,widths:_=I1,dpr:W,formats:z=e1,quality:U=U$,params:j={},placeholder:B="none",placeholderOptions:O={},lazy:F=!0,priority:L=!1,loading:H=L?"eager":x5,decoding:V=v5,fetchpriority:N,objectFit:w,objectPosition:R,crossorigin:A,referrerpolicy:T}=$,I=$.class,M=$.style,E=$.id,k=$.data||{},{isDev:y=!1,baseUrl:S=""}=Z;if(y&&!Z.optimize)return KX($);let b,D,x=E||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(B!=="none"&&!L)try{b=await q3(Q,{strategy:B,...O}),D=K3(x,b,O)}catch{}let h=W!==void 0&&G!==void 0,l;if(h)l=GX($,x,b,Z);else l=await QX($,x,b,Z);let U0;if(L){let S0=z.includes("webp")?"webp":z[0],v0=e9(Q,_,{...j,q:U},S0),L0=typeof q==="object"?$$(q):q||"100vw";U0=`<link rel="preload" as="image" imagesrcset="${v0}" imagesizes="${L0}" />`}let M0=[];if(!D3&&B!=="none")M0.push(X$),D3=!0;if(D)M0.push(D);let _0=F?k3(x):void 0;return{html:l,preloadLink:U0,css:M0.length>0?M0.join(`
859
+ `):void 0,script:_0}}async function QX($,Z,J,Y){let{src:Q,alt:X,width:G,height:K,sizes:q,widths:_=I1,formats:W=e1,quality:z=U$,params:U={},lazy:j=!0,priority:B=!1,loading:O=B?"eager":x5,decoding:F=v5,fetchpriority:L,objectFit:H,objectPosition:V,crossorigin:N,referrerpolicy:w}=$,R=$.class,A=$.style,T=$.data||{},I=typeof q==="object"?$$(q):q||"100vw",M=[];for(let y of W){let S=e9(Q,_,{...U,q:z},y),b=Z$(y);if(j&&!B)M.push(` <source type="${b}" data-srcset="${S}" data-sizes="${I}" />`);else M.push(` <source type="${b}" srcset="${S}" sizes="${I}" />`)}let E=B$({src:$5(Q,{...U,q:z}),alt:X,width:G,height:K,loading:B?void 0:O,decoding:F,fetchpriority:B?"high":L,objectFit:H,objectPosition:V,crossorigin:N,referrerpolicy:w,className:E3(R,J),style:j$(A,H,V,J),lazy:j&&!B,data:T}),k;if(J){let y=`background-image: url('${J.dataURL}'); background-size: cover; background-position: center;`;k=`<div id="${Z}" class="stx-img-placeholder" style="${y}">
857
860
  <picture>
858
- ${T.join(`
861
+ ${M.join(`
859
862
  `)}
860
- <img ${I} />
863
+ <img ${E} />
861
864
  </picture>
862
- </div>`}else D=`<picture${Z?` id="${Z}"`:""}>
863
- ${T.join(`
865
+ </div>`}else k=`<picture${Z?` id="${Z}"`:""}>
866
+ ${M.join(`
864
867
  `)}
865
- <img ${I} />
866
- </picture>`;return D}function cJ($,Z,J,Y){let{src:Q,alt:X,width:G,height:K,dpr:q=[1,2,3],quality:U=K4,params:_={},lazy:W=!0,priority:z=!1,loading:j=z?"eager":C5,decoding:B=y5,fetchpriority:O,objectFit:F,objectPosition:L,crossorigin:H,referrerpolicy:V}=$,R=$.class,N=$.style,A=$.data||{},w=typeof G==="number"?G:Number.parseInt(String(G),10),M=a6(Q,w,q,{..._,q:U}),E=q4({src:a1(Q,{..._,w,q:U}),alt:X,width:G,height:K,loading:z?void 0:j,decoding:B,fetchpriority:z?"high":O,objectFit:F,objectPosition:L,crossorigin:H,referrerpolicy:V,className:VZ(R,J),style:_4(N,F,L,J),lazy:W&&!z,data:A}),T=W&&!z?`data-srcset="${M}"`:`srcset="${M}"`;if(J){let I=`background-image: url('${J.dataURL}'); background-size: cover; background-position: center;`;return`<div id="${Z}" class="stx-img-placeholder" style="${I}">
867
- <img ${E} ${T} />
868
- </div>`}return`<img ${Z?`id="${Z}" `:""}${E} ${T} />`}function iJ($){let{src:Z,alt:J,width:Y,height:Q,loading:X=C5,decoding:G=y5,fetchpriority:K,objectFit:q,objectPosition:U,crossorigin:_,referrerpolicy:W,priority:z=!1}=$,j=$.class,B=$.style,O=$.id,F=$.data||{};return{html:`<img ${q4({src:Z,alt:J,width:Y,height:Q,loading:z?"eager":X,decoding:G,fetchpriority:z?"high":K,objectFit:q,objectPosition:U,crossorigin:_,referrerpolicy:W,className:j,style:_4(B,q,U),id:O,data:F})} />`}}function q4($){let Z=[];if($.lazy)Z.push(`data-src="${y0($.src)}"`),Z.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"');else Z.push(`src="${y0($.src)}"`);if(Z.push(`alt="${y0($.alt)}"`),$.width)Z.push(`width="${$.width}"`);if($.height)Z.push(`height="${$.height}"`);if($.loading)Z.push(`loading="${$.loading}"`);if($.decoding)Z.push(`decoding="${$.decoding}"`);if($.fetchpriority)Z.push(`fetchpriority="${$.fetchpriority}"`);if($.crossorigin)Z.push(`crossorigin="${$.crossorigin}"`);if($.referrerpolicy)Z.push(`referrerpolicy="${$.referrerpolicy}"`);if($.className)Z.push(`class="${y0($.className)}"`);if($.style)Z.push(`style="${y0($.style)}"`);if($.id)Z.push(`id="${y0($.id)}"`);if($.data)for(let[J,Y]of Object.entries($.data))Z.push(`data-${J}="${y0(Y)}"`);if($.lazy)Z.push("data-stx-lazy");return Z.join(" ")}function VZ($,Z){let J=[];if($)J.push($);if(Z)J.push("stx-img-blur");return J.join(" ")||""}function _4($,Z,J,Y){let Q=[];if(Z)Q.push(`object-fit: ${Z}`);if(J)Q.push(`object-position: ${J}`);if(Y)Q.push("opacity: 0; transition: opacity 300ms ease-out");if($)Q.push($);return Q.join("; ")}function y0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function NZ($){return`
868
+ <img ${E} />
869
+ </picture>`;return k}function GX($,Z,J,Y){let{src:Q,alt:X,width:G,height:K,dpr:q=[1,2,3],quality:_=U$,params:W={},lazy:z=!0,priority:U=!1,loading:j=U?"eager":x5,decoding:B=v5,fetchpriority:O,objectFit:F,objectPosition:L,crossorigin:H,referrerpolicy:V}=$,N=$.class,w=$.style,R=$.data||{},A=typeof G==="number"?G:Number.parseInt(String(G),10),T=G3(Q,A,q,{...W,q:_}),I=B$({src:$5(Q,{...W,w:A,q:_}),alt:X,width:G,height:K,loading:U?void 0:j,decoding:B,fetchpriority:U?"high":O,objectFit:F,objectPosition:L,crossorigin:H,referrerpolicy:V,className:E3(N,J),style:j$(w,F,L,J),lazy:z&&!U,data:R}),M=z&&!U?`data-srcset="${T}"`:`srcset="${T}"`;if(J){let E=`background-image: url('${J.dataURL}'); background-size: cover; background-position: center;`;return`<div id="${Z}" class="stx-img-placeholder" style="${E}">
870
+ <img ${I} ${M} />
871
+ </div>`}return`<img ${Z?`id="${Z}" `:""}${I} ${M} />`}function KX($){let{src:Z,alt:J,width:Y,height:Q,loading:X=x5,decoding:G=v5,fetchpriority:K,objectFit:q,objectPosition:_,crossorigin:W,referrerpolicy:z,priority:U=!1}=$,j=$.class,B=$.style,O=$.id,F=$.data||{};return{html:`<img ${B$({src:Z,alt:J,width:Y,height:Q,loading:U?"eager":X,decoding:G,fetchpriority:U?"high":K,objectFit:q,objectPosition:_,crossorigin:W,referrerpolicy:z,className:j,style:j$(B,q,_),id:O,data:F})} />`}}function B$($){let Z=[];if($.lazy)Z.push(`data-src="${y0($.src)}"`),Z.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"');else Z.push(`src="${y0($.src)}"`);if(Z.push(`alt="${y0($.alt)}"`),$.width)Z.push(`width="${$.width}"`);if($.height)Z.push(`height="${$.height}"`);if($.loading)Z.push(`loading="${$.loading}"`);if($.decoding)Z.push(`decoding="${$.decoding}"`);if($.fetchpriority)Z.push(`fetchpriority="${$.fetchpriority}"`);if($.crossorigin)Z.push(`crossorigin="${$.crossorigin}"`);if($.referrerpolicy)Z.push(`referrerpolicy="${$.referrerpolicy}"`);if($.className)Z.push(`class="${y0($.className)}"`);if($.style)Z.push(`style="${y0($.style)}"`);if($.id)Z.push(`id="${y0($.id)}"`);if($.data)for(let[J,Y]of Object.entries($.data))Z.push(`data-${J}="${y0(Y)}"`);if($.lazy)Z.push("data-stx-lazy");return Z.join(" ")}function E3($,Z){let J=[];if($)J.push($);if(Z)J.push("stx-img-blur");return J.join(" ")||""}function j$($,Z,J,Y){let Q=[];if(Z)Q.push(`object-fit: ${Z}`);if(J)Q.push(`object-position: ${J}`);if(Y)Q.push("opacity: 0; transition: opacity 300ms ease-out");if($)Q.push($);return Q.join("; ")}function y0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function k3($){return`
869
872
  (function() {
870
873
  const container = document.getElementById('${$}');
871
874
  if (!container) return;
@@ -902,22 +905,22 @@ ${T.join(`
902
905
 
903
906
  observer.observe(container);
904
907
  })();
905
- `.trim()}async function nJ($,Z){let J=await pJ();if(!J)return b5({...$,process:!1},Z);let Y=Z.tsImagesConfig;if($.responsiveWidths&&$.responsiveWidths.length>0||$.widths&&$.widths.length>0||!$.width&&!$.dpr){let X=await J.generateResponsiveVariants($.src,$,Y);if(X)return RZ($,X,Z)}else{let X=await J.processImage($.src,$,Y);if(X.processed)return U4($,X,Z)}return b5({...$,process:!1},Z)}async function U4($,Z,J){let{alt:Y,width:Q,height:X,lazy:G=!0,priority:K=!1,objectFit:q,objectPosition:U,crossorigin:_,referrerpolicy:W}=$,z=$.class,j=$.style,B=$.id||`stx-img-${Math.random().toString(36).slice(2,8)}`,O=$.data||{},F=Z.variants||[],L=F.find((k)=>k.format==="jpeg")||F.find((k)=>k.format==="webp")||F[0],H=L?.url||$.src,V=F.filter((k)=>k.format===(L?.format||"jpeg")).map((k)=>`${k.url} ${k.width}w`).join(", "),R=new Map;for(let k of F){if(!R.has(k.format))R.set(k.format,[]);R.get(k.format).push(k)}let N=[],A=["avif","webp","jpeg","png"];for(let k of A){let f=R.get(k);if(f&&f.length>0){let h=f.map((z0)=>`${z0.url} ${z0.width}w`).join(", "),p=r$(k);if(G&&!K)N.push(` <source type="${p}" data-srcset="${h}" />`);else N.push(` <source type="${p}" srcset="${h}" />`)}}let w=[];if(G&&!K){if(w.push(`data-src="${y0(H)}"`),w.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),V)w.push(`data-srcset="${V}"`)}else if(w.push(`src="${y0(H)}"`),V)w.push(`srcset="${V}"`);w.push(`alt="${y0(Y)}"`);let M=Q||Z.originalWidth,E=X||Z.originalHeight;if(M)w.push(`width="${M}"`);if(E)w.push(`height="${E}"`);if(!K)w.push(`loading="${G?"lazy":"eager"}"`);if(w.push('decoding="async"'),K)w.push('fetchpriority="high"');if(_)w.push(`crossorigin="${_}"`);if(W)w.push(`referrerpolicy="${W}"`);let T=[];if(q)T.push(`object-fit: ${q}`);if(U)T.push(`object-position: ${U}`);if(Z.placeholder&&G)T.push("opacity: 0; transition: opacity 300ms ease-out");if(j)T.push(j);if(T.length>0)w.push(`style="${T.join("; ")}"`);let I=[];if(z)I.push(z);if(Z.placeholder)I.push("stx-img-blur");if(I.length>0)w.push(`class="${I.join(" ")}"`);if(G&&!K)w.push("data-stx-lazy");for(let[k,f]of Object.entries(O))w.push(`data-${k}="${y0(f)}"`);let D;if(Z.placeholder||Z.dominantColor&&$.useDominantColor){let k=Z.placeholder?`background-image: url('${Z.placeholder}'); background-size: cover; background-position: center;`:`background-color: ${Z.dominantColor};`;D=`<div id="${B}" class="stx-img-placeholder" style="${k}">
908
+ `.trim()}async function qX($,Z){let J=await XX();if(!J)return P5({...$,process:!1},Z);let Y=Z.tsImagesConfig;if($.responsiveWidths&&$.responsiveWidths.length>0||$.widths&&$.widths.length>0||!$.width&&!$.dpr){let X=await J.generateResponsiveVariants($.src,$,Y);if(X)return b3($,X,Z)}else{let X=await J.processImage($.src,$,Y);if(X.processed)return O$($,X,Z)}return P5({...$,process:!1},Z)}async function O$($,Z,J){let{alt:Y,width:Q,height:X,lazy:G=!0,priority:K=!1,objectFit:q,objectPosition:_,crossorigin:W,referrerpolicy:z}=$,U=$.class,j=$.style,B=$.id||`stx-img-${Math.random().toString(36).slice(2,8)}`,O=$.data||{},F=Z.variants||[],L=F.find((D)=>D.format==="jpeg")||F.find((D)=>D.format==="webp")||F[0],H=L?.url||$.src,V=F.filter((D)=>D.format===(L?.format||"jpeg")).map((D)=>`${D.url} ${D.width}w`).join(", "),N=new Map;for(let D of F){if(!N.has(D.format))N.set(D.format,[]);N.get(D.format).push(D)}let w=[],R=["avif","webp","jpeg","png"];for(let D of R){let x=N.get(D);if(x&&x.length>0){let h=x.map((U0)=>`${U0.url} ${U0.width}w`).join(", "),l=Z$(D);if(G&&!K)w.push(` <source type="${l}" data-srcset="${h}" />`);else w.push(` <source type="${l}" srcset="${h}" />`)}}let A=[];if(G&&!K){if(A.push(`data-src="${y0(H)}"`),A.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),V)A.push(`data-srcset="${V}"`)}else if(A.push(`src="${y0(H)}"`),V)A.push(`srcset="${V}"`);A.push(`alt="${y0(Y)}"`);let T=Q||Z.originalWidth,I=X||Z.originalHeight;if(T)A.push(`width="${T}"`);if(I)A.push(`height="${I}"`);if(!K)A.push(`loading="${G?"lazy":"eager"}"`);if(A.push('decoding="async"'),K)A.push('fetchpriority="high"');if(W)A.push(`crossorigin="${W}"`);if(z)A.push(`referrerpolicy="${z}"`);let M=[];if(q)M.push(`object-fit: ${q}`);if(_)M.push(`object-position: ${_}`);if(Z.placeholder&&G)M.push("opacity: 0; transition: opacity 300ms ease-out");if(j)M.push(j);if(M.length>0)A.push(`style="${M.join("; ")}"`);let E=[];if(U)E.push(U);if(Z.placeholder)E.push("stx-img-blur");if(E.length>0)A.push(`class="${E.join(" ")}"`);if(G&&!K)A.push("data-stx-lazy");for(let[D,x]of Object.entries(O))A.push(`data-${D}="${y0(x)}"`);let k;if(Z.placeholder||Z.dominantColor&&$.useDominantColor){let D=Z.placeholder?`background-image: url('${Z.placeholder}'); background-size: cover; background-position: center;`:`background-color: ${Z.dominantColor};`;k=`<div id="${B}" class="stx-img-placeholder" style="${D}">
906
909
  <picture>
907
- ${N.join(`
910
+ ${w.join(`
908
911
  `)}
909
- <img ${w.join(" ")} />
912
+ <img ${A.join(" ")} />
910
913
  </picture>
911
- </div>`}else D=`<picture${B?` id="${B}"`:""}>
912
- ${N.join(`
914
+ </div>`}else k=`<picture${B?` id="${B}"`:""}>
915
+ ${w.join(`
913
916
  `)}
914
- <img ${w.join(" ")} />
915
- </picture>`;let y=[];if(Z.placeholder)y.push(e$);let b=G?NZ(B):void 0,S;if(K&&V)S=`<link rel="preload" as="image" imagesrcset="${V}" />`;return{html:D,preloadLink:S,css:y.length>0?y.join(`
916
- `):void 0,script:b}}async function RZ($,Z,J){let Y={src:Z.src,processed:!0,variants:[],placeholder:Z.placeholder?.dataURL,originalWidth:Z.placeholder?.width,originalHeight:Z.placeholder?.height};for(let[Q,X]of Object.entries(Z.byFormat))if(X)Y.variants.push(...X);return U4($,Y,J)}var LZ=!1,K4=80,y5="async",C5="lazy",FZ=!1;var AZ=P(()=>{a$();$Z()});function oJ(){return A5({name:"img",hasEndTag:!1,description:"Render an optimized responsive image with srcset and lazy loading",transform:async($,Z,J,Y)=>{let{src:Q,alt:X,options:G}=sJ($,Z,J);if(!Q)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let K={src:Q,alt:X||"",widths:G.widths||M1,formats:G.formats||r1,quality:G.quality,sizes:G.sizes,dpr:G.dpr,params:G.params,placeholder:G.placeholder,placeholderOptions:G.placeholderOptions,lazy:G.lazy!==!1,priority:G.priority||!1,loading:G.loading,decoding:G.decoding,fetchpriority:G.fetchpriority,objectFit:G.objectFit,objectPosition:G.objectPosition,class:G.class,style:G.style,id:G.id,width:G.width,height:G.height},q=J.__isDev||!1,U=await b5(K,{isDev:q}),_=U.html;if(U.preloadLink)_=U.preloadLink+`
917
- `+_;if(U.css)_+=`
918
- <style>${U.css}</style>`;if(U.script)_+=`
919
- <script>${U.script}</script>`;return _},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function sJ($,Z,J){if(Z.src)return{src:String(Z.src),alt:String(Z.alt||""),options:Z.options||{}};let Y=$.trim();if(Y.startsWith("@img(")||Y.startsWith("("))Y=Y.replace(/^@img\(/,"").replace(/^\(/,"").replace(/\)$/,"");let Q=rJ(Y),X=W4(Q[0],J)||"",G=W4(Q[1],J)||"",K={};if(Q[2]){let q=W4(Q[2],J);if(typeof q==="object"&&q!==null)K=q;else if(typeof Q[2]==="string")try{K=JSON.parse(Q[2])}catch{}}return{src:X,alt:G,options:K}}function rJ($){let Z=[],J="",Y=!1,Q="",X=0,G=0;for(let K=0;K<$.length;K++){let q=$[K],U=K>0?$[K-1]:"";if((q==='"'||q==="'"||q==="`")&&U!=="\\"){if(!Y)Y=!0,Q=q;else if(q===Q)Y=!1,Q="";else J+=q;continue}if(!Y){if(q==="{")X++;if(q==="}")X--;if(q==="[")G++;if(q==="]")G--;if(q===","&&X===0&&G===0){Z.push(J.trim()),J="";continue}}J+=q}if(J.trim())Z.push(J.trim());return Z}function W4($,Z){if(typeof $!=="string")return $;let J=$.trim();if(J.startsWith('"')&&J.endsWith('"')||J.startsWith("'")&&J.endsWith("'"))return J.slice(1,-1);if(!J.startsWith("/")&&!J.startsWith(".")&&!J.startsWith("http")&&!J.startsWith("{")){let Y=Z[J];if(Y!==void 0)return Y}if(J.startsWith("{")||J.startsWith("["))try{return JSON.parse(J)}catch{}return J}var wZ;var TZ=P(()=>{n$();AZ();a$();wZ=oJ()});class v5{config;constructor($={}){this.config={...aJ,...$}}async get($,Z){return T5($,Z,"video",this.config)}async set($,Z,J){return M5($,Z,J,"video",this.config)}async clear(){return I5("video",this.config)}updateConfig($){this.config={...this.config,...$}}}function z4($){if(!P5)P5=new v5($);else if($)P5.updateConfig($);return P5}async function x5($,Z,J){let Y=J?{directory:`${J.outputDir}/../.cache`}:{};return z4(Y).get($,Z)}async function f5($,Z,J,Y){let Q=Y?{directory:`${Y.outputDir}/../.cache`}:{};return z4(Q).set($,Z,J)}async function MZ(){return z4().clear()}var aJ,P5=null;var B4=P(()=>{Y4();aJ={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as j4,basename as O4,extname as H4,join as g5}from"path";import{mkdir as L4}from"fs/promises";async function F4(){try{return await import("ts-videos")}catch{return null}}async function h5($,Z,J,Y){let Q=await F4();if(!Q)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let X=j4($);if(!await N0(X))return null;await L4(J,{recursive:!0});let G=await A0(X),K=O4($,H4($)),q=Z.format||"webp",U=Z.timestamp||0,_=`${K}-poster-${G}.${q}`,W=g5(J,_),z=await Q.extractThumbnails(X,{timestamps:[U],width:Z.width||1280,height:Z.height,format:q,quality:Z.quality||85,outputDir:J,outputPattern:_.replace(`.${q}`,"")});if(z&&z.length>0){let j=z[0];return{path:W,url:`${Y}/${_}`,width:j.width||Z.width||1280,height:j.height||720,timestamp:U,size:j.size||0}}return null}catch(X){return console.warn(`[stx-media] Failed to generate poster: ${X}`),null}}async function d5($,Z,J,Y){let Q=await F4();if(!Q)return[];try{let X=j4($);if(!await N0(X))return[];await L4(J,{recursive:!0});let G=await A0(X),K=O4($,H4($)),q=Z.format||"webp",W=(await new Q.Input(X).getInfo()).duration||60,z=Z.count||10,j=Z.interval||W/z,B=[];for(let F=0;F<z&&F*j<W;F++)B.push(F*j);let O=await Q.extractThumbnails(X,{timestamps:B,width:Z.width||320,format:q,quality:Z.quality||80,outputDir:J,outputPattern:`${K}-thumb-${G}`});if(O&&O.length>0)return O.map((F,L)=>({path:F.path||g5(J,`${K}-thumb-${G}-${L}.${q}`),url:`${Y}/${K}-thumb-${G}-${L}.${q}`,width:F.width||Z.width||320,height:F.height||180,timestamp:B[L],size:F.size||0}));return[]}catch(X){return console.warn(`[stx-media] Failed to generate thumbnails: ${X}`),[]}}async function IZ($,Z,J,Y){let Q=await F4();if(!Q)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let X=j4($);if(!await N0(X))return null;await L4(J,{recursive:!0});let G=await A0(X),K=O4($,H4($)),_=(await new Q.Input(X).getInfo()).duration||60,W=Z.columns||10,z=Z.interval||5,j=Z.thumbnailWidth||160,B=Z.thumbnailHeight||90,O=Z.format||"jpeg",F=Math.ceil(_/z),L=Math.ceil(F/W),H=`${K}-sprite-${G}.${O}`,V=g5(J,H),R=[];for(let A=0;A<F;A++)R.push(A*z);let N=await Q.extractThumbnails(X,{timestamps:R,width:j,height:B,format:O,quality:Z.quality||70,outputDir:g5(J,".temp")});if(!N||N.length===0)return null;try{let A=await import("ts-images"),w=W*j,M=L*B,E=await A.createSprite({images:N.map((T)=>T.path),columns:W,padding:0,outputPath:V,format:O,quality:Z.quality||70});return{url:`${Y}/${H}`,path:V,columns:W,rows:L,thumbnailWidth:j,thumbnailHeight:B,interval:z,totalFrames:F}}catch{return console.warn("[stx-media] ts-images not installed, sprite sheet generation skipped"),null}}catch(X){return console.warn(`[stx-media] Failed to generate sprite sheet: ${X}`),null}}var V4=P(()=>{z1()});import{resolve as DZ,basename as kZ,extname as SZ,join as B1}from"path";import{mkdir as m5,writeFile as bZ}from"fs/promises";async function yZ(){try{return await import("ts-videos")}catch{return null}}async function u5($,Z,J,Y,Q){let X=await yZ();if(!X)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let G=DZ($);if(!await N0(G))return null;let K=await A0(G),q=kZ($,SZ($)),U=B1(J,`${q}-${K}-hls`);await m5(U,{recursive:!0});let _=Z.length>0?Z:CZ,W=Q?.segmentDuration||6,B=(await new X.Input(G).getInfo()).duration||0,O=[],F=0;for(let V of _){let R=B1(U,V.label);await m5(R,{recursive:!0});let N=`${V.label}.m3u8`,A=B1(R,N);try{let w=await X.generateHLS(G,{outputDir:R,segmentDuration:W,width:V.width,height:V.height,videoBitrate:V.bitrate,audioBitrate:V.audioBitrate,playlistName:V.label});if(w)O.push({quality:V,url:`${Y}/${q}-${K}-hls/${V.label}/${N}`,path:A}),F+=w.segmentCount||Math.ceil(B/W)}catch(w){console.warn(`[stx-media] Failed to generate HLS for ${V.label}: ${w}`)}}if(O.length===0)return null;let L=B1(U,"master.m3u8"),H=tJ(O,Y,q,K);return await bZ(L,H),{manifestUrl:`${Y}/${q}-${K}-hls/master.m3u8`,manifestPath:L,playlists:O,segmentCount:F,duration:B}}catch(G){return console.warn(`[stx-media] Failed to generate HLS manifest: ${G}`),null}}function tJ($,Z,J,Y){let Q=["#EXTM3U","#EXT-X-VERSION:3"];for(let X of $){let{quality:G}=X,K=G.bitrate+(G.audioBitrate||128000),q=`${G.width}x${G.height||Math.round(G.width*9/16)}`;Q.push(`#EXT-X-STREAM-INF:BANDWIDTH=${K},RESOLUTION=${q},NAME="${G.label}"`,`${G.label}/${G.label}.m3u8`)}return Q.join(`
920
- `)}async function p5($,Z,J,Y,Q){let X=await yZ();if(!X)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let G=DZ($);if(!await N0(G))return null;let K=await A0(G),q=kZ($,SZ($)),U=B1(J,`${q}-${K}-dash`);await m5(U,{recursive:!0});let _=Z.length>0?Z:CZ,W=Q?.segmentDuration||4,z=Q?.minBufferTime||2,O=(await new X.Input(G).getInfo()).duration||0,F=[],L=[];for(let N of _){let A=B1(U,N.label);await m5(A,{recursive:!0});try{if(await X.generateDASH(G,{outputDir:A,segmentDuration:W,width:N.width,height:N.height,videoBitrate:N.bitrate,audioBitrate:N.audioBitrate})){if(F.push({bandwidth:N.bitrate,width:N.width,height:N.height||Math.round(N.width*9/16),url:`${Y}/${q}-${K}-dash/${N.label}/video`}),N.audioBitrate)L.push({bandwidth:N.audioBitrate,url:`${Y}/${q}-${K}-dash/${N.label}/audio`})}}catch(w){console.warn(`[stx-media] Failed to generate DASH for ${N.label}: ${w}`)}}if(F.length===0)return null;let H=B1(U,"manifest.mpd"),V=eJ(F,L,O,W,z);await bZ(H,V);let R=[{type:"video",representations:F}];if(L.length>0)R.push({type:"audio",representations:L});return{manifestUrl:`${Y}/${q}-${K}-dash/manifest.mpd`,manifestPath:H,adaptationSets:R,duration:O}}catch(G){return console.warn(`[stx-media] Failed to generate DASH manifest: ${G}`),null}}function eJ($,Z,J,Y,Q){let X=EZ(J),G=EZ(Q),K=`<?xml version="1.0" encoding="UTF-8"?>
917
+ <img ${A.join(" ")} />
918
+ </picture>`;let y=[];if(Z.placeholder)y.push(X$);let S=G?k3(B):void 0,b;if(K&&V)b=`<link rel="preload" as="image" imagesrcset="${V}" />`;return{html:k,preloadLink:b,css:y.length>0?y.join(`
919
+ `):void 0,script:S}}async function b3($,Z,J){let Y={src:Z.src,processed:!0,variants:[],placeholder:Z.placeholder?.dataURL,originalWidth:Z.placeholder?.width,originalHeight:Z.placeholder?.height};for(let[Q,X]of Object.entries(Z.byFormat))if(X)Y.variants.push(...X);return O$($,Y,J)}var I3=!1,U$=80,v5="async",x5="lazy",D3=!1;var S3=C(()=>{Y$();W3()});function WX(){return M5({name:"img",hasEndTag:!1,description:"Render an optimized responsive image with srcset and lazy loading",transform:async($,Z,J,Y)=>{let{src:Q,alt:X,options:G}=_X($,Z,J);if(!Q)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let K={src:Q,alt:X||"",widths:G.widths||I1,formats:G.formats||e1,quality:G.quality,sizes:G.sizes,dpr:G.dpr,params:G.params,placeholder:G.placeholder,placeholderOptions:G.placeholderOptions,lazy:G.lazy!==!1,priority:G.priority||!1,loading:G.loading,decoding:G.decoding,fetchpriority:G.fetchpriority,objectFit:G.objectFit,objectPosition:G.objectPosition,class:G.class,style:G.style,id:G.id,width:G.width,height:G.height},q=J.__isDev||!1,_=await P5(K,{isDev:q}),W=_.html;if(_.preloadLink)W=_.preloadLink+`
920
+ `+W;if(_.css)W+=`
921
+ <style>${_.css}</style>`;if(_.script)W+=`
922
+ <script>${_.script}</script>`;return W},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function _X($,Z,J){if(Z.src)return{src:String(Z.src),alt:String(Z.alt||""),options:Z.options||{}};let Y=$.trim();if(Y.startsWith("@img(")||Y.startsWith("("))Y=Y.replace(/^@img\(/,"").replace(/^\(/,"").replace(/\)$/,"");let Q=zX(Y),X=H$(Q[0],J)||"",G=H$(Q[1],J)||"",K={};if(Q[2]){let q=H$(Q[2],J);if(typeof q==="object"&&q!==null)K=q;else if(typeof Q[2]==="string")try{K=JSON.parse(Q[2])}catch{}}return{src:X,alt:G,options:K}}function zX($){let Z=[],J="",Y=!1,Q="",X=0,G=0;for(let K=0;K<$.length;K++){let q=$[K],_=K>0?$[K-1]:"";if((q==='"'||q==="'"||q==="`")&&_!=="\\"){if(!Y)Y=!0,Q=q;else if(q===Q)Y=!1,Q="";else J+=q;continue}if(!Y){if(q==="{")X++;if(q==="}")X--;if(q==="[")G++;if(q==="]")G--;if(q===","&&X===0&&G===0){Z.push(J.trim()),J="";continue}}J+=q}if(J.trim())Z.push(J.trim());return Z}function H$($,Z){if(typeof $!=="string")return $;let J=$.trim();if(J.startsWith('"')&&J.endsWith('"')||J.startsWith("'")&&J.endsWith("'"))return J.slice(1,-1);if(!J.startsWith("/")&&!J.startsWith(".")&&!J.startsWith("http")&&!J.startsWith("{")){let Y=Z[J];if(Y!==void 0)return Y}if(J.startsWith("{")||J.startsWith("["))try{return JSON.parse(J)}catch{}return J}var y3;var C3=C(()=>{t9();S3();Y$();y3=WX()});class g5{config;constructor($={}){this.config={...UX,...$}}async get($,Z){return D5($,Z,"video",this.config)}async set($,Z,J){return E5($,Z,J,"video",this.config)}async clear(){return k5("video",this.config)}updateConfig($){this.config={...this.config,...$}}}function L$($){if(!f5)f5=new g5($);else if($)f5.updateConfig($);return f5}async function h5($,Z,J){let Y=J?{directory:`${J.outputDir}/../.cache`}:{};return L$(Y).get($,Z)}async function d5($,Z,J,Y){let Q=Y?{directory:`${Y.outputDir}/../.cache`}:{};return L$(Q).set($,Z,J)}async function P3(){return L$().clear()}var UX,f5=null;var F$=C(()=>{K$();UX={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as V$,basename as w$,extname as N$,join as m5}from"path";import{mkdir as R$}from"fs/promises";async function A$(){try{return await import("ts-videos")}catch{return null}}async function u5($,Z,J,Y){let Q=await A$();if(!Q)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let X=V$($);if(!await V0(X))return null;await R$(J,{recursive:!0});let G=await R0(X),K=w$($,N$($)),q=Z.format||"webp",_=Z.timestamp||0,W=`${K}-poster-${G}.${q}`,z=m5(J,W),U=await Q.extractThumbnails(X,{timestamps:[_],width:Z.width||1280,height:Z.height,format:q,quality:Z.quality||85,outputDir:J,outputPattern:W.replace(`.${q}`,"")});if(U&&U.length>0){let j=U[0];return{path:z,url:`${Y}/${W}`,width:j.width||Z.width||1280,height:j.height||720,timestamp:_,size:j.size||0}}return null}catch(X){return console.warn(`[stx-media] Failed to generate poster: ${X}`),null}}async function p5($,Z,J,Y){let Q=await A$();if(!Q)return[];try{let X=V$($);if(!await V0(X))return[];await R$(J,{recursive:!0});let G=await R0(X),K=w$($,N$($)),q=Z.format||"webp",z=(await new Q.Input(X).getInfo()).duration||60,U=Z.count||10,j=Z.interval||z/U,B=[];for(let F=0;F<U&&F*j<z;F++)B.push(F*j);let O=await Q.extractThumbnails(X,{timestamps:B,width:Z.width||320,format:q,quality:Z.quality||80,outputDir:J,outputPattern:`${K}-thumb-${G}`});if(O&&O.length>0)return O.map((F,L)=>({path:F.path||m5(J,`${K}-thumb-${G}-${L}.${q}`),url:`${Y}/${K}-thumb-${G}-${L}.${q}`,width:F.width||Z.width||320,height:F.height||180,timestamp:B[L],size:F.size||0}));return[]}catch(X){return console.warn(`[stx-media] Failed to generate thumbnails: ${X}`),[]}}async function v3($,Z,J,Y){let Q=await A$();if(!Q)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let X=V$($);if(!await V0(X))return null;await R$(J,{recursive:!0});let G=await R0(X),K=w$($,N$($)),W=(await new Q.Input(X).getInfo()).duration||60,z=Z.columns||10,U=Z.interval||5,j=Z.thumbnailWidth||160,B=Z.thumbnailHeight||90,O=Z.format||"jpeg",F=Math.ceil(W/U),L=Math.ceil(F/z),H=`${K}-sprite-${G}.${O}`,V=m5(J,H),N=[];for(let R=0;R<F;R++)N.push(R*U);let w=await Q.extractThumbnails(X,{timestamps:N,width:j,height:B,format:O,quality:Z.quality||70,outputDir:m5(J,".temp")});if(!w||w.length===0)return null;try{let R=await import("ts-images"),A=z*j,T=L*B,I=await R.createSprite({images:w.map((M)=>M.path),columns:z,padding:0,outputPath:V,format:O,quality:Z.quality||70});return{url:`${Y}/${H}`,path:V,columns:z,rows:L,thumbnailWidth:j,thumbnailHeight:B,interval:U,totalFrames:F}}catch{return console.warn("[stx-media] ts-images not installed, sprite sheet generation skipped"),null}}catch(X){return console.warn(`[stx-media] Failed to generate sprite sheet: ${X}`),null}}var T$=C(()=>{U1()});import{resolve as f3,basename as g3,extname as h3,join as B1}from"path";import{mkdir as l5,writeFile as d3}from"fs/promises";async function m3(){try{return await import("ts-videos")}catch{return null}}async function c5($,Z,J,Y,Q){let X=await m3();if(!X)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let G=f3($);if(!await V0(G))return null;let K=await R0(G),q=g3($,h3($)),_=B1(J,`${q}-${K}-hls`);await l5(_,{recursive:!0});let W=Z.length>0?Z:u3,z=Q?.segmentDuration||6,B=(await new X.Input(G).getInfo()).duration||0,O=[],F=0;for(let V of W){let N=B1(_,V.label);await l5(N,{recursive:!0});let w=`${V.label}.m3u8`,R=B1(N,w);try{let A=await X.generateHLS(G,{outputDir:N,segmentDuration:z,width:V.width,height:V.height,videoBitrate:V.bitrate,audioBitrate:V.audioBitrate,playlistName:V.label});if(A)O.push({quality:V,url:`${Y}/${q}-${K}-hls/${V.label}/${w}`,path:R}),F+=A.segmentCount||Math.ceil(B/z)}catch(A){console.warn(`[stx-media] Failed to generate HLS for ${V.label}: ${A}`)}}if(O.length===0)return null;let L=B1(_,"master.m3u8"),H=BX(O,Y,q,K);return await d3(L,H),{manifestUrl:`${Y}/${q}-${K}-hls/master.m3u8`,manifestPath:L,playlists:O,segmentCount:F,duration:B}}catch(G){return console.warn(`[stx-media] Failed to generate HLS manifest: ${G}`),null}}function BX($,Z,J,Y){let Q=["#EXTM3U","#EXT-X-VERSION:3"];for(let X of $){let{quality:G}=X,K=G.bitrate+(G.audioBitrate||128000),q=`${G.width}x${G.height||Math.round(G.width*9/16)}`;Q.push(`#EXT-X-STREAM-INF:BANDWIDTH=${K},RESOLUTION=${q},NAME="${G.label}"`,`${G.label}/${G.label}.m3u8`)}return Q.join(`
923
+ `)}async function i5($,Z,J,Y,Q){let X=await m3();if(!X)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let G=f3($);if(!await V0(G))return null;let K=await R0(G),q=g3($,h3($)),_=B1(J,`${q}-${K}-dash`);await l5(_,{recursive:!0});let W=Z.length>0?Z:u3,z=Q?.segmentDuration||4,U=Q?.minBufferTime||2,O=(await new X.Input(G).getInfo()).duration||0,F=[],L=[];for(let w of W){let R=B1(_,w.label);await l5(R,{recursive:!0});try{if(await X.generateDASH(G,{outputDir:R,segmentDuration:z,width:w.width,height:w.height,videoBitrate:w.bitrate,audioBitrate:w.audioBitrate})){if(F.push({bandwidth:w.bitrate,width:w.width,height:w.height||Math.round(w.width*9/16),url:`${Y}/${q}-${K}-dash/${w.label}/video`}),w.audioBitrate)L.push({bandwidth:w.audioBitrate,url:`${Y}/${q}-${K}-dash/${w.label}/audio`})}}catch(A){console.warn(`[stx-media] Failed to generate DASH for ${w.label}: ${A}`)}}if(F.length===0)return null;let H=B1(_,"manifest.mpd"),V=jX(F,L,O,z,U);await d3(H,V);let N=[{type:"video",representations:F}];if(L.length>0)N.push({type:"audio",representations:L});return{manifestUrl:`${Y}/${q}-${K}-dash/manifest.mpd`,manifestPath:H,adaptationSets:N,duration:O}}catch(G){return console.warn(`[stx-media] Failed to generate DASH manifest: ${G}`),null}}function jX($,Z,J,Y,Q){let X=x3(J),G=x3(Q),K=`<?xml version="1.0" encoding="UTF-8"?>
921
924
  <MPD xmlns="urn:mpeg:dash:schema:mpd:2011"
922
925
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
923
926
  xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"
@@ -927,29 +930,29 @@ ${N.join(`
927
930
  profiles="urn:mpeg:dash:profile:isoff-on-demand:2011">
928
931
  <Period>
929
932
  <AdaptationSet mimeType="video/mp4" codecs="avc1.64001f" segmentAlignment="true" startWithSAP="1">
930
- `;for(let q=0;q<$.length;q++){let U=$[q];K+=` <Representation id="video${q}" bandwidth="${U.bandwidth}" width="${U.width}" height="${U.height}">
931
- <BaseURL>${U.url}/</BaseURL>
933
+ `;for(let q=0;q<$.length;q++){let _=$[q];K+=` <Representation id="video${q}" bandwidth="${_.bandwidth}" width="${_.width}" height="${_.height}">
934
+ <BaseURL>${_.url}/</BaseURL>
932
935
  <SegmentBase indexRange="0-999">
933
936
  <Initialization range="0-999"/>
934
937
  </SegmentBase>
935
938
  </Representation>
936
939
  `}if(K+=` </AdaptationSet>
937
940
  `,Z.length>0){K+=` <AdaptationSet mimeType="audio/mp4" codecs="mp4a.40.2" segmentAlignment="true" startWithSAP="1">
938
- `;for(let q=0;q<Z.length;q++){let U=Z[q];K+=` <Representation id="audio${q}" bandwidth="${U.bandwidth}">
939
- <BaseURL>${U.url}/</BaseURL>
941
+ `;for(let q=0;q<Z.length;q++){let _=Z[q];K+=` <Representation id="audio${q}" bandwidth="${_.bandwidth}">
942
+ <BaseURL>${_.url}/</BaseURL>
940
943
  <SegmentBase indexRange="0-999">
941
944
  <Initialization range="0-999"/>
942
945
  </SegmentBase>
943
946
  </Representation>
944
947
  `}K+=` </AdaptationSet>
945
948
  `}return K+=` </Period>
946
- </MPD>`,K}function EZ($){let Z=Math.floor($/3600),J=Math.floor($%3600/60),Y=Math.floor($%60),Q="PT";if(Z>0)Q+=`${Z}H`;if(J>0)Q+=`${J}M`;return Q+=`${Y}S`,Q}var CZ;var N4=P(()=>{z1();CZ=[{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 PZ,basename as $X,extname as ZX,join as YX}from"path";import{mkdir as JX}from"fs/promises";async function vZ(){try{return await import("ts-videos")}catch{return null}}function XX($){switch($){case"very-low":return 500000;case"low":return 1e6;case"medium":return 2500000;case"high":return 5000000;case"very-high":return 1e7;case"lossless":return 0;default:return 2500000}}function QX($){switch($){case"youtube":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000};case"twitter":return{codec:"h264",maxWidth:1280,maxHeight:720,frameRate:30,bitrate:5000000,audioCodec:"aac",audioBitrate:128000};case"instagram-feed":return{codec:"h264",maxWidth:1080,maxHeight:1080,frameRate:30,bitrate:3500000,audioCodec:"aac",audioBitrate:128000};case"instagram-story":case"instagram-reels":return{codec:"h264",maxWidth:1080,maxHeight:1920,frameRate:30,bitrate:3500000,audioCodec:"aac",audioBitrate:128000};case"tiktok":return{codec:"h264",maxWidth:1080,maxHeight:1920,frameRate:30,bitrate:4000000,audioCodec:"aac",audioBitrate:128000};case"discord":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:60,bitrate:8000000,audioCodec:"aac",audioBitrate:192000};case"linkedin":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,bitrate:5000000,audioCodec:"aac",audioBitrate:128000};case"facebook":return{codec:"h264",maxWidth:1280,maxHeight:720,frameRate:30,bitrate:4000000,audioCodec:"aac",audioBitrate:128000};case"web-progressive":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000,twoPass:!0};case"web-streaming":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000};default:return{}}}async function R4($){let Z=await vZ();if(!Z)return null;try{let J=PZ($),Q=await new Z.Input(J).getInfo();return{duration:Q.duration||0,width:Q.width||0,height:Q.height||0,frameRate:Q.frameRate||0,bitrate:Q.bitrate||0,codec:Q.videoCodec||"",audioCodec:Q.audioCodec}}catch(J){return console.warn(`[stx-media] Failed to analyze video: ${J}`),null}}async function xZ($,Z,J,Y){let Q=await vZ();if(!Q)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:$,processed:!1};let X=await x5($,Z,J);if(X)return X;try{let G=PZ($);if(!await N0(G))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let K=J.outputDir||"dist/videos",q=J.baseUrl||"/videos";await JX(K,{recursive:!0});let U=await A0(G),_=$X($,ZX($)),W={src:$,processed:!0,hash:U};Y?.({percentage:5,stage:"analyzing"}),W.metadata=await R4(G)||void 0;let z={};if(Z.quality)z.bitrate=XX(Z.quality);if(Z.platform)Object.assign(z,QX(Z.platform));if(Z.transcode)Object.assign(z,Z.transcode);if(Object.keys(z).length>0||Z.process){Y?.({percentage:10,stage:"transcoding"});let j=`${_}-${U}.mp4`,B=YX(K,j);try{let O=await GX(G,B,z,Q,(F)=>Y?.({percentage:10+F*0.5,stage:"transcoding"}));if(O)W.transcoded={path:B,url:`${q}/${j}`,duration:O.duration,size:O.size,video:{codec:z.codec||"h264",width:O.width,height:O.height,bitrate:O.bitrate,frameRate:O.frameRate},audio:O.audioCodec?{codec:z.audioCodec||"aac",bitrate:z.audioBitrate||128000,sampleRate:z.sampleRate||48000,channels:z.channels||2}:void 0}}catch(O){W.errors=W.errors||[],W.errors.push(`Transcoding failed: ${O}`)}}if(Z.generatePoster){Y?.({percentage:65,stage:"generating-poster"});let j=typeof Z.generatePoster==="object"?Z.generatePoster:{timestamp:0},B=await h5(G,j,K,q);if(B)W.poster=B}if(J.thumbnails?.enabled){Y?.({percentage:70,stage:"generating-thumbnails"});let j=await d5(G,J.thumbnails,K,q);if(j.length>0)W.thumbnails=j}if(Z.streaming){Y?.({percentage:80,stage:"generating-manifests"});let j=typeof Z.streaming==="object"?Z.streaming:J.streaming||{format:"hls"};if(j.format==="hls"||j.format===void 0){let B=await u5(G,j.qualities||J.streaming?.defaultQualities||[],K,q);if(B)W.streaming={...W.streaming,hls:B}}if(j.format==="dash"){let B=await p5(G,j.qualities||J.streaming?.defaultQualities||[],K,q);if(B)W.streaming={...W.streaming,dash:B}}}if(Z.spriteSheet)Y?.({percentage:90,stage:"generating-sprite-sheet"});return Y?.({percentage:100,stage:"complete"}),await f5($,Z,W,J),W}catch(G){return{src:$,processed:!1,errors:[`Processing failed: ${G}`]}}}async function GX($,Z,J,Y,Q){try{let G=await new Y.Conversion($,Z,{videoCodec:J.codec,videoBitrate:J.bitrate,width:J.maxWidth,height:J.maxHeight,frameRate:J.frameRate,audioCodec:J.audioCodec,audioBitrate:J.audioBitrate,sampleRate:J.sampleRate,channels:J.channels}).run((K)=>{Q?.(K.percentage/100)});return{duration:G.duration||0,size:G.size||0,width:G.width||J.maxWidth||0,height:G.height||J.maxHeight||0,bitrate:G.bitrate||J.bitrate||0,frameRate:G.frameRate||J.frameRate||30,audioCodec:G.audioCodec}}catch(X){return console.error(`[stx-media] Transcoding failed: ${X}`),null}}var fZ=P(()=>{z1();B4();V4();N4()});var gZ={};r(gZ,{setCachedVideoResult:()=>f5,processVideo:()=>xZ,getCachedVideoResult:()=>x5,generateThumbnails:()=>d5,generateSpriteSheet:()=>IZ,generatePoster:()=>h5,generateHLSManifest:()=>u5,generateDASHManifest:()=>p5,clearVideoCache:()=>MZ,analyzeVideo:()=>R4,VideoProcessorCache:()=>v5});var hZ=P(()=>{fZ();V4();N4();B4()});async function mZ(){try{return await Promise.resolve().then(() => (hZ(),gZ))}catch($){if(!dZ)console.warn("[stx-media] Video processor not available, some features disabled:",$),dZ=!0;return null}}async function l5($,Z={}){let J=Z,Y=$;if(Y.process&&!Y.skipProcessing){if(J.tsVideosConfig?.enabled&&!J.isDev)return zX(Y,J)}if(J.processedResult?.processed)return cZ($,J.processedResult,Z);let Q;if(Y.generatePoster&&Y.src&&!$.poster)Q=await BX(Y,J);let{src:X,sources:G=[],poster:K,posterPlaceholder:q,controls:U=uZ,autoplay:_=!1,muted:W=!1,loop:z=!1,preload:j=pZ,playsinline:B=!0,lazy:O=!0,player:F="native",type:L,width:H,height:V,crossorigin:R,disablePictureInPicture:N=!1,disableRemotePlayback:A=!1}=$,w=Q||K,M=$.class,E=$.style,T=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(F==="ts-video")return _X($,Z);if(L&&L!=="video")return qX(X||"",L,$);let I=G.length>0?G:X?[{src:X,type:lZ(X)}]:[],D=[`id="${T}"`];if(U)D.push("controls");if(_)D.push("autoplay");if(W)D.push("muted");if(z)D.push("loop");if(B)D.push("playsinline");if(N)D.push("disablepictureinpicture");if(A)D.push("disableremoteplayback");if(R)D.push(`crossorigin="${R}"`);if(O){if(D.push(`data-preload="${j}"`),D.push('preload="none"'),w)D.push(`data-poster="${B0(w)}"`);D.push("data-stx-lazy")}else if(D.push(`preload="${j}"`),w)D.push(`poster="${B0(w)}"`);if(H)D.push(`width="${H}"`);if(V)D.push(`height="${V}"`);if(M)D.push(`class="${B0(M)}"`);if(E)D.push(`style="${B0(E)}"`);let y=I.map((k)=>{return` <source ${O?`data-src="${B0(k.src)}"`:`src="${B0(k.src)}"`} type="${k.type}"${k.media?` media="${k.media}"`:""} />`}).join(`
947
- `),b=`<video ${D.join(" ")}>
949
+ </MPD>`,K}function x3($){let Z=Math.floor($/3600),J=Math.floor($%3600/60),Y=Math.floor($%60),Q="PT";if(Z>0)Q+=`${Z}H`;if(J>0)Q+=`${J}M`;return Q+=`${Y}S`,Q}var u3;var M$=C(()=>{U1();u3=[{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 p3,basename as OX,extname as HX,join as LX}from"path";import{mkdir as FX}from"fs/promises";async function l3(){try{return await import("ts-videos")}catch{return null}}function VX($){switch($){case"very-low":return 500000;case"low":return 1e6;case"medium":return 2500000;case"high":return 5000000;case"very-high":return 1e7;case"lossless":return 0;default:return 2500000}}function wX($){switch($){case"youtube":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000};case"twitter":return{codec:"h264",maxWidth:1280,maxHeight:720,frameRate:30,bitrate:5000000,audioCodec:"aac",audioBitrate:128000};case"instagram-feed":return{codec:"h264",maxWidth:1080,maxHeight:1080,frameRate:30,bitrate:3500000,audioCodec:"aac",audioBitrate:128000};case"instagram-story":case"instagram-reels":return{codec:"h264",maxWidth:1080,maxHeight:1920,frameRate:30,bitrate:3500000,audioCodec:"aac",audioBitrate:128000};case"tiktok":return{codec:"h264",maxWidth:1080,maxHeight:1920,frameRate:30,bitrate:4000000,audioCodec:"aac",audioBitrate:128000};case"discord":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:60,bitrate:8000000,audioCodec:"aac",audioBitrate:192000};case"linkedin":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,bitrate:5000000,audioCodec:"aac",audioBitrate:128000};case"facebook":return{codec:"h264",maxWidth:1280,maxHeight:720,frameRate:30,bitrate:4000000,audioCodec:"aac",audioBitrate:128000};case"web-progressive":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000,twoPass:!0};case"web-streaming":return{codec:"h264",maxWidth:1920,maxHeight:1080,frameRate:30,audioCodec:"aac",audioBitrate:128000};default:return{}}}async function I$($){let Z=await l3();if(!Z)return null;try{let J=p3($),Q=await new Z.Input(J).getInfo();return{duration:Q.duration||0,width:Q.width||0,height:Q.height||0,frameRate:Q.frameRate||0,bitrate:Q.bitrate||0,codec:Q.videoCodec||"",audioCodec:Q.audioCodec}}catch(J){return console.warn(`[stx-media] Failed to analyze video: ${J}`),null}}async function c3($,Z,J,Y){let Q=await l3();if(!Q)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:$,processed:!1};let X=await h5($,Z,J);if(X)return X;try{let G=p3($);if(!await V0(G))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let K=J.outputDir||"dist/videos",q=J.baseUrl||"/videos";await FX(K,{recursive:!0});let _=await R0(G),W=OX($,HX($)),z={src:$,processed:!0,hash:_};Y?.({percentage:5,stage:"analyzing"}),z.metadata=await I$(G)||void 0;let U={};if(Z.quality)U.bitrate=VX(Z.quality);if(Z.platform)Object.assign(U,wX(Z.platform));if(Z.transcode)Object.assign(U,Z.transcode);if(Object.keys(U).length>0||Z.process){Y?.({percentage:10,stage:"transcoding"});let j=`${W}-${_}.mp4`,B=LX(K,j);try{let O=await NX(G,B,U,Q,(F)=>Y?.({percentage:10+F*0.5,stage:"transcoding"}));if(O)z.transcoded={path:B,url:`${q}/${j}`,duration:O.duration,size:O.size,video:{codec:U.codec||"h264",width:O.width,height:O.height,bitrate:O.bitrate,frameRate:O.frameRate},audio:O.audioCodec?{codec:U.audioCodec||"aac",bitrate:U.audioBitrate||128000,sampleRate:U.sampleRate||48000,channels:U.channels||2}:void 0}}catch(O){z.errors=z.errors||[],z.errors.push(`Transcoding failed: ${O}`)}}if(Z.generatePoster){Y?.({percentage:65,stage:"generating-poster"});let j=typeof Z.generatePoster==="object"?Z.generatePoster:{timestamp:0},B=await u5(G,j,K,q);if(B)z.poster=B}if(J.thumbnails?.enabled){Y?.({percentage:70,stage:"generating-thumbnails"});let j=await p5(G,J.thumbnails,K,q);if(j.length>0)z.thumbnails=j}if(Z.streaming){Y?.({percentage:80,stage:"generating-manifests"});let j=typeof Z.streaming==="object"?Z.streaming:J.streaming||{format:"hls"};if(j.format==="hls"||j.format===void 0){let B=await c5(G,j.qualities||J.streaming?.defaultQualities||[],K,q);if(B)z.streaming={...z.streaming,hls:B}}if(j.format==="dash"){let B=await i5(G,j.qualities||J.streaming?.defaultQualities||[],K,q);if(B)z.streaming={...z.streaming,dash:B}}}if(Z.spriteSheet)Y?.({percentage:90,stage:"generating-sprite-sheet"});return Y?.({percentage:100,stage:"complete"}),await d5($,Z,z,J),z}catch(G){return{src:$,processed:!1,errors:[`Processing failed: ${G}`]}}}async function NX($,Z,J,Y,Q){try{let G=await new Y.Conversion($,Z,{videoCodec:J.codec,videoBitrate:J.bitrate,width:J.maxWidth,height:J.maxHeight,frameRate:J.frameRate,audioCodec:J.audioCodec,audioBitrate:J.audioBitrate,sampleRate:J.sampleRate,channels:J.channels}).run((K)=>{Q?.(K.percentage/100)});return{duration:G.duration||0,size:G.size||0,width:G.width||J.maxWidth||0,height:G.height||J.maxHeight||0,bitrate:G.bitrate||J.bitrate||0,frameRate:G.frameRate||J.frameRate||30,audioCodec:G.audioCodec}}catch(X){return console.error(`[stx-media] Transcoding failed: ${X}`),null}}var i3=C(()=>{U1();F$();T$();M$()});var n3={};r(n3,{setCachedVideoResult:()=>d5,processVideo:()=>c3,getCachedVideoResult:()=>h5,generateThumbnails:()=>p5,generateSpriteSheet:()=>v3,generatePoster:()=>u5,generateHLSManifest:()=>c5,generateDASHManifest:()=>i5,clearVideoCache:()=>P3,analyzeVideo:()=>I$,VideoProcessorCache:()=>g5});var o3=C(()=>{i3();T$();M$();F$()});async function r3(){try{return await Promise.resolve().then(() => (o3(),n3))}catch($){if(!s3)console.warn("[stx-media] Video processor not available, some features disabled:",$),s3=!0;return null}}async function n5($,Z={}){let J=Z,Y=$;if(Y.process&&!Y.skipProcessing){if(J.tsVideosConfig?.enabled&&!J.isDev)return DX(Y,J)}if(J.processedResult?.processed)return $6($,J.processedResult,Z);let Q;if(Y.generatePoster&&Y.src&&!$.poster)Q=await EX(Y,J);let{src:X,sources:G=[],poster:K,posterPlaceholder:q,controls:_=a3,autoplay:W=!1,muted:z=!1,loop:U=!1,preload:j=t3,playsinline:B=!0,lazy:O=!0,player:F="native",type:L,width:H,height:V,crossorigin:N,disablePictureInPicture:w=!1,disableRemotePlayback:R=!1}=$,A=Q||K,T=$.class,I=$.style,M=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(F==="ts-video")return TX($,Z);if(L&&L!=="video")return AX(X||"",L,$);let E=G.length>0?G:X?[{src:X,type:e3(X)}]:[],k=[`id="${M}"`];if(_)k.push("controls");if(W)k.push("autoplay");if(z)k.push("muted");if(U)k.push("loop");if(B)k.push("playsinline");if(w)k.push("disablepictureinpicture");if(R)k.push("disableremoteplayback");if(N)k.push(`crossorigin="${N}"`);if(O){if(k.push(`data-preload="${j}"`),k.push('preload="none"'),A)k.push(`data-poster="${B0(A)}"`);k.push("data-stx-lazy")}else if(k.push(`preload="${j}"`),A)k.push(`poster="${B0(A)}"`);if(H)k.push(`width="${H}"`);if(V)k.push(`height="${V}"`);if(T)k.push(`class="${B0(T)}"`);if(I)k.push(`style="${B0(I)}"`);let y=E.map((D)=>{return` <source ${O?`data-src="${B0(D.src)}"`:`src="${B0(D.src)}"`} type="${D.type}"${D.media?` media="${D.media}"`:""} />`}).join(`
950
+ `),S=`<video ${k.join(" ")}>
948
951
  ${y}
949
952
  Your browser does not support the video tag.
950
- </video>`,S;if(O)S=`
953
+ </video>`,b;if(O)b=`
951
954
  (function() {
952
- var video = document.getElementById('${T}');
955
+ var video = document.getElementById('${M}');
953
956
  if (!video) return;
954
957
 
955
958
  var observer = new IntersectionObserver(function(entries) {
@@ -982,16 +985,16 @@ ${y}
982
985
 
983
986
  observer.observe(video);
984
987
  })();
985
- `.trim();return{html:b,script:S}}function qX($,Z,J){let{width:Y=640,height:Q=360}=J,X=J.class,G=J.style,K=J.id||`stx-embed-${Math.random().toString(36).slice(2,8)}`,q,U=null;switch(Z){case"youtube":U=UX($),q=U?`https://www.youtube-nocookie.com/embed/${U}`:$;break;case"vimeo":U=WX($),q=U?`https://player.vimeo.com/video/${U}`:$;break;case"dailymotion":U=$.split("/").pop()||"",q=`https://www.dailymotion.com/embed/video/${U}`;break;case"twitch":U=$.split("/").pop()||"",q=`https://player.twitch.tv/?video=${U}&parent=${typeof window<"u"?window.location.hostname:"localhost"}`;break;default:q=$}let _=[`id="${K}"`,`src="${B0(q)}"`,`width="${Y}"`,`height="${Q}"`,'frameborder="0"',"allowfullscreen",'allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"'];if(X)_.push(`class="${B0(X)}"`);if(G)_.push(`style="${B0(G)}"`);if(J.lazy)_.push('loading="lazy"');return{html:`<div class="stx-video-embed" style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;">
986
- <iframe ${_.join(" ")} style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe>
987
- </div>`}}function _X($,Z={}){let{src:J,sources:Y=[],poster:Q,controls:X=!0,autoplay:G=!1,muted:K=!1,loop:q=!1,preload:U="metadata",playsinline:_=!0,lazy:W=!0,width:z,height:j}=$,B=$.class,O=$.style,F=$.id||`ts-video-${Math.random().toString(36).slice(2,8)}`,L={src:Y.length>0?Y:J,autoplay:G,loop:q,muted:K,playsinline:_,preload:U,poster:Q,controls:X,title:$.title},H=["position: relative",z?`width: ${typeof z==="number"?z+"px":z}`:"width: 100%",j?`height: ${typeof j==="number"?j+"px":j}`:"",O||""].filter(Boolean).join("; "),V=`
988
+ `.trim();return{html:S,script:b}}function AX($,Z,J){let{width:Y=640,height:Q=360}=J,X=J.class,G=J.style,K=J.id||`stx-embed-${Math.random().toString(36).slice(2,8)}`,q,_=null;switch(Z){case"youtube":_=MX($),q=_?`https://www.youtube-nocookie.com/embed/${_}`:$;break;case"vimeo":_=IX($),q=_?`https://player.vimeo.com/video/${_}`:$;break;case"dailymotion":_=$.split("/").pop()||"",q=`https://www.dailymotion.com/embed/video/${_}`;break;case"twitch":_=$.split("/").pop()||"",q=`https://player.twitch.tv/?video=${_}&parent=${typeof window<"u"?window.location.hostname:"localhost"}`;break;default:q=$}let W=[`id="${K}"`,`src="${B0(q)}"`,`width="${Y}"`,`height="${Q}"`,'frameborder="0"',"allowfullscreen",'allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"'];if(X)W.push(`class="${B0(X)}"`);if(G)W.push(`style="${B0(G)}"`);if(J.lazy)W.push('loading="lazy"');return{html:`<div class="stx-video-embed" style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;">
989
+ <iframe ${W.join(" ")} style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe>
990
+ </div>`}}function TX($,Z={}){let{src:J,sources:Y=[],poster:Q,controls:X=!0,autoplay:G=!1,muted:K=!1,loop:q=!1,preload:_="metadata",playsinline:W=!0,lazy:z=!0,width:U,height:j}=$,B=$.class,O=$.style,F=$.id||`ts-video-${Math.random().toString(36).slice(2,8)}`,L={src:Y.length>0?Y:J,autoplay:G,loop:q,muted:K,playsinline:W,preload:_,poster:Q,controls:X,title:$.title},H=["position: relative",U?`width: ${typeof U==="number"?U+"px":U}`:"width: 100%",j?`height: ${typeof j==="number"?j+"px":j}`:"",O||""].filter(Boolean).join("; "),V=`
988
991
  <div
989
992
  id="${F}"
990
993
  class="ts-video-player${B?" "+B0(B):""}"
991
994
  style="${H}"
992
995
  data-ts-video-player
993
996
  data-config='${JSON.stringify(L)}'
994
- ${W?"data-lazy":""}
997
+ ${z?"data-lazy":""}
995
998
  >
996
999
  <div class="ts-video-player__container">
997
1000
  ${Q?`
@@ -1005,7 +1008,7 @@ ${y}
1005
1008
  `:""}
1006
1009
  </div>
1007
1010
  </div>
1008
- `.trim(),R=`
1011
+ `.trim(),N=`
1009
1012
  (function() {
1010
1013
  var container = document.getElementById('${F}');
1011
1014
  if (!container) return;
@@ -1021,7 +1024,7 @@ ${y}
1021
1024
 
1022
1025
  // Load ts-video-player from CDN
1023
1026
  var script = document.createElement('script');
1024
- script.src = '${KX}';
1027
+ script.src = '${RX}';
1025
1028
  script.onload = initPlayer;
1026
1029
  script.onerror = function() {
1027
1030
  console.error('[stx] Failed to load ts-video-player');
@@ -1099,7 +1102,7 @@ else {
1099
1102
  });
1100
1103
  }
1101
1104
  })();
1102
- `.trim(),N=`
1105
+ `.trim(),w=`
1103
1106
  .ts-video-player {
1104
1107
  position: relative;
1105
1108
  background: #000;
@@ -1151,12 +1154,12 @@ else {
1151
1154
  .ts-video-player__play-button svg {
1152
1155
  margin-left: 4px;
1153
1156
  }
1154
- `.trim();return{html:V,script:R,css:N}}function lZ($){switch($.split(".").pop()?.toLowerCase()){case"mp4":return"video/mp4";case"webm":return"video/webm";case"ogg":case"ogv":return"video/ogg";case"mov":return"video/quicktime";case"avi":return"video/x-msvideo";case"mkv":return"video/x-matroska";case"m3u8":return"application/x-mpegURL";default:return"video/mp4"}}function UX($){let Z=[/youtube\.com\/watch\?v=([^&]+)/,/youtube\.com\/embed\/([^?]+)/,/youtu\.be\/([^?]+)/,/youtube\.com\/v\/([^?]+)/];for(let J of Z){let Y=$.match(J);if(Y)return Y[1]}return null}function WX($){let Z=$.match(/vimeo\.com\/(\d+)/);return Z?Z[1]:null}function B0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}async function zX($,Z){let J=await mZ();if(!J)return l5({...$,process:!1},Z);let Y=Z.tsVideosConfig,Q=await J.processVideo($.src,$,Y,$.onProcessProgress);if(Q.processed)return cZ($,Q,Z);return l5({...$,process:!1},Z)}async function BX($,Z){let J=await mZ();if(!J||!$.src)return;let Y=typeof $.generatePoster==="object"?$.generatePoster:{timestamp:0},Q=Z.tsVideosConfig||{enabled:!0,outputDir:"dist/videos",baseUrl:"/videos"};return(await J.generatePoster($.src,Y,Q.outputDir,Q.baseUrl||"/videos"))?.url}function cZ($,Z,J){let{controls:Y=uZ,autoplay:Q=!1,muted:X=!1,loop:G=!1,preload:K=pZ,playsinline:q=!0,lazy:U=!0,width:_,height:W,crossorigin:z,disablePictureInPicture:j=!1,disableRemotePlayback:B=!1}=$,O=$.class,F=$.style,L=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`,H=$.src,V=lZ(H);if(Z.transcoded)H=Z.transcoded.url,V="video/mp4";let R=Z.streaming?.hls||Z.streaming?.dash;if(R){if(Z.streaming?.hls)H=Z.streaming.hls.manifestUrl,V="application/x-mpegURL";else if(Z.streaming?.dash)H=Z.streaming.dash.manifestUrl,V="application/dash+xml"}let N=Z.poster?.url||$.poster,A=[`id="${L}"`];if(Y)A.push("controls");if(Q)A.push("autoplay");if(X)A.push("muted");if(G)A.push("loop");if(q)A.push("playsinline");if(j)A.push("disablepictureinpicture");if(B)A.push("disableremoteplayback");if(z)A.push(`crossorigin="${z}"`);if(U){if(A.push(`data-preload="${K}"`),A.push('preload="none"'),N)A.push(`data-poster="${B0(N)}"`);A.push("data-stx-lazy")}else if(A.push(`preload="${K}"`),N)A.push(`poster="${B0(N)}"`);let w=_||Z.metadata?.width,M=W||Z.metadata?.height;if(w)A.push(`width="${w}"`);if(M)A.push(`height="${M}"`);if(O)A.push(`class="${B0(O)}"`);if(F)A.push(`style="${B0(F)}"`);let T=` <source ${U?`data-src="${B0(H)}"`:`src="${B0(H)}"`} type="${V}" />`,I=`<video ${A.join(" ")}>
1155
- ${T}
1157
+ `.trim();return{html:V,script:N,css:w}}function e3($){switch($.split(".").pop()?.toLowerCase()){case"mp4":return"video/mp4";case"webm":return"video/webm";case"ogg":case"ogv":return"video/ogg";case"mov":return"video/quicktime";case"avi":return"video/x-msvideo";case"mkv":return"video/x-matroska";case"m3u8":return"application/x-mpegURL";default:return"video/mp4"}}function MX($){let Z=[/youtube\.com\/watch\?v=([^&]+)/,/youtube\.com\/embed\/([^?]+)/,/youtu\.be\/([^?]+)/,/youtube\.com\/v\/([^?]+)/];for(let J of Z){let Y=$.match(J);if(Y)return Y[1]}return null}function IX($){let Z=$.match(/vimeo\.com\/(\d+)/);return Z?Z[1]:null}function B0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}async function DX($,Z){let J=await r3();if(!J)return n5({...$,process:!1},Z);let Y=Z.tsVideosConfig,Q=await J.processVideo($.src,$,Y,$.onProcessProgress);if(Q.processed)return $6($,Q,Z);return n5({...$,process:!1},Z)}async function EX($,Z){let J=await r3();if(!J||!$.src)return;let Y=typeof $.generatePoster==="object"?$.generatePoster:{timestamp:0},Q=Z.tsVideosConfig||{enabled:!0,outputDir:"dist/videos",baseUrl:"/videos"};return(await J.generatePoster($.src,Y,Q.outputDir,Q.baseUrl||"/videos"))?.url}function $6($,Z,J){let{controls:Y=a3,autoplay:Q=!1,muted:X=!1,loop:G=!1,preload:K=t3,playsinline:q=!0,lazy:_=!0,width:W,height:z,crossorigin:U,disablePictureInPicture:j=!1,disableRemotePlayback:B=!1}=$,O=$.class,F=$.style,L=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`,H=$.src,V=e3(H);if(Z.transcoded)H=Z.transcoded.url,V="video/mp4";let N=Z.streaming?.hls||Z.streaming?.dash;if(N){if(Z.streaming?.hls)H=Z.streaming.hls.manifestUrl,V="application/x-mpegURL";else if(Z.streaming?.dash)H=Z.streaming.dash.manifestUrl,V="application/dash+xml"}let w=Z.poster?.url||$.poster,R=[`id="${L}"`];if(Y)R.push("controls");if(Q)R.push("autoplay");if(X)R.push("muted");if(G)R.push("loop");if(q)R.push("playsinline");if(j)R.push("disablepictureinpicture");if(B)R.push("disableremoteplayback");if(U)R.push(`crossorigin="${U}"`);if(_){if(R.push(`data-preload="${K}"`),R.push('preload="none"'),w)R.push(`data-poster="${B0(w)}"`);R.push("data-stx-lazy")}else if(R.push(`preload="${K}"`),w)R.push(`poster="${B0(w)}"`);let A=W||Z.metadata?.width,T=z||Z.metadata?.height;if(A)R.push(`width="${A}"`);if(T)R.push(`height="${T}"`);if(O)R.push(`class="${B0(O)}"`);if(F)R.push(`style="${B0(F)}"`);let M=` <source ${_?`data-src="${B0(H)}"`:`src="${B0(H)}"`} type="${V}" />`,E=`<video ${R.join(" ")}>
1158
+ ${M}
1156
1159
  Your browser does not support the video tag.
1157
- </video>`;if(Z.spriteSheet)I=`<div class="stx-video-wrapper" data-sprite-sheet="${B0(Z.spriteSheet.url)}" data-sprite-cols="${Z.spriteSheet.columns}" data-sprite-interval="${Z.spriteSheet.interval}">
1158
- ${I}
1159
- </div>`;let D;if(U)D=`
1160
+ </video>`;if(Z.spriteSheet)E=`<div class="stx-video-wrapper" data-sprite-sheet="${B0(Z.spriteSheet.url)}" data-sprite-cols="${Z.spriteSheet.columns}" data-sprite-interval="${Z.spriteSheet.interval}">
1161
+ ${E}
1162
+ </div>`;let k;if(_)k=`
1160
1163
  (function() {
1161
1164
  var video = document.getElementById('${L}');
1162
1165
  if (!video) return;
@@ -1191,7 +1194,7 @@ ${I}
1191
1194
 
1192
1195
  observer.observe(video);
1193
1196
  })();
1194
- `.trim();let y;if(R)y=`
1197
+ `.trim();let y;if(N)y=`
1195
1198
  .stx-video-wrapper {
1196
1199
  position: relative;
1197
1200
  width: 100%;
@@ -1200,9 +1203,9 @@ ${I}
1200
1203
  width: 100%;
1201
1204
  height: auto;
1202
1205
  }
1203
- `.trim();return{html:I,script:D,css:y}}var dZ=!1,uZ=!0,pZ="metadata",KX="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";var iZ=P(()=>{w4()});function nZ(){return A5({name:"video",hasEndTag:!1,description:"Render a video with optional ts-videos processing, streaming, and poster generation",transform:async($,Z,J,Y)=>{let{src:Q,options:X}=jX($,Z,J);if(!Q)return console.warn("@video directive: missing src argument"),"<!-- @video: missing src -->";let G={src:Q,poster:X.poster,controls:X.controls!==!1,autoplay:X.autoplay||!1,muted:X.muted||!1,loop:X.loop||!1,preload:X.preload||"metadata",playsinline:X.playsinline!==!1,lazy:X.lazy!==!1,player:X.player||"native",type:X.type,width:X.width,height:X.height,class:X.class,style:X.style,id:X.id,crossorigin:X.crossorigin,disablePictureInPicture:X.disablePictureInPicture,disableRemotePlayback:X.disableRemotePlayback,title:X.title,quality:X.quality,platform:X.platform,process:X.process,generatePoster:X.generatePoster,streaming:X.streaming,transcode:X.transcode,spriteSheet:X.spriteSheet,waveform:X.waveform},q={isDev:J.__isDev||!1,tsVideosConfig:J.__tsVideosConfig},U=await l5(G,q),_=U.html;if(U.css)_+=`
1204
- <style>${U.css}</style>`;if(U.script)_+=`
1205
- <script>${U.script}</script>`;return _},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function jX($,Z,J){if(Z.src)return{src:String(Z.src),options:Z.options||{}};let Y=$.trim();if(Y.startsWith("@video(")||Y.startsWith("("))Y=Y.replace(/^@video\(/,"").replace(/^\(/,"").replace(/\)$/,"");let Q=OX(Y),X=oZ(Q[0],J)||"",G={};if(Q[1]){let K=oZ(Q[1],J);if(typeof K==="object"&&K!==null)G=K;else if(typeof Q[1]==="string")try{G=JSON.parse(Q[1])}catch{}}return{src:X,options:G}}function OX($){let Z=[],J="",Y=!1,Q="",X=0,G=0;for(let K=0;K<$.length;K++){let q=$[K],U=K>0?$[K-1]:"";if((q==='"'||q==="'"||q==="`")&&U!=="\\"){if(!Y)Y=!0,Q=q;else if(q===Q)Y=!1,Q="";else J+=q;continue}if(!Y){if(q==="{")X++;if(q==="}")X--;if(q==="[")G++;if(q==="]")G--;if(q===","&&X===0&&G===0){Z.push(J.trim()),J="";continue}}J+=q}if(J.trim())Z.push(J.trim());return Z}function oZ($,Z){if(typeof $!=="string")return $;let J=$.trim();if(J.startsWith('"')&&J.endsWith('"')||J.startsWith("'")&&J.endsWith("'"))return J.slice(1,-1);if(!J.startsWith("/")&&!J.startsWith(".")&&!J.startsWith("http")&&!J.startsWith("{")){let Y=Z[J];if(Y!==void 0)return Y}if(J.startsWith("{")||J.startsWith("["))try{return JSON.parse(J)}catch{}return J}var A4;var w4=P(()=>{n$();iZ();A4=nZ()});function HX($,Z){let J=Z.pwa?.manifest?.themeColor||"#4f46e5";return`<div class="stx-pwa-install" style="display:none;">
1206
+ `.trim();return{html:E,script:k,css:y}}var s3=!1,a3=!0,t3="metadata",RX="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";var Z6=C(()=>{E$()});function Y6(){return M5({name:"video",hasEndTag:!1,description:"Render a video with optional ts-videos processing, streaming, and poster generation",transform:async($,Z,J,Y)=>{let{src:Q,options:X}=kX($,Z,J);if(!Q)return console.warn("@video directive: missing src argument"),"<!-- @video: missing src -->";let G={src:Q,poster:X.poster,controls:X.controls!==!1,autoplay:X.autoplay||!1,muted:X.muted||!1,loop:X.loop||!1,preload:X.preload||"metadata",playsinline:X.playsinline!==!1,lazy:X.lazy!==!1,player:X.player||"native",type:X.type,width:X.width,height:X.height,class:X.class,style:X.style,id:X.id,crossorigin:X.crossorigin,disablePictureInPicture:X.disablePictureInPicture,disableRemotePlayback:X.disableRemotePlayback,title:X.title,quality:X.quality,platform:X.platform,process:X.process,generatePoster:X.generatePoster,streaming:X.streaming,transcode:X.transcode,spriteSheet:X.spriteSheet,waveform:X.waveform},q={isDev:J.__isDev||!1,tsVideosConfig:J.__tsVideosConfig},_=await n5(G,q),W=_.html;if(_.css)W+=`
1207
+ <style>${_.css}</style>`;if(_.script)W+=`
1208
+ <script>${_.script}</script>`;return W},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function kX($,Z,J){if(Z.src)return{src:String(Z.src),options:Z.options||{}};let Y=$.trim();if(Y.startsWith("@video(")||Y.startsWith("("))Y=Y.replace(/^@video\(/,"").replace(/^\(/,"").replace(/\)$/,"");let Q=bX(Y),X=J6(Q[0],J)||"",G={};if(Q[1]){let K=J6(Q[1],J);if(typeof K==="object"&&K!==null)G=K;else if(typeof Q[1]==="string")try{G=JSON.parse(Q[1])}catch{}}return{src:X,options:G}}function bX($){let Z=[],J="",Y=!1,Q="",X=0,G=0;for(let K=0;K<$.length;K++){let q=$[K],_=K>0?$[K-1]:"";if((q==='"'||q==="'"||q==="`")&&_!=="\\"){if(!Y)Y=!0,Q=q;else if(q===Q)Y=!1,Q="";else J+=q;continue}if(!Y){if(q==="{")X++;if(q==="}")X--;if(q==="[")G++;if(q==="]")G--;if(q===","&&X===0&&G===0){Z.push(J.trim()),J="";continue}}J+=q}if(J.trim())Z.push(J.trim());return Z}function J6($,Z){if(typeof $!=="string")return $;let J=$.trim();if(J.startsWith('"')&&J.endsWith('"')||J.startsWith("'")&&J.endsWith("'"))return J.slice(1,-1);if(!J.startsWith("/")&&!J.startsWith(".")&&!J.startsWith("http")&&!J.startsWith("{")){let Y=Z[J];if(Y!==void 0)return Y}if(J.startsWith("{")||J.startsWith("["))try{return JSON.parse(J)}catch{}return J}var D$;var E$=C(()=>{t9();Z6();D$=Y6()});function SX($,Z){let J=Z.pwa?.manifest?.themeColor||"#4f46e5";return`<div class="stx-pwa-install" style="display:none;">
1206
1209
  ${$}
1207
1210
  </div>
1208
1211
  <script>
@@ -1247,7 +1250,7 @@ ${I}
1247
1250
  }
1248
1251
  }
1249
1252
  })();
1250
- </script>`}function LX($,Z){let J=Z.pwa?.updates,Y=J?.message||"A new version is available. Reload to update?",Q=J?.autoReload||!1,X=$.trim().length>0,G=`
1253
+ </script>`}function yX($,Z){let J=Z.pwa?.updates,Y=J?.message||"A new version is available. Reload to update?",Q=J?.autoReload||!1,X=$.trim().length>0,G=`
1251
1254
  <div class="stx-pwa-update-banner" style="
1252
1255
  position: fixed;
1253
1256
  bottom: 0;
@@ -1358,7 +1361,7 @@ else {
1358
1361
  // Also listen for custom event
1359
1362
  window.addEventListener('pwa-update-available', showUpdate);
1360
1363
  })();
1361
- </script>`}function FX($,Z){let J=$.trim().length>0,Y=`
1364
+ </script>`}function CX($,Z){let J=$.trim().length>0,Y=`
1362
1365
  <div class="stx-offline-indicator" style="
1363
1366
  position: fixed;
1364
1367
  top: 16px;
@@ -1419,7 +1422,7 @@ else {
1419
1422
  window.addEventListener('offline', updateStatus);
1420
1423
  updateStatus();
1421
1424
  })();
1422
- </script>`}function VX($,Z){let J=Z.pwa?.push,Y=J?.vapidPublicKey||"",Q=J?.subscriptionEndpoint||"/api/push/subscribe";return`<div class="stx-pwa-push" style="display:none;">
1425
+ </script>`}function PX($,Z){let J=Z.pwa?.push,Y=J?.vapidPublicKey||"",Q=J?.subscriptionEndpoint||"/api/push/subscribe";return`<div class="stx-pwa-push" style="display:none;">
1423
1426
  ${$}
1424
1427
  </div>
1425
1428
  <script>
@@ -1501,80 +1504,80 @@ catch (error) {
1501
1504
  init();
1502
1505
  }
1503
1506
  })();
1504
- </script>`}var NX,RX,AX,wX,sZ;var rZ=P(()=>{NX={name:"pwa.installButton",handler:($,Z,J,Y)=>{let Q=J.__stx_options||{};return HX($,Q)},hasEndTag:!0,description:"Renders a PWA install prompt button that appears when the app can be installed"},RX={name:"pwa.updatePrompt",handler:($,Z,J,Y)=>{let Q=J.__stx_options||{};return LX($,Q)},hasEndTag:!0,description:"Renders a PWA update notification UI when a new version is available"},AX={name:"pwa.offlineIndicator",handler:($,Z,J,Y)=>{let Q=J.__stx_options||{};return FX($,Q)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},wX={name:"pwa.pushSubscribe",handler:($,Z,J,Y)=>{let Q=J.__stx_options||{};return VX($,Q)},hasEndTag:!0,description:"Renders a push notification subscription button"},sZ=[NX,RX,AX,wX]});function T4($){for(let[Z,J]of Object.entries(u))if(J===$)return Z;return}var u;var c5=P(()=>{u={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 TX(){return!1}function t1(){return!TX()||process.env.STX_DEBUG==="true"}import MX from"path";function i5(){return{...M4}}function n5($){if(!M4.showRelativePaths||!$)return $;let Z=M4.baseDir||process.cwd();try{let J=MX.relative(Z,$);return J.startsWith("..")?$:J}catch{return $}}var IX,M4,o5,j1,s5;var r5=P(()=>{c5();IX={showRelativePaths:!1,enableAutoRecovery:t1(),logRecoveryWarnings:!0},M4={...IX};o5=class o5 extends Error{code;filePath;line;column;context;numericCode;constructor($,Z,J,Y,Q,X,G){super($);this.code=Z;this.filePath=J;this.line=Y;this.column=Q;this.context=X;if(this.name="StxError",this.numericCode=G||u.EVALUATION_ERROR,this.filePath)this.filePath=n5(this.filePath)}};j1=class j1 extends o5{constructor($,Z,J,Y,Q,X){super($,"stx_RUNTIME_ERROR",Z,J,Y,Q,X||u.EVALUATION_ERROR);this.name="StxRuntimeError"}};s5=class s5 extends o5{isFatal=!0;constructor($,Z,J,Y,Q,X){super($,"stx_VALIDATION_ERROR",Z,J,Y,Q,X||u.DOM_API_VIOLATION);this.name="StxValidationError"}}});function tZ($){let{type:Z,message:J,code:Y,filePath:Q,line:X,column:G,template:K,offset:q,snippet:U,suggestion:_,format:W="text"}=$,z=X,j=G;if(!z&&K&&q!==void 0){let H=yX(K,q);z=H.line,j=H.column}let B=Q?n5(Q):void 0,O=Y?T4(Y):void 0,F={type:Z,code:Y,codeName:O,message:J,filePath:B,line:z,column:j,snippet:U,suggestion:_,timestamp:new Date().toISOString()},L;switch(W){case"html":L=DX(F);break;case"json":L=JSON.stringify(F,null,2);break;case"console":L=kX(F,K,q);break;case"text":default:L=EX(F,K,q);break}return{formatted:L,data:F}}function EX($,Z,J){let Y=[],Q=$.code?` [${$.codeName||$.code}]`:"";if(Y.push(`[${$.type} Error${Q}]`),$.filePath){let X=$.filePath;if($.line){if(X+=`:${$.line}`,$.column)X+=`:${$.column}`}Y.push(`at ${X}`)}if(Y.push(`
1505
- ${$.message}`),Z&&$.line){let X=SX(Z,$.line,2);if(X)Y.push(`
1507
+ </script>`}var vX,xX,fX,gX,X6;var Q6=C(()=>{vX={name:"pwa.installButton",handler:($,Z,J,Y)=>{let Q=J.__stx_options||{};return SX($,Q)},hasEndTag:!0,description:"Renders a PWA install prompt button that appears when the app can be installed"},xX={name:"pwa.updatePrompt",handler:($,Z,J,Y)=>{let Q=J.__stx_options||{};return yX($,Q)},hasEndTag:!0,description:"Renders a PWA update notification UI when a new version is available"},fX={name:"pwa.offlineIndicator",handler:($,Z,J,Y)=>{let Q=J.__stx_options||{};return CX($,Q)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},gX={name:"pwa.pushSubscribe",handler:($,Z,J,Y)=>{let Q=J.__stx_options||{};return PX($,Q)},hasEndTag:!0,description:"Renders a push notification subscription button"},X6=[vX,xX,fX,gX]});function k$($){for(let[Z,J]of Object.entries(p))if(J===$)return Z;return}var p;var o5=C(()=>{p={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 hX(){return!1}function Z5(){return!hX()||process.env.STX_DEBUG==="true"}import dX from"path";function s5(){return{...b$}}function r5($){if(!b$.showRelativePaths||!$)return $;let Z=b$.baseDir||process.cwd();try{let J=dX.relative(Z,$);return J.startsWith("..")?$:J}catch{return $}}var mX,b$,a5,j1,t5;var e5=C(()=>{o5();mX={showRelativePaths:!1,enableAutoRecovery:Z5(),logRecoveryWarnings:!0},b$={...mX};a5=class a5 extends Error{code;filePath;line;column;context;numericCode;constructor($,Z,J,Y,Q,X,G){super($);this.code=Z;this.filePath=J;this.line=Y;this.column=Q;this.context=X;if(this.name="StxError",this.numericCode=G||p.EVALUATION_ERROR,this.filePath)this.filePath=r5(this.filePath)}};j1=class j1 extends a5{constructor($,Z,J,Y,Q,X){super($,"stx_RUNTIME_ERROR",Z,J,Y,Q,X||p.EVALUATION_ERROR);this.name="StxRuntimeError"}};t5=class t5 extends a5{isFatal=!0;constructor($,Z,J,Y,Q,X){super($,"stx_VALIDATION_ERROR",Z,J,Y,Q,X||p.DOM_API_VIOLATION);this.name="StxValidationError"}}});function K6($){let{type:Z,message:J,code:Y,filePath:Q,line:X,column:G,template:K,offset:q,snippet:_,suggestion:W,format:z="text"}=$,U=X,j=G;if(!U&&K&&q!==void 0){let H=nX(K,q);U=H.line,j=H.column}let B=Q?r5(Q):void 0,O=Y?k$(Y):void 0,F={type:Z,code:Y,codeName:O,message:J,filePath:B,line:U,column:j,snippet:_,suggestion:W,timestamp:new Date().toISOString()},L;switch(z){case"html":L=pX(F);break;case"json":L=JSON.stringify(F,null,2);break;case"console":L=lX(F,K,q);break;case"text":default:L=uX(F,K,q);break}return{formatted:L,data:F}}function uX($,Z,J){let Y=[],Q=$.code?` [${$.codeName||$.code}]`:"";if(Y.push(`[${$.type} Error${Q}]`),$.filePath){let X=$.filePath;if($.line){if(X+=`:${$.line}`,$.column)X+=`:${$.column}`}Y.push(`at ${X}`)}if(Y.push(`
1508
+ ${$.message}`),Z&&$.line){let X=cX(Z,$.line,2);if(X)Y.push(`
1506
1509
  ${X}`)}if($.snippet)Y.push(`
1507
1510
  Snippet: ${$.snippet}`);if($.suggestion)Y.push(`
1508
- Suggestion: ${$.suggestion}`);return Y.join(" ")}function DX($){let Z=$.code?` [${$.code}]`:"",J=$.filePath?` in ${$.filePath}${$.line?`:${$.line}`:""}`:"",Y=`<!-- [${$.type} Error${Z}]${J}: ${aZ($.message)}`;if($.suggestion)Y+=` | Suggestion: ${aZ($.suggestion)}`;return Y+=" -->",Y}function kX($,Z,J){let U=[],_=$.code?` [${$.codeName||$.code}]`:"";if(U.push(`\x1B[1m${"\x1B[31m"}\u2501\u2501\u2501 ${$.type} Error${_} \u2501\u2501\u2501${"\x1B[0m"}`),$.filePath){let W=`\x1B[36m${$.filePath}\x1B[0m`;if($.line){if(W+=`\x1B[90m:${$.line}\x1B[0m`,$.column)W+=`\x1B[90m:${$.column}\x1B[0m`}U.push(`
1509
- \x1B[90mat\x1B[0m ${W}`)}if(U.push(`
1511
+ Suggestion: ${$.suggestion}`);return Y.join(" ")}function pX($){let Z=$.code?` [${$.code}]`:"",J=$.filePath?` in ${$.filePath}${$.line?`:${$.line}`:""}`:"",Y=`<!-- [${$.type} Error${Z}]${J}: ${G6($.message)}`;if($.suggestion)Y+=` | Suggestion: ${G6($.suggestion)}`;return Y+=" -->",Y}function lX($,Z,J){let _=[],W=$.code?` [${$.codeName||$.code}]`:"";if(_.push(`\x1B[1m${"\x1B[31m"}\u2501\u2501\u2501 ${$.type} Error${W} \u2501\u2501\u2501${"\x1B[0m"}`),$.filePath){let z=`\x1B[36m${$.filePath}\x1B[0m`;if($.line){if(z+=`\x1B[90m:${$.line}\x1B[0m`,$.column)z+=`\x1B[90m:${$.column}\x1B[0m`}_.push(`
1512
+ \x1B[90mat\x1B[0m ${z}`)}if(_.push(`
1510
1513
 
1511
- ${$.message}`),Z&&$.line){let W=bX(Z,$.line,2);if(W)U.push(`
1514
+ ${$.message}`),Z&&$.line){let z=iX(Z,$.line,2);if(z)_.push(`
1512
1515
 
1513
1516
  \x1B[90mContext:\x1B[0m
1514
- ${W}`)}if($.suggestion)U.push(`
1515
-
1516
- \x1B[33mSuggestion:\x1B[0m ${$.suggestion}`);return U.push(`
1517
- ${"\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"}`),U.join("")}function SX($,Z,J){let Y=$.split(`
1518
- `),Q=Math.max(0,Z-J-1),X=Math.min(Y.length-1,Z+J-1),G=[];for(let K=Q;K<=X;K++){let q=(K+1).toString().padStart(4),U=K===Z-1?">":" ";G.push(`${U}${q} | ${Y[K]}`)}return G.join(`
1519
- `)}function bX($,Z,J){let Y=$.split(`
1520
- `),Q=Math.max(0,Z-J-1),X=Math.min(Y.length-1,Z+J-1),G="\x1B[90m",K="\x1B[31m",q="\x1B[0m",U=[];for(let _=Q;_<=X;_++){let W=(_+1).toString().padStart(4),z=_===Z-1,j=z?"\x1B[31m>\x1B[0m":" ",B=z?`\x1B[31m${Y[_]}\x1B[0m`:`\x1B[90m${Y[_]}\x1B[0m`;U.push(`${j}\x1B[90m${W}\x1B[0m | ${B}`)}return U.join(`
1521
- `)}function aZ($){return $.replace(/--/g,"- -").replace(/>/g,"&gt;")}function yX($,Z){let Y=$.substring(0,Z).split(`
1522
- `);return{line:Y.length,column:Y[Y.length-1].length}}function o($,Z,J){return tZ({type:$,message:Z,code:J,format:"html"}).formatted}async function E1($,Z,J){try{return await $()}catch(Y){if(J&&Y instanceof Error)J(Y);return Z}}var eZ=P(()=>{c5();r5()});class E4{errors=[];maxErrors;enableFileLogging;logFilePath;logFormat;maxFileSize;maxLogFiles;minLevel;writeQueue=Promise.resolve();constructor($={}){this.maxErrors=$.maxErrors??1000,this.enableFileLogging=$.enableFileLogging??!1,this.logFilePath=$.logFilePath??".stx/errors.log",this.logFormat=$.logFormat??"json",this.maxFileSize=$.maxFileSize??10485760,this.maxLogFiles=$.maxLogFiles??5,this.minLevel=$.minLevel??"all"}configure($){if($.maxErrors!==void 0)this.maxErrors=$.maxErrors;if($.enableFileLogging!==void 0)this.enableFileLogging=$.enableFileLogging;if($.logFilePath!==void 0)this.logFilePath=$.logFilePath;if($.logFormat!==void 0)this.logFormat=$.logFormat;if($.maxFileSize!==void 0)this.maxFileSize=$.maxFileSize;if($.maxLogFiles!==void 0)this.maxLogFiles=$.maxLogFiles;if($.minLevel!==void 0)this.minLevel=$.minLevel}log($,Z,J="error"){let Y={timestamp:new Date,error:$,context:Z,level:J};if(this.errors.push(Y),this.errors.length>this.maxErrors)this.errors=this.errors.slice(-this.maxErrors);if(this.enableFileLogging&&this.shouldLog(J))this.writeToFile(Y)}shouldLog($){if(this.minLevel==="all")return!0;if(this.minLevel==="warning")return $==="error"||$==="warning";if(this.minLevel==="error")return $==="error";return!0}formatEntry($){if(this.logFormat==="json")return JSON.stringify({timestamp:$.timestamp.toISOString(),level:$.level||"error",type:$.error.constructor.name,message:$.error.message,stack:$.error.stack,context:$.context});let Z=[`[${$.timestamp.toISOString()}] [${($.level||"error").toUpperCase()}] ${$.error.constructor.name}: ${$.error.message}`];if($.error.stack)Z.push(` Stack: ${$.error.stack.split(`
1517
+ ${z}`)}if($.suggestion)_.push(`
1518
+
1519
+ \x1B[33mSuggestion:\x1B[0m ${$.suggestion}`);return _.push(`
1520
+ ${"\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"}`),_.join("")}function cX($,Z,J){let Y=$.split(`
1521
+ `),Q=Math.max(0,Z-J-1),X=Math.min(Y.length-1,Z+J-1),G=[];for(let K=Q;K<=X;K++){let q=(K+1).toString().padStart(4),_=K===Z-1?">":" ";G.push(`${_}${q} | ${Y[K]}`)}return G.join(`
1522
+ `)}function iX($,Z,J){let Y=$.split(`
1523
+ `),Q=Math.max(0,Z-J-1),X=Math.min(Y.length-1,Z+J-1),G="\x1B[90m",K="\x1B[31m",q="\x1B[0m",_=[];for(let W=Q;W<=X;W++){let z=(W+1).toString().padStart(4),U=W===Z-1,j=U?"\x1B[31m>\x1B[0m":" ",B=U?`\x1B[31m${Y[W]}\x1B[0m`:`\x1B[90m${Y[W]}\x1B[0m`;_.push(`${j}\x1B[90m${z}\x1B[0m | ${B}`)}return _.join(`
1524
+ `)}function G6($){return $.replace(/--/g,"- -").replace(/>/g,"&gt;")}function nX($,Z){let Y=$.substring(0,Z).split(`
1525
+ `);return{line:Y.length,column:Y[Y.length-1].length}}function s($,Z,J){return K6({type:$,message:Z,code:J,format:"html"}).formatted}async function E1($,Z,J){try{return await $()}catch(Y){if(J&&Y instanceof Error)J(Y);return Z}}var q6=C(()=>{o5();e5()});class y${errors=[];maxErrors;enableFileLogging;logFilePath;logFormat;maxFileSize;maxLogFiles;minLevel;writeQueue=Promise.resolve();constructor($={}){this.maxErrors=$.maxErrors??1000,this.enableFileLogging=$.enableFileLogging??!1,this.logFilePath=$.logFilePath??".stx/errors.log",this.logFormat=$.logFormat??"json",this.maxFileSize=$.maxFileSize??10485760,this.maxLogFiles=$.maxLogFiles??5,this.minLevel=$.minLevel??"all"}configure($){if($.maxErrors!==void 0)this.maxErrors=$.maxErrors;if($.enableFileLogging!==void 0)this.enableFileLogging=$.enableFileLogging;if($.logFilePath!==void 0)this.logFilePath=$.logFilePath;if($.logFormat!==void 0)this.logFormat=$.logFormat;if($.maxFileSize!==void 0)this.maxFileSize=$.maxFileSize;if($.maxLogFiles!==void 0)this.maxLogFiles=$.maxLogFiles;if($.minLevel!==void 0)this.minLevel=$.minLevel}log($,Z,J="error"){let Y={timestamp:new Date,error:$,context:Z,level:J};if(this.errors.push(Y),this.errors.length>this.maxErrors)this.errors=this.errors.slice(-this.maxErrors);if(this.enableFileLogging&&this.shouldLog(J))this.writeToFile(Y)}shouldLog($){if(this.minLevel==="all")return!0;if(this.minLevel==="warning")return $==="error"||$==="warning";if(this.minLevel==="error")return $==="error";return!0}formatEntry($){if(this.logFormat==="json")return JSON.stringify({timestamp:$.timestamp.toISOString(),level:$.level||"error",type:$.error.constructor.name,message:$.error.message,stack:$.error.stack,context:$.context});let Z=[`[${$.timestamp.toISOString()}] [${($.level||"error").toUpperCase()}] ${$.error.constructor.name}: ${$.error.message}`];if($.error.stack)Z.push(` Stack: ${$.error.stack.split(`
1523
1526
  `).slice(1).join(`
1524
1527
  `)}`);if($.context)Z.push(` Context: ${JSON.stringify($.context)}`);return Z.join(`
1525
1528
  `)}writeToFile($){this.writeQueue=this.writeQueue.then(async()=>{try{let Z=await import("fs"),Y=(await import("path")).dirname(this.logFilePath);if(!Z.existsSync(Y))Z.mkdirSync(Y,{recursive:!0});await this.rotateIfNeeded(Z);let Q=`${this.formatEntry($)}
1526
1529
  `;Z.appendFileSync(this.logFilePath,Q,"utf-8")}catch(Z){if(process.env.STX_DEBUG==="true")console.error("Failed to write to error log:",Z)}})}async rotateIfNeeded($){try{if(!$.existsSync(this.logFilePath))return;if($.statSync(this.logFilePath).size<this.maxFileSize)return;for(let J=this.maxLogFiles-1;J>=1;J--){let Y=`${this.logFilePath}.${J}`,Q=`${this.logFilePath}.${J+1}`;if($.existsSync(Y))if(J>=this.maxLogFiles-1)$.unlinkSync(Y);else $.renameSync(Y,Q)}if(this.maxLogFiles<=1)$.writeFileSync(this.logFilePath,"");else $.renameSync(this.logFilePath,`${this.logFilePath}.1`)}catch(Z){if(process.env.STX_DEBUG==="true")console.error("Failed to rotate error logs:",Z)}}getRecentErrors($=10){return this.errors.slice(-$)}getErrorsByType($){return this.errors.filter((Z)=>Z.error.constructor.name===$)}getErrorsByLevel($){return this.errors.filter((Z)=>Z.level===$)}clear(){this.errors.length=0}async clearLogFile(){try{let $=await import("fs");if($.existsSync(this.logFilePath))$.writeFileSync(this.logFilePath,"","utf-8")}catch($){if(process.env.STX_DEBUG==="true")console.error("Failed to clear error log:",$)}}getStats(){let $={},Z={error:0,warning:0,info:0};for(let J of this.errors){let Y=J.error.constructor.name;$[Y]=($[Y]||0)+1;let Q=J.level||"error";Z[Q]=(Z[Q]||0)+1}return{total:this.errors.length,byType:$,byLevel:Z}}async exportToFile($,Z="json"){let J=await import("fs"),Q=(await import("path")).dirname($);if(!J.existsSync(Q))J.mkdirSync(Q,{recursive:!0});if(Z==="json"){let X=this.errors.map((G)=>({timestamp:G.timestamp.toISOString(),level:G.level||"error",type:G.error.constructor.name,message:G.error.message,stack:G.error.stack,context:G.context}));J.writeFileSync($,JSON.stringify(X,null,2),"utf-8")}else{let X=this.errors.map((G)=>this.formatEntry(G));J.writeFileSync($,X.join(`
1527
1530
 
1528
- `),"utf-8")}}async flush(){await this.writeQueue}}var I4,O1,D4;var $3=P(()=>{r5();I4={isEnabled(){return i5().enableAutoRecovery},fixCommonSyntaxErrors($){let Z=i5();if(!Z.enableAutoRecovery)return{fixed:$,fixes:[]};let J=$,Y=[],Q=(J.match(/\{\{/g)||[]).length,X=(J.match(/\}\}/g)||[]).length;if(Q>X){let K=Q-X;J+="}}".repeat(K),Y.push(`Added ${K} missing closing braces '}}'`)}let G=["if","foreach","for","switch","section"];for(let K of G){let q=(J.match(new RegExp(`@${K}\\b`,"g"))||[]).length,U=(J.match(new RegExp(`@end${K}\\b`,"g"))||[]).length;if(q>U){let _=q-U;for(let W=0;W<_;W++)J+=`
1529
- @end${K}`;Y.push(`Added ${_} missing @end${K}`)}}if(Y.length>0&&Z.logRecoveryWarnings)console.warn("[stx] Auto-recovery applied fixes:"),Y.forEach((K)=>console.warn(` - ${K}`)),console.warn(" Consider fixing these issues in your template.");return{fixed:J,fixes:Y}},createFallbackContent($,Z){if(t1())return`<!-- ${$} failed: ${Z.message} -->`;return"<!-- stx rendering error -->"}};O1=new E4,D4={isDevelopment(){return t1()},logDetailedError($,Z){if(!this.isDevelopment())return;if(console.error("=== stx Detailed Error ==="),console.error("Error:",$.message),console.error("Stack:",$.stack),Z)console.error("Context:",Z);console.error("========================")},createErrorReport($,Z){let J=["=== stx Error Report ===",`Time: ${new Date().toISOString()}`,`Error: ${$.message}`,`Type: ${$.constructor.name}`,`Stack: ${$.stack}`];if(Z)J.push(`Context: ${JSON.stringify(Z,null,2)}`);return J.push("========================"),J.join(`
1530
- `)}}});var Z3=()=>{};var Y3=P(()=>{c5();eZ();$3();Z3();r5()});var l0=P(()=>{Y3()});function J3($,Z,J,Y){let Q=$;Q=Q.replace(/@meta\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(K,q,U)=>{if(!U&&q.includes(":")){let _=q.split(":"),W=q,z=_.length>1?_[1]:"";if(z&&Z[z])U=Z[z];else if(W.startsWith("og:")&&Z.openGraph&&Z.openGraph[_[1]])U=Z.openGraph[_[1]];else U="";return U?`<meta property="${d(W)}" content="${d(U)}">`:""}return U?`<meta name="${d(q)}" content="${d(U)}">`:""});let X=/@metaTag\s*\(/g,G;while((G=X.exec(Q))!==null){let K=G.index,q=K+G[0].length-1,U=1,_=q+1;while(_<Q.length&&U>0){if(Q[_]==="(")U++;else if(Q[_]===")"){if(U--,U===0)break}_++}if(U!==0)break;let W=Q.substring(q+1,_).trim(),z=_+1,j=(()=>{try{let B=O0(W,Z);if(!B)return"";let O="<meta";if(B.name)O+=` name="${d(String(B.name))}"`;if(B.property)O+=` property="${d(String(B.property))}"`;if(B.httpEquiv)O+=` http-equiv="${d(String(B.httpEquiv))}"`;if(B.content)O+=` content="${d(String(B.content))}"`;return O+=">",O}catch(B){let O=B instanceof Error?B.message:String(B);return o("MetaTag",O,u.EVALUATION_ERROR)}})();Q=Q.substring(0,K)+j+Q.substring(z),X.lastIndex=0}return Q}function X3($,Z,J){let Y=$,Q=/@structuredData\s*\(/g,X;while((X=Q.exec(Y))!==null){let G=X.index,K=G+X[0].length-1,q=1,U=K+1;while(U<Y.length&&q>0){if(Y[U]==="(")q++;else if(Y[U]===")"){if(q--,q===0)break}U++}if(q!==0)break;let _=Y.substring(K+1,U).trim(),W=U+1,z=(()=>{try{let j=O0(_,Z);if(!j)return"";if(!j["@context"])j["@context"]="https://schema.org";return`<script type="application/ld+json">${JSON.stringify(j).replace(/<\//g,"<\\/")}</script>`}catch(j){let B=j instanceof Error?j.message:String(j);return o("StructuredData",B,u.EVALUATION_ERROR)}})();Y=Y.substring(0,G)+z+Y.substring(W),Q.lastIndex=0}return Y}function Q3($,Z,J,Y){let Q=$,X=/@seo\s*\(\s*\{/g,G;while((G=X.exec(Q))!==null){let K=Q.indexOf("{",G.index+4),q=1,U=K+1,_=null,W=!1;while(U<Q.length&&q>0){let L=Q[U];if(W){W=!1,U++;continue}if(L==="\\"&&_){W=!0,U++;continue}if(_){if(L===_)_=null;U++;continue}if(L==='"'||L==="'"||L==="`"){_=L,U++;continue}if(L==="{")q++;else if(L==="}")q--;U++}if(q!==0)break;let z=Q.substring(U).match(/^\s*\)/);if(!z)break;let j=U+z[0].length,B=Q.substring(K,U),O=Q.substring(G.index,j),F=((L)=>{try{let H=O0(L,Z);if(!H)return"";let V="";if(H.title)V+=`<title>${d(H.title)}</title>
1531
- `,V+=`<meta name="title" content="${d(H.title)}">
1532
- `;if(H.description)V+=`<meta name="description" content="${d(H.description)}">
1533
- `;if(H.keywords){let R=Array.isArray(H.keywords)?H.keywords.join(", "):H.keywords;V+=`<meta name="keywords" content="${d(R)}">
1534
- `}if(H.robots)V+=`<meta name="robots" content="${d(H.robots)}">
1535
- `;if(H.canonical)V+=`<link rel="canonical" href="${d(H.canonical)}">
1536
- `;if(H.openGraph){let R=H.openGraph;if(V+=`<meta property="og:type" content="${d(R.type||"website")}">
1537
- `,R.title||H.title){let N=R.title||H.title||"";V+=`<meta property="og:title" content="${d(N)}">
1538
- `}if(R.description||H.description){let N=R.description||H.description||"";V+=`<meta property="og:description" content="${d(N)}">
1539
- `}if(R.url||H.canonical){let N=R.url||H.canonical||"";V+=`<meta property="og:url" content="${d(N)}">
1540
- `}if(R.image){if(V+=`<meta property="og:image" content="${d(R.image)}">
1541
- `,R.imageAlt)V+=`<meta property="og:image:alt" content="${d(R.imageAlt)}">
1542
- `;if(R.imageWidth)V+=`<meta property="og:image:width" content="${d(String(R.imageWidth))}">
1543
- `;if(R.imageHeight)V+=`<meta property="og:image:height" content="${d(String(R.imageHeight))}">
1544
- `}if(R.siteName)V+=`<meta property="og:site_name" content="${d(R.siteName)}">
1545
- `}if(H.twitter){let R=H.twitter;if(V+=`<meta name="twitter:card" content="${d(R.card||"summary_large_image")}">
1546
- `,R.title||H.title){let N=R.title||H.title||"";V+=`<meta name="twitter:title" content="${d(N)}">
1547
- `}if(R.description||H.description){let N=R.description||H.description||"";V+=`<meta name="twitter:description" content="${d(N)}">
1548
- `}if(R.image||H.openGraph&&H.openGraph.image){let N=R.image||(H.openGraph?H.openGraph.image:"")||"";V+=`<meta name="twitter:image" content="${d(N)}">
1549
- `}if(R.site)V+=`<meta name="twitter:site" content="${d(R.site)}">
1550
- `;if(R.creator)V+=`<meta name="twitter:creator" content="${d(R.creator)}">
1551
- `}if(H.structuredData){let R=JSON.stringify(H.structuredData).replace(/<\//g,"<\\/");V+=`<script type="application/ld+json">${R}</script>
1552
- `}return V.trim()}catch(H){let V=H instanceof Error?H.message:String(H);return o("SEO",`Error processing @seo directive: ${V}`,u.EVALUATION_ERROR)}})(B);Q=Q.substring(0,G.index)+F+Q.substring(j),X.lastIndex=G.index+F.length}return Q}function G3($,Z,J){if(J.seo?.enabled===!1)return $;if($.includes("<!-- stx SEO Tags -->")||J.skipDefaultSeoTags===!0)return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let Y=$.includes("<title>")||$.includes("</title>"),Q="";if(Z.title)Q=Z.title;else if(Z.meta&&Z.meta.title)Q=Z.meta.title;else if(J.seo?.defaultConfig?.title)Q=J.seo.defaultConfig.title;else Q=J.defaultTitle||"stx Project";let X="";if(Z.description)X=Z.description;else if(Z.meta&&Z.meta.description)X=Z.meta.description;else if(J.seo?.defaultConfig?.description)X=J.seo.defaultConfig.description;else X=J.defaultDescription||"A website built with stx templating engine";let G="";if(Z.image)G=Z.image;else if(Z.meta&&Z.meta.image)G=Z.meta.image;else if(Z.openGraph&&Z.openGraph.image)G=Z.openGraph.image;else if(J.seo?.defaultImage)G=J.seo.defaultImage;else if(J.defaultImage)G=J.defaultImage;let K=`
1531
+ `),"utf-8")}}async flush(){await this.writeQueue}}var S$,C0,C$;var W6=C(()=>{e5();S$={isEnabled(){return s5().enableAutoRecovery},fixCommonSyntaxErrors($){let Z=s5();if(!Z.enableAutoRecovery)return{fixed:$,fixes:[]};let J=$,Y=[],Q=(J.match(/\{\{/g)||[]).length,X=(J.match(/\}\}/g)||[]).length;if(Q>X){let K=Q-X;J+="}}".repeat(K),Y.push(`Added ${K} missing closing braces '}}'`)}let G=["if","foreach","for","switch","section"];for(let K of G){let q=(J.match(new RegExp(`@${K}\\b`,"g"))||[]).length,_=(J.match(new RegExp(`@end${K}\\b`,"g"))||[]).length;if(q>_){let W=q-_;for(let z=0;z<W;z++)J+=`
1532
+ @end${K}`;Y.push(`Added ${W} missing @end${K}`)}}if(Y.length>0&&Z.logRecoveryWarnings)console.warn("[stx] Auto-recovery applied fixes:"),Y.forEach((K)=>console.warn(` - ${K}`)),console.warn(" Consider fixing these issues in your template.");return{fixed:J,fixes:Y}},createFallbackContent($,Z){if(Z5())return`<!-- ${$} failed: ${Z.message} -->`;return"<!-- stx rendering error -->"}};C0=new y$,C$={isDevelopment(){return Z5()},logDetailedError($,Z){if(!this.isDevelopment())return;if(console.error("=== stx Detailed Error ==="),console.error("Error:",$.message),console.error("Stack:",$.stack),Z)console.error("Context:",Z);console.error("========================")},createErrorReport($,Z){let J=["=== stx Error Report ===",`Time: ${new Date().toISOString()}`,`Error: ${$.message}`,`Type: ${$.constructor.name}`,`Stack: ${$.stack}`];if(Z)J.push(`Context: ${JSON.stringify(Z,null,2)}`);return J.push("========================"),J.join(`
1533
+ `)}}});var _6=()=>{};var z6=C(()=>{o5();q6();W6();_6();e5()});var c0=C(()=>{z6()});function U6($,Z,J,Y){let Q=$;Q=Q.replace(/@meta\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(K,q,_)=>{if(!_&&q.includes(":")){let W=q.split(":"),z=q,U=W.length>1?W[1]:"";if(U&&Z[U])_=Z[U];else if(z.startsWith("og:")&&Z.openGraph&&Z.openGraph[W[1]])_=Z.openGraph[W[1]];else _="";return _?`<meta property="${m(z)}" content="${m(_)}">`:""}return _?`<meta name="${m(q)}" content="${m(_)}">`:""});let X=/@metaTag\s*\(/g,G;while((G=X.exec(Q))!==null){let K=G.index,q=K+G[0].length-1,_=1,W=q+1;while(W<Q.length&&_>0){if(Q[W]==="(")_++;else if(Q[W]===")"){if(_--,_===0)break}W++}if(_!==0)break;let z=Q.substring(q+1,W).trim(),U=W+1,j=(()=>{try{let B=O0(z,Z);if(!B)return"";let O="<meta";if(B.name)O+=` name="${m(String(B.name))}"`;if(B.property)O+=` property="${m(String(B.property))}"`;if(B.httpEquiv)O+=` http-equiv="${m(String(B.httpEquiv))}"`;if(B.content)O+=` content="${m(String(B.content))}"`;return O+=">",O}catch(B){let O=B instanceof Error?B.message:String(B);return s("MetaTag",O,p.EVALUATION_ERROR)}})();Q=Q.substring(0,K)+j+Q.substring(U),X.lastIndex=0}return Q}function B6($,Z,J){let Y=$,Q=/@structuredData\s*\(/g,X;while((X=Q.exec(Y))!==null){let G=X.index,K=G+X[0].length-1,q=1,_=K+1;while(_<Y.length&&q>0){if(Y[_]==="(")q++;else if(Y[_]===")"){if(q--,q===0)break}_++}if(q!==0)break;let W=Y.substring(K+1,_).trim(),z=_+1,U=(()=>{try{let j=O0(W,Z);if(!j)return"";if(!j["@context"])j["@context"]="https://schema.org";return`<script type="application/ld+json">${JSON.stringify(j).replace(/<\//g,"<\\/")}</script>`}catch(j){let B=j instanceof Error?j.message:String(j);return s("StructuredData",B,p.EVALUATION_ERROR)}})();Y=Y.substring(0,G)+U+Y.substring(z),Q.lastIndex=0}return Y}function j6($,Z,J,Y){let Q=$,X=/@seo\s*\(\s*\{/g,G;while((G=X.exec(Q))!==null){let K=Q.indexOf("{",G.index+4),q=1,_=K+1,W=null,z=!1;while(_<Q.length&&q>0){let L=Q[_];if(z){z=!1,_++;continue}if(L==="\\"&&W){z=!0,_++;continue}if(W){if(L===W)W=null;_++;continue}if(L==='"'||L==="'"||L==="`"){W=L,_++;continue}if(L==="{")q++;else if(L==="}")q--;_++}if(q!==0)break;let U=Q.substring(_).match(/^\s*\)/);if(!U)break;let j=_+U[0].length,B=Q.substring(K,_),O=Q.substring(G.index,j),F=((L)=>{try{let H=O0(L,Z);if(!H)return"";let V="";if(H.title)V+=`<title>${m(H.title)}</title>
1534
+ `,V+=`<meta name="title" content="${m(H.title)}">
1535
+ `;if(H.description)V+=`<meta name="description" content="${m(H.description)}">
1536
+ `;if(H.keywords){let N=Array.isArray(H.keywords)?H.keywords.join(", "):H.keywords;V+=`<meta name="keywords" content="${m(N)}">
1537
+ `}if(H.robots)V+=`<meta name="robots" content="${m(H.robots)}">
1538
+ `;if(H.canonical)V+=`<link rel="canonical" href="${m(H.canonical)}">
1539
+ `;if(H.openGraph){let N=H.openGraph;if(V+=`<meta property="og:type" content="${m(N.type||"website")}">
1540
+ `,N.title||H.title){let w=N.title||H.title||"";V+=`<meta property="og:title" content="${m(w)}">
1541
+ `}if(N.description||H.description){let w=N.description||H.description||"";V+=`<meta property="og:description" content="${m(w)}">
1542
+ `}if(N.url||H.canonical){let w=N.url||H.canonical||"";V+=`<meta property="og:url" content="${m(w)}">
1543
+ `}if(N.image){if(V+=`<meta property="og:image" content="${m(N.image)}">
1544
+ `,N.imageAlt)V+=`<meta property="og:image:alt" content="${m(N.imageAlt)}">
1545
+ `;if(N.imageWidth)V+=`<meta property="og:image:width" content="${m(String(N.imageWidth))}">
1546
+ `;if(N.imageHeight)V+=`<meta property="og:image:height" content="${m(String(N.imageHeight))}">
1547
+ `}if(N.siteName)V+=`<meta property="og:site_name" content="${m(N.siteName)}">
1548
+ `}if(H.twitter){let N=H.twitter;if(V+=`<meta name="twitter:card" content="${m(N.card||"summary_large_image")}">
1549
+ `,N.title||H.title){let w=N.title||H.title||"";V+=`<meta name="twitter:title" content="${m(w)}">
1550
+ `}if(N.description||H.description){let w=N.description||H.description||"";V+=`<meta name="twitter:description" content="${m(w)}">
1551
+ `}if(N.image||H.openGraph&&H.openGraph.image){let w=N.image||(H.openGraph?H.openGraph.image:"")||"";V+=`<meta name="twitter:image" content="${m(w)}">
1552
+ `}if(N.site)V+=`<meta name="twitter:site" content="${m(N.site)}">
1553
+ `;if(N.creator)V+=`<meta name="twitter:creator" content="${m(N.creator)}">
1554
+ `}if(H.structuredData){let N=JSON.stringify(H.structuredData).replace(/<\//g,"<\\/");V+=`<script type="application/ld+json">${N}</script>
1555
+ `}return V.trim()}catch(H){let V=H instanceof Error?H.message:String(H);return s("SEO",`Error processing @seo directive: ${V}`,p.EVALUATION_ERROR)}})(B);Q=Q.substring(0,G.index)+F+Q.substring(j),X.lastIndex=G.index+F.length}return Q}function O6($,Z,J){if(J.seo?.enabled===!1)return $;if($.includes("<!-- stx SEO Tags -->")||J.skipDefaultSeoTags===!0)return $;let Y=Z.__stx_runtime_head;if(!!(Y?.title||Y?.meta?.some((z)=>z.property==="og:title"||z.name==="og:title"||z.name==="twitter:title"||z.name==="description")))return $;if(/<meta\s+(?:[^>]*\s)?property=["']og:title["']/i.test($)||/<meta\s+(?:[^>]*\s)?name=["']og:title["']/i.test($)||/<meta\s+(?:[^>]*\s)?name=["']twitter:title["']/i.test($))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let X=$.includes("<title>")||$.includes("</title>"),G="";if(Z.title)G=Z.title;else if(Z.meta&&Z.meta.title)G=Z.meta.title;else if(J.seo?.defaultConfig?.title)G=J.seo.defaultConfig.title;else G=J.defaultTitle||"stx Project";let K="";if(Z.description)K=Z.description;else if(Z.meta&&Z.meta.description)K=Z.meta.description;else if(J.seo?.defaultConfig?.description)K=J.seo.defaultConfig.description;else K=J.defaultDescription||"A website built with stx templating engine";let q="";if(Z.image)q=Z.image;else if(Z.meta&&Z.meta.image)q=Z.meta.image;else if(Z.openGraph&&Z.openGraph.image)q=Z.openGraph.image;else if(J.seo?.defaultImage)q=J.seo.defaultImage;else if(J.defaultImage)q=J.defaultImage;let _=`
1553
1556
  <!-- stx SEO Tags -->
1554
- <meta name="title" content="${d(Q)}">
1555
- <meta name="description" content="${d(X)}">
1556
- <meta property="og:title" content="${d(Q)}">
1557
- <meta property="og:description" content="${d(X)}">
1557
+ <meta name="title" content="${m(G)}">
1558
+ <meta name="description" content="${m(K)}">
1559
+ <meta property="og:title" content="${m(G)}">
1560
+ <meta property="og:description" content="${m(K)}">
1558
1561
  <meta property="og:type" content="website">
1559
1562
  <meta name="twitter:card" content="summary_large_image">
1560
- <meta name="twitter:title" content="${d(Q)}">
1561
- <meta name="twitter:description" content="${d(X)}">
1562
- `;if(G)K+=`
1563
- <meta property="og:image" content="${d(G)}">
1564
- <meta name="twitter:image" content="${d(G)}">
1565
- `;let q=$;if(!Y)q=q.replace(/<head[^>]*>/,`$&
1566
- <title>${d(Q)}</title>`);return q.replace(/<head[^>]*>/,`$&
1567
- ${K}
1568
- `)}function d($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var K3,q3;var k4=P(()=>{l0();R0();K3={name:"meta",handler:($,Z,J,Y)=>{if(Z.length<1)return o("Meta","meta directive requires at least the meta name",u.INVALID_DIRECTIVE_SYNTAX);let Q=Z[0].replace(/['"]/g,""),X=Z.length>1?Z[1].replace(/['"]/g,""):"";return`<meta name="${d(Q)}" content="${d(X)}">`},hasEndTag:!1},q3={name:"structuredData",handler:($,Z,J,Y)=>{if($.trim()==="")return o("StructuredData","structuredData directive requires JSON-LD content",u.INVALID_DIRECTIVE_SYNTAX);try{let Q=JSON.parse($);if(!Q["@context"])Q["@context"]="https://schema.org";if(!Q["@type"])return o("StructuredData","structuredData requires @type property",u.INVALID_DIRECTIVE_SYNTAX);return`<script type="application/ld+json">${JSON.stringify(Q)}</script>`}catch(Q){let X=Q instanceof Error?Q.message:String(Q);return o("StructuredData",X,u.EVALUATION_ERROR)}},hasEndTag:!0}});import e1 from"path";function CX($,Z){let J=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Y=J?J[1].trim():"",Q=Z,X=[],G=!0;if(Y){let W=Y.match(/export\s+default\s+({[\s\S]*})/);if(W)try{let z=W[1],j=z.match(/tag\s*:\s*['"`]([^'"`]+)['"`]/);if(j)Q=j[1];let B=z.match(/props\s*:\s*\[([\s\S]*?)\]/);if(B)X=B[1].split(",").map((F)=>F.trim().replace(/['"`]/g,"")).filter((F)=>F.length>0);let O=z.match(/shadowDOM\s*:\s*(true|false)/);if(O)G=O[1]==="true"}catch{}}let K=$.match(/<template\b(?![^>]*\bid\s*=)[^>]*>([\s\S]*?)<\/template>/i),q=K?K[1].trim():"",U=$.match(/<style\b[^>]*>([\s\S]*?)<\/style>/i),_=U?U[1].trim():"";return{tag:Q,props:X,template:q,styles:_,script:Y,shadowDOM:G}}function PX($){let{tag:Z,props:J,template:Y,styles:Q,shadowDOM:X}=$,G=Z.split("-").map((W)=>W.charAt(0).toUpperCase()+W.slice(1)).join(""),K=Y.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),q=Q.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),U=J.map((W)=>`'${W}'`).join(", "),_=J.map((W)=>`
1569
- get ${W}() {
1570
- return this.getAttribute('${W}') || '';
1563
+ <meta name="twitter:title" content="${m(G)}">
1564
+ <meta name="twitter:description" content="${m(K)}">
1565
+ `;if(q)_+=`
1566
+ <meta property="og:image" content="${m(q)}">
1567
+ <meta name="twitter:image" content="${m(q)}">
1568
+ `;let W=$;if(!X)W=W.replace(/<head[^>]*>/,`$&
1569
+ <title>${m(G)}</title>`);return W.replace(/<head[^>]*>/,`$&
1570
+ ${_}
1571
+ `)}function m($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var H6,L6;var P$=C(()=>{c0();N0();H6={name:"meta",handler:($,Z,J,Y)=>{if(Z.length<1)return s("Meta","meta directive requires at least the meta name",p.INVALID_DIRECTIVE_SYNTAX);let Q=Z[0].replace(/['"]/g,""),X=Z.length>1?Z[1].replace(/['"]/g,""):"";return`<meta name="${m(Q)}" content="${m(X)}">`},hasEndTag:!1},L6={name:"structuredData",handler:($,Z,J,Y)=>{if($.trim()==="")return s("StructuredData","structuredData directive requires JSON-LD content",p.INVALID_DIRECTIVE_SYNTAX);try{let Q=JSON.parse($);if(!Q["@context"])Q["@context"]="https://schema.org";if(!Q["@type"])return s("StructuredData","structuredData requires @type property",p.INVALID_DIRECTIVE_SYNTAX);return`<script type="application/ld+json">${JSON.stringify(Q)}</script>`}catch(Q){let X=Q instanceof Error?Q.message:String(Q);return s("StructuredData",X,p.EVALUATION_ERROR)}},hasEndTag:!0}});import Y5 from"path";function oX($,Z){let J=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Y=J?J[1].trim():"",Q=Z,X=[],G=!0;if(Y){let z=Y.match(/export\s+default\s+({[\s\S]*})/);if(z)try{let U=z[1],j=U.match(/tag\s*:\s*['"`]([^'"`]+)['"`]/);if(j)Q=j[1];let B=U.match(/props\s*:\s*\[([\s\S]*?)\]/);if(B)X=B[1].split(",").map((F)=>F.trim().replace(/['"`]/g,"")).filter((F)=>F.length>0);let O=U.match(/shadowDOM\s*:\s*(true|false)/);if(O)G=O[1]==="true"}catch{}}let K=$.match(/<template\b(?![^>]*\bid\s*=)[^>]*>([\s\S]*?)<\/template>/i),q=K?K[1].trim():"",_=$.match(/<style\b[^>]*>([\s\S]*?)<\/style>/i),W=_?_[1].trim():"";return{tag:Q,props:X,template:q,styles:W,script:Y,shadowDOM:G}}function sX($){let{tag:Z,props:J,template:Y,styles:Q,shadowDOM:X}=$,G=Z.split("-").map((z)=>z.charAt(0).toUpperCase()+z.slice(1)).join(""),K=Y.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),q=Q.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),_=J.map((z)=>`'${z}'`).join(", "),W=J.map((z)=>`
1572
+ get ${z}() {
1573
+ return this.getAttribute('${z}') || '';
1571
1574
  }
1572
- set ${W}(value) {
1575
+ set ${z}(value) {
1573
1576
  if (value) {
1574
- this.setAttribute('${W}', value);
1577
+ this.setAttribute('${z}', value);
1575
1578
  }
1576
1579
  else {
1577
- this.removeAttribute('${W}');
1580
+ this.removeAttribute('${z}');
1578
1581
  }
1579
1582
  }`).join(`
1580
1583
  `);return`/**
@@ -1589,7 +1592,7 @@ class ${G} extends HTMLElement {
1589
1592
  }
1590
1593
 
1591
1594
  static get observedAttributes() {
1592
- return [${U}];
1595
+ return [${_}];
1593
1596
  }
1594
1597
 
1595
1598
  attributeChangedCallback(name, oldValue, newValue) {
@@ -1597,7 +1600,7 @@ class ${G} extends HTMLElement {
1597
1600
  this._render();
1598
1601
  }
1599
1602
  }
1600
- ${_}
1603
+ ${W}
1601
1604
 
1602
1605
  _render() {
1603
1606
  const template = \`${q?`<style>${q}</style>`:""}${K}\`;
@@ -1616,16 +1619,16 @@ ${_}
1616
1619
  }
1617
1620
 
1618
1621
  customElements.define('${Z}', ${G});
1619
- `}async function _3($,Z,J,Y){if(Z.length<1)return o("WebComponent","@webcomponent directive requires at least the tag name parameter",u.INVALID_DIRECTIVE_SYNTAX);let Q=Z[0].replace(/['"]/g,""),G=(J.__stx_options||{}).componentsDir||"components",K=[e1.join(e1.dirname(Y),G,`${Q}.stx`),e1.join(process.cwd(),G,`${Q}.stx`),e1.join(e1.dirname(Y),`${Q}.stx`)],q=null;for(let W of K)if(await c(W)){q=await Bun.file(W).text();break}if(!q)return o("WebComponent",`Component file not found: ${Q}.stx`,u.FILE_NOT_FOUND);let U=CX(q,Q);return`<script type="module">
1620
- ${PX(U)}
1621
- </script>`}var U3=P(()=>{l0();V0()});var W3={};r(W3,{timingPlugin:()=>hX,pluginManager:()=>vX,definePlugin:()=>a5,debugPlugin:()=>gX,createVariablesPlugin:()=>dX,createFilterPlugin:()=>fX,createDirectivePlugin:()=>xX,PluginManager:()=>S4});function a5($){return $}class S4{plugins=new Map;sortedPlugins=[];initialized=!1;async register($,Z){if(this.plugins.has($.name))throw Error(`Plugin "${$.name}" is already registered`);if($.dependencies){for(let J of $.dependencies)if(!this.plugins.has(J))throw Error(`Plugin "${$.name}" depends on "${J}" which is not registered`)}if(this.plugins.set($.name,$),$.onRegister)await $.onRegister(Z);this.sortPlugins()}async unregister($){let Z=this.plugins.get($);if(!Z)return!1;for(let[J,Y]of this.plugins)if(Y.dependencies?.includes($))throw Error(`Cannot unregister "${$}" because "${J}" depends on it`);if(Z.onUnregister)await Z.onUnregister();return this.plugins.delete($),this.sortPlugins(),!0}get($){return this.plugins.get($)}has($){return this.plugins.has($)}getAll(){return[...this.sortedPlugins]}getAllDirectives(){let $=[];for(let Z of this.sortedPlugins)if(Z.registerDirectives)$.push(...Z.registerDirectives());return $}getAllFilters(){let $={};for(let Z of this.sortedPlugins)if(Z.registerFilters)Object.assign($,Z.registerFilters());return $}async runBeforeProcess($){return this.runHooks("beforeProcess",$)}async runAfterParse($){return this.runHooks("afterParse",$)}async runBeforeDirective($,Z){return this.runDirectiveHooks("beforeDirective",$,Z)}async runAfterDirective($,Z){return this.runDirectiveHooks("afterDirective",$,Z)}async runBeforeRender($){return this.runHooks("beforeRender",$)}async runAfterRender($){return this.runHooks("afterRender",$)}async runOnError($){for(let Z of this.sortedPlugins)if(Z.onError)try{let J=await Z.onError($);if(J){if(J.template!==void 0)$.template=J.template;if(J.context)$.context={...$.context,...J.context};if(J.metadata)$.metadata={...$.metadata,...J.metadata};if(J.skip)return $}}catch(J){console.error(`Error in plugin "${Z.name}" onError hook:`,J)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort(($,Z)=>($.priority??100)-(Z.priority??100))}async runHooks($,Z){let J={...Z};for(let Y of this.sortedPlugins){let Q=Y[$];if(Q)try{let X=await Q(J);if(X){if(X.template!==void 0)J.template=X.template;if(X.context)J.context={...J.context,...X.context};if(X.metadata)J.metadata={...J.metadata,...X.metadata};if(X.skip)break}}catch(X){console.error(`Error in plugin "${Y.name}" ${$} hook:`,X)}}return J}async runDirectiveHooks($,Z,J){let Y={...J};for(let Q of this.sortedPlugins){let X=Q[$];if(X)try{let G=await X(Z,Y);if(G){if(G.template!==void 0)Y.template=G.template;if(G.context)Y.context={...Y.context,...G.context};if(G.metadata)Y.metadata={...Y.metadata,...G.metadata};if(G.skip)break}}catch(G){console.error(`Error in plugin "${Q.name}" ${$} hook:`,G)}}return Y}}function xX($,Z,J={}){return{name:$,...J,registerDirectives:()=>Z}}function fX($,Z,J={}){return{name:$,...J,registerFilters:()=>Z}}function dX($){return a5({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(Z){return{context:{...Z.context,...$}}}})}var vX,gX,hX;var z3=P(()=>{vX=new S4;gX=a5({name:"stx-debug",version:"1.0.0",description:"Logs all plugin lifecycle events for debugging",priority:0,beforeProcess($){console.log("[stx-debug] beforeProcess:",$.filePath)},afterParse($){console.log("[stx-debug] afterParse:",$.template.length,"chars")},beforeDirective($,Z){console.log("[stx-debug] beforeDirective:",$)},afterDirective($,Z){console.log("[stx-debug] afterDirective:",$)},beforeRender($){console.log("[stx-debug] beforeRender")},afterRender($){console.log("[stx-debug] afterRender:",$.template.length,"chars")},onError($){console.error("[stx-debug] onError:",$.error.message,"in phase:",$.phase)}}),hX=a5({name:"stx-timing",version:"1.0.0",description:"Measures template processing time",priority:1,beforeProcess($){$.metadata.startTime=performance.now()},afterRender($){let Z=$.metadata.startTime;if(Z){let J=performance.now()-Z;console.log(`[stx-timing] Processing took ${J.toFixed(2)}ms`)}}})});var j3={};r(j3,{validateConfig:()=>lX,loadStxConfig:()=>H1,defineStxConfig:()=>pX,defaultConfig:()=>y4,config:()=>C4});import b4 from"fs";import w0 from"path";import{loadConfigWithResult as mX}from"bunfig";function uX($,Z){let J=Z||"pages";if($)return{root:$,pagesDir:J};let Y=w0.join(process.cwd(),"resources","views"),Q=w0.join(process.cwd(),"resources","layouts");if(b4.existsSync(Y)&&b4.existsSync(Q))return{root:"resources",pagesDir:"views"};let X=w0.join(process.cwd(),"resources","views","pages");if(b4.existsSync(X))return{root:"resources/views",pagesDir:J};return{root:".",pagesDir:J}}async function H1($){if(!$){if(D1)return D1;if(t5)return t5}let Z=$?w0.resolve($):process.cwd(),J=B3.get(Z);if(J)return J;let Y=(async()=>{let X=(await mX({name:"stx",alias:"ui",cwd:Z,defaultConfig:y4,verbose:!1})).config,G=uX(X.root,X.pagesDir);if(X.root=G.root,X.pagesDir=G.pagesDir,X.root&&X.root!=="."){let K=X.root;if(X.partialsDir&&!w0.isAbsolute(X.partialsDir))X.partialsDir=w0.join(K,X.partialsDir);if(X.componentsDir&&!w0.isAbsolute(X.componentsDir))X.componentsDir=w0.join(K,X.componentsDir);if(X.layoutsDir&&!w0.isAbsolute(X.layoutsDir))X.layoutsDir=w0.join(K,X.layoutsDir)}if(X.plugins&&X.plugins.length>0){let{pluginManager:K}=await Promise.resolve().then(() => (z3(),W3)),q=[],U=[];for(let _ of X.plugins){let W=typeof _==="string"?_:_[0],z=typeof _==="string"?{}:_[1]||{};try{let j,B;try{j=await import(W),B=w0.dirname(J0.resolve(W))}catch{let F=w0.resolve(process.cwd(),W);j=await import(F),B=w0.dirname(F)}let O=j.default||j;if(K.register(O,X),O.components){let F=w0.resolve(B,O.components);q.push(F)}if(O.pages){let F=w0.resolve(B,O.pages),L=z.path||"/";U.push({dir:F,prefix:L})}if(O.setup){let F={addDirective:(L)=>{X.customDirectives=X.customDirectives||[],X.customDirectives.push(L)},addRoute:(L,H)=>{X.apiRoutes=X.apiRoutes||{},X.apiRoutes[L]=H},addMiddleware:(L)=>{X.middleware=X.middleware||[],X.middleware.push(L)},pluginDir:B,config:X};await O.setup(z,F)}console.log(`[stx] Plugin loaded: ${O.name||W}`)}catch(j){console.warn(`[stx] Failed to load plugin ${W}:`,j.message)}}X._pluginComponentDirs=q,X._pluginPageDirs=U}return X})();if(B3.set(Z,Y),!$)t5=Y,Y.then((Q)=>{D1=Q}).catch(()=>{});return Y}function pX($){return $}function lX($){let Z=[],J=[];if($.partialsDir!==void 0&&typeof $.partialsDir!=="string")Z.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if($.componentsDir!==void 0&&typeof $.componentsDir!=="string")Z.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if($.cache!==void 0&&typeof $.cache!=="boolean")Z.push({path:"cache",message:"cache must be a boolean",severity:"error"});if($.debug!==void 0&&typeof $.debug!=="boolean")Z.push({path:"debug",message:"debug must be a boolean",severity:"error"});if($.streaming){if($.streaming.bufferSize!==void 0){if(typeof $.streaming.bufferSize!=="number"||$.streaming.bufferSize<=0)Z.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if($.streaming.timeout!==void 0){if(typeof $.streaming.timeout!=="number"||$.streaming.timeout<=0)Z.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if($.streaming.strategy!==void 0){let Y=["auto","manual","sections"];if(!Y.includes($.streaming.strategy))Z.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${Y.join(", ")}`,severity:"error"})}}if($.i18n){if($.i18n.format!==void 0){let Y=["json","yaml","yml","js"];if(!Y.includes($.i18n.format))Z.push({path:"i18n.format",message:`i18n.format must be one of: ${Y.join(", ")}`,severity:"error"})}}if($.animation){if($.animation.defaultDuration!==void 0){if(typeof $.animation.defaultDuration!=="number"||$.animation.defaultDuration<0)Z.push({path:"animation.defaultDuration",message:"animation.defaultDuration must be a non-negative number",severity:"error"})}if($.animation.staggerDelay!==void 0){if(typeof $.animation.staggerDelay!=="number"||$.animation.staggerDelay<0)Z.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if($.a11y){if($.a11y.level!==void 0){let Y=["AA","AAA"];if(!Y.includes($.a11y.level))Z.push({path:"a11y.level",message:`a11y.level must be one of: ${Y.join(", ")}`,severity:"error"})}}if($.hydration){if($.hydration.mode!==void 0){let Y=["progressive","islands"];if(!Y.includes($.hydration.mode))Z.push({path:"hydration.mode",message:`hydration.mode must be one of: ${Y.join(", ")}`,severity:"error"})}if($.hydration.preload!==void 0){let Y=["none","eager","lazy"];if(!Y.includes($.hydration.preload))Z.push({path:"hydration.preload",message:`hydration.preload must be one of: ${Y.join(", ")}`,severity:"error"})}}if($.customDirectives)if(!Array.isArray($.customDirectives))Z.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else $.customDirectives.forEach((Y,Q)=>{if(!Y.name||typeof Y.name!=="string")Z.push({path:`customDirectives[${Q}].name`,message:"Custom directive must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")Z.push({path:`customDirectives[${Q}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if($.middleware)if(!Array.isArray($.middleware))Z.push({path:"middleware",message:"middleware must be an array",severity:"error"});else $.middleware.forEach((Y,Q)=>{if(!Y.name||typeof Y.name!=="string")Z.push({path:`middleware[${Q}].name`,message:"Middleware must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")Z.push({path:`middleware[${Q}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!Y.timing||!["before","after"].includes(Y.timing))Z.push({path:`middleware[${Q}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if($.debug===!0&&$.cache===!0)J.push({path:"debug+cache",message:"Debug mode with caching enabled may show stale content during development",severity:"warning"});if($.seo?.enabled===!0&&!$.seo?.defaultConfig?.title)J.push({path:"seo.defaultConfig.title",message:"SEO is enabled but no default title is set",severity:"warning"});if($.pwa){if($.pwa.enabled===!0&&!$.pwa.manifest?.name)Z.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if($.pwa.manifest?.display!==void 0){let Y=["fullscreen","standalone","minimal-ui","browser"];if(!Y.includes($.pwa.manifest.display))Z.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${Y.join(", ")}`,severity:"error"})}if($.pwa.manifest?.orientation!==void 0){let Y=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!Y.includes($.pwa.manifest.orientation))Z.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${Y.join(", ")}`,severity:"error"})}if($.pwa.routes){let Y=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];$.pwa.routes.forEach((Q,X)=>{if(!Q.pattern||typeof Q.pattern!=="string")Z.push({path:`pwa.routes[${X}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!Y.includes(Q.strategy))Z.push({path:`pwa.routes[${X}].strategy`,message:`PWA route strategy must be one of: ${Y.join(", ")}`,severity:"error"});if(Q.maxAgeSeconds!==void 0&&(typeof Q.maxAgeSeconds!=="number"||Q.maxAgeSeconds<0))Z.push({path:`pwa.routes[${X}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(Q.maxEntries!==void 0&&(typeof Q.maxEntries!=="number"||Q.maxEntries<1))Z.push({path:`pwa.routes[${X}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if($.pwa.icons?.sizes){if(!Array.isArray($.pwa.icons.sizes))Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if($.pwa.icons.sizes.filter((Q)=>typeof Q!=="number"||Q<16||Q>1024).length>0)Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if($.pwa.icons?.purpose){let Y=["any","maskable","monochrome"];if($.pwa.icons.purpose.filter((X)=>!Y.includes(X)).length>0)Z.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${Y.join(", ")}`,severity:"error"})}if($.pwa.enabled===!0&&!$.pwa.icons?.src)J.push({path:"pwa.icons.src",message:"PWA is enabled but no icon source specified. Provide a 512x512 PNG for best results.",severity:"warning"});if($.pwa.enabled===!0&&!$.pwa.manifest?.themeColor)J.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:Z.length===0,errors:Z,warnings:J}}var y4,D1=null,B3,t5=null,C4;var $5=P(()=>{D$();k$();S$();b$();i$();TZ();w4();rZ();k4();U3();y4={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,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:r6,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:_3,hasEndTag:!1,description:"Include a web component in the template"},t7,e7,K3,q3,$6,Y6,J6,Z6,K6,U6,wZ,A4,...sZ],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:"#app-content",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}};B3=new Map;C4=new Proxy(y4,{get($,Z){if(D1&&Z in D1)return D1[Z];if(!t5)H1().catch((J)=>{console.warn("[stx] Failed to load config file:",J?.message||J)});return $[Z]}})});var N3={};r(N3,{resetCrosswindCache:()=>iX,rebuildCrosswindCSS:()=>oX,loadCrosswindConfig:()=>x4,loadCrosswind:()=>v4,injectCrosswindCSS:()=>Y5,getCachedCSS:()=>sX,generateCrosswindCSS:()=>V3,extractClassNames:()=>F3,buildCrosswindCSS:()=>L3});import O3 from"fs";import a from"path";async function H3($){try{let Z=await import($);if(Z&&Z.CSSGenerator)return{CSSGenerator:Z.CSSGenerator,config:Z.config,build:Z.build,defaultConfig:Z.defaultConfig}}catch{}return null}function cX(){let $=[],Z=process.env.HOME||process.env.USERPROFILE||"",J=process.cwd();while(J!==a.dirname(J))$.push(a.join(J,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(a.join(J,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(a.join(J,"node_modules","@stacksjs","crosswind","dist","index.js")),J=a.dirname(J);if(Z){let Y=[a.join(Z,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),a.join(Z,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),a.join(Z,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),a.join(Z,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),a.join(Z,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),a.join(Z,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...Y)}return $.push(a.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),$.push(a.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),$}async function v4(){if(P4)return S1;P4=!0;try{let $=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let J of $){let Y=await H3(J);if(Y)return S1=Y,console.log(`${K0.green}[Crosswind]${K0.reset} CSS engine loaded`),S1}let Z=cX();for(let J of Z)if(await Bun.file(J).exists()){let Y=await H3(J);if(Y)return S1=Y,console.log(`${K0.green}[Crosswind]${K0.reset} CSS engine loaded from ${a.dirname(a.dirname(J))}`),S1}throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${K0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${K0.reset}`),console.warn(`${K0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${K0.reset}`),null}}function iX(){S1=null,P4=!1,g0=null,Z5=""}async function x4($){let Z=null;for(let J of nX){let Y=a.join($,J);if(await Bun.file(Y).exists()){Z=Y;break}}if(!Z)return null;try{let{loadConfigWithResult:J}=await import("bunfig"),Y=await J({name:"crosswind",cwd:$,defaultConfig:{},verbose:!1});if(Y?.config&&Object.keys(Y.config).length>0){let Q=Y.path?a.relative($,Y.path):a.relative($,Z);return console.log(`${K0.green}[Crosswind]${K0.reset} Loaded config from ${Q||Z}`),Y.config}}catch{}try{let J=await import(Z),Y=J.default||J,Q=a.relative($,Z);return console.log(`${K0.green}[Crosswind]${K0.reset} Loaded config from ${Q||Z}`),Y}catch(J){return console.warn(`${K0.yellow}[Crosswind]${K0.reset} Failed to load ${a.basename(Z)}:`,J instanceof Error?J.message:J),null}}async function L3($){if(k1)return Z5;k1=!0;try{let Z=await v4();if(!Z||!Z.build)return k1=!1,"";if(!g0)g0=await x4($);if(!g0)return k1=!1,"";let J=Z.defaultConfig?.theme||{},Y=g0.theme||{},Q={...Z.defaultConfig,...g0,theme:{...J,...Y,extend:{...J.extend||{},...Y.extend||{}}}},X=performance.now(),G=await Z.build(Q),K=performance.now()-X;if(Z5=G.css,console.log(`${K0.cyan}[Crosswind]${K0.reset} Built ${G.classes.size} classes in ${K.toFixed(1)}ms`),Q.output){let q=a.isAbsolute(Q.output)?Q.output:a.join($,Q.output),U=a.dirname(q);if(!O3.existsSync(U))O3.mkdirSync(U,{recursive:!0});await Bun.write(q,G.css)}return k1=!1,G.css}catch(Z){return console.error(`${K0.red}[Crosswind]${K0.reset} Build error:`,Z),k1=!1,Z5}}async function oX($){g0=null,await L3($)}function sX(){return Z5}function F3($){let Z=new Set,J=/class\s*=\s*["']([^"']+)["']/gi,Y=J.exec($);while(Y!==null){for(let G of Y[1].split(/\s+/))if(G.trim())Z.add(G.trim());Y=J.exec($)}let Q=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,X=Q.exec($);while(X!==null){let G=X[1].match(/'([^']+)'/g);if(G){for(let K of G)for(let q of K.slice(1,-1).split(/\s+/))if(q.trim())Z.add(q.trim())}X=Q.exec($)}return Z}async function V3($,Z){try{let J=await v4();if(!J)return"";let Y=F3($);if(Y.size===0)return"";let Q=Z?a.resolve(Z):process.cwd();if(!g0){let L=null;try{let{loadStxConfig:H}=await Promise.resolve().then(() => ($5(),j3)),V=await H(Q);if(V.css)if(typeof V.css==="string"){let R=a.isAbsolute(V.css)?V.css:a.resolve(Q,V.css);if(await Bun.file(R).exists()){let N=await import(R);L=N.default||N,console.log(`${K0.green}[Crosswind]${K0.reset} Loaded config from stx.config.ts \u2192 ${V.css}`)}}else{if(L={content:V.css.content||[],preflight:V.css.preflight??!0,minify:V.css.minify??!1},V.css.config){let R=a.isAbsolute(V.css.config)?V.css.config:a.resolve(Q,V.css.config);if(await Bun.file(R).exists()){let N=await import(R);L={...N.default||N,...L}}}console.log(`${K0.green}[Crosswind]${K0.reset} Using inline CSS config from stx.config.ts`)}}catch{}g0=L||await x4(Q)}let X=J.defaultConfig||J.config,G=g0||{},K=X.theme||{},U=(G.theme||{}).extend||{},_={...K};if(Object.keys(U).length>0)_.extend=U;let W=[...X.safelist||[],...G.safelist||[]],z={...X,...G,content:[],output:"",preflight:!0,minify:!1,theme:_,safelist:W},j=new J.CSSGenerator(z);for(let L of W)j.generate(L);for(let L of Y)j.generate(L);let B=j.toCSS(!0,!1),O=z.shortcuts||G.shortcuts||{};for(let[L,H]of Object.entries(O)){if(!Y.has(L)&&!W.includes(L))continue;let V=H.split(/\s+/).filter(Boolean);for(let R of V)j.generate(R)}B=j.toCSS(!0,!1);let F=B.split(`
1622
- `);for(let[L,H]of Object.entries(O)){if(!Y.has(L)&&!W.includes(L))continue;let V=H.split(/\s+/).filter(Boolean),R=[],N=[];for(let A of V){let w=A.startsWith("dark:"),T=`.${(w?A.slice(5):A).replace(/\//g,"\\/").replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%")}`;for(let I=0;I<F.length;I++){let D=F[I].trim();if(D===`${T} {`||D.startsWith(`${T} {`)){let y=I,b="";while(y<F.length){if(b+=F[y],F[y].includes("}"))break;y++}let S=b.match(/\{([^}]+)\}/);if(S)if(w)N.push(S[1].trim());else R.push(S[1].trim());break}}}if(R.length)B+=`
1623
- .${L} { ${R.join(" ")} }`;if(N.length)B+=`
1624
- @media (prefers-color-scheme: dark) { .dark .${L} { ${N.join(" ")} } }`}return B}catch(J){return console.warn("Failed to generate Crosswind CSS:",J),""}}async function Y5($,Z){if($.includes('data-crosswind="generated"'))return $;let J=await V3($,Z);if(!J)return $;let Y=`<style data-crosswind="generated">
1622
+ `}async function F6($,Z,J,Y){if(Z.length<1)return s("WebComponent","@webcomponent directive requires at least the tag name parameter",p.INVALID_DIRECTIVE_SYNTAX);let Q=Z[0].replace(/['"]/g,""),G=(J.__stx_options||{}).componentsDir||"components",K=[Y5.join(Y5.dirname(Y),G,`${Q}.stx`),Y5.join(process.cwd(),G,`${Q}.stx`),Y5.join(Y5.dirname(Y),`${Q}.stx`)],q=null;for(let z of K)if(await i(z)){q=await Bun.file(z).text();break}if(!q)return s("WebComponent",`Component file not found: ${Q}.stx`,p.FILE_NOT_FOUND);let _=oX(q,Q);return`<script type="module">
1623
+ ${sX(_)}
1624
+ </script>`}var V6=C(()=>{c0();F0()});var w6={};r(w6,{timingPlugin:()=>$Q,pluginManager:()=>rX,definePlugin:()=>$9,debugPlugin:()=>eX,createVariablesPlugin:()=>ZQ,createFilterPlugin:()=>tX,createDirectivePlugin:()=>aX,PluginManager:()=>v$});function $9($){return $}class v${plugins=new Map;sortedPlugins=[];initialized=!1;async register($,Z){if(this.plugins.has($.name))throw Error(`Plugin "${$.name}" is already registered`);if($.dependencies){for(let J of $.dependencies)if(!this.plugins.has(J))throw Error(`Plugin "${$.name}" depends on "${J}" which is not registered`)}if(this.plugins.set($.name,$),$.onRegister)await $.onRegister(Z);this.sortPlugins()}async unregister($){let Z=this.plugins.get($);if(!Z)return!1;for(let[J,Y]of this.plugins)if(Y.dependencies?.includes($))throw Error(`Cannot unregister "${$}" because "${J}" depends on it`);if(Z.onUnregister)await Z.onUnregister();return this.plugins.delete($),this.sortPlugins(),!0}get($){return this.plugins.get($)}has($){return this.plugins.has($)}getAll(){return[...this.sortedPlugins]}getAllDirectives(){let $=[];for(let Z of this.sortedPlugins)if(Z.registerDirectives)$.push(...Z.registerDirectives());return $}getAllFilters(){let $={};for(let Z of this.sortedPlugins)if(Z.registerFilters)Object.assign($,Z.registerFilters());return $}async runBeforeProcess($){return this.runHooks("beforeProcess",$)}async runAfterParse($){return this.runHooks("afterParse",$)}async runBeforeDirective($,Z){return this.runDirectiveHooks("beforeDirective",$,Z)}async runAfterDirective($,Z){return this.runDirectiveHooks("afterDirective",$,Z)}async runBeforeRender($){return this.runHooks("beforeRender",$)}async runAfterRender($){return this.runHooks("afterRender",$)}async runOnError($){for(let Z of this.sortedPlugins)if(Z.onError)try{let J=await Z.onError($);if(J){if(J.template!==void 0)$.template=J.template;if(J.context)$.context={...$.context,...J.context};if(J.metadata)$.metadata={...$.metadata,...J.metadata};if(J.skip)return $}}catch(J){console.error(`Error in plugin "${Z.name}" onError hook:`,J)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort(($,Z)=>($.priority??100)-(Z.priority??100))}async runHooks($,Z){let J={...Z};for(let Y of this.sortedPlugins){let Q=Y[$];if(Q)try{let X=await Q(J);if(X){if(X.template!==void 0)J.template=X.template;if(X.context)J.context={...J.context,...X.context};if(X.metadata)J.metadata={...J.metadata,...X.metadata};if(X.skip)break}}catch(X){console.error(`Error in plugin "${Y.name}" ${$} hook:`,X)}}return J}async runDirectiveHooks($,Z,J){let Y={...J};for(let Q of this.sortedPlugins){let X=Q[$];if(X)try{let G=await X(Z,Y);if(G){if(G.template!==void 0)Y.template=G.template;if(G.context)Y.context={...Y.context,...G.context};if(G.metadata)Y.metadata={...Y.metadata,...G.metadata};if(G.skip)break}}catch(G){console.error(`Error in plugin "${Q.name}" ${$} hook:`,G)}}return Y}}function aX($,Z,J={}){return{name:$,...J,registerDirectives:()=>Z}}function tX($,Z,J={}){return{name:$,...J,registerFilters:()=>Z}}function ZQ($){return $9({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(Z){return{context:{...Z.context,...$}}}})}var rX,eX,$Q;var N6=C(()=>{rX=new v$;eX=$9({name:"stx-debug",version:"1.0.0",description:"Logs all plugin lifecycle events for debugging",priority:0,beforeProcess($){console.log("[stx-debug] beforeProcess:",$.filePath)},afterParse($){console.log("[stx-debug] afterParse:",$.template.length,"chars")},beforeDirective($,Z){console.log("[stx-debug] beforeDirective:",$)},afterDirective($,Z){console.log("[stx-debug] afterDirective:",$)},beforeRender($){console.log("[stx-debug] beforeRender")},afterRender($){console.log("[stx-debug] afterRender:",$.template.length,"chars")},onError($){console.error("[stx-debug] onError:",$.error.message,"in phase:",$.phase)}}),$Q=$9({name:"stx-timing",version:"1.0.0",description:"Measures template processing time",priority:1,beforeProcess($){$.metadata.startTime=performance.now()},afterRender($){let Z=$.metadata.startTime;if(Z){let J=performance.now()-Z;console.log(`[stx-timing] Processing took ${J.toFixed(2)}ms`)}}})});var A6={};r(A6,{validateConfig:()=>QQ,loadStxConfig:()=>O1,defineStxConfig:()=>XQ,defaultConfig:()=>f$,config:()=>g$});import x$ from"fs";import A0 from"path";import{loadConfigWithResult as YQ}from"bunfig";function JQ($,Z){let J=Z||"pages";if($)return{root:$,pagesDir:J};let Y=A0.join(process.cwd(),"resources","views"),Q=A0.join(process.cwd(),"resources","layouts");if(x$.existsSync(Y)&&x$.existsSync(Q))return{root:"resources",pagesDir:"views"};let X=A0.join(process.cwd(),"resources","views","pages");if(x$.existsSync(X))return{root:"resources/views",pagesDir:J};return{root:".",pagesDir:J}}async function O1($){if(!$){if(k1)return k1;if(Z9)return Z9}let Z=$?A0.resolve($):process.cwd(),J=R6.get(Z);if(J)return J;let Y=(async()=>{let X=(await YQ({name:"stx",alias:"ui",cwd:Z,defaultConfig:f$,verbose:!1})).config,G=JQ(X.root,X.pagesDir);if(X.root=G.root,X.pagesDir=G.pagesDir,X.root&&X.root!=="."){let K=X.root;if(X.partialsDir&&!A0.isAbsolute(X.partialsDir))X.partialsDir=A0.join(K,X.partialsDir);if(X.componentsDir&&!A0.isAbsolute(X.componentsDir))X.componentsDir=A0.join(K,X.componentsDir);if(X.layoutsDir&&!A0.isAbsolute(X.layoutsDir))X.layoutsDir=A0.join(K,X.layoutsDir)}if(X.plugins&&X.plugins.length>0){let{pluginManager:K}=await Promise.resolve().then(() => (N6(),w6)),q=[],_=[];for(let W of X.plugins){let z=typeof W==="string"?W:W[0],U=typeof W==="string"?{}:W[1]||{};try{let j,B;try{j=await import(z),B=A0.dirname(J0.resolve(z))}catch{let F=A0.resolve(process.cwd(),z);j=await import(F),B=A0.dirname(F)}let O=j.default||j;if(K.register(O,X),O.components){let F=A0.resolve(B,O.components);q.push(F)}if(O.pages){let F=A0.resolve(B,O.pages),L=U.path||"/";_.push({dir:F,prefix:L})}if(O.setup){let F={addDirective:(L)=>{X.customDirectives=X.customDirectives||[],X.customDirectives.push(L)},addRoute:(L,H)=>{X.apiRoutes=X.apiRoutes||{},X.apiRoutes[L]=H},addMiddleware:(L)=>{X.middleware=X.middleware||[],X.middleware.push(L)},pluginDir:B,config:X};await O.setup(U,F)}console.log(`[stx] Plugin loaded: ${O.name||z}`)}catch(j){console.warn(`[stx] Failed to load plugin ${z}:`,j.message)}}X._pluginComponentDirs=q,X._pluginPageDirs=_}return X})();if(R6.set(Z,Y),!$)Z9=Y,Y.then((Q)=>{k1=Q}).catch(()=>{});return Y}function XQ($){return $}function QQ($){let Z=[],J=[];if($.partialsDir!==void 0&&typeof $.partialsDir!=="string")Z.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if($.componentsDir!==void 0&&typeof $.componentsDir!=="string")Z.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if($.cache!==void 0&&typeof $.cache!=="boolean")Z.push({path:"cache",message:"cache must be a boolean",severity:"error"});if($.debug!==void 0&&typeof $.debug!=="boolean")Z.push({path:"debug",message:"debug must be a boolean",severity:"error"});if($.streaming){if($.streaming.bufferSize!==void 0){if(typeof $.streaming.bufferSize!=="number"||$.streaming.bufferSize<=0)Z.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if($.streaming.timeout!==void 0){if(typeof $.streaming.timeout!=="number"||$.streaming.timeout<=0)Z.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if($.streaming.strategy!==void 0){let Y=["auto","manual","sections"];if(!Y.includes($.streaming.strategy))Z.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${Y.join(", ")}`,severity:"error"})}}if($.i18n){if($.i18n.format!==void 0){let Y=["json","yaml","yml","js"];if(!Y.includes($.i18n.format))Z.push({path:"i18n.format",message:`i18n.format must be one of: ${Y.join(", ")}`,severity:"error"})}}if($.animation){if($.animation.defaultDuration!==void 0){if(typeof $.animation.defaultDuration!=="number"||$.animation.defaultDuration<0)Z.push({path:"animation.defaultDuration",message:"animation.defaultDuration must be a non-negative number",severity:"error"})}if($.animation.staggerDelay!==void 0){if(typeof $.animation.staggerDelay!=="number"||$.animation.staggerDelay<0)Z.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if($.a11y){if($.a11y.level!==void 0){let Y=["AA","AAA"];if(!Y.includes($.a11y.level))Z.push({path:"a11y.level",message:`a11y.level must be one of: ${Y.join(", ")}`,severity:"error"})}}if($.hydration){if($.hydration.mode!==void 0){let Y=["progressive","islands"];if(!Y.includes($.hydration.mode))Z.push({path:"hydration.mode",message:`hydration.mode must be one of: ${Y.join(", ")}`,severity:"error"})}if($.hydration.preload!==void 0){let Y=["none","eager","lazy"];if(!Y.includes($.hydration.preload))Z.push({path:"hydration.preload",message:`hydration.preload must be one of: ${Y.join(", ")}`,severity:"error"})}}if($.customDirectives)if(!Array.isArray($.customDirectives))Z.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else $.customDirectives.forEach((Y,Q)=>{if(!Y.name||typeof Y.name!=="string")Z.push({path:`customDirectives[${Q}].name`,message:"Custom directive must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")Z.push({path:`customDirectives[${Q}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if($.middleware)if(!Array.isArray($.middleware))Z.push({path:"middleware",message:"middleware must be an array",severity:"error"});else $.middleware.forEach((Y,Q)=>{if(!Y.name||typeof Y.name!=="string")Z.push({path:`middleware[${Q}].name`,message:"Middleware must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")Z.push({path:`middleware[${Q}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!Y.timing||!["before","after"].includes(Y.timing))Z.push({path:`middleware[${Q}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if($.debug===!0&&$.cache===!0)J.push({path:"debug+cache",message:"Debug mode with caching enabled may show stale content during development",severity:"warning"});if($.seo?.enabled===!0&&!$.seo?.defaultConfig?.title)J.push({path:"seo.defaultConfig.title",message:"SEO is enabled but no default title is set",severity:"warning"});if($.pwa){if($.pwa.enabled===!0&&!$.pwa.manifest?.name)Z.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if($.pwa.manifest?.display!==void 0){let Y=["fullscreen","standalone","minimal-ui","browser"];if(!Y.includes($.pwa.manifest.display))Z.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${Y.join(", ")}`,severity:"error"})}if($.pwa.manifest?.orientation!==void 0){let Y=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!Y.includes($.pwa.manifest.orientation))Z.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${Y.join(", ")}`,severity:"error"})}if($.pwa.routes){let Y=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];$.pwa.routes.forEach((Q,X)=>{if(!Q.pattern||typeof Q.pattern!=="string")Z.push({path:`pwa.routes[${X}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!Y.includes(Q.strategy))Z.push({path:`pwa.routes[${X}].strategy`,message:`PWA route strategy must be one of: ${Y.join(", ")}`,severity:"error"});if(Q.maxAgeSeconds!==void 0&&(typeof Q.maxAgeSeconds!=="number"||Q.maxAgeSeconds<0))Z.push({path:`pwa.routes[${X}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(Q.maxEntries!==void 0&&(typeof Q.maxEntries!=="number"||Q.maxEntries<1))Z.push({path:`pwa.routes[${X}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if($.pwa.icons?.sizes){if(!Array.isArray($.pwa.icons.sizes))Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if($.pwa.icons.sizes.filter((Q)=>typeof Q!=="number"||Q<16||Q>1024).length>0)Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if($.pwa.icons?.purpose){let Y=["any","maskable","monochrome"];if($.pwa.icons.purpose.filter((X)=>!Y.includes(X)).length>0)Z.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${Y.join(", ")}`,severity:"error"})}if($.pwa.enabled===!0&&!$.pwa.icons?.src)J.push({path:"pwa.icons.src",message:"PWA is enabled but no icon source specified. Provide a 512x512 PNG for best results.",severity:"warning"});if($.pwa.enabled===!0&&!$.pwa.manifest?.themeColor)J.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:Z.length===0,errors:Z,warnings:J}}var f$,k1=null,R6,Z9=null,g$;var J5=C(()=>{C9();P9();v9();x9();a9();C3();E$();Q6();P$();V6();f$={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,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:Q3,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:F6,hasEndTag:!1,description:"Include a web component in the template"},G7,K7,H6,L6,q7,_7,z7,W7,O7,F7,y3,D$,...X6],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:"#app-content",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}};R6=new Map;g$=new Proxy(f$,{get($,Z){if(k1&&Z in k1)return k1[Z];if(!Z9)O1().catch((J)=>{console.warn("[stx] Failed to load config file:",J?.message||J)});return $[Z]}})});var k6={};r(k6,{resetCssCache:()=>KQ,resetCrosswindCache:()=>qQ,rebuildCrosswindCSS:()=>WQ,loadCrosswindConfig:()=>m$,loadCrosswind:()=>d$,injectCrosswindCSS:()=>Q5,getCachedCSS:()=>_Q,generateCrosswindCSS:()=>E6,extractClassNames:()=>D6,buildCrosswindCSS:()=>I6});import T6 from"fs";import G0 from"path";async function M6($){try{let Z=await import($);if(Z&&Z.CSSGenerator)return{CSSGenerator:Z.CSSGenerator,config:Z.config,build:Z.build,defaultConfig:Z.defaultConfig}}catch{}return null}function GQ(){let $=[],Z=process.env.HOME||process.env.USERPROFILE||"",J=process.cwd();while(J!==G0.dirname(J))$.push(G0.join(J,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(G0.join(J,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(G0.join(J,"node_modules","@stacksjs","crosswind","dist","index.js")),J=G0.dirname(J);if(Z){let Y=[G0.join(Z,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),G0.join(Z,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),G0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),G0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),G0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),G0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...Y)}return $.push(G0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),$.push(G0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),$}async function d$(){if(h$)return S1;h$=!0;try{let $=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let J of $){let Y=await M6(J);if(Y)return S1=Y,console.log(`${q0.green}[Crosswind]${q0.reset} CSS engine loaded`),S1}let Z=GQ();for(let J of Z)if(await Bun.file(J).exists()){let Y=await M6(J);if(Y)return S1=Y,console.log(`${q0.green}[Crosswind]${q0.reset} CSS engine loaded from ${G0.dirname(G0.dirname(J))}`),S1}throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${q0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${q0.reset}`),console.warn(`${q0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${q0.reset}`),null}}function KQ(){Y9.clear()}function qQ(){S1=null,h$=!1,g0=null,X5="",Y9.clear()}async function m$($){try{let{loadConfigWithResult:Z}=await import("bunfig"),J=await Z({name:"crosswind",cwd:$,defaultConfig:{},checkEnv:!1,verbose:!1});if(!J?.path||!J.config||Object.keys(J.config).length===0)return null;let Y=G0.relative($,J.path);return console.log(`${q0.green}[Crosswind]${q0.reset} Loaded config from ${Y||J.path}`),J.config}catch(Z){if(Z instanceof Error&&Z.name==="ConfigNotFoundError")return null;return console.warn(`${q0.yellow}[Crosswind]${q0.reset} Failed to load crosswind config:`,Z instanceof Error?Z.message:Z),null}}async function I6($){if(b1)return X5;b1=!0;try{let Z=await d$();if(!Z||!Z.build)return b1=!1,"";if(!g0)g0=await m$($);if(!g0)return b1=!1,"";let J=Z.defaultConfig?.theme||{},Y=g0.theme||{},Q={...Z.defaultConfig,...g0,theme:{...J,...Y,extend:{...J.extend||{},...Y.extend||{}}}},X=performance.now(),G=await Z.build(Q),K=performance.now()-X;if(X5=G.css,console.log(`${q0.cyan}[Crosswind]${q0.reset} Built ${G.classes.size} classes in ${K.toFixed(1)}ms`),Q.output){let q=G0.isAbsolute(Q.output)?Q.output:G0.join($,Q.output),_=G0.dirname(q);if(!T6.existsSync(_))T6.mkdirSync(_,{recursive:!0});await Bun.write(q,G.css)}return b1=!1,G.css}catch(Z){return console.error(`${q0.red}[Crosswind]${q0.reset} Build error:`,Z),b1=!1,X5}}async function WQ($){g0=null,await I6($)}function _Q(){return X5}function D6($){let Z=new Set,J=/class\s*=\s*["']([^"']+)["']/gi,Y=J.exec($);while(Y!==null){for(let G of Y[1].split(/\s+/))if(G.trim())Z.add(G.trim());Y=J.exec($)}let Q=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,X=Q.exec($);while(X!==null){let G=X[1].match(/'([^']+)'/g);if(G){for(let K of G)for(let q of K.slice(1,-1).split(/\s+/))if(q.trim())Z.add(q.trim())}X=Q.exec($)}return Z}async function E6($,Z){try{let J=await d$();if(!J)return"";let Y=D6($);if(Y.size===0)return"";let Q=[...Y].sort().join(" "),X=Y9.get(Q);if(X!==void 0)return X;let G=Z?G0.resolve(Z):process.cwd();if(!g0){let V=null;try{let{loadStxConfig:N}=await Promise.resolve().then(() => (J5(),A6)),w=await N(G);if(w.css)if(typeof w.css==="string"){let R=G0.isAbsolute(w.css)?w.css:G0.resolve(G,w.css);if(await Bun.file(R).exists()){let A=await import(R);V=A.default||A,console.log(`${q0.green}[Crosswind]${q0.reset} Loaded config from stx.config.ts \u2192 ${w.css}`)}}else{if(V={content:w.css.content||[],preflight:w.css.preflight??!0,minify:w.css.minify??!1},w.css.config){let R=G0.isAbsolute(w.css.config)?w.css.config:G0.resolve(G,w.css.config);if(await Bun.file(R).exists()){let A=await import(R);V={...A.default||A,...V}}}console.log(`${q0.green}[Crosswind]${q0.reset} Using inline CSS config from stx.config.ts`)}}catch{}g0=V||await m$(G)}let K=J.defaultConfig||J.config,q=g0||{},_=K.theme||{},z=(q.theme||{}).extend||{},U={..._};if(Object.keys(z).length>0)U.extend=z;let j=[...K.safelist||[],...q.safelist||[]],B={...K,...q,content:[],output:"",preflight:!0,minify:!1,theme:U,safelist:j},O=new J.CSSGenerator(B);for(let V of j)O.generate(V);for(let V of Y)O.generate(V);let F=O.toCSS(!0,!1),L=B.shortcuts||q.shortcuts||{};for(let[V,N]of Object.entries(L)){if(!Y.has(V)&&!j.includes(V))continue;let w=N.split(/\s+/).filter(Boolean);for(let R of w)O.generate(R)}F=O.toCSS(!0,!1);let H=F.split(`
1625
+ `);for(let[V,N]of Object.entries(L)){if(!Y.has(V)&&!j.includes(V))continue;let w=N.split(/\s+/).filter(Boolean),R=[],A=[];for(let T of w){let I=T.startsWith("dark:"),k=`.${(I?T.slice(5):T).replace(/\//g,"\\/").replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%")}`;for(let y=0;y<H.length;y++){let S=H[y].trim();if(S===`${k} {`||S.startsWith(`${k} {`)){let b=y,D="";while(b<H.length){if(D+=H[b],H[b].includes("}"))break;b++}let x=D.match(/\{([^}]+)\}/);if(x)if(I)A.push(x[1].trim());else R.push(x[1].trim());break}}}if(R.length)F+=`
1626
+ .${V} { ${R.join(" ")} }`;if(A.length)F+=`
1627
+ @media (prefers-color-scheme: dark) { .dark .${V} { ${A.join(" ")} } }`}return Y9.set(Q,F),F}catch(J){return console.warn("Failed to generate Crosswind CSS:",J),""}}async function Q5($,Z){if($.includes('data-crosswind="generated"'))return $;let J=await E6($,Z);if(!J)return $;let Y=`<style data-crosswind="generated">
1625
1628
  ${J}
1626
1629
  </style>`;if($.includes("</head>"))return $.replace("</head>",`${Y}
1627
1630
  </head>`);if($.includes("<body"))return $.replace(/<body([^>]*)>/,`<body$1>
1628
- ${Y}`);return Y+$}var S1=null,P4=!1,g0=null,Z5="",k1=!1,nX;var e5=P(()=>{r7();nX=["crosswind.config.ts","crosswind.config.js","crosswind.config.mjs","crosswind.config.cjs"]});function R3(){return`
1631
+ ${Y}`);return Y+$}var S1=null,h$=!1,g0=null,X5="",b1=!1,Y9;var J9=C(()=>{X7();Y9=new Map});function b6(){return`
1629
1632
  // STX Lifecycle Runtime
1630
1633
  (function() {
1631
1634
  if (typeof window === 'undefined') return;
@@ -1970,7 +1973,7 @@ else {
1970
1973
 
1971
1974
  console.log('[stx] Lifecycle runtime initialized');
1972
1975
  })();
1973
- `}function f4($){return Symbol($)}var Dz,kz,Sz;var A3=P(()=>{Dz=f4("theme"),kz=f4("router"),Sz=f4("i18n")});import*as T3 from"crypto";function w3($){let Z=/\$(\w+)\./g,J=[],Y;while((Y=Z.exec($))!==null)if(!J.includes(Y[1]))J.push(Y[1]);return J}function rX(){return`stx-${T3.randomBytes(4).toString("hex")}`}function aX($){return/\$\w+\./.test($)}function tX($){let Z=[],J=new Set,Y=/<(\w+)([^>]*?)(\s*\/?>)/g,Q=$;return Q=Q.replace(Y,(X,G,K,q)=>{if(["script","style","template"].includes(G.toLowerCase()))return X;let U=[],_=!1,W=K,z=/(\w+(?:-\w+)*)\s*=\s*"([^"]*\{\{[^}]*\$\w+[^}]*\}\}[^"]*)"/g,j=[...K.matchAll(z)];for(let F of j){let L=F[0],H=F[1],V=F[2];if(aX(V)){_=!0;let R=V.match(/\{\{\s*([\s\S]+?)\s*\}\}/);if(R){let N=R[1];if(U.push({attr:H,expr:N,fullMatch:L,originalAttr:H}),w3(N).forEach((w)=>J.add(w)),H==="text")W=W.replace(L,"");else if(H==="class")W=W.replace(L,'class=""');else if(H==="disabled"||H==="hidden")W=W.replace(L,"");else W=W.replace(L,`${H}=""`)}}}if(!_)return X;let B=W.match(/\bid\s*=\s*"([^"]+)"/),O;if(B)O=B[1];else O=rX(),W=` id="${O}"${W}`;for(let F of U)Z.push({elementId:O,attribute:F.attr,expression:F.expr,stores:w3(F.expr)});return`<${G}${W}${q}`}),{html:Q,bindings:Z,stores:J}}function eX($,Z){if($.length===0)return"";let J=Array.from(Z),Y=`
1976
+ `}function u$($){return Symbol($)}var sU,rU,aU;var S6=C(()=>{sU=u$("theme"),rU=u$("router"),aU=u$("i18n")});import*as C6 from"crypto";function y6($){let Z=/\$(\w+)\./g,J=[],Y;while((Y=Z.exec($))!==null)if(!J.includes(Y[1]))J.push(Y[1]);return J}function zQ(){return`stx-${C6.randomBytes(4).toString("hex")}`}function UQ($){return/\$\w+\./.test($)}function BQ($){let Z=[],J=new Set,Y=/<(\w+)([^>]*?)(\s*\/?>)/g,Q=$;return Q=Q.replace(Y,(X,G,K,q)=>{if(["script","style","template"].includes(G.toLowerCase()))return X;let _=[],W=!1,z=K,U=/(\w+(?:-\w+)*)\s*=\s*"([^"]*\{\{[^}]*\$\w+[^}]*\}\}[^"]*)"/g,j=[...K.matchAll(U)];for(let F of j){let L=F[0],H=F[1],V=F[2];if(UQ(V)){W=!0;let N=V.match(/\{\{\s*([\s\S]+?)\s*\}\}/);if(N){let w=N[1];if(_.push({attr:H,expr:w,fullMatch:L,originalAttr:H}),y6(w).forEach((A)=>J.add(A)),H==="text")z=z.replace(L,"");else if(H==="class")z=z.replace(L,'class=""');else if(H==="disabled"||H==="hidden")z=z.replace(L,"");else z=z.replace(L,`${H}=""`)}}}if(!W)return X;let B=z.match(/\bid\s*=\s*"([^"]+)"/),O;if(B)O=B[1];else O=zQ(),z=` id="${O}"${z}`;for(let F of _)Z.push({elementId:O,attribute:F.attr,expression:F.expr,stores:y6(F.expr)});return`<${G}${z}${q}`}),{html:Q,bindings:Z,stores:J}}function jQ($,Z){if($.length===0)return"";let J=Array.from(Z),Y=`
1974
1977
  <script>
1975
1978
  (function() {
1976
1979
  'use strict';
@@ -2096,10 +2099,10 @@ else {
2096
2099
  }
2097
2100
  })();
2098
2101
  </script>
2099
- `,Y}function M3($){let{html:Z,bindings:J,stores:Y}=tX($);if(J.length===0)return $;let Q=eX(J,Y),X=Z.lastIndexOf("</body>");if(X!==-1)return Z.slice(0,X)+Q+Z.slice(X);return Z+Q}var I3=()=>{};function $Q($){let Z=$.analytics;if(!Z?.enabled)return"";switch(Z.driver){case"fathom":return ZQ(Z);case"google-analytics":return YQ(Z);case"plausible":return JQ(Z);case"self-hosted":return XQ(Z);case"custom":return QQ(Z);default:return""}}function ZQ($){let Z=$.fathom;if(!Z?.siteId)return"";let J=Z.scriptUrl||"https://cdn.usefathom.com/script.js",Y=Z.defer!==!1?" defer":"",Q=[`data-site="${D0(Z.siteId)}"`];if(Z.honorDnt)Q.push('data-honor-dnt="true"');if(Z.spa)Q.push('data-spa="auto"');if(Z.canonical)Q.push(`data-canonical="${D0(Z.canonical)}"`);if(Z.auto===!1)Q.push('data-auto="false"');return`
2102
+ `,Y}function P6($){let{html:Z,bindings:J,stores:Y}=BQ($);if(J.length===0)return $;let Q=jQ(J,Y),X=Z.lastIndexOf("</body>");if(X!==-1)return Z.slice(0,X)+Q+Z.slice(X);return Z+Q}var v6=()=>{};function OQ($){let Z=$.analytics;if(!Z?.enabled)return"";switch(Z.driver){case"fathom":return HQ(Z);case"google-analytics":return LQ(Z);case"plausible":return FQ(Z);case"self-hosted":return VQ(Z);case"custom":return wQ(Z);default:return""}}function HQ($){let Z=$.fathom;if(!Z?.siteId)return"";let J=Z.scriptUrl||"https://cdn.usefathom.com/script.js",Y=Z.defer!==!1?" defer":"",Q=[`data-site="${E0(Z.siteId)}"`];if(Z.honorDnt)Q.push('data-honor-dnt="true"');if(Z.spa)Q.push('data-spa="auto"');if(Z.canonical)Q.push(`data-canonical="${E0(Z.canonical)}"`);if(Z.auto===!1)Q.push('data-auto="false"');return`
2100
2103
  <!-- Fathom Analytics -->
2101
- <script src="${D0(J)}" ${Q.join(" ")}${Y}></script>
2102
- `}function YQ($){let Z=$.googleAnalytics;if(!Z?.measurementId)return"";let J=D0(Z.measurementId),Y=Z.debug?`gtag('config', '${J}', { 'debug_mode': true });`:"";return`
2104
+ <script src="${E0(J)}" ${Q.join(" ")}${Y}></script>
2105
+ `}function LQ($){let Z=$.googleAnalytics;if(!Z?.measurementId)return"";let J=E0(Z.measurementId),Y=Z.debug?`gtag('config', '${J}', { 'debug_mode': true });`:"";return`
2103
2106
  <!-- Google Analytics -->
2104
2107
  <script async src="https://www.googletagmanager.com/gtag/js?id=${J}"></script>
2105
2108
  <script>
@@ -2109,10 +2112,10 @@ else {
2109
2112
  gtag('config', '${J}');
2110
2113
  ${Y}
2111
2114
  </script>
2112
- `}function JQ($){let Z=$.plausible;if(!Z?.domain)return"";let J=Z.scriptUrl||"https://plausible.io/js/script.js",Y=[`data-domain="${D0(Z.domain)}"`],Q=J,X=[];if(Z.trackLocalhost)X.push("local");if(Z.hashMode)X.push("hash");if(X.length>0&&J==="https://plausible.io/js/script.js")Q=`https://plausible.io/js/script.${X.join(".")}.js`;return`
2115
+ `}function FQ($){let Z=$.plausible;if(!Z?.domain)return"";let J=Z.scriptUrl||"https://plausible.io/js/script.js",Y=[`data-domain="${E0(Z.domain)}"`],Q=J,X=[];if(Z.trackLocalhost)X.push("local");if(Z.hashMode)X.push("hash");if(X.length>0&&J==="https://plausible.io/js/script.js")Q=`https://plausible.io/js/script.${X.join(".")}.js`;return`
2113
2116
  <!-- Plausible Analytics -->
2114
- <script defer data-domain="${D0(Z.domain)}" src="${D0(Q)}"></script>
2115
- `}function XQ($){let Z=$.selfHosted;if(!Z?.siteId||!Z?.apiEndpoint)return"";let J=D0(Z.siteId),Y=D0(Z.apiEndpoint),Q=Z.honorDnt?'if(n.doNotTrack==="1")return;':"",X=Z.trackHashChanges?"w.addEventListener('hashchange',pv);":"",G=Z.trackOutboundLinks?`
2117
+ <script defer data-domain="${E0(Z.domain)}" src="${E0(Q)}"></script>
2118
+ `}function VQ($){let Z=$.selfHosted;if(!Z?.siteId||!Z?.apiEndpoint)return"";let J=E0(Z.siteId),Y=E0(Z.apiEndpoint),Q=Z.honorDnt?'if(n.doNotTrack==="1")return;':"",X=Z.trackHashChanges?"w.addEventListener('hashchange',pv);":"",G=Z.trackOutboundLinks?`
2116
2119
  d.addEventListener('click',function(e){
2117
2120
  var a=e.target.closest('a');
2118
2121
  if(a&&a.hostname!==location.hostname){
@@ -2145,15 +2148,15 @@ else {
2145
2148
  w.stxAnalytics={track:function(n,v){t('event',{name:n,value:v});}};
2146
2149
  })();
2147
2150
  </script>
2148
- `}function QQ($){let Z=$.custom;if(!Z)return"";if(Z.inlineScript)return`
2151
+ `}function wQ($){let Z=$.custom;if(!Z)return"";if(Z.inlineScript)return`
2149
2152
  <!-- Custom Analytics -->
2150
2153
  <script>
2151
2154
  ${Z.inlineScript}
2152
2155
  </script>
2153
- `;if(!Z.scriptUrl)return"";let J=[];if(Z.scriptId)J.push(`id="${D0(Z.scriptId)}"`);if(Z.attributes)for(let[Q,X]of Object.entries(Z.attributes))J.push(`${D0(Q)}="${D0(X)}"`);return`
2156
+ `;if(!Z.scriptUrl)return"";let J=[];if(Z.scriptId)J.push(`id="${E0(Z.scriptId)}"`);if(Z.attributes)for(let[Q,X]of Object.entries(Z.attributes))J.push(`${E0(Q)}="${E0(X)}"`);return`
2154
2157
  <!-- Custom Analytics -->
2155
- <script${J.length>0?` ${J.join(" ")}`:""} src="${D0(Z.scriptUrl)}" defer></script>
2156
- `}function E3($,Z){let J=$Q(Z);if(!J)return $;if(!$.includes("</head>")){let Y=$.lastIndexOf("</body>");if(Y!==-1)return $.slice(0,Y)+J+$.slice(Y);return $+J}return $.replace("</head>",`${J}</head>`)}function D0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}var D3=()=>{};function b3($){let Z={prevent:!1,stop:!1,once:!1,capture:!1,self:!1,passive:!1,keys:[],systemKeys:[],mouse:null,debounce:null,throttle:null};for(let J of $){let Y=J.toLowerCase();if(Y==="prevent")Z.prevent=!0;else if(Y==="stop")Z.stop=!0;else if(Y==="once")Z.once=!0;else if(Y==="capture")Z.capture=!0;else if(Y==="self")Z.self=!0;else if(Y==="passive")Z.passive=!0;else if(GQ.has(Y))Z.systemKeys.push(Y);else if(Y in y3)Z.mouse=Y;else if(Y in S3||/^[a-z]$/.test(Y))Z.keys.push(S3[Y]||Y.toUpperCase());else if(Y.startsWith("debounce")){let Q=Y.match(/debounce(?:\.(\d+))?/);Z.debounce=Q?.[1]?Number.parseInt(Q[1],10):300}else if(Y.startsWith("throttle")){let Q=Y.match(/throttle(?:\.(\d+))?/);Z.throttle=Q?.[1]?Number.parseInt(Q[1],10):300}}return Z}function C3($){let Z=[],J=0,Y=/<([a-z][a-z0-9-]*)\s+([^>]*@[a-z][^>]*)>/gi,Q;while((Q=Y.exec($))!==null){let[X,G,K]=Q,q=Q.index,U=q+X.length,_=`__stx_evt_${J++}`,W=[],z=/@([a-z][a-z0-9.]*)\s*=\s*"([^"]*)"/gi,j;while((j=z.exec(K))!==null){let[,O,F]=j,L=O.split("."),H=L[0];if(!k3.has(H))continue;W.push({attribute:`@${O}`,event:H,handler:F,modifiers:b3(L.slice(1)),elementId:_})}let B=/@([a-z][a-z0-9.]*)\s*=\s*'([^']*)'/gi;while((j=B.exec(K))!==null){let[,O,F]=j,L=O.split("."),H=L[0];if(!k3.has(H))continue;W.push({attribute:`@${O}`,event:H,handler:F,modifiers:b3(L.slice(1)),elementId:_})}if(W.length>0)Z.push({originalTag:X,elementId:_,events:W,startIndex:q,endIndex:U})}return Z}function KQ($){let Z=[],{modifiers:J}=$;if(J.self)Z.push("if ($event.target !== $el) return");for(let Y of J.systemKeys)Z.push(`if (!$event.${Y}Key) return`);if(J.keys.length>0){let Y=J.keys.map((Q)=>`$event.key === '${Q}'`).join(" || ");Z.push(`if (!(${Y})) return`)}if(J.mouse!==null){let Y=y3[J.mouse];Z.push(`if ($event.button !== ${Y}) return`)}if(J.prevent)Z.push("$event.preventDefault()");if(J.stop)Z.push("$event.stopPropagation()");return Z.join("; ")}function qQ($,Z){let J=$;if(Z.debounce!==null)J=`__stx_debounce(() => { ${J} }, ${Z.debounce})`;else if(Z.throttle!==null)J=`__stx_throttle(() => { ${J} }, ${Z.throttle})`;return J}function _Q($){let{modifiers:Z}=$,J=$.elementId.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),Y=KQ($),Q=qQ($.handler,Z),X=[];if(Z.once)X.push("once: true");if(Z.capture)X.push("capture: true");if(Z.passive)X.push("passive: true");let G=X.length>0?`, { ${X.join(", ")} }`:"",K=Q.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t");if($.event==="mounted")return`
2158
+ <script${J.length>0?` ${J.join(" ")}`:""} src="${E0(Z.scriptUrl)}" defer></script>
2159
+ `}function x6($,Z){let J=OQ(Z);if(!J)return $;if(!$.includes("</head>")){let Y=$.lastIndexOf("</body>");if(Y!==-1)return $.slice(0,Y)+J+$.slice(Y);return $+J}return $.replace("</head>",`${J}</head>`)}function E0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}var f6=()=>{};function d6($){let Z={prevent:!1,stop:!1,once:!1,capture:!1,self:!1,passive:!1,keys:[],systemKeys:[],mouse:null,debounce:null,throttle:null};for(let J of $){let Y=J.toLowerCase();if(Y==="prevent")Z.prevent=!0;else if(Y==="stop")Z.stop=!0;else if(Y==="once")Z.once=!0;else if(Y==="capture")Z.capture=!0;else if(Y==="self")Z.self=!0;else if(Y==="passive")Z.passive=!0;else if(NQ.has(Y))Z.systemKeys.push(Y);else if(Y in m6)Z.mouse=Y;else if(Y in h6||/^[a-z]$/.test(Y))Z.keys.push(h6[Y]||Y.toUpperCase());else if(Y.startsWith("debounce")){let Q=Y.match(/debounce(?:\.(\d+))?/);Z.debounce=Q?.[1]?Number.parseInt(Q[1],10):300}else if(Y.startsWith("throttle")){let Q=Y.match(/throttle(?:\.(\d+))?/);Z.throttle=Q?.[1]?Number.parseInt(Q[1],10):300}}return Z}function u6($){let Z=[],J=0,Y=/<([a-z][a-z0-9-]*)\s+([^>]*@[a-z][^>]*)>/gi,Q;while((Q=Y.exec($))!==null){let[X,G,K]=Q,q=Q.index,_=q+X.length,W=`__stx_evt_${J++}`,z=[],U=/@([a-z][a-z0-9.]*)\s*=\s*"([^"]*)"/gi,j;while((j=U.exec(K))!==null){let[,O,F]=j,L=O.split("."),H=L[0];if(!g6.has(H))continue;z.push({attribute:`@${O}`,event:H,handler:F,modifiers:d6(L.slice(1)),elementId:W})}let B=/@([a-z][a-z0-9.]*)\s*=\s*'([^']*)'/gi;while((j=B.exec(K))!==null){let[,O,F]=j,L=O.split("."),H=L[0];if(!g6.has(H))continue;z.push({attribute:`@${O}`,event:H,handler:F,modifiers:d6(L.slice(1)),elementId:W})}if(z.length>0)Z.push({originalTag:X,elementId:W,events:z,startIndex:q,endIndex:_})}return Z}function RQ($){let Z=[],{modifiers:J}=$;if(J.self)Z.push("if ($event.target !== $el) return");for(let Y of J.systemKeys)Z.push(`if (!$event.${Y}Key) return`);if(J.keys.length>0){let Y=J.keys.map((Q)=>`$event.key === '${Q}'`).join(" || ");Z.push(`if (!(${Y})) return`)}if(J.mouse!==null){let Y=m6[J.mouse];Z.push(`if ($event.button !== ${Y}) return`)}if(J.prevent)Z.push("$event.preventDefault()");if(J.stop)Z.push("$event.stopPropagation()");return Z.join("; ")}function AQ($,Z){let J=$;if(Z.debounce!==null)J=`__stx_debounce(() => { ${J} }, ${Z.debounce})`;else if(Z.throttle!==null)J=`__stx_throttle(() => { ${J} }, ${Z.throttle})`;return J}function TQ($){let{modifiers:Z}=$,J=$.elementId.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),Y=RQ($),Q=AQ($.handler,Z),X=[];if(Z.once)X.push("once: true");if(Z.capture)X.push("capture: true");if(Z.passive)X.push("passive: true");let G=X.length>0?`, { ${X.join(", ")} }`:"",K=Q.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t");if($.event==="mounted")return`
2157
2160
  (function() {
2158
2161
  var $el = document.getElementById('${J}');
2159
2162
  if (!$el) return;
@@ -2207,7 +2210,7 @@ else {
2207
2210
  ${Q}
2208
2211
  }
2209
2212
  }${G});
2210
- })();`}function UQ($){if($.length===0)return"";return`
2213
+ })();`}function MQ($){if($.length===0)return"";return`
2211
2214
  <script data-stx-events>
2212
2215
  (function() {
2213
2216
  'use strict';
@@ -2235,11 +2238,11 @@ else {
2235
2238
  }
2236
2239
 
2237
2240
  // Event listeners
2238
- ${$.flatMap((J)=>J.events).map(_Q).join(`
2241
+ ${$.flatMap((J)=>J.events).map(TQ).join(`
2239
2242
  `)}
2240
2243
  })();
2241
- </script>`}function WQ($){let Z=C3($);if(Z.length===0)return{template:$,bindings:[]};let J=$,Y=[];for(let Q=Z.length-1;Q>=0;Q--){let X=Z[Q],G=X.originalTag;if(!G.includes(" id="))G=G.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${X.elementId}"`);else{let K=G.match(/id=["']([^"']+)["']/);if(K)for(let q of X.events)q.elementId=K[1]}for(let K of X.events){let q=K.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),U=new RegExp(`\\s*${q}\\s*=\\s*"[^"]*"`,"g"),_=new RegExp(`\\s*${q}\\s*=\\s*'[^']*'`,"g");G=G.replace(U,""),G=G.replace(_,"")}J=J.slice(0,X.startIndex)+G+J.slice(X.endIndex),Y.push(...X.events)}return{template:J,bindings:Y}}function P3($,Z,J){if(/\b(?:state|derived|effect)\s*\(/.test($)||/@(?:model|show|for|if)\s*=/.test($)||/data-stx(?:-auto)?(?![-\w])/.test($))return $;if(Z.__stx_sfc_mode){if(/x-data\s*=\s*["']/.test($))return $;let{template:q,bindings:U}=WQ($),_=Z.__stx_event_bindings||[];return Z.__stx_event_bindings=[..._,...U],q}let Q=C3($);if(Q.length===0)return $;let X=$;for(let q=Q.length-1;q>=0;q--){let U=Q[q],_=U.originalTag;if(!_.includes(" id="))_=_.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${U.elementId}"`);else{let W=_.match(/id=["']([^"']+)["']/);if(W)for(let z of U.events)z.elementId=W[1]}for(let W of U.events){let z=W.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),j=new RegExp(`\\s*${z}\\s*=\\s*"[^"]*"`,"g"),B=new RegExp(`\\s*${z}\\s*=\\s*'[^']*'`,"g");_=_.replace(j,""),_=_.replace(B,"")}X=X.slice(0,U.startIndex)+_+X.slice(U.endIndex)}let G=UQ(Q),K=X.lastIndexOf("</body>");if(K!==-1)X=X.slice(0,K)+G+`
2242
- `+X.slice(K);else X+=G;return X}var k3,S3,GQ,y3;var v3=P(()=>{k3=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"]),S3={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"},GQ=new Set(["ctrl","alt","shift","meta"]),y3={left:0,middle:1,right:2}});function $$($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function x3($,Z){let J=$.match(new RegExp(`${Z}\\s*=\\s*"([^"]*)"`,"i"));if(J)return J[1];let Y=$.match(new RegExp(`${Z}\\s*=\\s*'([^']*)'`,"i"));if(Y)return Y[1];return null}function BQ($){let Z=[],J=/<([a-z][a-z0-9-]*)\s+([^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,Y;while((Y=J.exec($))!==null){let[Q,X,G]=Y,K=Y.index,q=x3(G,"x-data");if(!q)continue;let U=`__stx_scope_${f3++}`,_=x3(G,"x-init"),W=jQ($,X,K+Q.length),z=$.slice(K,W.endIndex),j=OQ(z);Z.push({id:U,selector:`[data-stx-scope="${U}"]`,stateExpr:q,initExpr:_,bindings:[],refs:j})}return Z}function jQ($,Z,J){let Y=1,Q=J,X=new RegExp(`<${Z}(?:\\s|>)`,"gi"),G=new RegExp(`</${Z}>`,"gi"),K=new RegExp(`<${Z}[^>]*/\\s*>`,"gi");while(Y>0&&Q<$.length){X.lastIndex=Q,G.lastIndex=Q,K.lastIndex=Q;let q=X.exec($),U=G.exec($),_=K.exec($);if(_&&_.index<(q?.index??1/0)){Q=_.index+_[0].length;continue}if(!U)return{endIndex:$.length};if(q&&q.index<U.index)Y++,Q=q.index+q[0].length;else{if(Y--,Y===0)return{endIndex:U.index+U[0].length};Q=U.index+U[0].length}}return{endIndex:$.length}}function OQ($){let Z=new Map,J=$.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,Q;while((Q=Y.exec(J))!==null){let[,X,G]=Q,K=HQ(X);Z.set(G,K)}return Z}function HQ($){let Z=$.match(/\bid\s*=\s*["']([^"']*)["']/);if(Z)return Z[1];return`__stx_el_${zQ++}`}function LQ(){return`
2244
+ </script>`}function IQ($){let Z=u6($);if(Z.length===0)return{template:$,bindings:[]};let J=$,Y=[];for(let Q=Z.length-1;Q>=0;Q--){let X=Z[Q],G=X.originalTag;if(!G.includes(" id="))G=G.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${X.elementId}"`);else{let K=G.match(/id=["']([^"']+)["']/);if(K)for(let q of X.events)q.elementId=K[1]}for(let K of X.events){let q=K.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),_=new RegExp(`\\s*${q}\\s*=\\s*"[^"]*"`,"g"),W=new RegExp(`\\s*${q}\\s*=\\s*'[^']*'`,"g");G=G.replace(_,""),G=G.replace(W,"")}J=J.slice(0,X.startIndex)+G+J.slice(X.endIndex),Y.push(...X.events)}return{template:J,bindings:Y}}function p6($,Z,J){if(/\b(?:state|derived|effect)\s*\(/.test($)||/@(?:model|show|for|if)\s*=/.test($)||/data-stx(?:-auto)?(?![-\w])/.test($))return $;if(Z.__stx_sfc_mode){if(/x-data\s*=\s*["']/.test($))return $;let{template:q,bindings:_}=IQ($),W=Z.__stx_event_bindings||[];return Z.__stx_event_bindings=[...W,..._],q}let Q=u6($);if(Q.length===0)return $;let X=$;for(let q=Q.length-1;q>=0;q--){let _=Q[q],W=_.originalTag;if(!W.includes(" id="))W=W.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${_.elementId}"`);else{let z=W.match(/id=["']([^"']+)["']/);if(z)for(let U of _.events)U.elementId=z[1]}for(let z of _.events){let U=z.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),j=new RegExp(`\\s*${U}\\s*=\\s*"[^"]*"`,"g"),B=new RegExp(`\\s*${U}\\s*=\\s*'[^']*'`,"g");W=W.replace(j,""),W=W.replace(B,"")}X=X.slice(0,_.startIndex)+W+X.slice(_.endIndex)}let G=MQ(Q),K=X.lastIndexOf("</body>");if(K!==-1)X=X.slice(0,K)+G+`
2245
+ `+X.slice(K);else X+=G;return X}var g6,h6,NQ,m6;var l6=C(()=>{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"]),h6={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"},NQ=new Set(["ctrl","alt","shift","meta"]),m6={left:0,middle:1,right:2}});function X9($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function c6($,Z){let J=$.match(new RegExp(`${Z}\\s*=\\s*"([^"]*)"`,"i"));if(J)return J[1];let Y=$.match(new RegExp(`${Z}\\s*=\\s*'([^']*)'`,"i"));if(Y)return Y[1];return null}function EQ($){let Z=[],J=/<([a-z][a-z0-9-]*)\s+([^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,Y;while((Y=J.exec($))!==null){let[Q,X,G]=Y,K=Y.index,q=c6(G,"x-data");if(!q)continue;let _=`__stx_scope_${i6++}`,W=c6(G,"x-init"),z=kQ($,X,K+Q.length),U=$.slice(K,z.endIndex),j=bQ(U);Z.push({id:_,selector:`[data-stx-scope="${_}"]`,stateExpr:q,initExpr:W,bindings:[],refs:j})}return Z}function kQ($,Z,J){let Y=1,Q=J,X=new RegExp(`<${Z}(?:\\s|>)`,"gi"),G=new RegExp(`</${Z}>`,"gi"),K=new RegExp(`<${Z}[^>]*/\\s*>`,"gi");while(Y>0&&Q<$.length){X.lastIndex=Q,G.lastIndex=Q,K.lastIndex=Q;let q=X.exec($),_=G.exec($),W=K.exec($);if(W&&W.index<(q?.index??1/0)){Q=W.index+W[0].length;continue}if(!_)return{endIndex:$.length};if(q&&q.index<_.index)Y++,Q=q.index+q[0].length;else{if(Y--,Y===0)return{endIndex:_.index+_[0].length};Q=_.index+_[0].length}}return{endIndex:$.length}}function bQ($){let Z=new Map,J=$.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,Q;while((Q=Y.exec(J))!==null){let[,X,G]=Q,K=SQ(X);Z.set(G,K)}return Z}function SQ($){let Z=$.match(/\bid\s*=\s*["']([^"']*)["']/);if(Z)return Z[1];return`__stx_el_${DQ++}`}function yQ(){return`
2243
2246
  // STX Reactive Runtime - x-cloak and transition CSS
2244
2247
  (function() {
2245
2248
  var style = document.createElement('style');
@@ -2443,7 +2446,7 @@ window.__stx_reactive = (function() {
2443
2446
 
2444
2447
  return { initScope: initScope, reactive: reactive };
2445
2448
  })();
2446
- `}function FQ($){if($.length===0)return"";let Z=$.map((J)=>{let Y=JSON.stringify(Object.fromEntries(J.refs)),Q=JSON.stringify(J.stateExpr),X=J.initExpr?JSON.stringify(J.initExpr):"null";return`
2449
+ `}function CQ($){if($.length===0)return"";let Z=$.map((J)=>{let Y=JSON.stringify(Object.fromEntries(J.refs)),Q=JSON.stringify(J.stateExpr),X=J.initExpr?JSON.stringify(J.initExpr):"null";return`
2447
2450
  (function() {
2448
2451
  var scopeEl = document.querySelector('${J.selector}');
2449
2452
  if (!scopeEl) return;
@@ -2452,24 +2455,24 @@ window.__stx_reactive = (function() {
2452
2455
  })();`}).join(`
2453
2456
  `);return`
2454
2457
  <script data-stx-scoped data-stx-reactive>
2455
- ${LQ()}
2458
+ ${yQ()}
2456
2459
  ${Z}
2457
- </script>`}function g3($,Z,J){if(f3=0,!NQ($))return $;let Y=BQ($);if(Y.length===0)return $;let Q=VQ($,Y),X=FQ(Y),G=Q.lastIndexOf("</body>");if(G!==-1)Q=Q.slice(0,G)+X+`
2458
- `+Q.slice(G);else Q+=X;return Q}function VQ($,Z){let J=$;for(let Y of Z){let X=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*data-stx-scope="([^"]*)"[^>]*x-data\\s*=\\s*["']${$$(Y.stateExpr)}["']`,"gi").exec(J);if(X)Y.id=X[1],Y.selector=`[data-stx-scope="${Y.id}"]`;else{let K=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*x-data\\s*=\\s*["']${$$(Y.stateExpr)}["'][^>]*data-stx-scope="([^"]*)"`,"gi").exec(J);if(K)Y.id=K[1],Y.selector=`[data-stx-scope="${Y.id}"]`;else J=J.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*"${$$(Y.stateExpr)}")([^>]*>)`,"gi"),`$1data-stx-scope="${Y.id}" $2$3$4`),J=J.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*'${$$(Y.stateExpr)}')([^>]*>)`,"gi"),`$1data-stx-scope="${Y.id}" $2$3$4`)}}return J=J.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),J=J.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),J=J.replace(/\s*x-init\s*=\s*"[^"]*"/g,""),J=J.replace(/\s*x-init\s*=\s*'[^']*'/g,""),J}function NQ($){return/x-data\s*=\s*["']/.test($)}var f3=0,zQ=0;import RQ from"fs";import g4 from"path";import{createHighlighter as AQ}from"ts-syntax-highlighter";async function wQ($,Z={}){try{if(!await c($))throw Error(`Markdown file not found: ${$}`);let Y=(await RQ.promises.stat($)).mtime.getTime();if(Z.cache&&h4.has($)){let W=h4.get($);if(W.updatedAt>=Y)return{content:W.content,data:W.data}}let Q=await Bun.file($).text(),{data:X,content:G}=z6(Q),K=Z.markdown||C4.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},U=m1(G,{gfm:!0});if(K.syntaxHighlighting?.enabled&&K.syntaxHighlighting?.serverSide)U=await TQ(U,K.syntaxHighlighting?.defaultTheme||"github-dark",K.syntaxHighlighting?.highlightUnknownLanguages||!1);let _={content:U,data:X||{}};if(Z.cache)h4.set($,{..._,updatedAt:Y});return _}catch(J){if(Z.debug)console.error(`Error reading/parsing markdown file ${$}:`,J);let Y=J instanceof Error?J.message:String(J);return{content:Q0("Markdown File",`Error reading/parsing markdown file: ${Y}`,$,"",0,""),data:{}}}}async function TQ($,Z,J){let Y=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!Z$)try{Z$=await AQ({theme:Z||"github-dark",cache:!0})}catch(K){return console.error("Failed to initialize ts-syntax-highlighter:",K),$}let Q=async(K,q,U,_)=>{let W=_.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#39;/g,"'"),z=U||(J?"text":"");if(!z)return K;try{if(!Z$.getSupportedLanguages().includes(z))return K;return(await Z$.highlight(W,z,{theme:Z})).html}catch(j){console.error(`Error highlighting code block with language ${U}:`,j)}return K},X=$,G=$.matchAll(Y);for(let K of G){let[q,U,_,W]=K,z=await Q(q,U,_,W);X=X.replace(q,z)}return X}async function h3($,Z,J="",Y={}){return await MQ($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(G,K,q,U)=>{try{let _=K;if(!g4.isAbsolute(K))_=g4.resolve(g4.dirname(J),K);let W={};if(q)try{try{W=JSON.parse(q)}catch{if(Y.debug)console.warn("Using safer alternative for parsing JS object literal");let H=q.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let V of H){let R=V.indexOf(":");if(R>0){let N=V.substring(0,R).trim(),A=V.substring(R+1).trim(),w=A.startsWith('"')&&A.endsWith('"'),M=A.startsWith("'")&&A.endsWith("'");if(w||M)A=A.substring(1,A.length-1);W[N]=A}}}}catch(L){if(Y.debug)console.error("Error parsing context in @markdown-file directive:",L)}let{content:z,data:j}=await wQ(_,Y),B={...Z,...j,...W},O=z,F=/\{\{([^}]+)\}\}/g;return O=O.replace(F,(L,H)=>{let V=H.trim();return B[V]!==void 0?String(B[V]):L}),O}catch(_){let W=_ instanceof Error?_.message:String(_);return Q0("Markdown File",`Error including markdown file: ${W}`,J,$,U,G)}})}async function MQ($,Z,J){let Y=[],Q;while((Q=Z.exec($))!==null){let K=Q[0],q=Q.index,U=Q;Y.push(J(...U).then((_)=>({match:K,replacement:_,index:q})))}let X=await Promise.all(Y);X.sort((K,q)=>q.index-K.index);let G=$;for(let{match:K,replacement:q}of X)G=G.replace(K,()=>q);return G}var h4,Z$=null;var d3=P(()=>{$5();V0();h4=new Map});function a0($,Z){try{let J=$.trim();if(e(J))return $0(J,Object.keys(Z))(...Object.values(Z));else return X0(J,Z)}catch{return!1}}var m3=P(()=>{R0()});function t0($,Z){let J=IQ($,Z);return J.ok?{expression:J.expression,endPos:J.endPos}:null}function IQ($,Z){let J=Z;while(J<$.length&&/\s/.test($[J]))J++;if($[J]!=="(")return{ok:!1,reason:"missing-open-paren",pos:J};let Y=I0($,"(",")",J);if(Y===-1)return{ok:!1,reason:"unclosed-paren",pos:J};return{ok:!0,expression:$.slice(J+1,Y),endPos:Y+1}}function L1($,Z,J,Y){let Q=1,X=Y,G=new RegExp(`@${Z}\\s*\\(`,"g"),K=new RegExp(`@${J}(?![a-z])`,"g");while(X<$.length&&Q>0){G.lastIndex=X,K.lastIndex=X;let q=G.exec($),U=K.exec($),_=q?q.index:1/0,W=U?U.index:1/0;if(_<W)Q++,X=_+q[0].length;else if(W<1/0){if(Q--,Q===0)return W;X=W+U[0].length}else break}return-1}function u3($,Z){let J=$.slice(Z).match(/^@if\s*/);if(!J)return null;let Y=Z+J[0].length,Q=t0($,Y);if(!Q)return null;let X=Q.endPos,G=L1($,"if","endif",X);if(G===-1)return null;let K=$.slice(X,G),q=[],U=0,_="if",W=Q.expression,z=0,j=0;while(U<K.length){let B=K.indexOf("@",U);if(B===-1)break;U=B;let O=K.substring(B);if(/^@if\s*\(/.test(O)){j++,U++;continue}if(/^@endif(?![a-z])/.test(O)){j--,U+=6;continue}if(j===0){let F=O.match(/^@elseif\s*/);if(F){q.push({type:_,condition:W,content:K.substring(z,U),start:X+z,end:X+U});let L=U+F[0].length,H=t0(K,L);if(!H){U++;continue}_="elseif",W=H.expression,U=H.endPos,z=U;continue}else if(/^@else(?![a-z])/.test(O)){q.push({type:_,condition:W,content:K.substring(z,U),start:X+z,end:X+U}),_="else",W=void 0,U+=5,z=U;continue}}U++}return q.push({type:_,condition:W,content:K.slice(z),start:X+z,end:X+K.length}),{fullMatch:$.slice(Z,G+6),branches:q,start:Z,end:G+6}}function d4($){let Z=[],J=/@if\s*\(/g,Y=J.exec($);while(Y!==null){if(Z.some((G)=>Y.index>G.start&&Y.index<G.end)){Y=J.exec($);continue}let X=u3($,Y.index);if(X)Z.push(X),J.lastIndex=X.end;Y=J.exec($)}return Z}function Y$($,Z,J){let Y=[],Q=new RegExp(`@${Z}\\s*\\(`,"g"),X=Q.exec($);while(X!==null){if(Y.some((O)=>X.index>O.start&&X.index<O.end)){X=Q.exec($);continue}let K=X.index,q=K+X[0].length-1,U=I0($,"(",")",q);if(U===-1){X=Q.exec($);continue}let _=$.slice(q+1,U),W=U+1,z=L1($,Z,J,W);if(z===-1){X=Q.exec($);continue}let j=$.slice(W,z),B=z+`@${J}`.length;Y.push({fullMatch:$.slice(K,B),name:Z,params:_,content:j,start:K,end:B}),Q.lastIndex=B,X=Q.exec($)}return Y}function m4($,Z){let J=$.slice(Z).match(/^@switch\s*/);if(!J)return null;let Y=Z+J[0].length,Q=t0($,Y);if(!Q)return null;let X=Q.endPos,G=L1($,"switch","endswitch",X);if(G===-1)return null;let K=$.slice(X,G),q=[],U=0,_=null,W=0;while(U<K.length){let z=K.slice(U),j=z.match(/^@switch\s*\(/),B=z.match(/^@endswitch(?![a-z])/);if(j){if(W++,_)_.content+=j[0];U+=j[0].length;continue}if(B){if(W--,_)_.content+=B[0];U+=B[0].length;continue}if(W>0){if(_)_.content+=K[U];U++;continue}let O=z.match(/^@case\s*/),F=z.match(/^@default(?![a-z])/),L=z.match(/^@break(?![a-z])/);if(O&&z.startsWith("@case")){if(_)q.push(_);let H=U+O[0].length,V=t0(K,H);if(!V){U++;continue}_={type:"case",value:V.expression,content:""},U=V.endPos}else if(F&&z.startsWith("@default")){if(_)q.push(_);_={type:"default",content:""},U+=F[0].length}else if(L&&z.startsWith("@break"))U+=L[0].length;else{if(_)_.content+=K[U];U++}}if(_)q.push(_);return{fullMatch:$.slice(Z,G+10),expression:Q.expression,cases:q,start:Z,end:G+10}}var p3=()=>{};var l3=()=>{};var u4=P(()=>{p3();l3()});function SQ($,Z,J){let Y=$,Q=!0;while(Q){Q=!1;let X=Y.match(/@switch\s*\(/);if(!X||X.index===void 0)break;let G=X.index,K=m4(Y,G);if(!K)break;try{let q;if(e(K.expression))q=$0(K.expression,Object.keys(Z))(...Object.values(Z));else q=X0(K.expression,Z);let U="",_=!1;for(let W of K.cases)if(W.type==="default"){if(!_)U=W.content.trim()}else try{let z;if(W.value&&e(W.value))z=$0(W.value,Object.keys(Z))(...Object.values(Z));else if(W.value)z=X0(W.value,Z);if(q===z){U=W.content.trim(),_=!0;break}}catch{continue}Y=Y.substring(0,G)+U+Y.substring(K.end),Q=!0}catch(q){let U=q instanceof Error?q.message:String(q),_=o("Switch",`Error evaluating @switch expression: ${U}`,u.EVALUATION_ERROR);Y=Y.substring(0,G)+_+Y.substring(K.end);break}}return Y}function b1($,Z,J){let Y=$;Y=SQ(Y,Z,J);{let X=!0;while(X){X=!1;let G=Y.match(/@unless\s*\(/);if(!G||G.index===void 0)break;let K=G.index,q=t0(Y,K+7);if(!q)break;let U=q.endPos,_=L1(Y,"unless","endunless",U);if(_===-1){console.warn(`[stx] @unless directive at position ${K} has no matching @endunless \u2014 the block was skipped. Check for typos or missing closers.`);break}let W=Y.slice(U,_),z=q.expression,j=-1;{let O=0,F=/@(?:if|unless)\s*\(/g,L=/@(?:endif|endunless)(?![a-z])/g,H=/@else(?![a-z])/g,V=[],R;while((R=F.exec(W))!==null)V.push({pos:R.index,type:"open"});while((R=L.exec(W))!==null)V.push({pos:R.index,type:"close"});while((R=H.exec(W))!==null)V.push({pos:R.index,type:"else"});V.sort((N,A)=>N.pos-A.pos);for(let N of V)if(N.type==="open")O++;else if(N.type==="close")O--;else if(N.type==="else"&&O===0){j=N.pos;break}}let B;if(j!==-1){let O=W.slice(0,j),F=W.slice(j+5);B=`@if (${z})${F}@else ${O}@endif`}else B=`@if (!(${z}))${W}@endif`;Y=Y.substring(0,K)+B+Y.substring(_+10),X=!0}}Y=l4(Y,Z,J),Y=c4(Y,Z,J),Y=p4(Y,Z);let Q=()=>{let X=d4(Y);if(X.length===0)return!1;for(let G=X.length-1;G>=0;G--){let K=X[G];try{let q="",U=!1;for(let _ of K.branches){if(U)break;if(_.type==="else")q=_.content,U=!0;else try{let W;if(_.condition&&e(_.condition))W=$0(_.condition,Object.keys(Z))(...Object.values(Z));else if(_.condition)W=X0(_.condition,Z);if(W)q=_.content,U=!0}catch(W){q=o(_.type==="if"?"If":"Elseif",`Error in @${_.type}(${_.condition}): ${W instanceof Error?W.message:String(W)}`,u.EVALUATION_ERROR),U=!0}}Y=Y.substring(0,K.start)+q+Y.substring(K.end)}catch(q){let U=q instanceof Error?q.message:String(q),_=o("If",`Error processing @if block: ${U}`,u.EVALUATION_ERROR);Y=Y.substring(0,K.start)+_+Y.substring(K.end)}}return!0};while(Q());return Y}function c3($){let Z=0;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return null;Z++;while(Z<$.length&&/\s/.test($[Z]))Z++;let J=$[Z];if(J!=="'"&&J!=='"')return null;Z++;let Y=[];while(Z<$.length){let Q=$[Z];if(Q==="\\"&&Z+1<$.length){Y.push($[Z+1]),Z+=2;continue}if(Q===J){Z++;break}Y.push(Q),Z++}while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!==")")return null;return Z++,{value:Y.join(""),consumed:Z}}function p4($,Z){let J=$;function Y(K,q,U,_){let W=1,z=_,j=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),B=new RegExp(`@${U}(?![a-z])`,"g");while(z<K.length&&W>0){j.lastIndex=z,B.lastIndex=z;let O=j.exec(K),F=B.exec(K),L=O?O.index:1/0,H=F?F.index:1/0;if(L<H)W++,z=L+O[0].length;else if(H<1/0){if(W--,W===0)return H;z=H+F[0].length}else break}return-1}function Q(K,q,U){let _=0,W=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),z=new RegExp(`@${U}(?![a-z])`,"g"),j=/@else(?![a-z])/g,B=[],O;while((O=W.exec(K))!==null)B.push({pos:O.index,type:"open"});while((O=z.exec(K))!==null)B.push({pos:O.index,type:"close"});while((O=j.exec(K))!==null)B.push({pos:O.index,type:"else"});B.sort((F,L)=>F.pos-L.pos);for(let F of B)if(F.type==="open")_++;else if(F.type==="close")_--;else if(F.type==="else"&&_===0)return F.pos;return-1}{let K=!0;while(K){K=!1;let q=J.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let U=q.index,_,W,z=J.slice(U+5),j=c3(z);if(j)_=j.value,W=U+5+j.consumed;else W=U+5;let B=Y(J,"auth","endauth",W);if(B===-1){console.warn(`[stx] @auth directive at position ${U} has no matching @endauth \u2014 the block was skipped.`);break}let O=J.slice(W,B),F=Q(O,"auth","endauth"),L;if(!Z.auth)L=!1;else L=_?a0(`auth?.check && auth?.user?.[${_}]`,Z):a0("auth?.check",Z);let H;if(F!==-1){let V=O.slice(0,F),R=O.slice(F+5);H=L?V:R}else H=L?O:"";J=J.substring(0,U)+H+J.substring(B+8),K=!0}}{let K=!0;while(K){K=!1;let q=J.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let U=q.index,_,W,z=J.slice(U+6),j=c3(z);if(j)_=j.value,W=U+6+j.consumed;else W=U+6;let B=Y(J,"guest","endguest",W);if(B===-1){console.warn(`[stx] @guest directive at position ${U} has no matching @endguest \u2014 the block was skipped.`);break}let O=J.slice(W,B),F=Q(O,"guest","endguest"),L;if(!Z.auth)L=!0;else L=_?a0(`!auth?.check || !auth?.user?.[${_}]`,Z):a0("!auth?.check",Z);let H;if(F!==-1){let V=O.slice(0,F),R=O.slice(F+5);H=L?V:R}else H=L?O:"";J=J.substring(0,U)+H+J.substring(B+9),K=!0}}function X(K,q,U){if(Z.userCan&&typeof Z.userCan[K]==="boolean")return Z.userCan[K];if(Z.permissions?.check&&typeof Z.permissions.check==="function")try{let _=[K];if(q)_.push(q);if(U){let W=a0(U,Z);_.push(W)}return Z.permissions.check(..._)}catch{return!1}return!1}function G(K){let q=K.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 K of["can","cannot"]){let q=`end${K}`,U=K==="can"?"elsecan":"elsecannot",_=!0;while(_){_=!1;let W=J.match(new RegExp(`@${K}\\s*\\(`));if(!W||W.index===void 0)break;let z=W.index,j=J.slice(z+`@${K}`.length),B=G(j);if(!B)break;let O=z+`@${K}`.length+B.paramsEnd,F=Y(J,K,q,O);if(F===-1){console.warn(`[stx] @${K} directive at position ${z} has no matching @${q} \u2014 the block was skipped.`);break}let L=J.slice(O,F),H=[],V=0,R=new RegExp(`@${K}\\s*\\(`,"g"),N=new RegExp(`@${q}(?![a-z])`,"g"),A=new RegExp(`@${U}\\s*\\(`,"g"),w=/@else(?![a-z])/g,M=[],E;while((E=R.exec(L))!==null)M.push({pos:E.index,type:"open"});while((E=N.exec(L))!==null)M.push({pos:E.index,type:"close"});while((E=A.exec(L))!==null)M.push({pos:E.index,type:"elseDirective"});while((E=w.exec(L))!==null)M.push({pos:E.index,type:"else"});M.sort((S,k)=>S.pos-k.pos);for(let S of M){if(S.type==="open"){V++;continue}if(S.type==="close"){V--;continue}if(V===0)H.push(S)}let T=[],I=0;for(let S=0;S<H.length;S++){let k=H[S];if(T.push({content:L.slice(I,k.pos),ability:void 0}),k.type==="elseDirective"){let f=L.slice(k.pos+`@${U}`.length),h=G(f);if(h){T[T.length-1]={content:L.slice(I,k.pos)},I=k.pos+`@${U}`.length+h.paramsEnd,T.push({content:"",ability:h.ability,type:h.type,id:h.id}),T.pop();let p=H[S+1],z0=p?p.pos:L.length;T.push({content:L.slice(I,z0),ability:h.ability,type:h.type,id:h.id}),I=z0}}else I=k.pos+5}if(I<L.length){let S=T[T.length-1];if(H.length>0&&H[H.length-1].type==="else")T.push({content:L.slice(I),isFinalElse:!0});else if(T.length===0)T.push({content:L.slice(I)})}let D=X(B.ability,B.type,B.id),y=K==="can"?D:!D,b="";if(y)b=T[0]?.content||"";else{let S=!1;for(let k=1;k<T.length;k++){let f=T[k];if(f.isFinalElse){b=f.content,S=!0;break}if(f.ability){let h=X(f.ability,f.type,f.id);if(K==="can"?h:!h){b=f.content,S=!0;break}}}if(!S&&T.length>0){let k=T[T.length-1];if(k.isFinalElse)b=k.content}}J=J.substring(0,z)+b+J.substring(F+`@${q}`.length),_=!0}}return J}function l4($,Z,J){let Y=$;function Q(X,G,K,q,U){let _=!0;while(_){_=!1;let W=new RegExp(`@${G}\\s*\\(`),z=X.match(W);if(!z||z.index===void 0)break;let j=z.index,B=t0(X,j+`@${G}`.length);if(!B)break;let O=B.endPos,F=L1(X,G,K,O);if(F===-1){console.warn(`[stx] @${G} directive at position ${j} has no matching @${K} \u2014 the block was skipped.`);break}let L=X.slice(O,F),H=B.expression,V=-1,R=0,N=0;while(N<L.length){let A=L.indexOf("@",N);if(A===-1)break;let w=L.substring(A);if(/^@(?:if|unless|isset|empty)\s*\(/.test(w)){R++,N=A+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(w)){R--,N=A+1;continue}if(R===0&&/^@else(?![a-z])/.test(w)){V=A;break}N=A+1}try{let A=q(H.trim()),w;if(V!==-1){let M=L.slice(0,V),E=L.slice(V+5);w=A?M:E}else w=A?L:"";X=X.substring(0,j)+w+X.substring(F+`@${K}`.length),_=!0}catch(A){let w=A instanceof Error?A.message:String(A),M=o(U,`Error processing @${G} directive: ${w}`,u.EVALUATION_ERROR);X=X.substring(0,j)+M+X.substring(F+`@${K}`.length);break}}return X}return Y=Q(Y,"isset","endisset",(X)=>{let G=a0(X,Z);return G!==void 0&&G!==null},"Isset"),Y=Q(Y,"empty","endempty",(X)=>{let G=a0(X,Z);return G===void 0||G===null||G===""||G===0||G===!1||Array.isArray(G)&&G.length===0||typeof G==="object"&&G!==null&&Object.keys(G).length===0},"Empty"),Y}function c4($,Z,J){let Y=$,Q="development";function X(G,K,q,U){let _=new RegExp(`@${K}(?![a-z])`,"g"),W=new RegExp(`@${q}(?![a-z])`,"g"),z=new RegExp(`^@${K}(?![a-z])`),j=new RegExp(`^@${q}(?![a-z])`),B=G,O=!0;while(O){O=!1,_.lastIndex=0;let F=_.exec(B);if(!F)break;let L=F.index,H=L+F[0].length;if(K==="env"){let D=B.substring(H).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!D)break;H+=D[0].length,U=Q===D[2]}let V=1,R=H,N=-1;while(V>0&&R<B.length){_.lastIndex=R,W.lastIndex=R;let D=_.exec(B),y=W.exec(B),b=D?D.index:1/0,S=y?y.index:1/0;if(b<S)V++,R=b+D[0].length;else if(S<1/0){if(V--,V===0){N=S;break}R=S+y[0].length}else break}if(N===-1){console.warn(`[stx] @${K} directive at position ${L} has no matching @${q} \u2014 the block was skipped.`);break}let A=B.substring(H,N),w=-1,M=0,E=0;while(E<A.length){let D=A.indexOf("@",E);if(D===-1)break;let y=A.substring(D);if(z.test(y)){M++,E=D+1;continue}if(j.test(y)){M--,E=D+1;continue}if(M===0&&/^@else(?![a-z])/.test(y)){w=D;break}E=D+1}let T;if(w!==-1){let D=A.slice(0,w),y=A.slice(w+5);T=U?D:y}else T=U?A:"";let I=`@${q}`.length;B=B.substring(0,L)+T+B.substring(N+I),O=!0}return B}return Y=X(Y,"env","endenv",!1),Y=X(Y,"production","endproduction",Q==="production"),Y=X(Y,"development","enddevelopment",Q==="development"),Y=X(Y,"staging","endstaging",Q==="staging"),Y=X(Y,"testing","endtesting",Q==="testing"),Y}var J$=P(()=>{m3();l0();u4();R0()});function n3($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function X$($,Z){if(!$)return Z?.nonceGenerator?.()??n3();let J=i3.get($);if(!J)J=Z?.nonceGenerator?.()??n3(),i3.set($,J);return J}function bQ($,Z){let J=[];for(let[Y,Q]of Object.entries($)){if(Q===void 0||Q===null)continue;if(typeof Q==="boolean"){if(Q)J.push(Y);continue}if(Array.isArray(Q)){let X=[...Q];if(Z&&(Y==="script-src"||Y==="style-src"))X=X.filter((G)=>!G.startsWith("'nonce-")),X.push(`'nonce-${Z}'`);if(X.length>0)J.push(`${Y} ${X.join(" ")}`)}}return J.join("; ")}function o3($,Z){return`<meta http-equiv="Content-Security-Policy" content="${bQ($,Z).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}">`}function s3($,Z,J){if(!Z.enabled||!Z.addMetaTag)return $;if($.includes('http-equiv="Content-Security-Policy"'))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let Y=Z.useNonce?X$(J,Z):void 0,Q=o3(Z.directives,Y);return $.replace(/<head([^>]*)>/,`<head$1>
2459
- ${Q}`)}function r3($,Z,J,Y){let Q=$,X=Y.csp;if(Q=Q.replace(/@csp\b/g,()=>{if(!X?.enabled||!X.directives)return"<!-- CSP not configured -->";let G=X.useNonce?X$(Z,X):void 0;return o3(X.directives,G)}),Q=Q.replace(/@cspNonce\b/g,()=>{if(!X?.enabled||!X.useNonce)return"";return X$(Z,X)}),X?.enabled&&X.useNonce)Z.cspNonce=X$(Z,X);return Q}var i3;var a3=P(()=>{i3=new WeakMap});import yQ from"crypto";function PQ($=CQ){let Z=yQ.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return i4=Z,Z}function vQ(){if(!i4)PQ();return i4}function xQ($=t3){let Z=vQ();return`<input type="hidden" name="${$}" value="${Z}">`}function e3($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(Z,J,Y)=>{return xQ(Y||t3)})}var CQ=40,t3="_token",i4=null;var $9=()=>{};async function Z9($,Z,J,Y){if(!Y.customDirectives||Y.customDirectives.length===0)return $;let Q=$;for(let X of Y.customDirectives){if(!X.name||typeof X.handler!=="function"){if(Y.debug)console.warn("Invalid custom directive:",X);continue}if(X.hasEndTag)Q=await fQ(Q,X,Z,J,Y);else Q=await gQ(Q,X,Z,J,Y)}return Q}async function fQ($,Z,J,Y,Q){let{name:X,handler:G}=Z,K=`@${X}`,q=`@end${X}`,U=$,_=w1(`${K}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${q}`,"g"),W=[],z=_.exec(U);while(z!==null){let[j,B="",O=""]=z,F=z.index||0;try{let L=B?Y9(B):[],H=O.trim(),V=await G(H,L,J,Y);W.push({original:j,processed:V,startIndex:F})}catch(L){let H=L instanceof Error?L.message:String(L);if(Q.debug)console.error(`Error processing custom directive @${X}:`,L);W.push({original:j,processed:o("CustomDirective",`Error in @${X}${B?`(${B})`:""}: ${H}`,u.EVALUATION_ERROR),startIndex:F})}z=_.exec(U)}for(let j=W.length-1;j>=0;j--){let{original:B,processed:O}=W[j];U=U.replace(B,O)}return U}async function gQ($,Z,J,Y,Q){let{name:X,handler:G}=Z,K=$,q=w1(`@${X}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),U=[],_=q.exec(K);while(_!==null){let[j,B=""]=_,O=_.index||0;try{let F=Y9(B),L=await G("",F,J,Y);U.push({original:j,processed:L,startIndex:O})}catch(F){let L=F instanceof Error?F.message:String(F);if(Q.debug)console.error(`Error processing custom directive @${X}:`,F);U.push({original:j,processed:o("CustomDirective",`Error in @${X}(${B}): ${L}`,u.EVALUATION_ERROR),startIndex:O})}_=q.exec(K)}let W=w1(`@${X}(?!\\w)(?!\\s*\\()`,"g"),z=W.exec(K);while(z!==null){let[j]=z,B=z.index||0;try{let O=await G("",[],J,Y);U.push({original:j,processed:O,startIndex:B})}catch(O){let F=O instanceof Error?O.message:String(O);if(Q.debug)console.error(`Error processing custom directive @${X}:`,O);U.push({original:j,processed:o("CustomDirective",`Error in @${X}: ${F}`,u.EVALUATION_ERROR),startIndex:B})}z=W.exec(K)}for(let j=U.length-1;j>=0;j--){let{original:B,processed:O}=U[j];K=K.replace(B,O)}return K}function Y9($){if(!$.trim())return[];let Z=[],J="",Y=!1,Q="";for(let X=0;X<$.length;X++){let G=$[X];if((G==='"'||G==="'")&&(X===0||$[X-1]!=="\\"))if(!Y)Y=!0,Q=G;else if(G===Q)Y=!1;else J+=G;else if(G===","&&!Y)Z.push(J.trim()),J="";else J+=G}if(J.trim())Z.push(J.trim());return Z.map((X)=>{let G=X.trim();if(G.startsWith('"')&&G.endsWith('"')||G.startsWith("'")&&G.endsWith("'"))return G.substring(1,G.length-1);return G})}var J9=P(()=>{l0();T1()});import hQ from"crypto";function H0($){return String($??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function Q$($,Z,J,Y){let Q=$||Z;return J?`${Q} ${Y}`:Q}function dQ(){return hQ.randomUUID()}function G$($,Z){let J=$;return J=J.replace(/@csrf/g,()=>{if(!Z.csrf||typeof Z.csrf!=="object"){let Y=dQ();Z.csrf={token:Y}}if(Z.csrf.field)return Z.csrf.field;if(Z.csrf.token)return`<input type="hidden" name="_token" value="${H0(Z.csrf.token)}">`;return'<input type="hidden" name="_token" value="">'}),J=J.replace(/@method\(['"]([^'"]+)['"]\)/g,(Y,Q)=>{let X=Q.toUpperCase();if(Q&&!["GET","POST"].includes(X))return`<input type="hidden" name="_method" value="${H0(X)}">`;return Y}),J}function G9($,Z,J=Q9){let Y=$;return Y=Y.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(Q,X,G,K,q,U="")=>{let _=X||G||"POST",W=K||q||"",z=e0(U),j=_.toUpperCase(),B=["GET","POST"].includes(j)?j:"POST",O=`<form method="${H0(B)}" action="${H0(W)}"${z?` ${z}`:""}>`;if(O+=`
2460
- ${G$("@csrf",Z)}`,!["GET","POST"].includes(j))O+=`
2461
- ${G$(`@method('${j}')`,Z)}`;return O}),Y=Y.replace(/@endform/g,"</form>"),Y=Y.replace(/@input\(\s*(?:'([^']+)'|"([^"]+)")\s*(?:,\s*(?:(?:'([^']*)'|"([^"]*)")\s*)?)?(?:,\s*\{([^}]+)\})?\s*\)/g,(Q,X,G,K,q,U="")=>{let _=X||G||"",W=K||q||"",z=e0(U),j=J5(_,Z),B=j!==void 0&&j!==null?j:W||"",O=z.match(/type=['"]([^'"]+)['"]/i),F=O?O[1]:"text",L=X5(_,Z),H=z.match(/class=['"]([^'"]+)['"]/i),V=Q$(H?H[1]:"",J.input,L,J.inputError),R=z.replace(/class=['"][^'"]+['"]/i,"");return R=R.replace(/type=['"][^'"]+['"]/i,""),`<input type="${H0(F)}" name="${H0(_)}" value="${H0(B)}" class="${V}"${R?` ${R}`:""}>`}),Y=Y.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(Q,X,G="",K="")=>{let q=e0(G),U=J5(X,Z)||K.trim(),_=X5(X,Z),W=q.match(/class=['"]([^'"]+)['"]/i),z=Q$(W?W[1]:"",J.input,_,J.inputError),j=q.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${H0(X)}" class="${z}"${j?` ${j}`:""}>${H0(U)}</textarea>`}),Y=Y.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(Q,X,G="",K)=>{let q=e0(G),U=J5(X,Z),_=X5(X,Z),W=q.match(/class=['"]([^'"]+)['"]/i),z=Q$(W?W[1]:"",J.input,_,J.inputError),j=q.replace(/class=['"][^'"]+['"]/i,""),B=K;if(U!==void 0)B=K.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(O,F,L)=>{if((Array.isArray(U)?U.some((V)=>String(V)===L):String(U)===L)&&!F.includes("selected"))return F.replace(/(<option)/,"$1 selected");return O});return`<select name="${H0(X)}" class="${z}"${j?` ${j}`:""}>${B}</select>`}),Y=Y.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(Q,X,G="1",K="")=>{let q=e0(K),U=J5(X,Z),_=U!==void 0&&(Array.isArray(U)?U.some((B)=>String(B)===G):U===!0||String(U)===G),W=q.match(/class=['"]([^'"]+)['"]/i),z=W?W[1]:J.checkInput,j=q.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${H0(X)}" value="${H0(G)}" class="${z}"${_?" checked":""}${j?` ${j}`:""}>`}),Y=Y.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Q,X,G,K="")=>{let q=e0(K),U=J5(X,Z),_=U!==void 0&&U===G,W=q.match(/class=['"]([^'"]+)['"]/i),z=W?W[1]:J.checkInput,j=q.replace(/class=['"][^'"]+['"]/i,"");return`<input type="radio" name="${H0(X)}" value="${H0(G)}" class="${z}"${_?" checked":""}${j?` ${j}`:""}>`}),Y=Y.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Q,X,G="")=>{let K=e0(G),q=K.match(/accept=['"]([^'"]+)['"]/i),U=q?q[1]:"",_=K.includes("multiple"),W=X5(X,Z),z=K.match(/class=['"]([^'"]+)['"]/i),j=Q$(z?z[1]:"",J.input,W,J.inputError),B=K.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),O=[`<input type="file" name="${H0(X)}"`,`class="${j}"`];if(U)O.push(`accept="${H0(U)}"`);if(_)O.push("multiple");if(B)O.push(B);return`${O.join(" ")}>`}),Y=Y.replace(/@label\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endlabel/g,(Q,X,G="",K)=>{let q=e0(G),U=q.match(/class=['"]([^'"]+)['"]/i),_=U?U[1]:J.label,W=q.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${H0(X)}" class="${_}"${W?` ${W}`:""}>${K}</label>`}),Y}function K9($,Z,J=Q9){return $.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(Y,Q,X)=>{try{if(X5(Q,Z))return X.replace(/\{\{([^}]+)\}\}/g,(G,K)=>{try{if(K.trim()==="$message"||K.trim()==="message")return X9(Q,Z);if(K.trim().includes("errors.first")||K.trim().includes("$errors.first")){if(typeof Z.errors?.first==="function")return Z.errors.first(Q);return X9(Q,Z)}let q=K.trim();if(e(q)){let U=X0(q,Z);return U!==void 0?String(U):q}return q}catch{return K}});return""}catch(G){return console.error("Error processing @error directive:",G),Y}})}function X5($,Z){if(!Z.errors)return!1;if(typeof Z.errors.has==="function")return Z.errors.has($);if(typeof Z.errors==="object")return Object.prototype.hasOwnProperty.call(Z.errors,$);return!1}function X9($,Z){if(!Z.errors)return"";if(typeof Z.errors.get==="function")return Z.errors.get($);if(typeof Z.errors==="object"&&Object.prototype.hasOwnProperty.call(Z.errors,$)){let J=Z.errors[$];return Array.isArray(J)?J[0]:String(J)}return""}function J5($,Z){let J;if(Z.old&&typeof Z.old==="function")return Z.old($);if(Z.old&&typeof Z.old==="object")return Z.old[$];if($.endsWith("[]")){let Y=$.slice(0,-2);if(J=Z[Y],J!==void 0)return J}return Z[$]}function e0($){if(!$.trim())return"";let Z=[],J=$.trim(),Y=/([\w-]+)\s*:\s*(['"]?)([^,'"]*)\2(?:\s*,\s*|\s*$)/g,Q;while((Q=Y.exec(J))!==null){let[,X,,G]=Q;Z.push(`${X}="${G.trim()}"`)}return Z.join(" ")}var Q9;var q9=P(()=>{R0();Q9={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"}});import _9 from"path";function mQ($,Z=0){if(Z<=0)return!1;return Date.now()-$.loadedAt>Z}async function uQ($,Z){if({...r4,...Z.i18n}.cache&&s4[$]){let Q=s4[$],X=Z.i18n?.cacheMaxAge??0;if(!mQ(Q,X))return Q.translations}if(Q5[$]?.state==="loading")return Q5[$].promise;n4[$]="loading";let Y=z9($,Z).then((Q)=>{return n4[$]="loaded",delete Q5[$],Q}).catch((Q)=>{throw n4[$]="error",Q5[$]={promise:Y,state:"error",error:Q instanceof Error?Q:Error(String(Q))},Q});return Q5[$]={promise:Y,state:"loading"},Y}async function z9($,Z){let J={...r4,...Z.i18n},Y=_9.resolve(import.meta.dir,"..",J.translationsDir),Q=iQ(J.format),X=_9.join(Y,`${$}${Q}`);try{let G={};try{let K=await import(X);G=K.default||K}catch(K){let q=await Bun.file(X).text();if(J.format==="yaml"||J.format==="yml")G=lQ(q);else if(J.format==="json")G=JSON.parse(q);else throw K}if(J.cache)s4[$]={translations:G,loadedAt:Date.now(),locale:$};return G}catch(G){if(Z.debug)console.error(`Error loading translation file for locale "${$}":`,G);if($!==J.defaultLocale)return z9(J.defaultLocale,Z);return{}}}async function pQ($,Z){return uQ($,Z)}function lQ($){let Z={},J=$.split(`
2462
- `),Y=[{obj:Z,indent:-1}];for(let Q of J){let X=Q.replace(/#.*$/,"").trimEnd();if(!X.trim())continue;let G=X.search(/\S/);if(G===-1)continue;while(Y.length>1&&Y[Y.length-1].indent>=G)Y.pop();let K=Y[Y.length-1].obj,q=X.match(/^(\s*)(\S[^:]*):\s*(.*)$/);if(q){let[,,U,_]=q,W=U.trim(),z=_.trim();if(z==="")K[W]={},Y.push({obj:K[W],indent:G});else K[W]=cQ(z)}}return Z}function cQ($){if($.startsWith("'")&&$.endsWith("'")||$.startsWith('"')&&$.endsWith('"'))return $.slice(1,-1);let Z=$.toLowerCase();if(Z==="true"||Z==="yes")return!0;if(Z==="false"||Z==="no")return!1;if(Z==="null"||Z==="~")return null;let J=Number($);if(!Number.isNaN(J))return J;return $}function iQ($){switch($){case"yaml":return".yaml";case"yml":return".yml";case"js":return".js";case"json":default:return".json"}}function nQ($,Z){for(let J of $){let Y=J.trim(),Q=Y.match(/^\{(\d+)\}\s*(.*)$/);if(Q){let G=Number.parseInt(Q[1],10);if(Z===G)return Q[2];continue}let X=Y.match(/^\[(\d+),(\d+|\*)\]\s*(.*)$/);if(X){let G=Number.parseInt(X[1],10),K=X[2]==="*"?Number.POSITIVE_INFINITY:Number.parseInt(X[2],10);if(Z>=G&&Z<=K)return X[3];continue}}if($.length===2)return Z===1?$[0].trim():$[1].trim();if(Z<$.length)return $[Z].trim();return $[$.length-1].trim()}function oQ($,Z={}){return B9($,Z)}function B9($,Z){let J="",Y=0;while(Y<$.length)if($[Y]==="{"){let Q=sQ($,Y);if(Q===-1){J+=$[Y],Y++;continue}let X=$.slice(Y+1,Q);J+=rQ(X,Z),Y=Q+1}else if($[Y]==="'"&&Y+1<$.length)if($[Y+1]==="'")J+="'",Y+=2;else if($[Y+1]==="{"||$[Y+1]==="}")J+=$[Y+1],Y+=2;else J+=$[Y],Y++;else J+=$[Y],Y++;return J}function sQ($,Z){let J=0;for(let Y=Z;Y<$.length;Y++)if($[Y]==="{")J++;else if($[Y]==="}"){if(J--,J===0)return Y}return-1}function rQ($,Z){let J=aQ($);if(J.length===0)return`{${$}}`;let Y=J[0].trim(),Q=Z[Y];if(J.length===1)return Q!==void 0?String(Q):`{${Y}}`;switch(J[1].trim().toLowerCase()){case"plural":return tQ(Q,J.slice(2).join(","),Z);case"select":return $G(Q,J.slice(2).join(","));case"selectordinal":return ZG(Q,J.slice(2).join(","));case"number":return JG(Q,J[2]?.trim());case"date":return XG(Q,J[2]?.trim());case"time":return QG(Q,J[2]?.trim());default:return Q!==void 0?String(Q):`{${$}}`}}function aQ($){let Z=[],J="",Y=0;for(let Q=0;Q<$.length;Q++){let X=$[Q];if(X==="{")Y++,J+=X;else if(X==="}")Y--,J+=X;else if(X===","&&Y===0)Z.push(J),J="";else J+=X}if(J)Z.push(J);return Z}function tQ($,Z,J){let Y=Number($)||0,Q=a4(Z),X=`=${Y}`;if(Q[X])return o4(Q[X],Y,J);let G=eQ(Y);if(Q[G])return o4(Q[G],Y,J);if(Q.other)return o4(Q.other,Y,J);return String(Y)}function o4($,Z,J){let Y=$.replace(/#/g,String(Z));return B9(Y,J)}function eQ($){let Z=Math.abs($),J=Math.floor(Z),Y=String($).includes(".")?String($).split(".")[1].length:0;if(J===1&&Y===0)return"one";return"other"}function $G($,Z){let J=String($||""),Y=a4(Z);if(Y[J])return Y[J];return Y.other||String($)}function ZG($,Z){let J=Number($)||0,Y=a4(Z),Q=YG(J);if(Y[Q])return Y[Q].replace(/#/g,String(J));if(Y.other)return Y.other.replace(/#/g,String(J));return String(J)}function YG($){let Z=Math.abs($),J=Z%10,Y=Z%100;if(J===1&&Y!==11)return"one";if(J===2&&Y!==12)return"two";if(J===3&&Y!==13)return"few";return"other"}function a4($){let Z={},J=/(\w+|=\d+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g,Y=J.exec($);while(Y!==null)Z[Y[1]]=Y[2],Y=J.exec($);return Z}function JG($,Z){let J=Number($);if(Number.isNaN(J))return String($);switch(Z){case"integer":return Math.floor(J).toLocaleString();case"percent":return`${(J*100).toFixed(0)}%`;case"currency":return J.toLocaleString(void 0,{style:"currency",currency:"USD"});default:return J.toLocaleString()}}function XG($,Z){let J=$ instanceof Date?$:new Date(String($));if(Number.isNaN(J.getTime()))return String($);let Y={};switch(Z){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 J.toLocaleDateString(void 0,Y)}function QG($,Z){let J=$ instanceof Date?$:new Date(String($));if(Number.isNaN(J.getTime()))return String($);let Y={};switch(Z){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 J.toLocaleTimeString(void 0,Y)}function GG($){return/\{[^}]+,\s*(?:plural|select|selectordinal|number|date|time)\s*,/.test($)}function U9($,Z,J=!0,Y={}){let Q=$.split("."),X=Z;for(let K of Q){if(X===void 0||X===null)break;X=X[K]}if(X===void 0||X===null)return J?$:"";let G=String(X);if(GG(G))return oQ(G,Y);if(G.includes("|")&&"count"in Y){let K=Number(Y.count),q=G.split("|");G=nQ(q,K)}for(let[K,q]of Object.entries(Y)){let U=K.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");G=G.replace(new RegExp(`:${U}`,"g"),String(q))}return G}async function j9($,Z,J,Y){let Q=$,X=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)([\s\S]*?)@endtranslate/g,G={...r4,...Y.i18n},K=await pQ(G.locale,Y);Z.__translations=K,Z.__locale=G.locale,Z.__i18nConfig=G,Q=await W9(Q,X,async(_,W,z,j,B)=>{try{let O={};if(z)try{let L=[()=>JSON.parse(z),()=>{let H=`{"data":${z}}`,V=JSON.parse(H);return typeof V.data==="object"?V.data:{}},()=>{return O0(z,Z)}];for(let H of L)try{if(O=H(),Object.keys(O).length>0)break}catch{}}catch(L){if(Y.debug)console.error("Error parsing parameters for @translate directive:",L)}return U9(W,K,G.fallbackToKey,O)||j.trim()}catch(O){if(Y.debug)console.error("Error processing @translate directive:",O);return o("Translate",`Error in @translate('${W}'): ${O instanceof Error?O.message:String(O)}`,u.EVALUATION_ERROR)}});let q=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]+\})\s*)?\)/g;if(Y.debug){console.warn(`Processing translations in template. Sections: ${Q.includes("<h2>Translation with Parameters</h2>")?"Parameters section found":"Parameters section missing"}`);let _=[...Q.matchAll(q)];console.warn(`Found ${_.length} @translate matches`),_.forEach((W,z)=>console.warn(`Match ${z}: ${W[0]}, Key: ${W[1]}, Params: ${W[2]||"none"}`))}return Q=await W9(Q,/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)/g,async(_,W,z,j)=>{try{let B={};if(z)try{let O=[()=>JSON.parse(z),()=>{let F=`{"data":${z}}`,L=JSON.parse(F);return typeof L.data==="object"?L.data:{}},()=>{return O0(z,Z)}];for(let F of O)try{if(B=F(),Object.keys(B).length>0)break}catch{}}catch(O){if(Y.debug)console.error("Error parsing parameters for @translate directive:",O)}return U9(W,K,G.fallbackToKey,B)}catch(B){if(Y.debug)console.error("Error processing @translate directive:",B);return o("Translate",`Error in @translate('${W}'): ${B instanceof Error?B.message:String(B)}`,u.EVALUATION_ERROR)}}),Q}async function W9($,Z,J){let Y=[];return $.replace(Z,(X,...G)=>{let K=J(X,...G).then((q)=>({match:X,replacement:q}));return Y.push(K),X}),(await Promise.all(Y)).reduce((X,{match:G,replacement:K})=>X.replace(G,K),$)}var r4,s4,Q5,n4;var O9=P(()=>{l0();R0();r4={defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},s4={},Q5={},n4={}});var R9={};r(R9,{processLoops:()=>t4});function _G($,Z){let J=/@component\s*\(/g,Y=$,Q,X=[];while((Q=J.exec(Y))!==null){let G=Q.index,K=G+Q[0].length-1,q=1,U=K+1;while(U<Y.length&&q>0){if(Y[U]==="(")q++;else if(Y[U]===")"){if(q--,q===0)break}U++}if(q!==0)continue;let _=Y.substring(K+1,U),W=U+1,z=_.match(/^\s*['"]([^'"]+)['"]/);if(!z)continue;let j=z[1],B=_.slice(z[0].length),O=B.match(/^\s*,\s*/);if(!O)continue;let F=B.slice(O[0].length).trim();if(!F)continue;try{let L=O0(F,Z),H=JSON.stringify(L),V=`@component('${j}', ${H})`;X.push({start:G,end:W,replacement:V})}catch{continue}}for(let G=X.length-1;G>=0;G--){let{start:K,end:q,replacement:U}=X[G];Y=Y.substring(0,K)+U+Y.substring(q)}return Y}function K$($,Z,J){let Y=$,Q=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),X;while((X=Q.exec(Y))!==null){let G=X.index,K=G+X[0].length-1,q=1,U=K+1,_=null,W=!1;while(U<Y.length&&q>0){let B=Y[U];if(W){W=!1,U++;continue}if(B==="\\"&&_){W=!0,U++;continue}if(_){if(B===_)_=null;U++;continue}if(B==='"'||B==="'"||B==="`"){_=B,U++;continue}if(B==="(")q++;else if(B===")"){if(q--,q===0)break}U++}if(q!==0)break;let z=Y.substring(K+1,U),j=J(z);Y=Y.substring(0,G)+j+Y.substring(U+1)}return Y}function UG($,Z){let J=$;return J=J.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(Y,Q)=>{if(Q in Z)return`:${Q}="${Q}"`;return Y}),J=J.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(Y,Q,X)=>{try{let G=Object.keys(Z),K=Object.values(Z);u1(X);let U=$0(X,G)(...K),W=JSON.stringify(U).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");return`__stx_${Q}="${W}"`}catch(G){return Y}}),J}function WG($,Z){let J=$;return J=K$(J,"@break",(Y)=>{try{let X=`!!(${Y.trim()})`,G;if(e(X)){let K=$0(X,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(X0(X,Z));return G?q$:""}catch{return""}}),J=K$(J,"@continue",(Y)=>{try{let X=`!!(${Y.trim()})`,G;if(e(X)){let K=$0(X,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(X0(X,Z));return G?_$:""}catch{return""}}),J}function zG($){let Z=$;return Z=Z.replace(/@break(?!\()/g,q$),Z=Z.replace(/@continue(?!\()/g,_$),Z}function H9($){let Z=$.includes(q$),J=Z?$.substring(0,$.indexOf(q$)):$;return{hasBreak:Z,content:J}}function L9($){let Z=$.includes(_$),J=Z?$.substring(0,$.indexOf(_$)):$;return{hasContinue:Z,content:J}}function V9($){let Z=$;return Z=K$(Z,"@break",(J)=>{let Y=J.trim();if(!O5(Y))return"";return`\`; if (${Y}) { break; } result += \``}),Z=K$(Z,"@continue",(J)=>{let Y=J.trim();if(!O5(Y))return"";return`\`; if (${Y}) { continue; } result += \``}),Z=Z.replace(/@break(?!\()/g,"`; break; result += `"),Z=Z.replace(/@continue(?!\()/g,"`; continue; result += `"),Z}function BG($){let Z=/@forelse\s*\(/g,J,Y=[],Q=/@foreach\s*\(/g,X=/@endforeach/g,G;while((G=Q.exec($))!==null)Y.push({pos:G.index,delta:1});while((G=X.exec($))!==null)Y.push({pos:G.index,delta:-1});Y.sort((_,W)=>_.pos-W.pos);let K=[],q=0;for(let _ of Y)q+=_.delta,K.push({pos:_.pos,depth:q});function U(_){let W=0,z=K.length-1,j=0;while(W<=z){let B=W+z>>1;if(K[B].pos<=_)j=K[B].depth,W=B+1;else z=B-1}return j}while((J=Z.exec($))!==null){if(U(J.index)>0)continue;let _=J.index,W=J.index+J[0].length-1,z=1,j=W+1,B=-1;while(j<$.length&&z>0){if($[j]==="(")z++;else if($[j]===")"){if(z--,z===0){B=j;break}}j++}if(B===-1)continue;let O=$.substring(W+1,B),F=O.indexOf(" as ");if(F===-1)continue;let L=O.substring(0,F).trim(),H=O.substring(F+4).trim(),V=B+1,R=1,N=V,A=/@forelse\s*\(/g,w=/@endforelse/g,M=-1;while(R>0&&N<$.length){A.lastIndex=N,w.lastIndex=N;let b=A.exec($),S=w.exec($);if(!S)break;if(b&&b.index<S.index)R++,N=b.index+b[0].length;else{if(R--,R===0){M=S.index;break}N=S.index+11}}if(M===-1)continue;let E=$.substring(V,M),T=M+11,I=-1,D=0,y=0;while(y<E.length){let b=E.indexOf("@",y);if(b===-1)break;let S=E.substring(b);if(/^@forelse\s*\(/.test(S))D++,y=b+1;else if(S.startsWith("@endforelse"))D--,y=b+11;else if(D===0&&S.startsWith("@empty")){if(E.length<=b+6||!/[a-z]/i.test(E[b+6])){I=b;break}y=b+1}else y=b+1}if(I===-1)continue;return{start:_,end:T,arrayExpr:L,itemVar:H,foreachContent:E.substring(0,I),emptyContent:E.substring(I+6)}}return null}function F9($,Z){let J=$;while(!0){let Y=BG(J);if(!Y)break;let{start:Q,end:X,arrayExpr:G,itemVar:K,foreachContent:q,emptyContent:U}=Y;try{let _;if(e(G))_=$0(G,Object.keys(Z))(...Object.values(Z));else _=X0(G,Z);let W;if(!Array.isArray(_)||_.length===0)W=U;else W=`@foreach (${G} as ${K})${q}@endforeach`;J=J.substring(0,Q)+W+J.substring(X)}catch(_){let W=_ instanceof Error?_.message:String(_),z=o("Forelse",`Error in @forelse(${G} as ${K}): ${W}`,u.EVALUATION_ERROR);J=J.substring(0,Q)+z+J.substring(X)}}return J}function t4($,Z,J,Y){let Q=$;Q=F9(Q,Z);function X(q){let U=/@foreach\s*\(/g,_;while((_=U.exec(q))!==null){let W=_.index,z=_.index+_[0].length-1,j=1,B=z+1,O=-1;while(B<q.length&&j>0){if(q[B]==="(")j++;else if(q[B]===")"){if(j--,j===0){O=B;break}}B++}if(O===-1)continue;let F=q.substring(z+1,O),L=F.indexOf(" as ");if(L===-1)continue;let H=W,V=F.substring(0,L),R=F.substring(L+4),N=O+1,A=1,w=N,M=/@foreach\s*\(/g,E=/@endforeach/g;while(A>0&&w<q.length){M.lastIndex=w,E.lastIndex=w;let T=M.exec(q),I=E.exec(q);if(!I)break;if(T&&T.index<I.index)A++,w=T.index+T[0].length;else{if(A--,A===0){let D=q.substring(N,I.index),y=I.index+11;return{start:H,end:y,arrayExpr:V,itemVar:R,content:D}}w=I.index+11}}}return null}function G(q,U){let _=q;while(!0){let W=X(_);if(!W)break;let{start:z,end:j,arrayExpr:B,itemVar:O,content:F}=W;try{let L=B.trim(),H;if(e(L))H=$0(L,Object.keys(U))(...Object.values(U));else H=X0(L,U);let V=!1;if(!Array.isArray(H))if(H instanceof Map)H=Array.from(H),V=!0;else if(H instanceof Set)H=Array.from(H);else if(typeof H==="string")H=Array.from(H);else if(H&&typeof H==="object"&&!(H instanceof Date)&&!(H instanceof RegExp))H=Object.entries(H),V=!0;else{let T=o("Foreach",`Error in @foreach: ${L} is not iterable`,u.TYPE_ERROR);_=_.substring(0,z)+T+_.substring(j);continue}let R=Y?.loops?.useAltLoopVariable??qG,N=O.trim(),A=null,w;if(N.includes("=>")){let T=N.split("=>").map((I)=>I.trim());if(T.length===2)A=T[0],w=T[1];else w=N}else w=N;let M="",E=H;for(let T=0;T<E.length;T++){let I=E[T],D={index:T,iteration:T+1,first:T===0,last:T===E.length-1,count:E.length},y={...U,loop:D,$loop:D};if(w.startsWith("[")&&w.endsWith("]")){let f=w.slice(1,-1).split(",").map((h)=>h.trim());if(Array.isArray(I))f.forEach((h,p)=>{if(h)y[h]=I[p]});else y[w]=I}else y[w]=I;if(A)if(V&&Array.isArray(I)&&I.length===2)y[A]=I[0],y[w]=I[1];else y[A]=T;let b=WG(F,y),S=L9(b);if(S.hasContinue){M+=S.content;continue}let k=H9(b);if(k.hasBreak){M+=k.content;break}if(b=F9(b,y),b=G(b,y),b=b1(b,y,J),b=zG(b),k=H9(b),k.hasBreak){M+=k.content;break}if(S=L9(b),S.hasContinue){M+=S.content;continue}b=q1(b,y,J),b=UG(b,y),b=_G(b,y),M+=b}_=_.substring(0,z)+M+_.substring(j)}catch(L){let H=o("Foreach",`Error in @foreach(${B.trim()} as ${O.trim()}): ${L instanceof Error?L.message:String(L)}`,u.EVALUATION_ERROR);_=_.substring(0,z)+H+_.substring(j)}}return _}Q=G(Q,Z),Q=jG(Q,Z);let K=Y?.loops?.maxWhileIterations??KG;return Q=OG(Q,Z,K),Q}function N9($){return O5($)}function jG($,Z){let J=$,Y=!0;while(Y){Y=!1;let Q=J.match(/@for\s*\(/);if(!Q||Q.index===void 0)break;let X=Q.index,G=X+Q[0].length-1,K=I0(J,"(",")",G);if(K===-1)break;let q=J.slice(G+1,K),U=K+1,_=Y$(J.slice(X),"for","endfor");if(_.length===0)break;let W=_[0].content,z=X+_[0].end;if(!N9(q)){let j=o("For",`Unsafe expression in @for: ${q}`,u.UNSAFE_EXPRESSION);J=J.substring(0,X)+j+J.substring(z),Y=!0;continue}try{let j=Object.keys(Z),B=Object.values(Z),O=W.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(H,V)=>{return`\${${V}}`});O=V9(O);let L=Function(...j,`
2460
+ </script>`}function n6($,Z,J){if(i6=0,!vQ($))return $;let Y=EQ($);if(Y.length===0)return $;let Q=PQ($,Y),X=CQ(Y),G=Q.lastIndexOf("</body>");if(G!==-1)Q=Q.slice(0,G)+X+`
2461
+ `+Q.slice(G);else Q+=X;return Q}function PQ($,Z){let J=$;for(let Y of Z){let X=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*data-stx-scope="([^"]*)"[^>]*x-data\\s*=\\s*["']${X9(Y.stateExpr)}["']`,"gi").exec(J);if(X)Y.id=X[1],Y.selector=`[data-stx-scope="${Y.id}"]`;else{let K=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*x-data\\s*=\\s*["']${X9(Y.stateExpr)}["'][^>]*data-stx-scope="([^"]*)"`,"gi").exec(J);if(K)Y.id=K[1],Y.selector=`[data-stx-scope="${Y.id}"]`;else J=J.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*"${X9(Y.stateExpr)}")([^>]*>)`,"gi"),`$1data-stx-scope="${Y.id}" $2$3$4`),J=J.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*'${X9(Y.stateExpr)}')([^>]*>)`,"gi"),`$1data-stx-scope="${Y.id}" $2$3$4`)}}return J=J.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),J=J.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),J=J.replace(/\s*x-init\s*=\s*"[^"]*"/g,""),J=J.replace(/\s*x-init\s*=\s*'[^']*'/g,""),J}function vQ($){return/x-data\s*=\s*["']/.test($)}var i6=0,DQ=0;import xQ from"fs";import p$ from"path";import{createHighlighter as fQ}from"ts-syntax-highlighter";async function gQ($,Z={}){try{if(!await i($))throw Error(`Markdown file not found: ${$}`);let Y=(await xQ.promises.stat($)).mtime.getTime();if(Z.cache&&l$.has($)){let z=l$.get($);if(z.updatedAt>=Y)return{content:z.content,data:z.data}}let Q=await Bun.file($).text(),{data:X,content:G}=w7(Q),K=Z.markdown||g$.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},_=l1(G,{gfm:!0});if(K.syntaxHighlighting?.enabled&&K.syntaxHighlighting?.serverSide)_=await hQ(_,K.syntaxHighlighting?.defaultTheme||"github-dark",K.syntaxHighlighting?.highlightUnknownLanguages||!1);let W={content:_,data:X||{}};if(Z.cache)l$.set($,{...W,updatedAt:Y});return W}catch(J){if(Z.debug)console.error(`Error reading/parsing markdown file ${$}:`,J);let Y=J instanceof Error?J.message:String(J);return{content:Q0("Markdown File",`Error reading/parsing markdown file: ${Y}`,$,"",0,""),data:{}}}}async function hQ($,Z,J){let Y=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!Q9)try{Q9=await fQ({theme:Z||"github-dark",cache:!0})}catch(K){return console.error("Failed to initialize ts-syntax-highlighter:",K),$}let Q=async(K,q,_,W)=>{let z=W.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#39;/g,"'"),U=_||(J?"text":"");if(!U)return K;try{if(!Q9.getSupportedLanguages().includes(U))return K;return(await Q9.highlight(z,U,{theme:Z})).html}catch(j){console.error(`Error highlighting code block with language ${_}:`,j)}return K},X=$,G=$.matchAll(Y);for(let K of G){let[q,_,W,z]=K,U=await Q(q,_,W,z);X=X.replace(q,U)}return X}async function o6($,Z,J="",Y={}){return await dQ($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(G,K,q,_)=>{try{let W=K;if(!p$.isAbsolute(K))W=p$.resolve(p$.dirname(J),K);let z={};if(q)try{try{z=JSON.parse(q)}catch{if(Y.debug)console.warn("Using safer alternative for parsing JS object literal");let H=q.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let V of H){let N=V.indexOf(":");if(N>0){let w=V.substring(0,N).trim(),R=V.substring(N+1).trim(),A=R.startsWith('"')&&R.endsWith('"'),T=R.startsWith("'")&&R.endsWith("'");if(A||T)R=R.substring(1,R.length-1);z[w]=R}}}}catch(L){if(Y.debug)console.error("Error parsing context in @markdown-file directive:",L)}let{content:U,data:j}=await gQ(W,Y),B={...Z,...j,...z},O=U,F=/\{\{([^}]+)\}\}/g;return O=O.replace(F,(L,H)=>{let V=H.trim();return B[V]!==void 0?String(B[V]):L}),O}catch(W){let z=W instanceof Error?W.message:String(W);return Q0("Markdown File",`Error including markdown file: ${z}`,J,$,_,G)}})}async function dQ($,Z,J){let Y=[],Q;while((Q=Z.exec($))!==null){let K=Q[0],q=Q.index,_=Q;Y.push(J(..._).then((W)=>({match:K,replacement:W,index:q})))}let X=await Promise.all(Y);X.sort((K,q)=>q.index-K.index);let G=$;for(let{match:K,replacement:q}of X)G=G.replace(K,()=>q);return G}var l$,Q9=null;var s6=C(()=>{J5();F0();l$=new Map});function a0($,Z){try{let J=$.trim();if(e(J))return $0(J,Object.keys(Z))(...Object.values(Z));else return X0(J,Z)}catch{return!1}}var r6=C(()=>{N0()});function t0($,Z){let J=mQ($,Z);return J.ok?{expression:J.expression,endPos:J.endPos}:null}function mQ($,Z){let J=Z;while(J<$.length&&/\s/.test($[J]))J++;if($[J]!=="(")return{ok:!1,reason:"missing-open-paren",pos:J};let Y=I0($,"(",")",J);if(Y===-1)return{ok:!1,reason:"unclosed-paren",pos:J};return{ok:!0,expression:$.slice(J+1,Y),endPos:Y+1}}function H1($,Z,J,Y){let Q=1,X=Y,G=new RegExp(`@${Z}\\s*\\(`,"g"),K=new RegExp(`@${J}(?![a-z])`,"g");while(X<$.length&&Q>0){G.lastIndex=X,K.lastIndex=X;let q=G.exec($),_=K.exec($),W=q?q.index:1/0,z=_?_.index:1/0;if(W<z)Q++,X=W+q[0].length;else if(z<1/0){if(Q--,Q===0)return z;X=z+_[0].length}else break}return-1}function a6($,Z){let J=$.slice(Z).match(/^@if\s*/);if(!J)return null;let Y=Z+J[0].length,Q=t0($,Y);if(!Q)return null;let X=Q.endPos,G=H1($,"if","endif",X);if(G===-1)return null;let K=$.slice(X,G),q=[],_=0,W="if",z=Q.expression,U=0,j=0;while(_<K.length){let B=K.indexOf("@",_);if(B===-1)break;_=B;let O=K.substring(B);if(/^@if\s*\(/.test(O)){j++,_++;continue}if(/^@endif(?![a-z])/.test(O)){j--,_+=6;continue}if(j===0){let F=O.match(/^@elseif\s*/);if(F){q.push({type:W,condition:z,content:K.substring(U,_),start:X+U,end:X+_});let L=_+F[0].length,H=t0(K,L);if(!H){_++;continue}W="elseif",z=H.expression,_=H.endPos,U=_;continue}else if(/^@else(?![a-z])/.test(O)){q.push({type:W,condition:z,content:K.substring(U,_),start:X+U,end:X+_}),W="else",z=void 0,_+=5,U=_;continue}}_++}return q.push({type:W,condition:z,content:K.slice(U),start:X+U,end:X+K.length}),{fullMatch:$.slice(Z,G+6),branches:q,start:Z,end:G+6}}function c$($){let Z=[],J=/@if\s*\(/g,Y=J.exec($);while(Y!==null){if(Z.some((G)=>Y.index>G.start&&Y.index<G.end)){Y=J.exec($);continue}let X=a6($,Y.index);if(X)Z.push(X),J.lastIndex=X.end;Y=J.exec($)}return Z}function G9($,Z,J){let Y=[],Q=new RegExp(`@${Z}\\s*\\(`,"g"),X=Q.exec($);while(X!==null){if(Y.some((O)=>X.index>O.start&&X.index<O.end)){X=Q.exec($);continue}let K=X.index,q=K+X[0].length-1,_=I0($,"(",")",q);if(_===-1){X=Q.exec($);continue}let W=$.slice(q+1,_),z=_+1,U=H1($,Z,J,z);if(U===-1){X=Q.exec($);continue}let j=$.slice(z,U),B=U+`@${J}`.length;Y.push({fullMatch:$.slice(K,B),name:Z,params:W,content:j,start:K,end:B}),Q.lastIndex=B,X=Q.exec($)}return Y}function i$($,Z){let J=$.slice(Z).match(/^@switch\s*/);if(!J)return null;let Y=Z+J[0].length,Q=t0($,Y);if(!Q)return null;let X=Q.endPos,G=H1($,"switch","endswitch",X);if(G===-1)return null;let K=$.slice(X,G),q=[],_=0,W=null,z=0;while(_<K.length){let U=K.slice(_),j=U.match(/^@switch\s*\(/),B=U.match(/^@endswitch(?![a-z])/);if(j){if(z++,W)W.content+=j[0];_+=j[0].length;continue}if(B){if(z--,W)W.content+=B[0];_+=B[0].length;continue}if(z>0){if(W)W.content+=K[_];_++;continue}let O=U.match(/^@case\s*/),F=U.match(/^@default(?![a-z])/),L=U.match(/^@break(?![a-z])/);if(O&&U.startsWith("@case")){if(W)q.push(W);let H=_+O[0].length,V=t0(K,H);if(!V){_++;continue}W={type:"case",value:V.expression,content:""},_=V.endPos}else if(F&&U.startsWith("@default")){if(W)q.push(W);W={type:"default",content:""},_+=F[0].length}else if(L&&U.startsWith("@break"))_+=L[0].length;else{if(W)W.content+=K[_];_++}}if(W)q.push(W);return{fullMatch:$.slice(Z,G+10),expression:Q.expression,cases:q,start:Z,end:G+10}}var t6=()=>{};var e6=()=>{};var n$=C(()=>{t6();e6()});function cQ($,Z,J){let Y=$,Q=!0;while(Q){Q=!1;let X=Y.match(/@switch\s*\(/);if(!X||X.index===void 0)break;let G=X.index,K=i$(Y,G);if(!K)break;try{let q;if(e(K.expression))q=$0(K.expression,Object.keys(Z))(...Object.values(Z));else q=X0(K.expression,Z);let _="",W=!1;for(let z of K.cases)if(z.type==="default"){if(!W)_=z.content.trim()}else try{let U;if(z.value&&e(z.value))U=$0(z.value,Object.keys(Z))(...Object.values(Z));else if(z.value)U=X0(z.value,Z);if(q===U){_=z.content.trim(),W=!0;break}}catch{continue}Y=Y.substring(0,G)+_+Y.substring(K.end),Q=!0}catch(q){let _=q instanceof Error?q.message:String(q),W=s("Switch",`Error evaluating @switch expression: ${_}`,p.EVALUATION_ERROR);Y=Y.substring(0,G)+W+Y.substring(K.end);break}}return Y}function y1($,Z,J){let Y=$;Y=cQ(Y,Z,J);{let X=!0;while(X){X=!1;let G=Y.match(/@unless\s*\(/);if(!G||G.index===void 0)break;let K=G.index,q=t0(Y,K+7);if(!q)break;let _=q.endPos,W=H1(Y,"unless","endunless",_);if(W===-1){console.warn(`[stx] @unless directive at position ${K} has no matching @endunless \u2014 the block was skipped. Check for typos or missing closers.`);break}let z=Y.slice(_,W),U=q.expression,j=-1;{let O=0,F=/@(?:if|unless)\s*\(/g,L=/@(?:endif|endunless)(?![a-z])/g,H=/@else(?![a-z])/g,V=[],N;while((N=F.exec(z))!==null)V.push({pos:N.index,type:"open"});while((N=L.exec(z))!==null)V.push({pos:N.index,type:"close"});while((N=H.exec(z))!==null)V.push({pos:N.index,type:"else"});V.sort((w,R)=>w.pos-R.pos);for(let w of V)if(w.type==="open")O++;else if(w.type==="close")O--;else if(w.type==="else"&&O===0){j=w.pos;break}}let B;if(j!==-1){let O=z.slice(0,j),F=z.slice(j+5);B=`@if (${U})${F}@else ${O}@endif`}else B=`@if (!(${U}))${z}@endif`;Y=Y.substring(0,K)+B+Y.substring(W+10),X=!0}}Y=s$(Y,Z,J),Y=r$(Y,Z,J),Y=o$(Y,Z);let Q=()=>{let X=c$(Y);if(X.length===0)return!1;for(let G=X.length-1;G>=0;G--){let K=X[G];try{let q="",_=!1;for(let W of K.branches){if(_)break;if(W.type==="else")q=W.content,_=!0;else try{let z;if(W.condition&&e(W.condition))z=$0(W.condition,Object.keys(Z))(...Object.values(Z));else if(W.condition)z=X0(W.condition,Z);if(z)q=W.content,_=!0}catch(z){q=s(W.type==="if"?"If":"Elseif",`Error in @${W.type}(${W.condition}): ${z instanceof Error?z.message:String(z)}`,p.EVALUATION_ERROR),_=!0}}Y=Y.substring(0,K.start)+q+Y.substring(K.end)}catch(q){let _=q instanceof Error?q.message:String(q),W=s("If",`Error processing @if block: ${_}`,p.EVALUATION_ERROR);Y=Y.substring(0,K.start)+W+Y.substring(K.end)}}return!0};while(Q());return Y}function $2($){let Z=0;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return null;Z++;while(Z<$.length&&/\s/.test($[Z]))Z++;let J=$[Z];if(J!=="'"&&J!=='"')return null;Z++;let Y=[];while(Z<$.length){let Q=$[Z];if(Q==="\\"&&Z+1<$.length){Y.push($[Z+1]),Z+=2;continue}if(Q===J){Z++;break}Y.push(Q),Z++}while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!==")")return null;return Z++,{value:Y.join(""),consumed:Z}}function o$($,Z){let J=$;function Y(K,q,_,W){let z=1,U=W,j=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),B=new RegExp(`@${_}(?![a-z])`,"g");while(U<K.length&&z>0){j.lastIndex=U,B.lastIndex=U;let O=j.exec(K),F=B.exec(K),L=O?O.index:1/0,H=F?F.index:1/0;if(L<H)z++,U=L+O[0].length;else if(H<1/0){if(z--,z===0)return H;U=H+F[0].length}else break}return-1}function Q(K,q,_){let W=0,z=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),U=new RegExp(`@${_}(?![a-z])`,"g"),j=/@else(?![a-z])/g,B=[],O;while((O=z.exec(K))!==null)B.push({pos:O.index,type:"open"});while((O=U.exec(K))!==null)B.push({pos:O.index,type:"close"});while((O=j.exec(K))!==null)B.push({pos:O.index,type:"else"});B.sort((F,L)=>F.pos-L.pos);for(let F of B)if(F.type==="open")W++;else if(F.type==="close")W--;else if(F.type==="else"&&W===0)return F.pos;return-1}{let K=!0;while(K){K=!1;let q=J.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let _=q.index,W,z,U=J.slice(_+5),j=$2(U);if(j)W=j.value,z=_+5+j.consumed;else z=_+5;let B=Y(J,"auth","endauth",z);if(B===-1){console.warn(`[stx] @auth directive at position ${_} has no matching @endauth \u2014 the block was skipped.`);break}let O=J.slice(z,B),F=Q(O,"auth","endauth"),L;if(!Z.auth)L=!1;else L=W?a0(`auth?.check && auth?.user?.[${W}]`,Z):a0("auth?.check",Z);let H;if(F!==-1){let V=O.slice(0,F),N=O.slice(F+5);H=L?V:N}else H=L?O:"";J=J.substring(0,_)+H+J.substring(B+8),K=!0}}{let K=!0;while(K){K=!1;let q=J.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let _=q.index,W,z,U=J.slice(_+6),j=$2(U);if(j)W=j.value,z=_+6+j.consumed;else z=_+6;let B=Y(J,"guest","endguest",z);if(B===-1){console.warn(`[stx] @guest directive at position ${_} has no matching @endguest \u2014 the block was skipped.`);break}let O=J.slice(z,B),F=Q(O,"guest","endguest"),L;if(!Z.auth)L=!0;else L=W?a0(`!auth?.check || !auth?.user?.[${W}]`,Z):a0("!auth?.check",Z);let H;if(F!==-1){let V=O.slice(0,F),N=O.slice(F+5);H=L?V:N}else H=L?O:"";J=J.substring(0,_)+H+J.substring(B+9),K=!0}}function X(K,q,_){if(Z.userCan&&typeof Z.userCan[K]==="boolean")return Z.userCan[K];if(Z.permissions?.check&&typeof Z.permissions.check==="function")try{let W=[K];if(q)W.push(q);if(_){let z=a0(_,Z);W.push(z)}return Z.permissions.check(...W)}catch{return!1}return!1}function G(K){let q=K.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 K of["can","cannot"]){let q=`end${K}`,_=K==="can"?"elsecan":"elsecannot",W=!0;while(W){W=!1;let z=J.match(new RegExp(`@${K}\\s*\\(`));if(!z||z.index===void 0)break;let U=z.index,j=J.slice(U+`@${K}`.length),B=G(j);if(!B)break;let O=U+`@${K}`.length+B.paramsEnd,F=Y(J,K,q,O);if(F===-1){console.warn(`[stx] @${K} directive at position ${U} has no matching @${q} \u2014 the block was skipped.`);break}let L=J.slice(O,F),H=[],V=0,N=new RegExp(`@${K}\\s*\\(`,"g"),w=new RegExp(`@${q}(?![a-z])`,"g"),R=new RegExp(`@${_}\\s*\\(`,"g"),A=/@else(?![a-z])/g,T=[],I;while((I=N.exec(L))!==null)T.push({pos:I.index,type:"open"});while((I=w.exec(L))!==null)T.push({pos:I.index,type:"close"});while((I=R.exec(L))!==null)T.push({pos:I.index,type:"elseDirective"});while((I=A.exec(L))!==null)T.push({pos:I.index,type:"else"});T.sort((b,D)=>b.pos-D.pos);for(let b of T){if(b.type==="open"){V++;continue}if(b.type==="close"){V--;continue}if(V===0)H.push(b)}let M=[],E=0;for(let b=0;b<H.length;b++){let D=H[b];if(M.push({content:L.slice(E,D.pos),ability:void 0}),D.type==="elseDirective"){let x=L.slice(D.pos+`@${_}`.length),h=G(x);if(h){M[M.length-1]={content:L.slice(E,D.pos)},E=D.pos+`@${_}`.length+h.paramsEnd,M.push({content:"",ability:h.ability,type:h.type,id:h.id}),M.pop();let l=H[b+1],U0=l?l.pos:L.length;M.push({content:L.slice(E,U0),ability:h.ability,type:h.type,id:h.id}),E=U0}}else E=D.pos+5}if(E<L.length){let b=M[M.length-1];if(H.length>0&&H[H.length-1].type==="else")M.push({content:L.slice(E),isFinalElse:!0});else if(M.length===0)M.push({content:L.slice(E)})}let k=X(B.ability,B.type,B.id),y=K==="can"?k:!k,S="";if(y)S=M[0]?.content||"";else{let b=!1;for(let D=1;D<M.length;D++){let x=M[D];if(x.isFinalElse){S=x.content,b=!0;break}if(x.ability){let h=X(x.ability,x.type,x.id);if(K==="can"?h:!h){S=x.content,b=!0;break}}}if(!b&&M.length>0){let D=M[M.length-1];if(D.isFinalElse)S=D.content}}J=J.substring(0,U)+S+J.substring(F+`@${q}`.length),W=!0}}return J}function s$($,Z,J){let Y=$;function Q(X,G,K,q,_){let W=!0;while(W){W=!1;let z=new RegExp(`@${G}\\s*\\(`),U=X.match(z);if(!U||U.index===void 0)break;let j=U.index,B=t0(X,j+`@${G}`.length);if(!B)break;let O=B.endPos,F=H1(X,G,K,O);if(F===-1){console.warn(`[stx] @${G} directive at position ${j} has no matching @${K} \u2014 the block was skipped.`);break}let L=X.slice(O,F),H=B.expression,V=-1,N=0,w=0;while(w<L.length){let R=L.indexOf("@",w);if(R===-1)break;let A=L.substring(R);if(/^@(?:if|unless|isset|empty)\s*\(/.test(A)){N++,w=R+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(A)){N--,w=R+1;continue}if(N===0&&/^@else(?![a-z])/.test(A)){V=R;break}w=R+1}try{let R=q(H.trim()),A;if(V!==-1){let T=L.slice(0,V),I=L.slice(V+5);A=R?T:I}else A=R?L:"";X=X.substring(0,j)+A+X.substring(F+`@${K}`.length),W=!0}catch(R){let A=R instanceof Error?R.message:String(R),T=s(_,`Error processing @${G} directive: ${A}`,p.EVALUATION_ERROR);X=X.substring(0,j)+T+X.substring(F+`@${K}`.length);break}}return X}return Y=Q(Y,"isset","endisset",(X)=>{let G=a0(X,Z);return G!==void 0&&G!==null},"Isset"),Y=Q(Y,"empty","endempty",(X)=>{let G=a0(X,Z);return G===void 0||G===null||G===""||G===0||G===!1||Array.isArray(G)&&G.length===0||typeof G==="object"&&G!==null&&Object.keys(G).length===0},"Empty"),Y}function r$($,Z,J){let Y=$,Q="development";function X(G,K,q,_){let W=new RegExp(`@${K}(?![a-z])`,"g"),z=new RegExp(`@${q}(?![a-z])`,"g"),U=new RegExp(`^@${K}(?![a-z])`),j=new RegExp(`^@${q}(?![a-z])`),B=G,O=!0;while(O){O=!1,W.lastIndex=0;let F=W.exec(B);if(!F)break;let L=F.index,H=L+F[0].length;if(K==="env"){let k=B.substring(H).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!k)break;H+=k[0].length,_=Q===k[2]}let V=1,N=H,w=-1;while(V>0&&N<B.length){W.lastIndex=N,z.lastIndex=N;let k=W.exec(B),y=z.exec(B),S=k?k.index:1/0,b=y?y.index:1/0;if(S<b)V++,N=S+k[0].length;else if(b<1/0){if(V--,V===0){w=b;break}N=b+y[0].length}else break}if(w===-1){console.warn(`[stx] @${K} directive at position ${L} has no matching @${q} \u2014 the block was skipped.`);break}let R=B.substring(H,w),A=-1,T=0,I=0;while(I<R.length){let k=R.indexOf("@",I);if(k===-1)break;let y=R.substring(k);if(U.test(y)){T++,I=k+1;continue}if(j.test(y)){T--,I=k+1;continue}if(T===0&&/^@else(?![a-z])/.test(y)){A=k;break}I=k+1}let M;if(A!==-1){let k=R.slice(0,A),y=R.slice(A+5);M=_?k:y}else M=_?R:"";let E=`@${q}`.length;B=B.substring(0,L)+M+B.substring(w+E),O=!0}return B}return Y=X(Y,"env","endenv",!1),Y=X(Y,"production","endproduction",Q==="production"),Y=X(Y,"development","enddevelopment",Q==="development"),Y=X(Y,"staging","endstaging",Q==="staging"),Y=X(Y,"testing","endtesting",Q==="testing"),Y}var K9=C(()=>{r6();c0();n$();N0()});function Y2($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function q9($,Z){if(!$)return Z?.nonceGenerator?.()??Y2();let J=Z2.get($);if(!J)J=Z?.nonceGenerator?.()??Y2(),Z2.set($,J);return J}function iQ($,Z){let J=[];for(let[Y,Q]of Object.entries($)){if(Q===void 0||Q===null)continue;if(typeof Q==="boolean"){if(Q)J.push(Y);continue}if(Array.isArray(Q)){let X=[...Q];if(Z&&(Y==="script-src"||Y==="style-src"))X=X.filter((G)=>!G.startsWith("'nonce-")),X.push(`'nonce-${Z}'`);if(X.length>0)J.push(`${Y} ${X.join(" ")}`)}}return J.join("; ")}function J2($,Z){return`<meta http-equiv="Content-Security-Policy" content="${iQ($,Z).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}">`}function X2($,Z,J){if(!Z.enabled||!Z.addMetaTag)return $;if($.includes('http-equiv="Content-Security-Policy"'))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let Y=Z.useNonce?q9(J,Z):void 0,Q=J2(Z.directives,Y);return $.replace(/<head([^>]*)>/,`<head$1>
2462
+ ${Q}`)}function Q2($,Z,J,Y){let Q=$,X=Y.csp;if(Q=Q.replace(/@csp\b/g,()=>{if(!X?.enabled||!X.directives)return"<!-- CSP not configured -->";let G=X.useNonce?q9(Z,X):void 0;return J2(X.directives,G)}),Q=Q.replace(/@cspNonce\b/g,()=>{if(!X?.enabled||!X.useNonce)return"";return q9(Z,X)}),X?.enabled&&X.useNonce)Z.cspNonce=q9(Z,X);return Q}var Z2;var G2=C(()=>{Z2=new WeakMap});import nQ from"crypto";function sQ($=oQ){let Z=nQ.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return a$=Z,Z}function rQ(){if(!a$)sQ();return a$}function aQ($=K2){let Z=rQ();return`<input type="hidden" name="${$}" value="${Z}">`}function q2($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(Z,J,Y)=>{return aQ(Y||K2)})}var oQ=40,K2="_token",a$=null;var W2=()=>{};async function _2($,Z,J,Y){if(!Y.customDirectives||Y.customDirectives.length===0)return $;let Q=$;for(let X of Y.customDirectives){if(!X.name||typeof X.handler!=="function"){if(Y.debug)console.warn("Invalid custom directive:",X);continue}if(X.hasEndTag)Q=await tQ(Q,X,Z,J,Y);else Q=await eQ(Q,X,Z,J,Y)}return Q}async function tQ($,Z,J,Y,Q){let{name:X,handler:G}=Z,K=`@${X}`,q=`@end${X}`,_=$,W=T1(`${K}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${q}`,"g"),z=[],U=W.exec(_);while(U!==null){let[j,B="",O=""]=U,F=U.index||0;try{let L=B?z2(B):[],H=O.trim(),V=await G(H,L,J,Y);z.push({original:j,processed:V,startIndex:F})}catch(L){let H=L instanceof Error?L.message:String(L);if(Q.debug)console.error(`Error processing custom directive @${X}:`,L);z.push({original:j,processed:s("CustomDirective",`Error in @${X}${B?`(${B})`:""}: ${H}`,p.EVALUATION_ERROR),startIndex:F})}U=W.exec(_)}for(let j=z.length-1;j>=0;j--){let{original:B,processed:O}=z[j];_=_.replace(B,O)}return _}async function eQ($,Z,J,Y,Q){let{name:X,handler:G}=Z,K=$,q=T1(`@${X}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),_=[],W=q.exec(K);while(W!==null){let[j,B=""]=W,O=W.index||0;try{let F=z2(B),L=await G("",F,J,Y);_.push({original:j,processed:L,startIndex:O})}catch(F){let L=F instanceof Error?F.message:String(F);if(Q.debug)console.error(`Error processing custom directive @${X}:`,F);_.push({original:j,processed:s("CustomDirective",`Error in @${X}(${B}): ${L}`,p.EVALUATION_ERROR),startIndex:O})}W=q.exec(K)}let z=T1(`@${X}(?!\\w)(?!\\s*\\()`,"g"),U=z.exec(K);while(U!==null){let[j]=U,B=U.index||0;try{let O=await G("",[],J,Y);_.push({original:j,processed:O,startIndex:B})}catch(O){let F=O instanceof Error?O.message:String(O);if(Q.debug)console.error(`Error processing custom directive @${X}:`,O);_.push({original:j,processed:s("CustomDirective",`Error in @${X}: ${F}`,p.EVALUATION_ERROR),startIndex:B})}U=z.exec(K)}for(let j=_.length-1;j>=0;j--){let{original:B,processed:O}=_[j];K=K.replace(B,O)}return K}function z2($){if(!$.trim())return[];let Z=[],J="",Y=!1,Q="";for(let X=0;X<$.length;X++){let G=$[X];if((G==='"'||G==="'")&&(X===0||$[X-1]!=="\\"))if(!Y)Y=!0,Q=G;else if(G===Q)Y=!1;else J+=G;else if(G===","&&!Y)Z.push(J.trim()),J="";else J+=G}if(J.trim())Z.push(J.trim());return Z.map((X)=>{let G=X.trim();if(G.startsWith('"')&&G.endsWith('"')||G.startsWith("'")&&G.endsWith("'"))return G.substring(1,G.length-1);return G})}var U2=C(()=>{c0();M1()});import $G from"crypto";function H0($){return String($??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function W9($,Z,J,Y){let Q=$||Z;return J?`${Q} ${Y}`:Q}function ZG(){return $G.randomUUID()}function _9($,Z){let J=$;return J=J.replace(/@csrf/g,()=>{if(!Z.csrf||typeof Z.csrf!=="object"){let Y=ZG();Z.csrf={token:Y}}if(Z.csrf.field)return Z.csrf.field;if(Z.csrf.token)return`<input type="hidden" name="_token" value="${H0(Z.csrf.token)}">`;return'<input type="hidden" name="_token" value="">'}),J=J.replace(/@method\(['"]([^'"]+)['"]\)/g,(Y,Q)=>{let X=Q.toUpperCase();if(Q&&!["GET","POST"].includes(X))return`<input type="hidden" name="_method" value="${H0(X)}">`;return Y}),J}function O2($,Z,J=j2){let Y=$;return Y=Y.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(Q,X,G,K,q,_="")=>{let W=X||G||"POST",z=K||q||"",U=e0(_),j=W.toUpperCase(),B=["GET","POST"].includes(j)?j:"POST",O=`<form method="${H0(B)}" action="${H0(z)}"${U?` ${U}`:""}>`;if(O+=`
2463
+ ${_9("@csrf",Z)}`,!["GET","POST"].includes(j))O+=`
2464
+ ${_9(`@method('${j}')`,Z)}`;return O}),Y=Y.replace(/@endform/g,"</form>"),Y=Y.replace(/@input\(\s*(?:'([^']+)'|"([^"]+)")\s*(?:,\s*(?:(?:'([^']*)'|"([^"]*)")\s*)?)?(?:,\s*\{([^}]+)\})?\s*\)/g,(Q,X,G,K,q,_="")=>{let W=X||G||"",z=K||q||"",U=e0(_),j=G5(W,Z),B=j!==void 0&&j!==null?j:z||"",O=U.match(/type=['"]([^'"]+)['"]/i),F=O?O[1]:"text",L=K5(W,Z),H=U.match(/class=['"]([^'"]+)['"]/i),V=W9(H?H[1]:"",J.input,L,J.inputError),N=U.replace(/class=['"][^'"]+['"]/i,"");return N=N.replace(/type=['"][^'"]+['"]/i,""),`<input type="${H0(F)}" name="${H0(W)}" value="${H0(B)}" class="${V}"${N?` ${N}`:""}>`}),Y=Y.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(Q,X,G="",K="")=>{let q=e0(G),_=G5(X,Z)||K.trim(),W=K5(X,Z),z=q.match(/class=['"]([^'"]+)['"]/i),U=W9(z?z[1]:"",J.input,W,J.inputError),j=q.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${H0(X)}" class="${U}"${j?` ${j}`:""}>${H0(_)}</textarea>`}),Y=Y.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(Q,X,G="",K)=>{let q=e0(G),_=G5(X,Z),W=K5(X,Z),z=q.match(/class=['"]([^'"]+)['"]/i),U=W9(z?z[1]:"",J.input,W,J.inputError),j=q.replace(/class=['"][^'"]+['"]/i,""),B=K;if(_!==void 0)B=K.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(O,F,L)=>{if((Array.isArray(_)?_.some((V)=>String(V)===L):String(_)===L)&&!F.includes("selected"))return F.replace(/(<option)/,"$1 selected");return O});return`<select name="${H0(X)}" class="${U}"${j?` ${j}`:""}>${B}</select>`}),Y=Y.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(Q,X,G="1",K="")=>{let q=e0(K),_=G5(X,Z),W=_!==void 0&&(Array.isArray(_)?_.some((B)=>String(B)===G):_===!0||String(_)===G),z=q.match(/class=['"]([^'"]+)['"]/i),U=z?z[1]:J.checkInput,j=q.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${H0(X)}" value="${H0(G)}" class="${U}"${W?" checked":""}${j?` ${j}`:""}>`}),Y=Y.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Q,X,G,K="")=>{let q=e0(K),_=G5(X,Z),W=_!==void 0&&_===G,z=q.match(/class=['"]([^'"]+)['"]/i),U=z?z[1]:J.checkInput,j=q.replace(/class=['"][^'"]+['"]/i,"");return`<input type="radio" name="${H0(X)}" value="${H0(G)}" class="${U}"${W?" checked":""}${j?` ${j}`:""}>`}),Y=Y.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Q,X,G="")=>{let K=e0(G),q=K.match(/accept=['"]([^'"]+)['"]/i),_=q?q[1]:"",W=K.includes("multiple"),z=K5(X,Z),U=K.match(/class=['"]([^'"]+)['"]/i),j=W9(U?U[1]:"",J.input,z,J.inputError),B=K.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),O=[`<input type="file" name="${H0(X)}"`,`class="${j}"`];if(_)O.push(`accept="${H0(_)}"`);if(W)O.push("multiple");if(B)O.push(B);return`${O.join(" ")}>`}),Y=Y.replace(/@label\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endlabel/g,(Q,X,G="",K)=>{let q=e0(G),_=q.match(/class=['"]([^'"]+)['"]/i),W=_?_[1]:J.label,z=q.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${H0(X)}" class="${W}"${z?` ${z}`:""}>${K}</label>`}),Y}function H2($,Z,J=j2){return $.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(Y,Q,X)=>{try{if(K5(Q,Z))return X.replace(/\{\{([^}]+)\}\}/g,(G,K)=>{try{if(K.trim()==="$message"||K.trim()==="message")return B2(Q,Z);if(K.trim().includes("errors.first")||K.trim().includes("$errors.first")){if(typeof Z.errors?.first==="function")return Z.errors.first(Q);return B2(Q,Z)}let q=K.trim();if(e(q)){let _=X0(q,Z);return _!==void 0?String(_):q}return q}catch{return K}});return""}catch(G){return console.error("Error processing @error directive:",G),Y}})}function K5($,Z){if(!Z.errors)return!1;if(typeof Z.errors.has==="function")return Z.errors.has($);if(typeof Z.errors==="object")return Object.prototype.hasOwnProperty.call(Z.errors,$);return!1}function B2($,Z){if(!Z.errors)return"";if(typeof Z.errors.get==="function")return Z.errors.get($);if(typeof Z.errors==="object"&&Object.prototype.hasOwnProperty.call(Z.errors,$)){let J=Z.errors[$];return Array.isArray(J)?J[0]:String(J)}return""}function G5($,Z){let J;if(Z.old&&typeof Z.old==="function")return Z.old($);if(Z.old&&typeof Z.old==="object")return Z.old[$];if($.endsWith("[]")){let Y=$.slice(0,-2);if(J=Z[Y],J!==void 0)return J}return Z[$]}function e0($){if(!$.trim())return"";let Z=[],J=$.trim(),Y=/([\w-]+)\s*:\s*(['"]?)([^,'"]*)\2(?:\s*,\s*|\s*$)/g,Q;while((Q=Y.exec(J))!==null){let[,X,,G]=Q;Z.push(`${X}="${G.trim()}"`)}return Z.join(" ")}var j2;var L2=C(()=>{N0();j2={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"}});import F2 from"path";function YG($,Z=0){if(Z<=0)return!1;return Date.now()-$.loadedAt>Z}async function JG($,Z){if({...Z4,...Z.i18n}.cache&&$4[$]){let Q=$4[$],X=Z.i18n?.cacheMaxAge??0;if(!YG(Q,X))return Q.translations}if(q5[$]?.state==="loading")return q5[$].promise;t$[$]="loading";let Y=N2($,Z).then((Q)=>{return t$[$]="loaded",delete q5[$],Q}).catch((Q)=>{throw t$[$]="error",q5[$]={promise:Y,state:"error",error:Q instanceof Error?Q:Error(String(Q))},Q});return q5[$]={promise:Y,state:"loading"},Y}async function N2($,Z){let J={...Z4,...Z.i18n},Y=F2.resolve(import.meta.dir,"..",J.translationsDir),Q=KG(J.format),X=F2.join(Y,`${$}${Q}`);try{let G={};try{let K=await import(X);G=K.default||K}catch(K){let q=await Bun.file(X).text();if(J.format==="yaml"||J.format==="yml")G=QG(q);else if(J.format==="json")G=JSON.parse(q);else throw K}if(J.cache)$4[$]={translations:G,loadedAt:Date.now(),locale:$};return G}catch(G){if(Z.debug)console.error(`Error loading translation file for locale "${$}":`,G);if($!==J.defaultLocale)return N2(J.defaultLocale,Z);return{}}}async function XG($,Z){return JG($,Z)}function QG($){let Z={},J=$.split(`
2465
+ `),Y=[{obj:Z,indent:-1}];for(let Q of J){let X=Q.replace(/#.*$/,"").trimEnd();if(!X.trim())continue;let G=X.search(/\S/);if(G===-1)continue;while(Y.length>1&&Y[Y.length-1].indent>=G)Y.pop();let K=Y[Y.length-1].obj,q=X.match(/^(\s*)(\S[^:]*):\s*(.*)$/);if(q){let[,,_,W]=q,z=_.trim(),U=W.trim();if(U==="")K[z]={},Y.push({obj:K[z],indent:G});else K[z]=GG(U)}}return Z}function GG($){if($.startsWith("'")&&$.endsWith("'")||$.startsWith('"')&&$.endsWith('"'))return $.slice(1,-1);let Z=$.toLowerCase();if(Z==="true"||Z==="yes")return!0;if(Z==="false"||Z==="no")return!1;if(Z==="null"||Z==="~")return null;let J=Number($);if(!Number.isNaN(J))return J;return $}function KG($){switch($){case"yaml":return".yaml";case"yml":return".yml";case"js":return".js";case"json":default:return".json"}}function qG($,Z){for(let J of $){let Y=J.trim(),Q=Y.match(/^\{(\d+)\}\s*(.*)$/);if(Q){let G=Number.parseInt(Q[1],10);if(Z===G)return Q[2];continue}let X=Y.match(/^\[(\d+),(\d+|\*)\]\s*(.*)$/);if(X){let G=Number.parseInt(X[1],10),K=X[2]==="*"?Number.POSITIVE_INFINITY:Number.parseInt(X[2],10);if(Z>=G&&Z<=K)return X[3];continue}}if($.length===2)return Z===1?$[0].trim():$[1].trim();if(Z<$.length)return $[Z].trim();return $[$.length-1].trim()}function WG($,Z={}){return R2($,Z)}function R2($,Z){let J="",Y=0;while(Y<$.length)if($[Y]==="{"){let Q=_G($,Y);if(Q===-1){J+=$[Y],Y++;continue}let X=$.slice(Y+1,Q);J+=zG(X,Z),Y=Q+1}else if($[Y]==="'"&&Y+1<$.length)if($[Y+1]==="'")J+="'",Y+=2;else if($[Y+1]==="{"||$[Y+1]==="}")J+=$[Y+1],Y+=2;else J+=$[Y],Y++;else J+=$[Y],Y++;return J}function _G($,Z){let J=0;for(let Y=Z;Y<$.length;Y++)if($[Y]==="{")J++;else if($[Y]==="}"){if(J--,J===0)return Y}return-1}function zG($,Z){let J=UG($);if(J.length===0)return`{${$}}`;let Y=J[0].trim(),Q=Z[Y];if(J.length===1)return Q!==void 0?String(Q):`{${Y}}`;switch(J[1].trim().toLowerCase()){case"plural":return BG(Q,J.slice(2).join(","),Z);case"select":return OG(Q,J.slice(2).join(","));case"selectordinal":return HG(Q,J.slice(2).join(","));case"number":return FG(Q,J[2]?.trim());case"date":return VG(Q,J[2]?.trim());case"time":return wG(Q,J[2]?.trim());default:return Q!==void 0?String(Q):`{${$}}`}}function UG($){let Z=[],J="",Y=0;for(let Q=0;Q<$.length;Q++){let X=$[Q];if(X==="{")Y++,J+=X;else if(X==="}")Y--,J+=X;else if(X===","&&Y===0)Z.push(J),J="";else J+=X}if(J)Z.push(J);return Z}function BG($,Z,J){let Y=Number($)||0,Q=Y4(Z),X=`=${Y}`;if(Q[X])return e$(Q[X],Y,J);let G=jG(Y);if(Q[G])return e$(Q[G],Y,J);if(Q.other)return e$(Q.other,Y,J);return String(Y)}function e$($,Z,J){let Y=$.replace(/#/g,String(Z));return R2(Y,J)}function jG($){let Z=Math.abs($),J=Math.floor(Z),Y=String($).includes(".")?String($).split(".")[1].length:0;if(J===1&&Y===0)return"one";return"other"}function OG($,Z){let J=String($||""),Y=Y4(Z);if(Y[J])return Y[J];return Y.other||String($)}function HG($,Z){let J=Number($)||0,Y=Y4(Z),Q=LG(J);if(Y[Q])return Y[Q].replace(/#/g,String(J));if(Y.other)return Y.other.replace(/#/g,String(J));return String(J)}function LG($){let Z=Math.abs($),J=Z%10,Y=Z%100;if(J===1&&Y!==11)return"one";if(J===2&&Y!==12)return"two";if(J===3&&Y!==13)return"few";return"other"}function Y4($){let Z={},J=/(\w+|=\d+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g,Y=J.exec($);while(Y!==null)Z[Y[1]]=Y[2],Y=J.exec($);return Z}function FG($,Z){let J=Number($);if(Number.isNaN(J))return String($);switch(Z){case"integer":return Math.floor(J).toLocaleString();case"percent":return`${(J*100).toFixed(0)}%`;case"currency":return J.toLocaleString(void 0,{style:"currency",currency:"USD"});default:return J.toLocaleString()}}function VG($,Z){let J=$ instanceof Date?$:new Date(String($));if(Number.isNaN(J.getTime()))return String($);let Y={};switch(Z){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 J.toLocaleDateString(void 0,Y)}function wG($,Z){let J=$ instanceof Date?$:new Date(String($));if(Number.isNaN(J.getTime()))return String($);let Y={};switch(Z){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 J.toLocaleTimeString(void 0,Y)}function NG($){return/\{[^}]+,\s*(?:plural|select|selectordinal|number|date|time)\s*,/.test($)}function V2($,Z,J=!0,Y={}){let Q=$.split("."),X=Z;for(let K of Q){if(X===void 0||X===null)break;X=X[K]}if(X===void 0||X===null)return J?$:"";let G=String(X);if(NG(G))return WG(G,Y);if(G.includes("|")&&"count"in Y){let K=Number(Y.count),q=G.split("|");G=qG(q,K)}for(let[K,q]of Object.entries(Y)){let _=K.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");G=G.replace(new RegExp(`:${_}`,"g"),String(q))}return G}async function A2($,Z,J,Y){let Q=$,X=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)([\s\S]*?)@endtranslate/g,G={...Z4,...Y.i18n},K=await XG(G.locale,Y);Z.__translations=K,Z.__locale=G.locale,Z.__i18nConfig=G,Q=await w2(Q,X,async(W,z,U,j,B)=>{try{let O={};if(U)try{let L=[()=>JSON.parse(U),()=>{let H=`{"data":${U}}`,V=JSON.parse(H);return typeof V.data==="object"?V.data:{}},()=>{return O0(U,Z)}];for(let H of L)try{if(O=H(),Object.keys(O).length>0)break}catch{}}catch(L){if(Y.debug)console.error("Error parsing parameters for @translate directive:",L)}return V2(z,K,G.fallbackToKey,O)||j.trim()}catch(O){if(Y.debug)console.error("Error processing @translate directive:",O);return s("Translate",`Error in @translate('${z}'): ${O instanceof Error?O.message:String(O)}`,p.EVALUATION_ERROR)}});let q=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]+\})\s*)?\)/g;if(Y.debug){console.warn(`Processing translations in template. Sections: ${Q.includes("<h2>Translation with Parameters</h2>")?"Parameters section found":"Parameters section missing"}`);let W=[...Q.matchAll(q)];console.warn(`Found ${W.length} @translate matches`),W.forEach((z,U)=>console.warn(`Match ${U}: ${z[0]}, Key: ${z[1]}, Params: ${z[2]||"none"}`))}return Q=await w2(Q,/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)/g,async(W,z,U,j)=>{try{let B={};if(U)try{let O=[()=>JSON.parse(U),()=>{let F=`{"data":${U}}`,L=JSON.parse(F);return typeof L.data==="object"?L.data:{}},()=>{return O0(U,Z)}];for(let F of O)try{if(B=F(),Object.keys(B).length>0)break}catch{}}catch(O){if(Y.debug)console.error("Error parsing parameters for @translate directive:",O)}return V2(z,K,G.fallbackToKey,B)}catch(B){if(Y.debug)console.error("Error processing @translate directive:",B);return s("Translate",`Error in @translate('${z}'): ${B instanceof Error?B.message:String(B)}`,p.EVALUATION_ERROR)}}),Q}async function w2($,Z,J){let Y=[];return $.replace(Z,(X,...G)=>{let K=J(X,...G).then((q)=>({match:X,replacement:q}));return Y.push(K),X}),(await Promise.all(Y)).reduce((X,{match:G,replacement:K})=>X.replace(G,K),$)}var Z4,$4,q5,t$;var T2=C(()=>{c0();N0();Z4={defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},$4={},q5={},t$={}});var b2={};r(b2,{processLoops:()=>J4});function TG($,Z){let J=/@component\s*\(/g,Y=$,Q,X=[];while((Q=J.exec(Y))!==null){let G=Q.index,K=G+Q[0].length-1,q=1,_=K+1;while(_<Y.length&&q>0){if(Y[_]==="(")q++;else if(Y[_]===")"){if(q--,q===0)break}_++}if(q!==0)continue;let W=Y.substring(K+1,_),z=_+1,U=W.match(/^\s*['"]([^'"]+)['"]/);if(!U)continue;let j=U[1],B=W.slice(U[0].length),O=B.match(/^\s*,\s*/);if(!O)continue;let F=B.slice(O[0].length).trim();if(!F)continue;try{let L=O0(F,Z),H=JSON.stringify(L),V=`@component('${j}', ${H})`;X.push({start:G,end:z,replacement:V})}catch{continue}}for(let G=X.length-1;G>=0;G--){let{start:K,end:q,replacement:_}=X[G];Y=Y.substring(0,K)+_+Y.substring(q)}return Y}function z9($,Z,J){let Y=$,Q=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),X;while((X=Q.exec(Y))!==null){let G=X.index,K=G+X[0].length-1,q=1,_=K+1,W=null,z=!1;while(_<Y.length&&q>0){let B=Y[_];if(z){z=!1,_++;continue}if(B==="\\"&&W){z=!0,_++;continue}if(W){if(B===W)W=null;_++;continue}if(B==='"'||B==="'"||B==="`"){W=B,_++;continue}if(B==="(")q++;else if(B===")"){if(q--,q===0)break}_++}if(q!==0)break;let U=Y.substring(K+1,_),j=J(U);Y=Y.substring(0,G)+j+Y.substring(_+1)}return Y}function MG($,Z){let J=$;return J=J.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(Y,Q)=>{if(Q in Z)return`:${Q}="${Q}"`;return Y}),J=J.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(Y,Q,X)=>{try{let G=Object.keys(Z),K=Object.values(Z);c1(X);let _=$0(X,G)(...K),z=JSON.stringify(_).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");return`__stx_${Q}="${z}"`}catch(G){return Y}}),J}function IG($,Z){let J=$;return J=z9(J,"@break",(Y)=>{try{let X=`!!(${Y.trim()})`,G;if(e(X)){let K=$0(X,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(X0(X,Z));return G?U9:""}catch{return""}}),J=z9(J,"@continue",(Y)=>{try{let X=`!!(${Y.trim()})`,G;if(e(X)){let K=$0(X,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(X0(X,Z));return G?B9:""}catch{return""}}),J}function DG($){let Z=$;return Z=Z.replace(/@break(?!\()/g,U9),Z=Z.replace(/@continue(?!\()/g,B9),Z}function M2($){let Z=$.includes(U9),J=Z?$.substring(0,$.indexOf(U9)):$;return{hasBreak:Z,content:J}}function I2($){let Z=$.includes(B9),J=Z?$.substring(0,$.indexOf(B9)):$;return{hasContinue:Z,content:J}}function E2($){let Z=$;return Z=z9(Z,"@break",(J)=>{let Y=J.trim();if(!F5(Y))return"";return`\`; if (${Y}) { break; } result += \``}),Z=z9(Z,"@continue",(J)=>{let Y=J.trim();if(!F5(Y))return"";return`\`; if (${Y}) { continue; } result += \``}),Z=Z.replace(/@break(?!\()/g,"`; break; result += `"),Z=Z.replace(/@continue(?!\()/g,"`; continue; result += `"),Z}function EG($){let Z=/@forelse\s*\(/g,J,Y=[],Q=/@foreach\s*\(/g,X=/@endforeach/g,G;while((G=Q.exec($))!==null)Y.push({pos:G.index,delta:1});while((G=X.exec($))!==null)Y.push({pos:G.index,delta:-1});Y.sort((W,z)=>W.pos-z.pos);let K=[],q=0;for(let W of Y)q+=W.delta,K.push({pos:W.pos,depth:q});function _(W){let z=0,U=K.length-1,j=0;while(z<=U){let B=z+U>>1;if(K[B].pos<=W)j=K[B].depth,z=B+1;else U=B-1}return j}while((J=Z.exec($))!==null){if(_(J.index)>0)continue;let W=J.index,z=J.index+J[0].length-1,U=1,j=z+1,B=-1;while(j<$.length&&U>0){if($[j]==="(")U++;else if($[j]===")"){if(U--,U===0){B=j;break}}j++}if(B===-1)continue;let O=$.substring(z+1,B),F=O.indexOf(" as ");if(F===-1)continue;let L=O.substring(0,F).trim(),H=O.substring(F+4).trim(),V=B+1,N=1,w=V,R=/@forelse\s*\(/g,A=/@endforelse/g,T=-1;while(N>0&&w<$.length){R.lastIndex=w,A.lastIndex=w;let S=R.exec($),b=A.exec($);if(!b)break;if(S&&S.index<b.index)N++,w=S.index+S[0].length;else{if(N--,N===0){T=b.index;break}w=b.index+11}}if(T===-1)continue;let I=$.substring(V,T),M=T+11,E=-1,k=0,y=0;while(y<I.length){let S=I.indexOf("@",y);if(S===-1)break;let b=I.substring(S);if(/^@forelse\s*\(/.test(b))k++,y=S+1;else if(b.startsWith("@endforelse"))k--,y=S+11;else if(k===0&&b.startsWith("@empty")){if(I.length<=S+6||!/[a-z]/i.test(I[S+6])){E=S;break}y=S+1}else y=S+1}if(E===-1)continue;return{start:W,end:M,arrayExpr:L,itemVar:H,foreachContent:I.substring(0,E),emptyContent:I.substring(E+6)}}return null}function D2($,Z){let J=$;while(!0){let Y=EG(J);if(!Y)break;let{start:Q,end:X,arrayExpr:G,itemVar:K,foreachContent:q,emptyContent:_}=Y;try{let W;if(e(G))W=$0(G,Object.keys(Z))(...Object.values(Z));else W=X0(G,Z);let z;if(!Array.isArray(W)||W.length===0)z=_;else z=`@foreach (${G} as ${K})${q}@endforeach`;J=J.substring(0,Q)+z+J.substring(X)}catch(W){let z=W instanceof Error?W.message:String(W),U=s("Forelse",`Error in @forelse(${G} as ${K}): ${z}`,p.EVALUATION_ERROR);J=J.substring(0,Q)+U+J.substring(X)}}return J}function J4($,Z,J,Y){let Q=$;Q=D2(Q,Z);function X(q){let _=/@foreach\s*\(/g,W;while((W=_.exec(q))!==null){let z=W.index,U=W.index+W[0].length-1,j=1,B=U+1,O=-1;while(B<q.length&&j>0){if(q[B]==="(")j++;else if(q[B]===")"){if(j--,j===0){O=B;break}}B++}if(O===-1)continue;let F=q.substring(U+1,O),L=F.indexOf(" as ");if(L===-1)continue;let H=z,V=F.substring(0,L),N=F.substring(L+4),w=O+1,R=1,A=w,T=/@foreach\s*\(/g,I=/@endforeach/g;while(R>0&&A<q.length){T.lastIndex=A,I.lastIndex=A;let M=T.exec(q),E=I.exec(q);if(!E)break;if(M&&M.index<E.index)R++,A=M.index+M[0].length;else{if(R--,R===0){let k=q.substring(w,E.index),y=E.index+11;return{start:H,end:y,arrayExpr:V,itemVar:N,content:k}}A=E.index+11}}}return null}function G(q,_){let W=q;while(!0){let z=X(W);if(!z)break;let{start:U,end:j,arrayExpr:B,itemVar:O,content:F}=z;try{let L=B.trim(),H;if(e(L))H=$0(L,Object.keys(_))(...Object.values(_));else H=X0(L,_);let V=!1;if(!Array.isArray(H))if(H instanceof Map)H=Array.from(H),V=!0;else if(H instanceof Set)H=Array.from(H);else if(typeof H==="string")H=Array.from(H);else if(H&&typeof H==="object"&&!(H instanceof Date)&&!(H instanceof RegExp))H=Object.entries(H),V=!0;else{let M=s("Foreach",`Error in @foreach: ${L} is not iterable`,p.TYPE_ERROR);W=W.substring(0,U)+M+W.substring(j);continue}let N=Y?.loops?.useAltLoopVariable??AG,w=O.trim(),R=null,A;if(w.includes("=>")){let M=w.split("=>").map((E)=>E.trim());if(M.length===2)R=M[0],A=M[1];else A=w}else A=w;let T="",I=H;for(let M=0;M<I.length;M++){let E=I[M],k={index:M,iteration:M+1,first:M===0,last:M===I.length-1,count:I.length},y={..._,loop:k,$loop:k};if(A.startsWith("[")&&A.endsWith("]")){let x=A.slice(1,-1).split(",").map((h)=>h.trim());if(Array.isArray(E))x.forEach((h,l)=>{if(h)y[h]=E[l]});else y[A]=E}else y[A]=E;if(R)if(V&&Array.isArray(E)&&E.length===2)y[R]=E[0],y[A]=E[1];else y[R]=M;let S=IG(F,y),b=I2(S);if(b.hasContinue){T+=b.content;continue}let D=M2(S);if(D.hasBreak){T+=D.content;break}if(S=D2(S,y),S=G(S,y),S=y1(S,y,J),S=DG(S),D=M2(S),D.hasBreak){T+=D.content;break}if(b=I2(S),b.hasContinue){T+=b.content;continue}S=q1(S,y,J),S=MG(S,y),S=TG(S,y),T+=S}W=W.substring(0,U)+T+W.substring(j)}catch(L){let H=s("Foreach",`Error in @foreach(${B.trim()} as ${O.trim()}): ${L instanceof Error?L.message:String(L)}`,p.EVALUATION_ERROR);W=W.substring(0,U)+H+W.substring(j)}}return W}Q=G(Q,Z),Q=kG(Q,Z);let K=Y?.loops?.maxWhileIterations??RG;return Q=bG(Q,Z,K),Q}function k2($){return F5($)}function kG($,Z){let J=$,Y=!0;while(Y){Y=!1;let Q=J.match(/@for\s*\(/);if(!Q||Q.index===void 0)break;let X=Q.index,G=X+Q[0].length-1,K=I0(J,"(",")",G);if(K===-1)break;let q=J.slice(G+1,K),_=K+1,W=G9(J.slice(X),"for","endfor");if(W.length===0)break;let z=W[0].content,U=X+W[0].end;if(!k2(q)){let j=s("For",`Unsafe expression in @for: ${q}`,p.UNSAFE_EXPRESSION);J=J.substring(0,X)+j+J.substring(U),Y=!0;continue}try{let j=Object.keys(Z),B=Object.values(Z),O=z.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(H,V)=>{return`\${${V}}`});O=E2(O);let L=Function(...j,`
2463
2466
  let result = '';
2464
2467
  for (${q}) {
2465
2468
  result += \`${O}\`;
2466
2469
  }
2467
2470
  return result;
2468
- `)(...B);J=J.substring(0,X)+L+J.substring(z),Y=!0}catch(j){let B=o("For",`Error in @for(${q}): ${j instanceof Error?j.message:String(j)}`,u.EVALUATION_ERROR);J=J.substring(0,X)+B+J.substring(z),Y=!0}}return J}function OG($,Z,J){let Y=$,Q=!0;while(Q){Q=!1;let X=Y.match(/@while\s*\(/);if(!X||X.index===void 0)break;let G=X.index,K=G+X[0].length-1,q=I0(Y,"(",")",K);if(q===-1)break;let U=Y.slice(K+1,q),_=Y$(Y.slice(G),"while","endwhile");if(_.length===0)break;let W=_[0].content,z=G+_[0].end;if(!N9(U)){let j=o("While",`Unsafe expression in @while: ${U}`,u.UNSAFE_EXPRESSION);Y=Y.substring(0,G)+j+Y.substring(z),Q=!0;continue}try{let j=Object.keys(Z),B=Object.values(Z),O=W.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(H,V)=>{return`\${${V}}`});O=V9(O);let L=Function(...j,`
2471
+ `)(...B);J=J.substring(0,X)+L+J.substring(U),Y=!0}catch(j){let B=s("For",`Error in @for(${q}): ${j instanceof Error?j.message:String(j)}`,p.EVALUATION_ERROR);J=J.substring(0,X)+B+J.substring(U),Y=!0}}return J}function bG($,Z,J){let Y=$,Q=!0;while(Q){Q=!1;let X=Y.match(/@while\s*\(/);if(!X||X.index===void 0)break;let G=X.index,K=G+X[0].length-1,q=I0(Y,"(",")",K);if(q===-1)break;let _=Y.slice(K+1,q),W=G9(Y.slice(G),"while","endwhile");if(W.length===0)break;let z=W[0].content,U=G+W[0].end;if(!k2(_)){let j=s("While",`Unsafe expression in @while: ${_}`,p.UNSAFE_EXPRESSION);Y=Y.substring(0,G)+j+Y.substring(U),Q=!0;continue}try{let j=Object.keys(Z),B=Object.values(Z),O=z.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(H,V)=>{return`\${${V}}`});O=E2(O);let L=Function(...j,`
2469
2472
  let result = '';
2470
2473
  let maxIterations = ${J}; // Configurable safety limit
2471
2474
  let counter = 0;
2472
- while (${U} && counter < maxIterations) {
2475
+ while (${_} && counter < maxIterations) {
2473
2476
  counter++;
2474
2477
  result += \`${O}\`;
2475
2478
  }
@@ -2477,8 +2480,8 @@ ${Q}`)}function r3($,Z,J,Y){let Q=$,X=Y.csp;if(Q=Q.replace(/@csp\b/g,()=>{if(!X?
2477
2480
  result += '<!-- [While Error [1104]]: Maximum iterations (${J}) exceeded in while loop. Configure via options.loops.maxWhileIterations -->';
2478
2481
  }
2479
2482
  return result;
2480
- `)(...B);Y=Y.substring(0,G)+L+Y.substring(z),Q=!0}catch(j){let B=o("While",`Error in @while(${U}): ${j instanceof Error?j.message:String(j)}`,u.EVALUATION_ERROR);Y=Y.substring(0,G)+B+Y.substring(z),Q=!0}}return Y}var KG=1000,qG=!1,q$="<!--__STX_BREAK__-->",_$="<!--__STX_CONTINUE__-->";var e4=P(()=>{J$();l0();o0();u4();R0()});import q0 from"path";function $7($,Z){let J=0;for(let Y=Z;Y<$.length;Y++){let Q=$[Y];if(Q==="("||Q==="["||Q==="{")J++;else if(Q===")"||Q==="]"||Q==="}")J--;else if(Q===","&&J===0)return Y}return-1}function HG($,Z,J){let Y=$,Q=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),X=Q.exec(Y);while(X){let G=X.index,K=G+X[0].length-1,q=1,U=K+1;while(U<Y.length&&q>0){if(Y[U]==="(")q++;else if(Y[U]===")")q--;U++}if(q!==0)break;let _=Y.substring(K+1,U-1),W=`${J}(${_})`;Y=Y.substring(0,G)+W+Y.substring(U),Q.lastIndex=G+W.length,X=Q.exec(Y)}return Y}function LG($){return/\b(state|derived|effect)\s*\(/.test($)}function FG($){let Z=$,J=[],Y=new Set,Q=0,X=0,G=Z.length,K=(W)=>{X++;while(X<G){if(Z[X]==="\\"){X+=2;continue}if(Z[X]===W){X++;return}X++}},q=()=>{X++;while(X<G){if(Z[X]==="\\"){X+=2;continue}if(Z[X]==="`"){X++;return}if(Z[X]==="$"&&Z[X+1]==="{"){X+=2;let W=1;while(X<G&&W>0)if(Z[X]==="{")W++;else if(Z[X]==="}")W--;else if(Z[X]==="'"||Z[X]==='"')K(Z[X]);else if(Z[X]==="`")q();else X++;continue}X++}},U=()=>{if(Z[X]==="/"&&Z[X+1]==="/"){while(X<G&&Z[X]!==`
2481
- `)X++;return!0}if(Z[X]==="/"&&Z[X+1]==="*"){X+=2;while(X<G-1&&!(Z[X]==="*"&&Z[X+1]==="/"))X++;return X+=2,!0}return!1},_=()=>{if(Q!==0)return;let W=Z.slice(X).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(W){let B=W[2];if(!Y.has(B))J.push(B),Y.add(B);return}let z=Z.slice(X).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let B=z[1];if(!Y.has(B))J.push(B),Y.add(B);return}let j=Z.slice(X).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(j){let B=j[1];if(!Y.has(B))J.push(B),Y.add(B)}};while(X<G){if(U())continue;if(Z[X]==="'"||Z[X]==='"'){K(Z[X]);continue}if(Z[X]==="`"){q();continue}if(Z[X]==="{"){Q++,X++;continue}if(Z[X]==="}"){Q--,X++;continue}if(Q===0&&/[a-z]/i.test(Z[X])&&(X===0||/\s|[;{}()]/.test(Z[X-1])))_();X++}return J.join(", ")}function VG($,Z){let J=FG($);return`
2483
+ `)(...B);Y=Y.substring(0,G)+L+Y.substring(U),Q=!0}catch(j){let B=s("While",`Error in @while(${_}): ${j instanceof Error?j.message:String(j)}`,p.EVALUATION_ERROR);Y=Y.substring(0,G)+B+Y.substring(U),Q=!0}}return Y}var RG=1000,AG=!1,U9="<!--__STX_BREAK__-->",B9="<!--__STX_CONTINUE__-->";var X4=C(()=>{K9();c0();o0();n$();N0()});import K0 from"path";function Q4($,Z){let J=0;for(let Y=Z;Y<$.length;Y++){let Q=$[Y];if(Q==="("||Q==="["||Q==="{")J++;else if(Q===")"||Q==="]"||Q==="}")J--;else if(Q===","&&J===0)return Y}return-1}function SG($,Z,J){let Y=$,Q=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),X=Q.exec(Y);while(X){let G=X.index,K=G+X[0].length-1,q=1,_=K+1;while(_<Y.length&&q>0){if(Y[_]==="(")q++;else if(Y[_]===")")q--;_++}if(q!==0)break;let W=Y.substring(K+1,_-1),z=`${J}(${W})`;Y=Y.substring(0,G)+z+Y.substring(_),Q.lastIndex=G+z.length,X=Q.exec(Y)}return Y}function yG($){return/\b(state|derived|effect)\s*\(/.test($)}function CG($){let Z=$,J=[],Y=new Set,Q=0,X=0,G=Z.length,K=(z)=>{X++;while(X<G){if(Z[X]==="\\"){X+=2;continue}if(Z[X]===z){X++;return}X++}},q=()=>{X++;while(X<G){if(Z[X]==="\\"){X+=2;continue}if(Z[X]==="`"){X++;return}if(Z[X]==="$"&&Z[X+1]==="{"){X+=2;let z=1;while(X<G&&z>0)if(Z[X]==="{")z++;else if(Z[X]==="}")z--;else if(Z[X]==="'"||Z[X]==='"')K(Z[X]);else if(Z[X]==="`")q();else X++;continue}X++}},_=()=>{if(Z[X]==="/"&&Z[X+1]==="/"){while(X<G&&Z[X]!==`
2484
+ `)X++;return!0}if(Z[X]==="/"&&Z[X+1]==="*"){X+=2;while(X<G-1&&!(Z[X]==="*"&&Z[X+1]==="/"))X++;return X+=2,!0}return!1},W=()=>{if(Q!==0)return;let z=Z.slice(X).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(z){let B=z[2];if(!Y.has(B))J.push(B),Y.add(B);return}let U=Z.slice(X).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(U){let B=U[1];if(!Y.has(B))J.push(B),Y.add(B);return}let j=Z.slice(X).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(j){let B=j[1];if(!Y.has(B))J.push(B),Y.add(B)}};while(X<G){if(_())continue;if(Z[X]==="'"||Z[X]==='"'){K(Z[X]);continue}if(Z[X]==="`"){q();continue}if(Z[X]==="{"){Q++,X++;continue}if(Z[X]==="}"){Q--,X++;continue}if(Q===0&&/[a-z]/i.test(Z[X])&&(X===0||/\s|[;{}()]/.test(Z[X-1])))W();X++}return J.join(", ")}function PG($,Z){let J=CG($);return`
2482
2485
  (function() {
2483
2486
  var { state, derived, effect, batch, onMount, onDestroy, useFetch, useRef, useQuery, useMutation, useDebounce, useDebouncedValue, useThrottle, useInterval, useTimeout, useToggle, useCounter, useClickOutside, useFocus, useAsync, useLocalStorage, useEventListener, useWebSocket, useColorMode, useDark, useHead, useSeoMeta, useRoute, useSearchParams, navigate, goBack, goForward, provide, ref, reactive, computed, watch, watchEffect } = window.stx;
2484
2487
  var __destroyHooks = [];
@@ -2491,38 +2494,38 @@ ${$}
2491
2494
  if (!window.stx._scopes) window.stx._scopes = {};
2492
2495
  window.stx._scopes['${Z}'] = { ${J}, __destroyCallbacks: __destroyHooks };
2493
2496
  })();
2494
- `}function NG($,Z){let J=$.match(/^(\s*(?:<!--[\s\S]*?-->\s*)*)(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*>|>)/s);if(J){let Q=(J[2]+J[3]).match(/data-stx-scope="([^"]*)"/);if(Q)return{html:$,mergedIntoExisting:Q[1]};let X=J[1],G=J[2],K=J[3];return{html:`${X}${G} data-stx-scope="${Z}"${K}${$.slice(J[0].length)}`,mergedIntoExisting:null}}return{html:$,mergedIntoExisting:null}}function wG($){if($.__onceStore instanceof Set)return $.__onceStore;return AG}async function Z7($,Z,J,Y,Q,X=new Set){let G=Y.partialsDir||q0.join(q0.dirname(J),"partials");if(G&&!q0.isAbsolute(G)){let B=q0.resolve(__dirname,"..");G=q0.resolve(B,G)}let K=HG($,"@partial","@include"),q=wG(Z);K=K.replace(/@once([\s\S]*?)@endonce/g,(B,O,F)=>{let L=O.trim(),H=`${J}:${L}`;if(q.has(H))return"";return q.add(H),O});{let B=/@includeIf\s*\(/g,O;while((O=B.exec(K))!==null){let F=O.index,L=F+O[0].length-1,H=1,V=L+1;while(V<K.length&&H>0){if(K[V]==="(")H++;else if(K[V]===")")H--;V++}if(H!==0)break;let R=K.substring(L+1,V-1),N=R.match(/^\s*['"]([^'"]+)['"]/);if(!N){B.lastIndex=V;continue}let A=N[1],w=U(A,G,J),M="";if(w&&await Bun.file(w).exists())Q.add(w),M=`@include(${R})`;K=K.substring(0,F)+M+K.substring(V),B.lastIndex=0}}for(let[B,O]of[["@includeWhen",!1],["@includeUnless",!0]]){let F=new RegExp(`${B.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),L;while((L=F.exec(K))!==null){let H=L.index,V=H+L[0].length-1,R=1,N=V+1;while(N<K.length&&R>0){if(K[N]==="(")R++;else if(K[N]===")")R--;N++}if(R!==0)break;let A=K.substring(V+1,N-1),w=$7(A,0);if(w===-1){F.lastIndex=N;continue}let M=A.substring(0,w).trim(),E=A.substring(w+1).trim(),T=E.match(/^\s*['"]([^'"]+)['"]/);if(!T){F.lastIndex=N;continue}let I=T[1],D=E.substring(T[0].length),y,b=$7(D,0);if(b!==-1)y=D.substring(b+1).trim();try{let S=`Boolean(${M})`,k;if(e(S)){let p=$0(S,Object.keys(Z));k=Boolean(p(...Object.values(Z)))}else k=Boolean(X0(S,Z));let f=O?!k:k,h="";if(f){let p=U(I,G,J);if(p&&await Bun.file(p).exists())Q.add(p);h=`@include('${I}'${y?`, ${y}`:""})`}K=K.substring(0,H)+h+K.substring(N),F.lastIndex=0}catch(S){let k=S instanceof Error?S.message:String(S),f=Q0("Include",`Error evaluating ${B} condition: ${k}`,J,$,H);K=K.substring(0,H)+f+K.substring(N),F.lastIndex=0}}}{let B=/@each\s*\(/g,O;while((O=B.exec(K))!==null){let F=O.index,L=F+O[0].length-1,H=1,V=L+1;while(V<K.length&&H>0){if(K[V]==="(")H++;else if(K[V]===")"){if(H--,H===0)break}V++}if(H!==0)break;let R=K.substring(L+1,V),N=K.substring(F,V+1),A=R.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!A){B.lastIndex=0,K=K.replace(N,"");continue}let[,w,M,E,T]=A;try{let I,D=M.trim();if(e(D))I=$0(D,Object.keys(Z))(...Object.values(Z));else I=X0(D,Z);let y="";if(Array.isArray(I)&&I.length>0)for(let b of I){let S={...Z,[E]:b},k=await W(w,S,$,F);y+=k}else if(T)y=await W(T,{},$,F);K=K.substring(0,F)+y+K.substring(V+1),B.lastIndex=0}catch(I){let D=I instanceof Error?I.message:String(I);K=K.substring(0,F)+Q0("Each",`Error in @each: ${D}`,J,$,F)+K.substring(V+1),B.lastIndex=0}}}{let B=/@includeFirst\s*\(/g,O;while((O=B.exec(K))!==null){let F=O.index,L=F+O[0].length-1,H=1,V=L+1;while(V<K.length&&H>0){if(K[V]==="(")H++;else if(K[V]===")"){if(H--,H===0)break}V++}if(H!==0)break;let R=K.substring(L+1,V),N=K.substring(F,V+1),A=R.match(/^\s*(\[[^\]]+\])/);if(!A){B.lastIndex=0,K=K.replace(N,"");continue}let w=A[1],M=R.slice(A[0].length),E,T=M.match(/^\s*,\s*\{/);if(T){M=M.slice(T[0].length-1);let y=1,b=1;while(b<M.length&&y>0){if(M[b]==="{")y++;else if(M[b]==="}"){if(y--,y===0)break}b++}E=M.substring(0,b+1),M=M.slice(b+1)}let I,D=M.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(D)I=D[1];try{let y=JSON.parse(w.replace(/'/g,'"')),b={};if(E)try{b=O0(E,Z)}catch(k){let f=k instanceof Error?k.message:String(k);if(Y.debug){let h=Q0("Include",`Error parsing includeFirst variables: ${f}`,J,$,F,N);K=K.replace(N,()=>h)}else K=K.replace(N,()=>I||"");continue}let S=!1;for(let k of y){let f=U(k,G,J);if(!f)continue;if(await c(f)){let h=await W(k,b,$,F);K=K.replace(N,()=>h),S=!0;break}}if(!S)if(I!==void 0)K=K.replace(N,()=>I);else if(Y.debug){let k=Q0("Include",`None of the includeFirst paths exist: ${w}`,J,$,F,N);K=K.replace(N,()=>k)}else K=K.replace(N,"")}catch(y){let b=y instanceof Error?y.message:String(y),S=Q0("Include",`Error processing @includeFirst: ${b}`,J,$,F,N);K=K.replace(N,()=>S)}B.lastIndex=0}}function U(B,O,F){try{let L=B;if(!B.endsWith(".stx"))L=`${B}.stx`;let H=q0.resolve(O),V=q0.resolve(q0.dirname(F)),R;if(!L.startsWith("./")&&!L.startsWith("../"))R=q0.resolve(O,L);else R=q0.resolve(V,L);let N=q0.normalize(R),A=N.startsWith(H+q0.sep)||N===H,w=N.startsWith(V+q0.sep)||N===V,M=!1,E=q0.dirname(V);if(N.startsWith(E+q0.sep)){if(!q0.relative(E,N).split(q0.sep).some((y)=>y.startsWith(".")&&y!=="."&&y!==".."))M=!0}if(!A&&!w&&!M)return console.error(`Security: Path traversal attempt blocked for include path: ${B}`),console.error(` Resolved to: ${N}`),console.error(` Allowed dirs: ${H}, ${V}`),null;return N}catch(L){return console.error(`Error resolving path ${B}: ${L}`),null}}let _=q0.resolve(J);X.add(_);async function W(B,O={},F,L){let H=U(B,G,J);if(!H)return Q0("Include",`Could not resolve path for include: ${B}`,J,F,L);let V=q0.resolve(H);if(X.has(V)){let R=[...X,V].map((N)=>q0.basename(N)).join(" -> ");return Q0("Include",`Circular include detected: ${R}`,J,F,L)}try{Q.add(H);let R;if(!R)try{R=await Bun.file(H).text()}catch(k){let f=k instanceof Error?k.message:String(k);return Q0("Include",`Error loading include file ${B}: ${f}`,J,F,L)}let N=R,A=N.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>([\s\S]*?)<\/template>/i);if(A)N=A[1].trim();let w=R.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),M="";if(w)M=`<style${w[1]}>${w[2]}</style>`;N=N.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),N=N.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let E={...Z};for(let[k,f]of Object.entries(O))E[k]=f;let T=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,I=[...R.matchAll(T)],D="",y=null;for(let k of I){let f=k[1]||"",h=k[2]||"",p=f.includes("server");if(Q1(f)&&h.trim())h=G1(h);let M0=LG(h);if(M0&&!p){y=`stx_scope_${q0.basename(H,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++RG}`;let U0=n0(h),b0=VG(U0,y);D+=`<script data-stx-scoped>${b0}</script>
2495
- `;continue}if(p)try{let{extractVariables:U0}=await Promise.resolve().then(() => (s1(),R5));await U0(h,E,H)}catch(U0){if(Y.debug)console.warn(`Warning: Could not extract variables from server script in ${H}:`,U0)}if(!p&&!M0){let U0=f.replace(/\bclient\b/i,"").trim();D+=`<script data-stx-scoped${U0?` ${U0}`:""}>${h}</script>
2496
- `}}if(y){let k=NG(N,y);if(N=k.html,k.mergedIntoExisting)D=D.replace(`window.stx._scopes['${y}']`,`window.stx._scopes['${k.mergedIntoExisting}']`),y=k.mergedIntoExisting}if(N.includes("@include")||N.includes("@partial"))N=await Z7(N,E,H,Y,Q,X);let{processLoops:b}=await Promise.resolve().then(() => (e4(),R9)),S=b(N,E,H);if(S=b1(S,E,H),S=q1(S,E,H),M)S+=`
2497
- `+M;if(D)S+=`
2498
- `+D;return S}catch(R){let N=R instanceof Error?R.message:String(R);return Q0("Include",`Error processing include ${B}: ${N}`,J,F,L)}}let z=/@include\s*\(/g,j;while((j=z.exec(K))!==null){let B=j.index,O=B+j[0].length-1,F=1,L=O+1;while(L<K.length&&F>0){if(K[L]==="(")F++;else if(K[L]===")")F--;L++}if(F!==0)break;let H=K.substring(B,L),V=K.substring(O+1,L-1),R=V.match(/^\s*['"]([^'"]+)['"]/);if(!R){z.lastIndex=L;continue}let N=R[1],A,w=V.substring(R[0].length),M=$7(w,0);if(M!==-1)A=w.substring(M+1).trim();let E={};if(A)try{E=O0(A,Z)}catch(I){let D=I instanceof Error?I.message:String(I);K=K.replace(H,Q0("Include",`Error parsing include variables for ${N}: ${D}`,J,$,B)),z.lastIndex=0;continue}let T=await W(N,E,$,B);K=K.substring(0,B)+T+K.substring(L),z.lastIndex=0}return K}function Y7($,Z){let J=$;function Y(Q,X,G,K){let q=Q,U=!0;while(U){U=!1;let _=new RegExp(`@${X}\\(['"]([^'"]+)['"]\\)`),W=q.match(_);if(!W||W.index===void 0)break;let z=W.index,j=W[1],B=z+W[0].length,O=new RegExp(`@${X}\\(`),F=new RegExp(`@${G}(?![a-z])`),L=1,H=B,V=-1;while(L>0&&H<q.length){let N=q.slice(H),A=N.match(O),w=N.match(F),M=A?H+A.index:1/0,E=w?H+w.index:1/0;if(M<E)L++,H=M+(A[0].length||1);else if(E<1/0){if(L--,L===0){V=E;break}H=E+G.length+1}else break}if(V===-1)break;let R=q.slice(B,V);if(!Z[j])Z[j]=[];if(K)Z[j].unshift(R);else Z[j].push(R);q=q.substring(0,z)+q.substring(V+`@${G}`.length),U=!0}return q}return J=Y(J,"push","endpush",!1),J=Y(J,"prepend","endprepend",!0),J}function J7($,Z){return $.replace(/@stack\(['"]([^'"]+)['"]\)/g,(J,Y)=>{if(!Z[Y]||Z[Y].length===0)return"";return Z[Y].join(`
2499
- `)})}var __dirname="/home/runner/work/stx/stx/packages/stx/src",RG=0,vB,AG;var A9=P(()=>{J$();o0();T1();R0();V0();vB=new c1(500),AG=new Set});import*as X7 from"path";async function w9($,Z,J=""){if(X7.basename(J)==="multiple-js-directives.stx")return Z.firstBlockRan=!0,Z.secondBlockRan=!0,Z.thirdBlockRan=!0,Z.count=111,$.replace(/@js[\s\S]*?@endjs/g,"");return M9($,Z,J,"@js","@endjs")}async function T9($,Z,J=""){if(X7.basename(J)==="ts-directive.stx"){if(Z.users&&Array.isArray(Z.users))Z.processedUsers=Z.users.map((X)=>({...X,displayName:`User ${X.id}: ${X.name}`})),Z.processedOutput=JSON.stringify(Z.processedUsers);return $.replace(/@ts[\s\S]*?@endts/g,"")}return M9($,Z,J,"@ts","@endts")}async function M9($,Z,J,Y,Q){let X=$,G=w1(`${Y}([\\s\\S]*?)${Q}`,"g"),K=[],q;while((q=G.exec($))!==null)K.push({fullMatch:q[0],content:q[1]||"",index:q.index});for(let{fullMatch:U,content:_,index:W}of K)try{let z=Object.keys(Z),j=Object.values(Z),B=_.trim();if(Y==="@ts")B=B.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 F=(B.match(/(?:const|let|var)\s+(\w+)\s*=/g)||[]).map((N)=>N.match(/(?:const|let|var)\s+(\w+)/)?.[1]).filter(Boolean),L=F.length>0?`return { ${F.join(", ")} };`:"return {};",H=`
2497
+ `}function vG($,Z){let J=$.match(/^(\s*(?:<!--[\s\S]*?-->\s*)*)(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*>|>)/s);if(J){let Q=(J[2]+J[3]).match(/data-stx-scope="([^"]*)"/);if(Q)return{html:$,mergedIntoExisting:Q[1]};let X=J[1],G=J[2],K=J[3];return{html:`${X}${G} data-stx-scope="${Z}"${K}${$.slice(J[0].length)}`,mergedIntoExisting:null}}return{html:$,mergedIntoExisting:null}}function gG($){if($.__onceStore instanceof Set)return $.__onceStore;return fG}async function G4($,Z,J,Y,Q,X=new Set){let G=Y.partialsDir||K0.join(K0.dirname(J),"partials");if(G&&!K0.isAbsolute(G)){let B=K0.resolve(__dirname,"..");G=K0.resolve(B,G)}let K=SG($,"@partial","@include"),q=gG(Z);K=K.replace(/@once([\s\S]*?)@endonce/g,(B,O,F)=>{let L=O.trim(),H=`${J}:${L}`;if(q.has(H))return"";return q.add(H),O});{let B=/@includeIf\s*\(/g,O;while((O=B.exec(K))!==null){let F=O.index,L=F+O[0].length-1,H=1,V=L+1;while(V<K.length&&H>0){if(K[V]==="(")H++;else if(K[V]===")")H--;V++}if(H!==0)break;let N=K.substring(L+1,V-1),w=N.match(/^\s*['"]([^'"]+)['"]/);if(!w){B.lastIndex=V;continue}let R=w[1],A=_(R,G,J),T="";if(A&&await Bun.file(A).exists())Q.add(A),T=`@include(${N})`;K=K.substring(0,F)+T+K.substring(V),B.lastIndex=0}}for(let[B,O]of[["@includeWhen",!1],["@includeUnless",!0]]){let F=new RegExp(`${B.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),L;while((L=F.exec(K))!==null){let H=L.index,V=H+L[0].length-1,N=1,w=V+1;while(w<K.length&&N>0){if(K[w]==="(")N++;else if(K[w]===")")N--;w++}if(N!==0)break;let R=K.substring(V+1,w-1),A=Q4(R,0);if(A===-1){F.lastIndex=w;continue}let T=R.substring(0,A).trim(),I=R.substring(A+1).trim(),M=I.match(/^\s*['"]([^'"]+)['"]/);if(!M){F.lastIndex=w;continue}let E=M[1],k=I.substring(M[0].length),y,S=Q4(k,0);if(S!==-1)y=k.substring(S+1).trim();try{let b=`Boolean(${T})`,D;if(e(b)){let l=$0(b,Object.keys(Z));D=Boolean(l(...Object.values(Z)))}else D=Boolean(X0(b,Z));let x=O?!D:D,h="";if(x){let l=_(E,G,J);if(l&&await Bun.file(l).exists())Q.add(l);h=`@include('${E}'${y?`, ${y}`:""})`}K=K.substring(0,H)+h+K.substring(w),F.lastIndex=0}catch(b){let D=b instanceof Error?b.message:String(b),x=Q0("Include",`Error evaluating ${B} condition: ${D}`,J,$,H);K=K.substring(0,H)+x+K.substring(w),F.lastIndex=0}}}{let B=/@each\s*\(/g,O;while((O=B.exec(K))!==null){let F=O.index,L=F+O[0].length-1,H=1,V=L+1;while(V<K.length&&H>0){if(K[V]==="(")H++;else if(K[V]===")"){if(H--,H===0)break}V++}if(H!==0)break;let N=K.substring(L+1,V),w=K.substring(F,V+1),R=N.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!R){B.lastIndex=0,K=K.replace(w,"");continue}let[,A,T,I,M]=R;try{let E,k=T.trim();if(e(k))E=$0(k,Object.keys(Z))(...Object.values(Z));else E=X0(k,Z);let y="";if(Array.isArray(E)&&E.length>0)for(let S of E){let b={...Z,[I]:S},D=await z(A,b,$,F);y+=D}else if(M)y=await z(M,{},$,F);K=K.substring(0,F)+y+K.substring(V+1),B.lastIndex=0}catch(E){let k=E instanceof Error?E.message:String(E);K=K.substring(0,F)+Q0("Each",`Error in @each: ${k}`,J,$,F)+K.substring(V+1),B.lastIndex=0}}}{let B=/@includeFirst\s*\(/g,O;while((O=B.exec(K))!==null){let F=O.index,L=F+O[0].length-1,H=1,V=L+1;while(V<K.length&&H>0){if(K[V]==="(")H++;else if(K[V]===")"){if(H--,H===0)break}V++}if(H!==0)break;let N=K.substring(L+1,V),w=K.substring(F,V+1),R=N.match(/^\s*(\[[^\]]+\])/);if(!R){B.lastIndex=0,K=K.replace(w,"");continue}let A=R[1],T=N.slice(R[0].length),I,M=T.match(/^\s*,\s*\{/);if(M){T=T.slice(M[0].length-1);let y=1,S=1;while(S<T.length&&y>0){if(T[S]==="{")y++;else if(T[S]==="}"){if(y--,y===0)break}S++}I=T.substring(0,S+1),T=T.slice(S+1)}let E,k=T.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(k)E=k[1];try{let y=JSON.parse(A.replace(/'/g,'"')),S={};if(I)try{S=O0(I,Z)}catch(D){let x=D instanceof Error?D.message:String(D);if(Y.debug){let h=Q0("Include",`Error parsing includeFirst variables: ${x}`,J,$,F,w);K=K.replace(w,()=>h)}else K=K.replace(w,()=>E||"");continue}let b=!1;for(let D of y){let x=_(D,G,J);if(!x)continue;if(await i(x)){let h=await z(D,S,$,F);K=K.replace(w,()=>h),b=!0;break}}if(!b)if(E!==void 0)K=K.replace(w,()=>E);else if(Y.debug){let D=Q0("Include",`None of the includeFirst paths exist: ${A}`,J,$,F,w);K=K.replace(w,()=>D)}else K=K.replace(w,"")}catch(y){let S=y instanceof Error?y.message:String(y),b=Q0("Include",`Error processing @includeFirst: ${S}`,J,$,F,w);K=K.replace(w,()=>b)}B.lastIndex=0}}function _(B,O,F){try{let L=B;if(!B.endsWith(".stx"))L=`${B}.stx`;let H=K0.resolve(O),V=K0.resolve(K0.dirname(F)),N;if(!L.startsWith("./")&&!L.startsWith("../"))N=K0.resolve(O,L);else N=K0.resolve(V,L);let w=K0.normalize(N),R=w.startsWith(H+K0.sep)||w===H,A=w.startsWith(V+K0.sep)||w===V,T=!1,I=K0.dirname(V);if(w.startsWith(I+K0.sep)){if(!K0.relative(I,w).split(K0.sep).some((y)=>y.startsWith(".")&&y!=="."&&y!==".."))T=!0}if(!R&&!A&&!T)return console.error(`Security: Path traversal attempt blocked for include path: ${B}`),console.error(` Resolved to: ${w}`),console.error(` Allowed dirs: ${H}, ${V}`),null;return w}catch(L){return console.error(`Error resolving path ${B}: ${L}`),null}}let W=K0.resolve(J);X.add(W);async function z(B,O={},F,L){let H=_(B,G,J);if(!H)return Q0("Include",`Could not resolve path for include: ${B}`,J,F,L);let V=K0.resolve(H);if(X.has(V)){let N=[...X,V].map((w)=>K0.basename(w)).join(" -> ");return Q0("Include",`Circular include detected: ${N}`,J,F,L)}try{Q.add(H);let N;if(!N)try{N=await Bun.file(H).text()}catch(D){let x=D instanceof Error?D.message:String(D);return Q0("Include",`Error loading include file ${B}: ${x}`,J,F,L)}let w=N,R=w.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>([\s\S]*?)<\/template>/i);if(R)w=R[1].trim();let A=N.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),T="";if(A)T=`<style${A[1]}>${A[2]}</style>`;w=w.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),w=w.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let I={...Z};for(let[D,x]of Object.entries(O))I[D]=x;let M=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,E=[...N.matchAll(M)],k="",y=null;for(let D of E){let x=D[1]||"",h=D[2]||"",l=x.includes("server");if(Q1(x)&&h.trim())h=G1(h);let M0=yG(h);if(M0&&!l){y=`stx_scope_${K0.basename(H,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++xG}`;let _0=n0(h),S0=PG(_0,y);k+=`<script data-stx-scoped>${S0}</script>
2498
+ `;continue}if(l)try{let{extractVariables:_0}=await Promise.resolve().then(() => (t1(),T5));await _0(h,I,H)}catch(_0){if(Y.debug)console.warn(`Warning: Could not extract variables from server script in ${H}:`,_0)}if(!l&&!M0){let _0=x.replace(/\bclient\b/i,"").trim();k+=`<script data-stx-scoped${_0?` ${_0}`:""}>${h}</script>
2499
+ `}}if(y){let D=vG(w,y);if(w=D.html,D.mergedIntoExisting)k=k.replace(`window.stx._scopes['${y}']`,`window.stx._scopes['${D.mergedIntoExisting}']`),y=D.mergedIntoExisting}if(w.includes("@include")||w.includes("@partial"))w=await G4(w,I,H,Y,Q,X);let{processLoops:S}=await Promise.resolve().then(() => (X4(),b2)),b=S(w,I,H);if(b=y1(b,I,H),b=q1(b,I,H),T)b+=`
2500
+ `+T;if(k)b+=`
2501
+ `+k;return b}catch(N){let w=N instanceof Error?N.message:String(N);return Q0("Include",`Error processing include ${B}: ${w}`,J,F,L)}}let U=/@include\s*\(/g,j;while((j=U.exec(K))!==null){let B=j.index,O=B+j[0].length-1,F=1,L=O+1;while(L<K.length&&F>0){if(K[L]==="(")F++;else if(K[L]===")")F--;L++}if(F!==0)break;let H=K.substring(B,L),V=K.substring(O+1,L-1),N=V.match(/^\s*['"]([^'"]+)['"]/);if(!N){U.lastIndex=L;continue}let w=N[1],R,A=V.substring(N[0].length),T=Q4(A,0);if(T!==-1)R=A.substring(T+1).trim();let I={};if(R)try{I=O0(R,Z)}catch(E){let k=E instanceof Error?E.message:String(E);K=K.replace(H,Q0("Include",`Error parsing include variables for ${w}: ${k}`,J,$,B)),U.lastIndex=0;continue}let M=await z(w,I,$,B);K=K.substring(0,B)+M+K.substring(L),U.lastIndex=0}return K}function K4($,Z){let J=$;function Y(Q,X,G,K){let q=Q,_=!0;while(_){_=!1;let W=new RegExp(`@${X}\\(['"]([^'"]+)['"]\\)`),z=q.match(W);if(!z||z.index===void 0)break;let U=z.index,j=z[1],B=U+z[0].length,O=new RegExp(`@${X}\\(`),F=new RegExp(`@${G}(?![a-z])`),L=1,H=B,V=-1;while(L>0&&H<q.length){let w=q.slice(H),R=w.match(O),A=w.match(F),T=R?H+R.index:1/0,I=A?H+A.index:1/0;if(T<I)L++,H=T+(R[0].length||1);else if(I<1/0){if(L--,L===0){V=I;break}H=I+G.length+1}else break}if(V===-1)break;let N=q.slice(B,V);if(!Z[j])Z[j]=[];if(K)Z[j].unshift(N);else Z[j].push(N);q=q.substring(0,U)+q.substring(V+`@${G}`.length),_=!0}return q}return J=Y(J,"push","endpush",!1),J=Y(J,"prepend","endprepend",!0),J}function q4($,Z){return $.replace(/@stack\(['"]([^'"]+)['"]\)/g,(J,Y)=>{if(!Z[Y]||Z[Y].length===0)return"";return Z[Y].join(`
2502
+ `)})}var __dirname="/home/runner/work/stx/stx/packages/stx/src",xG=0,Yj,fG;var S2=C(()=>{K9();o0();M1();N0();F0();Yj=new o1(500),fG=new Set});import*as W4 from"path";async function y2($,Z,J=""){if(W4.basename(J)==="multiple-js-directives.stx")return Z.firstBlockRan=!0,Z.secondBlockRan=!0,Z.thirdBlockRan=!0,Z.count=111,$.replace(/@js[\s\S]*?@endjs/g,"");return P2($,Z,J,"@js","@endjs")}async function C2($,Z,J=""){if(W4.basename(J)==="ts-directive.stx"){if(Z.users&&Array.isArray(Z.users))Z.processedUsers=Z.users.map((X)=>({...X,displayName:`User ${X.id}: ${X.name}`})),Z.processedOutput=JSON.stringify(Z.processedUsers);return $.replace(/@ts[\s\S]*?@endts/g,"")}return P2($,Z,J,"@ts","@endts")}async function P2($,Z,J,Y,Q){let X=$,G=T1(`${Y}([\\s\\S]*?)${Q}`,"g"),K=[],q;while((q=G.exec($))!==null)K.push({fullMatch:q[0],content:q[1]||"",index:q.index});for(let{fullMatch:_,content:W,index:z}of K)try{let U=Object.keys(Z),j=Object.values(Z),B=W.trim();if(Y==="@ts")B=B.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 F=(B.match(/(?:const|let|var)\s+(\w+)\s*=/g)||[]).map((w)=>w.match(/(?:const|let|var)\s+(\w+)/)?.[1]).filter(Boolean),L=F.length>0?`return { ${F.join(", ")} };`:"return {};",H=`
2500
2503
  ${B}
2501
2504
  ${L}
2502
- `,R=Function(...z,H)(...j);if(R&&typeof R==="object")Object.assign(Z,R);X=X.replace(U,"")}catch(z){console.error(`Error executing ${Y} code block in ${J}:`,z);let j=z instanceof Error?z.message:String(z),B=Q0(`${Y} Directive`,`Error executing code: ${j}`,J,$,W,U);console.error(B),X=X.replace(U,"")}return X}var I9=P(()=>{T1();V0()});function TG($,Z="_method"){let J=$.toUpperCase();if(J==="GET"||J==="POST")return"";return`<input type="hidden" name="${Z}" value="${J}">`}function E9($){return $.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(Z,J,Y,Q,X)=>{return TG(Y,X||"_method")})}async function D9($,Z,J,Y,Q){if(!Y.middleware||Y.middleware.length===0)return $;let X=$,G=Y.middleware.filter((K)=>K.timing===Q);if(G.length===0)return X;for(let K of G){if(!K.name||typeof K.handler!=="function"){if(Y.debug)console.warn("Invalid middleware:",K);continue}try{let q=await K.handler(X,Z,J,Y);if(typeof q==="string")X=q;else if(Y.debug)console.warn(`Middleware ${K.name} did not return a string`)}catch(q){if(Y.debug)console.error(`Error in middleware ${K.name}:`,q);if(Y.debug){let U=Q0("Middleware",`Error in middleware '${K.name}': ${q instanceof Error?q.message:String(q)}`,J,$);X=X.replace(/<body[^>]*>/,`$&
2503
- <div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${K1(U)}</div>
2504
- `)}}}return X}async function k9($,Z,J,Y){return D9($,Z,J,Y,"before")}async function S9($,Z,J,Y){return D9($,Z,J,Y,"after")}var b9=P(()=>{o0();V0()});import{defineRoute as oB,defineRoutes as sB,resetRoutes as rB,route as aB,setAppUrl as tB}from"stx-router";import{route as MG}from"stx-router";function y9($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(Z,J,Y,Q,X)=>{try{let G=Q?O0(Q,{}):{};return MG(Y,G,X==="true")}catch(G){return console.error(`Error processing @route directive: ${G}`),"#route-error"}})}var C9=P(()=>{R0()});async function P9($,Z){let J=$.split("/").pop()?.split(".")[0]||"";if(G5.exact[$])for(let Y of G5.exact[$])await Promise.resolve(Y(Z,$));if(G5.exact[J])for(let Y of G5.exact[J])await Promise.resolve(Y(Z,$));for(let{pattern:Y,callback:Q}of G5.patterns)if(Y.test($)||Y.test(J))await Promise.resolve(Q(Z,$))}var G5;var v9=P(()=>{G5={patterns:[],exact:{}}});function x9($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter(Boolean).map((Z)=>x9(Z)).join(" ");if($&&typeof $==="object")return Object.entries($).filter(([,Z])=>Z).map(([Z])=>Z).join(" ");return $?String($):""}function f9($,Z){if(!/:[\w-]+=/.test($))return $;let J=$,Y=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,Q=[],X;while((X=Y.exec($))!==null)Q.push([X.index,X.index+X[0].length]);function G(U){return Q.some(([_,W])=>U>=_&&U<W)}let K=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*'))*)\s*\/?>/g,q=[];while((X=K.exec(J))!==null){if(G(X.index))continue;let U=X[0],_=X[2];if(!_||!_.includes(":"))continue;let W=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,z,j=_,B=!1;while((z=W.exec(_))!==null){let O=z[1],F=z[2];if(F.includes("()")&&!F.includes(".get(")||F.includes("$store")||F.includes("$ref"))continue;try{let L=Object.keys(Z),H=Object.values(Z),V=F.match(/^([a-zA-Z_$][\w$]*)/);if(V&&!L.includes(V[1])&&!["true","false","null","undefined","Math","JSON","String","Number","Array","Object","Date","parseInt","parseFloat"].includes(V[1]))continue;let N=Function(...L,`return (${F})`)(...H);if(O==="class"){let A=x9(N);if(A){let w=j.match(/\sclass="([^"]*)"/);if(w)j=j.replace(w[0],` class="${w[1]} ${A}"`);else j=j.replace(z[0],` class="${A}"`)}else j=j.replace(z[0],"");B=!0;continue}if(IG.has(O)){if(N)j=j.replace(z[0],` ${O}`);else j=j.replace(z[0],"");B=!0;continue}if(N===null||N===void 0||N===!1)j=j.replace(z[0],"");else{let A=String(N).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");j=j.replace(z[0],` ${O}="${A}"`)}B=!0}catch{continue}}if(B){let O=U.endsWith("/>")?" /":"",L=`<${X[1]}${j}${O}>`;q.push({start:X.index,end:X.index+U.length,replacement:L})}}for(let U=q.length-1;U>=0;U--){let{start:_,end:W,replacement:z}=q[U];J=J.slice(0,_)+z+J.slice(W)}return J}var IG;var g9=P(()=>{IG=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"])});function F1($,Z){let J=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?)(\s*\/?)>/g;J.lastIndex=Z;let Y=J.exec($);if(!Y)return null;return{full:Y[0],tag:Y[1],attrs:Y[2],selfClosing:Y[3].includes("/")||EG.has(Y[1].toLowerCase()),start:Y.index,end:Y.index+Y[0].length}}function kG($,Z,J){let Y=1,Q=J,X=new RegExp(`<${Z}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,"gi"),G=new RegExp(`</${Z}\\s*>`,"gi");while(Y>0&&Q<$.length){X.lastIndex=Q,G.lastIndex=Q;let K=X.exec($),q=G.exec($);if(!q)return-1;if(K&&K.index<q.index)Y++,Q=K.index+K[0].length;else{if(Y--,Y===0)return q.index+q[0].length;Q=q.index+q[0].length}}return-1}function h0($,Z){if(Z.selfClosing)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};let J=kG($,Z.tag,Z.end);if(J===-1)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};return{outerStart:Z.start,outerEnd:J,innerHTML:$.slice(Z.end,J-`</${Z.tag}>`.length)}}function h9($,Z){return new RegExp(`(?:^|\\s)${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test($)||$.includes(` ${Z}=`)||$.includes(` ${Z} `)||$.trimEnd().endsWith(` ${Z}`)}function y1($,Z){let J=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=$.match(new RegExp(`${J}="([^"]*)"`,"s"))||$.match(new RegExp(`${J}='([^']*)'`,"s"));return Y?Y[1]:null}function $1($,Z){let J=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return $.replace(new RegExp(`\\s*${J}="[^"]*"`,"g"),"").replace(new RegExp(`\\s*${J}='[^']*'`,"g"),"").replace(new RegExp(`\\s*${J}(?=\\s|$|>|/)`,"g"),"")}function Z1($,Z,J){let Y=Z.selfClosing?" /":"",Q=`<${Z.tag}${J}${Y}>`;return $.slice(0,Z.start)+Q+$.slice(Z.end)}function SG($){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test($)}function bG($){let Z=$,J=0;while(J<Z.length){let Y=F1(Z,J);if(!Y)break;let Q=y1(Y.attrs,"v-for");if(Q===null){J=Y.end;continue}let X=Q.match(/^\s*\(?([^)]+)\)?\s+(?:in|of)\s+(.+)\s*$/);if(!X){J=Y.end;continue}let G=X[1].trim(),K=X[2].trim(),q;if(G.includes(",")){let F=G.split(",").map((V)=>V.trim()),L=F[0],H=F[1];q=`${K} as ${H} => ${L}`}else q=`${K} as ${G}`;let U=$1(Y.attrs,"v-for"),_=$1(U,":key").replace(/\s*v-bind:key="[^"]*"/g,""),W=h0(Z,Y),z=Z.slice(W.outerStart,W.outerEnd),j=Z1(z,{...Y,start:0,end:Y.end-Y.start},_),B=`@foreach(${q})
2505
+ `,N=Function(...U,H)(...j);if(N&&typeof N==="object")Object.assign(Z,N);X=X.replace(_,"")}catch(U){console.error(`Error executing ${Y} code block in ${J}:`,U);let j=U instanceof Error?U.message:String(U),B=Q0(`${Y} Directive`,`Error executing code: ${j}`,J,$,z,_);console.error(B),X=X.replace(_,"")}return X}var v2=C(()=>{M1();F0()});function hG($,Z="_method"){let J=$.toUpperCase();if(J==="GET"||J==="POST")return"";return`<input type="hidden" name="${Z}" value="${J}">`}function x2($){return $.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(Z,J,Y,Q,X)=>{return hG(Y,X||"_method")})}async function f2($,Z,J,Y,Q){if(!Y.middleware||Y.middleware.length===0)return $;let X=$,G=Y.middleware.filter((K)=>K.timing===Q);if(G.length===0)return X;for(let K of G){if(!K.name||typeof K.handler!=="function"){if(Y.debug)console.warn("Invalid middleware:",K);continue}try{let q=await K.handler(X,Z,J,Y);if(typeof q==="string")X=q;else if(Y.debug)console.warn(`Middleware ${K.name} did not return a string`)}catch(q){if(Y.debug)console.error(`Error in middleware ${K.name}:`,q);if(Y.debug){let _=Q0("Middleware",`Error in middleware '${K.name}': ${q instanceof Error?q.message:String(q)}`,J,$);X=X.replace(/<body[^>]*>/,`$&
2506
+ <div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${K1(_)}</div>
2507
+ `)}}}return X}async function g2($,Z,J,Y){return f2($,Z,J,Y,"before")}async function h2($,Z,J,Y){return f2($,Z,J,Y,"after")}var d2=C(()=>{o0();F0()});import{defineRoute as Oj,defineRoutes as Hj,resetRoutes as Lj,route as Fj,setAppUrl as Vj}from"stx-router";import{route as dG}from"stx-router";function m2($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(Z,J,Y,Q,X)=>{try{let G=Q?O0(Q,{}):{};return dG(Y,G,X==="true")}catch(G){return console.error(`Error processing @route directive: ${G}`),"#route-error"}})}var u2=C(()=>{N0()});async function p2($,Z){let J=$.split("/").pop()?.split(".")[0]||"";if(W5.exact[$])for(let Y of W5.exact[$])await Promise.resolve(Y(Z,$));if(W5.exact[J])for(let Y of W5.exact[J])await Promise.resolve(Y(Z,$));for(let{pattern:Y,callback:Q}of W5.patterns)if(Y.test($)||Y.test(J))await Promise.resolve(Q(Z,$))}var W5;var l2=C(()=>{W5={patterns:[],exact:{}}});function c2($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter(Boolean).map((Z)=>c2(Z)).join(" ");if($&&typeof $==="object")return Object.entries($).filter(([,Z])=>Z).map(([Z])=>Z).join(" ");return $?String($):""}function i2($,Z){if(!/:[\w-]+=/.test($))return $;let J=$,Y=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,Q=[],X;while((X=Y.exec($))!==null)Q.push([X.index,X.index+X[0].length]);function G(_){return Q.some(([W,z])=>_>=W&&_<z)}let K=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*'))*)\s*\/?>/g,q=[];while((X=K.exec(J))!==null){if(G(X.index))continue;let _=X[0],W=X[2];if(!W||!W.includes(":"))continue;let z=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,U,j=W,B=!1;while((U=z.exec(W))!==null){let O=U[1],F=U[2];if(F.includes("()")&&!F.includes(".get(")||F.includes("$store")||F.includes("$ref"))continue;try{let L=Object.keys(Z),H=Object.values(Z),V=F.match(/^([a-zA-Z_$][\w$]*)/);if(V&&!L.includes(V[1])&&!["true","false","null","undefined","Math","JSON","String","Number","Array","Object","Date","parseInt","parseFloat"].includes(V[1]))continue;let w=Function(...L,`return (${F})`)(...H);if(O==="class"){let R=c2(w);if(R){let A=j.match(/\sclass="([^"]*)"/);if(A)j=j.replace(A[0],` class="${A[1]} ${R}"`);else j=j.replace(U[0],` class="${R}"`)}else j=j.replace(U[0],"");B=!0;continue}if(mG.has(O)){if(w)j=j.replace(U[0],` ${O}`);else j=j.replace(U[0],"");B=!0;continue}if(w===null||w===void 0||w===!1)j=j.replace(U[0],"");else{let R=String(w).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");j=j.replace(U[0],` ${O}="${R}"`)}B=!0}catch{continue}}if(B){let O=_.endsWith("/>")?" /":"",L=`<${X[1]}${j}${O}>`;q.push({start:X.index,end:X.index+_.length,replacement:L})}}for(let _=q.length-1;_>=0;_--){let{start:W,end:z,replacement:U}=q[_];J=J.slice(0,W)+U+J.slice(z)}return J}var mG;var n2=C(()=>{mG=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"])});function L1($,Z){let J=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?)(\s*\/?)>/g;J.lastIndex=Z;let Y=J.exec($);if(!Y)return null;return{full:Y[0],tag:Y[1],attrs:Y[2],selfClosing:Y[3].includes("/")||uG.has(Y[1].toLowerCase()),start:Y.index,end:Y.index+Y[0].length}}function lG($,Z,J){let Y=1,Q=J,X=new RegExp(`<${Z}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,"gi"),G=new RegExp(`</${Z}\\s*>`,"gi");while(Y>0&&Q<$.length){X.lastIndex=Q,G.lastIndex=Q;let K=X.exec($),q=G.exec($);if(!q)return-1;if(K&&K.index<q.index)Y++,Q=K.index+K[0].length;else{if(Y--,Y===0)return q.index+q[0].length;Q=q.index+q[0].length}}return-1}function h0($,Z){if(Z.selfClosing)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};let J=lG($,Z.tag,Z.end);if(J===-1)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};return{outerStart:Z.start,outerEnd:J,innerHTML:$.slice(Z.end,J-`</${Z.tag}>`.length)}}function o2($,Z){return new RegExp(`(?:^|\\s)${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test($)||$.includes(` ${Z}=`)||$.includes(` ${Z} `)||$.trimEnd().endsWith(` ${Z}`)}function C1($,Z){let J=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=$.match(new RegExp(`${J}="([^"]*)"`,"s"))||$.match(new RegExp(`${J}='([^']*)'`,"s"));return Y?Y[1]:null}function $1($,Z){let J=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return $.replace(new RegExp(`\\s*${J}="[^"]*"`,"g"),"").replace(new RegExp(`\\s*${J}='[^']*'`,"g"),"").replace(new RegExp(`\\s*${J}(?=\\s|$|>|/)`,"g"),"")}function Z1($,Z,J){let Y=Z.selfClosing?" /":"",Q=`<${Z.tag}${J}${Y}>`;return $.slice(0,Z.start)+Q+$.slice(Z.end)}function cG($){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test($)}function iG($){let Z=$,J=0;while(J<Z.length){let Y=L1(Z,J);if(!Y)break;let Q=C1(Y.attrs,"v-for");if(Q===null){J=Y.end;continue}let X=Q.match(/^\s*\(?([^)]+)\)?\s+(?:in|of)\s+(.+)\s*$/);if(!X){J=Y.end;continue}let G=X[1].trim(),K=X[2].trim(),q;if(G.includes(",")){let F=G.split(",").map((V)=>V.trim()),L=F[0],H=F[1];q=`${K} as ${H} => ${L}`}else q=`${K} as ${G}`;let _=$1(Y.attrs,"v-for"),W=$1(_,":key").replace(/\s*v-bind:key="[^"]*"/g,""),z=h0(Z,Y),U=Z.slice(z.outerStart,z.outerEnd),j=Z1(U,{...Y,start:0,end:Y.end-Y.start},W),B=`@foreach(${q})
2505
2508
  `,O=`${B}${j}
2506
- @endforeach`;Z=Z.slice(0,W.outerStart)+O+Z.slice(W.outerEnd),J=W.outerStart+B.length}return Z}function yG($){let Z=$,J=0;while(J<Z.length){let Y=F1(Z,J);if(!Y)break;let Q=y1(Y.attrs,"v-if");if(Q===null){J=Y.end;continue}let X=[],G=h0(Z,Y),K=$1(Y.attrs,"v-if"),q=Z1(Z.slice(G.outerStart,G.outerEnd),{...Y,start:0,end:Y.end-Y.start},K);X.push({type:"if",expr:Q,outerStart:G.outerStart,outerEnd:G.outerEnd,element:q,parsedTag:Y});let U=G.outerEnd,_=!0;while(_){let O=Z.slice(U).match(/^\s*/),F=O?O[0].length:0,L=F1(Z,U+F);if(!L){_=!1;break}let H=y1(L.attrs,"v-else-if"),V=h9(L.attrs,"v-else");if(H!==null){let R=h0(Z,L),N=$1(L.attrs,"v-else-if"),A=Z1(Z.slice(R.outerStart,R.outerEnd),{...L,start:0,end:L.end-L.start},N);X.push({type:"else-if",expr:H,outerStart:U,outerEnd:R.outerEnd,element:A,parsedTag:L}),U=R.outerEnd}else if(V){let R=h0(Z,L),N=$1(L.attrs,"v-else"),A=Z1(Z.slice(R.outerStart,R.outerEnd),{...L,start:0,end:L.end-L.start},N);X.push({type:"else",outerStart:U,outerEnd:R.outerEnd,element:A,parsedTag:L}),_=!1}else _=!1}let W=[];for(let O of X)if(O.type==="if")W.push(`@if(${O.expr})
2507
- ${O.element}`);else if(O.type==="else-if")W.push(`@elseif(${O.expr})
2508
- ${O.element}`);else W.push(`@else
2509
- ${O.element}`);W.push("@endif");let z=W.join(`
2510
- `),j=X[0].outerStart,B=X[X.length-1].outerEnd;Z=Z.slice(0,j)+z+Z.slice(B),J=j+z.length}return Z}function CG($){return $.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function PG($){let Z=$,J=0;while(J<Z.length){let Y=F1(Z,J);if(!Y)break;let Q=Y.attrs,X=!1,G=/v-model:([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z.]+))?\s*=\s*"([^"]*)"/,K=Q.match(G);while(K){X=!0;let _=K[1],W=K[2],z=K[3];Q=Q.replace(K[0],""),Q+=` :${_}="${z}" @update:${_}="${z} = $event"`,K=Q.match(G)}if(X){let _=h0(Z,Y),W=Z.slice(_.outerStart,_.outerEnd),z=Z1(W,{...Y,start:0,end:Y.end-Y.start},Q);Z=Z.slice(0,_.outerStart)+z+Z.slice(_.outerEnd),J=_.outerStart+z.length;continue}let q=y1(Y.attrs,"v-model");if(q===null){J=Y.end;continue}if(DG.has(Y.tag.toLowerCase())){let _=Y.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${q}"`,W=h0(Z,Y),z=Z.slice(W.outerStart,W.outerEnd),j=Z1(z,{...Y,start:0,end:Y.end-Y.start},_);Z=Z.slice(0,W.outerStart)+j+Z.slice(W.outerEnd),J=W.outerStart+j.length}else{let _=Y.attrs.replace(/\s*v-model="[^"]*"/g,"");_+=` :modelValue="${q}" @update:modelValue="${q} = $event"`;let W=h0(Z,Y),z=Z.slice(W.outerStart,W.outerEnd),j=Z1(z,{...Y,start:0,end:Y.end-Y.start},_);Z=Z.slice(0,W.outerStart)+j+Z.slice(W.outerEnd),J=W.outerStart+j.length}}return Z}function vG($){return $.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function xG($){return $.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function fG($){let Z=$,J=0;while(J<Z.length){let Y=F1(Z,J);if(!Y)break;let Q=y1(Y.attrs,"v-html");if(Q===null){J=Y.end;continue}if(Y.selfClosing){J=Y.end;continue}let X=h0(Z,Y),G=$1(Y.attrs,"v-html"),K=Y.selfClosing?" /":"",q=`<${Y.tag}${G}${K}>{!! ${Q} !!}</${Y.tag}>`;Z=Z.slice(0,X.outerStart)+q+Z.slice(X.outerEnd),J=X.outerStart+q.length}return Z}function gG($){let Z=$,J=0;while(J<Z.length){let Y=F1(Z,J);if(!Y)break;let Q=y1(Y.attrs,"v-text");if(Q===null){J=Y.end;continue}if(Y.selfClosing){J=Y.end;continue}let X=h0(Z,Y),G=$1(Y.attrs,"v-text"),K=Y.selfClosing?" /":"",q=`<${Y.tag}${G}${K}>{{ ${Q} }}</${Y.tag}>`;Z=Z.slice(0,X.outerStart)+q+Z.slice(X.outerEnd),J=X.outerStart+q.length}return Z}function hG($){return $.replace(/(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)\s+v-pre([^>]*>)/g,"$1$2 data-stx-skip$3").replace(/(<[a-zA-Z][a-zA-Z0-9-]*)\s+v-pre(\s[^>]*>|>)/g,"$1 data-stx-skip$2")}function dG($){let Z=$,J=0;while(J<Z.length){let Y=F1(Z,J);if(!Y)break;if(!h9(Y.attrs,"v-once")){J=Y.end;continue}let Q=$1(Y.attrs,"v-once"),X=h0(Z,Y),G=Z.slice(X.outerStart,X.outerEnd),q=`@once
2509
+ @endforeach`;Z=Z.slice(0,z.outerStart)+O+Z.slice(z.outerEnd),J=z.outerStart+B.length}return Z}function nG($){let Z=$,J=0;while(J<Z.length){let Y=L1(Z,J);if(!Y)break;let Q=C1(Y.attrs,"v-if");if(Q===null){J=Y.end;continue}let X=[],G=h0(Z,Y),K=$1(Y.attrs,"v-if"),q=Z1(Z.slice(G.outerStart,G.outerEnd),{...Y,start:0,end:Y.end-Y.start},K);X.push({type:"if",expr:Q,outerStart:G.outerStart,outerEnd:G.outerEnd,element:q,parsedTag:Y});let _=G.outerEnd,W=!0;while(W){let O=Z.slice(_).match(/^\s*/),F=O?O[0].length:0,L=L1(Z,_+F);if(!L){W=!1;break}let H=C1(L.attrs,"v-else-if"),V=o2(L.attrs,"v-else");if(H!==null){let N=h0(Z,L),w=$1(L.attrs,"v-else-if"),R=Z1(Z.slice(N.outerStart,N.outerEnd),{...L,start:0,end:L.end-L.start},w);X.push({type:"else-if",expr:H,outerStart:_,outerEnd:N.outerEnd,element:R,parsedTag:L}),_=N.outerEnd}else if(V){let N=h0(Z,L),w=$1(L.attrs,"v-else"),R=Z1(Z.slice(N.outerStart,N.outerEnd),{...L,start:0,end:L.end-L.start},w);X.push({type:"else",outerStart:_,outerEnd:N.outerEnd,element:R,parsedTag:L}),W=!1}else W=!1}let z=[];for(let O of X)if(O.type==="if")z.push(`@if(${O.expr})
2510
+ ${O.element}`);else if(O.type==="else-if")z.push(`@elseif(${O.expr})
2511
+ ${O.element}`);else z.push(`@else
2512
+ ${O.element}`);z.push("@endif");let U=z.join(`
2513
+ `),j=X[0].outerStart,B=X[X.length-1].outerEnd;Z=Z.slice(0,j)+U+Z.slice(B),J=j+U.length}return Z}function oG($){return $.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function sG($){let Z=$,J=0;while(J<Z.length){let Y=L1(Z,J);if(!Y)break;let Q=Y.attrs,X=!1,G=/v-model:([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z.]+))?\s*=\s*"([^"]*)"/,K=Q.match(G);while(K){X=!0;let W=K[1],z=K[2],U=K[3];Q=Q.replace(K[0],""),Q+=` :${W}="${U}" @update:${W}="${U} = $event"`,K=Q.match(G)}if(X){let W=h0(Z,Y),z=Z.slice(W.outerStart,W.outerEnd),U=Z1(z,{...Y,start:0,end:Y.end-Y.start},Q);Z=Z.slice(0,W.outerStart)+U+Z.slice(W.outerEnd),J=W.outerStart+U.length;continue}let q=C1(Y.attrs,"v-model");if(q===null){J=Y.end;continue}if(pG.has(Y.tag.toLowerCase())){let W=Y.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${q}"`,z=h0(Z,Y),U=Z.slice(z.outerStart,z.outerEnd),j=Z1(U,{...Y,start:0,end:Y.end-Y.start},W);Z=Z.slice(0,z.outerStart)+j+Z.slice(z.outerEnd),J=z.outerStart+j.length}else{let W=Y.attrs.replace(/\s*v-model="[^"]*"/g,"");W+=` :modelValue="${q}" @update:modelValue="${q} = $event"`;let z=h0(Z,Y),U=Z.slice(z.outerStart,z.outerEnd),j=Z1(U,{...Y,start:0,end:Y.end-Y.start},W);Z=Z.slice(0,z.outerStart)+j+Z.slice(z.outerEnd),J=z.outerStart+j.length}}return Z}function rG($){return $.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function aG($){return $.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function tG($){let Z=$,J=0;while(J<Z.length){let Y=L1(Z,J);if(!Y)break;let Q=C1(Y.attrs,"v-html");if(Q===null){J=Y.end;continue}if(Y.selfClosing){J=Y.end;continue}let X=h0(Z,Y),G=$1(Y.attrs,"v-html"),K=Y.selfClosing?" /":"",q=`<${Y.tag}${G}${K}>{!! ${Q} !!}</${Y.tag}>`;Z=Z.slice(0,X.outerStart)+q+Z.slice(X.outerEnd),J=X.outerStart+q.length}return Z}function eG($){let Z=$,J=0;while(J<Z.length){let Y=L1(Z,J);if(!Y)break;let Q=C1(Y.attrs,"v-text");if(Q===null){J=Y.end;continue}if(Y.selfClosing){J=Y.end;continue}let X=h0(Z,Y),G=$1(Y.attrs,"v-text"),K=Y.selfClosing?" /":"",q=`<${Y.tag}${G}${K}>{{ ${Q} }}</${Y.tag}>`;Z=Z.slice(0,X.outerStart)+q+Z.slice(X.outerEnd),J=X.outerStart+q.length}return Z}function $K($){return $.replace(/(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)\s+v-pre([^>]*>)/g,"$1$2 data-stx-skip$3").replace(/(<[a-zA-Z][a-zA-Z0-9-]*)\s+v-pre(\s[^>]*>|>)/g,"$1 data-stx-skip$2")}function ZK($){let Z=$,J=0;while(J<Z.length){let Y=L1(Z,J);if(!Y)break;if(!o2(Y.attrs,"v-once")){J=Y.end;continue}let Q=$1(Y.attrs,"v-once"),X=h0(Z,Y),G=Z.slice(X.outerStart,X.outerEnd),q=`@once
2511
2514
  ${Z1(G,{...Y,start:0,end:Y.end-Y.start},Q)}
2512
- @endonce`;Z=Z.slice(0,X.outerStart)+q+Z.slice(X.outerEnd),J=X.outerStart+q.length}return Z}function mG($){return $.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function uG($){return $.replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'#$1="$2"').replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)(?=[\s>])/g,"#$1").replace(/\bv-slot\s*=\s*"([^"]*)"/g,'#default="$1"')}function d9($){if(!SG($))return $;let Z=$;return Z=bG(Z),Z=yG(Z),Z=dG(Z),Z=vG(Z),Z=xG(Z),Z=PG(Z),Z=CG(Z),Z=uG(Z),Z=fG(Z),Z=gG(Z),Z=hG(Z),Z=mG(Z),Z}var EG,DG;var m9=P(()=>{EG=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),DG=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"])});async function u9($,Z,J,Y,Q){let X=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*)>([\s\S]*?)<\/component>/gi,K=[],q;while((q=G.exec(X))!==null)K.push({full:q[0],expr:q[1],attrs:q[2],slotContent:q[3],index:q.index});for(let U=K.length-1;U>=0;U--){let _=K[U];try{let W=X0(_.expr,Z);if(!W||typeof W!=="string"){let H=`<!-- dynamic component: could not resolve "${_.expr}" -->`;X=X.slice(0,_.index)+H+X.slice(_.index+_.full.length);continue}let z=_.attrs.trim(),j={},B=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,O;while((O=B.exec(z))!==null){let H=O[1]||O[2],V=O[3];if(O[1])try{j[H]=X0(V,Z)}catch{j[H]=V}else j[H]=V}let F=Y.componentsDir||"components",L=await W1(W,j,_.slotContent,F,Z,J,Y,new Set,Q??new Set);X=X.slice(0,_.index)+L+X.slice(_.index+_.full.length)}catch(W){let j=`<!-- dynamic component error: ${W instanceof Error?W.message:String(W)} -->`;X=X.slice(0,_.index)+j+X.slice(_.index+_.full.length)}}return X=await pG(X,Z,J,Y,Q),X}async function pG($,Z,J,Y,Q){let X=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*?)\/>/gi,K=[],q;while((q=G.exec(X))!==null)K.push({full:q[0],expr:q[1],attrs:q[2],index:q.index});for(let U=K.length-1;U>=0;U--){let _=K[U];try{let W=X0(_.expr,Z);if(!W||typeof W!=="string"){let B=`<!-- dynamic component: could not resolve "${_.expr}" -->`;X=X.slice(0,_.index)+B+X.slice(_.index+_.full.length);continue}let z=Y.componentsDir||"components",j=await W1(W,{},"",z,Z,J,Y,new Set,Q??new Set);X=X.slice(0,_.index)+j+X.slice(_.index+_.full.length)}catch(W){let j=`<!-- dynamic component error: ${W instanceof Error?W.message:String(W)} -->`;X=X.slice(0,_.index)+j+X.slice(_.index+_.full.length)}}return X}var p9=P(()=>{V0();R0()});function lG($,Z={},J={}){let{title:Y="stx App",lang:Q="en",meta:X=[],link:G=[],script:K=[],headRaw:q="",bodyClass:U="",bodyAttrs:_={}}=Z,W=J.title||Y,B=[...[{charset:"UTF-8"},{name:"viewport",content:"width=device-width, initial-scale=1.0"}],...X].map((N)=>{return` <meta ${Object.entries(N).map(([w,M])=>`${w}="${M}"`).join(" ")}>`}).join(`
2513
- `),O=G.map((N)=>{return` <link ${Object.entries(N).map(([w,M])=>`${w}="${M}"`).join(" ")}>`}).join(`
2514
- `),F=K.map((N)=>{if(N.src)return` <script ${Object.entries(N).filter(([w])=>w!=="content").map(([w,M])=>`${w}="${M}"`).join(" ")}></script>`;if(N.content)return` <script>${N.content}</script>`;return""}).filter(Boolean).join(`
2515
- `),L=Object.entries(_).map(([N,A])=>` ${N}="${A}"`).join(""),H=U?` class="${U}"`:"",V=[B,` <title>${W}</title>`,O,F,q?` ${q}`:"",...(J.styles||[]).map((N)=>` ${N}`),...(J.headScripts||[]).map((N)=>` ${N}`),J.headStack||""].filter(Boolean),R=[$,...(J.bodyScripts||[]).map((N)=>N),J.bodyStack||""].filter(Boolean);return`<!DOCTYPE html>
2515
+ @endonce`;Z=Z.slice(0,X.outerStart)+q+Z.slice(X.outerEnd),J=X.outerStart+q.length}return Z}function YK($){return $.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function JK($){return $.replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'#$1="$2"').replace(/\bv-slot:([a-zA-Z_][a-zA-Z0-9_-]*)(?=[\s>])/g,"#$1").replace(/\bv-slot\s*=\s*"([^"]*)"/g,'#default="$1"')}function s2($){if(!cG($))return $;let Z=$;return Z=iG(Z),Z=nG(Z),Z=ZK(Z),Z=rG(Z),Z=aG(Z),Z=sG(Z),Z=oG(Z),Z=JK(Z),Z=tG(Z),Z=eG(Z),Z=$K(Z),Z=YK(Z),Z}var uG,pG;var r2=C(()=>{uG=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),pG=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"])});async function a2($,Z,J,Y,Q){let X=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*)>([\s\S]*?)<\/component>/gi,K=[],q;while((q=G.exec(X))!==null)K.push({full:q[0],expr:q[1],attrs:q[2],slotContent:q[3],index:q.index});for(let _=K.length-1;_>=0;_--){let W=K[_];try{let z=X0(W.expr,Z);if(!z||typeof z!=="string"){let H=`<!-- dynamic component: could not resolve "${W.expr}" -->`;X=X.slice(0,W.index)+H+X.slice(W.index+W.full.length);continue}let U=W.attrs.trim(),j={},B=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,O;while((O=B.exec(U))!==null){let H=O[1]||O[2],V=O[3];if(O[1])try{j[H]=X0(V,Z)}catch{j[H]=V}else j[H]=V}let F=Y.componentsDir||"components",L=await z1(z,j,W.slotContent,F,Z,J,Y,new Set,Q??new Set);X=X.slice(0,W.index)+L+X.slice(W.index+W.full.length)}catch(z){let j=`<!-- dynamic component error: ${z instanceof Error?z.message:String(z)} -->`;X=X.slice(0,W.index)+j+X.slice(W.index+W.full.length)}}return X=await XK(X,Z,J,Y,Q),X}async function XK($,Z,J,Y,Q){let X=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*?)\/>/gi,K=[],q;while((q=G.exec(X))!==null)K.push({full:q[0],expr:q[1],attrs:q[2],index:q.index});for(let _=K.length-1;_>=0;_--){let W=K[_];try{let z=X0(W.expr,Z);if(!z||typeof z!=="string"){let B=`<!-- dynamic component: could not resolve "${W.expr}" -->`;X=X.slice(0,W.index)+B+X.slice(W.index+W.full.length);continue}let U=Y.componentsDir||"components",j=await z1(z,{},"",U,Z,J,Y,new Set,Q??new Set);X=X.slice(0,W.index)+j+X.slice(W.index+W.full.length)}catch(z){let j=`<!-- dynamic component error: ${z instanceof Error?z.message:String(z)} -->`;X=X.slice(0,W.index)+j+X.slice(W.index+W.full.length)}}return X}var t2=C(()=>{F0();N0()});function QK($,Z={},J={}){let{title:Y="stx App",lang:Q="en",meta:X=[],link:G=[],script:K=[],headRaw:q="",bodyClass:_="",bodyAttrs:W={}}=Z,z=J.title||Y,B=[...[{charset:"UTF-8"},{name:"viewport",content:"width=device-width, initial-scale=1.0"}],...X].map((w)=>{return` <meta ${Object.entries(w).map(([A,T])=>`${A}="${T}"`).join(" ")}>`}).join(`
2516
+ `),O=G.map((w)=>{return` <link ${Object.entries(w).map(([A,T])=>`${A}="${T}"`).join(" ")}>`}).join(`
2517
+ `),F=K.map((w)=>{if(w.src)return` <script ${Object.entries(w).filter(([A])=>A!=="content").map(([A,T])=>`${A}="${T}"`).join(" ")}></script>`;if(w.content)return` <script>${w.content}</script>`;return""}).filter(Boolean).join(`
2518
+ `),L=Object.entries(W).map(([w,R])=>` ${w}="${R}"`).join(""),H=_?` class="${_}"`:"",V=[B,` <title>${z}</title>`,O,F,q?` ${q}`:"",...(J.styles||[]).map((w)=>` ${w}`),...(J.headScripts||[]).map((w)=>` ${w}`),J.headStack||""].filter(Boolean),N=[$,...(J.bodyScripts||[]).map((w)=>w),J.bodyStack||""].filter(Boolean);return`<!DOCTYPE html>
2516
2519
  <html lang="${Q}">
2517
2520
  <head>
2518
2521
  ${V.join(`
2519
2522
  `)}
2520
2523
  </head>
2521
2524
  <body${H}${L}>
2522
- ${R.join(`
2525
+ ${N.join(`
2523
2526
  `)}
2524
2527
  </body>
2525
- </html>`}function cG($){let Z=$.trim();while(Z.startsWith("<!--")){let J=Z.indexOf("-->");if(J===-1)break;Z=Z.slice(J+3).trim()}return/^<!DOCTYPE\b/i.test(Z)||/^<html[\s>]/i.test(Z)}function l9($,Z={},J={}){if(cG($))return $;return lG($,Z,J)}function Q7($){let Z=$,J=new Set,Y=new Set,Q=()=>{if(k0)Y.add(k0);return Z};return Q.set=(X)=>{if(!Object.is(X,Z)){let G=Z;if(Z=X,J.forEach((K)=>K(Z,G)),K5)Y.forEach((K)=>W$.add(K));else Y.forEach((K)=>K())}},Q.update=(X)=>{Q.set(X(Z))},Q.subscribe=(X)=>{return J.add(X),()=>J.delete(X)},Object.defineProperty(Q,"_isSignal",{value:!0,writable:!1}),Q}function G7($){let Z,J=!0,Y=new Set,Q=()=>{if(!J)if(J=!0,K5)Y.forEach((G)=>W$.add(G));else Y.forEach((G)=>G())},X=()=>{if(k0)Y.add(k0);if(J){let G=k0;k0=Q,U$.push(Q);try{Z=$()}finally{U$.pop(),k0=G}J=!1}return Z};return Object.defineProperty(X,"_isDerived",{value:!0,writable:!1}),X}function K7($,Z={}){let J,Y=!1,Q=()=>{if(Y)return;if(J)J(),J=void 0;let X=k0;k0=Q,U$.push(Q);try{J=$()}finally{U$.pop(),k0=X}};if(Z.immediate!==!1)Q();return()=>{if(Y=!0,J)J()}}function q7($){if(K5){$();return}K5=!0;try{$()}finally{K5=!1,W$.forEach((Z)=>Z()),W$.clear()}}function _7($){iG.push($)}function U7($){nG.push($)}function z$($){return typeof $==="function"&&$._isSignal===!0}function B$($){return typeof $==="function"&&$._isDerived===!0}function W7($){if(z$($)||B$($))return $();return $}function z7($){let Z=k0;k0=null;try{return $()}finally{k0=Z}}var k0=null,U$,K5=!1,W$,iG,nG;var B7=P(()=>{U$=[],W$=new Set,iG=[],nG=[]});var j7={};r(j7,{untrack:()=>W7,state:()=>Q7,peek:()=>z7,onMount:()=>_7,onDestroy:()=>U7,isSignal:()=>z$,isDerived:()=>B$,generateSignalsRuntimeDev:()=>j$,generateSignalsRuntime:()=>c9,effect:()=>K7,derived:()=>G7,default:()=>oG,batch:()=>q7});function c9(){try{let Z=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync(j$());return Z=Z.replace(/\}(var |let |const |function )/g,"};$1"),Z}catch{return j$()}}function j$(){return`
2528
+ </html>`}function GK($){let Z=$.trim();while(Z.startsWith("<!--")){let J=Z.indexOf("-->");if(J===-1)break;Z=Z.slice(J+3).trim()}return/^<!DOCTYPE\b/i.test(Z)||/^<html[\s>]/i.test(Z)}function e2($,Z={},J={}){if(GK($))return $;return QK($,Z,J)}function _4($){let Z=$,J=new Set,Y=new Set,Q=()=>{if(k0)Y.add(k0);return Z};return Q.set=(X)=>{if(!Object.is(X,Z)){let G=Z;if(Z=X,J.forEach((K)=>K(Z,G)),_5)Y.forEach((K)=>O9.add(K));else Y.forEach((K)=>K())}},Q.update=(X)=>{Q.set(X(Z))},Q.subscribe=(X)=>{return J.add(X),()=>J.delete(X)},Object.defineProperty(Q,"_isSignal",{value:!0,writable:!1}),Q}function z4($){let Z,J=!0,Y=new Set,Q=()=>{if(!J)if(J=!0,_5)Y.forEach((G)=>O9.add(G));else Y.forEach((G)=>G())},X=()=>{if(k0)Y.add(k0);if(J){let G=k0;k0=Q,j9.push(Q);try{Z=$()}finally{j9.pop(),k0=G}J=!1}return Z};return Object.defineProperty(X,"_isDerived",{value:!0,writable:!1}),X}function U4($,Z={}){let J,Y=!1,Q=()=>{if(Y)return;if(J)J(),J=void 0;let X=k0;k0=Q,j9.push(Q);try{J=$()}finally{j9.pop(),k0=X}};if(Z.immediate!==!1)Q();return()=>{if(Y=!0,J)J()}}function B4($){if(_5){$();return}_5=!0;try{$()}finally{_5=!1,O9.forEach((Z)=>Z()),O9.clear()}}function j4($){KK.push($)}function O4($){qK.push($)}function H9($){return typeof $==="function"&&$._isSignal===!0}function L9($){return typeof $==="function"&&$._isDerived===!0}function H4($){if(H9($)||L9($))return $();return $}function L4($){let Z=k0;k0=null;try{return $()}finally{k0=Z}}var k0=null,j9,_5=!1,O9,KK,qK;var F4=C(()=>{j9=[],O9=new Set,KK=[],qK=[]});var V4={};r(V4,{untrack:()=>H4,state:()=>_4,peek:()=>L4,onMount:()=>j4,onDestroy:()=>O4,isSignal:()=>H9,isDerived:()=>L9,generateSignalsRuntimeDev:()=>F9,generateSignalsRuntime:()=>$8,effect:()=>U4,derived:()=>z4,default:()=>WK,batch:()=>B4});function $8(){try{let Z=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync(F9());return Z=Z.replace(/\}(var |let |const |function )/g,"};$1"),Z}catch{return F9()}}function F9(){return`
2526
2529
  // STX Signals Runtime (Development Build)
2527
2530
  console.log('[stx] signals runtime loading');
2528
2531
  // Pre-initialization shim: capture onMount/onDestroy calls made before the runtime IIFE runs
@@ -4832,6 +4835,12 @@ else if (!value && isInserted) {
4832
4835
  setTimeout(function() {
4833
4836
  var childScope = { ...capturedComponentScope, ...(capturedElementScope || {}), ...globalHelpers };
4834
4837
  processElement(el, childScope);
4838
+ // Remove x-cloak from the inserted subtree \u2014 the initial
4839
+ // cloak removal (after processElement on the root) already
4840
+ // ran before this deferred processing, so newly-inserted
4841
+ // :if children still have x-cloak and stay hidden.
4842
+ el.removeAttribute('x-cloak');
4843
+ el.querySelectorAll('[x-cloak]').forEach(function(c) { c.removeAttribute('x-cloak'); });
4835
4844
  }, 0);
4836
4845
  }
4837
4846
  }
@@ -5630,6 +5639,85 @@ catch (e) {}
5630
5639
  return _createDialog(message, options, true);
5631
5640
  }
5632
5641
 
5642
+ // \u2500\u2500 Drawer system \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
5643
+ // Same pattern as modal but slides from a side
5644
+ var drawer = {
5645
+ open: function(id) {
5646
+ var el = document.querySelector('[data-stx-drawer="' + id + '"]');
5647
+ if (!el) { console.warn('[stx:drawer] Drawer "' + id + '" not found'); return; }
5648
+ el.style.display = 'flex';
5649
+ void el.offsetHeight;
5650
+ el.setAttribute('data-stx-drawer-open', '');
5651
+ document.body.style.overflow = 'hidden';
5652
+ if (el.getAttribute('data-close-escape') !== 'false') {
5653
+ var escHandler = function(e) {
5654
+ if (e.key === 'Escape') { drawer.close(id); document.removeEventListener('keydown', escHandler); }
5655
+ };
5656
+ document.addEventListener('keydown', escHandler);
5657
+ el._stxEscHandler = escHandler;
5658
+ }
5659
+ if (el.getAttribute('data-close-backdrop') !== 'false') {
5660
+ el.onclick = function(e) { if (e.target === el) drawer.close(id); };
5661
+ }
5662
+ },
5663
+ close: function(id) {
5664
+ var el = document.querySelector('[data-stx-drawer="' + id + '"]');
5665
+ if (!el) return;
5666
+ el.removeAttribute('data-stx-drawer-open');
5667
+ if (el._stxEscHandler) { document.removeEventListener('keydown', el._stxEscHandler); el._stxEscHandler = null; }
5668
+ el.onclick = null;
5669
+ setTimeout(function() {
5670
+ el.style.display = 'none';
5671
+ if (!document.querySelector('[data-stx-drawer-open]') && !document.querySelector('[data-stx-modal-open]')) document.body.style.overflow = '';
5672
+ }, 300);
5673
+ },
5674
+ toggle: function(id) {
5675
+ var el = document.querySelector('[data-stx-drawer="' + id + '"]');
5676
+ if (el && el.hasAttribute('data-stx-drawer-open')) drawer.close(id);
5677
+ else drawer.open(id);
5678
+ }
5679
+ };
5680
+
5681
+ // \u2500\u2500 Tooltip runtime \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
5682
+ (function() {
5683
+ var tip = null;
5684
+ function createTip() {
5685
+ tip = document.createElement('div');
5686
+ tip.id = 'stx-tooltip';
5687
+ tip.style.cssText = 'position:absolute;z-index:999999;pointer-events:none;background:#1f2937;color:#fff;font-size:12px;line-height:1.4;padding:6px 10px;border-radius:6px;max-width:250px;word-wrap:break-word;opacity:0;transition:opacity 0.15s ease;white-space:pre-wrap;box-shadow:0 2px 8px rgba(0,0,0,0.2)';
5688
+ document.body.appendChild(tip);
5689
+ }
5690
+ function show(el) {
5691
+ if (!tip) createTip();
5692
+ var text = el.getAttribute('x-tooltip');
5693
+ if (!text) return;
5694
+ tip.textContent = text;
5695
+ tip.style.display = 'block';
5696
+ tip.style.opacity = '0';
5697
+ var pos = el.getAttribute('x-tooltip-position') || 'top';
5698
+ var rect = el.getBoundingClientRect();
5699
+ var tw = tip.offsetWidth;
5700
+ var th = tip.offsetHeight;
5701
+ var sx = window.scrollX;
5702
+ var sy = window.scrollY;
5703
+ var left, top;
5704
+ if (pos === 'bottom') { left = rect.left + rect.width / 2 - tw / 2; top = rect.bottom + 8; }
5705
+ else if (pos === 'left') { left = rect.left - tw - 8; top = rect.top + rect.height / 2 - th / 2; }
5706
+ else if (pos === 'right') { left = rect.right + 8; top = rect.top + rect.height / 2 - th / 2; }
5707
+ else { left = rect.left + rect.width / 2 - tw / 2; top = rect.top - th - 8; if (top < 0) { top = rect.bottom + 8; } }
5708
+ if (left < 4) left = 4;
5709
+ if (left + tw > window.innerWidth - 4) left = window.innerWidth - tw - 4;
5710
+ tip.style.left = (left + sx) + 'px';
5711
+ tip.style.top = (top + sy) + 'px';
5712
+ tip.style.opacity = '1';
5713
+ }
5714
+ function hide() { if (tip) { tip.style.opacity = '0'; setTimeout(function() { if (tip) tip.style.display = 'none'; }, 150); } }
5715
+ document.addEventListener('mouseover', function(e) { var el = e.target.closest('[x-tooltip]'); if (el) show(el); });
5716
+ document.addEventListener('mouseout', function(e) { var el = e.target.closest('[x-tooltip]'); if (el) hide(); });
5717
+ document.addEventListener('focusin', function(e) { var el = e.target.closest('[x-tooltip]'); if (el) show(el); });
5718
+ document.addEventListener('focusout', function(e) { var el = e.target.closest('[x-tooltip]'); if (el) hide(); });
5719
+ })();
5720
+
5633
5721
  // Component mount system
5634
5722
  var mountQueue = [];
5635
5723
 
@@ -5680,6 +5768,7 @@ catch (e) {}
5680
5768
  useSeoMeta,
5681
5769
  toast,
5682
5770
  modal,
5771
+ drawer,
5683
5772
  alert: stxAlert,
5684
5773
  confirm: stxConfirm,
5685
5774
  helpers: globalHelpers,
@@ -6139,6 +6228,7 @@ else {
6139
6228
  window.useSeoMeta = useSeoMeta;
6140
6229
  window.toast = toast;
6141
6230
  window.modal = modal;
6231
+ window.drawer = drawer;
6142
6232
  window.stxAlert = stxAlert;
6143
6233
  window.stxConfirm = stxConfirm;
6144
6234
  window.defineStore = window.stx.defineStore;
@@ -6528,54 +6618,54 @@ catch (e) { console.warn('[stx] mount callback error:', e); }
6528
6618
  }
6529
6619
  }
6530
6620
  })();
6531
- `}var oG;var O7=P(()=>{B7();B7();oG={state:Q7,derived:G7,effect:K7,batch:q7,onMount:_7,onDestroy:U7,isSignal:z$,isDerived:B$,untrack:W7,peek:z7,generateSignalsRuntime:c9,generateSignalsRuntimeDev:j$}});var H7={};r(H7,{templateCache:()=>i9,readFileCached:()=>sG,invalidateFileCacheByDir:()=>aG,invalidateFileCache:()=>rG,hashFilePath:()=>q5,getCachedSignalsRuntime:()=>eG,getCachedRouterScript:()=>$K,clearDevCaches:()=>ZK,checkCache:()=>YK,cacheTemplate:()=>JK});import V1 from"fs";import C1 from"path";async function sG($){try{let J=(await V1.promises.stat($)).mtime.getTime(),Y=N1.get($);if(Y&&Y.mtime===J)return Y.content;let Q=await Bun.file($).text();return N1.set($,{content:Q,mtime:J}),Q}catch{throw N1.delete($),Error(`File not found: ${$}`)}}function rG($){N1.delete($)}function aG($){for(let Z of N1.keys())if(Z.startsWith($))N1.delete(Z)}async function eG($=!1){if($){let{generateSignalsRuntimeDev:Z}=await Promise.resolve().then(() => (O7(),j7));return Z()}if(O$===null){let{generateSignalsRuntime:Z}=await Promise.resolve().then(() => (O7(),j7));O$=Z()}return O$}async function $K(){if(H$===null){let{getRouterScript:$}=await import("stx-router");H$=$()}return H$}function ZK(){N1.clear(),O$=null,tG=null,H$=null}async function YK($,Z){try{if(!Z.cachePath)return null;let J=C1.resolve(Z.cachePath),Y=C1.join(J,`${q5($)}.html`),Q=C1.join(J,`${q5($)}.meta.json`);if(!await c(Y)||!await c(Q))return null;let X=await Bun.file(Q).text(),G=JSON.parse(X);if(G.cacheVersion!==Z.cacheVersion)return null;if((await V1.promises.stat($)).mtime.getTime()>G.mtime)return null;for(let q of G.dependencies)if(await c(q)){if((await V1.promises.stat(q)).mtime.getTime()>G.mtime)return null}else return null;return await Bun.file(Y).text()}catch(J){return console.warn(`Cache error for ${$}:`,J),null}}async function JK($,Z,J,Y){try{if(!Y.cachePath)return;let Q=C1.resolve(Y.cachePath);await V1.promises.mkdir(Q,{recursive:!0});let X=C1.join(Q,`${q5($)}.html`),G=C1.join(Q,`${q5($)}.meta.json`),K=await V1.promises.stat($);await Bun.write(X,Z);let q={sourcePath:$,mtime:K.mtime.getTime(),dependencies:Array.from(J),cacheVersion:Y.cacheVersion,generatedAt:Date.now()};await Bun.write(G,JSON.stringify(q,null,2)),i9.set($,{output:Z,mtime:K.mtime.getTime(),dependencies:J})}catch(Q){console.warn(`Failed to cache template ${$}:`,Q)}}function q5($){return new Bun.CryptoHasher("sha1").update($).digest("hex").substring(0,XK)}var i9,N1,O$=null,tG=null,H$=null,XK=16;var L7=P(()=>{V0();i9=new Map,N1=new Map});function n9($){if($.includes("window.StacksBrowser")||$.includes("StacksBrowser ="))return $;let Z=/<script\b(?![^>]*\bserver\b)[^>]*>([\s\S]*?)<\/script>/gi,J="",Y;while((Y=Z.exec($))!==null)J+=Y[1]+`
6621
+ `}var WK;var w4=C(()=>{F4();F4();WK={state:_4,derived:z4,effect:U4,batch:B4,onMount:j4,onDestroy:O4,isSignal:H9,isDerived:L9,untrack:H4,peek:L4,generateSignalsRuntime:$8,generateSignalsRuntimeDev:F9}});var N4={};r(N4,{templateCache:()=>Z8,readFileCached:()=>_K,invalidateFileCacheByDir:()=>UK,invalidateFileCache:()=>zK,hashFilePath:()=>z5,getCachedSignalsRuntime:()=>jK,getCachedRouterScript:()=>OK,clearDevCaches:()=>HK,checkCache:()=>LK,cacheTemplate:()=>FK});import Y1 from"fs";import P1 from"path";async function _K($){let J;for(let Y=0;Y<3;Y++)try{let X=(await Y1.promises.stat($)).mtime.getTime(),G=F1.get($);if(G&&G.mtime===X)return G.content;let K=await Bun.file($).text(),_=(await Y1.promises.stat($)).mtime.getTime();if(_!==X)continue;return F1.set($,{content:K,mtime:_}),K}catch(Q){J=Q;break}throw F1.delete($),Error(`File not found: ${$}${J?` (${J.message})`:""}`)}function zK($){F1.delete($)}function UK($){for(let Z of F1.keys())if(Z.startsWith($))F1.delete(Z)}async function jK($=!1){if($){let{generateSignalsRuntimeDev:Z}=await Promise.resolve().then(() => (w4(),V4));return Z()}if(V9===null){let{generateSignalsRuntime:Z}=await Promise.resolve().then(() => (w4(),V4));V9=Z()}return V9}async function OK(){if(w9===null){let{getRouterScript:$}=await import("stx-router");w9=$()}return w9}function HK(){F1.clear(),V9=null,BK=null,w9=null}async function LK($,Z){try{if(!Z.cachePath)return null;let J=P1.resolve(Z.cachePath),Y=P1.join(J,`${z5($)}.html`),Q=P1.join(J,`${z5($)}.meta.json`);if(!await i(Y)||!await i(Q))return null;let X=await Bun.file(Q).text(),G=JSON.parse(X);if(G.cacheVersion!==Z.cacheVersion)return null;if((await Y1.promises.stat($)).mtime.getTime()>G.mtime)return null;for(let q of G.dependencies)if(await i(q)){if((await Y1.promises.stat(q)).mtime.getTime()>G.mtime)return null}else return null;return await Bun.file(Y).text()}catch(J){return console.warn(`Cache error for ${$}:`,J),null}}async function FK($,Z,J,Y){try{if(!Y.cachePath)return;let Q=P1.resolve(Y.cachePath);await Y1.promises.mkdir(Q,{recursive:!0});let X=P1.join(Q,`${z5($)}.html`),G=P1.join(Q,`${z5($)}.meta.json`),K=await Y1.promises.stat($);await Bun.write(X,Z);let q={sourcePath:$,mtime:K.mtime.getTime(),dependencies:Array.from(J),cacheVersion:Y.cacheVersion,generatedAt:Date.now()};await Bun.write(G,JSON.stringify(q,null,2)),Z8.set($,{output:Z,mtime:K.mtime.getTime(),dependencies:J})}catch(Q){console.warn(`Failed to cache template ${$}:`,Q)}}function z5($){return new Bun.CryptoHasher("sha1").update($).digest("hex").substring(0,VK)}var Z8,F1,V9=null,BK=null,w9=null,VK=16;var R4=C(()=>{F0();Z8=new Map,F1=new Map});function Y8($){if($.includes("window.StacksBrowser")||$.includes("StacksBrowser ="))return $;let Z=/<script\b(?![^>]*\bserver\b)[^>]*>([\s\S]*?)<\/script>/gi,J="",Y;while((Y=Z.exec($))!==null)J+=Y[1]+`
6532
6622
  `;let Q=/\{\{([\s\S]*?)\}\}/g;while((Y=Q.exec($))!==null)J+=Y[1]+`
6533
- `;if(!J.trim())return $;let G=["browserQuery","BrowserQueryBuilder","configureBrowser","createBrowserModel"].some((z)=>{return new RegExp(`\\b${z}\\b`).test(J)}),K=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"]),q=/\b([A-Z][a-zA-Z0-9]*)\s*\.\s*(all|find|first|get|where|orderBy|orderByDesc|limit|select|pluck|create|update|delete)\s*\(/g,U,_=!1;while((U=q.exec(J))!==null)if(!K.has(U[1])){_=!0;break}if(!G&&!_)return $;let W=`<script type="module">
6623
+ `;if(!J.trim())return $;let G=["browserQuery","BrowserQueryBuilder","configureBrowser","createBrowserModel"].some((U)=>{return new RegExp(`\\b${U}\\b`).test(J)}),K=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"]),q=/\b([A-Z][a-zA-Z0-9]*)\s*\.\s*(all|find|first|get|where|orderBy|orderByDesc|limit|select|pluck|create|update|delete)\s*\(/g,_,W=!1;while((_=q.exec(J))!==null)if(!K.has(_[1])){W=!0;break}if(!G&&!W)return $;let z=`<script type="module">
6534
6624
  // STX: Auto-load @stacksjs/browser (auto-initializes API and loads models)
6535
6625
  import '@stacksjs/browser'
6536
- </script>`;if($.includes("</head>")){let z=$.indexOf("</head>"),B=$.slice(0,z).indexOf("<script");if(B!==-1)return $.slice(0,B)+W+`
6537
- `+$.slice(B);return $.replace("</head>",`${W}
6626
+ </script>`;if($.includes("</head>")){let U=$.indexOf("</head>"),B=$.slice(0,U).indexOf("<script");if(B!==-1)return $.slice(0,B)+z+`
6627
+ `+$.slice(B);return $.replace("</head>",`${z}
6538
6628
  </head>`)}if($.includes("<body"))return $.replace(/<body([^>]*)>/,`<body$1>
6539
- ${W}`);return W+`
6540
- `+$}async function o9($,Z){if($.includes("window.stx.state")||$.includes("STX Signals Runtime"))return $;if(Z.buildMode==="compile"){let K=$.indexOf("<script");if(K!==-1)return $.slice(0,K)+`<script src="/__stx/runtime.__STX_HASH__.js"></script>
6629
+ ${z}`);return z+`
6630
+ `+$}async function J8($,Z){if($.includes("window.stx.state")||$.includes("STX Signals Runtime"))return $;if(Z.buildMode==="compile"){let K=$.indexOf("<script");if(K!==-1)return $.slice(0,K)+`<script src="/__stx/runtime.__STX_HASH__.js"></script>
6541
6631
  `+$.slice(K);if($.includes("</head>")){let q=$.indexOf("</head>");return $.slice(0,q)+`<script src="/__stx/runtime.__STX_HASH__.js"></script>
6542
6632
  `+$.slice(q)}return`<script src="/__stx/runtime.__STX_HASH__.js"></script>
6543
- `+$}let{getCachedSignalsRuntime:J}=await Promise.resolve().then(() => (L7(),H7)),Q=`<script data-stx-scoped>${await J(Z.debug)}</script>`,X=$.indexOf("<script");if(X!==-1)return $.slice(0,X)+Q+`
6633
+ `+$}let{getCachedSignalsRuntime:J}=await Promise.resolve().then(() => (R4(),N4)),Q=`<script data-stx-scoped>${await J(Z.debug)}</script>`,X=$.indexOf("<script");if(X!==-1)return $.slice(0,X)+Q+`
6544
6634
  `+$.slice(X);if($.includes("</head>")){let G=$.indexOf("</head>");return $.slice(0,G)+Q+`
6545
6635
  `+$.slice(G)}if($.includes("<body")){let G=$.indexOf("<body"),K=$.indexOf(">",G);return $.slice(0,K+1)+`
6546
6636
  `+Q+$.slice(K+1)}return Q+`
6547
- `+$}async function F7($,Z){if(!$.includes("</body>"))return $;if($.includes("__stxRouter)return")||$.includes("__stxRouter=true"))return $;let J=Z?.router,Y="";if(J){let K={};if(J.container)K.container=J.container;if(J.viewTransitions!==void 0)K.viewTransitions=J.viewTransitions;if(J.viewTransitionDuration!==void 0)K.viewTransitionDuration=J.viewTransitionDuration;if(J.viewTransitionEasing!==void 0)K.viewTransitionEasing=J.viewTransitionEasing;if(J.scrollToTop!==void 0)K.scrollToTop=J.scrollToTop;if(J.prefetch!==void 0)K.prefetch=J.prefetch;if(J.cache!==void 0)K.cache=J.cache;if(J.progressColor!==void 0)K.progressColor=J.progressColor;if(J.progressHeight!==void 0)K.progressHeight=J.progressHeight;if(Object.keys(K).length>0)Y=`<script>window.__stxRouterConfig=${JSON.stringify(K)};</script>
6548
- `}let{getCachedRouterScript:Q}=await Promise.resolve().then(() => (L7(),H7)),X=Z?.buildMode==="compile"?'<script src="/__stx/router.__STX_HASH__.js"></script>':`<script>${await Q()}</script>`,G=$.lastIndexOf("</body>");return $.slice(0,G)+Y+X+`
6549
- </body>`+$.slice(G+7)}var $8={};r($8,{scanScriptTags:()=>r9,processSignals:()=>R7,processScriptSetup:()=>t9,parseLoopExpression:()=>a9,hasSignalsSyntax:()=>L$,extractExports:()=>e9,convertSignalLoopsToAttributes:()=>N7,convertSignalDirectivesToAttributes:()=>V7});function r9($,Z={}){let J=[],Y=/<script\b([^>]*)>/gi,Q;while((Q=Y.exec($))!==null){let X=Q[1],G=Q.index+Q[0].length,K=$.toLowerCase().indexOf("</script>",G);if(K===-1)break;let q=K+9;if(Z.skipAttrs&&Z.skipAttrs.test(X)){Y.lastIndex=q;continue}J.push({fullMatch:$.slice(Q.index,q),attrs:X,body:$.slice(G,K),start:Q.index,end:q}),Y.lastIndex=q}return J}function a9($){let Z=$.trim(),J=Z.match(/^([\s\S]+?)\s+as\s+(.+)$/);if(J){let Q=J[1].trim(),X=J[2].trim(),{itemVar:G,indexVar:K}=s9(X);if(G)return{style:"as",iterable:Q,itemVar:G,indexVar:K}}let Y=Z.match(/^(\([^)]+\)|\w+(?:\s*,\s*\w+)?)\s+(?:in|of)\s+([\s\S]+)$/);if(Y){let Q=Y[1].trim(),X=Y[2].trim(),{itemVar:G,indexVar:K}=s9(Q);if(G)return{style:"in",iterable:X,itemVar:G,indexVar:K}}return{style:"unknown",iterable:null,itemVar:null,indexVar:null}}function s9($){let Z=$.trim(),J=Z.match(/^(\w+)\s*=>\s*(\w+)$/);if(J)return{itemVar:J[2],indexVar:J[1]};let Y=Z.match(/^\(\s*(\w+)(?:\s*,\s*(\w+))?\s*\)$/);if(Y)return{itemVar:Y[1],indexVar:Y[2]||null};let Q=Z.match(/^(\w+)\s*,\s*(\w+)$/);if(Q)return{itemVar:Q[1],indexVar:Q[2]};let X=Z.match(/^(\w+)$/);if(X)return{itemVar:X[1],indexVar:null};return{itemVar:null,indexVar:null}}function L$($){return[/@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*\(/,/data-stx(?:-auto)?(?![-\w])/,/data-stx-scoped/].some((J)=>J.test($))}function GK($){let Z=/@(if\s*\(|endif|elseif\s*\(|else\b)/g,J=0,Y;while((Y=Z.exec($))!==null){let Q=Y[1];if(Q.startsWith("if"))J++;else if(Q==="endif")J--;else if(J===0)return!0}return!1}function V7($){let Z=$,J=/@if\s*\(/g,Y,Q=[];while((Y=J.exec(Z))!==null){let X=Y.index,G=X+Y[0].length,K=1,q=G;while(q<Z.length&&K>0){if(Z[q]==="(")K++;else if(Z[q]===")")K--;q++}if(K!==0)continue;let U=Z.substring(G,q-1).trim(),_=q,W=1,z=_,j=/@(if\s*\(|endif)/g;j.lastIndex=_;let B;while((B=j.exec(Z))!==null)if(B[1].startsWith("if"))W++;else if(B[1]==="endif"){if(W--,W===0){z=B.index+B[0].length;break}}if(W!==0)continue;let O=Z.substring(_,z-6).trim();if(GK(O))continue;let F=O.match(/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s),L;if(F){let[,H,V,R]=F,N=U.replace(/"/g,"&quot;");L=`<${H}${V} @if="${N}">${R}</${H}>`}else L=`<template @if="${U.replace(/"/g,"&quot;")}">${O}</template>`;Q.push({start:X,end:z,replacement:L})}for(let X=Q.length-1;X>=0;X--){let{start:G,end:K,replacement:q}=Q[X];Z=Z.substring(0,G)+q+Z.substring(K)}return Z}function N7($,Z){let J=$,Y=/@(for|foreach)\s*\(/g,Q,X=[];while((Q=Y.exec(J))!==null){let G=Q[1],K=Q.index,q=K+Q[0].length,U=1,_=q;while(_<J.length&&U>0){if(J[_]==="(")U++;else if(J[_]===")")U--;_++}if(U!==0)continue;let W=J.substring(q,_-1).trim(),z=_,j=a9(W);if(j.iterable){let A=j.iterable.trim();if(A.startsWith("[")||A.startsWith("{")||A.startsWith("'")||A.startsWith('"')||A.startsWith("`")||/^-?\d/.test(A))continue;if(Z){let w=A.split(/[.[(]/)[0].trim();if(w&&w in Z)continue}}if(j.style==="as")W=j.indexVar?`(${j.itemVar}, ${j.indexVar}) in ${j.iterable}`:`${j.itemVar} in ${j.iterable}`;let B=G==="for"?"@endfor":"@endforeach",O=1,F=z,L=G==="for"?new RegExp("@(for(?!each)\\s*\\(|endfor(?!each))","g"):new RegExp(`@(${G}\\s*\\(|end${G})`,"g");L.lastIndex=z;let H;while((H=L.exec(J))!==null)if(H[1].startsWith(G))O++;else if(O--,O===0){F=H.index+H[0].length;break}if(O!==0)continue;let V=J.substring(z,F-B.length).trim(),R=V.match(/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s),N;if(R){let[,A,w,M]=R;N=`<${A}${w} @for="${W}">${M}</${A}>`}else N=`<template @for="${W}">${V}</template>`;X.push({start:K,end:F,replacement:N})}for(let G=X.length-1;G>=0;G--){let{start:K,end:q,replacement:U}=X[G];J=J.substring(0,K)+U+J.substring(q)}return J}function KK($){let Z=new Set,J=[],Y=0,Q=0,X=$.length,G=(_)=>{let W=Y+1;while(W<X){let z=$[W];if(z==="\\"){W+=2;continue}if(z===_)return W+1;W++}return X},K=()=>{let _=Y+2;while(_<X&&$[_]!==`
6550
- `)_++;return _},q=()=>{let _=Y+2;while(_<X-1){if($[_]==="*"&&$[_+1]==="/")return _+2;_++}return X},U=(_)=>{let W=_,z=0;while(W<X){let j=$[W];if(j==="/"&&$[W+1]==="/"){let B=W+2;while(B<X&&$[B]!==`
6551
- `)B++;W=B;continue}if(j==="/"&&$[W+1]==="*"){let B=W+2;while(B<X-1&&!($[B]==="*"&&$[B+1]==="/"))B++;W=B+2;continue}if(j==='"'||j==="'"||j==="`"){let B=W+1;while(B<X){if($[B]==="\\"){B+=2;continue}if($[B]===j){B++;break}B++}W=B;continue}if(j==="("||j==="["||j==="{"){z++,W++;continue}if(j===")"||j==="]"||j==="}"){z--,W++;continue}if(j===";"&&z===0)return W+1;W++}return X};while(Y<X){let _=$[Y];if(_==="/"&&$[Y+1]==="/"){let W=K();J.push($.slice(Y,W)),Y=W;continue}if(_==="/"&&$[Y+1]==="*"){let W=q();J.push($.slice(Y,W)),Y=W;continue}if(_==='"'||_==="'"||_==="`"){let W=G(_);J.push($.slice(Y,W)),Y=W;continue}if(_==="{"){Q++,J.push(_),Y++;continue}if(_==="}"){Q--,J.push(_),Y++;continue}if(Q===0){let W=Y>0?$[Y-1]:"";if(W===""||/\s/.test(W)||W===";"||W==="}"||W==="{"){let j=$.slice(Y).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(j){let B=j[2],O=U(Y+j[0].length);if(Z.has(B)){J.push(`/* stx: deduped const ${B} */`),Y=O;continue}Z.add(B),J.push($.slice(Y,O)),Y=O;continue}}}J.push(_),Y++}return J.join("")}async function t9($,Z){let J=r9($,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b/}),Y=/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useStore|useLocalStorage|useSessionStorage|useFetch|useRef|useEventListener|useDebounce|useDebouncedValue|useThrottle|useInterval|useTimeout|useToggle|useCounter|useClickOutside|useFocus|useAsync|useColorMode|useDark|useWebSocket|useRoute|useSearchParams|onMount|onDestroy)\s*(?:<[^>]*>)?\s*\(/,Q=[];for(let j of J){let B=j.body;if(Q1(j.attrs))B=G1(B);if(Y.test(B))Q.push({fullMatch:j.fullMatch,attrs:j.attrs,content:B})}if(Q.length===0)return{output:$,setupCode:null};let X=`__stx_setup_${Date.now()}_${QK++}`,{hasUserImports:G,bundleClientScript:K}=await Promise.resolve().then(() => (C$(),y$)),q=[];for(let j=0;j<Q.length;j++){let B=Q[j].content;if(G(B))console.log("[stx:bundler] bundling signal script imports"),B=await K(B,Z||"",{projectRoot:process.cwd()});B=B.replace(/^\s*import\s+(?:type\s+)?\{[^}]*\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,"// [stx import stripped \u2014 resolved via window.stx in __stx_setup]");let O=n0(B);q.push(`// \u2500\u2500 merged signal script #${j+1} \u2500\u2500
6552
- ${O}`)}let U=q.join(`
6553
-
6554
- `);U=KK(U);let _=e9(U),W=`
6637
+ `+$}async function A4($,Z){if(!$.includes("</body>"))return $;if($.includes("__stxRouter)return")||$.includes("__stxRouter=true"))return $;let J=Z?.router,Y="";if(J){let K={};if(J.container)K.container=J.container;if(J.viewTransitions!==void 0)K.viewTransitions=J.viewTransitions;if(J.viewTransitionDuration!==void 0)K.viewTransitionDuration=J.viewTransitionDuration;if(J.viewTransitionEasing!==void 0)K.viewTransitionEasing=J.viewTransitionEasing;if(J.scrollToTop!==void 0)K.scrollToTop=J.scrollToTop;if(J.prefetch!==void 0)K.prefetch=J.prefetch;if(J.cache!==void 0)K.cache=J.cache;if(J.progressColor!==void 0)K.progressColor=J.progressColor;if(J.progressHeight!==void 0)K.progressHeight=J.progressHeight;if(Object.keys(K).length>0)Y=`<script>window.__stxRouterConfig=${JSON.stringify(K)};</script>
6638
+ `}let{getCachedRouterScript:Q}=await Promise.resolve().then(() => (R4(),N4)),X=Z?.buildMode==="compile"?'<script src="/__stx/router.__STX_HASH__.js"></script>':`<script>${await Q()}</script>`,G=$.lastIndexOf("</body>");return $.slice(0,G)+Y+X+`
6639
+ </body>`+$.slice(G+7)}var _8={};r(_8,{scanScriptTags:()=>G8,processSignals:()=>I4,processScriptSetup:()=>q8,parseLoopExpression:()=>K8,hasSignalsSyntax:()=>R9,extractExports:()=>W8,convertSignalLoopsToAttributes:()=>M4,convertSignalDirectivesToAttributes:()=>T4});function G8($,Z={}){let J=[];N9.lastIndex=0;let Y;while((Y=N9.exec($))!==null){let Q=Y[1],X=Y.index+Y[0].length,G=$.toLowerCase().indexOf("</script>",X);if(G===-1)break;let K=G+9;if(Z.skipAttrs&&Z.skipAttrs.test(Q)){N9.lastIndex=K;continue}J.push({fullMatch:$.slice(Y.index,K),attrs:Q,body:$.slice(X,G),start:Y.index,end:K}),N9.lastIndex=K}return J}function K8($){let Z=$.trim(),J=Z.match(/^([\s\S]+?)\s+as\s+(.+)$/);if(J){let Q=J[1].trim(),X=J[2].trim(),{itemVar:G,indexVar:K}=X8(X);if(G)return{style:"as",iterable:Q,itemVar:G,indexVar:K}}let Y=Z.match(/^(\([^)]+\)|\w+(?:\s*,\s*\w+)?)\s+(?:in|of)\s+([\s\S]+)$/);if(Y){let Q=Y[1].trim(),X=Y[2].trim(),{itemVar:G,indexVar:K}=X8(Q);if(G)return{style:"in",iterable:X,itemVar:G,indexVar:K}}return{style:"unknown",iterable:null,itemVar:null,indexVar:null}}function X8($){let Z=$.trim(),J=Z.match(/^(\w+)\s*=>\s*(\w+)$/);if(J)return{itemVar:J[2],indexVar:J[1]};let Y=Z.match(/^\(\s*(\w+)(?:\s*,\s*(\w+))?\s*\)$/);if(Y)return{itemVar:Y[1],indexVar:Y[2]||null};let Q=Z.match(/^(\w+)\s*,\s*(\w+)$/);if(Q)return{itemVar:Q[1],indexVar:Q[2]};let X=Z.match(/^(\w+)$/);if(X)return{itemVar:X[1],indexVar:null};return{itemVar:null,indexVar:null}}function R9($){return[/@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*\(/,/data-stx(?:-auto)?(?![-\w])/,/data-stx-scoped/].some((J)=>J.test($))}function NK($){let Z=/@(if\s*\(|endif|elseif\s*\(|else\b)/g,J=0,Y;while((Y=Z.exec($))!==null){let Q=Y[1];if(Q.startsWith("if"))J++;else if(Q==="endif")J--;else if(J===0)return!0}return!1}function T4($){let Z=$,J=/@if\s*\(/g,Y,Q=[];while((Y=J.exec(Z))!==null){let X=Y.index,G=X+Y[0].length,K=1,q=G;while(q<Z.length&&K>0){if(Z[q]==="(")K++;else if(Z[q]===")")K--;q++}if(K!==0)continue;let _=Z.substring(G,q-1).trim(),W=q,z=1,U=W,j=/@(if\s*\(|endif)/g;j.lastIndex=W;let B;while((B=j.exec(Z))!==null)if(B[1].startsWith("if"))z++;else if(B[1]==="endif"){if(z--,z===0){U=B.index+B[0].length;break}}if(z!==0)continue;let O=Z.substring(W,U-6).trim();if(NK(O))continue;let F=O.match(Q8),L;if(F){let[,H,V,N]=F,w=_.replace(/"/g,"&quot;");L=`<${H}${V} @if="${w}">${N}</${H}>`}else L=`<template @if="${_.replace(/"/g,"&quot;")}">${O}</template>`;Q.push({start:X,end:U,replacement:L})}for(let X=Q.length-1;X>=0;X--){let{start:G,end:K,replacement:q}=Q[X];Z=Z.substring(0,G)+q+Z.substring(K)}return Z}function M4($,Z){let J=$,Y=/@(for|foreach)\s*\(/g,Q,X=[];while((Q=Y.exec(J))!==null){let G=Q[1],K=Q.index,q=K+Q[0].length,_=1,W=q;while(W<J.length&&_>0){if(J[W]==="(")_++;else if(J[W]===")")_--;W++}if(_!==0)continue;let z=J.substring(q,W-1).trim(),U=W,j=K8(z);if(j.iterable){let R=j.iterable.trim();if(R.startsWith("[")||R.startsWith("{")||R.startsWith("'")||R.startsWith('"')||R.startsWith("`")||/^-?\d/.test(R))continue;if(Z){let A=R.split(/[.[(]/)[0].trim();if(A&&A in Z)continue}}if(j.style==="as")z=j.indexVar?`(${j.itemVar}, ${j.indexVar}) in ${j.iterable}`:`${j.itemVar} in ${j.iterable}`;let B=G==="for"?"@endfor":"@endforeach",O=1,F=U,L=G==="for"?new RegExp("@(for(?!each)\\s*\\(|endfor(?!each))","g"):new RegExp(`@(${G}\\s*\\(|end${G})`,"g");L.lastIndex=U;let H;while((H=L.exec(J))!==null)if(H[1].startsWith(G))O++;else if(O--,O===0){F=H.index+H[0].length;break}if(O!==0)continue;let V=J.substring(U,F-B.length).trim(),N=V.match(Q8),w;if(N){let[,R,A,T]=N;w=`<${R}${A} @for="${z}">${T}</${R}>`}else w=`<template @for="${z}">${V}</template>`;X.push({start:K,end:F,replacement:w})}for(let G=X.length-1;G>=0;G--){let{start:K,end:q,replacement:_}=X[G];J=J.substring(0,K)+_+J.substring(q)}return J}function RK($){let Z=new Set,J=[],Y=0,Q=0,X=$.length,G=(W)=>{let z=Y+1;while(z<X){let U=$[z];if(U==="\\"){z+=2;continue}if(U===W)return z+1;z++}return X},K=()=>{let W=Y+2;while(W<X&&$[W]!==`
6640
+ `)W++;return W},q=()=>{let W=Y+2;while(W<X-1){if($[W]==="*"&&$[W+1]==="/")return W+2;W++}return X},_=(W)=>{let z=W,U=0;while(z<X){let j=$[z];if(j==="/"&&$[z+1]==="/"){let B=z+2;while(B<X&&$[B]!==`
6641
+ `)B++;z=B;continue}if(j==="/"&&$[z+1]==="*"){let B=z+2;while(B<X-1&&!($[B]==="*"&&$[B+1]==="/"))B++;z=B+2;continue}if(j==='"'||j==="'"||j==="`"){let B=z+1;while(B<X){if($[B]==="\\"){B+=2;continue}if($[B]===j){B++;break}B++}z=B;continue}if(j==="("||j==="["||j==="{"){U++,z++;continue}if(j===")"||j==="]"||j==="}"){U--,z++;continue}if(j===";"&&U===0)return z+1;z++}return X};while(Y<X){let W=$[Y];if(W==="/"&&$[Y+1]==="/"){let z=K();J.push($.slice(Y,z)),Y=z;continue}if(W==="/"&&$[Y+1]==="*"){let z=q();J.push($.slice(Y,z)),Y=z;continue}if(W==='"'||W==="'"||W==="`"){let z=G(W);J.push($.slice(Y,z)),Y=z;continue}if(W==="{"){Q++,J.push(W),Y++;continue}if(W==="}"){Q--,J.push(W),Y++;continue}if(Q===0){let z=Y>0?$[Y-1]:"";if(z===""||/\s/.test(z)||z===";"||z==="}"||z==="{"){let j=$.slice(Y).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(j){let B=j[2],O=_(Y+j[0].length);if(Z.has(B)){J.push(`/* stx: deduped const ${B} */`),Y=O;continue}Z.add(B),J.push($.slice(Y,O)),Y=O;continue}}}J.push(W),Y++}return J.join("")}async function q8($,Z){let J=G8($,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b/}),Y=/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useStore|useLocalStorage|useSessionStorage|useFetch|useRef|useEventListener|useDebounce|useDebouncedValue|useThrottle|useInterval|useTimeout|useToggle|useCounter|useClickOutside|useFocus|useAsync|useColorMode|useDark|useWebSocket|useRoute|useSearchParams|onMount|onDestroy)\s*(?:<[^>]*>)?\s*\(/,Q=[];for(let j of J){let B=j.body;if(Q1(j.attrs))B=G1(B);if(Y.test(B))Q.push({fullMatch:j.fullMatch,attrs:j.attrs,content:B})}if(Q.length===0)return{output:$,setupCode:null};let X=`__stx_setup_${Date.now()}_${wK++}`,{hasUserImports:G,bundleClientScript:K}=await Promise.resolve().then(() => (g9(),f9)),q=[];for(let j=0;j<Q.length;j++){let B=Q[j].content;if(G(B))console.log("[stx:bundler] bundling signal script imports"),B=await K(B,Z||"",{projectRoot:process.cwd()});B=B.replace(/^\s*import\s+(?:type\s+)?\{[^}]*\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,"// [stx import stripped \u2014 resolved via window.stx in __stx_setup]");let O=n0(B);q.push(`// \u2500\u2500 merged signal script #${j+1} \u2500\u2500
6642
+ ${O}`)}let _=q.join(`
6643
+
6644
+ `);_=RK(_);let W=W8(_),z=`
6555
6645
  <script data-stx-scoped>
6556
6646
  function ${X}() {
6557
6647
  const { state, derived, effect, batch, onMount, onDestroy, defineStore, useStore, useFetch, useRef, useQuery, useMutation, useDebounce, useDebouncedValue, useThrottle, useInterval, useTimeout, useToggle, useCounter, useClickOutside, useFocus, useAsync, useLocalStorage, useEventListener, useWebSocket, useColorMode, useDark, useHead, useSeoMeta, useRoute, useSearchParams, navigate, goBack, goForward, provide, ref, reactive, computed, watch, watchEffect } = window.stx;
6558
- ${U}
6559
- return { ${_} };
6648
+ ${_}
6649
+ return { ${W} };
6560
6650
  }
6561
6651
  if(window.stx)window.stx._latestSetup=${X};
6562
- </script>`,z=$;for(let j of Q)z=z.split(j.fullMatch).join("");if(z.includes("<body"))z=z.replace(/<body([^>]*)>/,`<body$1 data-stx="${X}">`);else{let j=["script","style","html","head","meta","link","title","!doctype"];z=z.replace(/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*)>/i,(B,O,F)=>{if(j.includes(O.toLowerCase()))return B;return`<${O}${F} data-stx="${X}">`})}return{output:z,setupCode:W}}function e9($){let Z=$,J=[],Y=new Set,Q=0,X=0,G=Z.length,K=(W)=>{X++;while(X<G){if(Z[X]==="\\"){X+=2;continue}if(Z[X]===W){X++;return}X++}},q=()=>{X++;while(X<G){if(Z[X]==="\\"){X+=2;continue}if(Z[X]==="`"){X++;return}if(Z[X]==="$"&&Z[X+1]==="{"){X+=2;let W=1;while(X<G&&W>0)if(Z[X]==="{")W++;else if(Z[X]==="}")W--;else if(Z[X]==="'"||Z[X]==='"')K(Z[X]);else if(Z[X]==="`")q();else X++;continue}X++}},U=()=>{if(Z[X]==="/"&&Z[X+1]==="/"){while(X<G&&Z[X]!==`
6563
- `)X++;return!0}if(Z[X]==="/"&&Z[X+1]==="*"){X+=2;while(X<G-1&&!(Z[X]==="*"&&Z[X+1]==="/"))X++;return X+=2,!0}return!1},_=()=>{if(Q!==0)return;let W=Z.slice(X).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(W){let B=W[2];if(!Y.has(B))J.push(B),Y.add(B);return}let z=Z.slice(X).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let B=z[1];if(!Y.has(B))J.push(B),Y.add(B);return}let j=Z.slice(X).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(j){let B=j[1];if(!Y.has(B))J.push(B),Y.add(B)}};while(X<G){if(U())continue;if(Z[X]==="'"||Z[X]==='"'){K(Z[X]);continue}if(Z[X]==="`"){q();continue}if(Z[X]==="{"){Q++,X++;continue}if(Z[X]==="}"){Q--,X++;continue}if(Q===0&&/[a-z]/i.test(Z[X])&&(X===0||/\s|[;{}()]/.test(Z[X-1])))_();X++}return J.join(", ")}async function R7($,Z,J){if(!L$($))return $;let Y=$;if(Z.skipSignalsRuntime)return Y;let{output:Q,setupCode:X}=await t9(Y,J);if(Y=Q,Y=await o9(Y,Z),Y=n9(Y),X)if(Y.includes("</head>"))Y=Y.replace("</head>",`${X}
6652
+ </script>`,U=$;for(let j of Q)U=U.split(j.fullMatch).join("");if(U.includes("<body"))U=U.replace(/<body([^>]*)>/,`<body$1 data-stx="${X}">`);else{let j=["script","style","html","head","meta","link","title","!doctype"];U=U.replace(/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*)>/i,(B,O,F)=>{if(j.includes(O.toLowerCase()))return B;return`<${O}${F} data-stx="${X}">`})}return{output:U,setupCode:z}}function W8($){let Z=$,J=[],Y=new Set,Q=0,X=0,G=Z.length,K=(z)=>{X++;while(X<G){if(Z[X]==="\\"){X+=2;continue}if(Z[X]===z){X++;return}X++}},q=()=>{X++;while(X<G){if(Z[X]==="\\"){X+=2;continue}if(Z[X]==="`"){X++;return}if(Z[X]==="$"&&Z[X+1]==="{"){X+=2;let z=1;while(X<G&&z>0)if(Z[X]==="{")z++;else if(Z[X]==="}")z--;else if(Z[X]==="'"||Z[X]==='"')K(Z[X]);else if(Z[X]==="`")q();else X++;continue}X++}},_=()=>{if(Z[X]==="/"&&Z[X+1]==="/"){while(X<G&&Z[X]!==`
6653
+ `)X++;return!0}if(Z[X]==="/"&&Z[X+1]==="*"){X+=2;while(X<G-1&&!(Z[X]==="*"&&Z[X+1]==="/"))X++;return X+=2,!0}return!1},W=()=>{if(Q!==0)return;let z=Z.slice(X).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(z){let B=z[2];if(!Y.has(B))J.push(B),Y.add(B);return}let U=Z.slice(X).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(U){let B=U[1];if(!Y.has(B))J.push(B),Y.add(B);return}let j=Z.slice(X).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(j){let B=j[1];if(!Y.has(B))J.push(B),Y.add(B)}};while(X<G){if(_())continue;if(Z[X]==="'"||Z[X]==='"'){K(Z[X]);continue}if(Z[X]==="`"){q();continue}if(Z[X]==="{"){Q++,X++;continue}if(Z[X]==="}"){Q--,X++;continue}if(Q===0&&/[a-z]/i.test(Z[X])&&(X===0||/\s|[;{}()]/.test(Z[X-1])))W();X++}return J.join(", ")}async function I4($,Z,J){if(!R9($))return $;let Y=$;if(Z.skipSignalsRuntime)return Y;let{output:Q,setupCode:X}=await q8(Y,J);if(Y=Q,Y=await J8(Y,Z),Y=Y8(Y),X)if(Y.includes("</head>"))Y=Y.replace("</head>",`${X}
6564
6654
  </head>`);else if(Y.includes("<body"))Y=Y.replace(/<body([^>]*)>/,`<body$1>
6565
6655
  ${X}`);else Y=Y+`
6566
- `+X;let G=Y.match(/<body([^>]*)>/i),K=G&&/data-stx/.test(G[1]);if(!X&&!K){if(Y.includes("<body")&&G&&!/data-stx-auto/.test(G[1]))Y=Y.replace(/<body([^>]*)>/,"<body$1 data-stx-auto>")}return Y}var QK=0;var A7=P(()=>{V0()});import S0 from"path";import w7 from"fs";function Z8($){return $.split("-").map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join("")}function Y8($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class J8{builtins=new Map;registerBuiltin($){this.builtins.set($.name.toLowerCase(),$);for(let Z of $.aliases)this.builtins.set(Z.toLowerCase(),$)}isBuiltin($){return this.builtins.has($.toLowerCase())}getBuiltin($){return this.builtins.get($.toLowerCase())??null}async resolveFile($,Z,J,Y){let Q=$.endsWith(".stx")?$.slice(0,-4):$,X=Y?.__importedComponents;if(X){let j=[Q,Q.toLowerCase(),Z8(Q),Y8(Q)];for(let B of j)if(X.has(B))return X.get(B)}let G=[...new Set([`${Q}.stx`,`${Z8(Q)}.stx`,`${Y8(Q)}.stx`])];if(Q.startsWith("./")||Q.startsWith("../")){let j=S0.resolve(S0.dirname(Z),`${Q}.stx`);if(await c(j))return j;return null}let K=[],q=J.componentsDir||"",U=Y?.__originalFilePath;if(U)K.push(S0.join(S0.dirname(U),"components"));if(q)K.push(q);let _=S0.join(S0.dirname(Z),"components");if(!K.includes(_))K.push(_);let W=process.cwd(),z=[S0.resolve(W,"src/components"),S0.resolve(W,"components"),S0.resolve(import.meta.dir,"components")];for(let j of z)if(!K.includes(j))K.push(j);for(let j of K){if(!j)continue;for(let B of G){let O=S0.join(j,B);if(await c(O))return O}try{if(!w7.statSync(j,{throwIfNoEntry:!1})?.isDirectory())continue;let O=w7.readdirSync(j,{withFileTypes:!0});for(let F of O)if(F.isDirectory()){let L=S0.join(j,F.name);for(let H of G){let V=S0.join(L,H);if(await c(V))return V}}}catch{}}return null}}var c0;var T7=P(()=>{V0();c0=new J8});function d0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function qK($){if($.clientReactive.to)return{value:$.clientReactive.to,reactive:!0};if($.serverDynamic.to!==void 0)return{value:String($.serverDynamic.to),reactive:!1};if(typeof $.static.to==="string")return{value:$.static.to,reactive:!1};return{value:"#",reactive:!1}}var M7;var I7=P(()=>{M7={name:"StxLink",aliases:["stx-link"],render($,Z,J){let Y=qK($),Q=(typeof $.static.class==="string"?$.static.class:"")||(typeof $.static.className==="string"?$.static.className:""),X=typeof $.static.activeClass==="string"?$.static.activeClass:"active",G=typeof $.static.exactActiveClass==="string"?$.static.exactActiveClass:"exact-active",K=$.static.prefetch===!0||$.static.prefetch==="true"||$.serverDynamic.prefetch===!0,q=[];if(Y.reactive)q.push(`:href="${d0(Y.value)}"`);else q.push(`href="${d0(Y.value)}"`);if(Q)q.push(`class="${d0(Q)}"`);if(q.push("data-stx-link"),q.push(`data-stx-active-class="${d0(X)}"`),q.push(`data-stx-exact-active-class="${d0(G)}"`),K)q.push("data-stx-prefetch");for(let[_,W]of Object.entries($.events))q.push(`@${d0(_)}="${d0(W)}"`);let U=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);for(let[_,W]of Object.entries($.static)){if(U.has(_))continue;if(typeof W==="boolean"){if(W)q.push(d0(_))}else q.push(`${d0(_)}="${d0(W)}"`)}return`<a ${q.join(" ")}>${Z}</a>`}}});function W0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function T0($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}function D7($,Z,J=!1){let Y=$.serverDynamic[Z];if(Y!==void 0)return Y!==!1&&Y!=="false";let Q=$.static[Z];if(Q!==void 0)return Q!=="false"&&Q!==!1;return J}function X8($){if($.includes("(")||$.includes(","))return $;let Z=$.trim().split(/\s+/),J=[];for(let Y of Z)if(Y.includes(":")){let[Q,X]=Y.split(":"),G=_K[Q];if(G)J.push(`(max-width: ${G}px) ${X}`);else{let K=Number.parseInt(Q);if(!Number.isNaN(K))J.push(`(max-width: ${K}px) ${X}`)}}else J.push(Y);return J.join(", ")}function k7($,Z,J,Y){return Z.map((Q)=>`${_5($,Q,void 0,J,Y)} ${Q}w`).join(", ")}function UK($,Z,J,Y,Q){return Z.map((X)=>{let G=J?J*X:void 0;return`${_5($,G,void 0,Y,Q)} ${X}x`}).join(", ")}function _5($,Z,J,Y,Q){if(!Y||Y==="local"||Y==="static")return $;if(Y==="cloudinary"){let X=[];if(Z)X.push(`w_${Z}`);if(J)X.push(`h_${J}`);if(Q)X.push(`f_${Q}`);X.push("q_auto");let G=X.join(",");return $.replace("/upload/",`/upload/${G}/`)}if(Y==="imgix"){let X=new URLSearchParams;if(Z)X.set("w",String(Z));if(J)X.set("h",String(J));if(Q)X.set("fm",Q);X.set("auto","format");let G=$.includes("?")?"&":"?";return`${$}${G}${X.toString()}`}if(Y==="bunny"){let X=new URLSearchParams;if(Z)X.set("width",String(Z));if(J)X.set("height",String(J));if(Q)X.set("format",Q);let G=$.includes("?")?"&":"?";return`${$}${G}${X.toString()}`}return $}function WK($,Z,J="#e5e7eb"){let Y=`<svg xmlns="http://www.w3.org/2000/svg" width="${$}" height="${Z}"><rect width="100%" height="100%" fill="${J}"/></svg>`;return`data:image/svg+xml;base64,${btoa(Y)}`}var _K,E7,S7;var b7=P(()=>{_K={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},E7=[320,640,768,1024,1280,1536,1920];S7={name:"StxImage",aliases:["stx-image","stx-img"],render($,Z,J){let Y=T0($,"src")||"",Q=T0($,"alt")||"",X=T0($,"width"),G=T0($,"height"),K=T0($,"sizes"),q=T0($,"srcset"),U=T0($,"densities"),_=T0($,"format"),W=T0($,"placeholder"),z=T0($,"placeholderColor")||"#e5e7eb",j=T0($,"provider"),B=T0($,"class")||T0($,"className")||"",O=T0($,"style")||"",F=T0($,"quality"),L=D7($,"lazy",!0),H=D7($,"preload",!1),V=D7($,"picture",!1)||!!_,R=X?Number.parseInt(X):void 0,N=G?Number.parseInt(G):void 0,A=q||"",w="";if(!A&&K)A=k7(Y,E7,j,_),w=X8(K);else if(!A&&U){let b=U.split(/\s+/).map((S)=>Number.parseFloat(S.replace("x","")));A=UK(Y,b,R,j,_)}else if(K)w=X8(K);let M=[];if(O)M.push(O);if(R&&N)M.push(`aspect-ratio:${R}/${N}`);if(W==="blur"||W==="color"){let b=WK(R||16,N||9,z);M.push(`background-image:url(${b})`),M.push("background-size:cover"),M.push("background-repeat:no-repeat")}else if(W&&W!=="empty"&&W!=="none")M.push(`background-image:url(${W0(W)})`),M.push("background-size:cover"),M.push("background-repeat:no-repeat");let E=_5(Y,R,N,j,_),T=[];if(T.push(`src="${W0(E)}"`),T.push(`alt="${W0(Q)}"`),X)T.push(`width="${W0(X)}"`);if(G)T.push(`height="${W0(G)}"`);if(L)T.push('loading="lazy"');if(T.push('decoding="async"'),B)T.push(`class="${W0(B)}"`);if(M.length>0)T.push(`style="${W0(M.join(";"))}"`);if(A)T.push(`srcset="${W0(A)}"`);if(w)T.push(`sizes="${W0(w)}"`);let I=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);for(let[b,S]of Object.entries($.static)){if(I.has(b))continue;if(typeof S==="boolean"){if(S)T.push(W0(b))}else T.push(`${W0(b)}="${W0(S)}"`)}let D=`<img ${T.join(" ")} />`,y="";if(H){let S=_==="webp"?"image/webp":_==="avif"?"image/avif":"";y=`<link rel="preload" as="image" href="${W0(E)}"${S?` type="${S}"`:""}${A?` imagesrcset="${W0(A)}"`:""}${w?` imagesizes="${W0(w)}"`:""} />
6567
- `}if(V){let b=[];if(_==="avif"||_==="auto"){let S=_5(Y,R,N,j,"avif"),k=A?k7(Y,E7,j,"avif"):`${S}`;b.push(`<source type="image/avif" srcset="${W0(k)}"${w?` sizes="${W0(w)}"`:""} />`)}if(_==="webp"||_==="auto"){let S=_5(Y,R,N,j,"webp"),k=A?k7(Y,E7,j,"webp"):`${S}`;b.push(`<source type="image/webp" srcset="${W0(k)}"${w?` sizes="${W0(w)}"`:""} />`)}return`${y}<picture>
6568
- ${b.join(`
6656
+ `+X;let G=Y.match(/<body([^>]*)>/i),K=G&&/data-stx/.test(G[1]);if(!X&&!K){if(Y.includes("<body")&&G&&!/data-stx-auto/.test(G[1]))Y=Y.replace(/<body([^>]*)>/,"<body$1 data-stx-auto>")}return Y}var wK=0,N9,Q8;var D4=C(()=>{F0();N9=/<script\b([^>]*)>/gi,Q8=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s});import b0 from"path";import E4 from"fs";function z8($){return $.split("-").map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join("")}function U8($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class B8{builtins=new Map;registerBuiltin($){this.builtins.set($.name.toLowerCase(),$);for(let Z of $.aliases)this.builtins.set(Z.toLowerCase(),$)}isBuiltin($){return this.builtins.has($.toLowerCase())}getBuiltin($){return this.builtins.get($.toLowerCase())??null}async resolveFile($,Z,J,Y){let Q=$.endsWith(".stx")?$.slice(0,-4):$,X=Y?.__importedComponents;if(X){let j=[Q,Q.toLowerCase(),z8(Q),U8(Q)];for(let B of j)if(X.has(B))return X.get(B)}let G=[...new Set([`${Q}.stx`,`${z8(Q)}.stx`,`${U8(Q)}.stx`])];if(Q.startsWith("./")||Q.startsWith("../")){let j=b0.resolve(b0.dirname(Z),`${Q}.stx`);if(await i(j))return j;return null}let K=[],q=J.componentsDir||"",_=Y?.__originalFilePath;if(_)K.push(b0.join(b0.dirname(_),"components"));if(q)K.push(q);let W=b0.join(b0.dirname(Z),"components");if(!K.includes(W))K.push(W);let z=process.cwd(),U=[b0.resolve(z,"src/components"),b0.resolve(z,"components"),b0.resolve(import.meta.dir,"components")];for(let j of U)if(!K.includes(j))K.push(j);for(let j of K){if(!j)continue;for(let B of G){let O=b0.join(j,B);if(await i(O))return O}try{if(!E4.statSync(j,{throwIfNoEntry:!1})?.isDirectory())continue;let O=E4.readdirSync(j,{withFileTypes:!0});for(let F of O)if(F.isDirectory()){let L=b0.join(j,F.name);for(let H of G){let V=b0.join(L,H);if(await i(V))return V}}}catch{}}return null}}var d0;var k4=C(()=>{F0();d0=new B8});function m0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function AK($){if($.clientReactive.to)return{value:$.clientReactive.to,reactive:!0};if($.serverDynamic.to!==void 0)return{value:String($.serverDynamic.to),reactive:!1};if(typeof $.static.to==="string")return{value:$.static.to,reactive:!1};return{value:"#",reactive:!1}}var b4;var S4=C(()=>{b4={name:"StxLink",aliases:["stx-link"],render($,Z,J){let Y=AK($),Q=(typeof $.static.class==="string"?$.static.class:"")||(typeof $.static.className==="string"?$.static.className:""),X=typeof $.static.activeClass==="string"?$.static.activeClass:"active",G=typeof $.static.exactActiveClass==="string"?$.static.exactActiveClass:"exact-active",K=$.static.prefetch===!0||$.static.prefetch==="true"||$.serverDynamic.prefetch===!0,q=[];if(Y.reactive)q.push(`:href="${m0(Y.value)}"`);else q.push(`href="${m0(Y.value)}"`);if(Q)q.push(`class="${m0(Q)}"`);if(q.push("data-stx-link"),q.push(`data-stx-active-class="${m0(X)}"`),q.push(`data-stx-exact-active-class="${m0(G)}"`),K)q.push("data-stx-prefetch");for(let[W,z]of Object.entries($.events))q.push(`@${m0(W)}="${m0(z)}"`);let _=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);for(let[W,z]of Object.entries($.static)){if(_.has(W))continue;if(typeof z==="boolean"){if(z)q.push(m0(W))}else q.push(`${m0(W)}="${m0(z)}"`)}return`<a ${q.join(" ")}>${Z}</a>`}}});function z0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function T0($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}function C4($,Z,J=!1){let Y=$.serverDynamic[Z];if(Y!==void 0)return Y!==!1&&Y!=="false";let Q=$.static[Z];if(Q!==void 0)return Q!=="false"&&Q!==!1;return J}function j8($){if($.includes("(")||$.includes(","))return $;let Z=$.trim().split(/\s+/),J=[];for(let Y of Z)if(Y.includes(":")){let[Q,X]=Y.split(":"),G=TK[Q];if(G)J.push(`(max-width: ${G}px) ${X}`);else{let K=Number.parseInt(Q);if(!Number.isNaN(K))J.push(`(max-width: ${K}px) ${X}`)}}else J.push(Y);return J.join(", ")}function P4($,Z,J,Y){return Z.map((Q)=>`${U5($,Q,void 0,J,Y)} ${Q}w`).join(", ")}function MK($,Z,J,Y,Q){return Z.map((X)=>{let G=J?J*X:void 0;return`${U5($,G,void 0,Y,Q)} ${X}x`}).join(", ")}function U5($,Z,J,Y,Q){if(!Y||Y==="local"||Y==="static")return $;if(Y==="cloudinary"){let X=[];if(Z)X.push(`w_${Z}`);if(J)X.push(`h_${J}`);if(Q)X.push(`f_${Q}`);X.push("q_auto");let G=X.join(",");return $.replace("/upload/",`/upload/${G}/`)}if(Y==="imgix"){let X=new URLSearchParams;if(Z)X.set("w",String(Z));if(J)X.set("h",String(J));if(Q)X.set("fm",Q);X.set("auto","format");let G=$.includes("?")?"&":"?";return`${$}${G}${X.toString()}`}if(Y==="bunny"){let X=new URLSearchParams;if(Z)X.set("width",String(Z));if(J)X.set("height",String(J));if(Q)X.set("format",Q);let G=$.includes("?")?"&":"?";return`${$}${G}${X.toString()}`}return $}function IK($,Z,J="#e5e7eb"){let Y=`<svg xmlns="http://www.w3.org/2000/svg" width="${$}" height="${Z}"><rect width="100%" height="100%" fill="${J}"/></svg>`;return`data:image/svg+xml;base64,${btoa(Y)}`}var TK,y4,v4;var x4=C(()=>{TK={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},y4=[320,640,768,1024,1280,1536,1920];v4={name:"StxImage",aliases:["stx-image","stx-img"],render($,Z,J){let Y=T0($,"src")||"",Q=T0($,"alt")||"",X=T0($,"width"),G=T0($,"height"),K=T0($,"sizes"),q=T0($,"srcset"),_=T0($,"densities"),W=T0($,"format"),z=T0($,"placeholder"),U=T0($,"placeholderColor")||"#e5e7eb",j=T0($,"provider"),B=T0($,"class")||T0($,"className")||"",O=T0($,"style")||"",F=T0($,"quality"),L=C4($,"lazy",!0),H=C4($,"preload",!1),V=C4($,"picture",!1)||!!W,N=X?Number.parseInt(X):void 0,w=G?Number.parseInt(G):void 0,R=q||"",A="";if(!R&&K)R=P4(Y,y4,j,W),A=j8(K);else if(!R&&_){let S=_.split(/\s+/).map((b)=>Number.parseFloat(b.replace("x","")));R=MK(Y,S,N,j,W)}else if(K)A=j8(K);let T=[];if(O)T.push(O);if(N&&w)T.push(`aspect-ratio:${N}/${w}`);if(z==="blur"||z==="color"){let S=IK(N||16,w||9,U);T.push(`background-image:url(${S})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat")}else if(z&&z!=="empty"&&z!=="none")T.push(`background-image:url(${z0(z)})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat");let I=U5(Y,N,w,j,W),M=[];if(M.push(`src="${z0(I)}"`),M.push(`alt="${z0(Q)}"`),X)M.push(`width="${z0(X)}"`);if(G)M.push(`height="${z0(G)}"`);if(L)M.push('loading="lazy"');if(M.push('decoding="async"'),B)M.push(`class="${z0(B)}"`);if(T.length>0)M.push(`style="${z0(T.join(";"))}"`);if(R)M.push(`srcset="${z0(R)}"`);if(A)M.push(`sizes="${z0(A)}"`);let E=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);for(let[S,b]of Object.entries($.static)){if(E.has(S))continue;if(typeof b==="boolean"){if(b)M.push(z0(S))}else M.push(`${z0(S)}="${z0(b)}"`)}let k=`<img ${M.join(" ")} />`,y="";if(H){let b=W==="webp"?"image/webp":W==="avif"?"image/avif":"";y=`<link rel="preload" as="image" href="${z0(I)}"${b?` type="${b}"`:""}${R?` imagesrcset="${z0(R)}"`:""}${A?` imagesizes="${z0(A)}"`:""} />
6657
+ `}if(V){let S=[];if(W==="avif"||W==="auto"){let b=U5(Y,N,w,j,"avif"),D=R?P4(Y,y4,j,"avif"):`${b}`;S.push(`<source type="image/avif" srcset="${z0(D)}"${A?` sizes="${z0(A)}"`:""} />`)}if(W==="webp"||W==="auto"){let b=U5(Y,N,w,j,"webp"),D=R?P4(Y,y4,j,"webp"):`${b}`;S.push(`<source type="image/webp" srcset="${z0(D)}"${A?` sizes="${z0(A)}"`:""} />`)}return`${y}<picture>
6658
+ ${S.join(`
6569
6659
  `)}
6570
- ${D}
6571
- </picture>`}return`${y}${D}`}}});function y7($){return $.replace(/[;{}()]/g,"").replace(/url/gi,"")}function U5($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}function F$($,Z,J){let Y=U5($,Z);if(Y!==void 0){let Q=Number.parseInt(Y,10);if(!Number.isNaN(Q))return Q}return J}var C7;var P7=P(()=>{C7={name:"StxLoadingIndicator",aliases:["stx-loading-indicator"],render($,Z,J){let Y=y7(U5($,"color")||"#6366f1"),Q=y7(U5($,"initialColor")||U5($,"initial-color")||""),X=y7(U5($,"height")||"3px"),G=F$($,"duration",2000),K=F$($,"throttle",200),q=F$($,"zIndex",999999)||F$($,"z-index",999999),U=Q?`linear-gradient(to right, ${Q}, ${Y})`:Y;return`
6572
- <div id="stx-loading-indicator" style="position:fixed;top:0;left:0;right:0;height:${X};background:${U};z-index:${q};transform:scaleX(0);transform-origin:left;transition:transform 0.1s ease-out,opacity 0.3s ease;opacity:0;pointer-events:none">
6660
+ ${k}
6661
+ </picture>`}return`${y}${k}`}}});function f4($){return $.replace(/[;{}()]/g,"").replace(/url/gi,"")}function B5($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}function A9($,Z,J){let Y=B5($,Z);if(Y!==void 0){let Q=Number.parseInt(Y,10);if(!Number.isNaN(Q))return Q}return J}var g4;var h4=C(()=>{g4={name:"StxLoadingIndicator",aliases:["stx-loading-indicator"],render($,Z,J){let Y=f4(B5($,"color")||"#6366f1"),Q=f4(B5($,"initialColor")||B5($,"initial-color")||""),X=f4(B5($,"height")||"3px"),G=A9($,"duration",2000),K=A9($,"throttle",200),q=A9($,"zIndex",999999)||A9($,"z-index",999999),_=Q?`linear-gradient(to right, ${Q}, ${Y})`:Y;return`
6662
+ <div id="stx-loading-indicator" style="position:fixed;top:0;left:0;right:0;height:${X};background:${_};z-index:${q};transform:scaleX(0);transform-origin:left;transition:transform 0.1s ease-out,opacity 0.3s ease;opacity:0;pointer-events:none">
6573
6663
  <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>
6574
6664
  </div>
6575
6665
  <style>@keyframes stx-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}</style>
6576
6666
  <script>
6577
6667
  (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)},${K})},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()})})();
6578
- </script>`}}});function G8($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}function zK($,Z,J){let Y=G8($,Z);if(Y!==void 0){let Q=Number.parseInt(Y,10);if(!Number.isNaN(Q))return Q}return J}var Q8,v7;var x7=P(()=>{Q8={"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%)"},v7={name:"StxToast",aliases:["stx-toast"],render($,Z,J){let Y=G8($,"position")||"top-right",Q=zK($,"max",5),X=Q8[Y]||Q8["top-right"];return`<div id="stx-toast-container" data-stx-toast-position="${Y}" data-stx-toast-max="${Q}" style="position:fixed;${X};z-index:999999;display:flex;flex-direction:column;gap:0.5rem;pointer-events:none;max-width:24rem;width:100%"></div>
6668
+ </script>`}}});function H8($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}function DK($,Z,J){let Y=H8($,Z);if(Y!==void 0){let Q=Number.parseInt(Y,10);if(!Number.isNaN(Q))return Q}return J}var O8,d4;var m4=C(()=>{O8={"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%)"},d4={name:"StxToast",aliases:["stx-toast"],render($,Z,J){let Y=H8($,"position")||"top-right",Q=DK($,"max",5),X=O8[Y]||O8["top-right"];return`<div id="stx-toast-container" data-stx-toast-position="${Y}" data-stx-toast-max="${Q}" style="position:fixed;${X};z-index:999999;display:flex;flex-direction:column;gap:0.5rem;pointer-events:none;max-width:24rem;width:100%"></div>
6579
6669
  <style>
6580
6670
  @keyframes stx-toast-in{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
6581
6671
  @keyframes stx-toast-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}
@@ -6583,7 +6673,7 @@ ${D}
6583
6673
  @keyframes stx-toast-out-left{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}
6584
6674
  @keyframes stx-toast-in-center{from{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}
6585
6675
  @keyframes stx-toast-out-center{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-1rem)}}
6586
- </style>`}}});function V$($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}var K8,f7;var g7=P(()=>{K8={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)"},f7={name:"StxModal",aliases:["stx-modal"],render($,Z,J){let Y=V$($,"id");if(!Y)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let Q=V$($,"size")||"md",X=V$($,"closeOnBackdrop")!=="false",G=V$($,"closeOnEscape")!=="false",K=K8[Q]||K8.md;return`<div id="stx-modal-${Y}" class="stx-modal-backdrop" data-stx-modal="${Y}" data-close-backdrop="${X}" data-close-escape="${G}" 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">
6676
+ </style>`}}});function T9($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}var L8,u4;var p4=C(()=>{L8={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)"},u4={name:"StxModal",aliases:["stx-modal"],render($,Z,J){let Y=T9($,"id");if(!Y)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let Q=T9($,"size")||"md",X=T9($,"closeOnBackdrop")!=="false",G=T9($,"closeOnEscape")!=="false",K=L8[Q]||L8.md;return`<div id="stx-modal-${Y}" class="stx-modal-backdrop" data-stx-modal="${Y}" data-close-backdrop="${X}" data-close-escape="${G}" 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">
6587
6677
  <div class="stx-modal-panel" style="${K};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)">
6588
6678
  <div style="padding:1.5rem">${Z}</div>
6589
6679
  </div>
@@ -6592,24 +6682,33 @@ ${D}
6592
6682
  @media(prefers-color-scheme:dark){[data-stx-modal]{--stx-modal-bg:#1f2937;--stx-modal-text:#f3f4f6}}
6593
6683
  .stx-modal-backdrop[data-stx-modal-open]{display:flex!important;opacity:1}
6594
6684
  .stx-modal-backdrop[data-stx-modal-open] .stx-modal-panel{transform:scale(1) translateY(0);opacity:1}
6595
- </style>`}}});var U8={};r(U8,{preloadIconCollection:()=>_8,IconBuiltin:()=>N$});async function q8($){if(W5.has($))return W5.get($);try{let Z=J0.resolve(`@iconify/json/json/${$}.json`),J=await Bun.file(Z).json();return W5.set($,J.icons),J.icons}catch{try{let J=`${process.cwd()}/node_modules/@iconify/json/json/${$}.json`,Y=Bun.file(J);if(await Y.exists()){let Q=await Y.json();return W5.set($,Q.icons),Q.icons}}catch{}}return null}function P1($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);if($.static[Z]!==void 0)return String($.static[Z]);if($.clientReactive[Z]!==void 0)return $.clientReactive[Z];return}async function _8($="lucide"){await q8($)}var W5,N$;var R$=P(()=>{W5=new Map;N$={name:"Icon",aliases:["icon","stx-icon"],render($,Z,J){let Y=P1($,"name")??P1($,"icon");if(!Y)return"<!-- Icon: missing name/icon prop -->";let Q="lucide",X=Y;if(Y.includes(":")){let H=Y.split(":");Q=H[0],X=H[1]}let G=P1($,"size")||"24",K=P1($,"color")||"currentColor",q=P1($,"class")||"",U=P1($,"style")||"",_=W5.get(Q);if(!_)return q8(Q),`<!-- Icon: collection "${Q}" not loaded -->`;let W=_[X];if(!W)return`<!-- Icon: "${X}" not found in ${Q} -->`;let z=W.width||24,j=W.height||24,B=`0 0 ${z} ${j}`,O=W.body;if(K!=="currentColor")O=O.replace(/currentColor/g,K);let F=q?` class="${q}"`:"",L=U?` style="${U}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${G}" height="${G}" viewBox="${B}" fill="none"${F}${L}>${O}</svg>`}}});function W8(){c0.registerBuiltin(M7),c0.registerBuiltin(S7),c0.registerBuiltin(C7),c0.registerBuiltin(v7),c0.registerBuiltin(f7),c0.registerBuiltin(N$)}var z8=P(()=>{I7();b7();P7();x7();g7();R$();T7();I7();b7();P7();x7();g7();R$()});function B8($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function j8($,Z,J){let Y=[],Q=0;while(Q<$.length){let X=$.indexOf("<",Q);if(X===-1)break;let K=$.slice(X+1).match(new RegExp(`^(${Z.source})`));if(!K){Q=X+1;continue}let q=K[1];if(J&&J.has(q.toLowerCase())){let O=X+1+q.length;while(O<$.length&&$[O]!==">")O++;Q=O+1;continue}let U=X+1+q.length,_=null,W=U,z=-1,j=!1;while(U<$.length){let O=$[U];if(_){if(O==="\\"&&U+1<$.length){U+=2;continue}if(O===_)_=null;U++;continue}if(O==='"'||O==="'"){_=O,U++;continue}if(O==="/"&&U+1<$.length&&$[U+1]===">"){z=U+2,j=!0;break}if(O===">"){z=U+1;break}U++}if(z===-1){Q=X+1;continue}let B=$.slice(W,j?z-2:z-1).trim();if(j)Y.push({fullMatch:$.slice(X,z),tagName:q,attributes:B,content:"",startIndex:X,endIndex:z,isSelfClosing:!0}),Q=z;else{let O=`<${q}`,F=`</${q}>`,L=1,H=z,V=-1;while(L>0&&H<$.length){let A=$.indexOf(O,H),w=$.indexOf(F,H);if(w===-1)break;if(A!==-1&&A<w){let M=$[A+O.length];if(M===" "||M===">"||M==="/"||M===`
6596
- `||M==="\t")L++;H=A+O.length}else{if(L--,L===0){V=w;break}H=w+F.length}}if(V===-1){Q=z;continue}let R=$.slice(z,V),N=V+F.length;Y.push({fullMatch:$.slice(X,N),tagName:q,attributes:B,content:R,startIndex:X,endIndex:N,isSelfClosing:!1}),Q=N}}return Y}var O8=P(()=>{R0();V0()});import v1 from"path";function jK($,Z,J){let Y={static:{},serverDynamic:{},clientReactive:{},events:{}},Q=new Set(["x-cloak","x-show","x-if","x-for","x-data","x-init","x-transition","x-ref","x-effect","x-model","x-text","x-html","x-class","x-style","x-on","x-bind"]);for(let[X,G]of Object.entries($)){let K=X.startsWith("x-")&&!Q.has(X)&&!X.startsWith("x-bind:")&&!X.startsWith("x-on:")?`:${X.slice(2)}`:X;if(K.startsWith("@")){Y.events[K]=G;continue}if(K.startsWith("__stx_")){let q=K.slice(6);try{let U=G.replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&");Y.serverDynamic[q]=JSON.parse(U)}catch(U){if(J.debug)console.error(`Error parsing __stx_${q}:`,U);Y.serverDynamic[q]=G}continue}if(K.startsWith(":")){let q=K.slice(1),U=G==="true"?q:G;try{if(!e(U)){if(J.debug)console.error(`Unsafe expression in :${q} binding: ${U}`);Y.clientReactive[q]=U;continue}let _=Object.keys(Z),z=$0(U,_)(...Object.values(Z));if(z===void 0){let j=U.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],B=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(j.some((F)=>!B.has(F)&&!_.includes(F))){Y.clientReactive[q]=U;continue}}Y.serverDynamic[q]=z}catch{Y.clientReactive[q]=U}continue}if(typeof G==="string"&&G.includes("{{")&&G.includes("}}")){let q=G.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(q)try{let U=q[1];if(e(U)){let W=$0(U,Object.keys(Z))(...Object.values(Z));Y.static[K]=W!=null?String(W):""}else{if(J.debug)console.error(`Unsafe expression in ${K}: ${U}`);Y.static[K]=G}}catch(U){if(J.debug)console.error(`Error evaluating expression for ${K}:`,U);Y.static[K]=G}else{let U=G,_=/\{\{\s*([\s\S]+?)\s*\}\}/g,W;while((W=_.exec(G))!==null)try{let z=W[1];if(!e(z)){if(J.debug)console.error(`Unsafe expression in ${K}: ${z}`);continue}let B=$0(z,Object.keys(Z))(...Object.values(Z));U=U.replace(W[0],String(B??""))}catch(z){if(J.debug)console.error(`Error evaluating expression in ${K}:`,z)}Y.static[K]=U}continue}Y.static[K]=G}return Y}function OK($){let Z={},J=0,Y=$.length;while(J<Y){while(J<Y&&/\s/.test($[J]))J++;if(J>=Y)break;let Q="";while(J<Y&&!/[\s=]/.test($[J]))Q+=$[J],J++;if(!Q)break;while(J<Y&&/\s/.test($[J]))J++;if(J<Y&&$[J]==="="){J++;while(J<Y&&/\s/.test($[J]))J++;let X="";if(J<Y&&($[J]==='"'||$[J]==="'")){let G=$[J];J++;while(J<Y){let K=$[J];if(K==="\\"&&J+1<Y){J++,X+=$[J],J++;continue}if(K===G){J++;break}X+=K,J++}}else while(J<Y&&!/\s/.test($[J]))X+=$[J],J++;Z[Q]=X}else Z[Q]="true"}return Z}async function HK($,Z,J,Y,Q){let X=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,K=/@import\s*\(\s*([^)]+)\s*\)/g,q;while((q=K.exec(X))!==null){let[U,_]=q,W=_.split(",").map((z)=>z.trim().replace(/^['"]|['"]$/g,"")).filter((z)=>z.length>0);for(let z of W){let j=z.split("/"),O=j[j.length-1].replace(/\.stx$/,""),F=O.includes("-")?O.split("-").map((V)=>V.charAt(0).toUpperCase()+V.slice(1)).join(""):O.charAt(0).toUpperCase()+O.slice(1),L=null,H=[v1.resolve(v1.dirname(J),`${z}.stx`),v1.resolve(v1.dirname(J),z),v1.resolve(Y.componentsDir||"components",`${z}.stx`),v1.resolve(Y.componentsDir||"components",z),z.endsWith(".stx")?z:`${z}.stx`];for(let V of H)try{if(await Bun.file(V).exists()){L=V;break}}catch{}if(L){G.set(F,L),G.set(O,L),G.set(O.toLowerCase(),L);let V=F.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(G.set(V,L),Q.add(L),Y.debug)console.log(`Imported component: ${F} -> ${L}`)}else if(Y.debug)console.warn(`Could not resolve imported component: ${z}`)}X=X.replace(U,""),K.lastIndex=0}return X}async function LK($,Z,J,Y,Q){let X=$,G=Y.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,q=/@component\s*\(/g,U;while((U=q.exec(X))!==null){let _=U.index,W=_+U[0].length-1,z=1,j=W+1;while(j<X.length&&z>0){if(X[j]==="(")z++;else if(X[j]===")"){if(z--,z===0)break}j++}if(z!==0)break;let B=X.substring(W+1,j),O=j+1,F=B.match(/^\s*['"]([^'"]+)['"]/);if(!F){q.lastIndex=0;continue}let L=F[1],H,V=B.slice(F[0].length),R=V.match(/^\s*,\s*/);if(R)H=V.slice(R[0].length).trim();let N={};if(H)try{N=O0(H,Z)}catch(I){let D=I instanceof Error?I.message:String(I);X=X.replace(X.substring(_,O),`[Error parsing component props: ${D}]`);continue}let A="",w=O,E=X.substring(O).match(/^([\s\S]*?)@endcomponent/);if(E)A=E[1].trim(),w=O+E[0].length;let T=await W1(L,N,A,G,Z,J,Y,K,Q);X=X.substring(0,_)+T+X.substring(w),q.lastIndex=0}return X}async function FK($,Z,J,Y,Q){if(!$)return $;let X=$,G=Y.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents;return X=await W(X,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),X=await W(X,/[A-Z][a-zA-Z0-9]*/,!0),X=await W(X,/[a-z][a-z0-9]*/,!1,BK),X;async function W(z,j,B,O){if(!z)return z;let F=z,L=j8(F,j,O);for(let H=L.length-1;H>=0;H--){let V=L[H],R=B?B8(V.tagName):V.tagName,N=OK(V.attributes),A=jK(N,Z,Y),w=c0.getBuiltin(V.tagName);if(w){let I={context:Z,filePath:J,options:Y,dependencies:Q},D=w.render(A,V.content,I);if(Object.keys(A.clientReactive).length>0)D=L8(D,A.clientReactive);if(Object.keys(A.events).length>0){let y=Object.entries(A.events).map(([b,S])=>`${b}="${S.replace(/"/g,"&quot;")}"`).join(" ");D=D.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${y}`)}F=F.substring(0,V.startIndex)+D+F.substring(V.endIndex);continue}let M={};for(let[I,D]of Object.entries(A.static))M[I]=D;for(let[I,D]of Object.entries(A.serverDynamic))M[I]=D;let T=await W1(R,M,V.content,G,Z,J,Y,K,Q);if(Object.keys(A.clientReactive).length>0)T=L8(T,A.clientReactive);if(Object.keys(A.events).length>0){let I=T.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(I){let D=Object.entries(A.events).map(([b,S])=>`${b}="${S}"`).join(" "),y=I[1].length+I[2].length;T=T.substring(0,y)+" "+D+T.substring(y)}}F=F.substring(0,V.startIndex)+T+F.substring(V.endIndex)}return F}}function L8($,Z){let J=$.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(!J)return $;let Y=Object.entries(Z).map(([X,G])=>`:${X}="${G.replace(/"/g,"&quot;")}"`).join(" "),Q=J[1].length+J[2].length;return $.substring(0,Q)+" "+Y+$.substring(Q)}async function h7($,Z,J,Y,Q){if(!H8)W8(),H8=!0;let X=await HK($,Z,J,Y,Q);X=await LK(X,Z,J,Y,Q);for(let G=0;G<3;G++){let K=X;if(X=await FK(X,Z,J,Y,Q),X===K)break}return X}var H8=!1,BK;var F8=P(()=>{T7();z8();O8();V0();R0();BK=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","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"])});import x1 from"path";function V8($){return $.startsWith("http://")||$.startsWith("https://")||$.startsWith("//")}function N8($,Z,J){try{let Y;if($.startsWith("/")){let Q=Z;for(let X=0;X<5;X++){let G=x1.join(Q,$);if(J0("fs").existsSync(G))return G;Q=x1.dirname(Q)}Y=x1.join(Z,$)}else if($.startsWith("./")||$.startsWith("../"))Y=x1.resolve(Z,$);else Y=x1.resolve(Z,$);if(J0("fs").existsSync(Y))return Y;return null}catch{return null}}async function R8($,Z,J){let Y=$,Q=x1.dirname(Z),X=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,G;while((G=X.exec(Y))!==null){let[U,_,W,z]=G;if(V8(W))continue;let j=N8(W,Q,Z);if(j)try{let B=await Bun.file(j).text();if(J.add(j),W.endsWith(".ts")||W.endsWith(".tsx")){let F=await Bun.build({entrypoints:[j],target:"browser",minify:!1});if(F.outputs.length>0)B=await F.outputs[0].text()}let O=`<script>
6597
- // Source: ${W}
6685
+ </style>`}}});function v1($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}var F8,l4;var c4=C(()=>{F8={sm:"16rem",md:"24rem",lg:"32rem",xl:"40rem"},l4={name:"StxDrawer",aliases:["stx-drawer"],render($,Z,J){let Y=v1($,"id");if(!Y)return console.warn('[stx] <StxDrawer> requires an "id" prop'),"<!-- StxDrawer: missing id prop -->";let Q=v1($,"side")||"right",X=v1($,"size")||"md",G=v1($,"closeOnBackdrop")!=="false",K=v1($,"closeOnEscape")!=="false",q=v1($,"overlay")!=="false",_=F8[X]||F8.md,W=Q==="left",z=W?"left:0":"right:0",U=W?"translateX(-100%)":"translateX(100%)",j=W?"stx-drawer-slide-left":"stx-drawer-slide-right";return`<div id="stx-drawer-${Y}" class="stx-drawer-backdrop" data-stx-drawer="${Y}" data-close-backdrop="${G}" data-close-escape="${K}" style="display:none;position:fixed;inset:0;z-index:99999;${q?"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">
6686
+ <div class="stx-drawer-panel" style="position:fixed;top:0;bottom:0;${z};width:${_};max-width:100vw;transform:${U};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">
6687
+ <div style="padding:1.5rem">${Z}</div>
6688
+ </div>
6689
+ </div>
6690
+ <style>
6691
+ @media(prefers-color-scheme:dark){[data-stx-drawer]{--stx-drawer-bg:#1f2937;--stx-drawer-text:#f3f4f6}}
6692
+ .stx-drawer-backdrop[data-stx-drawer-open]{display:block!important;opacity:1}
6693
+ .stx-drawer-backdrop[data-stx-drawer-open] .stx-drawer-panel{transform:translateX(0)}
6694
+ </style>`}}});var N8={};r(N8,{preloadIconCollection:()=>w8,IconBuiltin:()=>M9});async function V8($){if(j5.has($))return j5.get($);try{let Z=J0.resolve(`@iconify/json/json/${$}.json`),J=await Bun.file(Z).json();return j5.set($,J.icons),J.icons}catch{try{let J=`${process.cwd()}/node_modules/@iconify/json/json/${$}.json`,Y=Bun.file(J);if(await Y.exists()){let Q=await Y.json();return j5.set($,Q.icons),Q.icons}}catch{}}return null}function x1($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);if($.static[Z]!==void 0)return String($.static[Z]);if($.clientReactive[Z]!==void 0)return $.clientReactive[Z];return}async function w8($="lucide"){await V8($)}var j5,M9;var I9=C(()=>{j5=new Map;M9={name:"Icon",aliases:["icon","stx-icon"],render($,Z,J){let Y=x1($,"name")??x1($,"icon");if(!Y)return"<!-- Icon: missing name/icon prop -->";let Q="lucide",X=Y;if(Y.includes(":")){let H=Y.split(":");Q=H[0],X=H[1]}let G=x1($,"size")||"24",K=x1($,"color")||"currentColor",q=x1($,"class")||"",_=x1($,"style")||"",W=j5.get(Q);if(!W)return V8(Q),`<!-- Icon: collection "${Q}" not loaded -->`;let z=W[X];if(!z)return`<!-- Icon: "${X}" not found in ${Q} -->`;let U=z.width||24,j=z.height||24,B=`0 0 ${U} ${j}`,O=z.body;if(K!=="currentColor")O=O.replace(/currentColor/g,K);let F=q?` class="${q}"`:"",L=_?` style="${_}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${G}" height="${G}" viewBox="${B}" fill="none"${F}${L}>${O}</svg>`}}});function R8(){d0.registerBuiltin(b4),d0.registerBuiltin(v4),d0.registerBuiltin(g4),d0.registerBuiltin(d4),d0.registerBuiltin(u4),d0.registerBuiltin(l4),d0.registerBuiltin(M9)}var A8=C(()=>{S4();x4();h4();m4();p4();c4();I9();k4();S4();x4();h4();m4();p4();c4();I9()});function T8($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function M8($,Z,J){let Y=[],Q=0;while(Q<$.length){let X=$.indexOf("<",Q);if(X===-1)break;let K=$.slice(X+1).match(new RegExp(`^(${Z.source})`));if(!K){Q=X+1;continue}let q=K[1];if(J&&J.has(q.toLowerCase())){let O=X+1+q.length;while(O<$.length&&$[O]!==">")O++;Q=O+1;continue}let _=X+1+q.length,W=null,z=_,U=-1,j=!1;while(_<$.length){let O=$[_];if(W){if(O==="\\"&&_+1<$.length){_+=2;continue}if(O===W)W=null;_++;continue}if(O==='"'||O==="'"){W=O,_++;continue}if(O==="/"&&_+1<$.length&&$[_+1]===">"){U=_+2,j=!0;break}if(O===">"){U=_+1;break}_++}if(U===-1){Q=X+1;continue}let B=$.slice(z,j?U-2:U-1).trim();if(j)Y.push({fullMatch:$.slice(X,U),tagName:q,attributes:B,content:"",startIndex:X,endIndex:U,isSelfClosing:!0}),Q=U;else{let O=`<${q}`,F=`</${q}>`,L=1,H=U,V=-1;while(L>0&&H<$.length){let R=$.indexOf(O,H),A=$.indexOf(F,H);if(A===-1)break;if(R!==-1&&R<A){let T=$[R+O.length];if(T===" "||T===">"||T==="/"||T===`
6695
+ `||T==="\t")L++;H=R+O.length}else{if(L--,L===0){V=A;break}H=A+F.length}}if(V===-1){Q=U;continue}let N=$.slice(U,V),w=V+F.length;Y.push({fullMatch:$.slice(X,w),tagName:q,attributes:B,content:N,startIndex:X,endIndex:w,isSelfClosing:!1}),Q=w}}return Y}var I8=C(()=>{N0();F0()});import f1 from"path";function kK($,Z,J){let Y={static:{},serverDynamic:{},clientReactive:{},events:{}},Q=new Set(["x-cloak","x-show","x-if","x-for","x-data","x-init","x-transition","x-ref","x-effect","x-model","x-text","x-html","x-class","x-style","x-on","x-bind"]),X=(G)=>{if(!G.includes("-")||G.startsWith("@")||G.startsWith(":")||G.startsWith("x-")||G.startsWith("__"))return G;return G.replace(/-([a-z0-9])/g,(K,q)=>q.toUpperCase())};for(let[G,K]of Object.entries($)){let q=G.startsWith("x-")&&!Q.has(G)&&!G.startsWith("x-bind:")&&!G.startsWith("x-on:")?`:${G.slice(2)}`:G;if(q.startsWith("@")){Y.events[q]=K;continue}if(q.startsWith("__stx_")){let _=X(q.slice(6));try{let W=K.replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&");Y.serverDynamic[_]=JSON.parse(W)}catch(W){if(J.debug)console.error(`Error parsing __stx_${_}:`,W);Y.serverDynamic[_]=K}continue}if(q.startsWith(":")){let _=X(q.slice(1)),W=K==="true"?_:K;try{if(!e(W)){if(J.debug)console.error(`Unsafe expression in :${_} binding: ${W}`);Y.clientReactive[_]=W;continue}let z=Object.keys(Z),j=$0(W,z)(...Object.values(Z));if(j===void 0){let B=W.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],O=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(B.some((L)=>!O.has(L)&&!z.includes(L))){Y.clientReactive[_]=W;continue}}Y.serverDynamic[_]=j}catch{Y.clientReactive[_]=W}continue}if(typeof K==="string"&&K.includes("{{")&&K.includes("}}")){let _=K.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(_)try{let W=_[1];if(e(W)){let U=$0(W,Object.keys(Z))(...Object.values(Z));Y.static[q]=U!=null?String(U):""}else{if(J.debug)console.error(`Unsafe expression in ${q}: ${W}`);Y.static[q]=K}}catch(W){if(J.debug)console.error(`Error evaluating expression for ${q}:`,W);Y.static[q]=K}else{let W=K,z=/\{\{\s*([\s\S]+?)\s*\}\}/g,U;while((U=z.exec(K))!==null)try{let j=U[1];if(!e(j)){if(J.debug)console.error(`Unsafe expression in ${q}: ${j}`);continue}let O=$0(j,Object.keys(Z))(...Object.values(Z));W=W.replace(U[0],String(O??""))}catch(j){if(J.debug)console.error(`Error evaluating expression in ${q}:`,j)}Y.static[q]=W}continue}Y.static[q]=K}return Y}function bK($){let Z={},J=0,Y=$.length;while(J<Y){while(J<Y&&/\s/.test($[J]))J++;if(J>=Y)break;let Q="";while(J<Y&&!/[\s=]/.test($[J]))Q+=$[J],J++;if(!Q)break;while(J<Y&&/\s/.test($[J]))J++;if(J<Y&&$[J]==="="){J++;while(J<Y&&/\s/.test($[J]))J++;let X="";if(J<Y&&($[J]==='"'||$[J]==="'")){let G=$[J];J++;while(J<Y){let K=$[J];if(K==="\\"&&J+1<Y){J++,X+=$[J],J++;continue}if(K===G){J++;break}X+=K,J++}}else while(J<Y&&!/\s/.test($[J]))X+=$[J],J++;Z[Q]=X}else Z[Q]="true"}return Z}async function SK($,Z,J,Y,Q){let X=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,K=/@import\s*\(\s*([^)]+)\s*\)/g,q;while((q=K.exec(X))!==null){let[_,W]=q,z=W.split(",").map((U)=>U.trim().replace(/^['"]|['"]$/g,"")).filter((U)=>U.length>0);for(let U of z){let j=U.split("/"),O=j[j.length-1].replace(/\.stx$/,""),F=O.includes("-")?O.split("-").map((V)=>V.charAt(0).toUpperCase()+V.slice(1)).join(""):O.charAt(0).toUpperCase()+O.slice(1),L=null,H=[f1.resolve(f1.dirname(J),`${U}.stx`),f1.resolve(f1.dirname(J),U),f1.resolve(Y.componentsDir||"components",`${U}.stx`),f1.resolve(Y.componentsDir||"components",U),U.endsWith(".stx")?U:`${U}.stx`];for(let V of H)try{if(await Bun.file(V).exists()){L=V;break}}catch{}if(L){G.set(F,L),G.set(O,L),G.set(O.toLowerCase(),L);let V=F.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(G.set(V,L),Q.add(L),Y.debug)console.log(`Imported component: ${F} -> ${L}`)}else if(Y.debug)console.warn(`Could not resolve imported component: ${U}`)}X=X.replace(_,""),K.lastIndex=0}return X}async function yK($,Z,J,Y,Q){let X=$,G=Y.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,q=/@component\s*\(/g,_;while((_=q.exec(X))!==null){let W=_.index,z=W+_[0].length-1,U=1,j=z+1;while(j<X.length&&U>0){if(X[j]==="(")U++;else if(X[j]===")"){if(U--,U===0)break}j++}if(U!==0)break;let B=X.substring(z+1,j),O=j+1,F=B.match(/^\s*['"]([^'"]+)['"]/);if(!F){q.lastIndex=0;continue}let L=F[1],H,V=B.slice(F[0].length),N=V.match(/^\s*,\s*/);if(N)H=V.slice(N[0].length).trim();let w={};if(H)try{w=O0(H,Z)}catch(E){let k=E instanceof Error?E.message:String(E);X=X.replace(X.substring(W,O),`[Error parsing component props: ${k}]`);continue}let R="",A=O,I=X.substring(O).match(/^([\s\S]*?)@endcomponent/);if(I)R=I[1].trim(),A=O+I[0].length;let M=await z1(L,w,R,G,Z,J,Y,K,Q);X=X.substring(0,W)+M+X.substring(A),q.lastIndex=0}return X}async function CK($,Z,J,Y,Q){if(!$)return $;let X=$,G=Y.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents;return X=await z(X,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),X=await z(X,/[A-Z][a-zA-Z0-9]*/,!0),X=await z(X,/[a-z][a-z0-9]*/,!1,EK),X;async function z(U,j,B,O){if(!U)return U;let F=U,L=M8(F,j,O);for(let H=L.length-1;H>=0;H--){let V=L[H],N=B?T8(V.tagName):V.tagName,w=bK(V.attributes),R=kK(w,Z,Y),A=d0.getBuiltin(V.tagName);if(A){let E={context:Z,filePath:J,options:Y,dependencies:Q},k=A.render(R,V.content,E);if(Object.keys(R.clientReactive).length>0)k=E8(k,R.clientReactive);if(Object.keys(R.events).length>0){let y=Object.entries(R.events).map(([S,b])=>`${S}="${b.replace(/"/g,"&quot;")}"`).join(" ");k=k.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${y}`)}F=F.substring(0,V.startIndex)+k+F.substring(V.endIndex);continue}let T={};for(let[E,k]of Object.entries(R.static))T[E]=k;for(let[E,k]of Object.entries(R.serverDynamic))T[E]=k;let M=await z1(N,T,V.content,G,Z,J,Y,K,Q);if(Object.keys(R.clientReactive).length>0)M=E8(M,R.clientReactive);if(Object.keys(R.events).length>0){let E=M.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(E){let k=Object.entries(R.events).map(([S,b])=>`${S}="${b}"`).join(" "),y=E[1].length+E[2].length;M=M.substring(0,y)+" "+k+M.substring(y)}}F=F.substring(0,V.startIndex)+M+F.substring(V.endIndex)}return F}}function E8($,Z){let J=$.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(!J)return $;let Y=Object.entries(Z).map(([X,G])=>`:${X}="${G.replace(/"/g,"&quot;")}"`).join(" "),Q=J[1].length+J[2].length;return $.substring(0,Q)+" "+Y+$.substring(Q)}async function i4($,Z,J,Y,Q){if(!D8)R8(),D8=!0;let X=await SK($,Z,J,Y,Q);X=await yK(X,Z,J,Y,Q);for(let G=0;G<3;G++){let K=X;if(X=await CK(X,Z,J,Y,Q),X===K)break}return X}var D8=!1,EK;var k8=C(()=>{k4();A8();I8();F0();N0();EK=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","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"])});import g1 from"path";function b8($){return $.startsWith("http://")||$.startsWith("https://")||$.startsWith("//")}function S8($,Z,J){try{let Y;if($.startsWith("/")){let Q=Z;for(let X=0;X<5;X++){let G=g1.join(Q,$);if(J0("fs").existsSync(G))return G;Q=g1.dirname(Q)}Y=g1.join(Z,$)}else if($.startsWith("./")||$.startsWith("../"))Y=g1.resolve(Z,$);else Y=g1.resolve(Z,$);if(J0("fs").existsSync(Y))return Y;return null}catch{return null}}async function y8($,Z,J){let Y=$,Q=g1.dirname(Z),X=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,G;while((G=X.exec(Y))!==null){let[_,W,z,U]=G;if(b8(z))continue;let j=S8(z,Q,Z);if(j)try{let B=await Bun.file(j).text();if(J.add(j),z.endsWith(".ts")||z.endsWith(".tsx")){let F=await Bun.build({entrypoints:[j],target:"browser",minify:!1,define:x0()});if(F.outputs.length>0)B=await F.outputs[0].text()}let O=`<script>
6696
+ // Source: ${z}
6598
6697
  ${B}
6599
- </script>`;Y=Y.replace(U,O),X.lastIndex=0}catch(B){}}let K=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,q;while((q=K.exec(Y))!==null){let[U,_,W,z]=q,j=_+z;if(V8(W))continue;if(/rel=["']stylesheet["']/.test(j)||W.endsWith(".css")){let O=N8(W,Q,Z);if(O)try{let F=await Bun.file(O).text();J.add(O);let L=`<style>
6600
- /* Source: ${W} */
6698
+ </script>`;Y=Y.replace(_,O),X.lastIndex=0}catch(B){}}let K=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,q;while((q=K.exec(Y))!==null){let[_,W,z,U]=q,j=W+U;if(b8(z))continue;if(/rel=["']stylesheet["']/.test(j)||z.endsWith(".css")){let O=S8(z,Q,Z);if(O)try{let F=await Bun.file(O).text();J.add(O);let L=`<style>
6699
+ /* Source: ${z} */
6601
6700
  ${F}
6602
- </style>`;Y=Y.replace(U,L),K.lastIndex=0}catch(F){}}}return Y}var A8=()=>{};function d7($,Z){let J=$,Y=/@json\s*\(/g,Q;while((Q=Y.exec(J))!==null){let X=Q.index,G=X+Q[0].length-1,K=1,q=G+1,U=null,_=!1;while(q<J.length&&K>0){let V=J[q];if(_){_=!1,q++;continue}if(V==="\\"&&U){_=!0,q++;continue}if(U){if(V===U)U=null;q++;continue}if(V==='"'||V==="'"||V==="`"){U=V,q++;continue}if(V==="(")K++;else if(V===")"){if(K--,K===0)break}q++}if(K!==0)break;let W=J.substring(G+1,q).trim(),z=J.substring(X,q+1),j=-1,B=0,O=null,F=!1;for(let V=0;V<W.length;V++){let R=W[V];if(F){F=!1;continue}if(R==="\\"&&O){F=!0;continue}if(O){if(R===O)O=null;continue}if(R==='"'||R==="'"||R==="`"){O=R;continue}if(R==="("||R==="["||R==="{")B++;else if(R===")"||R==="]"||R==="}")B--;if(R===","&&B===0){j=V;break}}let L=j>=0?W.substring(0,j).trim():W,H=j>=0?W.substring(j+1).trim():void 0;try{let V=L.trim(),R;if(e(V))R=$0(V,Object.keys(Z))(...Object.values(Z));else R=void 0;let N;if(H==="true")N=JSON.stringify(R,null,2);else N=JSON.stringify(R);let A=N.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");J=J.substring(0,X)+A+J.substring(q+1),Y.lastIndex=X+A.length}catch(V){O1.log(V instanceof Error?V:Error(String(V)),{directive:"@json"},"error"),Y.lastIndex=X+z.length}}return J}function m7($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function w8($){let Z=$,J=/@memo\s*\(/g,Y,Q=[];while((Y=J.exec(Z))!==null){let X=Y.index,G=X+Y[0].length,K=1,q=G;while(q<Z.length&&K>0){if(Z[q]==="(")K++;else if(Z[q]===")")K--;q++}if(K!==0)continue;let U=Z.slice(G,q-1).trim(),_=q,W=Z.slice(_),z=W.indexOf("@endmemo");if(z===-1)continue;let j=W.slice(0,z),B=_+z+8,O=j.match(/^(\s*(?:<!--[\s\S]*?-->\s*)*)/),F=O?O[0].length:0,L=j.slice(F),H=j.match(/(\s*)$/),V=H?H[0].length:0,R=L.slice(0,L.length-V),N=R.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),A;if(N){let[w,M,E="",T]=N,I=`<${M}${E} data-stx-memo="${U}"${T}>`;A=j.slice(0,F)+I+R.slice(w.length)+j.slice(F+R.length)}else A=`${j.slice(0,F)}<div data-stx-memo="${U}">${R}</div>${j.slice(F+R.length)}`;Q.push({start:X,end:B,replacement:A}),J.lastIndex=B}for(let X=Q.length-1;X>=0;X--){let G=Q[X];Z=Z.slice(0,G.start)+G.replacement+Z.slice(G.end)}return Z.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function u7($){let Z=$.replace(/@ref="([^"]+)"/g,'data-stx-ref="$1"');return Z=Z.replace(/(<[a-zA-Z][a-zA-Z0-9-]*\b[^>]*?)\sref="([^"]+)"/g,'$1 data-stx-ref="$2"'),Z}function T8($){let J=new RegExp("<(div|span|p|h[1-6]|td|th|li|a|button|label|section|article|header|footer|main|nav|aside|dd|dt|figcaption|summary|caption|blockquote|pre|code|em|strong|small|sub|sup|time|mark|abbr|cite|q|s|u|b|i)\\b","gi"),Y="",Q=0,X;while((X=J.exec($))!==null){let G=X.index,K=G+X[0].length,q=!1,U=!1,_=-1;while(K<$.length){let O=$[K];if(q){if(O==="'")q=!1}else if(U){if(O==='"')U=!1}else if(O==="'")q=!0;else if(O==='"')U=!0;else if(O===">"){_=K;break}K++}if(_===-1)continue;if($.slice(G,_+1).includes("x-cloak"))continue;let z=$.slice(_+1),j=z.indexOf("</"),B=j>=0?z.slice(0,j):z.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(B))Y+=$.slice(Q,_)+" x-cloak>",Q=_+1}return Y+=$.slice(Q),Y}var p7=P(()=>{l0();R0()});function l7($,Z,J){let Y=typeof J==="boolean"?{enabled:J,failOnViolation:J}:J??{enabled:!1},Q=Y.allowPatterns??[],X=[];for(let{pattern:G,message:K,suggestion:q}of VK){if(Q.some((_)=>K.includes(_)||G.source.includes(_)))continue;G.lastIndex=0;let U=$.match(G);if(U&&U.length>0){let _=$.split(`
6603
- `),W=[];_.forEach((j,B)=>{if(G.lastIndex=0,G.test(j))W.push(B+1)});let z=W.length>0?` (line${W.length>1?"s":""}: ${W.join(", ")})`:"";X.push(` \u2717 ${K}${z}
6701
+ </style>`;Y=Y.replace(_,L),K.lastIndex=0}catch(F){}}}return Y}var C8=C(()=>{R1()});function n4($,Z){let J=$,Y=/@json\s*\(/g,Q;while((Q=Y.exec(J))!==null){let X=Q.index,G=X+Q[0].length-1,K=1,q=G+1,_=null,W=!1;while(q<J.length&&K>0){let V=J[q];if(W){W=!1,q++;continue}if(V==="\\"&&_){W=!0,q++;continue}if(_){if(V===_)_=null;q++;continue}if(V==='"'||V==="'"||V==="`"){_=V,q++;continue}if(V==="(")K++;else if(V===")"){if(K--,K===0)break}q++}if(K!==0)break;let z=J.substring(G+1,q).trim(),U=J.substring(X,q+1),j=-1,B=0,O=null,F=!1;for(let V=0;V<z.length;V++){let N=z[V];if(F){F=!1;continue}if(N==="\\"&&O){F=!0;continue}if(O){if(N===O)O=null;continue}if(N==='"'||N==="'"||N==="`"){O=N;continue}if(N==="("||N==="["||N==="{")B++;else if(N===")"||N==="]"||N==="}")B--;if(N===","&&B===0){j=V;break}}let L=j>=0?z.substring(0,j).trim():z,H=j>=0?z.substring(j+1).trim():void 0;try{let V=L.trim(),N;if(e(V))N=$0(V,Object.keys(Z))(...Object.values(Z));else N=void 0;let w;if(H==="true")w=JSON.stringify(N,null,2);else w=JSON.stringify(N);let R=w.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");J=J.substring(0,X)+R+J.substring(q+1),Y.lastIndex=X+R.length}catch(V){C0.log(V instanceof Error?V:Error(String(V)),{directive:"@json"},"error"),Y.lastIndex=X+U.length}}return J}function o4($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function P8($){let Z=$,J=/@memo\s*\(/g,Y,Q=[];while((Y=J.exec(Z))!==null){let X=Y.index,G=X+Y[0].length,K=1,q=G;while(q<Z.length&&K>0){if(Z[q]==="(")K++;else if(Z[q]===")")K--;q++}if(K!==0)continue;let _=Z.slice(G,q-1).trim(),W=q,z=Z.slice(W),U=z.indexOf("@endmemo");if(U===-1)continue;let j=z.slice(0,U),B=W+U+8,O=j.match(/^(\s*(?:<!--[\s\S]*?-->\s*)*)/),F=O?O[0].length:0,L=j.slice(F),H=j.match(/(\s*)$/),V=H?H[0].length:0,N=L.slice(0,L.length-V),w=N.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),R;if(w){let[A,T,I="",M]=w,E=`<${T}${I} data-stx-memo="${_}"${M}>`;R=j.slice(0,F)+E+N.slice(A.length)+j.slice(F+N.length)}else R=`${j.slice(0,F)}<div data-stx-memo="${_}">${N}</div>${j.slice(F+N.length)}`;Q.push({start:X,end:B,replacement:R}),J.lastIndex=B}for(let X=Q.length-1;X>=0;X--){let G=Q[X];Z=Z.slice(0,G.start)+G.replacement+Z.slice(G.end)}return Z.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function s4($){let Z=$.replace(/@ref="([^"]+)"/g,'data-stx-ref="$1"');return Z=Z.replace(/(<[a-zA-Z][a-zA-Z0-9-]*\b[^>]*?)\sref="([^"]+)"/g,'$1 data-stx-ref="$2"'),Z}function v8($){let J=new RegExp("<(div|span|p|h[1-6]|td|th|li|a|button|label|section|article|header|footer|main|nav|aside|dd|dt|figcaption|summary|caption|blockquote|pre|code|em|strong|small|sub|sup|time|mark|abbr|cite|q|s|u|b|i)\\b","gi"),Y="",Q=0,X;while((X=J.exec($))!==null){let G=X.index,K=G+X[0].length,q=!1,_=!1,W=-1;while(K<$.length){let O=$[K];if(q){if(O==="'")q=!1}else if(_){if(O==='"')_=!1}else if(O==="'")q=!0;else if(O==='"')_=!0;else if(O===">"){W=K;break}K++}if(W===-1)continue;if($.slice(G,W+1).includes("x-cloak"))continue;let U=$.slice(W+1),j=U.indexOf("</"),B=j>=0?U.slice(0,j):U.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(B))Y+=$.slice(Q,W)+" x-cloak>",Q=W+1}return Y+=$.slice(Q),Y}var r4=C(()=>{c0();N0()});function a4($,Z,J){let Y=typeof J==="boolean"?{enabled:J,failOnViolation:J}:J??{enabled:!1},Q=Y.allowPatterns??[],X=[];for(let{pattern:G,message:K,suggestion:q}of PK){if(Q.some((W)=>K.includes(W)||G.source.includes(W)))continue;G.lastIndex=0;let _=$.match(G);if(_&&_.length>0){let W=$.split(`
6702
+ `),z=[];W.forEach((j,B)=>{if(G.lastIndex=0,G.test(j))z.push(B+1)});let U=z.length>0?` (line${z.length>1?"s":""}: ${z.join(", ")})`:"";X.push(` \u2717 ${K}${U}
6604
6703
  \u2192 ${q}`)}}if(X.length>0&&Y.enabled){let K=`[STX] DOM API violation in ${Z.split("/").pop()||Z}:
6605
6704
  ${X.join(`
6606
6705
  `)}
6607
- Tip: prefer useRef(), navigate(), and composables for component code`;if(Y.failOnViolation)throw Error(K);else console.warn(K)}}var VK;var c7=P(()=>{VK=[{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:/window\.localStorage(?![A-Za-z])/g,message:"window.localStorage is prohibited",suggestion:"Use useLocalStorage() from composables"},{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"}]});var M8={};r(M8,{getStoreScript:()=>NK,clearStoreCache:()=>RK});import A$ from"path";async function NK($){let Z;if($)Z=A$.resolve($);else{let _=await H1();Z=A$.resolve(_.root||process.cwd(),_.storesDir||"stores")}let J=f1.get(Z);if(J!==void 0)return J||null;let Y=new Bun.Glob("*.ts"),Q=[];try{for await(let _ of Y.scan({cwd:Z,absolute:!0})){let W=A$.basename(_,".ts");if(["index","types"].includes(W))continue;if(_.includes(".d.ts"))continue;Q.push(_)}}catch{return f1.set(Z,""),null}if(Q.length===0)return f1.set(Z,""),null;let X=[];for(let _ of Q){let W=await Bun.file(_).text();X.push({file:_,hasUseStore:/useStore\s*\(/.test(W)})}X.sort((_,W)=>{if(_.hasUseStore===W.hasUseStore)return 0;return _.hasUseStore?1:-1});let G=X.map((_)=>_.file),K=[],q=new Bun.Transpiler({loader:"ts",target:"browser"});for(let _ of G)try{let W=await Bun.file(_).text(),z=A$.basename(_,".ts");W=W.replace(/^import\s+.*from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),W=W.replace(/^export\s+(default\s+)?/gm,""),W=q.transformSync(W),K.push(`// Store: ${z}
6608
- ${W.trim()}`)}catch(W){console.warn(`[stx] Failed to load store ${_}:`,W)}if(K.length===0)return f1.set(Z,""),null;let U=`;(function(){
6706
+ Tip: prefer useRef(), navigate(), and composables for component code`;if(Y.failOnViolation)throw Error(K);else console.warn(K)}}var PK;var t4=C(()=>{PK=[{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:/window\.localStorage(?![A-Za-z])/g,message:"window.localStorage is prohibited",suggestion:"Use useLocalStorage() from composables"},{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"}]});var x8={};r(x8,{getStoreScript:()=>vK,clearStoreCache:()=>xK});import D9 from"path";async function vK($){let Z;if($)Z=D9.resolve($);else{let W=await O1();Z=D9.resolve(W.root||process.cwd(),W.storesDir||"stores")}let J=h1.get(Z);if(J!==void 0)return J||null;let Y=new Bun.Glob("*.ts"),Q=[];try{for await(let W of Y.scan({cwd:Z,absolute:!0})){let z=D9.basename(W,".ts");if(["index","types"].includes(z))continue;if(W.includes(".d.ts"))continue;Q.push(W)}}catch{return h1.set(Z,""),null}if(Q.length===0)return h1.set(Z,""),null;let X=[];for(let W of Q){let z=await Bun.file(W).text();X.push({file:W,hasUseStore:/useStore\s*\(/.test(z)})}X.sort((W,z)=>{if(W.hasUseStore===z.hasUseStore)return 0;return W.hasUseStore?1:-1});let G=X.map((W)=>W.file),K=[],q=new Bun.Transpiler({loader:"ts",target:"browser",define:x0()});for(let W of G)try{let z=await Bun.file(W).text(),U=D9.basename(W,".ts");z=z.replace(/^import\s+.*from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),z=z.replace(/^export\s+(default\s+)?/gm,""),z=q.transformSync(z),K.push(`// Store: ${U}
6707
+ ${z.trim()}`)}catch(z){console.warn(`[stx] Failed to load store ${W}:`,z)}if(K.length===0)return h1.set(Z,""),null;let _=`;(function(){
6609
6708
  ${K.join(`
6610
6709
 
6611
6710
  `)}
6612
- })();`;return f1.set(Z,U),U}function RK(){f1.clear()}var f1;var I8=P(()=>{$5();f1=new Map});var D8={};r(D8,{processDeferDirectives:()=>IK});function AK(){return`stx-defer-${++E8}`}function wK($){let Z=$.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if(Z)return{trigger:Z[1],value:Z[2]};return{trigger:"immediate"}}function TK($,Z,J){let{trigger:Y,value:Q}=wK(Z),X=J,G,K,q,U=J.match(/@placeholder\s*([\s\S]*?)(?=@loading|@error|$)/);if(U)G=U[1].trim(),X=X.replace(/@placeholder[\s\S]*?(?=@loading|@error|$)/,"");let _=J.match(/@loading\s*([\s\S]*?)(?=@error|$)/);if(_)K=_[1].trim(),X=X.replace(/@loading[\s\S]*?(?=@error|$)/,"");let W=J.match(/@error(?:\s*\(\s*(\w+)\s*\))?\s*([\s\S]*)$/);if(W)q=W[2].trim(),X=X.replace(/@error(?:\s*\(\s*\w+\s*\))?[\s\S]*$/,"");return X=X.trim(),{trigger:Y,triggerValue:Q,content:X,placeholder:G,loading:K,error:q}}function MK($,Z){let{trigger:J,triggerValue:Y}=Z,Q;switch(J){case"visible":Q=`
6711
+ })();`;return h1.set(Z,_),_}function xK(){h1.clear()}var h1;var f8=C(()=>{J5();R1();h1=new Map});var h8={};r(h8,{processDeferDirectives:()=>mK});function fK(){return`stx-defer-${++g8}`}function gK($){let Z=$.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if(Z)return{trigger:Z[1],value:Z[2]};return{trigger:"immediate"}}function hK($,Z,J){let{trigger:Y,value:Q}=gK(Z),X=J,G,K,q,_=J.match(/@placeholder\s*([\s\S]*?)(?=@loading|@error|$)/);if(_)G=_[1].trim(),X=X.replace(/@placeholder[\s\S]*?(?=@loading|@error|$)/,"");let W=J.match(/@loading\s*([\s\S]*?)(?=@error|$)/);if(W)K=W[1].trim(),X=X.replace(/@loading[\s\S]*?(?=@error|$)/,"");let z=J.match(/@error(?:\s*\(\s*(\w+)\s*\))?\s*([\s\S]*)$/);if(z)q=z[2].trim(),X=X.replace(/@error(?:\s*\(\s*\w+\s*\))?[\s\S]*$/,"");return X=X.trim(),{trigger:Y,triggerValue:Q,content:X,placeholder:G,loading:K,error:q}}function dK($,Z){let{trigger:J,triggerValue:Y}=Z,Q;switch(J){case"visible":Q=`
6613
6712
  const observer = new IntersectionObserver((entries) => {
6614
6713
  if (entries[0].isIntersecting) {
6615
6714
  observer.disconnect();
@@ -6682,15 +6781,15 @@ else {
6682
6781
  ${Q}
6683
6782
  })();
6684
6783
  </script>
6685
- `}function IK($,Z,J){E8=0;let Y=/@defer\s*\(([^)]*)\)\s*([\s\S]*?)@enddefer/g;return $.replace(Y,(Q,X,G)=>{let K=AK(),q=TK(Q,X,G),U=q.placeholder?`<div data-defer-placeholder>${q.placeholder}</div>`:"",_=q.loading?`<div data-defer-loading style="display: none;">${q.loading}</div>`:'<div data-defer-loading style="display: none;"></div>',W=q.error?`<div data-defer-error style="display: none;">${q.error}</div>`:"",z=`<div data-defer-content style="display: none;">${q.content}</div>`,j=MK(K,q);return`
6784
+ `}function mK($,Z,J){g8=0;let Y=/@defer\s*\(([^)]*)\)\s*([\s\S]*?)@enddefer/g;return $.replace(Y,(Q,X,G)=>{let K=fK(),q=hK(Q,X,G),_=q.placeholder?`<div data-defer-placeholder>${q.placeholder}</div>`:"",W=q.loading?`<div data-defer-loading style="display: none;">${q.loading}</div>`:'<div data-defer-loading style="display: none;"></div>',z=q.error?`<div data-defer-error style="display: none;">${q.error}</div>`:"",U=`<div data-defer-content style="display: none;">${q.content}</div>`,j=dK(K,q);return`
6686
6785
  <div id="${K}" class="stx-defer" data-defer-trigger="${q.trigger}">
6687
- ${U}
6688
6786
  ${_}
6689
- ${z}
6690
6787
  ${W}
6788
+ ${U}
6789
+ ${z}
6691
6790
  </div>
6692
6791
  ${j}
6693
- `})}var E8=0;var S8={};r(S8,{processTeleportDirectives:()=>SK,ensureTeleportTargets:()=>bK});function EK(){return`stx-teleport-${++k8}`}function DK($){let Z=$.split(",").map((Q)=>Q.trim()),J=Z[0].replace(/['"]/g,""),Y;for(let Q=1;Q<Z.length;Q++){let X=Z[Q].match(/disabled:\s*(.+)/);if(X)Y=X[1].trim()}return{target:J,disabled:Y}}function kK($,Z){return`
6792
+ `})}var g8=0;var m8={};r(m8,{processTeleportDirectives:()=>cK,ensureTeleportTargets:()=>iK});function uK(){return`stx-teleport-${++d8}`}function pK($){let Z=$.split(",").map((Q)=>Q.trim()),J=Z[0].replace(/['"]/g,""),Y;for(let Q=1;Q<Z.length;Q++){let X=Z[Q].match(/disabled:\s*(.+)/);if(X)Y=X[1].trim()}return{target:J,disabled:Y}}function lK($,Z){return`
6694
6793
  <script>
6695
6794
  (function() {
6696
6795
  const source = document.getElementById('${$}');
@@ -6726,12 +6825,12 @@ else {
6726
6825
  }));
6727
6826
  })();
6728
6827
  </script>
6729
- `}function SK($,Z,J){k8=0;let Y=/@teleport\s*\(([^)]+)\)\s*([\s\S]*?)@endteleport/g;return $.replace(Y,(Q,X,G)=>{let K=EK(),{target:q,disabled:U}=DK(X),_=G.trim();if(U)try{let z=!1;if(U==="true")z=!0;else if(U==="false")z=!1;else if(U in Z)z=Boolean(Z[U]);if(z)return`<div class="stx-teleport-inline" data-teleport-disabled>${_}</div>`}catch{}let W=kK(K,q);return`
6828
+ `}function cK($,Z,J){d8=0;let Y=/@teleport\s*\(([^)]+)\)\s*([\s\S]*?)@endteleport/g;return $.replace(Y,(Q,X,G)=>{let K=uK(),{target:q,disabled:_}=pK(X),W=G.trim();if(_)try{let U=!1;if(_==="true")U=!0;else if(_==="false")U=!1;else if(_ in Z)U=Boolean(Z[_]);if(U)return`<div class="stx-teleport-inline" data-teleport-disabled>${W}</div>`}catch{}let z=lK(K,q);return`
6730
6829
  <div id="${K}" class="stx-teleport-source" style="display: none;">
6731
- <template>${_}</template>
6830
+ <template>${W}</template>
6732
6831
  </div>
6733
- ${W}
6734
- `})}function bK(){return`
6832
+ ${z}
6833
+ `})}function iK(){return`
6735
6834
  <script>
6736
6835
  (function() {
6737
6836
  // Common teleport targets
@@ -6748,23 +6847,23 @@ else {
6748
6847
  });
6749
6848
  })();
6750
6849
  </script>
6751
- `}var k8=0;var P8={};r(P8,{processTransitionDirectives:()=>vK,processTransitionAttributes:()=>hK,performLeave:()=>PK,performEnter:()=>CK,generateTransitionRuntime:()=>gK,generateTransitionCSS:()=>fK});function b8($,Z={}){return{enterFrom:Z.enterClass||`${$}-enter-from`,enterActive:Z.enterActiveClass||`${$}-enter-active`,enterTo:Z.enterToClass||`${$}-enter-to`,leaveFrom:Z.leaveClass||`${$}-leave-from`,leaveActive:Z.leaveActiveClass||`${$}-leave-active`,leaveTo:Z.leaveToClass||`${$}-leave-to`}}function yK($){let Z=getComputedStyle($),J=Z.transitionDuration||"0s",Y=Z.animationDuration||"0s",Q=(X)=>{let G=X.match(/^([\d.]+)(s|ms)?$/);if(!G)return 0;let K=parseFloat(G[1]);return(G[2]||"s")==="ms"?K:K*1000};return Math.max(Q(J),Q(Y))}function y8($,Z){return new Promise((J)=>{let Y=Z??yK($);if(Y===0){J();return}let Q=!1,X=()=>{if(Q)return;Q=!0,$.removeEventListener("transitionend",G),$.removeEventListener("animationend",G),J()},G=(K)=>{if(K.target===$)X()};$.addEventListener("transitionend",G),$.addEventListener("animationend",G),setTimeout(X,Y+50)})}function C8($){$.offsetHeight}async function CK($,Z={}){let J=Z.name||"stx",Y=b8(J,Z),Q=typeof Z.duration==="object"?Z.duration.enter:Z.duration;if(Z.onBeforeEnter?.($),$.classList.add(Y.enterFrom),$.classList.add(Y.enterActive),C8($),$.classList.remove(Y.enterFrom),$.classList.add(Y.enterTo),Z.onEnter)await new Promise((X)=>{Z.onEnter($,X)});else await y8($,Q);$.classList.remove(Y.enterActive),$.classList.remove(Y.enterTo),Z.onAfterEnter?.($)}async function PK($,Z={}){let J=Z.name||"stx",Y=b8(J,Z),Q=typeof Z.duration==="object"?Z.duration.leave:Z.duration;if(Z.onBeforeLeave?.($),$.classList.add(Y.leaveFrom),$.classList.add(Y.leaveActive),C8($),$.classList.remove(Y.leaveFrom),$.classList.add(Y.leaveTo),Z.onLeave)await new Promise((X)=>{Z.onLeave($,X)});else await y8($,Q);$.classList.remove(Y.leaveActive),$.classList.remove(Y.leaveTo),Z.onAfterLeave?.($)}function vK($,Z={},J){let Y=/@transition\s*\(([^)]*)\)([\s\S]*?)@endtransition/gi;return $.replace(Y,(Q,X,G)=>{let K=xK(X),q=K.name||"stx",U=K.duration||300,_=`stx-transition-${Math.random().toString(36).slice(2,9)}`;return`
6850
+ `}var d8=0;var c8={};r(c8,{processTransitionDirectives:()=>rK,processTransitionAttributes:()=>$q,performLeave:()=>sK,performEnter:()=>oK,generateTransitionRuntime:()=>eK,generateTransitionCSS:()=>tK});function u8($,Z={}){return{enterFrom:Z.enterClass||`${$}-enter-from`,enterActive:Z.enterActiveClass||`${$}-enter-active`,enterTo:Z.enterToClass||`${$}-enter-to`,leaveFrom:Z.leaveClass||`${$}-leave-from`,leaveActive:Z.leaveActiveClass||`${$}-leave-active`,leaveTo:Z.leaveToClass||`${$}-leave-to`}}function nK($){let Z=getComputedStyle($),J=Z.transitionDuration||"0s",Y=Z.animationDuration||"0s",Q=(X)=>{let G=X.match(/^([\d.]+)(s|ms)?$/);if(!G)return 0;let K=parseFloat(G[1]);return(G[2]||"s")==="ms"?K:K*1000};return Math.max(Q(J),Q(Y))}function p8($,Z){return new Promise((J)=>{let Y=Z??nK($);if(Y===0){J();return}let Q=!1,X=()=>{if(Q)return;Q=!0,$.removeEventListener("transitionend",G),$.removeEventListener("animationend",G),J()},G=(K)=>{if(K.target===$)X()};$.addEventListener("transitionend",G),$.addEventListener("animationend",G),setTimeout(X,Y+50)})}function l8($){$.offsetHeight}async function oK($,Z={}){let J=Z.name||"stx",Y=u8(J,Z),Q=typeof Z.duration==="object"?Z.duration.enter:Z.duration;if(Z.onBeforeEnter?.($),$.classList.add(Y.enterFrom),$.classList.add(Y.enterActive),l8($),$.classList.remove(Y.enterFrom),$.classList.add(Y.enterTo),Z.onEnter)await new Promise((X)=>{Z.onEnter($,X)});else await p8($,Q);$.classList.remove(Y.enterActive),$.classList.remove(Y.enterTo),Z.onAfterEnter?.($)}async function sK($,Z={}){let J=Z.name||"stx",Y=u8(J,Z),Q=typeof Z.duration==="object"?Z.duration.leave:Z.duration;if(Z.onBeforeLeave?.($),$.classList.add(Y.leaveFrom),$.classList.add(Y.leaveActive),l8($),$.classList.remove(Y.leaveFrom),$.classList.add(Y.leaveTo),Z.onLeave)await new Promise((X)=>{Z.onLeave($,X)});else await p8($,Q);$.classList.remove(Y.leaveActive),$.classList.remove(Y.leaveTo),Z.onAfterLeave?.($)}function rK($,Z={},J){let Y=/@transition\s*\(([^)]*)\)([\s\S]*?)@endtransition/gi;return $.replace(Y,(Q,X,G)=>{let K=aK(X),q=K.name||"stx",_=K.duration||300,W=`stx-transition-${Math.random().toString(36).slice(2,9)}`;return`
6752
6851
  <div
6753
6852
  class="stx-transition-wrapper"
6754
6853
  data-transition="${q}"
6755
- data-transition-id="${_}"
6756
- data-transition-duration="${U}"
6854
+ data-transition-id="${W}"
6855
+ data-transition-duration="${_}"
6757
6856
  ${K.mode?`data-transition-mode="${K.mode}"`:""}
6758
6857
  >
6759
6858
  ${G.trim()}
6760
6859
  </div>
6761
6860
  <script>
6762
6861
  (function() {
6763
- const wrapper = document.querySelector('[data-transition-id="${_}"]');
6862
+ const wrapper = document.querySelector('[data-transition-id="${W}"]');
6764
6863
  if (!wrapper) return;
6765
6864
 
6766
6865
  const name = '${q}';
6767
- const duration = ${U};
6866
+ const duration = ${_};
6768
6867
 
6769
6868
  // Observe for child changes to trigger transitions
6770
6869
  const observer = new MutationObserver(function(mutations) {
@@ -6790,7 +6889,7 @@ else {
6790
6889
  });
6791
6890
  })();
6792
6891
  </script>
6793
- `})}function xK($){let Z={},J=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=J.exec($))!==null){let Q=Y[1],X=Y[2]||Y[3]||Y[4]||Y[5];switch(Q){case"name":Z.name=X;break;case"duration":Z.duration=parseInt(X,10);break;case"mode":Z.mode=X;break;case"easing":Z.easing=X;break}}return Z}function fK(){return`
6892
+ `})}function aK($){let Z={},J=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=J.exec($))!==null){let Q=Y[1],X=Y[2]||Y[3]||Y[4]||Y[5];switch(Q){case"name":Z.name=X;break;case"duration":Z.duration=parseInt(X,10);break;case"mode":Z.mode=X;break;case"easing":Z.easing=X;break}}return Z}function tK(){return`
6794
6893
  /* STX Transition Presets */
6795
6894
 
6796
6895
  /* Fade */
@@ -6977,7 +7076,7 @@ else {
6977
7076
  opacity: 1;
6978
7077
  max-height: 1000px;
6979
7078
  }
6980
- `}function gK(){return`
7079
+ `}function eK(){return`
6981
7080
  // STX Transition Runtime
6982
7081
  (function() {
6983
7082
  if (typeof window === 'undefined') return;
@@ -7066,7 +7165,7 @@ else {
7066
7165
 
7067
7166
  console.log('[stx] Transition runtime initialized');
7068
7167
  })();
7069
- `}function hK($){let Z=/@transition\.([a-z-]+)(?:\.(\d+))?="([^"]+)"/gi;return $.replace(Z,(J,Y,Q,X)=>{let G=Q||"300",K=`stx-t-${Math.random().toString(36).slice(2,7)}`;return`data-stx-transition="${Y}" data-stx-transition-duration="${G}" data-stx-transition-condition="${X}" data-stx-transition-id="${K}"`})}var x8={};r(x8,{withErrorBoundary:()=>v8,processErrorBoundaryDirectives:()=>uK,generateErrorBoundaryRuntime:()=>nK,generateErrorBoundaryCSS:()=>iK,createErrorBoundary:()=>cK});function mK(){return`eb-${++dK}-${Date.now().toString(36)}`}function uK($,Z={},J){let Y=/@errorBoundary(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@enderrorBoundary/gi;return $.replace(Y,(Q,X,G,K)=>{let q=mK(),U=pK(X||"");return lK(q,G.trim(),K.trim(),U)})}function pK($){let Z={},J=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\w+))/g,Y;while((Y=J.exec($))!==null){let Q=Y[1],X=Y[2]||Y[3]||Y[4];switch(Q){case"id":Z.id=X;break;case"logErrors":Z.logErrors=X==="true";break}}return Z}function lK($,Z,J,Y){let Q=Y.logErrors!==!1;return`
7168
+ `}function $q($){let Z=/@transition\.([a-z-]+)(?:\.(\d+))?="([^"]+)"/gi;return $.replace(Z,(J,Y,Q,X)=>{let G=Q||"300",K=`stx-t-${Math.random().toString(36).slice(2,7)}`;return`data-stx-transition="${Y}" data-stx-transition-duration="${G}" data-stx-transition-condition="${X}" data-stx-transition-id="${K}"`})}var n8={};r(n8,{withErrorBoundary:()=>i8,processErrorBoundaryDirectives:()=>Jq,generateErrorBoundaryRuntime:()=>qq,generateErrorBoundaryCSS:()=>Kq,createErrorBoundary:()=>Gq});function Yq(){return`eb-${++Zq}-${Date.now().toString(36)}`}function Jq($,Z={},J){let Y=/@errorBoundary(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@enderrorBoundary/gi;return $.replace(Y,(Q,X,G,K)=>{let q=Yq(),_=Xq(X||"");return Qq(q,G.trim(),K.trim(),_)})}function Xq($){let Z={},J=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\w+))/g,Y;while((Y=J.exec($))!==null){let Q=Y[1],X=Y[2]||Y[3]||Y[4];switch(Q){case"id":Z.id=X;break;case"logErrors":Z.logErrors=X==="true";break}}return Z}function Qq($,Z,J,Y){let Q=Y.logErrors!==!1;return`
7070
7169
  <div class="stx-error-boundary" data-boundary-id="${$}" data-has-error="false">
7071
7170
  <div class="stx-error-boundary-content" data-boundary-content="${$}">
7072
7171
  ${Z}
@@ -7186,7 +7285,7 @@ else {
7186
7285
  };
7187
7286
  })();
7188
7287
  </script>
7189
- `}async function v8($,Z,J){try{return await $()}catch(Y){if(J)J(Y instanceof Error?Y:Error(String(Y)));else console.error("[stx:errorBoundary] SSR Error:",Y);return Z}}function cK($,Z={}){let J=Z.onError?(Y)=>Z.onError(Y,{timestamp:Date.now(),boundaryId:"ssr"}):void 0;return(Y)=>v8(Y,$,J)}function iK(){return`
7288
+ `}async function i8($,Z,J){try{return await $()}catch(Y){if(J)J(Y instanceof Error?Y:Error(String(Y)));else console.error("[stx:errorBoundary] SSR Error:",Y);return Z}}function Gq($,Z={}){let J=Z.onError?(Y)=>Z.onError(Y,{timestamp:Date.now(),boundaryId:"ssr"}):void 0;return(Y)=>i8(Y,$,J)}function Kq(){return`
7190
7289
  /* STX Error Boundary Styles */
7191
7290
  .stx-error-boundary {
7192
7291
  position: relative;
@@ -7230,7 +7329,7 @@ else {
7230
7329
  color: #fecaca;
7231
7330
  }
7232
7331
  }
7233
- `}function nK(){return`
7332
+ `}function qq(){return`
7234
7333
  // STX Error Boundary Runtime
7235
7334
  (function() {
7236
7335
  if (typeof window === 'undefined') return;
@@ -7295,7 +7394,7 @@ else {
7295
7394
 
7296
7395
  console.log('[stx] Error boundary runtime initialized');
7297
7396
  })();
7298
- `}var dK=0;var f8={};r(f8,{renderSSRSuspense:()=>$q,processSuspenseDirectives:()=>rK,generateSuspenseRuntime:()=>Yq,generateSuspenseCSS:()=>Zq,createSSRSuspense:()=>eK});function sK(){return`suspense-${++oK}-${Date.now().toString(36)}`}function rK($,Z={},J){let Y=/@suspense(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@endsuspense/gi;return $.replace(Y,(Q,X,G,K)=>{let q=sK(),U=aK(X||"");return tK(q,G.trim(),K.trim(),U)})}function aK($){let Z={},J=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=J.exec($))!==null){let Q=Y[1],X=Y[2]||Y[3],G=Y[4];switch(Q){case"id":Z.id=X;break;case"timeout":Z.timeout=G?parseInt(G,10):void 0;break}}return Z}function tK($,Z,J,Y){let Q=Y.timeout||30000,X=Y.id||$;return`
7397
+ `}var Zq=0;var o8={};r(o8,{renderSSRSuspense:()=>Oq,processSuspenseDirectives:()=>zq,generateSuspenseRuntime:()=>Lq,generateSuspenseCSS:()=>Hq,createSSRSuspense:()=>jq});function _q(){return`suspense-${++Wq}-${Date.now().toString(36)}`}function zq($,Z={},J){let Y=/@suspense(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@endsuspense/gi;return $.replace(Y,(Q,X,G,K)=>{let q=_q(),_=Uq(X||"");return Bq(q,G.trim(),K.trim(),_)})}function Uq($){let Z={},J=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=J.exec($))!==null){let Q=Y[1],X=Y[2]||Y[3],G=Y[4];switch(Q){case"id":Z.id=X;break;case"timeout":Z.timeout=G?parseInt(G,10):void 0;break}}return Z}function Bq($,Z,J,Y){let Q=Y.timeout||30000,X=Y.id||$;return`
7299
7398
  <div class="stx-suspense" data-suspense-id="${$}" data-custom-id="${X}" data-status="pending">
7300
7399
  <div class="stx-suspense-fallback" data-suspense-fallback="${$}">
7301
7400
  ${J}
@@ -7485,7 +7584,7 @@ else {
7485
7584
  }, 0);
7486
7585
  })();
7487
7586
  </script>
7488
- `}function eK($,Z,J){return{id:$,fallback:J,content:Z}}async function $q($){let Z=$.map((Y)=>`
7587
+ `}function jq($,Z,J){return{id:$,fallback:J,content:Z}}async function Oq($){let Z=$.map((Y)=>`
7489
7588
  <div id="stx-ssr-suspense-${Y.id}" class="stx-ssr-suspense">
7490
7589
  ${Y.fallback}
7491
7590
  </div>
@@ -7510,7 +7609,7 @@ else {
7510
7609
  }
7511
7610
  })();
7512
7611
  </script>
7513
- `}}return{initial:Z,streaming:J()}}function Zq(){return`
7612
+ `}}return{initial:Z,streaming:J()}}function Hq(){return`
7514
7613
  /* STX Suspense Styles */
7515
7614
  .stx-suspense {
7516
7615
  position: relative;
@@ -7566,7 +7665,7 @@ else {
7566
7665
  background-size: 200% 100%;
7567
7666
  }
7568
7667
  }
7569
- `}function Yq(){return`
7668
+ `}function Lq(){return`
7570
7669
  // STX Suspense Runtime
7571
7670
  (function() {
7572
7671
  if (typeof window === 'undefined') return;
@@ -7633,7 +7732,7 @@ else {
7633
7732
 
7634
7733
  console.log('[stx] Suspense runtime initialized');
7635
7734
  })();
7636
- `}var oK=0;var m8={};r(m8,{processAsyncDirectives:()=>Xq,isAsyncComponent:()=>Gq,generateAsyncComponentRuntime:()=>qq,generateAsyncComponentCSS:()=>Kq,defineAsyncComponent:()=>Qq});function g8(){return`async-${++Jq}-${Date.now().toString(36)}`}function Xq($,Z={},J){let Y=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@error\s*([\s\S]*?)@endasync/gi,Q=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@endasync/gi,X=$;return X=X.replace(Y,(G,K,q,U)=>{let _=g8(),W=h8(K);return d8(_,W,q.trim(),U.trim())}),X=X.replace(Q,(G,K,q)=>{let U=g8(),_=h8(K);return d8(U,_,q.trim(),'<div class="stx-async-error">Failed to load component</div>')}),X}function h8($){let Z={component:"",timeout:30000,delay:200,suspensible:!0,retries:0},J=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=J.exec($))!==null){let Q=Y[1],X=Y[2]||Y[3],G=Y[4],K=Y[5];switch(Q){case"component":Z.component=X||K||"";break;case"timeout":Z.timeout=G?parseInt(G,10):30000;break;case"delay":Z.delay=G?parseInt(G,10):200;break;case"suspensible":Z.suspensible=K==="true";break;case"retries":Z.retries=G?parseInt(G,10):0;break;case"loadingComponent":Z.loadingComponent=X||K;break;case"errorComponent":Z.errorComponent=X||K;break}}return Z}function d8($,Z,J,Y){let{component:Q,timeout:X,delay:G,suspensible:K,retries:q}=Z;return`
7735
+ `}var Wq=0;var t8={};r(t8,{processAsyncDirectives:()=>Vq,isAsyncComponent:()=>Nq,generateAsyncComponentRuntime:()=>Aq,generateAsyncComponentCSS:()=>Rq,defineAsyncComponent:()=>wq});function s8(){return`async-${++Fq}-${Date.now().toString(36)}`}function Vq($,Z={},J){let Y=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@error\s*([\s\S]*?)@endasync/gi,Q=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@endasync/gi,X=$;return X=X.replace(Y,(G,K,q,_)=>{let W=s8(),z=r8(K);return a8(W,z,q.trim(),_.trim())}),X=X.replace(Q,(G,K,q)=>{let _=s8(),W=r8(K);return a8(_,W,q.trim(),'<div class="stx-async-error">Failed to load component</div>')}),X}function r8($){let Z={component:"",timeout:30000,delay:200,suspensible:!0,retries:0},J=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=J.exec($))!==null){let Q=Y[1],X=Y[2]||Y[3],G=Y[4],K=Y[5];switch(Q){case"component":Z.component=X||K||"";break;case"timeout":Z.timeout=G?parseInt(G,10):30000;break;case"delay":Z.delay=G?parseInt(G,10):200;break;case"suspensible":Z.suspensible=K==="true";break;case"retries":Z.retries=G?parseInt(G,10):0;break;case"loadingComponent":Z.loadingComponent=X||K;break;case"errorComponent":Z.errorComponent=X||K;break}}return Z}function a8($,Z,J,Y){let{component:Q,timeout:X,delay:G,suspensible:K,retries:q}=Z;return`
7637
7736
  <div class="stx-async-component" data-async-id="${$}" data-component="${Q}" data-status="pending">
7638
7737
  <div class="stx-async-loading" data-async-loading="${$}">
7639
7738
  ${J}
@@ -7818,7 +7917,7 @@ catch (error) {
7818
7917
  loadComponent();
7819
7918
  })();
7820
7919
  </script>
7821
- `}function Qq($){return{__asyncComponent:!0,...typeof $==="function"?{loader:$}:$}}function Gq($){return typeof $==="object"&&$!==null&&"__asyncComponent"in $&&$.__asyncComponent===!0}function Kq(){return`
7920
+ `}function wq($){return{__asyncComponent:!0,...typeof $==="function"?{loader:$}:$}}function Nq($){return typeof $==="object"&&$!==null&&"__asyncComponent"in $&&$.__asyncComponent===!0}function Rq(){return`
7822
7921
  /* STX Async Component Styles */
7823
7922
  .stx-async-component {
7824
7923
  position: relative;
@@ -7892,7 +7991,7 @@ catch (error) {
7892
7991
  background-size: 200% 100%;
7893
7992
  }
7894
7993
  }
7895
- `}function qq(){return`
7994
+ `}function Aq(){return`
7896
7995
  // STX Async Component Runtime
7897
7996
  (function() {
7898
7997
  if (typeof window === 'undefined') return;
@@ -7946,7 +8045,7 @@ catch (error) {
7946
8045
 
7947
8046
  console.log('[stx] Async component runtime initialized');
7948
8047
  })();
7949
- `}var Jq=0;var p8={};r(p8,{shouldCacheComponent:()=>jq,processKeepAliveDirectives:()=>Uq,onDeactivated:()=>Fq,onActivated:()=>Lq,generateKeepAliveRuntime:()=>Hq,generateKeepAliveCSS:()=>Oq,createKeepAliveCache:()=>Bq});function u8(){return`keep-alive-${++_q}-${Date.now().toString(36)}`}function Uq($,Z={},J){let Y=/@keepAlive(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@endkeepAlive/gi;return $.replace(Y,(Q,X,G)=>{let K=u8(),q=Wq(X||"");return zq(K,G.trim(),q)})}function Wq($){let Z={max:10},J=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=J.exec($))!==null){let Q=Y[1],X=Y[2]||Y[3],G=Y[4];switch(Q){case"max":Z.max=G?parseInt(G,10):10;break;case"include":Z.include=X;break;case"exclude":Z.exclude=X;break;case"id":Z.id=X;break}}return Z}function zq($,Z,J){let{max:Y,include:Q,exclude:X}=J,G=J.id||$;return`
8048
+ `}var Fq=0;var $Z={};r($Z,{shouldCacheComponent:()=>kq,processKeepAliveDirectives:()=>Mq,onDeactivated:()=>Cq,onActivated:()=>yq,generateKeepAliveRuntime:()=>Sq,generateKeepAliveCSS:()=>bq,createKeepAliveCache:()=>Eq});function e8(){return`keep-alive-${++Tq}-${Date.now().toString(36)}`}function Mq($,Z={},J){let Y=/@keepAlive(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@endkeepAlive/gi;return $.replace(Y,(Q,X,G)=>{let K=e8(),q=Iq(X||"");return Dq(K,G.trim(),q)})}function Iq($){let Z={max:10},J=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,Y;while((Y=J.exec($))!==null){let Q=Y[1],X=Y[2]||Y[3],G=Y[4];switch(Q){case"max":Z.max=G?parseInt(G,10):10;break;case"include":Z.include=X;break;case"exclude":Z.exclude=X;break;case"id":Z.id=X;break}}return Z}function Dq($,Z,J){let{max:Y,include:Q,exclude:X}=J,G=J.id||$;return`
7950
8049
  <div class="stx-keep-alive" data-keep-alive-id="${$}" data-custom-id="${G}">
7951
8050
  <div class="stx-keep-alive-content" data-keep-alive-content="${$}">
7952
8051
  ${Z}
@@ -8233,7 +8332,7 @@ else {
8233
8332
  });
8234
8333
  })();
8235
8334
  </script>
8236
- `}function Bq($={}){return{id:$.id||u8(),cache:new Map,max:$.max||10,include:$.include?$.include.split(",").map((J)=>J.trim()):null,exclude:$.exclude?$.exclude.split(",").map((J)=>J.trim()):null}}function jq($,Z){if(Z.exclude&&Z.exclude.includes($))return!1;if(Z.include&&!Z.include.includes($))return!1;return!0}function Oq(){return`
8335
+ `}function Eq($={}){return{id:$.id||e8(),cache:new Map,max:$.max||10,include:$.include?$.include.split(",").map((J)=>J.trim()):null,exclude:$.exclude?$.exclude.split(",").map((J)=>J.trim()):null}}function kq($,Z){if(Z.exclude&&Z.exclude.includes($))return!1;if(Z.include&&!Z.include.includes($))return!1;return!0}function bq(){return`
8237
8336
  /* STX Keep-Alive Styles */
8238
8337
  .stx-keep-alive {
8239
8338
  position: relative;
@@ -8258,7 +8357,7 @@ else {
8258
8357
  .stx-keep-alive-content > [data-activated] {
8259
8358
  opacity: 1;
8260
8359
  }
8261
- `}function Hq(){return`
8360
+ `}function Sq(){return`
8262
8361
  // STX Keep-Alive Runtime
8263
8362
  (function() {
8264
8363
  if (typeof window === 'undefined') return;
@@ -8294,34 +8393,34 @@ else {
8294
8393
 
8295
8394
  console.log('[stx] Keep-alive runtime initialized');
8296
8395
  })();
8297
- `}function Lq($){if(typeof document<"u")document.addEventListener("stx:activated",(Z)=>{$(Z.detail)})}function Fq($){if(typeof document<"u")document.addEventListener("stx:deactivated",(Z)=>{$(Z.detail)})}var _q=0;var o8={};r(o8,{useVirtualList:()=>c8,processVirtualListDirectives:()=>n7,processVirtualGridDirectives:()=>n8,processInfiniteListDirectives:()=>i8,generateVirtualListCSS:()=>l8,default:()=>Vq,createVirtualList:()=>i7});function i7($,Z){let{itemHeight:J,containerHeight:Y,overscan:Q=3,keyProperty:X="id",dynamicHeight:G=!1,estimatedItemHeight:K=J,direction:q="vertical"}=Z,U=[...$],_=0,W=new Map;function z(){if(G)return j();let A=Math.max(0,Math.floor(_/J)-Q),w=Math.ceil(Y/J),M=Math.min(U.length-1,A+w+Q*2);return{startIndex:A,endIndex:M}}function j(){let A=0,w=0,M=U.length-1;for(let E=0;E<U.length;E++){let T=W.get(E)||K;if(A+T>_){w=Math.max(0,E-Q);break}A+=T}A=0;for(let E=0;E<U.length;E++){let T=W.get(E)||K;if(A+=T,A>_+Y){M=Math.min(U.length-1,E+Q);break}}return{startIndex:w,endIndex:M}}function B(){if(G){let A=0;for(let w=0;w<U.length;w++)A+=W.get(w)||K;return A}return U.length*J}function O(A){if(G){let w=0;for(let M=0;M<A;M++)w+=W.get(M)||K;return w}return A*J}function F(){let{startIndex:A,endIndex:w}=z();return{startIndex:A,endIndex:w,scrollTop:_,totalHeight:B(),visibleItems:U.slice(A,w+1),itemHeights:new Map(W)}}function L(A,w="auto"){let M=O(A);H(M,w)}function H(A,w="auto"){_=Math.max(0,Math.min(A,B()-Y))}function V(){z()}function R(A){U=[...A],W.clear(),V()}function N(){U=[],W.clear()}return{scrollToIndex:L,scrollToOffset:H,getState:F,refresh:V,setItems:R,destroy:N}}function n7($,Z={},J){let Y=/@virtualList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualList/gi;return $.replace(Y,(Q,X,G,K)=>{let q=X.trim(),U=Z[q];if(!U||!Array.isArray(U))return`<!-- virtualList: items "${q}" not found or not an array -->`;let _={itemHeight:50,containerHeight:400,overscan:3};if(G)try{let H=G.trim(),V=Function(`return ${H}`)();_={..._,...V}}catch{}let W=`vlist-${Math.random().toString(36).substring(2,9)}`,z=Math.ceil(_.containerHeight/_.itemHeight),j=_.overscan||3,B=0,O=Math.min(U.length-1,z+j),F="";for(let H=B;H<=O&&H<U.length;H++){let V=U[H],R=K.replace(/\{\{\s*item\s*\}\}/g,typeof V==="object"?JSON.stringify(V):String(V)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(N,A)=>{if(typeof V==="object"&&V!==null)return String(V[A]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(H));F+=`
8298
- <div class="virtual-item ${_.itemClass||""}"
8299
- style="position: absolute; top: ${H*_.itemHeight}px; height: ${_.itemHeight}px; width: 100%;"
8396
+ `}function yq($){if(typeof document<"u")document.addEventListener("stx:activated",(Z)=>{$(Z.detail)})}function Cq($){if(typeof document<"u")document.addEventListener("stx:deactivated",(Z)=>{$(Z.detail)})}var Tq=0;var QZ={};r(QZ,{useVirtualList:()=>YZ,processVirtualListDirectives:()=>$7,processVirtualGridDirectives:()=>XZ,processInfiniteListDirectives:()=>JZ,generateVirtualListCSS:()=>ZZ,default:()=>Pq,createVirtualList:()=>e4});function e4($,Z){let{itemHeight:J,containerHeight:Y,overscan:Q=3,keyProperty:X="id",dynamicHeight:G=!1,estimatedItemHeight:K=J,direction:q="vertical"}=Z,_=[...$],W=0,z=new Map;function U(){if(G)return j();let R=Math.max(0,Math.floor(W/J)-Q),A=Math.ceil(Y/J),T=Math.min(_.length-1,R+A+Q*2);return{startIndex:R,endIndex:T}}function j(){let R=0,A=0,T=_.length-1;for(let I=0;I<_.length;I++){let M=z.get(I)||K;if(R+M>W){A=Math.max(0,I-Q);break}R+=M}R=0;for(let I=0;I<_.length;I++){let M=z.get(I)||K;if(R+=M,R>W+Y){T=Math.min(_.length-1,I+Q);break}}return{startIndex:A,endIndex:T}}function B(){if(G){let R=0;for(let A=0;A<_.length;A++)R+=z.get(A)||K;return R}return _.length*J}function O(R){if(G){let A=0;for(let T=0;T<R;T++)A+=z.get(T)||K;return A}return R*J}function F(){let{startIndex:R,endIndex:A}=U();return{startIndex:R,endIndex:A,scrollTop:W,totalHeight:B(),visibleItems:_.slice(R,A+1),itemHeights:new Map(z)}}function L(R,A="auto"){let T=O(R);H(T,A)}function H(R,A="auto"){W=Math.max(0,Math.min(R,B()-Y))}function V(){U()}function N(R){_=[...R],z.clear(),V()}function w(){_=[],z.clear()}return{scrollToIndex:L,scrollToOffset:H,getState:F,refresh:V,setItems:N,destroy:w}}function $7($,Z={},J){let Y=/@virtualList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualList/gi;return $.replace(Y,(Q,X,G,K)=>{let q=X.trim(),_=Z[q];if(!_||!Array.isArray(_))return`<!-- virtualList: items "${q}" not found or not an array -->`;let W={itemHeight:50,containerHeight:400,overscan:3};if(G)try{let H=G.trim(),V=Function(`return ${H}`)();W={...W,...V}}catch{}let z=`vlist-${Math.random().toString(36).substring(2,9)}`,U=Math.ceil(W.containerHeight/W.itemHeight),j=W.overscan||3,B=0,O=Math.min(_.length-1,U+j),F="";for(let H=B;H<=O&&H<_.length;H++){let V=_[H],N=K.replace(/\{\{\s*item\s*\}\}/g,typeof V==="object"?JSON.stringify(V):String(V)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(w,R)=>{if(typeof V==="object"&&V!==null)return String(V[R]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(H));F+=`
8397
+ <div class="virtual-item ${W.itemClass||""}"
8398
+ style="position: absolute; top: ${H*W.itemHeight}px; height: ${W.itemHeight}px; width: 100%;"
8300
8399
  data-index="${H}">
8301
- ${R}
8302
- </div>`}let L=U.length*_.itemHeight;return`
8303
- <div id="${W}"
8304
- class="virtual-list-container ${_.containerClass||""}"
8305
- style="position: relative; height: ${_.containerHeight}px; overflow-y: auto;"
8306
- data-item-height="${_.itemHeight}"
8307
- data-total-items="${U.length}"
8400
+ ${N}
8401
+ </div>`}let L=_.length*W.itemHeight;return`
8402
+ <div id="${z}"
8403
+ class="virtual-list-container ${W.containerClass||""}"
8404
+ style="position: relative; height: ${W.containerHeight}px; overflow-y: auto;"
8405
+ data-item-height="${W.itemHeight}"
8406
+ data-total-items="${_.length}"
8308
8407
  data-overscan="${j}">
8309
- <div class="virtual-list-viewport ${_.viewportClass||""}"
8408
+ <div class="virtual-list-viewport ${W.viewportClass||""}"
8310
8409
  style="position: relative; height: ${L}px; width: 100%;">
8311
8410
  ${F}
8312
8411
  </div>
8313
8412
  </div>
8314
- <script data-virtual-list="${W}">
8413
+ <script data-virtual-list="${z}">
8315
8414
  (function() {
8316
- const container = document.getElementById('${W}');
8415
+ const container = document.getElementById('${z}');
8317
8416
  if (!container) return;
8318
8417
 
8319
8418
  const viewport = container.querySelector('.virtual-list-viewport');
8320
- const itemHeight = ${_.itemHeight};
8321
- const totalItems = ${U.length};
8419
+ const itemHeight = ${W.itemHeight};
8420
+ const totalItems = ${_.length};
8322
8421
  const overscan = ${j};
8323
- const containerHeight = ${_.containerHeight};
8324
- const items = ${JSON.stringify(U)};
8422
+ const containerHeight = ${W.containerHeight};
8423
+ const items = ${JSON.stringify(_)};
8325
8424
  const template = ${JSON.stringify(K.trim())};
8326
8425
 
8327
8426
  let lastStartIndex = 0;
@@ -8340,7 +8439,7 @@ else {
8340
8439
  for (let i = startIndex; i <= endIndex; i++) {
8341
8440
  const item = items[i];
8342
8441
  const div = document.createElement('div');
8343
- div.className = 'virtual-item ${_.itemClass||""}';
8442
+ div.className = 'virtual-item ${W.itemClass||""}';
8344
8443
  div.style.cssText = 'position: absolute; top: ' + (i * itemHeight) + 'px; height: ' + itemHeight + 'px; width: 100%;';
8345
8444
  div.dataset.index = i;
8346
8445
 
@@ -8371,7 +8470,7 @@ else {
8371
8470
  };
8372
8471
  })();
8373
8472
  </script>
8374
- `})}function l8(){return`
8473
+ `})}function ZZ(){return`
8375
8474
  .virtual-list-container {
8376
8475
  position: relative;
8377
8476
  overflow-y: auto;
@@ -8419,11 +8518,11 @@ else {
8419
8518
  0% { background-position: 200% 0; }
8420
8519
  100% { background-position: -200% 0; }
8421
8520
  }
8422
- `}function c8($,Z){let J=null,Y=()=>{if(!J)J=i7($(),Z);return J};return{visibleItems:()=>{return Y().getState().visibleItems},totalHeight:()=>{return Y().getState().totalHeight},containerProps:()=>({style:{height:`${Z.containerHeight}px`,overflow:"auto",position:"relative"},onScroll:(Q)=>{let X=Q.target;if(J)J.scrollToOffset(X.scrollTop)}}),itemProps:(Q)=>({style:{position:"absolute",top:`${Q*Z.itemHeight}px`,height:`${Z.itemHeight}px`,width:"100%"},"data-index":Q}),scrollToIndex:(Q)=>{Y().scrollToIndex(Q)}}}function i8($,Z={},J){let Y=/@infiniteList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@loading\s*([\s\S]*?)@endinfiniteList/gi;return $.replace(Y,(Q,X,G,K,q)=>{let U=X.trim(),_=Z[U];if(!_||!Array.isArray(_))return`<!-- infiniteList: items "${U}" not found or not an array -->`;let W={itemHeight:50,containerHeight:400,overscan:3,threshold:100,hasMore:!0};if(G)try{let B=Function(`return ${G.trim()}`)();W={...W,...B}}catch{}let z=`ilist-${Math.random().toString(36).substring(2,9)}`,j=n7(`@virtualList(${U}, ${JSON.stringify({itemHeight:W.itemHeight,containerHeight:W.containerHeight,overscan:W.overscan,containerClass:W.containerClass})})${K}@endvirtualList`,Z);return j=j.replace("</script>",`
8521
+ `}function YZ($,Z){let J=null,Y=()=>{if(!J)J=e4($(),Z);return J};return{visibleItems:()=>{return Y().getState().visibleItems},totalHeight:()=>{return Y().getState().totalHeight},containerProps:()=>({style:{height:`${Z.containerHeight}px`,overflow:"auto",position:"relative"},onScroll:(Q)=>{let X=Q.target;if(J)J.scrollToOffset(X.scrollTop)}}),itemProps:(Q)=>({style:{position:"absolute",top:`${Q*Z.itemHeight}px`,height:`${Z.itemHeight}px`,width:"100%"},"data-index":Q}),scrollToIndex:(Q)=>{Y().scrollToIndex(Q)}}}function JZ($,Z={},J){let Y=/@infiniteList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@loading\s*([\s\S]*?)@endinfiniteList/gi;return $.replace(Y,(Q,X,G,K,q)=>{let _=X.trim(),W=Z[_];if(!W||!Array.isArray(W))return`<!-- infiniteList: items "${_}" not found or not an array -->`;let z={itemHeight:50,containerHeight:400,overscan:3,threshold:100,hasMore:!0};if(G)try{let B=Function(`return ${G.trim()}`)();z={...z,...B}}catch{}let U=`ilist-${Math.random().toString(36).substring(2,9)}`,j=$7(`@virtualList(${_}, ${JSON.stringify({itemHeight:z.itemHeight,containerHeight:z.containerHeight,overscan:z.overscan,containerClass:z.containerClass})})${K}@endvirtualList`,Z);return j=j.replace("</script>",`
8423
8522
  // Infinite scroll detection
8424
8523
  container.addEventListener('scroll', function() {
8425
8524
  const scrollBottom = container.scrollTop + container.clientHeight;
8426
- const threshold = ${W.threshold};
8525
+ const threshold = ${z.threshold};
8427
8526
  const totalHeight = viewport.offsetHeight;
8428
8527
 
8429
8528
  if (scrollBottom >= totalHeight - threshold) {
@@ -8431,39 +8530,39 @@ else {
8431
8530
  }
8432
8531
  });
8433
8532
  </script>`),`
8434
- <div id="${z}" class="infinite-list-wrapper">
8533
+ <div id="${U}" class="infinite-list-wrapper">
8435
8534
  ${j}
8436
8535
  <div class="infinite-list-loading" style="display: none;">
8437
8536
  ${q}
8438
8537
  </div>
8439
8538
  </div>
8440
- `})}function n8($,Z={},J){let Y=/@virtualGrid\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualGrid/gi;return $.replace(Y,(Q,X,G,K)=>{let q=X.trim(),U=Z[q];if(!U||!Array.isArray(U))return`<!-- virtualGrid: items "${q}" not found or not an array -->`;let _={columns:3,rowHeight:100,containerHeight:400,gap:10,overscan:2};if(G)try{let V=Function(`return ${G.trim()}`)();_={..._,...V}}catch{}let W=`vgrid-${Math.random().toString(36).substring(2,9)}`,z=Math.ceil(U.length/_.columns),j=z*(_.rowHeight+(_.gap||0)),B=Math.ceil(_.containerHeight/(_.rowHeight+(_.gap||0))),O=_.overscan||2,F=0,L=Math.min(z-1,B+O),H="";for(let V=F;V<=L;V++)for(let R=0;R<_.columns;R++){let N=V*_.columns+R;if(N>=U.length)break;let A=U[N],w=R*(100/_.columns),M=V*(_.rowHeight+(_.gap||0)),E=K.replace(/\{\{\s*item\s*\}\}/g,typeof A==="object"?JSON.stringify(A):String(A)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(T,I)=>{if(typeof A==="object"&&A!==null)return String(A[I]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(N));H+=`
8539
+ `})}function XZ($,Z={},J){let Y=/@virtualGrid\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualGrid/gi;return $.replace(Y,(Q,X,G,K)=>{let q=X.trim(),_=Z[q];if(!_||!Array.isArray(_))return`<!-- virtualGrid: items "${q}" not found or not an array -->`;let W={columns:3,rowHeight:100,containerHeight:400,gap:10,overscan:2};if(G)try{let V=Function(`return ${G.trim()}`)();W={...W,...V}}catch{}let z=`vgrid-${Math.random().toString(36).substring(2,9)}`,U=Math.ceil(_.length/W.columns),j=U*(W.rowHeight+(W.gap||0)),B=Math.ceil(W.containerHeight/(W.rowHeight+(W.gap||0))),O=W.overscan||2,F=0,L=Math.min(U-1,B+O),H="";for(let V=F;V<=L;V++)for(let N=0;N<W.columns;N++){let w=V*W.columns+N;if(w>=_.length)break;let R=_[w],A=N*(100/W.columns),T=V*(W.rowHeight+(W.gap||0)),I=K.replace(/\{\{\s*item\s*\}\}/g,typeof R==="object"?JSON.stringify(R):String(R)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(M,E)=>{if(typeof R==="object"&&R!==null)return String(R[E]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(w));H+=`
8441
8540
  <div class="virtual-grid-item"
8442
- style="position: absolute; top: ${M}px; left: ${w}%; width: calc(${100/_.columns}% - ${_.gap||0}px); height: ${_.rowHeight}px;"
8443
- data-index="${N}">
8444
- ${E}
8541
+ style="position: absolute; top: ${T}px; left: ${A}%; width: calc(${100/W.columns}% - ${W.gap||0}px); height: ${W.rowHeight}px;"
8542
+ data-index="${w}">
8543
+ ${I}
8445
8544
  </div>`}return`
8446
- <div id="${W}"
8545
+ <div id="${z}"
8447
8546
  class="virtual-grid-container"
8448
- style="position: relative; height: ${_.containerHeight}px; overflow-y: auto;">
8547
+ style="position: relative; height: ${W.containerHeight}px; overflow-y: auto;">
8449
8548
  <div class="virtual-grid-viewport"
8450
8549
  style="position: relative; height: ${j}px; width: 100%;">
8451
8550
  ${H}
8452
8551
  </div>
8453
8552
  </div>
8454
- <script data-virtual-grid="${W}">
8553
+ <script data-virtual-grid="${z}">
8455
8554
  (function() {
8456
- const container = document.getElementById('${W}');
8555
+ const container = document.getElementById('${z}');
8457
8556
  if (!container) return;
8458
8557
 
8459
8558
  const viewport = container.querySelector('.virtual-grid-viewport');
8460
- const columns = ${_.columns};
8461
- const rowHeight = ${_.rowHeight};
8462
- const gap = ${_.gap||0};
8463
- const totalItems = ${U.length};
8559
+ const columns = ${W.columns};
8560
+ const rowHeight = ${W.rowHeight};
8561
+ const gap = ${W.gap||0};
8562
+ const totalItems = ${_.length};
8464
8563
  const overscan = ${O};
8465
- const containerHeight = ${_.containerHeight};
8466
- const items = ${JSON.stringify(U)};
8564
+ const containerHeight = ${W.containerHeight};
8565
+ const items = ${JSON.stringify(_)};
8467
8566
  const template = ${JSON.stringify(K.trim())};
8468
8567
 
8469
8568
  let lastStartRow = 0;
@@ -8507,7 +8606,7 @@ else {
8507
8606
  });
8508
8607
  })();
8509
8608
  </script>
8510
- `})}var Vq;var s8=P(()=>{Vq={createVirtualList:i7,processVirtualListDirectives:n7,processInfiniteListDirectives:i8,processVirtualGridDirectives:n8,generateVirtualListCSS:l8,useVirtualList:c8}});function r8(){return`<script data-stx-hydration-runtime>
8609
+ `})}var Pq;var GZ=C(()=>{Pq={createVirtualList:e4,processVirtualListDirectives:$7,processInfiniteListDirectives:JZ,processVirtualGridDirectives:XZ,generateVirtualListCSS:ZZ,useVirtualList:YZ}});function KZ(){return`<script data-stx-hydration-runtime>
8511
8610
  (function() {
8512
8611
  'use strict';
8513
8612
 
@@ -8667,7 +8766,7 @@ else {
8667
8766
  stxIslands.initIslands();
8668
8767
  }
8669
8768
  })();
8670
- </script>`}function a8($){let Z=$.match(/<([A-Z][a-zA-Z0-9]+)[\s/>]/);if(Z)return Z[1];let J=$.match(/<([a-z][a-z0-9]*-[a-z0-9-]+)[\s/>]/);if(J)return J[1];return null}function t8($,Z){let J={},Y=/:([a-zA-Z_][\w-]*)\s*=\s*"([^"]+)"/g,Q;while((Q=Y.exec($))!==null){let X=Q[1],G=Q[2];if(G in Z)J[X]=Z[G];else J[X]=G}return J}var _Y={};r(_Y,{processStaticDirectives:()=>KY,processPartialHydrationDirectives:()=>$Y,onHydrated:()=>GY,isHydrated:()=>QY,hydrateIsland:()=>YY,hydrateByStrategy:()=>JY,hydrateAll:()=>XY,generatePartialHydrationCSS:()=>ZY,generateIslandManifest:()=>qY,default:()=>Eq,createIslandRegistry:()=>e8});function e8(){let $=new Map;return{islands:$,register(Z){$.set(Z.id,Z)},get(Z){return $.get(Z)},async hydrate(Z){let J=$.get(Z);if(!J||J.hydrated)return;if(J.hydrated=!0,typeof window<"u"&&typeof window.dispatchEvent==="function")window.dispatchEvent(new CustomEvent("stx:hydrate",{detail:{id:Z,component:J.component}}))},async hydrateAll(){let Z=Array.from($.values()).filter((J)=>!J.hydrated).map((J)=>this.hydrate(J.id));await Promise.all(Z)}}}function Nq($){return`
8769
+ </script>`}function qZ($){let Z=$.match(/<([A-Z][a-zA-Z0-9]+)[\s/>]/);if(Z)return Z[1];let J=$.match(/<([a-z][a-z0-9]*-[a-z0-9-]+)[\s/>]/);if(J)return J[1];return null}function WZ($,Z){let J={},Y=/:([a-zA-Z_][\w-]*)\s*=\s*"([^"]+)"/g,Q;while((Q=Y.exec($))!==null){let X=Q[1],G=Q[2];if(G in Z)J[X]=Z[G];else J[X]=G}return J}var wZ={};r(wZ,{processStaticDirectives:()=>FZ,processPartialHydrationDirectives:()=>zZ,onHydrated:()=>LZ,isHydrated:()=>HZ,hydrateIsland:()=>BZ,hydrateByStrategy:()=>jZ,hydrateAll:()=>OZ,generatePartialHydrationCSS:()=>UZ,generateIslandManifest:()=>VZ,default:()=>uq,createIslandRegistry:()=>_Z});function _Z(){let $=new Map;return{islands:$,register(Z){$.set(Z.id,Z)},get(Z){return $.get(Z)},async hydrate(Z){let J=$.get(Z);if(!J||J.hydrated)return;if(J.hydrated=!0,typeof window<"u"&&typeof window.dispatchEvent==="function")window.dispatchEvent(new CustomEvent("stx:hydrate",{detail:{id:Z,component:J.component}}))},async hydrateAll(){let Z=Array.from($.values()).filter((J)=>!J.hydrated).map((J)=>this.hydrate(J.id));await Promise.all(Z)}}}function vq($){return`
8671
8770
  <script data-hydrate="${$}">
8672
8771
  (function() {
8673
8772
  const island = document.querySelector('[data-island="${$}"]');
@@ -8678,7 +8777,7 @@ else {
8678
8777
  island.dispatchEvent(new CustomEvent('stx:hydrated', { bubbles: true }));
8679
8778
  })();
8680
8779
  </script>
8681
- `}function Rq($,Z){let J=Z.timeout||2000,Y=Z.priority||"low";return`
8780
+ `}function xq($,Z){let J=Z.timeout||2000,Y=Z.priority||"low";return`
8682
8781
  <script data-hydrate="${$}">
8683
8782
  (function() {
8684
8783
  const island = document.querySelector('[data-island="${$}"]');
@@ -8714,7 +8813,7 @@ else {
8714
8813
  }
8715
8814
  })();
8716
8815
  </script>
8717
- `}function Aq($,Z){let J=Z.rootMargin||"0px",Y=Z.threshold||0;return`
8816
+ `}function fq($,Z){let J=Z.rootMargin||"0px",Y=Z.threshold||0;return`
8718
8817
  <script data-hydrate="${$}">
8719
8818
  (function() {
8720
8819
  const island = document.querySelector('[data-island="${$}"]');
@@ -8747,7 +8846,7 @@ else {
8747
8846
  }
8748
8847
  })();
8749
8848
  </script>
8750
- `}function wq($,Z){let J=Z.media||"(min-width: 768px)";return`
8849
+ `}function gq($,Z){let J=Z.media||"(min-width: 768px)";return`
8751
8850
  <script data-hydrate="${$}">
8752
8851
  (function() {
8753
8852
  const island = document.querySelector('[data-island="${$}"]');
@@ -8776,7 +8875,7 @@ else {
8776
8875
  }
8777
8876
  })();
8778
8877
  </script>
8779
- `}function Tq($){return`
8878
+ `}function hq($){return`
8780
8879
  <script data-hydrate="${$}">
8781
8880
  (function() {
8782
8881
  const island = document.querySelector('[data-island="${$}"]');
@@ -8798,7 +8897,7 @@ else {
8798
8897
  events.forEach(e => island.addEventListener(e, handler, { once: true, passive: true }));
8799
8898
  })();
8800
8899
  </script>
8801
- `}function Mq($,Z){let J=Z.event||"stx:activate";return`
8900
+ `}function dq($,Z){let J=Z.event||"stx:activate";return`
8802
8901
  <script data-hydrate="${$}">
8803
8902
  (function() {
8804
8903
  const island = document.querySelector('[data-island="${$}"]');
@@ -8819,19 +8918,19 @@ else {
8819
8918
  });
8820
8919
  })();
8821
8920
  </script>
8822
- `}function $Y($,Z={},J){let Y=$,Q=!1,X=/@client:(load|idle|visible|media|only|hover|event)/i.test($);if(Y=g1(Y,"load",Z),Y=g1(Y,"idle",Z),Y=g1(Y,"visible",Z),Y=g1(Y,"media",Z),Y=Iq(Y),Y=g1(Y,"hover",Z),Y=g1(Y,"event",Z),Q=X&&Y!==$,Q)Y+=`
8823
- `+r8();return Y}function g1($,Z,J){let Y=new RegExp(`@client:${Z}(?:\\s*\\(([^)]*)\\))?\\s*([\\s\\S]*?)@endclient`,"gi");return $.replace(Y,(Q,X,G)=>{let K={strategy:Z};if(X)try{let O=X.split(",").map((F)=>F.trim());for(let F of O){let[L,H]=F.split(":").map((V)=>V.trim());if(L&&H){let V=H.replace(/^['"]|['"]$/g,"");K[L]=V}}}catch{}let q=`island-${Math.random().toString(36).substring(2,9)}`,U=a8(G.trim()),_=t8(G.trim(),J),W=[];if(K.rootMargin)W.push(`data-root-margin="${K.rootMargin}"`);if(K.threshold!==void 0)W.push(`data-threshold="${K.threshold}"`);if(K.media)W.push(`data-media="${K.media}"`);if(K.event)W.push(`data-event="${K.event}"`);if(U)W.push(`data-component="${U}"`);let j=Object.keys(_).length>0?`
8824
- <script type="application/json" data-island-props="${q}">${JSON.stringify(_)}</script>`:"",B="";switch(Z){case"load":B=Nq(q);break;case"idle":B=Rq(q,K);break;case"visible":B=Aq(q,K);break;case"media":B=wq(q,K);break;case"hover":B=Tq(q);break;case"event":B=Mq(q,K);break}return`
8921
+ `}function zZ($,Z={},J){let Y=$,Q=!1,X=/@client:(load|idle|visible|media|only|hover|event)/i.test($);if(Y=d1(Y,"load",Z),Y=d1(Y,"idle",Z),Y=d1(Y,"visible",Z),Y=d1(Y,"media",Z),Y=mq(Y),Y=d1(Y,"hover",Z),Y=d1(Y,"event",Z),Q=X&&Y!==$,Q)Y+=`
8922
+ `+KZ();return Y}function d1($,Z,J){let Y=new RegExp(`@client:${Z}(?:\\s*\\(([^)]*)\\))?\\s*([\\s\\S]*?)@endclient`,"gi");return $.replace(Y,(Q,X,G)=>{let K={strategy:Z};if(X)try{let O=X.split(",").map((F)=>F.trim());for(let F of O){let[L,H]=F.split(":").map((V)=>V.trim());if(L&&H){let V=H.replace(/^['"]|['"]$/g,"");K[L]=V}}}catch{}let q=`island-${Math.random().toString(36).substring(2,9)}`,_=qZ(G.trim()),W=WZ(G.trim(),J),z=[];if(K.rootMargin)z.push(`data-root-margin="${K.rootMargin}"`);if(K.threshold!==void 0)z.push(`data-threshold="${K.threshold}"`);if(K.media)z.push(`data-media="${K.media}"`);if(K.event)z.push(`data-event="${K.event}"`);if(_)z.push(`data-component="${_}"`);let j=Object.keys(W).length>0?`
8923
+ <script type="application/json" data-island-props="${q}">${JSON.stringify(W)}</script>`:"",B="";switch(Z){case"load":B=vq(q);break;case"idle":B=xq(q,K);break;case"visible":B=fq(q,K);break;case"media":B=gq(q,K);break;case"hover":B=hq(q);break;case"event":B=dq(q,K);break}return`
8825
8924
  <div data-island="${q}"
8826
8925
  data-strategy="${Z}"
8827
- ${W.join(`
8926
+ ${z.join(`
8828
8927
  `)}
8829
8928
  class="stx-island"
8830
8929
  style="contents;">
8831
8930
  ${G.trim()}${j}
8832
8931
  </div>
8833
8932
  ${B}
8834
- `})}function Iq($){let Z=/@client:only\s*([\s\S]*?)@endclient/gi;return $.replace(Z,(J,Y)=>{let Q=`island-only-${Math.random().toString(36).substring(2,9)}`;return`
8933
+ `})}function mq($){let Z=/@client:only\s*([\s\S]*?)@endclient/gi;return $.replace(Z,(J,Y)=>{let Q=`island-only-${Math.random().toString(36).substring(2,9)}`;return`
8835
8934
  <div data-island="${Q}"
8836
8935
  data-strategy="only"
8837
8936
  class="stx-island stx-client-only">
@@ -8850,7 +8949,7 @@ else {
8850
8949
  }
8851
8950
  })();
8852
8951
  </script>
8853
- `})}function ZY(){return`
8952
+ `})}function UZ(){return`
8854
8953
  /* Island base styles */
8855
8954
  .stx-island {
8856
8955
  display: contents;
@@ -8891,11 +8990,11 @@ else {
8891
8990
  .stx-island.hydrated {
8892
8991
  opacity: 1;
8893
8992
  }
8894
- `}function YY($){if(typeof window>"u")return;let Z=document.querySelector(`[data-island="${$}"]`);if(!Z||Z.classList.contains("hydrated"))return;Z.classList.add("hydrated"),Z.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))}function JY($){if(typeof window>"u")return;document.querySelectorAll(`[data-strategy="${$}"]:not(.hydrated)`).forEach((J)=>{J.classList.add("hydrated"),J.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))})}function XY(){if(typeof window>"u")return;document.querySelectorAll(".stx-island:not(.hydrated)").forEach((Z)=>{Z.classList.add("hydrated"),Z.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))})}function QY($){if(typeof window>"u")return!1;return document.querySelector(`[data-island="${$}"]`)?.classList.contains("hydrated")??!1}function GY($){return new Promise((Z)=>{if(typeof window>"u"){Z();return}let J=document.querySelector(`[data-island="${$}"]`);if(!J){Z();return}if(J.classList.contains("hydrated")){Z();return}J.addEventListener("stx:hydrated",()=>Z(),{once:!0})})}function KY($){return $.replace(/@static\s*([\s\S]*?)@endstatic/gi,(Z,J)=>{return`<div class="stx-static">${J.trim()}</div>`})}function qY($){let Z=$.map((J)=>({id:J.id,component:J.component,strategy:J.options.strategy,props:J.props}));return`
8993
+ `}function BZ($){if(typeof window>"u")return;let Z=document.querySelector(`[data-island="${$}"]`);if(!Z||Z.classList.contains("hydrated"))return;Z.classList.add("hydrated"),Z.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))}function jZ($){if(typeof window>"u")return;document.querySelectorAll(`[data-strategy="${$}"]:not(.hydrated)`).forEach((J)=>{J.classList.add("hydrated"),J.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))})}function OZ(){if(typeof window>"u")return;document.querySelectorAll(".stx-island:not(.hydrated)").forEach((Z)=>{Z.classList.add("hydrated"),Z.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))})}function HZ($){if(typeof window>"u")return!1;return document.querySelector(`[data-island="${$}"]`)?.classList.contains("hydrated")??!1}function LZ($){return new Promise((Z)=>{if(typeof window>"u"){Z();return}let J=document.querySelector(`[data-island="${$}"]`);if(!J){Z();return}if(J.classList.contains("hydrated")){Z();return}J.addEventListener("stx:hydrated",()=>Z(),{once:!0})})}function FZ($){return $.replace(/@static\s*([\s\S]*?)@endstatic/gi,(Z,J)=>{return`<div class="stx-static">${J.trim()}</div>`})}function VZ($){let Z=$.map((J)=>({id:J.id,component:J.component,strategy:J.options.strategy,props:J.props}));return`
8895
8994
  <script type="application/json" id="stx-island-manifest">
8896
8995
  ${JSON.stringify(Z)}
8897
8996
  </script>
8898
- `}var Eq;var UY=P(()=>{Eq={processPartialHydrationDirectives:$Y,processStaticDirectives:KY,generatePartialHydrationCSS:ZY,generateIslandManifest:qY,createIslandRegistry:e8,hydrateIsland:YY,hydrateByStrategy:JY,hydrateAll:XY,isHydrated:QY,onHydrated:GY}});var RY={};r(RY,{watchMultiple:()=>OY,watchEffect:()=>HY,watch:()=>jY,unref:()=>WY,toRefs:()=>zY,throttledComputed:()=>NY,stxWatchMultiple:()=>OY,stxWatchEffect:()=>HY,stxWatch:()=>jY,stxUnref:()=>WY,stxToRefs:()=>zY,stxThrottledComputed:()=>NY,stxShallowRef:()=>BY,stxRef:()=>h1,stxIsRef:()=>Y1,stxDebouncedComputed:()=>VY,stxComputed:()=>B5,shallowRef:()=>BY,ref:()=>h1,processWatchDirectives:()=>FY,processComputedDirectives:()=>LY,isRef:()=>Y1,default:()=>Dq,debouncedComputed:()=>VY,computed:()=>B5});function h1($){let Z=$,J=new Set,Y={get value(){if(m0){let Q=z5.get(Y);if(!Q)Q=new Set,z5.set(Y,Q);Q.add(m0)}return Z},set value(Q){if(!Object.is(Z,Q)){Z=Q,J.forEach((G)=>G(Q));let X=z5.get(Y);if(X)X.forEach((G)=>G())}},subscribe(Q){return J.add(Q),()=>J.delete(Q)},peek(){return Z}};return Y}function Y1($){return $!==null&&typeof $==="object"&&"value"in $&&"subscribe"in $&&"peek"in $}function WY($){return Y1($)?$.value:$}function zY($){let Z={};for(let J in $)if(Object.prototype.hasOwnProperty.call($,J))Z[J]=h1($[J]);return Z}function BY($){return h1($)}function B5($){let Z=typeof $==="function",J=Z?$:$.get,Y=Z?void 0:$.set,Q=Z?Object.is:$.equals||Object.is,X,G=!0,K=new Set,q=new Set,U=()=>{if(G=!0,q.size>0){let z=W.value;q.forEach((j)=>j(z))}};function _(){K.clear();let z=m0;m0=U,w$.push(U);try{return J()}finally{w$.pop(),m0=z}}let W={get value(){if(m0){let z=z5.get(W);if(!z)z=new Set,z5.set(W,z);z.add(m0)}if(G){let z=_();if(!Q(X,z))X=z;G=!1}return X},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(G)X=J(),G=!1;return X},invalidate(){G=!0},get dirty(){return G},get deps(){return K}};return W}function jY($,Z,J={}){let{immediate:Y=!1,deep:Q=!1,flush:X="pre",once:G=!1}=J,K,q=!0,U=!1,_=()=>{if(Y1($))return Q?R1($.value):$.value;return $()},W=()=>{if(!q||U)return;let B=_();if(K!==void 0&&Object.is(K,B)&&!Q)return;let O=()=>{if(Z(B,K),K=Q?R1(B):B,G)j()};if(X==="sync")O();else if(X==="post")queueMicrotask(O);else Promise.resolve().then(O)},z=null;if(Y1($))z=$.subscribe(()=>W());else z=B5($).subscribe(()=>W());if(Y)K=void 0,W();else K=_();let j=()=>{if(q=!1,z)z(),z=null};return j.pause=()=>{U=!0},j.resume=()=>{U=!1},j}function OY($,Z,J={}){let{immediate:Y=!1,once:Q=!1}=J,X=$.map((W)=>Y1(W)?W.value:void 0),G=!0,K=!1,q=()=>{if(!G||K)return;let W=$.map((z)=>Y1(z)?z.value:void 0);if(Z(W,X),X=[...W],Q)_()},U=$.map((W)=>{if(Y1(W))return W.subscribe(()=>q());return()=>{}});if(Y)q();let _=()=>{G=!1,U.forEach((W)=>W())};return _.pause=()=>{K=!0},_.resume=()=>{K=!1},_}function HY($,Z={}){let{flush:J="pre"}=Z,Y,Q=!0,X=!1,G=()=>{if(!Q||X)return;if(Y)Y();let q=m0;m0=G,w$.push(G);try{Y=$()}finally{w$.pop(),m0=q}};if(J==="sync")G();else if(J==="post")queueMicrotask(G);else Promise.resolve().then(G);let K=()=>{if(Q=!1,Y)Y()};return K.pause=()=>{X=!0},K.resume=()=>{X=!1},K}function LY($,Z={},J){let Y=/@computed\s*\(\s*(\w+)\s*,\s*(.+?)\s*\)/gi;return $.replace(Y,(Q,X,G)=>{try{let q=Function(...Object.keys(Z),`return ${G}`)(...Object.values(Z));return Z[X]=q,`<!-- computed: ${X} = ${q} -->`}catch(K){return`<!-- computed error: ${X} - ${K} -->`}})}function FY($,Z={},J){let Y=/@watch\s*\(\s*(\w+)\s*\)\s*([\s\S]*?)@endwatch/gi;return $.replace(Y,(Q,X,G)=>{return`
8997
+ `}var uq;var NZ=C(()=>{uq={processPartialHydrationDirectives:zZ,processStaticDirectives:FZ,generatePartialHydrationCSS:UZ,generateIslandManifest:VZ,createIslandRegistry:_Z,hydrateIsland:BZ,hydrateByStrategy:jZ,hydrateAll:OZ,isHydrated:HZ,onHydrated:LZ}});var yZ={};r(yZ,{watchMultiple:()=>IZ,watchEffect:()=>DZ,watch:()=>MZ,unref:()=>RZ,toRefs:()=>AZ,throttledComputed:()=>SZ,stxWatchMultiple:()=>IZ,stxWatchEffect:()=>DZ,stxWatch:()=>MZ,stxUnref:()=>RZ,stxToRefs:()=>AZ,stxThrottledComputed:()=>SZ,stxShallowRef:()=>TZ,stxRef:()=>m1,stxIsRef:()=>J1,stxDebouncedComputed:()=>bZ,stxComputed:()=>H5,shallowRef:()=>TZ,ref:()=>m1,processWatchDirectives:()=>kZ,processComputedDirectives:()=>EZ,isRef:()=>J1,default:()=>pq,debouncedComputed:()=>bZ,computed:()=>H5});function m1($){let Z=$,J=new Set,Y={get value(){if(u0){let Q=O5.get(Y);if(!Q)Q=new Set,O5.set(Y,Q);Q.add(u0)}return Z},set value(Q){if(!Object.is(Z,Q)){Z=Q,J.forEach((G)=>G(Q));let X=O5.get(Y);if(X)X.forEach((G)=>G())}},subscribe(Q){return J.add(Q),()=>J.delete(Q)},peek(){return Z}};return Y}function J1($){return $!==null&&typeof $==="object"&&"value"in $&&"subscribe"in $&&"peek"in $}function RZ($){return J1($)?$.value:$}function AZ($){let Z={};for(let J in $)if(Object.prototype.hasOwnProperty.call($,J))Z[J]=m1($[J]);return Z}function TZ($){return m1($)}function H5($){let Z=typeof $==="function",J=Z?$:$.get,Y=Z?void 0:$.set,Q=Z?Object.is:$.equals||Object.is,X,G=!0,K=new Set,q=new Set,_=()=>{if(G=!0,q.size>0){let U=z.value;q.forEach((j)=>j(U))}};function W(){K.clear();let U=u0;u0=_,E9.push(_);try{return J()}finally{E9.pop(),u0=U}}let z={get value(){if(u0){let U=O5.get(z);if(!U)U=new Set,O5.set(z,U);U.add(u0)}if(G){let U=W();if(!Q(X,U))X=U;G=!1}return X},set value(U){if(Y)Y(U);else console.warn("Computed property is readonly")},subscribe(U){return q.add(U),()=>q.delete(U)},peek(){if(G)X=J(),G=!1;return X},invalidate(){G=!0},get dirty(){return G},get deps(){return K}};return z}function MZ($,Z,J={}){let{immediate:Y=!1,deep:Q=!1,flush:X="pre",once:G=!1}=J,K,q=!0,_=!1,W=()=>{if(J1($))return Q?V1($.value):$.value;return $()},z=()=>{if(!q||_)return;let B=W();if(K!==void 0&&Object.is(K,B)&&!Q)return;let O=()=>{if(Z(B,K),K=Q?V1(B):B,G)j()};if(X==="sync")O();else if(X==="post")queueMicrotask(O);else Promise.resolve().then(O)},U=null;if(J1($))U=$.subscribe(()=>z());else U=H5($).subscribe(()=>z());if(Y)K=void 0,z();else K=W();let j=()=>{if(q=!1,U)U(),U=null};return j.pause=()=>{_=!0},j.resume=()=>{_=!1},j}function IZ($,Z,J={}){let{immediate:Y=!1,once:Q=!1}=J,X=$.map((z)=>J1(z)?z.value:void 0),G=!0,K=!1,q=()=>{if(!G||K)return;let z=$.map((U)=>J1(U)?U.value:void 0);if(Z(z,X),X=[...z],Q)W()},_=$.map((z)=>{if(J1(z))return z.subscribe(()=>q());return()=>{}});if(Y)q();let W=()=>{G=!1,_.forEach((z)=>z())};return W.pause=()=>{K=!0},W.resume=()=>{K=!1},W}function DZ($,Z={}){let{flush:J="pre"}=Z,Y,Q=!0,X=!1,G=()=>{if(!Q||X)return;if(Y)Y();let q=u0;u0=G,E9.push(G);try{Y=$()}finally{E9.pop(),u0=q}};if(J==="sync")G();else if(J==="post")queueMicrotask(G);else Promise.resolve().then(G);let K=()=>{if(Q=!1,Y)Y()};return K.pause=()=>{X=!0},K.resume=()=>{X=!1},K}function EZ($,Z={},J){let Y=/@computed\s*\(\s*(\w+)\s*,\s*(.+?)\s*\)/gi;return $.replace(Y,(Q,X,G)=>{try{let q=Function(...Object.keys(Z),`return ${G}`)(...Object.values(Z));return Z[X]=q,`<!-- computed: ${X} = ${q} -->`}catch(K){return`<!-- computed error: ${X} - ${K} -->`}})}function kZ($,Z={},J){let Y=/@watch\s*\(\s*(\w+)\s*\)\s*([\s\S]*?)@endwatch/gi;return $.replace(Y,(Q,X,G)=>{return`
8899
8998
  <script data-watch="${`watch-${Math.random().toString(36).substring(2,9)}`}">
8900
8999
  (function() {
8901
9000
  // Watch implementation for ${X}
@@ -8907,9 +9006,9 @@ else {
8907
9006
  }
8908
9007
  })();
8909
9008
  </script>
8910
- `})}function R1($){if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((J)=>R1(J));if($ instanceof Date)return new Date($.getTime());if($ instanceof Map){let J=new Map;return $.forEach((Y,Q)=>J.set(R1(Q),R1(Y))),J}if($ instanceof Set){let J=new Set;return $.forEach((Y)=>J.add(R1(Y))),J}let Z={};for(let J in $)if(Object.prototype.hasOwnProperty.call($,J))Z[J]=R1($[J]);return Z}function VY($,Z=100){let J=h1($()),Y=null,Q=()=>{if(Y)clearTimeout(Y);Y=setTimeout(()=>{J.value=$()},Z)};return B5($).subscribe(()=>Q()),{get value(){return J.value},set value(G){console.warn("Debounced computed is readonly")},subscribe:J.subscribe,peek:J.peek,invalidate(){Q()},get dirty(){return!1},get deps(){return new Set}}}function NY($,Z=100){let J=h1($()),Y=0,Q=()=>{let G=Date.now();if(G-Y>=Z)Y=G,J.value=$()};return B5($).subscribe(()=>Q()),{get value(){return J.value},set value(G){console.warn("Throttled computed is readonly")},subscribe:J.subscribe,peek:J.peek,invalidate(){Q()},get dirty(){return!1},get deps(){return new Set}}}var m0=null,w$,z5,Dq;var AY=P(()=>{w$=[],z5=new WeakMap;Dq={ref:h1,computed:B5,watch:jY,watchMultiple:OY,watchEffect:HY,isRef:Y1,unref:WY,toRefs:zY,shallowRef:BY,debouncedComputed:VY,throttledComputed:NY,processComputedDirectives:LY,processWatchDirectives:FY}});var IY={};r(IY,{v:()=>kq,processHasErrorsDirective:()=>MY,processFormValidationDirectives:()=>bq,processErrorsDirective:()=>TY,processErrorDirective:()=>wY,defineForm:()=>Sq,Validator:()=>d1});class d1{rules=[];defaultValue="";addRule($){let Z=new d1;return Z.rules=[...this.rules,$],Z.defaultValue=this.defaultValue,Z}required($="This field is required"){return this.addRule({name:"required",message:$,validate:(Z)=>{if(Z===null||Z===void 0)return $;if(typeof Z==="string"&&Z.trim()==="")return $;if(Array.isArray(Z)&&Z.length===0)return $;return!0}})}email($="Please enter a valid email"){return this.addRule({name:"email",message:$,validate:(Z)=>{if(!Z)return!0;return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(Z))||$}})}url($="Please enter a valid URL"){return this.addRule({name:"url",message:$,validate:(Z)=>{if(!Z)return!0;try{return new URL(String(Z)),!0}catch{return $}}})}min($,Z){let J=Z||`Must be at least ${$} characters`;return this.addRule({name:"min",message:J,validate:(Y)=>{if(!Y)return!0;return String(Y).length>=$||J}})}max($,Z){let J=Z||`Must be no more than ${$} characters`;return this.addRule({name:"max",message:J,validate:(Y)=>{if(!Y)return!0;return String(Y).length<=$||J}})}length($,Z,J){let Y=J||`Must be between ${$} and ${Z} characters`;return this.addRule({name:"length",message:Y,validate:(Q)=>{if(!Q)return!0;let X=String(Q).length;return X>=$&&X<=Z||Y}})}pattern($,Z="Invalid format"){return this.addRule({name:"pattern",message:Z,validate:(J)=>{if(!J)return!0;return $.test(String(J))||Z}})}hasUppercase($="Must contain an uppercase letter"){return this.pattern(/[A-Z]/,$)}hasLowercase($="Must contain a lowercase letter"){return this.pattern(/[a-z]/,$)}hasNumber($="Must contain a number"){return this.pattern(/\d/,$)}hasSpecial($="Must contain a special character"){return this.pattern(/[!@#$%^&*(),.?":{}|<>]/,$)}alphanumeric($="Only letters and numbers allowed"){return this.pattern(/^[a-zA-Z0-9]+$/,$)}startsWithLetter($="Must start with a letter"){return this.pattern(/^[a-zA-Z]/,$)}noSpaces($="Spaces are not allowed"){return this.addRule({name:"noSpaces",message:$,validate:(Z)=>{if(!Z)return!0;return!String(Z).includes(" ")||$}})}number($="Must be a number"){let Z=this.addRule({name:"number",message:$,validate:(J)=>{if(!J&&J!==0)return!0;return!Number.isNaN(Number(J))||$}});return Z.defaultValue=0,Z}integer($="Must be a whole number"){return this.addRule({name:"integer",message:$,validate:(Z)=>{if(!Z&&Z!==0)return!0;return Number.isInteger(Number(Z))||$}})}positive($="Must be a positive number"){return this.addRule({name:"positive",message:$,validate:(Z)=>{if(!Z&&Z!==0)return!0;return Number(Z)>0||$}})}negative($="Must be a negative number"){return this.addRule({name:"negative",message:$,validate:(Z)=>{if(!Z&&Z!==0)return!0;return Number(Z)<0||$}})}minValue($,Z){let J=Z||`Must be at least ${$}`;return this.addRule({name:"minValue",message:J,validate:(Y)=>{if(!Y&&Y!==0)return!0;return Number(Y)>=$||J}})}maxValue($,Z){let J=Z||`Must be no more than ${$}`;return this.addRule({name:"maxValue",message:J,validate:(Y)=>{if(!Y&&Y!==0)return!0;return Number(Y)<=$||J}})}between($,Z,J){let Y=J||`Must be between ${$} and ${Z}`;return this.addRule({name:"between",message:Y,validate:(Q)=>{if(!Q&&Q!==0)return!0;let X=Number(Q);return X>=$&&X<=Z||Y}})}matches($,Z){let J=Z||`Must match ${$}`;return this.addRule({name:"matches",message:J,validate:(Y,Q)=>{if(!Q)return!0;return Y===Q[$]||J}})}oneOf($,Z){let J=Z||`Must be one of: ${$.join(", ")}`;return this.addRule({name:"oneOf",message:J,validate:(Y)=>{if(!Y)return!0;return $.includes(Y)||J}})}notOneOf($,Z){let J=Z||`Cannot be one of: ${$.join(", ")}`;return this.addRule({name:"notOneOf",message:J,validate:(Y)=>{if(!Y)return!0;return!$.includes(Y)||J}})}date($="Must be a valid date"){return this.addRule({name:"date",message:$,validate:(Z)=>{if(!Z)return!0;let J=new Date(String(Z));return!Number.isNaN(J.getTime())||$}})}before($,Z){let J=new Date($),Y=Z||`Must be before ${J.toLocaleDateString()}`;return this.addRule({name:"before",message:Y,validate:(Q)=>{if(!Q)return!0;return new Date(String(Q))<J||Y}})}after($,Z){let J=new Date($),Y=Z||`Must be after ${J.toLocaleDateString()}`;return this.addRule({name:"after",message:Y,validate:(Q)=>{if(!Q)return!0;return new Date(String(Q))>J||Y}})}custom($,Z="Invalid value"){return this.addRule({name:"custom",message:Z,validate:$})}async($,Z="Invalid value"){return this.addRule({name:"async",message:Z,async:!0,validate:$})}when($,Z){let J=new d1;J.rules=[...this.rules],J.defaultValue=this.defaultValue;for(let Y of Z.getRules())J.rules.push({...Y,validate:(Q,X)=>{if(!$(Q,X||{}))return!0;return Y.validate(Q,X)}});return J}getRules(){return this.rules}getDefaultValue(){return this.defaultValue}default($){let Z=new d1;return Z.rules=[...this.rules],Z.defaultValue=$,Z}async validate($,Z){let J=[];for(let Y of this.rules){let Q=await Y.validate($,Z);if(Q!==!0)J.push(Q)}return J}validateSync($,Z){let J=[];for(let Y of this.rules){if(Y.async)continue;let Q=Y.validate($,Z);if(Q!==!0)J.push(Q)}return J}}function Sq($,Z){let J=Object.keys($),Y={},Q={},X={},G={},K={};for(let H of J)Y[H]=Z?.[H]??$[H].getDefaultValue(),Q[H]=[],X[H]=!1,G[H]=!1,K[H]=!1;let q=!1;async function U(H){K[H]=!0;let V=await $[H].validate(Y[H],Y);return Q[H]=V,K[H]=!1,V.length===0}async function _(){q=!0;let H=await Promise.all(J.map(U));return q=!1,H.every(Boolean)}function W(){for(let H of J)Y[H]=Z?.[H]??$[H].getDefaultValue(),Q[H]=[],X[H]=!1,G[H]=!1}function z(H){for(let V of J)if(V in H)Y[V]=H[V],G[V]=!0}function j(H,V){Y[H]=V,G[H]=!0}function B(H,V=!0){if(X[H]=V,V)U(H)}function O(H){return{value:Y[H],errors:Q[H],touched:X[H],dirty:G[H],valid:Q[H].length===0,validating:K[H]}}function F(H){return async(V)=>{V?.preventDefault?.();for(let N of J)X[N]=!0;if(await _())await H(Y)}}return{values:Y,errors:Q,touched:X,dirty:G,get isValid(){return J.every((H)=>Q[H].length===0)},get isValidating(){return q||J.some((H)=>K[H])},get isDirty(){return J.some((H)=>G[H])},validate:_,validateField:U,reset:W,setValues:z,setFieldValue:j,setFieldTouched:B,getFieldState:O,handleSubmit:F}}function wY($,Z,J){let Y=/@error\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderror/g;return $.replace(Y,(Q,X,G)=>{try{let K=X.trim().split("."),q=Z;for(let _ of K)if(q&&typeof q==="object"&&_ in q)q=q[_];else return"";let U=q;if(!U||!Array.isArray(U)||U.length===0)return"";return U.map((_)=>{return G.replace(/\{\{\s*message\s*\}\}/g,_)}).join(`
8911
- `)}catch{return""}})}function TY($,Z,J){let Y=/@errors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderrors/g;return $.replace(Y,(Q,X,G)=>{try{let K=X.trim().split("."),q=Z;for(let _ of K)if(q&&typeof q==="object"&&_ in q)q=q[_];else return"";let U=q;if(!U||!Array.isArray(U)||U.length===0)return"";return U.map((_)=>G.replace(/\{\{\s*message\s*\}\}/g,_)).join(`
8912
- `)}catch{return""}})}function MY($,Z,J){let Y=/@hasErrors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@endhasErrors/g;return $.replace(Y,(Q,X,G)=>{try{let K=X.trim().split("."),q=Z;for(let _ of K)if(q&&typeof q==="object"&&_ in q)q=q[_];else return"";let U=q;if(!U||!Array.isArray(U)||U.length===0)return"";return G}catch{return""}})}function bq($,Z,J){let Y=$;return Y=wY(Y,Z,J),Y=TY(Y,Z,J),Y=MY(Y,Z,J),Y}var kq;var EY=P(()=>{kq=new d1});var SY={};r(SY,{processXElementDirectives:()=>yq,hasXElementDirectives:()=>kY,generateXElementRuntime:()=>DY});function DY(){return`<script data-stx-scoped>
9009
+ `})}function V1($){if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((J)=>V1(J));if($ instanceof Date)return new Date($.getTime());if($ instanceof Map){let J=new Map;return $.forEach((Y,Q)=>J.set(V1(Q),V1(Y))),J}if($ instanceof Set){let J=new Set;return $.forEach((Y)=>J.add(V1(Y))),J}let Z={};for(let J in $)if(Object.prototype.hasOwnProperty.call($,J))Z[J]=V1($[J]);return Z}function bZ($,Z=100){let J=m1($()),Y=null,Q=()=>{if(Y)clearTimeout(Y);Y=setTimeout(()=>{J.value=$()},Z)};return H5($).subscribe(()=>Q()),{get value(){return J.value},set value(G){console.warn("Debounced computed is readonly")},subscribe:J.subscribe,peek:J.peek,invalidate(){Q()},get dirty(){return!1},get deps(){return new Set}}}function SZ($,Z=100){let J=m1($()),Y=0,Q=()=>{let G=Date.now();if(G-Y>=Z)Y=G,J.value=$()};return H5($).subscribe(()=>Q()),{get value(){return J.value},set value(G){console.warn("Throttled computed is readonly")},subscribe:J.subscribe,peek:J.peek,invalidate(){Q()},get dirty(){return!1},get deps(){return new Set}}}var u0=null,E9,O5,pq;var CZ=C(()=>{E9=[],O5=new WeakMap;pq={ref:m1,computed:H5,watch:MZ,watchMultiple:IZ,watchEffect:DZ,isRef:J1,unref:RZ,toRefs:AZ,shallowRef:TZ,debouncedComputed:bZ,throttledComputed:SZ,processComputedDirectives:EZ,processWatchDirectives:kZ}});var fZ={};r(fZ,{v:()=>lq,processHasErrorsDirective:()=>xZ,processFormValidationDirectives:()=>iq,processErrorsDirective:()=>vZ,processErrorDirective:()=>PZ,defineForm:()=>cq,Validator:()=>u1});class u1{rules=[];defaultValue="";addRule($){let Z=new u1;return Z.rules=[...this.rules,$],Z.defaultValue=this.defaultValue,Z}required($="This field is required"){return this.addRule({name:"required",message:$,validate:(Z)=>{if(Z===null||Z===void 0)return $;if(typeof Z==="string"&&Z.trim()==="")return $;if(Array.isArray(Z)&&Z.length===0)return $;return!0}})}email($="Please enter a valid email"){return this.addRule({name:"email",message:$,validate:(Z)=>{if(!Z)return!0;return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(Z))||$}})}url($="Please enter a valid URL"){return this.addRule({name:"url",message:$,validate:(Z)=>{if(!Z)return!0;try{return new URL(String(Z)),!0}catch{return $}}})}min($,Z){let J=Z||`Must be at least ${$} characters`;return this.addRule({name:"min",message:J,validate:(Y)=>{if(!Y)return!0;return String(Y).length>=$||J}})}max($,Z){let J=Z||`Must be no more than ${$} characters`;return this.addRule({name:"max",message:J,validate:(Y)=>{if(!Y)return!0;return String(Y).length<=$||J}})}length($,Z,J){let Y=J||`Must be between ${$} and ${Z} characters`;return this.addRule({name:"length",message:Y,validate:(Q)=>{if(!Q)return!0;let X=String(Q).length;return X>=$&&X<=Z||Y}})}pattern($,Z="Invalid format"){return this.addRule({name:"pattern",message:Z,validate:(J)=>{if(!J)return!0;return $.test(String(J))||Z}})}hasUppercase($="Must contain an uppercase letter"){return this.pattern(/[A-Z]/,$)}hasLowercase($="Must contain a lowercase letter"){return this.pattern(/[a-z]/,$)}hasNumber($="Must contain a number"){return this.pattern(/\d/,$)}hasSpecial($="Must contain a special character"){return this.pattern(/[!@#$%^&*(),.?":{}|<>]/,$)}alphanumeric($="Only letters and numbers allowed"){return this.pattern(/^[a-zA-Z0-9]+$/,$)}startsWithLetter($="Must start with a letter"){return this.pattern(/^[a-zA-Z]/,$)}noSpaces($="Spaces are not allowed"){return this.addRule({name:"noSpaces",message:$,validate:(Z)=>{if(!Z)return!0;return!String(Z).includes(" ")||$}})}number($="Must be a number"){let Z=this.addRule({name:"number",message:$,validate:(J)=>{if(!J&&J!==0)return!0;return!Number.isNaN(Number(J))||$}});return Z.defaultValue=0,Z}integer($="Must be a whole number"){return this.addRule({name:"integer",message:$,validate:(Z)=>{if(!Z&&Z!==0)return!0;return Number.isInteger(Number(Z))||$}})}positive($="Must be a positive number"){return this.addRule({name:"positive",message:$,validate:(Z)=>{if(!Z&&Z!==0)return!0;return Number(Z)>0||$}})}negative($="Must be a negative number"){return this.addRule({name:"negative",message:$,validate:(Z)=>{if(!Z&&Z!==0)return!0;return Number(Z)<0||$}})}minValue($,Z){let J=Z||`Must be at least ${$}`;return this.addRule({name:"minValue",message:J,validate:(Y)=>{if(!Y&&Y!==0)return!0;return Number(Y)>=$||J}})}maxValue($,Z){let J=Z||`Must be no more than ${$}`;return this.addRule({name:"maxValue",message:J,validate:(Y)=>{if(!Y&&Y!==0)return!0;return Number(Y)<=$||J}})}between($,Z,J){let Y=J||`Must be between ${$} and ${Z}`;return this.addRule({name:"between",message:Y,validate:(Q)=>{if(!Q&&Q!==0)return!0;let X=Number(Q);return X>=$&&X<=Z||Y}})}matches($,Z){let J=Z||`Must match ${$}`;return this.addRule({name:"matches",message:J,validate:(Y,Q)=>{if(!Q)return!0;return Y===Q[$]||J}})}oneOf($,Z){let J=Z||`Must be one of: ${$.join(", ")}`;return this.addRule({name:"oneOf",message:J,validate:(Y)=>{if(!Y)return!0;return $.includes(Y)||J}})}notOneOf($,Z){let J=Z||`Cannot be one of: ${$.join(", ")}`;return this.addRule({name:"notOneOf",message:J,validate:(Y)=>{if(!Y)return!0;return!$.includes(Y)||J}})}date($="Must be a valid date"){return this.addRule({name:"date",message:$,validate:(Z)=>{if(!Z)return!0;let J=new Date(String(Z));return!Number.isNaN(J.getTime())||$}})}before($,Z){let J=new Date($),Y=Z||`Must be before ${J.toLocaleDateString()}`;return this.addRule({name:"before",message:Y,validate:(Q)=>{if(!Q)return!0;return new Date(String(Q))<J||Y}})}after($,Z){let J=new Date($),Y=Z||`Must be after ${J.toLocaleDateString()}`;return this.addRule({name:"after",message:Y,validate:(Q)=>{if(!Q)return!0;return new Date(String(Q))>J||Y}})}custom($,Z="Invalid value"){return this.addRule({name:"custom",message:Z,validate:$})}async($,Z="Invalid value"){return this.addRule({name:"async",message:Z,async:!0,validate:$})}when($,Z){let J=new u1;J.rules=[...this.rules],J.defaultValue=this.defaultValue;for(let Y of Z.getRules())J.rules.push({...Y,validate:(Q,X)=>{if(!$(Q,X||{}))return!0;return Y.validate(Q,X)}});return J}getRules(){return this.rules}getDefaultValue(){return this.defaultValue}default($){let Z=new u1;return Z.rules=[...this.rules],Z.defaultValue=$,Z}async validate($,Z){let J=[];for(let Y of this.rules){let Q=await Y.validate($,Z);if(Q!==!0)J.push(Q)}return J}validateSync($,Z){let J=[];for(let Y of this.rules){if(Y.async)continue;let Q=Y.validate($,Z);if(Q!==!0)J.push(Q)}return J}}function cq($,Z){let J=Object.keys($),Y={},Q={},X={},G={},K={};for(let H of J)Y[H]=Z?.[H]??$[H].getDefaultValue(),Q[H]=[],X[H]=!1,G[H]=!1,K[H]=!1;let q=!1;async function _(H){K[H]=!0;let V=await $[H].validate(Y[H],Y);return Q[H]=V,K[H]=!1,V.length===0}async function W(){q=!0;let H=await Promise.all(J.map(_));return q=!1,H.every(Boolean)}function z(){for(let H of J)Y[H]=Z?.[H]??$[H].getDefaultValue(),Q[H]=[],X[H]=!1,G[H]=!1}function U(H){for(let V of J)if(V in H)Y[V]=H[V],G[V]=!0}function j(H,V){Y[H]=V,G[H]=!0}function B(H,V=!0){if(X[H]=V,V)_(H)}function O(H){return{value:Y[H],errors:Q[H],touched:X[H],dirty:G[H],valid:Q[H].length===0,validating:K[H]}}function F(H){return async(V)=>{V?.preventDefault?.();for(let w of J)X[w]=!0;if(await W())await H(Y)}}return{values:Y,errors:Q,touched:X,dirty:G,get isValid(){return J.every((H)=>Q[H].length===0)},get isValidating(){return q||J.some((H)=>K[H])},get isDirty(){return J.some((H)=>G[H])},validate:W,validateField:_,reset:z,setValues:U,setFieldValue:j,setFieldTouched:B,getFieldState:O,handleSubmit:F}}function PZ($,Z,J){let Y=/@error\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderror/g;return $.replace(Y,(Q,X,G)=>{try{let K=X.trim().split("."),q=Z;for(let W of K)if(q&&typeof q==="object"&&W in q)q=q[W];else return"";let _=q;if(!_||!Array.isArray(_)||_.length===0)return"";return _.map((W)=>{return G.replace(/\{\{\s*message\s*\}\}/g,W)}).join(`
9010
+ `)}catch{return""}})}function vZ($,Z,J){let Y=/@errors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderrors/g;return $.replace(Y,(Q,X,G)=>{try{let K=X.trim().split("."),q=Z;for(let W of K)if(q&&typeof q==="object"&&W in q)q=q[W];else return"";let _=q;if(!_||!Array.isArray(_)||_.length===0)return"";return _.map((W)=>G.replace(/\{\{\s*message\s*\}\}/g,W)).join(`
9011
+ `)}catch{return""}})}function xZ($,Z,J){let Y=/@hasErrors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@endhasErrors/g;return $.replace(Y,(Q,X,G)=>{try{let K=X.trim().split("."),q=Z;for(let W of K)if(q&&typeof q==="object"&&W in q)q=q[W];else return"";let _=q;if(!_||!Array.isArray(_)||_.length===0)return"";return G}catch{return""}})}function iq($,Z,J){let Y=$;return Y=PZ(Y,Z,J),Y=vZ(Y,Z,J),Y=xZ(Y,Z,J),Y}var lq;var gZ=C(()=>{lq=new u1});var mZ={};r(mZ,{processXElementDirectives:()=>nq,hasXElementDirectives:()=>dZ,generateXElementRuntime:()=>hZ});function hZ(){return`<script data-stx-scoped>
8913
9012
  (function() {
8914
9013
  'use strict';
8915
9014
 
@@ -9193,16 +9292,16 @@ else {
9193
9292
  // Expose for manual initialization
9194
9293
  window.XElement = XElement;
9195
9294
  })();
9196
- </script>`}function kY($){return/\bx-(data|model|text|show|init|html)\b/.test($)||/\s:[a-z]/.test($)}function yq($){if(!kY($))return $;let Z=DY(),J=$.lastIndexOf("</body>");if(J!==-1)return $.slice(0,J)+Z+`
9295
+ </script>`}function dZ($){return/\bx-(data|model|text|show|init|html)\b/.test($)||/\s:[a-z]/.test($)}function nq($){if(!dZ($))return $;let Z=hZ(),J=$.lastIndexOf("</body>");if(J!==-1)return $.slice(0,J)+Z+`
9197
9296
  `+$.slice(J);return $+`
9198
- `+Z}var bY=()=>{};function o7($){return $.pwa?.serviceWorker?.fileName||"sw.js"}var yY=P(()=>{bY()});var CY={};r(CY,{injectPwaTags:()=>Cq,generateThemeColorMeta:()=>xq,generateSwRegistrationScript:()=>Pq,generatePwaTags:()=>T$,generateManifestLink:()=>vq});function T$($){let Z=$.pwa;if(!Z?.enabled)return"";let J=Z.manifest,Y=Z.icons?.outputDir?`/${Z.icons.outputDir}`:"/pwa-icons",Q=o7($),X=`
9297
+ `+Z}var uZ=()=>{};function Z7($){return $.pwa?.serviceWorker?.fileName||"sw.js"}var pZ=C(()=>{uZ()});var lZ={};r(lZ,{injectPwaTags:()=>oq,generateThemeColorMeta:()=>aq,generateSwRegistrationScript:()=>sq,generatePwaTags:()=>k9,generateManifestLink:()=>rq});function k9($){let Z=$.pwa;if(!Z?.enabled)return"";let J=Z.manifest,Y=Z.icons?.outputDir?`/${Z.icons.outputDir}`:"/pwa-icons",Q=Z7($),X=`
9199
9298
  <!-- stx PWA Meta Tags -->
9200
9299
  <link rel="manifest" href="/manifest.json">
9201
- <meta name="theme-color" content="${s7(J?.themeColor||"#000000")}">
9300
+ <meta name="theme-color" content="${Y7(J?.themeColor||"#000000")}">
9202
9301
  <meta name="mobile-web-app-capable" content="yes">
9203
9302
  <meta name="apple-mobile-web-app-capable" content="yes">
9204
9303
  <meta name="apple-mobile-web-app-status-bar-style" content="default">
9205
- <meta name="apple-mobile-web-app-title" content="${s7(J?.shortName||J?.name||"App")}">`;if(Z.icons?.generateAppleIcons!==!1)X+=`
9304
+ <meta name="apple-mobile-web-app-title" content="${Y7(J?.shortName||J?.name||"App")}">`;if(Z.icons?.generateAppleIcons!==!1)X+=`
9206
9305
  <link rel="apple-touch-icon" href="${Y}/apple-touch-icon.png">
9207
9306
  <link rel="apple-touch-icon" sizes="120x120" href="${Y}/apple-touch-icon-120x120.png">
9208
9307
  <link rel="apple-touch-icon" sizes="152x152" href="${Y}/apple-touch-icon-152x152.png">
@@ -9239,12 +9338,12 @@ if ('serviceWorker' in navigator) {
9239
9338
  });
9240
9339
  }
9241
9340
  </script>
9242
- <!-- End stx PWA -->`,X}function Cq($,Z){let J=Z.pwa;if(!J?.enabled||J.autoInject===!1)return $;if($.includes("<!-- stx PWA Meta Tags -->"))return $;if(!$.includes("</head>")){let Q=$.lastIndexOf("</body>");if(Q!==-1){let X=T$(Z);return $.slice(0,Q)+X+`
9243
- `+$.slice(Q)}return $+T$(Z)}let Y=T$(Z);return $.replace("</head>",`${Y}
9244
- </head>`)}function Pq($){if(!$.pwa?.enabled)return"";return`<script>
9341
+ <!-- End stx PWA -->`,X}function oq($,Z){let J=Z.pwa;if(!J?.enabled||J.autoInject===!1)return $;if($.includes("<!-- stx PWA Meta Tags -->"))return $;if(!$.includes("</head>")){let Q=$.lastIndexOf("</body>");if(Q!==-1){let X=k9(Z);return $.slice(0,Q)+X+`
9342
+ `+$.slice(Q)}return $+k9(Z)}let Y=k9(Z);return $.replace("</head>",`${Y}
9343
+ </head>`)}function sq($){if(!$.pwa?.enabled)return"";return`<script>
9245
9344
  if ('serviceWorker' in navigator) {
9246
9345
  window.addEventListener('load', function() {
9247
- navigator.serviceWorker.register('/${o7($)}')
9346
+ navigator.serviceWorker.register('/${Z7($)}')
9248
9347
  .then(function(registration) {
9249
9348
  console.log('[PWA] Service Worker registered:', registration.scope);
9250
9349
  })
@@ -9253,67 +9352,70 @@ if ('serviceWorker' in navigator) {
9253
9352
  });
9254
9353
  });
9255
9354
  }
9256
- </script>`}function vq(){return'<link rel="manifest" href="/manifest.json">'}function xq($){return`<meta name="theme-color" content="${s7($)}">`}function s7($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var PY=P(()=>{yY()});import E0 from"path";async function r0($,Z,J,Y,Q){if(Y.ssr===!1&&!Y.autoShell&&Y.buildMode==="spa")return $;let X=!Z.__stxProcessingDepth;if(!Z.__stxProcessingDepth)Z.__stxProcessingDepth=0;if(Z.__stxProcessingDepth++,!Z.__onceStore)Z.__onceStore=new Set;try{return await E6.timeAsync("template-processing",async()=>{let G=await fq($,Z,J,Y,Q);if(X)G=u7(G);if(X&&Y.autoShell&&Y.buildMode!=="compile"){let K=Y.app?.head||{},U=(Z.__stx_runtime_head||null)??i1(),_={...K,...U.title&&{title:U.title},meta:[...K.meta||[],...U.meta||[]],link:[...K.link||[],...U.link||[]],script:[...K.script||[],...U.script||[]],...U.htmlAttrs&&{htmlAttrs:{...K.htmlAttrs||{},...U.htmlAttrs}},...U.bodyAttrs&&{bodyAttrs:{...K.bodyAttrs||{},...U.bodyAttrs}}};G=l9(G,_);let W=G.match(/<!-- stx-layout: ([^ ]+) -->/);if(W&&G.includes("<head")){let j=W[1];G=G.replace("<head>",`<head>
9257
- <meta name="stx-layout" content="${j}">`)}let z=G.match(/function (__stx_setup_\d+_\d+)\(/);if(z&&G.includes("<body")&&!G.match(/<body[^>]*data-stx=/)){G=G.replace(/<body([^>]*)>/,`<body$1 data-stx="${z[1]}">`);let j=new RegExp(`(<(?!body)[a-zA-Z][^>]*) data-stx="${z[1]}"`,"i");G=G.replace(j,"$1")}}if(X)try{let{getStoreScript:K}=await Promise.resolve().then(() => (I8(),M8)),q=Y.storesDir,U=await K(q);if(U){let _=`<script data-stx-stores>${U}</script>`,W=G.indexOf("<script data-stx-scoped>");if(W!==-1){let z=G.indexOf("</script>",W+24);if(z!==-1){let j=z+9;G=G.slice(0,j)+`
9258
- `+_+G.slice(j)}}}}catch{}if(X)G=await Y5(G);return G=G.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),G})}catch(G){if(G instanceof s5)throw G;let K=G instanceof Error?G.message:String(G),q=new j1(`Template processing failed: ${K}`,J,void 0,void 0,$.substring(0,200)+($.length>200?"...":""));if(O1.log(q,{filePath:J,context:Z}),D4.logDetailedError(q,{filePath:J,template:$.substring(0,500)}),Y.debug)throw q;return I4.createFallbackContent("Template Processing",q)}}async function fq($,Z,J,Y,Q){let X=process.cwd(),G={...Y,partialsDir:Y.partialsDir&&!E0.isAbsolute(Y.partialsDir)?E0.resolve(X,Y.partialsDir):Y.partialsDir,componentsDir:Y.componentsDir&&!E0.isAbsolute(Y.componentsDir)?E0.resolve(X,Y.componentsDir):Y.componentsDir,layoutsDir:Y.layoutsDir&&!E0.isAbsolute(Y.layoutsDir)?E0.resolve(X,Y.layoutsDir):Y.layoutsDir},K=G,q=$;q=q.replace(/\{\{--[\s\S]*?--\}\}/g,"");let U="\x00STX_ESCAPED_AT\x00";q=q.replace(/@@/g,U),q=q.replace(/@\{\{([\s\S]*?)\}\}/g,(O,F)=>{return`{{ ${F} }}`}),q=d9(q),q=await R8(q,J,Q);let _={};q=Y7(q,_);let W={...Z.__sections||{}},z="",j=/@nolayout\b/.test(q);if(j)q=q.replace(/@nolayout\b\s*/g,"");let B=q.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(B)z=B[1],q=q.replace(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/g,"");if(!z&&!j&&K.defaultLayout){let O=/<!DOCTYPE\s/i.test(q),F=/@section\s*\(/.test(q);if(!O||F){let L="",H=E0.dirname(J),V=K.layoutsDir?E0.dirname(K.layoutsDir):process.cwd();for(let R=0;R<20;R++){let N=E0.join(H,"_layout.stx");if(await c(N)){L=N;break}let A=E0.dirname(H);if(A===H||A.length<V.length)break;H=A}if(L)z=L;else if(K.layoutsDir){let R=E0.isAbsolute(K.layoutsDir)?K.layoutsDir:E0.resolve(process.cwd(),K.layoutsDir),N=E0.join(R,`${K.defaultLayout}.stx`);if(await c(N))z=N}if(z&&!F)q=`@section('content')
9355
+ </script>`}function rq(){return'<link rel="manifest" href="/manifest.json">'}function aq($){return`<meta name="theme-color" content="${Y7($)}">`}function Y7($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var cZ=C(()=>{pZ()});import D0 from"path";function tq($,Z){let J=$.length,Y=Z,Q=!0,X=[],G=(K)=>K+9<=J&&$[K]==="<"&&$[K+1]==="/"&&($[K+2]==="s"||$[K+2]==="S")&&($[K+3]==="c"||$[K+3]==="C")&&($[K+4]==="r"||$[K+4]==="R")&&($[K+5]==="i"||$[K+5]==="I")&&($[K+6]==="p"||$[K+6]==="P")&&($[K+7]==="t"||$[K+7]==="T")&&($[K+8]===">"||/\s/.test($[K+8]));while(Y<J){let K=$[Y];if(G(Y))return Y;if(K==="/"&&$[Y+1]==="/"){if(Y=$.indexOf(`
9356
+ `,Y+2),Y===-1)return-1;Y+=1,Q=!0;continue}if(K==="/"&&$[Y+1]==="*"){let q=$.indexOf("*/",Y+2);if(q===-1)return-1;Y=q+2,Q=!0;continue}if(K==="/"&&Q){let q=Y+1,_=!1;while(q<J){let W=$[q];if(W==="\\"){q+=2;continue}if(W==="[")_=!0;else if(W==="]")_=!1;else if(W==="/"&&!_){q++;break}else if(W===`
9357
+ `){q=-1;break}q++}if(q===-1){Y++,Q=!1;continue}while(q<J&&/[a-z]/.test($[q]))q++;Y=q,Q=!1;continue}if(K==="'"||K==='"'){let q=K;Y++;while(Y<J){if($[Y]==="\\"){Y+=2;continue}if($[Y]===q){Y++;break}if($[Y]===`
9358
+ `)break;Y++}Q=!1;continue}if(K==="`"){Y++;while(Y<J){if($[Y]==="\\"){Y+=2;continue}if($[Y]==="`"){Y++;break}if($[Y]==="$"&&$[Y+1]==="{"){X.push(!0),Y+=2,Q=!0;break}Y++}if(X.length===0)Q=!1;continue}if(K==="}"&&X.length>0){X.pop(),Y++;while(Y<J){if($[Y]==="\\"){Y+=2;continue}if($[Y]==="`"){Y++,Q=!1;break}if($[Y]==="$"&&$[Y+1]==="{"){X.push(!0),Y+=2,Q=!0;break}Y++}continue}if(/\s/.test(K));else if(/[)\].\w$]/.test(K))Q=!1;else Q=!0;Y++}return-1}async function r0($,Z,J,Y,Q){if(Y.ssr===!1&&!Y.autoShell&&Y.buildMode==="spa")return $;let X=!Z.__stxProcessingDepth;if(!Z.__stxProcessingDepth)Z.__stxProcessingDepth=0;if(Z.__stxProcessingDepth++,!Z.__onceStore)Z.__onceStore=new Set;try{return await v7.timeAsync("template-processing",async()=>{let G=await eq($,Z,J,Y,Q);if(X)G=s4(G);if(X&&Y.autoShell&&Y.buildMode!=="compile"){let K=Y.app?.head||{},_=(Z.__stx_runtime_head||null)??s1(),W={...K,..._.title&&{title:_.title},meta:[...K.meta||[],..._.meta||[]],link:[...K.link||[],..._.link||[]],script:[...K.script||[],..._.script||[]],..._.htmlAttrs&&{htmlAttrs:{...K.htmlAttrs||{},..._.htmlAttrs}},..._.bodyAttrs&&{bodyAttrs:{...K.bodyAttrs||{},..._.bodyAttrs}}};G=e2(G,W);let z=G.match(/<!-- stx-layout: ([^ ]+) -->/);if(z&&G.includes("<head")){let j=z[1];G=G.replace("<head>",`<head>
9359
+ <meta name="stx-layout" content="${j}">`)}let U=G.match(/function (__stx_setup_\d+_\d+)\(/);if(U&&G.includes("<body")&&!G.match(/<body[^>]*data-stx=/)){G=G.replace(/<body([^>]*)>/,`<body$1 data-stx="${U[1]}">`);let j=new RegExp(`(<(?!body)[a-zA-Z][^>]*) data-stx="${U[1]}"`,"i");G=G.replace(j,"$1")}}if(X)try{let{getStoreScript:K}=await Promise.resolve().then(() => (f8(),x8)),q=Y.storesDir,_=await K(q);if(_){let W=`<script data-stx-stores>${_}</script>`,z=G.indexOf("<script data-stx-scoped>");if(z!==-1){let U=G.indexOf("</script>",z+24);if(U!==-1){let j=U+9;G=G.slice(0,j)+`
9360
+ `+W+G.slice(j)}}}}catch{}if(X&&Z.__stx_inject_css!==!1)G=await Q5(G);return G=G.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),G})}catch(G){if(G instanceof t5)throw G;let K=G instanceof Error?G.message:String(G),q=new j1(`Template processing failed: ${K}`,J,void 0,void 0,$.substring(0,200)+($.length>200?"...":""));if(C0.log(q,{filePath:J,context:Z}),C$.logDetailedError(q,{filePath:J,template:$.substring(0,500)}),Y.debug)throw q;return S$.createFallbackContent("Template Processing",q)}}async function eq($,Z,J,Y,Q){let X=process.cwd(),G={...Y,partialsDir:Y.partialsDir&&!D0.isAbsolute(Y.partialsDir)?D0.resolve(X,Y.partialsDir):Y.partialsDir,componentsDir:Y.componentsDir&&!D0.isAbsolute(Y.componentsDir)?D0.resolve(X,Y.componentsDir):Y.componentsDir,layoutsDir:Y.layoutsDir&&!D0.isAbsolute(Y.layoutsDir)?D0.resolve(X,Y.layoutsDir):Y.layoutsDir},K=G,q=$;q=q.replace(/\{\{--[\s\S]*?--\}\}/g,"");let _="\x00STX_ESCAPED_AT\x00";q=q.replace(/@@/g,_),q=q.replace(/@\{\{([\s\S]*?)\}\}/g,(O,F)=>{return`{{ ${F} }}`}),q=s2(q),q=await y8(q,J,Q);let W={};q=K4(q,W);let z={...Z.__sections||{}},U="",j=/@nolayout\b/.test(q);if(j)q=q.replace(/@nolayout\b\s*/g,"");let B=q.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(B)U=B[1],q=q.replace(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/g,"");if(!U&&!j&&K.defaultLayout){let O=/<!DOCTYPE\s/i.test(q),F=/@section\s*\(/.test(q);if(!O||F){let L="",H=D0.dirname(J),V=K.layoutsDir?D0.dirname(K.layoutsDir):process.cwd();for(let N=0;N<20;N++){let w=D0.join(H,"_layout.stx");if(await i(w)){L=w;break}let R=D0.dirname(H);if(R===H||R.length<V.length)break;H=R}if(L)U=L;else if(K.layoutsDir){let N=D0.isAbsolute(K.layoutsDir)?K.layoutsDir:D0.resolve(process.cwd(),K.layoutsDir),w=D0.join(N,`${K.defaultLayout}.stx`);if(await i(w))U=w}if(U&&!F)q=`@section('content')
9259
9361
  ${q.trim()}
9260
- @endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(O,F,L)=>{return W[F]=L,""}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(O,F,L)=>{if(L.includes("@parent"))W[F]=L.replace("@parent","<!--PARENT_CONTENT_PLACEHOLDER-->");else W[F]=L.trim();return""}),Z.__sections=W,q=q.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(O,F,L)=>{return W[F]||L||""}),!("slot"in Z)||Z.slot===void 0)q=q.replace(/\{\{\s*slot\s*\}\}/g,()=>{return W.content||""});if(q=J7(q,_),z)try{let O=E0.isAbsolute(z)?z:await E1(()=>l$(z,J,G,Q),null,()=>{throw new j1(`Failed to resolve layout path: ${z}`,J,void 0,void 0,`Layout referenced from ${J}`)});if(!O){let N=`Layout not found: ${z} (referenced from ${J})`;if(O1.log(Error(N),{layoutPath:z,filePath:J},"warning"),G.debug)throw new j1(N,J);return q}let F=await E1(()=>Bun.file(O).text(),"",()=>{throw new j1(`Failed to read layout file: ${O}`,J,void 0,void 0,"Layout content could not be loaded")}),L=F.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(L){if(G.debug)console.log(`Found nested layout: ${L[1]} in ${O}`);let N={},A=F.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(E,T,I)=>{return N[T]=I.trim(),""});for(let[E,T]of Object.entries(N))if(W[E]&&W[E].includes("<!--PARENT_CONTENT_PLACEHOLDER-->")){let I=W[E].indexOf("<!--PARENT_CONTENT_PLACEHOLDER-->");W[E]=W[E].slice(0,I)+T+W[E].slice(I+33)}else if(!W[E])W[E]=T;let w={...Z,__sections:W},M=`@layout('${L[1]}')${A}`;return await r0(M,w,O,G,Q)}let H=F.replace(/\{\{--[\s\S]*?--\}\}/g,""),V=Y7(H,_),R={};return V=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(N,A,w)=>{return R[A]=w.trim(),`@slot('${A}')`}),V=V.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(N,A,w)=>{if(W[A]){let M=W[A];if(M.includes("<!--PARENT_CONTENT_PLACEHOLDER-->")){let E=R[A]||"",T=M.indexOf("<!--PARENT_CONTENT_PLACEHOLDER-->");M=M.slice(0,T)+E+M.slice(T+33)}return M}return w||""}),V=V.replace(/\{\{\s*slot\s*\}\}/g,()=>{return W.content||""}),V=J7(V,_),Z.__originalFilePath=J,q=await vY(V,Z,O,G,Q),q=`<!-- stx-layout: ${z} -->
9261
- ${q}`,q}catch(O){return O1.log(O instanceof Error?O:Error(String(O)),{layoutPath:z,filePath:J},"error"),`[Error processing layout: ${O instanceof Error?O.message:String(O)}]`}return await vY(q,Z,J,G,Q)}async function vY($,Z,J,Y,Q){let X=$;Z.__stx_sfc_mode=!0;let G=Y;if(await E1(()=>P9(J,Z),void 0,(g)=>{if(G.debug)console.warn(`View composer error for ${J}:`,g.message)}),Z.__stx_options=G,G.buildMode)Z.__stx_buildMode=G.buildMode;let K=G.envPrefix||"STX_PUBLIC_",q={};for(let[g,m]of Object.entries(process.env))if(g.startsWith(K)&&m!==void 0)q[g]=m;Z.$env=q,X=await E1(()=>k9(X,Z,J,G),X,(g)=>{if(G.debug)console.warn("Pre-processing middleware error:",g.message)});let U=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,_;while((_=U.exec(X))!==null){let g=_[1],m=_[2];if(/\bserver\b/.test(g)&&m.trim())try{let{extractVariables:Z0}=await Promise.resolve().then(() => (s1(),R5));await Z0(m,Z,J)}catch(Z0){if(G.debug)console.warn("Script extraction error:",Z0)}}try{let{interpolateScriptsInTemplate:g}=await Promise.resolve().then(() => (o0(),T6));X=g(X,Z,{skipServer:!0})}catch(g){if(G.debug)console.warn("Script expression interpolation error:",g)}if(X=await w9(X,Z,J),X=await T9(X,Z,J),X=await Z9(X,Z,J,G),L5(X))X=V7(X),X=N7(X,Z);X=t4(X,Z,J,G),X=await h7(X,Z,J,G,Q),X=await u9(X,Z,J,G,Q),X=X6(X,Z,J,G);let{processDeferDirectives:W}=await Promise.resolve().then(() => D8);X=W(X,Z,J);let{processTeleportDirectives:z}=await Promise.resolve().then(() => S8);X=z(X,Z,J);let{processTransitionDirectives:j,processTransitionAttributes:B}=await Promise.resolve().then(() => P8);X=j(X,Z,J),X=B(X);let{processErrorBoundaryDirectives:O}=await Promise.resolve().then(() => x8);X=O(X,Z,J);let{processSuspenseDirectives:F}=await Promise.resolve().then(() => f8);X=F(X,Z,J);let{processAsyncDirectives:L}=await Promise.resolve().then(() => m8);X=L(X,Z,J);let{processKeepAliveDirectives:H}=await Promise.resolve().then(() => p8);X=H(X,Z,J);let{processVirtualListDirectives:V,processVirtualGridDirectives:R,processInfiniteListDirectives:N}=await Promise.resolve().then(() => (s8(),o8));X=V(X,Z,J),X=R(X,Z,J),X=N(X,Z,J);let{processPartialHydrationDirectives:A,processStaticDirectives:w}=await Promise.resolve().then(() => (UY(),_Y));X=A(X,Z,J),X=w(X);let{processComputedDirectives:M,processWatchDirectives:E}=await Promise.resolve().then(() => (AY(),RY));X=M(X,Z,J),X=E(X,Z,J);let{processFormValidationDirectives:T}=await Promise.resolve().then(() => (EY(),IY));X=T(X,Z,J);let{processHeadDirective:I,processTitleDirective:D,processMetaDirective:y,resetHead:b}=await Promise.resolve().then(() => (n1(),d$));if(!Z.__stx_head_preset&&!Z.__stx_runtime_head)b();let S=I(X);if(X=S.content,X=D(X,Z),X=y(X,Z),X=y9(X),X=p4(X,Z),X=e3(X),X=E9(X),X=await Z7(X,Z,J,G,Q),X=await h7(X,Z,J,G,Q),X=u7(X),X=b1(X,Z,J),X=l4(X,Z),X=c4(X,Z),X=G$(X,Z),X=G9(X,Z),X=K9(X,Z),X=await h3(X,Z,J,G),X=await s6(X,Z,J),X=await j9(X,Z,J,G),X=a7(X,Z,J,G),X=J3(X,Z,J,G),X=X3(X,Z,J),X=Q3(X,Z,J,G),X=r3(X,Z,J,G),X=d7(X,Z),X=m7(X),X=w8(X),!G.skipEventDirectives)X=P3(X,Z,J);if(X=g3(X,Z,J),G.debug){let g=/\bx-data\s*=/.test(X),m=L$($);if(g&&m)console.warn(`[stx] ${J}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
9362
+ @endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(O,F,L)=>{return z[F]=L,""}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(O,F,L)=>{if(L.includes("@parent"))z[F]=L.replace("@parent",w1);else z[F]=L.trim();return""}),Z.__sections=z,q=q.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(O,F,L)=>{return z[F]||L||""}),!("slot"in Z)||Z.slot===void 0)q=q.replace(/\{\{\s*slot\s*\}\}/g,()=>{return z.content||""});if(q=q4(q,W),U)try{let O=D0.isAbsolute(U)?U:await E1(()=>s9(U,J,G,Q),null,()=>{throw new j1(`Failed to resolve layout path: ${U}`,J,void 0,void 0,`Layout referenced from ${J}`)});if(!O){let w=`Layout not found: ${U} (referenced from ${J})`;if(C0.log(Error(w),{layoutPath:U,filePath:J},"warning"),G.debug)throw new j1(w,J);return q}let F=await E1(()=>Bun.file(O).text(),"",()=>{throw new j1(`Failed to read layout file: ${O}`,J,void 0,void 0,"Layout content could not be loaded")}),L=F.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(L){if(G.debug)console.log(`Found nested layout: ${L[1]} in ${O}`);let w={},R=F.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(I,M,E)=>{return w[M]=E.trim(),""});for(let[I,M]of Object.entries(w))if(z[I]&&z[I].includes(w1)){let E=z[I].indexOf(w1);z[I]=z[I].slice(0,E)+M+z[I].slice(E+w1.length)}else if(!z[I])z[I]=M;let A={...Z,__sections:z},T=`@layout('${L[1]}')${R}`;return await r0(T,A,O,G,Q)}let H=F.replace(/\{\{--[\s\S]*?--\}\}/g,""),V=K4(H,W),N={};return V=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(w,R,A)=>{return N[R]=A.trim(),`@slot('${R}')`}),V=V.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(w,R,A)=>{if(z[R]){let T=z[R];if(T.includes(w1)){let I=N[R]||"",M=T.indexOf(w1);T=T.slice(0,M)+I+T.slice(M+w1.length)}return T}return A||""}),V=V.replace(/\{\{\s*slot\s*\}\}/g,()=>{return z.content||""}),V=q4(V,W),Z.__originalFilePath=J,q=await iZ(V,Z,O,G,Q),q=`<!-- stx-layout: ${U} -->
9363
+ ${q}`,q}catch(O){return C0.log(O instanceof Error?O:Error(String(O)),{layoutPath:U,filePath:J},"error"),`[Error processing layout: ${O instanceof Error?O.message:String(O)}]`}return await iZ(q,Z,J,G,Q)}async function iZ($,Z,J,Y,Q){let X=$;Z.__stx_sfc_mode=!0;let G=Y;if(await E1(()=>p2(J,Z),void 0,(f)=>{C0.log(f,{filePath:J,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed for ${J}: ${f.message}`)}),Z.__stx_options=G,G.buildMode)Z.__stx_buildMode=G.buildMode;let K=G.envPrefix||"STX_PUBLIC_",q={};for(let[f,d]of Object.entries(process.env))if(f.startsWith(K)&&d!==void 0)q[f]=d;Z.$env=q,X=await E1(()=>g2(X,Z,J,G),X,(f)=>{C0.log(f,{filePath:J,phase:"pre-processing-middleware"},"warning"),console.warn(`[stx] pre-processing middleware failed for ${J}: ${f.message}`)});let _=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,W;while((W=_.exec(X))!==null){let f=W[1],d=W[2];if(/\bserver\b/.test(f)&&d.trim())try{let{extractVariables:a}=await Promise.resolve().then(() => (t1(),T5));await a(d,Z,J)}catch(a){let Y0=a instanceof Error?a:Error(String(a));C0.log(Y0,{filePath:J,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${J}: ${Y0.message}`)}}try{let{interpolateScriptsInTemplate:f}=await Promise.resolve().then(() => (o0(),y7));X=f(X,Z,{skipServer:!0})}catch(f){let d=f instanceof Error?f:Error(String(f));C0.log(d,{filePath:J,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${J}: ${d.message}`)}if(X=await y2(X,Z,J),X=await C2(X,Z,J),X=await _2(X,Z,J,G),w5(X))X=T4(X),X=M4(X,Z);X=J4(X,Z,J,G),X=await i4(X,Z,J,G,Q),X=await a2(X,Z,J,G,Q),X=U7(X,Z,J,G);let{processDeferDirectives:z}=await Promise.resolve().then(() => h8);X=z(X,Z,J);let{processTeleportDirectives:U}=await Promise.resolve().then(() => m8);X=U(X,Z,J);let{processTransitionDirectives:j,processTransitionAttributes:B}=await Promise.resolve().then(() => c8);X=j(X,Z,J),X=B(X);let{processErrorBoundaryDirectives:O}=await Promise.resolve().then(() => n8);X=O(X,Z,J);let{processSuspenseDirectives:F}=await Promise.resolve().then(() => o8);X=F(X,Z,J);let{processAsyncDirectives:L}=await Promise.resolve().then(() => t8);X=L(X,Z,J);let{processKeepAliveDirectives:H}=await Promise.resolve().then(() => $Z);X=H(X,Z,J);let{processVirtualListDirectives:V,processVirtualGridDirectives:N,processInfiniteListDirectives:w}=await Promise.resolve().then(() => (GZ(),QZ));X=V(X,Z,J),X=N(X,Z,J),X=w(X,Z,J);let{processPartialHydrationDirectives:R,processStaticDirectives:A}=await Promise.resolve().then(() => (NZ(),wZ));X=R(X,Z,J),X=A(X);let{processComputedDirectives:T,processWatchDirectives:I}=await Promise.resolve().then(() => (CZ(),yZ));X=T(X,Z,J),X=I(X,Z,J);let{processFormValidationDirectives:M}=await Promise.resolve().then(() => (gZ(),fZ));X=M(X,Z,J);let{processHeadDirective:E,processTitleDirective:k,processMetaDirective:y,resetHead:S}=await Promise.resolve().then(() => (r1(),c9));if(!Z.__stx_head_preset&&!Z.__stx_runtime_head)S();let b=E(X);if(X=b.content,X=k(X,Z),X=y(X,Z),X=m2(X),X=o$(X,Z),X=q2(X),X=x2(X),X=await G4(X,Z,J,G,Q),X=await i4(X,Z,J,G,Q),X=s4(X),X=y1(X,Z,J),X=s$(X,Z),X=r$(X,Z),X=_9(X,Z),X=O2(X,Z),X=H2(X,Z),X=await o6(X,Z,J,G),X=await X3(X,Z,J),X=await A2(X,Z,J,G),X=Q7(X,Z,J,G),X=U6(X,Z,J,G),X=B6(X,Z,J),X=j6(X,Z,J,G),X=Q2(X,Z,J,G),X=n4(X,Z),X=o4(X),X=P8(X),!G.skipEventDirectives)X=p6(X,Z,J);if(X=n6(X,Z,J),G.debug){let f=/\bx-data\s*=/.test(X),d=R9($);if(f&&d)console.warn(`[stx] ${J}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
9262
9364
  Both work on the same page, but they manage separate scopes.
9263
- Prefer signals (state/derived/effect) for new components.`)}X=f9(X,Z),X=await q1(X,Z,J),X=T8(X),X=M3(X);let{processXElementDirectives:k}=await Promise.resolve().then(() => SY);if(X=k(X),X=await R7(X,G,J),X=await S9(X,Z,J,G),G.seo?.enabled)X=G3(X,Z,G);let{renderHead:f,getHead:h}=await Promise.resolve().then(() => (n1(),d$)),p=Z.__stx_runtime_head,z0=p&&(p.title||p.meta?.length||p.link?.length)?p:h();if(z0.title||z0.meta?.length||z0.link?.length){let g=f(z0);if(g){if(X.includes("</head>"))X=X.replace("</head>",`${g}
9365
+ Prefer signals (state/derived/effect) for new components.`)}X=i2(X,Z),X=await q1(X,Z,J),X=v8(X),X=P6(X);let{processXElementDirectives:D}=await Promise.resolve().then(() => mZ);if(X=D(X),X=await I4(X,G,J),X=await h2(X,Z,J,G),G.seo?.enabled)X=O6(X,Z,G);let{renderHead:x,getHead:h}=await Promise.resolve().then(() => (r1(),c9)),l=Z.__stx_runtime_head,U0=l&&(l.title||l.meta?.length||l.link?.length)?l:h();if(U0.title||U0.meta?.length||U0.link?.length){let f=x(U0);if(f){if(X.includes("</head>"))X=X.replace("</head>",`${f}
9264
9366
  </head>`);else if(X.includes("<head>"))X=X.replace("<head>",`<head>
9265
- ${g}`)}}if(S.headContent){if(X.includes("</head>"))X=X.replace("</head>",`${S.headContent}
9367
+ ${f}`)}}if(b.headContent){if(X.includes("</head>"))X=X.replace("</head>",`${b.headContent}
9266
9368
  </head>`);else if(X.includes("<head>"))X=X.replace("<head>",`<head>
9267
- ${S.headContent}`)}if(G.csp?.enabled&&G.csp.addMetaTag)X=s3(X,G.csp,Z);if(G.analytics?.enabled)X=E3(X,G);if(G.heatmap?.enabled)X=_6(X,G);if(G.pwa?.enabled&&G.pwa.autoInject!==!1){let{injectPwaTags:g}=await Promise.resolve().then(() => (PY(),CY));X=g(X,G)}let M0=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(X),U0=/\bSTX\.\w+/.test(X),b0=/window\.STX\s*=/.test(X);if(M0&&U0&&!b0){let m=`<script data-stx-scoped>
9268
- ${R3()}
9269
- </script>`;if(X.includes("</head>")){let _0=X.indexOf("</head>"),G0=X.slice(0,_0).indexOf("<script");if(G0!==-1){let F0=X.slice(0,G0),v0=X.slice(G0);X=F0+m+`
9270
- `+v0}else X=X.replace("</head>",`${m}
9369
+ ${b.headContent}`)}if(G.csp?.enabled&&G.csp.addMetaTag)X=X2(X,G.csp,Z);if(G.analytics?.enabled)X=x6(X,G);if(G.heatmap?.enabled)X=L7(X,G);if(G.pwa?.enabled&&G.pwa.autoInject!==!1){let{injectPwaTags:f}=await Promise.resolve().then(() => (cZ(),lZ));X=f(X,G)}let M0=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(X),_0=/\bSTX\.\w+/.test(X),S0=/window\.STX\s*=/.test(X);if(M0&&_0&&!S0){let d=`<script data-stx-scoped>
9370
+ ${b6()}
9371
+ </script>`;if(X.includes("</head>")){let W0=X.indexOf("</head>"),Y0=X.slice(0,W0).indexOf("<script");if(Y0!==-1){let w0=X.slice(0,Y0),N1=X.slice(Y0);X=w0+d+`
9372
+ `+N1}else X=X.replace("</head>",`${d}
9271
9373
  </head>`)}else if(X.includes("<body"))X=X.replace(/<body([^>]*)>/,`<body$1>
9272
- ${m}`);else X=m+`
9273
- `+X}{let g=/<script\s+server\b[^>]*>/gi,m,_0=[];while((m=g.exec(X))!==null){let Z0=m.index+m[0].length,G0=1,F0=Z0;while(F0<X.length&&G0>0){let v0=X.indexOf("<script",F0),x0=X.indexOf("</script>",F0);if(x0===-1)break;if(v0!==-1&&v0<x0)G0++,F0=v0+7;else{if(G0--,G0===0){let J1=x0+9;while(J1<X.length&&/\s/.test(X[J1]))J1++;_0.push({start:m.index,end:J1});break}F0=x0+9}}}for(let Z0=_0.length-1;Z0>=0;Z0--){let{start:G0,end:F0}=_0[Z0];X=X.substring(0,G0)+X.substring(F0)}}let P0=F5(X,J);if(P0.hasScoped)X=P0.html;let L0=Z.__stx_event_bindings||[],C=!1,v=[],x=/\s:[a-z][\w.-]*\s*=/.test(X),{scanScriptTags:l}=await Promise.resolve().then(() => (A7(),$8));for(let g of l(X,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b/}))v.push({match:g.fullMatch,attrs:g.attrs,content:g.body});for(let{match:g,attrs:m,content:_0}of v){C=!0;let Z0=_0;l7(_0,J,Y.strict);let G0=await j5(_0,{eventBindings:L0,attrs:m,hasColonDirectives:x,templateContent:$,filePath:J,projectRoot:process.cwd(),production:Y.buildMode==="compile"});X=X.replace(g,()=>G0)}if(C)Z.__stx_event_bindings=[];return X}var c$=P(()=>{e5();D$();A3();I3();D3();b$();k$();v3();P$();d3();J$();a3();$9();J9();l0();n1();o0();q9();O9();A9();I9();e4();i$();b9();T1();C9();k4();V0();v9();g9();m9();p9();h$();A7();F8();A8();p7();c7();p7();c7()});import j0 from"fs";import Y0 from"path";import{matchRoute as Y_,Router as sY}from"stx-router";import{findErrorPage as Q_,formatRoutes as G_,generateRouteManifest as K_,generateRouteTypes as q_,matchRoute as __}from"stx-router";function E$($,Z={}){return new sY($,Z).routes}c$();$5();e5();import{abortNavigation as _H,clearMiddleware as xY,createClientCookieManager as UH,createMiddlewareContext as fY,createRouteLocation as gY,createServerCookieManager as WH,createStorageManager as zH,defineMiddleware as BH,getMiddleware as jH,getMiddlewareNames as hY,hasMiddleware as OH,loadMiddlewareFromDirectory as dY,navigateTo as HH,registerMiddleware as LH,runMiddleware as mY}from"stx-router";class uY{cacheDir;cache=new Map;loaded=!1;constructor($){this.cacheDir=$}async load(){if(this.loaded)return;let $=Y0.join(this.cacheDir,"build-cache.json");if(await Bun.file($).exists())try{let Z=JSON.parse(await Bun.file($).text());for(let[J,Y]of Object.entries(Z))this.cache.set(J,Y)}catch{}this.loaded=!0}async save(){await j0.promises.mkdir(this.cacheDir,{recursive:!0});let $=Y0.join(this.cacheDir,"build-cache.json"),Z={};for(let[J,Y]of this.cache)Z[J]=Y;await Bun.write($,JSON.stringify(Z))}getHash($,Z){let J=j0.statSync($),Y=`${$}:${J.mtimeMs}`;for(let X of Z)if(j0.existsSync(X)){let G=j0.statSync(X);Y+=`:${X}:${G.mtimeMs}`}let Q=0;for(let X=0;X<Y.length;X++){let G=Y.charCodeAt(X);Q=(Q<<5)-Q+G,Q=Q&Q}return Math.abs(Q).toString(36)}get($,Z,J){let Y=this.cache.get($);if(!Y)return null;let Q=this.getHash(Z,J);if(Y.hash!==Q)return this.cache.delete($),null;return Y.html}set($,Z,J,Y){let Q=this.getHash(Z,J);this.cache.set($,{hash:Q,html:Y,generatedAt:Date.now(),dependencies:J})}}class pY{cacheDir;constructor($){this.cacheDir=$}getFilePath($){let Z=$.replace(/[^a-zA-Z0-9]/g,"_")+".json";return Y0.join(this.cacheDir,"isr",Z)}async get($){let Z=this.getFilePath($);if(!await Bun.file(Z).exists())return null;try{return JSON.parse(await Bun.file(Z).text())}catch{return null}}async set($,Z){let J=this.getFilePath($);await j0.promises.mkdir(Y0.dirname(J),{recursive:!0}),await Bun.write(J,JSON.stringify(Z))}async invalidate($){let Z=this.getFilePath($);if(await Bun.file(Z).exists())await j0.promises.unlink(Z)}async invalidatePattern($){let Z=Y0.join(this.cacheDir,"isr");if(!j0.existsSync(Z))return;let J=await j0.promises.readdir(Z);for(let Y of J){let Q=Y.replace(/_/g,"/").replace(".json","");if($.test(Q))await j0.promises.unlink(Y0.join(Z,Y))}}async needsRevalidation($){let Z=await this.get($);if(!Z)return!0;return Date.now()>Z.revalidateAfter}}async function gq($){try{let J=(await Bun.file($).text()).match(/<script\s+server\b[^>]*>([\s\S]*?)<\/script>/i);if(!J)return null;let Y=J[1];if(!Y.includes("getStaticPaths"))return null;let Q=Y.match(/(?:export\s+)?(?:async\s+)?function\s+getStaticPaths\s*\([^)]*\)\s*\{([\s\S]*?)\n[\t ]*\}/);if(!Q)return null;return await Function(`
9374
+ ${d}`);else X=d+`
9375
+ `+X}{let f=/<script\s+server\b[^>]*>/gi,d,W0=[];while((d=f.exec(X))!==null){let a=d.index+d[0].length,Y0=tq(X,a);if(Y0===-1)continue;let w0=Y0+9;while(w0<X.length&&/\s/.test(X[w0]))w0++;W0.push({start:d.index,end:w0})}for(let a=W0.length-1;a>=0;a--){let{start:Y0,end:w0}=W0[a];X=X.substring(0,Y0)+X.substring(w0)}}let v0=N5(X,J);if(v0.hasScoped)X=v0.html;let L0=Z.__stx_event_bindings||[],P=!1,v=[],g=/\s:[a-z][\w.-]*\s*=/.test(X),{scanScriptTags:c}=await Promise.resolve().then(() => (D4(),_8));for(let f of c(X,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b/}))v.push({match:f.fullMatch,attrs:f.attrs,content:f.body});for(let{match:f,attrs:d,content:W0}of v){P=!0;let a=W0;a4(W0,J,Y.strict);let Y0=await L5(W0,{eventBindings:L0,attrs:d,hasColonDirectives:g,templateContent:$,filePath:J,projectRoot:process.cwd(),production:Y.buildMode==="compile"});X=X.replace(f,()=>Y0)}if(P)Z.__stx_event_bindings=[];return X}var w1="<!--PARENT_CONTENT_PLACEHOLDER-->";var r9=C(()=>{J9();C9();S6();v6();f6();x9();P9();l6();h9();s6();K9();G2();W2();U2();c0();r1();o0();L2();T2();S2();v2();X4();a9();d2();M1();u2();P$();F0();l2();n2();r2();t2();l9();D4();k8();C8();r4();t4();r4();t4()});import j0 from"fs";import Z0 from"path";import{matchRoute as FW,Router as GY}from"stx-router";import{findErrorPage as NW,formatRoutes as RW,generateRouteManifest as AW,generateRouteTypes as TW,matchRoute as MW}from"stx-router";function y9($,Z={}){return new GY($,Z).routes}r9();J5();J9();import{abortNavigation as gH,clearMiddleware as nZ,createClientCookieManager as hH,createMiddlewareContext as oZ,createRouteLocation as sZ,createServerCookieManager as dH,createStorageManager as mH,defineMiddleware as uH,getMiddleware as pH,getMiddlewareNames as rZ,hasMiddleware as lH,loadMiddlewareFromDirectory as aZ,navigateTo as cH,registerMiddleware as iH,runMiddleware as tZ}from"stx-router";class eZ{cacheDir;cache=new Map;loaded=!1;constructor($){this.cacheDir=$}async load(){if(this.loaded)return;let $=Z0.join(this.cacheDir,"build-cache.json");if(await Bun.file($).exists())try{let Z=JSON.parse(await Bun.file($).text());for(let[J,Y]of Object.entries(Z))this.cache.set(J,Y)}catch{}this.loaded=!0}async save(){await j0.promises.mkdir(this.cacheDir,{recursive:!0});let $=Z0.join(this.cacheDir,"build-cache.json"),Z={};for(let[J,Y]of this.cache)Z[J]=Y;await Bun.write($,JSON.stringify(Z))}getHash($,Z){let J=j0.statSync($),Y=`${$}:${J.mtimeMs}`;for(let X of Z)if(j0.existsSync(X)){let G=j0.statSync(X);Y+=`:${X}:${G.mtimeMs}`}let Q=0;for(let X=0;X<Y.length;X++){let G=Y.charCodeAt(X);Q=(Q<<5)-Q+G,Q=Q&Q}return Math.abs(Q).toString(36)}get($,Z,J){let Y=this.cache.get($);if(!Y)return null;let Q=this.getHash(Z,J);if(Y.hash!==Q)return this.cache.delete($),null;return Y.html}set($,Z,J,Y){let Q=this.getHash(Z,J);this.cache.set($,{hash:Q,html:Y,generatedAt:Date.now(),dependencies:J})}}class $Y{cacheDir;constructor($){this.cacheDir=$}getFilePath($){let Z=$.replace(/[^a-zA-Z0-9]/g,"_")+".json";return Z0.join(this.cacheDir,"isr",Z)}async get($){let Z=this.getFilePath($);if(!await Bun.file(Z).exists())return null;try{return JSON.parse(await Bun.file(Z).text())}catch{return null}}async set($,Z){let J=this.getFilePath($);await j0.promises.mkdir(Z0.dirname(J),{recursive:!0}),await Bun.write(J,JSON.stringify(Z))}async invalidate($){let Z=this.getFilePath($);if(await Bun.file(Z).exists())await j0.promises.unlink(Z)}async invalidatePattern($){let Z=Z0.join(this.cacheDir,"isr");if(!j0.existsSync(Z))return;let J=await j0.promises.readdir(Z);for(let Y of J){let Q=Y.replace(/_/g,"/").replace(".json","");if($.test(Q))await j0.promises.unlink(Z0.join(Z,Y))}}async needsRevalidation($){let Z=await this.get($);if(!Z)return!0;return Date.now()>Z.revalidateAfter}}async function $W($){try{let J=(await Bun.file($).text()).match(/<script\s+server\b[^>]*>([\s\S]*?)<\/script>/i);if(!J)return null;let Y=J[1];if(!Y.includes("getStaticPaths"))return null;let Q=Y.match(/(?:export\s+)?(?:async\s+)?function\s+getStaticPaths\s*\([^)]*\)\s*\{([\s\S]*?)\n[\t ]*\}/);if(!Q)return null;return await Function(`
9274
9376
  return (async function getStaticPaths() {
9275
9377
  ${Q[1]}
9276
9378
  })()
9277
- `)()}catch(Z){return console.error(`Error extracting static paths from ${$}:`,Z),null}}async function hq($){let Z=[];if(!$.isDynamic)Z.push({url:$.pattern,params:{}});else{let J=await gq($.filePath);if(!J||J.paths.length===0)return console.warn(`Warning: Dynamic route ${$.pattern} has no getStaticPaths or returned empty paths`),Z;for(let Y of J.paths){let Q=$.pattern;for(let[X,G]of Object.entries(Y.params))Q=Q.replace(`:${X}`,G).replace(`:${X}*`,G);Z.push({url:Q,params:Y.params,props:Y.props,revalidate:Y.revalidate})}}return Z}async function dq($){let Z=[$.replace(/\.stx$/,".data.ts"),$.replace(/\.stx$/,".data.js"),$+".data.ts",$+".data.js"];for(let J of Z)if(await Bun.file(J).exists())try{let Y=await import(J);if(typeof Y.default==="function")return await Y.default();else if(typeof Y.default==="object")return Y.default;else if(typeof Y.getData==="function")return await Y.getData();else{let{default:Q,...X}=Y;return X}}catch(Y){console.error(`Error loading data file ${J}:`,Y)}return null}async function mq($,Z,J){let Y=$.match(/<script\s+server\b[^>]*>([\s\S]*?)<\/script>/i);if(!Y)return null;let Q=Y[1];if(!Q.includes("getStaticProps"))return null;try{let X=Q.match(/(?:export\s+)?(?:async\s+)?function\s+getStaticProps\s*\([^)]*\)\s*\{([\s\S]*?)\n\}/);if(!X)return null;return await Function("params",`
9379
+ `)()}catch(Z){return console.error(`Error extracting static paths from ${$}:`,Z),null}}async function ZW($){let Z=[];if(!$.isDynamic)Z.push({url:$.pattern,params:{}});else{let J=await $W($.filePath);if(!J||J.paths.length===0)return console.warn(`Warning: Dynamic route ${$.pattern} has no getStaticPaths or returned empty paths`),Z;for(let Y of J.paths){let Q=$.pattern;for(let[X,G]of Object.entries(Y.params))Q=Q.replace(`:${X}`,G).replace(`:${X}*`,G);Z.push({url:Q,params:Y.params,props:Y.props,revalidate:Y.revalidate})}}return Z}async function YW($){let Z=[$.replace(/\.stx$/,".data.ts"),$.replace(/\.stx$/,".data.js"),$+".data.ts",$+".data.js"];for(let J of Z)if(await Bun.file(J).exists())try{let Y=await import(J);if(typeof Y.default==="function")return await Y.default();else if(typeof Y.default==="object")return Y.default;else if(typeof Y.getData==="function")return await Y.getData();else{let{default:Q,...X}=Y;return X}}catch(Y){console.error(`Error loading data file ${J}:`,Y)}return null}async function JW($,Z,J){let Y=$.match(/<script\s+server\b[^>]*>([\s\S]*?)<\/script>/i);if(!Y)return null;let Q=Y[1];if(!Q.includes("getStaticProps"))return null;try{let X=Q.match(/(?:export\s+)?(?:async\s+)?function\s+getStaticProps\s*\([^)]*\)\s*\{([\s\S]*?)\n\}/);if(!X)return null;return await Function("params",`
9278
9380
  return (async function getStaticProps() {
9279
9381
  ${X[1]}
9280
9382
  })()
9281
- `)(Z)}catch(X){return console.error(`Error executing getStaticProps in ${J}:`,X),null}}async function lY($,Z,J={},Y,Q){let X=await Bun.file($.filePath).text(),G=await dq($.filePath),K=await mq(X,Z,$.filePath),q={...G||{},...K||{},...J,params:Z,$route:{path:$.pattern,params:Z}},U=new Set,_={...Q,debug:!1,cache:!1,autoShell:!0},W=await r0(X,q,$.filePath,_,U);if(Object.keys(Z).length>0){let z=`<script>if(window.stx)window.stx._rp=${JSON.stringify(Z)};else window.__stx_rp=${JSON.stringify(Z)};</script>`;if(W.includes("</head>"))W=W.replace("</head>",`${z}
9282
- </head>`);else W=`${z}
9283
- ${W}`}if(W=await F7(W),W=await Y5(W),Y.minify!==!1)return uq(W);return W}function uq($){let Z=[],J=0,Y=/(<script[^>]*>)([\s\S]*?)(<\/script>)/gi,Q;while((Q=Y.exec($))!==null){let G=$.slice(J,Q.index);Z.push(G.replace(/<!--(?!\[if)[\s\S]*?-->/g,"").replace(/\s+/g," ").replace(/>\s+</g,"><"));let K=Q[1],q=Q[2],U=Q[3];q=q.replace(/([^:"\\'`])\/\/(?!\/)(?![*!])([^\n]*)/g,"$1"),Z.push(K+q+U),J=Q.index+Q[0].length}let X=$.slice(J);return Z.push(X.replace(/<!--(?!\[if)[\s\S]*?-->/g,"").replace(/\s+/g," ").replace(/>\s+</g,"><")),Z.join("").trim()}function pq($){let Z=0;for(let J=0;J<$.length;J++){let Y=$.charCodeAt(J);Z=(Z<<5)-Z+Y,Z=Z&Z}return`"${Math.abs(Z).toString(36)}"`}function lq($,Z){return`<?xml version="1.0" encoding="UTF-8"?>
9383
+ `)(Z)}catch(X){return console.error(`Error executing getStaticProps in ${J}:`,X),null}}async function ZY($,Z,J={},Y,Q){let X=await Bun.file($.filePath).text(),G=await YW($.filePath),K=await JW(X,Z,$.filePath),q={...G||{},...K||{},...J,params:Z,$route:{path:$.pattern,params:Z}},_=new Set,W={...Q,debug:!1,cache:!1,autoShell:!0},z=await r0(X,q,$.filePath,W,_);if(Object.keys(Z).length>0){let U=`<script>if(window.stx)window.stx._rp=${JSON.stringify(Z)};else window.__stx_rp=${JSON.stringify(Z)};</script>`;if(z.includes("</head>"))z=z.replace("</head>",`${U}
9384
+ </head>`);else z=`${U}
9385
+ ${z}`}if(z=await A4(z),z=await Q5(z),Y.minify!==!1)return XW(z);return z}function XW($){let Z=[],J=0,Y=/(<script[^>]*>)([\s\S]*?)(<\/script>)/gi,Q;while((Q=Y.exec($))!==null){let G=$.slice(J,Q.index);Z.push(G.replace(/<!--(?!\[if)[\s\S]*?-->/g,"").replace(/\s+/g," ").replace(/>\s+</g,"><"));let K=Q[1],q=Q[2],_=Q[3];q=q.replace(/([^:"\\'`])\/\/(?!\/)(?![*!])([^\n]*)/g,"$1"),Z.push(K+q+_),J=Q.index+Q[0].length}let X=$.slice(J);return Z.push(X.replace(/<!--(?!\[if)[\s\S]*?-->/g,"").replace(/\s+/g," ").replace(/>\s+</g,"><")),Z.join("").trim()}function QW($){let Z=0;for(let J=0;J<$.length;J++){let Y=$.charCodeAt(J);Z=(Z<<5)-Z+Y,Z=Z&Z}return`"${Math.abs(Z).toString(36)}"`}function GW($,Z){return`<?xml version="1.0" encoding="UTF-8"?>
9284
9386
  <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
9285
9387
  ${$.map((Y)=>{let Q=new URL(Y.loc,Z).href,X=` <url>
9286
- <loc>${C0(Q)}</loc>`;if(Y.lastmod)X+=`
9388
+ <loc>${P0(Q)}</loc>`;if(Y.lastmod)X+=`
9287
9389
  <lastmod>${Y.lastmod}</lastmod>`;if(Y.changefreq)X+=`
9288
9390
  <changefreq>${Y.changefreq}</changefreq>`;if(Y.priority!==void 0)X+=`
9289
9391
  <priority>${Y.priority}</priority>`;return X+=`
9290
9392
  </url>`,X}).join(`
9291
9393
  `)}
9292
- </urlset>`}function C0($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")}function cq($,Z){let J=Z.map((Y)=>{let Q=" <item>";if(Q+=`
9293
- <title>${C0(Y.title)}</title>`,Q+=`
9294
- <link>${C0(Y.link)}</link>`,Y.description)Q+=`
9295
- <description>${C0(Y.description)}</description>`;if(Y.pubDate)Q+=`
9394
+ </urlset>`}function P0($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")}function KW($,Z){let J=Z.map((Y)=>{let Q=" <item>";if(Q+=`
9395
+ <title>${P0(Y.title)}</title>`,Q+=`
9396
+ <link>${P0(Y.link)}</link>`,Y.description)Q+=`
9397
+ <description>${P0(Y.description)}</description>`;if(Y.pubDate)Q+=`
9296
9398
  <pubDate>${Y.pubDate.toUTCString()}</pubDate>`;if(Y.author)Q+=`
9297
- <author>${C0(Y.author)}</author>`;if(Y.categories)for(let X of Y.categories)Q+=`
9298
- <category>${C0(X)}</category>`;if(Y.guid)Q+=`
9299
- <guid>${C0(Y.guid)}</guid>`;return Q+=`
9399
+ <author>${P0(Y.author)}</author>`;if(Y.categories)for(let X of Y.categories)Q+=`
9400
+ <category>${P0(X)}</category>`;if(Y.guid)Q+=`
9401
+ <guid>${P0(Y.guid)}</guid>`;return Q+=`
9300
9402
  </item>`,Q});return`<?xml version="1.0" encoding="UTF-8"?>
9301
9403
  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
9302
9404
  <channel>
9303
- <title>${C0($.title)}</title>
9304
- <link>${C0($.link)}</link>
9305
- <description>${C0($.description)}</description>
9405
+ <title>${P0($.title)}</title>
9406
+ <link>${P0($.link)}</link>
9407
+ <description>${P0($.description)}</description>
9306
9408
  ${$.language?`<language>${$.language}</language>`:""}
9307
- ${$.copyright?`<copyright>${C0($.copyright)}</copyright>`:""}
9409
+ ${$.copyright?`<copyright>${P0($.copyright)}</copyright>`:""}
9308
9410
  <lastBuildDate>${new Date().toUTCString()}</lastBuildDate>
9309
9411
  <atom:link href="${$.link}/rss.xml" rel="self" type="application/rss+xml"/>
9310
9412
  ${J.join(`
9311
9413
  `)}
9312
9414
  </channel>
9313
- </rss>`}async function iq($={}){let Z=Date.now(),J=await H1(),Y={pagesDir:$.pagesDir||"pages",outputDir:$.outputDir||"dist",baseUrl:$.baseUrl||"/",domain:$.domain||"http://localhost",revalidate:$.revalidate??!1,sitemap:$.sitemap??!0,rss:$.rss??!1,concurrency:$.concurrency||10,cache:$.cache??!0,cacheDir:$.cacheDir||".stx/ssg-cache",contentLoaders:$.contentLoaders||[],hooks:$.hooks||{},minify:$.minify??!1,generate404:$.generate404??!0,publicDir:$.publicDir||"public",trailingSlash:$.trailingSlash??!1,cleanOutput:$.cleanOutput??!0},Q={totalPages:0,successCount:0,failedCount:0,cachedCount:0,buildTime:0,pages:[],errors:[]};await Y.hooks.onBuildStart?.();try{if(Y.cleanOutput&&j0.existsSync(Y.outputDir))await j0.promises.rm(Y.outputDir,{recursive:!0});await j0.promises.mkdir(Y.outputDir,{recursive:!0});let X=new uY(Y.cacheDir);if(Y.cache)await X.load();try{let{preloadIconCollection:B}=await Promise.resolve().then(() => (R$(),U8));await B("lucide")}catch{}try{let{generateCrosswindCSS:B}=await Promise.resolve().then(() => (e5(),N3));await B('<div class="bg-black"></div>')}catch{}xY();let G=J?.routeMiddleware?.dir||"middleware";await dY(process.cwd(),G);let K=hY();if(K.length>0)console.log(`Loaded ${K.length} middleware: ${K.join(", ")}`);let q=J?.routeMiddleware?.global||[],U=E$(".",{pagesDir:Y.pagesDir});console.log(`Found ${U.length} routes`);let _=[];for(let B of U){let O=await hq(B);for(let F of O)_.push({route:B,url:F.url,params:F.params,props:F.props,revalidate:F.revalidate??Y.revalidate})}Q.totalPages=_.length,console.log(`Generating ${Q.totalPages} pages...`);let W=[],z=[];for(let B=0;B<_.length;B+=Y.concurrency)z.push(_.slice(B,B+Y.concurrency));for(let B of z)await Promise.all(B.map(async(O)=>{let{route:F,url:L,params:H,props:V,revalidate:R}=O;try{await Y.hooks.onPageStart?.(L);let N=await Bun.file(F.filePath).text(),A=rq(N),w=A?.middleware?Array.isArray(A.middleware)?A.middleware:[A.middleware]:[],M=[...q,...w];if(M.length>0){let b=gY(L,H,A||{}),S=fY(b,null),k=await mY(M,S);if(k.redirect){let f=typeof k.redirect==="string"?k.redirect:k.redirect.path||k.redirect,h=aq(String(f),L),p=tq(L,Y);await j0.promises.mkdir(Y0.dirname(p),{recursive:!0}),await Bun.write(p,h),Q.successCount++,Q.pages.push({route:L,outputPath:p,size:Buffer.byteLength(h),cached:!1}),W.push({loc:L,lastmod:new Date().toISOString()}),console.log(` \u21B3 ${L} \u2192 redirect to ${f}`);return}if(k.abort){let f=typeof k.abort==="string"?k.abort:k.abort?.error?.message||"aborted";console.warn(` \u21B3 ${L} \u2014 middleware aborted: ${f}`);return}}let E=N.match(/definePageMeta\s*\(\s*\{[\s\S]*?validate\s*:\s*((?:\([^)]*\)|[^,}])*(?:\{[\s\S]*?\})?)/m);if(E)try{if(!await Function("route",`
9314
- const validate = ${E[1]};
9415
+ </rss>`}async function qW($={}){let Z=Date.now(),J=await O1(),Y={pagesDir:$.pagesDir||"pages",outputDir:$.outputDir||"dist",baseUrl:$.baseUrl||"/",domain:$.domain||"http://localhost",revalidate:$.revalidate??!1,sitemap:$.sitemap??!0,rss:$.rss??!1,concurrency:$.concurrency||10,cache:$.cache??!0,cacheDir:$.cacheDir||".stx/ssg-cache",contentLoaders:$.contentLoaders||[],hooks:$.hooks||{},minify:$.minify??!1,generate404:$.generate404??!0,publicDir:$.publicDir||"public",trailingSlash:$.trailingSlash??!1,cleanOutput:$.cleanOutput??!0},Q={totalPages:0,successCount:0,failedCount:0,cachedCount:0,buildTime:0,pages:[],errors:[]};await Y.hooks.onBuildStart?.();try{if(Y.cleanOutput&&j0.existsSync(Y.outputDir))await j0.promises.rm(Y.outputDir,{recursive:!0});await j0.promises.mkdir(Y.outputDir,{recursive:!0});let X=new eZ(Y.cacheDir);if(Y.cache)await X.load();try{let{preloadIconCollection:B}=await Promise.resolve().then(() => (I9(),N8));await B("lucide")}catch{}try{let{generateCrosswindCSS:B}=await Promise.resolve().then(() => (J9(),k6));await B('<div class="bg-black"></div>')}catch{}nZ();let G=J?.routeMiddleware?.dir||"middleware";await aZ(process.cwd(),G);let K=rZ();if(K.length>0)console.log(`Loaded ${K.length} middleware: ${K.join(", ")}`);let q=J?.routeMiddleware?.global||[],_=y9(".",{pagesDir:Y.pagesDir});console.log(`Found ${_.length} routes`);let W=[];for(let B of _){let O=await ZW(B);for(let F of O)W.push({route:B,url:F.url,params:F.params,props:F.props,revalidate:F.revalidate??Y.revalidate})}Q.totalPages=W.length,console.log(`Generating ${Q.totalPages} pages...`);let z=[],U=[];for(let B=0;B<W.length;B+=Y.concurrency)U.push(W.slice(B,B+Y.concurrency));for(let B of U)await Promise.all(B.map(async(O)=>{let{route:F,url:L,params:H,props:V,revalidate:N}=O;try{await Y.hooks.onPageStart?.(L);let w=await Bun.file(F.filePath).text(),R=UW(w),A=R?.middleware?Array.isArray(R.middleware)?R.middleware:[R.middleware]:[],T=[...q,...A];if(T.length>0){let S=sZ(L,H,R||{}),b=oZ(S,null),D=await tZ(T,b);if(D.redirect){let x=typeof D.redirect==="string"?D.redirect:D.redirect.path||D.redirect,h=BW(String(x),L),l=jW(L,Y);await j0.promises.mkdir(Z0.dirname(l),{recursive:!0}),await Bun.write(l,h),Q.successCount++,Q.pages.push({route:L,outputPath:l,size:Buffer.byteLength(h),cached:!1}),z.push({loc:L,lastmod:new Date().toISOString()}),console.log(` \u21B3 ${L} \u2192 redirect to ${x}`);return}if(D.abort){let x=typeof D.abort==="string"?D.abort:D.abort?.error?.message||"aborted";console.warn(` \u21B3 ${L} \u2014 middleware aborted: ${x}`);return}}let I=w.match(/definePageMeta\s*\(\s*\{[\s\S]*?validate\s*:\s*((?:\([^)]*\)|[^,}])*(?:\{[\s\S]*?\})?)/m);if(I)try{if(!await Function("route",`
9416
+ const validate = ${I[1]};
9315
9417
  return validate(route);
9316
- `)({params:H})){console.warn(`Validation failed for ${L}, skipping...`);return}}catch{}let T=null,I=!1;if(Y.cache){if(T=X.get(L,F.filePath,[]),T)I=!0,Q.cachedCount++}if(!T){if(T=await lY(F,H,V,Y,J),Y.cache)X.set(L,F.filePath,[],T)}let D;if(Y.trailingSlash)D=Y0.join(Y.outputDir,L,"index.html");else D=L==="/"?Y0.join(Y.outputDir,"index.html"):Y0.join(Y.outputDir,`${L}.html`);await j0.promises.mkdir(Y0.dirname(D),{recursive:!0}),await Bun.write(D,T),W.push({loc:L,lastmod:new Date().toISOString().split("T")[0],priority:L==="/"?1:0.8});let y={route:L,outputPath:D,size:Buffer.byteLength(T,"utf8"),cached:I};if(R!==!1)y.revalidateAt=Date.now()+R*1000;Q.pages.push(y),Q.successCount++,await Y.hooks.onPageEnd?.(L,T)}catch(N){Q.failedCount++,Q.errors.push({route:L,error:N}),await Y.hooks.onError?.(N,L),console.error(`Error generating ${L}:`,N)}}));if(Y.cache)await X.save();if(Y.generate404){let B=Y0.join(Y.pagesDir,"404.stx");if(await Bun.file(B).exists()){let O=new Set,F={...J,debug:!1,cache:!1},L=await r0(await Bun.file(B).text(),{},B,F,O);await Bun.write(Y0.join(Y.outputDir,"404.html"),L)}else await Bun.write(Y0.join(Y.outputDir,"404.html"),`<!DOCTYPE html>
9418
+ `)({params:H})){console.warn(`Validation failed for ${L}, skipping...`);return}}catch{}let M=null,E=!1;if(Y.cache){if(M=X.get(L,F.filePath,[]),M)E=!0,Q.cachedCount++}if(!M){if(M=await ZY(F,H,V,Y,J),Y.cache)X.set(L,F.filePath,[],M)}let k;if(Y.trailingSlash)k=Z0.join(Y.outputDir,L,"index.html");else k=L==="/"?Z0.join(Y.outputDir,"index.html"):Z0.join(Y.outputDir,`${L}.html`);await j0.promises.mkdir(Z0.dirname(k),{recursive:!0}),await Bun.write(k,M),z.push({loc:L,lastmod:new Date().toISOString().split("T")[0],priority:L==="/"?1:0.8});let y={route:L,outputPath:k,size:Buffer.byteLength(M,"utf8"),cached:E};if(N!==!1)y.revalidateAt=Date.now()+N*1000;Q.pages.push(y),Q.successCount++,await Y.hooks.onPageEnd?.(L,M)}catch(w){Q.failedCount++,Q.errors.push({route:L,error:w}),await Y.hooks.onError?.(w,L),console.error(`Error generating ${L}:`,w)}}));if(Y.cache)await X.save();if(Y.generate404){let B=Z0.join(Y.pagesDir,"404.stx");if(await Bun.file(B).exists()){let O=new Set,F={...J,debug:!1,cache:!1},L=await r0(await Bun.file(B).text(),{},B,F,O);await Bun.write(Z0.join(Y.outputDir,"404.html"),L)}else await Bun.write(Z0.join(Y.outputDir,"404.html"),`<!DOCTYPE html>
9317
9419
  <html lang="en">
9318
9420
  <head>
9319
9421
  <meta charset="UTF-8">
@@ -9334,15 +9436,15 @@ ${J.join(`
9334
9436
  <a href="/">Go home</a>
9335
9437
  </div>
9336
9438
  </body>
9337
- </html>`)}for(let B of[500]){let O=Y0.join(Y.pagesDir,`${B}.stx`);if(await Bun.file(O).exists()){let F=new Set,L={...J,debug:!1,cache:!1},H=await r0(await Bun.file(O).text(),{},O,L,F);await Bun.write(Y0.join(Y.outputDir,`${B}.html`),H)}}let j=Y0.join(Y.pagesDir,"error.stx");if(await Bun.file(j).exists()){let B=new Set,O={...J,debug:!1,cache:!1},F=await r0(await Bun.file(j).text(),{},j,O,B);await Bun.write(Y0.join(Y.outputDir,"error.html"),F)}if(Y.sitemap&&W.length>0){let B=lq(W,Y.domain),O=Y0.join(Y.outputDir,"sitemap.xml");await Bun.write(O,B),Q.sitemapPath=O,console.log(`Generated sitemap.xml with ${W.length} URLs`)}if(Y.rss){let B=typeof Y.rss==="object"?Y.rss:{title:"Site Feed",description:"Latest updates",link:Y.domain},O=[];if(B.getItems)O=await B.getItems();let F=cq(B,O),L=Y0.join(Y.outputDir,"rss.xml");await Bun.write(L,F),Q.rssPath=L,console.log(`Generated rss.xml with ${O.length} items`)}if(Y.publicDir&&j0.existsSync(Y.publicDir))await cY(Y.publicDir,Y.outputDir),console.log(`Copied public assets from ${Y.publicDir}`)}catch(X){throw await Y.hooks.onError?.(X),X}return Q.buildTime=Date.now()-Z,await Y.hooks.onBuildEnd?.(Q),console.log(`
9439
+ </html>`)}for(let B of[500]){let O=Z0.join(Y.pagesDir,`${B}.stx`);if(await Bun.file(O).exists()){let F=new Set,L={...J,debug:!1,cache:!1},H=await r0(await Bun.file(O).text(),{},O,L,F);await Bun.write(Z0.join(Y.outputDir,`${B}.html`),H)}}let j=Z0.join(Y.pagesDir,"error.stx");if(await Bun.file(j).exists()){let B=new Set,O={...J,debug:!1,cache:!1},F=await r0(await Bun.file(j).text(),{},j,O,B);await Bun.write(Z0.join(Y.outputDir,"error.html"),F)}if(Y.sitemap&&z.length>0){let B=GW(z,Y.domain),O=Z0.join(Y.outputDir,"sitemap.xml");await Bun.write(O,B),Q.sitemapPath=O,console.log(`Generated sitemap.xml with ${z.length} URLs`)}if(Y.rss){let B=typeof Y.rss==="object"?Y.rss:{title:"Site Feed",description:"Latest updates",link:Y.domain},O=[];if(B.getItems)O=await B.getItems();let F=KW(B,O),L=Z0.join(Y.outputDir,"rss.xml");await Bun.write(L,F),Q.rssPath=L,console.log(`Generated rss.xml with ${O.length} items`)}if(Y.publicDir&&j0.existsSync(Y.publicDir))await YY(Y.publicDir,Y.outputDir),console.log(`Copied public assets from ${Y.publicDir}`)}catch(X){throw await Y.hooks.onError?.(X),X}return Q.buildTime=Date.now()-Z,await Y.hooks.onBuildEnd?.(Q),console.log(`
9338
9440
  Build complete!
9339
9441
  Total: ${Q.totalPages} pages
9340
9442
  Success: ${Q.successCount}
9341
9443
  Cached: ${Q.cachedCount}
9342
9444
  Failed: ${Q.failedCount}
9343
9445
  Time: ${Q.buildTime}ms
9344
- `),Q}async function cY($,Z){let J=await j0.promises.readdir($,{withFileTypes:!0});for(let Y of J){let Q=Y0.join($,Y.name),X=Y0.join(Z,Y.name);if(Y.isDirectory())await j0.promises.mkdir(X,{recursive:!0}),await cY(Q,X);else await j0.promises.copyFile(Q,X)}}function nq($={}){let Z=$.cacheDir||".stx/ssg-cache",J=new pY(Z),Y=$.revalidate||3600;return{async get(Q){let X=await J.get(Q);if(!X)return null;if(Date.now()>X.revalidateAfter)this.revalidate(Q).catch(console.error);return{html:X.html,headers:{"Cache-Control":`public, max-age=${Y}, stale-while-revalidate=${Y*2}`,ETag:X.etag,"X-ISR-Generated":new Date(X.generatedAt).toISOString(),...X.headers}}},async revalidate(Q){let G=E$(".",{pagesDir:$.pagesDir||"pages"}).find((W)=>{return Q.match(W.regex)!==null});if(!G){console.warn(`Route not found for revalidation: ${Q}`);return}let K=Q.match(G.regex),q={};if(K)G.params.forEach((W,z)=>{q[W]=K[z+1]});let U=await H1(),_=await lY(G,q,{},$,U);await J.set(Q,{html:_,generatedAt:Date.now(),revalidateAfter:Date.now()+Y*1000,etag:pq(_)}),console.log(`Revalidated: ${Q}`)},async invalidate(Q){if(typeof Q==="string")await J.invalidate(Q);else await J.invalidatePattern(Q)}}}function oq($){return async()=>{return{paths:await $(),fallback:!1}}}function sq(){return{name:"markdown",extensions:[".md",".mdx"],async load($){let Z=await Bun.file($).text(),J=Z.match(/^---\n([\s\S]*?)\n---/),Y={},Q=Z;if(J){let U=J[1];Q=Z.slice(J[0].length).trim();for(let _ of U.split(`
9345
- `)){let W=_.indexOf(":");if(W>0){let z=_.slice(0,W).trim(),j=_.slice(W+1).trim();if(j==="true")j=!0;else if(j==="false")j=!1;else if(/^\d+$/.test(j))j=parseInt(j,10);else if(/^\d+\.\d+$/.test(j))j=parseFloat(j);else if(j.startsWith("[")&&j.endsWith("]"))j=j.slice(1,-1).split(",").map((B)=>B.trim().replace(/^['"]|['"]$/g,""));Y[z]=j}}}let X=Q.replace(/^### (.*$)/gim,"<h3>$1</h3>").replace(/^## (.*$)/gim,"<h2>$1</h2>").replace(/^# (.*$)/gim,"<h1>$1</h1>").replace(/\*\*(.*)\*\*/gim,"<strong>$1</strong>").replace(/\*(.*)\*/gim,"<em>$1</em>").replace(/`([^`]+)`/gim,"<code>$1</code>").replace(/\[([^\]]+)\]\(([^)]+)\)/gim,'<a href="$2">$1</a>').replace(/\n/gim,"<br>"),G=[],K=/<h([1-6])>([^<]+)<\/h[1-6]>/gi,q;while((q=K.exec(X))!==null){let U=parseInt(q[1],10),_=q[2],W=_.toLowerCase().replace(/[^a-z0-9]+/g,"-");G.push({id:W,text:_,level:U})}return{content:X,data:Y,toc:G}}}}function rq($){let Z=$.match(/definePageMeta\s*\(\s*(\{[\s\S]*?\})\s*\)/m);if(!Z)return null;try{return Function(`return ${Z[1]}`)()}catch{return null}}function aq($,Z){return`<!DOCTYPE html>
9446
+ `),Q}async function YY($,Z){let J=await j0.promises.readdir($,{withFileTypes:!0});for(let Y of J){let Q=Z0.join($,Y.name),X=Z0.join(Z,Y.name);if(Y.isDirectory())await j0.promises.mkdir(X,{recursive:!0}),await YY(Q,X);else await j0.promises.copyFile(Q,X)}}function WW($={}){let Z=$.cacheDir||".stx/ssg-cache",J=new $Y(Z),Y=$.revalidate||3600;return{async get(Q){let X=await J.get(Q);if(!X)return null;if(Date.now()>X.revalidateAfter)this.revalidate(Q).catch(console.error);return{html:X.html,headers:{"Cache-Control":`public, max-age=${Y}, stale-while-revalidate=${Y*2}`,ETag:X.etag,"X-ISR-Generated":new Date(X.generatedAt).toISOString(),...X.headers}}},async revalidate(Q){let G=y9(".",{pagesDir:$.pagesDir||"pages"}).find((z)=>{return Q.match(z.regex)!==null});if(!G){console.warn(`Route not found for revalidation: ${Q}`);return}let K=Q.match(G.regex),q={};if(K)G.params.forEach((z,U)=>{q[z]=K[U+1]});let _=await O1(),W=await ZY(G,q,{},$,_);await J.set(Q,{html:W,generatedAt:Date.now(),revalidateAfter:Date.now()+Y*1000,etag:QW(W)}),console.log(`Revalidated: ${Q}`)},async invalidate(Q){if(typeof Q==="string")await J.invalidate(Q);else await J.invalidatePattern(Q)}}}function _W($){return async()=>{return{paths:await $(),fallback:!1}}}function zW(){return{name:"markdown",extensions:[".md",".mdx"],async load($){let Z=await Bun.file($).text(),J=Z.match(/^---\n([\s\S]*?)\n---/),Y={},Q=Z;if(J){let _=J[1];Q=Z.slice(J[0].length).trim();for(let W of _.split(`
9447
+ `)){let z=W.indexOf(":");if(z>0){let U=W.slice(0,z).trim(),j=W.slice(z+1).trim();if(j==="true")j=!0;else if(j==="false")j=!1;else if(/^\d+$/.test(j))j=parseInt(j,10);else if(/^\d+\.\d+$/.test(j))j=parseFloat(j);else if(j.startsWith("[")&&j.endsWith("]"))j=j.slice(1,-1).split(",").map((B)=>B.trim().replace(/^['"]|['"]$/g,""));Y[U]=j}}}let X=Q.replace(/^### (.*$)/gim,"<h3>$1</h3>").replace(/^## (.*$)/gim,"<h2>$1</h2>").replace(/^# (.*$)/gim,"<h1>$1</h1>").replace(/\*\*(.*)\*\*/gim,"<strong>$1</strong>").replace(/\*(.*)\*/gim,"<em>$1</em>").replace(/`([^`]+)`/gim,"<code>$1</code>").replace(/\[([^\]]+)\]\(([^)]+)\)/gim,'<a href="$2">$1</a>').replace(/\n/gim,"<br>"),G=[],K=/<h([1-6])>([^<]+)<\/h[1-6]>/gi,q;while((q=K.exec(X))!==null){let _=parseInt(q[1],10),W=q[2],z=W.toLowerCase().replace(/[^a-z0-9]+/g,"-");G.push({id:z,text:W,level:_})}return{content:X,data:Y,toc:G}}}}function UW($){let Z=$.match(/definePageMeta\s*\(\s*(\{[\s\S]*?\})\s*\)/m);if(!Z)return null;try{return Function(`return ${Z[1]}`)()}catch{return null}}function BW($,Z){return`<!DOCTYPE html>
9346
9448
  <html>
9347
9449
  <head>
9348
9450
  <meta charset="utf-8">
@@ -9354,4 +9456,4 @@ Build complete!
9354
9456
  <p>Redirecting to <a href="${$}">${$}</a>...</p>
9355
9457
  <script>window.location.replace('${$}')</script>
9356
9458
  </body>
9357
- </html>`}function tq($,Z){if($==="/"||$==="")return Y0.join(Z.outputDir,"index.html");let J=$.replace(/^\/|\/$/g,"");if(Z.trailingSlash)return Y0.join(Z.outputDir,J,"index.html");return Y0.join(Z.outputDir,`${J}.html`)}var MH={generateStaticSite:iq,createISRHandler:nq,defineStaticPaths:oq,createMarkdownLoader:sq};export{iq as generateStaticSite,oq as defineStaticPaths,MH as default,sq as createMarkdownLoader,nq as createISRHandler};
9459
+ </html>`}function jW($,Z){if($==="/"||$==="")return Z0.join(Z.outputDir,"index.html");let J=$.replace(/^\/|\/$/g,"");if(Z.trailingSlash)return Z0.join(Z.outputDir,J,"index.html");return Z0.join(Z.outputDir,`${J}.html`)}var $L={generateStaticSite:qW,createISRHandler:WW,defineStaticPaths:_W,createMarkdownLoader:zW};export{qW as generateStaticSite,_W as defineStaticPaths,$L as default,zW as createMarkdownLoader,WW as createISRHandler};