@stacksjs/stx 0.2.48 → 0.2.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (5) hide show
  1. package/dist/cli.js +160 -160
  2. package/dist/index.js +109 -109
  3. package/dist/pwa.js +150 -150
  4. package/dist/ssg.js +106 -106
  5. package/package.json +1 -1
package/dist/ssg.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- var qY=Object.defineProperty;var WY=($)=>$;function zY($,Z){this[$]=WY.bind(null,Z)}var r=($,Z)=>{for(var J in Z)qY($,J,{get:Z[J],enumerable:!0,configurable:!0,set:zY.bind(Z,J)})};var C=($,Z)=>()=>($&&(Z=$($=0)),Z);var Y0=import.meta.require;var W0;var K7=C(()=>{W0={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 W7,z7;var v9=C(()=>{W7={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},z7={name:"screenReader",handler:($)=>{return`<span class="sr-only">${$}</span>`},hasEndTag:!0}});function _Y($,Z={}){let{duration:J,delay:Y,ease:Q,direction:X,custom:G}={...c0,...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 qY=Object.defineProperty;var WY=($)=>$;function zY($,Z){this[$]=WY.bind(null,Z)}var r=($,Z)=>{for(var J in Z)qY($,J,{get:Z[J],enumerable:!0,configurable:!0,set:zY.bind(Z,J)})};var S=($,Z)=>()=>($&&(Z=$($=0)),Z);var Y0=import.meta.require;var z0;var K7=S(()=>{z0={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 W7,z7;var v9=S(()=>{W7={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},z7={name:"screenReader",handler:($)=>{return`<span class="sr-only">${$}</span>`},hasEndTag:!0}});function _Y($,Z={}){let{duration:J,delay:Y,ease:Q,direction:X,custom:G}={...c0,...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; } }
@@ -234,9 +234,9 @@ else {
234
234
  </script>
235
235
  `}function O7($,Z,J,Y){let Q=$;if(Y.animation?.enabled===!1)return Q;let X=J.includes("test")&&J.includes("animation");if(!jY(Q)&&!X)return Q;if(!Q.includes('<style id="stx-animation-base">')){let K=HY();Q=Q.replace("</head>",`${K}
236
236
  </head>`)}if(Q.includes("stx-observe")){if(!Q.includes("Intersection Observer for scroll animations")){let q=OY(),z=Q.lastIndexOf("</body>");if(z!==-1)Q=Q.slice(0,z)+q+`
237
- `+Q.slice(z)}}return Q}var c0,U7,_7,B7,j7;var x9=C(()=>{c0={duration:300,delay:0,ease:"ease",direction:"both"};U7={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)||c0.duration:c0.duration,G=Z.length>2?Z[2]||c0.ease:c0.ease,K=Z.length>3?Number.parseInt(Z[3],10)||c0.delay:c0.delay,q=Z.length>4?Z[4]||c0.direction:c0.direction,z=`stx-transition-${Math.random().toString(36).substr(2,9)}`,W=_Y(Q,{duration:X,delay:K,ease:G,direction:q}),U="stx-transition",_="";if(Q==="fade")_="stx-fade";else if(Q==="slide")_="stx-slide";else if(Q==="scale")_="stx-scale";else if(Q==="flip")_="stx-flip";else if(Q==="rotate")_="stx-rotate";return`<div id="${z}" class="${U} ${_} ${q==="out"?"stx-out":""}"
237
+ `+Q.slice(z)}}return Q}var c0,U7,_7,B7,j7;var x9=S(()=>{c0={duration:300,delay:0,ease:"ease",direction:"both"};U7={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)||c0.duration:c0.duration,G=Z.length>2?Z[2]||c0.ease:c0.ease,K=Z.length>3?Number.parseInt(Z[3],10)||c0.delay:c0.delay,q=Z.length>4?Z[4]||c0.direction:c0.direction,z=`stx-transition-${Math.random().toString(36).substr(2,9)}`,W=_Y(Q,{duration:X,delay:K,ease:G,direction:q}),U="stx-transition",_="";if(Q==="fade")_="stx-fade";else if(Q==="slide")_="stx-slide";else if(Q==="scale")_="stx-scale";else if(Q==="flip")_="stx-flip";else if(Q==="rotate")_="stx-rotate";return`<div id="${z}" class="${U} ${_} ${q==="out"?"stx-out":""}"
238
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"},_7={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,z=`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;`,U="stx-transition stx-observe stx-out";if(Q==="fade")U+=" stx-fade";else if(Q==="slide-up"||Q==="slide")U+=" stx-from-bottom";else if(Q==="slide-down")U+=" stx-from-top";else if(Q==="slide-left")U+=" stx-from-right";else if(Q==="slide-right")U+=" stx-from-left";else if(Q==="scale")U+=" stx-scale";else if(Q.includes("-"))U+=` stx-${Q}`;else U+=` stx-${Q}`;return`<div id="${z}" class="${U}" style="${W}" data-threshold="${K}">${$}</div>`},hasEndTag:!0,description:"Applies animations that trigger when scrolled into view"},B7={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((z)=>z.startsWith("#")||z.startsWith(".")?z:`#${z}`),G=J.staggerDelay||50,K=J.sequence||!0,q=LY(Q,X,{staggerDelay:G,sequence:K});return`${$}
239
- ${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},j7={name:"motion",handler:($,Z,J,Y)=>{let Q=Z.length>0?Z[0].toLowerCase()==="true":!0,X=BY();return`<div data-animate="${Q?"auto":"true"}">${$}</div>${X}`},hasEndTag:!0,description:"Controls motion and animation preferences"}});import{getRouterScript as H7}from"stx-router";var L7=C(()=>{f9()});async function FY($,Z,J,Y){let Q=Z[0]?.replace(/['"]/g,"")||"main",X=H7();if(Q!=="main")X=X.replace("container:'main'",`container:'${Q}'`);return`<script data-stx-router>${X}</script>`}var F7;var f9=C(()=>{L7();F7={name:"stxRouter",handler:FY,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"}});function V7($){let Z=$.heatmap;if(!Z?.enabled)return"";let J={...VY,...Z};return`
239
+ ${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},j7={name:"motion",handler:($,Z,J,Y)=>{let Q=Z.length>0?Z[0].toLowerCase()==="true":!0,X=BY();return`<div data-animate="${Q?"auto":"true"}">${$}</div>${X}`},hasEndTag:!0,description:"Controls motion and animation preferences"}});import{getRouterScript as H7}from"stx-router";var L7=S(()=>{f9()});async function FY($,Z,J,Y){let Q=Z[0]?.replace(/['"]/g,"")||"main",X=H7();if(Q!=="main")X=X.replace("container:'main'",`container:'${Q}'`);return`<script data-stx-router>${X}</script>`}var F7;var f9=S(()=>{L7();F7={name:"stxRouter",handler:FY,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"}});function V7($){let Z=$.heatmap;if(!Z?.enabled)return"";let J={...VY,...Z};return`
240
240
  <!-- stx Heatmap - Privacy-Compliant Tracking -->
241
241
  <script>
242
242
  (function() {
@@ -619,7 +619,7 @@ else {
619
619
  };
620
620
  })();
621
621
  </script>
622
- `}function w7($,Z){let J=V7(Z);if(!J)return $;let Y=$.lastIndexOf("</body>");if(Y!==-1)return $.slice(0,Y)+J+$.slice(Y);return $+J}function wY($){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 VY,A7;var g9=C(()=>{VY={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};A7={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=wY(Z.join(" "));Q.heatmap={...Q.heatmap,...X,enabled:!0}}return V7(Q)}}});function r0($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function N7($){let Z=$.trim().toLowerCase();return!Z.startsWith("javascript:")&&!Z.startsWith("vbscript:")&&!Z.startsWith("data:text/html")}function R7($){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(`
622
+ `}function w7($,Z){let J=V7(Z);if(!J)return $;let Y=$.lastIndexOf("</body>");if(Y!==-1)return $.slice(0,Y)+J+$.slice(Y);return $+J}function wY($){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 VY,A7;var g9=S(()=>{VY={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};A7={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=wY(Z.join(" "));Q.heatmap={...Q.heatmap,...X,enabled:!0}}return V7(Q)}}});function r0($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function N7($){let Z=$.trim().toLowerCase();return!Z.startsWith("javascript:")&&!Z.startsWith("vbscript:")&&!Z.startsWith("data:text/html")}function R7($){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
623
  `)){let K=G.trim();if(!K||K.startsWith("#"))continue;let q=K.indexOf(":");if(q===-1)continue;let z=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[z]=W}return{data:X,content:Q.trim()}}function n1($,Z={}){let{gfm:J=!0,breaks:Y=!1}=Z,Q=$,X=[];if(Q=Q.replace(/```(\w*)\n([\s\S]*?)```/g,(W,U,_)=>{let j=X.length,B=U?` class="language-${r0(U)}"`:"";return X.push(`<pre><code${B}>${r0(_.trim())}</code></pre>`),`\x00CODEBLOCK${j}\x00`}),Q=Q.replace(/`([^`]*)`/g,(W,U)=>`<code>${r0(U)}</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,U,_)=>{return`<img src="${N7(_)?r0(_):""}" alt="${r0(U)}" />`}),Q=Q.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(W,U,_)=>{return`<a href="${N7(_)?r0(_):""}">${U}</a>`}),Q=Q.replace(/^(?:---|\*\*\*|___)\s*$/gm,"<hr />"),Q=Q.replace(/^>\s+(.*)$/gm,"<blockquote>$1</blockquote>"),Q=Q.replace(/<\/blockquote>\n<blockquote>/g,`
624
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,U,_)=>{let B=`<tr>${U.split("|").map((F)=>F.trim()).filter(Boolean).map((F)=>`<th>${r0(F)}</th>`).join("")}</tr>`,O=_.trim().split(`
625
625
  `).map((F)=>{return`<tr>${F.split("|").map((H)=>H.trim()).filter(Boolean).map((H)=>`<td>${r0(H)}</td>`).join("")}</tr>`}).join(`
@@ -642,7 +642,7 @@ ${O}
642
642
  `}),$}import AY from"process";function g0($="STX_PUBLIC_"){let Z={},J={};for(let[Y,Q]of Object.entries(AY.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 M1=()=>{};var h9={};r(h9,{hasUserImports:()=>NY,bundleClientScript:()=>TY});import w0 from"path";import i0 from"fs";function NY($){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(!T7.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(!T7.some((q)=>q.test(G)))return console.log("[stx:bundler] detected side-effect import:",G),!0}return!1}function RY($,Z,J){let Y=(Q,X)=>{let G=Q===J?Z:w0.dirname(Q),K=w0.resolve(G,X),q=[K,`${K}.ts`,`${K}.tsx`,`${K}.js`,`${K}.mjs`,`${K}.jsx`,w0.join(K,"index.ts"),w0.join(K,"index.tsx"),w0.join(K,"index.js"),w0.join(K,"index.mjs")];for(let z of q)try{if(i0.existsSync(z)&&i0.statSync(z,{throwIfNoEntry:!1})?.isFile())return z}catch{}return K};return{name:"stx-client-bundle",setup(Q){Q.onResolve({filter:/^(stx|@stacksjs\/stx|@stacksjs\/browser)$/},(X)=>({path:X.path,external:!0})),Q.onResolve({filter:/^(@stores|@composables|stx\/stores)$/},(X)=>({path:X.path,external:!0})),Q.onResolve({filter:/^\.\.?\//},(X)=>{return{path:Y(X.importer,X.path)}}),Q.onResolve({filter:/^@\//},(X)=>{let G=w0.resolve($,X.path.slice(2)),K=[G,`${G}.ts`,`${G}.js`,w0.join(G,"index.ts"),w0.join(G,"index.js")];for(let q of K)if(i0.existsSync(q)&&i0.statSync(q,{throwIfNoEntry:!1})?.isFile())return console.log("[stx:bundler] resolved @/ import:",X.path,"\u2192",q),{path:q};return console.warn("[stx:bundler] could not resolve @/ import:",X.path),{path:G}})}}}async function TY($,Z,J={}){let Y=J.projectRoot||process.cwd(),Q=J.minify??!1,X=J.cacheDir||w0.join(Y,".stx","bundle-cache"),G=new Bun.CryptoHasher("md5");G.update($+Z);let K=G.digest("hex").slice(0,12),q=w0.join(X,`${K}.js`),z=Bun.file(q);if(await z.exists())return console.log("[stx:bundler] cache hit:",K),await z.text();let W=w0.join(Y,".stx","bundle-tmp"),U=w0.join(W,`${K}.ts`),_=w0.join(W,"out",K);i0.mkdirSync(W,{recursive:!0}),i0.mkdirSync(_,{recursive:!0});let j=w0.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 A=V.split(":")[0].trim();if(A)B.push(A)});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
643
  export { ${B.join(", ")} }`:"";await Bun.write(U,$+H),console.log("[stx:bundler] bundling:",K,"from:",w0.basename(Z));try{let V=await Bun.build({entrypoints:[U],outdir:_,target:"browser",format:"esm",minify:Q,plugins:[RY(Y,j,U)],define:{"process.env.NODE_ENV":Q?'"production"':'"development"',...g0()},root:Y});if(!V.success){let w=V.logs.filter((N)=>N.level==="error").map((N)=>N.message).join(", ");return console.warn("[stx:bundler] build failed:",w),$}let A="";for(let w of V.outputs){A=await w.text();break}return A=A.replace(/^\s*export\s*\{[^}]*\}\s*;?\s*$/gm,"").replace(/^\s*export\s+default\s+.*$/gm,"").trim(),console.log("[stx:bundler] bundled:",K,"output:",A.length,"bytes"),i0.mkdirSync(X,{recursive:!0}),await Bun.write(q,A),A}catch(V){let A=V instanceof Error?V.message:String(V),w=V?.errors,N=Array.isArray(w)&&w.length>0?`
644
644
  ${w.map((R)=>`- ${R?.message??R}`).join(`
645
- `)}`:"";return console.warn(`[stx:bundler] error: ${A}${N}`),$}finally{try{i0.rmSync(U,{force:!0}),i0.rmSync(_,{recursive:!0,force:!0})}catch{}}}var T7;var d9=C(()=>{M1();T7=[/^stx$/,/^@stacksjs\/stx$/,/^@stacksjs\/browser$/,/^@stores$/,/^stx\/stores$/,/^@composables$/]});function EY($){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(!DY.has(Y[1]))Z.add(Y[1]);return Array.from(Z)}function kY($){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],z=G[2];if(G[0].includes("import type"))continue;q.split(",").map((U)=>U.trim().split(/\s+as\s+/)[0]).filter((U)=>U.length>0).forEach((U)=>{if(Q.add(U),z==="stx")Z.add(U);else J.add(U)}),Y=Y.replace(G[0],"// [auto-import processed]")}for(let q of MY){if(Q.has(q))continue;if(new RegExp(`\\b${q}\\s*\\(`,"g").test(Y))Z.add(q)}for(let q of IY){if(Q.has(q))continue;if(new RegExp(`\\b${q}\\b`,"g").test(Y))J.add(q)}let K=EY(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 bY($,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
645
+ `)}`:"";return console.warn(`[stx:bundler] error: ${A}${N}`),$}finally{try{i0.rmSync(U,{force:!0}),i0.rmSync(_,{recursive:!0,force:!0})}catch{}}}var T7;var d9=S(()=>{M1();T7=[/^stx$/,/^@stacksjs\/stx$/,/^@stacksjs\/browser$/,/^@stores$/,/^stx\/stores$/,/^@composables$/]});function EY($){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(!DY.has(Y[1]))Z.add(Y[1]);return Array.from(Z)}function kY($){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],z=G[2];if(G[0].includes("import type"))continue;q.split(",").map((U)=>U.trim().split(/\s+as\s+/)[0]).filter((U)=>U.length>0).forEach((U)=>{if(Q.add(U),z==="stx")Z.add(U);else J.add(U)}),Y=Y.replace(G[0],"// [auto-import processed]")}for(let q of MY){if(Q.has(q))continue;if(new RegExp(`\\b${q}\\s*\\(`,"g").test(Y))Z.add(q)}for(let q of IY){if(Q.has(q))continue;if(new RegExp(`\\b${q}\\b`,"g").test(Y))J.add(q)}let K=EY(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 bY($,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
646
646
  ${J.join(`
647
647
  `)}
648
648
  `;return""}function yY($){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=SY[$.mouse];Z.push(`if ($event.button !== ${J}) return`)}if($.prevent)Z.push("$event.preventDefault()");if($.stop)Z.push("$event.stopPropagation()");return Z.join("; ")}function CY($,Z){let{elementId:J,event:Y,handler:Q,modifiers:X}=$,G=yY(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(", ")} }`:"",z="";if(G)z+=`${G}; `;let W=Q.replace(/\\/g,"\\\\").replace(/'/g,"\\'");function U(_){return`var scope = $el.closest('[data-stx-scope]');
@@ -699,7 +699,7 @@ ${K}${O}
699
699
  'use strict';
700
700
  ${Y}${J}
701
701
  ${K}
702
- })()</script>`}var MY,IY,DY,SY,vY;var m9=C(()=>{A0();MY=["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"],IY=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser"],DY=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"]);SY={left:0,middle:1,right:2};vY=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 hY($){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 o1($){let Z=$.trim(),J=hY(Z);for(let Y of D7)if(Y.test(J))throw Error(`Potentially unsafe expression (matched /${Y.source}/): ${Z}`);if(!I7.allowBracketNotation&&gY.test(Z))throw Error(`Bracket notation with strings not allowed: ${Z}. Enable with configureSafeEvaluator({ allowBracketNotation: true })`);return Z}function dY($){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("__")||D7.some((Q)=>Q.test(J)))continue;if(Y&&typeof Y==="object"&&!Array.isArray(Y))Z[J]=u9(Y);else Z[J]=Y}return Z}function u9($,Z=0){if(Z>=I7.maxSanitizeDepth)return"[Object too deep]";if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((Y)=>u9(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]=u9(Q,Z+1);else J[Y]=Q}return J}function J0($,Z){try{let J=o1($),Y=dY(Z);return Function(...Object.keys(Y),`
702
+ })()</script>`}var MY,IY,DY,SY,vY;var m9=S(()=>{A0();MY=["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"],IY=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser"],DY=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"]);SY={left:0,middle:1,right:2};vY=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 hY($){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 o1($){let Z=$.trim(),J=hY(Z);for(let Y of D7)if(Y.test(J))throw Error(`Potentially unsafe expression (matched /${Y.source}/): ${Z}`);if(!I7.allowBracketNotation&&gY.test(Z))throw Error(`Bracket notation with strings not allowed: ${Z}. Enable with configureSafeEvaluator({ allowBracketNotation: true })`);return Z}function dY($){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("__")||D7.some((Q)=>Q.test(J)))continue;if(Y&&typeof Y==="object"&&!Array.isArray(Y))Z[J]=u9(Y);else Z[J]=Y}return Z}function u9($,Z=0){if(Z>=I7.maxSanitizeDepth)return"[Object too deep]";if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((Y)=>u9(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]=u9(Q,Z+1);else J[Y]=Q}return J}function J0($,Z){try{let J=o1($),Y=dY(Z);return Function(...Object.keys(Y),`
703
703
  'use strict';
704
704
  try {
705
705
  return ${J};
@@ -721,7 +721,7 @@ catch (e) {
721
721
  }
722
722
  throw e;
723
723
  }
724
- `);if(X.length===Z.length)return G;return(...K)=>{let q=Array(Q.length);for(let z=0;z<Q.length;z++)q[z]=K[Q[z]];return G(...q)}}function A5($){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 fY,I7,D7,gY,mY;var R0=C(()=>{fY={maxSanitizeDepth:10,allowBracketNotation:!1},I7={...fY},D7=[/\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/],gY=/[\w)\]]\s*\[\s*['"]/;mY=new Set(["break","case","catch","class","const","continue","debugger","default","delete","do","else","enum","export","extends","false","finally","for","function","if","import","in","instanceof","new","null","return","super","switch","this","throw","true","try","typeof","var","void","while","with","yield","let","static","implements","interface","package","private","protected","public","arguments","eval","await"])});function N5($,Z){let J=uY++,Y=`<!--__STX_${$.toUpperCase()}_${J}__-->`;return pY.set(Y,{type:$,expression:Z}),Y}var uY=0,pY;var E7=C(()=>{pY=new Map});var v7={};r(v7,{usesSignalsInScript:()=>R5,unescapeHtml:()=>p9,registerFilters:()=>cY,registerFilter:()=>S7,processExpressions:()=>t0,interpolateScriptsInTemplate:()=>nY,interpolateScriptExpressions:()=>C7,getAllFilters:()=>y7,evaluateExpression:()=>y0,escapeHtml:()=>z1,defaultFilters:()=>r1,clearCustomFilters:()=>iY,applyFilters:()=>P7});function lY($){let Z=k7.get($);if(!Z){let J=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${J}(?!\\w)`,"g"),k7.set($,Z)}return Z.lastIndex=0,Z}function S7($,Z){if($ in r1)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);s1[$]=Z}function cY($){for(let[Z,J]of Object.entries($))S7(Z,J)}function y7(){return{...r1,...s1}}function iY(){for(let $ of Object.keys(s1))delete s1[$]}function z1($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function R5($){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 b7($,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 z=0;z<Y.length;z++){let W=Y[z];if(!X&&W==="`"){X=!0,G=0;continue}if(X){if(W==="`"&&G===0){X=!1;continue}if(W==="$"&&Y[z+1]==="{"){G++,z++;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 z=q[1];if(!Y.substring(0,q.index).trimEnd().endsWith(".")){if(!J.includes(z)&&!(z in Z))return!1}}return!0}function C7($,Z){let J=$;return J=J.replace(/\{!!([\s\S]*?)!!\}/g,(Y,Q)=>{try{let X=y0(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=y0(Q,Z);if(G===void 0)return Y;return JSON.stringify(G)}catch{return Y}}),J}function nY($,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=C7(X,Z);return`<script${Q}>${G}</script>`})}function t0($,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=R5($);Y=Y.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(K,q,z)=>{try{let W=y0(q,Z);return W!==void 0&&W!==null?String(W):""}catch(W){let U=W instanceof Error?W.message:String(W);return X0("Expression",`Error evaluating: {{{ ${q.trim()}}}}: ${U}`,J,$,z,K)}}),Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(K,q,z)=>{try{let W=y0(q,Z);if(W===void 0&&Z.__stx_buildMode==="compile")return N5("raw",q.trim());return W!==void 0&&W!==null?String(W):""}catch(W){if(Z.__stx_buildMode==="compile")return N5("raw",q.trim());let U=W instanceof Error?W.message:String(W);return X0("Expression",`Error evaluating: {!! ${q.trim()} !!}: ${U}`,J,$,z,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,z)=>{let W=q.trim(),U=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],_=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,B=W.match(_)?.[1],O=B&&((B in Z)||U.includes(B)),F=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,L=W.match(F),H=L&&!U.includes(L[1])&&!(L[1]in Z);if(/^__[A-Z_]+__$/.test(W))return"";try{let V=y0(q,Z);if(V===void 0&&G&&!b7(W,Z))return K;if(V===void 0&&Z.__stx_buildMode==="compile"&&!G)return N5("expr",W);return V!==void 0&&V!==null?z1(String(V)):""}catch(V){if(G&&!b7(W,Z))return K;if(H)return K;let A=V instanceof Error?V.message:String(V);return X0("Expression",`Error evaluating: {{ ${W} }}: ${A}`,J,$,z,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 P7($,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=s1[G]||r1[G];if(!K)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(y7()).join(", ")}`);let q=[];if(Q.startsWith(":")){let z=Q.match(/^:([^|\s]+)/);if(z){let W=z[1].trim();try{let U=Number(W);q=[Number.isNaN(U)?W:U]}catch{q=[W]}Q=Q.substring(z[0].length).trim()}}else if(Q.startsWith("(")){let z=1,W=1;while(z>0&&W<Q.length){if(Q[W]==="(")z++;if(Q[W]===")")z--;W++}if(z===0){let U=Q.substring(1,W-1).trim();if(U)try{if(U.startsWith("{")&&U.endsWith("}"))q=[y0(`(${U})`,J,!0)];else{let _=[],j="",B=null,O=0,F=0,L=0,H=!1;for(let V=0;V<U.length;V++){let A=U[V];if(H){j+=A,H=!1;continue}if(A==="\\"){j+=A,H=!0;continue}if(B){if(j+=A,A===B)B=null;continue}if(A==='"'||A==="'"||A==="`"){B=A,j+=A;continue}if(A==="(")O++;else if(A===")")O--;else if(A==="[")F++;else if(A==="]")F--;else if(A==="{")L++;else if(A==="}")L--;if(A===","&&O===0&&F===0&&L===0){_.push(j),j="";continue}j+=A}if(j)_.push(j);q=_.map((V)=>{let A=V.trim();return y0(A,J,!0)})}}catch{q=[U]}Q=Q.substring(W).trim()}}try{Y=K(Y,J,...q)}catch(z){let W=z instanceof Error?z.message:String(z);throw Error(`Error applying filter '${G}': ${W}`)}if(Q.startsWith("|"))Q=Q.substring(1).trim();else break}return Y}function oY($){let Z=!1,J="",Y=0,Q=0,X=0,G=!1;for(let K=0;K<$.length;K++){let q=$[K],z=$[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==="$"&&z==="{"){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(z==="|"){K++;continue}if(z==="="){K++;continue}return K}}return-1}function y0($,Z,J=!1){try{let Y=$.trim(),Q=oY(Y);if(Q>0){let X=Y.substring(0,Q).trim(),G=Y.substring(Q+1).trim(),K=y0(X,Z,!0);return P7(K,G,Z)}if(!t(Y)){if(!J)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${Y}`);return J0(Y,Z)}try{let X=Object.keys(Z),G=Object.values(Z);return e(Y,X)(...G)}catch{return J0(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=sY(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 sY($,Z){let J=null;for(let Q of Z){if(Q===$)continue;let X=rY($,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 rY($,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 p9($){if(!$)return"";return $.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#039;/g,"'").replace(/&#39;/g,"'").replace(/&amp;/g,"&")}var s1,k7,r1;var n0=C(()=>{R0();A0();E7();s1={},k7=new Map;r1={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 z1(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,z])=>{K=K.replace(lY(q),String(z))}),K},t:($,Z,J={})=>{return r1.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 a1{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 D1($,Z){if(Z?.includes("g"))return new RegExp($,Z);let J=`${$}:${Z||""}`;if(!I1.has(J)){if(I1.size>=aY){let Y=I1.keys().next().value;if(Y)I1.delete(Y)}I1.set(J,new RegExp($,Z))}return I1.get(J)}class x7{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 z=`${J}:${q}`,W=Q.get(z);if(!W){if(Q.size>=X){let U=Q.keys().next().value;if(U)Q.delete(U)}W=Function(...Z,`
724
+ `);if(X.length===Z.length)return G;return(...K)=>{let q=Array(Q.length);for(let z=0;z<Q.length;z++)q[z]=K[Q[z]];return G(...q)}}function A5($){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 fY,I7,D7,gY,mY;var R0=S(()=>{fY={maxSanitizeDepth:10,allowBracketNotation:!1},I7={...fY},D7=[/\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/],gY=/[\w)\]]\s*\[\s*['"]/;mY=new Set(["break","case","catch","class","const","continue","debugger","default","delete","do","else","enum","export","extends","false","finally","for","function","if","import","in","instanceof","new","null","return","super","switch","this","throw","true","try","typeof","var","void","while","with","yield","let","static","implements","interface","package","private","protected","public","arguments","eval","await"])});function N5($,Z){let J=uY++,Y=`<!--__STX_${$.toUpperCase()}_${J}__-->`;return pY.set(Y,{type:$,expression:Z}),Y}var uY=0,pY;var E7=S(()=>{pY=new Map});var v7={};r(v7,{usesSignalsInScript:()=>R5,unescapeHtml:()=>p9,registerFilters:()=>cY,registerFilter:()=>S7,processExpressions:()=>t0,interpolateScriptsInTemplate:()=>nY,interpolateScriptExpressions:()=>C7,getAllFilters:()=>y7,evaluateExpression:()=>y0,escapeHtml:()=>z1,defaultFilters:()=>r1,clearCustomFilters:()=>iY,applyFilters:()=>P7});function lY($){let Z=k7.get($);if(!Z){let J=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${J}(?!\\w)`,"g"),k7.set($,Z)}return Z.lastIndex=0,Z}function S7($,Z){if($ in r1)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);s1[$]=Z}function cY($){for(let[Z,J]of Object.entries($))S7(Z,J)}function y7(){return{...r1,...s1}}function iY(){for(let $ of Object.keys(s1))delete s1[$]}function z1($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function R5($){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 b7($,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 z=0;z<Y.length;z++){let W=Y[z];if(!X&&W==="`"){X=!0,G=0;continue}if(X){if(W==="`"&&G===0){X=!1;continue}if(W==="$"&&Y[z+1]==="{"){G++,z++;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 z=q[1];if(!Y.substring(0,q.index).trimEnd().endsWith(".")){if(!J.includes(z)&&!(z in Z))return!1}}return!0}function C7($,Z){let J=$;return J=J.replace(/\{!!([\s\S]*?)!!\}/g,(Y,Q)=>{try{let X=y0(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=y0(Q,Z);if(G===void 0)return Y;return JSON.stringify(G)}catch{return Y}}),J}function nY($,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=C7(X,Z);return`<script${Q}>${G}</script>`})}function t0($,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=R5($);Y=Y.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(K,q,z)=>{try{let W=y0(q,Z);return W!==void 0&&W!==null?String(W):""}catch(W){let U=W instanceof Error?W.message:String(W);return X0("Expression",`Error evaluating: {{{ ${q.trim()}}}}: ${U}`,J,$,z,K)}}),Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(K,q,z)=>{try{let W=y0(q,Z);if(W===void 0&&Z.__stx_buildMode==="compile")return N5("raw",q.trim());return W!==void 0&&W!==null?String(W):""}catch(W){if(Z.__stx_buildMode==="compile")return N5("raw",q.trim());let U=W instanceof Error?W.message:String(W);return X0("Expression",`Error evaluating: {!! ${q.trim()} !!}: ${U}`,J,$,z,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,z)=>{let W=q.trim(),U=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],_=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,B=W.match(_)?.[1],O=B&&((B in Z)||U.includes(B)),F=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,L=W.match(F),H=L&&!U.includes(L[1])&&!(L[1]in Z);if(/^__[A-Z_]+__$/.test(W))return"";try{let V=y0(q,Z);if(V===void 0&&G&&!b7(W,Z))return K;if(V===void 0&&Z.__stx_buildMode==="compile"&&!G)return N5("expr",W);return V!==void 0&&V!==null?z1(String(V)):""}catch(V){if(G&&!b7(W,Z))return K;if(H)return K;let A=V instanceof Error?V.message:String(V);return X0("Expression",`Error evaluating: {{ ${W} }}: ${A}`,J,$,z,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 P7($,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=s1[G]||r1[G];if(!K)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(y7()).join(", ")}`);let q=[];if(Q.startsWith(":")){let z=Q.match(/^:([^|\s]+)/);if(z){let W=z[1].trim();try{let U=Number(W);q=[Number.isNaN(U)?W:U]}catch{q=[W]}Q=Q.substring(z[0].length).trim()}}else if(Q.startsWith("(")){let z=1,W=1;while(z>0&&W<Q.length){if(Q[W]==="(")z++;if(Q[W]===")")z--;W++}if(z===0){let U=Q.substring(1,W-1).trim();if(U)try{if(U.startsWith("{")&&U.endsWith("}"))q=[y0(`(${U})`,J,!0)];else{let _=[],j="",B=null,O=0,F=0,L=0,H=!1;for(let V=0;V<U.length;V++){let A=U[V];if(H){j+=A,H=!1;continue}if(A==="\\"){j+=A,H=!0;continue}if(B){if(j+=A,A===B)B=null;continue}if(A==='"'||A==="'"||A==="`"){B=A,j+=A;continue}if(A==="(")O++;else if(A===")")O--;else if(A==="[")F++;else if(A==="]")F--;else if(A==="{")L++;else if(A==="}")L--;if(A===","&&O===0&&F===0&&L===0){_.push(j),j="";continue}j+=A}if(j)_.push(j);q=_.map((V)=>{let A=V.trim();return y0(A,J,!0)})}}catch{q=[U]}Q=Q.substring(W).trim()}}try{Y=K(Y,J,...q)}catch(z){let W=z instanceof Error?z.message:String(z);throw Error(`Error applying filter '${G}': ${W}`)}if(Q.startsWith("|"))Q=Q.substring(1).trim();else break}return Y}function oY($){let Z=!1,J="",Y=0,Q=0,X=0,G=!1;for(let K=0;K<$.length;K++){let q=$[K],z=$[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==="$"&&z==="{"){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(z==="|"){K++;continue}if(z==="="){K++;continue}return K}}return-1}function y0($,Z,J=!1){try{let Y=$.trim(),Q=oY(Y);if(Q>0){let X=Y.substring(0,Q).trim(),G=Y.substring(Q+1).trim(),K=y0(X,Z,!0);return P7(K,G,Z)}if(!t(Y)){if(!J)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${Y}`);return J0(Y,Z)}try{let X=Object.keys(Z),G=Object.values(Z);return e(Y,X)(...G)}catch{return J0(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=sY(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 sY($,Z){let J=null;for(let Q of Z){if(Q===$)continue;let X=rY($,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 rY($,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 p9($){if(!$)return"";return $.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#039;/g,"'").replace(/&#39;/g,"'").replace(/&amp;/g,"&")}var s1,k7,r1;var n0=S(()=>{R0();A0();E7();s1={},k7=new Map;r1={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 z1(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,z])=>{K=K.replace(lY(q),String(z))}),K},t:($,Z,J={})=>{return r1.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 a1{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 D1($,Z){if(Z?.includes("g"))return new RegExp($,Z);let J=`${$}:${Z||""}`;if(!I1.has(J)){if(I1.size>=aY){let Y=I1.keys().next().value;if(Y)I1.delete(Y)}I1.set(J,new RegExp($,Z))}return I1.get(J)}class x7{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 z=`${J}:${q}`,W=Q.get(z);if(!W){if(Q.size>=X){let U=Q.keys().next().value;if(U)Q.delete(U)}W=Function(...Z,`
725
725
  'use strict';
726
726
  try {
727
727
  return ${q};
@@ -732,7 +732,7 @@ catch (e) {
732
732
  }
733
733
  throw e;
734
734
  }
735
- `),Q.set(z,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 f7{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 tY(){if(!l9)l9=new f7;return l9}var I1,aY=500,Xz,l9=null,g7;var E1=C(()=>{I1=new Map;Xz=new x7;g7=new Proxy({},{get($,Z){return tY()[Z]}})});function h7($,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 d7($,Z,J={}){let{prefix:Y="",preserveHost:Q=!0,scopeKeyframes:X=!0,scopeCustomProperties:G=!1}=J;if(!$.trim())return"";let K=c9($),q=[],z=new Map;if(X)for(let W of K){let U=W.selector.match(/@keyframes\s+([a-z_-][a-z0-9_-]*)/i);if(U){let _=U[1],j=`${Z}_${_}`;z.set(_,j)}}for(let W of K){let U=m7(W,Z,Y,Q,z,G);q.push(U)}return q.join(`
735
+ `),Q.set(z,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 f7{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 tY(){if(!l9)l9=new f7;return l9}var I1,aY=500,Xz,l9=null,g7;var E1=S(()=>{I1=new Map;Xz=new x7;g7=new Proxy({},{get($,Z){return tY()[Z]}})});function h7($,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 d7($,Z,J={}){let{prefix:Y="",preserveHost:Q=!0,scopeKeyframes:X=!0,scopeCustomProperties:G=!1}=J;if(!$.trim())return"";let K=c9($),q=[],z=new Map;if(X)for(let W of K){let U=W.selector.match(/@keyframes\s+([a-z_-][a-z0-9_-]*)/i);if(U){let _=U[1],j=`${Z}_${_}`;z.set(_,j)}}for(let W of K){let U=m7(W,Z,Y,Q,z,G);q.push(U)}return q.join(`
736
736
 
737
737
  `)}function c9($){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 z=G.match(/@([a-z-]+)\s*([^{]*)\{([\s\S]*)\}/i);if(z){let[,W,U,_]=z;if(W==="keyframes")Z.push({selector:`@keyframes ${U.trim()}`,declarations:_.trim()});else if(W==="media"||W==="supports"||W==="container"){let j=c9(_);Z.push({selector:`@${W} ${U.trim()}`,declarations:j.map((B)=>`${B.selector} { ${B.declarations} }`).join(`
738
738
  `)})}else Z.push({selector:`@${W} ${U.trim()}`,declarations:_.trim()})}G="",X=!1}else if(Q.trim()){Q+=q;let z=Q.match(/([^{]+)\{([^}]*)\}/);if(z)Z.push({selector:z[1].trim(),declarations:z[2].trim()});Q=""}continue}}if(X)G+=q;else Q+=q}return Z}function m7($,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 U=c9(`x { ${K} }`.replace(/x \{ /,"").replace(/ \}$/,"")).map((_)=>m7(_,Z,J,Y,Q,X)).join(`
@@ -740,15 +740,15 @@ catch (e) {
740
740
  ${U}
741
741
  }`}return`${G} { ${K} }`}let q=eY(G,Z,J,Y),z=K;for(let[W,U]of Q)z=z.replace(new RegExp(`\\b${W}\\b`,"g"),U);if(X)z=z.replace(/--([a-z-]+)/gi,`--${Z}-$1`);return`${q} { ${z} }`}function eY($,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 T5($,Z){if(!/<style\s+[^>]*\bscoped\b/i.test($))return{html:$,hasScoped:!1};let J=h7(Z),Y=`data-v-${J}`,Q=$,X=/<style\s+([^>]*\bscoped\b[^>]*)>([\s\S]*?)<\/style>/gi,G=!1;if(Q=Q.replace(X,(K,q,z)=>{G=!0;let W=$J(z,Y),U=q.replace(/\bscoped\b/gi,"").trim(),_=U?` ${U}`:"";return`<style data-stx-scoped="${J}"${_}>${W}</style>`}),!G)return{html:$,hasScoped:!1};return Q=ZJ(Q,Y),{html:Q,hasScoped:!0}}function $J($,Z){return d7($,"__SCOPE_PLACEHOLDER__",{preserveHost:!1}).replace(/\.(__SCOPE_PLACEHOLDER__) /g,`[${Z}] `).replace(/\.(__SCOPE_PLACEHOLDER__)/g,`[${Z}]`)}function ZJ($,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 i9=()=>{};var u7=()=>{};function D0($,Z,J,Y=0){let Q=0,X=Y,G=null,K=0,q=!1;while(X<$.length){let z=$[X];if(G&&q){q=!1,X++;continue}if(G&&z==="\\"){q=!0,X++;continue}if(q=!1,(z==='"'||z==="'"||z==="`")&&!G){G=z,X++;continue}if(z===G&&G!=="`"){G=null,X++;continue}if(G==="`"&&z==="$"&&$[X+1]==="{"){K++,X+=2;continue}if(K>0&&z==="}"){K--,X++;continue}if(z==="`"&&G==="`"&&K===0){G=null,X++;continue}if(G){X++;continue}if(z===Z)Q++;else if(z===J){if(Q--,Q===0)return X}X++}return-1}var n9={};r(n9,{useTitle:()=>KJ,useSeoMeta:()=>I5,usePageTitle:()=>KJ,useHead:()=>_1,resetHead:()=>XJ,renderHtmlAttrs:()=>WJ,renderHead:()=>qJ,renderBodyAttrs:()=>zJ,processTitleDirective:()=>BJ,processMetaDirective:()=>jJ,processHeadDirective:()=>_J,getPageMeta:()=>JJ,getHead:()=>t1,definePageMeta:()=>GJ,applyHead:()=>UJ});function t1(){return e0}function JJ(){return M5}function XJ(){e0={},YJ.length=0,M5={}}function _1($){e0=QJ(e0,$)}function QJ($,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 I5($){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 GJ($){if(M5={...M5,...$},$.title||$.description)I5({title:$.title,description:$.description})}function KJ($){let Z=typeof $==="function"?$():$;_1({title:Z})}function qJ($=e0){let Z=[];if($.title){let J=$.title;if($.titleTemplate)J=typeof $.titleTemplate==="function"?$.titleTemplate(J):$.titleTemplate.replace("%s",J);Z.push(`<title>${U1(J)}</title>`)}if($.base){let J=Object.entries($.base).map(([Y,Q])=>`${Y}="${U1(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}="${U1(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}="${U1(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}="${U1(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(`
742
742
  `)}function WJ($=e0){if(!$.htmlAttrs)return"";return Object.entries($.htmlAttrs).map(([Z,J])=>`${Z}="${U1(J)}"`).join(" ")}function zJ($=e0){if(!$.bodyAttrs)return"";return Object.entries($.bodyAttrs).map(([Z,J])=>`${Z}="${U1(J)}"`).join(" ")}function U1($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function UJ($=e0){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 _J($){let Z="";return{content:$.replace(/@head\s*([\s\S]*?)@endhead/g,(Y,Q)=>{return Z+=Q.trim()+`
743
- `,""}),headContent:Z.trim()}}function BJ($,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 jJ($,Z){return $.replace(/@meta\s*\(\s*(['"`])(.+?)\1\s*,\s*(?:(['"`])(.+?)\3|([^)]+))\s*\)/g,(J,Y,Q,X,G,K)=>{let q=X?G:K,z=X?q:Z[(q||"").trim()]??q,U=Q.includes(":")?{property:Q,content:z}:{name:Q,content:z};return _1({meta:[U]}),""})}var e0,YJ,M5;var e1=C(()=>{e0={},YJ=[],M5={}});var D5={};r(D5,{stripTypeScript:()=>i7,hasVariables:()=>t7,extractVariables:()=>n7,extractScriptFromTemplate:()=>a7,convertToCommonJS:()=>s9});import k1 from"path";function OJ($){let Z=[],J=0,Y=$.split(`
743
+ `,""}),headContent:Z.trim()}}function BJ($,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 jJ($,Z){return $.replace(/@meta\s*\(\s*(['"`])(.+?)\1\s*,\s*(?:(['"`])(.+?)\3|([^)]+))\s*\)/g,(J,Y,Q,X,G,K)=>{let q=X?G:K,z=X?q:Z[(q||"").trim()]??q,U=Q.includes(":")?{property:Q,content:z}:{name:Q,content:z};return _1({meta:[U]}),""})}var e0,YJ,M5;var e1=S(()=>{e0={},YJ=[],M5={}});var D5={};r(D5,{stripTypeScript:()=>i7,hasVariables:()=>t7,extractVariables:()=>n7,extractScriptFromTemplate:()=>a7,convertToCommonJS:()=>s9});import k1 from"path";function OJ($){let Z=[],J=0,Y=$.split(`
744
744
  `);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((U)=>{let _=U.split(":");return(_.length>1?_[1]:_[0]).trim()}).filter((U)=>/^\w+$/.test(U));Z.push(...W)}}}}return[...new Set(Z)]}function i7($){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 z=0;z<Y.length;z++){let W=Y[z];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((z)=>{let W=z.trim(),U=W.startsWith("..."),_=U?W.slice(3):W,j=-1,B=0;for(let w=0;w<_.length;w++)if(_[w]==="<")B++;else if(_[w]===">")B--;else if(_[w]===":"&&B===0){j=w;break}if(j===-1)return z;let F=_.substring(0,j).trim().replace(/\?$/,""),L=_.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 A=U?"...":"";if(H!==-1)return`${A}${F} = ${L.substring(H+1).trim()}`;return`${A}${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,z=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==="<")z++;else if(j===">"&&z>0)z--;else if(z===0){if(j==="(")K++;else if(j===")")K--}if(K>0)q++}if(K!==0)continue;let U=Z.substring(G+1,q);if(!U.includes(":"))continue;let _=J(U);X.push({start:G+1,end:q,replacement:_})}for(let G=X.length-1;G>=0;G--){let{start:K,end:q,replacement:z}=X[G];Z=Z.substring(0,K)+z+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("="),z=K.split(":")[0].trim();if(q.length>0)return`${z} = ${q.join("=").trim()}`;return z}).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,`
745
745
 
746
- `),Z}async function n7($,Z,J){if(!$.trim())return;let Y;try{let P=new Bun.Transpiler({loader:"ts",target:"browser",define:g0()}),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=i7($)}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=k1.resolve(G,"node_modules",P),f=k1.join(v,"package.json"),p=JSON.parse(Y0("fs").readFileSync(f,"utf8")),q0=p.main||"index.js";if(p.exports){let g=typeof p.exports==="string"?p.exports:p.exports["."];if(typeof g==="string")q0=g;else if(g?.bun)q0=g.bun;else if(g?.import)q0=g.import;else if(g?.default)q0=g.default}K[P]=await import(k1.resolve(v,q0))}catch{}let z=(P)=>{if(K[P])return K[P];return Y0(P)},W=Z.props||{},U=Object.assign((P)=>{if(!P)return W;let v={};for(let[f,p]of Object.entries(P)){let q0=W[f];if(q0!==void 0)v[f]=q0;else if(typeof p==="function")v[f]=p();else v[f]=p}return v},W),_=()=>W,j=(P,v)=>{let f={...P};for(let[p,q0]of Object.entries(v))if(f[p]===void 0)if(typeof q0==="function")f[p]=q0();else f[p]=q0;return f},B=(P)=>{let v=()=>P;return v.set=(f)=>{},v.update=(f)=>{},v},O=(P)=>{let v,f=!1;return()=>{if(!f)try{v=P(),f=!0}catch{v=void 0}return v}},F=(P)=>{},L=(P)=>P(),H=(P)=>{},V=(P)=>{},A=(P)=>{},w=()=>({params:{},query:{},path:"",name:"",fullPath:"",hash:"",matched:[]}),N=()=>({push:(P)=>{},replace:(P)=>{},back:()=>{},forward:()=>{},go:(P)=>{}}),R=(P)=>{_1(P);let v=Z.__stx_runtime_head||{},f=P||{};Z.__stx_runtime_head={...v,...f.title&&{title:f.title},meta:[...v.meta||[],...f.meta||[]],link:[...v.link||[],...f.link||[]],script:[...v.script||[],...f.script||[]],htmlAttrs:{...v.htmlAttrs||{},...f.htmlAttrs||{}},bodyAttrs:{...v.bodyAttrs||{},...f.bodyAttrs||{}}}},T=(P)=>{I5(P);let v=t1();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,...f)=>{},x=(P)=>{},h=(P,v)=>{},i=(P,v)=>v,U0=()=>({value:"light"}),H0=()=>({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:{}},P0=new Proxy(_0,{get(P,v){if(v in P)return P[v];return},set(P,v,f){return P[v]=f,!0}}),l0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},L0=console;try{let P=s9(Y,J),v=new Set(Object.keys(W)),f=Object.keys(Z).filter((a)=>!v.has(a)&&a!=="props"),p=f.map((a)=>Z[a]),q0=new Set(["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","let","new","return","super","switch","this","throw","try","typeof","var","void","while","with","yield","enum","await","async","module","exports","require","params","window","document","console","state","derived","effect"]),g=[],n=[];for(let[a,T1]of Object.entries(W)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(a))continue;if(q0.has(a))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${a}\\b`).test(P))continue;g.push(a),n.push(T1)}let Z0=OJ(P).map((a)=>`module.exports.${a} = typeof ${a} !== 'undefined' ? ${a} : module.exports.${a};`).join(`
747
- `),z0=Z.params??{},k0=[],s0=[];for(let a=0;a<f.length;a++){if(f[a]==="params")continue;k0.push(f[a]),s0.push(p[a])}let V5=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",...g,...k0,`return (async () => {
748
- ${P}
746
+ `),Z}async function n7($,Z,J){if(!$.trim())return;let Y;try{let y=new Bun.Transpiler({loader:"ts",target:"browser",define:g0()}),v=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");v=v.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),Y=y.transformSync(v)}catch{Y=i7($)}let Q={exports:{}},X=Q.exports,G=process.cwd(),K={},q=[...Y.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((y)=>y[1]).filter((y)=>!y.startsWith("node:")&&!y.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(y));for(let y of q)try{let v=k1.resolve(G,"node_modules",y),f=k1.join(v,"package.json"),p=JSON.parse(Y0("fs").readFileSync(f,"utf8")),q0=p.main||"index.js";if(p.exports){let g=typeof p.exports==="string"?p.exports:p.exports["."];if(typeof g==="string")q0=g;else if(g?.bun)q0=g.bun;else if(g?.import)q0=g.import;else if(g?.default)q0=g.default}K[y]=await import(k1.resolve(v,q0))}catch{}let z=(y)=>{if(K[y])return K[y];return Y0(y)},W=Z.props||{},U=Object.assign((y)=>{if(!y)return W;let v={};for(let[f,p]of Object.entries(y)){let q0=W[f];if(q0!==void 0)v[f]=q0;else if(typeof p==="function")v[f]=p();else v[f]=p}return v},W),_=()=>W,j=(y,v)=>{let f={...y};for(let[p,q0]of Object.entries(v))if(f[p]===void 0)if(typeof q0==="function")f[p]=q0();else f[p]=q0;return f},B=(y)=>{let v=()=>y;return v.set=(f)=>{},v.update=(f)=>{},v},O=(y)=>{let v,f=!1;return()=>{if(!f)try{v=y(),f=!0}catch{v=void 0}return v}},F=(y)=>{},L=(y)=>y(),H=(y)=>{},V=(y)=>{},A=(y)=>{},w=()=>({params:{},query:{},path:"",name:"",fullPath:"",hash:"",matched:[]}),N=()=>({push:(y)=>{},replace:(y)=>{},back:()=>{},forward:()=>{},go:(y)=>{}}),R=(y)=>{_1(y);let v=Z.__stx_runtime_head||{},f=y||{};Z.__stx_runtime_head={...v,...f.title&&{title:f.title},meta:[...v.meta||[],...f.meta||[]],link:[...v.link||[],...f.link||[]],script:[...v.script||[],...f.script||[]],htmlAttrs:{...v.htmlAttrs||{},...f.htmlAttrs||{}},bodyAttrs:{...v.bodyAttrs||{},...f.bodyAttrs||{}}}},T=(y)=>{I5(y);let v=t1();Z.__stx_runtime_head={...Z.__stx_runtime_head||{},...v.title&&{title:v.title},meta:v.meta?[...v.meta]:[]}},E=(y)=>({value:y}),M=(y)=>y,I=(y)=>({value:typeof y==="function"?y():y}),D=(y,v)=>{},P=(y)=>{},C=(y)=>{},k=(y)=>y?y():Promise.resolve(),b=(y)=>(v,...f)=>{},x=(y)=>{},h=(y,v)=>{},c=(y,v)=>v,W0=()=>({value:"light"}),H0=()=>({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:{}},P0=new Proxy(_0,{get(y,v){if(v in y)return y[v];return},set(y,v,f){return y[v]=f,!0}}),l0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},L0=console;try{let y=s9(Y,J),v=new Set(Object.keys(W)),f=Object.keys(Z).filter((a)=>!v.has(a)&&a!=="props"),p=f.map((a)=>Z[a]),q0=new Set(["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","let","new","return","super","switch","this","throw","try","typeof","var","void","while","with","yield","enum","await","async","module","exports","require","params","window","document","console","state","derived","effect"]),g=[],n=[];for(let[a,T1]of Object.entries(W)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(a))continue;if(q0.has(a))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${a}\\b`).test(y))continue;g.push(a),n.push(T1)}let Z0=OJ(y).map((a)=>`module.exports.${a} = typeof ${a} !== 'undefined' ? ${a} : module.exports.${a};`).join(`
747
+ `),U0=Z.params??{},k0=[],s0=[];for(let a=0;a<f.length;a++){if(f[a]==="params")continue;k0.push(f[a]),s0.push(p[a])}let V5=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",...g,...k0,`return (async () => {
748
+ ${y}
749
749
  ${Z0}
750
750
  return module.exports
751
- })()`)(Q,X,z,W,U,_,j,B,O,F,L,H,V,A,w,N,R,T,I,M,E,k,y,S,b,D,x,h,i,U0,H0,P0,l0,L0,_0.confirm,_0.alert,_0.fetch,z0,...n,...s0);Object.assign(Z,V5);for(let[a,T1]of Object.entries(W))if(!(a in Z))Z[a]=T1}catch{try{await wJ(Y,Z,J)}catch{}}}function s9($,Z){let J=Z?k1.dirname(Z):process.cwd(),Y=$.split(`
751
+ })()`)(Q,X,z,W,U,_,j,B,O,F,L,H,V,A,w,N,R,T,E,M,I,D,P,C,k,b,x,h,c,W0,H0,P0,l0,L0,_0.confirm,_0.alert,_0.fetch,U0,...n,...s0);Object.assign(Z,V5);for(let[a,T1]of Object.entries(W))if(!(a in Z))Z[a]=T1}catch{try{await wJ(Y,Z,J)}catch{}}}function s9($,Z){let J=Z?k1.dirname(Z):process.cwd(),Y=$.split(`
752
752
  `),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 z=X;z<Y.length&&!q;z++){let W=null,U=!1,_=Y[z];for(let j=0;j<_.length;j++){let B=_[j];if(U){U=!1;continue}if(B==="\\"){U=!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=z+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+['"](.+)['"]/),z=G.match(/^import\s+['"](.+)['"]/),W=(U)=>{if(U.startsWith("."))return k1.resolve(J,U);return U};if(K){let[,U,_]=K,j=W(_);Q.push(`const ${U} = await import('${j}')`),Q.push(`module.exports.${U} = ${U};`)}else if(q){let[,U,_]=q,j=U.trim(),B=W(_);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(z){let U=W(z[1]);Q.push(`await import('${U}')`)}else Q.push(G);X++;continue}if(G.startsWith("export const ")||G.startsWith("export let ")||G.startsWith("export var ")){let K=p7(Y,X),{type:q,name:z,value:W}=K;Q.push(`${q} ${z} = ${W};`),Q.push(`module.exports.${z} = ${z};`),X=K.nextIndex}else if(G.startsWith("export function ")||G.startsWith("export async function ")){let K=o9(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=p7(Y,X),{type:q,name:z,value:W}=K;Q.push(`${q} ${z} = ${W};`),Q.push(`module.exports.${z} = ${z};`),X=K.nextIndex}else if(G.startsWith("function ")||G.startsWith("async function ")){let K=o9(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 z=o9(q,X);if(Q.push(z.functionCode),z.name)Q.push(`module.exports.default = ${z.name};`);X=z.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],z=Y[X].replace(/^export\s+/,""),W=0,U=X;for(;U<Y.length;U++){let _=Y[U];for(let j of _)if(j==="{")W++;else if(j==="}")W--;if(U>X)z+=`
753
753
  `+_;if(W<=0&&U>=X)break}Q.push(z),Q.push(`module.exports.${q} = ${q};`),X=U+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 HJ(Q.join(`
754
754
  `),J)}function HJ($,Z){let J=$.length,Y="",Q=0,X=null,G=!1,K=!1,q=0;while(Q<J){let z=$[Q],W=$[Q+1];if(G){if(Y+=z,z===`
@@ -764,11 +764,11 @@ ${G}`,Q++}return{functionCode:Y,nextIndex:Q}}async function wJ($,Z,J){let Y=$.ma
764
764
  ${Array.from($.matchAll(/(?:const|let|var)\s+(\w+)\s*=/g)).map((q)=>`if (typeof ${q[1]} !== 'undefined') result.${q[1]} = ${q[1]};`).join(`
765
765
  `)}
766
766
  return result;
767
- `)();Object.entries(K).forEach(([q,z])=>{if(z!==void 0&&!(q in Z))Z[q]=z})}catch{}}function a7($){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 t7($){let Z=$.trim();if(!Z)return!1;return/(?:const|let|var|function)\s+\w+/.test(Z)}var $5=C(()=>{e1();M1()});var J3={};r(J3,{renderSlot:()=>$3,processSlots:()=>Y3,parseSlots:()=>e7,parseSlotElement:()=>NJ,extractSlotContent:()=>MJ,applySlots:()=>IJ});function AJ($,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 e7($){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,U,_,j,B]=X,O=U||_||j,F=X.index+W.length,L=AJ($,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,U)=>U.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,U,_,j,B,O]=q,F=_.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),L=B.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=(F+L).trim(),V=`<${U}${H?" "+H:""}>${O}</${U}>`;G.push({start:q.index,end:q.index+W.length,slotName:j,element:V})}let z=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((q=z.exec(J))!==null){let[W,U,_,j,B]=q,O=_.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),F=B.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),L=(O+F).trim(),H=`<${U}${L?" "+L:""} />`;G.push({start:q.index,end:q.index+W.length,slotName:j,element:H})}G.sort((W,U)=>U.start-W.start);for(let W of G){let U=Z.named.get(W.slotName);if(U)U.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 NJ($){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 $3($,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[z,W]=q.split(":").map((_)=>_.trim()),U=W||z;if(Z[z]!==void 0)G[U]=Z[z]}}else G[X]=Z;Q=RJ(Q,G)}return Q}function RJ($,Z){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(J,Y)=>{try{let Q=Y.trim(),X=Z3(Q,Z);return z1(String(X??""))}catch{return`{{ ${Y} }}`}})}function Z3($,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(!t($))return;return e($,Object.keys(Z))(...Object.values(Z))}catch{return}}async function Y3($,Z,J){let Y=$;Y=await TJ(Y,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(G,K,q,z)=>{let W=Z.named.get(K),U=z?.trim()||"",_=q||"",j={},B=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,O;while((O=B.exec(_))!==null){let F=O[1],L=O[2];j[F]=Z3(L,J)}return await $3(W,j,U,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 TJ($,Z,J){let Y=[],Q=[];$.replace(Z,(K,...q)=>{let z=q[q.length-2];return Q.push({match:K,index:z}),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:z}=Q[K];G=G.slice(0,z)+X[K]+G.slice(z+q.length)}return G}function MJ($){let Z=e7($);return{defaultSlot:Z.default,namedSlots:Z.named}}async function IJ($,Z,J,Y){return await Y3($,{default:Z,named:J},Y)}var X3=C(()=>{n0();R0()});import DJ from"fs";import m from"path";function kJ($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function bJ($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function q1($){return!bJ($)}function W1($){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:g0()}).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 SJ($){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]!==`
768
- `)Q++;return!0}if($[Q]==="/"&&$[Q+1]==="*"){Q+=2;while(Q<X-1&&!($[Q]==="*"&&$[Q+1]==="/"))Q++;return Q+=2,!0}return!1},z=()=>{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 U=$.slice(Q).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(U){let B=U[2];if(!J.has(B))Z.push(B),J.add(B);return}let _=$.slice(Q).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(_){let B=_[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])))z();Q++}return Z}async function B1($,Z,J,Y,Q,X,G,K=new Set,q){let{extractVariables:z}=await Promise.resolve().then(() => ($5(),D5)),W=K??new Set;if(W.has($))return`[Circular component reference: ${$}]`;let U=new Set(W);U.add($);try{let _=(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(),_(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`,`${_(B)}.stx`,`${j(B)}.stx`],v=[...new Set(P)],f=Q.__originalFilePath,p=[];if(f){let G0=m.join(m.dirname(f),"components");p.push(G0)}if(Y)p.push(Y);let q0=m.join(m.dirname(X),"components");if(!p.includes(q0))p.push(q0);if(G.componentsDir&&G.componentsDir!==Y&&!p.includes(G.componentsDir))p.push(G.componentsDir);let g=process.cwd(),n=[m.resolve(g,"src/components"),m.resolve(g,"components"),m.resolve(import.meta.dir,"components")];for(let G0 of n)if(!p.includes(G0))p.push(G0);if(B.startsWith("./")||B.startsWith("../"))O=m.resolve(m.dirname(X),`${B}.stx`),L.push(O);else for(let G0 of p){if(!G0)continue;for(let Z0 of v){let z0=m.join(G0,Z0);if(L.push(z0),await l(z0)){O=z0;break}}if(O)break;if(!O)try{let Z0=await import("fs");if(!Z0.statSync(G0,{throwIfNoEntry:!1})?.isDirectory())continue;let k0=8,s0=[{path:G0,depth:0}];while(s0.length>0&&!O){let i1=s0.pop();if(i1.depth>=k0)continue;let V5;try{V5=Z0.readdirSync(i1.path,{withFileTypes:!0})}catch{continue}for(let a of V5){if(!a.isDirectory())continue;if(a.name==="node_modules"||a.name.startsWith("."))continue;let T1=m.join(i1.path,a.name);for(let G7 of v){let C9=m.join(T1,G7);if(L.push(C9),await l(C9)){O=C9;break}}if(O)break;s0.push({path:T1,depth:i1.depth+1})}}}catch{}if(O)break}}if(!O||!await l(O)){let P=L.length>0?`
767
+ `)();Object.entries(K).forEach(([q,z])=>{if(z!==void 0&&!(q in Z))Z[q]=z})}catch{}}function a7($){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 t7($){let Z=$.trim();if(!Z)return!1;return/(?:const|let|var|function)\s+\w+/.test(Z)}var $5=S(()=>{e1();M1()});var J3={};r(J3,{renderSlot:()=>$3,processSlots:()=>Y3,parseSlots:()=>e7,parseSlotElement:()=>NJ,extractSlotContent:()=>MJ,applySlots:()=>IJ});function AJ($,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 e7($){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,U,_,j,B]=X,O=U||_||j,F=X.index+W.length,L=AJ($,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,U)=>U.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,U,_,j,B,O]=q,F=_.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),L=B.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=(F+L).trim(),V=`<${U}${H?" "+H:""}>${O}</${U}>`;G.push({start:q.index,end:q.index+W.length,slotName:j,element:V})}let z=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((q=z.exec(J))!==null){let[W,U,_,j,B]=q,O=_.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),F=B.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),L=(O+F).trim(),H=`<${U}${L?" "+L:""} />`;G.push({start:q.index,end:q.index+W.length,slotName:j,element:H})}G.sort((W,U)=>U.start-W.start);for(let W of G){let U=Z.named.get(W.slotName);if(U)U.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 NJ($){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 $3($,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[z,W]=q.split(":").map((_)=>_.trim()),U=W||z;if(Z[z]!==void 0)G[U]=Z[z]}}else G[X]=Z;Q=RJ(Q,G)}return Q}function RJ($,Z){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(J,Y)=>{try{let Q=Y.trim(),X=Z3(Q,Z);return z1(String(X??""))}catch{return`{{ ${Y} }}`}})}function Z3($,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(!t($))return;return e($,Object.keys(Z))(...Object.values(Z))}catch{return}}async function Y3($,Z,J){let Y=$;Y=await TJ(Y,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(G,K,q,z)=>{let W=Z.named.get(K),U=z?.trim()||"",_=q||"",j={},B=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,O;while((O=B.exec(_))!==null){let F=O[1],L=O[2];j[F]=Z3(L,J)}return await $3(W,j,U,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 TJ($,Z,J){let Y=[],Q=[];$.replace(Z,(K,...q)=>{let z=q[q.length-2];return Q.push({match:K,index:z}),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:z}=Q[K];G=G.slice(0,z)+X[K]+G.slice(z+q.length)}return G}function MJ($){let Z=e7($);return{defaultSlot:Z.default,namedSlots:Z.named}}async function IJ($,Z,J,Y){return await Y3($,{default:Z,named:J},Y)}var X3=S(()=>{n0();R0()});import DJ from"fs";import m from"path";function kJ($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function bJ($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function q1($){return!bJ($)}function W1($){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:g0()}).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 SJ($){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]!==`
768
+ `)Q++;return!0}if($[Q]==="/"&&$[Q+1]==="*"){Q+=2;while(Q<X-1&&!($[Q]==="*"&&$[Q+1]==="/"))Q++;return Q+=2,!0}return!1},z=()=>{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 U=$.slice(Q).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(U){let B=U[2];if(!J.has(B))Z.push(B),J.add(B);return}let _=$.slice(Q).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(_){let B=_[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])))z();Q++}return Z}async function B1($,Z,J,Y,Q,X,G,K=new Set,q){let{extractVariables:z}=await Promise.resolve().then(() => ($5(),D5)),W=K??new Set;if(W.has($))return`[Circular component reference: ${$}]`;let U=new Set(W);U.add($);try{let _=(y)=>y.split("-").map((v)=>v.charAt(0).toUpperCase()+v.slice(1)).join(""),j=(y)=>y.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),B=$.endsWith(".stx")?$.slice(0,-4):$,O=null,F=Q.__importedComponents;if(F){let y=[B,B.toLowerCase(),_(B),j(B)];for(let v of y)if(F.has(v)){O=F.get(v);break}}let L=[];if(!O){let y=[`${B}.stx`,`${_(B)}.stx`,`${j(B)}.stx`],v=[...new Set(y)],f=Q.__originalFilePath,p=[];if(f){let G0=m.join(m.dirname(f),"components");p.push(G0)}if(Y)p.push(Y);let q0=m.join(m.dirname(X),"components");if(!p.includes(q0))p.push(q0);if(G.componentsDir&&G.componentsDir!==Y&&!p.includes(G.componentsDir))p.push(G.componentsDir);let g=process.cwd(),n=[m.resolve(g,"src/components"),m.resolve(g,"components"),m.resolve(import.meta.dir,"components")];for(let G0 of n)if(!p.includes(G0))p.push(G0);if(B.startsWith("./")||B.startsWith("../"))O=m.resolve(m.dirname(X),`${B}.stx`),L.push(O);else for(let G0 of p){if(!G0)continue;for(let Z0 of v){let U0=m.join(G0,Z0);if(L.push(U0),await l(U0)){O=U0;break}}if(O)break;if(!O)try{let Z0=await import("fs");if(!Z0.statSync(G0,{throwIfNoEntry:!1})?.isDirectory())continue;let k0=8,s0=[{path:G0,depth:0}];while(s0.length>0&&!O){let i1=s0.pop();if(i1.depth>=k0)continue;let V5;try{V5=Z0.readdirSync(i1.path,{withFileTypes:!0})}catch{continue}for(let a of V5){if(!a.isDirectory())continue;if(a.name==="node_modules"||a.name.startsWith("."))continue;let T1=m.join(i1.path,a.name);for(let G7 of v){let C9=m.join(T1,G7);if(L.push(C9),await l(C9)){O=C9;break}}if(O)break;s0.push({path:T1,depth:i1.depth+1})}}}catch{}if(O)break}}if(!O||!await l(O)){let y=L.length>0?`
769
769
  Searched paths:
770
770
  ${L.map((v)=>` - ${v}`).join(`
771
- `)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${P}`}q.add(O);let H;if(r9.has(O))H=r9.get(O);else try{H=await Bun.file(O).text(),r9.set(O,H)}catch(P){return`[Error loading component: ${P instanceof Error?P.message:String(P)}]`}let V=new Set(["__originalFilePath","__importedComponents"]),A={};for(let[P,v]of Object.entries(Q))if(!P.startsWith("__")||V.has(P))A[P]=v;let w={...A,...Z,props:Z,slot:J,__processedComponents:U,__sections:{}},N=H,R=N.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>([\s\S]*?)<\/template>/i);if(R)N=R[1].trim();let T=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,I=[...H.matchAll(T)],M=[];for(let P of I){let v=P[1]||"",f=P[2]||"",p=v.includes("server");if(q1(v)&&f.trim())f=W1(f);if(p&&f)try{await z(f,w,O)}catch(g){}if(!p){let g=f.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,""),n=v.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");M.push(`<script${n}>${g}</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=N;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(() => (X3(),J3)),{defaultSlot:i,namedSlots:U0}=x(J);D=await h(D,i||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 f=p9(v);w[P]=f}}let H0=M.some((P)=>/\b(state|derived|effect)\s*\(/.test(P)),_0={...G,componentsDir:m.dirname(O),skipSignalsRuntime:!0,skipEventDirectives:H0,defaultLayout:void 0};w.__stxProcessingDepth=(Q.__stxProcessingDepth||0)+1;let P0=await $1(D,w,O,_0,q),l0=`stx_${B.replace(/[^a-zA-Z0-9]/g,"_")}_${++EJ}_${Math.random().toString(36).slice(2,8)}`,L0=P0;if(H0){let P="";if(Object.keys(Z).length>0)try{P=` data-stx-props="${kJ(JSON.stringify(Z))}"`}catch{}if(L0=`<div data-stx-scope="${l0}"${P}>${P0}</div>`,L0=M.map((f)=>{let p=f.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!p)return f;let[,q0,g]=p,n=a0(g),G0=`
771
+ `)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${y}`}q.add(O);let H;if(r9.has(O))H=r9.get(O);else try{H=await Bun.file(O).text(),r9.set(O,H)}catch(y){return`[Error loading component: ${y instanceof Error?y.message:String(y)}]`}let V=new Set(["__originalFilePath","__importedComponents"]),A={};for(let[y,v]of Object.entries(Q))if(!y.startsWith("__")||V.has(y))A[y]=v;let w={...A,...Z,props:Z,slot:J,__processedComponents:U,__sections:{}},N=H,R=N.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>([\s\S]*?)<\/template>/i);if(R)N=R[1].trim();let T=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,E=[...H.matchAll(T)],M=[];for(let y of E){let v=y[1]||"",f=y[2]||"",p=v.includes("server");if(q1(v)&&f.trim())f=W1(f);if(p&&f)try{await z(f,w,O)}catch(g){}if(!p){let g=f.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,""),n=v.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");M.push(`<script${n}>${g}</script>`)}}let I=H.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),D=I?I[1]:"",P=I?I[2]:"",C="",k=D&&/\bscoped\b/i.test(D);if(I)C=`<style${D}>${P}</style>`;let b=N;if(b=b.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),I)b=b.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");if(J&&b.includes("{{ text || slot }}"))b=b.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>J);let{extractSlotContent:x,applySlots:h}=await Promise.resolve().then(() => (X3(),J3)),{defaultSlot:c,namedSlots:W0}=x(J);b=await h(b,c||J,W0,w);for(let[y,v]of Object.entries(w))if(typeof v==="string"){if(v.includes("<")&&v.includes(">")||v.includes("&lt;")||v.includes("&quot;")){let f=p9(v);w[y]=f}}let H0=M.some((y)=>/\b(state|derived|effect)\s*\(/.test(y)),_0={...G,componentsDir:m.dirname(O),skipSignalsRuntime:!0,skipEventDirectives:H0,defaultLayout:void 0};w.__stxProcessingDepth=(Q.__stxProcessingDepth||0)+1;let P0=await $1(b,w,O,_0,q),l0=`stx_${B.replace(/[^a-zA-Z0-9]/g,"_")}_${++EJ}_${Math.random().toString(36).slice(2,8)}`,L0=P0;if(H0){let y="";if(Object.keys(Z).length>0)try{y=` data-stx-props="${kJ(JSON.stringify(Z))}"`}catch{}if(L0=`<div data-stx-scope="${l0}"${y}>${P0}</div>`,L0=M.map((f)=>{let p=f.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!p)return f;let[,q0,g]=p,n=a0(g),G0=`
772
772
  (function() {
773
773
  const { state, derived, effect, batch } = window.stx;
774
774
  const __scope = window.stx._scopes = window.stx._scopes || {};
@@ -792,11 +792,11 @@ catch (e) {}
792
792
  Object.assign(__scopeVars, __localVars);
793
793
  })();`;return`<script data-stx-scoped${q0}>${G0}</script>`}).join(`
794
794
  `)+`
795
- `+L0,S)L0+=`
796
- `+S}else{if(S)L0+=`
797
- `+S;if(M.length>0){let P=w.__stx_event_bindings||[],v=await Promise.all(M.map(async(f)=>{let p=f.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!p)return f;return await w5(p[1],{eventBindings:P,templateContent:L0,filePath:O,projectRoot:process.cwd()})}));L0+=`
795
+ `+L0,C)L0+=`
796
+ `+C}else{if(C)L0+=`
797
+ `+C;if(M.length>0){let y=w.__stx_event_bindings||[],v=await Promise.all(M.map(async(f)=>{let p=f.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!p)return f;return await w5(p[1],{eventBindings:y,templateContent:L0,filePath:O,projectRoot:process.cwd()})}));L0+=`
798
798
  `+v.join(`
799
- `),w.__stx_event_bindings=[]}}if(b){let P=T5(L0,O);if(P.hasScoped)L0=P.html}return L0}catch(_){return`[Error processing component: ${_ instanceof Error?_.message:String(_)}]`}finally{W.delete($)}}async function l($){return Bun.file($).exists()}function a9($,Z){let J=m.resolve(Z),Y=m.resolve($),Q=J.endsWith(m.sep)?J:J+m.sep;if(Y===J||Y.startsWith(Q))return Y;return null}async function t9($,Z,J,Y){let Q=await yJ($,Z,J,Y);if(Q===null)return null;let X=a9(Q,process.cwd());if(X)return X;let G=[J.root,J.layoutsDir,J.componentsDir,J.partialsDir,J.pagesDir].filter((K)=>typeof K==="string"&&K.length>0);for(let K of G){let q=m.isAbsolute(K)?K:m.resolve(process.cwd(),K);if(a9(Q,q))return m.resolve(Q)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${Q} (template: ${$}, from: ${Z})`),null}async function yJ($,Z,J,Y){if(J.debug)console.log(`Resolving template path: ${$} from ${Z}`);let Q=m.dirname(Z),X=process.cwd();if($.startsWith("/")){let _=m.join(X,$),j=a9(_,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 l(j)&&Y)Y.add(j);return j}let G=m.join(Q,$);if(await l(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 _ of[".stx",".tsx",".jsx"]){let j=`${G}${_}`;if(await l(j)){if(J.debug)console.log(`Found direct path with extension: ${j}`);if(Y)Y.add(j);return j}}let K="",q=m.resolve(Q),z=process.cwd();for(let _=0;_<10;_++){let j=m.join(q,"layouts"),B=!1;try{B=DJ.statSync(j,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(B){K=j;break}let O=m.dirname(q);if(O===q||O.length<z.length)break;q=O}if(K){let _=$.startsWith("layouts/")?$.slice(8):$,j=m.join(K,_);if(await l(j)){if(J.debug)console.log(`Found in current layouts dir: ${j}`);if(Y)Y.add(j);return j}if(!_.endsWith(".stx")){let B=`${j}.stx`;if(await l(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 _=m.isAbsolute(J.layoutsDir)?J.layoutsDir:m.resolve(process.cwd(),J.layoutsDir),j=$.startsWith("layouts/")?$.slice(8):$,B=m.join(_,j);if(await l(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 l(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 _=$.split("layouts/"),j=m.join(J.partialsDir||Q,"layouts",_[1]);if(await l(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 l(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=m.join(J.partialsDir,"layouts"),await l(K)){let _=m.join(K,$);if(await l(_)){if(J.debug)console.log(`Found in partials layouts dir: ${_}`);if(Y)Y.add(_);return _}if(!$.endsWith(".stx")){let j=`${_}.stx`;if(await l(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||m.join(process.cwd(),"views"),U=m.join(W,$);if(await l(U)){if(J.debug)console.log(`Found in views path: ${U}`);if(Y)Y.add(U);return U}if(!$.endsWith(".stx")){let _=`${U}.stx`;if(await l(_)){if(J.debug)console.log(`Found in views path with extension: ${_}`);if(Y)Y.add(_);return _}}if(Q.includes("temp")){let _=m.join(m.dirname(Q),"layouts",$);if(await l(_)){if(J.debug)console.log(`Found in temp layouts dir: ${_}`);if(Y)Y.add(_);return _}if(!$.endsWith(".stx")){let j=`${_}.stx`;if(await l(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 Q3($,Z,J){let Y=0,Q="",X="";try{if(typeof Z==="number"&&Z>=0){let G=$.split(`
799
+ `),w.__stx_event_bindings=[]}}if(k){let y=T5(L0,O);if(y.hasScoped)L0=y.html}return L0}catch(_){return`[Error processing component: ${_ instanceof Error?_.message:String(_)}]`}finally{W.delete($)}}async function l($){return Bun.file($).exists()}function a9($,Z){let J=m.resolve(Z),Y=m.resolve($),Q=J.endsWith(m.sep)?J:J+m.sep;if(Y===J||Y.startsWith(Q))return Y;return null}async function t9($,Z,J,Y){let Q=await yJ($,Z,J,Y);if(Q===null)return null;let X=a9(Q,process.cwd());if(X)return X;let G=[J.root,J.layoutsDir,J.componentsDir,J.partialsDir,J.pagesDir].filter((K)=>typeof K==="string"&&K.length>0);for(let K of G){let q=m.isAbsolute(K)?K:m.resolve(process.cwd(),K);if(a9(Q,q))return m.resolve(Q)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${Q} (template: ${$}, from: ${Z})`),null}async function yJ($,Z,J,Y){if(J.debug)console.log(`Resolving template path: ${$} from ${Z}`);let Q=m.dirname(Z),X=process.cwd();if($.startsWith("/")){let _=m.join(X,$),j=a9(_,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 l(j)&&Y)Y.add(j);return j}let G=m.join(Q,$);if(await l(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 _ of[".stx",".tsx",".jsx"]){let j=`${G}${_}`;if(await l(j)){if(J.debug)console.log(`Found direct path with extension: ${j}`);if(Y)Y.add(j);return j}}let K="",q=m.resolve(Q),z=process.cwd();for(let _=0;_<10;_++){let j=m.join(q,"layouts"),B=!1;try{B=DJ.statSync(j,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(B){K=j;break}let O=m.dirname(q);if(O===q||O.length<z.length)break;q=O}if(K){let _=$.startsWith("layouts/")?$.slice(8):$,j=m.join(K,_);if(await l(j)){if(J.debug)console.log(`Found in current layouts dir: ${j}`);if(Y)Y.add(j);return j}if(!_.endsWith(".stx")){let B=`${j}.stx`;if(await l(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 _=m.isAbsolute(J.layoutsDir)?J.layoutsDir:m.resolve(process.cwd(),J.layoutsDir),j=$.startsWith("layouts/")?$.slice(8):$,B=m.join(_,j);if(await l(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 l(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 _=$.split("layouts/"),j=m.join(J.partialsDir||Q,"layouts",_[1]);if(await l(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 l(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=m.join(J.partialsDir,"layouts"),await l(K)){let _=m.join(K,$);if(await l(_)){if(J.debug)console.log(`Found in partials layouts dir: ${_}`);if(Y)Y.add(_);return _}if(!$.endsWith(".stx")){let j=`${_}.stx`;if(await l(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||m.join(process.cwd(),"views"),U=m.join(W,$);if(await l(U)){if(J.debug)console.log(`Found in views path: ${U}`);if(Y)Y.add(U);return U}if(!$.endsWith(".stx")){let _=`${U}.stx`;if(await l(_)){if(J.debug)console.log(`Found in views path with extension: ${_}`);if(Y)Y.add(_);return _}}if(Q.includes("temp")){let _=m.join(m.dirname(Q),"layouts",$);if(await l(_)){if(J.debug)console.log(`Found in temp layouts dir: ${_}`);if(Y)Y.add(_);return _}if(!$.endsWith(".stx")){let j=`${_}.stx`;if(await l(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 Q3($,Z,J){let Y=0,Q="",X="";try{if(typeof Z==="number"&&Z>=0){let G=$.split(`
800
800
  `),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 z=Math.max(0,q-2),W=Math.min(G.length,q+3);X=G.slice(z,W).map((U,_)=>{let j=z+_+1;return`${j===Y?"> ":" "}${j}: ${U}`}).join(`
801
801
  `);break}}else if(J){let G=$.indexOf(J);if(G>=0)return Q3($,G)}}catch{}return{lineNumber:Y,lineContent:Q,context:X}}function X0($,Z,J,Y,Q,X){let{lineNumber:G,context:K}=Q3(Y,Q,X),q=J.split("/").pop(),z=0;if(typeof Q==="number"&&Q>=0&&Y){let U=Y.lastIndexOf(`
802
802
  `,Math.max(0,Q-1));z=Q-(U+1)+1}let W="";if(G>0)W+=`
@@ -811,8 +811,8 @@ ${o.yellow}${o.bold}Message:${o.reset} ${Z}
811
811
  `,K)W+=`
812
812
  ${o.blue}${o.bold}Context:${o.reset}
813
813
  ${o.dim}${K}${o.reset}
814
- `;return W}var r9,EJ=0,o;var A0=C(()=>{m9();n0();E1();e9();M1();i9();u7();$5();r9=new a1(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 G3($,Z,J=""){let Y=$,Q=[],X=/@markdown(?:\([^)]*\))?/g,G;while((G=X.exec($))!==null){let K=G.index,q=G[0].match(/@markdown\(([^)]*)\)/),z=q?q[1]:"",W=K+G[0].length,U=1,_=W,j=-1;while(U>0&&_<$.length){let F=$.indexOf("@markdown",_),L=$.indexOf("@endmarkdown",_);if(L===-1)break;if(F!==-1&&F<L&&F!==K){let H=$[F+9];if(H==="("||H===`
815
- `||H==="\r"||H===" "||H===void 0)U++;_=F+9}else{if(U--,U===0){j=L;break}_=L+12}}if(j===-1)continue;let B=$.slice(W,j),O=$.slice(K,j+12);Q.push({fullMatch:O,options:z,content:B,index:K}),X.lastIndex=j+12}for(let{fullMatch:K,options:q,content:z,index:W}of Q)try{let U={};if(q)q.split(",").forEach((B)=>{let O=B.trim();if(O)U[O]=!0});let _={gfm:U.gfm??!0,breaks:U.breaks??!1},j=n1(z.trim(),_);Y=Y.split(K).join(j)}catch(U){let _=U instanceof Error?U.message:String(U),j=X0("Markdown Directive",`Error processing markdown: ${_}`,J,$,W,K);Y=Y.split(K).join(j)}return Y}async function K3($,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}),n1($.trim(),Q)}var $$=C(()=>{A0()});function vJ($){if(CJ.set($.name,$),$.client)PJ.set($.name,$.client)}function E5($){return vJ($),{name:$.name,hasEndTag:$.hasEndTag??!0,description:$.description,handler:async(J,Y,Q,X)=>{let G=xJ(Y,$.defaults);if($.validate){let q=$.validate(G);if(q!==!0){let z=typeof q==="string"?q:`Invalid parameters for @${$.name}`;throw Error(z)}}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 xJ($,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 CJ,PJ;var Z$=C(()=>{CJ=new Map,PJ=new Map});function Y$($,Z=b1,J={},Y){return Z.sort((Q,X)=>Q-X).map((Q)=>{return`${Y5($,{...J,w:Q,fm:Y})} ${Q}w`}).join(", ")}function q3($,Z,J=fJ,Y={},Q){return J.sort((X,G)=>X-G).map((X)=>{let G=Math.round(Z*X);return`${Y5($,{...Y,w:G,dpr:X,fm:Q})} ${X}x`}).join(", ")}function J$($,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 Y5($,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 X$($){return gJ[$]||"application/octet-stream"}var b1,fJ,Z5,gJ;var Q$=C(()=>{b1=[320,480,640,768,1024,1280,1536,1920,2560],fJ=[1,1.5,2,3],Z5=["avif","webp","jpeg"],gJ={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"}});async function dJ(){try{return await import("ts-images")}catch{return null}}async function mJ($,Z={}){let J={...hJ,...Z},Y=await dJ();if(Y)try{return await uJ($,J,Y)}catch(Q){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${Q}`)}return pJ($,J)}async function uJ($,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 pJ($,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 W3($,Z,J={}){let Y=J.transitionDuration||300,Q=J.easing||"ease-out";return`
814
+ `;return W}var r9,EJ=0,o;var A0=S(()=>{m9();n0();E1();e9();M1();i9();u7();$5();r9=new a1(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 G3($,Z,J=""){let Y=$,Q=[],X=/@markdown(?:\([^)]*\))?/g,G;while((G=X.exec($))!==null){let K=G.index,q=G[0].match(/@markdown\(([^)]*)\)/),z=q?q[1]:"",W=K+G[0].length,U=1,_=W,j=-1;while(U>0&&_<$.length){let F=$.indexOf("@markdown",_),L=$.indexOf("@endmarkdown",_);if(L===-1)break;if(F!==-1&&F<L&&F!==K){let H=$[F+9];if(H==="("||H===`
815
+ `||H==="\r"||H===" "||H===void 0)U++;_=F+9}else{if(U--,U===0){j=L;break}_=L+12}}if(j===-1)continue;let B=$.slice(W,j),O=$.slice(K,j+12);Q.push({fullMatch:O,options:z,content:B,index:K}),X.lastIndex=j+12}for(let{fullMatch:K,options:q,content:z,index:W}of Q)try{let U={};if(q)q.split(",").forEach((B)=>{let O=B.trim();if(O)U[O]=!0});let _={gfm:U.gfm??!0,breaks:U.breaks??!1},j=n1(z.trim(),_);Y=Y.split(K).join(j)}catch(U){let _=U instanceof Error?U.message:String(U),j=X0("Markdown Directive",`Error processing markdown: ${_}`,J,$,W,K);Y=Y.split(K).join(j)}return Y}async function K3($,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}),n1($.trim(),Q)}var $$=S(()=>{A0()});function vJ($){if(CJ.set($.name,$),$.client)PJ.set($.name,$.client)}function E5($){return vJ($),{name:$.name,hasEndTag:$.hasEndTag??!0,description:$.description,handler:async(J,Y,Q,X)=>{let G=xJ(Y,$.defaults);if($.validate){let q=$.validate(G);if(q!==!0){let z=typeof q==="string"?q:`Invalid parameters for @${$.name}`;throw Error(z)}}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 xJ($,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 CJ,PJ;var Z$=S(()=>{CJ=new Map,PJ=new Map});function Y$($,Z=b1,J={},Y){return Z.sort((Q,X)=>Q-X).map((Q)=>{return`${Y5($,{...J,w:Q,fm:Y})} ${Q}w`}).join(", ")}function q3($,Z,J=fJ,Y={},Q){return J.sort((X,G)=>X-G).map((X)=>{let G=Math.round(Z*X);return`${Y5($,{...Y,w:G,dpr:X,fm:Q})} ${X}x`}).join(", ")}function J$($,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 Y5($,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 X$($){return gJ[$]||"application/octet-stream"}var b1,fJ,Z5,gJ;var Q$=S(()=>{b1=[320,480,640,768,1024,1280,1536,1920,2560],fJ=[1,1.5,2,3],Z5=["avif","webp","jpeg"],gJ={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"}});async function dJ(){try{return await import("ts-images")}catch{return null}}async function mJ($,Z={}){let J={...hJ,...Z},Y=await dJ();if(Y)try{return await uJ($,J,Y)}catch(Q){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${Q}`)}return pJ($,J)}async function uJ($,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 pJ($,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 W3($,Z,J={}){let Y=J.transitionDuration||300,Q=J.easing||"ease-out";return`
816
816
  #${$} {
817
817
  --stx-img-transition-duration: ${Y}ms;
818
818
  --stx-img-transition-easing: ${Q};
@@ -829,7 +829,7 @@ ${o.dim}${K}${o.reset}
829
829
  #${$}.stx-img-loaded img {
830
830
  opacity: 1;
831
831
  }
832
- `.trim()}async function z3($,Z={}){let J=`${$}:${JSON.stringify(Z)}`;if(G$.has(J))return G$.get(J);let Y=await mJ($,Z);return G$.set(J,Y),Y}var hJ,K$,G$;var U3=C(()=>{hJ={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},K$=`
832
+ `.trim()}async function z3($,Z={}){let J=`${$}:${JSON.stringify(Z)}`;if(G$.has(J))return G$.get(J);let Y=await mJ($,Z);return G$.set(J,Y),Y}var hJ,K$,G$;var U3=S(()=>{hJ={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},K$=`
833
833
  .stx-img-placeholder {
834
834
  position: relative;
835
835
  overflow: hidden;
@@ -858,20 +858,20 @@ ${o.dim}${K}${o.reset}
858
858
  filter: blur(0);
859
859
  transform: scale(1);
860
860
  }
861
- `.trim();G$=new Map});import{createHash as B3}from"crypto";import{readFile as lJ,stat as j3}from"fs/promises";async function T0($){try{let Z=await lJ($);return B3("sha256").update(Z).digest("hex").slice(0,16)}catch{return""}}function _3($){return B3("sha256").update($).digest("hex").slice(0,16)}function k5($,Z){let J=JSON.stringify(Z,Object.keys(Z).sort());return`${_3($)}-${_3(J)}`}async function q$($){try{return(await j3($)).mtimeMs}catch{return 0}}async function N0($){try{return await j3($),!0}catch{return!1}}var j1=()=>{};import{mkdir as cJ,readFile as iJ,writeFile as nJ,readdir as cz,rm as oJ,stat as iz}from"fs/promises";import{join as H3,dirname as sJ}from"path";async function rJ($){try{await cJ($,{recursive:!0})}catch{}}function L3($,Z,J){return H3($,J,`${Z}.json`)}async function O3($,Z,J){if((Date.now()-$.createdAt)/86400000>J)return!1;if(await q$(Z)!==$.srcMtime)return!1;return!0}async function b5($,Z,J,Y=W$){if(!Y.enabled)return null;let Q=k5($,Z),X=S1.get(Q);if(X){if(await O3(X,$,Y.maxAge))return X.lastAccessedAt=Date.now(),X.data;S1.delete(Q)}let G=L3(Y.directory,Q,J);if(await N0(G))try{let K=await iJ(G,"utf-8"),q=JSON.parse(K);if(await O3(q,$,Y.maxAge))return q.lastAccessedAt=Date.now(),S1.set(Q,q),q.data}catch{}return null}async function S5($,Z,J,Y,Q=W$){if(!Q.enabled)return;let X=k5($,Z),G=await T0($),K=await q$($),q={key:X,src:$,srcHash:G,srcMtime:K,optionsHash:k5("",Z),data:J,createdAt:Date.now(),lastAccessedAt:Date.now()};S1.set(X,q);let z=L3(Q.directory,X,Y);try{await rJ(sJ(z)),await nJ(z,JSON.stringify(q,null,2))}catch(W){console.warn(`[stx-media] Failed to write cache: ${W}`)}}async function y5($,Z=W$){if($==="all")S1.clear();else S1.clear();let J=$==="all"?["image","video"]:[$];for(let Y of J){let Q=H3(Z.directory,Y);try{await oJ(Q,{recursive:!0,force:!0})}catch{}}}var S1,W$;var z$=C(()=>{j1();S1=new Map,W$={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class P5{config;constructor($={}){this.config={...aJ,...$}}async get($,Z){return b5($,Z,"image",this.config)}async set($,Z,J){return S5($,Z,J,"image",this.config)}async clear(){return y5("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function U$($){if(!C5)C5=new P5($);else if($)C5.updateConfig($);return C5}async function v5($,Z,J){let Y=J?{directory:`${J.outputDir}/../.cache`}:{};return U$(Y).get($,Z)}async function x5($,Z,J,Y){let Q=Y?{directory:`${Y.outputDir}/../.cache`}:{};return U$(Q).set($,Z,J)}async function F3(){return U$().clear()}var aJ,C5=null;var _$=C(()=>{z$();aJ={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as tJ,basename as eJ,extname as $X,join as ZX}from"path";import{mkdir as YX}from"fs/promises";async function B$(){try{return await import("ts-images")}catch{return null}}function V3($){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 JX($,Z){let J=Z?V3(Z):V3("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 w3($,Z,J){let Y=await B$();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let Q=await v5($,Z,J);if(Q)return Q;try{let X=tJ($);if(!await N0(X))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let G=JX(J,Z.preset),K=J.outputDir||"dist/images",q=J.baseUrl||"/images";await YX(K,{recursive:!0});let z=await T0(X),W=eJ($,$X($)),U=Z.outputFormat?[Z.outputFormat]:J.defaultFormats||["avif","webp","jpeg"],_={src:$,processed:!0,variants:[],hash:z},j=null;if(Z.transformations&&Z.transformations.length>0)j=await j$(X,Z.transformations,Y);for(let B of U){let O=G[B]||{},F=`${W}-${z}.${B}`,L=ZX(K,F);try{let H=await Y.optimizeImage({input:j||X,output:L,format:B,quality:O.quality,progressive:O.progressive});if(H){if(_.variants.push({path:L,url:`${q}/${F}`,width:H.width||0,height:H.height||0,format:B,size:H.outputSize||0}),!_.originalWidth&&H.width)_.originalWidth=H.width,_.originalHeight=H.height}}catch(H){_.errors=_.errors||[],_.errors.push(`Failed to optimize ${B}: ${H}`)}}if(Z.embedThumbhash||Z.placeholder==="thumbhash")try{let B=await Y.generateThumbHash(X);_.placeholder=B.dataUrl}catch(B){_.errors=_.errors||[],_.errors.push(`Failed to generate thumbhash: ${B}`)}if(Z.useDominantColor)try{let B=await Y.generatePlaceholder(X,{strategy:"dominant-color"});_.dominantColor=B.dominantColor}catch(B){_.errors=_.errors||[],_.errors.push(`Failed to extract dominant color: ${B}`)}return await x5($,Z,_,J),_}catch(X){return{src:$,processed:!1,errors:[`Processing failed: ${X}`]}}}async function A3($,Z,J,Y){let Q=await B$();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 j$($,Z,J){let Y=J||await B$();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 N3=C(()=>{j1();_$()});import{resolve as XX,basename as QX,extname as GX,join as KX}from"path";import{mkdir as qX}from"fs/promises";async function WX(){try{return await import("ts-images")}catch{return null}}async function R3($,Z,J){let Y=await WX();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let Q=XX($);if(!await N0(Q))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let X=Z.responsiveWidths||J.breakpoints||zX,G=Z.formats||J.defaultFormats||["avif","webp","jpeg"],K=J.outputDir||"dist/images",q=J.baseUrl||"/images";await qX(K,{recursive:!0});let z=await T0(Q),W=QX($,GX($)),U=J.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},_={src:$,byFormat:{},srcsets:{}};for(let B of G){_.byFormat[B]=[];let O=[];for(let F of X){let L=`${W}-${F}w-${z}.${B}`,H=KX(K,L),V=`${q}/${L}`;try{let A=U[B]?.quality||80;if(await N0(H)){_.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:A,resize:{width:F}});if(w)_.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(A){console.warn(`[stx-media] Failed to generate ${B} at ${F}w: ${A}`)}}_.srcsets[B]=O.join(", ")}let j=Z.placeholder||J.placeholderStrategy||"thumbhash";if(j!=="none")try{if(j==="thumbhash"){let B=await Y.generateThumbHash(Q);_.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});_.placeholder={dataURL:B.dataURL,width:B.width,height:B.height,strategy:j}}}catch(B){console.warn(`[stx-media] Failed to generate placeholder: ${B}`)}return _.sizes=Z.sizes||UX(X),_}catch(X){return console.error(`[stx-media] Responsive generation failed: ${X}`),null}}function UX($){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 T3($,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 zX;var M3=C(()=>{j1();zX=[320,480,640,768,1024,1280,1536,1920]});var I3={};r(I3,{setCachedImageResult:()=>x5,processImage:()=>w3,optimizeImage:()=>A3,getCachedImageResult:()=>v5,generateSrcset:()=>T3,generateResponsiveVariants:()=>R3,clearImageCache:()=>F3,applyTransformations:()=>j$,ImageProcessorCache:()=>P5});var D3=C(()=>{N3();M3();_$()});async function _X(){try{return await Promise.resolve().then(() => (D3(),I3))}catch($){if(!E3)console.warn("[stx-media] Image processor not available, some features disabled:",$),E3=!0;return null}}async function f5($,Z={}){let J=Z,Y=$;if(Y.process&&!Y.skipOptimization){if(J.tsImagesConfig?.enabled&&!J.isDev)return HX(Y,J)}if(J.processedResult?.processed)return F$($,J.processedResult,Z);if(J.responsiveVariants)return y3($,J.responsiveVariants,Z);let{src:Q,alt:X,width:G,height:K,sizes:q,widths:z=b1,dpr:W,formats:U=Z5,quality:_=O$,params:j={},placeholder:B="none",placeholderOptions:O={},lazy:F=!0,priority:L=!1,loading:H=L?"eager":h5,decoding:V=g5,fetchpriority:A,objectFit:w,objectPosition:N,crossorigin:R,referrerpolicy:T}=$,I=$.class,M=$.style,E=$.id,k=$.data||{},{isDev:y=!1,baseUrl:S=""}=Z;if(y&&!Z.optimize)return OX($);let b,D,x=E||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(B!=="none"&&!L)try{b=await z3(Q,{strategy:B,...O}),D=W3(x,b,O)}catch{}let h=W!==void 0&&G!==void 0,i;if(h)i=jX($,x,b,Z);else i=await BX($,x,b,Z);let U0;if(L){let P0=U.includes("webp")?"webp":U[0],l0=Y$(Q,z,{...j,q:_},P0),L0=typeof q==="object"?J$(q):q||"100vw";U0=`<link rel="preload" as="image" imagesrcset="${l0}" imagesizes="${L0}" />`}let H0=[];if(!k3&&B!=="none")H0.push(K$),k3=!0;if(D)H0.push(D);let _0=F?S3(x):void 0;return{html:i,preloadLink:U0,css:H0.length>0?H0.join(`
862
- `):void 0,script:_0}}async function BX($,Z,J,Y){let{src:Q,alt:X,width:G,height:K,sizes:q,widths:z=b1,formats:W=Z5,quality:U=O$,params:_={},lazy:j=!0,priority:B=!1,loading:O=B?"eager":h5,decoding:F=g5,fetchpriority:L,objectFit:H,objectPosition:V,crossorigin:A,referrerpolicy:w}=$,N=$.class,R=$.style,T=$.data||{},I=typeof q==="object"?J$(q):q||"100vw",M=[];for(let y of W){let S=Y$(Q,z,{..._,q:U},y),b=X$(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=H$({src:Y5(Q,{..._,q:U}),alt:X,width:G,height:K,loading:B?void 0:O,decoding:F,fetchpriority:B?"high":L,objectFit:H,objectPosition:V,crossorigin:A,referrerpolicy:w,className:b3(N,J),style:L$(R,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}">
861
+ `.trim();G$=new Map});import{createHash as B3}from"crypto";import{readFile as lJ,stat as j3}from"fs/promises";async function T0($){try{let Z=await lJ($);return B3("sha256").update(Z).digest("hex").slice(0,16)}catch{return""}}function _3($){return B3("sha256").update($).digest("hex").slice(0,16)}function k5($,Z){let J=JSON.stringify(Z,Object.keys(Z).sort());return`${_3($)}-${_3(J)}`}async function q$($){try{return(await j3($)).mtimeMs}catch{return 0}}async function N0($){try{return await j3($),!0}catch{return!1}}var j1=()=>{};import{mkdir as cJ,readFile as iJ,writeFile as nJ,readdir as cz,rm as oJ,stat as iz}from"fs/promises";import{join as H3,dirname as sJ}from"path";async function rJ($){try{await cJ($,{recursive:!0})}catch{}}function L3($,Z,J){return H3($,J,`${Z}.json`)}async function O3($,Z,J){if((Date.now()-$.createdAt)/86400000>J)return!1;if(await q$(Z)!==$.srcMtime)return!1;return!0}async function b5($,Z,J,Y=W$){if(!Y.enabled)return null;let Q=k5($,Z),X=S1.get(Q);if(X){if(await O3(X,$,Y.maxAge))return X.lastAccessedAt=Date.now(),X.data;S1.delete(Q)}let G=L3(Y.directory,Q,J);if(await N0(G))try{let K=await iJ(G,"utf-8"),q=JSON.parse(K);if(await O3(q,$,Y.maxAge))return q.lastAccessedAt=Date.now(),S1.set(Q,q),q.data}catch{}return null}async function S5($,Z,J,Y,Q=W$){if(!Q.enabled)return;let X=k5($,Z),G=await T0($),K=await q$($),q={key:X,src:$,srcHash:G,srcMtime:K,optionsHash:k5("",Z),data:J,createdAt:Date.now(),lastAccessedAt:Date.now()};S1.set(X,q);let z=L3(Q.directory,X,Y);try{await rJ(sJ(z)),await nJ(z,JSON.stringify(q,null,2))}catch(W){console.warn(`[stx-media] Failed to write cache: ${W}`)}}async function y5($,Z=W$){if($==="all")S1.clear();else S1.clear();let J=$==="all"?["image","video"]:[$];for(let Y of J){let Q=H3(Z.directory,Y);try{await oJ(Q,{recursive:!0,force:!0})}catch{}}}var S1,W$;var z$=S(()=>{j1();S1=new Map,W$={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class P5{config;constructor($={}){this.config={...aJ,...$}}async get($,Z){return b5($,Z,"image",this.config)}async set($,Z,J){return S5($,Z,J,"image",this.config)}async clear(){return y5("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function U$($){if(!C5)C5=new P5($);else if($)C5.updateConfig($);return C5}async function v5($,Z,J){let Y=J?{directory:`${J.outputDir}/../.cache`}:{};return U$(Y).get($,Z)}async function x5($,Z,J,Y){let Q=Y?{directory:`${Y.outputDir}/../.cache`}:{};return U$(Q).set($,Z,J)}async function F3(){return U$().clear()}var aJ,C5=null;var _$=S(()=>{z$();aJ={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as tJ,basename as eJ,extname as $X,join as ZX}from"path";import{mkdir as YX}from"fs/promises";async function B$(){try{return await import("ts-images")}catch{return null}}function V3($){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 JX($,Z){let J=Z?V3(Z):V3("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 w3($,Z,J){let Y=await B$();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let Q=await v5($,Z,J);if(Q)return Q;try{let X=tJ($);if(!await N0(X))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let G=JX(J,Z.preset),K=J.outputDir||"dist/images",q=J.baseUrl||"/images";await YX(K,{recursive:!0});let z=await T0(X),W=eJ($,$X($)),U=Z.outputFormat?[Z.outputFormat]:J.defaultFormats||["avif","webp","jpeg"],_={src:$,processed:!0,variants:[],hash:z},j=null;if(Z.transformations&&Z.transformations.length>0)j=await j$(X,Z.transformations,Y);for(let B of U){let O=G[B]||{},F=`${W}-${z}.${B}`,L=ZX(K,F);try{let H=await Y.optimizeImage({input:j||X,output:L,format:B,quality:O.quality,progressive:O.progressive});if(H){if(_.variants.push({path:L,url:`${q}/${F}`,width:H.width||0,height:H.height||0,format:B,size:H.outputSize||0}),!_.originalWidth&&H.width)_.originalWidth=H.width,_.originalHeight=H.height}}catch(H){_.errors=_.errors||[],_.errors.push(`Failed to optimize ${B}: ${H}`)}}if(Z.embedThumbhash||Z.placeholder==="thumbhash")try{let B=await Y.generateThumbHash(X);_.placeholder=B.dataUrl}catch(B){_.errors=_.errors||[],_.errors.push(`Failed to generate thumbhash: ${B}`)}if(Z.useDominantColor)try{let B=await Y.generatePlaceholder(X,{strategy:"dominant-color"});_.dominantColor=B.dominantColor}catch(B){_.errors=_.errors||[],_.errors.push(`Failed to extract dominant color: ${B}`)}return await x5($,Z,_,J),_}catch(X){return{src:$,processed:!1,errors:[`Processing failed: ${X}`]}}}async function A3($,Z,J,Y){let Q=await B$();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 j$($,Z,J){let Y=J||await B$();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 N3=S(()=>{j1();_$()});import{resolve as XX,basename as QX,extname as GX,join as KX}from"path";import{mkdir as qX}from"fs/promises";async function WX(){try{return await import("ts-images")}catch{return null}}async function R3($,Z,J){let Y=await WX();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let Q=XX($);if(!await N0(Q))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let X=Z.responsiveWidths||J.breakpoints||zX,G=Z.formats||J.defaultFormats||["avif","webp","jpeg"],K=J.outputDir||"dist/images",q=J.baseUrl||"/images";await qX(K,{recursive:!0});let z=await T0(Q),W=QX($,GX($)),U=J.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},_={src:$,byFormat:{},srcsets:{}};for(let B of G){_.byFormat[B]=[];let O=[];for(let F of X){let L=`${W}-${F}w-${z}.${B}`,H=KX(K,L),V=`${q}/${L}`;try{let A=U[B]?.quality||80;if(await N0(H)){_.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:A,resize:{width:F}});if(w)_.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(A){console.warn(`[stx-media] Failed to generate ${B} at ${F}w: ${A}`)}}_.srcsets[B]=O.join(", ")}let j=Z.placeholder||J.placeholderStrategy||"thumbhash";if(j!=="none")try{if(j==="thumbhash"){let B=await Y.generateThumbHash(Q);_.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});_.placeholder={dataURL:B.dataURL,width:B.width,height:B.height,strategy:j}}}catch(B){console.warn(`[stx-media] Failed to generate placeholder: ${B}`)}return _.sizes=Z.sizes||UX(X),_}catch(X){return console.error(`[stx-media] Responsive generation failed: ${X}`),null}}function UX($){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 T3($,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 zX;var M3=S(()=>{j1();zX=[320,480,640,768,1024,1280,1536,1920]});var I3={};r(I3,{setCachedImageResult:()=>x5,processImage:()=>w3,optimizeImage:()=>A3,getCachedImageResult:()=>v5,generateSrcset:()=>T3,generateResponsiveVariants:()=>R3,clearImageCache:()=>F3,applyTransformations:()=>j$,ImageProcessorCache:()=>P5});var D3=S(()=>{N3();M3();_$()});async function _X(){try{return await Promise.resolve().then(() => (D3(),I3))}catch($){if(!E3)console.warn("[stx-media] Image processor not available, some features disabled:",$),E3=!0;return null}}async function f5($,Z={}){let J=Z,Y=$;if(Y.process&&!Y.skipOptimization){if(J.tsImagesConfig?.enabled&&!J.isDev)return HX(Y,J)}if(J.processedResult?.processed)return F$($,J.processedResult,Z);if(J.responsiveVariants)return y3($,J.responsiveVariants,Z);let{src:Q,alt:X,width:G,height:K,sizes:q,widths:z=b1,dpr:W,formats:U=Z5,quality:_=O$,params:j={},placeholder:B="none",placeholderOptions:O={},lazy:F=!0,priority:L=!1,loading:H=L?"eager":h5,decoding:V=g5,fetchpriority:A,objectFit:w,objectPosition:N,crossorigin:R,referrerpolicy:T}=$,E=$.class,M=$.style,I=$.id,D=$.data||{},{isDev:P=!1,baseUrl:C=""}=Z;if(P&&!Z.optimize)return OX($);let k,b,x=I||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(B!=="none"&&!L)try{k=await z3(Q,{strategy:B,...O}),b=W3(x,k,O)}catch{}let h=W!==void 0&&G!==void 0,c;if(h)c=jX($,x,k,Z);else c=await BX($,x,k,Z);let W0;if(L){let P0=U.includes("webp")?"webp":U[0],l0=Y$(Q,z,{...j,q:_},P0),L0=typeof q==="object"?J$(q):q||"100vw";W0=`<link rel="preload" as="image" imagesrcset="${l0}" imagesizes="${L0}" />`}let H0=[];if(!k3&&B!=="none")H0.push(K$),k3=!0;if(b)H0.push(b);let _0=F?S3(x):void 0;return{html:c,preloadLink:W0,css:H0.length>0?H0.join(`
862
+ `):void 0,script:_0}}async function BX($,Z,J,Y){let{src:Q,alt:X,width:G,height:K,sizes:q,widths:z=b1,formats:W=Z5,quality:U=O$,params:_={},lazy:j=!0,priority:B=!1,loading:O=B?"eager":h5,decoding:F=g5,fetchpriority:L,objectFit:H,objectPosition:V,crossorigin:A,referrerpolicy:w}=$,N=$.class,R=$.style,T=$.data||{},E=typeof q==="object"?J$(q):q||"100vw",M=[];for(let P of W){let C=Y$(Q,z,{..._,q:U},P),k=X$(P);if(j&&!B)M.push(` <source type="${k}" data-srcset="${C}" data-sizes="${E}" />`);else M.push(` <source type="${k}" srcset="${C}" sizes="${E}" />`)}let I=H$({src:Y5(Q,{..._,q:U}),alt:X,width:G,height:K,loading:B?void 0:O,decoding:F,fetchpriority:B?"high":L,objectFit:H,objectPosition:V,crossorigin:A,referrerpolicy:w,className:b3(N,J),style:L$(R,H,V,J),lazy:j&&!B,data:T}),D;if(J){let P=`background-image: url('${J.dataURL}'); background-size: cover; background-position: center;`;D=`<div id="${Z}" class="stx-img-placeholder" style="${P}">
863
863
  <picture>
864
864
  ${M.join(`
865
865
  `)}
866
- <img ${E} />
866
+ <img ${I} />
867
867
  </picture>
868
- </div>`}else k=`<picture${Z?` id="${Z}"`:""}>
868
+ </div>`}else D=`<picture${Z?` id="${Z}"`:""}>
869
869
  ${M.join(`
870
870
  `)}
871
- <img ${E} />
872
- </picture>`;return k}function jX($,Z,J,Y){let{src:Q,alt:X,width:G,height:K,dpr:q=[1,2,3],quality:z=O$,params:W={},lazy:U=!0,priority:_=!1,loading:j=_?"eager":h5,decoding:B=g5,fetchpriority:O,objectFit:F,objectPosition:L,crossorigin:H,referrerpolicy:V}=$,A=$.class,w=$.style,N=$.data||{},R=typeof G==="number"?G:Number.parseInt(String(G),10),T=q3(Q,R,q,{...W,q:z}),I=H$({src:Y5(Q,{...W,w:R,q:z}),alt:X,width:G,height:K,loading:_?void 0:j,decoding:B,fetchpriority:_?"high":O,objectFit:F,objectPosition:L,crossorigin:H,referrerpolicy:V,className:b3(A,J),style:L$(w,F,L,J),lazy:U&&!_,data:N}),M=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}">
873
- <img ${I} ${M} />
874
- </div>`}return`<img ${Z?`id="${Z}" `:""}${I} ${M} />`}function OX($){let{src:Z,alt:J,width:Y,height:Q,loading:X=h5,decoding:G=g5,fetchpriority:K,objectFit:q,objectPosition:z,crossorigin:W,referrerpolicy:U,priority:_=!1}=$,j=$.class,B=$.style,O=$.id,F=$.data||{};return{html:`<img ${H$({src:Z,alt:J,width:Y,height:Q,loading:_?"eager":X,decoding:G,fetchpriority:_?"high":K,objectFit:q,objectPosition:z,crossorigin:W,referrerpolicy:U,className:j,style:L$(B,q,z),id:O,data:F})} />`}}function H$($){let Z=[];if($.lazy)Z.push(`data-src="${v0($.src)}"`),Z.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"');else Z.push(`src="${v0($.src)}"`);if(Z.push(`alt="${v0($.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="${v0($.className)}"`);if($.style)Z.push(`style="${v0($.style)}"`);if($.id)Z.push(`id="${v0($.id)}"`);if($.data)for(let[J,Y]of Object.entries($.data))Z.push(`data-${J}="${v0(Y)}"`);if($.lazy)Z.push("data-stx-lazy");return Z.join(" ")}function b3($,Z){let J=[];if($)J.push($);if(Z)J.push("stx-img-blur");return J.join(" ")||""}function L$($,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 v0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function S3($){return`
871
+ <img ${I} />
872
+ </picture>`;return D}function jX($,Z,J,Y){let{src:Q,alt:X,width:G,height:K,dpr:q=[1,2,3],quality:z=O$,params:W={},lazy:U=!0,priority:_=!1,loading:j=_?"eager":h5,decoding:B=g5,fetchpriority:O,objectFit:F,objectPosition:L,crossorigin:H,referrerpolicy:V}=$,A=$.class,w=$.style,N=$.data||{},R=typeof G==="number"?G:Number.parseInt(String(G),10),T=q3(Q,R,q,{...W,q:z}),E=H$({src:Y5(Q,{...W,w:R,q:z}),alt:X,width:G,height:K,loading:_?void 0:j,decoding:B,fetchpriority:_?"high":O,objectFit:F,objectPosition:L,crossorigin:H,referrerpolicy:V,className:b3(A,J),style:L$(w,F,L,J),lazy:U&&!_,data:N}),M=U&&!_?`data-srcset="${T}"`:`srcset="${T}"`;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}">
873
+ <img ${E} ${M} />
874
+ </div>`}return`<img ${Z?`id="${Z}" `:""}${E} ${M} />`}function OX($){let{src:Z,alt:J,width:Y,height:Q,loading:X=h5,decoding:G=g5,fetchpriority:K,objectFit:q,objectPosition:z,crossorigin:W,referrerpolicy:U,priority:_=!1}=$,j=$.class,B=$.style,O=$.id,F=$.data||{};return{html:`<img ${H$({src:Z,alt:J,width:Y,height:Q,loading:_?"eager":X,decoding:G,fetchpriority:_?"high":K,objectFit:q,objectPosition:z,crossorigin:W,referrerpolicy:U,className:j,style:L$(B,q,z),id:O,data:F})} />`}}function H$($){let Z=[];if($.lazy)Z.push(`data-src="${v0($.src)}"`),Z.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"');else Z.push(`src="${v0($.src)}"`);if(Z.push(`alt="${v0($.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="${v0($.className)}"`);if($.style)Z.push(`style="${v0($.style)}"`);if($.id)Z.push(`id="${v0($.id)}"`);if($.data)for(let[J,Y]of Object.entries($.data))Z.push(`data-${J}="${v0(Y)}"`);if($.lazy)Z.push("data-stx-lazy");return Z.join(" ")}function b3($,Z){let J=[];if($)J.push($);if(Z)J.push("stx-img-blur");return J.join(" ")||""}function L$($,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 v0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function S3($){return`
875
875
  (function() {
876
876
  const container = document.getElementById('${$}');
877
877
  if (!container) return;
@@ -908,21 +908,21 @@ ${M.join(`
908
908
 
909
909
  observer.observe(container);
910
910
  })();
911
- `.trim()}async function HX($,Z){let J=await _X();if(!J)return f5({...$,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 y3($,X,Z)}else{let X=await J.processImage($.src,$,Y);if(X.processed)return F$($,X,Z)}return f5({...$,process:!1},Z)}async function F$($,Z,J){let{alt:Y,width:Q,height:X,lazy:G=!0,priority:K=!1,objectFit:q,objectPosition:z,crossorigin:W,referrerpolicy: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(", "),A=new Map;for(let D of F){if(!A.has(D.format))A.set(D.format,[]);A.get(D.format).push(D)}let w=[],N=["avif","webp","jpeg","png"];for(let D of N){let x=A.get(D);if(x&&x.length>0){let h=x.map((U0)=>`${U0.url} ${U0.width}w`).join(", "),i=X$(D);if(G&&!K)w.push(` <source type="${i}" data-srcset="${h}" />`);else w.push(` <source type="${i}" srcset="${h}" />`)}}let R=[];if(G&&!K){if(R.push(`data-src="${v0(H)}"`),R.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),V)R.push(`data-srcset="${V}"`)}else if(R.push(`src="${v0(H)}"`),V)R.push(`srcset="${V}"`);R.push(`alt="${v0(Y)}"`);let T=Q||Z.originalWidth,I=X||Z.originalHeight;if(T)R.push(`width="${T}"`);if(I)R.push(`height="${I}"`);if(!K)R.push(`loading="${G?"lazy":"eager"}"`);if(R.push('decoding="async"'),K)R.push('fetchpriority="high"');if(W)R.push(`crossorigin="${W}"`);if(U)R.push(`referrerpolicy="${U}"`);let M=[];if(q)M.push(`object-fit: ${q}`);if(z)M.push(`object-position: ${z}`);if(Z.placeholder&&G)M.push("opacity: 0; transition: opacity 300ms ease-out");if(j)M.push(j);if(M.length>0)R.push(`style="${M.join("; ")}"`);let E=[];if(_)E.push(_);if(Z.placeholder)E.push("stx-img-blur");if(E.length>0)R.push(`class="${E.join(" ")}"`);if(G&&!K)R.push("data-stx-lazy");for(let[D,x]of Object.entries(O))R.push(`data-${D}="${v0(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}">
911
+ `.trim()}async function HX($,Z){let J=await _X();if(!J)return f5({...$,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 y3($,X,Z)}else{let X=await J.processImage($.src,$,Y);if(X.processed)return F$($,X,Z)}return f5({...$,process:!1},Z)}async function F$($,Z,J){let{alt:Y,width:Q,height:X,lazy:G=!0,priority:K=!1,objectFit:q,objectPosition:z,crossorigin:W,referrerpolicy:U}=$,_=$.class,j=$.style,B=$.id||`stx-img-${Math.random().toString(36).slice(2,8)}`,O=$.data||{},F=Z.variants||[],L=F.find((b)=>b.format==="jpeg")||F.find((b)=>b.format==="webp")||F[0],H=L?.url||$.src,V=F.filter((b)=>b.format===(L?.format||"jpeg")).map((b)=>`${b.url} ${b.width}w`).join(", "),A=new Map;for(let b of F){if(!A.has(b.format))A.set(b.format,[]);A.get(b.format).push(b)}let w=[],N=["avif","webp","jpeg","png"];for(let b of N){let x=A.get(b);if(x&&x.length>0){let h=x.map((W0)=>`${W0.url} ${W0.width}w`).join(", "),c=X$(b);if(G&&!K)w.push(` <source type="${c}" data-srcset="${h}" />`);else w.push(` <source type="${c}" srcset="${h}" />`)}}let R=[];if(G&&!K){if(R.push(`data-src="${v0(H)}"`),R.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),V)R.push(`data-srcset="${V}"`)}else if(R.push(`src="${v0(H)}"`),V)R.push(`srcset="${V}"`);R.push(`alt="${v0(Y)}"`);let T=Q||Z.originalWidth,E=X||Z.originalHeight;if(T)R.push(`width="${T}"`);if(E)R.push(`height="${E}"`);if(!K)R.push(`loading="${G?"lazy":"eager"}"`);if(R.push('decoding="async"'),K)R.push('fetchpriority="high"');if(W)R.push(`crossorigin="${W}"`);if(U)R.push(`referrerpolicy="${U}"`);let M=[];if(q)M.push(`object-fit: ${q}`);if(z)M.push(`object-position: ${z}`);if(Z.placeholder&&G)M.push("opacity: 0; transition: opacity 300ms ease-out");if(j)M.push(j);if(M.length>0)R.push(`style="${M.join("; ")}"`);let I=[];if(_)I.push(_);if(Z.placeholder)I.push("stx-img-blur");if(I.length>0)R.push(`class="${I.join(" ")}"`);if(G&&!K)R.push("data-stx-lazy");for(let[b,x]of Object.entries(O))R.push(`data-${b}="${v0(x)}"`);let D;if(Z.placeholder||Z.dominantColor&&$.useDominantColor){let b=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="${b}">
912
912
  <picture>
913
913
  ${w.join(`
914
914
  `)}
915
915
  <img ${R.join(" ")} />
916
916
  </picture>
917
- </div>`}else k=`<picture${B?` id="${B}"`:""}>
917
+ </div>`}else D=`<picture${B?` id="${B}"`:""}>
918
918
  ${w.join(`
919
919
  `)}
920
920
  <img ${R.join(" ")} />
921
- </picture>`;let y=[];if(Z.placeholder)y.push(K$);let S=G?S3(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(`
922
- `):void 0,script:S}}async function y3($,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 F$($,Y,J)}var E3=!1,O$=80,g5="async",h5="lazy",k3=!1;var C3=C(()=>{Q$();U3()});function LX(){return E5({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}=FX($,Z,J);if(!Q)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let K={src:Q,alt:X||"",widths:G.widths||b1,formats:G.formats||Z5,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,z=await f5(K,{isDev:q}),W=z.html;if(z.preloadLink)W=z.preloadLink+`
921
+ </picture>`;let P=[];if(Z.placeholder)P.push(K$);let C=G?S3(B):void 0,k;if(K&&V)k=`<link rel="preload" as="image" imagesrcset="${V}" />`;return{html:D,preloadLink:k,css:P.length>0?P.join(`
922
+ `):void 0,script:C}}async function y3($,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 F$($,Y,J)}var E3=!1,O$=80,g5="async",h5="lazy",k3=!1;var C3=S(()=>{Q$();U3()});function LX(){return E5({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}=FX($,Z,J);if(!Q)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let K={src:Q,alt:X||"",widths:G.widths||b1,formats:G.formats||Z5,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,z=await f5(K,{isDev:q}),W=z.html;if(z.preloadLink)W=z.preloadLink+`
923
923
  `+W;if(z.css)W+=`
924
924
  <style>${z.css}</style>`;if(z.script)W+=`
925
- <script>${z.script}</script>`;return W},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function FX($,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=VX(Y),X=V$(Q[0],J)||"",G=V$(Q[1],J)||"",K={};if(Q[2]){let q=V$(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 VX($){let Z=[],J="",Y=!1,Q="",X=0,G=0;for(let K=0;K<$.length;K++){let q=$[K],z=K>0?$[K-1]:"";if((q==='"'||q==="'"||q==="`")&&z!=="\\"){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 V$($,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 P3;var v3=C(()=>{Z$();C3();Q$();P3=LX()});class m5{config;constructor($={}){this.config={...wX,...$}}async get($,Z){return b5($,Z,"video",this.config)}async set($,Z,J){return S5($,Z,J,"video",this.config)}async clear(){return y5("video",this.config)}updateConfig($){this.config={...this.config,...$}}}function w$($){if(!d5)d5=new m5($);else if($)d5.updateConfig($);return d5}async function u5($,Z,J){let Y=J?{directory:`${J.outputDir}/../.cache`}:{};return w$(Y).get($,Z)}async function p5($,Z,J,Y){let Q=Y?{directory:`${Y.outputDir}/../.cache`}:{};return w$(Q).set($,Z,J)}async function x3(){return w$().clear()}var wX,d5=null;var A$=C(()=>{z$();wX={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as N$,basename as R$,extname as T$,join as l5}from"path";import{mkdir as M$}from"fs/promises";async function I$(){try{return await import("ts-videos")}catch{return null}}async function c5($,Z,J,Y){let Q=await I$();if(!Q)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let X=N$($);if(!await N0(X))return null;await M$(J,{recursive:!0});let G=await T0(X),K=R$($,T$($)),q=Z.format||"webp",z=Z.timestamp||0,W=`${K}-poster-${G}.${q}`,U=l5(J,W),_=await Q.extractThumbnails(X,{timestamps:[z],width:Z.width||1280,height:Z.height,format:q,quality:Z.quality||85,outputDir:J,outputPattern:W.replace(`.${q}`,"")});if(_&&_.length>0){let j=_[0];return{path:U,url:`${Y}/${W}`,width:j.width||Z.width||1280,height:j.height||720,timestamp:z,size:j.size||0}}return null}catch(X){return console.warn(`[stx-media] Failed to generate poster: ${X}`),null}}async function i5($,Z,J,Y){let Q=await I$();if(!Q)return[];try{let X=N$($);if(!await N0(X))return[];await M$(J,{recursive:!0});let G=await T0(X),K=R$($,T$($)),q=Z.format||"webp",U=(await new Q.Input(X).getInfo()).duration||60,_=Z.count||10,j=Z.interval||U/_,B=[];for(let F=0;F<_&&F*j<U;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||l5(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 f3($,Z,J,Y){let Q=await I$();if(!Q)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let X=N$($);if(!await N0(X))return null;await M$(J,{recursive:!0});let G=await T0(X),K=R$($,T$($)),W=(await new Q.Input(X).getInfo()).duration||60,U=Z.columns||10,_=Z.interval||5,j=Z.thumbnailWidth||160,B=Z.thumbnailHeight||90,O=Z.format||"jpeg",F=Math.ceil(W/_),L=Math.ceil(F/U),H=`${K}-sprite-${G}.${O}`,V=l5(J,H),A=[];for(let N=0;N<F;N++)A.push(N*_);let w=await Q.extractThumbnails(X,{timestamps:A,width:j,height:B,format:O,quality:Z.quality||70,outputDir:l5(J,".temp")});if(!w||w.length===0)return null;try{let N=await import("ts-images"),R=U*j,T=L*B,I=await N.createSprite({images:w.map((M)=>M.path),columns:U,padding:0,outputPath:V,format:O,quality:Z.quality||70});return{url:`${Y}/${H}`,path:V,columns:U,rows:L,thumbnailWidth:j,thumbnailHeight:B,interval:_,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 D$=C(()=>{j1()});import{resolve as h3,basename as d3,extname as m3,join as O1}from"path";import{mkdir as n5,writeFile as u3}from"fs/promises";async function p3(){try{return await import("ts-videos")}catch{return null}}async function o5($,Z,J,Y,Q){let X=await p3();if(!X)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let G=h3($);if(!await N0(G))return null;let K=await T0(G),q=d3($,m3($)),z=O1(J,`${q}-${K}-hls`);await n5(z,{recursive:!0});let W=Z.length>0?Z:l3,U=Q?.segmentDuration||6,B=(await new X.Input(G).getInfo()).duration||0,O=[],F=0;for(let V of W){let A=O1(z,V.label);await n5(A,{recursive:!0});let w=`${V.label}.m3u8`,N=O1(A,w);try{let R=await X.generateHLS(G,{outputDir:A,segmentDuration:U,width:V.width,height:V.height,videoBitrate:V.bitrate,audioBitrate:V.audioBitrate,playlistName:V.label});if(R)O.push({quality:V,url:`${Y}/${q}-${K}-hls/${V.label}/${w}`,path:N}),F+=R.segmentCount||Math.ceil(B/U)}catch(R){console.warn(`[stx-media] Failed to generate HLS for ${V.label}: ${R}`)}}if(O.length===0)return null;let L=O1(z,"master.m3u8"),H=AX(O,Y,q,K);return await u3(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 AX($,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(`
925
+ <script>${z.script}</script>`;return W},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function FX($,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=VX(Y),X=V$(Q[0],J)||"",G=V$(Q[1],J)||"",K={};if(Q[2]){let q=V$(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 VX($){let Z=[],J="",Y=!1,Q="",X=0,G=0;for(let K=0;K<$.length;K++){let q=$[K],z=K>0?$[K-1]:"";if((q==='"'||q==="'"||q==="`")&&z!=="\\"){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 V$($,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 P3;var v3=S(()=>{Z$();C3();Q$();P3=LX()});class m5{config;constructor($={}){this.config={...wX,...$}}async get($,Z){return b5($,Z,"video",this.config)}async set($,Z,J){return S5($,Z,J,"video",this.config)}async clear(){return y5("video",this.config)}updateConfig($){this.config={...this.config,...$}}}function w$($){if(!d5)d5=new m5($);else if($)d5.updateConfig($);return d5}async function u5($,Z,J){let Y=J?{directory:`${J.outputDir}/../.cache`}:{};return w$(Y).get($,Z)}async function p5($,Z,J,Y){let Q=Y?{directory:`${Y.outputDir}/../.cache`}:{};return w$(Q).set($,Z,J)}async function x3(){return w$().clear()}var wX,d5=null;var A$=S(()=>{z$();wX={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as N$,basename as R$,extname as T$,join as l5}from"path";import{mkdir as M$}from"fs/promises";async function I$(){try{return await import("ts-videos")}catch{return null}}async function c5($,Z,J,Y){let Q=await I$();if(!Q)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let X=N$($);if(!await N0(X))return null;await M$(J,{recursive:!0});let G=await T0(X),K=R$($,T$($)),q=Z.format||"webp",z=Z.timestamp||0,W=`${K}-poster-${G}.${q}`,U=l5(J,W),_=await Q.extractThumbnails(X,{timestamps:[z],width:Z.width||1280,height:Z.height,format:q,quality:Z.quality||85,outputDir:J,outputPattern:W.replace(`.${q}`,"")});if(_&&_.length>0){let j=_[0];return{path:U,url:`${Y}/${W}`,width:j.width||Z.width||1280,height:j.height||720,timestamp:z,size:j.size||0}}return null}catch(X){return console.warn(`[stx-media] Failed to generate poster: ${X}`),null}}async function i5($,Z,J,Y){let Q=await I$();if(!Q)return[];try{let X=N$($);if(!await N0(X))return[];await M$(J,{recursive:!0});let G=await T0(X),K=R$($,T$($)),q=Z.format||"webp",U=(await new Q.Input(X).getInfo()).duration||60,_=Z.count||10,j=Z.interval||U/_,B=[];for(let F=0;F<_&&F*j<U;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||l5(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 f3($,Z,J,Y){let Q=await I$();if(!Q)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let X=N$($);if(!await N0(X))return null;await M$(J,{recursive:!0});let G=await T0(X),K=R$($,T$($)),W=(await new Q.Input(X).getInfo()).duration||60,U=Z.columns||10,_=Z.interval||5,j=Z.thumbnailWidth||160,B=Z.thumbnailHeight||90,O=Z.format||"jpeg",F=Math.ceil(W/_),L=Math.ceil(F/U),H=`${K}-sprite-${G}.${O}`,V=l5(J,H),A=[];for(let N=0;N<F;N++)A.push(N*_);let w=await Q.extractThumbnails(X,{timestamps:A,width:j,height:B,format:O,quality:Z.quality||70,outputDir:l5(J,".temp")});if(!w||w.length===0)return null;try{let N=await import("ts-images"),R=U*j,T=L*B,E=await N.createSprite({images:w.map((M)=>M.path),columns:U,padding:0,outputPath:V,format:O,quality:Z.quality||70});return{url:`${Y}/${H}`,path:V,columns:U,rows:L,thumbnailWidth:j,thumbnailHeight:B,interval:_,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 D$=S(()=>{j1()});import{resolve as h3,basename as d3,extname as m3,join as O1}from"path";import{mkdir as n5,writeFile as u3}from"fs/promises";async function p3(){try{return await import("ts-videos")}catch{return null}}async function o5($,Z,J,Y,Q){let X=await p3();if(!X)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let G=h3($);if(!await N0(G))return null;let K=await T0(G),q=d3($,m3($)),z=O1(J,`${q}-${K}-hls`);await n5(z,{recursive:!0});let W=Z.length>0?Z:l3,U=Q?.segmentDuration||6,B=(await new X.Input(G).getInfo()).duration||0,O=[],F=0;for(let V of W){let A=O1(z,V.label);await n5(A,{recursive:!0});let w=`${V.label}.m3u8`,N=O1(A,w);try{let R=await X.generateHLS(G,{outputDir:A,segmentDuration:U,width:V.width,height:V.height,videoBitrate:V.bitrate,audioBitrate:V.audioBitrate,playlistName:V.label});if(R)O.push({quality:V,url:`${Y}/${q}-${K}-hls/${V.label}/${w}`,path:N}),F+=R.segmentCount||Math.ceil(B/U)}catch(R){console.warn(`[stx-media] Failed to generate HLS for ${V.label}: ${R}`)}}if(O.length===0)return null;let L=O1(z,"master.m3u8"),H=AX(O,Y,q,K);return await u3(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 AX($,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(`
926
926
  `)}async function s5($,Z,J,Y,Q){let X=await p3();if(!X)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let G=h3($);if(!await N0(G))return null;let K=await T0(G),q=d3($,m3($)),z=O1(J,`${q}-${K}-dash`);await n5(z,{recursive:!0});let W=Z.length>0?Z:l3,U=Q?.segmentDuration||4,_=Q?.minBufferTime||2,O=(await new X.Input(G).getInfo()).duration||0,F=[],L=[];for(let w of W){let N=O1(z,w.label);await n5(N,{recursive:!0});try{if(await X.generateDASH(G,{outputDir:N,segmentDuration:U,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(R){console.warn(`[stx-media] Failed to generate DASH for ${w.label}: ${R}`)}}if(F.length===0)return null;let H=O1(z,"manifest.mpd"),V=NX(F,L,O,U,_);await u3(H,V);let A=[{type:"video",representations:F}];if(L.length>0)A.push({type:"audio",representations:L});return{manifestUrl:`${Y}/${q}-${K}-dash/manifest.mpd`,manifestPath:H,adaptationSets:A,duration:O}}catch(G){return console.warn(`[stx-media] Failed to generate DASH manifest: ${G}`),null}}function NX($,Z,J,Y,Q){let X=g3(J),G=g3(Q),K=`<?xml version="1.0" encoding="UTF-8"?>
927
927
  <MPD xmlns="urn:mpeg:dash:schema:mpd:2011"
928
928
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -949,11 +949,11 @@ ${w.join(`
949
949
  </Representation>
950
950
  `}K+=` </AdaptationSet>
951
951
  `}return K+=` </Period>
952
- </MPD>`,K}function g3($){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 l3;var E$=C(()=>{j1();l3=[{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 c3,basename as RX,extname as TX,join as MX}from"path";import{mkdir as IX}from"fs/promises";async function i3(){try{return await import("ts-videos")}catch{return null}}function DX($){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 EX($){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 k$($){let Z=await i3();if(!Z)return null;try{let J=c3($),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 n3($,Z,J,Y){let Q=await i3();if(!Q)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:$,processed:!1};let X=await u5($,Z,J);if(X)return X;try{let G=c3($);if(!await N0(G))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let K=J.outputDir||"dist/videos",q=J.baseUrl||"/videos";await IX(K,{recursive:!0});let z=await T0(G),W=RX($,TX($)),U={src:$,processed:!0,hash:z};Y?.({percentage:5,stage:"analyzing"}),U.metadata=await k$(G)||void 0;let _={};if(Z.quality)_.bitrate=DX(Z.quality);if(Z.platform)Object.assign(_,EX(Z.platform));if(Z.transcode)Object.assign(_,Z.transcode);if(Object.keys(_).length>0||Z.process){Y?.({percentage:10,stage:"transcoding"});let j=`${W}-${z}.mp4`,B=MX(K,j);try{let O=await kX(G,B,_,Q,(F)=>Y?.({percentage:10+F*0.5,stage:"transcoding"}));if(O)U.transcoded={path:B,url:`${q}/${j}`,duration:O.duration,size:O.size,video:{codec:_.codec||"h264",width:O.width,height:O.height,bitrate:O.bitrate,frameRate:O.frameRate},audio:O.audioCodec?{codec:_.audioCodec||"aac",bitrate:_.audioBitrate||128000,sampleRate:_.sampleRate||48000,channels:_.channels||2}:void 0}}catch(O){U.errors=U.errors||[],U.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 c5(G,j,K,q);if(B)U.poster=B}if(J.thumbnails?.enabled){Y?.({percentage:70,stage:"generating-thumbnails"});let j=await i5(G,J.thumbnails,K,q);if(j.length>0)U.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 o5(G,j.qualities||J.streaming?.defaultQualities||[],K,q);if(B)U.streaming={...U.streaming,hls:B}}if(j.format==="dash"){let B=await s5(G,j.qualities||J.streaming?.defaultQualities||[],K,q);if(B)U.streaming={...U.streaming,dash:B}}}if(Z.spriteSheet)Y?.({percentage:90,stage:"generating-sprite-sheet"});return Y?.({percentage:100,stage:"complete"}),await p5($,Z,U,J),U}catch(G){return{src:$,processed:!1,errors:[`Processing failed: ${G}`]}}}async function kX($,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 o3=C(()=>{j1();A$();D$();E$()});var s3={};r(s3,{setCachedVideoResult:()=>p5,processVideo:()=>n3,getCachedVideoResult:()=>u5,generateThumbnails:()=>i5,generateSpriteSheet:()=>f3,generatePoster:()=>c5,generateHLSManifest:()=>o5,generateDASHManifest:()=>s5,clearVideoCache:()=>x3,analyzeVideo:()=>k$,VideoProcessorCache:()=>m5});var r3=C(()=>{o3();D$();E$();A$()});async function t3(){try{return await Promise.resolve().then(() => (r3(),s3))}catch($){if(!a3)console.warn("[stx-media] Video processor not available, some features disabled:",$),a3=!0;return null}}async function r5($,Z={}){let J=Z,Y=$;if(Y.process&&!Y.skipProcessing){if(J.tsVideosConfig?.enabled&&!J.isDev)return vX(Y,J)}if(J.processedResult?.processed)return Y6($,J.processedResult,Z);let Q;if(Y.generatePoster&&Y.src&&!$.poster)Q=await xX(Y,J);let{src:X,sources:G=[],poster:K,posterPlaceholder:q,controls:z=e3,autoplay:W=!1,muted:U=!1,loop:_=!1,preload:j=$6,playsinline:B=!0,lazy:O=!0,player:F="native",type:L,width:H,height:V,crossorigin:A,disablePictureInPicture:w=!1,disableRemotePlayback:N=!1}=$,R=Q||K,T=$.class,I=$.style,M=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(F==="ts-video")return yX($,Z);if(L&&L!=="video")return SX(X||"",L,$);let E=G.length>0?G:X?[{src:X,type:Z6(X)}]:[],k=[`id="${M}"`];if(z)k.push("controls");if(W)k.push("autoplay");if(U)k.push("muted");if(_)k.push("loop");if(B)k.push("playsinline");if(w)k.push("disablepictureinpicture");if(N)k.push("disableremoteplayback");if(A)k.push(`crossorigin="${A}"`);if(O){if(k.push(`data-preload="${j}"`),k.push('preload="none"'),R)k.push(`data-poster="${j0(R)}"`);k.push("data-stx-lazy")}else if(k.push(`preload="${j}"`),R)k.push(`poster="${j0(R)}"`);if(H)k.push(`width="${H}"`);if(V)k.push(`height="${V}"`);if(T)k.push(`class="${j0(T)}"`);if(I)k.push(`style="${j0(I)}"`);let y=E.map((D)=>{return` <source ${O?`data-src="${j0(D.src)}"`:`src="${j0(D.src)}"`} type="${D.type}"${D.media?` media="${D.media}"`:""} />`}).join(`
953
- `),S=`<video ${k.join(" ")}>
954
- ${y}
952
+ </MPD>`,K}function g3($){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 l3;var E$=S(()=>{j1();l3=[{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 c3,basename as RX,extname as TX,join as MX}from"path";import{mkdir as IX}from"fs/promises";async function i3(){try{return await import("ts-videos")}catch{return null}}function DX($){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 EX($){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 k$($){let Z=await i3();if(!Z)return null;try{let J=c3($),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 n3($,Z,J,Y){let Q=await i3();if(!Q)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:$,processed:!1};let X=await u5($,Z,J);if(X)return X;try{let G=c3($);if(!await N0(G))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let K=J.outputDir||"dist/videos",q=J.baseUrl||"/videos";await IX(K,{recursive:!0});let z=await T0(G),W=RX($,TX($)),U={src:$,processed:!0,hash:z};Y?.({percentage:5,stage:"analyzing"}),U.metadata=await k$(G)||void 0;let _={};if(Z.quality)_.bitrate=DX(Z.quality);if(Z.platform)Object.assign(_,EX(Z.platform));if(Z.transcode)Object.assign(_,Z.transcode);if(Object.keys(_).length>0||Z.process){Y?.({percentage:10,stage:"transcoding"});let j=`${W}-${z}.mp4`,B=MX(K,j);try{let O=await kX(G,B,_,Q,(F)=>Y?.({percentage:10+F*0.5,stage:"transcoding"}));if(O)U.transcoded={path:B,url:`${q}/${j}`,duration:O.duration,size:O.size,video:{codec:_.codec||"h264",width:O.width,height:O.height,bitrate:O.bitrate,frameRate:O.frameRate},audio:O.audioCodec?{codec:_.audioCodec||"aac",bitrate:_.audioBitrate||128000,sampleRate:_.sampleRate||48000,channels:_.channels||2}:void 0}}catch(O){U.errors=U.errors||[],U.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 c5(G,j,K,q);if(B)U.poster=B}if(J.thumbnails?.enabled){Y?.({percentage:70,stage:"generating-thumbnails"});let j=await i5(G,J.thumbnails,K,q);if(j.length>0)U.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 o5(G,j.qualities||J.streaming?.defaultQualities||[],K,q);if(B)U.streaming={...U.streaming,hls:B}}if(j.format==="dash"){let B=await s5(G,j.qualities||J.streaming?.defaultQualities||[],K,q);if(B)U.streaming={...U.streaming,dash:B}}}if(Z.spriteSheet)Y?.({percentage:90,stage:"generating-sprite-sheet"});return Y?.({percentage:100,stage:"complete"}),await p5($,Z,U,J),U}catch(G){return{src:$,processed:!1,errors:[`Processing failed: ${G}`]}}}async function kX($,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 o3=S(()=>{j1();A$();D$();E$()});var s3={};r(s3,{setCachedVideoResult:()=>p5,processVideo:()=>n3,getCachedVideoResult:()=>u5,generateThumbnails:()=>i5,generateSpriteSheet:()=>f3,generatePoster:()=>c5,generateHLSManifest:()=>o5,generateDASHManifest:()=>s5,clearVideoCache:()=>x3,analyzeVideo:()=>k$,VideoProcessorCache:()=>m5});var r3=S(()=>{o3();D$();E$();A$()});async function t3(){try{return await Promise.resolve().then(() => (r3(),s3))}catch($){if(!a3)console.warn("[stx-media] Video processor not available, some features disabled:",$),a3=!0;return null}}async function r5($,Z={}){let J=Z,Y=$;if(Y.process&&!Y.skipProcessing){if(J.tsVideosConfig?.enabled&&!J.isDev)return vX(Y,J)}if(J.processedResult?.processed)return Y6($,J.processedResult,Z);let Q;if(Y.generatePoster&&Y.src&&!$.poster)Q=await xX(Y,J);let{src:X,sources:G=[],poster:K,posterPlaceholder:q,controls:z=e3,autoplay:W=!1,muted:U=!1,loop:_=!1,preload:j=$6,playsinline:B=!0,lazy:O=!0,player:F="native",type:L,width:H,height:V,crossorigin:A,disablePictureInPicture:w=!1,disableRemotePlayback:N=!1}=$,R=Q||K,T=$.class,E=$.style,M=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(F==="ts-video")return yX($,Z);if(L&&L!=="video")return SX(X||"",L,$);let I=G.length>0?G:X?[{src:X,type:Z6(X)}]:[],D=[`id="${M}"`];if(z)D.push("controls");if(W)D.push("autoplay");if(U)D.push("muted");if(_)D.push("loop");if(B)D.push("playsinline");if(w)D.push("disablepictureinpicture");if(N)D.push("disableremoteplayback");if(A)D.push(`crossorigin="${A}"`);if(O){if(D.push(`data-preload="${j}"`),D.push('preload="none"'),R)D.push(`data-poster="${j0(R)}"`);D.push("data-stx-lazy")}else if(D.push(`preload="${j}"`),R)D.push(`poster="${j0(R)}"`);if(H)D.push(`width="${H}"`);if(V)D.push(`height="${V}"`);if(T)D.push(`class="${j0(T)}"`);if(E)D.push(`style="${j0(E)}"`);let P=I.map((b)=>{return` <source ${O?`data-src="${j0(b.src)}"`:`src="${j0(b.src)}"`} type="${b.type}"${b.media?` media="${b.media}"`:""} />`}).join(`
953
+ `),C=`<video ${D.join(" ")}>
954
+ ${P}
955
955
  Your browser does not support the video tag.
956
- </video>`,b;if(O)b=`
956
+ </video>`,k;if(O)k=`
957
957
  (function() {
958
958
  var video = document.getElementById('${M}');
959
959
  if (!video) return;
@@ -988,7 +988,7 @@ ${y}
988
988
 
989
989
  observer.observe(video);
990
990
  })();
991
- `.trim();return{html:S,script:b}}function SX($,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,z=null;switch(Z){case"youtube":z=CX($),q=z?`https://www.youtube-nocookie.com/embed/${z}`:$;break;case"vimeo":z=PX($),q=z?`https://player.vimeo.com/video/${z}`:$;break;case"dailymotion":z=$.split("/").pop()||"",q=`https://www.dailymotion.com/embed/video/${z}`;break;case"twitch":z=$.split("/").pop()||"",q=`https://player.twitch.tv/?video=${z}&parent=${typeof window<"u"?window.location.hostname:"localhost"}`;break;default:q=$}let W=[`id="${K}"`,`src="${j0(q)}"`,`width="${Y}"`,`height="${Q}"`,'frameborder="0"',"allowfullscreen",'allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"'];if(X)W.push(`class="${j0(X)}"`);if(G)W.push(`style="${j0(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;">
991
+ `.trim();return{html:C,script:k}}function SX($,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,z=null;switch(Z){case"youtube":z=CX($),q=z?`https://www.youtube-nocookie.com/embed/${z}`:$;break;case"vimeo":z=PX($),q=z?`https://player.vimeo.com/video/${z}`:$;break;case"dailymotion":z=$.split("/").pop()||"",q=`https://www.dailymotion.com/embed/video/${z}`;break;case"twitch":z=$.split("/").pop()||"",q=`https://player.twitch.tv/?video=${z}&parent=${typeof window<"u"?window.location.hostname:"localhost"}`;break;default:q=$}let W=[`id="${K}"`,`src="${j0(q)}"`,`width="${Y}"`,`height="${Q}"`,'frameborder="0"',"allowfullscreen",'allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"'];if(X)W.push(`class="${j0(X)}"`);if(G)W.push(`style="${j0(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;">
992
992
  <iframe ${W.join(" ")} style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe>
993
993
  </div>`}}function yX($,Z={}){let{src:J,sources:Y=[],poster:Q,controls:X=!0,autoplay:G=!1,muted:K=!1,loop:q=!1,preload:z="metadata",playsinline:W=!0,lazy:U=!0,width:_,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:z,poster:Q,controls:X,title:$.title},H=["position: relative",_?`width: ${typeof _==="number"?_+"px":_}`:"width: 100%",j?`height: ${typeof j==="number"?j+"px":j}`:"",O||""].filter(Boolean).join("; "),V=`
994
994
  <div
@@ -1157,12 +1157,12 @@ else {
1157
1157
  .ts-video-player__play-button svg {
1158
1158
  margin-left: 4px;
1159
1159
  }
1160
- `.trim();return{html:V,script:A,css:w}}function Z6($){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 CX($){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 PX($){let Z=$.match(/vimeo\.com\/(\d+)/);return Z?Z[1]:null}function j0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}async function vX($,Z){let J=await t3();if(!J)return r5({...$,process:!1},Z);let Y=Z.tsVideosConfig,Q=await J.processVideo($.src,$,Y,$.onProcessProgress);if(Q.processed)return Y6($,Q,Z);return r5({...$,process:!1},Z)}async function xX($,Z){let J=await t3();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 Y6($,Z,J){let{controls:Y=e3,autoplay:Q=!1,muted:X=!1,loop:G=!1,preload:K=$6,playsinline:q=!0,lazy:z=!0,width:W,height:U,crossorigin:_,disablePictureInPicture:j=!1,disableRemotePlayback:B=!1}=$,O=$.class,F=$.style,L=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`,H=$.src,V=Z6(H);if(Z.transcoded)H=Z.transcoded.url,V="video/mp4";let A=Z.streaming?.hls||Z.streaming?.dash;if(A){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,N=[`id="${L}"`];if(Y)N.push("controls");if(Q)N.push("autoplay");if(X)N.push("muted");if(G)N.push("loop");if(q)N.push("playsinline");if(j)N.push("disablepictureinpicture");if(B)N.push("disableremoteplayback");if(_)N.push(`crossorigin="${_}"`);if(z){if(N.push(`data-preload="${K}"`),N.push('preload="none"'),w)N.push(`data-poster="${j0(w)}"`);N.push("data-stx-lazy")}else if(N.push(`preload="${K}"`),w)N.push(`poster="${j0(w)}"`);let R=W||Z.metadata?.width,T=U||Z.metadata?.height;if(R)N.push(`width="${R}"`);if(T)N.push(`height="${T}"`);if(O)N.push(`class="${j0(O)}"`);if(F)N.push(`style="${j0(F)}"`);let M=` <source ${z?`data-src="${j0(H)}"`:`src="${j0(H)}"`} type="${V}" />`,E=`<video ${N.join(" ")}>
1160
+ `.trim();return{html:V,script:A,css:w}}function Z6($){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 CX($){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 PX($){let Z=$.match(/vimeo\.com\/(\d+)/);return Z?Z[1]:null}function j0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}async function vX($,Z){let J=await t3();if(!J)return r5({...$,process:!1},Z);let Y=Z.tsVideosConfig,Q=await J.processVideo($.src,$,Y,$.onProcessProgress);if(Q.processed)return Y6($,Q,Z);return r5({...$,process:!1},Z)}async function xX($,Z){let J=await t3();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 Y6($,Z,J){let{controls:Y=e3,autoplay:Q=!1,muted:X=!1,loop:G=!1,preload:K=$6,playsinline:q=!0,lazy:z=!0,width:W,height:U,crossorigin:_,disablePictureInPicture:j=!1,disableRemotePlayback:B=!1}=$,O=$.class,F=$.style,L=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`,H=$.src,V=Z6(H);if(Z.transcoded)H=Z.transcoded.url,V="video/mp4";let A=Z.streaming?.hls||Z.streaming?.dash;if(A){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,N=[`id="${L}"`];if(Y)N.push("controls");if(Q)N.push("autoplay");if(X)N.push("muted");if(G)N.push("loop");if(q)N.push("playsinline");if(j)N.push("disablepictureinpicture");if(B)N.push("disableremoteplayback");if(_)N.push(`crossorigin="${_}"`);if(z){if(N.push(`data-preload="${K}"`),N.push('preload="none"'),w)N.push(`data-poster="${j0(w)}"`);N.push("data-stx-lazy")}else if(N.push(`preload="${K}"`),w)N.push(`poster="${j0(w)}"`);let R=W||Z.metadata?.width,T=U||Z.metadata?.height;if(R)N.push(`width="${R}"`);if(T)N.push(`height="${T}"`);if(O)N.push(`class="${j0(O)}"`);if(F)N.push(`style="${j0(F)}"`);let M=` <source ${z?`data-src="${j0(H)}"`:`src="${j0(H)}"`} type="${V}" />`,I=`<video ${N.join(" ")}>
1161
1161
  ${M}
1162
1162
  Your browser does not support the video tag.
1163
- </video>`;if(Z.spriteSheet)E=`<div class="stx-video-wrapper" data-sprite-sheet="${j0(Z.spriteSheet.url)}" data-sprite-cols="${Z.spriteSheet.columns}" data-sprite-interval="${Z.spriteSheet.interval}">
1164
- ${E}
1165
- </div>`;let k;if(z)k=`
1163
+ </video>`;if(Z.spriteSheet)I=`<div class="stx-video-wrapper" data-sprite-sheet="${j0(Z.spriteSheet.url)}" data-sprite-cols="${Z.spriteSheet.columns}" data-sprite-interval="${Z.spriteSheet.interval}">
1164
+ ${I}
1165
+ </div>`;let D;if(z)D=`
1166
1166
  (function() {
1167
1167
  var video = document.getElementById('${L}');
1168
1168
  if (!video) return;
@@ -1197,7 +1197,7 @@ ${E}
1197
1197
 
1198
1198
  observer.observe(video);
1199
1199
  })();
1200
- `.trim();let y;if(A)y=`
1200
+ `.trim();let P;if(A)P=`
1201
1201
  .stx-video-wrapper {
1202
1202
  position: relative;
1203
1203
  width: 100%;
@@ -1206,9 +1206,9 @@ ${E}
1206
1206
  width: 100%;
1207
1207
  height: auto;
1208
1208
  }
1209
- `.trim();return{html:E,script:k,css:y}}var a3=!1,e3=!0,$6="metadata",bX="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";var J6=C(()=>{S$()});function X6(){return E5({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}=fX($,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},z=await r5(G,q),W=z.html;if(z.css)W+=`
1209
+ `.trim();return{html:I,script:D,css:P}}var a3=!1,e3=!0,$6="metadata",bX="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";var J6=S(()=>{S$()});function X6(){return E5({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}=fX($,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},z=await r5(G,q),W=z.html;if(z.css)W+=`
1210
1210
  <style>${z.css}</style>`;if(z.script)W+=`
1211
- <script>${z.script}</script>`;return W},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function fX($,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=gX(Y),X=Q6(Q[0],J)||"",G={};if(Q[1]){let K=Q6(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 gX($){let Z=[],J="",Y=!1,Q="",X=0,G=0;for(let K=0;K<$.length;K++){let q=$[K],z=K>0?$[K-1]:"";if((q==='"'||q==="'"||q==="`")&&z!=="\\"){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 Q6($,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 b$;var S$=C(()=>{Z$();J6();b$=X6()});function hX($,Z){let J=Z.pwa?.manifest?.themeColor||"#4f46e5";return`<div class="stx-pwa-install" style="display:none;">
1211
+ <script>${z.script}</script>`;return W},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function fX($,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=gX(Y),X=Q6(Q[0],J)||"",G={};if(Q[1]){let K=Q6(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 gX($){let Z=[],J="",Y=!1,Q="",X=0,G=0;for(let K=0;K<$.length;K++){let q=$[K],z=K>0?$[K-1]:"";if((q==='"'||q==="'"||q==="`")&&z!=="\\"){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 Q6($,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 b$;var S$=S(()=>{Z$();J6();b$=X6()});function hX($,Z){let J=Z.pwa?.manifest?.themeColor||"#4f46e5";return`<div class="stx-pwa-install" style="display:none;">
1212
1212
  ${$}
1213
1213
  </div>
1214
1214
  <script>
@@ -1507,7 +1507,7 @@ catch (error) {
1507
1507
  init();
1508
1508
  }
1509
1509
  })();
1510
- </script>`}var pX,lX,cX,iX,G6;var K6=C(()=>{pX={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"},lX={name:"pwa.updatePrompt",handler:($,Z,J,Y)=>{let Q=J.__stx_options||{};return dX($,Q)},hasEndTag:!0,description:"Renders a PWA update notification UI when a new version is available"},cX={name:"pwa.offlineIndicator",handler:($,Z,J,Y)=>{let Q=J.__stx_options||{};return mX($,Q)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},iX={name:"pwa.pushSubscribe",handler:($,Z,J,Y)=>{let Q=J.__stx_options||{};return uX($,Q)},hasEndTag:!0,description:"Renders a push notification subscription button"},G6=[pX,lX,cX,iX]});function y$($){for(let[Z,J]of Object.entries(u))if(J===$)return Z;return}var u;var a5=C(()=>{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 nX(){return!1}function J5(){return!nX()||process.env.STX_DEBUG==="true"}import oX from"path";function t5(){return{...C$}}function e5($){if(!C$.showRelativePaths||!$)return $;let Z=C$.baseDir||process.cwd();try{let J=oX.relative(Z,$);return J.startsWith("..")?$:J}catch{return $}}var sX,C$,$9,H1,Z9;var Y9=C(()=>{a5();sX={showRelativePaths:!1,enableAutoRecovery:J5(),logRecoveryWarnings:!0},C$={...sX};$9=class $9 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=e5(this.filePath)}};H1=class H1 extends $9{constructor($,Z,J,Y,Q,X){super($,"stx_RUNTIME_ERROR",Z,J,Y,Q,X||u.EVALUATION_ERROR);this.name="StxRuntimeError"}};Z9=class Z9 extends $9{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 W6($){let{type:Z,message:J,code:Y,filePath:Q,line:X,column:G,template:K,offset:q,snippet:z,suggestion:W,format:U="text"}=$,_=X,j=G;if(!_&&K&&q!==void 0){let H=ZQ(K,q);_=H.line,j=H.column}let B=Q?e5(Q):void 0,O=Y?y$(Y):void 0,F={type:Z,code:Y,codeName:O,message:J,filePath:B,line:_,column:j,snippet:z,suggestion:W,timestamp:new Date().toISOString()},L;switch(U){case"html":L=aX(F);break;case"json":L=JSON.stringify(F,null,2);break;case"console":L=tX(F,K,q);break;case"text":default:L=rX(F,K,q);break}return{formatted:L,data:F}}function rX($,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(`
1510
+ </script>`}var pX,lX,cX,iX,G6;var K6=S(()=>{pX={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"},lX={name:"pwa.updatePrompt",handler:($,Z,J,Y)=>{let Q=J.__stx_options||{};return dX($,Q)},hasEndTag:!0,description:"Renders a PWA update notification UI when a new version is available"},cX={name:"pwa.offlineIndicator",handler:($,Z,J,Y)=>{let Q=J.__stx_options||{};return mX($,Q)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},iX={name:"pwa.pushSubscribe",handler:($,Z,J,Y)=>{let Q=J.__stx_options||{};return uX($,Q)},hasEndTag:!0,description:"Renders a push notification subscription button"},G6=[pX,lX,cX,iX]});function y$($){for(let[Z,J]of Object.entries(u))if(J===$)return Z;return}var u;var a5=S(()=>{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 nX(){return!1}function J5(){return!nX()||process.env.STX_DEBUG==="true"}import oX from"path";function t5(){return{...C$}}function e5($){if(!C$.showRelativePaths||!$)return $;let Z=C$.baseDir||process.cwd();try{let J=oX.relative(Z,$);return J.startsWith("..")?$:J}catch{return $}}var sX,C$,$9,H1,Z9;var Y9=S(()=>{a5();sX={showRelativePaths:!1,enableAutoRecovery:J5(),logRecoveryWarnings:!0},C$={...sX};$9=class $9 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=e5(this.filePath)}};H1=class H1 extends $9{constructor($,Z,J,Y,Q,X){super($,"stx_RUNTIME_ERROR",Z,J,Y,Q,X||u.EVALUATION_ERROR);this.name="StxRuntimeError"}};Z9=class Z9 extends $9{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 W6($){let{type:Z,message:J,code:Y,filePath:Q,line:X,column:G,template:K,offset:q,snippet:z,suggestion:W,format:U="text"}=$,_=X,j=G;if(!_&&K&&q!==void 0){let H=ZQ(K,q);_=H.line,j=H.column}let B=Q?e5(Q):void 0,O=Y?y$(Y):void 0,F={type:Z,code:Y,codeName:O,message:J,filePath:B,line:_,column:j,snippet:z,suggestion:W,timestamp:new Date().toISOString()},L;switch(U){case"html":L=aX(F);break;case"json":L=JSON.stringify(F,null,2);break;case"console":L=tX(F,K,q);break;case"text":default:L=rX(F,K,q);break}return{formatted:L,data:F}}function rX($,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(`
1511
1511
  ${$.message}`),Z&&$.line){let X=eX(Z,$.line,2);if(X)Y.push(`
1512
1512
  ${X}`)}if($.snippet)Y.push(`
1513
1513
  Snippet: ${$.snippet}`);if($.suggestion)Y.push(`
@@ -1525,15 +1525,15 @@ ${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\
1525
1525
  `)}function $Q($,Z,J){let Y=$.split(`
1526
1526
  `),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",z=[];for(let W=Q;W<=X;W++){let U=(W+1).toString().padStart(4),_=W===Z-1,j=_?"\x1B[31m>\x1B[0m":" ",B=_?`\x1B[31m${Y[W]}\x1B[0m`:`\x1B[90m${Y[W]}\x1B[0m`;z.push(`${j}\x1B[90m${U}\x1B[0m | ${B}`)}return z.join(`
1527
1527
  `)}function q6($){return $.replace(/--/g,"- -").replace(/>/g,"&gt;")}function ZQ($,Z){let Y=$.substring(0,Z).split(`
1528
- `);return{line:Y.length,column:Y[Y.length-1].length}}function s($,Z,J){return W6({type:$,message:Z,code:J,format:"html"}).formatted}async function y1($,Z,J){try{return await $()}catch(Y){if(J&&Y instanceof Error)J(Y);return Z}}var z6=C(()=>{a5();Y9()});class v${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(`
1528
+ `);return{line:Y.length,column:Y[Y.length-1].length}}function s($,Z,J){return W6({type:$,message:Z,code:J,format:"html"}).formatted}async function y1($,Z,J){try{return await $()}catch(Y){if(J&&Y instanceof Error)J(Y);return Z}}var z6=S(()=>{a5();Y9()});class v${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(`
1529
1529
  `).slice(1).join(`
1530
1530
  `)}`);if($.context)Z.push(` Context: ${JSON.stringify($.context)}`);return Z.join(`
1531
1531
  `)}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($)}
1532
1532
  `;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(`
1533
1533
 
1534
- `),"utf-8")}}async flush(){await this.writeQueue}}var P$,x0,x$;var U6=C(()=>{Y9();P$={isEnabled(){return t5().enableAutoRecovery},fixCommonSyntaxErrors($){let Z=t5();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,z=(J.match(new RegExp(`@end${K}\\b`,"g"))||[]).length;if(q>z){let W=q-z;for(let U=0;U<W;U++)J+=`
1534
+ `),"utf-8")}}async flush(){await this.writeQueue}}var P$,x0,x$;var U6=S(()=>{Y9();P$={isEnabled(){return t5().enableAutoRecovery},fixCommonSyntaxErrors($){let Z=t5();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,z=(J.match(new RegExp(`@end${K}\\b`,"g"))||[]).length;if(q>z){let W=q-z;for(let U=0;U<W;U++)J+=`
1535
1535
  @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(J5())return`<!-- ${$} failed: ${Z.message} -->`;return"<!-- stx rendering error -->"}};x0=new v$,x$={isDevelopment(){return J5()},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(`
1536
- `)}}});var _6=()=>{};var B6=C(()=>{a5();z6();U6();_6();Y9()});var o0=C(()=>{B6()});function j6($,Z,J,Y){let Q=$;Q=Q.replace(/@meta\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(K,q,z)=>{if(!z&&q.includes(":")){let W=q.split(":"),U=q,_=W.length>1?W[1]:"";if(_&&Z[_])z=Z[_];else if(U.startsWith("og:")&&Z.openGraph&&Z.openGraph[W[1]])z=Z.openGraph[W[1]];else z="";return z?`<meta property="${d(U)}" content="${d(z)}">`:""}return z?`<meta name="${d(q)}" content="${d(z)}">`:""});let X=/@metaTag\s*\(/g,G;while((G=X.exec(Q))!==null){let K=G.index,q=K+G[0].length-1,z=1,W=q+1;while(W<Q.length&&z>0){if(Q[W]==="(")z++;else if(Q[W]===")"){if(z--,z===0)break}W++}if(z!==0)break;let U=Q.substring(q+1,W).trim(),_=W+1,j=(()=>{try{let B=F0(U,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 s("MetaTag",O,u.EVALUATION_ERROR)}})();Q=Q.substring(0,K)+j+Q.substring(_),X.lastIndex=0}return Q}function O6($,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,z=K+1;while(z<Y.length&&q>0){if(Y[z]==="(")q++;else if(Y[z]===")"){if(q--,q===0)break}z++}if(q!==0)break;let W=Y.substring(K+1,z).trim(),U=z+1,_=(()=>{try{let j=F0(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,u.EVALUATION_ERROR)}})();Y=Y.substring(0,G)+_+Y.substring(U),Q.lastIndex=0}return Y}function H6($,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,z=K+1,W=null,U=!1;while(z<Q.length&&q>0){let L=Q[z];if(U){U=!1,z++;continue}if(L==="\\"&&W){U=!0,z++;continue}if(W){if(L===W)W=null;z++;continue}if(L==='"'||L==="'"||L==="`"){W=L,z++;continue}if(L==="{")q++;else if(L==="}")q--;z++}if(q!==0)break;let _=Q.substring(z).match(/^\s*\)/);if(!_)break;let j=z+_[0].length,B=Q.substring(K,z),O=Q.substring(G.index,j),F=((L)=>{try{let H=F0(L,Z);if(!H)return"";let V="";if(H.title)V+=`<title>${d(H.title)}</title>
1536
+ `)}}});var _6=()=>{};var B6=S(()=>{a5();z6();U6();_6();Y9()});var o0=S(()=>{B6()});function j6($,Z,J,Y){let Q=$;Q=Q.replace(/@meta\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(K,q,z)=>{if(!z&&q.includes(":")){let W=q.split(":"),U=q,_=W.length>1?W[1]:"";if(_&&Z[_])z=Z[_];else if(U.startsWith("og:")&&Z.openGraph&&Z.openGraph[W[1]])z=Z.openGraph[W[1]];else z="";return z?`<meta property="${d(U)}" content="${d(z)}">`:""}return z?`<meta name="${d(q)}" content="${d(z)}">`:""});let X=/@metaTag\s*\(/g,G;while((G=X.exec(Q))!==null){let K=G.index,q=K+G[0].length-1,z=1,W=q+1;while(W<Q.length&&z>0){if(Q[W]==="(")z++;else if(Q[W]===")"){if(z--,z===0)break}W++}if(z!==0)break;let U=Q.substring(q+1,W).trim(),_=W+1,j=(()=>{try{let B=F0(U,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 s("MetaTag",O,u.EVALUATION_ERROR)}})();Q=Q.substring(0,K)+j+Q.substring(_),X.lastIndex=0}return Q}function O6($,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,z=K+1;while(z<Y.length&&q>0){if(Y[z]==="(")q++;else if(Y[z]===")"){if(q--,q===0)break}z++}if(q!==0)break;let W=Y.substring(K+1,z).trim(),U=z+1,_=(()=>{try{let j=F0(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,u.EVALUATION_ERROR)}})();Y=Y.substring(0,G)+_+Y.substring(U),Q.lastIndex=0}return Y}function H6($,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,z=K+1,W=null,U=!1;while(z<Q.length&&q>0){let L=Q[z];if(U){U=!1,z++;continue}if(L==="\\"&&W){U=!0,z++;continue}if(W){if(L===W)W=null;z++;continue}if(L==='"'||L==="'"||L==="`"){W=L,z++;continue}if(L==="{")q++;else if(L==="}")q--;z++}if(q!==0)break;let _=Q.substring(z).match(/^\s*\)/);if(!_)break;let j=z+_[0].length,B=Q.substring(K,z),O=Q.substring(G.index,j),F=((L)=>{try{let H=F0(L,Z);if(!H)return"";let V="";if(H.title)V+=`<title>${d(H.title)}</title>
1537
1537
  `,V+=`<meta name="title" content="${d(H.title)}">
1538
1538
  `;if(H.description)V+=`<meta name="description" content="${d(H.description)}">
1539
1539
  `;if(H.keywords){let A=Array.isArray(H.keywords)?H.keywords.join(", "):H.keywords;V+=`<meta name="keywords" content="${d(A)}">
@@ -1571,7 +1571,7 @@ ${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\
1571
1571
  `;let W=$;if(!X)W=W.replace(/<head[^>]*>/,`$&
1572
1572
  <title>${d(G)}</title>`);return W.replace(/<head[^>]*>/,`$&
1573
1573
  ${z}
1574
- `)}function d($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var F6,V6;var f$=C(()=>{o0();R0();F6={name:"meta",handler:($,Z,J,Y)=>{if(Z.length<1)return s("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},V6={name:"structuredData",handler:($,Z,J,Y)=>{if($.trim()==="")return s("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 s("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 s("StructuredData",X,u.EVALUATION_ERROR)}},hasEndTag:!0}});import X5 from"path";function YQ($,Z){let J=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Y=J?J[1].trim():"",Q=Z,X=[],G=!0;if(Y){let U=Y.match(/export\s+default\s+({[\s\S]*})/);if(U)try{let _=U[1],j=_.match(/tag\s*:\s*['"`]([^'"`]+)['"`]/);if(j)Q=j[1];let B=_.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=_.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():"",z=$.match(/<style\b[^>]*>([\s\S]*?)<\/style>/i),W=z?z[1].trim():"";return{tag:Q,props:X,template:q,styles:W,script:Y,shadowDOM:G}}function JQ($){let{tag:Z,props:J,template:Y,styles:Q,shadowDOM:X}=$,G=Z.split("-").map((U)=>U.charAt(0).toUpperCase()+U.slice(1)).join(""),K=Y.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),q=Q.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),z=J.map((U)=>`'${U}'`).join(", "),W=J.map((U)=>`
1574
+ `)}function d($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var F6,V6;var f$=S(()=>{o0();R0();F6={name:"meta",handler:($,Z,J,Y)=>{if(Z.length<1)return s("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},V6={name:"structuredData",handler:($,Z,J,Y)=>{if($.trim()==="")return s("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 s("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 s("StructuredData",X,u.EVALUATION_ERROR)}},hasEndTag:!0}});import X5 from"path";function YQ($,Z){let J=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Y=J?J[1].trim():"",Q=Z,X=[],G=!0;if(Y){let U=Y.match(/export\s+default\s+({[\s\S]*})/);if(U)try{let _=U[1],j=_.match(/tag\s*:\s*['"`]([^'"`]+)['"`]/);if(j)Q=j[1];let B=_.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=_.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():"",z=$.match(/<style\b[^>]*>([\s\S]*?)<\/style>/i),W=z?z[1].trim():"";return{tag:Q,props:X,template:q,styles:W,script:Y,shadowDOM:G}}function JQ($){let{tag:Z,props:J,template:Y,styles:Q,shadowDOM:X}=$,G=Z.split("-").map((U)=>U.charAt(0).toUpperCase()+U.slice(1)).join(""),K=Y.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),q=Q.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),z=J.map((U)=>`'${U}'`).join(", "),W=J.map((U)=>`
1575
1575
  get ${U}() {
1576
1576
  return this.getAttribute('${U}') || '';
1577
1577
  }
@@ -1624,14 +1624,14 @@ ${W}
1624
1624
  customElements.define('${Z}', ${G});
1625
1625
  `}async function w6($,Z,J,Y){if(Z.length<1)return s("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=[X5.join(X5.dirname(Y),G,`${Q}.stx`),X5.join(process.cwd(),G,`${Q}.stx`),X5.join(X5.dirname(Y),`${Q}.stx`)],q=null;for(let U of K)if(await l(U)){q=await Bun.file(U).text();break}if(!q)return s("WebComponent",`Component file not found: ${Q}.stx`,u.FILE_NOT_FOUND);let z=YQ(q,Q);return`<script type="module">
1626
1626
  ${JQ(z)}
1627
- </script>`}var A6=C(()=>{o0();A0()});var N6={};r(N6,{timingPlugin:()=>qQ,pluginManager:()=>XQ,definePlugin:()=>J9,debugPlugin:()=>KQ,createVariablesPlugin:()=>WQ,createFilterPlugin:()=>GQ,createDirectivePlugin:()=>QQ,PluginManager:()=>g$});function J9($){return $}class g${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 QQ($,Z,J={}){return{name:$,...J,registerDirectives:()=>Z}}function GQ($,Z,J={}){return{name:$,...J,registerFilters:()=>Z}}function WQ($){return J9({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(Z){return{context:{...Z.context,...$}}}})}var XQ,KQ,qQ;var R6=C(()=>{XQ=new g$;KQ=J9({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)}}),qQ=J9({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 M6={};r(M6,{validateConfig:()=>BQ,loadStxConfig:()=>L1,defineStxConfig:()=>_Q,defaultConfig:()=>d$,config:()=>m$});import h$ from"fs";import M0 from"path";import{loadConfigWithResult as zQ}from"bunfig";function UQ($,Z){let J=Z||"pages";if($)return{root:$,pagesDir:J};let Y=M0.join(process.cwd(),"resources","views"),Q=M0.join(process.cwd(),"resources","layouts");if(h$.existsSync(Y)&&h$.existsSync(Q))return{root:"resources",pagesDir:"views"};let X=M0.join(process.cwd(),"resources","views","pages");if(h$.existsSync(X))return{root:"resources/views",pagesDir:J};return{root:".",pagesDir:J}}async function L1($){if(!$){if(C1)return C1;if(X9)return X9}let Z=$?M0.resolve($):process.cwd(),J=T6.get(Z);if(J)return J;let Y=(async()=>{let X=(await zQ({name:"stx",alias:"ui",cwd:Z,defaultConfig:d$,verbose:!1})).config,G=UQ(X.root,X.pagesDir);if(X.root=G.root,X.pagesDir=G.pagesDir,X.root&&X.root!=="."){let K=X.root;if(X.partialsDir&&!M0.isAbsolute(X.partialsDir))X.partialsDir=M0.join(K,X.partialsDir);if(X.componentsDir&&!M0.isAbsolute(X.componentsDir))X.componentsDir=M0.join(K,X.componentsDir);if(X.layoutsDir&&!M0.isAbsolute(X.layoutsDir))X.layoutsDir=M0.join(K,X.layoutsDir)}if(X.plugins&&X.plugins.length>0){let{pluginManager:K}=await Promise.resolve().then(() => (R6(),N6)),q=[],z=[];for(let W of X.plugins){let U=typeof W==="string"?W:W[0],_=typeof W==="string"?{}:W[1]||{};try{let j,B;try{j=await import(U),B=M0.dirname(Y0.resolve(U))}catch{let F=M0.resolve(process.cwd(),U);j=await import(F),B=M0.dirname(F)}let O=j.default||j;if(K.register(O,X),O.components){let F=M0.resolve(B,O.components);q.push(F)}if(O.pages){let F=M0.resolve(B,O.pages),L=_.path||"/";z.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(_,F)}console.log(`[stx] Plugin loaded: ${O.name||U}`)}catch(j){console.warn(`[stx] Failed to load plugin ${U}:`,j.message)}}X._pluginComponentDirs=q,X._pluginPageDirs=z}return X})();if(T6.set(Z,Y),!$)X9=Y,Y.then((Q)=>{C1=Q}).catch(()=>{});return Y}function _Q($){return $}function BQ($){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 d$,C1=null,T6,X9=null,m$;var Q5=C(()=>{v9();x9();f9();g9();$$();v3();S$();K6();f$();A6();d$={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:K3,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:w6,hasEndTag:!1,description:"Include a web component in the template"},W7,z7,F6,V6,U7,B7,j7,_7,F7,A7,P3,b$,...G6],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}};T6=new Map;m$=new Proxy(d$,{get($,Z){if(C1&&Z in C1)return C1[Z];if(!X9)L1().catch((J)=>{console.warn("[stx] Failed to load config file:",J?.message||J)});return $[Z]}})});var S6={};r(S6,{resetCssCache:()=>OQ,resetCrosswindCache:()=>HQ,rebuildCrosswindCSS:()=>LQ,loadCrosswindConfig:()=>l$,loadCrosswind:()=>p$,injectCrosswindCSS:()=>K5,getCachedCSS:()=>FQ,generateCrosswindCSS:()=>b6,extractClassNames:()=>k6,buildCrosswindCSS:()=>E6});import I6 from"fs";import Q0 from"path";async function D6($){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 jQ(){let $=[],Z=process.env.HOME||process.env.USERPROFILE||"",J=process.cwd();while(J!==Q0.dirname(J))$.push(Q0.join(J,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(Q0.join(J,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(Q0.join(J,"node_modules","@stacksjs","crosswind","dist","index.js")),J=Q0.dirname(J);if(Z){let Y=[Q0.join(Z,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),Q0.join(Z,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),Q0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),Q0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),Q0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),Q0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...Y)}return $.push(Q0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),$.push(Q0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),$}async function p$(){if(u$)return v1;u$=!0;try{let $=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let J of $){let Y=await D6(J);if(Y)return v1=Y,console.log(`${W0.green}[Crosswind]${W0.reset} CSS engine loaded`),v1}let Z=jQ();for(let J of Z)if(await Bun.file(J).exists()){let Y=await D6(J);if(Y)return v1=Y,console.log(`${W0.green}[Crosswind]${W0.reset} CSS engine loaded from ${Q0.dirname(Q0.dirname(J))}`),v1}throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${W0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${W0.reset}`),console.warn(`${W0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${W0.reset}`),null}}function OQ(){Q9.clear()}function HQ(){v1=null,u$=!1,h0=null,G5="",Q9.clear()}async function l$($){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=Q0.relative($,J.path);return console.log(`${W0.green}[Crosswind]${W0.reset} Loaded config from ${Y||J.path}`),J.config}catch(Z){if(Z instanceof Error&&Z.name==="ConfigNotFoundError")return null;return console.warn(`${W0.yellow}[Crosswind]${W0.reset} Failed to load crosswind config:`,Z instanceof Error?Z.message:Z),null}}async function E6($){if(P1)return G5;P1=!0;try{let Z=await p$();if(!Z||!Z.build)return P1=!1,"";if(!h0)h0=await l$($);if(!h0)return P1=!1,"";let J=Z.defaultConfig?.theme||{},Y=h0.theme||{},Q={...Z.defaultConfig,...h0,theme:{...J,...Y,extend:{...J.extend||{},...Y.extend||{}}}},X=performance.now(),G=await Z.build(Q),K=performance.now()-X;if(G5=G.css,console.log(`${W0.cyan}[Crosswind]${W0.reset} Built ${G.classes.size} classes in ${K.toFixed(1)}ms`),Q.output){let q=Q0.isAbsolute(Q.output)?Q.output:Q0.join($,Q.output),z=Q0.dirname(q);if(!I6.existsSync(z))I6.mkdirSync(z,{recursive:!0});await Bun.write(q,G.css)}return P1=!1,G.css}catch(Z){return console.error(`${W0.red}[Crosswind]${W0.reset} Build error:`,Z),P1=!1,G5}}async function LQ($){h0=null,await E6($)}function FQ(){return G5}function k6($){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 b6($,Z){try{let J=await p$();if(!J)return"";let Y=k6($);if(Y.size===0)return"";let Q=[...Y].sort().join(" "),X=Q9.get(Q);if(X!==void 0)return X;let G=Z?Q0.resolve(Z):process.cwd();if(!h0){let V=null;try{let{loadStxConfig:A}=await Promise.resolve().then(() => (Q5(),M6)),w=await A(G);if(w.css)if(typeof w.css==="string"){let N=Q0.isAbsolute(w.css)?w.css:Q0.resolve(G,w.css);if(await Bun.file(N).exists()){let R=await import(N);V=R.default||R,console.log(`${W0.green}[Crosswind]${W0.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 N=Q0.isAbsolute(w.css.config)?w.css.config:Q0.resolve(G,w.css.config);if(await Bun.file(N).exists()){let R=await import(N);V={...R.default||R,...V}}}console.log(`${W0.green}[Crosswind]${W0.reset} Using inline CSS config from stx.config.ts`)}}catch{}h0=V||await l$(G)}let K=J.defaultConfig||J.config,q=h0||{},z=K.theme||{},U=(q.theme||{}).extend||{},_={...z};if(Object.keys(U).length>0)_.extend=U;let j=[...K.safelist||[],...q.safelist||[]],B={...K,...q,content:[],output:"",preflight:!0,minify:!1,theme:_,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,A]of Object.entries(L)){if(!Y.has(V)&&!j.includes(V))continue;let w=A.split(/\s+/).filter(Boolean);for(let N of w)O.generate(N)}F=O.toCSS(!0,!1);let H=F.split(`
1628
- `);for(let[V,A]of Object.entries(L)){if(!Y.has(V)&&!j.includes(V))continue;let w=A.split(/\s+/).filter(Boolean),N=[],R=[];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)R.push(x[1].trim());else N.push(x[1].trim());break}}}if(N.length)F+=`
1627
+ </script>`}var A6=S(()=>{o0();A0()});var N6={};r(N6,{timingPlugin:()=>qQ,pluginManager:()=>XQ,definePlugin:()=>J9,debugPlugin:()=>KQ,createVariablesPlugin:()=>WQ,createFilterPlugin:()=>GQ,createDirectivePlugin:()=>QQ,PluginManager:()=>g$});function J9($){return $}class g${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 QQ($,Z,J={}){return{name:$,...J,registerDirectives:()=>Z}}function GQ($,Z,J={}){return{name:$,...J,registerFilters:()=>Z}}function WQ($){return J9({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(Z){return{context:{...Z.context,...$}}}})}var XQ,KQ,qQ;var R6=S(()=>{XQ=new g$;KQ=J9({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)}}),qQ=J9({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 M6={};r(M6,{validateConfig:()=>BQ,loadStxConfig:()=>L1,defineStxConfig:()=>_Q,defaultConfig:()=>d$,config:()=>m$});import h$ from"fs";import M0 from"path";import{loadConfigWithResult as zQ}from"bunfig";function UQ($,Z){let J=Z||"pages";if($)return{root:$,pagesDir:J};let Y=M0.join(process.cwd(),"resources","views"),Q=M0.join(process.cwd(),"resources","layouts");if(h$.existsSync(Y)&&h$.existsSync(Q))return{root:"resources",pagesDir:"views"};let X=M0.join(process.cwd(),"resources","views","pages");if(h$.existsSync(X))return{root:"resources/views",pagesDir:J};return{root:".",pagesDir:J}}async function L1($){if(!$){if(C1)return C1;if(X9)return X9}let Z=$?M0.resolve($):process.cwd(),J=T6.get(Z);if(J)return J;let Y=(async()=>{let X=(await zQ({name:"stx",alias:"ui",cwd:Z,defaultConfig:d$,verbose:!1})).config,G=UQ(X.root,X.pagesDir);if(X.root=G.root,X.pagesDir=G.pagesDir,X.root&&X.root!=="."){let K=X.root;if(X.partialsDir&&!M0.isAbsolute(X.partialsDir))X.partialsDir=M0.join(K,X.partialsDir);if(X.componentsDir&&!M0.isAbsolute(X.componentsDir))X.componentsDir=M0.join(K,X.componentsDir);if(X.layoutsDir&&!M0.isAbsolute(X.layoutsDir))X.layoutsDir=M0.join(K,X.layoutsDir)}if(X.plugins&&X.plugins.length>0){let{pluginManager:K}=await Promise.resolve().then(() => (R6(),N6)),q=[],z=[];for(let W of X.plugins){let U=typeof W==="string"?W:W[0],_=typeof W==="string"?{}:W[1]||{};try{let j,B;try{j=await import(U),B=M0.dirname(Y0.resolve(U))}catch{let F=M0.resolve(process.cwd(),U);j=await import(F),B=M0.dirname(F)}let O=j.default||j;if(K.register(O,X),O.components){let F=M0.resolve(B,O.components);q.push(F)}if(O.pages){let F=M0.resolve(B,O.pages),L=_.path||"/";z.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(_,F)}console.log(`[stx] Plugin loaded: ${O.name||U}`)}catch(j){console.warn(`[stx] Failed to load plugin ${U}:`,j.message)}}X._pluginComponentDirs=q,X._pluginPageDirs=z}return X})();if(T6.set(Z,Y),!$)X9=Y,Y.then((Q)=>{C1=Q}).catch(()=>{});return Y}function _Q($){return $}function BQ($){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 d$,C1=null,T6,X9=null,m$;var Q5=S(()=>{v9();x9();f9();g9();$$();v3();S$();K6();f$();A6();d$={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:K3,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:w6,hasEndTag:!1,description:"Include a web component in the template"},W7,z7,F6,V6,U7,B7,j7,_7,F7,A7,P3,b$,...G6],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}};T6=new Map;m$=new Proxy(d$,{get($,Z){if(C1&&Z in C1)return C1[Z];if(!X9)L1().catch((J)=>{console.warn("[stx] Failed to load config file:",J?.message||J)});return $[Z]}})});var S6={};r(S6,{resetCssCache:()=>OQ,resetCrosswindCache:()=>HQ,rebuildCrosswindCSS:()=>LQ,loadCrosswindConfig:()=>l$,loadCrosswind:()=>p$,injectCrosswindCSS:()=>K5,getCachedCSS:()=>FQ,generateCrosswindCSS:()=>b6,extractClassNames:()=>k6,buildCrosswindCSS:()=>E6});import I6 from"fs";import Q0 from"path";async function D6($){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 jQ(){let $=[],Z=process.env.HOME||process.env.USERPROFILE||"",J=process.cwd();while(J!==Q0.dirname(J))$.push(Q0.join(J,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(Q0.join(J,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(Q0.join(J,"node_modules","@stacksjs","crosswind","dist","index.js")),J=Q0.dirname(J);if(Z){let Y=[Q0.join(Z,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),Q0.join(Z,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),Q0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),Q0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),Q0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),Q0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...Y)}return $.push(Q0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),$.push(Q0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),$}async function p$(){if(u$)return v1;u$=!0;try{let $=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let J of $){let Y=await D6(J);if(Y)return v1=Y,console.log(`${z0.green}[Crosswind]${z0.reset} CSS engine loaded`),v1}let Z=jQ();for(let J of Z)if(await Bun.file(J).exists()){let Y=await D6(J);if(Y)return v1=Y,console.log(`${z0.green}[Crosswind]${z0.reset} CSS engine loaded from ${Q0.dirname(Q0.dirname(J))}`),v1}throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${z0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${z0.reset}`),console.warn(`${z0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${z0.reset}`),null}}function OQ(){Q9.clear()}function HQ(){v1=null,u$=!1,h0=null,G5="",Q9.clear()}async function l$($){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=Q0.relative($,J.path);return console.log(`${z0.green}[Crosswind]${z0.reset} Loaded config from ${Y||J.path}`),J.config}catch(Z){if(Z instanceof Error&&Z.name==="ConfigNotFoundError")return null;return console.warn(`${z0.yellow}[Crosswind]${z0.reset} Failed to load crosswind config:`,Z instanceof Error?Z.message:Z),null}}async function E6($){if(P1)return G5;P1=!0;try{let Z=await p$();if(!Z||!Z.build)return P1=!1,"";if(!h0)h0=await l$($);if(!h0)return P1=!1,"";let J=Z.defaultConfig?.theme||{},Y=h0.theme||{},Q={...Z.defaultConfig,...h0,theme:{...J,...Y,extend:{...J.extend||{},...Y.extend||{}}}},X=performance.now(),G=await Z.build(Q),K=performance.now()-X;if(G5=G.css,console.log(`${z0.cyan}[Crosswind]${z0.reset} Built ${G.classes.size} classes in ${K.toFixed(1)}ms`),Q.output){let q=Q0.isAbsolute(Q.output)?Q.output:Q0.join($,Q.output),z=Q0.dirname(q);if(!I6.existsSync(z))I6.mkdirSync(z,{recursive:!0});await Bun.write(q,G.css)}return P1=!1,G.css}catch(Z){return console.error(`${z0.red}[Crosswind]${z0.reset} Build error:`,Z),P1=!1,G5}}async function LQ($){h0=null,await E6($)}function FQ(){return G5}function k6($){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 b6($,Z){try{let J=await p$();if(!J)return"";let Y=k6($);if(Y.size===0)return"";let Q=[...Y].sort().join(" "),X=Q9.get(Q);if(X!==void 0)return X;let G=Z?Q0.resolve(Z):process.cwd();if(!h0){let V=null;try{let{loadStxConfig:A}=await Promise.resolve().then(() => (Q5(),M6)),w=await A(G);if(w.css)if(typeof w.css==="string"){let N=Q0.isAbsolute(w.css)?w.css:Q0.resolve(G,w.css);if(await Bun.file(N).exists()){let R=await import(N);V=R.default||R,console.log(`${z0.green}[Crosswind]${z0.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 N=Q0.isAbsolute(w.css.config)?w.css.config:Q0.resolve(G,w.css.config);if(await Bun.file(N).exists()){let R=await import(N);V={...R.default||R,...V}}}console.log(`${z0.green}[Crosswind]${z0.reset} Using inline CSS config from stx.config.ts`)}}catch{}h0=V||await l$(G)}let K=J.defaultConfig||J.config,q=h0||{},z=K.theme||{},U=(q.theme||{}).extend||{},_={...z};if(Object.keys(U).length>0)_.extend=U;let j=[...K.safelist||[],...q.safelist||[]],B={...K,...q,content:[],output:"",preflight:!0,minify:!1,theme:_,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,A]of Object.entries(L)){if(!Y.has(V)&&!j.includes(V))continue;let w=A.split(/\s+/).filter(Boolean);for(let N of w)O.generate(N)}F=O.toCSS(!0,!1);let H=F.split(`
1628
+ `);for(let[V,A]of Object.entries(L)){if(!Y.has(V)&&!j.includes(V))continue;let w=A.split(/\s+/).filter(Boolean),N=[],R=[];for(let T of w){let E=T.startsWith("dark:"),D=`.${(E?T.slice(5):T).replace(/\//g,"\\/").replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%")}`;for(let P=0;P<H.length;P++){let C=H[P].trim();if(C===`${D} {`||C.startsWith(`${D} {`)){let k=P,b="";while(k<H.length){if(b+=H[k],H[k].includes("}"))break;k++}let x=b.match(/\{([^}]+)\}/);if(x)if(E)R.push(x[1].trim());else N.push(x[1].trim());break}}}if(N.length)F+=`
1629
1629
  .${V} { ${N.join(" ")} }`;if(R.length)F+=`
1630
1630
  @media (prefers-color-scheme: dark) { .dark .${V} { ${R.join(" ")} } }`}return Q9.set(Q,F),F}catch(J){return console.warn("Failed to generate Crosswind CSS:",J),""}}async function K5($,Z){if($.includes('data-crosswind="generated"'))return $;let J=await b6($,Z);if(!J)return $;let Y=`<style data-crosswind="generated">
1631
1631
  ${J}
1632
1632
  </style>`;if($.includes("</head>"))return $.replace("</head>",`${Y}
1633
1633
  </head>`);if($.includes("<body"))return $.replace(/<body([^>]*)>/,`<body$1>
1634
- ${Y}`);return Y+$}var v1=null,u$=!1,h0=null,G5="",P1=!1,Q9;var G9=C(()=>{K7();Q9=new Map});function y6(){return`
1634
+ ${Y}`);return Y+$}var v1=null,u$=!1,h0=null,G5="",P1=!1,Q9;var G9=S(()=>{K7();Q9=new Map});function y6(){return`
1635
1635
  // STX Lifecycle Runtime
1636
1636
  (function() {
1637
1637
  if (typeof window === 'undefined') return;
@@ -1976,7 +1976,7 @@ else {
1976
1976
 
1977
1977
  console.log('[stx] Lifecycle runtime initialized');
1978
1978
  })();
1979
- `}function c$($){return Symbol($)}var JB,XB,QB;var C6=C(()=>{JB=c$("theme"),XB=c$("router"),QB=c$("i18n")});import*as v6 from"crypto";function P6($){let Z=/\$(\w+)\./g,J=[],Y;while((Y=Z.exec($))!==null)if(!J.includes(Y[1]))J.push(Y[1]);return J}function VQ(){return`stx-${v6.randomBytes(4).toString("hex")}`}function wQ($){return/\$\w+\./.test($)}function AQ($){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 z=[],W=!1,U=K,_=/(\w+(?:-\w+)*)\s*=\s*"([^"]*\{\{[^}]*\$\w+[^}]*\}\}[^"]*)"/g,j=[...K.matchAll(_)];for(let F of j){let L=F[0],H=F[1],V=F[2];if(wQ(V)){W=!0;let A=V.match(/\{\{\s*([\s\S]+?)\s*\}\}/);if(A){let w=A[1];if(z.push({attr:H,expr:w,fullMatch:L,originalAttr:H}),P6(w).forEach((R)=>J.add(R)),H==="text")U=U.replace(L,"");else if(H==="class")U=U.replace(L,'class=""');else if(H==="disabled"||H==="hidden")U=U.replace(L,"");else U=U.replace(L,`${H}=""`)}}}if(!W)return X;let B=U.match(/\bid\s*=\s*"([^"]+)"/),O;if(B)O=B[1];else O=VQ(),U=` id="${O}"${U}`;for(let F of z)Z.push({elementId:O,attribute:F.attr,expression:F.expr,stores:P6(F.expr)});return`<${G}${U}${q}`}),{html:Q,bindings:Z,stores:J}}function NQ($,Z){if($.length===0)return"";let J=Array.from(Z),Y=`
1979
+ `}function c$($){return Symbol($)}var JB,XB,QB;var C6=S(()=>{JB=c$("theme"),XB=c$("router"),QB=c$("i18n")});import*as v6 from"crypto";function P6($){let Z=/\$(\w+)\./g,J=[],Y;while((Y=Z.exec($))!==null)if(!J.includes(Y[1]))J.push(Y[1]);return J}function VQ(){return`stx-${v6.randomBytes(4).toString("hex")}`}function wQ($){return/\$\w+\./.test($)}function AQ($){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 z=[],W=!1,U=K,_=/(\w+(?:-\w+)*)\s*=\s*"([^"]*\{\{[^}]*\$\w+[^}]*\}\}[^"]*)"/g,j=[...K.matchAll(_)];for(let F of j){let L=F[0],H=F[1],V=F[2];if(wQ(V)){W=!0;let A=V.match(/\{\{\s*([\s\S]+?)\s*\}\}/);if(A){let w=A[1];if(z.push({attr:H,expr:w,fullMatch:L,originalAttr:H}),P6(w).forEach((R)=>J.add(R)),H==="text")U=U.replace(L,"");else if(H==="class")U=U.replace(L,'class=""');else if(H==="disabled"||H==="hidden")U=U.replace(L,"");else U=U.replace(L,`${H}=""`)}}}if(!W)return X;let B=U.match(/\bid\s*=\s*"([^"]+)"/),O;if(B)O=B[1];else O=VQ(),U=` id="${O}"${U}`;for(let F of z)Z.push({elementId:O,attribute:F.attr,expression:F.expr,stores:P6(F.expr)});return`<${G}${U}${q}`}),{html:Q,bindings:Z,stores:J}}function NQ($,Z){if($.length===0)return"";let J=Array.from(Z),Y=`
1980
1980
  <script>
1981
1981
  (function() {
1982
1982
  'use strict';
@@ -2245,7 +2245,7 @@ else {
2245
2245
  `)}
2246
2246
  })();
2247
2247
  </script>`}function PQ($){let Z=l6($);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,"\\$&"),z=new RegExp(`\\s*${q}\\s*=\\s*"[^"]*"`,"g"),W=new RegExp(`\\s*${q}\\s*=\\s*'[^']*'`,"g");G=G.replace(z,""),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 c6($,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:z}=PQ($),W=Z.__stx_event_bindings||[];return Z.__stx_event_bindings=[...W,...z],q}let Q=l6($);if(Q.length===0)return $;let X=$;for(let q=Q.length-1;q>=0;q--){let z=Q[q],W=z.originalTag;if(!W.includes(" id="))W=W.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${z.elementId}"`);else{let U=W.match(/id=["']([^"']+)["']/);if(U)for(let _ of z.events)_.elementId=U[1]}for(let U of z.events){let _=U.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),j=new RegExp(`\\s*${_}\\s*=\\s*"[^"]*"`,"g"),B=new RegExp(`\\s*${_}\\s*=\\s*'[^']*'`,"g");W=W.replace(j,""),W=W.replace(B,"")}X=X.slice(0,z.startIndex)+W+X.slice(z.endIndex)}let G=CQ(Q),K=X.lastIndexOf("</body>");if(K!==-1)X=X.slice(0,K)+G+`
2248
- `+X.slice(K);else X+=G;return X}var d6,m6,kQ,p6;var i6=C(()=>{d6=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"]),m6={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"},kQ=new Set(["ctrl","alt","shift","meta"]),p6={left:0,middle:1,right:2}});function K9($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function n6($,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 xQ($){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=n6(G,"x-data");if(!q)continue;let z=`__stx_scope_${s6++}`,W=n6(G,"x-init"),U=fQ($,X,K+Q.length),_=$.slice(K,U.endIndex),j=gQ(_);Z.push({id:z,selector:`[data-stx-scope="${z}"]`,stateExpr:q,initExpr:W,bindings:[],refs:j})}return Z}function fQ($,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($),z=G.exec($),W=K.exec($);if(W&&W.index<(q?.index??1/0)){Q=W.index+W[0].length;continue}if(!z)return{endIndex:$.length};if(q&&q.index<z.index)Y++,Q=q.index+q[0].length;else{if(Y--,Y===0)return{endIndex:z.index+z[0].length};Q=z.index+z[0].length}}return{endIndex:$.length}}function gQ($){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_${vQ++}`}function dQ(){return`
2248
+ `+X.slice(K);else X+=G;return X}var d6,m6,kQ,p6;var i6=S(()=>{d6=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"]),m6={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"},kQ=new Set(["ctrl","alt","shift","meta"]),p6={left:0,middle:1,right:2}});function K9($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function n6($,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 xQ($){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=n6(G,"x-data");if(!q)continue;let z=`__stx_scope_${s6++}`,W=n6(G,"x-init"),U=fQ($,X,K+Q.length),_=$.slice(K,U.endIndex),j=gQ(_);Z.push({id:z,selector:`[data-stx-scope="${z}"]`,stateExpr:q,initExpr:W,bindings:[],refs:j})}return Z}function fQ($,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($),z=G.exec($),W=K.exec($);if(W&&W.index<(q?.index??1/0)){Q=W.index+W[0].length;continue}if(!z)return{endIndex:$.length};if(q&&q.index<z.index)Y++,Q=q.index+q[0].length;else{if(Y--,Y===0)return{endIndex:z.index+z[0].length};Q=z.index+z[0].length}}return{endIndex:$.length}}function gQ($){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_${vQ++}`}function dQ(){return`
2249
2249
  // STX Reactive Runtime - x-cloak and transition CSS
2250
2250
  (function() {
2251
2251
  var style = document.createElement('style');
@@ -2464,11 +2464,11 @@ window.__stx_reactive = (function() {
2464
2464
  ${dQ()}
2465
2465
  ${J}
2466
2466
  </script>`}function r6($,Z,J){if(s6=0,!pQ($))return $;let Y=xQ($);if(Y.length===0)return $;let Q=uQ($,Y),X=mQ(Y,Z),G=Q.lastIndexOf("</body>");if(G!==-1)Q=Q.slice(0,G)+X+`
2467
- `+Q.slice(G);else Q+=X;return Q}function uQ($,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*["']${K9(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*["']${K9(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*"${K9(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*'${K9(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 pQ($){return/x-data\s*=\s*["']/.test($)}var s6=0,vQ=0;var a6=C(()=>{n0()});import lQ from"fs";import i$ from"path";import{createHighlighter as cQ}from"ts-syntax-highlighter";async function iQ($,Z={}){try{if(!await l($))throw Error(`Markdown file not found: ${$}`);let Y=(await lQ.promises.stat($)).mtime.getTime();if(Z.cache&&n$.has($)){let U=n$.get($);if(U.updatedAt>=Y)return{content:U.content,data:U.data}}let Q=await Bun.file($).text(),{data:X,content:G}=R7(Q),K=Z.markdown||m$.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},z=n1(G,{gfm:!0});if(K.syntaxHighlighting?.enabled&&K.syntaxHighlighting?.serverSide)z=await nQ(z,K.syntaxHighlighting?.defaultTheme||"github-dark",K.syntaxHighlighting?.highlightUnknownLanguages||!1);let W={content:z,data:X||{}};if(Z.cache)n$.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:X0("Markdown File",`Error reading/parsing markdown file: ${Y}`,$,"",0,""),data:{}}}}async function nQ($,Z,J){let Y=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!q9)try{q9=await cQ({theme:Z||"github-dark",cache:!0})}catch(K){return console.error("Failed to initialize ts-syntax-highlighter:",K),$}let Q=async(K,q,z,W)=>{let U=W.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#39;/g,"'"),_=z||(J?"text":"");if(!_)return K;try{if(!q9.getSupportedLanguages().includes(_))return K;return(await q9.highlight(U,_,{theme:Z})).html}catch(j){console.error(`Error highlighting code block with language ${z}:`,j)}return K},X=$,G=$.matchAll(Y);for(let K of G){let[q,z,W,U]=K,_=await Q(q,z,W,U);X=X.replace(q,_)}return X}async function t6($,Z,J="",Y={}){return await oQ($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(G,K,q,z)=>{try{let W=K;if(!i$.isAbsolute(K))W=i$.resolve(i$.dirname(J),K);let U={};if(q)try{try{U=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 A=V.indexOf(":");if(A>0){let w=V.substring(0,A).trim(),N=V.substring(A+1).trim(),R=N.startsWith('"')&&N.endsWith('"'),T=N.startsWith("'")&&N.endsWith("'");if(R||T)N=N.substring(1,N.length-1);U[w]=N}}}}catch(L){if(Y.debug)console.error("Error parsing context in @markdown-file directive:",L)}let{content:_,data:j}=await iQ(W,Y),B={...Z,...j,...U},O=_,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 U=W instanceof Error?W.message:String(W);return X0("Markdown File",`Error including markdown file: ${U}`,J,$,z,G)}})}async function oQ($,Z,J){let Y=[],Q;while((Q=Z.exec($))!==null){let K=Q[0],q=Q.index,z=Q;Y.push(J(...z).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 n$,q9=null;var e6=C(()=>{Q5();A0();n$=new Map});function Z1($,Z){try{let J=$.trim();if(t(J))return e(J,Object.keys(Z))(...Object.values(Z));else return J0(J,Z)}catch{return!1}}var $2=C(()=>{R0()});function Y1($,Z){let J=sQ($,Z);return J.ok?{expression:J.expression,endPos:J.endPos}:null}function sQ($,Z){let J=Z;while(J<$.length&&/\s/.test($[J]))J++;if($[J]!=="(")return{ok:!1,reason:"missing-open-paren",pos:J};let Y=D0($,"(",")",J);if(Y===-1)return{ok:!1,reason:"unclosed-paren",pos:J};return{ok:!0,expression:$.slice(J+1,Y),endPos:Y+1}}function F1($,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($),z=K.exec($),W=q?q.index:1/0,U=z?z.index:1/0;if(W<U)Q++,X=W+q[0].length;else if(U<1/0){if(Q--,Q===0)return U;X=U+z[0].length}else break}return-1}function Z2($,Z){let J=$.slice(Z).match(/^@if\s*/);if(!J)return null;let Y=Z+J[0].length,Q=Y1($,Y);if(!Q)return null;let X=Q.endPos,G=F1($,"if","endif",X);if(G===-1)return null;let K=$.slice(X,G),q=[],z=0,W="if",U=Q.expression,_=0,j=0;while(z<K.length){let B=K.indexOf("@",z);if(B===-1)break;z=B;let O=K.substring(B);if(/^@if\s*\(/.test(O)){j++,z++;continue}if(/^@endif(?![a-z])/.test(O)){j--,z+=6;continue}if(j===0){let F=O.match(/^@elseif\s*/);if(F){q.push({type:W,condition:U,content:K.substring(_,z),start:X+_,end:X+z});let L=z+F[0].length,H=Y1(K,L);if(!H){z++;continue}W="elseif",U=H.expression,z=H.endPos,_=z;continue}else if(/^@else(?![a-z])/.test(O)){q.push({type:W,condition:U,content:K.substring(_,z),start:X+_,end:X+z}),W="else",U=void 0,z+=5,_=z;continue}}z++}return q.push({type:W,condition:U,content:K.slice(_),start:X+_,end:X+K.length}),{fullMatch:$.slice(Z,G+6),branches:q,start:Z,end:G+6}}function o$($){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=Z2($,Y.index);if(X)Z.push(X),J.lastIndex=X.end;Y=J.exec($)}return Z}function W9($,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,z=D0($,"(",")",q);if(z===-1){X=Q.exec($);continue}let W=$.slice(q+1,z),U=z+1,_=F1($,Z,J,U);if(_===-1){X=Q.exec($);continue}let j=$.slice(U,_),B=_+`@${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 s$($,Z){let J=$.slice(Z).match(/^@switch\s*/);if(!J)return null;let Y=Z+J[0].length,Q=Y1($,Y);if(!Q)return null;let X=Q.endPos,G=F1($,"switch","endswitch",X);if(G===-1)return null;let K=$.slice(X,G),q=[],z=0,W=null,U=0;while(z<K.length){let _=K.slice(z),j=_.match(/^@switch\s*\(/),B=_.match(/^@endswitch(?![a-z])/);if(j){if(U++,W)W.content+=j[0];z+=j[0].length;continue}if(B){if(U--,W)W.content+=B[0];z+=B[0].length;continue}if(U>0){if(W)W.content+=K[z];z++;continue}let O=_.match(/^@case\s*/),F=_.match(/^@default(?![a-z])/),L=_.match(/^@break(?![a-z])/);if(O&&_.startsWith("@case")){if(W)q.push(W);let H=z+O[0].length,V=Y1(K,H);if(!V){z++;continue}W={type:"case",value:V.expression,content:""},z=V.endPos}else if(F&&_.startsWith("@default")){if(W)q.push(W);W={type:"default",content:""},z+=F[0].length}else if(L&&_.startsWith("@break"))z+=L[0].length;else{if(W)W.content+=K[z];z++}}if(W)q.push(W);return{fullMatch:$.slice(Z,G+10),expression:Q.expression,cases:q,start:Z,end:G+10}}var Y2=()=>{};var J2=()=>{};var r$=C(()=>{Y2();J2()});function eQ($,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=s$(Y,G);if(!K)break;try{let q;if(t(K.expression))q=e(K.expression,Object.keys(Z))(...Object.values(Z));else q=J0(K.expression,Z);let z="",W=!1;for(let U of K.cases)if(U.type==="default"){if(!W)z=U.content.trim()}else try{let _;if(U.value&&t(U.value))_=e(U.value,Object.keys(Z))(...Object.values(Z));else if(U.value)_=J0(U.value,Z);if(q===_){z=U.content.trim(),W=!0;break}}catch{continue}Y=Y.substring(0,G)+z+Y.substring(K.end),Q=!0}catch(q){let z=q instanceof Error?q.message:String(q),W=s("Switch",`Error evaluating @switch expression: ${z}`,u.EVALUATION_ERROR);Y=Y.substring(0,G)+W+Y.substring(K.end);break}}return Y}function V1($,Z,J){let Y=$;Y=eQ(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=Y1(Y,K+7);if(!q)break;let z=q.endPos,W=F1(Y,"unless","endunless",z);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 U=Y.slice(z,W),_=q.expression,j=-1;{let O=0,F=/@(?:if|unless)\s*\(/g,L=/@(?:endif|endunless)(?![a-z])/g,H=/@else(?![a-z])/g,V=[],A;while((A=F.exec(U))!==null)V.push({pos:A.index,type:"open"});while((A=L.exec(U))!==null)V.push({pos:A.index,type:"close"});while((A=H.exec(U))!==null)V.push({pos:A.index,type:"else"});V.sort((w,N)=>w.pos-N.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=U.slice(0,j),F=U.slice(j+5);B=`@if (${_})${F}@else ${O}@endif`}else B=`@if (!(${_}))${U}@endif`;Y=Y.substring(0,K)+B+Y.substring(W+10),X=!0}}Y=t$(Y,Z,J),Y=e$(Y,Z,J),Y=a$(Y,Z);let Q=()=>{let X=o$(Y);if(X.length===0)return!1;for(let G=X.length-1;G>=0;G--){let K=X[G];try{let q="",z=!1;for(let W of K.branches){if(z)break;if(W.type==="else")q=W.content,z=!0;else try{let U;if(W.condition&&t(W.condition))U=e(W.condition,Object.keys(Z))(...Object.values(Z));else if(W.condition)U=J0(W.condition,Z);if(U)q=W.content,z=!0}catch(U){q=s(W.type==="if"?"If":"Elseif",`Error in @${W.type}(${W.condition}): ${U instanceof Error?U.message:String(U)}`,u.EVALUATION_ERROR),z=!0}}Y=Y.substring(0,K.start)+q+Y.substring(K.end)}catch(q){let z=q instanceof Error?q.message:String(q),W=s("If",`Error processing @if block: ${z}`,u.EVALUATION_ERROR);Y=Y.substring(0,K.start)+W+Y.substring(K.end)}}return!0};while(Q());return Y}function X2($){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 a$($,Z){let J=$;function Y(K,q,z,W){let U=1,_=W,j=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),B=new RegExp(`@${z}(?![a-z])`,"g");while(_<K.length&&U>0){j.lastIndex=_,B.lastIndex=_;let O=j.exec(K),F=B.exec(K),L=O?O.index:1/0,H=F?F.index:1/0;if(L<H)U++,_=L+O[0].length;else if(H<1/0){if(U--,U===0)return H;_=H+F[0].length}else break}return-1}function Q(K,q,z){let W=0,U=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),_=new RegExp(`@${z}(?![a-z])`,"g"),j=/@else(?![a-z])/g,B=[],O;while((O=U.exec(K))!==null)B.push({pos:O.index,type:"open"});while((O=_.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 z=q.index,W,U,_=J.slice(z+5),j=X2(_);if(j)W=j.value,U=z+5+j.consumed;else U=z+5;let B=Y(J,"auth","endauth",U);if(B===-1){console.warn(`[stx] @auth directive at position ${z} has no matching @endauth \u2014 the block was skipped.`);break}let O=J.slice(U,B),F=Q(O,"auth","endauth"),L;if(!Z.auth)L=!1;else L=W?Z1(`auth?.check && auth?.user?.[${W}]`,Z):Z1("auth?.check",Z);let H;if(F!==-1){let V=O.slice(0,F),A=O.slice(F+5);H=L?V:A}else H=L?O:"";J=J.substring(0,z)+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 z=q.index,W,U,_=J.slice(z+6),j=X2(_);if(j)W=j.value,U=z+6+j.consumed;else U=z+6;let B=Y(J,"guest","endguest",U);if(B===-1){console.warn(`[stx] @guest directive at position ${z} has no matching @endguest \u2014 the block was skipped.`);break}let O=J.slice(U,B),F=Q(O,"guest","endguest"),L;if(!Z.auth)L=!0;else L=W?Z1(`!auth?.check || !auth?.user?.[${W}]`,Z):Z1("!auth?.check",Z);let H;if(F!==-1){let V=O.slice(0,F),A=O.slice(F+5);H=L?V:A}else H=L?O:"";J=J.substring(0,z)+H+J.substring(B+9),K=!0}}function X(K,q,z){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(z){let U=Z1(z,Z);W.push(U)}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}`,z=K==="can"?"elsecan":"elsecannot",W=!0;while(W){W=!1;let U=J.match(new RegExp(`@${K}\\s*\\(`));if(!U||U.index===void 0)break;let _=U.index,j=J.slice(_+`@${K}`.length),B=G(j);if(!B)break;let O=_+`@${K}`.length+B.paramsEnd,F=Y(J,K,q,O);if(F===-1){console.warn(`[stx] @${K} directive at position ${_} has no matching @${q} \u2014 the block was skipped.`);break}let L=J.slice(O,F),H=[],V=0,A=new RegExp(`@${K}\\s*\\(`,"g"),w=new RegExp(`@${q}(?![a-z])`,"g"),N=new RegExp(`@${z}\\s*\\(`,"g"),R=/@else(?![a-z])/g,T=[],I;while((I=A.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=N.exec(L))!==null)T.push({pos:I.index,type:"elseDirective"});while((I=R.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+`@${z}`.length),h=G(x);if(h){M[M.length-1]={content:L.slice(E,D.pos)},E=D.pos+`@${z}`.length+h.paramsEnd,M.push({content:"",ability:h.ability,type:h.type,id:h.id}),M.pop();let i=H[b+1],U0=i?i.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,_)+S+J.substring(F+`@${q}`.length),W=!0}}return J}function t$($,Z,J){let Y=$;function Q(X,G,K,q,z){let W=!0;while(W){W=!1;let U=new RegExp(`@${G}\\s*\\(`),_=X.match(U);if(!_||_.index===void 0)break;let j=_.index,B=Y1(X,j+`@${G}`.length);if(!B)break;let O=B.endPos,F=F1(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,A=0,w=0;while(w<L.length){let N=L.indexOf("@",w);if(N===-1)break;let R=L.substring(N);if(/^@(?:if|unless|isset|empty)\s*\(/.test(R)){A++,w=N+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(R)){A--,w=N+1;continue}if(A===0&&/^@else(?![a-z])/.test(R)){V=N;break}w=N+1}try{let N=q(H.trim()),R;if(V!==-1){let T=L.slice(0,V),I=L.slice(V+5);R=N?T:I}else R=N?L:"";X=X.substring(0,j)+R+X.substring(F+`@${K}`.length),W=!0}catch(N){let R=N instanceof Error?N.message:String(N),T=s(z,`Error processing @${G} directive: ${R}`,u.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=Z1(X,Z);return G!==void 0&&G!==null},"Isset"),Y=Q(Y,"empty","endempty",(X)=>{let G=Z1(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 e$($,Z,J){let Y=$,Q="development";function X(G,K,q,z){let W=new RegExp(`@${K}(?![a-z])`,"g"),U=new RegExp(`@${q}(?![a-z])`,"g"),_=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,z=Q===k[2]}let V=1,A=H,w=-1;while(V>0&&A<B.length){W.lastIndex=A,U.lastIndex=A;let k=W.exec(B),y=U.exec(B),S=k?k.index:1/0,b=y?y.index:1/0;if(S<b)V++,A=S+k[0].length;else if(b<1/0){if(V--,V===0){w=b;break}A=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 N=B.substring(H,w),R=-1,T=0,I=0;while(I<N.length){let k=N.indexOf("@",I);if(k===-1)break;let y=N.substring(k);if(_.test(y)){T++,I=k+1;continue}if(j.test(y)){T--,I=k+1;continue}if(T===0&&/^@else(?![a-z])/.test(y)){R=k;break}I=k+1}let M;if(R!==-1){let k=N.slice(0,R),y=N.slice(R+5);M=z?k:y}else M=z?N:"";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 z9=C(()=>{$2();o0();r$();R0()});function G2($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function U9($,Z){if(!$)return Z?.nonceGenerator?.()??G2();let J=Q2.get($);if(!J)J=Z?.nonceGenerator?.()??G2(),Q2.set($,J);return J}function $G($,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 K2($,Z){return`<meta http-equiv="Content-Security-Policy" content="${$G($,Z).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}">`}function q2($,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?U9(J,Z):void 0,Q=K2(Z.directives,Y);return $.replace(/<head([^>]*)>/,`<head$1>
2468
- ${Q}`)}function W2($,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?U9(Z,X):void 0;return K2(X.directives,G)}),Q=Q.replace(/@cspNonce\b/g,()=>{if(!X?.enabled||!X.useNonce)return"";return U9(Z,X)}),X?.enabled&&X.useNonce)Z.cspNonce=U9(Z,X);return Q}var Q2;var z2=C(()=>{Q2=new WeakMap});import ZG from"crypto";function JG($=YG){let Z=ZG.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return $4=Z,Z}function XG(){if(!$4)JG();return $4}function QG($=U2){let Z=XG();return`<input type="hidden" name="${$}" value="${Z}">`}function _2($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(Z,J,Y)=>{return QG(Y||U2)})}var YG=40,U2="_token",$4=null;var B2=()=>{};async function j2($,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 GG(Q,X,Z,J,Y);else Q=await KG(Q,X,Z,J,Y)}return Q}async function GG($,Z,J,Y,Q){let{name:X,handler:G}=Z,K=`@${X}`,q=`@end${X}`,z=$,W=D1(`${K}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${q}`,"g"),U=[],_=W.exec(z);while(_!==null){let[j,B="",O=""]=_,F=_.index||0;try{let L=B?O2(B):[],H=O.trim(),V=await G(H,L,J,Y);U.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);U.push({original:j,processed:s("CustomDirective",`Error in @${X}${B?`(${B})`:""}: ${H}`,u.EVALUATION_ERROR),startIndex:F})}_=W.exec(z)}for(let j=U.length-1;j>=0;j--){let{original:B,processed:O}=U[j];z=z.replace(B,O)}return z}async function KG($,Z,J,Y,Q){let{name:X,handler:G}=Z,K=$,q=D1(`@${X}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),z=[],W=q.exec(K);while(W!==null){let[j,B=""]=W,O=W.index||0;try{let F=O2(B),L=await G("",F,J,Y);z.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);z.push({original:j,processed:s("CustomDirective",`Error in @${X}(${B}): ${L}`,u.EVALUATION_ERROR),startIndex:O})}W=q.exec(K)}let U=D1(`@${X}(?!\\w)(?!\\s*\\()`,"g"),_=U.exec(K);while(_!==null){let[j]=_,B=_.index||0;try{let O=await G("",[],J,Y);z.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);z.push({original:j,processed:s("CustomDirective",`Error in @${X}: ${F}`,u.EVALUATION_ERROR),startIndex:B})}_=U.exec(K)}for(let j=z.length-1;j>=0;j--){let{original:B,processed:O}=z[j];K=K.replace(B,O)}return K}function O2($){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 H2=C(()=>{o0();E1()});import qG from"crypto";function V0($){return String($??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function _9($,Z,J,Y){let Q=$||Z;return J?`${Q} ${Y}`:Q}function WG(){return qG.randomUUID()}function B9($,Z){let J=$;return J=J.replace(/@csrf/g,()=>{if(!Z.csrf||typeof Z.csrf!=="object"){let Y=WG();Z.csrf={token:Y}}if(Z.csrf.field)return Z.csrf.field;if(Z.csrf.token)return`<input type="hidden" name="_token" value="${V0(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="${V0(X)}">`;return Y}),J}function V2($,Z,J=F2){let Y=$;return Y=Y.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(Q,X,G,K,q,z="")=>{let W=X||G||"POST",U=K||q||"",_=J1(z),j=W.toUpperCase(),B=["GET","POST"].includes(j)?j:"POST",O=`<form method="${V0(B)}" action="${V0(U)}"${_?` ${_}`:""}>`;if(O+=`
2467
+ `+Q.slice(G);else Q+=X;return Q}function uQ($,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*["']${K9(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*["']${K9(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*"${K9(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*'${K9(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 pQ($){return/x-data\s*=\s*["']/.test($)}var s6=0,vQ=0;var a6=S(()=>{n0()});import lQ from"fs";import i$ from"path";import{createHighlighter as cQ}from"ts-syntax-highlighter";async function iQ($,Z={}){try{if(!await l($))throw Error(`Markdown file not found: ${$}`);let Y=(await lQ.promises.stat($)).mtime.getTime();if(Z.cache&&n$.has($)){let U=n$.get($);if(U.updatedAt>=Y)return{content:U.content,data:U.data}}let Q=await Bun.file($).text(),{data:X,content:G}=R7(Q),K=Z.markdown||m$.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},z=n1(G,{gfm:!0});if(K.syntaxHighlighting?.enabled&&K.syntaxHighlighting?.serverSide)z=await nQ(z,K.syntaxHighlighting?.defaultTheme||"github-dark",K.syntaxHighlighting?.highlightUnknownLanguages||!1);let W={content:z,data:X||{}};if(Z.cache)n$.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:X0("Markdown File",`Error reading/parsing markdown file: ${Y}`,$,"",0,""),data:{}}}}async function nQ($,Z,J){let Y=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!q9)try{q9=await cQ({theme:Z||"github-dark",cache:!0})}catch(K){return console.error("Failed to initialize ts-syntax-highlighter:",K),$}let Q=async(K,q,z,W)=>{let U=W.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#39;/g,"'"),_=z||(J?"text":"");if(!_)return K;try{if(!q9.getSupportedLanguages().includes(_))return K;return(await q9.highlight(U,_,{theme:Z})).html}catch(j){console.error(`Error highlighting code block with language ${z}:`,j)}return K},X=$,G=$.matchAll(Y);for(let K of G){let[q,z,W,U]=K,_=await Q(q,z,W,U);X=X.replace(q,_)}return X}async function t6($,Z,J="",Y={}){return await oQ($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(G,K,q,z)=>{try{let W=K;if(!i$.isAbsolute(K))W=i$.resolve(i$.dirname(J),K);let U={};if(q)try{try{U=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 A=V.indexOf(":");if(A>0){let w=V.substring(0,A).trim(),N=V.substring(A+1).trim(),R=N.startsWith('"')&&N.endsWith('"'),T=N.startsWith("'")&&N.endsWith("'");if(R||T)N=N.substring(1,N.length-1);U[w]=N}}}}catch(L){if(Y.debug)console.error("Error parsing context in @markdown-file directive:",L)}let{content:_,data:j}=await iQ(W,Y),B={...Z,...j,...U},O=_,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 U=W instanceof Error?W.message:String(W);return X0("Markdown File",`Error including markdown file: ${U}`,J,$,z,G)}})}async function oQ($,Z,J){let Y=[],Q;while((Q=Z.exec($))!==null){let K=Q[0],q=Q.index,z=Q;Y.push(J(...z).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 n$,q9=null;var e6=S(()=>{Q5();A0();n$=new Map});function Z1($,Z){try{let J=$.trim();if(t(J))return e(J,Object.keys(Z))(...Object.values(Z));else return J0(J,Z)}catch{return!1}}var $2=S(()=>{R0()});function Y1($,Z){let J=sQ($,Z);return J.ok?{expression:J.expression,endPos:J.endPos}:null}function sQ($,Z){let J=Z;while(J<$.length&&/\s/.test($[J]))J++;if($[J]!=="(")return{ok:!1,reason:"missing-open-paren",pos:J};let Y=D0($,"(",")",J);if(Y===-1)return{ok:!1,reason:"unclosed-paren",pos:J};return{ok:!0,expression:$.slice(J+1,Y),endPos:Y+1}}function F1($,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($),z=K.exec($),W=q?q.index:1/0,U=z?z.index:1/0;if(W<U)Q++,X=W+q[0].length;else if(U<1/0){if(Q--,Q===0)return U;X=U+z[0].length}else break}return-1}function Z2($,Z){let J=$.slice(Z).match(/^@if\s*/);if(!J)return null;let Y=Z+J[0].length,Q=Y1($,Y);if(!Q)return null;let X=Q.endPos,G=F1($,"if","endif",X);if(G===-1)return null;let K=$.slice(X,G),q=[],z=0,W="if",U=Q.expression,_=0,j=0;while(z<K.length){let B=K.indexOf("@",z);if(B===-1)break;z=B;let O=K.substring(B);if(/^@if\s*\(/.test(O)){j++,z++;continue}if(/^@endif(?![a-z])/.test(O)){j--,z+=6;continue}if(j===0){let F=O.match(/^@elseif\s*/);if(F){q.push({type:W,condition:U,content:K.substring(_,z),start:X+_,end:X+z});let L=z+F[0].length,H=Y1(K,L);if(!H){z++;continue}W="elseif",U=H.expression,z=H.endPos,_=z;continue}else if(/^@else(?![a-z])/.test(O)){q.push({type:W,condition:U,content:K.substring(_,z),start:X+_,end:X+z}),W="else",U=void 0,z+=5,_=z;continue}}z++}return q.push({type:W,condition:U,content:K.slice(_),start:X+_,end:X+K.length}),{fullMatch:$.slice(Z,G+6),branches:q,start:Z,end:G+6}}function o$($){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=Z2($,Y.index);if(X)Z.push(X),J.lastIndex=X.end;Y=J.exec($)}return Z}function W9($,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,z=D0($,"(",")",q);if(z===-1){X=Q.exec($);continue}let W=$.slice(q+1,z),U=z+1,_=F1($,Z,J,U);if(_===-1){X=Q.exec($);continue}let j=$.slice(U,_),B=_+`@${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 s$($,Z){let J=$.slice(Z).match(/^@switch\s*/);if(!J)return null;let Y=Z+J[0].length,Q=Y1($,Y);if(!Q)return null;let X=Q.endPos,G=F1($,"switch","endswitch",X);if(G===-1)return null;let K=$.slice(X,G),q=[],z=0,W=null,U=0;while(z<K.length){let _=K.slice(z),j=_.match(/^@switch\s*\(/),B=_.match(/^@endswitch(?![a-z])/);if(j){if(U++,W)W.content+=j[0];z+=j[0].length;continue}if(B){if(U--,W)W.content+=B[0];z+=B[0].length;continue}if(U>0){if(W)W.content+=K[z];z++;continue}let O=_.match(/^@case\s*/),F=_.match(/^@default(?![a-z])/),L=_.match(/^@break(?![a-z])/);if(O&&_.startsWith("@case")){if(W)q.push(W);let H=z+O[0].length,V=Y1(K,H);if(!V){z++;continue}W={type:"case",value:V.expression,content:""},z=V.endPos}else if(F&&_.startsWith("@default")){if(W)q.push(W);W={type:"default",content:""},z+=F[0].length}else if(L&&_.startsWith("@break"))z+=L[0].length;else{if(W)W.content+=K[z];z++}}if(W)q.push(W);return{fullMatch:$.slice(Z,G+10),expression:Q.expression,cases:q,start:Z,end:G+10}}var Y2=()=>{};var J2=()=>{};var r$=S(()=>{Y2();J2()});function eQ($,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=s$(Y,G);if(!K)break;try{let q;if(t(K.expression))q=e(K.expression,Object.keys(Z))(...Object.values(Z));else q=J0(K.expression,Z);let z="",W=!1;for(let U of K.cases)if(U.type==="default"){if(!W)z=U.content.trim()}else try{let _;if(U.value&&t(U.value))_=e(U.value,Object.keys(Z))(...Object.values(Z));else if(U.value)_=J0(U.value,Z);if(q===_){z=U.content.trim(),W=!0;break}}catch{continue}Y=Y.substring(0,G)+z+Y.substring(K.end),Q=!0}catch(q){let z=q instanceof Error?q.message:String(q),W=s("Switch",`Error evaluating @switch expression: ${z}`,u.EVALUATION_ERROR);Y=Y.substring(0,G)+W+Y.substring(K.end);break}}return Y}function V1($,Z,J){let Y=$;Y=eQ(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=Y1(Y,K+7);if(!q)break;let z=q.endPos,W=F1(Y,"unless","endunless",z);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 U=Y.slice(z,W),_=q.expression,j=-1;{let O=0,F=/@(?:if|unless)\s*\(/g,L=/@(?:endif|endunless)(?![a-z])/g,H=/@else(?![a-z])/g,V=[],A;while((A=F.exec(U))!==null)V.push({pos:A.index,type:"open"});while((A=L.exec(U))!==null)V.push({pos:A.index,type:"close"});while((A=H.exec(U))!==null)V.push({pos:A.index,type:"else"});V.sort((w,N)=>w.pos-N.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=U.slice(0,j),F=U.slice(j+5);B=`@if (${_})${F}@else ${O}@endif`}else B=`@if (!(${_}))${U}@endif`;Y=Y.substring(0,K)+B+Y.substring(W+10),X=!0}}Y=t$(Y,Z,J),Y=e$(Y,Z,J),Y=a$(Y,Z);let Q=()=>{let X=o$(Y);if(X.length===0)return!1;for(let G=X.length-1;G>=0;G--){let K=X[G];try{let q="",z=!1;for(let W of K.branches){if(z)break;if(W.type==="else")q=W.content,z=!0;else try{let U;if(W.condition&&t(W.condition))U=e(W.condition,Object.keys(Z))(...Object.values(Z));else if(W.condition)U=J0(W.condition,Z);if(U)q=W.content,z=!0}catch(U){q=s(W.type==="if"?"If":"Elseif",`Error in @${W.type}(${W.condition}): ${U instanceof Error?U.message:String(U)}`,u.EVALUATION_ERROR),z=!0}}Y=Y.substring(0,K.start)+q+Y.substring(K.end)}catch(q){let z=q instanceof Error?q.message:String(q),W=s("If",`Error processing @if block: ${z}`,u.EVALUATION_ERROR);Y=Y.substring(0,K.start)+W+Y.substring(K.end)}}return!0};while(Q());return Y}function X2($){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 a$($,Z){let J=$;function Y(K,q,z,W){let U=1,_=W,j=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),B=new RegExp(`@${z}(?![a-z])`,"g");while(_<K.length&&U>0){j.lastIndex=_,B.lastIndex=_;let O=j.exec(K),F=B.exec(K),L=O?O.index:1/0,H=F?F.index:1/0;if(L<H)U++,_=L+O[0].length;else if(H<1/0){if(U--,U===0)return H;_=H+F[0].length}else break}return-1}function Q(K,q,z){let W=0,U=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),_=new RegExp(`@${z}(?![a-z])`,"g"),j=/@else(?![a-z])/g,B=[],O;while((O=U.exec(K))!==null)B.push({pos:O.index,type:"open"});while((O=_.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 z=q.index,W,U,_=J.slice(z+5),j=X2(_);if(j)W=j.value,U=z+5+j.consumed;else U=z+5;let B=Y(J,"auth","endauth",U);if(B===-1){console.warn(`[stx] @auth directive at position ${z} has no matching @endauth \u2014 the block was skipped.`);break}let O=J.slice(U,B),F=Q(O,"auth","endauth"),L;if(!Z.auth)L=!1;else L=W?Z1(`auth?.check && auth?.user?.[${W}]`,Z):Z1("auth?.check",Z);let H;if(F!==-1){let V=O.slice(0,F),A=O.slice(F+5);H=L?V:A}else H=L?O:"";J=J.substring(0,z)+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 z=q.index,W,U,_=J.slice(z+6),j=X2(_);if(j)W=j.value,U=z+6+j.consumed;else U=z+6;let B=Y(J,"guest","endguest",U);if(B===-1){console.warn(`[stx] @guest directive at position ${z} has no matching @endguest \u2014 the block was skipped.`);break}let O=J.slice(U,B),F=Q(O,"guest","endguest"),L;if(!Z.auth)L=!0;else L=W?Z1(`!auth?.check || !auth?.user?.[${W}]`,Z):Z1("!auth?.check",Z);let H;if(F!==-1){let V=O.slice(0,F),A=O.slice(F+5);H=L?V:A}else H=L?O:"";J=J.substring(0,z)+H+J.substring(B+9),K=!0}}function X(K,q,z){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(z){let U=Z1(z,Z);W.push(U)}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}`,z=K==="can"?"elsecan":"elsecannot",W=!0;while(W){W=!1;let U=J.match(new RegExp(`@${K}\\s*\\(`));if(!U||U.index===void 0)break;let _=U.index,j=J.slice(_+`@${K}`.length),B=G(j);if(!B)break;let O=_+`@${K}`.length+B.paramsEnd,F=Y(J,K,q,O);if(F===-1){console.warn(`[stx] @${K} directive at position ${_} has no matching @${q} \u2014 the block was skipped.`);break}let L=J.slice(O,F),H=[],V=0,A=new RegExp(`@${K}\\s*\\(`,"g"),w=new RegExp(`@${q}(?![a-z])`,"g"),N=new RegExp(`@${z}\\s*\\(`,"g"),R=/@else(?![a-z])/g,T=[],E;while((E=A.exec(L))!==null)T.push({pos:E.index,type:"open"});while((E=w.exec(L))!==null)T.push({pos:E.index,type:"close"});while((E=N.exec(L))!==null)T.push({pos:E.index,type:"elseDirective"});while((E=R.exec(L))!==null)T.push({pos:E.index,type:"else"});T.sort((k,b)=>k.pos-b.pos);for(let k of T){if(k.type==="open"){V++;continue}if(k.type==="close"){V--;continue}if(V===0)H.push(k)}let M=[],I=0;for(let k=0;k<H.length;k++){let b=H[k];if(M.push({content:L.slice(I,b.pos),ability:void 0}),b.type==="elseDirective"){let x=L.slice(b.pos+`@${z}`.length),h=G(x);if(h){M[M.length-1]={content:L.slice(I,b.pos)},I=b.pos+`@${z}`.length+h.paramsEnd,M.push({content:"",ability:h.ability,type:h.type,id:h.id}),M.pop();let c=H[k+1],W0=c?c.pos:L.length;M.push({content:L.slice(I,W0),ability:h.ability,type:h.type,id:h.id}),I=W0}}else I=b.pos+5}if(I<L.length){let k=M[M.length-1];if(H.length>0&&H[H.length-1].type==="else")M.push({content:L.slice(I),isFinalElse:!0});else if(M.length===0)M.push({content:L.slice(I)})}let D=X(B.ability,B.type,B.id),P=K==="can"?D:!D,C="";if(P)C=M[0]?.content||"";else{let k=!1;for(let b=1;b<M.length;b++){let x=M[b];if(x.isFinalElse){C=x.content,k=!0;break}if(x.ability){let h=X(x.ability,x.type,x.id);if(K==="can"?h:!h){C=x.content,k=!0;break}}}if(!k&&M.length>0){let b=M[M.length-1];if(b.isFinalElse)C=b.content}}J=J.substring(0,_)+C+J.substring(F+`@${q}`.length),W=!0}}return J}function t$($,Z,J){let Y=$;function Q(X,G,K,q,z){let W=!0;while(W){W=!1;let U=new RegExp(`@${G}\\s*\\(`),_=X.match(U);if(!_||_.index===void 0)break;let j=_.index,B=Y1(X,j+`@${G}`.length);if(!B)break;let O=B.endPos,F=F1(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,A=0,w=0;while(w<L.length){let N=L.indexOf("@",w);if(N===-1)break;let R=L.substring(N);if(/^@(?:if|unless|isset|empty)\s*\(/.test(R)){A++,w=N+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(R)){A--,w=N+1;continue}if(A===0&&/^@else(?![a-z])/.test(R)){V=N;break}w=N+1}try{let N=q(H.trim()),R;if(V!==-1){let T=L.slice(0,V),E=L.slice(V+5);R=N?T:E}else R=N?L:"";X=X.substring(0,j)+R+X.substring(F+`@${K}`.length),W=!0}catch(N){let R=N instanceof Error?N.message:String(N),T=s(z,`Error processing @${G} directive: ${R}`,u.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=Z1(X,Z);return G!==void 0&&G!==null},"Isset"),Y=Q(Y,"empty","endempty",(X)=>{let G=Z1(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 e$($,Z,J){let Y=$,Q="development";function X(G,K,q,z){let W=new RegExp(`@${K}(?![a-z])`,"g"),U=new RegExp(`@${q}(?![a-z])`,"g"),_=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 D=B.substring(H).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!D)break;H+=D[0].length,z=Q===D[2]}let V=1,A=H,w=-1;while(V>0&&A<B.length){W.lastIndex=A,U.lastIndex=A;let D=W.exec(B),P=U.exec(B),C=D?D.index:1/0,k=P?P.index:1/0;if(C<k)V++,A=C+D[0].length;else if(k<1/0){if(V--,V===0){w=k;break}A=k+P[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 N=B.substring(H,w),R=-1,T=0,E=0;while(E<N.length){let D=N.indexOf("@",E);if(D===-1)break;let P=N.substring(D);if(_.test(P)){T++,E=D+1;continue}if(j.test(P)){T--,E=D+1;continue}if(T===0&&/^@else(?![a-z])/.test(P)){R=D;break}E=D+1}let M;if(R!==-1){let D=N.slice(0,R),P=N.slice(R+5);M=z?D:P}else M=z?N:"";let I=`@${q}`.length;B=B.substring(0,L)+M+B.substring(w+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 z9=S(()=>{$2();o0();r$();R0()});function G2($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function U9($,Z){if(!$)return Z?.nonceGenerator?.()??G2();let J=Q2.get($);if(!J)J=Z?.nonceGenerator?.()??G2(),Q2.set($,J);return J}function $G($,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 K2($,Z){return`<meta http-equiv="Content-Security-Policy" content="${$G($,Z).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}">`}function q2($,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?U9(J,Z):void 0,Q=K2(Z.directives,Y);return $.replace(/<head([^>]*)>/,`<head$1>
2468
+ ${Q}`)}function W2($,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?U9(Z,X):void 0;return K2(X.directives,G)}),Q=Q.replace(/@cspNonce\b/g,()=>{if(!X?.enabled||!X.useNonce)return"";return U9(Z,X)}),X?.enabled&&X.useNonce)Z.cspNonce=U9(Z,X);return Q}var Q2;var z2=S(()=>{Q2=new WeakMap});import ZG from"crypto";function JG($=YG){let Z=ZG.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return $4=Z,Z}function XG(){if(!$4)JG();return $4}function QG($=U2){let Z=XG();return`<input type="hidden" name="${$}" value="${Z}">`}function _2($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(Z,J,Y)=>{return QG(Y||U2)})}var YG=40,U2="_token",$4=null;var B2=()=>{};async function j2($,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 GG(Q,X,Z,J,Y);else Q=await KG(Q,X,Z,J,Y)}return Q}async function GG($,Z,J,Y,Q){let{name:X,handler:G}=Z,K=`@${X}`,q=`@end${X}`,z=$,W=D1(`${K}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${q}`,"g"),U=[],_=W.exec(z);while(_!==null){let[j,B="",O=""]=_,F=_.index||0;try{let L=B?O2(B):[],H=O.trim(),V=await G(H,L,J,Y);U.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);U.push({original:j,processed:s("CustomDirective",`Error in @${X}${B?`(${B})`:""}: ${H}`,u.EVALUATION_ERROR),startIndex:F})}_=W.exec(z)}for(let j=U.length-1;j>=0;j--){let{original:B,processed:O}=U[j];z=z.replace(B,O)}return z}async function KG($,Z,J,Y,Q){let{name:X,handler:G}=Z,K=$,q=D1(`@${X}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),z=[],W=q.exec(K);while(W!==null){let[j,B=""]=W,O=W.index||0;try{let F=O2(B),L=await G("",F,J,Y);z.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);z.push({original:j,processed:s("CustomDirective",`Error in @${X}(${B}): ${L}`,u.EVALUATION_ERROR),startIndex:O})}W=q.exec(K)}let U=D1(`@${X}(?!\\w)(?!\\s*\\()`,"g"),_=U.exec(K);while(_!==null){let[j]=_,B=_.index||0;try{let O=await G("",[],J,Y);z.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);z.push({original:j,processed:s("CustomDirective",`Error in @${X}: ${F}`,u.EVALUATION_ERROR),startIndex:B})}_=U.exec(K)}for(let j=z.length-1;j>=0;j--){let{original:B,processed:O}=z[j];K=K.replace(B,O)}return K}function O2($){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 H2=S(()=>{o0();E1()});import qG from"crypto";function V0($){return String($??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function _9($,Z,J,Y){let Q=$||Z;return J?`${Q} ${Y}`:Q}function WG(){return qG.randomUUID()}function B9($,Z){let J=$;return J=J.replace(/@csrf/g,()=>{if(!Z.csrf||typeof Z.csrf!=="object"){let Y=WG();Z.csrf={token:Y}}if(Z.csrf.field)return Z.csrf.field;if(Z.csrf.token)return`<input type="hidden" name="_token" value="${V0(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="${V0(X)}">`;return Y}),J}function V2($,Z,J=F2){let Y=$;return Y=Y.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(Q,X,G,K,q,z="")=>{let W=X||G||"POST",U=K||q||"",_=J1(z),j=W.toUpperCase(),B=["GET","POST"].includes(j)?j:"POST",O=`<form method="${V0(B)}" action="${V0(U)}"${_?` ${_}`:""}>`;if(O+=`
2469
2469
  ${B9("@csrf",Z)}`,!["GET","POST"].includes(j))O+=`
2470
- ${B9(`@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,z="")=>{let W=X||G||"",U=K||q||"",_=J1(z),j=q5(W,Z),B=j!==void 0&&j!==null?j:U||"",O=_.match(/type=['"]([^'"]+)['"]/i),F=O?O[1]:"text",L=W5(W,Z),H=_.match(/class=['"]([^'"]+)['"]/i),V=_9(H?H[1]:"",J.input,L,J.inputError),A=_.replace(/class=['"][^'"]+['"]/i,"");return A=A.replace(/type=['"][^'"]+['"]/i,""),`<input type="${V0(F)}" name="${V0(W)}" value="${V0(B)}" class="${V}"${A?` ${A}`:""}>`}),Y=Y.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(Q,X,G="",K="")=>{let q=J1(G),z=q5(X,Z)||K.trim(),W=W5(X,Z),U=q.match(/class=['"]([^'"]+)['"]/i),_=_9(U?U[1]:"",J.input,W,J.inputError),j=q.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${V0(X)}" class="${_}"${j?` ${j}`:""}>${V0(z)}</textarea>`}),Y=Y.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(Q,X,G="",K)=>{let q=J1(G),z=q5(X,Z),W=W5(X,Z),U=q.match(/class=['"]([^'"]+)['"]/i),_=_9(U?U[1]:"",J.input,W,J.inputError),j=q.replace(/class=['"][^'"]+['"]/i,""),B=K;if(z!==void 0)B=K.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(O,F,L)=>{if((Array.isArray(z)?z.some((V)=>String(V)===L):String(z)===L)&&!F.includes("selected"))return F.replace(/(<option)/,"$1 selected");return O});return`<select name="${V0(X)}" class="${_}"${j?` ${j}`:""}>${B}</select>`}),Y=Y.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(Q,X,G="1",K="")=>{let q=J1(K),z=q5(X,Z),W=z!==void 0&&(Array.isArray(z)?z.some((B)=>String(B)===G):z===!0||String(z)===G),U=q.match(/class=['"]([^'"]+)['"]/i),_=U?U[1]:J.checkInput,j=q.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${V0(X)}" value="${V0(G)}" class="${_}"${W?" checked":""}${j?` ${j}`:""}>`}),Y=Y.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Q,X,G,K="")=>{let q=J1(K),z=q5(X,Z),W=z!==void 0&&z===G,U=q.match(/class=['"]([^'"]+)['"]/i),_=U?U[1]:J.checkInput,j=q.replace(/class=['"][^'"]+['"]/i,"");return`<input type="radio" name="${V0(X)}" value="${V0(G)}" class="${_}"${W?" checked":""}${j?` ${j}`:""}>`}),Y=Y.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Q,X,G="")=>{let K=J1(G),q=K.match(/accept=['"]([^'"]+)['"]/i),z=q?q[1]:"",W=K.includes("multiple"),U=W5(X,Z),_=K.match(/class=['"]([^'"]+)['"]/i),j=_9(_?_[1]:"",J.input,U,J.inputError),B=K.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),O=[`<input type="file" name="${V0(X)}"`,`class="${j}"`];if(z)O.push(`accept="${V0(z)}"`);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=J1(G),z=q.match(/class=['"]([^'"]+)['"]/i),W=z?z[1]:J.label,U=q.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${V0(X)}" class="${W}"${U?` ${U}`:""}>${K}</label>`}),Y}function w2($,Z,J=F2){return $.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(Y,Q,X)=>{try{if(W5(Q,Z))return X.replace(/\{\{([^}]+)\}\}/g,(G,K)=>{try{if(K.trim()==="$message"||K.trim()==="message")return L2(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 L2(Q,Z)}let q=K.trim();if(t(q)){let z=J0(q,Z);return z!==void 0?String(z):q}return q}catch{return K}});return""}catch(G){return console.error("Error processing @error directive:",G),Y}})}function W5($,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 L2($,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 q5($,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 J1($){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 F2;var A2=C(()=>{R0();F2={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"}});import N2 from"path";function zG($,Z=0){if(Z<=0)return!1;return Date.now()-$.loadedAt>Z}async function UG($,Z){if({...X4,...Z.i18n}.cache&&J4[$]){let Q=J4[$],X=Z.i18n?.cacheMaxAge??0;if(!zG(Q,X))return Q.translations}if(z5[$]?.state==="loading")return z5[$].promise;Z4[$]="loading";let Y=M2($,Z).then((Q)=>{return Z4[$]="loaded",delete z5[$],Q}).catch((Q)=>{throw Z4[$]="error",z5[$]={promise:Y,state:"error",error:Q instanceof Error?Q:Error(String(Q))},Q});return z5[$]={promise:Y,state:"loading"},Y}async function M2($,Z){let J={...X4,...Z.i18n},Y=N2.resolve(import.meta.dir,"..",J.translationsDir),Q=OG(J.format),X=N2.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=BG(q);else if(J.format==="json")G=JSON.parse(q);else throw K}if(J.cache)J4[$]={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 M2(J.defaultLocale,Z);return{}}}async function _G($,Z){return UG($,Z)}function BG($){let Z={},J=$.split(`
2471
- `),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[,,z,W]=q,U=z.trim(),_=W.trim();if(_==="")K[U]={},Y.push({obj:K[U],indent:G});else K[U]=jG(_)}}return Z}function jG($){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 OG($){switch($){case"yaml":return".yaml";case"yml":return".yml";case"js":return".js";case"json":default:return".json"}}function HG($,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 LG($,Z={}){return I2($,Z)}function I2($,Z){let J="",Y=0;while(Y<$.length)if($[Y]==="{"){let Q=FG($,Y);if(Q===-1){J+=$[Y],Y++;continue}let X=$.slice(Y+1,Q);J+=VG(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 FG($,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 VG($,Z){let J=wG($);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 AG(Q,J.slice(2).join(","),Z);case"select":return RG(Q,J.slice(2).join(","));case"selectordinal":return TG(Q,J.slice(2).join(","));case"number":return IG(Q,J[2]?.trim());case"date":return DG(Q,J[2]?.trim());case"time":return EG(Q,J[2]?.trim());default:return Q!==void 0?String(Q):`{${$}}`}}function wG($){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 AG($,Z,J){let Y=Number($)||0,Q=Q4(Z),X=`=${Y}`;if(Q[X])return Y4(Q[X],Y,J);let G=NG(Y);if(Q[G])return Y4(Q[G],Y,J);if(Q.other)return Y4(Q.other,Y,J);return String(Y)}function Y4($,Z,J){let Y=$.replace(/#/g,String(Z));return I2(Y,J)}function NG($){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 RG($,Z){let J=String($||""),Y=Q4(Z);if(Y[J])return Y[J];return Y.other||String($)}function TG($,Z){let J=Number($)||0,Y=Q4(Z),Q=MG(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 MG($){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 Q4($){let Z={},J=/(\w+|=\d+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g,Y=J.exec($);while(Y!==null)Z[Y[1]]=Y[2],Y=J.exec($);return Z}function IG($,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 DG($,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 EG($,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 kG($){return/\{[^}]+,\s*(?:plural|select|selectordinal|number|date|time)\s*,/.test($)}function R2($,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(kG(G))return LG(G,Y);if(G.includes("|")&&"count"in Y){let K=Number(Y.count),q=G.split("|");G=HG(q,K)}for(let[K,q]of Object.entries(Y)){let z=K.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");G=G.replace(new RegExp(`:${z}`,"g"),String(q))}return G}async function D2($,Z,J,Y){let Q=$,X=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)([\s\S]*?)@endtranslate/g,G={...X4,...Y.i18n},K=await _G(G.locale,Y);Z.__translations=K,Z.__locale=G.locale,Z.__i18nConfig=G,Q=await T2(Q,X,async(W,U,_,j,B)=>{try{let O={};if(_)try{let L=[()=>JSON.parse(_),()=>{let H=`{"data":${_}}`,V=JSON.parse(H);return typeof V.data==="object"?V.data:{}},()=>{return F0(_,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 R2(U,K,G.fallbackToKey,O)||j.trim()}catch(O){if(Y.debug)console.error("Error processing @translate directive:",O);return s("Translate",`Error in @translate('${U}'): ${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 W=[...Q.matchAll(q)];console.warn(`Found ${W.length} @translate matches`),W.forEach((U,_)=>console.warn(`Match ${_}: ${U[0]}, Key: ${U[1]}, Params: ${U[2]||"none"}`))}return Q=await T2(Q,/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)/g,async(W,U,_,j)=>{try{let B={};if(_)try{let O=[()=>JSON.parse(_),()=>{let F=`{"data":${_}}`,L=JSON.parse(F);return typeof L.data==="object"?L.data:{}},()=>{return F0(_,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 R2(U,K,G.fallbackToKey,B)}catch(B){if(Y.debug)console.error("Error processing @translate directive:",B);return s("Translate",`Error in @translate('${U}'): ${B instanceof Error?B.message:String(B)}`,u.EVALUATION_ERROR)}}),Q}async function T2($,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 X4,J4,z5,Z4;var E2=C(()=>{o0();R0();X4={defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},J4={},z5={},Z4={}});var v2={};r(v2,{processLoops:()=>G4});function yG($,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,z=K+1;while(z<Y.length&&q>0){if(Y[z]==="(")q++;else if(Y[z]===")"){if(q--,q===0)break}z++}if(q!==0)continue;let W=Y.substring(K+1,z),U=z+1,_=W.match(/^\s*['"]([^'"]+)['"]/);if(!_)continue;let j=_[1],B=W.slice(_[0].length),O=B.match(/^\s*,\s*/);if(!O)continue;let F=B.slice(O[0].length).trim();if(!F)continue;try{let L=F0(F,Z),H=JSON.stringify(L),V=`@component('${j}', ${H})`;X.push({start:G,end:U,replacement:V})}catch{continue}}for(let G=X.length-1;G>=0;G--){let{start:K,end:q,replacement:z}=X[G];Y=Y.substring(0,K)+z+Y.substring(q)}return Y}function j9($,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,z=K+1,W=null,U=!1;while(z<Y.length&&q>0){let B=Y[z];if(U){U=!1,z++;continue}if(B==="\\"&&W){U=!0,z++;continue}if(W){if(B===W)W=null;z++;continue}if(B==='"'||B==="'"||B==="`"){W=B,z++;continue}if(B==="(")q++;else if(B===")"){if(q--,q===0)break}z++}if(q!==0)break;let _=Y.substring(K+1,z),j=J(_);Y=Y.substring(0,G)+j+Y.substring(z+1)}return Y}function CG($,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);o1(X);let z=e(X,G)(...K),U=JSON.stringify(z).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");return`__stx_${Q}="${U}"`}catch(G){return Y}}),J}function PG($,Z){let J=$;return J=j9(J,"@break",(Y)=>{try{let X=`!!(${Y.trim()})`,G;if(t(X)){let K=e(X,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(J0(X,Z));return G?O9:""}catch{return""}}),J=j9(J,"@continue",(Y)=>{try{let X=`!!(${Y.trim()})`,G;if(t(X)){let K=e(X,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(J0(X,Z));return G?H9:""}catch{return""}}),J}function vG($){let Z=$;return Z=Z.replace(/@break(?!\()/g,O9),Z=Z.replace(/@continue(?!\()/g,H9),Z}function k2($){let Z=$.includes(O9),J=Z?$.substring(0,$.indexOf(O9)):$;return{hasBreak:Z,content:J}}function b2($){let Z=$.includes(H9),J=Z?$.substring(0,$.indexOf(H9)):$;return{hasContinue:Z,content:J}}function y2($){let Z=$;return Z=j9(Z,"@break",(J)=>{let Y=J.trim();if(!A5(Y))return"";return`\`; if (${Y}) { break; } result += \``}),Z=j9(Z,"@continue",(J)=>{let Y=J.trim();if(!A5(Y))return"";return`\`; if (${Y}) { continue; } result += \``}),Z=Z.replace(/@break(?!\()/g,"`; break; result += `"),Z=Z.replace(/@continue(?!\()/g,"`; continue; result += `"),Z}function xG($){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,U)=>W.pos-U.pos);let K=[],q=0;for(let W of Y)q+=W.delta,K.push({pos:W.pos,depth:q});function z(W){let U=0,_=K.length-1,j=0;while(U<=_){let B=U+_>>1;if(K[B].pos<=W)j=K[B].depth,U=B+1;else _=B-1}return j}while((J=Z.exec($))!==null){if(z(J.index)>0)continue;let W=J.index,U=J.index+J[0].length-1,_=1,j=U+1,B=-1;while(j<$.length&&_>0){if($[j]==="(")_++;else if($[j]===")"){if(_--,_===0){B=j;break}}j++}if(B===-1)continue;let O=$.substring(U+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,A=1,w=V,N=/@forelse\s*\(/g,R=/@endforelse/g,T=-1;while(A>0&&w<$.length){N.lastIndex=w,R.lastIndex=w;let S=N.exec($),b=R.exec($);if(!b)break;if(S&&S.index<b.index)A++,w=S.index+S[0].length;else{if(A--,A===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 S2($,Z){let J=$;while(!0){let Y=xG(J);if(!Y)break;let{start:Q,end:X,arrayExpr:G,itemVar:K,foreachContent:q,emptyContent:z}=Y;try{let W;if(t(G))W=e(G,Object.keys(Z))(...Object.values(Z));else W=J0(G,Z);let U;if(!Array.isArray(W)||W.length===0)U=z;else U=`@foreach (${G} as ${K})${q}@endforeach`;J=J.substring(0,Q)+U+J.substring(X)}catch(W){let U=W instanceof Error?W.message:String(W),_=s("Forelse",`Error in @forelse(${G} as ${K}): ${U}`,u.EVALUATION_ERROR);J=J.substring(0,Q)+_+J.substring(X)}}return J}function G4($,Z,J,Y){let Q=$;Q=S2(Q,Z);function X(q){let z=/@foreach\s*\(/g,W;while((W=z.exec(q))!==null){let U=W.index,_=W.index+W[0].length-1,j=1,B=_+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(_+1,O),L=F.indexOf(" as ");if(L===-1)continue;let H=U,V=F.substring(0,L),A=F.substring(L+4),w=O+1,N=1,R=w,T=/@foreach\s*\(/g,I=/@endforeach/g;while(N>0&&R<q.length){T.lastIndex=R,I.lastIndex=R;let M=T.exec(q),E=I.exec(q);if(!E)break;if(M&&M.index<E.index)N++,R=M.index+M[0].length;else{if(N--,N===0){let k=q.substring(w,E.index),y=E.index+11;return{start:H,end:y,arrayExpr:V,itemVar:A,content:k}}R=E.index+11}}}return null}function G(q,z){let W=q;while(!0){let U=X(W);if(!U)break;let{start:_,end:j,arrayExpr:B,itemVar:O,content:F}=U;try{let L=B.trim(),H;if(t(L))H=e(L,Object.keys(z))(...Object.values(z));else H=J0(L,z);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`,u.TYPE_ERROR);W=W.substring(0,_)+M+W.substring(j);continue}let A=Y?.loops?.useAltLoopVariable??SG,w=O.trim(),N=null,R;if(w.includes("=>")){let M=w.split("=>").map((E)=>E.trim());if(M.length===2)N=M[0],R=M[1];else R=w}else R=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={...z,loop:k,$loop:k};if(R.startsWith("[")&&R.endsWith("]")){let x=R.slice(1,-1).split(",").map((h)=>h.trim());if(Array.isArray(E))x.forEach((h,i)=>{if(h)y[h]=E[i]});else y[R]=E}else y[R]=E;if(N)if(V&&Array.isArray(E)&&E.length===2)y[N]=E[0],y[R]=E[1];else y[N]=M;let S=PG(F,y),b=b2(S);if(b.hasContinue){T+=b.content;continue}let D=k2(S);if(D.hasBreak){T+=D.content;break}if(S=S2(S,y),S=G(S,y),S=V1(S,y,J),S=vG(S),D=k2(S),D.hasBreak){T+=D.content;break}if(b=b2(S),b.hasContinue){T+=b.content;continue}S=t0(S,y,J),S=CG(S,y),S=yG(S,y),T+=S}W=W.substring(0,_)+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)}`,u.EVALUATION_ERROR);W=W.substring(0,_)+H+W.substring(j)}}return W}Q=G(Q,Z),Q=P2(Q,Z,J,Y);let K=Y?.loops?.maxWhileIterations??bG;return Q=hG(Q,Z,K),Q}function C2($){return A5($)}function P2($,Z,J,Y){let Q=$,X=!0;while(X){X=!1;let G=Q.match(/@for\s*\(/);if(!G||G.index===void 0)break;let K=G.index,q=K+G[0].length-1,z=D0(Q,"(",")",q);if(z===-1)break;let W=Q.slice(q+1,z),U=z+1,_=W9(Q.slice(K),"for","endfor");if(_.length===0)break;let j=_[0].content,B=K+_[0].end;if(!C2(W)){let O=s("For",`Unsafe expression in @for: ${W}`,u.UNSAFE_EXPRESSION);Q=Q.substring(0,K)+O+Q.substring(B),X=!0;continue}try{let O=fG(W),F=/@(?:for|foreach|if|unless)\s*\(/.test(j);if(O.length>0&&F){let N=gG({forExpr:W,content:j,iterVarNames:O,context:Z,filePath:J,options:Y});Q=Q.substring(0,K)+N+Q.substring(B),X=!0;continue}let L=Object.keys(Z),H=Object.values(Z),V=j.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(N,R)=>{return`\${${R}}`});V=y2(V);let w=Function(...L,`
2470
+ ${B9(`@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,z="")=>{let W=X||G||"",U=K||q||"",_=J1(z),j=q5(W,Z),B=j!==void 0&&j!==null?j:U||"",O=_.match(/type=['"]([^'"]+)['"]/i),F=O?O[1]:"text",L=W5(W,Z),H=_.match(/class=['"]([^'"]+)['"]/i),V=_9(H?H[1]:"",J.input,L,J.inputError),A=_.replace(/class=['"][^'"]+['"]/i,"");return A=A.replace(/type=['"][^'"]+['"]/i,""),`<input type="${V0(F)}" name="${V0(W)}" value="${V0(B)}" class="${V}"${A?` ${A}`:""}>`}),Y=Y.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(Q,X,G="",K="")=>{let q=J1(G),z=q5(X,Z)||K.trim(),W=W5(X,Z),U=q.match(/class=['"]([^'"]+)['"]/i),_=_9(U?U[1]:"",J.input,W,J.inputError),j=q.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${V0(X)}" class="${_}"${j?` ${j}`:""}>${V0(z)}</textarea>`}),Y=Y.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(Q,X,G="",K)=>{let q=J1(G),z=q5(X,Z),W=W5(X,Z),U=q.match(/class=['"]([^'"]+)['"]/i),_=_9(U?U[1]:"",J.input,W,J.inputError),j=q.replace(/class=['"][^'"]+['"]/i,""),B=K;if(z!==void 0)B=K.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(O,F,L)=>{if((Array.isArray(z)?z.some((V)=>String(V)===L):String(z)===L)&&!F.includes("selected"))return F.replace(/(<option)/,"$1 selected");return O});return`<select name="${V0(X)}" class="${_}"${j?` ${j}`:""}>${B}</select>`}),Y=Y.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(Q,X,G="1",K="")=>{let q=J1(K),z=q5(X,Z),W=z!==void 0&&(Array.isArray(z)?z.some((B)=>String(B)===G):z===!0||String(z)===G),U=q.match(/class=['"]([^'"]+)['"]/i),_=U?U[1]:J.checkInput,j=q.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${V0(X)}" value="${V0(G)}" class="${_}"${W?" checked":""}${j?` ${j}`:""}>`}),Y=Y.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Q,X,G,K="")=>{let q=J1(K),z=q5(X,Z),W=z!==void 0&&z===G,U=q.match(/class=['"]([^'"]+)['"]/i),_=U?U[1]:J.checkInput,j=q.replace(/class=['"][^'"]+['"]/i,"");return`<input type="radio" name="${V0(X)}" value="${V0(G)}" class="${_}"${W?" checked":""}${j?` ${j}`:""}>`}),Y=Y.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Q,X,G="")=>{let K=J1(G),q=K.match(/accept=['"]([^'"]+)['"]/i),z=q?q[1]:"",W=K.includes("multiple"),U=W5(X,Z),_=K.match(/class=['"]([^'"]+)['"]/i),j=_9(_?_[1]:"",J.input,U,J.inputError),B=K.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),O=[`<input type="file" name="${V0(X)}"`,`class="${j}"`];if(z)O.push(`accept="${V0(z)}"`);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=J1(G),z=q.match(/class=['"]([^'"]+)['"]/i),W=z?z[1]:J.label,U=q.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${V0(X)}" class="${W}"${U?` ${U}`:""}>${K}</label>`}),Y}function w2($,Z,J=F2){return $.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(Y,Q,X)=>{try{if(W5(Q,Z))return X.replace(/\{\{([^}]+)\}\}/g,(G,K)=>{try{if(K.trim()==="$message"||K.trim()==="message")return L2(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 L2(Q,Z)}let q=K.trim();if(t(q)){let z=J0(q,Z);return z!==void 0?String(z):q}return q}catch{return K}});return""}catch(G){return console.error("Error processing @error directive:",G),Y}})}function W5($,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 L2($,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 q5($,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 J1($){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 F2;var A2=S(()=>{R0();F2={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"}});import N2 from"path";function zG($,Z=0){if(Z<=0)return!1;return Date.now()-$.loadedAt>Z}async function UG($,Z){if({...X4,...Z.i18n}.cache&&J4[$]){let Q=J4[$],X=Z.i18n?.cacheMaxAge??0;if(!zG(Q,X))return Q.translations}if(z5[$]?.state==="loading")return z5[$].promise;Z4[$]="loading";let Y=M2($,Z).then((Q)=>{return Z4[$]="loaded",delete z5[$],Q}).catch((Q)=>{throw Z4[$]="error",z5[$]={promise:Y,state:"error",error:Q instanceof Error?Q:Error(String(Q))},Q});return z5[$]={promise:Y,state:"loading"},Y}async function M2($,Z){let J={...X4,...Z.i18n},Y=N2.resolve(import.meta.dir,"..",J.translationsDir),Q=OG(J.format),X=N2.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=BG(q);else if(J.format==="json")G=JSON.parse(q);else throw K}if(J.cache)J4[$]={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 M2(J.defaultLocale,Z);return{}}}async function _G($,Z){return UG($,Z)}function BG($){let Z={},J=$.split(`
2471
+ `),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[,,z,W]=q,U=z.trim(),_=W.trim();if(_==="")K[U]={},Y.push({obj:K[U],indent:G});else K[U]=jG(_)}}return Z}function jG($){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 OG($){switch($){case"yaml":return".yaml";case"yml":return".yml";case"js":return".js";case"json":default:return".json"}}function HG($,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 LG($,Z={}){return I2($,Z)}function I2($,Z){let J="",Y=0;while(Y<$.length)if($[Y]==="{"){let Q=FG($,Y);if(Q===-1){J+=$[Y],Y++;continue}let X=$.slice(Y+1,Q);J+=VG(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 FG($,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 VG($,Z){let J=wG($);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 AG(Q,J.slice(2).join(","),Z);case"select":return RG(Q,J.slice(2).join(","));case"selectordinal":return TG(Q,J.slice(2).join(","));case"number":return IG(Q,J[2]?.trim());case"date":return DG(Q,J[2]?.trim());case"time":return EG(Q,J[2]?.trim());default:return Q!==void 0?String(Q):`{${$}}`}}function wG($){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 AG($,Z,J){let Y=Number($)||0,Q=Q4(Z),X=`=${Y}`;if(Q[X])return Y4(Q[X],Y,J);let G=NG(Y);if(Q[G])return Y4(Q[G],Y,J);if(Q.other)return Y4(Q.other,Y,J);return String(Y)}function Y4($,Z,J){let Y=$.replace(/#/g,String(Z));return I2(Y,J)}function NG($){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 RG($,Z){let J=String($||""),Y=Q4(Z);if(Y[J])return Y[J];return Y.other||String($)}function TG($,Z){let J=Number($)||0,Y=Q4(Z),Q=MG(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 MG($){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 Q4($){let Z={},J=/(\w+|=\d+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g,Y=J.exec($);while(Y!==null)Z[Y[1]]=Y[2],Y=J.exec($);return Z}function IG($,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 DG($,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 EG($,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 kG($){return/\{[^}]+,\s*(?:plural|select|selectordinal|number|date|time)\s*,/.test($)}function R2($,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(kG(G))return LG(G,Y);if(G.includes("|")&&"count"in Y){let K=Number(Y.count),q=G.split("|");G=HG(q,K)}for(let[K,q]of Object.entries(Y)){let z=K.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");G=G.replace(new RegExp(`:${z}`,"g"),String(q))}return G}async function D2($,Z,J,Y){let Q=$,X=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)([\s\S]*?)@endtranslate/g,G={...X4,...Y.i18n},K=await _G(G.locale,Y);Z.__translations=K,Z.__locale=G.locale,Z.__i18nConfig=G,Q=await T2(Q,X,async(W,U,_,j,B)=>{try{let O={};if(_)try{let L=[()=>JSON.parse(_),()=>{let H=`{"data":${_}}`,V=JSON.parse(H);return typeof V.data==="object"?V.data:{}},()=>{return F0(_,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 R2(U,K,G.fallbackToKey,O)||j.trim()}catch(O){if(Y.debug)console.error("Error processing @translate directive:",O);return s("Translate",`Error in @translate('${U}'): ${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 W=[...Q.matchAll(q)];console.warn(`Found ${W.length} @translate matches`),W.forEach((U,_)=>console.warn(`Match ${_}: ${U[0]}, Key: ${U[1]}, Params: ${U[2]||"none"}`))}return Q=await T2(Q,/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)/g,async(W,U,_,j)=>{try{let B={};if(_)try{let O=[()=>JSON.parse(_),()=>{let F=`{"data":${_}}`,L=JSON.parse(F);return typeof L.data==="object"?L.data:{}},()=>{return F0(_,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 R2(U,K,G.fallbackToKey,B)}catch(B){if(Y.debug)console.error("Error processing @translate directive:",B);return s("Translate",`Error in @translate('${U}'): ${B instanceof Error?B.message:String(B)}`,u.EVALUATION_ERROR)}}),Q}async function T2($,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 X4,J4,z5,Z4;var E2=S(()=>{o0();R0();X4={defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},J4={},z5={},Z4={}});var v2={};r(v2,{processLoops:()=>G4});function yG($,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,z=K+1;while(z<Y.length&&q>0){if(Y[z]==="(")q++;else if(Y[z]===")"){if(q--,q===0)break}z++}if(q!==0)continue;let W=Y.substring(K+1,z),U=z+1,_=W.match(/^\s*['"]([^'"]+)['"]/);if(!_)continue;let j=_[1],B=W.slice(_[0].length),O=B.match(/^\s*,\s*/);if(!O)continue;let F=B.slice(O[0].length).trim();if(!F)continue;try{let L=F0(F,Z),H=JSON.stringify(L),V=`@component('${j}', ${H})`;X.push({start:G,end:U,replacement:V})}catch{continue}}for(let G=X.length-1;G>=0;G--){let{start:K,end:q,replacement:z}=X[G];Y=Y.substring(0,K)+z+Y.substring(q)}return Y}function j9($,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,z=K+1,W=null,U=!1;while(z<Y.length&&q>0){let B=Y[z];if(U){U=!1,z++;continue}if(B==="\\"&&W){U=!0,z++;continue}if(W){if(B===W)W=null;z++;continue}if(B==='"'||B==="'"||B==="`"){W=B,z++;continue}if(B==="(")q++;else if(B===")"){if(q--,q===0)break}z++}if(q!==0)break;let _=Y.substring(K+1,z),j=J(_);Y=Y.substring(0,G)+j+Y.substring(z+1)}return Y}function CG($,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);o1(X);let z=e(X,G)(...K),U=JSON.stringify(z).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");return`__stx_${Q}="${U}"`}catch(G){return Y}}),J}function PG($,Z){let J=$;return J=j9(J,"@break",(Y)=>{try{let X=`!!(${Y.trim()})`,G;if(t(X)){let K=e(X,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(J0(X,Z));return G?O9:""}catch{return""}}),J=j9(J,"@continue",(Y)=>{try{let X=`!!(${Y.trim()})`,G;if(t(X)){let K=e(X,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(J0(X,Z));return G?H9:""}catch{return""}}),J}function vG($){let Z=$;return Z=Z.replace(/@break(?!\()/g,O9),Z=Z.replace(/@continue(?!\()/g,H9),Z}function k2($){let Z=$.includes(O9),J=Z?$.substring(0,$.indexOf(O9)):$;return{hasBreak:Z,content:J}}function b2($){let Z=$.includes(H9),J=Z?$.substring(0,$.indexOf(H9)):$;return{hasContinue:Z,content:J}}function y2($){let Z=$;return Z=j9(Z,"@break",(J)=>{let Y=J.trim();if(!A5(Y))return"";return`\`; if (${Y}) { break; } result += \``}),Z=j9(Z,"@continue",(J)=>{let Y=J.trim();if(!A5(Y))return"";return`\`; if (${Y}) { continue; } result += \``}),Z=Z.replace(/@break(?!\()/g,"`; break; result += `"),Z=Z.replace(/@continue(?!\()/g,"`; continue; result += `"),Z}function xG($){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,U)=>W.pos-U.pos);let K=[],q=0;for(let W of Y)q+=W.delta,K.push({pos:W.pos,depth:q});function z(W){let U=0,_=K.length-1,j=0;while(U<=_){let B=U+_>>1;if(K[B].pos<=W)j=K[B].depth,U=B+1;else _=B-1}return j}while((J=Z.exec($))!==null){if(z(J.index)>0)continue;let W=J.index,U=J.index+J[0].length-1,_=1,j=U+1,B=-1;while(j<$.length&&_>0){if($[j]==="(")_++;else if($[j]===")"){if(_--,_===0){B=j;break}}j++}if(B===-1)continue;let O=$.substring(U+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,A=1,w=V,N=/@forelse\s*\(/g,R=/@endforelse/g,T=-1;while(A>0&&w<$.length){N.lastIndex=w,R.lastIndex=w;let C=N.exec($),k=R.exec($);if(!k)break;if(C&&C.index<k.index)A++,w=C.index+C[0].length;else{if(A--,A===0){T=k.index;break}w=k.index+11}}if(T===-1)continue;let E=$.substring(V,T),M=T+11,I=-1,D=0,P=0;while(P<E.length){let C=E.indexOf("@",P);if(C===-1)break;let k=E.substring(C);if(/^@forelse\s*\(/.test(k))D++,P=C+1;else if(k.startsWith("@endforelse"))D--,P=C+11;else if(D===0&&k.startsWith("@empty")){if(E.length<=C+6||!/[a-z]/i.test(E[C+6])){I=C;break}P=C+1}else P=C+1}if(I===-1)continue;return{start:W,end:M,arrayExpr:L,itemVar:H,foreachContent:E.substring(0,I),emptyContent:E.substring(I+6)}}return null}function S2($,Z){let J=$;while(!0){let Y=xG(J);if(!Y)break;let{start:Q,end:X,arrayExpr:G,itemVar:K,foreachContent:q,emptyContent:z}=Y;try{let W;if(t(G))W=e(G,Object.keys(Z))(...Object.values(Z));else W=J0(G,Z);let U;if(!Array.isArray(W)||W.length===0)U=z;else U=`@foreach (${G} as ${K})${q}@endforeach`;J=J.substring(0,Q)+U+J.substring(X)}catch(W){let U=W instanceof Error?W.message:String(W),_=s("Forelse",`Error in @forelse(${G} as ${K}): ${U}`,u.EVALUATION_ERROR);J=J.substring(0,Q)+_+J.substring(X)}}return J}function G4($,Z,J,Y){let Q=$;Q=S2(Q,Z);function X(q){let z=/@foreach\s*\(/g,W;while((W=z.exec(q))!==null){let U=W.index,_=W.index+W[0].length-1,j=1,B=_+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(_+1,O),L=F.indexOf(" as ");if(L===-1)continue;let H=U,V=F.substring(0,L),A=F.substring(L+4),w=O+1,N=1,R=w,T=/@foreach\s*\(/g,E=/@endforeach/g;while(N>0&&R<q.length){T.lastIndex=R,E.lastIndex=R;let M=T.exec(q),I=E.exec(q);if(!I)break;if(M&&M.index<I.index)N++,R=M.index+M[0].length;else{if(N--,N===0){let D=q.substring(w,I.index),P=I.index+11;return{start:H,end:P,arrayExpr:V,itemVar:A,content:D}}R=I.index+11}}}return null}function G(q,z){let W=q;while(!0){let U=X(W);if(!U)break;let{start:_,end:j,arrayExpr:B,itemVar:O,content:F}=U;try{let L=B.trim(),H;if(t(L))H=e(L,Object.keys(z))(...Object.values(z));else H=J0(L,z);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 I=s("Foreach",`Error in @foreach: ${L} is not iterable`,u.TYPE_ERROR);W=W.substring(0,_)+I+W.substring(j);continue}let A=Y?.loops?.useAltLoopVariable??SG,w=O.trim(),N=null,R,T=!1;if(w.includes("=>")){let I=w.split("=>").map((D)=>D.trim());if(I.length===2&&I[0]&&I[1])N=I[0],R=I[1];else R=w}else if(!w.startsWith("[")&&!w.startsWith("{")&&w.includes(",")){let I=w.split(",").map((D)=>D.trim());if(I.length===2&&I[0]&&I[1])R=I[0],N=I[1],T=!0;else R=w}else R=w;let E="",M=H;for(let I=0;I<M.length;I++){let D=M[I],P={index:I,iteration:I+1,first:I===0,last:I===M.length-1,count:M.length},C={...z,loop:P,$loop:P};if(R.startsWith("[")&&R.endsWith("]")){let h=R.slice(1,-1).split(",").map((c)=>c.trim());if(Array.isArray(D))h.forEach((c,W0)=>{if(c)C[c]=D[W0]});else C[R]=D}else C[R]=D;if(N)if(!T&&V&&Array.isArray(D)&&D.length===2)C[N]=D[0],C[R]=D[1];else C[N]=I;let k=PG(F,C),b=b2(k);if(b.hasContinue){E+=b.content;continue}let x=k2(k);if(x.hasBreak){E+=x.content;break}if(k=S2(k,C),k=G(k,C),k=V1(k,C,J),k=vG(k),x=k2(k),x.hasBreak){E+=x.content;break}if(b=b2(k),b.hasContinue){E+=b.content;continue}k=t0(k,C,J),k=CG(k,C),k=yG(k,C),E+=k}W=W.substring(0,_)+E+W.substring(j)}catch(L){let H=s("Foreach",`Error in @foreach(${B.trim()} as ${O.trim()}): ${L instanceof Error?L.message:String(L)}`,u.EVALUATION_ERROR);W=W.substring(0,_)+H+W.substring(j)}}return W}Q=G(Q,Z),Q=P2(Q,Z,J,Y);let K=Y?.loops?.maxWhileIterations??bG;return Q=hG(Q,Z,K),Q}function C2($){return A5($)}function P2($,Z,J,Y){let Q=$,X=!0;while(X){X=!1;let G=Q.match(/@for\s*\(/);if(!G||G.index===void 0)break;let K=G.index,q=K+G[0].length-1,z=D0(Q,"(",")",q);if(z===-1)break;let W=Q.slice(q+1,z),U=z+1,_=W9(Q.slice(K),"for","endfor");if(_.length===0)break;let j=_[0].content,B=K+_[0].end;if(!C2(W)){let O=s("For",`Unsafe expression in @for: ${W}`,u.UNSAFE_EXPRESSION);Q=Q.substring(0,K)+O+Q.substring(B),X=!0;continue}try{let O=fG(W),F=/@(?:for|foreach|if|unless)\s*\(/.test(j);if(O.length>0&&F){let N=gG({forExpr:W,content:j,iterVarNames:O,context:Z,filePath:J,options:Y});Q=Q.substring(0,K)+N+Q.substring(B),X=!0;continue}let L=Object.keys(Z),H=Object.values(Z),V=j.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(N,R)=>{return`\${${R}}`});V=y2(V);let w=Function(...L,`
2472
2472
  let result = '';
2473
2473
  for (${W}) {
2474
2474
  result += \`${V}\`;
@@ -2490,7 +2490,7 @@ ${Q}`)}function W2($,Z,J,Y){let Q=$,X=Y.csp;if(Q=Q.replace(/@csp\b/g,()=>{if(!X?
2490
2490
  result += '<!-- [While Error [1104]]: Maximum iterations (${J}) exceeded in while loop. Configure via options.loops.maxWhileIterations -->';
2491
2491
  }
2492
2492
  return result;
2493
- `)(...B);Y=Y.substring(0,G)+L+Y.substring(_),Q=!0}catch(j){let B=s("While",`Error in @while(${z}): ${j instanceof Error?j.message:String(j)}`,u.EVALUATION_ERROR);Y=Y.substring(0,G)+B+Y.substring(_),Q=!0}}return Y}var bG=1000,SG=!1,O9="<!--__STX_BREAK__-->",H9="<!--__STX_CONTINUE__-->";var K4=C(()=>{z9();o0();n0();r$();R0()});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 dG($,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,z=K+1;while(z<Y.length&&q>0){if(Y[z]==="(")q++;else if(Y[z]===")")q--;z++}if(q!==0)break;let W=Y.substring(K+1,z-1),U=`${J}(${W})`;Y=Y.substring(0,G)+U+Y.substring(z),Q.lastIndex=G+U.length,X=Q.exec(Y)}return Y}function mG($){return/\b(state|derived|effect)\s*\(/.test($)}function uG($){let Z=$,J=[],Y=new Set,Q=0,X=0,G=Z.length,K=(U)=>{X++;while(X<G){if(Z[X]==="\\"){X+=2;continue}if(Z[X]===U){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 U=1;while(X<G&&U>0)if(Z[X]==="{")U++;else if(Z[X]==="}")U--;else if(Z[X]==="'"||Z[X]==='"')K(Z[X]);else if(Z[X]==="`")q();else X++;continue}X++}},z=()=>{if(Z[X]==="/"&&Z[X+1]==="/"){while(X<G&&Z[X]!==`
2493
+ `)(...B);Y=Y.substring(0,G)+L+Y.substring(_),Q=!0}catch(j){let B=s("While",`Error in @while(${z}): ${j instanceof Error?j.message:String(j)}`,u.EVALUATION_ERROR);Y=Y.substring(0,G)+B+Y.substring(_),Q=!0}}return Y}var bG=1000,SG=!1,O9="<!--__STX_BREAK__-->",H9="<!--__STX_CONTINUE__-->";var K4=S(()=>{z9();o0();n0();r$();R0()});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 dG($,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,z=K+1;while(z<Y.length&&q>0){if(Y[z]==="(")q++;else if(Y[z]===")")q--;z++}if(q!==0)break;let W=Y.substring(K+1,z-1),U=`${J}(${W})`;Y=Y.substring(0,G)+U+Y.substring(z),Q.lastIndex=G+U.length,X=Q.exec(Y)}return Y}function mG($){return/\b(state|derived|effect)\s*\(/.test($)}function uG($){let Z=$,J=[],Y=new Set,Q=0,X=0,G=Z.length,K=(U)=>{X++;while(X<G){if(Z[X]==="\\"){X+=2;continue}if(Z[X]===U){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 U=1;while(X<G&&U>0)if(Z[X]==="{")U++;else if(Z[X]==="}")U--;else if(Z[X]==="'"||Z[X]==='"')K(Z[X]);else if(Z[X]==="`")q();else X++;continue}X++}},z=()=>{if(Z[X]==="/"&&Z[X+1]==="/"){while(X<G&&Z[X]!==`
2494
2494
  `)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 U=Z.slice(X).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(U){let B=U[2];if(!Y.has(B))J.push(B),Y.add(B);return}let _=Z.slice(X).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(_){let B=_[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(z())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=uG($);return`
2495
2495
  (function() {
2496
2496
  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;
@@ -2504,17 +2504,17 @@ ${$}
2504
2504
  if (!window.stx._scopes) window.stx._scopes = {};
2505
2505
  window.stx._scopes['${Z}'] = { ${J}, __destroyCallbacks: __destroyHooks };
2506
2506
  })();
2507
- `}function lG($,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 nG($){if($.__onceStore instanceof Set)return $.__onceStore;return iG}async function W4($,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=dG($,"@partial","@include"),q=nG(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 A=K.substring(L+1,V-1),w=A.match(/^\s*['"]([^'"]+)['"]/);if(!w){B.lastIndex=V;continue}let N=w[1],R=z(N,G,J),T="";if(R&&await Bun.file(R).exists())Q.add(R),T=`@include(${A})`;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,A=1,w=V+1;while(w<K.length&&A>0){if(K[w]==="(")A++;else if(K[w]===")")A--;w++}if(A!==0)break;let N=K.substring(V+1,w-1),R=q4(N,0);if(R===-1){F.lastIndex=w;continue}let T=N.substring(0,R).trim(),I=N.substring(R+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(t(b)){let i=e(b,Object.keys(Z));D=Boolean(i(...Object.values(Z)))}else D=Boolean(J0(b,Z));let x=O?!D:D,h="";if(x){let i=z(E,G,J);if(i&&await Bun.file(i).exists())Q.add(i);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=X0("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 A=K.substring(L+1,V),w=K.substring(F,V+1),N=A.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!N){B.lastIndex=0,K=K.replace(w,"");continue}let[,R,T,I,M]=N;try{let E,k=T.trim();if(t(k))E=e(k,Object.keys(Z))(...Object.values(Z));else E=J0(k,Z);let y="";if(Array.isArray(E)&&E.length>0)for(let S of E){let b={...Z,[I]:S},D=await U(R,b,$,F);y+=D}else if(M)y=await U(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)+X0("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 A=K.substring(L+1,V),w=K.substring(F,V+1),N=A.match(/^\s*(\[[^\]]+\])/);if(!N){B.lastIndex=0,K=K.replace(w,"");continue}let R=N[1],T=A.slice(N[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(R.replace(/'/g,'"')),S={};if(I)try{S=F0(I,Z)}catch(D){let x=D instanceof Error?D.message:String(D);if(Y.debug){let h=X0("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=z(D,G,J);if(!x)continue;if(await l(x)){let h=await U(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=X0("Include",`None of the includeFirst paths exist: ${R}`,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=X0("Include",`Error processing @includeFirst: ${S}`,J,$,F,w);K=K.replace(w,()=>b)}B.lastIndex=0}}function z(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)),A;if(!L.startsWith("./")&&!L.startsWith("../"))A=K0.resolve(O,L);else A=K0.resolve(V,L);let w=K0.normalize(A),N=w.startsWith(H+K0.sep)||w===H,R=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(!N&&!R&&!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 U(B,O={},F,L){let H=z(B,G,J);if(!H)return X0("Include",`Could not resolve path for include: ${B}`,J,F,L);let V=K0.resolve(H);if(X.has(V)){let A=[...X,V].map((w)=>K0.basename(w)).join(" -> ");return X0("Include",`Circular include detected: ${A}`,J,F,L)}try{Q.add(H);let A;if(!A)try{A=await Bun.file(H).text()}catch(D){let x=D instanceof Error?D.message:String(D);return X0("Include",`Error loading include file ${B}: ${x}`,J,F,L)}let w=A,N=w.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>([\s\S]*?)<\/template>/i);if(N)w=N[1].trim();let R=A.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),T="";if(R)T=`<style${R[1]}>${R[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=[...A.matchAll(M)],k="",y=null;for(let D of E){let x=D[1]||"",h=D[2]||"",i=x.includes("server");if(q1(x)&&h.trim())h=W1(h);let H0=mG(h);if(H0&&!i){y=`stx_scope_${K0.basename(H,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++cG}`;let _0=a0(h),P0=pG(_0,y);k+=`<script data-stx-scoped>${P0}</script>
2508
- `;continue}if(i)try{let{extractVariables:_0}=await Promise.resolve().then(() => ($5(),D5));await _0(h,I,H)}catch(_0){if(Y.debug)console.warn(`Warning: Could not extract variables from server script in ${H}:`,_0)}if(!i&&!H0){let _0=x.replace(/\bclient\b/i,"").trim();k+=`<script data-stx-scoped${_0?` ${_0}`:""}>${h}</script>
2509
- `}}if(y){let D=lG(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 W4(w,I,H,Y,Q,X);let{processLoops:S}=await Promise.resolve().then(() => (K4(),v2)),b=S(w,I,H);if(b=V1(b,I,H),b=t0(b,I,H),T)b+=`
2510
- `+T;if(k)b+=`
2511
- `+k;return b}catch(A){let w=A instanceof Error?A.message:String(A);return X0("Include",`Error processing include ${B}: ${w}`,J,F,L)}}let _=/@include\s*\(/g,j;while((j=_.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),A=V.match(/^\s*['"]([^'"]+)['"]/);if(!A){_.lastIndex=L;continue}let w=A[1],N,R=V.substring(A[0].length),T=q4(R,0);if(T!==-1)N=R.substring(T+1).trim();let I={};if(N)try{I=F0(N,Z)}catch(E){let k=E instanceof Error?E.message:String(E);K=K.replace(H,X0("Include",`Error parsing include variables for ${w}: ${k}`,J,$,B)),_.lastIndex=0;continue}let M=await U(w,I,$,B);K=K.substring(0,B)+M+K.substring(L),_.lastIndex=0}return K}function z4($,Z){let J=$;function Y(Q,X,G,K){let q=Q,z=!0;while(z){z=!1;let W=new RegExp(`@${X}\\(['"]([^'"]+)['"]\\)`),U=q.match(W);if(!U||U.index===void 0)break;let _=U.index,j=U[1],B=_+U[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),N=w.match(O),R=w.match(F),T=N?H+N.index:1/0,I=R?H+R.index:1/0;if(T<I)L++,H=T+(N[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 A=q.slice(B,V);if(!Z[j])Z[j]=[];if(K)Z[j].unshift(A);else Z[j].push(A);q=q.substring(0,_)+q.substring(V+`@${G}`.length),z=!0}return q}return J=Y(J,"push","endpush",!1),J=Y(J,"prepend","endprepend",!0),J}function U4($,Z){return $.replace(/@stack\(['"]([^'"]+)['"]\)/g,(J,Y)=>{if(!Z[Y]||Z[Y].length===0)return"";return Z[Y].join(`
2512
- `)})}var __dirname="/home/runner/work/stx/stx/packages/stx/src",cG=0,Uj,iG;var x2=C(()=>{z9();n0();E1();R0();A0();Uj=new a1(500),iG=new Set});import*as _4 from"path";async function f2($,Z,J=""){if(_4.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 h2($,Z,J,"@js","@endjs")}async function g2($,Z,J=""){if(_4.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 h2($,Z,J,"@ts","@endts")}async function h2($,Z,J,Y,Q){let X=$,G=D1(`${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:z,content:W,index:U}of K)try{let _=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=`
2507
+ `}function lG($,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 nG($){if($.__onceStore instanceof Set)return $.__onceStore;return iG}async function W4($,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=dG($,"@partial","@include"),q=nG(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 A=K.substring(L+1,V-1),w=A.match(/^\s*['"]([^'"]+)['"]/);if(!w){B.lastIndex=V;continue}let N=w[1],R=z(N,G,J),T="";if(R&&await Bun.file(R).exists())Q.add(R),T=`@include(${A})`;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,A=1,w=V+1;while(w<K.length&&A>0){if(K[w]==="(")A++;else if(K[w]===")")A--;w++}if(A!==0)break;let N=K.substring(V+1,w-1),R=q4(N,0);if(R===-1){F.lastIndex=w;continue}let T=N.substring(0,R).trim(),E=N.substring(R+1).trim(),M=E.match(/^\s*['"]([^'"]+)['"]/);if(!M){F.lastIndex=w;continue}let I=M[1],D=E.substring(M[0].length),P,C=q4(D,0);if(C!==-1)P=D.substring(C+1).trim();try{let k=`Boolean(${T})`,b;if(t(k)){let c=e(k,Object.keys(Z));b=Boolean(c(...Object.values(Z)))}else b=Boolean(J0(k,Z));let x=O?!b:b,h="";if(x){let c=z(I,G,J);if(c&&await Bun.file(c).exists())Q.add(c);h=`@include('${I}'${P?`, ${P}`:""})`}K=K.substring(0,H)+h+K.substring(w),F.lastIndex=0}catch(k){let b=k instanceof Error?k.message:String(k),x=X0("Include",`Error evaluating ${B} condition: ${b}`,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 A=K.substring(L+1,V),w=K.substring(F,V+1),N=A.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!N){B.lastIndex=0,K=K.replace(w,"");continue}let[,R,T,E,M]=N;try{let I,D=T.trim();if(t(D))I=e(D,Object.keys(Z))(...Object.values(Z));else I=J0(D,Z);let P="";if(Array.isArray(I)&&I.length>0)for(let C of I){let k={...Z,[E]:C},b=await U(R,k,$,F);P+=b}else if(M)P=await U(M,{},$,F);K=K.substring(0,F)+P+K.substring(V+1),B.lastIndex=0}catch(I){let D=I instanceof Error?I.message:String(I);K=K.substring(0,F)+X0("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 A=K.substring(L+1,V),w=K.substring(F,V+1),N=A.match(/^\s*(\[[^\]]+\])/);if(!N){B.lastIndex=0,K=K.replace(w,"");continue}let R=N[1],T=A.slice(N[0].length),E,M=T.match(/^\s*,\s*\{/);if(M){T=T.slice(M[0].length-1);let P=1,C=1;while(C<T.length&&P>0){if(T[C]==="{")P++;else if(T[C]==="}"){if(P--,P===0)break}C++}E=T.substring(0,C+1),T=T.slice(C+1)}let I,D=T.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(D)I=D[1];try{let P=JSON.parse(R.replace(/'/g,'"')),C={};if(E)try{C=F0(E,Z)}catch(b){let x=b instanceof Error?b.message:String(b);if(Y.debug){let h=X0("Include",`Error parsing includeFirst variables: ${x}`,J,$,F,w);K=K.replace(w,()=>h)}else K=K.replace(w,()=>I||"");continue}let k=!1;for(let b of P){let x=z(b,G,J);if(!x)continue;if(await l(x)){let h=await U(b,C,$,F);K=K.replace(w,()=>h),k=!0;break}}if(!k)if(I!==void 0)K=K.replace(w,()=>I);else if(Y.debug){let b=X0("Include",`None of the includeFirst paths exist: ${R}`,J,$,F,w);K=K.replace(w,()=>b)}else K=K.replace(w,"")}catch(P){let C=P instanceof Error?P.message:String(P),k=X0("Include",`Error processing @includeFirst: ${C}`,J,$,F,w);K=K.replace(w,()=>k)}B.lastIndex=0}}function z(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)),A;if(!L.startsWith("./")&&!L.startsWith("../"))A=K0.resolve(O,L);else A=K0.resolve(V,L);let w=K0.normalize(A),N=w.startsWith(H+K0.sep)||w===H,R=w.startsWith(V+K0.sep)||w===V,T=!1,E=K0.dirname(V);if(w.startsWith(E+K0.sep)){if(!K0.relative(E,w).split(K0.sep).some((P)=>P.startsWith(".")&&P!=="."&&P!==".."))T=!0}if(!N&&!R&&!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 U(B,O={},F,L){let H=z(B,G,J);if(!H)return X0("Include",`Could not resolve path for include: ${B}`,J,F,L);let V=K0.resolve(H);if(X.has(V)){let A=[...X,V].map((w)=>K0.basename(w)).join(" -> ");return X0("Include",`Circular include detected: ${A}`,J,F,L)}try{Q.add(H);let A;if(!A)try{A=await Bun.file(H).text()}catch(b){let x=b instanceof Error?b.message:String(b);return X0("Include",`Error loading include file ${B}: ${x}`,J,F,L)}let w=A,N=w.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>([\s\S]*?)<\/template>/i);if(N)w=N[1].trim();let R=A.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),T="";if(R)T=`<style${R[1]}>${R[2]}</style>`;w=w.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),w=w.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let E={...Z};for(let[b,x]of Object.entries(O))E[b]=x;let M=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,I=[...A.matchAll(M)],D="",P=null;for(let b of I){let x=b[1]||"",h=b[2]||"",c=x.includes("server");if(q1(x)&&h.trim())h=W1(h);let H0=mG(h);if(H0&&!c){P=`stx_scope_${K0.basename(H,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++cG}`;let _0=a0(h),P0=pG(_0,P);D+=`<script data-stx-scoped>${P0}</script>
2508
+ `;continue}if(c)try{let{extractVariables:_0}=await Promise.resolve().then(() => ($5(),D5));await _0(h,E,H)}catch(_0){if(Y.debug)console.warn(`Warning: Could not extract variables from server script in ${H}:`,_0)}if(!c&&!H0){let _0=x.replace(/\bclient\b/i,"").trim();D+=`<script data-stx-scoped${_0?` ${_0}`:""}>${h}</script>
2509
+ `}}if(P){let b=lG(w,P);if(w=b.html,b.mergedIntoExisting)D=D.replace(`window.stx._scopes['${P}']`,`window.stx._scopes['${b.mergedIntoExisting}']`),P=b.mergedIntoExisting}if(w.includes("@include")||w.includes("@partial"))w=await W4(w,E,H,Y,Q,X);let{processLoops:C}=await Promise.resolve().then(() => (K4(),v2)),k=C(w,E,H);if(k=V1(k,E,H),k=t0(k,E,H),T)k+=`
2510
+ `+T;if(D)k+=`
2511
+ `+D;return k}catch(A){let w=A instanceof Error?A.message:String(A);return X0("Include",`Error processing include ${B}: ${w}`,J,F,L)}}let _=/@include\s*\(/g,j;while((j=_.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),A=V.match(/^\s*['"]([^'"]+)['"]/);if(!A){_.lastIndex=L;continue}let w=A[1],N,R=V.substring(A[0].length),T=q4(R,0);if(T!==-1)N=R.substring(T+1).trim();let E={};if(N)try{E=F0(N,Z)}catch(I){let D=I instanceof Error?I.message:String(I);K=K.replace(H,X0("Include",`Error parsing include variables for ${w}: ${D}`,J,$,B)),_.lastIndex=0;continue}let M=await U(w,E,$,B);K=K.substring(0,B)+M+K.substring(L),_.lastIndex=0}return K}function z4($,Z){let J=$;function Y(Q,X,G,K){let q=Q,z=!0;while(z){z=!1;let W=new RegExp(`@${X}\\(['"]([^'"]+)['"]\\)`),U=q.match(W);if(!U||U.index===void 0)break;let _=U.index,j=U[1],B=_+U[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),N=w.match(O),R=w.match(F),T=N?H+N.index:1/0,E=R?H+R.index:1/0;if(T<E)L++,H=T+(N[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 A=q.slice(B,V);if(!Z[j])Z[j]=[];if(K)Z[j].unshift(A);else Z[j].push(A);q=q.substring(0,_)+q.substring(V+`@${G}`.length),z=!0}return q}return J=Y(J,"push","endpush",!1),J=Y(J,"prepend","endprepend",!0),J}function U4($,Z){return $.replace(/@stack\(['"]([^'"]+)['"]\)/g,(J,Y)=>{if(!Z[Y]||Z[Y].length===0)return"";return Z[Y].join(`
2512
+ `)})}var __dirname="/home/runner/work/stx/stx/packages/stx/src",cG=0,Uj,iG;var x2=S(()=>{z9();n0();E1();R0();A0();Uj=new a1(500),iG=new Set});import*as _4 from"path";async function f2($,Z,J=""){if(_4.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 h2($,Z,J,"@js","@endjs")}async function g2($,Z,J=""){if(_4.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 h2($,Z,J,"@ts","@endts")}async function h2($,Z,J,Y,Q){let X=$,G=D1(`${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:z,content:W,index:U}of K)try{let _=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=`
2513
2513
  ${B}
2514
2514
  ${L}
2515
- `,A=Function(..._,H)(...j);if(A&&typeof A==="object")Object.assign(Z,A);X=X.replace(z,"")}catch(_){console.error(`Error executing ${Y} code block in ${J}:`,_);let j=_ instanceof Error?_.message:String(_),B=X0(`${Y} Directive`,`Error executing code: ${j}`,J,$,U,z);console.error(B),X=X.replace(z,"")}return X}var d2=C(()=>{E1();A0()});function oG($,Z="_method"){let J=$.toUpperCase();if(J==="GET"||J==="POST")return"";return`<input type="hidden" name="${Z}" value="${J}">`}function m2($){return $.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(Z,J,Y,Q,X)=>{return oG(Y,X||"_method")})}async function u2($,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 z=X0("Middleware",`Error in middleware '${K.name}': ${q instanceof Error?q.message:String(q)}`,J,$);X=X.replace(/<body[^>]*>/,`$&
2515
+ `,A=Function(..._,H)(...j);if(A&&typeof A==="object")Object.assign(Z,A);X=X.replace(z,"")}catch(_){console.error(`Error executing ${Y} code block in ${J}:`,_);let j=_ instanceof Error?_.message:String(_),B=X0(`${Y} Directive`,`Error executing code: ${j}`,J,$,U,z);console.error(B),X=X.replace(z,"")}return X}var d2=S(()=>{E1();A0()});function oG($,Z="_method"){let J=$.toUpperCase();if(J==="GET"||J==="POST")return"";return`<input type="hidden" name="${Z}" value="${J}">`}function m2($){return $.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(Z,J,Y,Q,X)=>{return oG(Y,X||"_method")})}async function u2($,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 z=X0("Middleware",`Error in middleware '${K.name}': ${q instanceof Error?q.message:String(q)}`,J,$);X=X.replace(/<body[^>]*>/,`$&
2516
2516
  <div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${z1(z)}</div>
2517
- `)}}}return X}async function p2($,Z,J,Y){return u2($,Z,J,Y,"before")}async function l2($,Z,J,Y){return u2($,Z,J,Y,"after")}var c2=C(()=>{n0();A0()});import{defineRoute as Tj,defineRoutes as Mj,resetRoutes as Ij,route as Dj,setAppUrl as Ej}from"stx-router";import{route as sG}from"stx-router";function i2($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(Z,J,Y,Q,X)=>{try{let G=Q?F0(Q,{}):{};return sG(Y,G,X==="true")}catch(G){return console.error(`Error processing @route directive: ${G}`),"#route-error"}})}var n2=C(()=>{R0()});async function o2($,Z){let J=$.split("/").pop()?.split(".")[0]||"";if(U5.exact[$])for(let Y of U5.exact[$])await Promise.resolve(Y(Z,$));if(U5.exact[J])for(let Y of U5.exact[J])await Promise.resolve(Y(Z,$));for(let{pattern:Y,callback:Q}of U5.patterns)if(Y.test($)||Y.test(J))await Promise.resolve(Q(Z,$))}var U5;var s2=C(()=>{U5={patterns:[],exact:{}}});function r2($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter(Boolean).map((Z)=>r2(Z)).join(" ");if($&&typeof $==="object")return Object.entries($).filter(([,Z])=>Z).map(([Z])=>Z).join(" ");return $?String($):""}function a2($,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(z){return Q.some(([W,U])=>z>=W&&z<U)}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 z=X[0],W=X[2];if(!W||!W.includes(":"))continue;let U=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,_,j=W,B=!1;while((_=U.exec(W))!==null){let O=_[1],F=_[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 N=r2(w);if(N){let R=j.match(/\sclass="([^"]*)"/);if(R)j=j.replace(R[0],` class="${R[1]} ${N}"`);else j=j.replace(_[0],` class="${N}"`)}else j=j.replace(_[0],"");B=!0;continue}if(rG.has(O)){if(w)j=j.replace(_[0],` ${O}`);else j=j.replace(_[0],"");B=!0;continue}if(w===null||w===void 0||w===!1)j=j.replace(_[0],"");else{let N=String(w).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");j=j.replace(_[0],` ${O}="${N}"`)}B=!0}catch{continue}}if(B){let O=z.endsWith("/>")?" /":"",L=`<${X[1]}${j}${O}>`;q.push({start:X.index,end:X.index+z.length,replacement:L})}}for(let z=q.length-1;z>=0;z--){let{start:W,end:U,replacement:_}=q[z];J=J.slice(0,W)+_+J.slice(U)}return J}var rG;var t2=C(()=>{rG=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"])});function w1($,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("/")||aG.has(Y[1].toLowerCase()),start:Y.index,end:Y.index+Y[0].length}}function eG($,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 d0($,Z){if(Z.selfClosing)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};let J=eG($,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 e2($,Z){return new RegExp(`(?:^|\\s)${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test($)||$.includes(` ${Z}=`)||$.includes(` ${Z} `)||$.trimEnd().endsWith(` ${Z}`)}function x1($,Z){let J=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=$.match(new RegExp(`${J}="([^"]*)"`,"s"))||$.match(new RegExp(`${J}='([^']*)'`,"s"));return Y?Y[1]:null}function X1($,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 Q1($,Z,J){let Y=Z.selfClosing?" /":"",Q=`<${Z.tag}${J}${Y}>`;return $.slice(0,Z.start)+Q+$.slice(Z.end)}function $K($){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test($)}function ZK($){let Z=$,J=0;while(J<Z.length){let Y=w1(Z,J);if(!Y)break;let Q=x1(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 z=X1(Y.attrs,"v-for"),W=X1(z,":key").replace(/\s*v-bind:key="[^"]*"/g,""),U=d0(Z,Y),_=Z.slice(U.outerStart,U.outerEnd),j=Q1(_,{...Y,start:0,end:Y.end-Y.start},W),B=`@foreach(${q})
2517
+ `)}}}return X}async function p2($,Z,J,Y){return u2($,Z,J,Y,"before")}async function l2($,Z,J,Y){return u2($,Z,J,Y,"after")}var c2=S(()=>{n0();A0()});import{defineRoute as Tj,defineRoutes as Mj,resetRoutes as Ij,route as Dj,setAppUrl as Ej}from"stx-router";import{route as sG}from"stx-router";function i2($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(Z,J,Y,Q,X)=>{try{let G=Q?F0(Q,{}):{};return sG(Y,G,X==="true")}catch(G){return console.error(`Error processing @route directive: ${G}`),"#route-error"}})}var n2=S(()=>{R0()});async function o2($,Z){let J=$.split("/").pop()?.split(".")[0]||"";if(U5.exact[$])for(let Y of U5.exact[$])await Promise.resolve(Y(Z,$));if(U5.exact[J])for(let Y of U5.exact[J])await Promise.resolve(Y(Z,$));for(let{pattern:Y,callback:Q}of U5.patterns)if(Y.test($)||Y.test(J))await Promise.resolve(Q(Z,$))}var U5;var s2=S(()=>{U5={patterns:[],exact:{}}});function r2($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter(Boolean).map((Z)=>r2(Z)).join(" ");if($&&typeof $==="object")return Object.entries($).filter(([,Z])=>Z).map(([Z])=>Z).join(" ");return $?String($):""}function a2($,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(z){return Q.some(([W,U])=>z>=W&&z<U)}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 z=X[0],W=X[2];if(!W||!W.includes(":"))continue;let U=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,_,j=W,B=!1;while((_=U.exec(W))!==null){let O=_[1],F=_[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 N=r2(w);if(N){let R=j.match(/\sclass="([^"]*)"/);if(R)j=j.replace(R[0],` class="${R[1]} ${N}"`);else j=j.replace(_[0],` class="${N}"`)}else j=j.replace(_[0],"");B=!0;continue}if(rG.has(O)){if(w)j=j.replace(_[0],` ${O}`);else j=j.replace(_[0],"");B=!0;continue}if(w===null||w===void 0||w===!1)j=j.replace(_[0],"");else{let N=String(w).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");j=j.replace(_[0],` ${O}="${N}"`)}B=!0}catch{continue}}if(B){let O=z.endsWith("/>")?" /":"",L=`<${X[1]}${j}${O}>`;q.push({start:X.index,end:X.index+z.length,replacement:L})}}for(let z=q.length-1;z>=0;z--){let{start:W,end:U,replacement:_}=q[z];J=J.slice(0,W)+_+J.slice(U)}return J}var rG;var t2=S(()=>{rG=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"])});function w1($,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("/")||aG.has(Y[1].toLowerCase()),start:Y.index,end:Y.index+Y[0].length}}function eG($,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 d0($,Z){if(Z.selfClosing)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};let J=eG($,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 e2($,Z){return new RegExp(`(?:^|\\s)${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test($)||$.includes(` ${Z}=`)||$.includes(` ${Z} `)||$.trimEnd().endsWith(` ${Z}`)}function x1($,Z){let J=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=$.match(new RegExp(`${J}="([^"]*)"`,"s"))||$.match(new RegExp(`${J}='([^']*)'`,"s"));return Y?Y[1]:null}function X1($,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 Q1($,Z,J){let Y=Z.selfClosing?" /":"",Q=`<${Z.tag}${J}${Y}>`;return $.slice(0,Z.start)+Q+$.slice(Z.end)}function $K($){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test($)}function ZK($){let Z=$,J=0;while(J<Z.length){let Y=w1(Z,J);if(!Y)break;let Q=x1(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 z=X1(Y.attrs,"v-for"),W=X1(z,":key").replace(/\s*v-bind:key="[^"]*"/g,""),U=d0(Z,Y),_=Z.slice(U.outerStart,U.outerEnd),j=Q1(_,{...Y,start:0,end:Y.end-Y.start},W),B=`@foreach(${q})
2518
2518
  `,O=`${B}${j}
2519
2519
  @endforeach`;Z=Z.slice(0,U.outerStart)+O+Z.slice(U.outerEnd),J=U.outerStart+B.length}return Z}function YK($){let Z=$,J=0;while(J<Z.length){let Y=w1(Z,J);if(!Y)break;let Q=x1(Y.attrs,"v-if");if(Q===null){J=Y.end;continue}let X=[],G=d0(Z,Y),K=X1(Y.attrs,"v-if"),q=Q1(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 z=G.outerEnd,W=!0;while(W){let O=Z.slice(z).match(/^\s*/),F=O?O[0].length:0,L=w1(Z,z+F);if(!L){W=!1;break}let H=x1(L.attrs,"v-else-if"),V=e2(L.attrs,"v-else");if(H!==null){let A=d0(Z,L),w=X1(L.attrs,"v-else-if"),N=Q1(Z.slice(A.outerStart,A.outerEnd),{...L,start:0,end:L.end-L.start},w);X.push({type:"else-if",expr:H,outerStart:z,outerEnd:A.outerEnd,element:N,parsedTag:L}),z=A.outerEnd}else if(V){let A=d0(Z,L),w=X1(L.attrs,"v-else"),N=Q1(Z.slice(A.outerStart,A.outerEnd),{...L,start:0,end:L.end-L.start},w);X.push({type:"else",outerStart:z,outerEnd:A.outerEnd,element:N,parsedTag:L}),W=!1}else W=!1}let U=[];for(let O of X)if(O.type==="if")U.push(`@if(${O.expr})
2520
2520
  ${O.element}`);else if(O.type==="else-if")U.push(`@elseif(${O.expr})
@@ -2522,7 +2522,7 @@ ${O.element}`);else U.push(`@else
2522
2522
  ${O.element}`);U.push("@endif");let _=U.join(`
2523
2523
  `),j=X[0].outerStart,B=X[X.length-1].outerEnd;Z=Z.slice(0,j)+_+Z.slice(B),J=j+_.length}return Z}function JK($){return $.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function XK($){let Z=$,J=0;while(J<Z.length){let Y=w1(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],U=K[2],_=K[3];Q=Q.replace(K[0],""),Q+=` :${W}="${_}" @update:${W}="${_} = $event"`,K=Q.match(G)}if(X){let W=d0(Z,Y),U=Z.slice(W.outerStart,W.outerEnd),_=Q1(U,{...Y,start:0,end:Y.end-Y.start},Q);Z=Z.slice(0,W.outerStart)+_+Z.slice(W.outerEnd),J=W.outerStart+_.length;continue}let q=x1(Y.attrs,"v-model");if(q===null){J=Y.end;continue}if(tG.has(Y.tag.toLowerCase())){let W=Y.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${q}"`,U=d0(Z,Y),_=Z.slice(U.outerStart,U.outerEnd),j=Q1(_,{...Y,start:0,end:Y.end-Y.start},W);Z=Z.slice(0,U.outerStart)+j+Z.slice(U.outerEnd),J=U.outerStart+j.length}else{let W=Y.attrs.replace(/\s*v-model="[^"]*"/g,"");W+=` :modelValue="${q}" @update:modelValue="${q} = $event"`;let U=d0(Z,Y),_=Z.slice(U.outerStart,U.outerEnd),j=Q1(_,{...Y,start:0,end:Y.end-Y.start},W);Z=Z.slice(0,U.outerStart)+j+Z.slice(U.outerEnd),J=U.outerStart+j.length}}return Z}function QK($){return $.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function GK($){return $.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function KK($){let Z=$,J=0;while(J<Z.length){let Y=w1(Z,J);if(!Y)break;let Q=x1(Y.attrs,"v-html");if(Q===null){J=Y.end;continue}if(Y.selfClosing){J=Y.end;continue}let X=d0(Z,Y),G=X1(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 qK($){let Z=$,J=0;while(J<Z.length){let Y=w1(Z,J);if(!Y)break;let Q=x1(Y.attrs,"v-text");if(Q===null){J=Y.end;continue}if(Y.selfClosing){J=Y.end;continue}let X=d0(Z,Y),G=X1(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 WK($){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=w1(Z,J);if(!Y)break;if(!e2(Y.attrs,"v-once")){J=Y.end;continue}let Q=X1(Y.attrs,"v-once"),X=d0(Z,Y),G=Z.slice(X.outerStart,X.outerEnd),q=`@once
2524
2524
  ${Q1(G,{...Y,start:0,end:Y.end-Y.start},Q)}
2525
- @endonce`;Z=Z.slice(0,X.outerStart)+q+Z.slice(X.outerEnd),J=X.outerStart+q.length}return Z}function UK($){return $.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function _K($){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 $8($){if(!$K($))return $;let Z=$;return Z=ZK(Z),Z=YK(Z),Z=zK(Z),Z=QK(Z),Z=GK(Z),Z=XK(Z),Z=JK(Z),Z=_K(Z),Z=KK(Z),Z=qK(Z),Z=WK(Z),Z=UK(Z),Z}var aG,tG;var Z8=C(()=>{aG=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),tG=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 Y8($,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 z=K.length-1;z>=0;z--){let W=K[z];try{let U=J0(W.expr,Z);if(!U||typeof U!=="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 _=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(_))!==null){let H=O[1]||O[2],V=O[3];if(O[1])try{j[H]=J0(V,Z)}catch{j[H]=V}else j[H]=V}let F=Y.componentsDir||"components",L=await B1(U,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(U){let j=`<!-- dynamic component error: ${U instanceof Error?U.message:String(U)} -->`;X=X.slice(0,W.index)+j+X.slice(W.index+W.full.length)}}return X=await BK(X,Z,J,Y,Q),X}async function BK($,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 z=K.length-1;z>=0;z--){let W=K[z];try{let U=J0(W.expr,Z);if(!U||typeof U!=="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 _=Y.componentsDir||"components",j=await B1(U,{},"",_,Z,J,Y,new Set,Q??new Set);X=X.slice(0,W.index)+j+X.slice(W.index+W.full.length)}catch(U){let j=`<!-- dynamic component error: ${U instanceof Error?U.message:String(U)} -->`;X=X.slice(0,W.index)+j+X.slice(W.index+W.full.length)}}return X}var J8=C(()=>{A0();R0()});function jK($,Z={},J={}){let{title:Y="stx App",lang:Q="en",meta:X=[],link:G=[],script:K=[],headRaw:q="",bodyClass:z="",bodyAttrs:W={}}=Z,U=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(([R,T])=>`${R}="${T}"`).join(" ")}>`}).join(`
2525
+ @endonce`;Z=Z.slice(0,X.outerStart)+q+Z.slice(X.outerEnd),J=X.outerStart+q.length}return Z}function UK($){return $.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function _K($){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 $8($){if(!$K($))return $;let Z=$;return Z=ZK(Z),Z=YK(Z),Z=zK(Z),Z=QK(Z),Z=GK(Z),Z=XK(Z),Z=JK(Z),Z=_K(Z),Z=KK(Z),Z=qK(Z),Z=WK(Z),Z=UK(Z),Z}var aG,tG;var Z8=S(()=>{aG=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),tG=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 Y8($,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 z=K.length-1;z>=0;z--){let W=K[z];try{let U=J0(W.expr,Z);if(!U||typeof U!=="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 _=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(_))!==null){let H=O[1]||O[2],V=O[3];if(O[1])try{j[H]=J0(V,Z)}catch{j[H]=V}else j[H]=V}let F=Y.componentsDir||"components",L=await B1(U,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(U){let j=`<!-- dynamic component error: ${U instanceof Error?U.message:String(U)} -->`;X=X.slice(0,W.index)+j+X.slice(W.index+W.full.length)}}return X=await BK(X,Z,J,Y,Q),X}async function BK($,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 z=K.length-1;z>=0;z--){let W=K[z];try{let U=J0(W.expr,Z);if(!U||typeof U!=="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 _=Y.componentsDir||"components",j=await B1(U,{},"",_,Z,J,Y,new Set,Q??new Set);X=X.slice(0,W.index)+j+X.slice(W.index+W.full.length)}catch(U){let j=`<!-- dynamic component error: ${U instanceof Error?U.message:String(U)} -->`;X=X.slice(0,W.index)+j+X.slice(W.index+W.full.length)}}return X}var J8=S(()=>{A0();R0()});function jK($,Z={},J={}){let{title:Y="stx App",lang:Q="en",meta:X=[],link:G=[],script:K=[],headRaw:q="",bodyClass:z="",bodyAttrs:W={}}=Z,U=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(([R,T])=>`${R}="${T}"`).join(" ")}>`}).join(`
2526
2526
  `),O=G.map((w)=>{return` <link ${Object.entries(w).map(([R,T])=>`${R}="${T}"`).join(" ")}>`}).join(`
2527
2527
  `),F=K.map((w)=>{if(w.src)return` <script ${Object.entries(w).filter(([R])=>R!=="content").map(([R,T])=>`${R}="${T}"`).join(" ")}></script>`;if(w.content)return` <script>${w.content}</script>`;return""}).filter(Boolean).join(`
2528
2528
  `),L=Object.entries(W).map(([w,N])=>` ${w}="${N}"`).join(""),H=z?` class="${z}"`:"",V=[B,` <title>${U}</title>`,O,F,q?` ${q}`:"",...(J.styles||[]).map((w)=>` ${w}`),...(J.headScripts||[]).map((w)=>` ${w}`),J.headStack||""].filter(Boolean),A=[$,...(J.bodyScripts||[]).map((w)=>w),J.bodyStack||""].filter(Boolean);return`<!DOCTYPE html>
@@ -2535,7 +2535,7 @@ ${V.join(`
2535
2535
  ${A.join(`
2536
2536
  `)}
2537
2537
  </body>
2538
- </html>`}function OK($){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 X8($,Z={},J={}){if(OK($))return $;return jK($,Z,J)}function B4($){let Z=$,J=new Set,Y=new Set,Q=()=>{if(S0)Y.add(S0);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)=>F9.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 j4($){let Z,J=!0,Y=new Set,Q=()=>{if(!J)if(J=!0,_5)Y.forEach((G)=>F9.add(G));else Y.forEach((G)=>G())},X=()=>{if(S0)Y.add(S0);if(J){let G=S0;S0=Q,L9.push(Q);try{Z=$()}finally{L9.pop(),S0=G}J=!1}return Z};return Object.defineProperty(X,"_isDerived",{value:!0,writable:!1}),X}function O4($,Z={}){let J,Y=!1,Q=()=>{if(Y)return;if(J)J(),J=void 0;let X=S0;S0=Q,L9.push(Q);try{J=$()}finally{L9.pop(),S0=X}};if(Z.immediate!==!1)Q();return()=>{if(Y=!0,J)J()}}function H4($){if(_5){$();return}_5=!0;try{$()}finally{_5=!1,F9.forEach((Z)=>Z()),F9.clear()}}function L4($){HK.push($)}function F4($){LK.push($)}function V9($){return typeof $==="function"&&$._isSignal===!0}function w9($){return typeof $==="function"&&$._isDerived===!0}function V4($){if(V9($)||w9($))return $();return $}function w4($){let Z=S0;S0=null;try{return $()}finally{S0=Z}}var S0=null,L9,_5=!1,F9,HK,LK;var A4=C(()=>{L9=[],F9=new Set,HK=[],LK=[]});var N4={};r(N4,{untrack:()=>V4,state:()=>B4,peek:()=>w4,onMount:()=>L4,onDestroy:()=>F4,isSignal:()=>V9,isDerived:()=>w9,generateSignalsRuntimeDev:()=>A9,generateSignalsRuntime:()=>Q8,effect:()=>O4,derived:()=>j4,default:()=>FK,batch:()=>H4});function Q8(){try{let Z=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync(A9());return Z=Z.replace(/\}(var |let |const |function )/g,"};$1"),Z}catch{return A9()}}function A9(){return`
2538
+ </html>`}function OK($){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 X8($,Z={},J={}){if(OK($))return $;return jK($,Z,J)}function B4($){let Z=$,J=new Set,Y=new Set,Q=()=>{if(S0)Y.add(S0);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)=>F9.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 j4($){let Z,J=!0,Y=new Set,Q=()=>{if(!J)if(J=!0,_5)Y.forEach((G)=>F9.add(G));else Y.forEach((G)=>G())},X=()=>{if(S0)Y.add(S0);if(J){let G=S0;S0=Q,L9.push(Q);try{Z=$()}finally{L9.pop(),S0=G}J=!1}return Z};return Object.defineProperty(X,"_isDerived",{value:!0,writable:!1}),X}function O4($,Z={}){let J,Y=!1,Q=()=>{if(Y)return;if(J)J(),J=void 0;let X=S0;S0=Q,L9.push(Q);try{J=$()}finally{L9.pop(),S0=X}};if(Z.immediate!==!1)Q();return()=>{if(Y=!0,J)J()}}function H4($){if(_5){$();return}_5=!0;try{$()}finally{_5=!1,F9.forEach((Z)=>Z()),F9.clear()}}function L4($){HK.push($)}function F4($){LK.push($)}function V9($){return typeof $==="function"&&$._isSignal===!0}function w9($){return typeof $==="function"&&$._isDerived===!0}function V4($){if(V9($)||w9($))return $();return $}function w4($){let Z=S0;S0=null;try{return $()}finally{S0=Z}}var S0=null,L9,_5=!1,F9,HK,LK;var A4=S(()=>{L9=[],F9=new Set,HK=[],LK=[]});var N4={};r(N4,{untrack:()=>V4,state:()=>B4,peek:()=>w4,onMount:()=>L4,onDestroy:()=>F4,isSignal:()=>V9,isDerived:()=>w9,generateSignalsRuntimeDev:()=>A9,generateSignalsRuntime:()=>Q8,effect:()=>O4,derived:()=>j4,default:()=>FK,batch:()=>H4});function Q8(){try{let Z=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync(A9());return Z=Z.replace(/\}(var |let |const |function )/g,"};$1"),Z}catch{return A9()}}function A9(){return`
2539
2539
  // STX Signals Runtime (Development Build)
2540
2540
  console.log('[stx] signals runtime loading');
2541
2541
  // Pre-initialization shim: capture onMount/onDestroy calls made before the runtime IIFE runs
@@ -6654,7 +6654,7 @@ catch (e) { console.warn('[stx] mount callback error:', e); }
6654
6654
  }
6655
6655
  }
6656
6656
  })();
6657
- `}var FK;var R4=C(()=>{A4();A4();FK={state:B4,derived:j4,effect:O4,batch:H4,onMount:L4,onDestroy:F4,isSignal:V9,isDerived:w9,untrack:V4,peek:w4,generateSignalsRuntime:Q8,generateSignalsRuntimeDev:A9}});var T4={};r(T4,{templateCache:()=>G8,readFileCached:()=>VK,invalidateFileCacheByDir:()=>AK,invalidateFileCache:()=>wK,hashFilePath:()=>B5,getCachedSignalsRuntime:()=>RK,getCachedRouterScript:()=>TK,clearDevCaches:()=>MK,checkCache:()=>IK,cacheTemplate:()=>DK});import G1 from"fs";import f1 from"path";async function VK($){let J;for(let Y=0;Y<3;Y++)try{let X=(await G1.promises.stat($)).mtime.getTime(),G=A1.get($);if(G&&G.mtime===X)return G.content;let K=await Bun.file($).text(),z=(await G1.promises.stat($)).mtime.getTime();if(z!==X)continue;return A1.set($,{content:K,mtime:z}),K}catch(Q){J=Q;break}throw A1.delete($),Error(`File not found: ${$}${J?` (${J.message})`:""}`)}function wK($){A1.delete($)}function AK($){for(let Z of A1.keys())if(Z.startsWith($))A1.delete(Z)}async function RK($=!1){if($){let{generateSignalsRuntimeDev:Z}=await Promise.resolve().then(() => (R4(),N4));return Z()}if(N9===null){let{generateSignalsRuntime:Z}=await Promise.resolve().then(() => (R4(),N4));N9=Z()}return N9}async function TK(){if(R9===null){let{getRouterScript:$}=await import("stx-router");R9=$()}return R9}function MK(){A1.clear(),N9=null,NK=null,R9=null}async function IK($,Z){try{if(!Z.cachePath)return null;let J=f1.resolve(Z.cachePath),Y=f1.join(J,`${B5($)}.html`),Q=f1.join(J,`${B5($)}.meta.json`);if(!await l(Y)||!await l(Q))return null;let X=await Bun.file(Q).text(),G=JSON.parse(X);if(G.cacheVersion!==Z.cacheVersion)return null;if((await G1.promises.stat($)).mtime.getTime()>G.mtime)return null;for(let q of G.dependencies)if(await l(q)){if((await G1.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 DK($,Z,J,Y){try{if(!Y.cachePath)return;let Q=f1.resolve(Y.cachePath);await G1.promises.mkdir(Q,{recursive:!0});let X=f1.join(Q,`${B5($)}.html`),G=f1.join(Q,`${B5($)}.meta.json`),K=await G1.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)),G8.set($,{output:Z,mtime:K.mtime.getTime(),dependencies:J})}catch(Q){console.warn(`Failed to cache template ${$}:`,Q)}}function B5($){return new Bun.CryptoHasher("sha1").update($).digest("hex").substring(0,EK)}var G8,A1,N9=null,NK=null,R9=null,EK=16;var M4=C(()=>{A0();G8=new Map,A1=new Map});function K8($){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]+`
6657
+ `}var FK;var R4=S(()=>{A4();A4();FK={state:B4,derived:j4,effect:O4,batch:H4,onMount:L4,onDestroy:F4,isSignal:V9,isDerived:w9,untrack:V4,peek:w4,generateSignalsRuntime:Q8,generateSignalsRuntimeDev:A9}});var T4={};r(T4,{templateCache:()=>G8,readFileCached:()=>VK,invalidateFileCacheByDir:()=>AK,invalidateFileCache:()=>wK,hashFilePath:()=>B5,getCachedSignalsRuntime:()=>RK,getCachedRouterScript:()=>TK,clearDevCaches:()=>MK,checkCache:()=>IK,cacheTemplate:()=>DK});import G1 from"fs";import f1 from"path";async function VK($){let J;for(let Y=0;Y<3;Y++)try{let X=(await G1.promises.stat($)).mtime.getTime(),G=A1.get($);if(G&&G.mtime===X)return G.content;let K=await Bun.file($).text(),z=(await G1.promises.stat($)).mtime.getTime();if(z!==X)continue;return A1.set($,{content:K,mtime:z}),K}catch(Q){J=Q;break}throw A1.delete($),Error(`File not found: ${$}${J?` (${J.message})`:""}`)}function wK($){A1.delete($)}function AK($){for(let Z of A1.keys())if(Z.startsWith($))A1.delete(Z)}async function RK($=!1){if($){let{generateSignalsRuntimeDev:Z}=await Promise.resolve().then(() => (R4(),N4));return Z()}if(N9===null){let{generateSignalsRuntime:Z}=await Promise.resolve().then(() => (R4(),N4));N9=Z()}return N9}async function TK(){if(R9===null){let{getRouterScript:$}=await import("stx-router");R9=$()}return R9}function MK(){A1.clear(),N9=null,NK=null,R9=null}async function IK($,Z){try{if(!Z.cachePath)return null;let J=f1.resolve(Z.cachePath),Y=f1.join(J,`${B5($)}.html`),Q=f1.join(J,`${B5($)}.meta.json`);if(!await l(Y)||!await l(Q))return null;let X=await Bun.file(Q).text(),G=JSON.parse(X);if(G.cacheVersion!==Z.cacheVersion)return null;if((await G1.promises.stat($)).mtime.getTime()>G.mtime)return null;for(let q of G.dependencies)if(await l(q)){if((await G1.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 DK($,Z,J,Y){try{if(!Y.cachePath)return;let Q=f1.resolve(Y.cachePath);await G1.promises.mkdir(Q,{recursive:!0});let X=f1.join(Q,`${B5($)}.html`),G=f1.join(Q,`${B5($)}.meta.json`),K=await G1.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)),G8.set($,{output:Z,mtime:K.mtime.getTime(),dependencies:J})}catch(Q){console.warn(`Failed to cache template ${$}:`,Q)}}function B5($){return new Bun.CryptoHasher("sha1").update($).digest("hex").substring(0,EK)}var G8,A1,N9=null,NK=null,R9=null,EK=16;var M4=S(()=>{A0();G8=new Map,A1=new Map});function K8($){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]+`
6658
6658
  `;let Q=/\{\{([\s\S]*?)\}\}/g;while((Y=Q.exec($))!==null)J+=Y[1]+`
6659
6659
  `;if(!J.trim())return $;let G=["browserQuery","BrowserQueryBuilder","configureBrowser","createBrowserModel"].some((_)=>{return new RegExp(`\\b${_}\\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,z,W=!1;while((z=q.exec(J))!==null)if(!K.has(z[1])){W=!0;break}if(!G&&!W)return $;let U=`<script type="module">
6660
6660
  // STX: Auto-load @stacksjs/browser (auto-initializes API and loads models)
@@ -6689,19 +6689,19 @@ if(window.stx)window.stx._latestSetup=${X};
6689
6689
  `)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 U=Z.slice(X).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(U){let F=U[2];if(!Y.has(F))J.push(F),Y.add(F);return}let _=Z.slice(X).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(_){_[1].split(",").forEach((F)=>{let L=F.trim();if(!L)return;let H=L.indexOf(":"),A=(H>=0?L.slice(H+1).trim():L).split(/[\s=]/)[0];if(A&&!Y.has(A))J.push(A),Y.add(A)});return}let j=Z.slice(X).match(/^(?:const|let|var)\s+\[([^\]]+)\]\s*=/);if(j){j[1].split(",").forEach((F)=>{let L=F.trim().replace(/^\.\.\./,"");if(!L)return;let H=L.split(/[\s=]/)[0];if(H&&!Y.has(H))J.push(H),Y.add(H)});return}let B=Z.slice(X).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let F=B[1];if(!Y.has(F))J.push(F),Y.add(F);return}let O=Z.slice(X).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(O){let F=O[1];if(!Y.has(F))J.push(F),Y.add(F)}};while(X<G){if(z())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 k4($,Z,J){if(!M9($))return $;let Y=$;if(Z.skipSignalsRuntime)return Y;let{output:Q,setupCode:X}=await B8(Y,J);if(Y=Q,Y=await q8(Y,Z),Y=K8(Y),X)if(Y.includes("</head>"))Y=Y.replace("</head>",`${X}
6690
6690
  </head>`);else if(Y.includes("<body"))Y=Y.replace(/<body([^>]*)>/,`<body$1>
6691
6691
  ${X}`);else Y=Y+`
6692
- `+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 kK=0,T9,z8;var b4=C(()=>{A0();T9=/<script\b([^>]*)>/gi,z8=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s});import C0 from"path";import S4 from"fs";function H8($){return $.split("-").map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join("")}function L8($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class F8{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(),H8(Q),L8(Q)];for(let B of j)if(X.has(B))return X.get(B)}let G=[...new Set([`${Q}.stx`,`${H8(Q)}.stx`,`${L8(Q)}.stx`])];if(Q.startsWith("./")||Q.startsWith("../")){let j=C0.resolve(C0.dirname(Z),`${Q}.stx`);if(await l(j))return j;return null}let K=[],q=J.componentsDir||"",z=Y?.__originalFilePath;if(z)K.push(C0.join(C0.dirname(z),"components"));if(q)K.push(q);let W=C0.join(C0.dirname(Z),"components");if(!K.includes(W))K.push(W);let U=process.cwd(),_=[C0.resolve(U,"src/components"),C0.resolve(U,"components"),C0.resolve(import.meta.dir,"components")];for(let j of _)if(!K.includes(j))K.push(j);for(let j of K){if(!j)continue;for(let B of G){let O=C0.join(j,B);if(await l(O))return O}try{if(!S4.statSync(j,{throwIfNoEntry:!1})?.isDirectory())continue;let O=S4.readdirSync(j,{withFileTypes:!0});for(let F of O)if(F.isDirectory()){let L=C0.join(j,F.name);for(let H of G){let V=C0.join(L,H);if(await l(V))return V}}}catch{}}return null}}var m0;var y4=C(()=>{A0();m0=new F8});function u0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function yK($){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 C4;var P4=C(()=>{C4={name:"StxLink",aliases:["stx-link"],render($,Z,J){let Y=yK($),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="${u0(Y.value)}"`);else q.push(`href="${u0(Y.value)}"`);if(Q)q.push(`class="${u0(Q)}"`);if(q.push("data-stx-link"),q.push(`data-stx-active-class="${u0(X)}"`),q.push(`data-stx-exact-active-class="${u0(G)}"`),K)q.push("data-stx-prefetch");for(let[W,U]of Object.entries($.events))q.push(`@${u0(W)}="${u0(U)}"`);let z=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);for(let[W,U]of Object.entries($.static)){if(z.has(W))continue;if(typeof U==="boolean"){if(U)q.push(u0(W))}else q.push(`${u0(W)}="${u0(U)}"`)}return`<a ${q.join(" ")}>${Z}</a>`}}});function B0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function I0($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}function x4($,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 V8($){if($.includes("(")||$.includes(","))return $;let Z=$.trim().split(/\s+/),J=[];for(let Y of Z)if(Y.includes(":")){let[Q,X]=Y.split(":"),G=CK[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 f4($,Z,J,Y){return Z.map((Q)=>`${j5($,Q,void 0,J,Y)} ${Q}w`).join(", ")}function PK($,Z,J,Y,Q){return Z.map((X)=>{let G=J?J*X:void 0;return`${j5($,G,void 0,Y,Q)} ${X}x`}).join(", ")}function j5($,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 vK($,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 CK,v4,g4;var h4=C(()=>{CK={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},v4=[320,640,768,1024,1280,1536,1920];g4={name:"StxImage",aliases:["stx-image","stx-img"],render($,Z,J){let Y=I0($,"src")||"",Q=I0($,"alt")||"",X=I0($,"width"),G=I0($,"height"),K=I0($,"sizes"),q=I0($,"srcset"),z=I0($,"densities"),W=I0($,"format"),U=I0($,"placeholder"),_=I0($,"placeholderColor")||"#e5e7eb",j=I0($,"provider"),B=I0($,"class")||I0($,"className")||"",O=I0($,"style")||"",F=I0($,"quality"),L=x4($,"lazy",!0),H=x4($,"preload",!1),V=x4($,"picture",!1)||!!W,A=X?Number.parseInt(X):void 0,w=G?Number.parseInt(G):void 0,N=q||"",R="";if(!N&&K)N=f4(Y,v4,j,W),R=V8(K);else if(!N&&z){let S=z.split(/\s+/).map((b)=>Number.parseFloat(b.replace("x","")));N=PK(Y,S,A,j,W)}else if(K)R=V8(K);let T=[];if(O)T.push(O);if(A&&w)T.push(`aspect-ratio:${A}/${w}`);if(U==="blur"||U==="color"){let S=vK(A||16,w||9,_);T.push(`background-image:url(${S})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat")}else if(U&&U!=="empty"&&U!=="none")T.push(`background-image:url(${B0(U)})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat");let I=j5(Y,A,w,j,W),M=[];if(M.push(`src="${B0(I)}"`),M.push(`alt="${B0(Q)}"`),X)M.push(`width="${B0(X)}"`);if(G)M.push(`height="${B0(G)}"`);if(L)M.push('loading="lazy"');if(M.push('decoding="async"'),B)M.push(`class="${B0(B)}"`);if(T.length>0)M.push(`style="${B0(T.join(";"))}"`);if(N)M.push(`srcset="${B0(N)}"`);if(R)M.push(`sizes="${B0(R)}"`);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(B0(S))}else M.push(`${B0(S)}="${B0(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="${B0(I)}"${b?` type="${b}"`:""}${N?` imagesrcset="${B0(N)}"`:""}${R?` imagesizes="${B0(R)}"`:""} />
6693
- `}if(V){let S=[];if(W==="avif"||W==="auto"){let b=j5(Y,A,w,j,"avif"),D=N?f4(Y,v4,j,"avif"):`${b}`;S.push(`<source type="image/avif" srcset="${B0(D)}"${R?` sizes="${B0(R)}"`:""} />`)}if(W==="webp"||W==="auto"){let b=j5(Y,A,w,j,"webp"),D=N?f4(Y,v4,j,"webp"):`${b}`;S.push(`<source type="image/webp" srcset="${B0(D)}"${R?` sizes="${B0(R)}"`:""} />`)}return`${y}<picture>
6694
- ${S.join(`
6692
+ `+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 kK=0,T9,z8;var b4=S(()=>{A0();T9=/<script\b([^>]*)>/gi,z8=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s});import C0 from"path";import S4 from"fs";function H8($){return $.split("-").map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join("")}function L8($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class F8{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(),H8(Q),L8(Q)];for(let B of j)if(X.has(B))return X.get(B)}let G=[...new Set([`${Q}.stx`,`${H8(Q)}.stx`,`${L8(Q)}.stx`])];if(Q.startsWith("./")||Q.startsWith("../")){let j=C0.resolve(C0.dirname(Z),`${Q}.stx`);if(await l(j))return j;return null}let K=[],q=J.componentsDir||"",z=Y?.__originalFilePath;if(z)K.push(C0.join(C0.dirname(z),"components"));if(q)K.push(q);let W=C0.join(C0.dirname(Z),"components");if(!K.includes(W))K.push(W);let U=process.cwd(),_=[C0.resolve(U,"src/components"),C0.resolve(U,"components"),C0.resolve(import.meta.dir,"components")];for(let j of _)if(!K.includes(j))K.push(j);for(let j of K){if(!j)continue;for(let B of G){let O=C0.join(j,B);if(await l(O))return O}try{if(!S4.statSync(j,{throwIfNoEntry:!1})?.isDirectory())continue;let O=S4.readdirSync(j,{withFileTypes:!0});for(let F of O)if(F.isDirectory()){let L=C0.join(j,F.name);for(let H of G){let V=C0.join(L,H);if(await l(V))return V}}}catch{}}return null}}var m0;var y4=S(()=>{A0();m0=new F8});function u0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function yK($){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 C4;var P4=S(()=>{C4={name:"StxLink",aliases:["stx-link"],render($,Z,J){let Y=yK($),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="${u0(Y.value)}"`);else q.push(`href="${u0(Y.value)}"`);if(Q)q.push(`class="${u0(Q)}"`);if(q.push("data-stx-link"),q.push(`data-stx-active-class="${u0(X)}"`),q.push(`data-stx-exact-active-class="${u0(G)}"`),K)q.push("data-stx-prefetch");for(let[W,U]of Object.entries($.events))q.push(`@${u0(W)}="${u0(U)}"`);let z=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);for(let[W,U]of Object.entries($.static)){if(z.has(W))continue;if(typeof U==="boolean"){if(U)q.push(u0(W))}else q.push(`${u0(W)}="${u0(U)}"`)}return`<a ${q.join(" ")}>${Z}</a>`}}});function B0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function I0($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}function x4($,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 V8($){if($.includes("(")||$.includes(","))return $;let Z=$.trim().split(/\s+/),J=[];for(let Y of Z)if(Y.includes(":")){let[Q,X]=Y.split(":"),G=CK[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 f4($,Z,J,Y){return Z.map((Q)=>`${j5($,Q,void 0,J,Y)} ${Q}w`).join(", ")}function PK($,Z,J,Y,Q){return Z.map((X)=>{let G=J?J*X:void 0;return`${j5($,G,void 0,Y,Q)} ${X}x`}).join(", ")}function j5($,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 vK($,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 CK,v4,g4;var h4=S(()=>{CK={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},v4=[320,640,768,1024,1280,1536,1920];g4={name:"StxImage",aliases:["stx-image","stx-img"],render($,Z,J){let Y=I0($,"src")||"",Q=I0($,"alt")||"",X=I0($,"width"),G=I0($,"height"),K=I0($,"sizes"),q=I0($,"srcset"),z=I0($,"densities"),W=I0($,"format"),U=I0($,"placeholder"),_=I0($,"placeholderColor")||"#e5e7eb",j=I0($,"provider"),B=I0($,"class")||I0($,"className")||"",O=I0($,"style")||"",F=I0($,"quality"),L=x4($,"lazy",!0),H=x4($,"preload",!1),V=x4($,"picture",!1)||!!W,A=X?Number.parseInt(X):void 0,w=G?Number.parseInt(G):void 0,N=q||"",R="";if(!N&&K)N=f4(Y,v4,j,W),R=V8(K);else if(!N&&z){let C=z.split(/\s+/).map((k)=>Number.parseFloat(k.replace("x","")));N=PK(Y,C,A,j,W)}else if(K)R=V8(K);let T=[];if(O)T.push(O);if(A&&w)T.push(`aspect-ratio:${A}/${w}`);if(U==="blur"||U==="color"){let C=vK(A||16,w||9,_);T.push(`background-image:url(${C})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat")}else if(U&&U!=="empty"&&U!=="none")T.push(`background-image:url(${B0(U)})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat");let E=j5(Y,A,w,j,W),M=[];if(M.push(`src="${B0(E)}"`),M.push(`alt="${B0(Q)}"`),X)M.push(`width="${B0(X)}"`);if(G)M.push(`height="${B0(G)}"`);if(L)M.push('loading="lazy"');if(M.push('decoding="async"'),B)M.push(`class="${B0(B)}"`);if(T.length>0)M.push(`style="${B0(T.join(";"))}"`);if(N)M.push(`srcset="${B0(N)}"`);if(R)M.push(`sizes="${B0(R)}"`);let I=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);for(let[C,k]of Object.entries($.static)){if(I.has(C))continue;if(typeof k==="boolean"){if(k)M.push(B0(C))}else M.push(`${B0(C)}="${B0(k)}"`)}let D=`<img ${M.join(" ")} />`,P="";if(H){let k=W==="webp"?"image/webp":W==="avif"?"image/avif":"";P=`<link rel="preload" as="image" href="${B0(E)}"${k?` type="${k}"`:""}${N?` imagesrcset="${B0(N)}"`:""}${R?` imagesizes="${B0(R)}"`:""} />
6693
+ `}if(V){let C=[];if(W==="avif"||W==="auto"){let k=j5(Y,A,w,j,"avif"),b=N?f4(Y,v4,j,"avif"):`${k}`;C.push(`<source type="image/avif" srcset="${B0(b)}"${R?` sizes="${B0(R)}"`:""} />`)}if(W==="webp"||W==="auto"){let k=j5(Y,A,w,j,"webp"),b=N?f4(Y,v4,j,"webp"):`${k}`;C.push(`<source type="image/webp" srcset="${B0(b)}"${R?` sizes="${B0(R)}"`:""} />`)}return`${P}<picture>
6694
+ ${C.join(`
6695
6695
  `)}
6696
- ${k}
6697
- </picture>`}return`${y}${k}`}}});function d4($){return $.replace(/[;{}()]/g,"").replace(/url/gi,"")}function O5($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}function I9($,Z,J){let Y=O5($,Z);if(Y!==void 0){let Q=Number.parseInt(Y,10);if(!Number.isNaN(Q))return Q}return J}var m4;var u4=C(()=>{m4={name:"StxLoadingIndicator",aliases:["stx-loading-indicator"],render($,Z,J){let Y=d4(O5($,"color")||"#6366f1"),Q=d4(O5($,"initialColor")||O5($,"initial-color")||""),X=d4(O5($,"height")||"3px"),G=I9($,"duration",2000),K=I9($,"throttle",200),q=I9($,"zIndex",999999)||I9($,"z-index",999999),z=Q?`linear-gradient(to right, ${Q}, ${Y})`:Y;return`
6696
+ ${D}
6697
+ </picture>`}return`${P}${D}`}}});function d4($){return $.replace(/[;{}()]/g,"").replace(/url/gi,"")}function O5($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}function I9($,Z,J){let Y=O5($,Z);if(Y!==void 0){let Q=Number.parseInt(Y,10);if(!Number.isNaN(Q))return Q}return J}var m4;var u4=S(()=>{m4={name:"StxLoadingIndicator",aliases:["stx-loading-indicator"],render($,Z,J){let Y=d4(O5($,"color")||"#6366f1"),Q=d4(O5($,"initialColor")||O5($,"initial-color")||""),X=d4(O5($,"height")||"3px"),G=I9($,"duration",2000),K=I9($,"throttle",200),q=I9($,"zIndex",999999)||I9($,"z-index",999999),z=Q?`linear-gradient(to right, ${Q}, ${Y})`:Y;return`
6698
6698
  <div id="stx-loading-indicator" style="position:fixed;top:0;left:0;right:0;height:${X};background:${z};z-index:${q};transform:scaleX(0);transform-origin:left;transition:transform 0.1s ease-out,opacity 0.3s ease;opacity:0;pointer-events:none">
6699
6699
  <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>
6700
6700
  </div>
6701
6701
  <style>@keyframes stx-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}</style>
6702
6702
  <script>
6703
6703
  (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()})})();
6704
- </script>`}}});function A8($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}function xK($,Z,J){let Y=A8($,Z);if(Y!==void 0){let Q=Number.parseInt(Y,10);if(!Number.isNaN(Q))return Q}return J}var w8,p4;var l4=C(()=>{w8={"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%)"},p4={name:"StxToast",aliases:["stx-toast"],render($,Z,J){let Y=A8($,"position")||"top-right",Q=xK($,"max",5),X=w8[Y]||w8["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>
6704
+ </script>`}}});function A8($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}function xK($,Z,J){let Y=A8($,Z);if(Y!==void 0){let Q=Number.parseInt(Y,10);if(!Number.isNaN(Q))return Q}return J}var w8,p4;var l4=S(()=>{w8={"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%)"},p4={name:"StxToast",aliases:["stx-toast"],render($,Z,J){let Y=A8($,"position")||"top-right",Q=xK($,"max",5),X=w8[Y]||w8["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>
6705
6705
  <style>
6706
6706
  @keyframes stx-toast-in{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
6707
6707
  @keyframes stx-toast-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}
@@ -6709,7 +6709,7 @@ ${k}
6709
6709
  @keyframes stx-toast-out-left{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}
6710
6710
  @keyframes stx-toast-in-center{from{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}
6711
6711
  @keyframes stx-toast-out-center{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-1rem)}}
6712
- </style>`}}});function D9($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}var N8,c4;var i4=C(()=>{N8={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)"},c4={name:"StxModal",aliases:["stx-modal"],render($,Z,J){let Y=D9($,"id");if(!Y)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let Q=D9($,"size")||"md",X=D9($,"closeOnBackdrop")!=="false",G=D9($,"closeOnEscape")!=="false",K=N8[Q]||N8.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">
6712
+ </style>`}}});function D9($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}var N8,c4;var i4=S(()=>{N8={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)"},c4={name:"StxModal",aliases:["stx-modal"],render($,Z,J){let Y=D9($,"id");if(!Y)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let Q=D9($,"size")||"md",X=D9($,"closeOnBackdrop")!=="false",G=D9($,"closeOnEscape")!=="false",K=N8[Q]||N8.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">
6713
6713
  <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)">
6714
6714
  <div style="padding:1.5rem">${Z}</div>
6715
6715
  </div>
@@ -6718,7 +6718,7 @@ ${k}
6718
6718
  @media(prefers-color-scheme:dark){[data-stx-modal]{--stx-modal-bg:#1f2937;--stx-modal-text:#f3f4f6}}
6719
6719
  .stx-modal-backdrop[data-stx-modal-open]{display:flex!important;opacity:1}
6720
6720
  .stx-modal-backdrop[data-stx-modal-open] .stx-modal-panel{transform:scale(1) translateY(0);opacity:1}
6721
- </style>`}}});function g1($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}var R8,n4;var o4=C(()=>{R8={sm:"16rem",md:"24rem",lg:"32rem",xl:"40rem"},n4={name:"StxDrawer",aliases:["stx-drawer"],render($,Z,J){let Y=g1($,"id");if(!Y)return console.warn('[stx] <StxDrawer> requires an "id" prop'),"<!-- StxDrawer: missing id prop -->";let Q=g1($,"side")||"right",X=g1($,"size")||"md",G=g1($,"closeOnBackdrop")!=="false",K=g1($,"closeOnEscape")!=="false",q=g1($,"overlay")!=="false",z=R8[X]||R8.md,W=Q==="left",U=W?"left:0":"right:0",_=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">
6721
+ </style>`}}});function g1($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let J=$.static[Z];if(typeof J==="string")return J;return}var R8,n4;var o4=S(()=>{R8={sm:"16rem",md:"24rem",lg:"32rem",xl:"40rem"},n4={name:"StxDrawer",aliases:["stx-drawer"],render($,Z,J){let Y=g1($,"id");if(!Y)return console.warn('[stx] <StxDrawer> requires an "id" prop'),"<!-- StxDrawer: missing id prop -->";let Q=g1($,"side")||"right",X=g1($,"size")||"md",G=g1($,"closeOnBackdrop")!=="false",K=g1($,"closeOnEscape")!=="false",q=g1($,"overlay")!=="false",z=R8[X]||R8.md,W=Q==="left",U=W?"left:0":"right:0",_=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">
6722
6722
  <div class="stx-drawer-panel" style="position:fixed;top:0;bottom:0;${U};width:${z};max-width:100vw;transform:${_};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">
6723
6723
  <div style="padding:1.5rem">${Z}</div>
6724
6724
  </div>
@@ -6727,24 +6727,24 @@ ${k}
6727
6727
  @media(prefers-color-scheme:dark){[data-stx-drawer]{--stx-drawer-bg:#1f2937;--stx-drawer-text:#f3f4f6}}
6728
6728
  .stx-drawer-backdrop[data-stx-drawer-open]{display:block!important;opacity:1}
6729
6729
  .stx-drawer-backdrop[data-stx-drawer-open] .stx-drawer-panel{transform:translateX(0)}
6730
- </style>`}}});var I8={};r(I8,{preloadIconCollection:()=>M8,IconBuiltin:()=>E9});async function T8($){if(H5.has($))return H5.get($);try{let Z=Y0.resolve(`@iconify/json/json/${$}.json`),J=await Bun.file(Z).json();return H5.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 H5.set($,Q.icons),Q.icons}}catch{}}return null}function h1($,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 M8($="lucide"){await T8($)}var H5,E9;var k9=C(()=>{H5=new Map;E9={name:"Icon",aliases:["icon","stx-icon"],render($,Z,J){let Y=h1($,"name")??h1($,"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=h1($,"size")||"24",K=h1($,"color")||"currentColor",q=h1($,"class")||"",z=h1($,"style")||"",W=H5.get(Q);if(!W)return T8(Q),`<!-- Icon: collection "${Q}" not loaded -->`;let U=W[X];if(!U)return`<!-- Icon: "${X}" not found in ${Q} -->`;let _=U.width||24,j=U.height||24,B=`0 0 ${_} ${j}`,O=U.body;if(K!=="currentColor")O=O.replace(/currentColor/g,K);let F=q?` class="${q}"`:"",L=z?` style="${z}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${G}" height="${G}" viewBox="${B}" fill="none"${F}${L}>${O}</svg>`}}});function D8(){m0.registerBuiltin(C4),m0.registerBuiltin(g4),m0.registerBuiltin(m4),m0.registerBuiltin(p4),m0.registerBuiltin(c4),m0.registerBuiltin(n4),m0.registerBuiltin(E9)}var E8=C(()=>{P4();h4();u4();l4();i4();o4();k9();y4();P4();h4();u4();l4();i4();o4();k9()});function k8($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function b8($,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 z=X+1+q.length,W=null,U=z,_=-1,j=!1;while(z<$.length){let O=$[z];if(W){if(O==="\\"&&z+1<$.length){z+=2;continue}if(O===W)W=null;z++;continue}if(O==='"'||O==="'"){W=O,z++;continue}if(O==="/"&&z+1<$.length&&$[z+1]===">"){_=z+2,j=!0;break}if(O===">"){_=z+1;break}z++}if(_===-1){Q=X+1;continue}let B=$.slice(U,j?_-2:_-1).trim();if(j)Y.push({fullMatch:$.slice(X,_),tagName:q,attributes:B,content:"",startIndex:X,endIndex:_,isSelfClosing:!0}),Q=_;else{let O=`<${q}`,F=`</${q}>`,L=1,H=_,V=-1;while(L>0&&H<$.length){let N=$.indexOf(O,H),R=$.indexOf(F,H);if(R===-1)break;if(N!==-1&&N<R){let T=$[N+O.length];if(T===" "||T===">"||T==="/"||T===`
6731
- `||T==="\t")L++;H=N+O.length}else{if(L--,L===0){V=R;break}H=R+F.length}}if(V===-1){Q=_;continue}let A=$.slice(_,V),w=V+F.length;Y.push({fullMatch:$.slice(X,w),tagName:q,attributes:B,content:A,startIndex:X,endIndex:w,isSelfClosing:!1}),Q=w}}return Y}var S8=C(()=>{R0();A0()});import d1 from"path";function gK($,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 z=X(q.slice(6));try{let W=K.replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&");Y.serverDynamic[z]=JSON.parse(W)}catch(W){if(J.debug)console.error(`Error parsing __stx_${z}:`,W);Y.serverDynamic[z]=K}continue}if(q.startsWith(":")){let z=X(q.slice(1)),W=K==="true"?z:K;try{if(!t(W)){if(J.debug)console.error(`Unsafe expression in :${z} binding: ${W}`);Y.clientReactive[z]=W;continue}let U=Object.keys(Z),j=e(W,U)(...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)&&!U.includes(L))){Y.clientReactive[z]=W;continue}}Y.serverDynamic[z]=j}catch{Y.clientReactive[z]=W}continue}if(typeof K==="string"&&K.includes("{{")&&K.includes("}}")){let z=K.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(z)try{let W=z[1];if(t(W)){let _=e(W,Object.keys(Z))(...Object.values(Z));Y.static[q]=_!=null?String(_):""}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,U=/\{\{\s*([\s\S]+?)\s*\}\}/g,_;while((_=U.exec(K))!==null)try{let j=_[1];if(!t(j)){if(J.debug)console.error(`Unsafe expression in ${q}: ${j}`);continue}let O=e(j,Object.keys(Z))(...Object.values(Z));W=W.replace(_[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 hK($){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 dK($,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[z,W]=q,U=W.split(",").map((_)=>_.trim().replace(/^['"]|['"]$/g,"")).filter((_)=>_.length>0);for(let _ of U){let j=_.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=[d1.resolve(d1.dirname(J),`${_}.stx`),d1.resolve(d1.dirname(J),_),d1.resolve(Y.componentsDir||"components",`${_}.stx`),d1.resolve(Y.componentsDir||"components",_),_.endsWith(".stx")?_:`${_}.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: ${_}`)}X=X.replace(z,""),K.lastIndex=0}return X}async function mK($,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,z;while((z=q.exec(X))!==null){let W=z.index,U=W+z[0].length-1,_=1,j=U+1;while(j<X.length&&_>0){if(X[j]==="(")_++;else if(X[j]===")"){if(_--,_===0)break}j++}if(_!==0)break;let B=X.substring(U+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),A=V.match(/^\s*,\s*/);if(A)H=V.slice(A[0].length).trim();let w={};if(H)try{w=F0(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 N="",R=O,I=X.substring(O).match(/^([\s\S]*?)@endcomponent/);if(I)N=I[1].trim(),R=O+I[0].length;let M=await B1(L,w,N,G,Z,J,Y,K,Q);X=X.substring(0,W)+M+X.substring(R),q.lastIndex=0}return X}async function uK($,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 U(X,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),X=await U(X,/[A-Z][a-zA-Z0-9]*/,!0),X=await U(X,/[a-z][a-z0-9]*/,!1,fK),X;async function U(_,j,B,O){if(!_)return _;let F=_,L=b8(F,j,O);for(let H=L.length-1;H>=0;H--){let V=L[H],A=B?k8(V.tagName):V.tagName,w=hK(V.attributes),N=gK(w,Z,Y),R=m0.getBuiltin(V.tagName);if(R){let E={context:Z,filePath:J,options:Y,dependencies:Q},k=R.render(N,V.content,E);if(Object.keys(N.clientReactive).length>0)k=C8(k,N.clientReactive);if(Object.keys(N.events).length>0){let y=Object.entries(N.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(N.static))T[E]=k;for(let[E,k]of Object.entries(N.serverDynamic))T[E]=k;let M=await B1(A,T,V.content,G,Z,J,Y,K,Q);if(Object.keys(N.clientReactive).length>0)M=C8(M,N.clientReactive);if(Object.keys(N.events).length>0){let E=M.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(E){let k=Object.entries(N.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 C8($,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 s4($,Z,J,Y,Q){if(!y8)D8(),y8=!0;let X=await dK($,Z,J,Y,Q);X=await mK(X,Z,J,Y,Q);for(let G=0;G<3;G++){let K=X;if(X=await uK(X,Z,J,Y,Q),X===K)break}return X}var y8=!1,fK;var P8=C(()=>{y4();E8();S8();A0();R0();fK=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 m1 from"path";function v8($){return $.startsWith("http://")||$.startsWith("https://")||$.startsWith("//")}function x8($,Z,J){try{let Y;if($.startsWith("/")){let Q=Z;for(let X=0;X<5;X++){let G=m1.join(Q,$);if(Y0("fs").existsSync(G))return G;Q=m1.dirname(Q)}Y=m1.join(Z,$)}else if($.startsWith("./")||$.startsWith("../"))Y=m1.resolve(Z,$);else Y=m1.resolve(Z,$);if(Y0("fs").existsSync(Y))return Y;return null}catch{return null}}async function f8($,Z,J){let Y=$,Q=m1.dirname(Z),X=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,G;while((G=X.exec(Y))!==null){let[z,W,U,_]=G;if(v8(U))continue;let j=x8(U,Q,Z);if(j)try{let B=await Bun.file(j).text();if(J.add(j),U.endsWith(".ts")||U.endsWith(".tsx")){let F=await Bun.build({entrypoints:[j],target:"browser",minify:!1,define:g0()});if(F.outputs.length>0)B=await F.outputs[0].text()}let O=`<script>
6730
+ </style>`}}});var I8={};r(I8,{preloadIconCollection:()=>M8,IconBuiltin:()=>E9});async function T8($){if(H5.has($))return H5.get($);try{let Z=Y0.resolve(`@iconify/json/json/${$}.json`),J=await Bun.file(Z).json();return H5.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 H5.set($,Q.icons),Q.icons}}catch{}}return null}function h1($,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 M8($="lucide"){await T8($)}var H5,E9;var k9=S(()=>{H5=new Map;E9={name:"Icon",aliases:["icon","stx-icon"],render($,Z,J){let Y=h1($,"name")??h1($,"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=h1($,"size")||"24",K=h1($,"color")||"currentColor",q=h1($,"class")||"",z=h1($,"style")||"",W=H5.get(Q);if(!W)return T8(Q),`<!-- Icon: collection "${Q}" not loaded -->`;let U=W[X];if(!U)return`<!-- Icon: "${X}" not found in ${Q} -->`;let _=U.width||24,j=U.height||24,B=`0 0 ${_} ${j}`,O=U.body;if(K!=="currentColor")O=O.replace(/currentColor/g,K);let F=q?` class="${q}"`:"",L=z?` style="${z}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${G}" height="${G}" viewBox="${B}" fill="none"${F}${L}>${O}</svg>`}}});function D8(){m0.registerBuiltin(C4),m0.registerBuiltin(g4),m0.registerBuiltin(m4),m0.registerBuiltin(p4),m0.registerBuiltin(c4),m0.registerBuiltin(n4),m0.registerBuiltin(E9)}var E8=S(()=>{P4();h4();u4();l4();i4();o4();k9();y4();P4();h4();u4();l4();i4();o4();k9()});function k8($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function b8($,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 z=X+1+q.length,W=null,U=z,_=-1,j=!1;while(z<$.length){let O=$[z];if(W){if(O==="\\"&&z+1<$.length){z+=2;continue}if(O===W)W=null;z++;continue}if(O==='"'||O==="'"){W=O,z++;continue}if(O==="/"&&z+1<$.length&&$[z+1]===">"){_=z+2,j=!0;break}if(O===">"){_=z+1;break}z++}if(_===-1){Q=X+1;continue}let B=$.slice(U,j?_-2:_-1).trim();if(j)Y.push({fullMatch:$.slice(X,_),tagName:q,attributes:B,content:"",startIndex:X,endIndex:_,isSelfClosing:!0}),Q=_;else{let O=`<${q}`,F=`</${q}>`,L=1,H=_,V=-1;while(L>0&&H<$.length){let N=$.indexOf(O,H),R=$.indexOf(F,H);if(R===-1)break;if(N!==-1&&N<R){let T=$[N+O.length];if(T===" "||T===">"||T==="/"||T===`
6731
+ `||T==="\t")L++;H=N+O.length}else{if(L--,L===0){V=R;break}H=R+F.length}}if(V===-1){Q=_;continue}let A=$.slice(_,V),w=V+F.length;Y.push({fullMatch:$.slice(X,w),tagName:q,attributes:B,content:A,startIndex:X,endIndex:w,isSelfClosing:!1}),Q=w}}return Y}var S8=S(()=>{R0();A0()});import d1 from"path";function gK($,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 z=X(q.slice(6));try{let W=K.replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&");Y.serverDynamic[z]=JSON.parse(W)}catch(W){if(J.debug)console.error(`Error parsing __stx_${z}:`,W);Y.serverDynamic[z]=K}continue}if(q.startsWith(":")){let z=X(q.slice(1)),W=K==="true"?z:K;try{if(!t(W)){if(J.debug)console.error(`Unsafe expression in :${z} binding: ${W}`);Y.clientReactive[z]=W;continue}let U=Object.keys(Z),j=e(W,U)(...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)&&!U.includes(L))){Y.clientReactive[z]=W;continue}}Y.serverDynamic[z]=j}catch{Y.clientReactive[z]=W}continue}if(typeof K==="string"&&K.includes("{{")&&K.includes("}}")){let z=K.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(z)try{let W=z[1];if(t(W)){let _=e(W,Object.keys(Z))(...Object.values(Z));Y.static[q]=_!=null?String(_):""}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,U=/\{\{\s*([\s\S]+?)\s*\}\}/g,_;while((_=U.exec(K))!==null)try{let j=_[1];if(!t(j)){if(J.debug)console.error(`Unsafe expression in ${q}: ${j}`);continue}let O=e(j,Object.keys(Z))(...Object.values(Z));W=W.replace(_[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 hK($){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 dK($,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[z,W]=q,U=W.split(",").map((_)=>_.trim().replace(/^['"]|['"]$/g,"")).filter((_)=>_.length>0);for(let _ of U){let j=_.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=[d1.resolve(d1.dirname(J),`${_}.stx`),d1.resolve(d1.dirname(J),_),d1.resolve(Y.componentsDir||"components",`${_}.stx`),d1.resolve(Y.componentsDir||"components",_),_.endsWith(".stx")?_:`${_}.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: ${_}`)}X=X.replace(z,""),K.lastIndex=0}return X}async function mK($,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,z;while((z=q.exec(X))!==null){let W=z.index,U=W+z[0].length-1,_=1,j=U+1;while(j<X.length&&_>0){if(X[j]==="(")_++;else if(X[j]===")"){if(_--,_===0)break}j++}if(_!==0)break;let B=X.substring(U+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),A=V.match(/^\s*,\s*/);if(A)H=V.slice(A[0].length).trim();let w={};if(H)try{w=F0(H,Z)}catch(I){let D=I instanceof Error?I.message:String(I);X=X.replace(X.substring(W,O),`[Error parsing component props: ${D}]`);continue}let N="",R=O,E=X.substring(O).match(/^([\s\S]*?)@endcomponent/);if(E)N=E[1].trim(),R=O+E[0].length;let M=await B1(L,w,N,G,Z,J,Y,K,Q);X=X.substring(0,W)+M+X.substring(R),q.lastIndex=0}return X}async function uK($,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 U(X,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),X=await U(X,/[A-Z][a-zA-Z0-9]*/,!0),X=await U(X,/[a-z][a-z0-9]*/,!1,fK),X;async function U(_,j,B,O){if(!_)return _;let F=_,L=b8(F,j,O);for(let H=L.length-1;H>=0;H--){let V=L[H],A=B?k8(V.tagName):V.tagName,w=hK(V.attributes),N=gK(w,Z,Y),R=m0.getBuiltin(V.tagName);if(R){let I={context:Z,filePath:J,options:Y,dependencies:Q},D=R.render(N,V.content,I);if(Object.keys(N.clientReactive).length>0)D=C8(D,N.clientReactive);if(Object.keys(N.events).length>0){let P=Object.entries(N.events).map(([C,k])=>`${C}="${k.replace(/"/g,"&quot;")}"`).join(" ");D=D.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${P}`)}F=F.substring(0,V.startIndex)+D+F.substring(V.endIndex);continue}let T={};for(let[I,D]of Object.entries(N.static))T[I]=D;for(let[I,D]of Object.entries(N.serverDynamic))T[I]=D;let M=await B1(A,T,V.content,G,Z,J,Y,K,Q);if(Object.keys(N.clientReactive).length>0)M=C8(M,N.clientReactive);if(Object.keys(N.events).length>0){let I=M.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(I){let D=Object.entries(N.events).map(([C,k])=>`${C}="${k}"`).join(" "),P=I[1].length+I[2].length;M=M.substring(0,P)+" "+D+M.substring(P)}}F=F.substring(0,V.startIndex)+M+F.substring(V.endIndex)}return F}}function C8($,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 s4($,Z,J,Y,Q){if(!y8)D8(),y8=!0;let X=await dK($,Z,J,Y,Q);X=await mK(X,Z,J,Y,Q);for(let G=0;G<3;G++){let K=X;if(X=await uK(X,Z,J,Y,Q),X===K)break}return X}var y8=!1,fK;var P8=S(()=>{y4();E8();S8();A0();R0();fK=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 m1 from"path";function v8($){return $.startsWith("http://")||$.startsWith("https://")||$.startsWith("//")}function x8($,Z,J){try{let Y;if($.startsWith("/")){let Q=Z;for(let X=0;X<5;X++){let G=m1.join(Q,$);if(Y0("fs").existsSync(G))return G;Q=m1.dirname(Q)}Y=m1.join(Z,$)}else if($.startsWith("./")||$.startsWith("../"))Y=m1.resolve(Z,$);else Y=m1.resolve(Z,$);if(Y0("fs").existsSync(Y))return Y;return null}catch{return null}}async function f8($,Z,J){let Y=$,Q=m1.dirname(Z),X=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,G;while((G=X.exec(Y))!==null){let[z,W,U,_]=G;if(v8(U))continue;let j=x8(U,Q,Z);if(j)try{let B=await Bun.file(j).text();if(J.add(j),U.endsWith(".ts")||U.endsWith(".tsx")){let F=await Bun.build({entrypoints:[j],target:"browser",minify:!1,define:g0()});if(F.outputs.length>0)B=await F.outputs[0].text()}let O=`<script>
6732
6732
  // Source: ${U}
6733
6733
  ${B}
6734
6734
  </script>`;Y=Y.replace(z,O),X.lastIndex=0}catch(B){}}let K=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,q;while((q=K.exec(Y))!==null){let[z,W,U,_]=q,j=W+_;if(v8(U))continue;if(/rel=["']stylesheet["']/.test(j)||U.endsWith(".css")){let O=x8(U,Q,Z);if(O)try{let F=await Bun.file(O).text();J.add(O);let L=`<style>
6735
6735
  /* Source: ${U} */
6736
6736
  ${F}
6737
- </style>`;Y=Y.replace(z,L),K.lastIndex=0}catch(F){}}}return Y}var g8=C(()=>{M1()});function r4($,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,z=null,W=!1;while(q<J.length&&K>0){let V=J[q];if(W){W=!1,q++;continue}if(V==="\\"&&z){W=!0,q++;continue}if(z){if(V===z)z=null;q++;continue}if(V==='"'||V==="'"||V==="`"){z=V,q++;continue}if(V==="(")K++;else if(V===")"){if(K--,K===0)break}q++}if(K!==0)break;let U=J.substring(G+1,q).trim(),_=J.substring(X,q+1),j=-1,B=0,O=null,F=!1;for(let V=0;V<U.length;V++){let A=U[V];if(F){F=!1;continue}if(A==="\\"&&O){F=!0;continue}if(O){if(A===O)O=null;continue}if(A==='"'||A==="'"||A==="`"){O=A;continue}if(A==="("||A==="["||A==="{")B++;else if(A===")"||A==="]"||A==="}")B--;if(A===","&&B===0){j=V;break}}let L=j>=0?U.substring(0,j).trim():U,H=j>=0?U.substring(j+1).trim():void 0;try{let V=L.trim(),A;if(t(V))A=e(V,Object.keys(Z))(...Object.values(Z));else A=void 0;let w;if(H==="true")w=JSON.stringify(A,null,2);else w=JSON.stringify(A);let N=w.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");J=J.substring(0,X)+N+J.substring(q+1),Y.lastIndex=X+N.length}catch(V){x0.log(V instanceof Error?V:Error(String(V)),{directive:"@json"},"error"),Y.lastIndex=X+_.length}}return J}function a4($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function h8($){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=Z.slice(G,q-1).trim(),W=q,U=Z.slice(W),_=U.indexOf("@endmemo");if(_===-1)continue;let j=U.slice(0,_),B=W+_+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,A=L.slice(0,L.length-V),w=A.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),N;if(w){let[R,T,I="",M]=w,E=`<${T}${I} data-stx-memo="${z}"${M}>`;N=j.slice(0,F)+E+A.slice(R.length)+j.slice(F+A.length)}else N=`${j.slice(0,F)}<div data-stx-memo="${z}">${A}</div>${j.slice(F+A.length)}`;Q.push({start:X,end:B,replacement:N}),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 t4($){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 d8($){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,z=!1,W=-1;while(K<$.length){let O=$[K];if(q){if(O==="'")q=!1}else if(z){if(O==='"')z=!1}else if(O==="'")q=!0;else if(O==='"')z=!0;else if(O===">"){W=K;break}K++}if(W===-1)continue;if($.slice(G,W+1).includes("x-cloak"))continue;let _=$.slice(W+1),j=_.indexOf("</"),B=j>=0?_.slice(0,j):_.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(B))Y+=$.slice(Q,W)+" x-cloak>",Q=W+1}return Y+=$.slice(Q),Y}var e4=C(()=>{o0();R0()});function $7($,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 z=$.match(G);if(z&&z.length>0){let W=$.split(`
6737
+ </style>`;Y=Y.replace(z,L),K.lastIndex=0}catch(F){}}}return Y}var g8=S(()=>{M1()});function r4($,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,z=null,W=!1;while(q<J.length&&K>0){let V=J[q];if(W){W=!1,q++;continue}if(V==="\\"&&z){W=!0,q++;continue}if(z){if(V===z)z=null;q++;continue}if(V==='"'||V==="'"||V==="`"){z=V,q++;continue}if(V==="(")K++;else if(V===")"){if(K--,K===0)break}q++}if(K!==0)break;let U=J.substring(G+1,q).trim(),_=J.substring(X,q+1),j=-1,B=0,O=null,F=!1;for(let V=0;V<U.length;V++){let A=U[V];if(F){F=!1;continue}if(A==="\\"&&O){F=!0;continue}if(O){if(A===O)O=null;continue}if(A==='"'||A==="'"||A==="`"){O=A;continue}if(A==="("||A==="["||A==="{")B++;else if(A===")"||A==="]"||A==="}")B--;if(A===","&&B===0){j=V;break}}let L=j>=0?U.substring(0,j).trim():U,H=j>=0?U.substring(j+1).trim():void 0;try{let V=L.trim(),A;if(t(V))A=e(V,Object.keys(Z))(...Object.values(Z));else A=void 0;let w;if(H==="true")w=JSON.stringify(A,null,2);else w=JSON.stringify(A);let N=w.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");J=J.substring(0,X)+N+J.substring(q+1),Y.lastIndex=X+N.length}catch(V){x0.log(V instanceof Error?V:Error(String(V)),{directive:"@json"},"error"),Y.lastIndex=X+_.length}}return J}function a4($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function h8($){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=Z.slice(G,q-1).trim(),W=q,U=Z.slice(W),_=U.indexOf("@endmemo");if(_===-1)continue;let j=U.slice(0,_),B=W+_+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,A=L.slice(0,L.length-V),w=A.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),N;if(w){let[R,T,E="",M]=w,I=`<${T}${E} data-stx-memo="${z}"${M}>`;N=j.slice(0,F)+I+A.slice(R.length)+j.slice(F+A.length)}else N=`${j.slice(0,F)}<div data-stx-memo="${z}">${A}</div>${j.slice(F+A.length)}`;Q.push({start:X,end:B,replacement:N}),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 t4($){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 d8($){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,z=!1,W=-1;while(K<$.length){let O=$[K];if(q){if(O==="'")q=!1}else if(z){if(O==='"')z=!1}else if(O==="'")q=!0;else if(O==='"')z=!0;else if(O===">"){W=K;break}K++}if(W===-1)continue;if($.slice(G,W+1).includes("x-cloak"))continue;let _=$.slice(W+1),j=_.indexOf("</"),B=j>=0?_.slice(0,j):_.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(B))Y+=$.slice(Q,W)+" x-cloak>",Q=W+1}return Y+=$.slice(Q),Y}var e4=S(()=>{o0();R0()});function $7($,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 z=$.match(G);if(z&&z.length>0){let W=$.split(`
6738
6738
  `),U=[];W.forEach((j,B)=>{if(G.lastIndex=0,G.test(j))U.push(B+1)});let _=U.length>0?` (line${U.length>1?"s":""}: ${U.join(", ")})`:"";X.push(` \u2717 ${K}${_}
6739
6739
  \u2192 ${q}`)}}if(X.length>0&&Y.enabled){let K=`[STX] DOM API violation in ${Z.split("/").pop()||Z}:
6740
6740
  ${X.join(`
6741
6741
  `)}
6742
- Tip: prefer useRef(), navigate(), and composables for component code`;if(Y.failOnViolation)throw Error(K);else console.warn(K)}}var pK;var Z7=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 m8={};r(m8,{getStoreScript:()=>lK,clearStoreCache:()=>cK});import b9 from"path";async function lK($){let Z;if($)Z=b9.resolve($);else{let W=await L1();Z=b9.resolve(W.root||process.cwd(),W.storesDir||"stores")}let J=u1.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 U=b9.basename(W,".ts");if(["index","types"].includes(U))continue;if(W.includes(".d.ts"))continue;Q.push(W)}}catch{return u1.set(Z,""),null}if(Q.length===0)return u1.set(Z,""),null;let X=[];for(let W of Q){let U=await Bun.file(W).text();X.push({file:W,hasUseStore:/useStore\s*\(/.test(U)})}X.sort((W,U)=>{if(W.hasUseStore===U.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:g0()});for(let W of G)try{let U=await Bun.file(W).text(),_=b9.basename(W,".ts");U=U.replace(/^import\s+.*from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),U=U.replace(/^export\s+(default\s+)?/gm,""),U=q.transformSync(U),K.push(`// Store: ${_}
6742
+ Tip: prefer useRef(), navigate(), and composables for component code`;if(Y.failOnViolation)throw Error(K);else console.warn(K)}}var pK;var Z7=S(()=>{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 m8={};r(m8,{getStoreScript:()=>lK,clearStoreCache:()=>cK});import b9 from"path";async function lK($){let Z;if($)Z=b9.resolve($);else{let W=await L1();Z=b9.resolve(W.root||process.cwd(),W.storesDir||"stores")}let J=u1.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 U=b9.basename(W,".ts");if(["index","types"].includes(U))continue;if(W.includes(".d.ts"))continue;Q.push(W)}}catch{return u1.set(Z,""),null}if(Q.length===0)return u1.set(Z,""),null;let X=[];for(let W of Q){let U=await Bun.file(W).text();X.push({file:W,hasUseStore:/useStore\s*\(/.test(U)})}X.sort((W,U)=>{if(W.hasUseStore===U.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:g0()});for(let W of G)try{let U=await Bun.file(W).text(),_=b9.basename(W,".ts");U=U.replace(/^import\s+.*from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),U=U.replace(/^export\s+(default\s+)?/gm,""),U=q.transformSync(U),K.push(`// Store: ${_}
6743
6743
  ${U.trim()}`)}catch(U){console.warn(`[stx] Failed to load store ${W}:`,U)}if(K.length===0)return u1.set(Z,""),null;let z=`;(function(){
6744
6744
  ${K.join(`
6745
6745
 
6746
6746
  `)}
6747
- })();`;return u1.set(Z,z),z}function cK(){u1.clear()}var u1;var u8=C(()=>{Q5();M1();u1=new Map});var l8={};r(l8,{processDeferDirectives:()=>rK});function iK(){return`stx-defer-${++p8}`}function nK($){let Z=$.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if(Z)return{trigger:Z[1],value:Z[2]};return{trigger:"immediate"}}function oK($,Z,J){let{trigger:Y,value:Q}=nK(Z),X=J,G,K,q,z=J.match(/@placeholder\s*([\s\S]*?)(?=@loading|@error|$)/);if(z)G=z[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 U=J.match(/@error(?:\s*\(\s*(\w+)\s*\))?\s*([\s\S]*)$/);if(U)q=U[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 sK($,Z){let{trigger:J,triggerValue:Y}=Z,Q;switch(J){case"visible":Q=`
6747
+ })();`;return u1.set(Z,z),z}function cK(){u1.clear()}var u1;var u8=S(()=>{Q5();M1();u1=new Map});var l8={};r(l8,{processDeferDirectives:()=>rK});function iK(){return`stx-defer-${++p8}`}function nK($){let Z=$.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if(Z)return{trigger:Z[1],value:Z[2]};return{trigger:"immediate"}}function oK($,Z,J){let{trigger:Y,value:Q}=nK(Z),X=J,G,K,q,z=J.match(/@placeholder\s*([\s\S]*?)(?=@loading|@error|$)/);if(z)G=z[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 U=J.match(/@error(?:\s*\(\s*(\w+)\s*\))?\s*([\s\S]*)$/);if(U)q=U[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 sK($,Z){let{trigger:J,triggerValue:Y}=Z,Q;switch(J){case"visible":Q=`
6748
6748
  const observer = new IntersectionObserver((entries) => {
6749
6749
  if (entries[0].isIntersecting) {
6750
6750
  observer.disconnect();
@@ -8429,7 +8429,7 @@ else {
8429
8429
 
8430
8430
  console.log('[stx] Keep-alive runtime initialized');
8431
8431
  })();
8432
- `}function mq($){if(typeof document<"u")document.addEventListener("stx:activated",(Z)=>{$(Z.detail)})}function uq($){if(typeof document<"u")document.addEventListener("stx:deactivated",(Z)=>{$(Z.detail)})}var Cq=0;var zZ={};r(zZ,{useVirtualList:()=>KZ,processVirtualListDirectives:()=>J7,processVirtualGridDirectives:()=>WZ,processInfiniteListDirectives:()=>qZ,generateVirtualListCSS:()=>GZ,default:()=>pq,createVirtualList:()=>Y7});function Y7($,Z){let{itemHeight:J,containerHeight:Y,overscan:Q=3,keyProperty:X="id",dynamicHeight:G=!1,estimatedItemHeight:K=J,direction:q="vertical"}=Z,z=[...$],W=0,U=new Map;function _(){if(G)return j();let N=Math.max(0,Math.floor(W/J)-Q),R=Math.ceil(Y/J),T=Math.min(z.length-1,N+R+Q*2);return{startIndex:N,endIndex:T}}function j(){let N=0,R=0,T=z.length-1;for(let I=0;I<z.length;I++){let M=U.get(I)||K;if(N+M>W){R=Math.max(0,I-Q);break}N+=M}N=0;for(let I=0;I<z.length;I++){let M=U.get(I)||K;if(N+=M,N>W+Y){T=Math.min(z.length-1,I+Q);break}}return{startIndex:R,endIndex:T}}function B(){if(G){let N=0;for(let R=0;R<z.length;R++)N+=U.get(R)||K;return N}return z.length*J}function O(N){if(G){let R=0;for(let T=0;T<N;T++)R+=U.get(T)||K;return R}return N*J}function F(){let{startIndex:N,endIndex:R}=_();return{startIndex:N,endIndex:R,scrollTop:W,totalHeight:B(),visibleItems:z.slice(N,R+1),itemHeights:new Map(U)}}function L(N,R="auto"){let T=O(N);H(T,R)}function H(N,R="auto"){W=Math.max(0,Math.min(N,B()-Y))}function V(){_()}function A(N){z=[...N],U.clear(),V()}function w(){z=[],U.clear()}return{scrollToIndex:L,scrollToOffset:H,getState:F,refresh:V,setItems:A,destroy:w}}function J7($,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=Z[q];if(!z||!Array.isArray(z))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 U=`vlist-${Math.random().toString(36).substring(2,9)}`,_=Math.ceil(W.containerHeight/W.itemHeight),j=W.overscan||3,B=0,O=Math.min(z.length-1,_+j),F="";for(let H=B;H<=O&&H<z.length;H++){let V=z[H],A=K.replace(/\{\{\s*item\s*\}\}/g,typeof V==="object"?JSON.stringify(V):String(V)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(w,N)=>{if(typeof V==="object"&&V!==null)return String(V[N]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(H));F+=`
8432
+ `}function mq($){if(typeof document<"u")document.addEventListener("stx:activated",(Z)=>{$(Z.detail)})}function uq($){if(typeof document<"u")document.addEventListener("stx:deactivated",(Z)=>{$(Z.detail)})}var Cq=0;var zZ={};r(zZ,{useVirtualList:()=>KZ,processVirtualListDirectives:()=>J7,processVirtualGridDirectives:()=>WZ,processInfiniteListDirectives:()=>qZ,generateVirtualListCSS:()=>GZ,default:()=>pq,createVirtualList:()=>Y7});function Y7($,Z){let{itemHeight:J,containerHeight:Y,overscan:Q=3,keyProperty:X="id",dynamicHeight:G=!1,estimatedItemHeight:K=J,direction:q="vertical"}=Z,z=[...$],W=0,U=new Map;function _(){if(G)return j();let N=Math.max(0,Math.floor(W/J)-Q),R=Math.ceil(Y/J),T=Math.min(z.length-1,N+R+Q*2);return{startIndex:N,endIndex:T}}function j(){let N=0,R=0,T=z.length-1;for(let E=0;E<z.length;E++){let M=U.get(E)||K;if(N+M>W){R=Math.max(0,E-Q);break}N+=M}N=0;for(let E=0;E<z.length;E++){let M=U.get(E)||K;if(N+=M,N>W+Y){T=Math.min(z.length-1,E+Q);break}}return{startIndex:R,endIndex:T}}function B(){if(G){let N=0;for(let R=0;R<z.length;R++)N+=U.get(R)||K;return N}return z.length*J}function O(N){if(G){let R=0;for(let T=0;T<N;T++)R+=U.get(T)||K;return R}return N*J}function F(){let{startIndex:N,endIndex:R}=_();return{startIndex:N,endIndex:R,scrollTop:W,totalHeight:B(),visibleItems:z.slice(N,R+1),itemHeights:new Map(U)}}function L(N,R="auto"){let T=O(N);H(T,R)}function H(N,R="auto"){W=Math.max(0,Math.min(N,B()-Y))}function V(){_()}function A(N){z=[...N],U.clear(),V()}function w(){z=[],U.clear()}return{scrollToIndex:L,scrollToOffset:H,getState:F,refresh:V,setItems:A,destroy:w}}function J7($,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=Z[q];if(!z||!Array.isArray(z))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 U=`vlist-${Math.random().toString(36).substring(2,9)}`,_=Math.ceil(W.containerHeight/W.itemHeight),j=W.overscan||3,B=0,O=Math.min(z.length-1,_+j),F="";for(let H=B;H<=O&&H<z.length;H++){let V=z[H],A=K.replace(/\{\{\s*item\s*\}\}/g,typeof V==="object"?JSON.stringify(V):String(V)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(w,N)=>{if(typeof V==="object"&&V!==null)return String(V[N]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(H));F+=`
8433
8433
  <div class="virtual-item ${W.itemClass||""}"
8434
8434
  style="position: absolute; top: ${H*W.itemHeight}px; height: ${W.itemHeight}px; width: 100%;"
8435
8435
  data-index="${H}">
@@ -8572,11 +8572,11 @@ else {
8572
8572
  ${q}
8573
8573
  </div>
8574
8574
  </div>
8575
- `})}function WZ($,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=Z[q];if(!z||!Array.isArray(z))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 U=`vgrid-${Math.random().toString(36).substring(2,9)}`,_=Math.ceil(z.length/W.columns),j=_*(W.rowHeight+(W.gap||0)),B=Math.ceil(W.containerHeight/(W.rowHeight+(W.gap||0))),O=W.overscan||2,F=0,L=Math.min(_-1,B+O),H="";for(let V=F;V<=L;V++)for(let A=0;A<W.columns;A++){let w=V*W.columns+A;if(w>=z.length)break;let N=z[w],R=A*(100/W.columns),T=V*(W.rowHeight+(W.gap||0)),I=K.replace(/\{\{\s*item\s*\}\}/g,typeof N==="object"?JSON.stringify(N):String(N)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(M,E)=>{if(typeof N==="object"&&N!==null)return String(N[E]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(w));H+=`
8575
+ `})}function WZ($,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=Z[q];if(!z||!Array.isArray(z))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 U=`vgrid-${Math.random().toString(36).substring(2,9)}`,_=Math.ceil(z.length/W.columns),j=_*(W.rowHeight+(W.gap||0)),B=Math.ceil(W.containerHeight/(W.rowHeight+(W.gap||0))),O=W.overscan||2,F=0,L=Math.min(_-1,B+O),H="";for(let V=F;V<=L;V++)for(let A=0;A<W.columns;A++){let w=V*W.columns+A;if(w>=z.length)break;let N=z[w],R=A*(100/W.columns),T=V*(W.rowHeight+(W.gap||0)),E=K.replace(/\{\{\s*item\s*\}\}/g,typeof N==="object"?JSON.stringify(N):String(N)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(M,I)=>{if(typeof N==="object"&&N!==null)return String(N[I]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(w));H+=`
8576
8576
  <div class="virtual-grid-item"
8577
8577
  style="position: absolute; top: ${T}px; left: ${R}%; width: calc(${100/W.columns}% - ${W.gap||0}px); height: ${W.rowHeight}px;"
8578
8578
  data-index="${w}">
8579
- ${I}
8579
+ ${E}
8580
8580
  </div>`}return`
8581
8581
  <div id="${U}"
8582
8582
  class="virtual-grid-container"
@@ -8642,7 +8642,7 @@ else {
8642
8642
  });
8643
8643
  })();
8644
8644
  </script>
8645
- `})}var pq;var UZ=C(()=>{pq={createVirtualList:Y7,processVirtualListDirectives:J7,processInfiniteListDirectives:qZ,processVirtualGridDirectives:WZ,generateVirtualListCSS:GZ,useVirtualList:KZ}});function _Z(){return`<script data-stx-hydration-runtime>
8645
+ `})}var pq;var UZ=S(()=>{pq={createVirtualList:Y7,processVirtualListDirectives:J7,processInfiniteListDirectives:qZ,processVirtualGridDirectives:WZ,generateVirtualListCSS:GZ,useVirtualList:KZ}});function _Z(){return`<script data-stx-hydration-runtime>
8646
8646
  (function() {
8647
8647
  'use strict';
8648
8648
 
@@ -9030,7 +9030,7 @@ else {
9030
9030
  <script type="application/json" id="stx-island-manifest">
9031
9031
  ${JSON.stringify(Z)}
9032
9032
  </script>
9033
- `}var aq;var IZ=C(()=>{aq={processPartialHydrationDirectives:HZ,processStaticDirectives:RZ,generatePartialHydrationCSS:LZ,generateIslandManifest:TZ,createIslandRegistry:OZ,hydrateIsland:FZ,hydrateByStrategy:VZ,hydrateAll:wZ,isHydrated:AZ,onHydrated:NZ}});var fZ={};r(fZ,{watchMultiple:()=>SZ,watchEffect:()=>yZ,watch:()=>bZ,unref:()=>DZ,toRefs:()=>EZ,throttledComputed:()=>xZ,stxWatchMultiple:()=>SZ,stxWatchEffect:()=>yZ,stxWatch:()=>bZ,stxUnref:()=>DZ,stxToRefs:()=>EZ,stxThrottledComputed:()=>xZ,stxShallowRef:()=>kZ,stxRef:()=>l1,stxIsRef:()=>K1,stxDebouncedComputed:()=>vZ,stxComputed:()=>F5,shallowRef:()=>kZ,ref:()=>l1,processWatchDirectives:()=>PZ,processComputedDirectives:()=>CZ,isRef:()=>K1,default:()=>tq,debouncedComputed:()=>vZ,computed:()=>F5});function l1($){let Z=$,J=new Set,Y={get value(){if(p0){let Q=L5.get(Y);if(!Q)Q=new Set,L5.set(Y,Q);Q.add(p0)}return Z},set value(Q){if(!Object.is(Z,Q)){Z=Q,J.forEach((G)=>G(Q));let X=L5.get(Y);if(X)X.forEach((G)=>G())}},subscribe(Q){return J.add(Q),()=>J.delete(Q)},peek(){return Z}};return Y}function K1($){return $!==null&&typeof $==="object"&&"value"in $&&"subscribe"in $&&"peek"in $}function DZ($){return K1($)?$.value:$}function EZ($){let Z={};for(let J in $)if(Object.prototype.hasOwnProperty.call($,J))Z[J]=l1($[J]);return Z}function kZ($){return l1($)}function F5($){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,z=()=>{if(G=!0,q.size>0){let _=U.value;q.forEach((j)=>j(_))}};function W(){K.clear();let _=p0;p0=z,S9.push(z);try{return J()}finally{S9.pop(),p0=_}}let U={get value(){if(p0){let _=L5.get(U);if(!_)_=new Set,L5.set(U,_);_.add(p0)}if(G){let _=W();if(!Q(X,_))X=_;G=!1}return X},set value(_){if(Y)Y(_);else console.warn("Computed property is readonly")},subscribe(_){return q.add(_),()=>q.delete(_)},peek(){if(G)X=J(),G=!1;return X},invalidate(){G=!0},get dirty(){return G},get deps(){return K}};return U}function bZ($,Z,J={}){let{immediate:Y=!1,deep:Q=!1,flush:X="pre",once:G=!1}=J,K,q=!0,z=!1,W=()=>{if(K1($))return Q?N1($.value):$.value;return $()},U=()=>{if(!q||z)return;let B=W();if(K!==void 0&&Object.is(K,B)&&!Q)return;let O=()=>{if(Z(B,K),K=Q?N1(B):B,G)j()};if(X==="sync")O();else if(X==="post")queueMicrotask(O);else Promise.resolve().then(O)},_=null;if(K1($))_=$.subscribe(()=>U());else _=F5($).subscribe(()=>U());if(Y)K=void 0,U();else K=W();let j=()=>{if(q=!1,_)_(),_=null};return j.pause=()=>{z=!0},j.resume=()=>{z=!1},j}function SZ($,Z,J={}){let{immediate:Y=!1,once:Q=!1}=J,X=$.map((U)=>K1(U)?U.value:void 0),G=!0,K=!1,q=()=>{if(!G||K)return;let U=$.map((_)=>K1(_)?_.value:void 0);if(Z(U,X),X=[...U],Q)W()},z=$.map((U)=>{if(K1(U))return U.subscribe(()=>q());return()=>{}});if(Y)q();let W=()=>{G=!1,z.forEach((U)=>U())};return W.pause=()=>{K=!0},W.resume=()=>{K=!1},W}function yZ($,Z={}){let{flush:J="pre"}=Z,Y,Q=!0,X=!1,G=()=>{if(!Q||X)return;if(Y)Y();let q=p0;p0=G,S9.push(G);try{Y=$()}finally{S9.pop(),p0=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 CZ($,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 PZ($,Z={},J){let Y=/@watch\s*\(\s*(\w+)\s*\)\s*([\s\S]*?)@endwatch/gi;return $.replace(Y,(Q,X,G)=>{return`
9033
+ `}var aq;var IZ=S(()=>{aq={processPartialHydrationDirectives:HZ,processStaticDirectives:RZ,generatePartialHydrationCSS:LZ,generateIslandManifest:TZ,createIslandRegistry:OZ,hydrateIsland:FZ,hydrateByStrategy:VZ,hydrateAll:wZ,isHydrated:AZ,onHydrated:NZ}});var fZ={};r(fZ,{watchMultiple:()=>SZ,watchEffect:()=>yZ,watch:()=>bZ,unref:()=>DZ,toRefs:()=>EZ,throttledComputed:()=>xZ,stxWatchMultiple:()=>SZ,stxWatchEffect:()=>yZ,stxWatch:()=>bZ,stxUnref:()=>DZ,stxToRefs:()=>EZ,stxThrottledComputed:()=>xZ,stxShallowRef:()=>kZ,stxRef:()=>l1,stxIsRef:()=>K1,stxDebouncedComputed:()=>vZ,stxComputed:()=>F5,shallowRef:()=>kZ,ref:()=>l1,processWatchDirectives:()=>PZ,processComputedDirectives:()=>CZ,isRef:()=>K1,default:()=>tq,debouncedComputed:()=>vZ,computed:()=>F5});function l1($){let Z=$,J=new Set,Y={get value(){if(p0){let Q=L5.get(Y);if(!Q)Q=new Set,L5.set(Y,Q);Q.add(p0)}return Z},set value(Q){if(!Object.is(Z,Q)){Z=Q,J.forEach((G)=>G(Q));let X=L5.get(Y);if(X)X.forEach((G)=>G())}},subscribe(Q){return J.add(Q),()=>J.delete(Q)},peek(){return Z}};return Y}function K1($){return $!==null&&typeof $==="object"&&"value"in $&&"subscribe"in $&&"peek"in $}function DZ($){return K1($)?$.value:$}function EZ($){let Z={};for(let J in $)if(Object.prototype.hasOwnProperty.call($,J))Z[J]=l1($[J]);return Z}function kZ($){return l1($)}function F5($){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,z=()=>{if(G=!0,q.size>0){let _=U.value;q.forEach((j)=>j(_))}};function W(){K.clear();let _=p0;p0=z,S9.push(z);try{return J()}finally{S9.pop(),p0=_}}let U={get value(){if(p0){let _=L5.get(U);if(!_)_=new Set,L5.set(U,_);_.add(p0)}if(G){let _=W();if(!Q(X,_))X=_;G=!1}return X},set value(_){if(Y)Y(_);else console.warn("Computed property is readonly")},subscribe(_){return q.add(_),()=>q.delete(_)},peek(){if(G)X=J(),G=!1;return X},invalidate(){G=!0},get dirty(){return G},get deps(){return K}};return U}function bZ($,Z,J={}){let{immediate:Y=!1,deep:Q=!1,flush:X="pre",once:G=!1}=J,K,q=!0,z=!1,W=()=>{if(K1($))return Q?N1($.value):$.value;return $()},U=()=>{if(!q||z)return;let B=W();if(K!==void 0&&Object.is(K,B)&&!Q)return;let O=()=>{if(Z(B,K),K=Q?N1(B):B,G)j()};if(X==="sync")O();else if(X==="post")queueMicrotask(O);else Promise.resolve().then(O)},_=null;if(K1($))_=$.subscribe(()=>U());else _=F5($).subscribe(()=>U());if(Y)K=void 0,U();else K=W();let j=()=>{if(q=!1,_)_(),_=null};return j.pause=()=>{z=!0},j.resume=()=>{z=!1},j}function SZ($,Z,J={}){let{immediate:Y=!1,once:Q=!1}=J,X=$.map((U)=>K1(U)?U.value:void 0),G=!0,K=!1,q=()=>{if(!G||K)return;let U=$.map((_)=>K1(_)?_.value:void 0);if(Z(U,X),X=[...U],Q)W()},z=$.map((U)=>{if(K1(U))return U.subscribe(()=>q());return()=>{}});if(Y)q();let W=()=>{G=!1,z.forEach((U)=>U())};return W.pause=()=>{K=!0},W.resume=()=>{K=!1},W}function yZ($,Z={}){let{flush:J="pre"}=Z,Y,Q=!0,X=!1,G=()=>{if(!Q||X)return;if(Y)Y();let q=p0;p0=G,S9.push(G);try{Y=$()}finally{S9.pop(),p0=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 CZ($,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 PZ($,Z={},J){let Y=/@watch\s*\(\s*(\w+)\s*\)\s*([\s\S]*?)@endwatch/gi;return $.replace(Y,(Q,X,G)=>{return`
9034
9034
  <script data-watch="${`watch-${Math.random().toString(36).substring(2,9)}`}">
9035
9035
  (function() {
9036
9036
  // Watch implementation for ${X}
@@ -9042,9 +9042,9 @@ else {
9042
9042
  }
9043
9043
  })();
9044
9044
  </script>
9045
- `})}function N1($){if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((J)=>N1(J));if($ instanceof Date)return new Date($.getTime());if($ instanceof Map){let J=new Map;return $.forEach((Y,Q)=>J.set(N1(Q),N1(Y))),J}if($ instanceof Set){let J=new Set;return $.forEach((Y)=>J.add(N1(Y))),J}let Z={};for(let J in $)if(Object.prototype.hasOwnProperty.call($,J))Z[J]=N1($[J]);return Z}function vZ($,Z=100){let J=l1($()),Y=null,Q=()=>{if(Y)clearTimeout(Y);Y=setTimeout(()=>{J.value=$()},Z)};return F5($).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 xZ($,Z=100){let J=l1($()),Y=0,Q=()=>{let G=Date.now();if(G-Y>=Z)Y=G,J.value=$()};return F5($).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 p0=null,S9,L5,tq;var gZ=C(()=>{S9=[],L5=new WeakMap;tq={ref:l1,computed:F5,watch:bZ,watchMultiple:SZ,watchEffect:yZ,isRef:K1,unref:DZ,toRefs:EZ,shallowRef:kZ,debouncedComputed:vZ,throttledComputed:xZ,processComputedDirectives:CZ,processWatchDirectives:PZ}});var uZ={};r(uZ,{v:()=>eq,processHasErrorsDirective:()=>mZ,processFormValidationDirectives:()=>ZW,processErrorsDirective:()=>dZ,processErrorDirective:()=>hZ,defineForm:()=>$W,Validator:()=>c1});class c1{rules=[];defaultValue="";addRule($){let Z=new c1;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 c1;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 c1;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 $W($,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 z(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(z));return q=!1,H.every(Boolean)}function U(){for(let H of J)Y[H]=Z?.[H]??$[H].getDefaultValue(),Q[H]=[],X[H]=!1,G[H]=!1}function _(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)z(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:z,reset:U,setValues:_,setFieldValue:j,setFieldTouched:B,getFieldState:O,handleSubmit:F}}function hZ($,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 z=q;if(!z||!Array.isArray(z)||z.length===0)return"";return z.map((W)=>{return G.replace(/\{\{\s*message\s*\}\}/g,W)}).join(`
9045
+ `})}function N1($){if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((J)=>N1(J));if($ instanceof Date)return new Date($.getTime());if($ instanceof Map){let J=new Map;return $.forEach((Y,Q)=>J.set(N1(Q),N1(Y))),J}if($ instanceof Set){let J=new Set;return $.forEach((Y)=>J.add(N1(Y))),J}let Z={};for(let J in $)if(Object.prototype.hasOwnProperty.call($,J))Z[J]=N1($[J]);return Z}function vZ($,Z=100){let J=l1($()),Y=null,Q=()=>{if(Y)clearTimeout(Y);Y=setTimeout(()=>{J.value=$()},Z)};return F5($).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 xZ($,Z=100){let J=l1($()),Y=0,Q=()=>{let G=Date.now();if(G-Y>=Z)Y=G,J.value=$()};return F5($).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 p0=null,S9,L5,tq;var gZ=S(()=>{S9=[],L5=new WeakMap;tq={ref:l1,computed:F5,watch:bZ,watchMultiple:SZ,watchEffect:yZ,isRef:K1,unref:DZ,toRefs:EZ,shallowRef:kZ,debouncedComputed:vZ,throttledComputed:xZ,processComputedDirectives:CZ,processWatchDirectives:PZ}});var uZ={};r(uZ,{v:()=>eq,processHasErrorsDirective:()=>mZ,processFormValidationDirectives:()=>ZW,processErrorsDirective:()=>dZ,processErrorDirective:()=>hZ,defineForm:()=>$W,Validator:()=>c1});class c1{rules=[];defaultValue="";addRule($){let Z=new c1;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 c1;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 c1;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 $W($,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 z(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(z));return q=!1,H.every(Boolean)}function U(){for(let H of J)Y[H]=Z?.[H]??$[H].getDefaultValue(),Q[H]=[],X[H]=!1,G[H]=!1}function _(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)z(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:z,reset:U,setValues:_,setFieldValue:j,setFieldTouched:B,getFieldState:O,handleSubmit:F}}function hZ($,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 z=q;if(!z||!Array.isArray(z)||z.length===0)return"";return z.map((W)=>{return G.replace(/\{\{\s*message\s*\}\}/g,W)}).join(`
9046
9046
  `)}catch{return""}})}function dZ($,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 z=q;if(!z||!Array.isArray(z)||z.length===0)return"";return z.map((W)=>G.replace(/\{\{\s*message\s*\}\}/g,W)).join(`
9047
- `)}catch{return""}})}function mZ($,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 z=q;if(!z||!Array.isArray(z)||z.length===0)return"";return G}catch{return""}})}function ZW($,Z,J){let Y=$;return Y=hZ(Y,Z,J),Y=dZ(Y,Z,J),Y=mZ(Y,Z,J),Y}var eq;var pZ=C(()=>{eq=new c1});var iZ={};r(iZ,{processXElementDirectives:()=>YW,hasXElementDirectives:()=>cZ,generateXElementRuntime:()=>lZ});function lZ(){return`<script data-stx-scoped>
9047
+ `)}catch{return""}})}function mZ($,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 z=q;if(!z||!Array.isArray(z)||z.length===0)return"";return G}catch{return""}})}function ZW($,Z,J){let Y=$;return Y=hZ(Y,Z,J),Y=dZ(Y,Z,J),Y=mZ(Y,Z,J),Y}var eq;var pZ=S(()=>{eq=new c1});var iZ={};r(iZ,{processXElementDirectives:()=>YW,hasXElementDirectives:()=>cZ,generateXElementRuntime:()=>lZ});function lZ(){return`<script data-stx-scoped>
9048
9048
  (function() {
9049
9049
  'use strict';
9050
9050
 
@@ -9330,7 +9330,7 @@ else {
9330
9330
  })();
9331
9331
  </script>`}function cZ($){return/\bx-(data|model|text|show|init|html)\b/.test($)||/\s:[a-z]/.test($)}function YW($){if(!cZ($))return $;let Z=lZ(),J=$.lastIndexOf("</body>");if(J!==-1)return $.slice(0,J)+Z+`
9332
9332
  `+$.slice(J);return $+`
9333
- `+Z}var nZ=()=>{};function X7($){return $.pwa?.serviceWorker?.fileName||"sw.js"}var oZ=C(()=>{nZ()});var sZ={};r(sZ,{injectPwaTags:()=>JW,generateThemeColorMeta:()=>GW,generateSwRegistrationScript:()=>XW,generatePwaTags:()=>y9,generateManifestLink:()=>QW});function y9($){let Z=$.pwa;if(!Z?.enabled)return"";let J=Z.manifest,Y=Z.icons?.outputDir?`/${Z.icons.outputDir}`:"/pwa-icons",Q=X7($),X=`
9333
+ `+Z}var nZ=()=>{};function X7($){return $.pwa?.serviceWorker?.fileName||"sw.js"}var oZ=S(()=>{nZ()});var sZ={};r(sZ,{injectPwaTags:()=>JW,generateThemeColorMeta:()=>GW,generateSwRegistrationScript:()=>XW,generatePwaTags:()=>y9,generateManifestLink:()=>QW});function y9($){let Z=$.pwa;if(!Z?.enabled)return"";let J=Z.manifest,Y=Z.icons?.outputDir?`/${Z.icons.outputDir}`:"/pwa-icons",Q=X7($),X=`
9334
9334
  <!-- stx PWA Meta Tags -->
9335
9335
  <link rel="manifest" href="/manifest.json">
9336
9336
  <meta name="theme-color" content="${Q7(J?.themeColor||"#000000")}">
@@ -9388,27 +9388,27 @@ if ('serviceWorker' in navigator) {
9388
9388
  });
9389
9389
  });
9390
9390
  }
9391
- </script>`}function QW(){return'<link rel="manifest" href="/manifest.json">'}function GW($){return`<meta name="theme-color" content="${Q7($)}">`}function Q7($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var rZ=C(()=>{oZ()});import E0 from"path";function KW($,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(`
9391
+ </script>`}function QW(){return'<link rel="manifest" href="/manifest.json">'}function GW($){return`<meta name="theme-color" content="${Q7($)}">`}function Q7($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var rZ=S(()=>{oZ()});import E0 from"path";function KW($,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(`
9392
9392
  `,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,z=!1;while(q<J){let W=$[q];if(W==="\\"){q+=2;continue}if(W==="[")z=!0;else if(W==="]")z=!1;else if(W==="/"&&!z){q++;break}else if(W===`
9393
9393
  `){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]===`
9394
9394
  `)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 $1($,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 g7.timeAsync("template-processing",async()=>{let G=await qW($,Z,J,Y,Q);if(X)G=t4(G);if(X&&Y.autoShell&&Y.buildMode!=="compile"){let K=Y.app?.head||{},z=(Z.__stx_runtime_head||null)??t1(),W={...K,...z.title&&{title:z.title},meta:[...K.meta||[],...z.meta||[]],link:[...K.link||[],...z.link||[]],script:[...K.script||[],...z.script||[]],...z.htmlAttrs&&{htmlAttrs:{...K.htmlAttrs||{},...z.htmlAttrs}},...z.bodyAttrs&&{bodyAttrs:{...K.bodyAttrs||{},...z.bodyAttrs}}};G=X8(G,W);let U=G.match(/<!-- stx-layout: ([^ ]+) -->/);if(U&&G.includes("<head")){let j=U[1];G=G.replace("<head>",`<head>
9395
9395
  <meta name="stx-layout" content="${j}">`)}let _=G.match(/function (__stx_setup_\d+_\d+)\(/);if(_&&G.includes("<body")&&!G.match(/<body[^>]*data-stx=/)){G=G.replace(/<body([^>]*)>/,`<body$1 data-stx="${_[1]}">`);let j=new RegExp(`(<(?!body)[a-zA-Z][^>]*) data-stx="${_[1]}"`,"i");G=G.replace(j,"$1")}}if(X)try{let{getStoreScript:K}=await Promise.resolve().then(() => (u8(),m8)),q=Y.storesDir,z=await K(q);if(z){let W=`<script data-stx-stores>${z}</script>`,U=G.indexOf("<script data-stx-scoped>");if(U!==-1){let _=G.indexOf("</script>",U+24);if(_!==-1){let j=_+9;G=G.slice(0,j)+`
9396
9396
  `+W+G.slice(j)}}}}catch{}if(X&&Z.__stx_inject_css!==!1)G=await K5(G);return G=G.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),G})}catch(G){if(G instanceof Z9)throw G;let K=G instanceof Error?G.message:String(G),q=new H1(`Template processing failed: ${K}`,J,void 0,void 0,$.substring(0,200)+($.length>200?"...":""));if(x0.log(q,{filePath:J,context:Z}),x$.logDetailedError(q,{filePath:J,template:$.substring(0,500)}),Y.debug)throw q;return P$.createFallbackContent("Template Processing",q)}}async function qW($,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 z="\x00STX_ESCAPED_AT\x00";q=q.replace(/@@/g,z),q=q.replace(/@\{\{([\s\S]*?)\}\}/g,(O,F)=>{return`{{ ${F} }}`}),q=$8(q),q=await f8(q,J,Q);let W={};q=z4(q,W);let U={...Z.__sections||{}},_="",j=/@nolayout\b/.test(q);if(j)q=q.replace(/@nolayout\b\s*/g,"");let B=q.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(B)_=B[1],q=q.replace(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/g,"");if(!_&&!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 A=0;A<20;A++){let w=E0.join(H,"_layout.stx");if(await l(w)){L=w;break}let N=E0.dirname(H);if(N===H||N.length<V.length)break;H=N}if(L)_=L;else if(K.layoutsDir){let A=E0.isAbsolute(K.layoutsDir)?K.layoutsDir:E0.resolve(process.cwd(),K.layoutsDir),w=E0.join(A,`${K.defaultLayout}.stx`);if(await l(w))_=w}if(_&&!F)q=`@section('content')
9397
9397
  ${q.trim()}
9398
- @endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(O,F,L)=>{return U[F]=L,""}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(O,F,L)=>{if(L.includes("@parent"))U[F]=L.replace("@parent",R1);else U[F]=L.trim();return""}),Z.__sections=U,q=q.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(O,F,L)=>{return U[F]||L||""}),!("slot"in Z)||Z.slot===void 0)q=q.replace(/\{\{\s*slot\s*\}\}/g,()=>{return U.content||""});if(q=U4(q,W),_)try{let O=E0.isAbsolute(_)?_:await y1(()=>t9(_,J,G,Q),null,()=>{throw new H1(`Failed to resolve layout path: ${_}`,J,void 0,void 0,`Layout referenced from ${J}`)});if(!O){let w=`Layout not found: ${_} (referenced from ${J})`;if(x0.log(Error(w),{layoutPath:_,filePath:J},"warning"),G.debug)throw new H1(w,J);return q}let F=await y1(()=>Bun.file(O).text(),"",()=>{throw new H1(`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={},N=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(U[I]&&U[I].includes(R1)){let E=U[I].indexOf(R1);U[I]=U[I].slice(0,E)+M+U[I].slice(E+R1.length)}else if(!U[I])U[I]=M;let R={...Z,__sections:U},T=`@layout('${L[1]}')${N}`;return await $1(T,R,O,G,Q)}let H=F.replace(/\{\{--[\s\S]*?--\}\}/g,""),V=z4(H,W),A={};return V=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(w,N,R)=>{return A[N]=R.trim(),`@slot('${N}')`}),V=V.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(w,N,R)=>{if(U[N]){let T=U[N];if(T.includes(R1)){let I=A[N]||"",M=T.indexOf(R1);T=T.slice(0,M)+I+T.slice(M+R1.length)}return T}return R||""}),V=V.replace(/\{\{\s*slot\s*\}\}/g,()=>{return U.content||""}),V=U4(V,W),Z.__originalFilePath=J,q=await aZ(V,Z,O,G,Q),q=`<!-- stx-layout: ${_} -->
9399
- ${q}`,q}catch(O){return x0.log(O instanceof Error?O:Error(String(O)),{layoutPath:_,filePath:J},"error"),`[Error processing layout: ${O instanceof Error?O.message:String(O)}]`}return await aZ(q,Z,J,G,Q)}async function aZ($,Z,J,Y,Q){let X=$;Z.__stx_sfc_mode=!0;let G=Y;if(await y1(()=>o2(J,Z),void 0,(g)=>{x0.log(g,{filePath:J,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed 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,n]of Object.entries(process.env))if(g.startsWith(K)&&n!==void 0)q[g]=n;Z.$env=q,X=await y1(()=>p2(X,Z,J,G),X,(g)=>{x0.log(g,{filePath:J,phase:"pre-processing-middleware"},"warning"),console.warn(`[stx] pre-processing middleware failed for ${J}: ${g.message}`)});let z=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,W;while((W=z.exec(X))!==null){let g=W[1],n=W[2];if(/\bserver\b/.test(g)&&n.trim())try{let{extractVariables:Z0}=await Promise.resolve().then(() => ($5(),D5));await Z0(n,Z,J)}catch(Z0){let z0=Z0 instanceof Error?Z0:Error(String(Z0));x0.log(z0,{filePath:J,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${J}: ${z0.message}`)}}try{let{interpolateScriptsInTemplate:g}=await Promise.resolve().then(() => (n0(),v7));X=g(X,Z,{skipServer:!0})}catch(g){let n=g instanceof Error?g:Error(String(g));x0.log(n,{filePath:J,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${J}: ${n.message}`)}if(X=await f2(X,Z,J),X=await g2(X,Z,J),X=await j2(X,Z,J,G),R5(X))X=D4(X),X=E4(X,Z);X=G4(X,Z,J,G),X=await s4(X,Z,J,G,Q),X=await Y8(X,Z,J,G,Q),X=O7(X,Z,J,G);let{processDeferDirectives:U}=await Promise.resolve().then(() => l8);X=U(X,Z,J);let{processTeleportDirectives:_}=await Promise.resolve().then(() => i8);X=_(X,Z,J);let{processTransitionDirectives:j,processTransitionAttributes:B}=await Promise.resolve().then(() => r8);X=j(X,Z,J),X=B(X);let{processErrorBoundaryDirectives:O}=await Promise.resolve().then(() => t8);X=O(X,Z,J);let{processSuspenseDirectives:F}=await Promise.resolve().then(() => e8);X=F(X,Z,J);let{processAsyncDirectives:L}=await Promise.resolve().then(() => JZ);X=L(X,Z,J);let{processKeepAliveDirectives:H}=await Promise.resolve().then(() => QZ);X=H(X,Z,J);let{processVirtualListDirectives:V,processVirtualGridDirectives:A,processInfiniteListDirectives:w}=await Promise.resolve().then(() => (UZ(),zZ));X=V(X,Z,J),X=A(X,Z,J),X=w(X,Z,J);let{processPartialHydrationDirectives:N,processStaticDirectives:R}=await Promise.resolve().then(() => (IZ(),MZ));X=N(X,Z,J),X=R(X);let{processComputedDirectives:T,processWatchDirectives:I}=await Promise.resolve().then(() => (gZ(),fZ));X=T(X,Z,J),X=I(X,Z,J);let{processFormValidationDirectives:M}=await Promise.resolve().then(() => (pZ(),uZ));X=M(X,Z,J);let{processHeadDirective:E,processTitleDirective:k,processMetaDirective:y,resetHead:S}=await Promise.resolve().then(() => (e1(),n9));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=i2(X),X=a$(X,Z),X=_2(X),X=m2(X),X=await W4(X,Z,J,G,Q),X=await s4(X,Z,J,G,Q),X=t4(X),X=V1(X,Z,J),X=t$(X,Z),X=e$(X,Z),X=B9(X,Z),X=V2(X,Z),X=w2(X,Z),X=await t6(X,Z,J,G),X=await G3(X,Z,J),X=await D2(X,Z,J,G),X=q7(X,Z,J,G),X=j6(X,Z,J,G),X=O6(X,Z,J),X=H6(X,Z,J,G),X=W2(X,Z,J,G),X=r4(X,Z),X=a4(X),X=h8(X),!G.skipEventDirectives)X=c6(X,Z,J);if(X=r6(X,Z,J),G.debug){let g=/\bx-data\s*=/.test(X),n=M9($);if(g&&n)console.warn(`[stx] ${J}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
9398
+ @endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(O,F,L)=>{return U[F]=L,""}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(O,F,L)=>{if(L.includes("@parent"))U[F]=L.replace("@parent",R1);else U[F]=L.trim();return""}),Z.__sections=U,q=q.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(O,F,L)=>{return U[F]||L||""}),!("slot"in Z)||Z.slot===void 0)q=q.replace(/\{\{\s*slot\s*\}\}/g,()=>{return U.content||""});if(q=U4(q,W),_)try{let O=E0.isAbsolute(_)?_:await y1(()=>t9(_,J,G,Q),null,()=>{throw new H1(`Failed to resolve layout path: ${_}`,J,void 0,void 0,`Layout referenced from ${J}`)});if(!O){let w=`Layout not found: ${_} (referenced from ${J})`;if(x0.log(Error(w),{layoutPath:_,filePath:J},"warning"),G.debug)throw new H1(w,J);return q}let F=await y1(()=>Bun.file(O).text(),"",()=>{throw new H1(`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={},N=F.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(E,M,I)=>{return w[M]=I.trim(),""});for(let[E,M]of Object.entries(w))if(U[E]&&U[E].includes(R1)){let I=U[E].indexOf(R1);U[E]=U[E].slice(0,I)+M+U[E].slice(I+R1.length)}else if(!U[E])U[E]=M;let R={...Z,__sections:U},T=`@layout('${L[1]}')${N}`;return await $1(T,R,O,G,Q)}let H=F.replace(/\{\{--[\s\S]*?--\}\}/g,""),V=z4(H,W),A={};return V=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(w,N,R)=>{return A[N]=R.trim(),`@slot('${N}')`}),V=V.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(w,N,R)=>{if(U[N]){let T=U[N];if(T.includes(R1)){let E=A[N]||"",M=T.indexOf(R1);T=T.slice(0,M)+E+T.slice(M+R1.length)}return T}return R||""}),V=V.replace(/\{\{\s*slot\s*\}\}/g,()=>{return U.content||""}),V=U4(V,W),Z.__originalFilePath=J,q=await aZ(V,Z,O,G,Q),q=`<!-- stx-layout: ${_} -->
9399
+ ${q}`,q}catch(O){return x0.log(O instanceof Error?O:Error(String(O)),{layoutPath:_,filePath:J},"error"),`[Error processing layout: ${O instanceof Error?O.message:String(O)}]`}return await aZ(q,Z,J,G,Q)}async function aZ($,Z,J,Y,Q){let X=$;Z.__stx_sfc_mode=!0;let G=Y;if(await y1(()=>o2(J,Z),void 0,(g)=>{x0.log(g,{filePath:J,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed 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,n]of Object.entries(process.env))if(g.startsWith(K)&&n!==void 0)q[g]=n;Z.$env=q,X=await y1(()=>p2(X,Z,J,G),X,(g)=>{x0.log(g,{filePath:J,phase:"pre-processing-middleware"},"warning"),console.warn(`[stx] pre-processing middleware failed for ${J}: ${g.message}`)});let z=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,W;while((W=z.exec(X))!==null){let g=W[1],n=W[2];if(/\bserver\b/.test(g)&&n.trim())try{let{extractVariables:Z0}=await Promise.resolve().then(() => ($5(),D5));await Z0(n,Z,J)}catch(Z0){let U0=Z0 instanceof Error?Z0:Error(String(Z0));x0.log(U0,{filePath:J,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${J}: ${U0.message}`)}}try{let{interpolateScriptsInTemplate:g}=await Promise.resolve().then(() => (n0(),v7));X=g(X,Z,{skipServer:!0})}catch(g){let n=g instanceof Error?g:Error(String(g));x0.log(n,{filePath:J,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${J}: ${n.message}`)}if(X=await f2(X,Z,J),X=await g2(X,Z,J),X=await j2(X,Z,J,G),R5(X))X=D4(X),X=E4(X,Z);X=G4(X,Z,J,G),X=await s4(X,Z,J,G,Q),X=await Y8(X,Z,J,G,Q),X=O7(X,Z,J,G);let{processDeferDirectives:U}=await Promise.resolve().then(() => l8);X=U(X,Z,J);let{processTeleportDirectives:_}=await Promise.resolve().then(() => i8);X=_(X,Z,J);let{processTransitionDirectives:j,processTransitionAttributes:B}=await Promise.resolve().then(() => r8);X=j(X,Z,J),X=B(X);let{processErrorBoundaryDirectives:O}=await Promise.resolve().then(() => t8);X=O(X,Z,J);let{processSuspenseDirectives:F}=await Promise.resolve().then(() => e8);X=F(X,Z,J);let{processAsyncDirectives:L}=await Promise.resolve().then(() => JZ);X=L(X,Z,J);let{processKeepAliveDirectives:H}=await Promise.resolve().then(() => QZ);X=H(X,Z,J);let{processVirtualListDirectives:V,processVirtualGridDirectives:A,processInfiniteListDirectives:w}=await Promise.resolve().then(() => (UZ(),zZ));X=V(X,Z,J),X=A(X,Z,J),X=w(X,Z,J);let{processPartialHydrationDirectives:N,processStaticDirectives:R}=await Promise.resolve().then(() => (IZ(),MZ));X=N(X,Z,J),X=R(X);let{processComputedDirectives:T,processWatchDirectives:E}=await Promise.resolve().then(() => (gZ(),fZ));X=T(X,Z,J),X=E(X,Z,J);let{processFormValidationDirectives:M}=await Promise.resolve().then(() => (pZ(),uZ));X=M(X,Z,J);let{processHeadDirective:I,processTitleDirective:D,processMetaDirective:P,resetHead:C}=await Promise.resolve().then(() => (e1(),n9));if(!Z.__stx_head_preset&&!Z.__stx_runtime_head)C();let k=I(X);if(X=k.content,X=D(X,Z),X=P(X,Z),X=i2(X),X=a$(X,Z),X=_2(X),X=m2(X),X=await W4(X,Z,J,G,Q),X=await s4(X,Z,J,G,Q),X=t4(X),X=V1(X,Z,J),X=t$(X,Z),X=e$(X,Z),X=B9(X,Z),X=V2(X,Z),X=w2(X,Z),X=await t6(X,Z,J,G),X=await G3(X,Z,J),X=await D2(X,Z,J,G),X=q7(X,Z,J,G),X=j6(X,Z,J,G),X=O6(X,Z,J),X=H6(X,Z,J,G),X=W2(X,Z,J,G),X=r4(X,Z),X=a4(X),X=h8(X),!G.skipEventDirectives)X=c6(X,Z,J);if(X=r6(X,Z,J),G.debug){let g=/\bx-data\s*=/.test(X),n=M9($);if(g&&n)console.warn(`[stx] ${J}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
9400
9400
  Both work on the same page, but they manage separate scopes.
9401
- Prefer signals (state/derived/effect) for new components.`)}X=a2(X,Z),X=await t0(X,Z,J),X=d8(X),X=x6(X);let{processXElementDirectives:D}=await Promise.resolve().then(() => iZ);X=D(X);let x=Z.__originalFilePath||J;if(X=await k4(X,G,x),X=await l2(X,Z,J,G),G.seo?.enabled)X=L6(X,Z,G);let{renderHead:h,getHead:i}=await Promise.resolve().then(() => (e1(),n9)),U0=Z.__stx_runtime_head,H0=U0&&(U0.title||U0.meta?.length||U0.link?.length)?U0:i();if(H0.title||H0.meta?.length||H0.link?.length){let g=h(H0);if(g){if(X.includes("</head>"))X=X.replace("</head>",`${g}
9401
+ Prefer signals (state/derived/effect) for new components.`)}X=a2(X,Z),X=await t0(X,Z,J),X=d8(X),X=x6(X);let{processXElementDirectives:b}=await Promise.resolve().then(() => iZ);X=b(X);let x=Z.__originalFilePath||J;if(X=await k4(X,G,x),X=await l2(X,Z,J,G),G.seo?.enabled)X=L6(X,Z,G);let{renderHead:h,getHead:c}=await Promise.resolve().then(() => (e1(),n9)),W0=Z.__stx_runtime_head,H0=W0&&(W0.title||W0.meta?.length||W0.link?.length)?W0:c();if(H0.title||H0.meta?.length||H0.link?.length){let g=h(H0);if(g){if(X.includes("</head>"))X=X.replace("</head>",`${g}
9402
9402
  </head>`);else if(X.includes("<head>"))X=X.replace("<head>",`<head>
9403
- ${g}`)}}if(b.headContent){if(X.includes("</head>"))X=X.replace("</head>",`${b.headContent}
9403
+ ${g}`)}}if(k.headContent){if(X.includes("</head>"))X=X.replace("</head>",`${k.headContent}
9404
9404
  </head>`);else if(X.includes("<head>"))X=X.replace("<head>",`<head>
9405
- ${b.headContent}`)}if(G.csp?.enabled&&G.csp.addMetaTag)X=q2(X,G.csp,Z);if(G.analytics?.enabled)X=g6(X,G);if(G.heatmap?.enabled)X=w7(X,G);if(G.pwa?.enabled&&G.pwa.autoInject!==!1){let{injectPwaTags:g}=await Promise.resolve().then(() => (rZ(),sZ));X=g(X,G)}let _0=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(X),P0=/\bSTX\.\w+/.test(X),l0=/window\.STX\s*=/.test(X);if(_0&&P0&&!l0){let n=`<script data-stx-scoped>
9405
+ ${k.headContent}`)}if(G.csp?.enabled&&G.csp.addMetaTag)X=q2(X,G.csp,Z);if(G.analytics?.enabled)X=g6(X,G);if(G.heatmap?.enabled)X=w7(X,G);if(G.pwa?.enabled&&G.pwa.autoInject!==!1){let{injectPwaTags:g}=await Promise.resolve().then(() => (rZ(),sZ));X=g(X,G)}let _0=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(X),P0=/\bSTX\.\w+/.test(X),l0=/window\.STX\s*=/.test(X);if(_0&&P0&&!l0){let n=`<script data-stx-scoped>
9406
9406
  ${y6()}
9407
- </script>`;if(X.includes("</head>")){let G0=X.indexOf("</head>"),z0=X.slice(0,G0).indexOf("<script");if(z0!==-1){let k0=X.slice(0,z0),s0=X.slice(z0);X=k0+n+`
9407
+ </script>`;if(X.includes("</head>")){let G0=X.indexOf("</head>"),U0=X.slice(0,G0).indexOf("<script");if(U0!==-1){let k0=X.slice(0,U0),s0=X.slice(U0);X=k0+n+`
9408
9408
  `+s0}else X=X.replace("</head>",`${n}
9409
9409
  </head>`)}else if(X.includes("<body"))X=X.replace(/<body([^>]*)>/,`<body$1>
9410
9410
  ${n}`);else X=n+`
9411
- `+X}{let g=/<script\s+server\b[^>]*>/gi,n,G0=[];while((n=g.exec(X))!==null){let Z0=n.index+n[0].length,z0=KW(X,Z0);if(z0===-1)continue;let k0=z0+9;while(k0<X.length&&/\s/.test(X[k0]))k0++;G0.push({start:n.index,end:k0})}for(let Z0=G0.length-1;Z0>=0;Z0--){let{start:z0,end:k0}=G0[Z0];X=X.substring(0,z0)+X.substring(k0)}}let L0=T5(X,J);if(L0.hasScoped)X=L0.html;let P=Z.__stx_event_bindings||[],v=!1,f=[],p=/\s:[a-z][\w.-]*\s*=/.test(X),{scanScriptTags:q0}=await Promise.resolve().then(() => (b4(),O8));for(let g of q0(X,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b/}))f.push({match:g.fullMatch,attrs:g.attrs,content:g.body});for(let{match:g,attrs:n,content:G0}of f){v=!0;let Z0=G0;$7(G0,J,Y.strict);let z0=await w5(G0,{eventBindings:P,attrs:n,hasColonDirectives:p,templateContent:$,filePath:J,projectRoot:process.cwd(),production:Y.buildMode==="compile"});X=X.replace(g,()=>z0)}if(v)Z.__stx_event_bindings=[];return X}var R1="<!--PARENT_CONTENT_PLACEHOLDER-->";var e9=C(()=>{G9();v9();C6();f6();h6();g9();x9();i6();m9();a6();e6();z9();z2();B2();H2();o0();e1();n0();A2();E2();x2();d2();K4();$$();c2();E1();n2();f$();A0();s2();t2();Z8();J8();i9();b4();P8();g8();e4();Z7();e4();Z7()});import O0 from"fs";import $0 from"path";import{matchRoute as IW,Router as UY}from"stx-router";import{findErrorPage as kW,formatRoutes as bW,generateRouteManifest as SW,generateRouteTypes as yW,matchRoute as CW}from"stx-router";function P9($,Z={}){return new UY($,Z).routes}e9();Q5();G9();import{abortNavigation as nH,clearMiddleware as tZ,createClientCookieManager as oH,createMiddlewareContext as eZ,createRouteLocation as $Y,createServerCookieManager as sH,createStorageManager as rH,defineMiddleware as aH,getMiddleware as tH,getMiddlewareNames as ZY,hasMiddleware as eH,loadMiddlewareFromDirectory as YY,navigateTo as $L,registerMiddleware as ZL,runMiddleware as JY}from"stx-router";class XY{cacheDir;cache=new Map;loaded=!1;constructor($){this.cacheDir=$}async load(){if(this.loaded)return;let $=$0.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 O0.promises.mkdir(this.cacheDir,{recursive:!0});let $=$0.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=O0.statSync($),Y=`${$}:${J.mtimeMs}`;for(let X of Z)if(O0.existsSync(X)){let G=O0.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 QY{cacheDir;constructor($){this.cacheDir=$}getFilePath($){let Z=$.replace(/[^a-zA-Z0-9]/g,"_")+".json";return $0.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 O0.promises.mkdir($0.dirname(J),{recursive:!0}),await Bun.write(J,JSON.stringify(Z))}async invalidate($){let Z=this.getFilePath($);if(await Bun.file(Z).exists())await O0.promises.unlink(Z)}async invalidatePattern($){let Z=$0.join(this.cacheDir,"isr");if(!O0.existsSync(Z))return;let J=await O0.promises.readdir(Z);for(let Y of J){let Q=Y.replace(/_/g,"/").replace(".json","");if($.test(Q))await O0.promises.unlink($0.join(Z,Y))}}async needsRevalidation($){let Z=await this.get($);if(!Z)return!0;return Date.now()>Z.revalidateAfter}}async function WW($){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(`
9411
+ `+X}{let g=/<script\s+server\b[^>]*>/gi,n,G0=[];while((n=g.exec(X))!==null){let Z0=n.index+n[0].length,U0=KW(X,Z0);if(U0===-1)continue;let k0=U0+9;while(k0<X.length&&/\s/.test(X[k0]))k0++;G0.push({start:n.index,end:k0})}for(let Z0=G0.length-1;Z0>=0;Z0--){let{start:U0,end:k0}=G0[Z0];X=X.substring(0,U0)+X.substring(k0)}}let L0=T5(X,J);if(L0.hasScoped)X=L0.html;let y=Z.__stx_event_bindings||[],v=!1,f=[],p=/\s:[a-z][\w.-]*\s*=/.test(X),{scanScriptTags:q0}=await Promise.resolve().then(() => (b4(),O8));for(let g of q0(X,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b/}))f.push({match:g.fullMatch,attrs:g.attrs,content:g.body});for(let{match:g,attrs:n,content:G0}of f){v=!0;let Z0=G0;$7(G0,J,Y.strict);let U0=await w5(G0,{eventBindings:y,attrs:n,hasColonDirectives:p,templateContent:$,filePath:J,projectRoot:process.cwd(),production:Y.buildMode==="compile"});X=X.replace(g,()=>U0)}if(v)Z.__stx_event_bindings=[];return X}var R1="<!--PARENT_CONTENT_PLACEHOLDER-->";var e9=S(()=>{G9();v9();C6();f6();h6();g9();x9();i6();m9();a6();e6();z9();z2();B2();H2();o0();e1();n0();A2();E2();x2();d2();K4();$$();c2();E1();n2();f$();A0();s2();t2();Z8();J8();i9();b4();P8();g8();e4();Z7();e4();Z7()});import O0 from"fs";import $0 from"path";import{matchRoute as IW,Router as UY}from"stx-router";import{findErrorPage as kW,formatRoutes as bW,generateRouteManifest as SW,generateRouteTypes as yW,matchRoute as CW}from"stx-router";function P9($,Z={}){return new UY($,Z).routes}e9();Q5();G9();import{abortNavigation as nH,clearMiddleware as tZ,createClientCookieManager as oH,createMiddlewareContext as eZ,createRouteLocation as $Y,createServerCookieManager as sH,createStorageManager as rH,defineMiddleware as aH,getMiddleware as tH,getMiddlewareNames as ZY,hasMiddleware as eH,loadMiddlewareFromDirectory as YY,navigateTo as $L,registerMiddleware as ZL,runMiddleware as JY}from"stx-router";class XY{cacheDir;cache=new Map;loaded=!1;constructor($){this.cacheDir=$}async load(){if(this.loaded)return;let $=$0.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 O0.promises.mkdir(this.cacheDir,{recursive:!0});let $=$0.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=O0.statSync($),Y=`${$}:${J.mtimeMs}`;for(let X of Z)if(O0.existsSync(X)){let G=O0.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 QY{cacheDir;constructor($){this.cacheDir=$}getFilePath($){let Z=$.replace(/[^a-zA-Z0-9]/g,"_")+".json";return $0.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 O0.promises.mkdir($0.dirname(J),{recursive:!0}),await Bun.write(J,JSON.stringify(Z))}async invalidate($){let Z=this.getFilePath($);if(await Bun.file(Z).exists())await O0.promises.unlink(Z)}async invalidatePattern($){let Z=$0.join(this.cacheDir,"isr");if(!O0.existsSync(Z))return;let J=await O0.promises.readdir(Z);for(let Y of J){let Q=Y.replace(/_/g,"/").replace(".json","");if($.test(Q))await O0.promises.unlink($0.join(Z,Y))}}async needsRevalidation($){let Z=await this.get($);if(!Z)return!0;return Date.now()>Z.revalidateAfter}}async function WW($){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(`
9412
9412
  return (async function getStaticPaths() {
9413
9413
  ${Q[1]}
9414
9414
  })()
@@ -9448,10 +9448,10 @@ ${$.map((Y)=>{let Q=new URL(Y.loc,Z).href,X=` <url>
9448
9448
  ${J.join(`
9449
9449
  `)}
9450
9450
  </channel>
9451
- </rss>`}async function LW($={}){let Z=Date.now(),J=await L1(),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&&O0.existsSync(Y.outputDir))await O0.promises.rm(Y.outputDir,{recursive:!0});await O0.promises.mkdir(Y.outputDir,{recursive:!0});let X=new XY(Y.cacheDir);if(Y.cache)await X.load();try{let{preloadIconCollection:B}=await Promise.resolve().then(() => (k9(),I8));await B("lucide")}catch{}try{let{generateCrosswindCSS:B}=await Promise.resolve().then(() => (G9(),S6));await B('<div class="bg-black"></div>')}catch{}tZ();let G=J?.routeMiddleware?.dir||"middleware";await YY(process.cwd(),G);let K=ZY();if(K.length>0)console.log(`Loaded ${K.length} middleware: ${K.join(", ")}`);let q=J?.routeMiddleware?.global||[],z=P9(".",{pagesDir:Y.pagesDir});console.log(`Found ${z.length} routes`);let W=[];for(let B of z){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 U=[],_=[];for(let B=0;B<W.length;B+=Y.concurrency)_.push(W.slice(B,B+Y.concurrency));for(let B of _)await Promise.all(B.map(async(O)=>{let{route:F,url:L,params:H,props:V,revalidate:A}=O;try{await Y.hooks.onPageStart?.(L);let w=await Bun.file(F.filePath).text(),N=AW(w),R=N?.middleware?Array.isArray(N.middleware)?N.middleware:[N.middleware]:[],T=[...q,...R];if(T.length>0){let S=$Y(L,H,N||{}),b=eZ(S,null),D=await JY(T,b);if(D.redirect){let x=typeof D.redirect==="string"?D.redirect:D.redirect.path||D.redirect,h=NW(String(x),L),i=RW(L,Y);await O0.promises.mkdir($0.dirname(i),{recursive:!0}),await Bun.write(i,h),Q.successCount++,Q.pages.push({route:L,outputPath:i,size:Buffer.byteLength(h),cached:!1}),U.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",`
9452
- const validate = ${I[1]};
9451
+ </rss>`}async function LW($={}){let Z=Date.now(),J=await L1(),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&&O0.existsSync(Y.outputDir))await O0.promises.rm(Y.outputDir,{recursive:!0});await O0.promises.mkdir(Y.outputDir,{recursive:!0});let X=new XY(Y.cacheDir);if(Y.cache)await X.load();try{let{preloadIconCollection:B}=await Promise.resolve().then(() => (k9(),I8));await B("lucide")}catch{}try{let{generateCrosswindCSS:B}=await Promise.resolve().then(() => (G9(),S6));await B('<div class="bg-black"></div>')}catch{}tZ();let G=J?.routeMiddleware?.dir||"middleware";await YY(process.cwd(),G);let K=ZY();if(K.length>0)console.log(`Loaded ${K.length} middleware: ${K.join(", ")}`);let q=J?.routeMiddleware?.global||[],z=P9(".",{pagesDir:Y.pagesDir});console.log(`Found ${z.length} routes`);let W=[];for(let B of z){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 U=[],_=[];for(let B=0;B<W.length;B+=Y.concurrency)_.push(W.slice(B,B+Y.concurrency));for(let B of _)await Promise.all(B.map(async(O)=>{let{route:F,url:L,params:H,props:V,revalidate:A}=O;try{await Y.hooks.onPageStart?.(L);let w=await Bun.file(F.filePath).text(),N=AW(w),R=N?.middleware?Array.isArray(N.middleware)?N.middleware:[N.middleware]:[],T=[...q,...R];if(T.length>0){let C=$Y(L,H,N||{}),k=eZ(C,null),b=await JY(T,k);if(b.redirect){let x=typeof b.redirect==="string"?b.redirect:b.redirect.path||b.redirect,h=NW(String(x),L),c=RW(L,Y);await O0.promises.mkdir($0.dirname(c),{recursive:!0}),await Bun.write(c,h),Q.successCount++,Q.pages.push({route:L,outputPath:c,size:Buffer.byteLength(h),cached:!1}),U.push({loc:L,lastmod:new Date().toISOString()}),console.log(` \u21B3 ${L} \u2192 redirect to ${x}`);return}if(b.abort){let x=typeof b.abort==="string"?b.abort:b.abort?.error?.message||"aborted";console.warn(` \u21B3 ${L} \u2014 middleware aborted: ${x}`);return}}let E=w.match(/definePageMeta\s*\(\s*\{[\s\S]*?validate\s*:\s*((?:\([^)]*\)|[^,}])*(?:\{[\s\S]*?\})?)/m);if(E)try{if(!await Function("route",`
9452
+ const validate = ${E[1]};
9453
9453
  return validate(route);
9454
- `)({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 GY(F,H,V,Y,J),Y.cache)X.set(L,F.filePath,[],M)}let k;if(Y.trailingSlash)k=$0.join(Y.outputDir,L,"index.html");else k=L==="/"?$0.join(Y.outputDir,"index.html"):$0.join(Y.outputDir,`${L}.html`);await O0.promises.mkdir($0.dirname(k),{recursive:!0}),await Bun.write(k,M),U.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(A!==!1)y.revalidateAt=Date.now()+A*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=$0.join(Y.pagesDir,"404.stx");if(await Bun.file(B).exists()){let O=new Set,F={...J,debug:!1,cache:!1},L=await $1(await Bun.file(B).text(),{},B,F,O);await Bun.write($0.join(Y.outputDir,"404.html"),L)}else await Bun.write($0.join(Y.outputDir,"404.html"),`<!DOCTYPE html>
9454
+ `)({params:H})){console.warn(`Validation failed for ${L}, skipping...`);return}}catch{}let M=null,I=!1;if(Y.cache){if(M=X.get(L,F.filePath,[]),M)I=!0,Q.cachedCount++}if(!M){if(M=await GY(F,H,V,Y,J),Y.cache)X.set(L,F.filePath,[],M)}let D;if(Y.trailingSlash)D=$0.join(Y.outputDir,L,"index.html");else D=L==="/"?$0.join(Y.outputDir,"index.html"):$0.join(Y.outputDir,`${L}.html`);await O0.promises.mkdir($0.dirname(D),{recursive:!0}),await Bun.write(D,M),U.push({loc:L,lastmod:new Date().toISOString().split("T")[0],priority:L==="/"?1:0.8});let P={route:L,outputPath:D,size:Buffer.byteLength(M,"utf8"),cached:I};if(A!==!1)P.revalidateAt=Date.now()+A*1000;Q.pages.push(P),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=$0.join(Y.pagesDir,"404.stx");if(await Bun.file(B).exists()){let O=new Set,F={...J,debug:!1,cache:!1},L=await $1(await Bun.file(B).text(),{},B,F,O);await Bun.write($0.join(Y.outputDir,"404.html"),L)}else await Bun.write($0.join(Y.outputDir,"404.html"),`<!DOCTYPE html>
9455
9455
  <html lang="en">
9456
9456
  <head>
9457
9457
  <meta charset="UTF-8">