@stacksjs/stx 0.2.140 → 0.2.141
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +685 -685
- package/dist/client-script-bundler.d.ts +1 -0
- package/dist/client-script-bundler.js +16 -8
- package/dist/client-script.js +2 -2
- package/dist/craft.js +313 -313
- package/dist/lazy-module.d.ts +1 -0
- package/dist/lazy-module.js +18 -0
- package/dist/process.js +24 -23
- package/dist/pwa.js +289 -289
- package/dist/signal-processing.js +3 -4
- package/dist/ssg.js +366 -366
- package/dist/utils.js +6 -5
- package/package.json +5 -5
package/dist/ssg.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var
|
|
2
|
+
var LQ=Object.defineProperty;var FQ=($)=>$;function VQ($,Z){this[$]=FQ.bind(null,Z)}var a=($,Z)=>{for(var Y in Z)LQ($,Y,{get:Z[Y],enumerable:!0,configurable:!0,set:VQ.bind(Z,Y)})};var b=($,Z)=>()=>($&&(Z=$($=0)),Z);var _0=import.meta.require;import P5 from"path";function J9($){Y9=$?.trim()||null}function C5(){return process.env[AQ]?.trim()||Y9||X5}function L1($=process.cwd(),...Z){let Y=C5();return P5.isAbsolute(Y)?P5.join(Y,...Z):P5.join($,Y,...Z)}function v5($){if(!$||P5.isAbsolute($))return $;let Z=$.replace(/\\/g,"/");if(Z!==X5&&!Z.startsWith(`${X5}/`))return $;let Y=Z.slice(X5.length+1);return Y?P5.join(C5(),Y):C5()}var X5=".stx",AQ="STX_DIR",Y9=null;var x5=()=>{};var O0;var X9=b(()=>{O0={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 Q9($,Z,Y,J){let X=$;X=X.replace(/@a11y\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(G,K,W)=>{let z={"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: ${W||z} -->`});let Q=/@screenReader\(([^@]*)\)@endScreenReader/g;return X=X.replace(Q,(G,K)=>{return`<span class="sr-only">${K.trim()}</span>`}),X=X.replace(/@ariaDescribe\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(G,K,W)=>{return`<span id="${`desc-${K}`}" class="sr-only">${W}</span>`}),X}var G9,K9;var j7=b(()=>{G9={name:"a11y",handler:($,Z,Y,J)=>{if(!Z.length)return $;let X=Z[0].replace(/['"]/g,""),Q=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"}[X]||"Make this element accessible";return`<!-- a11y-hint: ${Q||K} -->${$}`},hasEndTag:!1},K9={name:"screenReader",handler:($)=>{return`<span class="sr-only">${$}</span>`},hasEndTag:!0}});function RQ($,Z={}){let{duration:Y,delay:J,ease:X,direction:Q,custom:G}={...z1,...Z};if($==="custom"&&G)return G;switch($){case"fade":return`${Q==="in"?"opacity: 0; animation: fadeIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":Q==="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`${Q==="in"?"transform: translateY(20px); opacity: 0; animation: slideIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":Q==="out"?"transform: translateY(0); opacity: 1; animation: slideOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"transform: translateY(0); opacity: 1; transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms), opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
|
|
5
5
|
@keyframes slideIn { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
|
|
@@ -9,7 +9,7 @@ var jQ=Object.defineProperty;var _Q=($)=>$;function BQ($,Z){this[$]=_Q.bind(null
|
|
|
9
9
|
@keyframes flipIn { from { transform: perspective(400px) rotateX(-90deg); opacity: 0; } to { transform: perspective(400px) rotateX(0); opacity: 1; } }
|
|
10
10
|
@keyframes flipOut { from { transform: perspective(400px) rotateX(0); opacity: 1; } to { transform: perspective(400px) rotateX(90deg); opacity: 0; } }`;case"rotate":return`${Q==="in"?"transform: rotate(-90deg); opacity: 0; animation: rotateIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":Q==="out"?"transform: rotate(0); opacity: 1; animation: rotateOut var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":"transform: rotate(0); opacity: 1; transition: transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms), opacity var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);"}
|
|
11
11
|
@keyframes rotateIn { from { transform: rotate(-90deg); opacity: 0; } to { transform: rotate(0); opacity: 1; } }
|
|
12
|
-
@keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function
|
|
12
|
+
@keyframes rotateOut { from { transform: rotate(0); opacity: 1; } to { transform: rotate(90deg); opacity: 0; } }`;default:return""}}function NQ(){return`
|
|
13
13
|
<script data-stx-scoped>
|
|
14
14
|
// Motion preferences handling
|
|
15
15
|
(function() {
|
|
@@ -37,7 +37,7 @@ else {
|
|
|
37
37
|
});
|
|
38
38
|
})();
|
|
39
39
|
</script>
|
|
40
|
-
`}function
|
|
40
|
+
`}function MQ($){return[/@animate\b/,/@transition\b/,/@scroll(?:Animate)?\b/,/@staggered\b/,/@sequence\b/,/@motion\b/,/@animationGroup\b/,/\bstx-transition\b/,/\bstx-(?:fade|scale|flip|rotate|slide|from-|observe)\b/,/data-animate=['"](?:auto|true|false)['"]/].some((Y)=>Y.test($))}function TQ($=0.1,Z="0px"){return`
|
|
41
41
|
<script data-stx-scoped>
|
|
42
42
|
// Intersection Observer for scroll animations
|
|
43
43
|
(function() {
|
|
@@ -80,7 +80,7 @@ else {
|
|
|
80
80
|
}
|
|
81
81
|
})();
|
|
82
82
|
</script>
|
|
83
|
-
`}function
|
|
83
|
+
`}function IQ(){return`
|
|
84
84
|
<style id="stx-animation-base">
|
|
85
85
|
:root {
|
|
86
86
|
--stx-transition-duration: 300ms;
|
|
@@ -195,7 +195,7 @@ else {
|
|
|
195
195
|
transform var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms);
|
|
196
196
|
}
|
|
197
197
|
</style>
|
|
198
|
-
`}function
|
|
198
|
+
`}function DQ($,Z,Y={}){let{staggerDelay:J=50,sequence:X=!1}=Y;return`
|
|
199
199
|
<script data-stx-scoped>
|
|
200
200
|
// Animation Group: ${$}
|
|
201
201
|
(function() {
|
|
@@ -232,11 +232,11 @@ else {
|
|
|
232
232
|
}
|
|
233
233
|
})();
|
|
234
234
|
</script>
|
|
235
|
-
`}function
|
|
236
|
-
</head>`)}if(X.includes("stx-observe")){if(!X.includes("Intersection Observer for scroll animations")){let W=
|
|
237
|
-
`+X.slice(
|
|
238
|
-
style="--stx-transition-duration: ${Q}ms; --stx-transition-ease: ${G}; --stx-transition-delay: ${K}ms;">${$}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},
|
|
239
|
-
${W}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},
|
|
235
|
+
`}function j9($,Z,Y,J){let X=$;if(J.animation?.enabled===!1)return X;let Q=Y.includes("test")&&Y.includes("animation");if(!MQ(X)&&!Q)return X;if(!X.includes('<style id="stx-animation-base">')){let K=IQ();X=X.replace("</head>",`${K}
|
|
236
|
+
</head>`)}if(X.includes("stx-observe")){if(!X.includes("Intersection Observer for scroll animations")){let W=TQ(),q=X.lastIndexOf("</body>");if(q!==-1)X=X.slice(0,q)+W+`
|
|
237
|
+
`+X.slice(q)}}return X}var z1,W9,q9,z9,U9;var _7=b(()=>{z1={duration:300,delay:0,ease:"ease",direction:"both"};W9={name:"transition",handler:($,Z,Y,J)=>{if(Z.length<1)return`<div class="stx-error">@transition directive requires at least a transition type</div>${$}`;let X=Z[0],Q=Z.length>1?Number.parseInt(Z[1],10)||z1.duration:z1.duration,G=Z.length>2?Z[2]||z1.ease:z1.ease,K=Z.length>3?Number.parseInt(Z[3],10)||z1.delay:z1.delay,W=Z.length>4?Z[4]||z1.direction:z1.direction,q=`stx-transition-${Math.random().toString(36).substr(2,9)}`,z=RQ(X,{duration:Q,delay:K,ease:G,direction:W}),U="stx-transition",j="";if(X==="fade")j="stx-fade";else if(X==="slide")j="stx-slide";else if(X==="scale")j="stx-scale";else if(X==="flip")j="stx-flip";else if(X==="rotate")j="stx-rotate";return`<div id="${q}" class="${U} ${j} ${W==="out"?"stx-out":""}"
|
|
238
|
+
style="--stx-transition-duration: ${Q}ms; --stx-transition-ease: ${G}; --stx-transition-delay: ${K}ms;">${$}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},q9={name:"scrollAnimate",handler:($,Z,Y,J)=>{if(Z.length<1)return`<div class="stx-error">@scrollAnimate directive requires at least an animation type</div>${$}`;let X=Z[0],Q=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,W=Z.length>4?Number.parseInt(Z[4],10)||0:0,q=`stx-scroll-${Math.random().toString(36).substr(2,9)}`,z=`--stx-transition-duration: ${Q}ms; --stx-transition-ease: ${G}; --stx-transition-delay: ${W}ms; will-change: opacity, transform;`,U="stx-transition stx-observe stx-out";if(X==="fade")U+=" stx-fade";else if(X==="slide-up"||X==="slide")U+=" stx-from-bottom";else if(X==="slide-down")U+=" stx-from-top";else if(X==="slide-left")U+=" stx-from-right";else if(X==="slide-right")U+=" stx-from-left";else if(X==="scale")U+=" stx-scale";else if(X.includes("-"))U+=` stx-${X}`;else U+=` stx-${X}`;return`<div id="${q}" class="${U}" style="${z}" data-threshold="${K}">${$}</div>`},hasEndTag:!0,description:"Applies animations that trigger when scrolled into view"},z9={name:"animationGroup",handler:($,Z,Y,J)=>{if(Z.length<2)return`<div class="stx-error">@animationGroup directive requires a group name and at least one element selector</div>${$}`;let X=Z[0],Q=Z.slice(1).map((q)=>q.startsWith("#")||q.startsWith(".")?q:`#${q}`),G=Y.staggerDelay||50,K=Y.sequence||!0,W=DQ(X,Q,{staggerDelay:G,sequence:K});return`${$}
|
|
239
|
+
${W}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},U9={name:"motion",handler:($,Z,Y,J)=>{let X=Z.length>0?Z[0].toLowerCase()==="true":!0,Q=NQ();return`<div data-animate="${X?"auto":"true"}">${$}</div>${Q}`},hasEndTag:!0,description:"Controls motion and animation preferences"}});import{getRouterScript as _9}from"stx-router";var B9=b(()=>{B7()});async function EQ($,Z,Y,J){let X=Z[0]?.replace(/['"]/g,"")||"main",Q=_9();if(X!=="main")Q=Q.replace("container:'main'",`container:'${X}'`);return`<script data-stx-router>${Q}</script>`}var H9;var B7=b(()=>{B9();H9={name:"stxRouter",handler:EQ,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"}});function O9($){let Z=$.heatmap;if(!Z?.enabled)return"";let Y={...kQ,...Z};return`
|
|
240
240
|
<!-- stx Heatmap - Privacy-Compliant Tracking -->
|
|
241
241
|
<script>
|
|
242
242
|
(function() {
|
|
@@ -619,10 +619,10 @@ else {
|
|
|
619
619
|
};
|
|
620
620
|
})();
|
|
621
621
|
</script>
|
|
622
|
-
`}function
|
|
623
|
-
`)){let K=G.trim();if(!K||K.startsWith("#"))continue;let W=K.indexOf(":");if(W===-1)continue;let
|
|
624
|
-
`),X=X.replace(/^[*\-+]\s+(.*)$/gm,"<li data-ul>$1</li>"),X=X.replace(/(<li data-ul>.*<\/li>\n?)+/g,"<ul>$&</ul>"),X=X.replace(/<\/ul>\n<ul>/g,""),X=X.replace(/^\d+\.\s+(.*)$/gm,"<li data-ol>$1</li>"),X=X.replace(/(<li data-ol>.*<\/li>\n?)+/g,"<ol>$&</ol>"),X=X.replace(/<\/ol>\n<ol>/g,""),X=X.replace(/<li data-ul>/g,"<li>"),X=X.replace(/<li data-ol>/g,"<li>"),Y)X=X.replace(/^\|(.+)\|\s*\n\|[-:\s|]+\|\s*\n((?:\|.+\|\s*\n)*)/gm,(
|
|
625
|
-
`).map((L)=>{return`<tr>${L.split("|").map((O)=>O.trim()).filter(Boolean).map((O)=>`<td>${
|
|
622
|
+
`}function L9($,Z){let Y=O9(Z);if(!Y)return $;let J=$.lastIndexOf("</body>");if(J!==-1)return $.slice(0,J)+Y+$.slice(J);return $+Y}function bQ($){let Z={},Y=$.match(/(\w+)=["']?([^"'\s]+)["']?/g)||[];for(let J of Y){let[X,Q]=J.split("="),G=Q?.replace(/["']/g,"");switch(X){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 kQ,F9;var H7=b(()=>{kQ={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};F9={name:"heatmap",hasEndTag:!1,description:"Inject privacy-compliant heatmap tracking script",handler:async($,Z,Y,J)=>{let X=Y.__stx_config||{};if(Z.length>0){let Q=bQ(Z.join(" "));X.heatmap={...X.heatmap,...Q,enabled:!0}}return O9(X)}}});function F1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function V9($){let Z=$.trim().toLowerCase();return!Z.startsWith("javascript:")&&!Z.startsWith("vbscript:")&&!Z.startsWith("data:text/html")}function w9($){let Z=/^---\r?\n([\s\S]*?)\r?\n---\r?\n/,Y=$.match(Z);if(!Y)return{data:{},content:$.trim()};let J=Y[1],X=$.slice(Y[0].length),Q={};for(let G of J.split(`
|
|
623
|
+
`)){let K=G.trim();if(!K||K.startsWith("#"))continue;let W=K.indexOf(":");if(W===-1)continue;let q=K.slice(0,W).trim(),z=K.slice(W+1).trim();if(typeof z==="string"){if(z.startsWith('"')&&z.endsWith('"')||z.startsWith("'")&&z.endsWith("'"))z=z.slice(1,-1);else if(z.startsWith("[")&&z.endsWith("]"))try{z=JSON.parse(z)}catch{}else if(z==="true")z=!0;else if(z==="false")z=!1;else if(/^-?\d+(?:\.\d+)?$/.test(z))z=Number(z)}Q[q]=z}return{data:Q,content:X.trim()}}function f5($,Z={}){let{gfm:Y=!0,breaks:J=!1}=Z,X=$,Q=[];if(X=X.replace(/```(\w*)\n([\s\S]*?)```/g,(z,U,j)=>{let _=Q.length,B=U?` class="language-${F1(U)}"`:"";return Q.push(`<pre><code${B}>${F1(j.trim())}</code></pre>`),`\x00CODEBLOCK${_}\x00`}),X=X.replace(/`([^`]*)`/g,(z,U)=>`<code>${F1(U)}</code>`),X=X.replace(/^######\s+(.*)$/gm,"<h6>$1</h6>"),X=X.replace(/^#####\s+(.*)$/gm,"<h5>$1</h5>"),X=X.replace(/^####\s+(.*)$/gm,"<h4>$1</h4>"),X=X.replace(/^###\s+(.*)$/gm,"<h3>$1</h3>"),X=X.replace(/^##\s+(.*)$/gm,"<h2>$1</h2>"),X=X.replace(/^#\s+(.*)$/gm,"<h1>$1</h1>"),X=X.replace(/\*\*\*(.+?)\*\*\*/g,"<strong><em>$1</em></strong>"),X=X.replace(/___(.+?)___/g,"<strong><em>$1</em></strong>"),X=X.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),X=X.replace(/__(.+?)__/g,"<strong>$1</strong>"),X=X.replace(/\*(.+?)\*/g,"<em>$1</em>"),X=X.replace(/(?<![a-zA-Z0-9])_(.+?)_(?![a-zA-Z0-9])/g,"<em>$1</em>"),Y)X=X.replace(/~~(.+?)~~/g,"<del>$1</del>");if(X=X.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,(z,U,j)=>{return`<img src="${V9(j)?F1(j):""}" alt="${F1(U)}" />`}),X=X.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(z,U,j)=>{return`<a href="${V9(j)?F1(j):""}">${U}</a>`}),X=X.replace(/^(?:---|\*\*\*|___)\s*$/gm,"<hr />"),X=X.replace(/^>\s+(.*)$/gm,"<blockquote>$1</blockquote>"),X=X.replace(/<\/blockquote>\n<blockquote>/g,`
|
|
624
|
+
`),X=X.replace(/^[*\-+]\s+(.*)$/gm,"<li data-ul>$1</li>"),X=X.replace(/(<li data-ul>.*<\/li>\n?)+/g,"<ul>$&</ul>"),X=X.replace(/<\/ul>\n<ul>/g,""),X=X.replace(/^\d+\.\s+(.*)$/gm,"<li data-ol>$1</li>"),X=X.replace(/(<li data-ol>.*<\/li>\n?)+/g,"<ol>$&</ol>"),X=X.replace(/<\/ol>\n<ol>/g,""),X=X.replace(/<li data-ul>/g,"<li>"),X=X.replace(/<li data-ol>/g,"<li>"),Y)X=X.replace(/^\|(.+)\|\s*\n\|[-:\s|]+\|\s*\n((?:\|.+\|\s*\n)*)/gm,(z,U,j)=>{let B=`<tr>${U.split("|").map((L)=>L.trim()).filter(Boolean).map((L)=>`<th>${F1(L)}</th>`).join("")}</tr>`,H=j.trim().split(`
|
|
625
|
+
`).map((L)=>{return`<tr>${L.split("|").map((O)=>O.trim()).filter(Boolean).map((O)=>`<td>${F1(O)}</td>`).join("")}</tr>`}).join(`
|
|
626
626
|
`);return`<table>
|
|
627
627
|
<thead>
|
|
628
628
|
${B}
|
|
@@ -631,16 +631,16 @@ ${B}
|
|
|
631
631
|
${H}
|
|
632
632
|
</tbody>
|
|
633
633
|
</table>`});if(Y)X=X.replace(/<li>\s*\[\s*\]\s*/g,'<li><input type="checkbox" disabled /> '),X=X.replace(/<li>\s*\[x\]\s*/gi,'<li><input type="checkbox" checked disabled /> ');let G=X.split(`
|
|
634
|
-
`),K=[],W=!1,
|
|
634
|
+
`),K=[],W=!1,q=[];for(let z of G){let U=z.trim();if(/^<(?:h[1-6]|ul|ol|li|blockquote|pre|table|thead|tbody|tr|th|td|hr|div|p)/.test(U)||/^\0CODEBLOCK\d+\0$/.test(U)||U===""){if(W&&q.length>0)K.push(`<p>${q.join(J?`<br />
|
|
635
635
|
`:`
|
|
636
|
-
`)}</p>`),
|
|
636
|
+
`)}</p>`),q=[],W=!1;K.push(z)}else W=!0,q.push(U)}if(W&&q.length>0)K.push(`<p>${q.join(J?`<br />
|
|
637
637
|
`:`
|
|
638
638
|
`)}</p>`);if(X=K.join(`
|
|
639
639
|
`),J)X=X.replace(/\n/g,`<br />
|
|
640
|
-
`);for(let
|
|
640
|
+
`);for(let z=0;z<Q.length;z++)X=X.replace(`\x00CODEBLOCK${z}\x00`,Q[z]);return X=X.replace(/<p>\s*<\/p>/g,""),X.trim()}function r0($){let Z=/import\s*\{([^}]+)\}\s*from\s*['"](@stores|stx\/stores)['"]\s*;?\n?/g;$=$.replace(Z,(J,X)=>{return`const { ${X.split(",").map((G)=>G.trim()).filter(Boolean).join(", ")} } = window.__STX_STORES__
|
|
641
641
|
`});let Y=/import\s*\{([^}]+)\}\s*from\s*['"]@composables['"]\s*;?\n?/g;return $=$.replace(Y,(J,X)=>{return`const { ${X.split(",").map((G)=>G.trim()).filter(Boolean).join(", ")} } = window.__composables
|
|
642
|
-
`}),$}import
|
|
643
|
-
export { ${_.join(", ")} }`:"";await Bun.write(
|
|
642
|
+
`}),$}function SQ(){let $=globalThis;return $[A9]??=new Map,$[A9]}function t($,Z){let Y=SQ(),J=`${import.meta.url}\x00${$}`,X=Y.get(J);if(X)return X;let Q=Z();return Y.set(J,Q),Q.catch(()=>{if(Y.get(J)===Q)Y.delete(J)}),Q}var A9;var g5=b(()=>{A9=Symbol.for("stx.lazy-module-promises")});import yQ from"process";function c0($="STX_PUBLIC_"){let Z={},Y={};for(let[J,X]of Object.entries(yQ.env)){if(!J.startsWith($)||X===void 0)continue;Z[`import.meta.env.${J}`]=JSON.stringify(X),Y[J]=X}return Z["import.meta.env"]=JSON.stringify(Y),Z}var y1=()=>{};var h5={};a(h5,{shouldLogBundlerDiagnostics:()=>T9,queueClientBundleBuild:()=>I9,hasUserImports:()=>CQ,bundleClientScript:()=>xQ});import F0 from"path";import x0 from"fs";function T9($=process.env){return $.STX_DEBUG==="true"||$.STX_DEBUG==="1"}function P1(...$){if(T9())console.log("[stx:bundler]",...$)}function CQ($){let Z=/^[ \t]*import[ \t]+(?!type(?:[ \t]|{))[\s\S]*?\s+from\s+['"]([^'"]+)['"][ \t]*;?/gm,Y;while((Y=Z.exec($))!==null){let X=Y[1];if(!R9.some((G)=>G.test(X)))return P1("detected user import:",X),!0}let J=/^[ \t]*import[ \t]+['"]([^'"]+)['"]/gm;while((Y=J.exec($))!==null){let X=Y[1];if(/\.css(?:\?.*)?$/.test(X))continue;if(X==="@stacksjs/browser")continue;if(!R9.some((G)=>G.test(X)))return P1("detected side-effect import:",X),!0}return!1}function vQ($,Z,Y,J){let X=(Q,G)=>{let K=Q===Y?Z:F0.dirname(Q),W=F0.resolve(K,G),q=[W,`${W}.ts`,`${W}.tsx`,`${W}.js`,`${W}.mjs`,`${W}.jsx`,F0.join(W,"index.ts"),F0.join(W,"index.tsx"),F0.join(W,"index.js"),F0.join(W,"index.mjs")];for(let z of q)try{if(x0.existsSync(z)&&x0.statSync(z,{throwIfNoEntry:!1})?.isFile())return z}catch{}return W};return{name:"stx-client-bundle",setup(Q){Q.onResolve({filter:/^(stx|@stacksjs\/stx)$/},(G)=>({path:G.path,external:!0})),Q.onResolve({filter:/^(@stores|@composables|stx\/stores)$/},(G)=>({path:G.path,external:!0})),Q.onResolve({filter:/^\//},(G)=>{if(x0.existsSync(G.path))return{path:G.path};return{path:G.path,external:!0}}),Q.onResolve({filter:/^\.\.?\//},(G)=>{let K=X(G.importer,G.path);return J.add(K),{path:K}}),Q.onResolve({filter:/^[@~]\//},(G)=>{let K=F0.resolve($,G.path.slice(2)),W=[K,`${K}.ts`,`${K}.tsx`,`${K}.js`,`${K}.mjs`,`${K}.jsx`,F0.join(K,"index.ts"),F0.join(K,"index.tsx"),F0.join(K,"index.js"),F0.join(K,"index.mjs")];for(let q of W)if(x0.existsSync(q)&&x0.statSync(q,{throwIfNoEntry:!1})?.isFile())return P1(`resolved ${G.path[0]}/ import:`,G.path,"\u2192",q),J.add(q),{path:q};return console.warn(`[stx:bundler] could not resolve ${G.path[0]}/ import:`,G.path),{path:K}}),Q.onLoad({filter:/\.(?:[cm]?[jt]sx?|json)$/},(G)=>{let K=F0.extname(G.path).toLowerCase(),W=K===".json"?"json":K===".tsx"?"tsx":K===".jsx"?"jsx":K===".ts"||K===".mts"||K===".cts"?"ts":"js";if(G.path!==Y)J.add(G.path);return{contents:x0.readFileSync(G.path,"utf8"),loader:W}})}}}function I9($){let Z=globalThis,J=(Z[N9]??Promise.resolve()).then($,$);return Z[N9]=J.then(()=>{return},()=>{return}),J}async function xQ($,Z,Y={}){let J=Y.projectRoot||process.cwd(),X=Y.minify??!1,Q=Y.cacheDir||L1(J,"bundle-cache"),G=new Bun.CryptoHasher("md5");G.update(`${PQ}\x00${$}\x00${Z}`);let K=G.digest("hex").slice(0,12),W=F0.join(Q,`${K}.js`),q=F0.join(Q,`${K}.deps.json`),z=Bun.file(W);if(await z.exists()){let _=Bun.file(q),B=!0;if(await _.exists())try{let H=JSON.parse(await _.text());if(H.metadataVersion!==M9||!Array.isArray(H.files))B=!1;for(let L of Array.isArray(H.files)?H.files:[])try{if(x0.statSync(L.path).mtimeMs!==L.mtimeMs){B=!1;break}}catch{B=!1;break}}catch{B=!1}if(B)return P1("cache hit:",K),await z.text();P1("cache invalidated by dep change:",K)}let U=O7.get(K);if(U)return await U;let j=I9(()=>fQ($,Z,{projectRoot:J,minify:X,cacheDir:Q,hash:K,cachePath:W,depsPath:q}));O7.set(K,j);try{return await j}finally{O7.delete(K)}}async function fQ($,Z,Y){let{projectRoot:J,minify:X,cacheDir:Q,hash:G,cachePath:K,depsPath:W}=Y,q=L1(J,"bundle-tmp"),z=F0.join(q,`${G}.ts`),U=F0.join(q,"out",G);x0.mkdirSync(q,{recursive:!0}),x0.mkdirSync(U,{recursive:!0});let j=F0.dirname(Z),_=[],B=/^(export\s+)?(?:const|let|var)\s+(?:\{([^}]+)\}|(\w+))/gm,H=/^(export\s+)?(?:async\s+)?function\s+(\w+)/gm,L;while((L=B.exec($))!==null){if(L[1])continue;if(L[2])L[2].split(",").forEach((F)=>{let w=F.split(":")[0].trim();if(w)_.push(w)});else if(L[3])_.push(L[3])}while((L=H.exec($))!==null){if(L[1])continue;_.push(L[2])}let V=_.length>0?`
|
|
643
|
+
export { ${_.join(", ")} }`:"";await Bun.write(z,$+V),P1("bundling:",G,"from:",F0.basename(Z));let O=new Set;try{let F=await Bun.build({entrypoints:[z],outdir:U,target:"browser",format:"esm",minify:X,plugins:[vQ(J,j,z,O)],define:{"process.env.NODE_ENV":X?'"production"':'"development"',...c0()},root:J});if(!F.success){let D=F.logs.filter((y)=>y.level==="error").map((y)=>y.message).join(", ");return console.warn("[stx:bundler] build failed:",D),$}let w="";for(let D of F.outputs){w=await D.text();break}let A=[];for(let D of w.matchAll(/^\s*export\s*\{([^}]*)\}\s*;?\s*$/gm))for(let y of D[1].split(",")){let S=y.trim().match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(S){A.push([S[2],S[1]]);continue}let k=y.trim();if(/^[A-Za-z_$][\w$]*$/.test(k))A.push([k,k])}let R=w.match(/^\s*import\s+[^;]+;?\s*$/gm)||[];w=w.replace(/^\s*import\s+[^;]+;?\s*$/gm,"").replace(/^\s*export\s*\{[^}]*\}\s*;?\s*$/gm,"").replace(/^\s*export\s+default\s+.*$/gm,"").trim();let N=`__stxBundle_${G}`,M=A.map(([D,y])=>`${JSON.stringify(D)}: ${y}`).join(", "),T=A.map(([D])=>`var ${D} = undefined;`).join(`
|
|
644
644
|
`),I=A.map(([D])=>`${D} = ${N}[${JSON.stringify(D)}];`).join(`
|
|
645
645
|
`);if(w=`${R.join(`
|
|
646
646
|
`)}
|
|
@@ -649,19 +649,19 @@ var ${N} = (function() {
|
|
|
649
649
|
${w}
|
|
650
650
|
return { ${M} };
|
|
651
651
|
})();
|
|
652
|
-
${I}`.trim(),
|
|
652
|
+
${I}`.trim(),P1("bundled:",G,"output:",w.length,"bytes"),_.length>0&&A.length===0)return console.warn(`[stx:bundler] dropped every binding for ${F0.basename(Z)} (${G}); serving the unbundled source and not caching this result`),$;x0.mkdirSync(Q,{recursive:!0}),await Bun.write(K,w);let E=Array.from(O).map((D)=>{try{return{path:D,mtimeMs:x0.statSync(D).mtimeMs}}catch{return null}}).filter((D)=>D!==null);return await Bun.write(W,JSON.stringify({metadataVersion:M9,files:E})),w}catch(F){let w=F instanceof Error?F.message:String(F),A=F?.errors,R=Array.isArray(A)&&A.length>0?`
|
|
653
653
|
${A.map((N)=>`- ${N?.message??N}`).join(`
|
|
654
|
-
`)}`:"";return console.warn(`[stx:bundler] error: ${w}${R}`),$}finally{try{
|
|
654
|
+
`)}`:"";return console.warn(`[stx:bundler] error: ${w}${R}`),$}finally{try{x0.rmSync(z,{force:!0}),x0.rmSync(U,{recursive:!0,force:!0})}catch{}}}var PQ=5,M9=1,R9,O7,N9;var d5=b(()=>{y1();x5();R9=[/^stx$/,/^@stacksjs\/stx$/,/^@stores$/,/^stx\/stores$/,/^@composables$/];O7=new Map,N9=Symbol.for("stx.client-bundle-build-queue")});var S9={};a(S9,{renderVendorStyleTags:()=>I$,processClientScript:()=>p5,injectBrowserCoreAutoImports:()=>Q5,generateServerDataBridge:()=>D$,generateBrowserAutoImportDestructuring:()=>nQ,generateAutoImportDestructuring:()=>L7,extractBridgeData:()=>m5,extractAndStripCssImports:()=>T$});import C1 from"path";import u5 from"fs";function hQ($){if($.startsWith(".")||$.startsWith("/"))return null;if($.startsWith("@")){let Y=$.match(/^(@[^/]+\/[^/]+)(\/.*)?$/);if(!Y)return null;return{pkg:Y[1],subpath:Y[2]||""}}let Z=$.match(/^([^/]+)(\/.*)?$/);if(!Z)return null;return{pkg:Z[1],subpath:Z[2]||""}}function dQ($,Z){let Y=Z;while(!0){let J=C1.join(Y,"node_modules",$,"package.json");if(u5.existsSync(J))return C1.dirname(J);let X=C1.dirname(Y);if(X===Y)return null;Y=X}}function uQ($,Z){if(!$||typeof $!=="object")return null;let Y=(X)=>{if(typeof X==="string")return X;if(X&&typeof X==="object"){if(typeof X.import==="string")return X.import;if(typeof X.default==="string")return X.default;if(typeof X.import==="object")return Y(X.import);if(typeof X.default==="object")return Y(X.default)}return null};if(Object.prototype.hasOwnProperty.call($,Z))return Y($[Z]);let J=null;for(let X of Object.keys($)){let Q=X.indexOf("*");if(Q===-1)continue;let G=X.slice(0,Q),K=X.slice(Q+1);if(!Z.startsWith(G)||!Z.endsWith(K))continue;if(Z.length<G.length+K.length)continue;if(!J||G.length>J.prefix.length)J={pattern:X,prefix:G,suffix:K}}if(J){let X=Z.slice(J.prefix.length,Z.length-J.suffix.length),Q=Y($[J.pattern]);if(Q)return Q.replace("*",X)}return null}function mQ($,Z){let Y=hQ($);if(!Y||!Y.subpath)return null;let J=dQ(Y.pkg,Z);if(!J)return null;let X;try{X=JSON.parse(u5.readFileSync(C1.join(J,"package.json"),"utf8"))}catch{return null}let Q=`.${Y.subpath}`,G=uQ(X.exports,Q);if(!G)return null;let K=C1.resolve(J,G);return u5.existsSync(K)?K:null}function T$($,Z){let Y=Z.filePath?C1.dirname(Z.filePath):Z.projectRoot||process.cwd(),J=Z.projectRoot||process.cwd(),X=new Set,Q=[];return{code:$.replace(gQ,(K,W)=>{let q;try{if(W.startsWith("./")||W.startsWith("../")||W.startsWith("/")){if(q=W.startsWith("/")?W:C1.resolve(Y,W),!u5.existsSync(q))throw Error(`file not found: ${q}`)}else{let z=null;try{z=Bun.resolveSync(W,J)}catch{z=mQ(W,J)}if(!z)throw Error(`could not resolve ${W} (Bun.resolveSync + exports fallback both failed)`);q=z}}catch(z){return console.warn(`[stx:vendor-css] could not resolve ${JSON.stringify(W)} (from ${Z.filePath||"<unknown>"}): ${z?.message||z}`),""}if(X.has(q))return"";X.add(q);try{let z=u5.readFileSync(q,"utf8");Q.push({source:W,resolvedPath:q,contents:z})}catch(z){console.warn(`[stx:vendor-css] could not read ${q}: ${z?.message||z}`)}return""}),styles:Q}}function pQ($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function I$($){if($.length===0)return"";return`${$.map((Z)=>{return`<style data-stx-vendor="${pQ(Z.source)}" data-stx-layer="vendor">
|
|
655
655
|
@layer vendor {
|
|
656
656
|
${Z.contents}
|
|
657
657
|
}
|
|
658
658
|
</style>`}).join(`
|
|
659
659
|
`)}
|
|
660
|
-
`}function
|
|
661
|
-
${$}`,imports:J}}function
|
|
660
|
+
`}function Q5($){let Z=new Set;for(let X of $.matchAll(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm))for(let Q of X[1].split(",")){let G=Q.trim().split(/\s+as\s+/).pop()?.replace(/^type\s+/,"").trim();if(G)Z.add(G)}let Y=new Set;for(let X of $.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))Y.add(X[1]);for(let X of $.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let Q of X[1].split(",")){let G=Q.trim().split(/[:=]/).pop()?.trim();if(G)Y.add(G)}let J=k9.filter((X)=>{if(Z.has(X)||Y.has(X))return!1;return new RegExp(`\\b${X}\\b`).test($)});if(J.length===0)return{code:$,imports:J};return{code:`import { ${J.join(", ")} } from '@stacksjs/browser'
|
|
661
|
+
${$}`,imports:J}}function iQ($){let Z=new Set,Y=/\b([A-Z][a-zA-Z0-9]*)\s*\.\s*(all|find|first|get|where|orderBy|orderByDesc|limit|select|pluck|create|update|delete)\s*\(/g,J;while((J=Y.exec($))!==null)if(!cQ.has(J[1]))Z.add(J[1]);return Array.from(Z)}function b9($){let Z=new Set,Y=new Set,J=$;J=J.replace(/^\s*import\s+type\s+\{[^}]*\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm,"// [type import stripped]");let X=new Set,Q=/^\s*import\s+(?:type\s+)?{\s*([^}]+)\s*}\s+from\s+['"](@stacksjs\/browser|@stacksjs\/stx|stx)['"]\s*;?\s*$/gm,G;while((G=Q.exec($))!==null){let W=G[1],q=G[2];if(G[0].includes("import type"))continue;W.split(",").map((U)=>U.trim().split(/\s+as\s+/)[0]).filter((U)=>U.length>0).forEach((U)=>{if(X.add(U),q==="stx"||q==="@stacksjs/stx")Z.add(U);else Y.add(U)}),J=J.replace(G[0],"// [auto-import processed]")}for(let W of lQ){if(X.has(W))continue;if(new RegExp(`\\b${W}\\s*\\(`,"g").test(J))Z.add(W)}for(let W of k9){if(X.has(W))continue;if(new RegExp(`\\b${W}\\b`,"g").test(J))Y.add(W)}let K=iQ(J);for(let W of K)if(!X.has(W))Y.add(W);return{code:J,stxImports:Array.from(Z),browserImports:Array.from(Y)}}function L7($,Z){let Y=[];if($.length>0)Y.push(` var { ${$.join(", ")} } = window.stx || window;`);if(Z.length>0)Y.push(` var { ${Z.join(", ")} } = window.StacksBrowser || {};`);if(Y.length>0)return` // STX: auto-imported from stx and @stacksjs/browser
|
|
662
662
|
${Y.join(`
|
|
663
663
|
`)}
|
|
664
|
-
${
|
|
664
|
+
${oQ($,Z)}`;return""}function nQ($,Z=[]){let{browserImports:Y}=b9($),J=new Set(Z);return L7([],Y.filter((X)=>!J.has(X)))}function oQ($,Z){let Y=[...$.map((J)=>`['${J}', typeof ${J}, 'stx']`),...Z.map((J)=>`['${J}', typeof ${J}, '@stacksjs/browser']`)];if(Y.length===0)return"";return` // STX: report auto-imports the client runtime did not provide
|
|
665
665
|
[${Y.join(", ")}].forEach(function (e) {
|
|
666
666
|
if (e[1] !== 'undefined') return;
|
|
667
667
|
console.error(
|
|
@@ -670,15 +670,15 @@ ${mQ($,Z)}`;return""}function uQ($,Z=[]){let{browserImports:Y}=T9($),J=new Set(Z
|
|
|
670
670
|
+ 'or it should be imported from a relative path so the bundler includes it.'
|
|
671
671
|
);
|
|
672
672
|
});
|
|
673
|
-
`}function
|
|
673
|
+
`}function m5($){let Z={};for(let Y in $){if(Y.startsWith("__")||Y.startsWith("$"))continue;let J=$[Y];if(typeof J==="function")continue;Z[Y]=J}return Z}function D9($,Z){let Y=new Set;for(let J of $.split(",")){let X=J.trim().replace(/^\.\.\./,"").trim();if(!X)continue;if(Z){let Q=X.lastIndexOf(":");if(Q!==-1)X=X.slice(Q+1).trim()}if(X=X.split("=")[0].trim(),/^[A-Za-z_$][\w$]*$/.test(X))Y.add(X)}return Y}function sQ($,Z){if(new RegExp(`(?:const|let|var|function|class)\\s+${Z}\\b`).test($))return!0;for(let Y of $.matchAll(/(?:const|let|var)\s*\{([^}]*)\}/g))if(D9(Y[1],!0).has(Z))return!0;for(let Y of $.matchAll(/(?:const|let|var)\s*\[([^\]]*)\]/g))if(D9(Y[1],!1).has(Z))return!0;return!1}function D$($,Z){if(!Z)return"";let Y=[];for(let[J,X]of Object.entries(Z)){if(!/^[A-Za-z_$][\w$]*$/.test(J))continue;if(!new RegExp(`\\b${J}\\b`).test($))continue;if(sQ($,J))continue;let Q;try{Q=JSON.stringify(X)}catch{continue}if(Q===void 0)continue;Y.push(` var ${J} = ${Q.replace(/</g,"\\u003c")};`)}if(Y.length===0)return"";return` // stx: server -> client data bridge (seeded from server scope)
|
|
674
674
|
${Y.join(`
|
|
675
675
|
`)}
|
|
676
|
-
`}function
|
|
676
|
+
`}function aQ($){let Z=[];if($.self)Z.push("if ($event.target !== $el) return");for(let Y of $.systemKeys)Z.push(`if (!$event.${Y}Key) return`);if($.keys.length>0){let Y=$.keys.map((J)=>`$event.key === '${J}'`).join(" || ");Z.push(`if (!(${Y})) return`)}if($.mouse!==null){let Y=rQ[$.mouse];Z.push(`if ($event.button !== ${Y}) return`)}if($.prevent)Z.push("$event.preventDefault()");if($.stop)Z.push("$event.stopPropagation()");return Z.join("; ")}function tQ($,Z){let{elementId:Y,event:J,handler:X,modifiers:Q}=$,G=aQ(Q),K=[];if(Q.once)K.push("once: true");if(Q.capture)K.push("capture: true");if(Q.passive)K.push("passive: true");let W=K.length>0?`, { ${K.join(", ")} }`:"",q="";if(G)q+=`${G}; `;let z=X.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),U=`var $emit = function(name, detail) {
|
|
677
677
|
$el.dispatchEvent(new CustomEvent(name, { detail: detail, bubbles: true, cancelable: true }))
|
|
678
678
|
};`;function j(_){if(/\$emit\s*\(/.test(_))return`${U}
|
|
679
679
|
${_}`;return`var scope = $el.closest('[data-stx-scope]');
|
|
680
680
|
if (scope && scope.__stx_execute) {
|
|
681
|
-
scope.__stx_execute('${
|
|
681
|
+
scope.__stx_execute('${z}', $event, $el);
|
|
682
682
|
}
|
|
683
683
|
else {
|
|
684
684
|
${_}
|
|
@@ -705,22 +705,22 @@ else {
|
|
|
705
705
|
}${W})
|
|
706
706
|
})()`;if(/\$emit\s*\(/.test(X))return` var $el = document.getElementById('${Y}')
|
|
707
707
|
if ($el) $el.addEventListener('${J}', function($event) {
|
|
708
|
-
${
|
|
708
|
+
${q}${U}
|
|
709
709
|
${X}
|
|
710
710
|
}${W})`;return` var $el = document.getElementById('${Y}')
|
|
711
711
|
if ($el) $el.addEventListener('${J}', function($event) {
|
|
712
|
-
${
|
|
712
|
+
${q}var scope = $el.closest('[data-stx-scope]');
|
|
713
713
|
if (scope && scope.__stx_execute) {
|
|
714
|
-
scope.__stx_execute('${
|
|
714
|
+
scope.__stx_execute('${z}', $event, $el);
|
|
715
715
|
}
|
|
716
716
|
else {
|
|
717
717
|
${X}
|
|
718
718
|
}
|
|
719
|
-
}${W})`}function
|
|
719
|
+
}${W})`}function eQ($){if($.length===0)return"";return`
|
|
720
720
|
// STX: auto-generated event bindings
|
|
721
|
-
${$.map((Y,J)=>
|
|
722
|
-
`)}`}function
|
|
723
|
-
`)G++;continue}if(K==="/"&&J[G+1]==="*"){G+=2;while(G<Q-1&&!(J[G]==="*"&&J[G+1]==="/"))G++;G+=2;continue}if(K==="{"){X++,G++;continue}if(K==="}"){X--,G++;continue}if(X===0){let W=J.slice(G),
|
|
721
|
+
${$.map((Y,J)=>tQ(Y,J)).join(`
|
|
722
|
+
`)}`}function E9($){let Z=[],Y=new Set,J=$.replace(/^\s*import\s+.*$/gm,""),X=0,Q=J.length,G=0;while(G<Q){let K=J[G];if(K==="'"||K==='"'||K==="`"){let W=K;if(G++,W==="`"){let q=0;while(G<Q){if(J[G]==="\\"){G+=2;continue}if(J[G]==="`"&&q===0){G++;break}if(J[G]==="$"&&J[G+1]==="{"){q++,G+=2;continue}if(J[G]==="}"&&q>0){q--,G++;continue}G++}}else while(G<Q){if(J[G]==="\\"){G+=2;continue}if(J[G]===W){G++;break}G++}continue}if(K==="/"&&J[G+1]==="/"){while(G<Q&&J[G]!==`
|
|
723
|
+
`)G++;continue}if(K==="/"&&J[G+1]==="*"){G+=2;while(G<Q-1&&!(J[G]==="*"&&J[G+1]==="/"))G++;G+=2;continue}if(K==="{"){X++,G++;continue}if(K==="}"){X--,G++;continue}if(X===0){let W=J.slice(G),q=W.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(q){let j=q[1];if(!j.startsWith("_")&&!Y.has(j))Z.push(j),Y.add(j);G+=q[0].length;continue}let z=W.match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(z){z[1].split(",").forEach((j)=>{let _=j.trim(),B=_.indexOf(":"),H=B>=0?_.slice(B+1).trim().split(/[\s=]/)[0]:_.split(/[\s=]/)[0];if(H&&!H.startsWith("_")&&!Y.has(H))Z.push(H),Y.add(H)}),G+=z[0].length;continue}let U=W.match(/^(?:async\s+)?function\s+([a-zA-Z_$]\w*)/);if(U){let j=U[1];if(!j.startsWith("_")&&!Y.has(j))Z.push(j),Y.add(j);G+=U[0].length;continue}}G++}return Z}function ZG($){let Z=new Set,Y=/[a-zA-Z_$][a-zA-Z0-9_$]*/g;function J(j){let _;while((_=Y.exec(j))!==null){let B=_[0];if(!$G.has(B))Z.add(B)}}let X=/\{\{([\s\S]*?)\}\}/g,Q;while((Q=X.exec($))!==null)J(Q[1]);let G=/:[a-z][\w.-]*\s*=\s*"([^"]*)"/gi;while((Q=G.exec($))!==null)J(Q[1]);let K=/:[a-z][\w.-]*\s*=\s*'([^']*)'/gi;while((Q=K.exec($))!==null)J(Q[1]);let W=/@[a-z]+(?:\.[a-z]+)*\s*=\s*"([^"]*)"/gi;while((Q=W.exec($))!==null)J(Q[1]);let q=/@[a-z]+(?:\.[a-z]+)*\s*=\s*'([^']*)'/gi;while((Q=q.exec($))!==null)J(Q[1]);let z=/@model\s*=\s*["']([^"']*)["']/gi;while((Q=z.exec($))!==null)J(Q[1]);let U=/@for\s*=\s*["'][^"']*\bin\s+([^"']+)["']/gi;while((Q=U.exec($))!==null)J(Q[1]);return Z}async function p5($,Z={}){let Y=$,J="",X=!1,Q=[],G=T$(Y,{filePath:Z.filePath,projectRoot:Z.projectRoot});Y=G.code;let K=I$(G.styles),W=Q5(Y);Y=W.code,Q=W.imports;let{hasUserImports:q,bundleClientScript:z}=await t("stx/client-script-bundler",()=>Promise.resolve().then(() => (d5(),h5)));if(q(Y))Y=await z(Y,Z.filePath||"",{projectRoot:Z.projectRoot,minify:Z.production}),X=!0;if(Z.autoImports!==!1){let O=b9(Y);Y=O.code,J=L7(O.stxImports,O.browserImports.filter((F)=>!Q.includes(F)))}if(J=`${D$(Y,Z.serverData)}${J}`,Y=r0(Y),!X&&v1(Z.attrs||""))Y=x1(Y);let U=eQ(Z.eventBindings||[]),j=(Z.attrs||"").trim();if(/\btype\s*=\s*["']module["']/i.test(j)){let O=j.replace(/\btype\s*=\s*["']module["']/i,"").trim(),F=`type="module" data-stx-scoped${O?` ${O}`:""}`;return`${K}<script ${F}>
|
|
724
724
|
${J}${Y}
|
|
725
725
|
${U}
|
|
726
726
|
</script>`}let B=/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect|useLocalStorage|useSessionStorage|useRef|useEventListener|useFetch|useDebounce|useDebouncedValue|useThrottle|useInterval|useTimeout|useToggle|useCounter|useClickOutside|useFocus|useAsync|useColorMode|useDark|useWebSocket|useRoute|useSearchParams|onMount|onDestroy|onMounted|onBeforeUnmount|onUnmounted|batch|untrack|peek)\s*(?:<[^>]*>)?\s*\(/.test($),H=/function __stx_setup_/.test(Y),L=/\bstx\.mount\s*\(|\bstx\.mountEl\s*\(/.test($);function V(O){let F=O.length>0?`
|
|
@@ -729,20 +729,20 @@ window.stx.mount(function() {
|
|
|
729
729
|
'use strict';
|
|
730
730
|
${J}${Y}
|
|
731
731
|
${U}${F}
|
|
732
|
-
})</script>`}if(!L&&!H){if(B)return V(
|
|
732
|
+
})</script>`}if(!L&&!H){if(B)return V(E9($));if(Z.templateContent){let O=E9($);if(O.length>0){let F=ZG(Z.templateContent);if(O.some((A)=>F.has(A)))return V(O)}}}return`${K}<script data-stx-scoped>
|
|
733
733
|
;(function() {
|
|
734
734
|
'use strict';
|
|
735
735
|
${J}${Y}
|
|
736
736
|
${U}
|
|
737
|
-
})()</script>`}var
|
|
737
|
+
})()</script>`}var gQ,lQ,k9,cQ,rQ,$G;var l5=b(()=>{M0();g5();gQ=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;lQ=["state","derived","effect","batch","untrack","peek","isSignal","isDerived","onMount","onDestroy","useRef","navigate","goBack","goForward","useRoute","setRouteParams","useSearchParams","useFetch","useQuery","useMutation","useOptimistic","useId","useReactiveProp","useLocalStorage","useSessionStorage","useCookie","useWebSocket","useHead","useSeoMeta","definePageMeta","useEventListener","useMeta","useDebounce","useDebouncedValue","useThrottle","useInterval","useTimeout","useToggle","useCounter","useClickOutside","useFocus","useAsync","useColorMode","useDark","useMediaQuery","useScrollLock","usePreferredDark","usePreferredLight","usePreferredReducedMotion","usePreferredContrast","ref","reactive","computed","watch","watchEffect","watchMultiple","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onUnmounted","defineProps","withDefaults","defineEmits","defineExpose","defineSlots","provide","inject","nextTick","getCurrentInstance","onErrorCaptured","useSlots","useAttrs","createStore","defineStore","registerStoresClient","useStore","action","createSelector","h","Fragment"],k9=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useDocumentVisibility","useIntervalFn"];cQ=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"]);rQ={left:0,middle:1,right:2};$G=new Set(["if","else","true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","switch","case","break","continue","for","while","do","try","catch","finally","const","let","var","function","class","import","export","default","async","await","yield","with","debugger","console","window","document","Math","JSON","Date","Array","Object","String","Number","Boolean","Symbol","Map","Set","Promise","Error","parseInt","parseFloat","isNaN","isFinite","encodeURIComponent","decodeURIComponent","setTimeout","setInterval","clearTimeout","clearInterval","fetch","alert","confirm","prompt","event"])});import{createHash as YG}from"crypto";function y9($){let Z=$[E$];return Z instanceof Map?Z:null}function P9($){$[E$]=new Map}function C9($,Z){let Y=y9($);if(!Y)return null;let J=YG("sha256").update(Z).digest("hex").slice(0,16),X=Y.get(J);if(X)X.instances++;else Y.set(J,{body:Z,instances:1});return J}function v9($,Z){let Y=y9(Z);if(!Y?.size)return $;let J=$;for(let[W,q]of Y){if(q.instances!==1)continue;let z=new RegExp(`window\\.__stxComponentFactories\\[${JSON.stringify(W)}\\]\\(("[^"]+")\\);`,"g");J=J.replace(z,(U,j)=>`(${q.body})(${j});`)}let X=[...Y].filter(([,W])=>W.instances>1);if(X.length===0)return J;let G=`<script data-stx-scoped data-stx-component-factories>
|
|
738
738
|
(function() {
|
|
739
739
|
const factories = window.__stxComponentFactories = window.__stxComponentFactories || {};
|
|
740
|
-
${X.map(([W,
|
|
740
|
+
${X.map(([W,q])=>` factories[${JSON.stringify(W)}] = factories[${JSON.stringify(W)}] || ${q.body};`).join(`
|
|
741
741
|
`)}
|
|
742
742
|
})();
|
|
743
743
|
</script>`,K=J.search(/<script\b(?=[^>]*\bdata-stx-scoped\b)/i);if(K<0)return`${G}
|
|
744
744
|
${J}`;return`${J.slice(0,K)}${G}
|
|
745
|
-
${J.slice(K)}`}var
|
|
745
|
+
${J.slice(K)}`}var E$="__stx_component_client_factories";var F7=()=>{};function GG($){let Z="",Y=null,J=!1;for(let X=0;X<$.length;X++){let Q=$[X];if(J){J=!1;continue}if(Q==="\\"&&Y){J=!0;continue}if(Y){if(Y==="`"&&Q==="$"&&X+1<$.length&&$[X+1]==="{"){let G=1;X+=2;while(X<$.length&&G>0){if($[X]==="{")G++;else if($[X]==="}")G--;if(G>0)Z+=$[X],X++}continue}if(Q===Y)Y=null;continue}if(Q==='"'||Q==="'"||Q==="`"){Y=Q;continue}Z+=Q}return Z}function KG($,Z){let Y=/[$A-Z_a-z][$\w]*/g,J;while((J=Y.exec($))!==null){let X=J[0],Q=$[J.index-1];if(XG.has(X))throw Error(`Potentially unsafe expression (matched /\\b${X}\\b/; identifier ${X}): ${Z}`);if(Q==="."&&h9.has(X))throw Error(`Potentially unsafe expression (matched /.${X}/; property ${X}): ${Z}`)}}function WG($){let Z=/\[\s*(['"])(.*?)\1\s*\]/g,Y;while((Y=Z.exec($))!==null){let J=Y[2];if(!h9.has(J))continue;let X=$.slice(0,Y.index).match(/\S(?=\s*$)/)?.[0],Q=$.slice(Y.index+Y[0].length).match(/^\s*(\S)/)?.[1];if(!((X==="{"||X===",")&&Q===":"))throw Error(`Potentially unsafe expression (bracket key ${Y[2]}): ${$}`)}}function k$($){let Z=$.trim(),Y=GG(Z);KG(Y,Z),WG(Z);for(let J of g9)if(J.test(Y))throw Error(`Potentially unsafe expression (matched /${J.source}/): ${Z}`);if(!f9.allowBracketNotation&&QG.test(Z))throw Error(`Bracket notation with strings not allowed: ${Z}. Enable with configureSafeEvaluator({ allowBracketNotation: true })`);return Z}function qG($){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[Y,J]of Object.entries($)){if(Y.startsWith("__")||g9.some((X)=>X.test(Y)))continue;if(J&&typeof J==="object"&&!Array.isArray(J))Z[Y]=V7(J);else Z[Y]=J}return Z}function V7($,Z=0){if(Z>=f9.maxSanitizeDepth)return"[Object too deep]";if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((J)=>V7(J,Z+1));if($ instanceof Date||$ instanceof RegExp||$ instanceof Map||$ instanceof Set||$ instanceof Error)return $;let Y={};for(let[J,X]of Object.entries($)){if(J.startsWith("__")||J==="constructor"||J==="prototype")continue;if(X&&typeof X==="object")Y[J]=V7(X,Z+1);else Y[J]=X}return Y}function Z0($,Z){try{let Y=qG(Z),J=Object.keys(Y),X=Object.values(Y);return q0($,J)(...X)}catch{return}}function W0($){try{return k$($),!0}catch{return!1}}function T0($,Z){try{let Y=Z0($,Z);if(Y&&typeof Y==="object"&&!Array.isArray(Y))return Y;return{}}catch{return{}}}function q0($,Z){let Y=k$($),J=/^[A-Za-z_$][\w$]*$/,X=[],Q=[];for(let q=0;q<Z.length;q++){let z=Z[q];if(!J.test(z))continue;if(d9.has(z))continue;X.push(q),Q.push(z)}let G=(q)=>Function(...Q,...q,`
|
|
746
746
|
'use strict';
|
|
747
747
|
try {
|
|
748
748
|
return ${Y};
|
|
@@ -753,7 +753,7 @@ catch (e) {
|
|
|
753
753
|
}
|
|
754
754
|
throw e;
|
|
755
755
|
}
|
|
756
|
-
`),K=G([]);if(Q.length===Z.length)return S9(K,Q,G);return S9((...z)=>{let q=Array(X.length);for(let U=0;U<X.length;U++)q[U]=z[X[U]];return K(...q)},Q,G,(z)=>{K=G(z)})}function S9($,Z,Y,J){let Q=/^(\w+) is not defined$/,G=$,K=[],W=new Set(Z);return(...z)=>{for(let q=0;q<=8;q++)try{return G(...z)}catch(U){let j=U instanceof Error?U.message:"",_=Q.exec(j);if(!(U instanceof ReferenceError)||!_)return;let B=_[1];if(W.has(B)||v9.has(B))return;W.add(B),K.push(B),G=Y(K),J?.(K)}return}}function D$($){let Z=$.trim(),Y=[/\beval\s*\(/i,/\bFunction\s*\(/i,/\bimport\s*\(/i,/\brequire\s*\(/i,/\bprocess\b/i,/\b__proto__\b/i,/\bconstructor\s*[.(]/i,/\bglobalThis\b/i,/\bwindow\b/i,/\bdocument\b/i,/\bfetch\s*\(/i,/\bBun\b/i,/\bDeno\b/i,/\bconsole\b/i,/\bthis\b/i,/\bReflect\b/i,/\bProxy\b/i,/\bprototype\b/i,/\.(bind|call|apply)\s*\(/i];for(let J of Y)if(J.test(Z))return!1;return!0}var aQ,y9,P9,tQ,C9,eQ,v9;var w0=b(()=>{aQ={maxSanitizeDepth:10,allowBracketNotation:!1},y9={...aQ},P9=[/\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/],tQ=new Set(["eval","Function","setTimeout","setInterval","setImmediate","process","require","import","exports","module","window","document","global","globalThis","constructor","prototype","Reflect","Proxy","Symbol","WeakMap","WeakSet","WeakRef","FinalizationRegistry","Generator","AsyncGenerator","delete","this"]),C9=new Set(["__proto__","constructor","prototype"]),eQ=/[\w)\]]\s*\[\s*['"]/;v9=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 E$($,Z){let Y=XG++,J=`<!--__STX_${$.toUpperCase()}_${Y}__-->`;return QG.set(J,{type:$,expression:Z}),J}var XG=0,QG;var x9=b(()=>{QG=new Map});function u9($,Z,Y,J){Y.lastIndex=Z;let X=Y.exec($);if(!X||X.index!==Z)return-1;J.lastIndex=Y.lastIndex;let Q=J.exec($);if(!Q)return-1;return Q.index+Q[0].length}function F1($,Z){return u9($,Z,f9,g9)}function X5($,Z){return u9($,Z,h9,d9)}function m5($,Z){if(!$.startsWith("<!--",Z))return-1;let Y=$.indexOf("-->",Z+4);if(Y===-1)return-1;return Y+3}function GG($,Z){if($.startsWith("<!--",Z)){let Y=m5($,Z);return Y===-1?$.length:Y}for(let[Y,J]of[[f9,g9],[h9,d9]]){Y.lastIndex=Z;let X=Y.exec($);if(!X||X.index!==Z)continue;J.lastIndex=Y.lastIndex;let Q=J.exec($);return Q?Q.index+Q[0].length:$.length}return-1}function L7($,Z){let Y=[],J=0,X=$.length,Q=!1,G=null;while(J<X){let K=$[J];if(Q){if(G){if(K===G)G=null}else if(K==='"'||K==="'")G=K;else if(K===">")Q=!1;J++;continue}if(K!=="<"){J++;continue}let W=Z($,J);if(W>J){Y.push({start:J,end:W,token:$.slice(J,W)}),J=W;continue}let z=GG($,J);if(z>J){J=z;continue}if(/^<\/?[a-zA-Z]/.test($.slice(J,J+2)))Q=!0;J++}return Y}function Y1($,Z,Y){let J=L7($,Z);if(J.length===0)return{output:$,tokens:[]};let X=J.map((K)=>K.token),Q="",G=0;for(let K=0;K<J.length;K++){let W=J[K];Q+=$.slice(G,W.start),Q+=Y(W.token,K),G=W.end}return Q+=$.slice(G),{output:Q,tokens:X}}function V1($){let{output:Z,tokens:Y}=Y1($,F1,(J,X)=>`\x00STX_SCRIPT_${X}\x00`);return{output:Z,scripts:Y}}function p5($,Z){if(Z.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Y,J)=>Z[+J]??"")}var f9,g9,h9,d9;var v1=b(()=>{f9=/<script\b[^>]*>/iy,g9=/<\/script\s*>/ig,h9=/<style\b[^>]*>/iy,d9=/<\/style\s*>/ig});var n9={};a(n9,{usesSignalsInScript:()=>Q5,unescapeHtml:()=>F7,registerFilters:()=>WG,registerFilter:()=>l9,processExpressions:()=>w1,interpolateScriptsInTemplate:()=>qG,interpolateScriptExpressions:()=>k$,getAllFilters:()=>c9,evaluateExpression:()=>c0,escapeHtml:()=>r0,defaultFilters:()=>c5,clearCustomFilters:()=>zG,applyFilters:()=>i9});function KG($){let Z=m9.get($);if(!Z){let Y=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${Y}(?!\\w)`,"g"),m9.set($,Z)}return Z.lastIndex=0,Z}function l9($,Z){if($ in c5)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);l5[$]=Z}function WG($){for(let[Z,Y]of Object.entries($))l9(Z,Y)}function c9(){return{...c5,...l5}}function zG(){for(let $ of Object.keys(l5))delete l5[$]}function r0($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Q5($){let{scripts:Z}=V1($);for(let Y of Z){let J=Y.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i);if(!J||/\bserver\b|\bsrc\s*=/.test(J[1]))continue;let X=J[2];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(X))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test($))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test($))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test($))return!0;return!1}function p9($,Z){let Y=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined","NaN","Infinity","isNaN","isFinite","window","document","console"],J=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),X="",Q=!1,G=0;for(let z=0;z<J.length;z++){let q=J[z];if(!Q&&q==="`"){Q=!0,G=0;continue}if(Q){if(q==="`"&&G===0){Q=!1;continue}if(q==="$"&&J[z+1]==="{"){G++,z++,X+=" ";continue}if(q==="}"&&G>0){G--;continue}if(G>0){X+=q;continue}continue}X+=q}J=X;let K=/(?<![a-zA-Z0-9_$])([a-zA-Z_$][a-zA-Z0-9_$]*)/g,W;while((W=K.exec(J))!==null){let z=W[1];if(!J.substring(0,W.index).trimEnd().endsWith(".")){if(!Y.includes(z)&&!(z in Z))return!1}}return!0}function k$($,Z){let Y=$;return Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(J,X)=>{try{let Q=c0(X,Z);if(Q===void 0)return J;return Q===null?"":String(Q)}catch{return J}}),Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(J,X)=>{let Q=X.trim();if(/^__[A-Z_]+__$/.test(Q))return J;try{let G=c0(X,Z);if(G===void 0)return J;return JSON.stringify(G)}catch{return J}}),Y}function qG($,Z,Y={}){let{output:J,scripts:X}=V1($),Q=X.map((G)=>{let K=G.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i),W=G.match(/^<script\b[^>]*>/i),z=G.search(/<\/script\s*>$/i);if(!K||!W||z===-1)return G;let q=K[1],U=K[2];if(/\bsrc\s*=/.test(q))return G;if(/\bdata-raw\b/.test(q))return G;if(/\btype\s*=\s*["']application\/json["']/.test(q))return G;if(Y.skipServer&&/\bserver\b/.test(q))return G;let j=k$(U,Z);return W[0]+j+G.slice(z)});return p5(J,Q)}function w1($,Z,Y,J){let X=$,Q=(j,_)=>{let B=X5(j,_);if(B===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(j.slice(_,B))?-1:B},G=(j,_,B,H)=>{let L=B.length,{output:V,tokens:O}=Y1(j,_,(F,w)=>H(L+w));return B.push(...O),V},K=[];X=G(X,Q,K,(j)=>`<!--__STX_STYLE_${j}__-->`);let W=[];X=G(X,F1,W,(j)=>`<!--__STX_SCRIPT_EXPR_${j}__-->`);let z=J?.forceSignals===!0||Z?.__stx_force_signals===!0||Array.isArray(Z?.__stx_client_signal_names)||Q5($),q=new Set(Array.isArray(Z?.__stx_client_signal_names)?Z.__stx_client_signal_names:[]),U=new Set(Array.isArray(Z?.__stx_preserved_client_expressions)?Z.__stx_preserved_client_expressions:[]);X=X.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(j,_,B)=>{try{let H=c0(_,Z);return H!==void 0&&H!==null?String(H):""}catch(H){let L=H instanceof Error?H.message:String(H);return q0("Expression",`Error evaluating: {{{ ${_.trim()}}}}: ${L}`,Y,$,B,j)}}),X=X.replace(/\{!!([\s\S]*?)!!\}/g,(j,_,B)=>{try{let H=c0(_,Z);if(H===void 0&&Z.__stx_buildMode==="compile")return E$("raw",_.trim());return H!==void 0&&H!==null?String(H):""}catch(H){if(Z.__stx_buildMode==="compile")return E$("raw",_.trim());let L=H instanceof Error?H.message:String(H);return q0("Expression",`Error evaluating: {!! ${_.trim()} !!}: ${L}`,Y,$,B,j)}}),X=G(X,F1,W,(j)=>`<!--__STX_SCRIPT_EXPR_${j}__-->`),X=G(X,Q,K,(j)=>`<!--__STX_STYLE_${j}__-->`),X=X.replace(/\{\{([\s\S]*?)\}\}/g,(j,_,B)=>{let H=_.trim();if(U.has(H))return j;let L=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],V=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,F=H.match(V)?.[1],w=F&&((F in Z)||L.includes(F)),A=Boolean(F&&q.has(F)),R=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,N=H.match(R),M=N&&!L.includes(N[1])&&!(N[1]in Z);if(/^__[A-Z_]+__$/.test(H))return"";try{let T=c0(_,Z);if(A)return j;if(z&&!p9(H,Z))return j;if(T===void 0&&Z.__stx_buildMode==="compile"&&!z)return E$("expr",H);return T!==void 0&&T!==null?r0(String(T)):""}catch(T){if(A)return j;if(z&&!p9(H,Z))return j;if(M)return j;let I=T instanceof Error?T.message:String(T);return q0("Expression",`Error evaluating: {{ ${H} }}: ${I}`,Y,$,B,j)}});for(let j=0;j<W.length;j++)X=X.replace(`<!--__STX_SCRIPT_EXPR_${j}__-->`,()=>W[j]);for(let j=0;j<K.length;j++)X=X.replace(`<!--__STX_STYLE_${j}__-->`,()=>K[j]);return X}function i9($,Z,Y){if(!Z.trim())return $;let J=$,X=Z.trim();while(X.length>0){let Q=X.match(/^(\w+)/);if(!Q)break;let G=Q[1];X=X.substring(G.length).trim();let K=l5[G]||c5[G];if(!K)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(c9()).join(", ")}`);let W=[];if(X.startsWith(":")){let z=X.match(/^:([^|\s]+)/);if(z){let q=z[1].trim();try{let U=Number(q);W=[Number.isNaN(U)?q:U]}catch{W=[q]}X=X.substring(z[0].length).trim()}}else if(X.startsWith("(")){let z=1,q=1;while(z>0&&q<X.length){if(X[q]==="(")z++;if(X[q]===")")z--;q++}if(z===0){let U=X.substring(1,q-1).trim();if(U)try{if(U.startsWith("{")&&U.endsWith("}"))W=[c0(`(${U})`,Y,!0)];else{let j=[],_="",B=null,H=0,L=0,V=0,O=!1;for(let F=0;F<U.length;F++){let w=U[F];if(O){_+=w,O=!1;continue}if(w==="\\"){_+=w,O=!0;continue}if(B){if(_+=w,w===B)B=null;continue}if(w==='"'||w==="'"||w==="`"){B=w,_+=w;continue}if(w==="(")H++;else if(w===")")H--;else if(w==="[")L++;else if(w==="]")L--;else if(w==="{")V++;else if(w==="}")V--;if(w===","&&H===0&&L===0&&V===0){j.push(_),_="";continue}_+=w}if(_)j.push(_);W=j.map((F)=>{let w=F.trim();return c0(w,Y,!0)})}}catch{W=[U]}X=X.substring(q).trim()}}try{J=K(J,Y,...W)}catch(z){let q=z instanceof Error?z.message:String(z);throw Error(`Error applying filter '${G}': ${q}`)}if(X.startsWith("|"))X=X.substring(1).trim();else break}return J}function UG($){let Z=!1,Y="",J=0,X=0,Q=0,G=!1;for(let K=0;K<$.length;K++){let W=$[K],z=$[K+1];if(Z&&G){G=!1;continue}if(Z&&W==="\\"){G=!0;continue}if(G=!1,(W==='"'||W==="'"||W==="`")&&!G){if(!Z)Z=!0,Y=W;else if(W===Y)Z=!1,Y="";continue}if(Z&&Y==="`"&&W==="$"&&z==="{"){let q=1;K+=2;while(K<$.length&&q>0){if($[K]==="{")q++;else if($[K]==="}")q--;if(q>0)K++}continue}if(Z)continue;if(W==="(")J++;else if(W===")")J--;else if(W==="[")X++;else if(W==="]")X--;else if(W==="{")Q++;else if(W==="}")Q--;if(W==="|"&&J===0&&X===0&&Q===0){if(z==="|"){K++;continue}if(z==="="){K++;continue}return K}}return-1}function c0($,Z,Y=!1){try{let J=$.trim(),X=UG(J);if(X>0){let Q=J.substring(0,X).trim(),G=J.substring(X+1).trim(),K=c0(Q,Z,!0);return i9(K,G,Z)}if(!K0(J)){if(!Y)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${J}`);return $0(J,Z)}try{let Q=Object.keys(Z),G=Object.values(Z);return W0(J,Q)(...G)}catch{return $0(J,Z)}}catch(J){if(J instanceof ReferenceError){let X=/(\b\w+)\s+is not defined/.exec(J.message);if(X){let Q=X[1],G=jG(Q,Object.keys(Z));if(G&&G!==Q)J.message=`${J.message} \u2014 did you mean '${G}'?`}}if(!Y)console.error(`Error evaluating expression: ${$}`,J);throw J}}function jG($,Z){let Y=null;for(let X of Z){if(X===$)continue;let Q=_G($,X);if(Y===null||Q<Y.dist)Y={key:X,dist:Q}}if(!Y)return null;let J=Math.max($.length,Y.key.length);if(Y.dist<=2||Y.dist/J<=0.35)return Y.key;return null}function _G($,Z){if($===Z)return 0;if($.length===0)return Z.length;if(Z.length===0)return $.length;let[Y,J]=$.length<Z.length?[$,Z]:[Z,$],X=Array(Y.length+1),Q=Array(Y.length+1);for(let G=0;G<=Y.length;G++)X[G]=G;for(let G=1;G<=J.length;G++){Q[0]=G;for(let K=1;K<=Y.length;K++){let W=Y[K-1]===J[G-1]?0:1;Q[K]=Math.min(Q[K-1]+1,X[K]+1,X[K-1]+W)}for(let K=0;K<=Y.length;K++)X[K]=Q[K]}return X[Y.length]}function F7($){if(!$)return"";return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/&/g,"&")}var l5,m9,c5;var J1=b(()=>{w0();N0();x9();v1();l5={},m9=new Map;c5={uppercase:($,Z)=>{return $!==void 0&&$!==null?String($).toUpperCase():""},lowercase:($,Z)=>{return $!==void 0&&$!==null?String($).toLowerCase():""},capitalize:($,Z)=>{if($===void 0||$===null)return"";let Y=String($);return Y.charAt(0).toUpperCase()+Y.slice(1)},number:($,Z,Y=0)=>{if($===void 0||$===null)return"";try{let J=Number($);return Number.isNaN(J)?"":J.toFixed(Number.parseInt(String(Y),10))}catch{return""}},fmt:($,Z,Y="en-US")=>{if($===void 0||$===null)return"";try{let J=Number($);if(Number.isNaN(J))return String($);return J.toLocaleString(Y)}catch{return String($)}},join:($,Z,Y=",")=>{if(!Array.isArray($))return"";return $.join(String(Y))},escape:($,Z)=>{if($===void 0||$===null)return"";return r0(String($))},translate:($,Z,Y={})=>{if(!Z||!Z.__translations)return $;let J=Z.__translations,X=Z.__i18nConfig?.fallbackToKey??!0,Q=String($).split("."),G=J;for(let W of Q){if(G===void 0||G===null)break;G=G[W]}if(G===void 0||G===null)return X?$:"";let K=String(G);return Object.entries(Y).forEach(([W,z])=>{K=K.replace(KG(W),String(z))}),K},t:($,Z,Y={})=>{return c5.translate($,Z,Y)},truncate:($,Z,Y=50,J="...")=>{if($===void 0||$===null)return"";let X=String($);if(X.length<=Y)return X;if(Y<=J.length)return J.substring(0,Y);return X.substring(0,Y-J.length)+J},date:($,Z,Y="short",J="en-US")=>{if($===void 0||$===null)return"";try{let X=$ instanceof Date?$:new Date($);if(Number.isNaN(X.getTime()))return String($);let Q={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"},time:{timeStyle:"short"},datetime:{dateStyle:"short",timeStyle:"short"},iso:{}};if(Y==="iso")return X.toISOString();return new Intl.DateTimeFormat(J,Q[Y]||Q.short).format(X)}catch{return String($)}},currency:($,Z,Y="USD",J="en-US")=>{if($===void 0||$===null)return"";try{let X=Number($);if(Number.isNaN(X))return String($);return new Intl.NumberFormat(J,{style:"currency",currency:Y}).format(X)}catch{return String($)}},pluralize:($,Z,Y,J)=>{let X=Number($);if(Number.isNaN(X))return Y;let Q=J||`${Y}s`;return X===1?Y:Q},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 Y=String($);return Y.charAt(Y.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,Y=!1)=>{if($===void 0)return"undefined";if($===null)return"null";try{return Y?JSON.stringify($,null,2):JSON.stringify($)}catch{return String($)}},default:($,Z,Y="")=>{return $===void 0||$===null||$===""?Y:$},reverse:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return[...$].reverse();return String($).split("").reverse().join("")},slice:($,Z,Y=0,J)=>{if($===void 0||$===null)return"";if(Array.isArray($)||typeof $==="string")return $.slice(Y,J);return $},replace:($,Z,Y,J="")=>{if($===void 0||$===null)return"";let X=Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(X,"g"),()=>J)},stripTags:($,Z)=>{if($===void 0||$===null)return"";return String($).replace(/<[^>]*>/g,"")},urlencode:($,Z)=>{if($===void 0||$===null)return"";return encodeURIComponent(String($))},abs:($,Z)=>{let Y=Number($);return Number.isNaN(Y)?0:Math.abs(Y)},round:($,Z,Y=0)=>{let J=Number($);if(Number.isNaN(J))return 0;let X=10**Y;return Math.round(J*X)/X}}});function G5($="const",Z=[],Y){let J=Z.length?b$.filter((X)=>!Z.includes(X)):b$;if(Y!==void 0)J=J.filter((X)=>{let Q=X.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(^|[^\\w$])${Q}(?![\\w$])`).test(Y)});return`${$} { ${J.join(", ")} } = window.stx;`}var b$,o9;var i5=b(()=>{b$=["batch","computed","defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","defineStore","derived","effect","goBack","goForward","navigate","nextTick","onBeforeUnmount","onDestroy","onMount","onMounted","onUnmounted","provide","reactive","ref","registerStoresClient","state","useAsync","useClickOutside","useColorMode","useCookie","useCounter","useDark","useDebounce","useDebouncedValue","useEventListener","useFetch","useFocus","useHead","useId","useInterval","useLocalStorage","useMediaQuery","useMutation","useOptimistic","usePreferredContrast","usePreferredDark","usePreferredLight","usePreferredReducedMotion","useQuery","useReactiveProp","useRef","useRoute","useScrollLock","useSearchParams","useSeoMeta","useSessionStorage","useStore","useThrottle","useTimeout","useToggle","useWebSocket","watch","watchEffect","withDefaults"],o9=["onMount","onDestroy"]});class x1{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 Y=this.cache.keys().next().value;if(Y!==void 0)this.cache.delete(Y)}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 W5($,Z){if(Z?.includes("g"))return new RegExp($,Z);let Y=`${$}:${Z||""}`;if(!K5.has(Y)){if(K5.size>=BG){let J=K5.keys().next().value;if(J)K5.delete(J)}K5.set(Y,new RegExp($,Z))}return K5.get(Y)}class s9{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator($){let Z=Array.from(new Set($)),Y=Z.sort().join(","),J=this.pool.find((K)=>K.context.join(",")===Y);if(J)return J.func;let X=this.fnCache,Q=this.fnCacheMaxSize,G=(...K)=>{return(W)=>{try{let z=`${Y}:${W}`,q=X.get(z);if(!q){if(X.size>=Q){let U=X.keys().next().value;if(U)X.delete(U)}q=Function(...Z,`
|
|
756
|
+
`),K=G([]);if(Q.length===Z.length)return x9(K,Q,G);return x9((...q)=>{let z=Array(X.length);for(let U=0;U<X.length;U++)z[U]=q[X[U]];return K(...z)},Q,G,(q)=>{K=G(q)})}function x9($,Z,Y,J){let Q=/^(\w+) is not defined$/,G=$,K=[],W=new Set(Z);return(...q)=>{for(let z=0;z<=8;z++)try{return G(...q)}catch(U){let j=U instanceof Error?U.message:"",_=Q.exec(j);if(!(U instanceof ReferenceError)||!_)return;let B=_[1];if(W.has(B)||d9.has(B))return;W.add(B),K.push(B),G=Y(K),J?.(K)}return}}function b$($){let Z=$.trim(),Y=[/\beval\s*\(/i,/\bFunction\s*\(/i,/\bimport\s*\(/i,/\brequire\s*\(/i,/\bprocess\b/i,/\b__proto__\b/i,/\bconstructor\s*[.(]/i,/\bglobalThis\b/i,/\bwindow\b/i,/\bdocument\b/i,/\bfetch\s*\(/i,/\bBun\b/i,/\bDeno\b/i,/\bconsole\b/i,/\bthis\b/i,/\bReflect\b/i,/\bProxy\b/i,/\bprototype\b/i,/\.(bind|call|apply)\s*\(/i];for(let J of Y)if(J.test(Z))return!1;return!0}var JG,f9,g9,XG,h9,QG,d9;var A0=b(()=>{JG={maxSanitizeDepth:10,allowBracketNotation:!1},f9={...JG},g9=[/\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/],XG=new Set(["eval","Function","setTimeout","setInterval","setImmediate","process","require","import","exports","module","window","document","global","globalThis","constructor","prototype","Reflect","Proxy","Symbol","WeakMap","WeakSet","WeakRef","FinalizationRegistry","Generator","AsyncGenerator","delete","this"]),h9=new Set(["__proto__","constructor","prototype"]),QG=/[\w)\]]\s*\[\s*['"]/;d9=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 S$($,Z){let Y=zG++,J=`<!--__STX_${$.toUpperCase()}_${Y}__-->`;return UG.set(J,{type:$,expression:Z}),J}var zG=0,UG;var u9=b(()=>{UG=new Map});function i9($,Z,Y,J){Y.lastIndex=Z;let X=Y.exec($);if(!X||X.index!==Z)return-1;J.lastIndex=Y.lastIndex;let Q=J.exec($);if(!Q)return-1;return Q.index+Q[0].length}function V1($,Z){return i9($,Z,m9,p9)}function G5($,Z){return i9($,Z,l9,c9)}function c5($,Z){if(!$.startsWith("<!--",Z))return-1;let Y=$.indexOf("-->",Z+4);if(Y===-1)return-1;return Y+3}function jG($,Z){if($.startsWith("<!--",Z)){let Y=c5($,Z);return Y===-1?$.length:Y}for(let[Y,J]of[[m9,p9],[l9,c9]]){Y.lastIndex=Z;let X=Y.exec($);if(!X||X.index!==Z)continue;J.lastIndex=Y.lastIndex;let Q=J.exec($);return Q?Q.index+Q[0].length:$.length}return-1}function w7($,Z){let Y=[],J=0,X=$.length,Q=!1,G=null;while(J<X){let K=$[J];if(Q){if(G){if(K===G)G=null}else if(K==='"'||K==="'")G=K;else if(K===">")Q=!1;J++;continue}if(K!=="<"){J++;continue}let W=Z($,J);if(W>J){Y.push({start:J,end:W,token:$.slice(J,W)}),J=W;continue}let q=jG($,J);if(q>J){J=q;continue}if(/^<\/?[a-zA-Z]/.test($.slice(J,J+2)))Q=!0;J++}return Y}function J1($,Z,Y){let J=w7($,Z);if(J.length===0)return{output:$,tokens:[]};let X=J.map((K)=>K.token),Q="",G=0;for(let K=0;K<J.length;K++){let W=J[K];Q+=$.slice(G,W.start),Q+=Y(W.token,K),G=W.end}return Q+=$.slice(G),{output:Q,tokens:X}}function w1($){let{output:Z,tokens:Y}=J1($,V1,(J,X)=>`\x00STX_SCRIPT_${X}\x00`);return{output:Z,scripts:Y}}function i5($,Z){if(Z.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Y,J)=>Z[+J]??"")}var m9,p9,l9,c9;var f1=b(()=>{m9=/<script\b[^>]*>/iy,p9=/<\/script\s*>/ig,l9=/<style\b[^>]*>/iy,c9=/<\/style\s*>/ig});var t9={};a(t9,{usesSignalsInScript:()=>K5,unescapeHtml:()=>A7,registerFilters:()=>BG,registerFilter:()=>s9,processExpressions:()=>A1,interpolateScriptsInTemplate:()=>OG,interpolateScriptExpressions:()=>y$,getAllFilters:()=>r9,evaluateExpression:()=>i0,escapeHtml:()=>a0,defaultFilters:()=>o5,clearCustomFilters:()=>HG,applyFilters:()=>a9});function _G($){let Z=n9.get($);if(!Z){let Y=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${Y}(?!\\w)`,"g"),n9.set($,Z)}return Z.lastIndex=0,Z}function s9($,Z){if($ in o5)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);n5[$]=Z}function BG($){for(let[Z,Y]of Object.entries($))s9(Z,Y)}function r9(){return{...o5,...n5}}function HG(){for(let $ of Object.keys(n5))delete n5[$]}function a0($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function K5($){let{scripts:Z}=w1($);for(let Y of Z){let J=Y.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i);if(!J||/\bserver\b|\bsrc\s*=/.test(J[1]))continue;let X=J[2];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(X))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test($))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test($))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test($))return!0;return!1}function o9($,Z){let Y=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined","NaN","Infinity","isNaN","isFinite","window","document","console"],J=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),X="",Q=!1,G=0;for(let q=0;q<J.length;q++){let z=J[q];if(!Q&&z==="`"){Q=!0,G=0;continue}if(Q){if(z==="`"&&G===0){Q=!1;continue}if(z==="$"&&J[q+1]==="{"){G++,q++,X+=" ";continue}if(z==="}"&&G>0){G--;continue}if(G>0){X+=z;continue}continue}X+=z}J=X;let K=/(?<![a-zA-Z0-9_$])([a-zA-Z_$][a-zA-Z0-9_$]*)/g,W;while((W=K.exec(J))!==null){let q=W[1];if(!J.substring(0,W.index).trimEnd().endsWith(".")){if(!Y.includes(q)&&!(q in Z))return!1}}return!0}function y$($,Z){let Y=$;return Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(J,X)=>{try{let Q=i0(X,Z);if(Q===void 0)return J;return Q===null?"":String(Q)}catch{return J}}),Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(J,X)=>{let Q=X.trim();if(/^__[A-Z_]+__$/.test(Q))return J;try{let G=i0(X,Z);if(G===void 0)return J;return JSON.stringify(G)}catch{return J}}),Y}function OG($,Z,Y={}){let{output:J,scripts:X}=w1($),Q=X.map((G)=>{let K=G.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i),W=G.match(/^<script\b[^>]*>/i),q=G.search(/<\/script\s*>$/i);if(!K||!W||q===-1)return G;let z=K[1],U=K[2];if(/\bsrc\s*=/.test(z))return G;if(/\bdata-raw\b/.test(z))return G;if(/\btype\s*=\s*["']application\/json["']/.test(z))return G;if(Y.skipServer&&/\bserver\b/.test(z))return G;let j=y$(U,Z);return W[0]+j+G.slice(q)});return i5(J,Q)}function A1($,Z,Y,J){let X=$,Q=(j,_)=>{let B=G5(j,_);if(B===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(j.slice(_,B))?-1:B},G=(j,_,B,H)=>{let L=B.length,{output:V,tokens:O}=J1(j,_,(F,w)=>H(L+w));return B.push(...O),V},K=[];X=G(X,Q,K,(j)=>`<!--__STX_STYLE_${j}__-->`);let W=[];X=G(X,V1,W,(j)=>`<!--__STX_SCRIPT_EXPR_${j}__-->`);let q=J?.forceSignals===!0||Z?.__stx_force_signals===!0||Array.isArray(Z?.__stx_client_signal_names)||K5($),z=new Set(Array.isArray(Z?.__stx_client_signal_names)?Z.__stx_client_signal_names:[]),U=new Set(Array.isArray(Z?.__stx_preserved_client_expressions)?Z.__stx_preserved_client_expressions:[]);X=X.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(j,_,B)=>{try{let H=i0(_,Z);return H!==void 0&&H!==null?String(H):""}catch(H){let L=H instanceof Error?H.message:String(H);return U0("Expression",`Error evaluating: {{{ ${_.trim()}}}}: ${L}`,Y,$,B,j)}}),X=X.replace(/\{!!([\s\S]*?)!!\}/g,(j,_,B)=>{try{let H=i0(_,Z);if(H===void 0&&Z.__stx_buildMode==="compile")return S$("raw",_.trim());return H!==void 0&&H!==null?String(H):""}catch(H){if(Z.__stx_buildMode==="compile")return S$("raw",_.trim());let L=H instanceof Error?H.message:String(H);return U0("Expression",`Error evaluating: {!! ${_.trim()} !!}: ${L}`,Y,$,B,j)}}),X=G(X,V1,W,(j)=>`<!--__STX_SCRIPT_EXPR_${j}__-->`),X=G(X,Q,K,(j)=>`<!--__STX_STYLE_${j}__-->`),X=X.replace(/\{\{([\s\S]*?)\}\}/g,(j,_,B)=>{let H=_.trim();if(U.has(H))return j;let L=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],V=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,F=H.match(V)?.[1],w=F&&((F in Z)||L.includes(F)),A=Boolean(F&&z.has(F)),R=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,N=H.match(R),M=N&&!L.includes(N[1])&&!(N[1]in Z);if(/^__[A-Z_]+__$/.test(H))return"";try{let T=i0(_,Z);if(A)return j;if(q&&!o9(H,Z))return j;if(T===void 0&&Z.__stx_buildMode==="compile"&&!q)return S$("expr",H);return T!==void 0&&T!==null?a0(String(T)):""}catch(T){if(A)return j;if(q&&!o9(H,Z))return j;if(M)return j;let I=T instanceof Error?T.message:String(T);return U0("Expression",`Error evaluating: {{ ${H} }}: ${I}`,Y,$,B,j)}});for(let j=0;j<W.length;j++)X=X.replace(`<!--__STX_SCRIPT_EXPR_${j}__-->`,()=>W[j]);for(let j=0;j<K.length;j++)X=X.replace(`<!--__STX_STYLE_${j}__-->`,()=>K[j]);return X}function a9($,Z,Y){if(!Z.trim())return $;let J=$,X=Z.trim();while(X.length>0){let Q=X.match(/^(\w+)/);if(!Q)break;let G=Q[1];X=X.substring(G.length).trim();let K=n5[G]||o5[G];if(!K)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(r9()).join(", ")}`);let W=[];if(X.startsWith(":")){let q=X.match(/^:([^|\s]+)/);if(q){let z=q[1].trim();try{let U=Number(z);W=[Number.isNaN(U)?z:U]}catch{W=[z]}X=X.substring(q[0].length).trim()}}else if(X.startsWith("(")){let q=1,z=1;while(q>0&&z<X.length){if(X[z]==="(")q++;if(X[z]===")")q--;z++}if(q===0){let U=X.substring(1,z-1).trim();if(U)try{if(U.startsWith("{")&&U.endsWith("}"))W=[i0(`(${U})`,Y,!0)];else{let j=[],_="",B=null,H=0,L=0,V=0,O=!1;for(let F=0;F<U.length;F++){let w=U[F];if(O){_+=w,O=!1;continue}if(w==="\\"){_+=w,O=!0;continue}if(B){if(_+=w,w===B)B=null;continue}if(w==='"'||w==="'"||w==="`"){B=w,_+=w;continue}if(w==="(")H++;else if(w===")")H--;else if(w==="[")L++;else if(w==="]")L--;else if(w==="{")V++;else if(w==="}")V--;if(w===","&&H===0&&L===0&&V===0){j.push(_),_="";continue}_+=w}if(_)j.push(_);W=j.map((F)=>{let w=F.trim();return i0(w,Y,!0)})}}catch{W=[U]}X=X.substring(z).trim()}}try{J=K(J,Y,...W)}catch(q){let z=q instanceof Error?q.message:String(q);throw Error(`Error applying filter '${G}': ${z}`)}if(X.startsWith("|"))X=X.substring(1).trim();else break}return J}function LG($){let Z=!1,Y="",J=0,X=0,Q=0,G=!1;for(let K=0;K<$.length;K++){let W=$[K],q=$[K+1];if(Z&&G){G=!1;continue}if(Z&&W==="\\"){G=!0;continue}if(G=!1,(W==='"'||W==="'"||W==="`")&&!G){if(!Z)Z=!0,Y=W;else if(W===Y)Z=!1,Y="";continue}if(Z&&Y==="`"&&W==="$"&&q==="{"){let z=1;K+=2;while(K<$.length&&z>0){if($[K]==="{")z++;else if($[K]==="}")z--;if(z>0)K++}continue}if(Z)continue;if(W==="(")J++;else if(W===")")J--;else if(W==="[")X++;else if(W==="]")X--;else if(W==="{")Q++;else if(W==="}")Q--;if(W==="|"&&J===0&&X===0&&Q===0){if(q==="|"){K++;continue}if(q==="="){K++;continue}return K}}return-1}function i0($,Z,Y=!1){try{let J=$.trim(),X=LG(J);if(X>0){let Q=J.substring(0,X).trim(),G=J.substring(X+1).trim(),K=i0(Q,Z,!0);return a9(K,G,Z)}if(!W0(J)){if(!Y)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${J}`);return Z0(J,Z)}try{let Q=Object.keys(Z),G=Object.values(Z);return q0(J,Q)(...G)}catch{return Z0(J,Z)}}catch(J){if(J instanceof ReferenceError){let X=/(\b\w+)\s+is not defined/.exec(J.message);if(X){let Q=X[1],G=FG(Q,Object.keys(Z));if(G&&G!==Q)J.message=`${J.message} \u2014 did you mean '${G}'?`}}if(!Y)console.error(`Error evaluating expression: ${$}`,J);throw J}}function FG($,Z){let Y=null;for(let X of Z){if(X===$)continue;let Q=VG($,X);if(Y===null||Q<Y.dist)Y={key:X,dist:Q}}if(!Y)return null;let J=Math.max($.length,Y.key.length);if(Y.dist<=2||Y.dist/J<=0.35)return Y.key;return null}function VG($,Z){if($===Z)return 0;if($.length===0)return Z.length;if(Z.length===0)return $.length;let[Y,J]=$.length<Z.length?[$,Z]:[Z,$],X=Array(Y.length+1),Q=Array(Y.length+1);for(let G=0;G<=Y.length;G++)X[G]=G;for(let G=1;G<=J.length;G++){Q[0]=G;for(let K=1;K<=Y.length;K++){let W=Y[K-1]===J[G-1]?0:1;Q[K]=Math.min(Q[K-1]+1,X[K]+1,X[K-1]+W)}for(let K=0;K<=Y.length;K++)X[K]=Q[K]}return X[Y.length]}function A7($){if(!$)return"";return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/&/g,"&")}var n5,n9,o5;var X1=b(()=>{A0();M0();u9();f1();n5={},n9=new Map;o5={uppercase:($,Z)=>{return $!==void 0&&$!==null?String($).toUpperCase():""},lowercase:($,Z)=>{return $!==void 0&&$!==null?String($).toLowerCase():""},capitalize:($,Z)=>{if($===void 0||$===null)return"";let Y=String($);return Y.charAt(0).toUpperCase()+Y.slice(1)},number:($,Z,Y=0)=>{if($===void 0||$===null)return"";try{let J=Number($);return Number.isNaN(J)?"":J.toFixed(Number.parseInt(String(Y),10))}catch{return""}},fmt:($,Z,Y="en-US")=>{if($===void 0||$===null)return"";try{let J=Number($);if(Number.isNaN(J))return String($);return J.toLocaleString(Y)}catch{return String($)}},join:($,Z,Y=",")=>{if(!Array.isArray($))return"";return $.join(String(Y))},escape:($,Z)=>{if($===void 0||$===null)return"";return a0(String($))},translate:($,Z,Y={})=>{if(!Z||!Z.__translations)return $;let J=Z.__translations,X=Z.__i18nConfig?.fallbackToKey??!0,Q=String($).split("."),G=J;for(let W of Q){if(G===void 0||G===null)break;G=G[W]}if(G===void 0||G===null)return X?$:"";let K=String(G);return Object.entries(Y).forEach(([W,q])=>{K=K.replace(_G(W),String(q))}),K},t:($,Z,Y={})=>{return o5.translate($,Z,Y)},truncate:($,Z,Y=50,J="...")=>{if($===void 0||$===null)return"";let X=String($);if(X.length<=Y)return X;if(Y<=J.length)return J.substring(0,Y);return X.substring(0,Y-J.length)+J},date:($,Z,Y="short",J="en-US")=>{if($===void 0||$===null)return"";try{let X=$ instanceof Date?$:new Date($);if(Number.isNaN(X.getTime()))return String($);let Q={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"},time:{timeStyle:"short"},datetime:{dateStyle:"short",timeStyle:"short"},iso:{}};if(Y==="iso")return X.toISOString();return new Intl.DateTimeFormat(J,Q[Y]||Q.short).format(X)}catch{return String($)}},currency:($,Z,Y="USD",J="en-US")=>{if($===void 0||$===null)return"";try{let X=Number($);if(Number.isNaN(X))return String($);return new Intl.NumberFormat(J,{style:"currency",currency:Y}).format(X)}catch{return String($)}},pluralize:($,Z,Y,J)=>{let X=Number($);if(Number.isNaN(X))return Y;let Q=J||`${Y}s`;return X===1?Y:Q},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 Y=String($);return Y.charAt(Y.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,Y=!1)=>{if($===void 0)return"undefined";if($===null)return"null";try{return Y?JSON.stringify($,null,2):JSON.stringify($)}catch{return String($)}},default:($,Z,Y="")=>{return $===void 0||$===null||$===""?Y:$},reverse:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return[...$].reverse();return String($).split("").reverse().join("")},slice:($,Z,Y=0,J)=>{if($===void 0||$===null)return"";if(Array.isArray($)||typeof $==="string")return $.slice(Y,J);return $},replace:($,Z,Y,J="")=>{if($===void 0||$===null)return"";let X=Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(X,"g"),()=>J)},stripTags:($,Z)=>{if($===void 0||$===null)return"";return String($).replace(/<[^>]*>/g,"")},urlencode:($,Z)=>{if($===void 0||$===null)return"";return encodeURIComponent(String($))},abs:($,Z)=>{let Y=Number($);return Number.isNaN(Y)?0:Math.abs(Y)},round:($,Z,Y=0)=>{let J=Number($);if(Number.isNaN(J))return 0;let X=10**Y;return Math.round(J*X)/X}}});function W5($="const",Z=[],Y){let J=Z.length?P$.filter((X)=>!Z.includes(X)):P$;if(Y!==void 0)J=J.filter((X)=>{let Q=X.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(^|[^\\w$])${Q}(?![\\w$])`).test(Y)});return`${$} { ${J.join(", ")} } = window.stx;`}var P$,e9;var s5=b(()=>{P$=["batch","computed","defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","defineStore","derived","effect","goBack","goForward","navigate","nextTick","onBeforeUnmount","onDestroy","onMount","onMounted","onUnmounted","provide","reactive","ref","registerStoresClient","state","useAsync","useClickOutside","useColorMode","useCookie","useCounter","useDark","useDebounce","useDebouncedValue","useEventListener","useFetch","useFocus","useHead","useId","useInterval","useLocalStorage","useMediaQuery","useMutation","useOptimistic","usePreferredContrast","usePreferredDark","usePreferredLight","usePreferredReducedMotion","useQuery","useReactiveProp","useRef","useRoute","useScrollLock","useSearchParams","useSeoMeta","useSessionStorage","useStore","useThrottle","useTimeout","useToggle","useWebSocket","watch","watchEffect","withDefaults"],e9=["onMount","onDestroy"]});class g1{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 Y=this.cache.keys().next().value;if(Y!==void 0)this.cache.delete(Y)}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 z5($,Z){if(Z?.includes("g"))return new RegExp($,Z);let Y=`${$}:${Z||""}`;if(!q5.has(Y)){if(q5.size>=wG){let J=q5.keys().next().value;if(J)q5.delete(J)}q5.set(Y,new RegExp($,Z))}return q5.get(Y)}class $8{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator($){let Z=Array.from(new Set($)),Y=Z.sort().join(","),J=this.pool.find((K)=>K.context.join(",")===Y);if(J)return J.func;let X=this.fnCache,Q=this.fnCacheMaxSize,G=(...K)=>{return(W)=>{try{let q=`${Y}:${W}`,z=X.get(q);if(!z){if(X.size>=Q){let U=X.keys().next().value;if(U)X.delete(U)}z=Function(...Z,`
|
|
757
757
|
'use strict';
|
|
758
758
|
try {
|
|
759
759
|
return ${W};
|
|
@@ -764,33 +764,33 @@ catch (e) {
|
|
|
764
764
|
}
|
|
765
765
|
throw e;
|
|
766
766
|
}
|
|
767
|
-
`),X.set(z
|
|
767
|
+
`),X.set(q,z)}return z(...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 Z8{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,Y]of Object.entries($))this.setBudget(Z,Y)}removeBudget($){this.budgets.delete($)}getBudgets(){let $={};for(let[Z,Y]of this.budgets.entries())$[Z]=Y;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 Y=performance.now(),J=Z(),X=performance.now()-Y;return this.recordTime($,X),this.checkBudget($,X),J}async timeAsync($,Z){if(!this.enabled)return Z();let Y=performance.now(),J=await Z(),X=performance.now()-Y;return this.recordTime($,X),this.checkBudget($,X),J}checkBudget($,Z){let Y=this.budgets.get($);if(!Y)return;let J=Z/Y.maxTime*100,X=Y.warnThreshold!==void 0?Z>=Y.maxTime*Y.warnThreshold&&Z<Y.maxTime:!1,Q=Z>=Y.maxTime;if(!X&&!Q)return;let G={label:$,actualTime:Z,budgetTime:Y.maxTime,exceedancePercent:J,timestamp:new Date,isWarning:X};this.violations.push(G);while(this.violations.length>this.maxViolations)this.violations.shift();for(let W of this.violationHandlers)try{W(G)}catch{}let K=X?`[Performance Warning] "${$}" took ${Z.toFixed(2)}ms (${J.toFixed(1)}% of ${Y.maxTime}ms budget)`:`[Performance Budget Exceeded] "${$}" took ${Z.toFixed(2)}ms (exceeded ${Y.maxTime}ms budget by ${(J-100).toFixed(1)}%)`;switch(Y.action){case"log":console.log(K);break;case"warn":console.warn(K);break;case"error":console.error(K);break;case"throw":if(Q)throw Error(K);else console.warn(K);break}}recordTime($,Z){let Y=this.metrics.get($);if(Y)Y.count++,Y.totalTime+=Z,Y.maxTime=Math.max(Y.maxTime,Z),Y.minTime=Math.min(Y.minTime,Z);else this.metrics.set($,{count:1,totalTime:Z,maxTime:Z,minTime:Z})}getStats($){if($){let Y=this.metrics.get($);if(!Y)return{};let J=this.budgets.get($);return{count:Y.count,avgTime:Y.totalTime/Y.count,totalTime:Y.totalTime,maxTime:Y.maxTime,minTime:Y.minTime,budget:J?.maxTime,budgetUtilization:J?Y.totalTime/Y.count/J.maxTime*100:void 0}}let Z={};for(let[Y,J]of this.metrics.entries()){let X=this.budgets.get(Y);Z[Y]={count:J.count,avgTime:J.totalTime/J.count,totalTime:J.totalTime,maxTime:J.maxTime,minTime:J.minTime,budget:X?.maxTime,budgetUtilization:X?J.totalTime/J.count/X.maxTime*100:void 0}}return Z}getViolations($){if($)return this.violations.filter((Z)=>Z.label===$);return[...this.violations]}getViolationStats(){let $={},Z=0,Y=0;for(let J of this.violations)if($[J.label]=($[J.label]||0)+1,J.isWarning)Z++;else Y++;return{total:this.violations.length,byLabel:$,warnings:Z,errors:Y}}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 AG(){if(!R7)R7=new Z8;return R7}var q5,wG=500,LH,R7=null,Y8;var U5=b(()=>{q5=new Map;LH=new $8;Y8=new Proxy({},{get($,Z){return AG()[Z]}})});function J8($,Z=""){let Y=`${$}${Z}`,J=0;for(let X=0;X<Y.length;X++){let Q=Y.charCodeAt(X);J=(J<<5)-J+Q,J=J&J}return`stx-${Math.abs(J).toString(36)}`}function X8($,Z,Y={}){let{prefix:J="",preserveHost:X=!0,scopeKeyframes:Q=!0,scopeCustomProperties:G=!1}=Y;if(!$.trim())return"";let K=N7($),W=[],q=new Map;if(Q)for(let z of K){let U=z.selector.match(/@keyframes\s+([a-z_-][a-z0-9_-]*)/i);if(U){let j=U[1],_=`${Z}_${j}`;q.set(j,_)}}for(let z of K){let U=Q8(z,Z,J,X,q,G);W.push(U)}return W.join(`
|
|
768
768
|
|
|
769
|
-
`)}function
|
|
770
|
-
`)})}else Z.push({selector:`@${
|
|
769
|
+
`)}function N7($){let Z=[],Y=$.replace(/\/\*[\s\S]*?\*\//g,""),J=0,X="",Q=!1,G="";for(let K=0;K<Y.length;K++){let W=Y[K];if(W==="@"&&J===0)Q=!0;if(W==="{")J++;else if(W==="}"){if(J--,J===0){if(Q){G+=W;let q=G.match(/@([a-z-]+)\s*([^{]*)\{([\s\S]*)\}/i);if(q){let[,z,U,j]=q;if(z==="keyframes")Z.push({selector:`@keyframes ${U.trim()}`,declarations:j.trim()});else if(z==="media"||z==="supports"||z==="container"){let _=N7(j);Z.push({selector:`@${z} ${U.trim()}`,declarations:_.map((B)=>`${B.selector} { ${B.declarations} }`).join(`
|
|
770
|
+
`)})}else Z.push({selector:`@${z} ${U.trim()}`,declarations:j.trim()})}G="",Q=!1}else if(X.trim()){X+=W;let q=X.match(/([^{]+)\{([^}]*)\}/);if(q)Z.push({selector:q[1].trim(),declarations:q[2].trim()});X=""}continue}}if(Q)G+=W;else X+=W}return Z}function Q8($,Z,Y,J,X,Q){let{selector:G,declarations:K}=$;if(G.startsWith("@")){if(G.startsWith("@keyframes")){let z=G.replace("@keyframes ","").trim();return`@keyframes ${X.get(z)||z} { ${K} }`}if(G.startsWith("@media")||G.startsWith("@supports")||G.startsWith("@container")){let U=N7(`x { ${K} }`.replace(/x \{ /,"").replace(/ \}$/,"")).map((j)=>Q8(j,Z,Y,J,X,Q)).join(`
|
|
771
771
|
`);return`${G} {
|
|
772
772
|
${U}
|
|
773
|
-
}`}return`${G} { ${K} }`}let W=
|
|
774
|
-
`)}function
|
|
775
|
-
`,""}),headContent:Z.trim()}}function
|
|
776
|
-
`);for(let X of J){let Q=Y,G=null,K=!1;for(let W=0;W<X.length;W++){let
|
|
773
|
+
}`}return`${G} { ${K} }`}let W=RG(G,Z,Y,J),q=K;for(let[z,U]of X)q=q.replace(new RegExp(`\\b${z}\\b`,"g"),U);if(Q)q=q.replace(/--([a-z-]+)/gi,`--${Z}-$1`);return`${W} { ${q} }`}function RG($,Z,Y,J){let X=$.split(",").map((G)=>G.trim()),Q=[];for(let G of X){if(G.startsWith(":host")){if(J)Q.push(G);else{let q=G.replace(/:host(\([^)]*\))?/,`.${Z}$1`);Q.push(q)}continue}if(G.includes("::slotted")){Q.push(G);continue}if(G===":root"){Q.push(`:root .${Z}`);continue}let K=Y?`${Y} .${Z}`:`.${Z}`;Q.push(`${K} ${G}`);let W=NG(G,Z);if(W)Q.push(Y?`${Y} ${W}`:W)}return Q.join(", ")}function NG($,Z){let Y=0,J=$.length;for(let W=0;W<$.length;W++){let q=$[W];if(q==="["||q==="(")Y++;else if(q==="]"||q===")")Y--;else if(Y===0&&(q===" "||q===">"||q==="+"||q==="~")){J=W;break}}let X=$.slice(0,J),Q=$.slice(J);if(!X)return"";let G=X.length,K=0;for(let W=0;W<X.length;W++){let q=X[W];if(q==="["||q==="(")K++;else if(q==="]"||q===")")K--;else if(Y===0&&K===0&&q===":"){G=W;break}}return`${X.slice(0,G)}.${Z}${X.slice(G)}${Q}`}function K8($){let Z=new Set;return $.replace(/<style\b[^>]*\bdata-stx-scoped(?:=(?:"[^"]*"|'[^']*'|[^\s>]+))?[^>]*>[\s\S]*?<\/style>\s*/gi,(Y)=>{let J=Y.trim();if(Z.has(J))return"";return Z.add(J),Y})}function C$($,Z){if(!MG.test($))return{html:$,hasScoped:!1};let Y=J8(Z),J=`data-v-${Y}`,X=$,Q=new RegExp(`<style\\s+([^>]*${M7}[^>]*)>([\\s\\S]*?)</style>`,"gi"),G=!1;if(X=X.replace(Q,(K,W,q)=>{G=!0;let z=TG(q,J),U=W.replace(new RegExp(M7,"gi"),"").trim(),j=U?` ${U}`:"";return`<style data-stx-scoped="${Y}"${j}>${z}</style>`}),!G)return{html:$,hasScoped:!1};return X=DG(X,J),{html:X,hasScoped:!0}}function TG($,Z){return X8($,"__SCOPE_PLACEHOLDER__",{preserveHost:!1}).replace(/\.(__SCOPE_PLACEHOLDER__) /g,`[${Z}] `).replace(/\.(__SCOPE_PLACEHOLDER__)/g,`[${Z}]`)}function DG($,Z){let Y=J1($,(X,Q)=>{let G=V1(X,Q);return G>Q?G:G5(X,Q)},(X,Q)=>IG(Q)),J=EG(Y.output,Z);return G8.lastIndex=0,J.replace(G8,(X,Q)=>Y.tokens[Number(Q)])}function EG($,Z){let Y=new Set(["script","style","template","html","head","body","meta","link","title","base","!doctype","!DOCTYPE"]);return $.replace(/<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*)?\/?>/g,(J,X,Q)=>{if(Y.has(X.toLowerCase()))return J;if(J.includes(Z))return J;if(X.toLowerCase()==="style"||X.toLowerCase()==="script")return J;if(Q)return J.replace(`<${X}${Q}`,`<${X} ${Z}${Q}`);if(J.endsWith("/>"))return`<${X} ${Z} />`;return`<${X} ${Z}>`})}var M7,MG,IG=($)=>`\x00stx-scope-mask-${$}\x00`,G8;var T7=b(()=>{f1();M7=String.raw`(?<![\w-])scoped(?![\w-])`,MG=new RegExp(`<style\\s+[^>]*${M7}`,"i");G8=/\u0000stx-scope-mask-(\d+)\u0000/g});function bG($){let Z=$.replace(/^<template\b/i,"").replace(/>$/,"");return kG.test(Z)}function v$($){r5.lastIndex=0;let Z;while((Z=r5.exec($))!==null){if(Z[0].startsWith("</")||bG(Z[0]))continue;let Y=Z.index,J=r5.lastIndex,X=1,Q;while((Q=r5.exec($))!==null)if(Q[0].startsWith("</")){if(X--,X===0){let G=Q.index;return{start:Y,openEnd:J,closeStart:G,end:r5.lastIndex,content:$.slice(J,G)}}}else X++;return null}return null}var r5,kG;var I7=b(()=>{r5=/<\/?template\b[^>]*>/gi,kG=/(?:^|\s)(?:id\s*=|(?:x-|[@:])(?:for|if|else(?:-if)?)(?=\s|=|$)|#[\w-]+(?:\s*=|\s|$)|v-slot(?::[\w-]+)?(?=\s|=|$)|slot\s*=)/i});var W8=()=>{};function f0($,Z,Y,J=0){let X=0,Q=J,G=null,K=0,W=!1;while(Q<$.length){let q=$[Q];if(G&&W){W=!1,Q++;continue}if(G&&q==="\\"){W=!0,Q++;continue}if(W=!1,(q==='"'||q==="'"||q==="`")&&!G){G=q,Q++;continue}if(q===G&&G!=="`"){G=null,Q++;continue}if(G==="`"&&q==="$"&&$[Q+1]==="{"){K++,Q+=2;continue}if(K>0&&q==="}"){K--,Q++;continue}if(q==="`"&&G==="`"&&K===0){G=null,Q++;continue}if(G){Q++;continue}if(q===Z)X++;else if(q===Y){if(X--,X===0)return Q}Q++}return-1}var k7={};a(k7,{useTitle:()=>vG,useSeoMeta:()=>q8,usePageTitle:()=>vG,useHead:()=>E7,seoMetaToHeadConfig:()=>f$,resetHead:()=>PG,renderHtmlAttrs:()=>fG,renderHead:()=>xG,renderBodyAttrs:()=>gG,processTitleDirective:()=>uG,processMetaDirective:()=>mG,processHeadDirective:()=>dG,mergeHeadConfigs:()=>j5,getPageMeta:()=>yG,getHead:()=>D7,definePageMeta:()=>CG,applyHead:()=>hG});function D7(){return R1}function yG(){return x$}function PG(){R1={},SG.length=0,x$={}}function E7($){R1=j5(R1,$)}function j5($,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 q8($){E7(f$($))}function f$($){let Z=[];if($.description)Z.push({name:"description",content:$.description});if($.keywords){let W=Array.isArray($.keywords)?$.keywords.join(", "):$.keywords;Z.push({name:"keywords",content:W})}if($.author)Z.push({name:"author",content:$.author});if($.robots)Z.push({name:"robots",content:$.robots});let Y=$.ogTitle??$.title,J=$.ogDescription??$.description;if(Y)Z.push({property:"og:title",content:Y});if(J)Z.push({property:"og:description",content:J});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 X=$.twitterTitle??$.title,Q=$.twitterDescription??$.description,G=$.twitterImage??$.ogImage;if($.twitterCard)Z.push({name:"twitter:card",content:$.twitterCard});if(X)Z.push({name:"twitter:title",content:X});if(Q)Z.push({name:"twitter:description",content:Q});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 W of $.articleTags)Z.push({property:"article:tag",content:W});let K=[];if($.canonical)K.push({rel:"canonical",href:$.canonical});return{title:$.title,titleTemplate:$.titleTemplate,meta:Z,link:K}}function CG($){if(x$={...x$,...$},$.title||$.description)q8({title:$.title,description:$.description})}function vG($){let Z=typeof $==="function"?$():$;E7({title:Z})}function xG($=R1){let Z=[];if($.title){let Y=$.title;if($.titleTemplate)Y=typeof $.titleTemplate==="function"?$.titleTemplate(Y):$.titleTemplate.replace("%s",Y);Z.push(`<title>${h1(Y)}</title>`)}if($.base){let Y=Object.entries($.base).map(([J,X])=>`${J}="${h1(X)}"`).join(" ");Z.push(`<base ${Y}>`)}for(let Y of $.meta||[]){let J=Object.entries(Y).filter(([X,Q])=>Q!==void 0).map(([X,Q])=>{return`${X==="httpEquiv"?"http-equiv":X}="${h1(String(Q))}"`}).join(" ");Z.push(`<meta ${J}>`)}for(let Y of $.link||[]){let J=Object.entries(Y).filter(([X,Q])=>Q!==void 0).map(([X,Q])=>`${X}="${h1(String(Q))}"`).join(" ");Z.push(`<link ${J}>`)}for(let Y of $.script||[]){let{content:J,...X}=Y,Q=Object.entries(X).filter(([G,K])=>K!==void 0).map(([G,K])=>{if(typeof K==="boolean")return K?G:"";return`${G}="${h1(String(K))}"`}).filter(Boolean).join(" ");if(J)Z.push(`<script ${Q}>${J}</script>`);else Z.push(`<script ${Q}></script>`)}for(let Y of $.style||[]){let J=Y.type?` type="${Y.type}"`:"";Z.push(`<style${J}>${Y.content}</style>`)}return Z.join(`
|
|
774
|
+
`)}function fG($=R1){if(!$.htmlAttrs)return"";return Object.entries($.htmlAttrs).map(([Z,Y])=>`${Z}="${h1(Y)}"`).join(" ")}function gG($=R1){if(!$.bodyAttrs)return"";return Object.entries($.bodyAttrs).map(([Z,Y])=>`${Z}="${h1(Y)}"`).join(" ")}function h1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function hG($=R1){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 Y=Z.name?`meta[name="${Z.name}"]`:Z.property?`meta[property="${Z.property}"]`:null;if(Y){let J=document.querySelector(Y);if(!J){if(J=document.createElement("meta"),Z.name)J.setAttribute("name",Z.name);if(Z.property)J.setAttribute("property",Z.property);document.head.appendChild(J)}J.setAttribute("content",Z.content)}}for(let Z of $.link||[]){let Y=`link[rel="${Z.rel}"]${Z.href?`[href="${Z.href}"]`:""}`,J=document.querySelector(Y);if(!J)J=document.createElement("link"),document.head.appendChild(J);for(let[X,Q]of Object.entries(Z))if(Q!==void 0)J.setAttribute(X,String(Q))}if($.htmlAttrs)for(let[Z,Y]of Object.entries($.htmlAttrs))document.documentElement.setAttribute(Z,Y);if($.bodyAttrs)for(let[Z,Y]of Object.entries($.bodyAttrs))document.body.setAttribute(Z,Y)}function dG($){let Z="";return{content:$.replace(/@head\s*([\s\S]*?)@endhead/g,(J,X)=>{return Z+=X.trim()+`
|
|
775
|
+
`,""}),headContent:Z.trim()}}function uG($,Z){return $.replace(/@title\s*\(\s*(?:(['"`])(.+?)\1|([^)]+))\s*\)/g,(Y,J,X,Q)=>{let G=J?X:Z[(Q||"").trim()]??Q,K=Z.__stx_runtime_head??{};return Z.__stx_runtime_head=j5(K,{title:G}),""})}function mG($,Z){return $.replace(/@meta\s*\(\s*(['"`])(.+?)\1\s*,\s*(?:(['"`])(.+?)\3|([^)]+))\s*\)/g,(Y,J,X,Q,G,K)=>{let W=Q?G:K,q=Q?W:Z[(W||"").trim()]??W,U=X.includes(":")?{property:X,content:q}:{name:X,content:q},j=Z.__stx_runtime_head??{};return Z.__stx_runtime_head=j5(j,{meta:[U]}),""})}var R1,SG,x$;var a5=b(()=>{R1={},SG=[],x$={}});var g$={};a(g$,{stripTypeScript:()=>B8,splitDeclaration:()=>F8,isCompleteImport:()=>H8,hasVariables:()=>A8,extractVariables:()=>d1,extractScriptFromTemplate:()=>w8,convertToCommonJS:()=>S7});import _5 from"path";import t5 from"process";function pG($){let Z=[],Y=0,J=$.split(`
|
|
776
|
+
`);for(let X of J){let Q=Y,G=null,K=!1;for(let W=0;W<X.length;W++){let q=X[W];if(K){K=!1;continue}if(q==="\\"){K=!0;continue}if(G){if(q===G)G=null;continue}if(q==="'"||q==='"'||q==="`"){G=q;continue}if(q==="/"&&W+1<X.length&&X[W+1]==="/")break;if(q==="{")Y++;else if(q==="}")Y--}if(Q===0){let W=X.match(/(?:const|let|var)\s+(\w+)\s*=/);if(W)Z.push(W[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(X)){let q=X.match(/(?:const|let|var)\s+(\w+)/);if(q)Z.push(q[1])}else{let q=X.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(q){let U=q[1].slice(1,-1).split(",").map((j)=>{let _=j.split(":");return(_.length>1?_[1]:_[0]).trim()}).filter((j)=>/^\w+$/.test(j));Z.push(...U)}}}}return[...new Set(Z)]}function B8($){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 Y(J){if(!J.includes(":"))return J;let X=[],Q="",G=0,K=0,W=null;for(let q=0;q<J.length;q++){let z=J[q];if(W){if(Q+=z,z===W)W=null;continue}if(z==='"'||z==="'"||z==="`"){W=z,Q+=z;continue}if(z==="<")G++;else if(z===">"&&G>0)G--;else if(z==="(")K++;else if(z===")")K--;if(z===","&&G===0&&K===0){X.push(Q),Q="";continue}Q+=z}if(Q)X.push(Q);return X.map((q)=>{let z=q.trim(),U=z.startsWith("..."),j=U?z.slice(3):z,_=-1,B=0;for(let A=0;A<j.length;A++)if(j[A]==="<")B++;else if(j[A]===">")B--;else if(j[A]===":"&&B===0){_=A;break}if(_===-1)return q;let L=j.substring(0,_).trim().replace(/\?$/,""),V=j.substring(_+1),O=-1,F=0;for(let A=0;A<V.length;A++)if(V[A]==="<")F++;else if(V[A]===">")F--;else if(V[A]==="="&&F===0){O=A;break}let w=U?"...":"";if(O!==-1)return`${w}${L} = ${V.substring(O+1).trim()}`;return`${w}${L}`}).join(", ")}Z=Z.replace(/\b(function\s+\w*\s*)\(([^)]*)\)/g,(J,X,Q)=>{if(!Q.includes(":"))return J;return`${X}(${Y(Q)})`});{let J=/\b(function\s+\w*\s*)\(/g,X,Q=[];while((X=J.exec(Z))!==null){let G=X.index+X[0].length-1,K=1,W=G+1,q=0,z=null;while(W<Z.length&&K>0){let _=Z[W];if(z){if(_===z)z=null;W++;continue}if(_==='"'||_==="'"||_==="`"){z=_,W++;continue}if(_==="<")q++;else if(_===">"&&q>0)q--;else if(q===0){if(_==="(")K++;else if(_===")")K--}if(K>0)W++}if(K!==0)continue;let U=Z.substring(G+1,W);if(!U.includes(":"))continue;let j=Y(U);Q.push({start:G+1,end:W,replacement:j})}for(let G=Q.length-1;G>=0;G--){let{start:K,end:W,replacement:q}=Q[G];Z=Z.substring(0,K)+q+Z.substring(W)}}return Z=Z.replace(/\(([^)]*)\)\s*(?::\s*[^=]+)?\s*=>/g,(J,X)=>{if(!X.includes(":"))return J;if(X.includes("{")||X.includes("}"))return J;return`(${X.split(",").map((G)=>{let[K,...W]=G.split("="),q=K.split(":")[0].trim();if(W.length>0)return`${q} = ${W.join("=").trim()}`;return q}).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|defineEmits|defineSlots|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,`
|
|
777
777
|
|
|
778
|
-
`),Z}async function
|
|
779
|
-
`),
|
|
778
|
+
`),Z}async function d1($,Z,Y,J={}){if(!$.trim())return;let X;try{let C=new Bun.Transpiler({loader:"ts",target:"browser",define:c0()}),P=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");P=P.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),X=C.transformSync(P)}catch{X=B8($)}let Q={exports:{}},G=Q.exports,K=t5.cwd(),W={},q=[...X.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((C)=>C[1]).filter((C)=>!C.startsWith("node:")&&!C.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(C));for(let C of q)try{let P=_5.resolve(K,"node_modules",C),x=_5.join(P,"package.json"),m=JSON.parse(_0("fs").readFileSync(x,"utf8")),u=m.main||"index.js";if(m.exports){let j0=typeof m.exports==="string"?m.exports:m.exports["."];if(typeof j0==="string")u=j0;else if(j0?.bun)u=j0.bun;else if(j0?.import)u=j0.import;else if(j0?.default)u=j0.default}W[C]=await import(_5.resolve(P,u))}catch{}let z=(C)=>{if(W[C])return W[C];return _0(C)},U=Z.props||{},j=(C)=>{if(!C)return U;let P={};for(let[x,m]of Object.entries(C)){let u=U[x];if(u!==void 0)P[x]=u;else if(typeof m==="function")P[x]=m();else P[x]=m}return P};for(let[C,P]of Object.entries(U))Object.defineProperty(j,C,{value:P,enumerable:!0,configurable:!0,writable:!0});for(let C of["name","length","caller","arguments"]){if(Object.prototype.hasOwnProperty.call(U,C))continue;try{Object.defineProperty(j,C,{value:void 0,enumerable:!1,configurable:!0,writable:!0})}catch{}}let _=(C)=>{if(!C)return U;let P={...U};for(let[x,m]of Object.entries(C)){let u=m&&typeof m==="object"&&!Array.isArray(m)?m:{type:m};if(P[x]===void 0&&u.default!==void 0)P[x]=typeof u.default==="function"?u.default():u.default}return P},B=()=>Z.slots||{},H=(C,P)=>{let x={...C};for(let[m,u]of Object.entries(P))if(x[m]===void 0)if(typeof u==="function")x[m]=u();else x[m]=u;return x},L=(C)=>{let P=()=>C;return P.set=(x)=>{},P.update=(x)=>{},P},V=(C)=>{let P,x=!1;return()=>{if(!x)try{P=C(),x=!0}catch{P=void 0}return P}},O=(C)=>{},F=(C)=>C(),w=(C)=>{},A=(C)=>{},R=(C)=>{},N=()=>{let C=Z.__stxServeContext,P=Z.__stxServeSearch??C?.search??"",x=C?.path??"";return{params:Z.params??{},query:Object.fromEntries(new URLSearchParams(P)),path:x,name:"",fullPath:x+P,hash:"",matched:[]}},M=()=>({push:(C)=>{},replace:(C)=>{},back:()=>{},forward:()=>{},go:(C)=>{}}),T=(C)=>{let P=Z.__stx_runtime_head||{};Z.__stx_runtime_head=j5(P,C||{})},I=(C)=>{T(f$(C||{}))},E=(C)=>({value:C}),D=(C)=>C,y=(C)=>({value:typeof C==="function"?C():C}),S=(C,P)=>{},k=(C)=>{},v=(C)=>{},g=(C)=>C?C():Promise.resolve(),f=(C)=>(P,...x)=>{},d=(C)=>{},p=(C,P)=>{},Q0=(C,P)=>P,Y0=()=>({value:"light"}),w0=()=>L(!1),r=(C)=>L(!1),G0=()=>L(!1),b0=()=>r("(prefers-color-scheme: dark)"),o0=()=>r("(prefers-color-scheme: light)"),H1=()=>r("(prefers-reduced-motion: reduce)"),Z5=()=>r("(prefers-contrast: more)"),n={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:{}},X0=new Proxy(n,{get(C,P){if(P in C)return C[P];return},set(C,P,x){return C[P]=x,!0}}),H0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},D0=console;try{let C=S7(X,Y),P=new Set(Object.keys(U)),x=(i)=>/^[a-z_$][\w$]*$/i.test(i),m=Object.keys(Z).filter((i)=>!P.has(i)&&i!=="props"&&x(i)),u=m.map((i)=>Z[i]),j0=new Set(["break","case","catch","class","const","continue","debugger","default","delete","do","else","export","extends","finally","for","function","if","import","in","instanceof","let","new","return","super","switch","this","throw","try","typeof","var","void","while","with","yield","enum","await","async","module","exports","require","params","window","document","console","state","derived","effect"]),N0=[],W1=[];for(let[i,d0]of Object.entries(U)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(i))continue;if(j0.has(i))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${i}\\b`).test(C))continue;N0.push(i),W1.push(d0)}let v0=pG(C).map((i)=>`module.exports.${i} = typeof ${i} !== 'undefined' ? ${i} : module.exports.${i};`).join(`
|
|
779
|
+
`),s0=Z.params??{},S1=[],O1=[];for(let i=0;i<m.length;i++){if(m[i]==="params")continue;S1.push(m[i]),O1.push(u[i])}let z0=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","defineSlots","provide","inject","useColorMode","useDark","useMediaQuery","useScrollLock","usePreferredDark","usePreferredLight","usePreferredReducedMotion","usePreferredContrast","window","document","console","confirm","alert","fetch","params",...N0,...S1,`return (async () => {
|
|
780
780
|
${C}
|
|
781
|
-
${
|
|
781
|
+
${v0}
|
|
782
782
|
return module.exports
|
|
783
|
-
})()`)(Q,G,
|
|
784
|
-
`),X=[],Q=0;while(Q<J.length){let G=J[Q].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(;Q<J.length;Q++){for(let W of J[Q])if(W==="{")K++;else if(W==="}")K--;if(K<=0)break}}Q++;continue}if(G.startsWith("definePageMeta(")){let K=0,W=!1;for(let
|
|
785
|
-
`+j;if(
|
|
786
|
-
`),Y)}function
|
|
787
|
-
`)G=!1;X++;continue}if(K){if(J+=
|
|
783
|
+
})()`)(Q,G,z,U,j,_,H,L,V,O,F,w,A,R,N,M,T,I,E,D,y,S,k,v,g,f,d,B,p,Q0,Y0,w0,r,G0,b0,o0,H1,Z5,X0,H0,D0,n.confirm,n.alert,n.fetch,s0,...W1,...O1);if(J.preserveExisting){for(let[i,d0]of Object.entries(z0))if(!(i in Z)||Z[i]===void 0)Z[i]=d0}else Object.assign(Z,z0);for(let[i,d0]of Object.entries(U))if(!(i in Z))Z[i]=d0}catch(C){if(t5.env.STX_DEBUG){let P=C instanceof Error?C.message:String(C);console.warn(`[stx] server <script> did not execute in ${Y??"<unknown>"} \u2014 falling back to static extraction. Cause: ${P}`)}try{await oG(X,Z,Y)}catch(P){if(t5.env.STX_DEBUG){let x=P instanceof Error?P.message:String(P);console.warn(`[stx] fallback extraction also failed in ${Y??"<unknown>"}: ${x}`)}}}}function H8($){let Z=0,Y=null,J=!1,X=!1;for(let Q=0;Q<$.length;Q++){let G=$[Q];if(Y){if(G===Y){if(Y=null,J||Z===0)X=!0}continue}if(G==="'"||G==='"'||G==="`"){Y=G;continue}if(G==="{")Z++;else if(G==="}")Z--;else if($.startsWith("from",Q)&&Z===0)J=!0}return Y===null&&Z===0&&X}function S7($,Z){let Y=Z?_5.dirname(Z):t5.cwd(),J=$.split(`
|
|
784
|
+
`),X=[],Q=0;while(Q<J.length){let G=J[Q].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(;Q<J.length;Q++){for(let W of J[Q])if(W==="{")K++;else if(W==="}")K--;if(K<=0)break}}Q++;continue}if(G.startsWith("definePageMeta(")){let K=0,W=!1;for(let q=Q;q<J.length&&!W;q++){let z=null,U=!1,j=J[q];for(let _=0;_<j.length;_++){let B=j[_];if(U){U=!1;continue}if(B==="\\"){U=!0;continue}if(z){if(B===z)z=null;continue}if(B==='"'||B==="'"||B==="`"){z=B;continue}if(B==="(")K++;else if(B===")"){if(K--,K===0){Q=q+1,W=!0;break}}}}if(!W)Q=J.length;continue}if(G.startsWith("import ")||G==="import"||G.startsWith("import{")){let K=G,W=0;while(!H8(K)&&Q+W+1<J.length)W++,K=`${K} ${J[Q+W].trim()}`;Q+=W;let q=K.match(/^import\s+(\w+)\s+from\s+['"](.+?)['"]/),z=K.match(/^import\s+\{([^}]*)\}\s+from\s+['"](.+?)['"]/),U=K.match(/^import\s+['"](.+?)['"]/),j=K,_=(B)=>{if(B.startsWith("."))return _5.resolve(Y,B);return B};if(q){let[,B,H]=q,L=_(H);X.push(`const ${B} = await import('${L}')`),X.push(`module.exports.${B} = ${B};`)}else if(z){let[,B,H]=z,L=B.trim(),V=_(H);X.push(`const { ${L} } = await import('${V}')`);for(let O of L.split(",")){let F=O.trim().split(/\s+as\s+/).pop()?.trim();if(F)X.push(`module.exports.${F} = ${F};`)}}else if(U){let B=_(U[1]);X.push(`await import('${B}')`)}else X.push(j);Q++;continue}if((G.startsWith("const ")||G.startsWith("let ")||G.startsWith("var ")||G.startsWith("export const ")||G.startsWith("export let ")||G.startsWith("export var "))&&!G.includes("="))X.push(J[Q]),Q++;else if(G.startsWith("export const ")||G.startsWith("export let ")||G.startsWith("export var ")){let K=z8(J,Q),{type:W,name:q,value:z}=K;X.push(`${W} ${q} = ${z};`),X.push(`module.exports.${q} = ${q};`),Q=K.nextIndex}else if(G.startsWith("export function ")||G.startsWith("export async function ")){let K=b7(J,Q);X.push(K.functionCode),X.push(`module.exports.${K.name} = ${K.name};`),Q=K.nextIndex}else if(G.startsWith("const ")||G.startsWith("let ")||G.startsWith("var ")){let K=z8(J,Q),{type:W,name:q,value:z}=K;X.push(`${W} ${q} = ${z};`),X.push(`module.exports.${q} = ${q};`),Q=K.nextIndex}else if(G.startsWith("function ")||G.startsWith("async function ")){let K=b7(J,Q);X.push(K.functionCode),X.push(`module.exports.${K.name} = ${K.name};`),Q=K.nextIndex}else if(G.startsWith("export default function ")||G.startsWith("export default async function ")){let K=J[Q].replace(/^(\s*)export\s+default\s+/,"$1"),W=[...J];W[Q]=K;let q=b7(W,Q);if(X.push(q.functionCode),q.name)X.push(`module.exports.default = ${q.name};`);Q=q.nextIndex}else if(G.startsWith("export default ")){let K=G.replace(/^export\s+default\s+/,"").replace(/;$/,"");X.push(`module.exports.default = ${K};`),Q++}else if(G.startsWith("class ")||G.startsWith("export class ")){let K=G.match(/(?:export\s+)?class\s+(\w+)/);if(K){let W=K[1],q=J[Q].replace(/^export\s+/,""),z=0,U=Q;for(;U<J.length;U++){let j=J[U];for(let _ of j)if(_==="{")z++;else if(_==="}")z--;if(U>Q)q+=`
|
|
785
|
+
`+j;if(z<=0&&U>=Q)break}X.push(q),X.push(`module.exports.${W} = ${W};`),Q=U+1}else X.push(G),Q++}else if(G.includes("module.exports"))X.push(G),Q++;else if(G.trim()&&!G.startsWith("//"))X.push(G),Q++;else Q++}return lG(X.join(`
|
|
786
|
+
`),Y)}function lG($,Z){let Y=$.length,J="",X=0,Q=null,G=!1,K=!1,W=0;while(X<Y){let q=$[X],z=$[X+1];if(G){if(J+=q,q===`
|
|
787
|
+
`)G=!1;X++;continue}if(K){if(J+=q,q==="*"&&z==="/"){J+=z,X+=2,K=!1;continue}X++;continue}if(!Q&&q==="/"&&z==="/"){G=!0,J+=q,X++;continue}if(!Q&&q==="/"&&z==="*"){K=!0,J+=q,X++;continue}if(Q){if(J+=q,q==="\\"){J+=z,X+=2;continue}if(q===Q&&Q!=="`"){Q=null,X++;continue}if(Q==="`"){if(q==="$"&&z==="{"){W++,J+=z,X+=2;continue}if(q==="`"){Q=null,X++;continue}}X++;continue}if(W>0){if(q==="{")W++;else if(q==="}")W--}if(q==='"'||q==="'"||q==="`"){Q=q,J+=q,X++;continue}if(q==="a"&&$.startsWith("await",X)){let U=cG($,X);if(U){let{quote:j,path:_,end:B}=U;if(_.startsWith(".")){let H=_5.resolve(Z,_);J+=`await import(${j}${H}${j})`,X=B;continue}}}J+=q,X++}return J}function cG($,Z){let Y=Z+5;if(Y>=$.length)return null;if(!/\s/.test($[Y]))return null;while(Y<$.length&&/\s/.test($[Y]))Y++;if(!$.startsWith("import",Y))return null;Y+=6;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!=="(")return null;Y++;while(Y<$.length&&/\s/.test($[Y]))Y++;let J=$[Y];if(J!=="'"&&J!=='"')return null;Y++;let X=Y;while(Y<$.length&&$[Y]!==J)if($[Y]==="\\")Y+=2;else Y++;if(Y>=$.length)return null;let Q=$.slice(X,Y);Y++;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!==")")return null;return{quote:J,path:Q,end:Y+1}}function O8($,Z){let Y=$[Z];if(Y!=="{"&&Y!=="[")return null;let X=f0($,Y,Y==="{"?"}":"]",Z);if(X===-1)return null;return{pattern:$.slice(Z,X+1),endPos:X+1}}function L8($){let Z=[],Y=$.slice(1,-1).trim();if(!Y)return Z;let J=0,X=0,Q="";while(J<Y.length){let G=Y[J];if(G==="{"||G==="["){if(X++,X===1){let K=O8(Y,J);if(K){let W=L8(K.pattern);Z.push(...W),J=K.endPos,Q="";continue}}}else if(G==="}"||G==="]")X--;if(X>0){J++;continue}if(G===","){if(Q.trim())Z.push(Q.trim());Q="",J++;continue}if(G===":"){Q="",J++;continue}if(G==="="){if(Q.trim())Z.push(Q.trim());Q="",J++;while(J<Y.length&&Y[J]!==","&&X===0){if(Y[J]==="{"||Y[J]==="[")X++;else if(Y[J]==="}"||Y[J]==="]")X--;J++}continue}if(/[\w$]/.test(G))Q+=G;J++}if(Q.trim())Z.push(Q.trim());return Z}function F8($){let Z=/^(?:export\s+)?(const|let|var)\s+([A-Za-z_$][\w$]*)/.exec($);if(!Z)return null;let Y=Z[0].length,J=(X)=>X===" "||X==="\t";while(Y<$.length&&J($[Y]))Y++;if($[Y]===":"){let X=0,Q=null;Y++;for(;Y<$.length;Y++){let G=$[Y];if(Q){if(G==="\\"){Y++;continue}if(G===Q)Q=null;continue}if(G==="'"||G==='"'||G==="`"){Q=G;continue}if(G==="("||G==="["||G==="{"||G==="<"){X++;continue}if(G===")"||G==="]"||G==="}"||G===">"){X--;continue}if(G==="="&&X<=0){let K=$[Y+1],W=$[Y-1];if(K!=="="&&K!==">"&&W!=="="&&W!=="!"&&W!=="<"&&W!==">")break}}if($[Y]!=="=")return null}while(Y<$.length&&J($[Y]))Y++;if($[Y]!=="=")return null;return{type:Z[1],name:Z[2],value:$.slice(Y+1).trim()}}function z8($,Z){let Y=$[Z].trim(),J=F8(Y),X=J?[Y,J.type,J.name,J.value]:null;if(!X){let z=Y.match(/^(?:export\s+)?(const|let|var)\s+/);if(z){let U=Y.slice(z[0].length),j=Z;if((U.startsWith("{")||U.startsWith("["))&&!U.includes(U.startsWith("{")?"}":"]")){let B=U.startsWith("{")?"}":"]",H=U;for(let L=Z+1;L<$.length;L++)if(H+=" "+$[L].trim(),j=L,$[L].includes(B))break;U=H}let _=O8(U,0);if(_){let B=z[1],H=_.pattern,L=U.slice(_.endPos).trim();if(L.startsWith("=")){let V=L.slice(1).trim(),O=V,F=Math.max(j,Z);if(U8(V)){let N=j8($,F,V);O=N.value,F=N.nextIndex}else F=F+1;O=O.trim().replace(/;$/,"");let w=L8(H),A=`__stx_src_${Z}`,R=w.map((N)=>`module.exports.${N} = ${N};`).join(`
|
|
788
788
|
`);return{type:B,name:A,value:`${O}; ${B} ${H} = ${A};
|
|
789
|
-
${R}`,nextIndex:F}}}}throw Error(`Failed to parse variable declaration: ${Y}`)}let[,Q,G,K]=X,W=K,
|
|
790
|
-
${$[
|
|
789
|
+
${R}`,nextIndex:F}}}}throw Error(`Failed to parse variable declaration: ${Y}`)}let[,Q,G,K]=X,W=K,q=Z;if(U8(K)){let z=j8($,Z,K);W=z.value,q=z.nextIndex}else q=Z+1;while(q<$.length){let z=$[q].trim();if(z.startsWith(".")||z.startsWith("?."))W+=`
|
|
790
|
+
${$[q]}`,q++;else break}return W=W.trim().replace(/;$/,""),{type:Q,name:G,value:W,nextIndex:q}}function b7($,Z){let Y=$[Z].trim(),J=Y.match(/^(?:export\s+)?(?:async\s+)?function\s+(\w+)/);if(!J)throw Error(`Failed to parse function declaration: ${Y}`);let[,X]=J,Q=Y.replace(/^export\s+/,""),G=Z;if(iG(Y)){let K=nG($,Z,Q);Q=K.functionCode,G=K.nextIndex}else G=Z+1;return{name:X,functionCode:Q,nextIndex:G}}function U8($){let Z=$.trim();if(Z.startsWith("{"))return f0(Z,"{","}",0)===-1;if(Z.startsWith("["))return f0(Z,"[","]",0)===-1;return!V8(Z)}function V8($){let Z={paren:0,bracket:0,brace:0},Y=null,J=0;for(let X=0;X<$.length;X++){let Q=$[X];if((X>0?$[X-1]:"")==="\\"&&Y)continue;if((Q==='"'||Q==="'")&&!Y){Y=Q;continue}if(Q===Y&&Y!=="`"){Y=null;continue}if(Q==="`"&&!Y){Y="`";continue}if(Q==="`"&&Y==="`"&&J===0){Y=null;continue}if(Y==="`"&&Q==="$"&&$[X+1]==="{"){J++,X++;continue}if(J>0&&Q==="{"){J++;continue}if(J>0&&Q==="}"){J--;continue}if(Y)continue;if(Q==="(")Z.paren++;else if(Q===")")Z.paren--;else if(Q==="[")Z.bracket++;else if(Q==="]")Z.bracket--;else if(Q==="{")Z.brace++;else if(Q==="}")Z.brace--}return Z.paren===0&&Z.bracket===0&&Z.brace===0&&Y===null}function iG($){let Z=$.indexOf("{");if(Z===-1)return!0;return f0($,"{","}",Z)===-1}function j8($,Z,Y){let J=Y,X=Z+1;while(X<$.length&&!V8(J)){let Q=$[X];J+=`
|
|
791
791
|
${Q}`,X++}while(X<$.length){let Q=$[X].trim();if(Q.startsWith(".")||Q.startsWith("?."))J+=`
|
|
792
|
-
${$[X]}`,X++;else break}return{value:J,nextIndex:X}}function
|
|
793
|
-
${G}`,X++}return{functionCode:J,nextIndex:X}}function W8($,Z){let Y=$0($,Z)??$0(`(${$})`,Z);if(Y!==void 0)return Y;if(!/\bprocess\b/.test($))return;let J={...Z,process:Object.freeze({env:{...s5.env}})};try{return Function(...Object.keys(J),`'use strict'; return (${$});`)(...Object.values(J))}catch{try{return Function(...Object.keys(J),`'use strict'; return ${$};`)(...Object.values(J))}catch{return}}}async function mG($,Z,Y){let J=$.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let Q of J){let[,,G,K]=Q;try{let W=K.trim().replace(/;$/,""),z=W8(W,Z);if(z!==void 0)Z[G]=z}catch(W){console.warn(`Failed to parse export ${G} in fallback:`,W)}}let X=$.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let Q of X){let[,,G,K]=Q;if(!(G in Z))try{let W=K.trim().replace(/;$/,""),z=W8(W,Z);if(z!==void 0)Z[G]=z}catch{}}}function H8($){let Z=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Y=Z?Z[1]:"",J=Z?$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/i,""):$;return{scriptContent:Y,templateWithoutScript:J}}function O8($){let Z=$.trim();if(!Z)return!1;return/(?:const|let|var|function)\s+\w+/.test(Z)}var r5=b(()=>{o5();S1();w0()});var k7={};a(k7,{renderSlot:()=>F8,processSlots:()=>w8,parseSlots:()=>L8,parseSlotElement:()=>nG,extractSlotContent:()=>rG,applySlots:()=>aG});function pG($,Z){let Y=1,J=Z,X="<template",Q="</template";while(J<$.length&&Y>0){let G=$.indexOf("<",J);if(G===-1)break;if(J=G,$.startsWith(X,J)&&(J+X.length>=$.length||/[\s>\/]/.test($[J+X.length]))){Y++,J+=X.length;continue}if($.startsWith(Q,J)){let K=$.indexOf(">",J+Q.length);if(K!==-1){if(Y--,Y===0)return K+1;J=K+1;continue}}J++}return Y===0?J:-1}function cG($,Z){let Y=null;for(let J=Z;J<$.length;J++){let X=$[J];if(Y){if(X==="\\"){J++;continue}if(X===Y)Y=null;continue}if(X==='"'||X==="'"){Y=X;continue}if(X===">")return J+1}return-1}function iG($){let Z=[],Y=[],J=/^<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>$/i,X=0;while(X<$.length){let Q=$.indexOf("<",X);if(Q===-1)break;if($.startsWith("<!--",Q)){let j=$.indexOf("-->",Q+4);X=j===-1?$.length:j+3;continue}let G=cG($,Q+1);if(G===-1)break;let K=$.slice(Q,G),W=K.match(/^<\s*(\/?)\s*([a-zA-Z][\w-]*)/);if(!W){X=G;continue}let z=W[1]==="/",q=W[2].toLowerCase();if(z){let j=Y.lastIndexOf(q);if(j!==-1)Y.splice(j);X=G;continue}if(q==="template"&&Y.length===0){let j=K.match(J);if(j){let _=pG($,G);if(_!==-1){let B=j[1]||j[2]||j[3];Z.push({start:Q,end:_,slotName:B,content:$.slice(G,_-11).trim(),propsBinding:j[4]||void 0}),X=_;continue}}}if(!/\/\s*>$/.test(K)&&!lG.has(q)){if(Y.push(q),q==="script"||q==="style"){let j=$.toLowerCase().indexOf(`</${q}>`,G);if(j!==-1){X=j;continue}}}X=G}return Z}function L8($){let Z={default:"",named:new Map},Y=$,J=iG($);for(let W of J)Z.named.set(W.slotName,{name:W.slotName,content:W.content,propsBinding:W.propsBinding});J.sort((W,z)=>z.start-W.start);for(let W of J)Y=Y.slice(0,W.start)+Y.slice(W.end);let X=[],Q=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,G;while((G=Q.exec(Y))!==null){let[W,z,q,U,j,_]=G,B=q.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=j.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),L=(B+H).trim(),V=`<${z}${L?" "+L:""}>${_}</${z}>`;X.push({start:G.index,end:G.index+W.length,slotName:U,element:V})}let K=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((G=K.exec(Y))!==null){let[W,z,q,U,j]=G,_=q.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),B=j.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=(_+B).trim(),L=`<${z}${H?" "+H:""} />`;X.push({start:G.index,end:G.index+W.length,slotName:U,element:L})}X.sort((W,z)=>z.start-W.start);for(let W of X){let z=Z.named.get(W.slotName);if(z)z.content+=W.element;else Z.named.set(W.slotName,{name:W.slotName,content:W.element});Y=Y.slice(0,W.start)+Y.slice(W.end)}return Z.default=Y.trim(),Z}function nG($){let Z=$.match(/name\s*=\s*["']([^"']+)["']/),Y=Z?Z[1]:"",J={},X=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,Q;while((Q=X.exec($))!==null)J[Q[1]]=Q[2];let G=$.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),K=G?G[1].trim():"";return{name:Y,props:J,defaultContent:K}}async function F8($,Z,Y,J){if(!$)return Y;let X=$.content;if($.propsBinding&&Object.keys(Z).length>0){let Q=$.propsBinding.trim(),G={...J};if(Q.startsWith("{")&&Q.endsWith("}")){let K=Q.slice(1,-1).split(",").map((W)=>W.trim()).filter(Boolean);for(let W of K){let[z,q]=W.split(":").map((j)=>j.trim()),U=q||z;if(Z[z]!==void 0)G[U]=Z[z]}}else G[Q]=Z;X=oG(X,G)}return X}function oG($,Z){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Y,J)=>{try{let X=J.trim(),Q=V8(X,Z);return r0(String(Q??""))}catch{return`{{ ${J} }}`}})}function V8($,Z){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test($)){let J=$.split("."),X=Z;for(let Q of J)if(X&&typeof X==="object"&&Q in X)X=X[Q];else return;return X}let Y=$.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(Y){let[,J,X,Q]=Y,G=Z[J],K=parseInt(Q,10);if(typeof G==="number")switch(X){case"+":return G+K;case"-":return G-K;case"*":return G*K;case"/":return G/K}}try{if(!K0($))return;return W0($,Object.keys(Z))(...Object.values(Z))}catch{return}}async function w8($,Z,Y){let J=$;J=await sG(J,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(G,K,W,z)=>{let q=Z.named.get(K),U=z?.trim()||"",j=W||"",_={},B=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,H;while((H=B.exec(j))!==null){let L=H[1],V=H[2];_[L]=V8(V,Y)}return await F8(q,_,U,Y)});let Q=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return J=J.replace(Q,(G,K)=>{if(G.includes("name="))return G;let W=K?.trim()||"";return Z.default||W}),J}async function sG($,Z,Y){let J=[],X=[];$.replace(Z,(K,...W)=>{let z=W[W.length-2];return X.push({match:K,index:z}),J.push(Y(K,...W.slice(0,-2))),K});let Q=await Promise.all(J),G=$;for(let K=X.length-1;K>=0;K--){let{match:W,index:z}=X[K];G=G.slice(0,z)+Q[K]+G.slice(z+W.length)}return G}function rG($){let Z=L8($);return{defaultSlot:Z.default,namedSlots:Z.named}}async function aG($,Z,Y,J){return await w8($,{default:Z,named:Y},J)}var lG;var b7=b(()=>{J1();w0();lG=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function R1($,Z){let Y=tG($,Z);return Y.ok?{expression:Y.expression,endPos:Y.endPos}:null}function tG($,Z){let Y=Z;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Y};let J=x0($,"(",")",Y);if(J===-1)return{ok:!1,reason:"unclosed-paren",pos:Y};return{ok:!0,expression:$.slice(Y+1,J),endPos:J+1}}function eG($,Z){let Y=$.lastIndexOf("<",Z);if(Y===-1)return!1;return Y>$.lastIndexOf(">",Z)}function h1($,Z,Y,J){let X=1,Q=J,G=new RegExp(`@${Z}\\s*\\(`,"g"),K=new RegExp(`@${Y}(?![a-z])`,"g");while(Q<$.length&&X>0){G.lastIndex=Q,K.lastIndex=Q;let W=G.exec($),z=K.exec($),q=W?W.index:1/0,U=z?z.index:1/0;if(q<U)X++,Q=q+W[0].length;else if(U<1/0){if(X--,X===0)return U;Q=U+z[0].length}else break}return-1}function A8($,Z){let Y=$.slice(Z).match(/^@if\s*/);if(!Y)return null;let J=Z+Y[0].length,X=R1($,J);if(!X)return null;let Q=X.endPos,G=h1($,"if","endif",Q);if(G===-1)return null;let K=$.slice(Q,G),W=[],z=0,q="if",U=X.expression,j=0,_=0;while(z<K.length){let B=K.indexOf("@",z);if(B===-1)break;z=B;let H=K.substring(B);if(eG(K,B)){z++;continue}if(/^@if\s*\(/.test(H)){_++,z++;continue}if(/^@endif(?![a-z])/.test(H)){_--,z+=6;continue}if(_===0){let L=H.match(/^@elseif\s*/);if(L){W.push({type:q,condition:U,content:K.substring(j,z),start:Q+j,end:Q+z});let V=z+L[0].length,O=R1(K,V);if(!O){z++;continue}q="elseif",U=O.expression,z=O.endPos,j=z;continue}else if(/^@else(?![a-z])/.test(H)){W.push({type:q,condition:U,content:K.substring(j,z),start:Q+j,end:Q+z}),q="else",U=void 0,z+=5,j=z;continue}}z++}return W.push({type:q,condition:U,content:K.slice(j),start:Q+j,end:Q+K.length}),{fullMatch:$.slice(Z,G+6),branches:W,start:Z,end:G+6}}function a5($){let Z=[],Y=/@if\s*\(/g,J=Y.exec($);while(J!==null){if(Z.some((G)=>J.index>G.start&&J.index<G.end)){J=Y.exec($);continue}let Q=A8($,J.index);if(Q)Z.push(Q),Y.lastIndex=Q.end;J=Y.exec($)}return Z}function x$($,Z,Y){let J=[],X=new RegExp(`@${Z}\\s*\\(`,"g"),Q=X.exec($);while(Q!==null){if(J.some((H)=>Q.index>H.start&&Q.index<H.end)){Q=X.exec($);continue}let K=Q.index,W=K+Q[0].length-1,z=x0($,"(",")",W);if(z===-1){Q=X.exec($);continue}let q=$.slice(W+1,z),U=z+1,j=h1($,Z,Y,U);if(j===-1){Q=X.exec($);continue}let _=$.slice(U,j),B=j+`@${Y}`.length;J.push({fullMatch:$.slice(K,B),name:Z,params:q,content:_,start:K,end:B}),X.lastIndex=B,Q=X.exec($)}return J}function S7($,Z){let Y=$.slice(Z).match(/^@switch\s*/);if(!Y)return null;let J=Z+Y[0].length,X=R1($,J);if(!X)return null;let Q=X.endPos,G=h1($,"switch","endswitch",Q);if(G===-1)return null;let K=$.slice(Q,G),W=[],z=0,q=null,U=0;while(z<K.length){let j=K.slice(z),_=j.match(/^@switch\s*\(/),B=j.match(/^@endswitch(?![a-z])/);if(_){if(U++,q)q.content+=_[0];z+=_[0].length;continue}if(B){if(U--,q)q.content+=B[0];z+=B[0].length;continue}if(U>0){if(q)q.content+=K[z];z++;continue}let H=j.match(/^@case\s*/),L=j.match(/^@default(?![a-z])/),V=j.match(/^@break(?![a-z])/);if(H&&j.startsWith("@case")){if(q)W.push(q);let O=z+H[0].length,F=R1(K,O);if(!F){z++;continue}q={type:"case",value:F.expression,content:""},z=F.endPos}else if(L&&j.startsWith("@default")){if(q)W.push(q);q={type:"default",content:""},z+=L[0].length}else if(V&&j.startsWith("@break"))z+=V[0].length;else{if(q)q.content+=K[z];z++}}if(q)W.push(q);return{fullMatch:$.slice(Z,G+10),expression:X.expression,cases:W,start:Z,end:G+10}}var R8=()=>{};var N8=()=>{};var f$=b(()=>{R8();N8()});function d$($){let Z=$,Y=new Set,J=new Set,X=()=>{if(d0)J.add(d0);return Z};return X.set=(Q)=>{if(!Object.is(Q,Z)){let G=Z;if(Z=Q,Y.forEach((K)=>K(Z,G)),t5)J.forEach((K)=>h$.add(K));else J.forEach((K)=>K())}},X.update=(Q)=>{X.set(Q(Z))},X.subscribe=(Q)=>{return Y.add(Q),()=>Y.delete(Q)},Object.defineProperty(X,"_isSignal",{value:!0,writable:!1}),Object.defineProperty(X,"value",{get:()=>X(),set:(Q)=>X.set(Q),configurable:!0}),X}function u$($){let Z,Y=!0,J=new Set,X=()=>{if(!Y)if(Y=!0,t5)J.forEach((G)=>h$.add(G));else J.forEach((G)=>G())},Q=()=>{if(d0)J.add(d0);if(Y){let G=d0;d0=X,g$.push(X);try{Z=$()}finally{g$.pop(),d0=G}Y=!1}return Z};return Object.defineProperty(Q,"_isDerived",{value:!0,writable:!1}),Object.defineProperty(Q,"value",{get:()=>Q(),configurable:!0}),Q}function m$($,Z={}){let Y,J=!1,X=()=>{if(J)return;if(Y)Y(),Y=void 0;let Q=d0;d0=X,g$.push(X);try{Y=$()}finally{g$.pop(),d0=Q}};if(Z.immediate!==!1)X();return()=>{if(J=!0,Y)Y()}}function y7($){if(t5){$();return}t5=!0;try{$()}finally{t5=!1,h$.forEach((Z)=>Z()),h$.clear()}}function P7($){JK.push($)}function C7($){XK.push($)}function p$($){return typeof $==="function"&&$._isSignal===!0}function l$($){return typeof $==="function"&&$._isDerived===!0}function v7($){if(p$($)||l$($))return $();return $}function c$($){let Z=d0;d0=null;try{return $()}finally{d0=Z}}function QK($,Z){let Y=typeof $==="function"?$:()=>$,J=d$([]),X=u$(()=>J().reduce((K,W)=>Z(K,W.action),Y())),Q=!1;return m$(()=>{if(Y(),!Q){Q=!0;return}if(c$(()=>J().length))J.set([])}),[X,(K,W)=>{let z={action:K};J.set([...J(),z]);let q=()=>{let U=J().filter((j)=>j!==z);if(U.length!==J().length)J.set(U)};if(W&&typeof W.then==="function")Promise.resolve(W).then(q,q);return q}]}var d0=null,g$,t5=!1,h$,JK,XK;var x7=b(()=>{g$=[],h$=new Set,JK=[],XK=[]});var T8={};a(T8,{useOptimistic:()=>QK,untrack:()=>v7,state:()=>d$,peek:()=>c$,onMount:()=>P7,onDestroy:()=>C7,isSignal:()=>p$,isDerived:()=>l$,generateSignalsRuntimeDev:()=>i$,generateSignalsRuntime:()=>M8,effect:()=>m$,derived:()=>u$,default:()=>KK,batch:()=>y7});function M8(){try{let $=GK(i$()),Y=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($);return Y=Y.replace(/\}(var |let |const |function )/g,"};$1"),Y}catch{return i$()}}function GK($){let Z=[],Y=0,J="console.log(";while(Y<$.length){let X=$.indexOf(J,Y);if(X===-1){Z.push($.slice(Y));break}Z.push($.slice(Y,X));let Q=1,G=X+J.length;while(G<$.length&&Q>0){let K=$[G];if(K==='"'||K==="'"||K==="`"){let W=K;G++;while(G<$.length&&$[G]!==W){if($[G]==="\\")G++;G++}G++;continue}if(K==="(")Q++;else if(K===")")Q--;G++}Z.push("0"),Y=G}return Z.join("")}function i$(){return`
|
|
792
|
+
${$[X]}`,X++;else break}return{value:J,nextIndex:X}}function nG($,Z,Y){let J=Y,X=Z+1;while(X<$.length){let Q=J.indexOf("{");if(Q!==-1){if(f0(J,"{","}",Q)!==-1)break}let G=$[X];J+=`
|
|
793
|
+
${G}`,X++}return{functionCode:J,nextIndex:X}}function _8($,Z){let Y=Z0($,Z)??Z0(`(${$})`,Z);if(Y!==void 0)return Y;if(!/\bprocess\b/.test($))return;let J={...Z,process:Object.freeze({env:{...t5.env}})};try{return Function(...Object.keys(J),`'use strict'; return (${$});`)(...Object.values(J))}catch{try{return Function(...Object.keys(J),`'use strict'; return ${$};`)(...Object.values(J))}catch{return}}}async function oG($,Z,Y){let J=$.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let Q of J){let[,,G,K]=Q;try{let W=K.trim().replace(/;$/,""),q=_8(W,Z);if(q!==void 0)Z[G]=q}catch(W){console.warn(`Failed to parse export ${G} in fallback:`,W)}}let X=$.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let Q of X){let[,,G,K]=Q;if(!(G in Z))try{let W=K.trim().replace(/;$/,""),q=_8(W,Z);if(q!==void 0)Z[G]=q}catch{}}}function w8($){let Z=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Y=Z?Z[1]:"",J=Z?$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/i,""):$;return{scriptContent:Y,templateWithoutScript:J}}function A8($){let Z=$.trim();if(!Z)return!1;return/(?:const|let|var|function)\s+\w+/.test(Z)}var e5=b(()=>{a5();y1();A0()});var y7={};a(y7,{renderSlot:()=>N8,processSlots:()=>T8,parseSlots:()=>R8,parseSlotElement:()=>eG,extractSlotContent:()=>YK,applySlots:()=>JK});function sG($,Z){let Y=1,J=Z,X="<template",Q="</template";while(J<$.length&&Y>0){let G=$.indexOf("<",J);if(G===-1)break;if(J=G,$.startsWith(X,J)&&(J+X.length>=$.length||/[\s>\/]/.test($[J+X.length]))){Y++,J+=X.length;continue}if($.startsWith(Q,J)){let K=$.indexOf(">",J+Q.length);if(K!==-1){if(Y--,Y===0)return K+1;J=K+1;continue}}J++}return Y===0?J:-1}function aG($,Z){let Y=null;for(let J=Z;J<$.length;J++){let X=$[J];if(Y){if(X==="\\"){J++;continue}if(X===Y)Y=null;continue}if(X==='"'||X==="'"){Y=X;continue}if(X===">")return J+1}return-1}function tG($){let Z=[],Y=[],J=/^<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>$/i,X=0;while(X<$.length){let Q=$.indexOf("<",X);if(Q===-1)break;if($.startsWith("<!--",Q)){let j=$.indexOf("-->",Q+4);X=j===-1?$.length:j+3;continue}let G=aG($,Q+1);if(G===-1)break;let K=$.slice(Q,G),W=K.match(/^<\s*(\/?)\s*([a-zA-Z][\w-]*)/);if(!W){X=G;continue}let q=W[1]==="/",z=W[2].toLowerCase();if(q){let j=Y.lastIndexOf(z);if(j!==-1)Y.splice(j);X=G;continue}if(z==="template"&&Y.length===0){let j=K.match(J);if(j){let _=sG($,G);if(_!==-1){let B=j[1]||j[2]||j[3];Z.push({start:Q,end:_,slotName:B,content:$.slice(G,_-11).trim(),propsBinding:j[4]||void 0}),X=_;continue}}}if(!/\/\s*>$/.test(K)&&!rG.has(z)){if(Y.push(z),z==="script"||z==="style"){let j=$.toLowerCase().indexOf(`</${z}>`,G);if(j!==-1){X=j;continue}}}X=G}return Z}function R8($){let Z={default:"",named:new Map},Y=$,J=tG($);for(let W of J)Z.named.set(W.slotName,{name:W.slotName,content:W.content,propsBinding:W.propsBinding});J.sort((W,q)=>q.start-W.start);for(let W of J)Y=Y.slice(0,W.start)+Y.slice(W.end);let X=[],Q=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,G;while((G=Q.exec(Y))!==null){let[W,q,z,U,j,_]=G,B=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=j.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),L=(B+H).trim(),V=`<${q}${L?" "+L:""}>${_}</${q}>`;X.push({start:G.index,end:G.index+W.length,slotName:U,element:V})}let K=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((G=K.exec(Y))!==null){let[W,q,z,U,j]=G,_=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),B=j.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=(_+B).trim(),L=`<${q}${H?" "+H:""} />`;X.push({start:G.index,end:G.index+W.length,slotName:U,element:L})}X.sort((W,q)=>q.start-W.start);for(let W of X){let q=Z.named.get(W.slotName);if(q)q.content+=W.element;else Z.named.set(W.slotName,{name:W.slotName,content:W.element});Y=Y.slice(0,W.start)+Y.slice(W.end)}return Z.default=Y.trim(),Z}function eG($){let Z=$.match(/name\s*=\s*["']([^"']+)["']/),Y=Z?Z[1]:"",J={},X=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,Q;while((Q=X.exec($))!==null)J[Q[1]]=Q[2];let G=$.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),K=G?G[1].trim():"";return{name:Y,props:J,defaultContent:K}}async function N8($,Z,Y,J){if(!$)return Y;let X=$.content;if($.propsBinding&&Object.keys(Z).length>0){let Q=$.propsBinding.trim(),G={...J};if(Q.startsWith("{")&&Q.endsWith("}")){let K=Q.slice(1,-1).split(",").map((W)=>W.trim()).filter(Boolean);for(let W of K){let[q,z]=W.split(":").map((j)=>j.trim()),U=z||q;if(Z[q]!==void 0)G[U]=Z[q]}}else G[Q]=Z;X=$K(X,G)}return X}function $K($,Z){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Y,J)=>{try{let X=J.trim(),Q=M8(X,Z);return a0(String(Q??""))}catch{return`{{ ${J} }}`}})}function M8($,Z){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test($)){let J=$.split("."),X=Z;for(let Q of J)if(X&&typeof X==="object"&&Q in X)X=X[Q];else return;return X}let Y=$.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(Y){let[,J,X,Q]=Y,G=Z[J],K=parseInt(Q,10);if(typeof G==="number")switch(X){case"+":return G+K;case"-":return G-K;case"*":return G*K;case"/":return G/K}}try{if(!W0($))return;return q0($,Object.keys(Z))(...Object.values(Z))}catch{return}}async function T8($,Z,Y){let J=$;J=await ZK(J,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(G,K,W,q)=>{let z=Z.named.get(K),U=q?.trim()||"",j=W||"",_={},B=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,H;while((H=B.exec(j))!==null){let L=H[1],V=H[2];_[L]=M8(V,Y)}return await N8(z,_,U,Y)});let Q=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return J=J.replace(Q,(G,K)=>{if(G.includes("name="))return G;let W=K?.trim()||"";return Z.default||W}),J}async function ZK($,Z,Y){let J=[],X=[];$.replace(Z,(K,...W)=>{let q=W[W.length-2];return X.push({match:K,index:q}),J.push(Y(K,...W.slice(0,-2))),K});let Q=await Promise.all(J),G=$;for(let K=X.length-1;K>=0;K--){let{match:W,index:q}=X[K];G=G.slice(0,q)+Q[K]+G.slice(q+W.length)}return G}function YK($){let Z=R8($);return{defaultSlot:Z.default,namedSlots:Z.named}}async function JK($,Z,Y,J){return await T8($,{default:Z,named:Y},J)}var rG;var P7=b(()=>{X1();A0();rG=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function N1($,Z){let Y=XK($,Z);return Y.ok?{expression:Y.expression,endPos:Y.endPos}:null}function XK($,Z){let Y=Z;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Y};let J=f0($,"(",")",Y);if(J===-1)return{ok:!1,reason:"unclosed-paren",pos:Y};return{ok:!0,expression:$.slice(Y+1,J),endPos:J+1}}function QK($,Z){let Y=$.lastIndexOf("<",Z);if(Y===-1)return!1;return Y>$.lastIndexOf(">",Z)}function u1($,Z,Y,J){let X=1,Q=J,G=new RegExp(`@${Z}\\s*\\(`,"g"),K=new RegExp(`@${Y}(?![a-z])`,"g");while(Q<$.length&&X>0){G.lastIndex=Q,K.lastIndex=Q;let W=G.exec($),q=K.exec($),z=W?W.index:1/0,U=q?q.index:1/0;if(z<U)X++,Q=z+W[0].length;else if(U<1/0){if(X--,X===0)return U;Q=U+q[0].length}else break}return-1}function I8($,Z){let Y=$.slice(Z).match(/^@if\s*/);if(!Y)return null;let J=Z+Y[0].length,X=N1($,J);if(!X)return null;let Q=X.endPos,G=u1($,"if","endif",Q);if(G===-1)return null;let K=$.slice(Q,G),W=[],q=0,z="if",U=X.expression,j=0,_=0;while(q<K.length){let B=K.indexOf("@",q);if(B===-1)break;q=B;let H=K.substring(B);if(QK(K,B)){q++;continue}if(/^@if\s*\(/.test(H)){_++,q++;continue}if(/^@endif(?![a-z])/.test(H)){_--,q+=6;continue}if(_===0){let L=H.match(/^@elseif\s*/);if(L){W.push({type:z,condition:U,content:K.substring(j,q),start:Q+j,end:Q+q});let V=q+L[0].length,O=N1(K,V);if(!O){q++;continue}z="elseif",U=O.expression,q=O.endPos,j=q;continue}else if(/^@else(?![a-z])/.test(H)){W.push({type:z,condition:U,content:K.substring(j,q),start:Q+j,end:Q+q}),z="else",U=void 0,q+=5,j=q;continue}}q++}return W.push({type:z,condition:U,content:K.slice(j),start:Q+j,end:Q+K.length}),{fullMatch:$.slice(Z,G+6),branches:W,start:Z,end:G+6}}function $$($){let Z=[],Y=/@if\s*\(/g,J=Y.exec($);while(J!==null){if(Z.some((G)=>J.index>G.start&&J.index<G.end)){J=Y.exec($);continue}let Q=I8($,J.index);if(Q)Z.push(Q),Y.lastIndex=Q.end;J=Y.exec($)}return Z}function h$($,Z,Y){let J=[],X=new RegExp(`@${Z}\\s*\\(`,"g"),Q=X.exec($);while(Q!==null){if(J.some((H)=>Q.index>H.start&&Q.index<H.end)){Q=X.exec($);continue}let K=Q.index,W=K+Q[0].length-1,q=f0($,"(",")",W);if(q===-1){Q=X.exec($);continue}let z=$.slice(W+1,q),U=q+1,j=u1($,Z,Y,U);if(j===-1){Q=X.exec($);continue}let _=$.slice(U,j),B=j+`@${Y}`.length;J.push({fullMatch:$.slice(K,B),name:Z,params:z,content:_,start:K,end:B}),X.lastIndex=B,Q=X.exec($)}return J}function C7($,Z){let Y=$.slice(Z).match(/^@switch\s*/);if(!Y)return null;let J=Z+Y[0].length,X=N1($,J);if(!X)return null;let Q=X.endPos,G=u1($,"switch","endswitch",Q);if(G===-1)return null;let K=$.slice(Q,G),W=[],q=0,z=null,U=0;while(q<K.length){let j=K.slice(q),_=j.match(/^@switch\s*\(/),B=j.match(/^@endswitch(?![a-z])/);if(_){if(U++,z)z.content+=_[0];q+=_[0].length;continue}if(B){if(U--,z)z.content+=B[0];q+=B[0].length;continue}if(U>0){if(z)z.content+=K[q];q++;continue}let H=j.match(/^@case\s*/),L=j.match(/^@default(?![a-z])/),V=j.match(/^@break(?![a-z])/);if(H&&j.startsWith("@case")){if(z)W.push(z);let O=q+H[0].length,F=N1(K,O);if(!F){q++;continue}z={type:"case",value:F.expression,content:""},q=F.endPos}else if(L&&j.startsWith("@default")){if(z)W.push(z);z={type:"default",content:""},q+=L[0].length}else if(V&&j.startsWith("@break"))q+=V[0].length;else{if(z)z.content+=K[q];q++}}if(z)W.push(z);return{fullMatch:$.slice(Z,G+10),expression:X.expression,cases:W,start:Z,end:G+10}}var D8=()=>{};var E8=()=>{};var d$=b(()=>{D8();E8()});function p$($){let Z=$,Y=new Set,J=new Set,X=()=>{if(u0)J.add(u0);return Z};return X.set=(Q)=>{if(!Object.is(Q,Z)){let G=Z;if(Z=Q,Y.forEach((K)=>K(Z,G)),Z$)J.forEach((K)=>m$.add(K));else J.forEach((K)=>K())}},X.update=(Q)=>{X.set(Q(Z))},X.subscribe=(Q)=>{return Y.add(Q),()=>Y.delete(Q)},Object.defineProperty(X,"_isSignal",{value:!0,writable:!1}),Object.defineProperty(X,"value",{get:()=>X(),set:(Q)=>X.set(Q),configurable:!0}),X}function l$($){let Z,Y=!0,J=new Set,X=()=>{if(!Y)if(Y=!0,Z$)J.forEach((G)=>m$.add(G));else J.forEach((G)=>G())},Q=()=>{if(u0)J.add(u0);if(Y){let G=u0;u0=X,u$.push(X);try{Z=$()}finally{u$.pop(),u0=G}Y=!1}return Z};return Object.defineProperty(Q,"_isDerived",{value:!0,writable:!1}),Object.defineProperty(Q,"value",{get:()=>Q(),configurable:!0}),Q}function c$($,Z={}){let Y,J=!1,X=()=>{if(J)return;if(Y)Y(),Y=void 0;let Q=u0;u0=X,u$.push(X);try{Y=$()}finally{u$.pop(),u0=Q}};if(Z.immediate!==!1)X();return()=>{if(J=!0,Y)Y()}}function v7($){if(Z$){$();return}Z$=!0;try{$()}finally{Z$=!1,m$.forEach((Z)=>Z()),m$.clear()}}function x7($){qK.push($)}function f7($){zK.push($)}function i$($){return typeof $==="function"&&$._isSignal===!0}function n$($){return typeof $==="function"&&$._isDerived===!0}function g7($){if(i$($)||n$($))return $();return $}function o$($){let Z=u0;u0=null;try{return $()}finally{u0=Z}}function UK($,Z){let Y=typeof $==="function"?$:()=>$,J=p$([]),X=l$(()=>J().reduce((K,W)=>Z(K,W.action),Y())),Q=!1;return c$(()=>{if(Y(),!Q){Q=!0;return}if(o$(()=>J().length))J.set([])}),[X,(K,W)=>{let q={action:K};J.set([...J(),q]);let z=()=>{let U=J().filter((j)=>j!==q);if(U.length!==J().length)J.set(U)};if(W&&typeof W.then==="function")Promise.resolve(W).then(z,z);return z}]}var u0=null,u$,Z$=!1,m$,qK,zK;var h7=b(()=>{u$=[],m$=new Set,qK=[],zK=[]});var b8={};a(b8,{useOptimistic:()=>UK,untrack:()=>g7,state:()=>p$,peek:()=>o$,onMount:()=>x7,onDestroy:()=>f7,isSignal:()=>i$,isDerived:()=>n$,generateSignalsRuntimeDev:()=>s$,generateSignalsRuntime:()=>k8,effect:()=>c$,derived:()=>l$,default:()=>_K,batch:()=>v7});function k8(){try{let $=jK(s$()),Y=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($);return Y=Y.replace(/\}(var |let |const |function )/g,"};$1"),Y}catch{return s$()}}function jK($){let Z=[],Y=0,J="console.log(";while(Y<$.length){let X=$.indexOf(J,Y);if(X===-1){Z.push($.slice(Y));break}Z.push($.slice(Y,X));let Q=1,G=X+J.length;while(G<$.length&&Q>0){let K=$[G];if(K==='"'||K==="'"||K==="`"){let W=K;G++;while(G<$.length&&$[G]!==W){if($[G]==="\\")G++;G++}G++;continue}if(K==="(")Q++;else if(K===")")Q--;G++}Z.push("0"),Y=G}return Z.join("")}function s$(){return`
|
|
794
794
|
// STX Signals Runtime (Development Build)
|
|
795
795
|
console.log('[stx] signals runtime loading');
|
|
796
796
|
// Pre-initialization shim: capture onMount/onDestroy calls made before the runtime IIFE runs
|
|
@@ -7349,54 +7349,54 @@ catch (e) { console.warn('[stx] mount callback error:', e); }
|
|
|
7349
7349
|
}
|
|
7350
7350
|
}
|
|
7351
7351
|
})();
|
|
7352
|
-
`}var
|
|
7352
|
+
`}var _K;var S8=b(()=>{h7();h7();_K={state:p$,derived:l$,effect:c$,batch:v7,onMount:x7,onDestroy:f7,isSignal:i$,isDerived:n$,untrack:g7,peek:o$,generateSignalsRuntime:k8,generateSignalsRuntimeDev:s$}});var d7={};a(d7,{templateCache:()=>y8,readFileCached:()=>BK,invalidateFileCacheByDir:()=>OK,invalidateFileCache:()=>HK,hashFilePath:()=>Y$,getCachedSignalsRuntime:()=>VK,getCachedRouterScript:()=>wK,clearDevCaches:()=>AK,checkCache:()=>RK,cacheTemplate:()=>NK,__setSignalsGeneratorsForTest:()=>FK});import M1 from"fs";import B5 from"path";async function BK($){let Y;for(let J=0;J<3;J++)try{let Q=(await M1.promises.stat($)).mtime.getTime(),G=m1.get($);if(G&&G.mtime===Q)return G.content;let K=await Bun.file($).text(),q=(await M1.promises.stat($)).mtime.getTime();if(q!==Q)continue;return m1.set($,{content:K,mtime:q}),K}catch(X){Y=X;break}throw m1.delete($),Error(`File not found: ${$}${Y?` (${Y.message})`:""}`)}function HK($){m1.delete($)}function OK($){for(let Z of m1.keys())if(Z.startsWith($))m1.delete(Z)}function FK($){P8=$}async function VK($=!1){let Z=P8??await Promise.resolve().then(() => (S8(),b8));if($)return Z.generateSignalsRuntimeDev();if(r$===null)r$=Z.generateSignalsRuntime();return r$}async function wK(){if(a$===null){let{getRouterScript:$}=await import("stx-router");a$=$()}return a$}function AK(){m1.clear(),v8(),r$=null,LK=null,a$=null}function C8($){let Z={debug:$.debug===!0,middleware:($.middleware??[]).map((Y)=>({name:Y.name,timing:Y.timing,handler:String(Y.handler)})),customDirectives:($.customDirectives??[]).map((Y)=>({name:Y.name,hasEndTag:Y.hasEndTag===!0,handler:String(Y.handler)}))};return new Bun.CryptoHasher("sha1").update(JSON.stringify(Z)).digest("hex")}async function RK($,Z){try{if(!Z.cachePath)return null;let Y=B5.resolve(Z.cachePath),J=B5.join(Y,`${Y$($)}.html`),X=B5.join(Y,`${Y$($)}.meta.json`);if(!await c(J)||!await c(X))return null;let Q=await Bun.file(X).text(),G=JSON.parse(Q);if(G.cacheVersion!==Z.cacheVersion)return null;if(G.optionsSignature!==C8(Z))return null;if((await M1.promises.stat($)).mtime.getTime()>G.mtime)return null;for(let W of G.dependencies)if(await c(W)){if((await M1.promises.stat(W)).mtime.getTime()>G.mtime)return null}else return null;return await Bun.file(J).text()}catch(Y){return console.warn(`Cache error for ${$}:`,Y),null}}async function NK($,Z,Y,J){try{if(!J.cachePath)return;let X=B5.resolve(J.cachePath);await M1.promises.mkdir(X,{recursive:!0});let Q=B5.join(X,`${Y$($)}.html`),G=B5.join(X,`${Y$($)}.meta.json`),K=await M1.promises.stat($);await Bun.write(Q,Z);let W={sourcePath:$,mtime:K.mtime.getTime(),dependencies:Array.from(Y),cacheVersion:J.cacheVersion,optionsSignature:C8(J),generatedAt:Date.now()};await Bun.write(G,JSON.stringify(W,null,2)),y8.set($,{output:Z,mtime:K.mtime.getTime(),dependencies:Y})}catch(X){console.warn(`Failed to cache template ${$}:`,X)}}function Y$($){return new Bun.CryptoHasher("sha1").update($).digest("hex").substring(0,MK)}var y8,m1,r$=null,LK=null,P8=null,a$=null,MK=16;var u7=b(()=>{M0();y8=new Map,m1=new Map});function x8($){if($.includes("window.StacksBrowser")||$.includes("StacksBrowser ="))return $;let Z=/<script\b(?![^>]*\bserver\b)[^>]*>([\s\S]*?)<\/script>/gi,Y="",J;while((J=Z.exec($))!==null)Y+=J[1]+`
|
|
7353
7353
|
`;let X=/\{\{([\s\S]*?)\}\}/g;while((J=X.exec($))!==null)Y+=J[1]+`
|
|
7354
|
-
`;if(!Y.trim())return $;let G=["browserQuery","BrowserQueryBuilder","configureBrowser","createBrowserModel","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useDocumentVisibility","useIntervalFn"].some((j)=>{return new RegExp(`\\b${j}\\b`).test(Y)}),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"]),W=/\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
|
|
7354
|
+
`;if(!Y.trim())return $;let G=["browserQuery","BrowserQueryBuilder","configureBrowser","createBrowserModel","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useDocumentVisibility","useIntervalFn"].some((j)=>{return new RegExp(`\\b${j}\\b`).test(Y)}),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"]),W=/\b([A-Z][a-zA-Z0-9]*)\s*\.\s*(all|find|first|get|where|orderBy|orderByDesc|limit|select|pluck|create|update|delete)\s*\(/g,q,z=!1;while((q=W.exec(Y))!==null)if(!K.has(q[1])){z=!0;break}if(!G&&!z)return $;let U=`<script type="module">
|
|
7355
7355
|
// STX: Auto-load @stacksjs/browser (auto-initializes API and loads models)
|
|
7356
7356
|
import '@stacksjs/browser'
|
|
7357
7357
|
</script>`;if($.includes("</head>")){let j=$.indexOf("</head>"),B=$.slice(0,j).indexOf("<script");if(B!==-1)return $.slice(0,B)+U+`
|
|
7358
7358
|
`+$.slice(B);return $.replace("</head>",`${U}
|
|
7359
7359
|
</head>`)}if($.includes("<body"))return $.replace(/<body([^>]*)>/,`<body$1>
|
|
7360
7360
|
${U}`);return U+`
|
|
7361
|
-
`+$}async function
|
|
7361
|
+
`+$}async function f8($,Z){if($.includes("data-stx-runtime")||$.includes("window.stx.state")||$.includes("STX Signals Runtime"))return $;if(Z.buildMode==="serve"){let K=$.indexOf("<script");if(K!==-1)return $.slice(0,K)+`<script data-stx-runtime src="/_stx/runtime.js"></script>
|
|
7362
7362
|
`+$.slice(K);if($.includes("</head>")){let W=$.indexOf("</head>");return $.slice(0,W)+`<script data-stx-runtime src="/_stx/runtime.js"></script>
|
|
7363
7363
|
`+$.slice(W)}return`<script data-stx-runtime src="/_stx/runtime.js"></script>
|
|
7364
7364
|
`+$}if(Z.buildMode==="compile"){let K=$.indexOf("<script");if(K!==-1)return $.slice(0,K)+`<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>
|
|
7365
7365
|
`+$.slice(K);if($.includes("</head>")){let W=$.indexOf("</head>");return $.slice(0,W)+`<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>
|
|
7366
7366
|
`+$.slice(W)}return`<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>
|
|
7367
|
-
`+$}let{getCachedSignalsRuntime:Y}=await Promise.resolve().then(() => (
|
|
7367
|
+
`+$}let{getCachedSignalsRuntime:Y}=await Promise.resolve().then(() => (u7(),d7)),X=`<script data-stx-scoped data-stx-runtime>${await Y(Z.debug)}</script>`,Q=$.indexOf("<script");if(Q!==-1)return $.slice(0,Q)+X+`
|
|
7368
7368
|
`+$.slice(Q);if($.includes("</head>")){let G=$.indexOf("</head>");return $.slice(0,G)+X+`
|
|
7369
7369
|
`+$.slice(G)}if($.includes("<body")){let G=$.indexOf("<body"),K=$.indexOf(">",G);return $.slice(0,K+1)+`
|
|
7370
7370
|
`+X+$.slice(K+1)}return X+`
|
|
7371
|
-
`+$}async function
|
|
7372
|
-
`}let{getCachedRouterScript:X}=await Promise.resolve().then(() => (
|
|
7373
|
-
</body>`+$.slice(G+7)}var
|
|
7374
|
-
`)}else{if(!
|
|
7375
|
-
`)
|
|
7376
|
-
`)B++;U=B;continue}if(_==="/"&&$[U+1]==="*"){let B=U+2;while(B<Q-1&&!($[B]==="*"&&$[B+1]==="/"))B++;U=B+2;continue}if(_==='"'||_==="'"||_==="`"){let B=U+1;while(B<Q){if($[B]==="\\"){B+=2;continue}if($[B]===_){B++;break}B++}U=B;continue}if(_==="("||_==="["||_==="{"){j++,U++;continue}if(_===")"||_==="]"||_==="}"){j--,U++;continue}if(_===";"&&j===0)return U+1;U++}return Q};while(J<Q){let
|
|
7377
|
-
${O}`)}let q
|
|
7378
|
-
|
|
7379
|
-
`);
|
|
7371
|
+
`+$}async function m7($,Z){if(!$.includes("</body>"))return $;if($.includes("data-stx-router")||$.includes("__stxRouter)return")||$.includes("__stxRouter=true"))return $;let Y=Z?.router,J="";if(Y){let K={};if(Y.container)K.container=Y.container;if(Y.interceptAllLinks!==void 0)K.interceptAllLinks=Y.interceptAllLinks;if(Y.progress!==void 0)K.progress=Y.progress;if(Y.viewTransitions!==void 0)K.viewTransitions=Y.viewTransitions;if(Y.viewTransitionDuration!==void 0)K.viewTransitionDuration=Y.viewTransitionDuration;if(Y.viewTransitionEasing!==void 0)K.viewTransitionEasing=Y.viewTransitionEasing;if(Y.scrollToTop!==void 0)K.scrollToTop=Y.scrollToTop;if(Y.prefetch!==void 0)K.prefetch=Y.prefetch;if(Y.cache!==void 0)K.cache=Y.cache;if(Y.progressColor!==void 0)K.progressColor=Y.progressColor;if(Y.progressHeight!==void 0)K.progressHeight=Y.progressHeight;if(Object.keys(K).length>0)J=`<script>window.__stxRouterConfig=${JSON.stringify(K)};</script>
|
|
7372
|
+
`}let{getCachedRouterScript:X}=await Promise.resolve().then(() => (u7(),d7)),Q=Z?.buildMode==="compile"?'<script data-stx-router src="/__stx/router.__STX_HASH__.js"></script>':Z?.buildMode==="serve"?'<script data-stx-router src="/_stx/router.js"></script>':`<script data-stx-router>${await X()}</script>`,G=$.lastIndexOf("</body>");return $.slice(0,G)+J+Q+`
|
|
7373
|
+
</body>`+$.slice(G+7)}var Z4={};a(Z4,{scanScriptTags:()=>l8,rewriteStxImportSpecifiers:()=>o8,processSignals:()=>n7,processScriptSetup:()=>i8,preEvalLiteralReactiveIfs:()=>c7,parseLoopExpression:()=>c8,hasSignalsSyntax:()=>$4,findMarkupIndexOutsideScripts:()=>e$,extractExports:()=>n8,convertSignalLoopsToAttributes:()=>i7,convertSignalDirectivesToAttributes:()=>l7});function l8($,Z={}){let Y=[];for(let J of w7($,V1)){let X=J.token.match(/^<script\b([^>]*)>/i),Q=J.token.match(/<\/script\s*>$/i);if(!X||!Q)continue;let G=X[1];if(Z.skipAttrs){if(Z.skipAttrs.lastIndex=0,Z.skipAttrs.test(G))continue}let K=X[0].length,W=J.token.length-Q[0].length;Y.push({fullMatch:J.token,attrs:G,body:J.token.slice(K,W),start:J.start,end:J.end})}return Y}function c8($){let Z=$.trim(),Y=Z.match(/^([\s\S]+?)\s+as\s+(.+)$/);if(Y){let X=Y[1].trim(),Q=Y[2].trim(),{itemVar:G,indexVar:K}=h8(Q);if(G)return{style:"as",iterable:X,itemVar:G,indexVar:K}}let J=Z.match(/^(\([^)]+\)|\w+(?:\s*,\s*\w+)?)\s+(?:in|of)\s+([\s\S]+)$/);if(J){let X=J[1].trim(),Q=J[2].trim(),{itemVar:G,indexVar:K}=h8(X);if(G)return{style:"in",iterable:Q,itemVar:G,indexVar:K}}return{style:"unknown",iterable:null,itemVar:null,indexVar:null}}function h8($){let Z=$.trim(),Y=Z.match(/^(\w+)\s*=>\s*(\w+)$/);if(Y)return{itemVar:Y[2],indexVar:Y[1]};let J=Z.match(/^\(\s*(\w+)(?:\s*,\s*(\w+))?\s*\)$/);if(J)return{itemVar:J[1],indexVar:J[2]||null};let X=Z.match(/^(\w+)\s*,\s*(\w+)$/);if(X)return{itemVar:X[1],indexVar:X[2]};let Q=Z.match(/^(\w+)$/);if(Q)return{itemVar:Q[1],indexVar:null};return{itemVar:null,indexVar:null}}function $4($){return[/@if\s*=/,/@for\s*=/,/@show\s*=/,/@model\s*=/,/@bind:/,/@class\s*=/,/@style\s*=/,/\bx-data\s*=/,/\bstate\s*(?:<[^>]*>)?\s*\(/,/\bderived\s*(?:<[^>]*>)?\s*\(/,/\beffect\s*(?:<[^>]*>)?\s*\(/,/\bref\s*(?:<[^>]*>)?\s*\(/,/\bcomputed\s*(?:<[^>]*>)?\s*\(/,/\breactive\s*(?:<[^>]*>)?\s*\(/,/\bwatch\s*(?:<[^>]*>)?\s*\(/,/\bwatchEffect\s*(?:<[^>]*>)?\s*\(/,/\buseId\s*\(/,/\buseReactiveProp\s*(?:<[^>]*>)?\s*\(/,/\s:(?:if|else-if|else|for|show|text|html|model)\s*=/,/data-stx(?:-auto)?(?![-\w])/,/data-stx-scoped/].some((Y)=>Y.test($))}function IK($){let Z=/@(if\s*\(|endif|elseif\s*\(|else\b)/g,Y=0,J;while((J=Z.exec($))!==null){let X=J[1];if(X.startsWith("if"))Y++;else if(X==="endif")Y--;else if(Y===0)return!0}return!1}function DK($){let Z=new Set,Y=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,J=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal)\s*(?:<[^>]*>)?\s*\(/g,X;while((X=Y.exec($))!==null){let Q=X[1],G;while((G=J.exec(Q))!==null)Z.add(G[1])}return Z}function EK($){return $.replace(/'(?:\\.|[^'\\])*'/g,"''").replace(/"(?:\\.|[^"\\])*"/g,'""').replace(/`(?:\\.|[^`\\])*`/g,"``")}function u8($,Z,Y){if(!$)return!1;let J=EK($),X=!1,Q=!1,G=!1,K=/([a-zA-Z_$][\w$]*)/g,W;while((W=K.exec(J))!==null){let j=W[1];if(J.slice(0,W.index).trimEnd().endsWith("."))continue;if(d8.has(j))continue;if(Z.has(j))X=!0;else if(Y&&j in Y)Q=!0}let q=/([a-zA-Z_$][\w$]*)(?:\.[a-zA-Z_$][\w$]*)*\s*\(\s*\)/g,z;while((z=q.exec(J))!==null){let j=z[1];if(J.slice(0,z.index).trimEnd().endsWith("."))continue;if(d8.has(j)||Y&&j in Y)continue;G=!0}return(X||G)&&!Q}function t$($,Z,Y){let J=Y===void 0?` ${Z}`:` ${Z}="${Y.replace(/"/g,""")}"`,X=$.trim(),Q=X.match(p8);if(Q&&kK(Q[3],Q[1])){let[,G,K,W]=Q;return`<${G}${K}${J}>${W}</${G}>`}return`<template${J}>${X}</template>`}function kK($,Z){let Y=new RegExp(`<(/)?${Z}(?=[\\s/>])`,"gi"),J=0,X;while((X=Y.exec($))!==null)if(X[1]){if(J--,J<0)return!1}else J++;return!0}function l7($,Z){let Y=DK($);function J(X){let Q=X,G=/@if\s*\(/g,K,W=[];while((K=G.exec(Q))!==null){let q=K.index,z=q+K[0].length,U=1,j=z;while(j<Q.length&&U>0){if(Q[j]==="(")U++;else if(Q[j]===")")U--;j++}if(U!==0)continue;let _=Q.substring(z,j-1).trim(),B=j,H=1,L=B,V=/@(if\s*\(|endif)/g;V.lastIndex=B;let O;while((O=V.exec(Q))!==null)if(O[1].startsWith("if"))H++;else if(O[1]==="endif"){if(H--,H===0){L=O.index+O[0].length;break}}if(H!==0)continue;let F=Q.substring(B,L-6).trim(),w;if(IK(F)){let A=$$(Q.substring(q,L));if(A.length===0)continue;let R=A[0].branches.filter((T)=>T.type!=="else");if(!(R.length>0&&R.every((T)=>u8(T.condition,Y,Z))))continue;w=A[0].branches.map((T)=>{let I=J(T.content);if(T.type==="elseif")return t$(I,"@else-if",T.condition??"");if(T.type==="else")return t$(I,"@else");return t$(I,"@if",T.condition??"")}).join(`
|
|
7374
|
+
`)}else{if(!u8(_,Y,Z))continue;w=t$(J(F),"@if",_)}W.push({start:q,end:L,replacement:w}),G.lastIndex=L}for(let q=W.length-1;q>=0;q--){let{start:z,end:U,replacement:j}=W[q];Q=Q.substring(0,z)+j+Q.substring(U)}return Q}return J($)}function bK($){let Z=$.trim();if(Z==="")return;if(Z==="true")return!0;if(Z==="false")return!1;if(Z==="null")return!1;if(Z==="undefined")return!1;if(Z==="NaN")return!1;if(/^-?\d+(?:\.\d+)?$/.test(Z)){let X=Number(Z);return X!==0&&!Number.isNaN(X)}let Y=Z.match(/^'((?:\\.|[^'\\])*)'$/);if(Y)return Y[1].length>0;let J=Z.match(/^"((?:\\.|[^"\\])*)"$/);if(J)return J[1].length>0;return}function SK($,Z,Y,J){if(p7.has(Y.toLowerCase()))return J;let X=Y.toLowerCase(),Q=$.toLowerCase(),G=$.length,K=1,W=J;while(W<G){let q=$.indexOf("<",W);if(q===-1)return-1;if(W=q,$.startsWith("<!--",W)){let _=$.indexOf("-->",W+4);if(_===-1)return-1;W=_+3;continue}let z=/^<(script|style)\b/i.exec($.slice(W,W+8));if(z){let _=$.indexOf(">",W);if(_===-1)return-1;if($[_-1]==="/"){W=_+1;continue}let B=Q.indexOf(`</${z[1].toLowerCase()}`,W);if(B===-1)return-1;let H=$.indexOf(">",B);if(H===-1)return-1;W=H+1;continue}if($[W+1]==="/"){let _=/^<\/([a-z][\w-]*)\s*>/i.exec($.slice(W,W+64));if(!_){W++;continue}if(_[1].toLowerCase()===X){if(K--,W+=_[0].length,K===0)return W;continue}W+=_[0].length;continue}let U=/^<([a-z][\w-]*)\b/i.exec($.slice(W,W+64));if(!U){W++;continue}let j=$.indexOf(">",W);if(j===-1)return-1;if(U[1].toLowerCase()===X){let _=$.slice(W,j+1);if(!(/\/\s*>$/.test(_)||p7.has(X)))K++}W=j+1}return-1}function PK($,Z){let Y=Z,J=$.length;for(;;){while(Y<J&&$[Y]!=="<")Y++;if(Y>=J)return!1;if($.startsWith("<!--",Y)){let G=$.indexOf("-->",Y+4);if(G===-1)return!1;Y=G+3;continue}break}if($[Y+1]==="/")return!1;let X=$.indexOf(">",Y);if(X===-1)return!1;let Q=$.slice(Y,X+1);return yK.test(Q)}function c7($){if(!$.includes(":if")&&!$.includes(":show")&&!$.includes("x-if")&&!$.includes("x-show")&&!$.includes("@if=")&&!$.includes("@show="))return $;let Z=[],Y=/<(script|style)\b[^>]*>[\s\S]*?<\/\1\s*>/gi,J;while((J=Y.exec($))!==null)Z.push([J.index,J.index+J[0].length]);let X=(U)=>Z.some(([j,_])=>U>=j&&U<_),Q=/<([a-zA-Z][\w-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*?)\s+(:if|:show|x-if|x-show|@if|@show)\s*=\s*"([^"]*)"((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)(\/?)>/g,G=[],K;while((K=Q.exec($))!==null){if(X(K.index))continue;let[U,j,_,B,H,L,V]=K,O=bK(H);if(O===void 0)continue;let F=K.index,w=F+U.length,N=!!V||/\/\s*>$/.test(U)||p7.has(j.toLowerCase())?w:SK($,F,j,w);if(N===-1)continue;if((B===":if"||B==="x-if"||B==="@if")&&PK($,N)){Q.lastIndex=w;continue}if(O===!0){let T=`<${j}${_}${L}${V}>`;G.push({start:F,end:w,replacement:T});continue}G.push({start:F,end:N,replacement:""}),Q.lastIndex=N}if(G.length===0)return $;G.sort((U,j)=>U.start-j.start);let W=[],q=-1;for(let U of G){if(U.start<q)continue;W.push(U),q=U.end}let z=$;for(let U=W.length-1;U>=0;U--){let{start:j,end:_,replacement:B}=W[U];z=z.substring(0,j)+B+z.substring(_)}return z}function i7($,Z){let Y=$,J=/@(for|foreach)\s*\(/g,X,Q=[];while((X=J.exec(Y))!==null){let G=X[1],K=X.index,W=K+X[0].length,q=1,z=W;while(z<Y.length&&q>0){if(Y[z]==="(")q++;else if(Y[z]===")")q--;z++}if(q!==0)continue;let U=Y.substring(W,z-1).trim(),j=z,_=c8(U);if(_.iterable){let R=_.iterable.trim();if(R.startsWith("[")||R.startsWith("{")||R.startsWith("'")||R.startsWith('"')||R.startsWith("`")||/^-?\d/.test(R))continue;if(Z){let N=R.split(/[.[(]/)[0].trim();if(N&&N in Z)continue}}if(_.style==="as")U=_.indexVar?`(${_.itemVar}, ${_.indexVar}) in ${_.iterable}`:`${_.itemVar} in ${_.iterable}`;let B=G==="for"?"@endfor":"@endforeach",H=1,L=j,V=G==="for"?new RegExp("@(for(?!each)\\s*\\(|endfor(?!each))","g"):new RegExp(`@(${G}\\s*\\(|end${G})`,"g");V.lastIndex=j;let O;while((O=V.exec(Y))!==null)if(O[1].startsWith(G))H++;else if(H--,H===0){L=O.index+O[0].length;break}if(H!==0)continue;let F=Y.substring(j,L-B.length).trim(),w=F.match(p8),A;if(w){let[,R,N,M]=w;A=`<${R}${N} @for="${U}">${M}</${R}>`}else A=`<template @for="${U}">${F}</template>`;Q.push({start:K,end:L,replacement:A})}for(let G=Q.length-1;G>=0;G--){let{start:K,end:W,replacement:q}=Q[G];Y=Y.substring(0,K)+q+Y.substring(W)}return Y}function CK($){let Z=new Set,Y=[],J=0,X=0,Q=$.length,G=(z)=>{let U=J+1;while(U<Q){let j=$[U];if(j==="\\"){U+=2;continue}if(j===z)return U+1;U++}return Q},K=()=>{let z=J+2;while(z<Q&&$[z]!==`
|
|
7375
|
+
`)z++;return z},W=()=>{let z=J+2;while(z<Q-1){if($[z]==="*"&&$[z+1]==="/")return z+2;z++}return Q},q=(z)=>{let U=z,j=0;while(U<Q){let _=$[U];if(_==="/"&&$[U+1]==="/"){let B=U+2;while(B<Q&&$[B]!==`
|
|
7376
|
+
`)B++;U=B;continue}if(_==="/"&&$[U+1]==="*"){let B=U+2;while(B<Q-1&&!($[B]==="*"&&$[B+1]==="/"))B++;U=B+2;continue}if(_==='"'||_==="'"||_==="`"){let B=U+1;while(B<Q){if($[B]==="\\"){B+=2;continue}if($[B]===_){B++;break}B++}U=B;continue}if(_==="("||_==="["||_==="{"){j++,U++;continue}if(_===")"||_==="]"||_==="}"){j--,U++;continue}if(_===";"&&j===0)return U+1;U++}return Q};while(J<Q){let z=$[J];if(z==="/"&&$[J+1]==="/"){let U=K();Y.push($.slice(J,U)),J=U;continue}if(z==="/"&&$[J+1]==="*"){let U=W();Y.push($.slice(J,U)),J=U;continue}if(z==='"'||z==="'"||z==="`"){let U=G(z);Y.push($.slice(J,U)),J=U;continue}if(z==="{"){X++,Y.push(z),J++;continue}if(z==="}"){X--,Y.push(z),J++;continue}if(X===0){let U=J>0?$[J-1]:"";if(U===""||/\s/.test(U)||U===";"||U==="}"||U==="{"){let _=$.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(_){let B=_[2],H=q(J+_[0].length);if(Z.has(B)){Y.push(`/* stx: deduped const ${B} */`),J=H;continue}Z.add(B),Y.push($.slice(J,H)),J=H;continue}}}Y.push(z),J++}return Y.join("")}async function i8($,Z,Y){let J=l8($,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b/}),X=/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useStore|useLocalStorage|useSessionStorage|useCookie|useId|useReactiveProp|useFetch|useRef|useEventListener|useDebounce|useDebouncedValue|useThrottle|useInterval|useTimeout|useToggle|useCounter|useClickOutside|useFocus|useAsync|useColorMode|useDark|useMediaQuery|useScrollLock|usePreferredDark|usePreferredLight|usePreferredReducedMotion|usePreferredContrast|useWebSocket|useRoute|useSearchParams|onMount|onDestroy|defineProps|withDefaults|defineEmits|defineExpose|defineSlots|useOptimistic)\s*(?:<[^>]*>)?\s*\(/,Q=[];for(let L of J){let V=L.body;if(v1(L.attrs))V=x1(V);if(X.test(V))Q.push({fullMatch:L.fullMatch,attrs:L.attrs,content:V})}if(Q.length===0)return{output:$,setupCode:null};let G=`__stx_setup_${Date.now()}_${TK++}`,{hasUserImports:K,bundleClientScript:W}=await t("stx/client-script-bundler",()=>Promise.resolve().then(() => (d5(),h5))),q=[];for(let L=0;L<Q.length;L++){let V=Q[L].content;if(V=Q5(V).code,K(V))V=await W(V,Z||"",{projectRoot:process.cwd()});V=V.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(F,w)=>o8(w));let O=r0(V);q.push(`// \u2500\u2500 merged signal script #${L+1} \u2500\u2500
|
|
7377
|
+
${O}`)}let z=q.join(`
|
|
7378
|
+
|
|
7379
|
+
`);z=CK(z);let U=n8(z),j=U.split(",").map((L)=>L.trim()).filter(Boolean),_=D$(z,Y),B=`
|
|
7380
7380
|
<script data-stx-scoped>
|
|
7381
7381
|
function ${G}() {
|
|
7382
|
-
${
|
|
7383
|
-
${_}${
|
|
7382
|
+
${W5("const",j)}
|
|
7383
|
+
${_}${z}
|
|
7384
7384
|
return { ${U} };
|
|
7385
7385
|
}
|
|
7386
7386
|
window.__stx_latestSetup=${G};
|
|
7387
7387
|
if(window.stx)window.stx._latestSetup=${G};
|
|
7388
|
-
</script>`,H=$;for(let L of Q)H=H.split(L.fullMatch).join("");if(H.includes("<body"))H=H.replace(new RegExp(`<body(${
|
|
7389
|
-
`)return;Q++}},
|
|
7390
|
-
`)Q++;return!0}if(Z[Q]==="/"&&Z[Q+1]==="*"){Q+=2;while(Q<G-1&&!(Z[Q]==="*"&&Z[Q+1]==="/"))Q++;return Q+=2,!0}return!1},_=()=>{if(X!==0)return;let B=Z.slice(Q).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(B){let F=B[2];if(!J.has(F))Y.push(F),J.add(F);return}let H=Z.slice(Q).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(H){H[1].split(",").forEach((F)=>{let w=F.trim();if(!w)return;let A=w.indexOf(":"),N=(A>=0?w.slice(A+1).trim():w).split(/[\s=]/)[0];if(N&&!J.has(N))Y.push(N),J.add(N)});return}let L=Z.slice(Q).match(/^(?:const|let|var)\s+\[([^\]]+)\]\s*=/);if(L){L[1].split(",").forEach((F)=>{let w=F.trim().replace(/^\.\.\./,"");if(!w)return;let A=w.split(/[\s=]/)[0];if(A&&!J.has(A))Y.push(A),J.add(A)});return}let V=Z.slice(Q).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(V){let F=V[1];if(!J.has(F))Y.push(F),J.add(F);return}let O=Z.slice(Q).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(O){let F=O[1];if(!J.has(F))Y.push(F),J.add(F)}};while(Q<G){if(j())continue;if(Z[Q]==="'"||Z[Q]==='"'){
|
|
7391
|
-
${X.slice(
|
|
7388
|
+
</script>`,H=$;for(let L of Q)H=H.split(L.fullMatch).join("");if(H.includes("<body"))H=H.replace(new RegExp(`<body(${g8})>`),`<body$1 data-stx="${G}">`);else{let L=["script","style","html","head","meta","link","title","!doctype"],V=!1;H=H.replace(new RegExp(`<([a-zA-Z][a-zA-Z0-9-]*)\\b(${g8})>`,"gi"),(O,F,w)=>{if(V||L.includes(F.toLowerCase()))return O;return V=!0,`<${F}${w} data-stx="${G}">`})}return{output:H,setupCode:B}}function n8($){let Z=$,Y=[],J=new Set,X=0,Q=0,G=Z.length,K="",W=()=>{Q++;let B=!1;while(Q<G){let H=Z[Q];if(H==="\\"){Q+=2;continue}if(H==="["&&!B){B=!0,Q++;continue}if(H==="]"&&B){B=!1,Q++;continue}if(H==="/"&&!B){Q++;while(Q<G&&/[gimsuyd]/.test(Z[Q]))Q++;return}if(H===`
|
|
7389
|
+
`)return;Q++}},q=()=>{if(!K)return!0;if(/[\w)\]]/.test(K))return!1;return!0},z=(B)=>{Q++;while(Q<G){if(Z[Q]==="\\"){Q+=2;continue}if(Z[Q]===B){Q++;return}Q++}},U=()=>{Q++;while(Q<G){if(Z[Q]==="\\"){Q+=2;continue}if(Z[Q]==="`"){Q++;return}if(Z[Q]==="$"&&Z[Q+1]==="{"){Q+=2;let B=1;while(Q<G&&B>0)if(Z[Q]==="{")B++,Q++;else if(Z[Q]==="}")B--,Q++;else if(Z[Q]==="'"||Z[Q]==='"')z(Z[Q]);else if(Z[Q]==="`")U();else Q++;continue}Q++}},j=()=>{if(Z[Q]==="/"&&Z[Q+1]==="/"){while(Q<G&&Z[Q]!==`
|
|
7390
|
+
`)Q++;return!0}if(Z[Q]==="/"&&Z[Q+1]==="*"){Q+=2;while(Q<G-1&&!(Z[Q]==="*"&&Z[Q+1]==="/"))Q++;return Q+=2,!0}return!1},_=()=>{if(X!==0)return;let B=Z.slice(Q).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(B){let F=B[2];if(!J.has(F))Y.push(F),J.add(F);return}let H=Z.slice(Q).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(H){H[1].split(",").forEach((F)=>{let w=F.trim();if(!w)return;let A=w.indexOf(":"),N=(A>=0?w.slice(A+1).trim():w).split(/[\s=]/)[0];if(N&&!J.has(N))Y.push(N),J.add(N)});return}let L=Z.slice(Q).match(/^(?:const|let|var)\s+\[([^\]]+)\]\s*=/);if(L){L[1].split(",").forEach((F)=>{let w=F.trim().replace(/^\.\.\./,"");if(!w)return;let A=w.split(/[\s=]/)[0];if(A&&!J.has(A))Y.push(A),J.add(A)});return}let V=Z.slice(Q).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(V){let F=V[1];if(!J.has(F))Y.push(F),J.add(F);return}let O=Z.slice(Q).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(O){let F=O[1];if(!J.has(F))Y.push(F),J.add(F)}};while(Q<G){if(j())continue;if(Z[Q]==="'"||Z[Q]==='"'){z(Z[Q]),K=Z[Q-1];continue}if(Z[Q]==="`"){U(),K="`";continue}if(Z[Q]==="/"&&Z[Q+1]!=="/"&&Z[Q+1]!=="*"&&q()){W(),K="/";continue}if(Z[Q]==="{"){X++,K="{",Q++;continue}if(Z[Q]==="}"){X--,K="}",Q++;continue}if(X===0&&/[a-z]/i.test(Z[Q])&&(Q===0||/\s|[;{}()]/.test(Z[Q-1])))_();if(!/\s/.test(Z[Q]))K=Z[Q];Q++}return Y.join(", ")}async function n7($,Z,Y,J){if(!$4($))return $;let X=$;if(Z.skipSignalsRuntime)return X;let{output:Q,setupCode:G}=await i8(X,Y,J);if(X=Q,X=await f8(X,Z),X=x8(X),G){let z=e$(X,/<\/head>/i),U=z===-1?e$(X,/<body[^>]*>/i):-1;if(z!==-1)X=`${X.slice(0,z)}${G}
|
|
7391
|
+
${X.slice(z)}`;else if(U!==-1){let j=/<body[^>]*>/i.exec(X.slice(U))[0],_=U+j.length;X=`${X.slice(0,_)}
|
|
7392
7392
|
${G}${X.slice(_)}`}else X=`${X}
|
|
7393
|
-
${G}`}let W=X.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),
|
|
7394
|
-
`)X++;return!0}if($[X]==="/"&&$[X+1]==="*"){X+=2;while(X<Q-1&&!($[X]==="*"&&$[X+1]==="/"))X++;return X+=2,!0}return!1},
|
|
7393
|
+
${G}`}let W=X.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),q=W&&/data-stx/.test(W[1]);if(!G&&!q&&W&&!/data-stx-auto/.test(W[1])){let z=/<body[^>]*>/i,U=e$(X,z);if(U!==-1){let j=X.slice(0,U),_=X.slice(U).replace(z,(B)=>B.replace(/^<body([^>]*)>$/i,"<body$1 data-stx-auto>"));X=j+_}}return X}function e$($,Z){let Y=/<(script|style)\b[\s\S]*?<\/\1>/gi,J=[],X;while((X=Y.exec($))!==null)J.push([X.index,X.index+X[0].length]);let Q=new RegExp(Z.source,Z.flags.replace(/[gy]/g,"")),G=0;while(G<$.length){let K=Q.exec($.slice(G));if(!K)return-1;let W=G+K.index;if(!J.some(([z,U])=>W>=z&&W<U))return W;G=W+Math.max(K[0].length,1)}return-1}function o8($){let Z=[];for(let Y of $.split(",")){let J=Y.trim();if(!J||J.startsWith("type "))continue;let X=J.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(X&&X[1]!==X[2])Z.push(`${X[2]} = ${X[1]}`)}if(Z.length===0)return m8;return`var ${Z.join(", ")}; ${m8}`}var TK=0,g8=`(?:"[^"]*"|'[^']*'|[^>"'])*`,p8,d8,p7,yK,m8="/* [stx import stripped, resolved via window.stx in __stx_setup] */";var J$=b(()=>{l5();d$();s5();M0();f1();g5();p8=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s;d8=new Set(["true","false","null","undefined","NaN","Infinity","typeof","instanceof","in","of","new","void","delete","this","Math","JSON","Date","Number","String","Boolean","Array","Object","RegExp","Map","Set","Symbol","parseInt","parseFloat","isNaN","isFinite","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","window","document","console"]);p7=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);yK=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/});import vK from"fs";import h from"path";function fK($){let Z=new WeakSet;try{let Y=(J)=>{if(J===void 0)return{__stxType:"undefined"};if(typeof J==="bigint")return{__stxType:"bigint",value:J.toString()};if(typeof J==="function"||typeof J==="symbol")throw TypeError("Non-serializable component input");if(J===null||typeof J!=="object")return J;if(Z.has(J))throw TypeError("Circular component input");if(Z.add(J),J instanceof Date)return{__stxType:"date",value:J.toISOString()};if(Array.isArray(J))return J.map(Y);let X={};for(let Q of Object.keys(J).sort())X[Q]=Y(J[Q]);return X};return JSON.stringify(Y($))}catch{return null}}function s8($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function gK($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function v1($){return!gK($)}function x1($){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 Y=[];Z=Z.replace(/\{!![\s\S]*?!!\}/g,(Q)=>{let G=Y.length;return Y.push(Q),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{\{[\s\S]*?\}\}\}/g,(Q)=>{let G=Y.length;return Y.push(Q),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{[\s\S]*?\}\}/g,(Q)=>{let G=Y.length;return Y.push(Q),`"__STX_EXPR_${G}__"`});let X=new Bun.Transpiler({loader:"ts",target:"browser",define:c0()}).transformSync(Z);for(let Q=0;Q<Y.length;Q++)X=X.replace(`"__STX_EXPR_${Q}__"`,Y[Q]),X=X.replace(`'__STX_EXPR_${Q}__'`,Y[Q]);return X}catch(Z){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",Z);return $}}function hK($){let Z=[],Y=new Set,J=0,X=0,Q=$.length,G=(z)=>{X++;while(X<Q){if($[X]==="\\"){X+=2;continue}if($[X]===z){X++;return}X++}},K=()=>{X++;while(X<Q){if($[X]==="\\"){X+=2;continue}if($[X]==="`"){X++;return}if($[X]==="$"&&$[X+1]==="{"){X+=2;let z=1;while(X<Q&&z>0)if($[X]==="{")z++,X++;else if($[X]==="}")z--,X++;else if($[X]==="'"||$[X]==='"')G($[X]);else if($[X]==="`")K();else X++;continue}X++}},W=()=>{if($[X]==="/"&&$[X+1]==="/"){while(X<Q&&$[X]!==`
|
|
7394
|
+
`)X++;return!0}if($[X]==="/"&&$[X+1]==="*"){X+=2;while(X<Q-1&&!($[X]==="*"&&$[X+1]==="/"))X++;return X+=2,!0}return!1},q=()=>{if(J!==0)return;let z=$.slice(X).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(z){let B=z[2].split(",").map((H)=>{let L=H.trim().split(":");return L[L.length-1].trim()});for(let H of B)if(H&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(H)&&!Y.has(H))Z.push(H),Y.add(H);return}let U=$.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))Z.push(B),Y.add(B);return}let j=$.slice(X).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(j){let B=j[1];if(!Y.has(B))Z.push(B),Y.add(B);return}let _=$.slice(X).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(_){let B=_[1];if(!Y.has(B))Z.push(B),Y.add(B)}};while(X<Q){if(W())continue;if($[X]==="'"||$[X]==='"'){G($[X]);continue}if($[X]==="`"){K();continue}if($[X]==="{"){J++,X++;continue}if($[X]==="}"){J--,X++;continue}if(J===0&&/[a-z]/i.test($[X])&&(X===0||/\s|[;{}()]/.test($[X-1])))q();X++}return Z}function dK($){let Z=[],Y=0,J=0,X=null;for(let Q=0;Q<$.length;Q++){let G=$[Q];if(X){if(G==="\\"){Q++;continue}if(G===X)X=null;continue}if(G==='"'||G==="'"||G==="`"){X=G;continue}if(G==="("||G==="["||G==="{")Y++;else if(G===")"||G==="]"||G==="}")Y--;else if(G===","&&Y===0)Z.push($.slice(J,Q)),J=Q+1}if(J<$.length)Z.push($.slice(J));return Z}function uK($){let Z=0,Y=null;for(let J=0;J<$.length;J++){let X=$[J];if(Y){if(X==="\\"){J++;continue}if(X===Y)Y=null;continue}if(X==='"'||X==="'"||X==="`"){Y=X;continue}if(X==="("||X==="["||X==="{")Z++;else if(X===")"||X==="]"||X==="}")Z--;else if(X==="="&&Z===0){let Q=$[J-1],G=$[J+1];if(Q==="!"||Q==="<"||Q===">"||Q==="=")continue;if(G==="="||G===">")continue;return J}}return-1}function mK($,Z){try{let Y=/=\s*(?:withDefaults\s*\([\s\S]*?defineProps|defineProps)\b/.exec($);if(!Y)return;let J=Y.index-1;while(J>=0&&/\s/.test($[J]))J--;if($[J]!=="}")return;let X=J,Q=0,G=-1;for(;J>=0;J--){let W=$[J];if(W==="}")Q++;else if(W==="{"){if(Q--,Q===0){G=J;break}}}if(G===-1)return;let K=$.slice(G+1,X);for(let W of dK(K)){let q=W.trim();if(!q||q.startsWith("..."))continue;let z=uK(q);if(z===-1)continue;let U=q.slice(0,z).trim();if(!/^[A-Z_$][\w$]*$/i.test(U))continue;if(Z[U]!==void 0)continue;let j=q.slice(z+1).trim();if(!j)continue;try{let _=Object.keys(Z),B=Function(..._,`"use strict"; return (${j});`);Z[U]=B(..._.map((H)=>Z[H]))}catch{}}}catch{}}async function X4($,Z,Y,J,X){let Q=$.endsWith(".stx")?$.slice(0,-4):$,G=(L)=>L.split("-").map((V)=>V.charAt(0).toUpperCase()+V.slice(1)).join(""),K=(L)=>L.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),W=Y.__importedComponents;if(W){for(let L of[Q,Q.toLowerCase(),G(Q),K(Q)])if(W.has(L))return!0}let q=[...new Set([`${Q}.stx`,`${G(Q)}.stx`,`${K(Q)}.stx`])],z=typeof X.root==="string"?h.resolve(X.root):void 0,U=z??h.dirname(J),j=[],_=(L)=>{if(L&&!j.includes(L))j.push(L)},B=Y.__originalFilePath;if(B)_(h.join(h.dirname(B),"components"));_(Z),_(X._rootComponentsDir),_(h.join(h.dirname(J),"components")),_(X.componentsDir);let H=X._pluginComponentDirs;if(Array.isArray(H))for(let L of H)_(typeof L==="string"?L:null);if(z)_(h.resolve(z,"resources/views/components")),_(h.resolve(z,"resources/components")),_(h.resolve(z,"src/components")),_(h.resolve(z,"components"));if(Q.startsWith("./")||Q.startsWith("../"))return c(h.resolve(h.dirname(J),`${Q}.stx`));for(let L of j){let V=h.isAbsolute(L)?L:h.resolve(U,L);for(let O of q)if(await c(h.join(V,O)))return!0}return!1}function pK($){return $==="visible"||$==="idle"||$==="interaction"||$.startsWith("media:")}function lK($){if(!$)return!1;let Z=$.replace(/<script[\s\S]*?<\/script>/gi,"").replace(/<style[\s\S]*?<\/style>/gi,"");return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(Z)}function cK($){let Z=new Set,Y=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal|useReactiveProp|useLocalStorage|useSessionStorage|useCookie|useDebouncedValue)\s*(?:<[^>]*>)?\s*\(/g;for(let J of $){let X;while((X=Y.exec(J))!==null)Z.add(X[1]);Y.lastIndex=0}return[...Z]}async function p1($,Z,Y,J,X,Q,G,K=new Set,W){let{extractVariables:q}=await t("stx/variable-extractor",()=>Promise.resolve().then(() => (e5(),g$))),z=K??new Set;if(z.has($))return`[Circular component reference: ${$}]`;let U=new Set(z);U.add($);let j=typeof Z.client==="string"?Z.client.trim():"";if("client"in Z)delete Z.client;let _=j&&j!=="load"&&pK(j)?j:"";try{let B=(P)=>P.split("-").map((x)=>x.charAt(0).toUpperCase()+x.slice(1)).join(""),H=(P)=>P.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),L=$.endsWith(".stx")?$.slice(0,-4):$,V=null,O=X.__importedComponents;if(O){let P=[L,L.toLowerCase(),B(L),H(L)];for(let x of P)if(O.has(x)){V=O.get(x);break}}let F=[];if(!V){let P=[`${L}.stx`,`${B(L)}.stx`,`${H(L)}.stx`],x=[...new Set(P)],m=X.__originalFilePath,u=[];if(m){let z0=h.join(h.dirname(m),"components");u.push(z0)}if(J)u.push(J);let j0=G._rootComponentsDir;if(typeof j0==="string"&&!u.includes(j0))u.push(j0);let N0=h.join(h.dirname(Q),"components");if(!u.includes(N0))u.push(N0);if(G.componentsDir&&G.componentsDir!==J&&!u.includes(G.componentsDir))u.push(G.componentsDir);let W1=G._pluginComponentDirs;if(Array.isArray(W1)){for(let z0 of W1)if(typeof z0==="string"&&!u.includes(z0))u.push(z0)}let l0=typeof G.root==="string"?h.resolve(G.root):void 0,v0=l0??h.dirname(Q),s0=[];if(l0)s0.push(h.resolve(l0,"resources/views/components")),s0.push(h.resolve(l0,"resources/components")),s0.push(h.resolve(l0,"src/components")),s0.push(h.resolve(l0,"components"));s0.push(h.resolve(import.meta.dir,"components"));for(let z0 of s0)if(!u.includes(z0))u.push(z0);let S1=[...new Set(u.map((z0)=>{if(!z0)return z0;return h.isAbsolute(z0)?z0:h.resolve(v0,z0)}))];u.length=0,u.push(...S1);let O1=`${L}\x00${Q}\x00${S1.join("\x00")}`,Y5=J4.get(O1);if(Y5)if(await c(Y5))V=Y5;else J4.delete(O1);if(!V&&(L.startsWith("./")||L.startsWith("../")))V=h.resolve(h.dirname(Q),`${L}.stx`),F.push(V);else if(!V)for(let z0 of u){if(!z0)continue;for(let i of x){let d0=h.join(z0,i);if(F.push(d0),await c(d0)){V=d0;break}}if(V)break;if(!V)try{let i=await import("fs");if(!i.statSync(z0,{throwIfNoEntry:!1})?.isDirectory())continue;let y5=8,J5=[{path:z0,depth:0}];while(J5.length>0&&!V){let q1=J5.pop();if(q1.depth>=y5)continue;let N$;try{N$=i.readdirSync(q1.path,{withFileTypes:!0})}catch{continue}for(let M$ of N$){if(!M$.isDirectory())continue;if(M$.name==="node_modules"||M$.name.startsWith("."))continue;let Z9=h.join(q1.path,M$.name);for(let OQ of x){let z7=h.join(Z9,OQ);if(F.push(z7),await c(z7)){V=z7;break}}if(V)break;J5.push({path:Z9,depth:q1.depth+1})}}}catch{}if(V)break}if(V)J4.set(O1,V)}if(!V||!await c(V)){let P=F.length>0?`
|
|
7395
7395
|
Searched paths:
|
|
7396
7396
|
${F.map((x)=>` - ${x}`).join(`
|
|
7397
|
-
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${P}`}W.add(V);let w;if(
|
|
7398
|
-
`)}`}if(Y&&r.includes("{{ text || slot }}"))r=r.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Y);let{applySlots:
|
|
7399
|
-
${
|
|
7397
|
+
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${P}`}W.add(V);let w;if(Y4.has(V))w=Y4.get(V);else try{w=await Bun.file(V).text(),Y4.set(V,w)}catch(P){return`[Error loading component: ${P instanceof Error?P.message:String(P)}]`}let A=new Set(["__originalFilePath","__importedComponents",E$]),R={};for(let[P,x]of Object.entries(X))if(!P.startsWith("__")||A.has(P))R[P]=x;let{extractSlotContent:N}=await t("stx/slots",()=>Promise.resolve().then(() => (P7(),y7))),M=N(Y),T={};if(M.defaultSlot?.trim())T.default=M.defaultSlot;for(let[P,x]of M.namedSlots)T[P]=x.content;let I={...R,...Z,props:Z,slot:Y,$slots:T,__processedComponents:U,__sections:{},...lK(Y)&&{__stx_force_signals:!0}};mK(w,I);let E=w,D=v$(E);if(D)E=D.content.trim();let y=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,S=[...w.matchAll(y)],k=[],v=S.some((P)=>/\bserver\b/.test(P[1]||"")&&/\bcache\b/.test(P[1]||""))&&S.every((P)=>/\bserver\b/.test(P[1]||"")),g=null,f=null;if(v){let P=fK({props:Z,slot:Y,buildMode:G.buildMode??"",skipEventDirectives:G.skipEventDirectives===!0});if(P!==null){g=`${V}\x00${P}`;let x=o7.get(g);if(x){for(let m of x.dependencies)W.add(m);return x.output}f=new Set(W)}}for(let P of S){let x=P[1]||"",m=P[2]||"",u=x.includes("server");if(v1(x)&&m.trim())m=x1(m);if(u&&m)try{await q(m,I,V)}catch(N0){}if(!u){let N0=m.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,""),W1=N0.includes("{{")&&N0.includes("}}"),l0=N0.includes("{!!")&&N0.includes("!!}");if(W1||l0)N0=y$(N0,I);let v0=x.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");k.push(`<script${v0}>${N0}</script>`)}}let d=w.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),p=d?d[1]:"",Q0=d?d[2]:"",Y0="",w0=p&&/\bscoped\b/i.test(p);if(d)Y0=`<style${p}>${Q0}</style>`;let r=E;if(r=r.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),d)r=r.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let P=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,x=[];if(r=r.replace(P,(m,u)=>{let j0=u.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(j0)x.push(`<style${j0[1]}>${j0[2]}</style>`);return""}),r=r.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),x.length>0)Y0=`${Y0}${x.join(`
|
|
7398
|
+
`)}`}if(Y&&r.includes("{{ text || slot }}"))r=r.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Y);let{applySlots:G0}=await t("stx/slots",()=>Promise.resolve().then(() => (P7(),y7))),{defaultSlot:b0,namedSlots:o0}=M;r=await G0(r,b0,o0,I);for(let[P,x]of Object.entries(I))if(typeof x==="string"){if(x.includes("<")&&x.includes(">")||x.includes("<")||x.includes(""")){let m=A7(x);I[P]=m}}let H1=k.some((P)=>/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useReactiveProp|defineProps|withDefaults|defineEmits|defineExpose|defineSlots)\s*(?:<[^<>()]*>)?\s*\(/.test(P)),Z5=cK(k);if(Z5.length>0)I.__stx_client_signal_names=Z5;let n={...G,_rootComponentsDir:G._rootComponentsDir||G.componentsDir,componentsDir:h.dirname(V),skipSignalsRuntime:!0,skipEventDirectives:H1||k.length===0,defaultLayout:void 0};I.__stxProcessingDepth=(X.__stxProcessingDepth||0)+1;let X0=await L0(r,I,V,n,W),H0=new Set(Array.isArray(X.__stx_preserved_client_expressions)?X.__stx_preserved_client_expressions:[]);for(let P of X0.matchAll(/\{\{([\s\S]*?)\}\}/g))H0.add(P[1].trim());if(H0.size>0)X.__stx_preserved_client_expressions=[...H0];let D0=`stx_${L.replace(/[^a-zA-Z0-9]/g,"_")}_${++xK}_${Math.random().toString(36).slice(2,8)}`,C=X0;if(H1){let P="";if(Object.keys(Z).length>0)try{P=` data-stx-props="${s8(JSON.stringify(Z))}"`}catch{}let x=_?` stx-hydrate="${s8(_)}"`:"";C=`<div data-stx-scope="${D0}"${P}${x}>${X0}</div>`;let m=await Promise.all(k.map(async(u)=>{let j0=u.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!j0)return u;let[,N0,W1]=j0,l0=T$(W1,{filePath:V,projectRoot:process.cwd()}),v0=l0.code,s0=I$(l0.styles);v0=Q5(v0).code;let{hasUserImports:S1,bundleClientScript:O1}=await t("stx/client-script-bundler",()=>Promise.resolve().then(() => (d5(),h5)));if(S1(v0))v0=await O1(v0,V,{projectRoot:process.cwd(),minify:G.buildMode==="compile"});let{rewriteStxImportSpecifiers:Y5}=await t("stx/signal-processing",()=>Promise.resolve().then(() => (J$(),Z4)));v0=v0.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(q1,N$)=>Y5(N$));let z0=r0(v0),i=hK(z0),d0=`function(__scopeId) {
|
|
7399
|
+
${W5("const",[...e9,...i],z0)}
|
|
7400
7400
|
const __scope = window.stx._scopes = window.stx._scopes || {};
|
|
7401
7401
|
const __scopeVars = __scope[__scopeId] = __scope[__scopeId] || {};
|
|
7402
7402
|
const __previousCurrentElement = window.__STX_CURRENT_ELEMENT__;
|
|
@@ -7414,7 +7414,7 @@ ${z0}
|
|
|
7414
7414
|
// Register all defined signals and functions in this scope
|
|
7415
7415
|
const __localVars = {};
|
|
7416
7416
|
try {
|
|
7417
|
-
${i.map((
|
|
7417
|
+
${i.map((q1)=>`if (typeof ${q1} !== 'undefined') __localVars['${q1}'] = ${q1};`).join(`
|
|
7418
7418
|
`)}
|
|
7419
7419
|
}
|
|
7420
7420
|
catch (e) {}
|
|
@@ -7423,29 +7423,29 @@ catch (e) {}
|
|
|
7423
7423
|
finally {
|
|
7424
7424
|
window.__STX_CURRENT_ELEMENT__ = __previousCurrentElement;
|
|
7425
7425
|
}
|
|
7426
|
-
}`,
|
|
7426
|
+
}`,y5=_?null:C9(X,d0),J5=y5?`window.__stxComponentFactories[${JSON.stringify(y5)}](${JSON.stringify(D0)});`:`(${d0})(${JSON.stringify(D0)});`;if(_)return`${s0}<script type="stx/island" data-stx-island="${D0}" data-stx-scoped${N0}>${J5}</script>`;return`${s0}<script data-stx-scoped${N0}>${J5}</script>`}));if(C=C+`
|
|
7427
7427
|
`+m.join(`
|
|
7428
|
-
`),
|
|
7429
|
-
`+
|
|
7430
|
-
`+
|
|
7428
|
+
`),Y0)C+=`
|
|
7429
|
+
`+Y0}else{if(Y0)C+=`
|
|
7430
|
+
`+Y0;if(k.length>0){let P=I.__stx_event_bindings||[],x=m5(I),m=await Promise.all(k.map(async(u)=>{let j0=u.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!j0)return u;return await p5(j0[1],{eventBindings:P,templateContent:C,filePath:V,projectRoot:process.cwd(),serverData:x})}));C+=`
|
|
7431
7431
|
`+m.join(`
|
|
7432
|
-
`),I.__stx_event_bindings=[]}}if(
|
|
7433
|
-
`),K=0;for(let W=0;W<G.length;W++)if(K+=G[W].length+1,K>=Z){J=W+1,X=G[W].trim();let
|
|
7434
|
-
`);break}}else if(Y){let G=$.indexOf(Y);if(G>=0)return
|
|
7435
|
-
`,Math.max(0,X-1));
|
|
7436
|
-
${Y}:${G}${
|
|
7437
|
-
`;if(
|
|
7438
|
-
${
|
|
7439
|
-
`,
|
|
7440
|
-
`,
|
|
7441
|
-
`,
|
|
7442
|
-
${
|
|
7443
|
-
${
|
|
7444
|
-
`,K)
|
|
7445
|
-
${
|
|
7446
|
-
${
|
|
7447
|
-
`;return
|
|
7448
|
-
`||O==="\r"||O===" "||O===void 0)U++;j=L+9}else{if(U--,U===0){_=V;break}j=V+12}}if(_===-1)continue;let B=$.slice(
|
|
7432
|
+
`),I.__stx_event_bindings=[]}}if(w0){let P=C$(C,V);if(P.hasScoped)C=P.html}if(g&&f)o7.set(g,{output:C,dependencies:[...W].filter((P)=>!f.has(P))});return C}catch(B){return`[Error processing component: ${B instanceof Error?B.message:String(B)}]`}finally{z.delete($)}}async function c($){return Bun.file($).exists()}function s7($,Z){let Y=h.resolve(Z),J=h.resolve($),X=Y.endsWith(h.sep)?Y:Y+h.sep;if(J===Y||J.startsWith(X))return J;return null}async function r7($,Z,Y,J){let X=await iK($,Z,Y,J);if(X===null)return null;let Q=s7(X,process.cwd());if(Q)return Q;let G=[Y.root,Y.layoutsDir,Y.componentsDir,Y.partialsDir,Y.pagesDir].filter((K)=>typeof K==="string"&&K.length>0);for(let K of G){let W=h.isAbsolute(K)?K:h.resolve(process.cwd(),K);if(s7(X,W))return h.resolve(X)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${X} (template: ${$}, from: ${Z})`),null}async function iK($,Z,Y,J){if(Y.debug)console.log(`Resolving template path: ${$} from ${Z}`);let X=h.dirname(Z),Q=process.cwd();if($.startsWith("/")){let j=h.join(Q,$),_=s7(j,Q);if(!_)return console.warn(`[stx] rejected template path that escapes project root: ${$} (from ${Z})`),null;if(Y.debug)console.log(`Checking absolute path: ${_}`);if(await c(_)&&J)J.add(_);return _}let G=h.join(X,$);if(await c(G)){if(Y.debug)console.log(`Found direct path: ${G}`);if(J)J.add(G);return G}if(!$.endsWith(".stx")&&!$.endsWith(".jsx")&&!$.endsWith(".tsx"))for(let j of[".stx",".tsx",".jsx"]){let _=`${G}${j}`;if(await c(_)){if(Y.debug)console.log(`Found direct path with extension: ${_}`);if(J)J.add(_);return _}}let K="",W=h.resolve(X),q=process.cwd();for(let j=0;j<10;j++){let _=h.join(W,"layouts"),B=!1;try{B=vK.statSync(_,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(B){K=_;break}let H=h.dirname(W);if(H===W||H.length<q.length)break;W=H}if(K){let j=$.startsWith("layouts/")?$.slice(8):$,_=h.join(K,j);if(await c(_)){if(Y.debug)console.log(`Found in current layouts dir: ${_}`);if(J)J.add(_);return _}if(!j.endsWith(".stx")){let B=`${_}.stx`;if(await c(B)){if(Y.debug)console.log(`Found in current layouts dir with extension: ${B}`);if(J)J.add(B);return B}}}if(Y.layoutsDir){let j=h.isAbsolute(Y.layoutsDir)?Y.layoutsDir:h.resolve(process.cwd(),Y.layoutsDir),_=$.startsWith("layouts/")?$.slice(8):$,B=h.join(j,_);if(await c(B)){if(Y.debug)console.log(`Found in options.layoutsDir: ${B}`);if(J)J.add(B);return B}if(!$.endsWith(".stx")){let H=`${B}.stx`;if(await c(H)){if(Y.debug)console.log(`Found in options.layoutsDir with extension: ${H}`);if(J)J.add(H);return H}}}if($.startsWith("layouts/")||$.includes("/layouts/")){let j=$.split("layouts/"),_=h.join(Y.partialsDir||X,"layouts",j[1]);if(await c(_)){if(Y.debug)console.log(`Found in layouts path: ${_}`);if(J)J.add(_);return _}if(!_.endsWith(".stx")){let B=`${_}.stx`;if(await c(B)){if(Y.debug)console.log(`Found in layouts path with extension: ${B}`);if(J)J.add(B);return B}}}if(Y.partialsDir){if(K=h.join(Y.partialsDir,"layouts"),await c(K)){let j=h.join(K,$);if(await c(j)){if(Y.debug)console.log(`Found in partials layouts dir: ${j}`);if(J)J.add(j);return j}if(!$.endsWith(".stx")){let _=`${j}.stx`;if(await c(_)){if(Y.debug)console.log(`Found in partials layouts dir with extension: ${_}`);if(J)J.add(_);return _}}}}let z=Y.partialsDir||h.join(process.cwd(),"views"),U=h.join(z,$);if(await c(U)){if(Y.debug)console.log(`Found in views path: ${U}`);if(J)J.add(U);return U}if(!$.endsWith(".stx")){let j=`${U}.stx`;if(await c(j)){if(Y.debug)console.log(`Found in views path with extension: ${j}`);if(J)J.add(j);return j}}if(X.includes("temp")){let j=h.join(h.dirname(X),"layouts",$);if(await c(j)){if(Y.debug)console.log(`Found in temp layouts dir: ${j}`);if(J)J.add(j);return j}if(!$.endsWith(".stx")){let _=`${j}.stx`;if(await c(_)){if(Y.debug)console.log(`Found in temp layouts dir with extension: ${_}`);if(J)J.add(_);return _}}}if(Y.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 r8($,Z,Y){let J=0,X="",Q="";try{if(typeof Z==="number"&&Z>=0){let G=$.split(`
|
|
7433
|
+
`),K=0;for(let W=0;W<G.length;W++)if(K+=G[W].length+1,K>=Z){J=W+1,X=G[W].trim();let q=Math.max(0,W-2),z=Math.min(G.length,W+3);Q=G.slice(q,z).map((U,j)=>{let _=q+j+1;return`${_===J?"> ":" "}${_}: ${U}`}).join(`
|
|
7434
|
+
`);break}}else if(Y){let G=$.indexOf(Y);if(G>=0)return r8($,G)}}catch{}return{lineNumber:J,lineContent:X,context:Q}}function U0($,Z,Y,J,X,Q){let{lineNumber:G,context:K}=r8(J,X,Q),W=Y.split("/").pop(),q=0;if(typeof X==="number"&&X>=0&&J){let U=J.lastIndexOf(`
|
|
7435
|
+
`,Math.max(0,X-1));q=X-(U+1)+1}let z="";if(G>0)z+=`
|
|
7436
|
+
${Y}:${G}${q>0?`:${q}`:""}: ${$.toLowerCase()} error: ${Z}
|
|
7437
|
+
`;if(z+=`
|
|
7438
|
+
${e.bold}${e.red}\u256D\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256E${e.reset}
|
|
7439
|
+
`,z+=`${e.bold}${e.red}\u2502${e.reset} ${e.bold}${e.bgRed} ERROR ${e.reset} ${e.red}${$} Error${e.reset}${" ".repeat(Math.max(0,43-$.length))}${e.bold}${e.red}\u2502${e.reset}
|
|
7440
|
+
`,z+=`${e.bold}${e.red}\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256F${e.reset}
|
|
7441
|
+
`,z+=`
|
|
7442
|
+
${e.cyan}${e.bold}File:${e.reset} ${e.dim}${W}${e.reset}`,G>0)z+=` ${e.gray}(line ${G}${q>0?`, col ${q}`:""})${e.reset}`;if(z+=`
|
|
7443
|
+
${e.yellow}${e.bold}Message:${e.reset} ${Z}
|
|
7444
|
+
`,K)z+=`
|
|
7445
|
+
${e.blue}${e.bold}Context:${e.reset}
|
|
7446
|
+
${e.dim}${K}${e.reset}
|
|
7447
|
+
`;return z}function v8(){Y4.clear(),J4.clear(),o7.clear()}var Y4,J4,o7,xK=0,e;var M0=b(()=>{l5();F7();X1();s5();U5();Q4();y1();T7();I7();g5();W8();e5();Y4=new g1(500),J4=new g1(1000),o7=new g1(2000);e={reset:"\x1B[0m",bold:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",yellow:"\x1B[33m",blue:"\x1B[34m",cyan:"\x1B[36m",gray:"\x1B[90m",bgRed:"\x1B[41m",bgYellow:"\x1B[43m"}});async function a8($,Z,Y=""){let J=$,X=[],Q=/@markdown(?:\([^)]*\))?/g,G;while((G=Q.exec($))!==null){let K=G.index,W=G[0].match(/@markdown\(([^)]*)\)/),q=W?W[1]:"",z=K+G[0].length,U=1,j=z,_=-1;while(U>0&&j<$.length){let L=$.indexOf("@markdown",j),V=$.indexOf("@endmarkdown",j);if(V===-1)break;if(L!==-1&&L<V&&L!==K){let O=$[L+9];if(O==="("||O===`
|
|
7448
|
+
`||O==="\r"||O===" "||O===void 0)U++;j=L+9}else{if(U--,U===0){_=V;break}j=V+12}}if(_===-1)continue;let B=$.slice(z,_),H=$.slice(K,_+12);X.push({fullMatch:H,options:q,content:B,index:K}),Q.lastIndex=_+12}for(let{fullMatch:K,options:W,content:q,index:z}of X)try{let U={};if(W)W.split(",").forEach((B)=>{let H=B.trim();if(H)U[H]=!0});let j={gfm:U.gfm??!0,breaks:U.breaks??!1},_=f5(q.trim(),j);J=J.split(K).join(_)}catch(U){let j=U instanceof Error?U.message:String(U),_=U0("Markdown Directive",`Error processing markdown: ${j}`,Y,$,z,K);J=J.split(K).join(_)}return J}async function t8($,Z,Y,J){let X={gfm:!0,breaks:!1};return Z.forEach((Q)=>{let G=Q.trim().replace(/['"]/g,"");if(G==="breaks")X.breaks=!0;if(G==="no-gfm")X.gfm=!1}),f5($.trim(),X)}var a7=b(()=>{M0()});function sK($){if(nK.set($.name,$),$.client)oK.set($.name,$.client)}function G4($){return sK($),{name:$.name,hasEndTag:$.hasEndTag??!0,description:$.description,handler:async(Y,J,X,Q)=>{let G=rK(J,$.defaults);if($.validate){let W=$.validate(G);if(W!==!0){let q=typeof W==="string"?W:`Invalid parameters for @${$.name}`;throw Error(q)}}let K=Y;if($.transform)K=await $.transform(Y,G,X,Q);if($.clientScript){let W=$.clientScript(G);K+=`<script>${W}</script>`}if($.css){let W=$.css(G);K+=`<style>${W}</style>`}return K}}}function rK($,Z){let Y={...Z};for(let J of $){let X=J.indexOf(":"),Q=J.indexOf("="),G=X>=0&&(Q<0||X<Q)?X:Q;if(G>=0){let K=J.slice(0,G).trim(),W=J.slice(G+1).trim();if(W==="true")W=!0;else if(W==="false")W=!1;else if(W==="null")W=null;else if(!Number.isNaN(Number(W)))W=Number(W);else if(typeof W==="string"&&W.startsWith("{"))try{W=JSON.parse(W)}catch{}Y[K]=W}else{let K=Object.keys(Y).filter((W)=>!Z||!(W in Z)).length;Y[K===0?"value":`arg${K}`]=J}}return Y}var nK,oK;var t7=b(()=>{nK=new Map,oK=new Map});function e7($,Z=H5,Y={},J){return Z.sort((X,Q)=>X-Q).map((X)=>{return`${Q$($,{...Y,w:X,fm:J})} ${X}w`}).join(", ")}function e8($,Z,Y=aK,J={},X){return Y.sort((Q,G)=>Q-G).map((Q)=>{let G=Math.round(Z*Q);return`${Q$($,{...J,w:G,dpr:Q,fm:X})} ${Q}x`}).join(", ")}function $3($,Z="100vw"){if(!$||Object.keys($).length===0)return Z;let J=Object.entries($).map(([X,Q])=>{let G=/^\d+$/.test(X)?`${X}px`:X;return{bp:G,size:Q,numericBp:Number.parseInt(G)||0}}).sort((X,Q)=>X.numericBp-Q.numericBp).map(({bp:X,size:Q})=>`(max-width: ${X}) ${Q}`);return J.push(Z),J.join(", ")}function Q$($,Z={}){let Y=Object.entries(Z).filter(([,Q])=>Q!==void 0&&Q!==null).map(([Q,G])=>{if(Array.isArray(G))return[Q,G.join(",")];return[Q,String(G)]});if(Y.length===0)return $;let J=Y.map(([Q,G])=>`${Q}=${encodeURIComponent(G)}`).join("&"),X=$.includes("?")?"&":"?";return`${$}${X}${J}`}function Z3($){return tK[$]||"application/octet-stream"}var H5,aK,X$,tK;var Y3=b(()=>{H5=[320,480,640,768,1024,1280,1536,1920,2560],aK=[1,1.5,2,3],X$=["avif","webp","jpeg"],tK={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"}});async function $W(){try{return await import("ts-images")}catch{return null}}async function ZW($,Z={}){let Y={...eK,...Z},J=await $W();if(J)try{return await YW($,Y,J)}catch(X){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${X}`)}return JW($,Y)}async function YW($,Z,Y){let{generatePlaceholder:J,generateThumbHash:X}=Y,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 X($)).dataUrl,width:32,height:32,aspectRatio:1,originalWidth:0,originalHeight:0,strategy:"thumbhash"};let K=await J($,{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 JW($,Z){let Y=Z.width||20,J=Z.height||Y,X="#e5e7eb",Q=`<svg xmlns="http://www.w3.org/2000/svg" width="${Y}" height="${J}" viewBox="0 0 ${Y} ${J}"><rect fill="#e5e7eb" width="${Y}" height="${J}"/></svg>`;return{dataURL:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(Q)}`,width:Y,height:J,aspectRatio:Y/J,originalWidth:0,originalHeight:0,strategy:Z.strategy,dominantColor:"#e5e7eb"}}function $Z($,Z,Y={}){let J=Y.transitionDuration||300,X=Y.easing||"ease-out";return`
|
|
7449
7449
|
#${$} {
|
|
7450
7450
|
--stx-img-transition-duration: ${J}ms;
|
|
7451
7451
|
--stx-img-transition-easing: ${X};
|
|
@@ -7462,7 +7462,7 @@ ${t.dim}${K}${t.reset}
|
|
|
7462
7462
|
#${$}.stx-img-loaded img {
|
|
7463
7463
|
opacity: 1;
|
|
7464
7464
|
}
|
|
7465
|
-
`.trim()}async function
|
|
7465
|
+
`.trim()}async function ZZ($,Z={}){let Y=`${$}:${JSON.stringify(Z)}`;if(J3.has(Y))return J3.get(Y);let J=await ZW($,Z);return J3.set(Y,J),J}var eK,X3,J3;var YZ=b(()=>{eK={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},X3=`
|
|
7466
7466
|
.stx-img-placeholder {
|
|
7467
7467
|
position: relative;
|
|
7468
7468
|
overflow: hidden;
|
|
@@ -7491,8 +7491,8 @@ ${t.dim}${K}${t.reset}
|
|
|
7491
7491
|
filter: blur(0);
|
|
7492
7492
|
transform: scale(1);
|
|
7493
7493
|
}
|
|
7494
|
-
`.trim();$3=new Map});import{createHash as e8}from"crypto";import{readFile as tK,stat as $Z}from"fs/promises";async function b0($){try{let Z=await tK($);return e8("sha256").update(Z).digest("hex").slice(0,16)}catch{return""}}function t8($){return e8("sha256").update($).digest("hex").slice(0,16)}function X4($,Z){let Y=JSON.stringify(Z,Object.keys(Z).sort());return`${t8($)}-${t8(Y)}`}async function Y3($){try{return(await $Z($)).mtimeMs}catch{return 0}}async function D0($){try{return await $Z($),!0}catch{return!1}}var m1=()=>{};import{mkdir as eK,readFile as $W,writeFile as ZW,readdir as yO,rm as YW,stat as PO}from"fs/promises";import{join as YZ,dirname as JW}from"path";async function XW($){try{await eK($,{recursive:!0})}catch{}}function JZ($,Z,Y){return YZ($,Y,`${Z}.json`)}async function ZZ($,Z,Y){if((Date.now()-$.createdAt)/86400000>Y)return!1;if(await Y3(Z)!==$.srcMtime)return!1;return!0}async function Q4($,Z,Y,J=J3){if(!J.enabled)return null;let X=X4($,Z),Q=B5.get(X);if(Q){if(await ZZ(Q,$,J.maxAge))return Q.lastAccessedAt=Date.now(),Q.data;B5.delete(X)}let G=JZ(J.directory,X,Y);if(await D0(G))try{let K=await $W(G,"utf-8"),W=JSON.parse(K);if(await ZZ(W,$,J.maxAge))return W.lastAccessedAt=Date.now(),B5.set(X,W),W.data}catch{}return null}async function G4($,Z,Y,J,X=J3){if(!X.enabled)return;let Q=X4($,Z),G=await b0($),K=await Y3($),W={key:Q,src:$,srcHash:G,srcMtime:K,optionsHash:X4("",Z),data:Y,createdAt:Date.now(),lastAccessedAt:Date.now()};B5.set(Q,W);let z=JZ(X.directory,Q,J);try{await XW(JW(z)),await ZW(z,JSON.stringify(W,null,2))}catch(q){console.warn(`[stx-media] Failed to write cache: ${q}`)}}async function K4($,Z=J3){if($==="all")B5.clear();else B5.clear();let Y=$==="all"?["image","video"]:[$];for(let J of Y){let X=YZ(Z.directory,J);try{await YW(X,{recursive:!0,force:!0})}catch{}}}var B5,J3;var X3=b(()=>{m1();B5=new Map,J3={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class z4{config;constructor($={}){this.config={...QW,...$}}async get($,Z){return Q4($,Z,"image",this.config)}async set($,Z,Y){return G4($,Z,Y,"image",this.config)}async clear(){return K4("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function Q3($){if(!W4)W4=new z4($);else if($)W4.updateConfig($);return W4}async function q4($,Z,Y){let J=Y?{directory:`${Y.outputDir}/../.cache`}:{};return Q3(J).get($,Z)}async function U4($,Z,Y,J){let X=J?{directory:`${J.outputDir}/../.cache`}:{};return Q3(X).set($,Z,Y)}async function XZ(){return Q3().clear()}var QW,W4=null;var G3=b(()=>{X3();QW={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as GW,basename as KW,extname as WW,join as zW}from"path";import{mkdir as qW}from"fs/promises";async function K3(){try{return await import("ts-images")}catch{return null}}function QZ($){switch($){case"quality":return{jpeg:{quality:90,mozjpeg:!0,progressive:!0},png:{compressionLevel:6,palette:!1},webp:{quality:90,effort:6,smartSubsample:!0},avif:{quality:85,effort:6}};case"performance":return{jpeg:{quality:70,mozjpeg:!0,progressive:!0},png:{compressionLevel:9,palette:!0},webp:{quality:70,effort:4,smartSubsample:!0},avif:{quality:60,effort:2}};case"web":default:return{jpeg:{quality:82,mozjpeg:!0,progressive:!0},png:{compressionLevel:8,palette:!1},webp:{quality:82,effort:5,smartSubsample:!0},avif:{quality:75,effort:4}}}}function UW($,Z){let Y=Z?QZ(Z):QZ("web"),J=$.formatQuality||{};return{jpeg:{...Y.jpeg,...J.jpeg},png:{...Y.png,...J.png},webp:{...Y.webp,...J.webp},avif:{...Y.avif,...J.avif}}}async function GZ($,Z,Y){let J=await K3();if(!J)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let X=await q4($,Z,Y);if(X)return X;try{let Q=GW($);if(!await D0(Q))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let G=UW(Y,Z.preset),K=Y.outputDir||"dist/images",W=Y.baseUrl||"/images";await qW(K,{recursive:!0});let z=await b0(Q),q=KW($,WW($)),U=Z.outputFormat?[Z.outputFormat]:Y.defaultFormats||["avif","webp","jpeg"],j={src:$,processed:!0,variants:[],hash:z},_=null;if(Z.transformations&&Z.transformations.length>0)_=await W3(Q,Z.transformations,J);for(let B of U){let H=G[B]||{},L=`${q}-${z}.${B}`,V=zW(K,L);try{let O=await J.optimizeImage({input:_||Q,output:V,format:B,quality:H.quality,progressive:H.progressive});if(O){if(j.variants.push({path:V,url:`${W}/${L}`,width:O.width||0,height:O.height||0,format:B,size:O.outputSize||0}),!j.originalWidth&&O.width)j.originalWidth=O.width,j.originalHeight=O.height}}catch(O){j.errors=j.errors||[],j.errors.push(`Failed to optimize ${B}: ${O}`)}}if(Z.embedThumbhash||Z.placeholder==="thumbhash")try{let B=await J.generateThumbHash(Q);j.placeholder=B.dataUrl}catch(B){j.errors=j.errors||[],j.errors.push(`Failed to generate thumbhash: ${B}`)}if(Z.useDominantColor)try{let B=await J.generatePlaceholder(Q,{strategy:"dominant-color"});j.dominantColor=B.dominantColor}catch(B){j.errors=j.errors||[],j.errors.push(`Failed to extract dominant color: ${B}`)}return await U4($,Z,j,Y),j}catch(Q){return{src:$,processed:!1,errors:[`Processing failed: ${Q}`]}}}async function KZ($,Z,Y,J){let X=await K3();if(!X)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await X.optimizeImage({input:$,output:J,format:Z,quality:Y}))?.outputSize}}catch(Q){return{success:!1,error:String(Q)}}}async function W3($,Z,Y){let J=Y||await K3();if(!J)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let X=await J.decode($);for(let Q of Z){let G=Q.options||{};switch(Q.type){case"resize":if(G.width||G.height)X=await J.resize(X,{width:G.width,height:G.height,fit:G.fit});break;case"blur":if(G.sigma!==void 0)X=await J.blur(X,G.sigma);break;case"sharpen":if(G.amount!==void 0)X=await J.sharpen(X,G.amount);break;case"grayscale":X=await J.grayscale(X);break;case"rotate":if(G.angle!==void 0)X=await J.rotate(X,G.angle);break;case"flip":X=await J.flip(X);break;case"flop":X=await J.flop(X);break;case"brightness":if(G.value!==void 0)X=await J.brightness(X,G.value);break;case"contrast":if(G.value!==void 0)X=await J.contrast(X,G.value);break;case"saturation":if(G.value!==void 0)X=await J.saturation(X,G.value);break}}return await J.encode(X,"png")}catch(X){return console.error(`[stx-media] Transformation failed: ${X}`),null}}var WZ=b(()=>{m1();G3()});import{resolve as jW,basename as _W,extname as BW,join as HW}from"path";import{mkdir as OW}from"fs/promises";async function LW(){try{return await import("ts-images")}catch{return null}}async function zZ($,Z,Y){let J=await LW();if(!J)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let X=jW($);if(!await D0(X))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let Q=Z.responsiveWidths||Y.breakpoints||FW,G=Z.formats||Y.defaultFormats||["avif","webp","jpeg"],K=Y.outputDir||"dist/images",W=Y.baseUrl||"/images";await OW(K,{recursive:!0});let z=await b0(X),q=_W($,BW($)),U=Y.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},j={src:$,byFormat:{},srcsets:{}};for(let B of G){j.byFormat[B]=[];let H=[];for(let L of Q){let V=`${q}-${L}w-${z}.${B}`,O=HW(K,V),F=`${W}/${V}`;try{let w=U[B]?.quality||80;if(await D0(O)){j.byFormat[B].push({path:O,url:F,width:L,height:0,format:B,size:0}),H.push(`${F} ${L}w`);continue}let A=await J.processImage({input:X,output:O,format:B,quality:w,resize:{width:L}});if(A)j.byFormat[B].push({path:O,url:F,width:L,height:A.height||Math.round(L*(A.height||1)/(A.width||1)),format:B,size:A.outputSize||0}),H.push(`${F} ${L}w`)}catch(w){console.warn(`[stx-media] Failed to generate ${B} at ${L}w: ${w}`)}}j.srcsets[B]=H.join(", ")}let _=Z.placeholder||Y.placeholderStrategy||"thumbhash";if(_!=="none")try{if(_==="thumbhash"){let B=await J.generateThumbHash(X);j.placeholder={dataURL:B.dataUrl,width:B.width||32,height:B.height||32,strategy:"thumbhash"}}else{let B=await J.generatePlaceholder(X,{strategy:_,width:20});j.placeholder={dataURL:B.dataURL,width:B.width,height:B.height,strategy:_}}}catch(B){console.warn(`[stx-media] Failed to generate placeholder: ${B}`)}return j.sizes=Z.sizes||VW(Q),j}catch(Q){return console.error(`[stx-media] Responsive generation failed: ${Q}`),null}}function VW($){let Z=[...$].sort((J,X)=>J-X),Y=[];for(let J=0;J<Z.length-1;J++){let X=Z[J];Y.push(`(max-width: ${X}px) ${X}px`)}return Y.push(`${Z[Z.length-1]}px`),Y.join(", ")}function qZ($,Z="width"){if(!$||$.length===0)return"";if(Z==="dpr")return $.filter((Y)=>Y.dpr).map((Y)=>`${Y.url} ${Y.dpr}x`).join(", ");return $.map((Y)=>`${Y.url} ${Y.width}w`).join(", ")}var FW;var UZ=b(()=>{m1();FW=[320,480,640,768,1024,1280,1536,1920]});var jZ={};a(jZ,{setCachedImageResult:()=>U4,processImage:()=>GZ,optimizeImage:()=>KZ,getCachedImageResult:()=>q4,generateSrcset:()=>qZ,generateResponsiveVariants:()=>zZ,clearImageCache:()=>XZ,applyTransformations:()=>W3,ImageProcessorCache:()=>z4});var _Z=b(()=>{WZ();UZ();G3()});async function wW(){try{return await Promise.resolve().then(() => (_Z(),jZ))}catch($){if(!BZ)console.warn("[stx-media] Image processor not available, some features disabled:",$),BZ=!0;return null}}async function j4($,Z={}){let Y=Z,J=$;if(J.process&&!J.skipOptimization){if(Y.tsImagesConfig?.enabled&&!Y.isDev)return MW(J,Y)}if(Y.processedResult?.processed)return j3($,Y.processedResult,Z);if(Y.responsiveVariants)return FZ($,Y.responsiveVariants,Z);let{src:X,alt:Q,width:G,height:K,sizes:W,widths:z=_5,dpr:q,formats:U=Z$,quality:j=z3,params:_={},placeholder:B="none",placeholderOptions:H={},lazy:L=!0,priority:V=!1,loading:O=V?"eager":B4,decoding:F=_4,fetchpriority:w,objectFit:A,objectPosition:R,crossorigin:N,referrerpolicy:M}=$,T=$.class,I=$.style,E=$.id,D=$.data||{},{isDev:y=!1,baseUrl:S=""}=Z;if(y&&!Z.optimize)return NW($);let k,v,g=E||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(B!=="none"&&!V)try{k=await r8(X,{strategy:B,...H}),v=s8(g,k,H)}catch{}let f=q!==void 0&&G!==void 0,d;if(f)d=RW($,g,k,Z);else d=await AW($,g,k,Z);let p;if(V){let V0=U.includes("webp")?"webp":U[0],r=r7(X,z,{..._,q:j},V0),Q0=typeof W==="object"?a7(W):W||"100vw";p=`<link rel="preload" as="image" imagesrcset="${r}" imagesizes="${Q0}" />`}let X0=[];if(!HZ&&B!=="none")X0.push(Z3),HZ=!0;if(v)X0.push(v);let Z0=L?LZ(g):void 0;return{html:d,preloadLink:p,css:X0.length>0?X0.join(`
|
|
7495
|
-
`):void 0,script:
|
|
7494
|
+
`.trim();J3=new Map});import{createHash as XZ}from"crypto";import{readFile as XW,stat as QZ}from"fs/promises";async function S0($){try{let Z=await XW($);return XZ("sha256").update(Z).digest("hex").slice(0,16)}catch{return""}}function JZ($){return XZ("sha256").update($).digest("hex").slice(0,16)}function K4($,Z){let Y=JSON.stringify(Z,Object.keys(Z).sort());return`${JZ($)}-${JZ(Y)}`}async function Q3($){try{return(await QZ($)).mtimeMs}catch{return 0}}async function E0($){try{return await QZ($),!0}catch{return!1}}var l1=()=>{};import{mkdir as QW,readFile as GW,writeFile as KW,readdir as mO,rm as WW,stat as pO}from"fs/promises";import{join as KZ,dirname as qW}from"path";async function zW($){try{await QW($,{recursive:!0})}catch{}}function WZ($,Z,Y){return KZ($,Y,`${Z}.json`)}async function GZ($,Z,Y){if((Date.now()-$.createdAt)/86400000>Y)return!1;if(await Q3(Z)!==$.srcMtime)return!1;return!0}async function W4($,Z,Y,J=G3){if(!J.enabled)return null;let X=K4($,Z),Q=O5.get(X);if(Q){if(await GZ(Q,$,J.maxAge))return Q.lastAccessedAt=Date.now(),Q.data;O5.delete(X)}let G=WZ(J.directory,X,Y);if(await E0(G))try{let K=await GW(G,"utf-8"),W=JSON.parse(K);if(await GZ(W,$,J.maxAge))return W.lastAccessedAt=Date.now(),O5.set(X,W),W.data}catch{}return null}async function q4($,Z,Y,J,X=G3){if(!X.enabled)return;let Q=K4($,Z),G=await S0($),K=await Q3($),W={key:Q,src:$,srcHash:G,srcMtime:K,optionsHash:K4("",Z),data:Y,createdAt:Date.now(),lastAccessedAt:Date.now()};O5.set(Q,W);let q=WZ(X.directory,Q,J);try{await zW(qW(q)),await KW(q,JSON.stringify(W,null,2))}catch(z){console.warn(`[stx-media] Failed to write cache: ${z}`)}}async function z4($,Z=G3){if($==="all")O5.clear();else O5.clear();let Y=$==="all"?["image","video"]:[$];for(let J of Y){let X=KZ(Z.directory,J);try{await WW(X,{recursive:!0,force:!0})}catch{}}}var O5,G3;var K3=b(()=>{l1();O5=new Map,G3={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class j4{config;constructor($={}){this.config={...UW,...$}}async get($,Z){return W4($,Z,"image",this.config)}async set($,Z,Y){return q4($,Z,Y,"image",this.config)}async clear(){return z4("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function W3($){if(!U4)U4=new j4($);else if($)U4.updateConfig($);return U4}async function _4($,Z,Y){let J=Y?{directory:`${Y.outputDir}/../.cache`}:{};return W3(J).get($,Z)}async function B4($,Z,Y,J){let X=J?{directory:`${J.outputDir}/../.cache`}:{};return W3(X).set($,Z,Y)}async function qZ(){return W3().clear()}var UW,U4=null;var q3=b(()=>{K3();UW={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as jW,basename as _W,extname as BW,join as HW}from"path";import{mkdir as OW}from"fs/promises";async function z3(){try{return await import("ts-images")}catch{return null}}function zZ($){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 LW($,Z){let Y=Z?zZ(Z):zZ("web"),J=$.formatQuality||{};return{jpeg:{...Y.jpeg,...J.jpeg},png:{...Y.png,...J.png},webp:{...Y.webp,...J.webp},avif:{...Y.avif,...J.avif}}}async function UZ($,Z,Y){let J=await z3();if(!J)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let X=await _4($,Z,Y);if(X)return X;try{let Q=jW($);if(!await E0(Q))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let G=LW(Y,Z.preset),K=Y.outputDir||"dist/images",W=Y.baseUrl||"/images";await OW(K,{recursive:!0});let q=await S0(Q),z=_W($,BW($)),U=Z.outputFormat?[Z.outputFormat]:Y.defaultFormats||["avif","webp","jpeg"],j={src:$,processed:!0,variants:[],hash:q},_=null;if(Z.transformations&&Z.transformations.length>0)_=await U3(Q,Z.transformations,J);for(let B of U){let H=G[B]||{},L=`${z}-${q}.${B}`,V=HW(K,L);try{let O=await J.optimizeImage({input:_||Q,output:V,format:B,quality:H.quality,progressive:H.progressive});if(O){if(j.variants.push({path:V,url:`${W}/${L}`,width:O.width||0,height:O.height||0,format:B,size:O.outputSize||0}),!j.originalWidth&&O.width)j.originalWidth=O.width,j.originalHeight=O.height}}catch(O){j.errors=j.errors||[],j.errors.push(`Failed to optimize ${B}: ${O}`)}}if(Z.embedThumbhash||Z.placeholder==="thumbhash")try{let B=await J.generateThumbHash(Q);j.placeholder=B.dataUrl}catch(B){j.errors=j.errors||[],j.errors.push(`Failed to generate thumbhash: ${B}`)}if(Z.useDominantColor)try{let B=await J.generatePlaceholder(Q,{strategy:"dominant-color"});j.dominantColor=B.dominantColor}catch(B){j.errors=j.errors||[],j.errors.push(`Failed to extract dominant color: ${B}`)}return await B4($,Z,j,Y),j}catch(Q){return{src:$,processed:!1,errors:[`Processing failed: ${Q}`]}}}async function jZ($,Z,Y,J){let X=await z3();if(!X)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await X.optimizeImage({input:$,output:J,format:Z,quality:Y}))?.outputSize}}catch(Q){return{success:!1,error:String(Q)}}}async function U3($,Z,Y){let J=Y||await z3();if(!J)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let X=await J.decode($);for(let Q of Z){let G=Q.options||{};switch(Q.type){case"resize":if(G.width||G.height)X=await J.resize(X,{width:G.width,height:G.height,fit:G.fit});break;case"blur":if(G.sigma!==void 0)X=await J.blur(X,G.sigma);break;case"sharpen":if(G.amount!==void 0)X=await J.sharpen(X,G.amount);break;case"grayscale":X=await J.grayscale(X);break;case"rotate":if(G.angle!==void 0)X=await J.rotate(X,G.angle);break;case"flip":X=await J.flip(X);break;case"flop":X=await J.flop(X);break;case"brightness":if(G.value!==void 0)X=await J.brightness(X,G.value);break;case"contrast":if(G.value!==void 0)X=await J.contrast(X,G.value);break;case"saturation":if(G.value!==void 0)X=await J.saturation(X,G.value);break}}return await J.encode(X,"png")}catch(X){return console.error(`[stx-media] Transformation failed: ${X}`),null}}var _Z=b(()=>{l1();q3()});import{resolve as FW,basename as VW,extname as wW,join as AW}from"path";import{mkdir as RW}from"fs/promises";async function NW(){try{return await import("ts-images")}catch{return null}}async function BZ($,Z,Y){let J=await NW();if(!J)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let X=FW($);if(!await E0(X))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let Q=Z.responsiveWidths||Y.breakpoints||MW,G=Z.formats||Y.defaultFormats||["avif","webp","jpeg"],K=Y.outputDir||"dist/images",W=Y.baseUrl||"/images";await RW(K,{recursive:!0});let q=await S0(X),z=VW($,wW($)),U=Y.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},j={src:$,byFormat:{},srcsets:{}};for(let B of G){j.byFormat[B]=[];let H=[];for(let L of Q){let V=`${z}-${L}w-${q}.${B}`,O=AW(K,V),F=`${W}/${V}`;try{let w=U[B]?.quality||80;if(await E0(O)){j.byFormat[B].push({path:O,url:F,width:L,height:0,format:B,size:0}),H.push(`${F} ${L}w`);continue}let A=await J.processImage({input:X,output:O,format:B,quality:w,resize:{width:L}});if(A)j.byFormat[B].push({path:O,url:F,width:L,height:A.height||Math.round(L*(A.height||1)/(A.width||1)),format:B,size:A.outputSize||0}),H.push(`${F} ${L}w`)}catch(w){console.warn(`[stx-media] Failed to generate ${B} at ${L}w: ${w}`)}}j.srcsets[B]=H.join(", ")}let _=Z.placeholder||Y.placeholderStrategy||"thumbhash";if(_!=="none")try{if(_==="thumbhash"){let B=await J.generateThumbHash(X);j.placeholder={dataURL:B.dataUrl,width:B.width||32,height:B.height||32,strategy:"thumbhash"}}else{let B=await J.generatePlaceholder(X,{strategy:_,width:20});j.placeholder={dataURL:B.dataURL,width:B.width,height:B.height,strategy:_}}}catch(B){console.warn(`[stx-media] Failed to generate placeholder: ${B}`)}return j.sizes=Z.sizes||TW(Q),j}catch(Q){return console.error(`[stx-media] Responsive generation failed: ${Q}`),null}}function TW($){let Z=[...$].sort((J,X)=>J-X),Y=[];for(let J=0;J<Z.length-1;J++){let X=Z[J];Y.push(`(max-width: ${X}px) ${X}px`)}return Y.push(`${Z[Z.length-1]}px`),Y.join(", ")}function HZ($,Z="width"){if(!$||$.length===0)return"";if(Z==="dpr")return $.filter((Y)=>Y.dpr).map((Y)=>`${Y.url} ${Y.dpr}x`).join(", ");return $.map((Y)=>`${Y.url} ${Y.width}w`).join(", ")}var MW;var OZ=b(()=>{l1();MW=[320,480,640,768,1024,1280,1536,1920]});var LZ={};a(LZ,{setCachedImageResult:()=>B4,processImage:()=>UZ,optimizeImage:()=>jZ,getCachedImageResult:()=>_4,generateSrcset:()=>HZ,generateResponsiveVariants:()=>BZ,clearImageCache:()=>qZ,applyTransformations:()=>U3,ImageProcessorCache:()=>j4});var FZ=b(()=>{_Z();OZ();q3()});async function IW(){try{return await Promise.resolve().then(() => (FZ(),LZ))}catch($){if(!VZ)console.warn("[stx-media] Image processor not available, some features disabled:",$),VZ=!0;return null}}async function H4($,Z={}){let Y=Z,J=$;if(J.process&&!J.skipOptimization){if(Y.tsImagesConfig?.enabled&&!Y.isDev)return bW(J,Y)}if(Y.processedResult?.processed)return H3($,Y.processedResult,Z);if(Y.responsiveVariants)return NZ($,Y.responsiveVariants,Z);let{src:X,alt:Q,width:G,height:K,sizes:W,widths:q=H5,dpr:z,formats:U=X$,quality:j=j3,params:_={},placeholder:B="none",placeholderOptions:H={},lazy:L=!0,priority:V=!1,loading:O=V?"eager":L4,decoding:F=O4,fetchpriority:w,objectFit:A,objectPosition:R,crossorigin:N,referrerpolicy:M}=$,T=$.class,I=$.style,E=$.id,D=$.data||{},{isDev:y=!1,baseUrl:S=""}=Z;if(y&&!Z.optimize)return kW($);let k,v,g=E||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(B!=="none"&&!V)try{k=await ZZ(X,{strategy:B,...H}),v=$Z(g,k,H)}catch{}let f=z!==void 0&&G!==void 0,d;if(f)d=EW($,g,k,Z);else d=await DW($,g,k,Z);let p;if(V){let w0=U.includes("webp")?"webp":U[0],r=e7(X,q,{..._,q:j},w0),G0=typeof W==="object"?$3(W):W||"100vw";p=`<link rel="preload" as="image" imagesrcset="${r}" imagesizes="${G0}" />`}let Q0=[];if(!wZ&&B!=="none")Q0.push(X3),wZ=!0;if(v)Q0.push(v);let Y0=L?RZ(g):void 0;return{html:d,preloadLink:p,css:Q0.length>0?Q0.join(`
|
|
7495
|
+
`):void 0,script:Y0}}async function DW($,Z,Y,J){let{src:X,alt:Q,width:G,height:K,sizes:W,widths:q=H5,formats:z=X$,quality:U=j3,params:j={},lazy:_=!0,priority:B=!1,loading:H=B?"eager":L4,decoding:L=O4,fetchpriority:V,objectFit:O,objectPosition:F,crossorigin:w,referrerpolicy:A}=$,R=$.class,N=$.style,M=$.data||{},T=typeof W==="object"?$3(W):W||"100vw",I=[];for(let y of z){let S=e7(X,q,{...j,q:U},y),k=Z3(y);if(_&&!B)I.push(` <source type="${k}" data-srcset="${S}" data-sizes="${T}" />`);else I.push(` <source type="${k}" srcset="${S}" sizes="${T}" />`)}let E=_3({src:Q$(X,{...j,q:U}),alt:Q,width:G,height:K,loading:B?void 0:H,decoding:L,fetchpriority:B?"high":V,objectFit:O,objectPosition:F,crossorigin:w,referrerpolicy:A,className:AZ(R,Y),style:B3(N,O,F,Y),lazy:_&&!B,data:M}),D;if(Y){let y=`background-image: url('${Y.dataURL}'); background-size: cover; background-position: center;`;D=`<div id="${Z}" class="stx-img-placeholder" style="${y}">
|
|
7496
7496
|
<picture>
|
|
7497
7497
|
${I.join(`
|
|
7498
7498
|
`)}
|
|
@@ -7502,9 +7502,9 @@ ${I.join(`
|
|
|
7502
7502
|
${I.join(`
|
|
7503
7503
|
`)}
|
|
7504
7504
|
<img ${E} />
|
|
7505
|
-
</picture>`;return D}function
|
|
7505
|
+
</picture>`;return D}function EW($,Z,Y,J){let{src:X,alt:Q,width:G,height:K,dpr:W=[1,2,3],quality:q=j3,params:z={},lazy:U=!0,priority:j=!1,loading:_=j?"eager":L4,decoding:B=O4,fetchpriority:H,objectFit:L,objectPosition:V,crossorigin:O,referrerpolicy:F}=$,w=$.class,A=$.style,R=$.data||{},N=typeof G==="number"?G:Number.parseInt(String(G),10),M=e8(X,N,W,{...z,q}),T=_3({src:Q$(X,{...z,w:N,q}),alt:Q,width:G,height:K,loading:j?void 0:_,decoding:B,fetchpriority:j?"high":H,objectFit:L,objectPosition:V,crossorigin:O,referrerpolicy:F,className:AZ(w,Y),style:B3(A,L,V,Y),lazy:U&&!j,data:R}),I=U&&!j?`data-srcset="${M}"`:`srcset="${M}"`;if(Y){let E=`background-image: url('${Y.dataURL}'); background-size: cover; background-position: center;`;return`<div id="${Z}" class="stx-img-placeholder" style="${E}">
|
|
7506
7506
|
<img ${T} ${I} />
|
|
7507
|
-
</div>`}return`<img ${Z?`id="${Z}" `:""}${T} ${I} />`}function
|
|
7507
|
+
</div>`}return`<img ${Z?`id="${Z}" `:""}${T} ${I} />`}function kW($){let{src:Z,alt:Y,width:J,height:X,loading:Q=L4,decoding:G=O4,fetchpriority:K,objectFit:W,objectPosition:q,crossorigin:z,referrerpolicy:U,priority:j=!1}=$,_=$.class,B=$.style,H=$.id,L=$.data||{};return{html:`<img ${_3({src:Z,alt:Y,width:J,height:X,loading:j?"eager":Q,decoding:G,fetchpriority:j?"high":K,objectFit:W,objectPosition:q,crossorigin:z,referrerpolicy:U,className:_,style:B3(B,W,q),id:H,data:L})} />`}}function _3($){let Z=[];if($.lazy)Z.push(`data-src="${t0($.src)}"`),Z.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"');else Z.push(`src="${t0($.src)}"`);if(Z.push(`alt="${t0($.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="${t0($.className)}"`);if($.style)Z.push(`style="${t0($.style)}"`);if($.id)Z.push(`id="${t0($.id)}"`);if($.data)for(let[Y,J]of Object.entries($.data))Z.push(`data-${Y}="${t0(J)}"`);if($.lazy)Z.push("data-stx-lazy");return Z.join(" ")}function AZ($,Z){let Y=[];if($)Y.push($);if(Z)Y.push("stx-img-blur");return Y.join(" ")||""}function B3($,Z,Y,J){let X=[];if(Z)X.push(`object-fit: ${Z}`);if(Y)X.push(`object-position: ${Y}`);if(J)X.push("opacity: 0; transition: opacity 300ms ease-out");if($)X.push($);return X.join("; ")}function t0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function RZ($){return`
|
|
7508
7508
|
(function() {
|
|
7509
7509
|
const container = document.getElementById('${$}');
|
|
7510
7510
|
if (!container) return;
|
|
@@ -7541,7 +7541,7 @@ ${I.join(`
|
|
|
7541
7541
|
|
|
7542
7542
|
observer.observe(container);
|
|
7543
7543
|
})();
|
|
7544
|
-
`.trim()}async function
|
|
7544
|
+
`.trim()}async function bW($,Z){let Y=await IW();if(!Y)return H4({...$,process:!1},Z);let J=Z.tsImagesConfig;if($.responsiveWidths&&$.responsiveWidths.length>0||$.widths&&$.widths.length>0||!$.width&&!$.dpr){let Q=await Y.generateResponsiveVariants($.src,$,J);if(Q)return NZ($,Q,Z)}else{let Q=await Y.processImage($.src,$,J);if(Q.processed)return H3($,Q,Z)}return H4({...$,process:!1},Z)}async function H3($,Z,Y){let{alt:J,width:X,height:Q,lazy:G=!0,priority:K=!1,objectFit:W,objectPosition:q,crossorigin:z,referrerpolicy:U}=$,j=$.class,_=$.style,B=$.id||`stx-img-${Math.random().toString(36).slice(2,8)}`,H=$.data||{},L=Z.variants||[],V=L.find((v)=>v.format==="jpeg")||L.find((v)=>v.format==="webp")||L[0],O=V?.url||$.src,F=L.filter((v)=>v.format===(V?.format||"jpeg")).map((v)=>`${v.url} ${v.width}w`).join(", "),w=new Map;for(let v of L){if(!w.has(v.format))w.set(v.format,[]);w.get(v.format).push(v)}let A=[],R=["avif","webp","jpeg","png"];for(let v of R){let g=w.get(v);if(g&&g.length>0){let f=g.map((p)=>`${p.url} ${p.width}w`).join(", "),d=Z3(v);if(G&&!K)A.push(` <source type="${d}" data-srcset="${f}" />`);else A.push(` <source type="${d}" srcset="${f}" />`)}}let N=[];if(G&&!K){if(N.push(`data-src="${t0(O)}"`),N.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),F)N.push(`data-srcset="${F}"`)}else if(N.push(`src="${t0(O)}"`),F)N.push(`srcset="${F}"`);N.push(`alt="${t0(J)}"`);let M=X||Z.originalWidth,T=Q||Z.originalHeight;if(M)N.push(`width="${M}"`);if(T)N.push(`height="${T}"`);if(!K)N.push(`loading="${G?"lazy":"eager"}"`);if(N.push('decoding="async"'),K)N.push('fetchpriority="high"');if(z)N.push(`crossorigin="${z}"`);if(U)N.push(`referrerpolicy="${U}"`);let I=[];if(W)I.push(`object-fit: ${W}`);if(q)I.push(`object-position: ${q}`);if(Z.placeholder&&G)I.push("opacity: 0; transition: opacity 300ms ease-out");if(_)I.push(_);if(I.length>0)N.push(`style="${I.join("; ")}"`);let E=[];if(j)E.push(j);if(Z.placeholder)E.push("stx-img-blur");if(E.length>0)N.push(`class="${E.join(" ")}"`);if(G&&!K)N.push("data-stx-lazy");for(let[v,g]of Object.entries(H))N.push(`data-${v}="${t0(g)}"`);let D;if(Z.placeholder||Z.dominantColor&&$.useDominantColor){let v=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="${v}">
|
|
7545
7545
|
<picture>
|
|
7546
7546
|
${A.join(`
|
|
7547
7547
|
`)}
|
|
@@ -7551,12 +7551,12 @@ ${A.join(`
|
|
|
7551
7551
|
${A.join(`
|
|
7552
7552
|
`)}
|
|
7553
7553
|
<img ${N.join(" ")} />
|
|
7554
|
-
</picture>`;let y=[];if(Z.placeholder)y.push(
|
|
7555
|
-
`):void 0,script:S}}async function
|
|
7556
|
-
`+
|
|
7557
|
-
<style>${
|
|
7558
|
-
<script>${
|
|
7559
|
-
`)}async function
|
|
7554
|
+
</picture>`;let y=[];if(Z.placeholder)y.push(X3);let S=G?RZ(B):void 0,k;if(K&&F)k=`<link rel="preload" as="image" imagesrcset="${F}" />`;return{html:D,preloadLink:k,css:y.length>0?y.join(`
|
|
7555
|
+
`):void 0,script:S}}async function NZ($,Z,Y){let J={src:Z.src,processed:!0,variants:[],placeholder:Z.placeholder?.dataURL,originalWidth:Z.placeholder?.width,originalHeight:Z.placeholder?.height};for(let[X,Q]of Object.entries(Z.byFormat))if(Q)J.variants.push(...Q);return H3($,J,Y)}var VZ=!1,j3=80,O4="async",L4="lazy",wZ=!1;var MZ=b(()=>{Y3();YZ()});function SW(){return G4({name:"img",hasEndTag:!1,description:"Render an optimized responsive image with srcset and lazy loading",transform:async($,Z,Y,J)=>{let{src:X,alt:Q,options:G}=yW($,Z,Y);if(!X)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let K={src:X,alt:Q||"",widths:G.widths||H5,formats:G.formats||X$,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},W=Y.__isDev||!1,q=await H4(K,{isDev:W}),z=q.html;if(q.preloadLink)z=q.preloadLink+`
|
|
7556
|
+
`+z;if(q.css)z+=`
|
|
7557
|
+
<style>${q.css}</style>`;if(q.script)z+=`
|
|
7558
|
+
<script>${q.script}</script>`;return z},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function yW($,Z,Y){if(Z.src)return{src:String(Z.src),alt:String(Z.alt||""),options:Z.options||{}};let J=$.trim();if(J.startsWith("@img(")||J.startsWith("("))J=J.replace(/^@img\(/,"").replace(/^\(/,"").replace(/\)$/,"");let X=PW(J),Q=O3(X[0],Y)||"",G=O3(X[1],Y)||"",K={};if(X[2]){let W=O3(X[2],Y);if(typeof W==="object"&&W!==null)K=W;else if(typeof X[2]==="string")try{K=JSON.parse(X[2])}catch{}}return{src:Q,alt:G,options:K}}function PW($){let Z=[],Y="",J=!1,X="",Q=0,G=0;for(let K=0;K<$.length;K++){let W=$[K],q=K>0?$[K-1]:"";if((W==='"'||W==="'"||W==="`")&&q!=="\\"){if(!J)J=!0,X=W;else if(W===X)J=!1,X="";else Y+=W;continue}if(!J){if(W==="{")Q++;if(W==="}")Q--;if(W==="[")G++;if(W==="]")G--;if(W===","&&Q===0&&G===0){Z.push(Y.trim()),Y="";continue}}Y+=W}if(Y.trim())Z.push(Y.trim());return Z}function O3($,Z){if(typeof $!=="string")return $;let Y=$.trim();if(Y.startsWith('"')&&Y.endsWith('"')||Y.startsWith("'")&&Y.endsWith("'"))return Y.slice(1,-1);if(!Y.startsWith("/")&&!Y.startsWith(".")&&!Y.startsWith("http")&&!Y.startsWith("{")){let J=Z[Y];if(J!==void 0)return J}if(Y.startsWith("{")||Y.startsWith("["))try{return JSON.parse(Y)}catch{}return Y}var TZ;var IZ=b(()=>{t7();MZ();Y3();TZ=SW()});class V4{config;constructor($={}){this.config={...CW,...$}}async get($,Z){return W4($,Z,"video",this.config)}async set($,Z,Y){return q4($,Z,Y,"video",this.config)}async clear(){return z4("video",this.config)}updateConfig($){this.config={...this.config,...$}}}function L3($){if(!F4)F4=new V4($);else if($)F4.updateConfig($);return F4}async function w4($,Z,Y){let J=Y?{directory:`${Y.outputDir}/../.cache`}:{};return L3(J).get($,Z)}async function A4($,Z,Y,J){let X=J?{directory:`${J.outputDir}/../.cache`}:{};return L3(X).set($,Z,Y)}async function DZ(){return L3().clear()}var CW,F4=null;var F3=b(()=>{K3();CW={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as V3,basename as w3,extname as A3,join as R4}from"path";import{mkdir as R3}from"fs/promises";async function N3(){try{return await import("ts-videos")}catch{return null}}async function N4($,Z,Y,J){let X=await N3();if(!X)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let Q=V3($);if(!await E0(Q))return null;await R3(Y,{recursive:!0});let G=await S0(Q),K=w3($,A3($)),W=Z.format||"webp",q=Z.timestamp||0,z=`${K}-poster-${G}.${W}`,U=R4(Y,z),j=await X.extractThumbnails(Q,{timestamps:[q],width:Z.width||1280,height:Z.height,format:W,quality:Z.quality||85,outputDir:Y,outputPattern:z.replace(`.${W}`,"")});if(j&&j.length>0){let _=j[0];return{path:U,url:`${J}/${z}`,width:_.width||Z.width||1280,height:_.height||720,timestamp:q,size:_.size||0}}return null}catch(Q){return console.warn(`[stx-media] Failed to generate poster: ${Q}`),null}}async function M4($,Z,Y,J){let X=await N3();if(!X)return[];try{let Q=V3($);if(!await E0(Q))return[];await R3(Y,{recursive:!0});let G=await S0(Q),K=w3($,A3($)),W=Z.format||"webp",U=(await new X.Input(Q).getInfo()).duration||60,j=Z.count||10,_=Z.interval||U/j,B=[];for(let L=0;L<j&&L*_<U;L++)B.push(L*_);let H=await X.extractThumbnails(Q,{timestamps:B,width:Z.width||320,format:W,quality:Z.quality||80,outputDir:Y,outputPattern:`${K}-thumb-${G}`});if(H&&H.length>0)return H.map((L,V)=>({path:L.path||R4(Y,`${K}-thumb-${G}-${V}.${W}`),url:`${J}/${K}-thumb-${G}-${V}.${W}`,width:L.width||Z.width||320,height:L.height||180,timestamp:B[V],size:L.size||0}));return[]}catch(Q){return console.warn(`[stx-media] Failed to generate thumbnails: ${Q}`),[]}}async function EZ($,Z,Y,J){let X=await N3();if(!X)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let Q=V3($);if(!await E0(Q))return null;await R3(Y,{recursive:!0});let G=await S0(Q),K=w3($,A3($)),z=(await new X.Input(Q).getInfo()).duration||60,U=Z.columns||10,j=Z.interval||5,_=Z.thumbnailWidth||160,B=Z.thumbnailHeight||90,H=Z.format||"jpeg",L=Math.ceil(z/j),V=Math.ceil(L/U),O=`${K}-sprite-${G}.${H}`,F=R4(Y,O),w=[];for(let R=0;R<L;R++)w.push(R*j);let A=await X.extractThumbnails(Q,{timestamps:w,width:_,height:B,format:H,quality:Z.quality||70,outputDir:R4(Y,".temp")});if(!A||A.length===0)return null;try{let R=await import("ts-images"),N=U*_,M=V*B,T=await R.createSprite({images:A.map((I)=>I.path),columns:U,padding:0,outputPath:F,format:H,quality:Z.quality||70});return{url:`${J}/${O}`,path:F,columns:U,rows:V,thumbnailWidth:_,thumbnailHeight:B,interval:j,totalFrames:L}}catch{return console.warn("[stx-media] ts-images not installed, sprite sheet generation skipped"),null}}catch(Q){return console.warn(`[stx-media] Failed to generate sprite sheet: ${Q}`),null}}var M3=b(()=>{l1()});import{resolve as bZ,basename as SZ,extname as yZ,join as c1}from"path";import{mkdir as T4,writeFile as PZ}from"fs/promises";async function CZ(){try{return await import("ts-videos")}catch{return null}}async function I4($,Z,Y,J,X){let Q=await CZ();if(!Q)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let G=bZ($);if(!await E0(G))return null;let K=await S0(G),W=SZ($,yZ($)),q=c1(Y,`${W}-${K}-hls`);await T4(q,{recursive:!0});let z=Z.length>0?Z:vZ,U=X?.segmentDuration||6,B=(await new Q.Input(G).getInfo()).duration||0,H=[],L=0;for(let F of z){let w=c1(q,F.label);await T4(w,{recursive:!0});let A=`${F.label}.m3u8`,R=c1(w,A);try{let N=await Q.generateHLS(G,{outputDir:w,segmentDuration:U,width:F.width,height:F.height,videoBitrate:F.bitrate,audioBitrate:F.audioBitrate,playlistName:F.label});if(N)H.push({quality:F,url:`${J}/${W}-${K}-hls/${F.label}/${A}`,path:R}),L+=N.segmentCount||Math.ceil(B/U)}catch(N){console.warn(`[stx-media] Failed to generate HLS for ${F.label}: ${N}`)}}if(H.length===0)return null;let V=c1(q,"master.m3u8"),O=vW(H,J,W,K);return await PZ(V,O),{manifestUrl:`${J}/${W}-${K}-hls/master.m3u8`,manifestPath:V,playlists:H,segmentCount:L,duration:B}}catch(G){return console.warn(`[stx-media] Failed to generate HLS manifest: ${G}`),null}}function vW($,Z,Y,J){let X=["#EXTM3U","#EXT-X-VERSION:3"];for(let Q of $){let{quality:G}=Q,K=G.bitrate+(G.audioBitrate||128000),W=`${G.width}x${G.height||Math.round(G.width*9/16)}`;X.push(`#EXT-X-STREAM-INF:BANDWIDTH=${K},RESOLUTION=${W},NAME="${G.label}"`,`${G.label}/${G.label}.m3u8`)}return X.join(`
|
|
7559
|
+
`)}async function D4($,Z,Y,J,X){let Q=await CZ();if(!Q)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let G=bZ($);if(!await E0(G))return null;let K=await S0(G),W=SZ($,yZ($)),q=c1(Y,`${W}-${K}-dash`);await T4(q,{recursive:!0});let z=Z.length>0?Z:vZ,U=X?.segmentDuration||4,j=X?.minBufferTime||2,H=(await new Q.Input(G).getInfo()).duration||0,L=[],V=[];for(let A of z){let R=c1(q,A.label);await T4(R,{recursive:!0});try{if(await Q.generateDASH(G,{outputDir:R,segmentDuration:U,width:A.width,height:A.height,videoBitrate:A.bitrate,audioBitrate:A.audioBitrate})){if(L.push({bandwidth:A.bitrate,width:A.width,height:A.height||Math.round(A.width*9/16),url:`${J}/${W}-${K}-dash/${A.label}/video`}),A.audioBitrate)V.push({bandwidth:A.audioBitrate,url:`${J}/${W}-${K}-dash/${A.label}/audio`})}}catch(N){console.warn(`[stx-media] Failed to generate DASH for ${A.label}: ${N}`)}}if(L.length===0)return null;let O=c1(q,"manifest.mpd"),F=xW(L,V,H,U,j);await PZ(O,F);let w=[{type:"video",representations:L}];if(V.length>0)w.push({type:"audio",representations:V});return{manifestUrl:`${J}/${W}-${K}-dash/manifest.mpd`,manifestPath:O,adaptationSets:w,duration:H}}catch(G){return console.warn(`[stx-media] Failed to generate DASH manifest: ${G}`),null}}function xW($,Z,Y,J,X){let Q=kZ(Y),G=kZ(X),K=`<?xml version="1.0" encoding="UTF-8"?>
|
|
7560
7560
|
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011"
|
|
7561
7561
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
7562
7562
|
xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"
|
|
@@ -7566,23 +7566,23 @@ ${A.join(`
|
|
|
7566
7566
|
profiles="urn:mpeg:dash:profile:isoff-on-demand:2011">
|
|
7567
7567
|
<Period>
|
|
7568
7568
|
<AdaptationSet mimeType="video/mp4" codecs="avc1.64001f" segmentAlignment="true" startWithSAP="1">
|
|
7569
|
-
`;for(let W=0;W<$.length;W++){let
|
|
7570
|
-
<BaseURL>${
|
|
7569
|
+
`;for(let W=0;W<$.length;W++){let q=$[W];K+=` <Representation id="video${W}" bandwidth="${q.bandwidth}" width="${q.width}" height="${q.height}">
|
|
7570
|
+
<BaseURL>${q.url}/</BaseURL>
|
|
7571
7571
|
<SegmentBase indexRange="0-999">
|
|
7572
7572
|
<Initialization range="0-999"/>
|
|
7573
7573
|
</SegmentBase>
|
|
7574
7574
|
</Representation>
|
|
7575
7575
|
`}if(K+=` </AdaptationSet>
|
|
7576
7576
|
`,Z.length>0){K+=` <AdaptationSet mimeType="audio/mp4" codecs="mp4a.40.2" segmentAlignment="true" startWithSAP="1">
|
|
7577
|
-
`;for(let W=0;W<Z.length;W++){let
|
|
7578
|
-
<BaseURL>${
|
|
7577
|
+
`;for(let W=0;W<Z.length;W++){let q=Z[W];K+=` <Representation id="audio${W}" bandwidth="${q.bandwidth}">
|
|
7578
|
+
<BaseURL>${q.url}/</BaseURL>
|
|
7579
7579
|
<SegmentBase indexRange="0-999">
|
|
7580
7580
|
<Initialization range="0-999"/>
|
|
7581
7581
|
</SegmentBase>
|
|
7582
7582
|
</Representation>
|
|
7583
7583
|
`}K+=` </AdaptationSet>
|
|
7584
7584
|
`}return K+=` </Period>
|
|
7585
|
-
</MPD>`,K}function
|
|
7585
|
+
</MPD>`,K}function kZ($){let Z=Math.floor($/3600),Y=Math.floor($%3600/60),J=Math.floor($%60),X="PT";if(Z>0)X+=`${Z}H`;if(Y>0)X+=`${Y}M`;return X+=`${J}S`,X}var vZ;var T3=b(()=>{l1();vZ=[{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 xZ,basename as fW,extname as gW,join as hW}from"path";import{mkdir as dW}from"fs/promises";async function fZ(){try{return await import("ts-videos")}catch{return null}}function uW($){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 mW($){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 I3($){let Z=await fZ();if(!Z)return null;try{let Y=xZ($),X=await new Z.Input(Y).getInfo();return{duration:X.duration||0,width:X.width||0,height:X.height||0,frameRate:X.frameRate||0,bitrate:X.bitrate||0,codec:X.videoCodec||"",audioCodec:X.audioCodec}}catch(Y){return console.warn(`[stx-media] Failed to analyze video: ${Y}`),null}}async function gZ($,Z,Y,J){let X=await fZ();if(!X)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:$,processed:!1};let Q=await w4($,Z,Y);if(Q)return Q;try{let G=xZ($);if(!await E0(G))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let K=Y.outputDir||"dist/videos",W=Y.baseUrl||"/videos";await dW(K,{recursive:!0});let q=await S0(G),z=fW($,gW($)),U={src:$,processed:!0,hash:q};J?.({percentage:5,stage:"analyzing"}),U.metadata=await I3(G)||void 0;let j={};if(Z.quality)j.bitrate=uW(Z.quality);if(Z.platform)Object.assign(j,mW(Z.platform));if(Z.transcode)Object.assign(j,Z.transcode);if(Object.keys(j).length>0||Z.process){J?.({percentage:10,stage:"transcoding"});let _=`${z}-${q}.mp4`,B=hW(K,_);try{let H=await pW(G,B,j,X,(L)=>J?.({percentage:10+L*0.5,stage:"transcoding"}));if(H)U.transcoded={path:B,url:`${W}/${_}`,duration:H.duration,size:H.size,video:{codec:j.codec||"h264",width:H.width,height:H.height,bitrate:H.bitrate,frameRate:H.frameRate},audio:H.audioCodec?{codec:j.audioCodec||"aac",bitrate:j.audioBitrate||128000,sampleRate:j.sampleRate||48000,channels:j.channels||2}:void 0}}catch(H){U.errors=U.errors||[],U.errors.push(`Transcoding failed: ${H}`)}}if(Z.generatePoster){J?.({percentage:65,stage:"generating-poster"});let _=typeof Z.generatePoster==="object"?Z.generatePoster:{timestamp:0},B=await N4(G,_,K,W);if(B)U.poster=B}if(Y.thumbnails?.enabled){J?.({percentage:70,stage:"generating-thumbnails"});let _=await M4(G,Y.thumbnails,K,W);if(_.length>0)U.thumbnails=_}if(Z.streaming){J?.({percentage:80,stage:"generating-manifests"});let _=typeof Z.streaming==="object"?Z.streaming:Y.streaming||{format:"hls"};if(_.format==="hls"||_.format===void 0){let B=await I4(G,_.qualities||Y.streaming?.defaultQualities||[],K,W);if(B)U.streaming={...U.streaming,hls:B}}if(_.format==="dash"){let B=await D4(G,_.qualities||Y.streaming?.defaultQualities||[],K,W);if(B)U.streaming={...U.streaming,dash:B}}}if(Z.spriteSheet)J?.({percentage:90,stage:"generating-sprite-sheet"});return J?.({percentage:100,stage:"complete"}),await A4($,Z,U,Y),U}catch(G){return{src:$,processed:!1,errors:[`Processing failed: ${G}`]}}}async function pW($,Z,Y,J,X){try{let G=await new J.Conversion($,Z,{videoCodec:Y.codec,videoBitrate:Y.bitrate,width:Y.maxWidth,height:Y.maxHeight,frameRate:Y.frameRate,audioCodec:Y.audioCodec,audioBitrate:Y.audioBitrate,sampleRate:Y.sampleRate,channels:Y.channels}).run((K)=>{X?.(K.percentage/100)});return{duration:G.duration||0,size:G.size||0,width:G.width||Y.maxWidth||0,height:G.height||Y.maxHeight||0,bitrate:G.bitrate||Y.bitrate||0,frameRate:G.frameRate||Y.frameRate||30,audioCodec:G.audioCodec}}catch(Q){return console.error(`[stx-media] Transcoding failed: ${Q}`),null}}var hZ=b(()=>{l1();F3();M3();T3()});var dZ={};a(dZ,{setCachedVideoResult:()=>A4,processVideo:()=>gZ,getCachedVideoResult:()=>w4,generateThumbnails:()=>M4,generateSpriteSheet:()=>EZ,generatePoster:()=>N4,generateHLSManifest:()=>I4,generateDASHManifest:()=>D4,clearVideoCache:()=>DZ,analyzeVideo:()=>I3,VideoProcessorCache:()=>V4});var uZ=b(()=>{hZ();M3();T3();F3()});async function pZ(){try{return await Promise.resolve().then(() => (uZ(),dZ))}catch($){if(!mZ)console.warn("[stx-media] Video processor not available, some features disabled:",$),mZ=!0;return null}}async function E4($,Z={}){let Y=Z,J=$;if(J.process&&!J.skipProcessing){if(Y.tsVideosConfig?.enabled&&!Y.isDev)return sW(J,Y)}if(Y.processedResult?.processed)return nZ($,Y.processedResult,Z);let X;if(J.generatePoster&&J.src&&!$.poster)X=await rW(J,Y);let{src:Q,sources:G=[],poster:K,posterPlaceholder:W,controls:q=lZ,autoplay:z=!1,muted:U=!1,loop:j=!1,preload:_=cZ,playsinline:B=!0,lazy:H=!0,player:L="native",type:V,width:O,height:F,crossorigin:w,disablePictureInPicture:A=!1,disableRemotePlayback:R=!1}=$,N=X||K,M=$.class,T=$.style,I=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(L==="ts-video")return iW($,Z);if(V&&V!=="video")return cW(Q||"",V,$);let E=G.length>0?G:Q?[{src:Q,type:iZ(Q)}]:[],D=[`id="${I}"`];if(q)D.push("controls");if(z)D.push("autoplay");if(U)D.push("muted");if(j)D.push("loop");if(B)D.push("playsinline");if(A)D.push("disablepictureinpicture");if(R)D.push("disableremoteplayback");if(w)D.push(`crossorigin="${w}"`);if(H){if(D.push(`data-preload="${_}"`),D.push('preload="none"'),N)D.push(`data-poster="${R0(N)}"`);D.push("data-stx-lazy")}else if(D.push(`preload="${_}"`),N)D.push(`poster="${R0(N)}"`);if(O)D.push(`width="${O}"`);if(F)D.push(`height="${F}"`);if(M)D.push(`class="${R0(M)}"`);if(T)D.push(`style="${R0(T)}"`);let y=E.map((v)=>{return` <source ${H?`data-src="${R0(v.src)}"`:`src="${R0(v.src)}"`} type="${v.type}"${v.media?` media="${v.media}"`:""} />`}).join(`
|
|
7586
7586
|
`),S=`<video ${D.join(" ")}>
|
|
7587
7587
|
${y}
|
|
7588
7588
|
Your browser does not support the video tag.
|
|
@@ -7621,12 +7621,12 @@ ${y}
|
|
|
7621
7621
|
|
|
7622
7622
|
observer.observe(video);
|
|
7623
7623
|
})();
|
|
7624
|
-
`.trim();return{html:S,script:k}}function
|
|
7625
|
-
<iframe ${
|
|
7626
|
-
</div>`}}function
|
|
7624
|
+
`.trim();return{html:S,script:k}}function cW($,Z,Y){let{width:J=640,height:X=360}=Y,Q=Y.class,G=Y.style,K=Y.id||`stx-embed-${Math.random().toString(36).slice(2,8)}`,W,q=null;switch(Z){case"youtube":q=nW($),W=q?`https://www.youtube-nocookie.com/embed/${q}`:$;break;case"vimeo":q=oW($),W=q?`https://player.vimeo.com/video/${q}`:$;break;case"dailymotion":q=$.split("/").pop()||"",W=`https://www.dailymotion.com/embed/video/${q}`;break;case"twitch":q=$.split("/").pop()||"",W=`https://player.twitch.tv/?video=${q}&parent=${typeof window<"u"?window.location.hostname:"localhost"}`;break;default:W=$}let z=[`id="${K}"`,`src="${R0(W)}"`,`width="${J}"`,`height="${X}"`,'frameborder="0"',"allowfullscreen",'allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"'];if(Q)z.push(`class="${R0(Q)}"`);if(G)z.push(`style="${R0(G)}"`);if(Y.lazy)z.push('loading="lazy"');return{html:`<div class="stx-video-embed" style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;">
|
|
7625
|
+
<iframe ${z.join(" ")} style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe>
|
|
7626
|
+
</div>`}}function iW($,Z={}){let{src:Y,sources:J=[],poster:X,controls:Q=!0,autoplay:G=!1,muted:K=!1,loop:W=!1,preload:q="metadata",playsinline:z=!0,lazy:U=!0,width:j,height:_}=$,B=$.class,H=$.style,L=$.id||`ts-video-${Math.random().toString(36).slice(2,8)}`,V={src:J.length>0?J:Y,autoplay:G,loop:W,muted:K,playsinline:z,preload:q,poster:X,controls:Q,title:$.title},O=["position: relative",j?`width: ${typeof j==="number"?j+"px":j}`:"width: 100%",_?`height: ${typeof _==="number"?_+"px":_}`:"",H||""].filter(Boolean).join("; "),F=`
|
|
7627
7627
|
<div
|
|
7628
7628
|
id="${L}"
|
|
7629
|
-
class="ts-video-player${B?" "+
|
|
7629
|
+
class="ts-video-player${B?" "+R0(B):""}"
|
|
7630
7630
|
style="${O}"
|
|
7631
7631
|
data-ts-video-player
|
|
7632
7632
|
data-config='${JSON.stringify(V)}'
|
|
@@ -7634,7 +7634,7 @@ ${y}
|
|
|
7634
7634
|
>
|
|
7635
7635
|
<div class="ts-video-player__container">
|
|
7636
7636
|
${X?`
|
|
7637
|
-
<div class="ts-video-player__placeholder" style="background-image: url('${
|
|
7637
|
+
<div class="ts-video-player__placeholder" style="background-image: url('${R0(X)}');">
|
|
7638
7638
|
<button class="ts-video-player__play-button" aria-label="Play video">
|
|
7639
7639
|
<svg viewBox="0 0 24 24" fill="currentColor" width="64" height="64">
|
|
7640
7640
|
<path d="M8 5v14l11-7z"/>
|
|
@@ -7660,7 +7660,7 @@ ${y}
|
|
|
7660
7660
|
|
|
7661
7661
|
// Load ts-video-player from CDN
|
|
7662
7662
|
var script = document.createElement('script');
|
|
7663
|
-
script.src = '${
|
|
7663
|
+
script.src = '${lW}';
|
|
7664
7664
|
script.onload = initPlayer;
|
|
7665
7665
|
script.onerror = function() {
|
|
7666
7666
|
console.error('[stx] Failed to load ts-video-player');
|
|
@@ -7790,12 +7790,12 @@ else {
|
|
|
7790
7790
|
.ts-video-player__play-button svg {
|
|
7791
7791
|
margin-left: 4px;
|
|
7792
7792
|
}
|
|
7793
|
-
`.trim();return{html:F,script:w,css:A}}function
|
|
7793
|
+
`.trim();return{html:F,script:w,css:A}}function iZ($){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 nW($){let Z=[/youtube\.com\/watch\?v=([^&]+)/,/youtube\.com\/embed\/([^?]+)/,/youtu\.be\/([^?]+)/,/youtube\.com\/v\/([^?]+)/];for(let Y of Z){let J=$.match(Y);if(J)return J[1]}return null}function oW($){let Z=$.match(/vimeo\.com\/(\d+)/);return Z?Z[1]:null}function R0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'")}async function sW($,Z){let Y=await pZ();if(!Y)return E4({...$,process:!1},Z);let J=Z.tsVideosConfig,X=await Y.processVideo($.src,$,J,$.onProcessProgress);if(X.processed)return nZ($,X,Z);return E4({...$,process:!1},Z)}async function rW($,Z){let Y=await pZ();if(!Y||!$.src)return;let J=typeof $.generatePoster==="object"?$.generatePoster:{timestamp:0},X=Z.tsVideosConfig||{enabled:!0,outputDir:"dist/videos",baseUrl:"/videos"};return(await Y.generatePoster($.src,J,X.outputDir,X.baseUrl||"/videos"))?.url}function nZ($,Z,Y){let{controls:J=lZ,autoplay:X=!1,muted:Q=!1,loop:G=!1,preload:K=cZ,playsinline:W=!0,lazy:q=!0,width:z,height:U,crossorigin:j,disablePictureInPicture:_=!1,disableRemotePlayback:B=!1}=$,H=$.class,L=$.style,V=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`,O=$.src,F=iZ(O);if(Z.transcoded)O=Z.transcoded.url,F="video/mp4";let w=Z.streaming?.hls||Z.streaming?.dash;if(w){if(Z.streaming?.hls)O=Z.streaming.hls.manifestUrl,F="application/x-mpegURL";else if(Z.streaming?.dash)O=Z.streaming.dash.manifestUrl,F="application/dash+xml"}let A=Z.poster?.url||$.poster,R=[`id="${V}"`];if(J)R.push("controls");if(X)R.push("autoplay");if(Q)R.push("muted");if(G)R.push("loop");if(W)R.push("playsinline");if(_)R.push("disablepictureinpicture");if(B)R.push("disableremoteplayback");if(j)R.push(`crossorigin="${j}"`);if(q){if(R.push(`data-preload="${K}"`),R.push('preload="none"'),A)R.push(`data-poster="${R0(A)}"`);R.push("data-stx-lazy")}else if(R.push(`preload="${K}"`),A)R.push(`poster="${R0(A)}"`);let N=z||Z.metadata?.width,M=U||Z.metadata?.height;if(N)R.push(`width="${N}"`);if(M)R.push(`height="${M}"`);if(H)R.push(`class="${R0(H)}"`);if(L)R.push(`style="${R0(L)}"`);let I=` <source ${q?`data-src="${R0(O)}"`:`src="${R0(O)}"`} type="${F}" />`,E=`<video ${R.join(" ")}>
|
|
7794
7794
|
${I}
|
|
7795
7795
|
Your browser does not support the video tag.
|
|
7796
|
-
</video>`;if(Z.spriteSheet)E=`<div class="stx-video-wrapper" data-sprite-sheet="${
|
|
7796
|
+
</video>`;if(Z.spriteSheet)E=`<div class="stx-video-wrapper" data-sprite-sheet="${R0(Z.spriteSheet.url)}" data-sprite-cols="${Z.spriteSheet.columns}" data-sprite-interval="${Z.spriteSheet.interval}">
|
|
7797
7797
|
${E}
|
|
7798
|
-
</div>`;let D;if(
|
|
7798
|
+
</div>`;let D;if(q)D=`
|
|
7799
7799
|
(function() {
|
|
7800
7800
|
var video = document.getElementById('${V}');
|
|
7801
7801
|
if (!video) return;
|
|
@@ -7839,9 +7839,9 @@ ${E}
|
|
|
7839
7839
|
width: 100%;
|
|
7840
7840
|
height: auto;
|
|
7841
7841
|
}
|
|
7842
|
-
`.trim();return{html:E,script:D,css:y}}var
|
|
7843
|
-
<style>${
|
|
7844
|
-
<script>${
|
|
7842
|
+
`.trim();return{html:E,script:D,css:y}}var mZ=!1,lZ=!0,cZ="metadata",lW="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";var oZ=b(()=>{E3()});function sZ(){return G4({name:"video",hasEndTag:!1,description:"Render a video with optional ts-videos processing, streaming, and poster generation",transform:async($,Z,Y,J)=>{let{src:X,options:Q}=aW($,Z,Y);if(!X)return console.warn("@video directive: missing src argument"),"<!-- @video: missing src -->";let G={src:X,poster:Q.poster,controls:Q.controls!==!1,autoplay:Q.autoplay||!1,muted:Q.muted||!1,loop:Q.loop||!1,preload:Q.preload||"metadata",playsinline:Q.playsinline!==!1,lazy:Q.lazy!==!1,player:Q.player||"native",type:Q.type,width:Q.width,height:Q.height,class:Q.class,style:Q.style,id:Q.id,crossorigin:Q.crossorigin,disablePictureInPicture:Q.disablePictureInPicture,disableRemotePlayback:Q.disableRemotePlayback,title:Q.title,quality:Q.quality,platform:Q.platform,process:Q.process,generatePoster:Q.generatePoster,streaming:Q.streaming,transcode:Q.transcode,spriteSheet:Q.spriteSheet,waveform:Q.waveform},W={isDev:Y.__isDev||!1,tsVideosConfig:Y.__tsVideosConfig},q=await E4(G,W),z=q.html;if(q.css)z+=`
|
|
7843
|
+
<style>${q.css}</style>`;if(q.script)z+=`
|
|
7844
|
+
<script>${q.script}</script>`;return z},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function aW($,Z,Y){if(Z.src)return{src:String(Z.src),options:Z.options||{}};let J=$.trim();if(J.startsWith("@video(")||J.startsWith("("))J=J.replace(/^@video\(/,"").replace(/^\(/,"").replace(/\)$/,"");let X=tW(J),Q=rZ(X[0],Y)||"",G={};if(X[1]){let K=rZ(X[1],Y);if(typeof K==="object"&&K!==null)G=K;else if(typeof X[1]==="string")try{G=JSON.parse(X[1])}catch{}}return{src:Q,options:G}}function tW($){let Z=[],Y="",J=!1,X="",Q=0,G=0;for(let K=0;K<$.length;K++){let W=$[K],q=K>0?$[K-1]:"";if((W==='"'||W==="'"||W==="`")&&q!=="\\"){if(!J)J=!0,X=W;else if(W===X)J=!1,X="";else Y+=W;continue}if(!J){if(W==="{")Q++;if(W==="}")Q--;if(W==="[")G++;if(W==="]")G--;if(W===","&&Q===0&&G===0){Z.push(Y.trim()),Y="";continue}}Y+=W}if(Y.trim())Z.push(Y.trim());return Z}function rZ($,Z){if(typeof $!=="string")return $;let Y=$.trim();if(Y.startsWith('"')&&Y.endsWith('"')||Y.startsWith("'")&&Y.endsWith("'"))return Y.slice(1,-1);if(!Y.startsWith("/")&&!Y.startsWith(".")&&!Y.startsWith("http")&&!Y.startsWith("{")){let J=Z[Y];if(J!==void 0)return J}if(Y.startsWith("{")||Y.startsWith("["))try{return JSON.parse(Y)}catch{}return Y}var D3;var E3=b(()=>{t7();oZ();D3=sZ()});function eW($,Z){let Y=Z.pwa?.manifest?.themeColor||"#4f46e5";return`<div class="stx-pwa-install" style="display:none;">
|
|
7845
7845
|
${$}
|
|
7846
7846
|
</div>
|
|
7847
7847
|
<script>
|
|
@@ -7886,7 +7886,7 @@ ${E}
|
|
|
7886
7886
|
}
|
|
7887
7887
|
}
|
|
7888
7888
|
})();
|
|
7889
|
-
</script>`}function
|
|
7889
|
+
</script>`}function $q($,Z){let Y=Z.pwa?.updates,J=Y?.message||"A new version is available. Reload to update?",X=Y?.autoReload||!1,Q=$.trim().length>0,G=`
|
|
7890
7890
|
<div class="stx-pwa-update-banner" style="
|
|
7891
7891
|
position: fixed;
|
|
7892
7892
|
bottom: 0;
|
|
@@ -7997,7 +7997,7 @@ else {
|
|
|
7997
7997
|
// Also listen for custom event
|
|
7998
7998
|
window.addEventListener('pwa-update-available', showUpdate);
|
|
7999
7999
|
})();
|
|
8000
|
-
</script>`}function
|
|
8000
|
+
</script>`}function Zq($,Z){let Y=$.trim().length>0,J=`
|
|
8001
8001
|
<div class="stx-offline-indicator" style="
|
|
8002
8002
|
position: fixed;
|
|
8003
8003
|
top: 16px;
|
|
@@ -8058,7 +8058,7 @@ else {
|
|
|
8058
8058
|
window.addEventListener('offline', updateStatus);
|
|
8059
8059
|
updateStatus();
|
|
8060
8060
|
})();
|
|
8061
|
-
</script>`}function
|
|
8061
|
+
</script>`}function Yq($,Z){let Y=Z.pwa?.push,J=Y?.vapidPublicKey||"",X=Y?.subscriptionEndpoint||"/api/push/subscribe";return`<div class="stx-pwa-push" style="display:none;">
|
|
8062
8062
|
${$}
|
|
8063
8063
|
</div>
|
|
8064
8064
|
<script>
|
|
@@ -8140,33 +8140,33 @@ catch (error) {
|
|
|
8140
8140
|
init();
|
|
8141
8141
|
}
|
|
8142
8142
|
})();
|
|
8143
|
-
</script>`}var
|
|
8144
|
-
${$.message}`),Z&&$.line){let Q=
|
|
8143
|
+
</script>`}var Jq,Xq,Qq,Gq,aZ;var tZ=b(()=>{Jq={name:"pwa.installButton",handler:($,Z,Y,J)=>{let X=Y.__stx_options||{};return eW($,X)},hasEndTag:!0,description:"Renders a PWA install prompt button that appears when the app can be installed"},Xq={name:"pwa.updatePrompt",handler:($,Z,Y,J)=>{let X=Y.__stx_options||{};return $q($,X)},hasEndTag:!0,description:"Renders a PWA update notification UI when a new version is available"},Qq={name:"pwa.offlineIndicator",handler:($,Z,Y,J)=>{let X=Y.__stx_options||{};return Zq($,X)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},Gq={name:"pwa.pushSubscribe",handler:($,Z,Y,J)=>{let X=Y.__stx_options||{};return Yq($,X)},hasEndTag:!0,description:"Renders a push notification subscription button"},aZ=[Jq,Xq,Qq,Gq]});function k3($){for(let[Z,Y]of Object.entries(s))if(Y===$)return Z;return}var s;var k4=b(()=>{s={UNCLOSED_DIRECTIVE:1001,UNCLOSED_EXPRESSION:1002,INVALID_DIRECTIVE_SYNTAX:1003,MALFORMED_EXPRESSION:1004,UNEXPECTED_TOKEN:1005,UNDEFINED_VARIABLE:1101,TYPE_ERROR:1102,EVALUATION_ERROR:1103,INFINITE_LOOP:1104,CIRCULAR_REFERENCE:1105,UNSAFE_EXPRESSION:1201,PATH_TRAVERSAL:1202,XSS_ATTEMPT:1203,CODE_INJECTION:1204,DOM_API_VIOLATION:1205,FILE_NOT_FOUND:1301,FILE_READ_ERROR:1302,INVALID_FILE_PATH:1303,PERMISSION_DENIED:1304,INVALID_CONFIG:1401,MISSING_REQUIRED_CONFIG:1402,DEPRECATED_CONFIG:1403,COMPONENT_NOT_FOUND:1501,INVALID_PROPS:1502,COMPONENT_RENDER_ERROR:1503,FILTER_NOT_FOUND:1601,INVALID_FILTER_ARGS:1602,EXPRESSION_TIMEOUT:1603}});function G$(){return!1}function K$(){return!G$()||process.env.STX_DEBUG==="true"}function b4(){return!1}import Kq from"path";function S4(){return{...b3}}function y4($){if(!b3.showRelativePaths||!$)return $;let Z=b3.baseDir||process.cwd();try{let Y=Kq.relative(Z,$);return Y.startsWith("..")?$:Y}catch{return $}}var Wq,b3,P4,i1,C4;var v4=b(()=>{k4();Wq={showRelativePaths:!1,enableAutoRecovery:K$(),logRecoveryWarnings:!0},b3={...Wq};P4=class P4 extends Error{code;filePath;line;column;context;numericCode;constructor($,Z,Y,J,X,Q,G){super($);this.code=Z;this.filePath=Y;this.line=J;this.column=X;this.context=Q;if(this.name="StxError",this.numericCode=G||s.EVALUATION_ERROR,this.filePath)this.filePath=y4(this.filePath)}};i1=class i1 extends P4{constructor($,Z,Y,J,X,Q){super($,"stx_RUNTIME_ERROR",Z,Y,J,X,Q||s.EVALUATION_ERROR);this.name="StxRuntimeError"}};C4=class C4 extends P4{isFatal=!0;constructor($,Z,Y,J,X,Q){super($,"stx_VALIDATION_ERROR",Z,Y,J,X,Q||s.DOM_API_VIOLATION);this.name="StxValidationError"}}});function $2($){let{type:Z,message:Y,code:J,filePath:X,line:Q,column:G,template:K,offset:W,snippet:q,suggestion:z,format:U="text"}=$,j=Q,_=G;if(!j&&K&&W!==void 0){let O=Bq(K,W);j=O.line,_=O.column}let B=X?y4(X):void 0,H=J?k3(J):void 0,L={type:Z,code:J,codeName:H,message:Y,filePath:B,line:j,column:_,snippet:q,suggestion:z,timestamp:new Date().toISOString()},V;switch(U){case"html":V=zq(L);break;case"json":V=JSON.stringify(L,null,2);break;case"console":V=Uq(L,K,W);break;case"text":default:V=qq(L,K,W);break}return{formatted:V,data:L}}function qq($,Z,Y){let J=[],X=$.code?` [${$.codeName||$.code}]`:"";if(J.push(`[${$.type} Error${X}]`),$.filePath){let Q=$.filePath;if($.line){if(Q+=`:${$.line}`,$.column)Q+=`:${$.column}`}J.push(`at ${Q}`)}if(J.push(`
|
|
8144
|
+
${$.message}`),Z&&$.line){let Q=jq(Z,$.line,2);if(Q)J.push(`
|
|
8145
8145
|
${Q}`)}if($.snippet)J.push(`
|
|
8146
8146
|
Snippet: ${$.snippet}`);if($.suggestion)J.push(`
|
|
8147
|
-
Suggestion: ${$.suggestion}`);return J.join(" ")}function
|
|
8148
|
-
\x1B[90mat\x1B[0m ${U}`)}if(
|
|
8147
|
+
Suggestion: ${$.suggestion}`);return J.join(" ")}function zq($){let Z=$.code?` [${$.code}]`:"",Y=$.filePath?` in ${$.filePath}${$.line?`:${$.line}`:""}`:"",J=`<!-- [${$.type} Error${Z}]${Y}: ${eZ($.message)}`;if($.suggestion)J+=` | Suggestion: ${eZ($.suggestion)}`;return J+=" -->",J}function Uq($,Z,Y){let q=[],z=$.code?` [${$.codeName||$.code}]`:"";if(q.push(`\x1B[1m${"\x1B[31m"}\u2501\u2501\u2501 ${$.type} Error${z} \u2501\u2501\u2501${"\x1B[0m"}`),$.filePath){let U=`\x1B[36m${$.filePath}\x1B[0m`;if($.line){if(U+=`\x1B[90m:${$.line}\x1B[0m`,$.column)U+=`\x1B[90m:${$.column}\x1B[0m`}q.push(`
|
|
8148
|
+
\x1B[90mat\x1B[0m ${U}`)}if(q.push(`
|
|
8149
8149
|
|
|
8150
|
-
${$.message}`),Z&&$.line){let U=
|
|
8150
|
+
${$.message}`),Z&&$.line){let U=_q(Z,$.line,2);if(U)q.push(`
|
|
8151
8151
|
|
|
8152
8152
|
\x1B[90mContext:\x1B[0m
|
|
8153
|
-
${U}`)}if($.suggestion)
|
|
8154
|
-
|
|
8155
|
-
\x1B[33mSuggestion:\x1B[0m ${$.suggestion}`);return
|
|
8156
|
-
${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501${"\x1B[0m"}`),
|
|
8157
|
-
`),X=Math.max(0,Z-Y-1),Q=Math.min(J.length-1,Z+Y-1),G=[];for(let K=X;K<=Q;K++){let W=(K+1).toString().padStart(4),
|
|
8158
|
-
`)}function
|
|
8159
|
-
`),X=Math.max(0,Z-Y-1),Q=Math.min(J.length-1,Z+Y-1),G="\x1B[90m",K="\x1B[31m",W="\x1B[0m",
|
|
8160
|
-
`)}function
|
|
8161
|
-
`);return{line:J.length,column:J[J.length-1].length}}function
|
|
8153
|
+
${U}`)}if($.suggestion)q.push(`
|
|
8154
|
+
|
|
8155
|
+
\x1B[33mSuggestion:\x1B[0m ${$.suggestion}`);return q.push(`
|
|
8156
|
+
${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501${"\x1B[0m"}`),q.join("")}function jq($,Z,Y){let J=$.split(`
|
|
8157
|
+
`),X=Math.max(0,Z-Y-1),Q=Math.min(J.length-1,Z+Y-1),G=[];for(let K=X;K<=Q;K++){let W=(K+1).toString().padStart(4),q=K===Z-1?">":" ";G.push(`${q}${W} | ${J[K]}`)}return G.join(`
|
|
8158
|
+
`)}function _q($,Z,Y){let J=$.split(`
|
|
8159
|
+
`),X=Math.max(0,Z-Y-1),Q=Math.min(J.length-1,Z+Y-1),G="\x1B[90m",K="\x1B[31m",W="\x1B[0m",q=[];for(let z=X;z<=Q;z++){let U=(z+1).toString().padStart(4),j=z===Z-1,_=j?"\x1B[31m>\x1B[0m":" ",B=j?`\x1B[31m${J[z]}\x1B[0m`:`\x1B[90m${J[z]}\x1B[0m`;q.push(`${_}\x1B[90m${U}\x1B[0m | ${B}`)}return q.join(`
|
|
8160
|
+
`)}function eZ($){return $.replace(/--/g,"- -").replace(/>/g,">")}function Bq($,Z){let J=$.substring(0,Z).split(`
|
|
8161
|
+
`);return{line:J.length,column:J[J.length-1].length}}function $0($,Z,Y){return $2({type:$,message:Z,code:Y,format:"html"}).formatted}async function L5($,Z,Y){try{return await $()}catch(J){if(Y&&J instanceof Error)Y(J);return Z}}var Z2=b(()=>{k4();v4()});class y3{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,Y="error"){let J={timestamp:new Date,error:$,context:Z,level:Y};if(this.errors.push(J),this.errors.length>this.maxErrors)this.errors=this.errors.slice(-this.maxErrors);if(this.enableFileLogging&&this.shouldLog(Y))this.writeToFile(J)}shouldLog($){if(this.minLevel==="all")return!0;if(this.minLevel==="warning")return $==="error"||$==="warning";if(this.minLevel==="error")return $==="error";return!0}formatEntry($){if(this.logFormat==="json")return JSON.stringify({timestamp:$.timestamp.toISOString(),level:$.level||"error",type:$.error.constructor.name,message:$.error.message,stack:$.error.stack,context:$.context});let Z=[`[${$.timestamp.toISOString()}] [${($.level||"error").toUpperCase()}] ${$.error.constructor.name}: ${$.error.message}`];if($.error.stack)Z.push(` Stack: ${$.error.stack.split(`
|
|
8162
8162
|
`).slice(1).join(`
|
|
8163
8163
|
`)}`);if($.context)Z.push(` Context: ${JSON.stringify($.context)}`);return Z.join(`
|
|
8164
8164
|
`)}writeToFile($){this.writeQueue=this.writeQueue.then(async()=>{try{let Z=await import("fs"),J=(await import("path")).dirname(this.logFilePath);if(!Z.existsSync(J))Z.mkdirSync(J,{recursive:!0});await this.rotateIfNeeded(Z);let X=`${this.formatEntry($)}
|
|
8165
8165
|
`;Z.appendFileSync(this.logFilePath,X,"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 Y=this.maxLogFiles-1;Y>=1;Y--){let J=`${this.logFilePath}.${Y}`,X=`${this.logFilePath}.${Y+1}`;if($.existsSync(J))if(Y>=this.maxLogFiles-1)$.unlinkSync(J);else $.renameSync(J,X)}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 Y of this.errors){let J=Y.error.constructor.name;$[J]=($[J]||0)+1;let X=Y.level||"error";Z[X]=(Z[X]||0)+1}return{total:this.errors.length,byType:$,byLevel:Z}}async exportToFile($,Z="json"){let Y=await import("fs"),X=(await import("path")).dirname($);if(!Y.existsSync(X))Y.mkdirSync(X,{recursive:!0});if(Z==="json"){let Q=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}));Y.writeFileSync($,JSON.stringify(Q,null,2),"utf-8")}else{let Q=this.errors.map((G)=>this.formatEntry(G));Y.writeFileSync($,Q.join(`
|
|
8166
8166
|
|
|
8167
|
-
`),"utf-8")}}async flush(){await this.writeQueue}}var
|
|
8168
|
-
@end${K}`;J.push(`Added ${
|
|
8169
|
-
`)}}});var
|
|
8167
|
+
`),"utf-8")}}async flush(){await this.writeQueue}}var S3,e0,P3;var Y2=b(()=>{v4();S3={isEnabled(){return S4().enableAutoRecovery},fixCommonSyntaxErrors($){let Z=S4();if(!Z.enableAutoRecovery)return{fixed:$,fixes:[]};let Y=$,J=[],X=(Y.match(/\{\{/g)||[]).length,Q=(Y.match(/\}\}/g)||[]).length;if(X>Q){let K=X-Q;Y+="}}".repeat(K),J.push(`Added ${K} missing closing braces '}}'`)}let G=["if","foreach","for","switch","section"];for(let K of G){let W=(Y.match(new RegExp(`@${K}\\b`,"g"))||[]).length,q=(Y.match(new RegExp(`@end${K}\\b`,"g"))||[]).length;if(W>q){let z=W-q;for(let U=0;U<z;U++)Y+=`
|
|
8168
|
+
@end${K}`;J.push(`Added ${z} missing @end${K}`)}}if(J.length>0&&Z.logRecoveryWarnings)console.warn("[stx] Auto-recovery applied fixes:"),J.forEach((K)=>console.warn(` - ${K}`)),console.warn(" Consider fixing these issues in your template.");return{fixed:Y,fixes:J}},createFallbackContent($,Z){if(K$())return`<!-- ${$} failed: ${Z.message} -->`;return"<!-- stx rendering error -->"}};e0=new y3,P3={isDevelopment(){return K$()},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 Y=["=== stx Error Report ===",`Time: ${new Date().toISOString()}`,`Error: ${$.message}`,`Type: ${$.constructor.name}`,`Stack: ${$.stack}`];if(Z)Y.push(`Context: ${JSON.stringify(Z,null,2)}`);return Y.push("========================"),Y.join(`
|
|
8169
|
+
`)}}});var J2=()=>{};var X2=b(()=>{k4();Z2();Y2();J2();v4()});var U1=b(()=>{X2()});function Q2($,Z,Y,J){let X=$;X=X.replace(/@meta\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(K,W,q)=>{if(!q&&W.includes(":")){let z=W.split(":"),U=W,j=z.length>1?z[1]:"";if(j&&Z[j])q=Z[j];else if(U.startsWith("og:")&&Z.openGraph&&Z.openGraph[z[1]])q=Z.openGraph[z[1]];else q="";return q?`<meta property="${l(U)}" content="${l(q)}">`:""}return q?`<meta name="${l(W)}" content="${l(q)}">`:""});let Q=/@metaTag\s*\(/g,G;while((G=Q.exec(X))!==null){let K=G.index,W=K+G[0].length-1,q=1,z=W+1;while(z<X.length&&q>0){if(X[z]==="(")q++;else if(X[z]===")"){if(q--,q===0)break}z++}if(q!==0)break;let U=X.substring(W+1,z).trim(),j=z+1,_=(()=>{try{let B=T0(U,Z);if(!B)return"";let H="<meta";if(B.name)H+=` name="${l(String(B.name))}"`;if(B.property)H+=` property="${l(String(B.property))}"`;if(B.httpEquiv)H+=` http-equiv="${l(String(B.httpEquiv))}"`;if(B.content)H+=` content="${l(String(B.content))}"`;return H+=">",H}catch(B){let H=B instanceof Error?B.message:String(B);return $0("MetaTag",H,s.EVALUATION_ERROR)}})();X=X.substring(0,K)+_+X.substring(j),Q.lastIndex=0}return X}function G2($,Z,Y){let J=$,X=/@structuredData\s*\(/g,Q;while((Q=X.exec(J))!==null){let G=Q.index,K=G+Q[0].length-1,W=1,q=K+1;while(q<J.length&&W>0){if(J[q]==="(")W++;else if(J[q]===")"){if(W--,W===0)break}q++}if(W!==0)break;let z=J.substring(K+1,q).trim(),U=q+1,j=(()=>{try{let _=T0(z,Z);if(!_)return"";if(!_["@context"])_["@context"]="https://schema.org";return`<script type="application/ld+json">${JSON.stringify(_).replace(/<\//g,"<\\/")}</script>`}catch(_){let B=_ instanceof Error?_.message:String(_);return $0("StructuredData",B,s.EVALUATION_ERROR)}})();J=J.substring(0,G)+j+J.substring(U),X.lastIndex=0}return J}function K2($,Z,Y,J){let X=$,Q=/@seo\s*\(\s*\{/g,G;while((G=Q.exec(X))!==null){let K=X.indexOf("{",G.index+4),W=1,q=K+1,z=null,U=!1;while(q<X.length&&W>0){let V=X[q];if(U){U=!1,q++;continue}if(V==="\\"&&z){U=!0,q++;continue}if(z){if(V===z)z=null;q++;continue}if(V==='"'||V==="'"||V==="`"){z=V,q++;continue}if(V==="{")W++;else if(V==="}")W--;q++}if(W!==0)break;let j=X.substring(q).match(/^\s*\)/);if(!j)break;let _=q+j[0].length,B=X.substring(K,q),H=X.substring(G.index,_),L=((V)=>{try{let O=T0(V,Z);if(!O)return"";let F="";if(O.title)F+=`<title>${l(O.title)}</title>
|
|
8170
8170
|
`,F+=`<meta name="title" content="${l(O.title)}">
|
|
8171
8171
|
`;if(O.description)F+=`<meta name="description" content="${l(O.description)}">
|
|
8172
8172
|
`;if(O.keywords){let w=Array.isArray(O.keywords)?O.keywords.join(", "):O.keywords;F+=`<meta name="keywords" content="${l(w)}">
|
|
@@ -8188,7 +8188,7 @@ ${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\
|
|
|
8188
8188
|
`}if(w.site)F+=`<meta name="twitter:site" content="${l(w.site)}">
|
|
8189
8189
|
`;if(w.creator)F+=`<meta name="twitter:creator" content="${l(w.creator)}">
|
|
8190
8190
|
`}if(O.structuredData){let w=JSON.stringify(O.structuredData).replace(/<\//g,"<\\/");F+=`<script type="application/ld+json">${w}</script>
|
|
8191
|
-
`}return F.trim()}catch(O){let F=O instanceof Error?O.message:String(O);return
|
|
8191
|
+
`}return F.trim()}catch(O){let F=O instanceof Error?O.message:String(O);return $0("SEO",`Error processing @seo directive: ${F}`,s.EVALUATION_ERROR)}})(B);X=X.substring(0,G.index)+L+X.substring(_),Q.lastIndex=G.index+L.length}return X}function W2($,Z,Y){if(Y.seo?.enabled===!1)return $;if($.includes("<!-- stx SEO Tags -->")||Y.skipDefaultSeoTags===!0)return $;let J=Z.__stx_runtime_head;if(!!(J?.title||J?.meta?.some((U)=>U.property==="og:title"||U.name==="og:title"||U.name==="twitter:title"||U.name==="description")))return $;if(/<meta\s+(?:[^>]*\s)?property=["']og:title["']/i.test($)||/<meta\s+(?:[^>]*\s)?name=["']og:title["']/i.test($)||/<meta\s+(?:[^>]*\s)?name=["']twitter:title["']/i.test($))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let Q=$.includes("<title>")||$.includes("</title>"),G="";if(Z.title)G=Z.title;else if(Z.meta&&Z.meta.title)G=Z.meta.title;else if(Y.seo?.defaultConfig?.title)G=Y.seo.defaultConfig.title;else G=Y.defaultTitle||"stx Project";let K="";if(Z.description)K=Z.description;else if(Z.meta&&Z.meta.description)K=Z.meta.description;else if(Y.seo?.defaultConfig?.description)K=Y.seo.defaultConfig.description;else K=Y.defaultDescription||"A website built with stx templating engine";let W="";if(Z.image)W=Z.image;else if(Z.meta&&Z.meta.image)W=Z.meta.image;else if(Z.openGraph&&Z.openGraph.image)W=Z.openGraph.image;else if(Y.seo?.defaultImage)W=Y.seo.defaultImage;else if(Y.defaultImage)W=Y.defaultImage;let q=`
|
|
8192
8192
|
<!-- stx SEO Tags -->
|
|
8193
8193
|
<meta name="title" content="${l(G)}">
|
|
8194
8194
|
<meta name="description" content="${l(K)}">
|
|
@@ -8198,13 +8198,13 @@ ${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\
|
|
|
8198
8198
|
<meta name="twitter:card" content="summary_large_image">
|
|
8199
8199
|
<meta name="twitter:title" content="${l(G)}">
|
|
8200
8200
|
<meta name="twitter:description" content="${l(K)}">
|
|
8201
|
-
`;if(W)
|
|
8201
|
+
`;if(W)q+=`
|
|
8202
8202
|
<meta property="og:image" content="${l(W)}">
|
|
8203
8203
|
<meta name="twitter:image" content="${l(W)}">
|
|
8204
|
-
`;let
|
|
8205
|
-
<title>${l(G)}</title>`);return
|
|
8206
|
-
${
|
|
8207
|
-
`)}function l($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var
|
|
8204
|
+
`;let z=$;if(!Q)z=z.replace(/<head[^>]*>/,`$&
|
|
8205
|
+
<title>${l(G)}</title>`);return z.replace(/<head[^>]*>/,`$&
|
|
8206
|
+
${q}
|
|
8207
|
+
`)}function l($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var q2,z2;var C3=b(()=>{U1();A0();q2={name:"meta",handler:($,Z,Y,J)=>{if(Z.length<1)return $0("Meta","meta directive requires at least the meta name",s.INVALID_DIRECTIVE_SYNTAX);let X=Z[0].replace(/['"]/g,""),Q=Z.length>1?Z[1].replace(/['"]/g,""):"";return`<meta name="${l(X)}" content="${l(Q)}">`},hasEndTag:!1},z2={name:"structuredData",handler:($,Z,Y,J)=>{if($.trim()==="")return $0("StructuredData","structuredData directive requires JSON-LD content",s.INVALID_DIRECTIVE_SYNTAX);try{let X=JSON.parse($);if(!X["@context"])X["@context"]="https://schema.org";if(!X["@type"])return $0("StructuredData","structuredData requires @type property",s.INVALID_DIRECTIVE_SYNTAX);return`<script type="application/ld+json">${JSON.stringify(X)}</script>`}catch(X){let Q=X instanceof Error?X.message:String(X);return $0("StructuredData",Q,s.EVALUATION_ERROR)}},hasEndTag:!0}});import W$ from"path";function Hq($,Z){let Y=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),J=Y?Y[1].trim():"",X=Z,Q=[],G=!0;if(J){let U=J.match(/export\s+default\s+({[\s\S]*})/);if(U)try{let j=U[1],_=j.match(/tag\s*:\s*['"`]([^'"`]+)['"`]/);if(_)X=_[1];let B=j.match(/props\s*:\s*\[([\s\S]*?)\]/);if(B)Q=B[1].split(",").map((L)=>L.trim().replace(/['"`]/g,"")).filter((L)=>L.length>0);let H=j.match(/shadowDOM\s*:\s*(true|false)/);if(H)G=H[1]==="true"}catch{}}let K=$.match(/<template\b(?![^>]*\bid\s*=)[^>]*>([\s\S]*?)<\/template>/i),W=K?K[1].trim():"",q=$.match(/<style\b[^>]*>([\s\S]*?)<\/style>/i),z=q?q[1].trim():"";return{tag:X,props:Q,template:W,styles:z,script:J,shadowDOM:G}}function Oq($){let{tag:Z,props:Y,template:J,styles:X,shadowDOM:Q}=$,G=Z.split("-").map((U)=>U.charAt(0).toUpperCase()+U.slice(1)).join(""),K=J.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),W=X.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),q=Y.map((U)=>`'${U}'`).join(", "),z=Y.map((U)=>`
|
|
8208
8208
|
get ${U}() {
|
|
8209
8209
|
return this.getAttribute('${U}') || '';
|
|
8210
8210
|
}
|
|
@@ -8228,7 +8228,7 @@ class ${G} extends HTMLElement {
|
|
|
8228
8228
|
}
|
|
8229
8229
|
|
|
8230
8230
|
static get observedAttributes() {
|
|
8231
|
-
return [${
|
|
8231
|
+
return [${q}];
|
|
8232
8232
|
}
|
|
8233
8233
|
|
|
8234
8234
|
attributeChangedCallback(name, oldValue, newValue) {
|
|
@@ -8236,7 +8236,7 @@ class ${G} extends HTMLElement {
|
|
|
8236
8236
|
this._render();
|
|
8237
8237
|
}
|
|
8238
8238
|
}
|
|
8239
|
-
${
|
|
8239
|
+
${z}
|
|
8240
8240
|
|
|
8241
8241
|
_render() {
|
|
8242
8242
|
const template = \`${W?`<style>${W}</style>`:""}${K}\`;
|
|
@@ -8255,16 +8255,16 @@ ${q}
|
|
|
8255
8255
|
}
|
|
8256
8256
|
|
|
8257
8257
|
customElements.define('${Z}', ${G});
|
|
8258
|
-
`}async function
|
|
8259
|
-
${
|
|
8260
|
-
</script>`}var K2=b(()=>{q1();N0()});var W2={};a(W2,{timingPlugin:()=>Hz,pluginManager:()=>Uz,definePlugin:()=>P4,debugPlugin:()=>Bz,createVariablesPlugin:()=>Oz,createFilterPlugin:()=>_z,createDirectivePlugin:()=>jz,PluginManager:()=>y3});function P4($){return $}class y3{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 Y of $.dependencies)if(!this.plugins.has(Y))throw Error(`Plugin "${$.name}" depends on "${Y}" 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[Y,J]of this.plugins)if(J.dependencies?.includes($))throw Error(`Cannot unregister "${$}" because "${Y}" 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 Y=await Z.onError($);if(Y){if(Y.template!==void 0)$.template=Y.template;if(Y.context)$.context={...$.context,...Y.context};if(Y.metadata)$.metadata={...$.metadata,...Y.metadata};if(Y.skip)return $}}catch(Y){console.error(`Error in plugin "${Z.name}" onError hook:`,Y)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort(($,Z)=>($.priority??100)-(Z.priority??100))}async runHooks($,Z){let Y={...Z};for(let J of this.sortedPlugins){let X=J[$];if(X)try{let Q=await X(Y);if(Q){if(Q.template!==void 0)Y.template=Q.template;if(Q.context)Y.context={...Y.context,...Q.context};if(Q.metadata)Y.metadata={...Y.metadata,...Q.metadata};if(Q.skip)break}}catch(Q){console.error(`Error in plugin "${J.name}" ${$} hook:`,Q)}}return Y}async runDirectiveHooks($,Z,Y){let J={...Y};for(let X of this.sortedPlugins){let Q=X[$];if(Q)try{let G=await Q(Z,J);if(G){if(G.template!==void 0)J.template=G.template;if(G.context)J.context={...J.context,...G.context};if(G.metadata)J.metadata={...J.metadata,...G.metadata};if(G.skip)break}}catch(G){console.error(`Error in plugin "${X.name}" ${$} hook:`,G)}}return J}}function jz($,Z,Y={}){return{name:$,...Y,registerDirectives:()=>Z}}function _z($,Z,Y={}){return{name:$,...Y,registerFilters:()=>Z}}function Oz($){return P4({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(Z){return{context:{...Z.context,...$}}}})}var Uz,Bz,Hz;var z2=b(()=>{Uz=new y3;Bz=P4({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)}}),Hz=P4({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 Y=performance.now()-Z;console.log(`[stx-timing] Processing took ${Y.toFixed(2)}ms`)}}})});var U2={};a(U2,{validateConfig:()=>Az,loadStxConfig:()=>U1,defineStxConfig:()=>wz,defaultConfig:()=>c1,config:()=>C3});import P3 from"fs";import S0 from"path";import{loadConfigWithResult as Lz}from"bunfig";function Fz($,Z){let Y=Z||"pages";if($)return{root:$,pagesDir:Y};let J=S0.join(process.cwd(),"resources","views"),X=S0.join(process.cwd(),"resources","layouts");if(P3.existsSync(J)&&P3.existsSync(X))return{root:"resources",pagesDir:"views"};let Q=S0.join(process.cwd(),"resources","views","pages");if(P3.existsSync(Q))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}function Vz($){if($9($.stateDir),$.stateDir=y5(),$.cachePath=P5($.cachePath),$.build)$.build.cacheDir=P5($.build.cacheDir);if($.media?.cache)$.media.cache.directory=P5($.media.cache.directory);if($.story)$.story.outDir=P5($.story.outDir)}async function U1($){if(!$){if(O5)return O5;if(C4)return C4}let Z=$?S0.resolve($):process.cwd(),Y=q2.get(Z);if(Y)return Y;let J=(async()=>{let Q=(await Lz({name:"stx",alias:"ui",cwd:Z,defaultConfig:c1,verbose:!1})).config;Vz(Q);let G=Fz(Q.root,Q.pagesDir);if(Q.root=G.root,Q.pagesDir=G.pagesDir,Q.root&&Q.root!=="."){let K=Q.root;if(Q.partialsDir&&!S0.isAbsolute(Q.partialsDir))Q.partialsDir=S0.join(K,Q.partialsDir);if(Q.componentsDir&&!S0.isAbsolute(Q.componentsDir))Q.componentsDir=S0.join(K,Q.componentsDir);if(Q.layoutsDir&&!S0.isAbsolute(Q.layoutsDir))Q.layoutsDir=S0.join(K,Q.layoutsDir)}if(Q.plugins&&Q.plugins.length>0){let{pluginManager:K}=await Promise.resolve().then(() => (z2(),W2)),W=[],z=[];for(let q of Q.plugins){let U=typeof q==="string"?q:q[0],j=typeof q==="string"?{}:q[1]||{};try{let _,B;try{_=await import(U),B=S0.dirname(j0.resolve(U))}catch{let L=S0.resolve(process.cwd(),U);_=await import(L),B=S0.dirname(L)}let H=_.default||_;if(K.register(H,Q),H.components){let L=S0.resolve(B,H.components);W.push(L)}if(H.pages){let L=S0.resolve(B,H.pages),V=j.path||"/";z.push({dir:L,prefix:V})}if(H.setup){let L={addDirective:(V)=>{Q.customDirectives=Q.customDirectives||[],Q.customDirectives.push(V)},addRoute:(V,O)=>{Q.apiRoutes=Q.apiRoutes||{},Q.apiRoutes[V]=O},addMiddleware:(V)=>{Q.middleware=Q.middleware||[],Q.middleware.push(V)},pluginDir:B,config:Q};await H.setup(j,L)}console.log(`[stx] Plugin loaded: ${H.name||U}`)}catch(_){console.warn(`[stx] Failed to load plugin ${U}:`,_.message)}}Q._pluginComponentDirs=W,Q._pluginPageDirs=z}return Q})();if(q2.set(Z,J),!$)C4=J,J.then((X)=>{O5=X}).catch(()=>{});return J}function wz($){return $}function Az($){let Z=[],Y=[];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 J=["auto","manual","sections"];if(!J.includes($.streaming.strategy))Z.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${J.join(", ")}`,severity:"error"})}}if($.i18n){if($.i18n.format!==void 0){let J=["json","yaml","yml","js"];if(!J.includes($.i18n.format))Z.push({path:"i18n.format",message:`i18n.format must be one of: ${J.join(", ")}`,severity:"error"})}}if($.animation){if($.animation.defaultDuration!==void 0){if(typeof $.animation.defaultDuration!=="number"||$.animation.defaultDuration<0)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 J=["AA","AAA"];if(!J.includes($.a11y.level))Z.push({path:"a11y.level",message:`a11y.level must be one of: ${J.join(", ")}`,severity:"error"})}}if($.hydration){if($.hydration.mode!==void 0){let J=["progressive","islands"];if(!J.includes($.hydration.mode))Z.push({path:"hydration.mode",message:`hydration.mode must be one of: ${J.join(", ")}`,severity:"error"})}if($.hydration.preload!==void 0){let J=["none","eager","lazy"];if(!J.includes($.hydration.preload))Z.push({path:"hydration.preload",message:`hydration.preload must be one of: ${J.join(", ")}`,severity:"error"})}}if($.customDirectives)if(!Array.isArray($.customDirectives))Z.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else $.customDirectives.forEach((J,X)=>{if(!J.name||typeof J.name!=="string")Z.push({path:`customDirectives[${X}].name`,message:"Custom directive must have a name string",severity:"error"});if(!J.handler||typeof J.handler!=="function")Z.push({path:`customDirectives[${X}].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((J,X)=>{if(!J.name||typeof J.name!=="string")Z.push({path:`middleware[${X}].name`,message:"Middleware must have a name string",severity:"error"});if(!J.handler||typeof J.handler!=="function")Z.push({path:`middleware[${X}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!J.timing||!["before","after"].includes(J.timing))Z.push({path:`middleware[${X}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if($.debug===!0&&$.cache===!0)Y.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)Y.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 J=["fullscreen","standalone","minimal-ui","browser"];if(!J.includes($.pwa.manifest.display))Z.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${J.join(", ")}`,severity:"error"})}if($.pwa.manifest?.orientation!==void 0){let J=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!J.includes($.pwa.manifest.orientation))Z.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${J.join(", ")}`,severity:"error"})}if($.pwa.routes){let J=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];$.pwa.routes.forEach((X,Q)=>{if(!X.pattern||typeof X.pattern!=="string")Z.push({path:`pwa.routes[${Q}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!J.includes(X.strategy))Z.push({path:`pwa.routes[${Q}].strategy`,message:`PWA route strategy must be one of: ${J.join(", ")}`,severity:"error"});if(X.maxAgeSeconds!==void 0&&(typeof X.maxAgeSeconds!=="number"||X.maxAgeSeconds<0))Z.push({path:`pwa.routes[${Q}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(X.maxEntries!==void 0&&(typeof X.maxEntries!=="number"||X.maxEntries<1))Z.push({path:`pwa.routes[${Q}].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((X)=>typeof X!=="number"||X<16||X>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 J=["any","maskable","monochrome"];if($.pwa.icons.purpose.filter((Q)=>!J.includes(Q)).length>0)Z.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${J.join(", ")}`,severity:"error"})}if($.pwa.enabled===!0&&!$.pwa.icons?.src)Y.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)Y.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:Z.length===0,errors:Z,warnings:Y}}var c1,O5=null,q2,C4=null,C3;var i1=b(()=>{z7();q7();U7();j7();o7();AZ();T3();nZ();S3();C5();K2();c1={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:Y5,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:n8,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:G2,hasEndTag:!1,description:"Include a web component in the template"},J9,X9,X2,Q2,Q9,K9,W9,G9,j9,H9,wZ,M3,...iZ],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}};q2=new Map;C3=new Proxy(c1,{get($,Z){if(O5&&Z in O5)return O5[Z];if(!C4)U1().catch((Y)=>{console.warn("[stx] Failed to load config file:",Y?.message||Y)});return $[Z]}})});var L2={};a(L2,{resetCssCache:()=>kz,resetCrosswindCache:()=>bz,rebuildCrosswindCSS:()=>Sz,loadCrosswindConfig:()=>g3,loadCrosswind:()=>f3,injectCrosswindCSS:()=>K$,getCrosswindServeAsset:()=>Mz,getCachedCSS:()=>yz,generateCrosswindCSS:()=>O2,extractClassNames:()=>H2,buildCrosswindCSS:()=>B2});import Y0 from"path";import{hasLocalConfig as Rz}from"bunfig/discovery";function x4($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function v3($,Z){if(j1.has($))j1.delete($);else if(j1.size>=_2)j1.delete(j1.keys().next().value);j1.set($,Z)}function Nz($){let Z=x4($);if(e0.has(Z))e0.delete(Z);else if(e0.size>=_2)e0.delete(e0.keys().next().value);return e0.set(Z,$),Z}function Mz($){let Z=e0.get($);if(Z===void 0)return;return e0.delete($),e0.set($,Z),Z}async function Tz($){if(!M1)return null;try{let Z=Bun.file(Y0.join(M1,`cw-${x4($)}.css`));if(!await Z.exists())return null;return await Z.text()}catch{return null}}async function Iz($,Z){if(!M1)return;try{if(!fs.existsSync(M1))fs.mkdirSync(M1,{recursive:!0});await Bun.write(Y0.join(M1,`cw-${x4($)}.css`),Z)}catch{}}async function j2($){try{let Z=await import($);if(Z&&Z.CSSGenerator)return{CSSGenerator:Z.CSSGenerator,config:Z.config,build:Z.build,defaultConfig:Z.defaultConfig,extractClasses:Z.extractClasses}}catch{}return null}function Dz(){let $=[],Z=process.cwd();while(Z!==Y0.dirname(Z))$.push(Y0.join(Z,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(Y0.join(Z,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(Y0.join(Z,"pantry","@cwcss","crosswind","dist","index.js")),$.push(Y0.join(Z,"pantry","@cwcss","crosswind","src","index.ts")),$.push(Y0.join(Z,"node_modules","@stacksjs","crosswind","dist","index.js")),$.push(Y0.join(Z,"pantry","@stacksjs","crosswind","dist","index.js")),Z=Y0.dirname(Z);return $}function Ez(){let $=[],Z=process.env.HOME||process.env.USERPROFILE||"";if(Z){let Y=[Y0.join(Z,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),Y0.join(Z,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),Y0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),Y0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),Y0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),Y0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...Y)}return $.push(Y0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),$.push(Y0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),$}async function f3(){if(x3)return X1;x3=!0;try{let $=async(X)=>{for(let Q of X){if(!await Bun.file(Q).exists())continue;let G=await j2(Q);if(G){if(!process.env.STACKS_DEV_QUIET)console.log(`${H0.green}[Crosswind]${H0.reset} CSS engine loaded from ${Y0.dirname(Y0.dirname(Q))}`);return G}}return null};if(process.env.CROSSWIND_SRC){let X=Y0.resolve(process.env.CROSSWIND_SRC),Q=await $([X]);if(!Q)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${X}`);return X1=Q,X1}let Z=await $(Dz());if(Z)return X1=Z,X1;let Y=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let X of Y){let Q=await j2(X);if(Q){if(X1=Q,!process.env.STACKS_DEV_QUIET)console.log(`${H0.green}[Crosswind]${H0.reset} CSS engine loaded`);return X1}}let J=await $(Ez());if(J)return X1=J,X1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${H0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${H0.reset}`),console.warn(`${H0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${H0.reset}`),null}}function kz(){j1.clear(),e0.clear()}function bz(){X1=null,x3=!1,$1=null,G$="",j1.clear(),e0.clear(),v4=null}async function g3($){try{if(!Rz({name:"crosswind",cwd:$}))return null;let{loadConfigWithResult:Z}=await import("bunfig"),Y=await Z({name:"crosswind",cwd:$,defaultConfig:{},checkEnv:!1,verbose:!1});if(!Y?.path||!Y.config||Object.keys(Y.config).length===0)return null;let J=Y0.relative($,Y.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${H0.green}[Crosswind]${H0.reset} Loaded config from ${J||Y.path}`);return Y.config}catch(Z){if(Z instanceof Error&&Z.name==="ConfigNotFoundError")return null;return console.warn(`${H0.yellow}[Crosswind]${H0.reset} Failed to load crosswind config:`,Z instanceof Error?Z.message:Z),null}}async function B2($){if(L5)return G$;L5=!0;try{let Z=await f3();if(!Z||!Z.build)return L5=!1,"";if(!$1)$1=await g3($);if(!$1)return L5=!1,"";let Y=Z.defaultConfig?.theme||{},J=$1.theme||{},X={...Z.defaultConfig,...$1,theme:{...Y,...J,extend:{...Y.extend||{},...J.extend||{}}}},Q=performance.now(),G=await Z.build(X),K=performance.now()-Q;if(G$=G.css,console.log(`${H0.cyan}[Crosswind]${H0.reset} Built ${G.classes.size} classes in ${K.toFixed(1)}ms`),X.output){let W=Y0.isAbsolute(X.output)?X.output:Y0.join($,X.output),z=Y0.dirname(W);if(!fs.existsSync(z))fs.mkdirSync(z,{recursive:!0});await Bun.write(W,G.css)}return L5=!1,G.css}catch(Z){return console.error(`${H0.red}[Crosswind]${H0.reset} Build error:`,Z),L5=!1,G$}}async function Sz($){$1=null,await B2($)}function yz(){return G$}function H2($){let Z=new Set,Y=/class\s*=\s*["']([^"']+)["']/gi,J=Y.exec($);while(J!==null){for(let G of J[1].split(/\s+/))if(G.trim())Z.add(G.trim());J=Y.exec($)}let X=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,Q=X.exec($);while(Q!==null){let G=Q[1].match(/'([^']+)'/g);if(G){for(let K of G)for(let W of K.slice(1,-1).split(/\s+/))if(W.trim())Z.add(W.trim())}Q=X.exec($)}return Z}async function O2($,Z){try{let Y=await f3();if(!Y)return"";let J=typeof Y.extractClasses==="function"?Y.extractClasses($):H2($);if(J.size===0)return"";let X=Z?Y0.resolve(Z):process.cwd();if(!M1)M1=O1(X,"cache");let Q=[...J].sort().join(" "),G=`${v4||"default"}::${Q}`,K=j1.get(G);if(K!==void 0)return v3(G,K),K;let W=await Tz(G);if(W!==null)return v3(G,W),W;if(!$1){let A=null;try{let{loadStxConfig:R}=await Promise.resolve().then(() => (i1(),U2)),N=await R(X);if(N.css)if(typeof N.css==="string"){let M=Y0.isAbsolute(N.css)?N.css:Y0.resolve(X,N.css);if(await Bun.file(M).exists()){let T=await import(M);A=T.default||T,console.log(`${H0.green}[Crosswind]${H0.reset} Loaded config from stx.config.ts \u2192 ${N.css}`)}}else{if(A={...N.css,content:N.css.content||[],preflight:N.css.preflight??!0,minify:N.css.minify??!1},N.css.config){let M=Y0.isAbsolute(N.css.config)?N.css.config:Y0.resolve(X,N.css.config);if(await Bun.file(M).exists()){let T=await import(M);A={...T.default||T,...A}}}console.log(`${H0.green}[Crosswind]${H0.reset} Using inline CSS config from stx.config.ts`)}}catch{}$1=A||await g3(X);try{v4=x4(JSON.stringify($1??{}))}catch{v4="unhashable"}}let z=Y.defaultConfig||Y.config,q=$1||{},U=z.theme||{},_=(q.theme||{}).extend||{},B={...U};if(Object.keys(_).length>0)B.extend=_;let H=[...z.safelist||[],...q.safelist||[]],L={...z,...q,content:[],output:"",preflight:!0,minify:!1,theme:B,safelist:H},V=new Y.CSSGenerator(L);for(let A of H)V.generate(A);for(let A of J)V.generate(A);let O=V.toCSS(!0,!1),F=L.shortcuts||q.shortcuts||{};for(let[A,R]of Object.entries(F)){if(!J.has(A)&&!H.includes(A))continue;let N=R.split(/\s+/).filter(Boolean);for(let M of N)V.generate(M)}O=V.toCSS(!0,!1);let w=O.split(`
|
|
8258
|
+
`}async function U2($,Z,Y,J){if(Z.length<1)return $0("WebComponent","@webcomponent directive requires at least the tag name parameter",s.INVALID_DIRECTIVE_SYNTAX);let X=Z[0].replace(/['"]/g,""),G=(Y.__stx_options||{}).componentsDir||"components",K=[W$.join(W$.dirname(J),G,`${X}.stx`),W$.join(process.cwd(),G,`${X}.stx`),W$.join(W$.dirname(J),`${X}.stx`)],W=null;for(let U of K)if(await c(U)){W=await Bun.file(U).text();break}if(!W)return $0("WebComponent",`Component file not found: ${X}.stx`,s.FILE_NOT_FOUND);let q=Hq(W,X);return`<script type="module">
|
|
8259
|
+
${Oq(q)}
|
|
8260
|
+
</script>`}var j2=b(()=>{U1();M0()});var _2={};a(_2,{timingPlugin:()=>Aq,pluginManager:()=>Lq,definePlugin:()=>x4,debugPlugin:()=>wq,createVariablesPlugin:()=>Rq,createFilterPlugin:()=>Vq,createDirectivePlugin:()=>Fq,PluginManager:()=>v3});function x4($){return $}class v3{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 Y of $.dependencies)if(!this.plugins.has(Y))throw Error(`Plugin "${$.name}" depends on "${Y}" 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[Y,J]of this.plugins)if(J.dependencies?.includes($))throw Error(`Cannot unregister "${$}" because "${Y}" 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 Y=await Z.onError($);if(Y){if(Y.template!==void 0)$.template=Y.template;if(Y.context)$.context={...$.context,...Y.context};if(Y.metadata)$.metadata={...$.metadata,...Y.metadata};if(Y.skip)return $}}catch(Y){console.error(`Error in plugin "${Z.name}" onError hook:`,Y)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort(($,Z)=>($.priority??100)-(Z.priority??100))}async runHooks($,Z){let Y={...Z};for(let J of this.sortedPlugins){let X=J[$];if(X)try{let Q=await X(Y);if(Q){if(Q.template!==void 0)Y.template=Q.template;if(Q.context)Y.context={...Y.context,...Q.context};if(Q.metadata)Y.metadata={...Y.metadata,...Q.metadata};if(Q.skip)break}}catch(Q){console.error(`Error in plugin "${J.name}" ${$} hook:`,Q)}}return Y}async runDirectiveHooks($,Z,Y){let J={...Y};for(let X of this.sortedPlugins){let Q=X[$];if(Q)try{let G=await Q(Z,J);if(G){if(G.template!==void 0)J.template=G.template;if(G.context)J.context={...J.context,...G.context};if(G.metadata)J.metadata={...J.metadata,...G.metadata};if(G.skip)break}}catch(G){console.error(`Error in plugin "${X.name}" ${$} hook:`,G)}}return J}}function Fq($,Z,Y={}){return{name:$,...Y,registerDirectives:()=>Z}}function Vq($,Z,Y={}){return{name:$,...Y,registerFilters:()=>Z}}function Rq($){return x4({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(Z){return{context:{...Z.context,...$}}}})}var Lq,wq,Aq;var B2=b(()=>{Lq=new v3;wq=x4({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)}}),Aq=x4({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 Y=performance.now()-Z;console.log(`[stx-timing] Processing took ${Y.toFixed(2)}ms`)}}})});var O2={};a(O2,{validateConfig:()=>Dq,loadStxConfig:()=>j1,defineStxConfig:()=>Iq,defaultConfig:()=>n1,config:()=>f3});import x3 from"fs";import y0 from"path";import{loadConfigWithResult as Nq}from"bunfig";function Mq($,Z){let Y=Z||"pages";if($)return{root:$,pagesDir:Y};let J=y0.join(process.cwd(),"resources","views"),X=y0.join(process.cwd(),"resources","layouts");if(x3.existsSync(J)&&x3.existsSync(X))return{root:"resources",pagesDir:"views"};let Q=y0.join(process.cwd(),"resources","views","pages");if(x3.existsSync(Q))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}function Tq($){if(J9($.stateDir),$.stateDir=C5(),$.cachePath=v5($.cachePath),$.build)$.build.cacheDir=v5($.build.cacheDir);if($.media?.cache)$.media.cache.directory=v5($.media.cache.directory);if($.story)$.story.outDir=v5($.story.outDir)}async function j1($){if(!$){if(F5)return F5;if(f4)return f4}let Z=$?y0.resolve($):process.cwd(),Y=H2.get(Z);if(Y)return Y;let J=(async()=>{let Q=(await Nq({name:"stx",alias:"ui",cwd:Z,defaultConfig:n1,verbose:!1})).config;Tq(Q);let G=Mq(Q.root,Q.pagesDir);if(Q.root=G.root,Q.pagesDir=G.pagesDir,Q.root&&Q.root!=="."){let K=Q.root;if(Q.partialsDir&&!y0.isAbsolute(Q.partialsDir))Q.partialsDir=y0.join(K,Q.partialsDir);if(Q.componentsDir&&!y0.isAbsolute(Q.componentsDir))Q.componentsDir=y0.join(K,Q.componentsDir);if(Q.layoutsDir&&!y0.isAbsolute(Q.layoutsDir))Q.layoutsDir=y0.join(K,Q.layoutsDir)}if(Q.plugins&&Q.plugins.length>0){let{pluginManager:K}=await Promise.resolve().then(() => (B2(),_2)),W=[],q=[];for(let z of Q.plugins){let U=typeof z==="string"?z:z[0],j=typeof z==="string"?{}:z[1]||{};try{let _,B;try{_=await import(U),B=y0.dirname(_0.resolve(U))}catch{let L=y0.resolve(process.cwd(),U);_=await import(L),B=y0.dirname(L)}let H=_.default||_;if(K.register(H,Q),H.components){let L=y0.resolve(B,H.components);W.push(L)}if(H.pages){let L=y0.resolve(B,H.pages),V=j.path||"/";q.push({dir:L,prefix:V})}if(H.setup){let L={addDirective:(V)=>{Q.customDirectives=Q.customDirectives||[],Q.customDirectives.push(V)},addRoute:(V,O)=>{Q.apiRoutes=Q.apiRoutes||{},Q.apiRoutes[V]=O},addMiddleware:(V)=>{Q.middleware=Q.middleware||[],Q.middleware.push(V)},pluginDir:B,config:Q};await H.setup(j,L)}console.log(`[stx] Plugin loaded: ${H.name||U}`)}catch(_){console.warn(`[stx] Failed to load plugin ${U}:`,_.message)}}Q._pluginComponentDirs=W,Q._pluginPageDirs=q}return Q})();if(H2.set(Z,J),!$)f4=J,J.then((X)=>{F5=X}).catch(()=>{});return J}function Iq($){return $}function Dq($){let Z=[],Y=[];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 J=["auto","manual","sections"];if(!J.includes($.streaming.strategy))Z.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${J.join(", ")}`,severity:"error"})}}if($.i18n){if($.i18n.format!==void 0){let J=["json","yaml","yml","js"];if(!J.includes($.i18n.format))Z.push({path:"i18n.format",message:`i18n.format must be one of: ${J.join(", ")}`,severity:"error"})}}if($.animation){if($.animation.defaultDuration!==void 0){if(typeof $.animation.defaultDuration!=="number"||$.animation.defaultDuration<0)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 J=["AA","AAA"];if(!J.includes($.a11y.level))Z.push({path:"a11y.level",message:`a11y.level must be one of: ${J.join(", ")}`,severity:"error"})}}if($.hydration){if($.hydration.mode!==void 0){let J=["progressive","islands"];if(!J.includes($.hydration.mode))Z.push({path:"hydration.mode",message:`hydration.mode must be one of: ${J.join(", ")}`,severity:"error"})}if($.hydration.preload!==void 0){let J=["none","eager","lazy"];if(!J.includes($.hydration.preload))Z.push({path:"hydration.preload",message:`hydration.preload must be one of: ${J.join(", ")}`,severity:"error"})}}if($.customDirectives)if(!Array.isArray($.customDirectives))Z.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else $.customDirectives.forEach((J,X)=>{if(!J.name||typeof J.name!=="string")Z.push({path:`customDirectives[${X}].name`,message:"Custom directive must have a name string",severity:"error"});if(!J.handler||typeof J.handler!=="function")Z.push({path:`customDirectives[${X}].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((J,X)=>{if(!J.name||typeof J.name!=="string")Z.push({path:`middleware[${X}].name`,message:"Middleware must have a name string",severity:"error"});if(!J.handler||typeof J.handler!=="function")Z.push({path:`middleware[${X}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!J.timing||!["before","after"].includes(J.timing))Z.push({path:`middleware[${X}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if($.debug===!0&&$.cache===!0)Y.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)Y.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 J=["fullscreen","standalone","minimal-ui","browser"];if(!J.includes($.pwa.manifest.display))Z.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${J.join(", ")}`,severity:"error"})}if($.pwa.manifest?.orientation!==void 0){let J=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!J.includes($.pwa.manifest.orientation))Z.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${J.join(", ")}`,severity:"error"})}if($.pwa.routes){let J=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];$.pwa.routes.forEach((X,Q)=>{if(!X.pattern||typeof X.pattern!=="string")Z.push({path:`pwa.routes[${Q}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!J.includes(X.strategy))Z.push({path:`pwa.routes[${Q}].strategy`,message:`PWA route strategy must be one of: ${J.join(", ")}`,severity:"error"});if(X.maxAgeSeconds!==void 0&&(typeof X.maxAgeSeconds!=="number"||X.maxAgeSeconds<0))Z.push({path:`pwa.routes[${Q}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(X.maxEntries!==void 0&&(typeof X.maxEntries!=="number"||X.maxEntries<1))Z.push({path:`pwa.routes[${Q}].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((X)=>typeof X!=="number"||X<16||X>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 J=["any","maskable","monochrome"];if($.pwa.icons.purpose.filter((Q)=>!J.includes(Q)).length>0)Z.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${J.join(", ")}`,severity:"error"})}if($.pwa.enabled===!0&&!$.pwa.icons?.src)Y.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)Y.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:Z.length===0,errors:Z,warnings:Y}}var n1,F5=null,H2,f4=null,f3;var o1=b(()=>{j7();_7();B7();H7();a7();IZ();E3();tZ();C3();x5();j2();n1={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:X5,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:t8,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:U2,hasEndTag:!1,description:"Include a web component in the template"},G9,K9,q2,z2,W9,z9,U9,q9,H9,F9,TZ,D3,...aZ],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}};H2=new Map;f3=new Proxy(n1,{get($,Z){if(F5&&Z in F5)return F5[Z];if(!f4)j1().catch((Y)=>{console.warn("[stx] Failed to load config file:",Y?.message||Y)});return $[Z]}})});var R2={};a(R2,{resetCssCache:()=>vq,resetCrosswindCache:()=>xq,rebuildCrosswindCSS:()=>fq,loadCrosswindConfig:()=>u3,loadCrosswind:()=>d3,injectCrosswindCSS:()=>z$,getCrosswindServeAsset:()=>bq,getCachedCSS:()=>gq,generateCrosswindCSS:()=>A2,extractClassNames:()=>w2,buildCrosswindCSS:()=>V2});import J0 from"path";import{hasLocalConfig as Eq}from"bunfig/discovery";function h4($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function g3($,Z){if(_1.has($))_1.delete($);else if(_1.size>=F2)_1.delete(_1.keys().next().value);_1.set($,Z)}function kq($){let Z=h4($);if($1.has(Z))$1.delete(Z);else if($1.size>=F2)$1.delete($1.keys().next().value);return $1.set(Z,$),Z}function bq($){let Z=$1.get($);if(Z===void 0)return;return $1.delete($),$1.set($,Z),Z}async function Sq($){if(!T1)return null;try{let Z=Bun.file(J0.join(T1,`cw-${h4($)}.css`));if(!await Z.exists())return null;return await Z.text()}catch{return null}}async function yq($,Z){if(!T1)return;try{if(!fs.existsSync(T1))fs.mkdirSync(T1,{recursive:!0});await Bun.write(J0.join(T1,`cw-${h4($)}.css`),Z)}catch{}}async function L2($){try{let Z=await import($);if(Z&&Z.CSSGenerator)return{CSSGenerator:Z.CSSGenerator,config:Z.config,build:Z.build,defaultConfig:Z.defaultConfig,extractClasses:Z.extractClasses}}catch{}return null}function Pq(){let $=[],Z=process.cwd();while(Z!==J0.dirname(Z))$.push(J0.join(Z,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(J0.join(Z,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(J0.join(Z,"pantry","@cwcss","crosswind","dist","index.js")),$.push(J0.join(Z,"pantry","@cwcss","crosswind","src","index.ts")),$.push(J0.join(Z,"node_modules","@stacksjs","crosswind","dist","index.js")),$.push(J0.join(Z,"pantry","@stacksjs","crosswind","dist","index.js")),Z=J0.dirname(Z);return $}function Cq(){let $=[],Z=process.env.HOME||process.env.USERPROFILE||"";if(Z){let Y=[J0.join(Z,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),J0.join(Z,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),J0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),J0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),J0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),J0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...Y)}return $.push(J0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),$.push(J0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),$}async function d3(){if(h3)return Q1;h3=!0;try{let $=async(X)=>{for(let Q of X){if(!await Bun.file(Q).exists())continue;let G=await L2(Q);if(G){if(!process.env.STACKS_DEV_QUIET)console.log(`${O0.green}[Crosswind]${O0.reset} CSS engine loaded from ${J0.dirname(J0.dirname(Q))}`);return G}}return null};if(process.env.CROSSWIND_SRC){let X=J0.resolve(process.env.CROSSWIND_SRC),Q=await $([X]);if(!Q)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${X}`);return Q1=Q,Q1}let Z=await $(Pq());if(Z)return Q1=Z,Q1;let Y=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let X of Y){let Q=await L2(X);if(Q){if(Q1=Q,!process.env.STACKS_DEV_QUIET)console.log(`${O0.green}[Crosswind]${O0.reset} CSS engine loaded`);return Q1}}let J=await $(Cq());if(J)return Q1=J,Q1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${O0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${O0.reset}`),console.warn(`${O0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${O0.reset}`),null}}function vq(){_1.clear(),$1.clear()}function xq(){Q1=null,h3=!1,Z1=null,q$="",_1.clear(),$1.clear(),g4=null}async function u3($){try{if(!Eq({name:"crosswind",cwd:$}))return null;let{loadConfigWithResult:Z}=await import("bunfig"),Y=await Z({name:"crosswind",cwd:$,defaultConfig:{},checkEnv:!1,verbose:!1});if(!Y?.path||!Y.config||Object.keys(Y.config).length===0)return null;let J=J0.relative($,Y.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${O0.green}[Crosswind]${O0.reset} Loaded config from ${J||Y.path}`);return Y.config}catch(Z){if(Z instanceof Error&&Z.name==="ConfigNotFoundError")return null;return console.warn(`${O0.yellow}[Crosswind]${O0.reset} Failed to load crosswind config:`,Z instanceof Error?Z.message:Z),null}}async function V2($){if(V5)return q$;V5=!0;try{let Z=await d3();if(!Z||!Z.build)return V5=!1,"";if(!Z1)Z1=await u3($);if(!Z1)return V5=!1,"";let Y=Z.defaultConfig?.theme||{},J=Z1.theme||{},X={...Z.defaultConfig,...Z1,theme:{...Y,...J,extend:{...Y.extend||{},...J.extend||{}}}},Q=performance.now(),G=await Z.build(X),K=performance.now()-Q;if(q$=G.css,console.log(`${O0.cyan}[Crosswind]${O0.reset} Built ${G.classes.size} classes in ${K.toFixed(1)}ms`),X.output){let W=J0.isAbsolute(X.output)?X.output:J0.join($,X.output),q=J0.dirname(W);if(!fs.existsSync(q))fs.mkdirSync(q,{recursive:!0});await Bun.write(W,G.css)}return V5=!1,G.css}catch(Z){return console.error(`${O0.red}[Crosswind]${O0.reset} Build error:`,Z),V5=!1,q$}}async function fq($){Z1=null,await V2($)}function gq(){return q$}function w2($){let Z=new Set,Y=/class\s*=\s*["']([^"']+)["']/gi,J=Y.exec($);while(J!==null){for(let G of J[1].split(/\s+/))if(G.trim())Z.add(G.trim());J=Y.exec($)}let X=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,Q=X.exec($);while(Q!==null){let G=Q[1].match(/'([^']+)'/g);if(G){for(let K of G)for(let W of K.slice(1,-1).split(/\s+/))if(W.trim())Z.add(W.trim())}Q=X.exec($)}return Z}async function A2($,Z){try{let Y=await d3();if(!Y)return"";let J=typeof Y.extractClasses==="function"?Y.extractClasses($):w2($);if(J.size===0)return"";let X=Z?J0.resolve(Z):process.cwd();if(!T1)T1=L1(X,"cache");let Q=[...J].sort().join(" "),G=`${g4||"default"}::${Q}`,K=_1.get(G);if(K!==void 0)return g3(G,K),K;let W=await Sq(G);if(W!==null)return g3(G,W),W;if(!Z1){let A=null;try{let{loadStxConfig:R}=await Promise.resolve().then(() => (o1(),O2)),N=await R(X);if(N.css)if(typeof N.css==="string"){let M=J0.isAbsolute(N.css)?N.css:J0.resolve(X,N.css);if(await Bun.file(M).exists()){let T=await import(M);A=T.default||T,console.log(`${O0.green}[Crosswind]${O0.reset} Loaded config from stx.config.ts \u2192 ${N.css}`)}}else{if(A={...N.css,content:N.css.content||[],preflight:N.css.preflight??!0,minify:N.css.minify??!1},N.css.config){let M=J0.isAbsolute(N.css.config)?N.css.config:J0.resolve(X,N.css.config);if(await Bun.file(M).exists()){let T=await import(M);A={...T.default||T,...A}}}console.log(`${O0.green}[Crosswind]${O0.reset} Using inline CSS config from stx.config.ts`)}}catch{}Z1=A||await u3(X);try{g4=h4(JSON.stringify(Z1??{}))}catch{g4="unhashable"}}let q=Y.defaultConfig||Y.config,z=Z1||{},U=q.theme||{},_=(z.theme||{}).extend||{},B={...U};if(Object.keys(_).length>0)B.extend=_;let H=[...q.safelist||[],...z.safelist||[]],L={...q,...z,content:[],output:"",preflight:!0,minify:!1,theme:B,safelist:H},V=new Y.CSSGenerator(L);for(let A of H)V.generate(A);for(let A of J)V.generate(A);let O=V.toCSS(!0,!1),F=L.shortcuts||z.shortcuts||{};for(let[A,R]of Object.entries(F)){if(!J.has(A)&&!H.includes(A))continue;let N=R.split(/\s+/).filter(Boolean);for(let M of N)V.generate(M)}O=V.toCSS(!0,!1);let w=O.split(`
|
|
8261
8261
|
`);for(let[A,R]of Object.entries(F)){if(!J.has(A)&&!H.includes(A))continue;let N=R.split(/\s+/).filter(Boolean),M=[],T=[];for(let I of N){let E=I.startsWith("dark:"),S=`.${(E?I.slice(5):I).replace(/\//g,"\\/").replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%")}`;for(let k=0;k<w.length;k++){let v=w[k].trim();if(v===`${S} {`||v.startsWith(`${S} {`)){let g=k,f="";while(g<w.length){if(f+=w[g],w[g].includes("}"))break;g++}let d=f.match(/\{([^}]+)\}/);if(d)if(E)T.push(d[1].trim());else M.push(d[1].trim());break}}}if(M.length)O+=`
|
|
8262
8262
|
.${A} { ${M.join(" ")} }`;if(T.length)O+=`
|
|
8263
|
-
@media (prefers-color-scheme: dark) { .dark .${A} { ${T.join(" ")} } }`}return
|
|
8263
|
+
@media (prefers-color-scheme: dark) { .dark .${A} { ${T.join(" ")} } }`}return g3(G,O),yq(G,O),O}catch(Y){return console.warn("Failed to generate Crosswind CSS:",Y),""}}async function z$($,Z,Y=!1){let J=await A2($,Z);if(!J)return $;let X=Y?`<link data-crosswind="generated" rel="stylesheet" href="/_stx/crosswind.${kq(J)}.css">`:`<style data-crosswind="generated">
|
|
8264
8264
|
${J}
|
|
8265
8265
|
</style>`,Q=/(?:<style\b[^>]*\bdata-crosswind=(?:"generated"|'generated')[^>]*>[\s\S]*?<\/style>|<link\b[^>]*\bdata-crosswind=(?:"generated"|'generated')[^>]*>)/g;if(Q.test($)){let G=!1;return $.replace(Q,()=>{if(G)return"";return G=!0,X})}if($.includes("</head>"))return $.replace("</head>",`${X}
|
|
8266
8266
|
</head>`);if($.includes("<body"))return $.replace(/<body([^>]*)>/,`<body$1>
|
|
8267
|
-
${X}`);return X+$}var
|
|
8267
|
+
${X}`);return X+$}var Q1=null,h3=!1,Z1=null,q$="",V5=!1,F2=256,_1,$1,T1=null,g4=null;var d4=b(()=>{x5();X9();_1=new Map,$1=new Map});function N2(){return`
|
|
8268
8268
|
// STX Lifecycle Runtime
|
|
8269
8269
|
(function() {
|
|
8270
8270
|
if (typeof window === 'undefined') return;
|
|
@@ -8609,7 +8609,7 @@ else {
|
|
|
8609
8609
|
|
|
8610
8610
|
console.log('[stx] Lifecycle runtime initialized');
|
|
8611
8611
|
})();
|
|
8612
|
-
`}function
|
|
8612
|
+
`}function m3($){return Symbol($)}var YV,JV,XV;var M2=b(()=>{YV=m3("theme"),JV=m3("router"),XV=m3("i18n")});import*as I2 from"crypto";function T2($){let Z=/\$(\w+)\./g,Y=[],J;while((J=Z.exec($))!==null)if(!Y.includes(J[1]))Y.push(J[1]);return Y}function hq(){return`stx-${I2.randomBytes(4).toString("hex")}`}function dq($){return/\$\w+\./.test($)}function uq($){let Z=[],Y=new Set,J=/<(\w+)([^>]*?)(\s*\/?>)/g,X=$;return X=X.replace(J,(Q,G,K,W)=>{if(["script","style","template"].includes(G.toLowerCase()))return Q;let q=[],z=!1,U=K,j=/(\w+(?:-\w+)*)\s*=\s*"([^"]*\{\{[^}]*\$\w+[^}]*\}\}[^"]*)"/g,_=[...K.matchAll(j)];for(let L of _){let V=L[0],O=L[1],F=L[2];if(dq(F)){z=!0;let w=F.match(/\{\{\s*([\s\S]+?)\s*\}\}/);if(w){let A=w[1];if(q.push({attr:O,expr:A,fullMatch:V,originalAttr:O}),T2(A).forEach((N)=>Y.add(N)),O==="text")U=U.replace(V,"");else if(O==="class")U=U.replace(V,'class=""');else if(O==="disabled"||O==="hidden")U=U.replace(V,"");else U=U.replace(V,`${O}=""`)}}}if(!z)return Q;let B=U.match(/\bid\s*=\s*"([^"]+)"/),H;if(B)H=B[1];else H=hq(),U=` id="${H}"${U}`;for(let L of q)Z.push({elementId:H,attribute:L.attr,expression:L.expr,stores:T2(L.expr)});return`<${G}${U}${W}`}),{html:X,bindings:Z,stores:Y}}function mq($,Z){if($.length===0)return"";let Y=Array.from(Z),J=`
|
|
8613
8613
|
<script>
|
|
8614
8614
|
(function() {
|
|
8615
8615
|
'use strict';
|
|
@@ -8767,10 +8767,10 @@ else {
|
|
|
8767
8767
|
}
|
|
8768
8768
|
})();
|
|
8769
8769
|
</script>
|
|
8770
|
-
`,J}function
|
|
8770
|
+
`,J}function D2($){let{html:Z,bindings:Y,stores:J}=uq($);if(Y.length===0)return $;let X=mq(Y,J),Q=Z.lastIndexOf("</body>");if(Q!==-1)return Z.slice(0,Q)+X+Z.slice(Q);return Z+X}var E2=()=>{};function pq($){let Z=$.analytics;if(!Z?.enabled)return"";switch(Z.driver){case"fathom":return lq(Z);case"google-analytics":return cq(Z);case"plausible":return iq(Z);case"self-hosted":return nq(Z);case"custom":return oq(Z);default:return""}}function lq($){let Z=$.fathom;if(!Z?.siteId)return"";let Y=Z.scriptUrl||"https://cdn.usefathom.com/script.js",J=Z.defer!==!1?" defer":"",X=[`data-site="${m0(Z.siteId)}"`];if(Z.honorDnt)X.push('data-honor-dnt="true"');if(Z.spa)X.push('data-spa="auto"');if(Z.canonical)X.push(`data-canonical="${m0(Z.canonical)}"`);if(Z.auto===!1)X.push('data-auto="false"');return`
|
|
8771
8771
|
<!-- Fathom Analytics -->
|
|
8772
|
-
<script src="${
|
|
8773
|
-
`}function
|
|
8772
|
+
<script src="${m0(Y)}" ${X.join(" ")}${J}></script>
|
|
8773
|
+
`}function cq($){let Z=$.googleAnalytics;if(!Z?.measurementId)return"";let Y=m0(Z.measurementId),J=Z.debug?`gtag('config', '${Y}', { 'debug_mode': true });`:"";return`
|
|
8774
8774
|
<!-- Google Analytics -->
|
|
8775
8775
|
<script async src="https://www.googletagmanager.com/gtag/js?id=${Y}"></script>
|
|
8776
8776
|
<script>
|
|
@@ -8780,10 +8780,10 @@ else {
|
|
|
8780
8780
|
gtag('config', '${Y}');
|
|
8781
8781
|
${J}
|
|
8782
8782
|
</script>
|
|
8783
|
-
`}function
|
|
8783
|
+
`}function iq($){let Z=$.plausible;if(!Z?.domain)return"";let Y=Z.scriptUrl||"https://plausible.io/js/script.js",J=[`data-domain="${m0(Z.domain)}"`],X=Y,Q=[];if(Z.trackLocalhost)Q.push("local");if(Z.hashMode)Q.push("hash");if(Q.length>0&&Y==="https://plausible.io/js/script.js")X=`https://plausible.io/js/script.${Q.join(".")}.js`;return`
|
|
8784
8784
|
<!-- Plausible Analytics -->
|
|
8785
|
-
<script defer data-domain="${
|
|
8786
|
-
`}function
|
|
8785
|
+
<script defer data-domain="${m0(Z.domain)}" src="${m0(X)}"></script>
|
|
8786
|
+
`}function nq($){let Z=$.selfHosted;if(!Z?.siteId||!Z?.apiEndpoint)return"";let Y=m0(Z.siteId),J=m0(Z.apiEndpoint),X=Z.honorDnt?'if(n.doNotTrack==="1")return;':"",Q=Z.trackHashChanges?"w.addEventListener('hashchange',pv);":"",G=Z.trackOutboundLinks?`
|
|
8787
8787
|
d.addEventListener('click',function(e){
|
|
8788
8788
|
var a=e.target.closest('a');
|
|
8789
8789
|
if(a&&a.hostname!==location.hostname){
|
|
@@ -8816,15 +8816,15 @@ else {
|
|
|
8816
8816
|
w.stxAnalytics={track:function(n,v){t('event',{name:n,value:v});}};
|
|
8817
8817
|
})();
|
|
8818
8818
|
</script>
|
|
8819
|
-
`}function
|
|
8819
|
+
`}function oq($){let Z=$.custom;if(!Z)return"";if(Z.inlineScript)return`
|
|
8820
8820
|
<!-- Custom Analytics -->
|
|
8821
8821
|
<script>
|
|
8822
8822
|
${Z.inlineScript}
|
|
8823
8823
|
</script>
|
|
8824
|
-
`;if(!Z.scriptUrl)return"";let Y=[];if(Z.scriptId)Y.push(`id="${
|
|
8824
|
+
`;if(!Z.scriptUrl)return"";let Y=[];if(Z.scriptId)Y.push(`id="${m0(Z.scriptId)}"`);if(Z.attributes)for(let[X,Q]of Object.entries(Z.attributes))Y.push(`${m0(X)}="${m0(Q)}"`);return`
|
|
8825
8825
|
<!-- Custom Analytics -->
|
|
8826
|
-
<script${Y.length>0?` ${Y.join(" ")}`:""} src="${
|
|
8827
|
-
`}function
|
|
8826
|
+
<script${Y.length>0?` ${Y.join(" ")}`:""} src="${m0(Z.scriptUrl)}" defer></script>
|
|
8827
|
+
`}function k2($,Z){let Y=pq(Z);if(!Y)return $;if(!$.includes("</head>")){let J=$.lastIndexOf("</body>");if(J!==-1)return $.slice(0,J)+Y+$.slice(J);return $+Y}return $.replace("</head>",`${Y}</head>`)}function m0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}var b2=()=>{};function P2($){let Z={prevent:!1,stop:!1,once:!1,capture:!1,self:!1,passive:!1,keys:[],systemKeys:[],mouse:null,debounce:null,throttle:null};for(let Y of $){let J=Y.toLowerCase();if(J==="prevent")Z.prevent=!0;else if(J==="stop")Z.stop=!0;else if(J==="once")Z.once=!0;else if(J==="capture")Z.capture=!0;else if(J==="self")Z.self=!0;else if(J==="passive")Z.passive=!0;else if(sq.has(J))Z.systemKeys.push(J);else if(J in C2)Z.mouse=J;else if(J in y2||/^[a-z]$/.test(J))Z.keys.push(y2[J]||J.toUpperCase());else if(J.startsWith("debounce")){let X=J.match(/debounce(?:\.(\d+))?/);Z.debounce=X?.[1]?Number.parseInt(X[1],10):300}else if(J.startsWith("throttle")){let X=J.match(/throttle(?:\.(\d+))?/);Z.throttle=X?.[1]?Number.parseInt(X[1],10):300}}return Z}function v2($){let Z=[],Y=0,J=/<([a-z][a-z0-9-]*)\s+([^>]*@[a-z][^>]*)>/gi,X;while((X=J.exec($))!==null){let[Q,G,K]=X,W=X.index,q=W+Q.length,z=`__stx_evt_${Y++}`,U=[],j=/@([a-z][a-z0-9.]*)\s*=\s*"([^"]*)"/gi,_;while((_=j.exec(K))!==null){let[,H,L]=_,V=H.split("."),O=V[0];if(!S2.has(O))continue;U.push({attribute:`@${H}`,event:O,handler:L,modifiers:P2(V.slice(1)),elementId:z})}let B=/@([a-z][a-z0-9.]*)\s*=\s*'([^']*)'/gi;while((_=B.exec(K))!==null){let[,H,L]=_,V=H.split("."),O=V[0];if(!S2.has(O))continue;U.push({attribute:`@${H}`,event:O,handler:L,modifiers:P2(V.slice(1)),elementId:z})}if(U.length>0)Z.push({originalTag:Q,elementId:z,events:U,startIndex:W,endIndex:q})}return Z}function rq($){let Z=[],{modifiers:Y}=$;if(Y.self)Z.push("if ($event.target !== $el) return");for(let J of Y.systemKeys)Z.push(`if (!$event.${J}Key) return`);if(Y.keys.length>0){let J=Y.keys.map((X)=>`$event.key === '${X}'`).join(" || ");Z.push(`if (!(${J})) return`)}if(Y.mouse!==null){let J=C2[Y.mouse];Z.push(`if ($event.button !== ${J}) return`)}if(Y.prevent)Z.push("$event.preventDefault()");if(Y.stop)Z.push("$event.stopPropagation()");return Z.join("; ")}function aq($,Z){let Y=$;if(Z.debounce!==null)Y=`__stx_debounce(() => { ${Y} }, ${Z.debounce})`;else if(Z.throttle!==null)Y=`__stx_throttle(() => { ${Y} }, ${Z.throttle})`;return Y}function tq($){let{modifiers:Z}=$,Y=$.elementId.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),J=rq($),X=aq($.handler,Z),Q=[];if(Z.once)Q.push("once: true");if(Z.capture)Q.push("capture: true");if(Z.passive)Q.push("passive: true");let G=Q.length>0?`, { ${Q.join(", ")} }`:"",K=X.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t");if($.event==="mounted")return`
|
|
8828
8828
|
(function() {
|
|
8829
8829
|
var $el = document.getElementById('${Y}');
|
|
8830
8830
|
if (!$el) return;
|
|
@@ -8878,7 +8878,7 @@ else {
|
|
|
8878
8878
|
__stx_runHandler('${K}', $event, $el);
|
|
8879
8879
|
}
|
|
8880
8880
|
}${G});
|
|
8881
|
-
})();`}function
|
|
8881
|
+
})();`}function eq($){if($.length===0)return"";return`
|
|
8882
8882
|
<script data-stx-events>
|
|
8883
8883
|
(function() {
|
|
8884
8884
|
'use strict';
|
|
@@ -8926,11 +8926,11 @@ else {
|
|
|
8926
8926
|
}
|
|
8927
8927
|
|
|
8928
8928
|
// Event listeners
|
|
8929
|
-
${$.flatMap((Y)=>Y.events).map(
|
|
8929
|
+
${$.flatMap((Y)=>Y.events).map(tq).join(`
|
|
8930
8930
|
`)}
|
|
8931
8931
|
})();
|
|
8932
|
-
</script>`}function
|
|
8933
|
-
`+Q.slice(K);else Q+=G;return Q}var
|
|
8932
|
+
</script>`}function $z($){let Z=v2($);if(Z.length===0)return{template:$,bindings:[]};let Y=$,J=[];for(let X=Z.length-1;X>=0;X--){let Q=Z[X],G=Q.originalTag;if(!G.includes(" id="))G=G.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${Q.elementId}"`);else{let K=G.match(/id=["']([^"']+)["']/);if(K)for(let W of Q.events)W.elementId=K[1]}for(let K of Q.events){let W=K.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),q=new RegExp(`\\s*${W}\\s*=\\s*"[^"]*"`,"g"),z=new RegExp(`\\s*${W}\\s*=\\s*'[^']*'`,"g");G=G.replace(q,""),G=G.replace(z,"")}Y=Y.slice(0,Q.startIndex)+G+Y.slice(Q.endIndex),J.push(...Q.events)}return{template:Y,bindings:J}}function x2($,Z,Y){if(/\b(?:state|derived|effect)\s*(?:<[^<>()]*>)?\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:W,bindings:q}=$z($),z=Z.__stx_event_bindings||[];return Z.__stx_event_bindings=[...z,...q],W}let X=v2($);if(X.length===0)return $;let Q=$;for(let W=X.length-1;W>=0;W--){let q=X[W],z=q.originalTag;if(!z.includes(" id="))z=z.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${q.elementId}"`);else{let U=z.match(/id=["']([^"']+)["']/);if(U)for(let j of q.events)j.elementId=U[1]}for(let U of q.events){let j=U.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),_=new RegExp(`\\s*${j}\\s*=\\s*"[^"]*"`,"g"),B=new RegExp(`\\s*${j}\\s*=\\s*'[^']*'`,"g");z=z.replace(_,""),z=z.replace(B,"")}Q=Q.slice(0,q.startIndex)+z+Q.slice(q.endIndex)}let G=eq(X),K=Q.lastIndexOf("</body>");if(K!==-1)Q=Q.slice(0,K)+G+`
|
|
8933
|
+
`+Q.slice(K);else Q+=G;return Q}var S2,y2,sq,C2;var f2=b(()=>{S2=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"]),y2={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"},sq=new Set(["ctrl","alt","shift","meta"]),C2={left:0,middle:1,right:2}});function u4($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function g2($,Z){let Y=$.match(new RegExp(`${Z}\\s*=\\s*"([^"]*)"`,"i"));if(Y)return Y[1];let J=$.match(new RegExp(`${Z}\\s*=\\s*'([^']*)'`,"i"));if(J)return J[1];return null}function Yz($){let Z=[],Y=/<([a-z][a-z0-9-]*)\s+([^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,J;while((J=Y.exec($))!==null){let[X,Q,G]=J,K=J.index,W=g2(G,"x-data");if(!W)continue;let q=`__stx_scope_${d2++}`,z=g2(G,"x-init"),U=Jz($,Q,K+X.length),j=$.slice(K,U.endIndex),_=Xz(j);Z.push({id:q,selector:`[data-stx-scope="${q}"]`,stateExpr:W,initExpr:z,bindings:[],refs:_})}return Z}function Jz($,Z,Y){let J=1,X=Y,Q=new RegExp(`<${Z}(?:\\s|>)`,"gi"),G=new RegExp(`</${Z}>`,"gi"),K=new RegExp(`<${Z}[^>]*/\\s*>`,"gi");while(J>0&&X<$.length){Q.lastIndex=X,G.lastIndex=X,K.lastIndex=X;let W=Q.exec($),q=G.exec($),z=K.exec($);if(z&&z.index<(W?.index??1/0)){X=z.index+z[0].length;continue}if(!q)return{endIndex:$.length};if(W&&W.index<q.index)J++,X=W.index+W[0].length;else{if(J--,J===0)return{endIndex:q.index+q[0].length};X=q.index+q[0].length}}return{endIndex:$.length}}function Xz($){let Z=new Map,Y=$.replace(/x-data\s*=\s*"[^"]*"/gi,'x-data="__stripped__"').replace(/x-data\s*=\s*'[^']*'/gi,"x-data='__stripped__'"),J=/<[a-z][a-z0-9-]*\s+([^>]*x-ref\s*=\s*["']([^"']*)["'][^>]*)>/gi,X;while((X=J.exec(Y))!==null){let[,Q,G]=X,K=Qz(Q);Z.set(G,K)}return Z}function Qz($){let Z=$.match(/\bid\s*=\s*["']([^"']*)["']/);if(Z)return Z[1];return`__stx_el_${Zz++}`}function Gz(){return`
|
|
8934
8934
|
// STX Reactive Runtime - x-cloak and transition CSS
|
|
8935
8935
|
(function() {
|
|
8936
8936
|
var style = document.createElement('style');
|
|
@@ -9137,7 +9137,7 @@ window.__stx_reactive = (function() {
|
|
|
9137
9137
|
|
|
9138
9138
|
return { initScope: initScope, reactive: reactive };
|
|
9139
9139
|
})();
|
|
9140
|
-
`}function
|
|
9140
|
+
`}function h2($,Z){let Y=$.replace(/\{!!([\s\S]*?)!!\}/g,(J,X)=>{try{let Q=i0(X,Z,!0);if(Q===void 0)return J;return String(Q)}catch{return J}});return Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(J,X)=>{try{let Q=i0(X,Z,!0);if(Q===void 0)return J;if(typeof Q==="string"){let G=Q.trim();if(G.startsWith("{")&&G.endsWith("}")||G.startsWith("[")&&G.endsWith("]"))try{return JSON.parse(G),G}catch{}}return JSON.stringify(Q)}catch{return J}}),Y}function Kz($,Z){if($.length===0)return"";let Y=$.map((J)=>{let X=JSON.stringify(Object.fromEntries(J.refs)),Q=h2(J.stateExpr,Z),G=J.initExpr?h2(J.initExpr,Z):null,K=JSON.stringify(Q),W=G?JSON.stringify(G):"null";return`
|
|
9141
9141
|
(function() {
|
|
9142
9142
|
var scopeEl = document.querySelector('${J.selector}');
|
|
9143
9143
|
if (!scopeEl) return;
|
|
@@ -9146,16 +9146,16 @@ window.__stx_reactive = (function() {
|
|
|
9146
9146
|
})();`}).join(`
|
|
9147
9147
|
`);return`
|
|
9148
9148
|
<script data-stx-scoped data-stx-reactive>
|
|
9149
|
-
${
|
|
9149
|
+
${Gz()}
|
|
9150
9150
|
${Y}
|
|
9151
|
-
</script>`}function
|
|
9152
|
-
`+X.slice(G);else X+=Q;return X}function Yq($,Z){let Y=$;for(let J of Z){let Q=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*data-stx-scope="([^"]*)"[^>]*x-data\\s*=\\s*["']${g4(J.stateExpr)}["']`,"gi").exec(Y);if(Q)J.id=Q[1],J.selector=`[data-stx-scope="${J.id}"]`;else{let K=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*x-data\\s*=\\s*["']${g4(J.stateExpr)}["'][^>]*data-stx-scope="([^"]*)"`,"gi").exec(Y);if(K)J.id=K[1],J.selector=`[data-stx-scope="${J.id}"]`;else Y=Y.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*"${g4(J.stateExpr)}")([^>]*>)`,"gi"),`$1data-stx-scope="${J.id}" $2$3$4`),Y=Y.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*'${g4(J.stateExpr)}')([^>]*>)`,"gi"),`$1data-stx-scope="${J.id}" $2$3$4`)}}return Y=Y.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),Y=Y.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),Y=Y.replace(/\s*x-init\s*=\s*"[^"]*"/g,""),Y=Y.replace(/\s*x-init\s*=\s*'[^']*'/g,""),Y}function Jq($){return/x-data\s*=\s*["']/.test($)}var v2=0,sz=0;var f2=b(()=>{J1()});import Xq from"fs";import d3 from"path";import{createHighlighter as Qq}from"ts-syntax-highlighter";async function Gq($,Z={}){try{if(!await c($))throw Error(`Markdown file not found: ${$}`);let J=(await Xq.promises.stat($)).mtime.getTime();if(Z.cache&&u3.has($)){let U=u3.get($);if(U.updatedAt>=J)return{content:U.content,data:U.data}}let X=await Bun.file($).text(),{data:Q,content:G}=L9(X),K=Z.markdown||C3.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},z=v5(G,{gfm:!0});if(K.syntaxHighlighting?.enabled&&K.syntaxHighlighting?.serverSide)z=await Kq(z,K.syntaxHighlighting?.defaultTheme||"github-dark",K.syntaxHighlighting?.highlightUnknownLanguages||!1);let q={content:z,data:Q||{}};if(Z.cache)u3.set($,{...q,updatedAt:J});return q}catch(Y){if(Z.debug)console.error(`Error reading/parsing markdown file ${$}:`,Y);let J=Y instanceof Error?Y.message:String(Y);return{content:q0("Markdown File",`Error reading/parsing markdown file: ${J}`,$,"",0,""),data:{}}}}async function Kq($,Z,Y){let J=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!h4)try{h4=await Qq({theme:Z||"github-dark",cache:!0})}catch(K){return console.error("Failed to initialize ts-syntax-highlighter:",K),$}let X=async(K,W,z,q)=>{let U=q.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'"),j=z||(Y?"text":"");if(!j)return K;try{if(!h4.getSupportedLanguages().includes(j))return K;return(await h4.highlight(U,j,{theme:Z})).html}catch(_){console.error(`Error highlighting code block with language ${z}:`,_)}return K},Q=$,G=$.matchAll(J);for(let K of G){let[W,z,q,U]=K,j=await X(W,z,q,U);Q=Q.replace(W,j)}return Q}async function g2($,Z,Y="",J={}){return await Wq($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(G,K,W,z)=>{try{let q=K;if(!d3.isAbsolute(K))q=d3.resolve(d3.dirname(Y),K);let U={};if(W)try{try{U=JSON.parse(W)}catch{if(J.debug)console.warn("Using safer alternative for parsing JS object literal");let O=W.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let F of O){let w=F.indexOf(":");if(w>0){let A=F.substring(0,w).trim(),R=F.substring(w+1).trim(),N=R.startsWith('"')&&R.endsWith('"'),M=R.startsWith("'")&&R.endsWith("'");if(N||M)R=R.substring(1,R.length-1);U[A]=R}}}}catch(V){if(J.debug)console.error("Error parsing context in @markdown-file directive:",V)}let{content:j,data:_}=await Gq(q,J),B={...Z,..._,...U},H=j,L=/\{\{([^}]+)\}\}/g;return H=H.replace(L,(V,O)=>{let F=O.trim();return B[F]!==void 0?String(B[F]):V}),H}catch(q){let U=q instanceof Error?q.message:String(q);return q0("Markdown File",`Error including markdown file: ${U}`,Y,$,z,G)}})}async function Wq($,Z,Y){let J=[],X;while((X=Z.exec($))!==null){let K=X[0],W=X.index,z=X;J.push(Y(...z).then((q)=>({match:K,replacement:q,index:W})))}let Q=await Promise.all(J);Q.sort((K,W)=>W.index-K.index);let G=$;for(let{match:K,replacement:W}of Q)G=G.replace(K,()=>W);return G}var u3,h4=null;var h2=b(()=>{i1();N0();u3=new Map});function T1($,Z){try{let Y=$.trim();if(K0(Y))return W0(Y,Object.keys(Z))(...Object.values(Z));else return $0(Y,Z)}catch{return!1}}var d2=b(()=>{w0()});function zq($,Z,Y){let J=$,X=!0;while(X){X=!1;let Q=J.match(/@switch\s*\(/);if(!Q||Q.index===void 0)break;let G=Q.index,K=S7(J,G);if(!K)break;try{let W;if(K0(K.expression))W=W0(K.expression,Object.keys(Z))(...Object.values(Z));else W=$0(K.expression,Z);let z="",q=!1;for(let U of K.cases)if(U.type==="default"){if(!q)z=U.content.trim()}else try{let j;if(U.value&&K0(U.value))j=W0(U.value,Object.keys(Z))(...Object.values(Z));else if(U.value)j=$0(U.value,Z);if(W===j){z=U.content.trim(),q=!0;break}}catch{continue}J=J.substring(0,G)+z+J.substring(K.end),X=!0}catch(W){let z=W instanceof Error?W.message:String(W),q=e("Switch",`Error evaluating @switch expression: ${z}`,s.EVALUATION_ERROR);J=J.substring(0,G)+q+J.substring(K.end);break}}return J}function n1($,Z,Y){let J=$;J=zq(J,Z,Y);{let Q=!0;while(Q){Q=!1;let G=J.match(/@unless\s*\(/);if(!G||G.index===void 0)break;let K=G.index,W=R1(J,K+7);if(!W)break;let z=W.endPos,q=h1(J,"unless","endunless",z);if(q===-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=J.slice(z,q),j=W.expression,_=-1;{let H=0,L=/@(?:if|unless)\s*\(/g,V=/@(?:endif|endunless)(?![a-z])/g,O=/@else(?![a-z])/g,F=[],w;while((w=L.exec(U))!==null)F.push({pos:w.index,type:"open"});while((w=V.exec(U))!==null)F.push({pos:w.index,type:"close"});while((w=O.exec(U))!==null)F.push({pos:w.index,type:"else"});F.sort((A,R)=>A.pos-R.pos);for(let A of F)if(A.type==="open")H++;else if(A.type==="close")H--;else if(A.type==="else"&&H===0){_=A.pos;break}}let B;if(_!==-1){let H=U.slice(0,_),L=U.slice(_+5);B=`@if (${j})${L}@else ${H}@endif`}else B=`@if (!(${j}))${U}@endif`;J=J.substring(0,K)+B+J.substring(q+10),Q=!0}}J=p3(J,Z,Y),J=l3(J,Z,Y),J=m3(J,Z);let X=()=>{let Q=a5(J);if(Q.length===0)return!1;for(let G=Q.length-1;G>=0;G--){let K=Q[G];try{let W="",z=!1;for(let q of K.branches){if(z)break;if(q.type==="else")W=q.content,z=!0;else try{let U;if(q.condition&&K0(q.condition))U=W0(q.condition,Object.keys(Z))(...Object.values(Z));else if(q.condition)U=$0(q.condition,Z);if(U)W=q.content,z=!0}catch(U){W=e(q.type==="if"?"If":"Elseif",`Error in @${q.type}(${q.condition}): ${U instanceof Error?U.message:String(U)}`,s.EVALUATION_ERROR),z=!0}}J=J.substring(0,K.start)+W+J.substring(K.end)}catch(W){let z=W instanceof Error?W.message:String(W),q=e("If",`Error processing @if block: ${z}`,s.EVALUATION_ERROR);J=J.substring(0,K.start)+q+J.substring(K.end)}}return!0};while(!0){let Q=J;if(!X())break;if(J===Q)break}return J}function u2($){let Z=0;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return null;Z++;while(Z<$.length&&/\s/.test($[Z]))Z++;let Y=$[Z];if(Y!=="'"&&Y!=='"')return null;Z++;let J=[];while(Z<$.length){let X=$[Z];if(X==="\\"&&Z+1<$.length){J.push($[Z+1]),Z+=2;continue}if(X===Y){Z++;break}J.push(X),Z++}while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!==")")return null;return Z++,{value:J.join(""),consumed:Z}}function m3($,Z){let Y=$;function J(K,W,z,q){let U=1,j=q,_=new RegExp(`@${W}(?:\\s*\\(|\\s|$)`,"g"),B=new RegExp(`@${z}(?![a-z])`,"g");while(j<K.length&&U>0){_.lastIndex=j,B.lastIndex=j;let H=_.exec(K),L=B.exec(K),V=H?H.index:1/0,O=L?L.index:1/0;if(V<O)U++,j=V+H[0].length;else if(O<1/0){if(U--,U===0)return O;j=O+L[0].length}else break}return-1}function X(K,W,z){let q=0,U=new RegExp(`@${W}(?:\\s*\\(|\\s|$)`,"g"),j=new RegExp(`@${z}(?![a-z])`,"g"),_=/@else(?![a-z])/g,B=[],H;while((H=U.exec(K))!==null)B.push({pos:H.index,type:"open"});while((H=j.exec(K))!==null)B.push({pos:H.index,type:"close"});while((H=_.exec(K))!==null)B.push({pos:H.index,type:"else"});B.sort((L,V)=>L.pos-V.pos);for(let L of B)if(L.type==="open")q++;else if(L.type==="close")q--;else if(L.type==="else"&&q===0)return L.pos;return-1}{let K=!0;while(K){K=!1;let W=Y.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!W||W.index===void 0)break;let z=W.index,q,U,j=Y.slice(z+5),_=u2(j);if(_)q=_.value,U=z+5+_.consumed;else U=z+5;let B=J(Y,"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 H=Y.slice(U,B),L=X(H,"auth","endauth"),V;if(!Z.auth)V=!1;else V=q?T1(`auth?.check && auth?.user?.[${q}]`,Z):T1("auth?.check",Z);let O;if(L!==-1){let F=H.slice(0,L),w=H.slice(L+5);O=V?F:w}else O=V?H:"";Y=Y.substring(0,z)+O+Y.substring(B+8),K=!0}}{let K=!0;while(K){K=!1;let W=Y.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!W||W.index===void 0)break;let z=W.index,q,U,j=Y.slice(z+6),_=u2(j);if(_)q=_.value,U=z+6+_.consumed;else U=z+6;let B=J(Y,"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 H=Y.slice(U,B),L=X(H,"guest","endguest"),V;if(!Z.auth)V=!0;else V=q?T1(`!auth?.check || !auth?.user?.[${q}]`,Z):T1("!auth?.check",Z);let O;if(L!==-1){let F=H.slice(0,L),w=H.slice(L+5);O=V?F:w}else O=V?H:"";Y=Y.substring(0,z)+O+Y.substring(B+9),K=!0}}function Q(K,W,z){if(Z.userCan&&typeof Z.userCan[K]==="boolean")return Z.userCan[K];if(Z.permissions?.check&&typeof Z.permissions.check==="function")try{let q=[K];if(W)q.push(W);if(z){let U=T1(z,Z);q.push(U)}return Z.permissions.check(...q)}catch{return!1}return!1}function G(K){let W=K.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!W)return null;return{ability:W[1],type:W[2],id:W[3]?.trim(),paramsEnd:W[0].length}}for(let K of["can","cannot"]){let W=`end${K}`,z=K==="can"?"elsecan":"elsecannot",q=!0;while(q){q=!1;let U=Y.match(new RegExp(`@${K}\\s*\\(`));if(!U||U.index===void 0)break;let j=U.index,_=Y.slice(j+`@${K}`.length),B=G(_);if(!B)break;let H=j+`@${K}`.length+B.paramsEnd,L=J(Y,K,W,H);if(L===-1){console.warn(`[stx] @${K} directive at position ${j} has no matching @${W} \u2014 the block was skipped.`);break}let V=Y.slice(H,L),O=[],F=0,w=new RegExp(`@${K}\\s*\\(`,"g"),A=new RegExp(`@${W}(?![a-z])`,"g"),R=new RegExp(`@${z}\\s*\\(`,"g"),N=/@else(?![a-z])/g,M=[],T;while((T=w.exec(V))!==null)M.push({pos:T.index,type:"open"});while((T=A.exec(V))!==null)M.push({pos:T.index,type:"close"});while((T=R.exec(V))!==null)M.push({pos:T.index,type:"elseDirective"});while((T=N.exec(V))!==null)M.push({pos:T.index,type:"else"});M.sort((k,v)=>k.pos-v.pos);for(let k of M){if(k.type==="open"){F++;continue}if(k.type==="close"){F--;continue}if(F===0)O.push(k)}let I=[],E=0;for(let k=0;k<O.length;k++){let v=O[k];if(I.push({content:V.slice(E,v.pos),ability:void 0}),v.type==="elseDirective"){let g=V.slice(v.pos+`@${z}`.length),f=G(g);if(f){I[I.length-1]={content:V.slice(E,v.pos)},E=v.pos+`@${z}`.length+f.paramsEnd,I.push({content:"",ability:f.ability,type:f.type,id:f.id}),I.pop();let d=O[k+1],p=d?d.pos:V.length;I.push({content:V.slice(E,p),ability:f.ability,type:f.type,id:f.id}),E=p}}else E=v.pos+5}if(E<V.length){let k=I[I.length-1];if(O.length>0&&O[O.length-1].type==="else")I.push({content:V.slice(E),isFinalElse:!0});else if(I.length===0)I.push({content:V.slice(E)})}let D=Q(B.ability,B.type,B.id),y=K==="can"?D:!D,S="";if(y)S=I[0]?.content||"";else{let k=!1;for(let v=1;v<I.length;v++){let g=I[v];if(g.isFinalElse){S=g.content,k=!0;break}if(g.ability){let f=Q(g.ability,g.type,g.id);if(K==="can"?f:!f){S=g.content,k=!0;break}}}if(!k&&I.length>0){let v=I[I.length-1];if(v.isFinalElse)S=v.content}}Y=Y.substring(0,j)+S+Y.substring(L+`@${W}`.length),q=!0}}return Y}function p3($,Z,Y){let J=$;function X(Q,G,K,W,z){let q=!0;while(q){q=!1;let U=new RegExp(`@${G}\\s*\\(`),j=Q.match(U);if(!j||j.index===void 0)break;let _=j.index,B=R1(Q,_+`@${G}`.length);if(!B)break;let H=B.endPos,L=h1(Q,G,K,H);if(L===-1){console.warn(`[stx] @${G} directive at position ${_} has no matching @${K} \u2014 the block was skipped.`);break}let V=Q.slice(H,L),O=B.expression,F=-1,w=0,A=0;while(A<V.length){let R=V.indexOf("@",A);if(R===-1)break;let N=V.substring(R);if(/^@(?:if|unless|isset|empty)\s*\(/.test(N)){w++,A=R+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(N)){w--,A=R+1;continue}if(w===0&&/^@else(?![a-z])/.test(N)){F=R;break}A=R+1}try{let R=W(O.trim()),N;if(F!==-1){let M=V.slice(0,F),T=V.slice(F+5);N=R?M:T}else N=R?V:"";Q=Q.substring(0,_)+N+Q.substring(L+`@${K}`.length),q=!0}catch(R){let N=R instanceof Error?R.message:String(R),M=e(z,`Error processing @${G} directive: ${N}`,s.EVALUATION_ERROR);Q=Q.substring(0,_)+M+Q.substring(L+`@${K}`.length);break}}return Q}return J=X(J,"isset","endisset",(Q)=>{let G=T1(Q,Z);return G!==void 0&&G!==null},"Isset"),J=X(J,"empty","endempty",(Q)=>{let G=T1(Q,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"),J}function l3($,Z,Y){let J=$,X="development";function Q(G,K,W,z){let q=new RegExp(`@${K}(?![a-z])`,"g"),U=new RegExp(`@${W}(?![a-z])`,"g"),j=new RegExp(`^@${K}(?![a-z])`),_=new RegExp(`^@${W}(?![a-z])`),B=G,H=!0;while(H){H=!1,q.lastIndex=0;let L=q.exec(B);if(!L)break;let V=L.index,O=V+L[0].length;if(K==="env"){let D=B.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!D)break;O+=D[0].length,z=X===D[2]}let F=1,w=O,A=-1;while(F>0&&w<B.length){q.lastIndex=w,U.lastIndex=w;let D=q.exec(B),y=U.exec(B),S=D?D.index:1/0,k=y?y.index:1/0;if(S<k)F++,w=S+D[0].length;else if(k<1/0){if(F--,F===0){A=k;break}w=k+y[0].length}else break}if(A===-1){console.warn(`[stx] @${K} directive at position ${V} has no matching @${W} \u2014 the block was skipped.`);break}let R=B.substring(O,A),N=-1,M=0,T=0;while(T<R.length){let D=R.indexOf("@",T);if(D===-1)break;let y=R.substring(D);if(j.test(y)){M++,T=D+1;continue}if(_.test(y)){M--,T=D+1;continue}if(M===0&&/^@else(?![a-z])/.test(y)){N=D;break}T=D+1}let I;if(N!==-1){let D=R.slice(0,N),y=R.slice(N+5);I=z?D:y}else I=z?R:"";let E=`@${W}`.length;B=B.substring(0,V)+I+B.substring(A+E),H=!0}return B}return J=Q(J,"env","endenv",!1),J=Q(J,"production","endproduction",X==="production"),J=Q(J,"development","enddevelopment",X==="development"),J=Q(J,"staging","endstaging",X==="staging"),J=Q(J,"testing","endtesting",X==="testing"),J}var d4=b(()=>{d2();q1();f$();w0()});function p2($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function u4($,Z){if(!$)return Z?.nonceGenerator?.()??p2();let Y=m2.get($);if(!Y)Y=Z?.nonceGenerator?.()??p2(),m2.set($,Y);return Y}function qq($,Z){let Y=[];for(let[J,X]of Object.entries($)){if(X===void 0||X===null)continue;if(typeof X==="boolean"){if(X)Y.push(J);continue}if(Array.isArray(X)){let Q=[...X];if(Z&&(J==="script-src"||J==="style-src"))Q=Q.filter((G)=>!G.startsWith("'nonce-")),Q.push(`'nonce-${Z}'`);if(Q.length>0)Y.push(`${J} ${Q.join(" ")}`)}}return Y.join("; ")}function l2($,Z){return`<meta http-equiv="Content-Security-Policy" content="${qq($,Z).replace(/&/g,"&").replace(/"/g,""")}">`}function c2($,Z,Y){if(!Z.enabled||!Z.addMetaTag)return $;if($.includes('http-equiv="Content-Security-Policy"'))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let J=Z.useNonce?u4(Y,Z):void 0,X=l2(Z.directives,J);return $.replace(/<head([^>]*)>/,`<head$1>
|
|
9153
|
-
${X}`)}function
|
|
9154
|
-
${
|
|
9155
|
-
${
|
|
9156
|
-
`),J=[{obj:Z,indent:-1}];for(let X of Y){let Q=X.replace(/#.*$/,"").trimEnd();if(!Q.trim())continue;let G=Q.search(/\S/);if(G===-1)continue;while(J.length>1&&J[J.length-1].indent>=G)J.pop();let K=J[J.length-1].obj,W=Q.match(/^(\s*)(\S[^:]*):\s*(.*)$/);if(W){let[,,z
|
|
9151
|
+
</script>`}function u2($,Z,Y){if(d2=0,!qz($))return $;let J=Yz($);if(J.length===0)return $;let X=Wz($,J),Q=Kz(J,Z),G=X.lastIndexOf("</body>");if(G!==-1)X=X.slice(0,G)+Q+`
|
|
9152
|
+
`+X.slice(G);else X+=Q;return X}function Wz($,Z){let Y=$;for(let J of Z){let Q=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*data-stx-scope="([^"]*)"[^>]*x-data\\s*=\\s*["']${u4(J.stateExpr)}["']`,"gi").exec(Y);if(Q)J.id=Q[1],J.selector=`[data-stx-scope="${J.id}"]`;else{let K=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*x-data\\s*=\\s*["']${u4(J.stateExpr)}["'][^>]*data-stx-scope="([^"]*)"`,"gi").exec(Y);if(K)J.id=K[1],J.selector=`[data-stx-scope="${J.id}"]`;else Y=Y.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*"${u4(J.stateExpr)}")([^>]*>)`,"gi"),`$1data-stx-scope="${J.id}" $2$3$4`),Y=Y.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*'${u4(J.stateExpr)}')([^>]*>)`,"gi"),`$1data-stx-scope="${J.id}" $2$3$4`)}}return Y=Y.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),Y=Y.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),Y=Y.replace(/\s*x-init\s*=\s*"[^"]*"/g,""),Y=Y.replace(/\s*x-init\s*=\s*'[^']*'/g,""),Y}function qz($){return/x-data\s*=\s*["']/.test($)}var d2=0,Zz=0;var m2=b(()=>{X1()});import zz from"fs";import p3 from"path";import{createHighlighter as Uz}from"ts-syntax-highlighter";async function jz($,Z={}){try{if(!await c($))throw Error(`Markdown file not found: ${$}`);let J=(await zz.promises.stat($)).mtime.getTime();if(Z.cache&&l3.has($)){let U=l3.get($);if(U.updatedAt>=J)return{content:U.content,data:U.data}}let X=await Bun.file($).text(),{data:Q,content:G}=w9(X),K=Z.markdown||f3.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},q=f5(G,{gfm:!0});if(K.syntaxHighlighting?.enabled&&K.syntaxHighlighting?.serverSide)q=await _z(q,K.syntaxHighlighting?.defaultTheme||"github-dark",K.syntaxHighlighting?.highlightUnknownLanguages||!1);let z={content:q,data:Q||{}};if(Z.cache)l3.set($,{...z,updatedAt:J});return z}catch(Y){if(Z.debug)console.error(`Error reading/parsing markdown file ${$}:`,Y);let J=Y instanceof Error?Y.message:String(Y);return{content:U0("Markdown File",`Error reading/parsing markdown file: ${J}`,$,"",0,""),data:{}}}}async function _z($,Z,Y){let J=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!m4)try{m4=await Uz({theme:Z||"github-dark",cache:!0})}catch(K){return console.error("Failed to initialize ts-syntax-highlighter:",K),$}let X=async(K,W,q,z)=>{let U=z.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'"),j=q||(Y?"text":"");if(!j)return K;try{if(!m4.getSupportedLanguages().includes(j))return K;return(await m4.highlight(U,j,{theme:Z})).html}catch(_){console.error(`Error highlighting code block with language ${q}:`,_)}return K},Q=$,G=$.matchAll(J);for(let K of G){let[W,q,z,U]=K,j=await X(W,q,z,U);Q=Q.replace(W,j)}return Q}async function p2($,Z,Y="",J={}){return await Bz($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(G,K,W,q)=>{try{let z=K;if(!p3.isAbsolute(K))z=p3.resolve(p3.dirname(Y),K);let U={};if(W)try{try{U=JSON.parse(W)}catch{if(J.debug)console.warn("Using safer alternative for parsing JS object literal");let O=W.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let F of O){let w=F.indexOf(":");if(w>0){let A=F.substring(0,w).trim(),R=F.substring(w+1).trim(),N=R.startsWith('"')&&R.endsWith('"'),M=R.startsWith("'")&&R.endsWith("'");if(N||M)R=R.substring(1,R.length-1);U[A]=R}}}}catch(V){if(J.debug)console.error("Error parsing context in @markdown-file directive:",V)}let{content:j,data:_}=await jz(z,J),B={...Z,..._,...U},H=j,L=/\{\{([^}]+)\}\}/g;return H=H.replace(L,(V,O)=>{let F=O.trim();return B[F]!==void 0?String(B[F]):V}),H}catch(z){let U=z instanceof Error?z.message:String(z);return U0("Markdown File",`Error including markdown file: ${U}`,Y,$,q,G)}})}async function Bz($,Z,Y){let J=[],X;while((X=Z.exec($))!==null){let K=X[0],W=X.index,q=X;J.push(Y(...q).then((z)=>({match:K,replacement:z,index:W})))}let Q=await Promise.all(J);Q.sort((K,W)=>W.index-K.index);let G=$;for(let{match:K,replacement:W}of Q)G=G.replace(K,()=>W);return G}var l3,m4=null;var l2=b(()=>{o1();M0();l3=new Map});function I1($,Z){try{let Y=$.trim();if(W0(Y))return q0(Y,Object.keys(Z))(...Object.values(Z));else return Z0(Y,Z)}catch{return!1}}var c2=b(()=>{A0()});function Hz($,Z,Y){let J=$,X=!0;while(X){X=!1;let Q=J.match(/@switch\s*\(/);if(!Q||Q.index===void 0)break;let G=Q.index,K=C7(J,G);if(!K)break;try{let W;if(W0(K.expression))W=q0(K.expression,Object.keys(Z))(...Object.values(Z));else W=Z0(K.expression,Z);let q="",z=!1;for(let U of K.cases)if(U.type==="default"){if(!z)q=U.content.trim()}else try{let j;if(U.value&&W0(U.value))j=q0(U.value,Object.keys(Z))(...Object.values(Z));else if(U.value)j=Z0(U.value,Z);if(W===j){q=U.content.trim(),z=!0;break}}catch{continue}J=J.substring(0,G)+q+J.substring(K.end),X=!0}catch(W){let q=W instanceof Error?W.message:String(W),z=$0("Switch",`Error evaluating @switch expression: ${q}`,s.EVALUATION_ERROR);J=J.substring(0,G)+z+J.substring(K.end);break}}return J}function s1($,Z,Y){let J=$;J=Hz(J,Z,Y);{let Q=!0;while(Q){Q=!1;let G=J.match(/@unless\s*\(/);if(!G||G.index===void 0)break;let K=G.index,W=N1(J,K+7);if(!W)break;let q=W.endPos,z=u1(J,"unless","endunless",q);if(z===-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=J.slice(q,z),j=W.expression,_=-1;{let H=0,L=/@(?:if|unless)\s*\(/g,V=/@(?:endif|endunless)(?![a-z])/g,O=/@else(?![a-z])/g,F=[],w;while((w=L.exec(U))!==null)F.push({pos:w.index,type:"open"});while((w=V.exec(U))!==null)F.push({pos:w.index,type:"close"});while((w=O.exec(U))!==null)F.push({pos:w.index,type:"else"});F.sort((A,R)=>A.pos-R.pos);for(let A of F)if(A.type==="open")H++;else if(A.type==="close")H--;else if(A.type==="else"&&H===0){_=A.pos;break}}let B;if(_!==-1){let H=U.slice(0,_),L=U.slice(_+5);B=`@if (${j})${L}@else ${H}@endif`}else B=`@if (!(${j}))${U}@endif`;J=J.substring(0,K)+B+J.substring(z+10),Q=!0}}J=i3(J,Z,Y),J=n3(J,Z,Y),J=c3(J,Z);let X=()=>{let Q=$$(J);if(Q.length===0)return!1;for(let G=Q.length-1;G>=0;G--){let K=Q[G];try{let W="",q=!1;for(let z of K.branches){if(q)break;if(z.type==="else")W=z.content,q=!0;else try{let U;if(z.condition&&W0(z.condition))U=q0(z.condition,Object.keys(Z))(...Object.values(Z));else if(z.condition)U=Z0(z.condition,Z);if(U)W=z.content,q=!0}catch(U){W=$0(z.type==="if"?"If":"Elseif",`Error in @${z.type}(${z.condition}): ${U instanceof Error?U.message:String(U)}`,s.EVALUATION_ERROR),q=!0}}J=J.substring(0,K.start)+W+J.substring(K.end)}catch(W){let q=W instanceof Error?W.message:String(W),z=$0("If",`Error processing @if block: ${q}`,s.EVALUATION_ERROR);J=J.substring(0,K.start)+z+J.substring(K.end)}}return!0};while(!0){let Q=J;if(!X())break;if(J===Q)break}return J}function i2($){let Z=0;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return null;Z++;while(Z<$.length&&/\s/.test($[Z]))Z++;let Y=$[Z];if(Y!=="'"&&Y!=='"')return null;Z++;let J=[];while(Z<$.length){let X=$[Z];if(X==="\\"&&Z+1<$.length){J.push($[Z+1]),Z+=2;continue}if(X===Y){Z++;break}J.push(X),Z++}while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!==")")return null;return Z++,{value:J.join(""),consumed:Z}}function c3($,Z){let Y=$;function J(K,W,q,z){let U=1,j=z,_=new RegExp(`@${W}(?:\\s*\\(|\\s|$)`,"g"),B=new RegExp(`@${q}(?![a-z])`,"g");while(j<K.length&&U>0){_.lastIndex=j,B.lastIndex=j;let H=_.exec(K),L=B.exec(K),V=H?H.index:1/0,O=L?L.index:1/0;if(V<O)U++,j=V+H[0].length;else if(O<1/0){if(U--,U===0)return O;j=O+L[0].length}else break}return-1}function X(K,W,q){let z=0,U=new RegExp(`@${W}(?:\\s*\\(|\\s|$)`,"g"),j=new RegExp(`@${q}(?![a-z])`,"g"),_=/@else(?![a-z])/g,B=[],H;while((H=U.exec(K))!==null)B.push({pos:H.index,type:"open"});while((H=j.exec(K))!==null)B.push({pos:H.index,type:"close"});while((H=_.exec(K))!==null)B.push({pos:H.index,type:"else"});B.sort((L,V)=>L.pos-V.pos);for(let L of B)if(L.type==="open")z++;else if(L.type==="close")z--;else if(L.type==="else"&&z===0)return L.pos;return-1}{let K=!0;while(K){K=!1;let W=Y.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!W||W.index===void 0)break;let q=W.index,z,U,j=Y.slice(q+5),_=i2(j);if(_)z=_.value,U=q+5+_.consumed;else U=q+5;let B=J(Y,"auth","endauth",U);if(B===-1){console.warn(`[stx] @auth directive at position ${q} has no matching @endauth \u2014 the block was skipped.`);break}let H=Y.slice(U,B),L=X(H,"auth","endauth"),V;if(!Z.auth)V=!1;else V=z?I1(`auth?.check && auth?.user?.[${z}]`,Z):I1("auth?.check",Z);let O;if(L!==-1){let F=H.slice(0,L),w=H.slice(L+5);O=V?F:w}else O=V?H:"";Y=Y.substring(0,q)+O+Y.substring(B+8),K=!0}}{let K=!0;while(K){K=!1;let W=Y.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!W||W.index===void 0)break;let q=W.index,z,U,j=Y.slice(q+6),_=i2(j);if(_)z=_.value,U=q+6+_.consumed;else U=q+6;let B=J(Y,"guest","endguest",U);if(B===-1){console.warn(`[stx] @guest directive at position ${q} has no matching @endguest \u2014 the block was skipped.`);break}let H=Y.slice(U,B),L=X(H,"guest","endguest"),V;if(!Z.auth)V=!0;else V=z?I1(`!auth?.check || !auth?.user?.[${z}]`,Z):I1("!auth?.check",Z);let O;if(L!==-1){let F=H.slice(0,L),w=H.slice(L+5);O=V?F:w}else O=V?H:"";Y=Y.substring(0,q)+O+Y.substring(B+9),K=!0}}function Q(K,W,q){if(Z.userCan&&typeof Z.userCan[K]==="boolean")return Z.userCan[K];if(Z.permissions?.check&&typeof Z.permissions.check==="function")try{let z=[K];if(W)z.push(W);if(q){let U=I1(q,Z);z.push(U)}return Z.permissions.check(...z)}catch{return!1}return!1}function G(K){let W=K.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!W)return null;return{ability:W[1],type:W[2],id:W[3]?.trim(),paramsEnd:W[0].length}}for(let K of["can","cannot"]){let W=`end${K}`,q=K==="can"?"elsecan":"elsecannot",z=!0;while(z){z=!1;let U=Y.match(new RegExp(`@${K}\\s*\\(`));if(!U||U.index===void 0)break;let j=U.index,_=Y.slice(j+`@${K}`.length),B=G(_);if(!B)break;let H=j+`@${K}`.length+B.paramsEnd,L=J(Y,K,W,H);if(L===-1){console.warn(`[stx] @${K} directive at position ${j} has no matching @${W} \u2014 the block was skipped.`);break}let V=Y.slice(H,L),O=[],F=0,w=new RegExp(`@${K}\\s*\\(`,"g"),A=new RegExp(`@${W}(?![a-z])`,"g"),R=new RegExp(`@${q}\\s*\\(`,"g"),N=/@else(?![a-z])/g,M=[],T;while((T=w.exec(V))!==null)M.push({pos:T.index,type:"open"});while((T=A.exec(V))!==null)M.push({pos:T.index,type:"close"});while((T=R.exec(V))!==null)M.push({pos:T.index,type:"elseDirective"});while((T=N.exec(V))!==null)M.push({pos:T.index,type:"else"});M.sort((k,v)=>k.pos-v.pos);for(let k of M){if(k.type==="open"){F++;continue}if(k.type==="close"){F--;continue}if(F===0)O.push(k)}let I=[],E=0;for(let k=0;k<O.length;k++){let v=O[k];if(I.push({content:V.slice(E,v.pos),ability:void 0}),v.type==="elseDirective"){let g=V.slice(v.pos+`@${q}`.length),f=G(g);if(f){I[I.length-1]={content:V.slice(E,v.pos)},E=v.pos+`@${q}`.length+f.paramsEnd,I.push({content:"",ability:f.ability,type:f.type,id:f.id}),I.pop();let d=O[k+1],p=d?d.pos:V.length;I.push({content:V.slice(E,p),ability:f.ability,type:f.type,id:f.id}),E=p}}else E=v.pos+5}if(E<V.length){let k=I[I.length-1];if(O.length>0&&O[O.length-1].type==="else")I.push({content:V.slice(E),isFinalElse:!0});else if(I.length===0)I.push({content:V.slice(E)})}let D=Q(B.ability,B.type,B.id),y=K==="can"?D:!D,S="";if(y)S=I[0]?.content||"";else{let k=!1;for(let v=1;v<I.length;v++){let g=I[v];if(g.isFinalElse){S=g.content,k=!0;break}if(g.ability){let f=Q(g.ability,g.type,g.id);if(K==="can"?f:!f){S=g.content,k=!0;break}}}if(!k&&I.length>0){let v=I[I.length-1];if(v.isFinalElse)S=v.content}}Y=Y.substring(0,j)+S+Y.substring(L+`@${W}`.length),z=!0}}return Y}function i3($,Z,Y){let J=$;function X(Q,G,K,W,q){let z=!0;while(z){z=!1;let U=new RegExp(`@${G}\\s*\\(`),j=Q.match(U);if(!j||j.index===void 0)break;let _=j.index,B=N1(Q,_+`@${G}`.length);if(!B)break;let H=B.endPos,L=u1(Q,G,K,H);if(L===-1){console.warn(`[stx] @${G} directive at position ${_} has no matching @${K} \u2014 the block was skipped.`);break}let V=Q.slice(H,L),O=B.expression,F=-1,w=0,A=0;while(A<V.length){let R=V.indexOf("@",A);if(R===-1)break;let N=V.substring(R);if(/^@(?:if|unless|isset|empty)\s*\(/.test(N)){w++,A=R+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(N)){w--,A=R+1;continue}if(w===0&&/^@else(?![a-z])/.test(N)){F=R;break}A=R+1}try{let R=W(O.trim()),N;if(F!==-1){let M=V.slice(0,F),T=V.slice(F+5);N=R?M:T}else N=R?V:"";Q=Q.substring(0,_)+N+Q.substring(L+`@${K}`.length),z=!0}catch(R){let N=R instanceof Error?R.message:String(R),M=$0(q,`Error processing @${G} directive: ${N}`,s.EVALUATION_ERROR);Q=Q.substring(0,_)+M+Q.substring(L+`@${K}`.length);break}}return Q}return J=X(J,"isset","endisset",(Q)=>{let G=I1(Q,Z);return G!==void 0&&G!==null},"Isset"),J=X(J,"empty","endempty",(Q)=>{let G=I1(Q,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"),J}function n3($,Z,Y){let J=$,X="development";function Q(G,K,W,q){let z=new RegExp(`@${K}(?![a-z])`,"g"),U=new RegExp(`@${W}(?![a-z])`,"g"),j=new RegExp(`^@${K}(?![a-z])`),_=new RegExp(`^@${W}(?![a-z])`),B=G,H=!0;while(H){H=!1,z.lastIndex=0;let L=z.exec(B);if(!L)break;let V=L.index,O=V+L[0].length;if(K==="env"){let D=B.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!D)break;O+=D[0].length,q=X===D[2]}let F=1,w=O,A=-1;while(F>0&&w<B.length){z.lastIndex=w,U.lastIndex=w;let D=z.exec(B),y=U.exec(B),S=D?D.index:1/0,k=y?y.index:1/0;if(S<k)F++,w=S+D[0].length;else if(k<1/0){if(F--,F===0){A=k;break}w=k+y[0].length}else break}if(A===-1){console.warn(`[stx] @${K} directive at position ${V} has no matching @${W} \u2014 the block was skipped.`);break}let R=B.substring(O,A),N=-1,M=0,T=0;while(T<R.length){let D=R.indexOf("@",T);if(D===-1)break;let y=R.substring(D);if(j.test(y)){M++,T=D+1;continue}if(_.test(y)){M--,T=D+1;continue}if(M===0&&/^@else(?![a-z])/.test(y)){N=D;break}T=D+1}let I;if(N!==-1){let D=R.slice(0,N),y=R.slice(N+5);I=q?D:y}else I=q?R:"";let E=`@${W}`.length;B=B.substring(0,V)+I+B.substring(A+E),H=!0}return B}return J=Q(J,"env","endenv",!1),J=Q(J,"production","endproduction",X==="production"),J=Q(J,"development","enddevelopment",X==="development"),J=Q(J,"staging","endstaging",X==="staging"),J=Q(J,"testing","endtesting",X==="testing"),J}var p4=b(()=>{c2();U1();d$();A0()});function o2($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function l4($,Z){if(!$)return Z?.nonceGenerator?.()??o2();let Y=n2.get($);if(!Y)Y=Z?.nonceGenerator?.()??o2(),n2.set($,Y);return Y}function Oz($,Z){let Y=[];for(let[J,X]of Object.entries($)){if(X===void 0||X===null)continue;if(typeof X==="boolean"){if(X)Y.push(J);continue}if(Array.isArray(X)){let Q=[...X];if(Z&&(J==="script-src"||J==="style-src"))Q=Q.filter((G)=>!G.startsWith("'nonce-")),Q.push(`'nonce-${Z}'`);if(Q.length>0)Y.push(`${J} ${Q.join(" ")}`)}}return Y.join("; ")}function s2($,Z){return`<meta http-equiv="Content-Security-Policy" content="${Oz($,Z).replace(/&/g,"&").replace(/"/g,""")}">`}function r2($,Z,Y){if(!Z.enabled||!Z.addMetaTag)return $;if($.includes('http-equiv="Content-Security-Policy"'))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let J=Z.useNonce?l4(Y,Z):void 0,X=s2(Z.directives,J);return $.replace(/<head([^>]*)>/,`<head$1>
|
|
9153
|
+
${X}`)}function a2($,Z){let Y=$;return Y=Y.replace(/<script(?![^>]*\ssrc=)([^>]*)>/gi,(J,X)=>{if(X.includes("nonce="))return J;return`<script nonce="${Z}"${X}>`}),Y=Y.replace(/<style([^>]*)>/gi,(J,X)=>{if(X.includes("nonce="))return J;return`<style nonce="${Z}"${X}>`}),Y}function t2($,Z,Y,J){let X=$,Q=J.csp;if(X=X.replace(/@csp\b/g,()=>{if(!Q?.enabled||!Q.directives)return"<!-- CSP not configured -->";let G=Q.useNonce?l4(Z,Q):void 0;return s2(Q.directives,G)}),X=X.replace(/@cspNonce\b/g,()=>{if(!Q?.enabled||!Q.useNonce)return"";return l4(Z,Q)}),Q?.enabled&&Q.useNonce)Z.cspNonce=l4(Z,Q);return X}var n2;var e2=b(()=>{n2=new WeakMap});import Lz from"crypto";function Vz($=Fz){let Z=Lz.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return o3=Z,Z}function wz(){if(!o3)Vz();return o3}function Az($=$Y){let Z=wz();return`<input type="hidden" name="${$}" value="${Z}">`}function ZY($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(Z,Y,J)=>{return Az(J||$Y)})}var Fz=40,$Y="_token",o3=null;var YY=()=>{};async function JY($,Z,Y,J){if(!J.customDirectives||J.customDirectives.length===0)return $;let X=$;for(let Q of J.customDirectives){if(!Q.name||typeof Q.handler!=="function"){if(J.debug)console.warn("Invalid custom directive:",Q);continue}if(Q.hasEndTag)X=await Rz(X,Q,Z,Y,J);else X=await Nz(X,Q,Z,Y,J)}return X}async function Rz($,Z,Y,J,X){let{name:Q,handler:G}=Z,K=`@${Q}`,W=`@end${Q}`,q=$,z=z5(`${K}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${W}`,"g"),U=[],j=z.exec(q);while(j!==null){let[_,B="",H=""]=j,L=j.index||0;try{let V=B?XY(B):[],O=H.trim(),F=await G(O,V,Y,J);U.push({original:_,processed:F,startIndex:L})}catch(V){let O=V instanceof Error?V.message:String(V);if(X.debug)console.error(`Error processing custom directive @${Q}:`,V);U.push({original:_,processed:$0("CustomDirective",`Error in @${Q}${B?`(${B})`:""}: ${O}`,s.EVALUATION_ERROR),startIndex:L})}j=z.exec(q)}for(let _=U.length-1;_>=0;_--){let{original:B,processed:H}=U[_];q=q.replace(B,H)}return q}async function Nz($,Z,Y,J,X){let{name:Q,handler:G}=Z,K=$,W=z5(`@${Q}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),q=[],z=W.exec(K);while(z!==null){let[_,B=""]=z,H=z.index||0;try{let L=XY(B),V=await G("",L,Y,J);q.push({original:_,processed:V,startIndex:H})}catch(L){let V=L instanceof Error?L.message:String(L);if(X.debug)console.error(`Error processing custom directive @${Q}:`,L);q.push({original:_,processed:$0("CustomDirective",`Error in @${Q}(${B}): ${V}`,s.EVALUATION_ERROR),startIndex:H})}z=W.exec(K)}let U=z5(`@${Q}(?!\\w)(?!\\s*\\()`,"g"),j=U.exec(K);while(j!==null){let[_]=j,B=j.index||0;try{let H=await G("",[],Y,J);q.push({original:_,processed:H,startIndex:B})}catch(H){let L=H instanceof Error?H.message:String(H);if(X.debug)console.error(`Error processing custom directive @${Q}:`,H);q.push({original:_,processed:$0("CustomDirective",`Error in @${Q}: ${L}`,s.EVALUATION_ERROR),startIndex:B})}j=U.exec(K)}for(let _=q.length-1;_>=0;_--){let{original:B,processed:H}=q[_];K=K.replace(B,H)}return K}function XY($){if(!$.trim())return[];let Z=[],Y="",J=!1,X="";for(let Q=0;Q<$.length;Q++){let G=$[Q];if((G==='"'||G==="'")&&(Q===0||$[Q-1]!=="\\"))if(!J)J=!0,X=G;else if(G===X)J=!1;else Y+=G;else if(G===","&&!J)Z.push(Y.trim()),Y="";else Y+=G}if(Y.trim())Z.push(Y.trim());return Z.map((Q)=>{let G=Q.trim();if(G.startsWith('"')&&G.endsWith('"')||G.startsWith("'")&&G.endsWith("'"))return G.substring(1,G.length-1);return G})}var QY=b(()=>{U1();U5()});function r1($,Z){if(typeof $!=="string"||$.length===0)throw Error(`@appearanceBootstrap ${Z} must be a non-empty string`)}function Tz($){if(!$||typeof $!=="object"||Array.isArray($))throw Error("@appearanceBootstrap expects an options object");let Z=$,Y=Z.appearance,J=Z.colorMode;if(r1(Z.storageKey,"storageKey"),!Y||typeof Y!=="object"||Array.isArray(Y))throw Error("@appearanceBootstrap appearance must be an object");if(!J||typeof J!=="object"||Array.isArray(J))throw Error("@appearanceBootstrap colorMode must be an object");if(r1(Y.key,"appearance.key"),r1(Y.attribute,"appearance.attribute"),r1(Y.default,"appearance.default"),r1(J.key,"colorMode.key"),r1(J.attribute,"colorMode.attribute"),r1(J.default,"colorMode.default"),!KY.test(Y.key)||!KY.test(J.key))throw Error("@appearanceBootstrap preference keys must be JavaScript property names");if(!GY.test(Y.attribute)||!GY.test(J.attribute))throw Error("@appearanceBootstrap attributes must be lowercase data attribute names");if(!Array.isArray(Y.allowed)||Y.allowed.length===0||Y.allowed.some((X)=>typeof X!=="string"||X.length===0))throw Error("@appearanceBootstrap appearance.allowed must contain one or more strings");if(!Y.allowed.includes(Y.default))throw Error("@appearanceBootstrap appearance.default must be in appearance.allowed");if(!Mz.has(J.default))throw Error("@appearanceBootstrap colorMode.default must be light, dark, or system");return{storageKey:Z.storageKey,appearance:{key:Y.key,attribute:Y.attribute,allowed:[...new Set(Y.allowed)],default:Y.default},colorMode:{key:J.key,attribute:J.attribute,default:J.default}}}function Iz($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function Dz($){return`<script data-stx-scoped data-stx-appearance-bootstrap>(function(){"use strict";const config=${Iz($)};const root=document.documentElement;let stored={};try{const raw=localStorage.getItem(config.storageKey);const parsed=raw?JSON.parse(raw):{};if(parsed&&typeof parsed==="object"&&!Array.isArray(parsed))stored=parsed}catch{}const selectedAppearance=config.appearance.allowed.includes(stored[config.appearance.key])?stored[config.appearance.key]:config.appearance.default;const selectedMode=["light","dark","system"].includes(stored[config.colorMode.key])?stored[config.colorMode.key]:config.colorMode.default;root.setAttribute("data-"+config.appearance.attribute,selectedAppearance);root.setAttribute("data-"+config.colorMode.attribute,selectedMode);let dark=selectedMode==="dark";if(selectedMode==="system"){try{dark=matchMedia("(prefers-color-scheme: dark)").matches}catch{dark=false}}root.classList.toggle("dark",dark);root.dataset.theme=dark?"dark":"light"}());</script>`}function Ez($,Z){let Y=1,J=null,X=!1;for(let Q=Z+1;Q<$.length;Q++){let G=$[Q];if(X){X=!1;continue}if(J){if(G==="\\")X=!0;else if(G===J)J=null;continue}if(G==='"'||G==="'"||G==="`"){J=G;continue}if(G==="(")Y++;else if(G===")"&&--Y===0)return Q}return-1}function WY($,Z){let Y=$,J=/@appearanceBootstrap\s*\(/g,X;while((X=J.exec(Y))!==null){let Q=X.index+X[0].length-1,G=Ez(Y,Q);if(G===-1)throw Error("@appearanceBootstrap has an unclosed options object");let K=Y.slice(Q+1,G).trim(),W=Z0(`(${K})`,Z),q=Dz(Tz(W));Y=Y.slice(0,X.index)+q+Y.slice(G+1),J.lastIndex=X.index+q.length}return Y}var GY,KY,Mz;var qY=b(()=>{A0();GY=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,KY=/^[A-Za-z_$][\w$]*$/,Mz=new Set(["light","dark","system"])});import kz from"crypto";function I0($){return String($??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function c4($,Z,Y,J){let X=$||Z;return Y?`${X} ${J}`:X}function bz(){return kz.randomUUID()}function i4($,Z){let Y=$;return Y=Y.replace(/@csrf/g,()=>{if(!Z.csrf||typeof Z.csrf!=="object"){let J=bz();Z.csrf={token:J}}if(Z.csrf.field)return Z.csrf.field;if(Z.csrf.token)return`<input type="hidden" name="_token" value="${I0(Z.csrf.token)}">`;return'<input type="hidden" name="_token" value="">'}),Y=Y.replace(/@method\(['"]([^'"]+)['"]\)/g,(J,X)=>{let Q=X.toUpperCase();if(X&&!["GET","POST"].includes(Q))return`<input type="hidden" name="_method" value="${I0(Q)}">`;return J}),Y}function jY($,Z,Y=UY){let J=$;return J=J.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(X,Q,G,K,W,q="")=>{let z=Q||G||"POST",U=K||W||"",j=D1(q),_=z.toUpperCase(),B=["GET","POST"].includes(_)?_:"POST",H=`<form method="${I0(B)}" action="${I0(U)}"${j?` ${j}`:""}>`;if(H+=`
|
|
9154
|
+
${i4("@csrf",Z)}`,!["GET","POST"].includes(_))H+=`
|
|
9155
|
+
${i4(`@method('${_}')`,Z)}`;return H}),J=J.replace(/@endform/g,"</form>"),J=J.replace(/@input\(\s*(?:'([^']+)'|"([^"]+)")\s*(?:,\s*(?:(?:'([^']*)'|"([^"]*)")\s*)?)?(?:,\s*\{([^}]+)\})?\s*\)/g,(X,Q,G,K,W,q="")=>{let z=Q||G||"",U=K||W||"",j=D1(q),_=U$(z,Z),B=_!==void 0&&_!==null?_:U||"",H=j.match(/type=['"]([^'"]+)['"]/i),L=H?H[1]:"text",V=j$(z,Z),O=j.match(/class=['"]([^'"]+)['"]/i),F=c4(O?O[1]:"",Y.input,V,Y.inputError),w=j.replace(/class=['"][^'"]+['"]/i,"");return w=w.replace(/type=['"][^'"]+['"]/i,""),`<input type="${I0(L)}" name="${I0(z)}" value="${I0(B)}" class="${F}"${w?` ${w}`:""}>`}),J=J.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(X,Q,G="",K="")=>{let W=D1(G),q=U$(Q,Z)||K.trim(),z=j$(Q,Z),U=W.match(/class=['"]([^'"]+)['"]/i),j=c4(U?U[1]:"",Y.input,z,Y.inputError),_=W.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${I0(Q)}" class="${j}"${_?` ${_}`:""}>${I0(q)}</textarea>`}),J=J.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(X,Q,G="",K)=>{let W=D1(G),q=U$(Q,Z),z=j$(Q,Z),U=W.match(/class=['"]([^'"]+)['"]/i),j=c4(U?U[1]:"",Y.input,z,Y.inputError),_=W.replace(/class=['"][^'"]+['"]/i,""),B=K;if(q!==void 0)B=K.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(H,L,V)=>{if((Array.isArray(q)?q.some((F)=>String(F)===V):String(q)===V)&&!L.includes("selected"))return L.replace(/(<option)/,"$1 selected");return H});return`<select name="${I0(Q)}" class="${j}"${_?` ${_}`:""}>${B}</select>`}),J=J.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(X,Q,G="1",K="")=>{let W=D1(K),q=U$(Q,Z),z=q!==void 0&&(Array.isArray(q)?q.some((B)=>String(B)===G):q===!0||String(q)===G),U=W.match(/class=['"]([^'"]+)['"]/i),j=U?U[1]:Y.checkInput,_=W.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${I0(Q)}" value="${I0(G)}" class="${j}"${z?" checked":""}${_?` ${_}`:""}>`}),J=J.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(X,Q,G,K="")=>{let W=D1(K),q=U$(Q,Z),z=q!==void 0&&q===G,U=W.match(/class=['"]([^'"]+)['"]/i),j=U?U[1]:Y.checkInput,_=W.replace(/class=['"][^'"]+['"]/i,"");return`<input type="radio" name="${I0(Q)}" value="${I0(G)}" class="${j}"${z?" checked":""}${_?` ${_}`:""}>`}),J=J.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(X,Q,G="")=>{let K=D1(G),W=K.match(/accept=['"]([^'"]+)['"]/i),q=W?W[1]:"",z=K.includes("multiple"),U=j$(Q,Z),j=K.match(/class=['"]([^'"]+)['"]/i),_=c4(j?j[1]:"",Y.input,U,Y.inputError),B=K.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),H=[`<input type="file" name="${I0(Q)}"`,`class="${_}"`];if(q)H.push(`accept="${I0(q)}"`);if(z)H.push("multiple");if(B)H.push(B);return`${H.join(" ")}>`}),J=J.replace(/@label\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endlabel/g,(X,Q,G="",K)=>{let W=D1(G),q=W.match(/class=['"]([^'"]+)['"]/i),z=q?q[1]:Y.label,U=W.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${I0(Q)}" class="${z}"${U?` ${U}`:""}>${K}</label>`}),J}function _Y($,Z,Y=UY){return $.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(J,X,Q)=>{try{if(j$(X,Z))return Q.replace(/\{\{([^}]+)\}\}/g,(G,K)=>{try{if(K.trim()==="$message"||K.trim()==="message")return zY(X,Z);if(K.trim().includes("errors.first")||K.trim().includes("$errors.first")){if(typeof Z.errors?.first==="function")return Z.errors.first(X);return zY(X,Z)}let W=K.trim();if(W0(W)){let q=Z0(W,Z);return q!==void 0?String(q):W}return W}catch{return K}});return""}catch(G){return console.error("Error processing @error directive:",G),J}})}function j$($,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 zY($,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 Y=Z.errors[$];return Array.isArray(Y)?Y[0]:String(Y)}return""}function U$($,Z){let Y;if(Z.old&&typeof Z.old==="function")return Z.old($);if(Z.old&&typeof Z.old==="object")return Z.old[$];if($.endsWith("[]")){let J=$.slice(0,-2);if(Y=Z[J],Y!==void 0)return Y}return Z[$]}function D1($){if(!$.trim())return"";let Z=[],Y=$.trim(),J=/([\w-]+)\s*:\s*(['"]?)([^,'"]*)\2(?:\s*,\s*|\s*$)/g,X;while((X=J.exec(Y))!==null){let[,Q,,G]=X;Z.push(`${Q}="${G.trim()}"`)}return Z.join(" ")}var UY;var BY=b(()=>{A0();UY={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"}});import a3 from"path";async function Sz(){if(_$!==void 0)return _$;try{_$=(await import("@stacksjs/ts-i18n")).loadLocale??null}catch{_$=null}return _$}function yz($,Z=0){if(Z<=0)return!1;return Date.now()-$.loadedAt>Z}async function Pz($,Z){if({...$6,...Z.i18n}.cache&&t3[$]){let X=t3[$],Q=Z.i18n?.cacheMaxAge??0;if(!yz(X,Q))return X.translations}if(B$[$]?.state==="loading")return B$[$].promise;s3[$]="loading";let J=e3($,Z).then((X)=>{return s3[$]="loaded",delete B$[$],X}).catch((X)=>{throw s3[$]="error",B$[$]={promise:J,state:"error",error:X instanceof Error?X:Error(String(X))},X});return B$[$]={promise:J,state:"loading"},J}async function e3($,Z){let Y={...$6,...Z.i18n},J=a3.isAbsolute(Y.translationsDir)?Y.translationsDir:a3.resolve(Z.root||process.cwd(),Y.translationsDir);try{let X=await Sz(),Q=X?await X($,{translationsDir:J,defaultLocale:Y.defaultLocale,sources:gz(Y.format)}):await Cz($,Y,J);if(Q===void 0){if($!==Y.defaultLocale)return e3(Y.defaultLocale,Z);return{}}let G=Q;if(Y.cache)t3[$]={translations:G,loadedAt:Date.now(),locale:$};return G}catch(X){if(Z.debug)console.error(`Error loading translation file for locale "${$}":`,X);if($!==Y.defaultLocale)return e3(Y.defaultLocale,Z);return{}}}async function Cz($,Z,Y){let J=a3.join(Y,`${$}${vz(Z.format)}`);try{let X=await import(J);return X.default||X}catch(X){try{let Q=await Bun.file(J).text();if(Z.format==="yaml"||Z.format==="yml")return xz(Q);if(Z.format==="json")return JSON.parse(Q);throw X}catch{return}}}function vz($){switch($){case"yaml":return".yaml";case"yml":return".yml";case"js":return".js";case"ts":return".ts";case"json":default:return".json"}}function xz($){let Z={},Y=$.split(`
|
|
9156
|
+
`),J=[{obj:Z,indent:-1}];for(let X of Y){let Q=X.replace(/#.*$/,"").trimEnd();if(!Q.trim())continue;let G=Q.search(/\S/);if(G===-1)continue;while(J.length>1&&J[J.length-1].indent>=G)J.pop();let K=J[J.length-1].obj,W=Q.match(/^(\s*)(\S[^:]*):\s*(.*)$/);if(W){let[,,q,z]=W,U=q.trim(),j=z.trim();if(j==="")K[U]={},J.push({obj:K[U],indent:G});else K[U]=fz(j)}}return Z}function fz($){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 Y=Number($);if(!Number.isNaN(Y)&&$!=="")return Y;return $}function gz($){switch($){case"yaml":case"yml":return["yaml"];case"js":case"ts":return["ts"];case"json":default:return["json"]}}async function hz($,Z){return Pz($,Z)}function dz($,Z){for(let Y of $){let J=Y.trim(),X=J.match(/^\{(\d+)\}\s*(.*)$/);if(X){let G=Number.parseInt(X[1],10);if(Z===G)return X[2];continue}let Q=J.match(/^\[(\d+),(\d+|\*)\]\s*(.*)$/);if(Q){let G=Number.parseInt(Q[1],10),K=Q[2]==="*"?Number.POSITIVE_INFINITY:Number.parseInt(Q[2],10);if(Z>=G&&Z<=K)return Q[3];continue}}if($.length===2)return Z===1?$[0].trim():$[1].trim();if(Z<$.length)return $[Z].trim();return $[$.length-1].trim()}function uz($,Z={}){return LY($,Z)}function LY($,Z){let Y="",J=0;while(J<$.length)if($[J]==="{"){let X=mz($,J);if(X===-1){Y+=$[J],J++;continue}let Q=$.slice(J+1,X);Y+=pz(Q,Z),J=X+1}else if($[J]==="'"&&J+1<$.length)if($[J+1]==="'")Y+="'",J+=2;else if($[J+1]==="{"||$[J+1]==="}")Y+=$[J+1],J+=2;else Y+=$[J],J++;else Y+=$[J],J++;return Y}function mz($,Z){let Y=0;for(let J=Z;J<$.length;J++)if($[J]==="{")Y++;else if($[J]==="}"){if(Y--,Y===0)return J}return-1}function pz($,Z){let Y=lz($);if(Y.length===0)return`{${$}}`;let J=Y[0].trim(),X=Z[J];if(Y.length===1)return X!==void 0?String(X):`{${J}}`;switch(Y[1].trim().toLowerCase()){case"plural":return cz(X,Y.slice(2).join(","),Z);case"select":return nz(X,Y.slice(2).join(","));case"selectordinal":return oz(X,Y.slice(2).join(","));case"number":return rz(X,Y[2]?.trim());case"date":return az(X,Y[2]?.trim());case"time":return tz(X,Y[2]?.trim());default:return X!==void 0?String(X):`{${$}}`}}function lz($){let Z=[],Y="",J=0;for(let X=0;X<$.length;X++){let Q=$[X];if(Q==="{")J++,Y+=Q;else if(Q==="}")J--,Y+=Q;else if(Q===","&&J===0)Z.push(Y),Y="";else Y+=Q}if(Y)Z.push(Y);return Z}function cz($,Z,Y){let J=Number($)||0,X=Z6(Z),Q=`=${J}`;if(X[Q])return r3(X[Q],J,Y);let G=iz(J);if(X[G])return r3(X[G],J,Y);if(X.other)return r3(X.other,J,Y);return String(J)}function r3($,Z,Y){let J=$.replace(/#/g,String(Z));return LY(J,Y)}function iz($){let Z=Math.abs($),Y=Math.floor(Z),J=String($).includes(".")?String($).split(".")[1].length:0;if(Y===1&&J===0)return"one";return"other"}function nz($,Z){let Y=String($||""),J=Z6(Z);if(J[Y])return J[Y];return J.other||String($)}function oz($,Z){let Y=Number($)||0,J=Z6(Z),X=sz(Y);if(J[X])return J[X].replace(/#/g,String(Y));if(J.other)return J.other.replace(/#/g,String(Y));return String(Y)}function sz($){let Z=Math.abs($),Y=Z%10,J=Z%100;if(Y===1&&J!==11)return"one";if(Y===2&&J!==12)return"two";if(Y===3&&J!==13)return"few";return"other"}function Z6($){let Z={},Y=/(\w+|=\d+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g,J=Y.exec($);while(J!==null)Z[J[1]]=J[2],J=Y.exec($);return Z}function rz($,Z){let Y=Number($);if(Number.isNaN(Y))return String($);switch(Z){case"integer":return Math.floor(Y).toLocaleString();case"percent":return`${(Y*100).toFixed(0)}%`;case"currency":return Y.toLocaleString(void 0,{style:"currency",currency:"USD"});default:return Y.toLocaleString()}}function az($,Z){let Y=$ instanceof Date?$:new Date(String($));if(Number.isNaN(Y.getTime()))return String($);let J={};switch(Z){case"short":J.dateStyle="short";break;case"medium":J.dateStyle="medium";break;case"long":J.dateStyle="long";break;case"full":J.dateStyle="full";break;default:J.dateStyle="medium"}return Y.toLocaleDateString(void 0,J)}function tz($,Z){let Y=$ instanceof Date?$:new Date(String($));if(Number.isNaN(Y.getTime()))return String($);let J={};switch(Z){case"short":J.timeStyle="short";break;case"medium":J.timeStyle="medium";break;case"long":J.timeStyle="long";break;case"full":J.timeStyle="full";break;default:J.timeStyle="short"}return Y.toLocaleTimeString(void 0,J)}function ez($){return/\{[^}]+,\s*(?:plural|select|selectordinal|number|date|time)\s*,/.test($)}function HY($,Z,Y=!0,J={}){let X=$.split("."),Q=Z;for(let K of X){if(Q===void 0||Q===null)break;Q=Q[K]}if(Q===void 0||Q===null)return Y?$:"";let G=String(Q);if(ez(G))return uz(G,J);if(G.includes("|")&&"count"in J){let K=Number(J.count),W=G.split("|");G=dz(W,K)}for(let[K,W]of Object.entries(J)){let q=K.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");G=G.replace(new RegExp(`:${q}`,"g"),String(W))}return G}async function FY($,Z,Y,J){let X=$,Q=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)([\s\S]*?)@endtranslate/g,G={...$6,...J.i18n},K=await hz(G.locale,J);Z.__translations=K,Z.__locale=G.locale,Z.__i18nConfig=G,X=await OY(X,Q,async(z,U,j,_,B)=>{try{let H={};if(j)try{let V=[()=>JSON.parse(j),()=>{let O=`{"data":${j}}`,F=JSON.parse(O);return typeof F.data==="object"?F.data:{}},()=>{return T0(j,Z)}];for(let O of V)try{if(H=O(),Object.keys(H).length>0)break}catch{}}catch(V){if(J.debug)console.error("Error parsing parameters for @translate directive:",V)}return HY(U,K,G.fallbackToKey,H)||_.trim()}catch(H){if(J.debug)console.error("Error processing @translate directive:",H);return $0("Translate",`Error in @translate('${U}'): ${H instanceof Error?H.message:String(H)}`,s.EVALUATION_ERROR)}});let W=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]+\})\s*)?\)/g;if(J.debug){console.warn(`Processing translations in template. Sections: ${X.includes("<h2>Translation with Parameters</h2>")?"Parameters section found":"Parameters section missing"}`);let z=[...X.matchAll(W)];console.warn(`Found ${z.length} @translate matches`),z.forEach((U,j)=>console.warn(`Match ${j}: ${U[0]}, Key: ${U[1]}, Params: ${U[2]||"none"}`))}return X=await OY(X,/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)/g,async(z,U,j,_)=>{try{let B={};if(j)try{let H=[()=>JSON.parse(j),()=>{let L=`{"data":${j}}`,V=JSON.parse(L);return typeof V.data==="object"?V.data:{}},()=>{return T0(j,Z)}];for(let L of H)try{if(B=L(),Object.keys(B).length>0)break}catch{}}catch(H){if(J.debug)console.error("Error parsing parameters for @translate directive:",H)}return HY(U,K,G.fallbackToKey,B)}catch(B){if(J.debug)console.error("Error processing @translate directive:",B);return $0("Translate",`Error in @translate('${U}'): ${B instanceof Error?B.message:String(B)}`,s.EVALUATION_ERROR)}}),X}async function OY($,Z,Y){let J=[];return $.replace(Z,(Q,...G)=>{let K=Y(Q,...G).then((W)=>({match:Q,replacement:W}));return J.push(K),Q}),(await Promise.all(J)).reduce((Q,{match:G,replacement:K})=>Q.replace(G,K),$)}var _$,$6,t3,B$,s3;var VY=b(()=>{U1();A0();$6={defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},t3={},B$={},s3={}});var X6={};a(X6,{streamingSuspenseDirective:()=>RY,streamToResponse:()=>UU,streamTemplateSimple:()=>KU,streamTemplate:()=>ZU,renderStreamingPage:()=>JU,registerStreamingDirectives:()=>qU,processStreamDirectives:()=>QU,processSectionDirectives:()=>zU,islandDirective:()=>NY,generateHydrationRuntime:()=>jU,extractStreamBoundaries:()=>GU,createStreamRenderer:()=>WU,buildSuspenseResolveScript:()=>J6,SUSPENSE_RESOLVER_RUNTIME:()=>AY});import n4 from"path";function $U($){let Z=[],Y=0,J;wY.lastIndex=0;while((J=wY.exec($))!==null){if(J.index>Y){let G=$.slice(Y,J.index);if(G.trim())Z.push({type:Z.length===0?"shell":"content",content:G})}let X=J[1],Q=J[2];Z.push({type:"suspense",name:X,content:Q}),Y=J.index+J[0].length}if(Y<$.length){let X=$.slice(Y);if(X.trim())Z.push({type:Z.length===0?"shell":"content",content:X})}if(Z.length===0)Z.push({type:"shell",content:$});return Z}async function ZU($,Z={},Y={}){let J={...n1,...Y,streaming:{...Y6,...Y.streaming}},X=J.streaming?.bufferSize||16384;return new ReadableStream({async start(Q){try{let G=await Bun.file($).text(),K=G.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),W=K?K[1]:"",q=G.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),z={...Z,__filename:$,__dirname:n4.dirname($)};if(W.trim())await d1(W,z,$);let U=$U(q),j=new Set;if(!U.some((B)=>B.type==="suspense")){let B=J.streaming?.strategy||"auto",H=new RegExp(a1.source,"g");if(!(B!=="manual"&&H.test(q))){let V=await L0(q,z,$,J,j);for(let O=0;O<V.length;O+=X)Q.enqueue(V.slice(O,O+X)),await new Promise((F)=>setTimeout(F,0))}else{let V=[],O=new RegExp(a1.source,"g"),F;while((F=O.exec(q))!==null)V.push({name:F[1],content:F[2],start:F.index,end:F.index+F[0].length});let w=0;for(let A of V){if(A.start>w){let N=q.slice(w,A.start);if(N.trim()){let M=await L0(N,z,$,J,j);Q.enqueue(M),await new Promise((T)=>setTimeout(T,0))}}let R=await L0(A.content,z,$,J,j);Q.enqueue(R),await new Promise((N)=>setTimeout(N,0)),w=A.end}if(w<q.length){let A=q.slice(w);if(A.trim()){let R=await L0(A,z,$,J,j);Q.enqueue(R)}}}}else{let B=new Map;for(let L of U)if(L.type==="shell"||L.type==="content"){let V=await L0(L.content,z,$,J,j);Q.enqueue(V)}else if(L.type==="suspense"&&L.name){let V=`stx-suspense-${L.name}`;Q.enqueue(`<div id="${V}" data-suspense="${L.name}" style="display:contents;">
|
|
9157
9157
|
<template data-suspense-fallback>Loading...</template>
|
|
9158
|
-
</div>`),B.set(L.name,
|
|
9158
|
+
</div>`),B.set(L.name,L0(L.content,z,$,J,j))}Q.enqueue(`
|
|
9159
9159
|
<script>
|
|
9160
9160
|
(function() {
|
|
9161
9161
|
window.__stxSuspense = window.__stxSuspense || {
|
|
@@ -9171,13 +9171,13 @@ ${X}`)}function i2($,Z){let Y=$;return Y=Y.replace(/<script(?![^>]*\ssrc=)([^>]*
|
|
|
9171
9171
|
}
|
|
9172
9172
|
};
|
|
9173
9173
|
})();
|
|
9174
|
-
</script>`);let H=Array.from(B.entries()).map(async([L,V])=>{Q.enqueue(await
|
|
9174
|
+
</script>`);let H=Array.from(B.entries()).map(async([L,V])=>{Q.enqueue(await J6(L,V))});await Promise.all(H)}Q.close()}catch(G){Q.error(G)}}})}async function J6($,Z){try{let J=(await Z).replace(/`/g,"\\`").replace(/<\/script>/gi,"<\\/script>");return`
|
|
9175
9175
|
<script>
|
|
9176
9176
|
window.__stxSuspense.resolve('${$}', \`${J}\`);
|
|
9177
9177
|
</script>`}catch(Y){let J=Y instanceof Error?Y.message:String(Y);return`
|
|
9178
9178
|
<script>
|
|
9179
|
-
window.__stxSuspense.resolve('${$}', '<div class="stx-error">Error loading content: ${
|
|
9180
|
-
</script>`}}function
|
|
9179
|
+
window.__stxSuspense.resolve('${$}', '<div class="stx-error">Error loading content: ${a0(J)}</div>');
|
|
9180
|
+
</script>`}}function YU($,Z,Y){if(!Z||Z<=0)return $;let J,X=new Promise((Q,G)=>{J=setTimeout(()=>G(Error(`streaming boundary "${Y}" timed out after ${Z}ms`)),Z)});return Promise.race([$,X]).finally(()=>clearTimeout(J))}function JU($,Z=[],Y={}){let J=Y.timeoutMs??0;return new ReadableStream({async start(X){try{if(X.enqueue($),Z.length>0)X.enqueue(AY),await Promise.all(Z.map(async(Q)=>{let G=YU(Q.render(),J,Q.id);X.enqueue(await J6(Q.id,G))}));X.close()}catch(Q){X.error(Q)}}})}function QU($,Z){return $.replace(XU,(Y,J,X)=>{let Q=J.trim(),G=X.split(/@fallback/i),K=G[0].trim(),W=G.length>1?G.slice(1).join("@fallback").trim():"";if(!Z.__streamTemplates)Z.__streamTemplates={};return Z.__streamTemplates[Q]=K,`<div data-suspense="${Q}">${W}</div>`})}function GU($){let Z=$?.streamBoundaries;if(!Z||typeof Z!=="object")return;let Y=Object.entries(Z).filter(([,J])=>typeof J==="function");return Y.length>0?Y.map(([J,X])=>({id:J,render:X})):void 0}async function KU($,Z={},Y={}){let J={...n1,...Y,streaming:{...Y6,...Y.streaming}},X=J.streaming?.bufferSize||16384;return new ReadableStream({async start(Q){try{let G=await Bun.file($).text(),K=G.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),W=K?K[1]:"",q=G.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),z={...Z,__filename:$,__dirname:n4.dirname($)};if(W.trim())await d1(W,z,$);let U=new Set,j=J.streaming?.strategy||"auto",_=new RegExp(a1.source,"g");if(!(j!=="manual"&&_.test(q))){let H=await L0(q,z,$,J,U);for(let L=0;L<H.length;L+=X)Q.enqueue(H.slice(L,L+X))}else{let H=[],L=new RegExp(a1.source,"g"),V;while((V=L.exec(q))!==null)H.push({name:V[1],content:V[2],start:V.index,end:V.index+V[0].length});let O=0;for(let F of H){if(F.start>O){let A=q.slice(O,F.start);if(A.trim()){let R=await L0(A,z,$,J,U);Q.enqueue(R)}}let w=await L0(F.content,z,$,J,U);Q.enqueue(w),O=F.end}if(O<q.length){let F=q.slice(O);if(F.trim()){let w=await L0(F,z,$,J,U);Q.enqueue(w)}}}Q.close()}catch(G){Q.error(G)}}})}async function WU($,Z={}){let Y={...n1,...Z,streaming:{...Y6,...Z.streaming}},J=await Bun.file($).text(),X=J.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),Q=X?X[1]:"",G=J.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),K=G,W={},q;a1.lastIndex=0;while((q=a1.exec(G))!==null){let j=q[1],_=q[2];W[j]=_}let z=G.replace(a1,"");return{renderShell:async(j={})=>{let _={...j,__filename:$,__dirname:n4.dirname($)};return await d1(Q,_,$),L0(z,_,$,Y,new Set)},renderSection:async(j,_={})=>{try{if(!W[j])return`<div class="error-message">Section "${a0(j)}" not found in template "${a0($)}"</div>`;let B={..._,__filename:$,__dirname:n4.dirname($)};await d1(Q,B,$);let H=new Set;return await L0(W[j],B,$,Y,H)}catch(B){let H=B instanceof Error?B.message:String(B);return U0("Expression",H,$,W[j]||"",0,W[j]||"")}},getSections:()=>{return Object.keys(W)},getTemplate:()=>{return K}}}function qU($={}){let Z=[];if($.streaming?.enabled)Z.push(RY);if($.hydration?.enabled)Z.push(NY);return Z}async function zU($,Z,Y,J={}){return $}function UU($,Z={}){let Y=new TextEncoder,J=$.pipeThrough(new TransformStream({transform(Q,G){G.enqueue(Y.encode(Q))}})),X=new Headers(Z.headers);if(!X.has("Content-Type"))X.set("Content-Type","text/html; charset=utf-8");if(!X.has("Transfer-Encoding"))X.set("Transfer-Encoding","chunked");if(!X.has("X-Content-Type-Options"))X.set("X-Content-Type-Options","nosniff");if(!X.has("X-Accel-Buffering"))X.set("X-Accel-Buffering","no");return new Response(J,{...Z,headers:X})}function jU($={mode:"full"}){let{mode:Z,components:Y={},dynamicImports:J=!0}=$,X=Object.entries(Y).map(([Q,G])=>`'${Q}': ${J?`() => import('${G}')`:`require('${G}')`}`).join(`,
|
|
9181
9181
|
`);if(Z==="loader")return`
|
|
9182
9182
|
(function() {
|
|
9183
9183
|
window.__stx = window.__stx || {};
|
|
@@ -9319,7 +9319,7 @@ else {
|
|
|
9319
9319
|
else {
|
|
9320
9320
|
stx.hydrate();
|
|
9321
9321
|
}
|
|
9322
|
-
})();`}var
|
|
9322
|
+
})();`}var Y6,a1,wY,AY=`
|
|
9323
9323
|
<script>
|
|
9324
9324
|
(function(){
|
|
9325
9325
|
window.__stxSuspense = window.__stxSuspense || {
|
|
@@ -9339,25 +9339,25 @@ else {
|
|
|
9339
9339
|
}
|
|
9340
9340
|
};
|
|
9341
9341
|
})();
|
|
9342
|
-
</script>`,
|
|
9343
|
-
${
|
|
9342
|
+
</script>`,XU,RY,NY;var Q6=b(()=>{o1();X1();Q4();M0();Y6={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},a1=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g,wY=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;XU=/@stream\s*\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)@endstream/gi;RY={name:"suspense",hasEndTag:!0,handler:($,Z,Y,J)=>{if(!Z||Z.length===0)throw Error("Suspense directive requires a name parameter");let X=Z[0].replace(/['"`]/g,"");return`<!-- @suspense:${X} -->${$}<!-- @endsuspense:${X} -->`}},NY={name:"island",hasEndTag:!0,handler:($,Z,Y,J)=>{if(!Z||Z.length===0)throw Error("Island directive requires a name parameter");let X=Z[0].replace(/['"`]/g,""),Q=Z[1]?Z[1].replace(/['"`]/g,""):"lazy",G=`island-${X}-${Math.random().toString(36).substring(2,9)}`,K=$.match(/<script\s+props\s*>([\s\S]*?)<\/script>/i),W=K?K[1].trim():"",q=K?$.replace(K[0],""):$;return`<div data-island="${X}" data-island-id="${G}" data-priority="${Q}">
|
|
9343
|
+
${q}
|
|
9344
9344
|
<script type="application/json" data-island-props="${G}">
|
|
9345
9345
|
${W?`{${W}}`:"{}"}
|
|
9346
9346
|
</script>
|
|
9347
|
-
</div>`}}});var
|
|
9348
|
-
`).length;Y.set(W,{count:1,firstLine:U})}}}let G=[];for(let K of new Set([...Y.keys(),...J.keys()])){if(
|
|
9349
|
-
`}if(F){let S=[];if(
|
|
9347
|
+
</div>`}}});var IY={};a(IY,{warnUnbalancedTags:()=>G6,findUnbalancedTags:()=>TY});function w5($){return $.replace(/[^\n]/g," ")}function TY($){let Z=$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,w5).replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,w5).replace(/<!--[\s\S]*?-->/g,w5).replace(/\{\{\{[\s\S]*?\}\}\}/g,w5).replace(/\{\{[\s\S]*?\}\}/g,w5).replace(/\{!![\s\S]*?!!\}/g,w5),Y=new Map,J=new Map,X=/<(\/?)([A-Za-z][\w-]*)\b(?:[^>"']|"[^"]*"|'[^']*')*?(\/?)>/g,Q;while((Q=X.exec(Z))!==null){let K=Q[1]==="/",W=Q[2],q=Q[3]==="/";if(_U.has(W.toLowerCase()))continue;if(q)continue;if(K)J.set(W,(J.get(W)??0)+1);else{let z=Y.get(W);if(z)z.count++;else{let U=Z.slice(0,Q.index).split(`
|
|
9348
|
+
`).length;Y.set(W,{count:1,firstLine:U})}}}let G=[];for(let K of new Set([...Y.keys(),...J.keys()])){if(BU.has(K.toLowerCase()))continue;let W=Y.get(K)?.count??0,q=J.get(K)??0;if(W!==q)G.push({tag:K,opened:W,closed:q,firstOpenLine:Y.get(K)?.firstLine??0})}return G}function G6($,Z){let Y;try{Y=TY($)}catch{return}if(Y.length===0)return;let J=`${Z}:${$.length}`;if(MY.has(J))return;MY.add(J);let X=Z?Z.split(/[/\\]/).pop()||Z:"template";for(let{tag:Q,opened:G,closed:K,firstOpenLine:W}of Y)if(G>K){let q=W?` (first opened at line ${W})`:"";console.warn(`[stx] ${X}: <${Q}> ${G} opened, ${K} closed \u2014 an unclosed <${Q}>${q} may swallow the content that follows it.`)}else console.warn(`[stx] ${X}: <${Q}> ${G} opened, ${K} closed \u2014 ${K-G} stray </${Q}>.`)}var _U,BU,MY;var K6=b(()=>{_U=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),BU=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);MY=new Set});import n0 from"path";import W6 from"fs";function DY($){return $.split("-").map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join("")}function EY($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class kY{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,Y,J){let X=$.endsWith(".stx")?$.slice(0,-4):$,Q=J?.__importedComponents;if(Q){let _=[X,X.toLowerCase(),DY(X),EY(X)];for(let B of _)if(Q.has(B))return Q.get(B)}let G=[...new Set([`${X}.stx`,`${DY(X)}.stx`,`${EY(X)}.stx`])];if(X.startsWith("./")||X.startsWith("../")){let _=n0.resolve(n0.dirname(Z),`${X}.stx`);if(await c(_))return _;return null}let K=[],W=Y.componentsDir||"",q=J?.__originalFilePath;if(q)K.push(n0.join(n0.dirname(q),"components"));if(W)K.push(W);let z=n0.join(n0.dirname(Z),"components");if(!K.includes(z))K.push(z);let U=process.cwd(),j=[n0.resolve(U,"src/components"),n0.resolve(U,"components"),n0.resolve(import.meta.dir,"components")];for(let _ of j)if(!K.includes(_))K.push(_);for(let _ of K){if(!_)continue;for(let B of G){let H=n0.join(_,B);if(await c(H))return H}try{if(!W6.statSync(_,{throwIfNoEntry:!1})?.isDirectory())continue;let H=W6.readdirSync(_,{withFileTypes:!0});for(let L of H)if(L.isDirectory()){let V=n0.join(_,L.name);for(let O of G){let F=n0.join(V,O);if(await c(F))return F}}}catch{}}return null}}var g0;var q6=b(()=>{M0();g0=new kY});function P0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function A5($,Z){let Y=[];for(let[J,X]of Object.entries($.static)){if(Z.has(J))continue;let Q=$.staticNames?.[J]??J;if(typeof X==="boolean"){if(X)Y.push(P0(Q));continue}Y.push(`${P0(Q)}="${P0(X)}"`)}return Y}var o4=()=>{};function H$($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function HU($){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 z6;var U6=b(()=>{o4();z6={name:"StxLink",aliases:["stx-link"],render($,Z,Y){let J=HU($),X=(typeof $.static.class==="string"?$.static.class:"")||(typeof $.static.className==="string"?$.static.className:""),Q=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,W=[];if(J.reactive)W.push(`:href="${H$(J.value)}"`);else W.push(`href="${H$(J.value)}"`);if(X)W.push(`class="${H$(X)}"`);if(W.push("data-stx-link"),W.push(`data-stx-active-class="${H$(Q)}"`),W.push(`data-stx-exact-active-class="${H$(G)}"`),K)W.push("data-stx-prefetch");let q=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);return W.push(...A5($,q)),`<a ${W.join(" ")}>${Z}</a>`}}});function k0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function C0($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}function _6($,Z,Y=!1){let J=$.serverDynamic[Z];if(J!==void 0)return J!==!1&&J!=="false";let X=$.static[Z];if(X!==void 0)return X!=="false"&&X!==!1;return Y}function bY($){if($.includes("(")||$.includes(","))return $;let Z=$.trim().split(/\s+/),Y=[];for(let J of Z)if(J.includes(":")){let[X,Q]=J.split(":"),G=OU[X];if(G)Y.push(`(max-width: ${G}px) ${Q}`);else{let K=Number.parseInt(X);if(!Number.isNaN(K))Y.push(`(max-width: ${K}px) ${Q}`)}}else Y.push(J);return Y.join(", ")}function B6($,Z,Y,J){return Z.map((X)=>`${O$($,X,void 0,Y,J)} ${X}w`).join(", ")}function LU($,Z,Y,J,X){return Z.map((Q)=>{let G=Y?Y*Q:void 0;return`${O$($,G,void 0,J,X)} ${Q}x`}).join(", ")}function O$($,Z,Y,J,X){if(!J||J==="local"||J==="static")return $;if(J==="cloudinary"){let Q=[];if(Z)Q.push(`w_${Z}`);if(Y)Q.push(`h_${Y}`);if(X)Q.push(`f_${X}`);Q.push("q_auto");let G=Q.join(",");return $.replace("/upload/",`/upload/${G}/`)}if(J==="imgix"){let Q=new URLSearchParams;if(Z)Q.set("w",String(Z));if(Y)Q.set("h",String(Y));if(X)Q.set("fm",X);Q.set("auto","format");let G=$.includes("?")?"&":"?";return`${$}${G}${Q.toString()}`}if(J==="bunny"){let Q=new URLSearchParams;if(Z)Q.set("width",String(Z));if(Y)Q.set("height",String(Y));if(X)Q.set("format",X);let G=$.includes("?")?"&":"?";return`${$}${G}${Q.toString()}`}return $}function FU($,Z,Y="#e5e7eb"){let J=`<svg xmlns="http://www.w3.org/2000/svg" width="${$}" height="${Z}"><rect width="100%" height="100%" fill="${Y}"/></svg>`;return`data:image/svg+xml;base64,${btoa(J)}`}var OU,j6,H6;var O6=b(()=>{o4();OU={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},j6=[320,640,768,1024,1280,1536,1920];H6={name:"StxImage",aliases:["stx-image","stx-img"],render($,Z,Y){let J=C0($,"src")||"",X=C0($,"alt")||"",Q=C0($,"width"),G=C0($,"height"),K=C0($,"sizes"),W=C0($,"srcset"),q=C0($,"densities"),z=C0($,"format"),U=C0($,"placeholder"),j=C0($,"placeholderColor")||"#e5e7eb",_=C0($,"provider"),B=C0($,"class")||C0($,"className")||"",H=C0($,"style")||"",L=C0($,"quality"),V=_6($,"lazy",!0),O=_6($,"preload",!1),F=_6($,"picture",!1)||!!z,w=Q?Number.parseInt(Q):void 0,A=G?Number.parseInt(G):void 0,R=W||"",N="";if(!R&&K)R=B6(J,j6,_,z),N=bY(K);else if(!R&&q){let S=q.split(/\s+/).map((k)=>Number.parseFloat(k.replace("x","")));R=LU(J,S,w,_,z)}else if(K)N=bY(K);let M=[];if(H)M.push(H);if(w&&A)M.push(`aspect-ratio:${w}/${A}`);if(U==="blur"||U==="color"||U==="thumbhash"){let S=FU(w||16,A||9,j);M.push(`background-image:url(${S})`),M.push("background-size:cover"),M.push("background-repeat:no-repeat")}else if(U&&U!=="empty"&&U!=="none")M.push(`background-image:url(${k0(U)})`),M.push("background-size:cover"),M.push("background-repeat:no-repeat");let T=O$(J,w,A,_,z),I=[];if(I.push(`src="${k0(T)}"`),I.push(`alt="${k0(X)}"`),Q)I.push(`width="${k0(Q)}"`);if(G)I.push(`height="${k0(G)}"`);if(V)I.push('loading="lazy"');if(I.push('decoding="async"'),B)I.push(`class="${k0(B)}"`);if(M.length>0)I.push(`style="${k0(M.join(";"))}"`);if(R)I.push(`srcset="${k0(R)}"`);if(N)I.push(`sizes="${k0(N)}"`);let E=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);I.push(...A5($,E));let D=`<img ${I.join(" ")} />`,y="";if(O){let k=z==="webp"?"image/webp":z==="avif"?"image/avif":"";y=`<link rel="preload" as="image" href="${k0(T)}"${k?` type="${k}"`:""}${R?` imagesrcset="${k0(R)}"`:""}${N?` imagesizes="${k0(N)}"`:""} />
|
|
9349
|
+
`}if(F){let S=[];if(z==="avif"||z==="auto"){let k=O$(J,w,A,_,"avif"),v=R?B6(J,j6,_,"avif"):`${k}`;S.push(`<source type="image/avif" srcset="${k0(v)}"${N?` sizes="${k0(N)}"`:""} />`)}if(z==="webp"||z==="auto"){let k=O$(J,w,A,_,"webp"),v=R?B6(J,j6,_,"webp"):`${k}`;S.push(`<source type="image/webp" srcset="${k0(v)}"${N?` sizes="${k0(N)}"`:""} />`)}return`${y}<picture>
|
|
9350
9350
|
${S.join(`
|
|
9351
9351
|
`)}
|
|
9352
9352
|
${D}
|
|
9353
|
-
</picture>`}return`${y}${D}`}}});function
|
|
9354
|
-
<div id="stx-loading-indicator" style="position:fixed;top:0;left:0;right:0;height:${Q};background:${
|
|
9353
|
+
</picture>`}return`${y}${D}`}}});function L$($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function R5($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}var SY="/images/safe-image-default.svg",VU,L6;var F6=b(()=>{o4();VU=`<script>window.__stxSafeImageHandler||(window.__stxSafeImageHandler=function(i){if(i.__stx_fb)return;i.__stx_fb=1;var f=i.getAttribute('data-fallback')||'${SY}';var c=i.getAttribute('data-fallback-class');i.src=f;if(c)i.className=c;});</script>`,L6={name:"SafeImage",aliases:["safe-image","safe-img"],render($,Z,Y){let J=R5($,"src")||"",X=R5($,"alt")||"",Q=R5($,"fallback")||SY,G=R5($,"class")||R5($,"className")||"",K=R5($,"fallbackClassName")||"",W=[];if(W.push(`src="${L$(J)}"`),W.push(`alt="${L$(X)}"`),G)W.push(`class="${L$(G)}"`);if(W.push(`data-fallback="${L$(Q)}"`),K)W.push(`data-fallback-class="${L$(K)}"`);W.push('onerror="window.__stxSafeImageHandler(this)"');let q=new Set(["src","alt","fallback","class","className","fallbackClassName"]);W.push(...A5($,q));let z=`<img ${W.join(" ")} />`,U=Y.context;if(!U.__safeImageHandlerEmitted)return U.__safeImageHandlerEmitted=!0,`${VU}${z}`;return z}}});function V6($){return $.replace(/[;{}()]/g,"").replace(/url/gi,"")}function F$($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}function s4($,Z,Y){let J=F$($,Z);if(J!==void 0){let X=Number.parseInt(J,10);if(!Number.isNaN(X))return X}return Y}var w6;var A6=b(()=>{w6={name:"StxLoadingIndicator",aliases:["stx-loading-indicator"],render($,Z,Y){let J=V6(F$($,"color")||"#6366f1"),X=V6(F$($,"initialColor")||F$($,"initial-color")||""),Q=V6(F$($,"height")||"3px"),G=s4($,"duration",2000),K=s4($,"throttle",200),W=s4($,"zIndex",999999)||s4($,"z-index",999999),q=X?`linear-gradient(to right, ${X}, ${J})`:J;return`
|
|
9354
|
+
<div id="stx-loading-indicator" style="position:fixed;top:0;left:0;right:0;height:${Q};background:${q};z-index:${W};transform:scaleX(0);transform-origin:left;transition:transform 0.1s ease-out,opacity 0.3s ease;opacity:0;pointer-events:none">
|
|
9355
9355
|
<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>
|
|
9356
9356
|
</div>
|
|
9357
9357
|
<style>@keyframes stx-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}</style>
|
|
9358
9358
|
<script>
|
|
9359
9359
|
(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()})})();
|
|
9360
|
-
</script>`}}});function
|
|
9360
|
+
</script>`}}});function PY($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}function wU($,Z,Y){let J=PY($,Z);if(J!==void 0){let X=Number.parseInt(J,10);if(!Number.isNaN(X))return X}return Y}var yY,R6;var N6=b(()=>{yY={"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%)"},R6={name:"StxToast",aliases:["stx-toast"],render($,Z,Y){let J=P0(PY($,"position")||"top-right"),X=wU($,"max",5),Q=yY[J]||yY["top-right"];return`<div id="stx-toast-container" data-stx-toast-position="${J}" data-stx-toast-max="${X}" style="position:fixed;${Q};z-index:999999;display:flex;flex-direction:column;gap:0.5rem;pointer-events:none;max-width:24rem;width:100%"></div>
|
|
9361
9361
|
<style>
|
|
9362
9362
|
@keyframes stx-toast-in{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
|
|
9363
9363
|
@keyframes stx-toast-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}
|
|
@@ -9365,7 +9365,7 @@ ${D}
|
|
|
9365
9365
|
@keyframes stx-toast-out-left{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}
|
|
9366
9366
|
@keyframes stx-toast-in-center{from{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}
|
|
9367
9367
|
@keyframes stx-toast-out-center{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-1rem)}}
|
|
9368
|
-
</style>`}}});function
|
|
9368
|
+
</style>`}}});function r4($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}var CY,M6;var T6=b(()=>{CY={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)"},M6={name:"StxModal",aliases:["stx-modal"],render($,Z,Y){let J=r4($,"id");if(!J)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let X=P0(J),Q=r4($,"size")||"md",G=r4($,"closeOnBackdrop")!=="false",K=r4($,"closeOnEscape")!=="false",W=CY[Q]||CY.md;return`<div id="stx-modal-${X}" class="stx-modal-backdrop" data-stx-modal="${X}" data-close-backdrop="${G}" data-close-escape="${K}" 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">
|
|
9369
9369
|
<div class="stx-modal-panel" style="${W};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)">
|
|
9370
9370
|
<div style="padding:1.5rem">${Z}</div>
|
|
9371
9371
|
</div>
|
|
@@ -9374,8 +9374,8 @@ ${D}
|
|
|
9374
9374
|
@media(prefers-color-scheme:dark){[data-stx-modal]{--stx-modal-bg:#1f2937;--stx-modal-text:#f3f4f6}}
|
|
9375
9375
|
.stx-modal-backdrop[data-stx-modal-open]{display:flex!important;opacity:1}
|
|
9376
9376
|
.stx-modal-backdrop[data-stx-modal-open] .stx-modal-panel{transform:scale(1) translateY(0);opacity:1}
|
|
9377
|
-
</style>`}}});function
|
|
9378
|
-
<div class="stx-drawer-panel" style="position:fixed;top:0;bottom:0;${j};width:${
|
|
9377
|
+
</style>`}}});function N5($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}var vY,I6;var D6=b(()=>{vY={sm:"16rem",md:"24rem",lg:"32rem",xl:"40rem"},I6={name:"StxDrawer",aliases:["stx-drawer"],render($,Z,Y){let J=N5($,"id");if(!J)return console.warn('[stx] <StxDrawer> requires an "id" prop'),"<!-- StxDrawer: missing id prop -->";let X=P0(J),Q=N5($,"side")||"right",G=N5($,"size")||"md",K=N5($,"closeOnBackdrop")!=="false",W=N5($,"closeOnEscape")!=="false",q=N5($,"overlay")!=="false",z=vY[G]||vY.md,U=Q==="left",j=U?"left:0":"right:0",_=U?"translateX(-100%)":"translateX(100%)",B=U?"stx-drawer-slide-left":"stx-drawer-slide-right";return`<div id="stx-drawer-${X}" class="stx-drawer-backdrop" data-stx-drawer="${X}" data-close-backdrop="${K}" data-close-escape="${W}" 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">
|
|
9378
|
+
<div class="stx-drawer-panel" style="position:fixed;top:0;bottom:0;${j};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">
|
|
9379
9379
|
<div style="padding:1.5rem">${Z}</div>
|
|
9380
9380
|
</div>
|
|
9381
9381
|
</div>
|
|
@@ -9383,22 +9383,22 @@ ${D}
|
|
|
9383
9383
|
@media(prefers-color-scheme:dark){[data-stx-drawer]{--stx-drawer-bg:#1f2937;--stx-drawer-text:#f3f4f6}}
|
|
9384
9384
|
.stx-drawer-backdrop[data-stx-drawer-open]{display:block!important;opacity:1}
|
|
9385
9385
|
.stx-drawer-backdrop[data-stx-drawer-open] .stx-drawer-panel{transform:translateX(0)}
|
|
9386
|
-
</style>`}}});import{existsSync as
|
|
9387
|
-
`||M==="\t")V++;O=R+H.length}else{if(V--,V===0){F=N;break}O=N+L.length}}if(F===-1){X=j;continue}let w=$.slice(j,F),A=F+L.length;J.push({fullMatch:$.slice(Q,A),tagName:W,attributes:B,content:w,startIndex:Q,endIndex:A,isSelfClosing:!1}),X=A}}return J}function fY($,Z){try{let Y=Buffer.from($,"base64").toString("utf8");return JSON.parse(Y)}catch{}try{let Y=$.replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&");return JSON.parse(Y)}catch(Y){if(Z?.debug)console.error("Error decoding __stx_ prop:",Y);return $}}var gY=b(()=>{w0();N0();v1()});var cY={};a(cY,{processESImports:()=>pY,processComponents:()=>t4});import a4 from"fs";import m0 from"path";function AU($,Z,Y){let J={static:{},staticNames:{},serverDynamic:{},clientReactive:{},events:{}},X=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"]),Q=(K)=>{if(!K.includes("-")||K.startsWith("@")||K.startsWith(":")||K.startsWith("x-")||K.startsWith("__"))return K;if(K.startsWith("aria-")||K.startsWith("data-"))return K;return K.replace(/-([a-z0-9])/g,(W,z)=>z.toUpperCase())},G=(K,W)=>{let z=Q(K);if(J.static[z]=W,z!==K)J.staticNames[z]=K};for(let[K,W]of Object.entries($)){let z=K.startsWith("x-")&&!X.has(K)&&!K.startsWith("x-bind:")&&!K.startsWith("x-on:")?`:${K.slice(2)}`:K;if(z.startsWith("@")){J.events[z]=W;continue}if(z.startsWith("__stx_")){let q=Q(z.slice(6));J.serverDynamic[q]=fY(W,Y);continue}if(z.startsWith(":")){let q=Q(z.slice(1)),U=W===S6?q:W;if(q==="if"||q==="for"||q==="show"){J.clientReactive[q]=U;continue}try{if(!K0(U)){if(Y.debug)console.error(`Unsafe expression in :${q} binding: ${U}`);J.clientReactive[q]=U;continue}let j=Object.keys(Z),B=W0(U,j)(...Object.values(Z));if(B===void 0){let H=U.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],L=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(H.some((O)=>!L.has(O)&&!j.includes(O))){J.clientReactive[q]=U;continue}}J.serverDynamic[q]=B}catch{J.clientReactive[q]=U}continue}if(typeof W==="string"&&W.includes("{{")&&W.includes("}}")){let q=W.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(q)try{let U=q[1];if(K0(U)){let _=W0(U,Object.keys(Z))(...Object.values(Z));G(z,_!=null?String(_):"")}else{if(Y.debug)console.error(`Unsafe expression in ${z}: ${U}`);G(z,W)}}catch(U){if(Y.debug)console.error(`Error evaluating expression for ${z}:`,U);G(z,W)}else{let U=W,j=/\{\{\s*([\s\S]+?)\s*\}\}/g,_;while((_=j.exec(W))!==null)try{let B=_[1];if(!K0(B)){if(Y.debug)console.error(`Unsafe expression in ${z}: ${B}`);continue}let L=W0(B,Object.keys(Z))(...Object.values(Z));U=U.replace(_[0],String(L??""))}catch(B){if(Y.debug)console.error(`Error evaluating expression in ${z}:`,B)}G(z,U)}continue}G(z,W===S6?"true":W)}return J}function RU($){let Z={},Y=0,J=$.length;while(Y<J){while(Y<J&&/\s/.test($[Y]))Y++;if(Y>=J)break;let X="";while(Y<J&&!/[\s=]/.test($[Y]))X+=$[Y],Y++;if(!X)break;while(Y<J&&/\s/.test($[Y]))Y++;if(Y<J&&$[Y]==="="){Y++;while(Y<J&&/\s/.test($[Y]))Y++;let Q="";if(Y<J&&($[Y]==='"'||$[Y]==="'")){let G=$[Y];Y++;while(Y<J){let K=$[Y];if(K==="\\"&&Y+1<J){Y++,Q+=$[Y],Y++;continue}if(K===G){Y++;break}Q+=K,Y++}}else while(Y<J&&!/\s/.test($[Y]))Q+=$[Y],Y++;Z[X]=Q}else Z[X]=S6}return Z}function dY($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function NU($){let Z=new Set,Y=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,J;while((J=Y.exec($))!==null){let X=J[1];if(f0.isBuiltin(X))Z.add(X)}return[...Z].sort()}function MU($){let Z=uY.get($);if(Z)return Z;let Y=new Map,J=[m0.join($,"src"),m0.join($,"dist"),$];function X(Q,G){if(G>6)return;let K;try{K=a4.readdirSync(Q,{withFileTypes:!0})}catch{return}for(let W of K){let z=m0.join(Q,W.name);if(W.isDirectory()){if(W.name==="node_modules"||W.name.startsWith("."))continue;X(z,G+1)}else if(W.isFile()&&W.name.endsWith(".stx")){let q=W.name.slice(0,-4);if(!Y.has(q))Y.set(q,z);let U=q.toLowerCase();if(!Y.has(U))Y.set(U,z);let j=q.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Y.has(j))Y.set(j,z)}}}for(let Q of J)if(X(Q,0),Y.size>0)break;return uY.set($,Y),Y}function TU($,Z){if($.startsWith(".")||$.startsWith("/"))return null;let Y=Z;while(!0){let J=m0.join(Y,"node_modules",$);try{if(a4.statSync(J).isDirectory())return J}catch{}let X=m0.dirname(Y);if(X===Y)return null;Y=X}}async function pY($,Z,Y,J,X){if(!$.includes("import"))return $;if(!Z.__importedComponents)Z.__importedComponents=new Map;let Q=Z.__importedComponents,G=m0.dirname(Y),K=$,W=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return K=K.replace(W,(z,q,U)=>{let j=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,_=U,B,H=[];while((B=j.exec(U))!==null){let[L,V,O,F]=B,w=null,A=null;if(F.startsWith(".")||F.startsWith("/")){let M=m0.resolve(G,F);if(M.endsWith(".stx"))A=M;else{let T=`${M}.stx`;try{if(a4.statSync(T).isFile())A=T}catch{try{if(a4.statSync(M).isDirectory())w=M}catch{}}}}else w=TU(F,G);if(!w&&!A)continue;let R=!1,N=(M,T)=>{Q.set(M,T),Q.set(M.toLowerCase(),T);let I=M.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();Q.set(I,T),X.add(T)};if(O&&A)N(O,A),R=!0;else if(V){let M=V.slice(1,-1).split(",").map((I)=>I.trim()).filter(Boolean).map((I)=>{let E=I.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(E)return{source:E[1],local:E[2]};return{source:I,local:I}}),T=w?MU(w):null;for(let{source:I,local:E}of M){let D=null;if(A)D=A;else if(T)D=T.get(I)??T.get(I.toLowerCase())??T.get(I.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(D)N(E,D),R=!0}}if(R)H.push({start:B.index,end:B.index+L.length})}if(H.length===0)return z;for(let L=H.length-1;L>=0;L--)_=_.slice(0,H[L].start)+_.slice(H[L].end);return`<script${q}>${_}</script>`}),K}async function IU($,Z,Y,J,X){let Q=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,K=/@import\s*\(\s*([^)]+)\s*\)/g,W;while((W=K.exec(Q))!==null){let[z,q]=W,U=q.split(",").map((j)=>j.trim().replace(/^['"]|['"]$/g,"")).filter((j)=>j.length>0);for(let j of U){let _=j.split("/"),H=_[_.length-1].replace(/\.stx$/,""),L=H.includes("-")?H.split("-").map((F)=>F.charAt(0).toUpperCase()+F.slice(1)).join(""):H.charAt(0).toUpperCase()+H.slice(1),V=null,O=[m0.resolve(m0.dirname(Y),`${j}.stx`),m0.resolve(m0.dirname(Y),j),m0.resolve(J.componentsDir||"components",`${j}.stx`),m0.resolve(J.componentsDir||"components",j),j.endsWith(".stx")?j:`${j}.stx`];for(let F of O)try{if(await Bun.file(F).exists()){V=F;break}}catch{}if(V){G.set(L,V),G.set(H,V),G.set(H.toLowerCase(),V);let F=L.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(G.set(F,V),X.add(V),J.debug)console.log(`Imported component: ${L} -> ${V}`)}else if(J.debug)console.warn(`Could not resolve imported component: ${j}`)}Q=Q.replace(z,""),K.lastIndex=0}return Q}async function DU($,Z,Y,J,X){let Q=$,G=J.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,W=/@component\s*\(/g,z;while((z=W.exec(Q))!==null){let q=z.index,U=q+z[0].length-1,j=1,_=U+1;while(_<Q.length&&j>0){if(Q[_]==="(")j++;else if(Q[_]===")"){if(j--,j===0)break}_++}if(j!==0)break;let B=Q.substring(U+1,_),H=_+1,L=B.match(/^\s*['"]([^'"]+)['"]/);if(!L){W.lastIndex=0;continue}let V=L[1],O,F=B.slice(L[0].length),w=F.match(/^\s*,\s*/);if(w)O=F.slice(w[0].length).trim();let A={};if(O)try{A=M0(O,Z)}catch(E){let D=E instanceof Error?E.message:String(E);Q=Q.replace(Q.substring(q,H),`[Error parsing component props: ${D}]`);continue}let R="",N=H,T=Q.substring(H).match(/^([\s\S]*?)@endcomponent/);if(T)R=T[1].trim(),N=H+T[0].length;let I=await u1(V,A,R,G,Z,Y,J,K,X);Q=Q.substring(0,q)+I+Q.substring(N),W.lastIndex=0}return Q}async function EU($,Z,Y,J,X){if(!$)return $;let Q=$,G=J.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,W=V1(Q);return Q=W.output,Q=await j(Q,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),Q=await j(Q,/[A-Z][a-zA-Z0-9]*/,!0),Q=await j(Q,/[a-z][a-z0-9]*/,!1,wU),Q=p5(Q,W.scripts),Q;async function j(_,B,H,L){if(!_)return _;let V=_,O=xY(V,B,L);for(let F=O.length-1;F>=0;F--){let w=O[F],A=H?r4(w.tagName):w.tagName,R=RU(w.attributes),N=AU(R,Z,J),M=f0.getBuiltin(w.tagName),T=M?await Z4(A,G,Z,Y,J):!1;if(M&&!T){let y={context:Z,filePath:Y,options:J,dependencies:X},S=M.render(N,w.content,y);if(Object.keys(N.clientReactive).length>0)S=mY(S,N.clientReactive);if(Object.keys(N.events).length>0){let k=Object.entries(N.events).map(([v,g])=>`${v}="${dY(g)}"`).join(" ");S=S.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${k}`)}V=V.substring(0,w.startIndex)+S+V.substring(w.endIndex);continue}if(!H&&w.tagName.includes("-")&&!await Z4(A,G,Z,Y,J))continue;let I={};for(let[y,S]of Object.entries(N.static))I[y]=S;for(let[y,S]of Object.entries(N.serverDynamic))I[y]=S;let D=await u1(A,I,w.content,G,Z,Y,J,K,X);if(Object.keys(N.clientReactive).length>0)D=mY(D,N.clientReactive);if(Object.keys(N.events).length>0){let y=lY(D);if(y){let S=Object.entries(N.events).map(([v,g])=>`${v}="${dY(g)}"`).join(" "),k=Object.keys(N.events).map((v)=>v.replace(/^@/,"").split(".")[0]).join(" ");D=D.substring(0,y.insertPos)+` data-stx-parent-events="${k}" ${S}`+D.substring(y.insertPos)}}V=V.substring(0,w.startIndex)+D+V.substring(w.endIndex)}return V}}function mY($,Z){let Y=new Set(["if","for"]),J=new Set(["show"]),X=Object.entries(Z).filter(([q])=>!Y.has(q)),Q=X.filter(([q])=>!J.has(q)).map(([q])=>r4(q)).join(" "),G=$,K=X.length>0?lY(G):null;if(K){let q=X.map(([j,_])=>`:${r4(j)}="${_.replace(/"/g,""")}"`).join(" "),U=Q?` data-stx-parent-bindings="${Q}"`:"";G=G.substring(0,K.insertPos)+`${U} ${q}`+G.substring(K.insertPos)}let W=Z.if;if(W)G=`<template :if="${W.replace(/"/g,""")}">${G}</template>`;let z=Z.for;if(z)G=`<template :for="${z.replace(/"/g,""")}">${G}</template>`;return G}function lY($){let Z=/<([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*\bdata-stx-scope(?:\s|=|>)/i.exec($);if(Z)return{insertPos:Z.index+1+Z[1].length};let Y=0;while(Y<$.length){let J=$.slice(Y),X=J.match(/^\s+/);if(X){Y+=X[0].length;continue}if(J.startsWith("<!--")){let K=$.indexOf("-->",Y+4);if(K===-1)return null;Y=K+3;continue}let Q=J.match(/^<(script|style)\b[^>]*>/i);if(Q){let K=`</${Q[1].toLowerCase()}>`,W=$.toLowerCase().indexOf(K,Y+Q[0].length);if(W===-1)return null;Y=W+K.length;continue}let G=J.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(?:\s|>|\/)/);if(!G)return null;return{insertPos:Y+1+G[1].length}}return null}async function t4($,Z,Y,J,X){if(!hY)CY(),hY=!0;let Q=await pY($,Z,Y,J,X);Q=await IU(Q,Z,Y,J,X),Q=await DU(Q,Z,Y,J,X);let G=[];for(let K=0;K<3;K++){let W=Y1(Q,m5,(q,U)=>`\x00STX_COMPONENT_COMMENT_${G.length+U}\x00`);G.push(...W.tokens);let z=Q;if(Q=await EU(W.output,Z,Y,J,X),Q===z)break}if(G.length>0)Q=Q.replace(/\x00STX_COMPONENT_COMMENT_(\d+)\x00/g,(K,W)=>G[Number(W)]??"");if(J.debug){let K=NU(Q);if(K.length>0)console.warn(`[stx] ${Y}: unresolved component tag(s) after render passes: ${K.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return Q}var hY=!1,S6="\x00stx-boolean-attribute",wU,uY;var y6=b(()=>{G6();vY();gY();v1();N0();w0();wU=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"]);uY=new Map});var tY={};a(tY,{processLoops:()=>P6});function SU($,Z){let Y=/@component\s*\(/g,J=$,X,Q=[];while((X=Y.exec(J))!==null){let G=X.index,K=G+X[0].length-1,W=1,z=K+1;while(z<J.length&&W>0){if(J[z]==="(")W++;else if(J[z]===")"){if(W--,W===0)break}z++}if(W!==0)continue;let q=J.substring(K+1,z),U=z+1,j=q.match(/^\s*['"]([^'"]+)['"]/);if(!j)continue;let _=j[1],B=q.slice(j[0].length),H=B.match(/^\s*,\s*/);if(!H)continue;let L=B.slice(H[0].length).trim();if(!L)continue;try{let V=M0(L,Z),O=JSON.stringify(V),F=`@component('${_}', ${O})`;Q.push({start:G,end:U,replacement:F})}catch{continue}}for(let G=Q.length-1;G>=0;G--){let{start:K,end:W,replacement:z}=Q[G];J=J.substring(0,K)+z+J.substring(W)}return J}function e4($,Z,Y){let J=$,X=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),Q;while((Q=X.exec(J))!==null){let G=Q.index,K=G+Q[0].length-1,W=1,z=K+1,q=null,U=!1;while(z<J.length&&W>0){let B=J[z];if(U){U=!1,z++;continue}if(B==="\\"&&q){U=!0,z++;continue}if(q){if(B===q)q=null;z++;continue}if(B==='"'||B==="'"||B==="`"){q=B,z++;continue}if(B==="(")W++;else if(B===")"){if(W--,W===0)break}z++}if(W!==0)break;let j=J.substring(K+1,z),_=Y(j);J=J.substring(0,G)+_+J.substring(z+1)}return J}function yU($,Z){let Y=$;return Y=Y.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(J,X)=>{if(X in Z)return`:${X}="${X}"`;return J}),Y=Y.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(J,X,Q)=>{try{let G=Object.keys(Z),K=Object.values(Z);I$(Q);let z=W0(Q,G)(...K),q=JSON.stringify(z),U=Buffer.from(q,"utf8").toString("base64");return`__stx_${X}="${U}"`}catch(G){return J}}),Y}function PU($,Z){let Y=$;return Y=e4(Y,"@break",(J)=>{try{let Q=`!!(${J.trim()})`,G;if(K0(Q)){let K=W0(Q,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean($0(Q,Z));return G?$7:""}catch{return""}}),Y=e4(Y,"@continue",(J)=>{try{let Q=`!!(${J.trim()})`,G;if(K0(Q)){let K=W0(Q,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean($0(Q,Z));return G?Z7:""}catch{return""}}),Y}function CU($){let Z=$;return Z=Z.replace(/@break(?!\()/g,$7),Z=Z.replace(/@continue(?!\()/g,Z7),Z}function iY($){let Z=$.includes($7),Y=Z?$.substring(0,$.indexOf($7)):$;return{hasBreak:Z,content:Y}}function nY($){let Z=$.includes(Z7),Y=Z?$.substring(0,$.indexOf(Z7)):$;return{hasContinue:Z,content:Y}}function sY($){let Z=$;return Z=e4(Z,"@break",(Y)=>{let J=Y.trim();if(!D$(J))return"";return`\`; if (${J}) { break; } result += \``}),Z=e4(Z,"@continue",(Y)=>{let J=Y.trim();if(!D$(J))return"";return`\`; if (${J}) { continue; } result += \``}),Z=Z.replace(/@break(?!\()/g,"`; break; result += `"),Z=Z.replace(/@continue(?!\()/g,"`; continue; result += `"),Z}function vU($){let Z=/@forelse\s*\(/g,Y,J=[],X=/@foreach\s*\(/g,Q=/@endforeach/g,G;while((G=X.exec($))!==null)J.push({pos:G.index,delta:1});while((G=Q.exec($))!==null)J.push({pos:G.index,delta:-1});J.sort((q,U)=>q.pos-U.pos);let K=[],W=0;for(let q of J)W+=q.delta,K.push({pos:q.pos,depth:W});function z(q){let U=0,j=K.length-1,_=0;while(U<=j){let B=U+j>>1;if(K[B].pos<=q)_=K[B].depth,U=B+1;else j=B-1}return _}while((Y=Z.exec($))!==null){if(z(Y.index)>0)continue;let q=Y.index,U=Y.index+Y[0].length-1,j=1,_=U+1,B=-1;while(_<$.length&&j>0){if($[_]==="(")j++;else if($[_]===")"){if(j--,j===0){B=_;break}}_++}if(B===-1)continue;let H=$.substring(U+1,B),L=H.indexOf(" as ");if(L===-1)continue;let V=H.substring(0,L).trim(),O=H.substring(L+4).trim(),F=B+1,w=1,A=F,R=/@forelse\s*\(/g,N=/@endforelse/g,M=-1;while(w>0&&A<$.length){R.lastIndex=A,N.lastIndex=A;let S=R.exec($),k=N.exec($);if(!k)break;if(S&&S.index<k.index)w++,A=S.index+S[0].length;else{if(w--,w===0){M=k.index;break}A=k.index+11}}if(M===-1)continue;let T=$.substring(F,M),I=M+11,E=-1,D=0,y=0;while(y<T.length){let S=T.indexOf("@",y);if(S===-1)break;let k=T.substring(S);if(/^@forelse\s*\(/.test(k))D++,y=S+1;else if(k.startsWith("@endforelse"))D--,y=S+11;else if(D===0&&k.startsWith("@empty")){if(T.length<=S+6||!/[a-z]/i.test(T[S+6])){E=S;break}y=S+1}else y=S+1}if(E===-1)continue;return{start:q,end:I,arrayExpr:V,itemVar:O,foreachContent:T.substring(0,E),emptyContent:T.substring(E+6)}}return null}function oY($,Z){let Y=$;while(!0){let J=vU(Y);if(!J)break;let{start:X,end:Q,arrayExpr:G,itemVar:K,foreachContent:W,emptyContent:z}=J;try{let q;if(K0(G))q=W0(G,Object.keys(Z))(...Object.values(Z));else q=$0(G,Z);let U;if(!Array.isArray(q)||q.length===0)U=z;else U=`@foreach (${G} as ${K})${W}@endforeach`;Y=Y.substring(0,X)+U+Y.substring(Q)}catch(q){let U=q instanceof Error?q.message:String(q),j=e("Forelse",`Error in @forelse(${G} as ${K}): ${U}`,s.EVALUATION_ERROR);Y=Y.substring(0,X)+j+Y.substring(Q)}}return Y}function P6($,Z,Y,J){let X=$;X=oY(X,Z);function Q(W){let z=/@foreach\s*\(/g,q;while((q=z.exec(W))!==null){let U=q.index,j=q.index+q[0].length-1,_=1,B=j+1,H=-1;while(B<W.length&&_>0){if(W[B]==="(")_++;else if(W[B]===")"){if(_--,_===0){H=B;break}}B++}if(H===-1)continue;let L=W.substring(j+1,H),V=L.indexOf(" as ");if(V===-1)continue;let O=U,F=L.substring(0,V),w=L.substring(V+4),A=H+1,R=1,N=A,M=/@foreach\s*\(/g,T=/@endforeach/g;while(R>0&&N<W.length){M.lastIndex=N,T.lastIndex=N;let I=M.exec(W),E=T.exec(W);if(!E)break;if(I&&I.index<E.index)R++,N=I.index+I[0].length;else{if(R--,R===0){let D=W.substring(A,E.index),y=E.index+11;return{start:O,end:y,arrayExpr:F,itemVar:w,content:D}}N=E.index+11}}}return null}function G(W,z){let q=W;while(!0){let U=Q(q);if(!U)break;let{start:j,end:_,arrayExpr:B,itemVar:H,content:L}=U;try{let V=B.trim(),O;if(K0(V))O=W0(V,Object.keys(z))(...Object.values(z));else O=$0(V,z);let F=!1;if(!Array.isArray(O))if(O instanceof Map)O=Array.from(O),F=!0;else if(O instanceof Set)O=Array.from(O);else if(typeof O==="string")O=Array.from(O);else if(O&&typeof O==="object"&&!(O instanceof Date)&&!(O instanceof RegExp))O=Object.entries(O),F=!0;else{let E=e("Foreach",`Error in @foreach: ${V} is not iterable`,s.TYPE_ERROR);q=q.substring(0,j)+E+q.substring(_);continue}let w=J?.loops?.useAltLoopVariable??bU,A=H.trim(),R=null,N,M=!1;if(A.includes("=>")){let E=A.split("=>").map((D)=>D.trim());if(E.length===2&&E[0]&&E[1])R=E[0],N=E[1];else N=A}else if(!A.startsWith("[")&&!A.startsWith("{")&&A.includes(",")){let E=A.split(",").map((D)=>D.trim());if(E.length===2&&E[0]&&E[1])N=E[0],R=E[1],M=!0;else N=A}else N=A;let T="",I=O;for(let E=0;E<I.length;E++){let D=I[E],y={index:E,iteration:E+1,first:E===0,last:E===I.length-1,count:I.length},S={...z,loop:y,$loop:y};if(N.startsWith("[")&&N.endsWith("]")){let f=N.slice(1,-1).split(",").map((d)=>d.trim());if(Array.isArray(D))f.forEach((d,p)=>{if(d)S[d]=D[p]});else S[N]=D}else S[N]=D;if(R)if(!M&&F&&Array.isArray(D)&&D.length===2)S[R]=D[0],S[N]=D[1];else S[R]=E;let k=PU(L,S),v=nY(k);if(v.hasContinue){T+=v.content;continue}let g=iY(k);if(g.hasBreak){T+=g.content;break}if(k=oY(k,S),k=G(k,S),k=n1(k,S,Y),k=CU(k),g=iY(k),g.hasBreak){T+=g.content;break}if(v=nY(k),v.hasContinue){T+=v.content;continue}k=w1(k,S,Y),k=yU(k,S),k=SU(k,S),T+=k}q=q.substring(0,j)+T+q.substring(_)}catch(V){let O=e("Foreach",`Error in @foreach(${B.trim()} as ${H.trim()}): ${V instanceof Error?V.message:String(V)}`,s.EVALUATION_ERROR);q=q.substring(0,j)+O+q.substring(_)}}return q}X=G(X,Z),X=aY(X,Z,Y,J);let K=J?.loops?.maxWhileIterations??kU;return X=gU(X,Z,K),X}function rY($){return D$($)}function aY($,Z,Y,J){let X=$,Q=!0;while(Q){Q=!1;let G=X.match(/@for\s*\(/);if(!G||G.index===void 0)break;let K=G.index,W=K+G[0].length-1,z=x0(X,"(",")",W);if(z===-1)break;let q=X.slice(W+1,z),U=z+1,j=x$(X.slice(K),"for","endfor");if(j.length===0)break;let _=j[0].content,B=K+j[0].end;if(!rY(q)){let H=e("For",`Unsafe expression in @for: ${q}`,s.UNSAFE_EXPRESSION);X=X.substring(0,K)+H+X.substring(B),Q=!0;continue}try{let H=xU(q),L=/@(?:for|foreach|if|unless)\s*\(/.test(_);if(H.length>0&&L){let R=fU({forExpr:q,content:_,iterVarNames:H,context:Z,filePath:Y,options:J});X=X.substring(0,K)+R+X.substring(B),Q=!0;continue}let V=Object.keys(Z),O=Object.values(Z),F=_.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(R,N)=>{return`\${${N}}`});F=sY(F);let A=Function(...V,`
|
|
9386
|
+
</style>`}}});import{existsSync as AU,readFileSync as RU}from"fs";function NU($){if(xY.has($))return;xY.add($),console.warn(`[stx] icon collection "${$}" is not installed, so its icons render as nothing. Install it with \`bun add -d @iconify-json/${$}\`.`)}function MU($){let Z=process.cwd();for(let Y of[`${Z}/node_modules/@iconify-json/${$}/icons.json`,`${Z}/pantry/@iconify-json/${$}/icons.json`,`${Z}/node_modules/@iconify/json/json/${$}.json`,`${Z}/pantry/@iconify/json/json/${$}.json`])if(AU(Y))return Y;for(let Y of[`@iconify-json/${$}/icons.json`,`@iconify/json/json/${$}.json`])try{return _0.resolve(Y)}catch{}return null}function TU($){if(a4.has($))return a4.get($);let Z=MU($);if(!Z)return NU($),null;try{let Y=JSON.parse(RU(Z,"utf8"));return a4.set($,Y.icons),Y.icons}catch{return null}}function M5($,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}var a4,xY,E6;var k6=b(()=>{a4=new Map,xY=new Set;E6={name:"Icon",aliases:["icon","stx-icon"],render($,Z,Y){let J=M5($,"name")??M5($,"icon");if(!J)return"<!-- Icon: missing name/icon prop -->";let X="lucide",Q=J;if(J.includes(":")){let O=J.split(":");X=O[0],Q=O[1]}let G=P0(M5($,"size")||"24"),K=P0(M5($,"color")||"currentColor"),W=P0(M5($,"class")||""),q=P0(M5($,"style")||""),z=a4.get(X)??TU(X);if(!z)return`<!-- Icon: collection "${X}" not loaded -->`;let U=z[Q];if(!U)return`<!-- Icon: "${Q}" not found in ${X} -->`;let j=U.width||24,_=U.height||24,B=`0 0 ${j} ${_}`,H=U.body;if(K!=="currentColor")H=H.replace(/currentColor/g,K);let L=W?` class="${W}"`:"",V=q?` style="${q}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${G}" height="${G}" viewBox="${B}" fill="none"${L}${V}>${H}</svg>`}}});function fY($,...Z){for(let Y of Z){if($.serverDynamic[Y]!==void 0)return String($.serverDynamic[Y]);let J=$.static[Y];if(typeof J==="string")return J}return}function gY($,Z){let Y=new RegExp(`<(template|div|span)[^>]*\\bslot=["']${Z}["'][^>]*>([\\s\\S]*?)<\\/\\1>`,"i"),J=$.match(Y);if(!J)return{region:null,rest:$};return{region:J[2],rest:$.replace(J[0],"")}}var b6;var S6=b(()=>{b6={name:"Suspense",aliases:["suspense"],render($,Z,Y){let J=gY(Z,"fallback"),X=J.rest,Q=gY(X,"error"),G=Q.rest,K=J.region??fY($,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',W=Q.region??fY($,"errorFallback","error-fallback")??'<div class="stx-suspense-error">Something went wrong.</div>';return`<div data-stx-suspense><div data-stx-suspense-fallback>${K}</div><div data-stx-suspense-error hidden>${W}</div><div data-stx-suspense-content hidden>${G}</div></div>`}}});function t4($,...Z){for(let Y of Z){if($.serverDynamic[Y]!==void 0)return String($.serverDynamic[Y]);let J=$.static[Y];if(typeof J==="string")return J}return}var y6;var P6=b(()=>{y6={name:"TransitionGroup",aliases:["transition-group"],render($,Z,Y){let J=(t4($,"name")||"v").replace(/["'<>]/g,""),X=(t4($,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",Q=t4($,"class"),G=t4($,"id"),K=[`data-stx-transition-group="${J}"`,Q?`class="${Q}"`:"",G?`id="${G}"`:""].filter(Boolean).join(" ");return`<${X} ${K}>${Z}</${X}>`}}});function hY(){g0.registerBuiltin(z6),g0.registerBuiltin(H6),g0.registerBuiltin(L6),g0.registerBuiltin(w6),g0.registerBuiltin(R6),g0.registerBuiltin(M6),g0.registerBuiltin(I6),g0.registerBuiltin(E6),g0.registerBuiltin(b6),g0.registerBuiltin(y6)}var dY=b(()=>{U6();O6();F6();A6();N6();T6();D6();k6();S6();P6();q6();U6();O6();F6();A6();N6();T6();D6();k6();S6();P6()});function e4($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function uY($,Z,Y){let J=[],X=0;while(X<$.length){let Q=$.indexOf("<",X);if(Q===-1)break;let K=$.slice(Q+1).match(new RegExp(`^(${Z.source})`));if(!K){X=Q+1;continue}let W=K[1];if(Y&&Y.has(W.toLowerCase())){let H=Q+1+W.length;while(H<$.length&&$[H]!==">")H++;X=H+1;continue}let q=Q+1+W.length,z=null,U=q,j=-1,_=!1;while(q<$.length){let H=$[q];if(z){if(H==="\\"&&q+1<$.length){q+=2;continue}if(H===z)z=null;q++;continue}if(H==='"'||H==="'"){z=H,q++;continue}if(H==="/"&&q+1<$.length&&$[q+1]===">"){j=q+2,_=!0;break}if(H===">"){j=q+1;break}q++}if(j===-1){X=Q+1;continue}let B=$.slice(U,_?j-2:j-1).trim();if(_)J.push({fullMatch:$.slice(Q,j),tagName:W,attributes:B,content:"",startIndex:Q,endIndex:j,isSelfClosing:!0}),X=j;else{let H=`<${W}`,L=`</${W}>`,V=1,O=j,F=-1;while(V>0&&O<$.length){let R=$.indexOf(H,O),N=$.indexOf(L,O);if(N===-1)break;if(R!==-1&&R<N){let M=$[R+H.length];if(M===" "||M===">"||M==="/"||M===`
|
|
9387
|
+
`||M==="\t")V++;O=R+H.length}else{if(V--,V===0){F=N;break}O=N+L.length}}if(F===-1){X=j;continue}let w=$.slice(j,F),A=F+L.length;J.push({fullMatch:$.slice(Q,A),tagName:W,attributes:B,content:w,startIndex:Q,endIndex:A,isSelfClosing:!1}),X=A}}return J}function mY($,Z){try{let Y=Buffer.from($,"base64").toString("utf8");return JSON.parse(Y)}catch{}try{let Y=$.replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&");return JSON.parse(Y)}catch(Y){if(Z?.debug)console.error("Error decoding __stx_ prop:",Y);return $}}var pY=b(()=>{A0();M0();f1()});var rY={};a(rY,{processESImports:()=>oY,processComponents:()=>Z7});import $7 from"fs";import p0 from"path";function DU($,Z,Y){let J={static:{},staticNames:{},serverDynamic:{},clientReactive:{},events:{}},X=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"]),Q=(K)=>{if(!K.includes("-")||K.startsWith("@")||K.startsWith(":")||K.startsWith("x-")||K.startsWith("__"))return K;if(K.startsWith("aria-")||K.startsWith("data-"))return K;return K.replace(/-([a-z0-9])/g,(W,q)=>q.toUpperCase())},G=(K,W)=>{let q=Q(K);if(J.static[q]=W,q!==K)J.staticNames[q]=K};for(let[K,W]of Object.entries($)){let q=K.startsWith("x-")&&!X.has(K)&&!K.startsWith("x-bind:")&&!K.startsWith("x-on:")?`:${K.slice(2)}`:K;if(q.startsWith("@")){J.events[q]=W;continue}if(q.startsWith("__stx_")){let z=Q(q.slice(6));J.serverDynamic[z]=mY(W,Y);continue}if(q.startsWith(":")){let z=Q(q.slice(1)),U=W===C6?z:W;if(z==="if"||z==="for"||z==="show"){J.clientReactive[z]=U;continue}try{if(!W0(U)){if(Y.debug)console.error(`Unsafe expression in :${z} binding: ${U}`);J.clientReactive[z]=U;continue}let j=Object.keys(Z),B=q0(U,j)(...Object.values(Z));if(B===void 0){let H=U.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],L=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(H.some((O)=>!L.has(O)&&!j.includes(O))){J.clientReactive[z]=U;continue}}J.serverDynamic[z]=B}catch{J.clientReactive[z]=U}continue}if(typeof W==="string"&&W.includes("{{")&&W.includes("}}")){let z=W.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(z)try{let U=z[1];if(W0(U)){let _=q0(U,Object.keys(Z))(...Object.values(Z));G(q,_!=null?String(_):"")}else{if(Y.debug)console.error(`Unsafe expression in ${q}: ${U}`);G(q,W)}}catch(U){if(Y.debug)console.error(`Error evaluating expression for ${q}:`,U);G(q,W)}else{let U=W,j=/\{\{\s*([\s\S]+?)\s*\}\}/g,_;while((_=j.exec(W))!==null)try{let B=_[1];if(!W0(B)){if(Y.debug)console.error(`Unsafe expression in ${q}: ${B}`);continue}let L=q0(B,Object.keys(Z))(...Object.values(Z));U=U.replace(_[0],String(L??""))}catch(B){if(Y.debug)console.error(`Error evaluating expression in ${q}:`,B)}G(q,U)}continue}G(q,W===C6?"true":W)}return J}function EU($){let Z={},Y=0,J=$.length;while(Y<J){while(Y<J&&/\s/.test($[Y]))Y++;if(Y>=J)break;let X="";while(Y<J&&!/[\s=]/.test($[Y]))X+=$[Y],Y++;if(!X)break;while(Y<J&&/\s/.test($[Y]))Y++;if(Y<J&&$[Y]==="="){Y++;while(Y<J&&/\s/.test($[Y]))Y++;let Q="";if(Y<J&&($[Y]==='"'||$[Y]==="'")){let G=$[Y];Y++;while(Y<J){let K=$[Y];if(K==="\\"&&Y+1<J){Y++,Q+=$[Y],Y++;continue}if(K===G){Y++;break}Q+=K,Y++}}else while(Y<J&&!/\s/.test($[Y]))Q+=$[Y],Y++;Z[X]=Q}else Z[X]=C6}return Z}function cY($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function kU($){let Z=new Set,Y=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,J;while((J=Y.exec($))!==null){let X=J[1];if(g0.isBuiltin(X))Z.add(X)}return[...Z].sort()}function bU($){let Z=iY.get($);if(Z)return Z;let Y=new Map,J=[p0.join($,"src"),p0.join($,"dist"),$];function X(Q,G){if(G>6)return;let K;try{K=$7.readdirSync(Q,{withFileTypes:!0})}catch{return}for(let W of K){let q=p0.join(Q,W.name);if(W.isDirectory()){if(W.name==="node_modules"||W.name.startsWith("."))continue;X(q,G+1)}else if(W.isFile()&&W.name.endsWith(".stx")){let z=W.name.slice(0,-4);if(!Y.has(z))Y.set(z,q);let U=z.toLowerCase();if(!Y.has(U))Y.set(U,q);let j=z.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Y.has(j))Y.set(j,q)}}}for(let Q of J)if(X(Q,0),Y.size>0)break;return iY.set($,Y),Y}function SU($,Z){if($.startsWith(".")||$.startsWith("/"))return null;let Y=Z;while(!0){let J=p0.join(Y,"node_modules",$);try{if($7.statSync(J).isDirectory())return J}catch{}let X=p0.dirname(Y);if(X===Y)return null;Y=X}}async function oY($,Z,Y,J,X){if(!$.includes("import"))return $;if(!Z.__importedComponents)Z.__importedComponents=new Map;let Q=Z.__importedComponents,G=p0.dirname(Y),K=$,W=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return K=K.replace(W,(q,z,U)=>{let j=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,_=U,B,H=[];while((B=j.exec(U))!==null){let[L,V,O,F]=B,w=null,A=null;if(F.startsWith(".")||F.startsWith("/")){let M=p0.resolve(G,F);if(M.endsWith(".stx"))A=M;else{let T=`${M}.stx`;try{if($7.statSync(T).isFile())A=T}catch{try{if($7.statSync(M).isDirectory())w=M}catch{}}}}else w=SU(F,G);if(!w&&!A)continue;let R=!1,N=(M,T)=>{Q.set(M,T),Q.set(M.toLowerCase(),T);let I=M.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();Q.set(I,T),X.add(T)};if(O&&A)N(O,A),R=!0;else if(V){let M=V.slice(1,-1).split(",").map((I)=>I.trim()).filter(Boolean).map((I)=>{let E=I.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(E)return{source:E[1],local:E[2]};return{source:I,local:I}}),T=w?bU(w):null;for(let{source:I,local:E}of M){let D=null;if(A)D=A;else if(T)D=T.get(I)??T.get(I.toLowerCase())??T.get(I.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(D)N(E,D),R=!0}}if(R)H.push({start:B.index,end:B.index+L.length})}if(H.length===0)return q;for(let L=H.length-1;L>=0;L--)_=_.slice(0,H[L].start)+_.slice(H[L].end);return`<script${z}>${_}</script>`}),K}async function yU($,Z,Y,J,X){let Q=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,K=/@import\s*\(\s*([^)]+)\s*\)/g,W;while((W=K.exec(Q))!==null){let[q,z]=W,U=z.split(",").map((j)=>j.trim().replace(/^['"]|['"]$/g,"")).filter((j)=>j.length>0);for(let j of U){let _=j.split("/"),H=_[_.length-1].replace(/\.stx$/,""),L=H.includes("-")?H.split("-").map((F)=>F.charAt(0).toUpperCase()+F.slice(1)).join(""):H.charAt(0).toUpperCase()+H.slice(1),V=null,O=[p0.resolve(p0.dirname(Y),`${j}.stx`),p0.resolve(p0.dirname(Y),j),p0.resolve(J.componentsDir||"components",`${j}.stx`),p0.resolve(J.componentsDir||"components",j),j.endsWith(".stx")?j:`${j}.stx`];for(let F of O)try{if(await Bun.file(F).exists()){V=F;break}}catch{}if(V){G.set(L,V),G.set(H,V),G.set(H.toLowerCase(),V);let F=L.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(G.set(F,V),X.add(V),J.debug)console.log(`Imported component: ${L} -> ${V}`)}else if(J.debug)console.warn(`Could not resolve imported component: ${j}`)}Q=Q.replace(q,""),K.lastIndex=0}return Q}async function PU($,Z,Y,J,X){let Q=$,G=J.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,W=/@component\s*\(/g,q;while((q=W.exec(Q))!==null){let z=q.index,U=z+q[0].length-1,j=1,_=U+1;while(_<Q.length&&j>0){if(Q[_]==="(")j++;else if(Q[_]===")"){if(j--,j===0)break}_++}if(j!==0)break;let B=Q.substring(U+1,_),H=_+1,L=B.match(/^\s*['"]([^'"]+)['"]/);if(!L){W.lastIndex=0;continue}let V=L[1],O,F=B.slice(L[0].length),w=F.match(/^\s*,\s*/);if(w)O=F.slice(w[0].length).trim();let A={};if(O)try{A=T0(O,Z)}catch(E){let D=E instanceof Error?E.message:String(E);Q=Q.replace(Q.substring(z,H),`[Error parsing component props: ${D}]`);continue}let R="",N=H,T=Q.substring(H).match(/^([\s\S]*?)@endcomponent/);if(T)R=T[1].trim(),N=H+T[0].length;let I=await p1(V,A,R,G,Z,Y,J,K,X);Q=Q.substring(0,z)+I+Q.substring(N),W.lastIndex=0}return Q}async function CU($,Z,Y,J,X){if(!$)return $;let Q=$,G=J.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,W=w1(Q);return Q=W.output,Q=await j(Q,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),Q=await j(Q,/[A-Z][a-zA-Z0-9]*/,!0),Q=await j(Q,/[a-z][a-z0-9]*/,!1,IU),Q=i5(Q,W.scripts),Q;async function j(_,B,H,L){if(!_)return _;let V=_,O=uY(V,B,L);for(let F=O.length-1;F>=0;F--){let w=O[F],A=H?e4(w.tagName):w.tagName,R=EU(w.attributes),N=DU(R,Z,J),M=g0.getBuiltin(w.tagName),T=M?await X4(A,G,Z,Y,J):!1;if(M&&!T){let y={context:Z,filePath:Y,options:J,dependencies:X},S=M.render(N,w.content,y);if(Object.keys(N.clientReactive).length>0)S=nY(S,N.clientReactive);if(Object.keys(N.events).length>0){let k=Object.entries(N.events).map(([v,g])=>`${v}="${cY(g)}"`).join(" ");S=S.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${k}`)}V=V.substring(0,w.startIndex)+S+V.substring(w.endIndex);continue}if(!H&&w.tagName.includes("-")&&!await X4(A,G,Z,Y,J))continue;let I={};for(let[y,S]of Object.entries(N.static))I[y]=S;for(let[y,S]of Object.entries(N.serverDynamic))I[y]=S;let D=await p1(A,I,w.content,G,Z,Y,J,K,X);if(Object.keys(N.clientReactive).length>0)D=nY(D,N.clientReactive);if(Object.keys(N.events).length>0){let y=sY(D);if(y){let S=Object.entries(N.events).map(([v,g])=>`${v}="${cY(g)}"`).join(" "),k=Object.keys(N.events).map((v)=>v.replace(/^@/,"").split(".")[0]).join(" ");D=D.substring(0,y.insertPos)+` data-stx-parent-events="${k}" ${S}`+D.substring(y.insertPos)}}V=V.substring(0,w.startIndex)+D+V.substring(w.endIndex)}return V}}function nY($,Z){let Y=new Set(["if","for"]),J=new Set(["show"]),X=Object.entries(Z).filter(([z])=>!Y.has(z)),Q=X.filter(([z])=>!J.has(z)).map(([z])=>e4(z)).join(" "),G=$,K=X.length>0?sY(G):null;if(K){let z=X.map(([j,_])=>`:${e4(j)}="${_.replace(/"/g,""")}"`).join(" "),U=Q?` data-stx-parent-bindings="${Q}"`:"";G=G.substring(0,K.insertPos)+`${U} ${z}`+G.substring(K.insertPos)}let W=Z.if;if(W)G=`<template :if="${W.replace(/"/g,""")}">${G}</template>`;let q=Z.for;if(q)G=`<template :for="${q.replace(/"/g,""")}">${G}</template>`;return G}function sY($){let Z=/<([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*\bdata-stx-scope(?:\s|=|>)/i.exec($);if(Z)return{insertPos:Z.index+1+Z[1].length};let Y=0;while(Y<$.length){let J=$.slice(Y),X=J.match(/^\s+/);if(X){Y+=X[0].length;continue}if(J.startsWith("<!--")){let K=$.indexOf("-->",Y+4);if(K===-1)return null;Y=K+3;continue}let Q=J.match(/^<(script|style)\b[^>]*>/i);if(Q){let K=`</${Q[1].toLowerCase()}>`,W=$.toLowerCase().indexOf(K,Y+Q[0].length);if(W===-1)return null;Y=W+K.length;continue}let G=J.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(?:\s|>|\/)/);if(!G)return null;return{insertPos:Y+1+G[1].length}}return null}async function Z7($,Z,Y,J,X){if(!lY)hY(),lY=!0;let Q=await oY($,Z,Y,J,X);Q=await yU(Q,Z,Y,J,X),Q=await PU(Q,Z,Y,J,X);let G=[];for(let K=0;K<3;K++){let W=J1(Q,c5,(z,U)=>`\x00STX_COMPONENT_COMMENT_${G.length+U}\x00`);G.push(...W.tokens);let q=Q;if(Q=await CU(W.output,Z,Y,J,X),Q===q)break}if(G.length>0)Q=Q.replace(/\x00STX_COMPONENT_COMMENT_(\d+)\x00/g,(K,W)=>G[Number(W)]??"");if(J.debug){let K=kU(Q);if(K.length>0)console.warn(`[stx] ${Y}: unresolved component tag(s) after render passes: ${K.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return Q}var lY=!1,C6="\x00stx-boolean-attribute",IU,iY;var v6=b(()=>{q6();dY();pY();f1();M0();A0();IU=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"]);iY=new Map});var JJ={};a(JJ,{processLoops:()=>x6});function fU($,Z){let Y=/@component\s*\(/g,J=$,X,Q=[];while((X=Y.exec(J))!==null){let G=X.index,K=G+X[0].length-1,W=1,q=K+1;while(q<J.length&&W>0){if(J[q]==="(")W++;else if(J[q]===")"){if(W--,W===0)break}q++}if(W!==0)continue;let z=J.substring(K+1,q),U=q+1,j=z.match(/^\s*['"]([^'"]+)['"]/);if(!j)continue;let _=j[1],B=z.slice(j[0].length),H=B.match(/^\s*,\s*/);if(!H)continue;let L=B.slice(H[0].length).trim();if(!L)continue;try{let V=T0(L,Z),O=JSON.stringify(V),F=`@component('${_}', ${O})`;Q.push({start:G,end:U,replacement:F})}catch{continue}}for(let G=Q.length-1;G>=0;G--){let{start:K,end:W,replacement:q}=Q[G];J=J.substring(0,K)+q+J.substring(W)}return J}function Y7($,Z,Y){let J=$,X=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),Q;while((Q=X.exec(J))!==null){let G=Q.index,K=G+Q[0].length-1,W=1,q=K+1,z=null,U=!1;while(q<J.length&&W>0){let B=J[q];if(U){U=!1,q++;continue}if(B==="\\"&&z){U=!0,q++;continue}if(z){if(B===z)z=null;q++;continue}if(B==='"'||B==="'"||B==="`"){z=B,q++;continue}if(B==="(")W++;else if(B===")"){if(W--,W===0)break}q++}if(W!==0)break;let j=J.substring(K+1,q),_=Y(j);J=J.substring(0,G)+_+J.substring(q+1)}return J}function gU($,Z){let Y=$;return Y=Y.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(J,X)=>{if(X in Z)return`:${X}="${X}"`;return J}),Y=Y.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(J,X,Q)=>{try{let G=Object.keys(Z),K=Object.values(Z);k$(Q);let q=q0(Q,G)(...K),z=JSON.stringify(q),U=Buffer.from(z,"utf8").toString("base64");return`__stx_${X}="${U}"`}catch(G){return J}}),Y}function hU($,Z){let Y=$;return Y=Y7(Y,"@break",(J)=>{try{let Q=`!!(${J.trim()})`,G;if(W0(Q)){let K=q0(Q,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(Z0(Q,Z));return G?J7:""}catch{return""}}),Y=Y7(Y,"@continue",(J)=>{try{let Q=`!!(${J.trim()})`,G;if(W0(Q)){let K=q0(Q,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(Z0(Q,Z));return G?X7:""}catch{return""}}),Y}function dU($){let Z=$;return Z=Z.replace(/@break(?!\()/g,J7),Z=Z.replace(/@continue(?!\()/g,X7),Z}function aY($){let Z=$.includes(J7),Y=Z?$.substring(0,$.indexOf(J7)):$;return{hasBreak:Z,content:Y}}function tY($){let Z=$.includes(X7),Y=Z?$.substring(0,$.indexOf(X7)):$;return{hasContinue:Z,content:Y}}function $J($){let Z=$;return Z=Y7(Z,"@break",(Y)=>{let J=Y.trim();if(!b$(J))return"";return`\`; if (${J}) { break; } result += \``}),Z=Y7(Z,"@continue",(Y)=>{let J=Y.trim();if(!b$(J))return"";return`\`; if (${J}) { continue; } result += \``}),Z=Z.replace(/@break(?!\()/g,"`; break; result += `"),Z=Z.replace(/@continue(?!\()/g,"`; continue; result += `"),Z}function uU($){let Z=/@forelse\s*\(/g,Y,J=[],X=/@foreach\s*\(/g,Q=/@endforeach/g,G;while((G=X.exec($))!==null)J.push({pos:G.index,delta:1});while((G=Q.exec($))!==null)J.push({pos:G.index,delta:-1});J.sort((z,U)=>z.pos-U.pos);let K=[],W=0;for(let z of J)W+=z.delta,K.push({pos:z.pos,depth:W});function q(z){let U=0,j=K.length-1,_=0;while(U<=j){let B=U+j>>1;if(K[B].pos<=z)_=K[B].depth,U=B+1;else j=B-1}return _}while((Y=Z.exec($))!==null){if(q(Y.index)>0)continue;let z=Y.index,U=Y.index+Y[0].length-1,j=1,_=U+1,B=-1;while(_<$.length&&j>0){if($[_]==="(")j++;else if($[_]===")"){if(j--,j===0){B=_;break}}_++}if(B===-1)continue;let H=$.substring(U+1,B),L=H.indexOf(" as ");if(L===-1)continue;let V=H.substring(0,L).trim(),O=H.substring(L+4).trim(),F=B+1,w=1,A=F,R=/@forelse\s*\(/g,N=/@endforelse/g,M=-1;while(w>0&&A<$.length){R.lastIndex=A,N.lastIndex=A;let S=R.exec($),k=N.exec($);if(!k)break;if(S&&S.index<k.index)w++,A=S.index+S[0].length;else{if(w--,w===0){M=k.index;break}A=k.index+11}}if(M===-1)continue;let T=$.substring(F,M),I=M+11,E=-1,D=0,y=0;while(y<T.length){let S=T.indexOf("@",y);if(S===-1)break;let k=T.substring(S);if(/^@forelse\s*\(/.test(k))D++,y=S+1;else if(k.startsWith("@endforelse"))D--,y=S+11;else if(D===0&&k.startsWith("@empty")){if(T.length<=S+6||!/[a-z]/i.test(T[S+6])){E=S;break}y=S+1}else y=S+1}if(E===-1)continue;return{start:z,end:I,arrayExpr:V,itemVar:O,foreachContent:T.substring(0,E),emptyContent:T.substring(E+6)}}return null}function eY($,Z){let Y=$;while(!0){let J=uU(Y);if(!J)break;let{start:X,end:Q,arrayExpr:G,itemVar:K,foreachContent:W,emptyContent:q}=J;try{let z;if(W0(G))z=q0(G,Object.keys(Z))(...Object.values(Z));else z=Z0(G,Z);let U;if(!Array.isArray(z)||z.length===0)U=q;else U=`@foreach (${G} as ${K})${W}@endforeach`;Y=Y.substring(0,X)+U+Y.substring(Q)}catch(z){let U=z instanceof Error?z.message:String(z),j=$0("Forelse",`Error in @forelse(${G} as ${K}): ${U}`,s.EVALUATION_ERROR);Y=Y.substring(0,X)+j+Y.substring(Q)}}return Y}function x6($,Z,Y,J){let X=$;X=eY(X,Z);function Q(W){let q=/@foreach\s*\(/g,z;while((z=q.exec(W))!==null){let U=z.index,j=z.index+z[0].length-1,_=1,B=j+1,H=-1;while(B<W.length&&_>0){if(W[B]==="(")_++;else if(W[B]===")"){if(_--,_===0){H=B;break}}B++}if(H===-1)continue;let L=W.substring(j+1,H),V=L.indexOf(" as ");if(V===-1)continue;let O=U,F=L.substring(0,V),w=L.substring(V+4),A=H+1,R=1,N=A,M=/@foreach\s*\(/g,T=/@endforeach/g;while(R>0&&N<W.length){M.lastIndex=N,T.lastIndex=N;let I=M.exec(W),E=T.exec(W);if(!E)break;if(I&&I.index<E.index)R++,N=I.index+I[0].length;else{if(R--,R===0){let D=W.substring(A,E.index),y=E.index+11;return{start:O,end:y,arrayExpr:F,itemVar:w,content:D}}N=E.index+11}}}return null}function G(W,q){let z=W;while(!0){let U=Q(z);if(!U)break;let{start:j,end:_,arrayExpr:B,itemVar:H,content:L}=U;try{let V=B.trim(),O;if(W0(V))O=q0(V,Object.keys(q))(...Object.values(q));else O=Z0(V,q);let F=!1;if(!Array.isArray(O))if(O instanceof Map)O=Array.from(O),F=!0;else if(O instanceof Set)O=Array.from(O);else if(typeof O==="string")O=Array.from(O);else if(O&&typeof O==="object"&&!(O instanceof Date)&&!(O instanceof RegExp))O=Object.entries(O),F=!0;else{let E=$0("Foreach",`Error in @foreach: ${V} is not iterable`,s.TYPE_ERROR);z=z.substring(0,j)+E+z.substring(_);continue}let w=J?.loops?.useAltLoopVariable??xU,A=H.trim(),R=null,N,M=!1;if(A.includes("=>")){let E=A.split("=>").map((D)=>D.trim());if(E.length===2&&E[0]&&E[1])R=E[0],N=E[1];else N=A}else if(!A.startsWith("[")&&!A.startsWith("{")&&A.includes(",")){let E=A.split(",").map((D)=>D.trim());if(E.length===2&&E[0]&&E[1])N=E[0],R=E[1],M=!0;else N=A}else N=A;let T="",I=O;for(let E=0;E<I.length;E++){let D=I[E],y={index:E,iteration:E+1,first:E===0,last:E===I.length-1,count:I.length},S={...q,loop:y,$loop:y};if(N.startsWith("[")&&N.endsWith("]")){let f=N.slice(1,-1).split(",").map((d)=>d.trim());if(Array.isArray(D))f.forEach((d,p)=>{if(d)S[d]=D[p]});else S[N]=D}else S[N]=D;if(R)if(!M&&F&&Array.isArray(D)&&D.length===2)S[R]=D[0],S[N]=D[1];else S[R]=E;let k=hU(L,S),v=tY(k);if(v.hasContinue){T+=v.content;continue}let g=aY(k);if(g.hasBreak){T+=g.content;break}if(k=eY(k,S),k=G(k,S),k=s1(k,S,Y),k=dU(k),g=aY(k),g.hasBreak){T+=g.content;break}if(v=tY(k),v.hasContinue){T+=v.content;continue}k=A1(k,S,Y),k=gU(k,S),k=fU(k,S),T+=k}z=z.substring(0,j)+T+z.substring(_)}catch(V){let O=$0("Foreach",`Error in @foreach(${B.trim()} as ${H.trim()}): ${V instanceof Error?V.message:String(V)}`,s.EVALUATION_ERROR);z=z.substring(0,j)+O+z.substring(_)}}return z}X=G(X,Z),X=YJ(X,Z,Y,J);let K=J?.loops?.maxWhileIterations??vU;return X=lU(X,Z,K),X}function ZJ($){return b$($)}function YJ($,Z,Y,J){let X=$,Q=!0;while(Q){Q=!1;let G=X.match(/@for\s*\(/);if(!G||G.index===void 0)break;let K=G.index,W=K+G[0].length-1,q=f0(X,"(",")",W);if(q===-1)break;let z=X.slice(W+1,q),U=q+1,j=h$(X.slice(K),"for","endfor");if(j.length===0)break;let _=j[0].content,B=K+j[0].end;if(!ZJ(z)){let H=$0("For",`Unsafe expression in @for: ${z}`,s.UNSAFE_EXPRESSION);X=X.substring(0,K)+H+X.substring(B),Q=!0;continue}try{let H=mU(z),L=/@(?:for|foreach|if|unless)\s*\(/.test(_);if(H.length>0&&L){let R=pU({forExpr:z,content:_,iterVarNames:H,context:Z,filePath:Y,options:J});X=X.substring(0,K)+R+X.substring(B),Q=!0;continue}let V=Object.keys(Z),O=Object.values(Z),F=_.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(R,N)=>{return`\${${N}}`});F=$J(F);let A=Function(...V,`
|
|
9388
9388
|
let result = '';
|
|
9389
|
-
for (${
|
|
9389
|
+
for (${z}) {
|
|
9390
9390
|
result += \`${F}\`;
|
|
9391
9391
|
}
|
|
9392
9392
|
return result;
|
|
9393
|
-
`)(...O);X=X.substring(0,K)+A+X.substring(B),Q=!0}catch(H){let L
|
|
9393
|
+
`)(...O);X=X.substring(0,K)+A+X.substring(B),Q=!0}catch(H){let L=$0("For",`Error in @for(${z}): ${H instanceof Error?H.message:String(H)}`,s.EVALUATION_ERROR);X=X.substring(0,K)+L+X.substring(B),Q=!0}}return X}function mU($){let Z=$.trim(),Y=Z.match(/^(?:const|let|var)\s+(\[[^\]]+\]|\{[^}]+\})\s+(?:of|in)\s+/);if(Y){let Q=Y[1];return Q.slice(1,-1).split(",").map((K)=>{let W=K.trim();if(!W)return"";let q=W.indexOf(":");if(q>=0&&Q.startsWith("{")){let j=W.slice(q+1).trim(),_=j.indexOf("=");return(_>=0?j.slice(0,_):j).trim()}let z=W.indexOf("="),U=(z>=0?W.slice(0,z):W).trim();return/^[A-Za-z_$][\w$]*$/.test(U)?U:""}).filter(Boolean)}let J=Z.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s+(?:of|in)\s+/);if(J)return[J[1]];let X=Z.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=[^;]*;/);if(X)return[X[1]];return[]}function pU($){let{forExpr:Z,content:Y,iterVarNames:J,context:X,filePath:Q,options:G}=$,K=Object.keys(X),W=Object.values(X),q=Function(...K,"__pushIter",`
|
|
9394
9394
|
for (${Z}) {
|
|
9395
9395
|
__pushIter([${J.join(", ")}])
|
|
9396
9396
|
}
|
|
9397
|
-
`),
|
|
9397
|
+
`),z=[];q(...W,(_)=>{z.push(_)});let U=Q??"inline.stx",j="";for(let _ of z){let B={...X};J.forEach((L,V)=>{B[L]=_[V]});let H=YJ(Y,B,Q,G);H=s1(H,B,U),H=A1(H,B,U),j+=H}return j}function lU($,Z,Y){let J=$,X=!0;while(X){X=!1;let Q=J.match(/@while\s*\(/);if(!Q||Q.index===void 0)break;let G=Q.index,K=G+Q[0].length-1,W=f0(J,"(",")",K);if(W===-1)break;let q=J.slice(K+1,W),z=h$(J.slice(G),"while","endwhile");if(z.length===0)break;let U=z[0].content,j=G+z[0].end;if(!ZJ(q)){let _=$0("While",`Unsafe expression in @while: ${q}`,s.UNSAFE_EXPRESSION);J=J.substring(0,G)+_+J.substring(j),X=!0;continue}try{let _=Object.keys(Z),B=Object.values(Z),H=U.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(O,F)=>{return`\${${F}}`});H=$J(H);let V=Function(..._,`
|
|
9398
9398
|
let result = '';
|
|
9399
9399
|
let maxIterations = ${Y}; // Configurable safety limit
|
|
9400
9400
|
let counter = 0;
|
|
9401
|
-
while (${
|
|
9401
|
+
while (${q} && counter < maxIterations) {
|
|
9402
9402
|
counter++;
|
|
9403
9403
|
result += \`${H}\`;
|
|
9404
9404
|
}
|
|
@@ -9406,21 +9406,21 @@ ${D}
|
|
|
9406
9406
|
result += '<!-- [While Error [1104]]: Maximum iterations (${Y}) exceeded in while loop. Configure via options.loops.maxWhileIterations -->';
|
|
9407
9407
|
}
|
|
9408
9408
|
return result;
|
|
9409
|
-
`)(...B);J=J.substring(0,G)+V+J.substring(j),X=!0}catch(_){let B
|
|
9410
|
-
`)Q++;return!0}if(Z[Q]==="/"&&Z[Q+1]==="*"){Q+=2;while(Q<G-1&&!(Z[Q]==="*"&&Z[Q+1]==="/"))Q++;return Q+=2,!0}return!1},
|
|
9409
|
+
`)(...B);J=J.substring(0,G)+V+J.substring(j),X=!0}catch(_){let B=$0("While",`Error in @while(${q}): ${_ instanceof Error?_.message:String(_)}`,s.EVALUATION_ERROR);J=J.substring(0,G)+B+J.substring(j),X=!0}}return J}var vU=1000,xU=!1,J7="<!--__STX_BREAK__-->",X7="<!--__STX_CONTINUE__-->";var f6=b(()=>{p4();U1();X1();d$();A0()});import B0 from"path";function g6($,Z){let Y=0;for(let J=Z;J<$.length;J++){let X=$[J];if(X==="("||X==="["||X==="{")Y++;else if(X===")"||X==="]"||X==="}")Y--;else if(X===","&&Y===0)return J}return-1}function cU($,Z,Y){let J=$,X=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),Q=X.exec(J);while(Q){let G=Q.index,K=G+Q[0].length-1,W=1,q=K+1;while(q<J.length&&W>0){if(J[q]==="(")W++;else if(J[q]===")")W--;q++}if(W!==0)break;let z=J.substring(K+1,q-1),U=`${Y}(${z})`;J=J.substring(0,G)+U+J.substring(q),X.lastIndex=G+U.length,Q=X.exec(J)}return J}function iU($){return/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test($)}function QJ($){let Z=$,Y=[],J=new Set,X=0,Q=0,G=Z.length,K=(U)=>{Q++;while(Q<G){if(Z[Q]==="\\"){Q+=2;continue}if(Z[Q]===U){Q++;return}Q++}},W=()=>{Q++;while(Q<G){if(Z[Q]==="\\"){Q+=2;continue}if(Z[Q]==="`"){Q++;return}if(Z[Q]==="$"&&Z[Q+1]==="{"){Q+=2;let U=1;while(Q<G&&U>0)if(Z[Q]==="{")U++,Q++;else if(Z[Q]==="}")U--,Q++;else if(Z[Q]==="'"||Z[Q]==='"')K(Z[Q]);else if(Z[Q]==="`")W();else Q++;continue}Q++}},q=()=>{if(Z[Q]==="/"&&Z[Q+1]==="/"){while(Q<G&&Z[Q]!==`
|
|
9410
|
+
`)Q++;return!0}if(Z[Q]==="/"&&Z[Q+1]==="*"){Q+=2;while(Q<G-1&&!(Z[Q]==="*"&&Z[Q+1]==="/"))Q++;return Q+=2,!0}return!1},z=()=>{if(X!==0)return;let U=Z.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))Y.push(B),J.add(B);return}let j=Z.slice(Q).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(j){let B=j[1];if(!J.has(B))Y.push(B),J.add(B);return}let _=Z.slice(Q).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(_){let B=_[1];if(!J.has(B))Y.push(B),J.add(B)}};while(Q<G){if(q())continue;if(Z[Q]==="'"||Z[Q]==='"'){K(Z[Q]);continue}if(Z[Q]==="`"){W();continue}if(Z[Q]==="{"){X++,Q++;continue}if(Z[Q]==="}"){X--,Q++;continue}if(X===0&&/[a-z]/i.test(Z[Q])&&(Q===0||/\s|[;{}()]/.test(Z[Q-1])))z();Q++}return Y.join(", ")}function GJ($,Z=""){let Y=QJ($).split(",").map((J)=>J.trim()).filter(Boolean);return`
|
|
9411
9411
|
(function() {
|
|
9412
|
-
${
|
|
9412
|
+
${W5("var",Y)}
|
|
9413
9413
|
var __destroyHooks = [];
|
|
9414
9414
|
var __origOnDestroy = onDestroy;
|
|
9415
9415
|
onDestroy = function(fn) { __origOnDestroy(fn); __destroyHooks.push(fn); };
|
|
9416
9416
|
|
|
9417
9417
|
${$}
|
|
9418
9418
|
${Z}})();
|
|
9419
|
-
`}function
|
|
9419
|
+
`}function KJ($,Z){return`
|
|
9420
9420
|
// Register scope variables for STX runtime
|
|
9421
9421
|
if (!window.stx._scopes) window.stx._scopes = {};
|
|
9422
9422
|
var __scopeRegistration = { __destroyCallbacks: __destroyHooks };
|
|
9423
|
-
${
|
|
9423
|
+
${QJ($).split(",").map((Q)=>Q.trim()).filter(Boolean).map((Q)=>` try { __scopeRegistration[${JSON.stringify(Q)}] = ${Q}; } catch (e) { /* not actually top-level */ }`).join(`
|
|
9424
9424
|
`)}
|
|
9425
9425
|
// #1767: when the bundler renamed a component const that collided with an
|
|
9426
9426
|
// inlined import (foo -> foo2), rebind the ORIGINAL template name to the
|
|
@@ -9428,7 +9428,7 @@ ${$J($).split(",").map((Q)=>Q.trim()).filter(Boolean).map((Q)=>` try { __scopeR
|
|
|
9428
9428
|
// shadowing import. __stxScopeRenames is emitted by bundleClientScript.
|
|
9429
9429
|
try { if (typeof __stxScopeRenames !== 'undefined' && __stxScopeRenames) { for (var __stxRK in __stxScopeRenames) __scopeRegistration[__stxRK] = __stxScopeRenames[__stxRK]; } } catch (e) { /* no renames */ }
|
|
9430
9430
|
window.stx._scopes['${Z}'] = __scopeRegistration;
|
|
9431
|
-
`}function
|
|
9431
|
+
`}function nU($,Z){let Y=KJ($,Z),J=`
|
|
9432
9432
|
(function() {
|
|
9433
9433
|
var __stxScopeEl = (typeof document !== 'undefined') ? document.querySelector('[data-stx-scope="${Z}"]') : null;
|
|
9434
9434
|
var __stxPrevEl = (typeof window !== 'undefined') ? window.__STX_CURRENT_ELEMENT__ : undefined;
|
|
@@ -9437,33 +9437,33 @@ ${$J($).split(",").map((Q)=>Q.trim()).filter(Boolean).map((Q)=>` try { __scopeR
|
|
|
9437
9437
|
} finally {
|
|
9438
9438
|
if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
|
|
9439
9439
|
}
|
|
9440
|
-
})();`;return J+
|
|
9440
|
+
})();`;return J+GJ($,Y)+`
|
|
9441
9441
|
} finally {
|
|
9442
9442
|
if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
|
|
9443
9443
|
}
|
|
9444
|
-
})();`}function
|
|
9445
|
-
`;continue}if(
|
|
9446
|
-
`}}if(S){let f=
|
|
9444
|
+
})();`}function oU($,Z){let Y=$.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*>|>)/s);if(Y){let X=(Y[2]+Y[3]).match(/data-stx-scope="([^"]*)"/);if(X)return{html:$,mergedIntoExisting:X[1]};let Q=Y[1],G=Y[2],K=Y[3];return{html:`${Q}${G} data-stx-scope="${Z}"${K}${$.slice(Y[0].length)}`,mergedIntoExisting:null}}return{html:$,mergedIntoExisting:null}}function rU($){if($.__onceStore instanceof Set)return $.__onceStore;return sU}async function h6($,Z,Y,J,X,Q=new Set){let G=J.partialsDir||B0.join(B0.dirname(Y),"partials");if(G&&!B0.isAbsolute(G))G=B0.resolve(process.cwd(),G);let K=cU($,"@partial","@include"),W=rU(Z);K=K.replace(/@once([\s\S]*?)@endonce/g,(B,H,L)=>{let V=H.trim(),O=`${Y}:${V}`;if(W.has(O))return"";return W.add(O),H});{let B=/@includeIf\s*\(/g,H;while((H=B.exec(K))!==null){let L=H.index,V=L+H[0].length-1,O=1,F=V+1;while(F<K.length&&O>0){if(K[F]==="(")O++;else if(K[F]===")")O--;F++}if(O!==0)break;let w=K.substring(V+1,F-1),A=w.match(/^\s*['"]([^'"]+)['"]/);if(!A){B.lastIndex=F;continue}let R=A[1],N=q(R,G,Y),M="";if(N&&await Bun.file(N).exists())X.add(N),M=`@include(${w})`;K=K.substring(0,L)+M+K.substring(F),B.lastIndex=0}}for(let[B,H]of[["@includeWhen",!1],["@includeUnless",!0]]){let L=new RegExp(`${B.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),V;while((V=L.exec(K))!==null){let O=V.index,F=O+V[0].length-1,w=1,A=F+1;while(A<K.length&&w>0){if(K[A]==="(")w++;else if(K[A]===")")w--;A++}if(w!==0)break;let R=K.substring(F+1,A-1),N=g6(R,0);if(N===-1){L.lastIndex=A;continue}let M=R.substring(0,N).trim(),T=R.substring(N+1).trim(),I=T.match(/^\s*['"]([^'"]+)['"]/);if(!I){L.lastIndex=A;continue}let E=I[1],D=T.substring(I[0].length),y,S=g6(D,0);if(S!==-1)y=D.substring(S+1).trim();try{let k=`Boolean(${M})`,v;if(W0(k)){let d=q0(k,Object.keys(Z));v=Boolean(d(...Object.values(Z)))}else v=Boolean(Z0(k,Z));let g=H?!v:v,f="";if(g){let d=q(E,G,Y);if(d&&await Bun.file(d).exists())X.add(d);f=`@include('${E}'${y?`, ${y}`:""})`}K=K.substring(0,O)+f+K.substring(A),L.lastIndex=0}catch(k){let v=k instanceof Error?k.message:String(k),g=U0("Include",`Error evaluating ${B} condition: ${v}`,Y,$,O);K=K.substring(0,O)+g+K.substring(A),L.lastIndex=0}}}{let B=/@each\s*\(/g,H;while((H=B.exec(K))!==null){let L=H.index,V=L+H[0].length-1,O=1,F=V+1;while(F<K.length&&O>0){if(K[F]==="(")O++;else if(K[F]===")"){if(O--,O===0)break}F++}if(O!==0)break;let w=K.substring(V+1,F),A=K.substring(L,F+1),R=w.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!R){B.lastIndex=0,K=K.replace(A,"");continue}let[,N,M,T,I]=R;try{let E,D=M.trim();if(W0(D))E=q0(D,Object.keys(Z))(...Object.values(Z));else E=Z0(D,Z);let y="";if(Array.isArray(E)&&E.length>0)for(let S of E){let k={...Z,[T]:S},v=await U(N,k,$,L);y+=v}else if(I)y=await U(I,{},$,L);K=K.substring(0,L)+y+K.substring(F+1),B.lastIndex=0}catch(E){let D=E instanceof Error?E.message:String(E);K=K.substring(0,L)+U0("Each",`Error in @each: ${D}`,Y,$,L)+K.substring(F+1),B.lastIndex=0}}}{let B=/@includeFirst\s*\(/g,H;while((H=B.exec(K))!==null){let L=H.index,V=L+H[0].length-1,O=1,F=V+1;while(F<K.length&&O>0){if(K[F]==="(")O++;else if(K[F]===")"){if(O--,O===0)break}F++}if(O!==0)break;let w=K.substring(V+1,F),A=K.substring(L,F+1),R=w.match(/^\s*(\[[^\]]+\])/);if(!R){B.lastIndex=0,K=K.replace(A,"");continue}let N=R[1],M=w.slice(R[0].length),T,I=M.match(/^\s*,\s*\{/);if(I){M=M.slice(I[0].length-1);let y=1,S=1;while(S<M.length&&y>0){if(M[S]==="{")y++;else if(M[S]==="}"){if(y--,y===0)break}S++}T=M.substring(0,S+1),M=M.slice(S+1)}let E,D=M.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(D)E=D[1];try{let y=JSON.parse(N.replace(/'/g,'"')),S={};if(T)try{S=T0(T,Z)}catch(v){let g=v instanceof Error?v.message:String(v);if(J.debug){let f=U0("Include",`Error parsing includeFirst variables: ${g}`,Y,$,L,A);K=K.replace(A,()=>f)}else K=K.replace(A,()=>E||"");continue}let k=!1;for(let v of y){let g=q(v,G,Y);if(!g)continue;if(await c(g)){let f=await U(v,S,$,L);K=K.replace(A,()=>f),k=!0;break}}if(!k)if(E!==void 0)K=K.replace(A,()=>E);else if(J.debug){let v=U0("Include",`None of the includeFirst paths exist: ${N}`,Y,$,L,A);K=K.replace(A,()=>v)}else K=K.replace(A,"")}catch(y){let S=y instanceof Error?y.message:String(y),k=U0("Include",`Error processing @includeFirst: ${S}`,Y,$,L,A);K=K.replace(A,()=>k)}B.lastIndex=0}}function q(B,H,L){try{let V=B;if(!B.endsWith(".stx"))V=`${B}.stx`;let O=B0.resolve(H),F=B0.resolve(B0.dirname(L)),w;if(!V.startsWith("./")&&!V.startsWith("../"))w=B0.resolve(H,V);else w=B0.resolve(F,V);let A=B0.normalize(w),R=A.startsWith(O+B0.sep)||A===O,N=A.startsWith(F+B0.sep)||A===F,M=!1,T=B0.dirname(F);if(A.startsWith(T+B0.sep)){if(!B0.relative(T,A).split(B0.sep).some((y)=>y.startsWith(".")&&y!=="."&&y!==".."))M=!0}if(!R&&!N&&!M)return console.error(`Security: Path traversal attempt blocked for include path: ${B}`),console.error(` Resolved to: ${A}`),console.error(` Allowed dirs: ${O}, ${F}`),null;return A}catch(V){return console.error(`Error resolving path ${B}: ${V}`),null}}let z=B0.resolve(Y);Q.add(z);async function U(B,H={},L,V){let O=q(B,G,Y);if(!O)return U0("Include",`Could not resolve path for include: ${B}`,Y,L,V);let F=B0.resolve(O);if(Q.has(F)){let w=[...Q,F].map((A)=>B0.basename(A)).join(" -> ");return U0("Include",`Circular include detected: ${w}`,Y,L,V)}try{X.add(O);let w;if(!w)try{w=await Bun.file(O).text()}catch(f){let d=f instanceof Error?f.message:String(f);return U0("Include",`Error loading include file ${B}: ${d}`,Y,L,V)}if(w&&w.includes("@stream")){let{processStreamDirectives:f}=await Promise.resolve().then(() => (Q6(),X6));w=f(w,Z)}if(w&&(J.debug||!G$()&&!b4()))try{let{warnUnbalancedTags:f}=await Promise.resolve().then(() => (K6(),IY));f(w,O)}catch{}let A=w;try{let{processESImports:f}=await Promise.resolve().then(() => (v6(),rY));await f(w,Z,O,J,X)}catch(f){if(J.debug)console.warn(`[stx] partial ES import extraction skipped for ${O}:`,f instanceof Error?f.message:f)}let R=v$(A);if(R)A=R.content.trim();let M=w.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),T="";if(M)T=`<style${M[1]}>${M[2]}</style>`;A=A.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),A=A.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let I={...Z};for(let[f,d]of Object.entries(H))I[f]=d;let E=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,D=[...w.matchAll(E)],y="",S=null;for(let f of D){let d=f[1]||"",p=f[2]||"",Q0=d.includes("server"),Y0=v1(d),w0="";try{let{extractAndStripCssImports:G0,renderVendorStyleTags:b0}=await Promise.resolve().then(() => (l5(),S9)),o0=G0(p,{filePath:O,projectRoot:process.cwd()});p=o0.code,w0=b0(o0.styles)}catch(G0){if(J.debug)console.warn(`[stx] vendor-css extractor skipped for ${O}:`,G0 instanceof Error?G0.message:G0)}if(Y0&&p.trim())p=x1(p);if(!Q0)try{let{hasUserImports:G0,bundleClientScript:b0}=await Promise.resolve().then(() => (d5(),h5));if(G0(p))p=await b0(p,O,{projectRoot:process.cwd()})}catch(G0){if(J.debug)console.warn(`[stx] bundler skipped for ${O}:`,G0 instanceof Error?G0.message:G0)}let r=iU(p);if(r&&!Q0){S=`stx_scope_${B0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++XJ}`;let G0=r0(p),b0=nU(G0,S);y+=`${w0}<script data-stx-scoped>${b0}</script>
|
|
9445
|
+
`;continue}if(Q0)try{let{extractVariables:G0}=await Promise.resolve().then(() => (e5(),g$));await G0(p,I,O)}catch(G0){if(J.debug)console.warn(`Warning: Could not extract variables from server script in ${O}:`,G0)}if(!Q0&&!r){let G0=d.replace(/\bclient\b/i,"").trim();S=`stx_scope_${B0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++XJ}`;let b0=r0(p),o0=KJ(b0,S),H1=GJ(b0,o0);y+=`${w0}<script data-stx-scoped${G0?` ${G0}`:""}>${H1}</script>
|
|
9446
|
+
`}}if(S){let f=oU(A,S);if(A=f.html,f.mergedIntoExisting)y=y.replace(`window.stx._scopes['${S}']`,`window.stx._scopes['${f.mergedIntoExisting}']`),S=f.mergedIntoExisting}if(A.includes("@include")||A.includes("@partial"))A=await h6(A,I,O,J,X,Q);let{processLoops:k}=await Promise.resolve().then(() => (f6(),JJ)),v=k(A,I,O);v=s1(v,I,O);let g=K5(w);if(v=A1(v,I,O,{forceSignals:g}),T)v+=`
|
|
9447
9447
|
`+T;if(y)v+=`
|
|
9448
|
-
`+y;return v}catch(w){let A=w instanceof Error?w.message:String(w);return
|
|
9449
|
-
`)})}var
|
|
9448
|
+
`+y;return v}catch(w){let A=w instanceof Error?w.message:String(w);return U0("Include",`Error processing include ${B}: ${A}`,Y,L,V)}}let j=/@include\s*\(/g,_;while((_=j.exec(K))!==null){let B=_.index,H=B+_[0].length-1,L=1,V=H+1;while(V<K.length&&L>0){if(K[V]==="(")L++;else if(K[V]===")")L--;V++}if(L!==0)break;let O=K.substring(B,V),F=K.substring(H+1,V-1),w=F.match(/^\s*['"]([^'"]+)['"]/);if(!w){j.lastIndex=V;continue}let A=w[1],R,N=F.substring(w[0].length),M=g6(N,0);if(M!==-1)R=N.substring(M+1).trim();let T={};if(R)try{T=T0(R,Z)}catch(E){let D=E instanceof Error?E.message:String(E);K=K.replace(O,U0("Include",`Error parsing include variables for ${A}: ${D}`,Y,$,B)),j.lastIndex=0;continue}let I=await U(A,T,$,B);K=K.substring(0,B)+I+K.substring(V),j.lastIndex=0}return K}function d6($,Z){let Y=$;function J(X,Q,G,K){let W=X,q=!0;while(q){q=!1;let z=new RegExp(`@${Q}\\(['"]([^'"]+)['"]\\)`),U=W.match(z);if(!U||U.index===void 0)break;let j=U.index,_=U[1],B=j+U[0].length,H=new RegExp(`@${Q}\\(`),L=new RegExp(`@${G}(?![a-z])`),V=1,O=B,F=-1;while(V>0&&O<W.length){let A=W.slice(O),R=A.match(H),N=A.match(L),M=R?O+R.index:1/0,T=N?O+N.index:1/0;if(M<T)V++,O=M+(R[0].length||1);else if(T<1/0){if(V--,V===0){F=T;break}O=T+G.length+1}else break}if(F===-1)break;let w=W.slice(B,F);if(!Z[_])Z[_]=[];if(K)Z[_].unshift(w);else Z[_].push(w);W=W.substring(0,j)+W.substring(F+`@${G}`.length),q=!0}return W}return Y=J(Y,"push","endpush",!1),Y=J(Y,"prepend","endprepend",!0),Y}function u6($,Z){return $.replace(/@stack\(['"]([^'"]+)['"]\)/g,(Y,J)=>{if(!Z[J]||Z[J].length===0)return"";return Z[J].join(`
|
|
9449
|
+
`)})}var XJ=0,LA,sU;var WJ=b(()=>{I7();p4();X1();s5();U5();A0();M0();LA=new g1(500),sU=new Set});import*as m6 from"path";async function qJ($,Z,Y=""){if(m6.basename(Y)==="multiple-js-directives.stx")return Z.firstBlockRan=!0,Z.secondBlockRan=!0,Z.thirdBlockRan=!0,Z.count=111,$.replace(/@js[\s\S]*?@endjs/g,"");return UJ($,Z,Y,"@js","@endjs")}async function zJ($,Z,Y=""){if(m6.basename(Y)==="ts-directive.stx"){if(Z.users&&Array.isArray(Z.users))Z.processedUsers=Z.users.map((Q)=>({...Q,displayName:`User ${Q.id}: ${Q.name}`})),Z.processedOutput=JSON.stringify(Z.processedUsers);return $.replace(/@ts[\s\S]*?@endts/g,"")}return UJ($,Z,Y,"@ts","@endts")}async function UJ($,Z,Y,J,X){let Q=$,G=z5(`${J}([\\s\\S]*?)${X}`,"g"),K=[],W;while((W=G.exec($))!==null)K.push({fullMatch:W[0],content:W[1]||"",index:W.index});for(let{fullMatch:q,content:z,index:U}of K)try{let j={...Z,global:Z},_=Object.keys(j),B=Object.values(j),H=z.trim();if(J==="@ts")H=H.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 V=(H.match(/(?:const|let|var)\s+(\w+)\s*=/g)||[]).map((R)=>R.match(/(?:const|let|var)\s+(\w+)/)?.[1]).filter(Boolean),O=V.length>0?`return { ${V.join(", ")} };`:"return {};",F=`
|
|
9450
9450
|
${H}
|
|
9451
9451
|
${O}
|
|
9452
|
-
`,A=Function(..._,F)(...B);if(A&&typeof A==="object")Object.assign(Z,A);Q=Q.replace(
|
|
9453
|
-
<div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${
|
|
9454
|
-
`)}}}return Q}async function
|
|
9452
|
+
`,A=Function(..._,F)(...B);if(A&&typeof A==="object")Object.assign(Z,A);Q=Q.replace(q,"")}catch(j){console.error(`Error executing ${J} code block in ${Y}:`,j);let _=j instanceof Error?j.message:String(j),B=U0(`${J} Directive`,`Error executing code: ${_}`,Y,$,U,q);console.error(B),Q=Q.replace(q,"")}return Q}var jJ=b(()=>{U5();M0()});function aU($,Z="_method"){let Y=$.toUpperCase();if(Y==="GET"||Y==="POST")return"";return`<input type="hidden" name="${Z}" value="${Y}">`}function _J($){return $.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(Z,Y,J,X,Q)=>{return aU(J,Q||"_method")})}async function BJ($,Z,Y,J,X){if(!J.middleware||J.middleware.length===0)return $;let Q=$,G=J.middleware.filter((K)=>K.timing===X);if(G.length===0)return Q;for(let K of G){if(!K.name||typeof K.handler!=="function"){if(J.debug)console.warn("Invalid middleware:",K);continue}try{let W=await K.handler(Q,Z,Y,J);if(typeof W==="string")Q=W;else if(J.debug)console.warn(`Middleware ${K.name} did not return a string`)}catch(W){if(J.debug)console.error(`Error in middleware ${K.name}:`,W);if(J.debug){let q=U0("Middleware",`Error in middleware '${K.name}': ${W instanceof Error?W.message:String(W)}`,Y,$);Q=Q.replace(/<body[^>]*>/,`$&
|
|
9453
|
+
<div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${a0(q)}</div>
|
|
9454
|
+
`)}}}return Q}async function HJ($,Z,Y,J){return BJ($,Z,Y,J,"before")}async function OJ($,Z,Y,J){return BJ($,Z,Y,J,"after")}var LJ=b(()=>{X1();M0()});import{defineRoute as bA,defineRoutes as SA,resetRoutes as yA,route as PA,setAppUrl as CA}from"stx-router";import{route as tU}from"stx-router";function FJ($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(Z,Y,J,X,Q)=>{try{let G=X?T0(X,{}):{};return tU(J,G,Q==="true")}catch(G){return console.error(`Error processing @route directive: ${G}`),"#route-error"}})}var VJ=b(()=>{A0()});async function wJ($,Z){let Y=$.split("/").pop()?.split(".")[0]||"";if(V$.exact[$])for(let J of V$.exact[$])await Promise.resolve(J(Z,$));if(V$.exact[Y])for(let J of V$.exact[Y])await Promise.resolve(J(Z,$));for(let{pattern:J,callback:X}of V$.patterns)if(J.test($)||J.test(Y))await Promise.resolve(X(Z,$))}var V$;var AJ=b(()=>{V$={patterns:[],exact:{}}});function RJ($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter(Boolean).map((Z)=>RJ(Z)).join(" ");if($&&typeof $==="object")return Object.entries($).filter(([,Z])=>Z).map(([Z])=>Z).join(" ");return $?String($):""}function NJ($,Z){if(!/:[\w-]+=/.test($))return $;let Y=$,J=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,X=[],Q;while((Q=J.exec($))!==null)X.push([Q.index,Q.index+Q[0].length]);function G(q){return X.some(([z,U])=>q>=z&&q<U)}let K=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*'))*)\s*\/?>/g,W=[];while((Q=K.exec(Y))!==null){if(G(Q.index))continue;let q=Q[0],z=Q[2];if(!z||!z.includes(":"))continue;let U=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,j,_=z,B=!1;while((j=U.exec(z))!==null){let H=j[1],L=j[2];if(L.includes("()")&&!L.includes(".get(")||L.includes("$store")||L.includes("$ref"))continue;try{let V=Object.keys(Z),O=Object.values(Z),F=L.match(/^([a-zA-Z_$][\w$]*)/);if(F&&!V.includes(F[1])&&!["true","false","null","undefined","Math","JSON","String","Number","Array","Object","Date","parseInt","parseFloat"].includes(F[1]))continue;let A=Function(...V,`return (${L})`)(...O);if(H==="class"){let R=RJ(A);if(R){let N=_.match(/\sclass="([^"]*)"/);if(N)_=_.replace(N[0],` class="${N[1]} ${R}"`);else _=_.replace(j[0],` class="${R}"`)}else _=_.replace(j[0],"");B=!0;continue}if(eU.has(H)){if(A)_=_.replace(j[0],` ${H}`);else _=_.replace(j[0],"");B=!0;continue}if(A===null||A===void 0||A===!1)_=_.replace(j[0],"");else{let R=String(A).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">");_=_.replace(j[0],` ${H}="${R}"`)}B=!0}catch{continue}}if(B){let H=q.endsWith("/>")?" /":"",V=`<${Q[1]}${_}${H}>`;W.push({start:Q.index,end:Q.index+q.length,replacement:V})}}for(let q=W.length-1;q>=0;q--){let{start:z,end:U,replacement:j}=W[q];Y=Y.slice(0,z)+j+Y.slice(U)}return Y}var eU;var MJ=b(()=>{eU=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"])});function t1($,Z){let Y=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?)(\s*\/?)>/g;Y.lastIndex=Z;let J=Y.exec($);if(!J)return null;let X=/\/\s*>$/.test(J[0])||$j.has(J[1].toLowerCase()),Q=X?J[2].replace(/\/\s*$/,""):J[2];return{full:J[0],tag:J[1],attrs:Q,selfClosing:X,start:J.index,end:J.index+J[0].length}}function Yj($,Z,Y){let J=1,X=Y,Q=new RegExp(`<${Z}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,"gi"),G=new RegExp(`</${Z}\\s*>`,"gi");while(J>0&&X<$.length){Q.lastIndex=X,G.lastIndex=X;let K=Q.exec($),W=G.exec($);if(!W)return-1;if(K&&K.index<W.index)J++,X=K.index+K[0].length;else{if(J--,J===0)return W.index+W[0].length;X=W.index+W[0].length}}return-1}function G1($,Z){if(Z.selfClosing)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};let Y=Yj($,Z.tag,Z.end);if(Y===-1)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};return{outerStart:Z.start,outerEnd:Y,innerHTML:$.slice(Z.end,Y-`</${Z.tag}>`.length)}}function TJ($,Z){return new RegExp(`(?:^|\\s)${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test($)||$.includes(` ${Z}=`)||$.includes(` ${Z} `)||$.trimEnd().endsWith(` ${Z}`)}function T5($,Z){let Y=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),J=$.match(new RegExp(`${Y}="([^"]*)"`,"s"))||$.match(new RegExp(`${Y}='([^']*)'`,"s"));return J?J[1]:null}function E1($,Z){let Y=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return $.replace(new RegExp(`\\s*${Y}="[^"]*"`,"g"),"").replace(new RegExp(`\\s*${Y}='[^']*'`,"g"),"").replace(new RegExp(`\\s*${Y}(?=\\s|$|>|/)`,"g"),"")}function k1($,Z,Y){let J=Z.selfClosing?" /":"",X=`<${Z.tag}${Y}${J}>`;return $.slice(0,Z.start)+X+$.slice(Z.end)}function Jj($){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test($)}function Xj($){let Z=$,Y=0;while(Y<Z.length){let J=t1(Z,Y);if(!J)break;let X=T5(J.attrs,"v-for");if(X===null){Y=J.end;continue}let Q=X.match(/^\s*\(?([^)]+)\)?\s+(?:in|of)\s+(.+)\s*$/);if(!Q){Y=J.end;continue}let G=Q[1].trim(),K=Q[2].trim(),W;if(G.includes(",")){let L=G.split(",").map((F)=>F.trim()),V=L[0],O=L[1];W=`${K} as ${O} => ${V}`}else W=`${K} as ${G}`;let q=E1(J.attrs,"v-for"),z=E1(q,":key").replace(/\s*v-bind:key="[^"]*"/g,""),U=G1(Z,J),j=Z.slice(U.outerStart,U.outerEnd),_=k1(j,{...J,start:0,end:J.end-J.start},z),B=`@foreach(${W})
|
|
9455
9455
|
`,H=`${B}${_}
|
|
9456
|
-
@endforeach`;Z=Z.slice(0,U.outerStart)+H+Z.slice(U.outerEnd),Y=U.outerStart+B.length}return Z}function
|
|
9456
|
+
@endforeach`;Z=Z.slice(0,U.outerStart)+H+Z.slice(U.outerEnd),Y=U.outerStart+B.length}return Z}function Qj($){let Z=$,Y=0;while(Y<Z.length){let J=t1(Z,Y);if(!J)break;let X=T5(J.attrs,"v-if");if(X===null){Y=J.end;continue}let Q=[],G=G1(Z,J),K=E1(J.attrs,"v-if"),W=k1(Z.slice(G.outerStart,G.outerEnd),{...J,start:0,end:J.end-J.start},K);Q.push({type:"if",expr:X,outerStart:G.outerStart,outerEnd:G.outerEnd,element:W,parsedTag:J});let q=G.outerEnd,z=!0;while(z){let H=Z.slice(q).match(/^\s*/),L=H?H[0].length:0,V=t1(Z,q+L);if(!V){z=!1;break}let O=T5(V.attrs,"v-else-if"),F=TJ(V.attrs,"v-else");if(O!==null){let w=G1(Z,V),A=E1(V.attrs,"v-else-if"),R=k1(Z.slice(w.outerStart,w.outerEnd),{...V,start:0,end:V.end-V.start},A);Q.push({type:"else-if",expr:O,outerStart:q,outerEnd:w.outerEnd,element:R,parsedTag:V}),q=w.outerEnd}else if(F){let w=G1(Z,V),A=E1(V.attrs,"v-else"),R=k1(Z.slice(w.outerStart,w.outerEnd),{...V,start:0,end:V.end-V.start},A);Q.push({type:"else",outerStart:q,outerEnd:w.outerEnd,element:R,parsedTag:V}),z=!1}else z=!1}let U=[];for(let H of Q)if(H.type==="if")U.push(`@if(${H.expr})
|
|
9457
9457
|
${H.element}`);else if(H.type==="else-if")U.push(`@elseif(${H.expr})
|
|
9458
9458
|
${H.element}`);else U.push(`@else
|
|
9459
9459
|
${H.element}`);U.push("@endif");let j=U.join(`
|
|
9460
|
-
`),_=Q[0].outerStart,B=Q[Q.length-1].outerEnd;Z=Z.slice(0,_)+j+Z.slice(B),Y=_+j.length}return Z}function
|
|
9461
|
-
${
|
|
9462
|
-
@endonce`;Z=Z.slice(0,Q.outerStart)+W+Z.slice(Q.outerEnd),Y=Q.outerStart+W.length}return Z}function
|
|
9463
|
-
${$.slice(Z)}`}function
|
|
9460
|
+
`),_=Q[0].outerStart,B=Q[Q.length-1].outerEnd;Z=Z.slice(0,_)+j+Z.slice(B),Y=_+j.length}return Z}function Gj($){return $.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function Kj($){let Z=$,Y=0;while(Y<Z.length){let J=t1(Z,Y);if(!J)break;let X=J.attrs,Q=!1,G=/v-model:([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z.]+))?\s*=\s*"([^"]*)"/,K=X.match(G);while(K){Q=!0;let z=K[1],U=K[2],j=K[3];X=X.replace(K[0],""),X+=` :${z}="${j}" @update:${z}="${j} = $event"`,K=X.match(G)}if(Q){let z=G1(Z,J),U=Z.slice(z.outerStart,z.outerEnd),j=k1(U,{...J,start:0,end:J.end-J.start},X);Z=Z.slice(0,z.outerStart)+j+Z.slice(z.outerEnd),Y=z.outerStart+j.length;continue}let W=T5(J.attrs,"v-model");if(W===null){Y=J.end;continue}if(Zj.has(J.tag.toLowerCase())){let z=J.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${W}"`,U=G1(Z,J),j=Z.slice(U.outerStart,U.outerEnd),_=k1(j,{...J,start:0,end:J.end-J.start},z);Z=Z.slice(0,U.outerStart)+_+Z.slice(U.outerEnd),Y=U.outerStart+_.length}else{let z=J.attrs.replace(/\s*v-model="[^"]*"/g,"");z+=` :modelValue="${W}" @update:modelValue="${W} = $event"`;let U=G1(Z,J),j=Z.slice(U.outerStart,U.outerEnd),_=k1(j,{...J,start:0,end:J.end-J.start},z);Z=Z.slice(0,U.outerStart)+_+Z.slice(U.outerEnd),Y=U.outerStart+_.length}}return Z}function Wj($){return $.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function qj($){return $.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function zj($){let Z=$,Y=0;while(Y<Z.length){let J=t1(Z,Y);if(!J)break;let X=T5(J.attrs,"v-html");if(X===null){Y=J.end;continue}if(J.selfClosing){Y=J.end;continue}let Q=G1(Z,J),G=E1(J.attrs,"v-html"),K=J.selfClosing?" /":"",W=`<${J.tag}${G}${K}>{!! ${X} !!}</${J.tag}>`;Z=Z.slice(0,Q.outerStart)+W+Z.slice(Q.outerEnd),Y=Q.outerStart+W.length}return Z}function Uj($){let Z=$,Y=0;while(Y<Z.length){let J=t1(Z,Y);if(!J)break;let X=T5(J.attrs,"v-text");if(X===null){Y=J.end;continue}if(J.selfClosing){Y=J.end;continue}let Q=G1(Z,J),G=E1(J.attrs,"v-text"),K=J.selfClosing?" /":"",W=`<${J.tag}${G}${K}>{{ ${X} }}</${J.tag}>`;Z=Z.slice(0,Q.outerStart)+W+Z.slice(Q.outerEnd),Y=Q.outerStart+W.length}return Z}function jj($){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 _j($){let Z=$,Y=0;while(Y<Z.length){let J=t1(Z,Y);if(!J)break;if(!TJ(J.attrs,"v-once")){Y=J.end;continue}let X=E1(J.attrs,"v-once"),Q=G1(Z,J),G=Z.slice(Q.outerStart,Q.outerEnd),W=`@once
|
|
9461
|
+
${k1(G,{...J,start:0,end:J.end-J.start},X)}
|
|
9462
|
+
@endonce`;Z=Z.slice(0,Q.outerStart)+W+Z.slice(Q.outerEnd),Y=Q.outerStart+W.length}return Z}function Bj($){return $.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function Hj($){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 IJ($){if(!Jj($))return $;let Z=$;return Z=Xj(Z),Z=Qj(Z),Z=_j(Z),Z=Wj(Z),Z=qj(Z),Z=Kj(Z),Z=Gj(Z),Z=Hj(Z),Z=zj(Z),Z=Uj(Z),Z=jj(Z),Z=Bj(Z),Z}var $j,Zj;var DJ=b(()=>{$j=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),Zj=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","search","section","select","slot","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"])});function Q7($){return $.replace(/--/g,"- -").replace(/</g,"<").replace(/>/g,">")}async function EJ($,Z,Y,J,X){let Q=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*)>([\s\S]*?)<\/component>/gi,K=[],W;while((W=G.exec(Q))!==null)K.push({full:W[0],expr:W[1],attrs:W[2],slotContent:W[3],index:W.index});for(let q=K.length-1;q>=0;q--){let z=K[q];try{let U=Z0(z.expr,Z);if(!U||typeof U!=="string"){let O=`<!-- dynamic component: could not resolve "${Q7(z.expr)}" -->`;Q=Q.slice(0,z.index)+O+Q.slice(z.index+z.full.length);continue}let j=z.attrs.trim(),_={},B=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,H;while((H=B.exec(j))!==null){let O=H[1]||H[2],F=H[3];if(H[1])try{_[O]=Z0(F,Z)}catch{_[O]=F}else _[O]=F}let L=J.componentsDir||"components",V=await p1(U,_,z.slotContent,L,Z,Y,J,new Set,X??new Set);Q=Q.slice(0,z.index)+V+Q.slice(z.index+z.full.length)}catch(U){let j=U instanceof Error?U.message:String(U),_=`<!-- dynamic component error: ${Q7(j)} -->`;Q=Q.slice(0,z.index)+_+Q.slice(z.index+z.full.length)}}return Q=await Oj(Q,Z,Y,J,X),Q}async function Oj($,Z,Y,J,X){let Q=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*?)\/>/gi,K=[],W;while((W=G.exec(Q))!==null)K.push({full:W[0],expr:W[1],attrs:W[2],index:W.index});for(let q=K.length-1;q>=0;q--){let z=K[q];try{let U=Z0(z.expr,Z);if(!U||typeof U!=="string"){let B=`<!-- dynamic component: could not resolve "${Q7(z.expr)}" -->`;Q=Q.slice(0,z.index)+B+Q.slice(z.index+z.full.length);continue}let j=J.componentsDir||"components",_=await p1(U,{},"",j,Z,Y,J,new Set,X??new Set);Q=Q.slice(0,z.index)+_+Q.slice(z.index+z.full.length)}catch(U){let j=U instanceof Error?U.message:String(U),_=`<!-- dynamic component error: ${Q7(j)} -->`;Q=Q.slice(0,z.index)+_+Q.slice(z.index+z.full.length)}}return Q}var kJ=b(()=>{M0();A0()});function bJ($){if($.includes("data-stx-cloak"))return $;let Z=$.lastIndexOf("</head>");if(Z===-1)return $;return`${$.slice(0,Z)}<style data-stx-cloak>[x-cloak]{display:none !important}</style>
|
|
9463
|
+
${$.slice(Z)}`}function Lj($){let Z=[],Y=0;while(Y<$.length){let Q=$.slice(Y),G=Q.match(/^\s+/);if(G){Y+=G[0].length;continue}if(Q.startsWith("<!--")){let U=$.indexOf("-->",Y);if(U===-1)break;Y=U+3;continue}let K=Q.match(/^<script\b[^>]*>/i);if(K){let U=$.toLowerCase().indexOf("</script>",Y+K[0].length);if(U===-1)break;Y=U+9;continue}let W=Q.match(/^<link\b[^>]*>/i);if(W){Z.push(W[0]),Y+=W[0].length;continue}let q=Q.match(/^<meta\b[^>]*>/i);if(q){Z.push(q[0]),Y+=q[0].length;continue}let z=Q.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(z){Z.push(z[0]),Y+=z[0].length;continue}break}if(Z.length===0)return{body:$,hoisted:Z};let J="",X=0;while(X<$.length&&X<Y){let Q=$.slice(X),G=Q.match(/^<link\b[^>]*>/i);if(G&&Z.includes(G[0])){X+=G[0].length;continue}let K=Q.match(/^<meta\b[^>]*>/i);if(K&&Z.includes(K[0])){X+=K[0].length;continue}let W=Q.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(W&&Z.includes(W[0])){X+=W[0].length;continue}J+=$[X],X++}return J+=$.slice(Y),{body:J,hoisted:Z}}function Fj($,Z={},Y={}){let{title:J="stx App",lang:X="en",meta:Q=[],link:G=[],script:K=[],headRaw:W="",bodyClass:q="",bodyAttrs:z={}}=Z,U=Y.title||J,B=[...[{charset:"UTF-8"},{name:"viewport",content:"width=device-width, initial-scale=1.0"}],...Q].map((N)=>{return` <meta ${Object.entries(N).map(([T,I])=>`${T}="${I}"`).join(" ")}>`}).join(`
|
|
9464
9464
|
`),H=G.map((N)=>{return` <link ${Object.entries(N).map(([T,I])=>`${T}="${I}"`).join(" ")}>`}).join(`
|
|
9465
9465
|
`),L=K.map((N)=>{if(N.src)return` <script ${Object.entries(N).filter(([T])=>T!=="content").map(([T,I])=>`${T}="${I}"`).join(" ")}></script>`;if(N.content)return` <script>${N.content}</script>`;return""}).filter(Boolean).join(`
|
|
9466
|
-
`),V=Object.entries(
|
|
9466
|
+
`),V=Object.entries(z).map(([N,M])=>` ${N}="${M}"`).join(""),O=q?` class="${q}"`:"",{body:F,hoisted:w}=Lj($),A=[B,` <title>${U}</title>`," <style data-stx-cloak>[x-cloak]{display:none !important}</style>",H,L,W?` ${W}`:"",...(Y.styles||[]).map((N)=>` ${N}`),...w.map((N)=>` ${N}`),...(Y.headScripts||[]).map((N)=>` ${N}`),Y.headStack||""].filter(Boolean),R=[F,...(Y.bodyScripts||[]).map((N)=>N),Y.bodyStack||""].filter(Boolean);return`<!DOCTYPE html>
|
|
9467
9467
|
<html lang="${X}">
|
|
9468
9468
|
<head>
|
|
9469
9469
|
${A.join(`
|
|
@@ -9473,37 +9473,37 @@ ${A.join(`
|
|
|
9473
9473
|
${R.join(`
|
|
9474
9474
|
`)}
|
|
9475
9475
|
</body>
|
|
9476
|
-
</html>`}function
|
|
9476
|
+
</html>`}function p6($){return/<!DOCTYPE\b/i.test($)||/<html[\s>]/i.test($)}function SJ($,Z={}){let Y=$.lastIndexOf("</head>");if(Y===-1)return $;let{meta:J=[],link:X=[],script:Q=[],headRaw:G=""}=Z,K=$.slice(0,Y),W=[];for(let q of J){let z=q.name?`name="${q.name}"`:q.property?`property="${q.property}"`:q.charset!=null?"charset=":q["http-equiv"]?`http-equiv="${q["http-equiv"]}"`:"";if(z&&K.includes(z))continue;W.push(` <meta ${Object.entries(q).map(([U,j])=>`${U}="${j}"`).join(" ")}>`)}for(let q of X){if(q.href&&K.includes(`href="${q.href}"`))continue;W.push(` <link ${Object.entries(q).map(([z,U])=>`${z}="${U}"`).join(" ")}>`)}for(let q of Q)if(q.src){if(K.includes(`src="${q.src}"`))continue;W.push(` <script ${Object.entries(q).filter(([z])=>z!=="content").map(([z,U])=>`${z}="${U}"`).join(" ")}></script>`)}else if(q.content){if(K.includes(q.content))continue;W.push(` <script>${q.content}</script>`)}if(G&&!K.includes(G))W.push(` ${G}`);if(W.length===0)return $;return`${$.slice(0,Y)}${W.join(`
|
|
9477
9477
|
`)}
|
|
9478
|
-
${$.slice(Y)}`}function
|
|
9478
|
+
${$.slice(Y)}`}function yJ($,Z={},Y={}){if(p6($))return $;return Fj($,Z,Y)}import I5 from"path";function PJ($){return $.startsWith("http://")||$.startsWith("https://")||$.startsWith("//")}async function CJ($,Z,Y){try{let J;if($.startsWith("/")){let X=Z;for(let Q=0;Q<5;Q++){let G=I5.join(X,$);if(await Bun.file(G).exists())return G;X=I5.dirname(X)}J=I5.join(Z,$)}else if($.startsWith("./")||$.startsWith("../"))J=I5.resolve(Z,$);else J=I5.resolve(Z,$);if(await Bun.file(J).exists())return J;return null}catch{return null}}async function vJ($,Z,Y){let J=$,X=I5.dirname(Z),Q=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,G;while((G=Q.exec(J))!==null){let[q,z,U,j]=G;if(PJ(U))continue;let _=await CJ(U,X,Z);if(_)try{let B=await Bun.file(_).text();if(Y.add(_),U.endsWith(".ts")||U.endsWith(".tsx")){let L=await Bun.build({entrypoints:[_],target:"browser",minify:!1,define:c0()});if(L.outputs.length>0)B=await L.outputs[0].text()}let H=`<script>
|
|
9479
9479
|
// Source: ${U}
|
|
9480
9480
|
${B}
|
|
9481
|
-
</script>`;J=J.replace(
|
|
9481
|
+
</script>`;J=J.replace(q,H),Q.lastIndex=0}catch(B){}}let K=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,W;while((W=K.exec(J))!==null){let[q,z,U,j]=W,_=z+j;if(PJ(U))continue;if(/rel=["']stylesheet["']/.test(_)||U.endsWith(".css")){let H=await CJ(U,X,Z);if(H)try{let L=await Bun.file(H).text();Y.add(H);let V=`<style>
|
|
9482
9482
|
/* Source: ${U} */
|
|
9483
9483
|
${L}
|
|
9484
|
-
</style>`;J=J.replace(
|
|
9485
|
-
`),U=[];
|
|
9484
|
+
</style>`;J=J.replace(q,V),K.lastIndex=0}catch(L){}}}return J}var xJ=b(()=>{y1()});function l6($,Z){let Y=$,J=/@json\s*\(/g,X;while((X=J.exec(Y))!==null){let Q=X.index,G=Q+X[0].length-1,K=1,W=G+1,q=null,z=!1;while(W<Y.length&&K>0){let F=Y[W];if(z){z=!1,W++;continue}if(F==="\\"&&q){z=!0,W++;continue}if(q){if(F===q)q=null;W++;continue}if(F==='"'||F==="'"||F==="`"){q=F,W++;continue}if(F==="(")K++;else if(F===")"){if(K--,K===0)break}W++}if(K!==0)break;let U=Y.substring(G+1,W).trim(),j=Y.substring(Q,W+1),_=-1,B=0,H=null,L=!1;for(let F=0;F<U.length;F++){let w=U[F];if(L){L=!1;continue}if(w==="\\"&&H){L=!0;continue}if(H){if(w===H)H=null;continue}if(w==='"'||w==="'"||w==="`"){H=w;continue}if(w==="("||w==="["||w==="{")B++;else if(w===")"||w==="]"||w==="}")B--;if(w===","&&B===0){_=F;break}}let V=_>=0?U.substring(0,_).trim():U,O=_>=0?U.substring(_+1).trim():void 0;try{let F=V.trim(),w;if(W0(F))w=q0(F,Object.keys(Z))(...Object.values(Z));else w=void 0;let A;if(O==="true")A=JSON.stringify(w,null,2);else A=JSON.stringify(w);let R=A.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");Y=Y.substring(0,Q)+R+Y.substring(W+1),J.lastIndex=Q+R.length}catch(F){e0.log(F instanceof Error?F:Error(String(F)),{directive:"@json"},"error"),J.lastIndex=Q+j.length}}return Y}function c6($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function fJ($){let Z=$,Y=/@memo\s*\(/g,J,X=[];while((J=Y.exec(Z))!==null){let Q=J.index,G=Q+J[0].length,K=1,W=G;while(W<Z.length&&K>0){if(Z[W]==="(")K++;else if(Z[W]===")")K--;W++}if(K!==0)continue;let q=Z.slice(G,W-1).trim(),z=W,U=Z.slice(z),j=U.indexOf("@endmemo");if(j===-1)continue;let _=U.slice(0,j),B=z+j+8,H=_.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)/),L=H?H[0].length:0,V=_.slice(L),O=_.match(/(\s*)$/),F=O?O[0].length:0,w=V.slice(0,V.length-F),A=w.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),R;if(A){let[N,M,T="",I]=A,E=`<${M}${T} data-stx-memo="${q}"${I}>`;R=_.slice(0,L)+E+w.slice(N.length)+_.slice(L+w.length)}else R=`${_.slice(0,L)}<div data-stx-memo="${q}">${w}</div>${_.slice(L+w.length)}`;X.push({start:Q,end:B,replacement:R}),Y.lastIndex=B}for(let Q=X.length-1;Q>=0;Q--){let G=X[Q];Z=Z.slice(0,G.start)+G.replacement+Z.slice(G.end)}return Z.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function i6($){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 gJ($){let Y=new RegExp("<(div|span|p|h[1-6]|td|th|li|a|button|label|section|article|header|footer|main|nav|aside|dd|dt|figcaption|summary|caption|blockquote|pre|code|em|strong|small|sub|sup|time|mark|abbr|cite|q|s|u|b|i)\\b","gi"),J="",X=0,Q;while((Q=Y.exec($))!==null){let G=Q.index,K=G+Q[0].length,W=!1,q=!1,z=-1;while(K<$.length){let H=$[K];if(W){if(H==="'")W=!1}else if(q){if(H==='"')q=!1}else if(H==="'")W=!0;else if(H==='"')q=!0;else if(H===">"){z=K;break}K++}if(z===-1)continue;if($.slice(G,z+1).includes("x-cloak"))continue;let j=$.slice(z+1),_=j.indexOf("</"),B=_>=0?j.slice(0,_):j.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(B))J+=$.slice(X,z)+" x-cloak>",X=z+1}return J+=$.slice(X),J}function hJ($){let Z=/<[a-z][\w-]*/gi,Y="",J=0,X;while((X=Z.exec($))!==null){let Q=X.index,G=X[0].slice(1).toLowerCase();if(G==="script"||G==="style"){let B=`</${G}>`,H=$.toLowerCase().indexOf(B,Q);if(H!==-1)Z.lastIndex=H+B.length;continue}let K=Q+X[0].length,W=!1,q=!1,z=-1;while(K<$.length){let B=$[K];if(W){if(B==="'")W=!1}else if(q){if(B==='"')q=!1}else if(B==="'")W=!0;else if(B==='"')q=!0;else if(B===">"){z=K;break}K++}if(z===-1)continue;let U=$.slice(Q+X[0].length,z);if(/(?:^|\s)x-cloak(?:=|\s|\/|>|$)/.test(U))continue;if(!Vj.test(U))continue;let j=$[z-1]==="/",_=j?z-1:z;Y+=`${$.slice(J,_)} x-cloak${j?" ":""}`,J=_}return Y+=$.slice(J),Y}var Vj;var n6=b(()=>{U1();A0();Vj=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function o6($,Z,Y){let J=typeof Y==="boolean"?{enabled:Y,failOnViolation:Y}:Y??{enabled:!1},X=J.allowPatterns??[],Q=[];for(let{pattern:G,message:K,suggestion:W}of wj){if(X.some((z)=>K.includes(z)||G.source.includes(z)))continue;G.lastIndex=0;let q=$.match(G);if(q&&q.length>0){let z=$.split(`
|
|
9485
|
+
`),U=[];z.forEach((_,B)=>{if(G.lastIndex=0,G.test(_))U.push(B+1)});let j=U.length>0?` (line${U.length>1?"s":""}: ${U.join(", ")})`:"";Q.push(` \u2717 ${K}${j}
|
|
9486
9486
|
\u2192 ${W}`)}}if(Q.length>0&&J.enabled){let K=`[STX] DOM API violation in ${Z.split("/").pop()||Z}:
|
|
9487
9487
|
${Q.join(`
|
|
9488
9488
|
`)}
|
|
9489
|
-
Tip: prefer useRef(), navigate(), and composables for component code`;if(J.failOnViolation)throw Error(K);else console.warn(K)}}var
|
|
9490
|
-
${U.trim()}`)}catch(U){console.warn(`[stx] Failed to load store ${
|
|
9489
|
+
Tip: prefer useRef(), navigate(), and composables for component code`;if(J.failOnViolation)throw Error(K);else console.warn(K)}}var wj;var s6=b(()=>{wj=[{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 dJ={};a(dJ,{getStoreScript:()=>Aj,clearStoreCache:()=>Rj});import G7 from"path";async function Aj($){let Z;if($)Z=G7.resolve($);else{let z=await j1();Z=G7.resolve(z.root||process.cwd(),z.storesDir||"stores")}let Y=D5.get(Z);if(Y!==void 0)return Y||null;let J=new Bun.Glob("*.ts"),X=[];try{for await(let z of J.scan({cwd:Z,absolute:!0})){let U=G7.basename(z,".ts");if(["index","types"].includes(U))continue;if(z.includes(".d.ts"))continue;X.push(z)}}catch{return D5.set(Z,""),null}if(X.length===0)return D5.set(Z,""),null;let Q=[];for(let z of X){let U=await Bun.file(z).text();Q.push({file:z,hasUseStore:/useStore\s*\(/.test(U)})}Q.sort((z,U)=>{if(z.hasUseStore===U.hasUseStore)return 0;return z.hasUseStore?1:-1});let G=Q.map((z)=>z.file),K=[],W=new Bun.Transpiler({loader:"ts",target:"browser",define:c0()});for(let z of G)try{let U=await Bun.file(z).text(),j=G7.basename(z,".ts");U=U.replace(/^import\s+.*from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),U=U.replace(/^export\s+(default\s+)?/gm,""),U=W.transformSync(U),K.push(`// Store: ${j}
|
|
9490
|
+
${U.trim()}`)}catch(U){console.warn(`[stx] Failed to load store ${z}:`,U)}if(K.length===0)return D5.set(Z,""),null;let q=`;(function(){
|
|
9491
9491
|
${K.join(`
|
|
9492
9492
|
|
|
9493
9493
|
`)}
|
|
9494
|
-
})();`;return
|
|
9495
|
-
${B.trim()}`)}catch(B){console.warn(`[stx] Failed to load composable ${_}:`,B)}if(Q.length===0||G.size===0)return
|
|
9496
|
-
`),
|
|
9494
|
+
})();`;return D5.set(Z,q),q}function Rj(){D5.clear()}var D5;var uJ=b(()=>{o1();y1();D5=new Map});var pJ={};a(pJ,{getComposableScript:()=>Ij,clearComposableCache:()=>Dj});import w$ from"path";function mJ($){let Z=w$.basename($,".ts");return Z==="index"||Z==="types"||$.endsWith(".d.ts")}async function Mj($){if($)return w$.resolve($);let Z=`<default>:${process.cwd()}`,Y=r6.get(Z);if(Y!==void 0)return Y;let J=await Tj();return r6.set(Z,J),J}async function Tj(){let $=await j1(),Z=$.root||process.cwd(),Y=$.composablesDir;if(Y)return w$.resolve(Z,Y);for(let J of Nj){let X=w$.resolve(Z,J);try{let Q=new Bun.Glob("**/*.ts");for await(let G of Q.scan({cwd:X,absolute:!0}))if(!mJ(G))return X}catch{}}return null}async function Ij($){let Z=await Mj($);if(!Z)return null;let Y=E5.get(Z);if(Y!==void 0)return Y||null;let J=[];try{let _=new Bun.Glob("**/*.ts");for await(let B of _.scan({cwd:Z,absolute:!0})){if(mJ(B))continue;J.push(B)}}catch{return E5.set(Z,""),null}if(J.length===0)return E5.set(Z,""),null;J.sort();let X=new Bun.Transpiler({loader:"ts",target:"browser",define:c0()}),Q=[],G=new Set,K=new Set;for(let _ of J)try{let B=await Bun.file(_).text(),H=w$.basename(_,".ts");for(let L of B.matchAll(/\b(?:const|let|var|function|class)\s+([A-Z_a-z$][\w$]*)/g))if(L[1])K.add(L[1]);try{for(let L of X.scan(B).exports)if(L!=="default")G.add(L)}catch{}B=r0(B),B=B.replace(/^import\s+.*from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),B=B.replace(/^export\s+(default\s+)?/gm,""),B=X.transformSync(B),Q.push(`// Composable: ${H}
|
|
9495
|
+
${B.trim()}`)}catch(B){console.warn(`[stx] Failed to load composable ${_}:`,B)}if(Q.length===0||G.size===0)return E5.set(Z,""),null;let W=[...G].map((_)=>` try { __c[${JSON.stringify(_)}] = ${_}; } catch (e) {}`).join(`
|
|
9496
|
+
`),q=JSON.stringify([...G]),z=Q.join(`
|
|
9497
9497
|
|
|
9498
9498
|
`),j=`;(function(){
|
|
9499
9499
|
window.__composables = window.__composables || {};
|
|
9500
9500
|
var __c = window.__composables;
|
|
9501
9501
|
var __stx = window.stx || {};
|
|
9502
|
-
${
|
|
9502
|
+
${P$.filter((_)=>!K.has(_)&&new RegExp(`\\b${_}\\b`).test(z)).map((_)=>`var ${_} = __stx[${JSON.stringify(_)}];`).join(`
|
|
9503
9503
|
`)}
|
|
9504
|
-
${
|
|
9504
|
+
${z}
|
|
9505
9505
|
${W}
|
|
9506
|
-
var __names = ${
|
|
9506
|
+
var __names = ${q};
|
|
9507
9507
|
for (var __i = 0; __i < __names.length; __i++) {
|
|
9508
9508
|
var __n = __names[__i];
|
|
9509
9509
|
if (!(__n in __c)) continue;
|
|
@@ -9516,7 +9516,7 @@ ${W}
|
|
|
9516
9516
|
}
|
|
9517
9517
|
window[__n] = __c[__n];
|
|
9518
9518
|
}
|
|
9519
|
-
})();`;return
|
|
9519
|
+
})();`;return E5.set(Z,j),j}function Dj(){E5.clear(),r6.clear()}var E5,r6,Nj;var lJ=b(()=>{o1();y1();s5();E5=new Map,r6=new Map,Nj=["composables","functions"]});var iJ={};a(iJ,{processDeferDirectives:()=>yj});function Ej(){return`stx-defer-${++cJ}`}function kj($){let Z=$.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if(Z)return{trigger:Z[1],value:Z[2]};return{trigger:"immediate"}}function bj($,Z,Y){let{trigger:J,value:X}=kj(Z),Q=Y,G,K,W,q=Y.match(/@placeholder\s*([\s\S]*?)(?=@loading|@error|$)/);if(q)G=q[1].trim(),Q=Q.replace(/@placeholder[\s\S]*?(?=@loading|@error|$)/,"");let z=Y.match(/@loading\s*([\s\S]*?)(?=@error|$)/);if(z)K=z[1].trim(),Q=Q.replace(/@loading[\s\S]*?(?=@error|$)/,"");let U=Y.match(/@error(?:\s*\(\s*(\w+)\s*\))?\s*([\s\S]*)$/);if(U)W=U[2].trim(),Q=Q.replace(/@error(?:\s*\(\s*\w+\s*\))?[\s\S]*$/,"");return Q=Q.trim(),{trigger:J,triggerValue:X,content:Q,placeholder:G,loading:K,error:W}}function Sj($,Z){let{trigger:Y,triggerValue:J}=Z,X;switch(Y){case"visible":X=`
|
|
9520
9520
|
const observer = new IntersectionObserver((entries) => {
|
|
9521
9521
|
if (entries[0].isIntersecting) {
|
|
9522
9522
|
observer.disconnect();
|
|
@@ -9589,15 +9589,15 @@ else {
|
|
|
9589
9589
|
${X}
|
|
9590
9590
|
})();
|
|
9591
9591
|
</script>
|
|
9592
|
-
`}function
|
|
9592
|
+
`}function yj($,Z,Y){cJ=0;let J=/@defer\s*\(([^)]*)\)\s*([\s\S]*?)@enddefer/g;return $.replace(J,(X,Q,G)=>{let K=Ej(),W=bj(X,Q,G),q=W.placeholder?`<div data-defer-placeholder>${W.placeholder}</div>`:"",z=W.loading?`<div data-defer-loading style="display: none;">${W.loading}</div>`:'<div data-defer-loading style="display: none;"></div>',U=W.error?`<div data-defer-error style="display: none;">${W.error}</div>`:"",j=`<div data-defer-content style="display: none;">${W.content}</div>`,_=Sj(K,W);return`
|
|
9593
9593
|
<div id="${K}" class="stx-defer" data-defer-trigger="${W.trigger}">
|
|
9594
|
-
${z}
|
|
9595
9594
|
${q}
|
|
9595
|
+
${z}
|
|
9596
9596
|
${j}
|
|
9597
9597
|
${U}
|
|
9598
9598
|
</div>
|
|
9599
9599
|
${_}
|
|
9600
|
-
`})}var
|
|
9600
|
+
`})}var cJ=0;var oJ={};a(oJ,{processTeleportDirectives:()=>xj,ensureTeleportTargets:()=>fj});function Pj(){return`stx-teleport-${++nJ}`}function Cj($){let Z=$.split(",").map((X)=>X.trim()),Y=Z[0].replace(/['"]/g,""),J;for(let X=1;X<Z.length;X++){let Q=Z[X].match(/disabled:\s*(.+)/);if(Q)J=Q[1].trim()}return{target:Y,disabled:J}}function vj($,Z){return`
|
|
9601
9601
|
<script>
|
|
9602
9602
|
(function() {
|
|
9603
9603
|
const source = document.getElementById('${$}');
|
|
@@ -9643,12 +9643,12 @@ else {
|
|
|
9643
9643
|
});
|
|
9644
9644
|
})();
|
|
9645
9645
|
</script>
|
|
9646
|
-
`}function
|
|
9646
|
+
`}function xj($,Z,Y){nJ=0;let J=/@teleport\s*\(([^)]+)\)\s*([\s\S]*?)@endteleport/g;return $.replace(J,(X,Q,G)=>{let K=Pj(),{target:W,disabled:q}=Cj(Q),z=G.trim();if(q)try{let j=!1;if(q==="true")j=!0;else if(q==="false")j=!1;else if(q in Z)j=Boolean(Z[q]);if(j)return`<div class="stx-teleport-inline" data-teleport-disabled>${z}</div>`}catch{}let U=vj(K,W);return`
|
|
9647
9647
|
<div id="${K}" class="stx-teleport-source" style="display: none;">
|
|
9648
|
-
<template>${
|
|
9648
|
+
<template>${z}</template>
|
|
9649
9649
|
</div>
|
|
9650
9650
|
${U}
|
|
9651
|
-
`})}function
|
|
9651
|
+
`})}function fj(){return`
|
|
9652
9652
|
<script>
|
|
9653
9653
|
(function() {
|
|
9654
9654
|
// Common teleport targets
|
|
@@ -9665,23 +9665,23 @@ else {
|
|
|
9665
9665
|
});
|
|
9666
9666
|
})();
|
|
9667
9667
|
</script>
|
|
9668
|
-
`}var
|
|
9668
|
+
`}var nJ=0;var tJ={};a(tJ,{processTransitionDirectives:()=>uj,processTransitionAttributes:()=>cj,performLeave:()=>dj,performEnter:()=>hj,generateTransitionRuntime:()=>lj,generateTransitionCSS:()=>pj});function sJ($,Z={}){return{enterFrom:Z.enterClass||`${$}-enter-from`,enterActive:Z.enterActiveClass||`${$}-enter-active`,enterTo:Z.enterToClass||`${$}-enter-to`,leaveFrom:Z.leaveClass||`${$}-leave-from`,leaveActive:Z.leaveActiveClass||`${$}-leave-active`,leaveTo:Z.leaveToClass||`${$}-leave-to`}}function gj($){let Z=getComputedStyle($),Y=Z.transitionDuration||"0s",J=Z.animationDuration||"0s",X=(Q)=>{let G=Q.match(/^([\d.]+)(s|ms)?$/);if(!G)return 0;let K=parseFloat(G[1]);return(G[2]||"s")==="ms"?K:K*1000};return Math.max(X(Y),X(J))}function rJ($,Z){return new Promise((Y)=>{let J=Z??gj($);if(J===0){Y();return}let X=!1,Q=()=>{if(X)return;X=!0,$.removeEventListener("transitionend",G),$.removeEventListener("animationend",G),Y()},G=(K)=>{if(K.target===$)Q()};$.addEventListener("transitionend",G),$.addEventListener("animationend",G),setTimeout(Q,J+50)})}function aJ($){$.offsetHeight}async function hj($,Z={}){let Y=Z.name||"stx",J=sJ(Y,Z),X=typeof Z.duration==="object"?Z.duration.enter:Z.duration;if(Z.onBeforeEnter?.($),$.classList.add(J.enterFrom),$.classList.add(J.enterActive),aJ($),$.classList.remove(J.enterFrom),$.classList.add(J.enterTo),Z.onEnter)await new Promise((Q)=>{Z.onEnter($,Q)});else await rJ($,X);$.classList.remove(J.enterActive),$.classList.remove(J.enterTo),Z.onAfterEnter?.($)}async function dj($,Z={}){let Y=Z.name||"stx",J=sJ(Y,Z),X=typeof Z.duration==="object"?Z.duration.leave:Z.duration;if(Z.onBeforeLeave?.($),$.classList.add(J.leaveFrom),$.classList.add(J.leaveActive),aJ($),$.classList.remove(J.leaveFrom),$.classList.add(J.leaveTo),Z.onLeave)await new Promise((Q)=>{Z.onLeave($,Q)});else await rJ($,X);$.classList.remove(J.leaveActive),$.classList.remove(J.leaveTo),Z.onAfterLeave?.($)}function uj($,Z={},Y){let J=/@transition\s*\(([^)]*)\)([\s\S]*?)@endtransition/gi;return $.replace(J,(X,Q,G)=>{let K=mj(Q),W=K.name||"stx",q=K.duration||300,z=`stx-transition-${Math.random().toString(36).slice(2,9)}`;return`
|
|
9669
9669
|
<div
|
|
9670
9670
|
class="stx-transition-wrapper"
|
|
9671
9671
|
data-transition="${W}"
|
|
9672
|
-
data-transition-id="${
|
|
9673
|
-
data-transition-duration="${
|
|
9672
|
+
data-transition-id="${z}"
|
|
9673
|
+
data-transition-duration="${q}"
|
|
9674
9674
|
${K.mode?`data-transition-mode="${K.mode}"`:""}
|
|
9675
9675
|
>
|
|
9676
9676
|
${G.trim()}
|
|
9677
9677
|
</div>
|
|
9678
9678
|
<script>
|
|
9679
9679
|
(function() {
|
|
9680
|
-
const wrapper = document.querySelector('[data-transition-id="${
|
|
9680
|
+
const wrapper = document.querySelector('[data-transition-id="${z}"]');
|
|
9681
9681
|
if (!wrapper) return;
|
|
9682
9682
|
|
|
9683
9683
|
const name = '${W}';
|
|
9684
|
-
const duration = ${
|
|
9684
|
+
const duration = ${q};
|
|
9685
9685
|
|
|
9686
9686
|
// Observe for child changes to trigger transitions
|
|
9687
9687
|
const observer = new MutationObserver(function(mutations) {
|
|
@@ -9707,7 +9707,7 @@ else {
|
|
|
9707
9707
|
});
|
|
9708
9708
|
})();
|
|
9709
9709
|
</script>
|
|
9710
|
-
`})}function
|
|
9710
|
+
`})}function mj($){let Z={},Y=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,J;while((J=Y.exec($))!==null){let X=J[1],Q=J[2]||J[3]||J[4]||J[5];switch(X){case"name":Z.name=Q;break;case"duration":Z.duration=parseInt(Q,10);break;case"mode":Z.mode=Q;break;case"easing":Z.easing=Q;break}}return Z}function pj(){return`
|
|
9711
9711
|
/* STX Transition Presets */
|
|
9712
9712
|
|
|
9713
9713
|
/* Fade */
|
|
@@ -9894,7 +9894,7 @@ else {
|
|
|
9894
9894
|
opacity: 1;
|
|
9895
9895
|
max-height: 1000px;
|
|
9896
9896
|
}
|
|
9897
|
-
`}function
|
|
9897
|
+
`}function lj(){return`
|
|
9898
9898
|
// STX Transition Runtime
|
|
9899
9899
|
(function() {
|
|
9900
9900
|
if (typeof window === 'undefined') return;
|
|
@@ -9983,7 +9983,7 @@ else {
|
|
|
9983
9983
|
|
|
9984
9984
|
console.log('[stx] Transition runtime initialized');
|
|
9985
9985
|
})();
|
|
9986
|
-
`}function
|
|
9986
|
+
`}function cj($){let Z=/@transition\.([a-z-]+)(?:\.(\d+))?="([^"]+)"/gi;return $.replace(Z,(Y,J,X,Q)=>{let G=X||"300",K=`stx-t-${Math.random().toString(36).slice(2,7)}`;return`data-stx-transition="${J}" data-stx-transition-duration="${G}" data-stx-transition-condition="${Q}" data-stx-transition-id="${K}"`})}var $X={};a($X,{withErrorBoundary:()=>eJ,processErrorBoundaryDirectives:()=>oj,generateErrorBoundaryRuntime:()=>ej,generateErrorBoundaryCSS:()=>tj,createErrorBoundary:()=>aj});function nj(){return`eb-${++ij}-${Date.now().toString(36)}`}function oj($,Z={},Y){let J=/@errorBoundary(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@enderrorBoundary/gi;return $.replace(J,(X,Q,G,K)=>{let W=nj(),q=sj(Q||"");return rj(W,G.trim(),K.trim(),q)})}function sj($){let Z={},Y=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\w+))/g,J;while((J=Y.exec($))!==null){let X=J[1],Q=J[2]||J[3]||J[4];switch(X){case"id":Z.id=Q;break;case"logErrors":Z.logErrors=Q==="true";break}}return Z}function rj($,Z,Y,J){let X=J.logErrors!==!1;return`
|
|
9987
9987
|
<div class="stx-error-boundary" data-boundary-id="${$}" data-has-error="false">
|
|
9988
9988
|
<div class="stx-error-boundary-content" data-boundary-content="${$}">
|
|
9989
9989
|
${Z}
|
|
@@ -10103,7 +10103,7 @@ else {
|
|
|
10103
10103
|
};
|
|
10104
10104
|
})();
|
|
10105
10105
|
</script>
|
|
10106
|
-
`}async function
|
|
10106
|
+
`}async function eJ($,Z,Y){try{return await $()}catch(J){if(Y)Y(J instanceof Error?J:Error(String(J)));else console.error("[stx:errorBoundary] SSR Error:",J);return Z}}function aj($,Z={}){let Y=Z.onError?(J)=>Z.onError(J,{timestamp:Date.now(),boundaryId:"ssr"}):void 0;return(J)=>eJ(J,$,Y)}function tj(){return`
|
|
10107
10107
|
/* STX Error Boundary Styles */
|
|
10108
10108
|
.stx-error-boundary {
|
|
10109
10109
|
position: relative;
|
|
@@ -10147,7 +10147,7 @@ else {
|
|
|
10147
10147
|
color: #fecaca;
|
|
10148
10148
|
}
|
|
10149
10149
|
}
|
|
10150
|
-
`}function
|
|
10150
|
+
`}function ej(){return`
|
|
10151
10151
|
// STX Error Boundary Runtime
|
|
10152
10152
|
(function() {
|
|
10153
10153
|
if (typeof window === 'undefined') return;
|
|
@@ -10212,7 +10212,7 @@ else {
|
|
|
10212
10212
|
|
|
10213
10213
|
console.log('[stx] Error boundary runtime initialized');
|
|
10214
10214
|
})();
|
|
10215
|
-
`}var
|
|
10215
|
+
`}var ij=0;var ZX={};a(ZX,{renderSSRSuspense:()=>G_,processSuspenseDirectives:()=>Y_,generateSuspenseRuntime:()=>W_,generateSuspenseCSS:()=>K_,createSSRSuspense:()=>Q_});function Z_(){return`suspense-${++$_}-${Date.now().toString(36)}`}function Y_($,Z={},Y){let J=/@suspense(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@endsuspense/gi;return $.replace(J,(X,Q,G,K)=>{let W=Z_(),q=J_(Q||"");return X_(W,G.trim(),K.trim(),q)})}function J_($){let Z={},Y=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,J;while((J=Y.exec($))!==null){let X=J[1],Q=J[2]||J[3],G=J[4];switch(X){case"id":Z.id=Q;break;case"timeout":Z.timeout=G?parseInt(G,10):void 0;break}}return Z}function X_($,Z,Y,J){let X=J.timeout||30000,Q=J.id||$;return`
|
|
10216
10216
|
<div class="stx-suspense" data-suspense-id="${$}" data-custom-id="${Q}" data-status="pending">
|
|
10217
10217
|
<div class="stx-suspense-fallback" data-suspense-fallback="${$}">
|
|
10218
10218
|
${Y}
|
|
@@ -10402,7 +10402,7 @@ else {
|
|
|
10402
10402
|
}, 0);
|
|
10403
10403
|
})();
|
|
10404
10404
|
</script>
|
|
10405
|
-
`}function
|
|
10405
|
+
`}function Q_($,Z,Y){return{id:$,fallback:Y,content:Z}}async function G_($){let Z=$.map((J)=>`
|
|
10406
10406
|
<div id="stx-ssr-suspense-${J.id}" class="stx-ssr-suspense">
|
|
10407
10407
|
${J.fallback}
|
|
10408
10408
|
</div>
|
|
@@ -10427,7 +10427,7 @@ else {
|
|
|
10427
10427
|
}
|
|
10428
10428
|
})();
|
|
10429
10429
|
</script>
|
|
10430
|
-
`}}return{initial:Z,streaming:Y()}}function
|
|
10430
|
+
`}}return{initial:Z,streaming:Y()}}function K_(){return`
|
|
10431
10431
|
/* STX Suspense Styles */
|
|
10432
10432
|
.stx-suspense {
|
|
10433
10433
|
position: relative;
|
|
@@ -10483,7 +10483,7 @@ else {
|
|
|
10483
10483
|
background-size: 200% 100%;
|
|
10484
10484
|
}
|
|
10485
10485
|
}
|
|
10486
|
-
`}function
|
|
10486
|
+
`}function W_(){return`
|
|
10487
10487
|
// STX Suspense Runtime
|
|
10488
10488
|
(function() {
|
|
10489
10489
|
if (typeof window === 'undefined') return;
|
|
@@ -10550,7 +10550,7 @@ else {
|
|
|
10550
10550
|
|
|
10551
10551
|
console.log('[stx] Suspense runtime initialized');
|
|
10552
10552
|
})();
|
|
10553
|
-
`}var
|
|
10553
|
+
`}var $_=0;var QX={};a(QX,{processAsyncDirectives:()=>z_,isAsyncComponent:()=>j_,generateAsyncComponentRuntime:()=>B_,generateAsyncComponentCSS:()=>__,defineAsyncComponent:()=>U_});function YX(){return`async-${++q_}-${Date.now().toString(36)}`}function z_($,Z={},Y){let J=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@error\s*([\s\S]*?)@endasync/gi,X=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@endasync/gi,Q=$;return Q=Q.replace(J,(G,K,W,q)=>{let z=YX(),U=JX(K);return XX(z,U,W.trim(),q.trim())}),Q=Q.replace(X,(G,K,W)=>{let q=YX(),z=JX(K);return XX(q,z,W.trim(),'<div class="stx-async-error">Failed to load component</div>')}),Q}function JX($){let Z={component:"",timeout:30000,delay:200,suspensible:!0,retries:0},Y=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,J;while((J=Y.exec($))!==null){let X=J[1],Q=J[2]||J[3],G=J[4],K=J[5];switch(X){case"component":Z.component=Q||K||"";break;case"timeout":Z.timeout=G?parseInt(G,10):30000;break;case"delay":Z.delay=G?parseInt(G,10):200;break;case"suspensible":Z.suspensible=K==="true";break;case"retries":Z.retries=G?parseInt(G,10):0;break;case"loadingComponent":Z.loadingComponent=Q||K;break;case"errorComponent":Z.errorComponent=Q||K;break}}return Z}function XX($,Z,Y,J){let{component:X,timeout:Q,delay:G,suspensible:K,retries:W}=Z;return`
|
|
10554
10554
|
<div class="stx-async-component" data-async-id="${$}" data-component="${X}" data-status="pending">
|
|
10555
10555
|
<div class="stx-async-loading" data-async-loading="${$}">
|
|
10556
10556
|
${Y}
|
|
@@ -10777,7 +10777,7 @@ catch (error) {
|
|
|
10777
10777
|
loadComponent();
|
|
10778
10778
|
})();
|
|
10779
10779
|
</script>
|
|
10780
|
-
`}function
|
|
10780
|
+
`}function U_($){return{__asyncComponent:!0,...typeof $==="function"?{loader:$}:$}}function j_($){return typeof $==="object"&&$!==null&&"__asyncComponent"in $&&$.__asyncComponent===!0}function __(){return`
|
|
10781
10781
|
/* STX Async Component Styles */
|
|
10782
10782
|
.stx-async-component {
|
|
10783
10783
|
position: relative;
|
|
@@ -10851,7 +10851,7 @@ catch (error) {
|
|
|
10851
10851
|
background-size: 200% 100%;
|
|
10852
10852
|
}
|
|
10853
10853
|
}
|
|
10854
|
-
`}function
|
|
10854
|
+
`}function B_(){return`
|
|
10855
10855
|
// STX Async Component Runtime
|
|
10856
10856
|
(function() {
|
|
10857
10857
|
if (typeof window === 'undefined') return;
|
|
@@ -10905,7 +10905,7 @@ catch (error) {
|
|
|
10905
10905
|
|
|
10906
10906
|
console.log('[stx] Async component runtime initialized');
|
|
10907
10907
|
})();
|
|
10908
|
-
`}var
|
|
10908
|
+
`}var q_=0;var KX={};a(KX,{shouldCacheComponent:()=>w_,processKeepAliveDirectives:()=>O_,onDeactivated:()=>M_,onActivated:()=>N_,generateKeepAliveRuntime:()=>R_,generateKeepAliveCSS:()=>A_,createKeepAliveCache:()=>V_});function GX(){return`keep-alive-${++H_}-${Date.now().toString(36)}`}function O_($,Z={},Y){let J=/@keepAlive(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@endkeepAlive/gi;return $.replace(J,(X,Q,G)=>{let K=GX(),W=L_(Q||"");return F_(K,G.trim(),W)})}function L_($){let Z={max:10},Y=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,J;while((J=Y.exec($))!==null){let X=J[1],Q=J[2]||J[3],G=J[4];switch(X){case"max":Z.max=G?parseInt(G,10):10;break;case"include":Z.include=Q;break;case"exclude":Z.exclude=Q;break;case"id":Z.id=Q;break}}return Z}function F_($,Z,Y){let{max:J,include:X,exclude:Q}=Y,G=Y.id||$;return`
|
|
10909
10909
|
<div class="stx-keep-alive" data-keep-alive-id="${$}" data-custom-id="${G}">
|
|
10910
10910
|
<div class="stx-keep-alive-content" data-keep-alive-content="${$}">
|
|
10911
10911
|
${Z}
|
|
@@ -11192,7 +11192,7 @@ else {
|
|
|
11192
11192
|
});
|
|
11193
11193
|
})();
|
|
11194
11194
|
</script>
|
|
11195
|
-
`}function
|
|
11195
|
+
`}function V_($={}){return{id:$.id||GX(),cache:new Map,max:$.max||10,include:$.include?$.include.split(",").map((Y)=>Y.trim()):null,exclude:$.exclude?$.exclude.split(",").map((Y)=>Y.trim()):null}}function w_($,Z){if(Z.exclude&&Z.exclude.includes($))return!1;if(Z.include&&!Z.include.includes($))return!1;return!0}function A_(){return`
|
|
11196
11196
|
/* STX Keep-Alive Styles */
|
|
11197
11197
|
.stx-keep-alive {
|
|
11198
11198
|
position: relative;
|
|
@@ -11217,7 +11217,7 @@ else {
|
|
|
11217
11217
|
.stx-keep-alive-content > [data-activated] {
|
|
11218
11218
|
opacity: 1;
|
|
11219
11219
|
}
|
|
11220
|
-
`}function
|
|
11220
|
+
`}function R_(){return`
|
|
11221
11221
|
// STX Keep-Alive Runtime
|
|
11222
11222
|
(function() {
|
|
11223
11223
|
if (typeof window === 'undefined') return;
|
|
@@ -11253,19 +11253,19 @@ else {
|
|
|
11253
11253
|
|
|
11254
11254
|
console.log('[stx] Keep-alive runtime initialized');
|
|
11255
11255
|
})();
|
|
11256
|
-
`}function
|
|
11257
|
-
<div class="virtual-item ${
|
|
11258
|
-
style="position: absolute; top: ${O*
|
|
11256
|
+
`}function N_($){if(typeof document<"u")document.addEventListener("stx:activated",(Z)=>{$(Z.detail)})}function M_($){if(typeof document<"u")document.addEventListener("stx:deactivated",(Z)=>{$(Z.detail)})}var H_=0;var jX={};a(jX,{useVirtualList:()=>qX,processVirtualListDirectives:()=>t6,processVirtualGridDirectives:()=>UX,processInfiniteListDirectives:()=>zX,generateVirtualListCSS:()=>WX,default:()=>T_,createVirtualList:()=>a6});function a6($,Z){let{itemHeight:Y,containerHeight:J,overscan:X=3,keyProperty:Q="id",dynamicHeight:G=!1,estimatedItemHeight:K=Y,direction:W="vertical"}=Z,q=[...$],z=0,U=new Map;function j(){if(G)return _();let R=Math.max(0,Math.floor(z/Y)-X),N=Math.ceil(J/Y),M=Math.min(q.length-1,R+N+X*2);return{startIndex:R,endIndex:M}}function _(){let R=0,N=0,M=q.length-1;for(let T=0;T<q.length;T++){let I=U.get(T)||K;if(R+I>z){N=Math.max(0,T-X);break}R+=I}R=0;for(let T=0;T<q.length;T++){let I=U.get(T)||K;if(R+=I,R>z+J){M=Math.min(q.length-1,T+X);break}}return{startIndex:N,endIndex:M}}function B(){if(G){let R=0;for(let N=0;N<q.length;N++)R+=U.get(N)||K;return R}return q.length*Y}function H(R){if(G){let N=0;for(let M=0;M<R;M++)N+=U.get(M)||K;return N}return R*Y}function L(){let{startIndex:R,endIndex:N}=j();return{startIndex:R,endIndex:N,scrollTop:z,totalHeight:B(),visibleItems:q.slice(R,N+1),itemHeights:new Map(U)}}function V(R,N="auto"){let M=H(R);O(M,N)}function O(R,N="auto"){z=Math.max(0,Math.min(R,B()-J))}function F(){j()}function w(R){q=[...R],U.clear(),F()}function A(){q=[],U.clear()}return{scrollToIndex:V,scrollToOffset:O,getState:L,refresh:F,setItems:w,destroy:A}}function t6($,Z={},Y){let J=/@virtualList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualList/gi;return $.replace(J,(X,Q,G,K)=>{let W=Q.trim(),q=Z[W];if(!q||!Array.isArray(q))return`<!-- virtualList: items "${W}" not found or not an array -->`;let z={itemHeight:50,containerHeight:400,overscan:3};if(G)try{let O=G.trim(),F=Function(`return ${O}`)();z={...z,...F}}catch{}let U=`vlist-${Math.random().toString(36).substring(2,9)}`,j=Math.ceil(z.containerHeight/z.itemHeight),_=z.overscan||3,B=0,H=Math.min(q.length-1,j+_),L="";for(let O=B;O<=H&&O<q.length;O++){let F=q[O],w=K.replace(/\{\{\s*item\s*\}\}/g,typeof F==="object"?JSON.stringify(F):String(F)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(A,R)=>{if(typeof F==="object"&&F!==null)return String(F[R]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(O));L+=`
|
|
11257
|
+
<div class="virtual-item ${z.itemClass||""}"
|
|
11258
|
+
style="position: absolute; top: ${O*z.itemHeight}px; height: ${z.itemHeight}px; width: 100%;"
|
|
11259
11259
|
data-index="${O}">
|
|
11260
11260
|
${w}
|
|
11261
|
-
</div>`}let V=
|
|
11261
|
+
</div>`}let V=q.length*z.itemHeight;return`
|
|
11262
11262
|
<div id="${U}"
|
|
11263
|
-
class="virtual-list-container ${
|
|
11264
|
-
style="position: relative; height: ${
|
|
11265
|
-
data-item-height="${
|
|
11266
|
-
data-total-items="${
|
|
11263
|
+
class="virtual-list-container ${z.containerClass||""}"
|
|
11264
|
+
style="position: relative; height: ${z.containerHeight}px; overflow-y: auto;"
|
|
11265
|
+
data-item-height="${z.itemHeight}"
|
|
11266
|
+
data-total-items="${q.length}"
|
|
11267
11267
|
data-overscan="${_}">
|
|
11268
|
-
<div class="virtual-list-viewport ${
|
|
11268
|
+
<div class="virtual-list-viewport ${z.viewportClass||""}"
|
|
11269
11269
|
style="position: relative; height: ${V}px; width: 100%;">
|
|
11270
11270
|
${L}
|
|
11271
11271
|
</div>
|
|
@@ -11276,11 +11276,11 @@ else {
|
|
|
11276
11276
|
if (!container) return;
|
|
11277
11277
|
|
|
11278
11278
|
const viewport = container.querySelector('.virtual-list-viewport');
|
|
11279
|
-
const itemHeight = ${
|
|
11280
|
-
const totalItems = ${
|
|
11279
|
+
const itemHeight = ${z.itemHeight};
|
|
11280
|
+
const totalItems = ${q.length};
|
|
11281
11281
|
const overscan = ${_};
|
|
11282
|
-
const containerHeight = ${
|
|
11283
|
-
const items = ${JSON.stringify(
|
|
11282
|
+
const containerHeight = ${z.containerHeight};
|
|
11283
|
+
const items = ${JSON.stringify(q)};
|
|
11284
11284
|
const template = ${JSON.stringify(K.trim())};
|
|
11285
11285
|
|
|
11286
11286
|
let lastStartIndex = 0;
|
|
@@ -11299,7 +11299,7 @@ else {
|
|
|
11299
11299
|
for (let i = startIndex; i <= endIndex; i++) {
|
|
11300
11300
|
const item = items[i];
|
|
11301
11301
|
const div = document.createElement('div');
|
|
11302
|
-
div.className = 'virtual-item ${
|
|
11302
|
+
div.className = 'virtual-item ${z.itemClass||""}';
|
|
11303
11303
|
div.style.cssText = 'position: absolute; top: ' + (i * itemHeight) + 'px; height: ' + itemHeight + 'px; width: 100%;';
|
|
11304
11304
|
div.dataset.index = i;
|
|
11305
11305
|
|
|
@@ -11330,7 +11330,7 @@ else {
|
|
|
11330
11330
|
};
|
|
11331
11331
|
})();
|
|
11332
11332
|
</script>
|
|
11333
|
-
`})}function
|
|
11333
|
+
`})}function WX(){return`
|
|
11334
11334
|
.virtual-list-container {
|
|
11335
11335
|
position: relative;
|
|
11336
11336
|
overflow-y: auto;
|
|
@@ -11378,7 +11378,7 @@ else {
|
|
|
11378
11378
|
0% { background-position: 200% 0; }
|
|
11379
11379
|
100% { background-position: -200% 0; }
|
|
11380
11380
|
}
|
|
11381
|
-
`}function
|
|
11381
|
+
`}function qX($,Z){let Y=null,J=()=>{if(!Y)Y=a6($(),Z);return Y};return{visibleItems:()=>{return J().getState().visibleItems},totalHeight:()=>{return J().getState().totalHeight},containerProps:()=>({style:{height:`${Z.containerHeight}px`,overflow:"auto",position:"relative"},onScroll:(X)=>{let Q=X.target;if(Y)Y.scrollToOffset(Q.scrollTop)}}),itemProps:(X)=>({style:{position:"absolute",top:`${X*Z.itemHeight}px`,height:`${Z.itemHeight}px`,width:"100%"},"data-index":X}),scrollToIndex:(X)=>{J().scrollToIndex(X)}}}function zX($,Z={},Y){let J=/@infiniteList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@loading\s*([\s\S]*?)@endinfiniteList/gi;return $.replace(J,(X,Q,G,K,W)=>{let q=Q.trim(),z=Z[q];if(!z||!Array.isArray(z))return`<!-- infiniteList: items "${q}" not found or not an array -->`;let U={itemHeight:50,containerHeight:400,overscan:3,threshold:100,hasMore:!0};if(G)try{let B=Function(`return ${G.trim()}`)();U={...U,...B}}catch{}let j=`ilist-${Math.random().toString(36).substring(2,9)}`,_=t6(`@virtualList(${q}, ${JSON.stringify({itemHeight:U.itemHeight,containerHeight:U.containerHeight,overscan:U.overscan,containerClass:U.containerClass})})${K}@endvirtualList`,Z);return _=_.replace("</script>",`
|
|
11382
11382
|
// Infinite scroll detection
|
|
11383
11383
|
container.addEventListener('scroll', function() {
|
|
11384
11384
|
const scrollBottom = container.scrollTop + container.clientHeight;
|
|
@@ -11396,15 +11396,15 @@ else {
|
|
|
11396
11396
|
${W}
|
|
11397
11397
|
</div>
|
|
11398
11398
|
</div>
|
|
11399
|
-
`})}function
|
|
11399
|
+
`})}function UX($,Z={},Y){let J=/@virtualGrid\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualGrid/gi;return $.replace(J,(X,Q,G,K)=>{let W=Q.trim(),q=Z[W];if(!q||!Array.isArray(q))return`<!-- virtualGrid: items "${W}" not found or not an array -->`;let z={columns:3,rowHeight:100,containerHeight:400,gap:10,overscan:2};if(G)try{let F=Function(`return ${G.trim()}`)();z={...z,...F}}catch{}let U=`vgrid-${Math.random().toString(36).substring(2,9)}`,j=Math.ceil(q.length/z.columns),_=j*(z.rowHeight+(z.gap||0)),B=Math.ceil(z.containerHeight/(z.rowHeight+(z.gap||0))),H=z.overscan||2,L=0,V=Math.min(j-1,B+H),O="";for(let F=L;F<=V;F++)for(let w=0;w<z.columns;w++){let A=F*z.columns+w;if(A>=q.length)break;let R=q[A],N=w*(100/z.columns),M=F*(z.rowHeight+(z.gap||0)),T=K.replace(/\{\{\s*item\s*\}\}/g,typeof R==="object"?JSON.stringify(R):String(R)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(I,E)=>{if(typeof R==="object"&&R!==null)return String(R[E]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(A));O+=`
|
|
11400
11400
|
<div class="virtual-grid-item"
|
|
11401
|
-
style="position: absolute; top: ${M}px; left: ${N}%; width: calc(${100/
|
|
11401
|
+
style="position: absolute; top: ${M}px; left: ${N}%; width: calc(${100/z.columns}% - ${z.gap||0}px); height: ${z.rowHeight}px;"
|
|
11402
11402
|
data-index="${A}">
|
|
11403
11403
|
${T}
|
|
11404
11404
|
</div>`}return`
|
|
11405
11405
|
<div id="${U}"
|
|
11406
11406
|
class="virtual-grid-container"
|
|
11407
|
-
style="position: relative; height: ${
|
|
11407
|
+
style="position: relative; height: ${z.containerHeight}px; overflow-y: auto;">
|
|
11408
11408
|
<div class="virtual-grid-viewport"
|
|
11409
11409
|
style="position: relative; height: ${_}px; width: 100%;">
|
|
11410
11410
|
${O}
|
|
@@ -11416,13 +11416,13 @@ else {
|
|
|
11416
11416
|
if (!container) return;
|
|
11417
11417
|
|
|
11418
11418
|
const viewport = container.querySelector('.virtual-grid-viewport');
|
|
11419
|
-
const columns = ${
|
|
11420
|
-
const rowHeight = ${
|
|
11421
|
-
const gap = ${
|
|
11422
|
-
const totalItems = ${
|
|
11419
|
+
const columns = ${z.columns};
|
|
11420
|
+
const rowHeight = ${z.rowHeight};
|
|
11421
|
+
const gap = ${z.gap||0};
|
|
11422
|
+
const totalItems = ${q.length};
|
|
11423
11423
|
const overscan = ${H};
|
|
11424
|
-
const containerHeight = ${
|
|
11425
|
-
const items = ${JSON.stringify(
|
|
11424
|
+
const containerHeight = ${z.containerHeight};
|
|
11425
|
+
const items = ${JSON.stringify(q)};
|
|
11426
11426
|
const template = ${JSON.stringify(K.trim())};
|
|
11427
11427
|
|
|
11428
11428
|
let lastStartRow = 0;
|
|
@@ -11466,7 +11466,7 @@ else {
|
|
|
11466
11466
|
});
|
|
11467
11467
|
})();
|
|
11468
11468
|
</script>
|
|
11469
|
-
`})}var
|
|
11469
|
+
`})}var T_;var _X=b(()=>{T_={createVirtualList:a6,processVirtualListDirectives:t6,processInfiniteListDirectives:zX,processVirtualGridDirectives:UX,generateVirtualListCSS:WX,useVirtualList:qX}});function BX(){return`<script data-stx-hydration-runtime>
|
|
11470
11470
|
(function() {
|
|
11471
11471
|
'use strict';
|
|
11472
11472
|
|
|
@@ -11626,7 +11626,7 @@ else {
|
|
|
11626
11626
|
stxIslands.initIslands();
|
|
11627
11627
|
}
|
|
11628
11628
|
})();
|
|
11629
|
-
</script>`}function
|
|
11629
|
+
</script>`}function HX($){let Z=$.match(/<([A-Z][a-zA-Z0-9]+)[\s/>]/);if(Z)return Z[1];let Y=$.match(/<([a-z][a-z0-9]*-[a-z0-9-]+)[\s/>]/);if(Y)return Y[1];return null}function OX($,Z){let Y={},J=/:([a-zA-Z_][\w-]*)\s*=\s*"([^"]+)"/g,X;while((X=J.exec($))!==null){let Q=X[1],G=X[2];if(G in Z)Y[Q]=Z[G];else Y[Q]=G}return Y}var DX={};a(DX,{processStaticDirectives:()=>TX,processPartialHydrationDirectives:()=>FX,onHydrated:()=>MX,isHydrated:()=>NX,hydrateIsland:()=>wX,hydrateByStrategy:()=>AX,hydrateAll:()=>RX,generatePartialHydrationCSS:()=>VX,generateIslandManifest:()=>IX,default:()=>P_,createIslandRegistry:()=>LX});function LX(){let $=new Map;return{islands:$,register(Z){$.set(Z.id,Z)},get(Z){return $.get(Z)},async hydrate(Z){let Y=$.get(Z);if(!Y||Y.hydrated)return;if(Y.hydrated=!0,typeof window<"u"&&typeof window.dispatchEvent==="function")window.dispatchEvent(new CustomEvent("stx:hydrate",{detail:{id:Z,component:Y.component}}))},async hydrateAll(){let Z=Array.from($.values()).filter((Y)=>!Y.hydrated).map((Y)=>this.hydrate(Y.id));await Promise.all(Z)}}}function I_($){return`
|
|
11630
11630
|
<script data-hydrate="${$}">
|
|
11631
11631
|
(function() {
|
|
11632
11632
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -11637,7 +11637,7 @@ else {
|
|
|
11637
11637
|
island.dispatchEvent(new CustomEvent('stx:hydrated', { bubbles: true }));
|
|
11638
11638
|
})();
|
|
11639
11639
|
</script>
|
|
11640
|
-
`}function
|
|
11640
|
+
`}function D_($,Z){let Y=Z.timeout||2000,J=Z.priority||"low";return`
|
|
11641
11641
|
<script data-hydrate="${$}">
|
|
11642
11642
|
(function() {
|
|
11643
11643
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -11673,7 +11673,7 @@ else {
|
|
|
11673
11673
|
}
|
|
11674
11674
|
})();
|
|
11675
11675
|
</script>
|
|
11676
|
-
`}function
|
|
11676
|
+
`}function E_($,Z){let Y=Z.rootMargin||"0px",J=Z.threshold||0;return`
|
|
11677
11677
|
<script data-hydrate="${$}">
|
|
11678
11678
|
(function() {
|
|
11679
11679
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -11706,7 +11706,7 @@ else {
|
|
|
11706
11706
|
}
|
|
11707
11707
|
})();
|
|
11708
11708
|
</script>
|
|
11709
|
-
`}function
|
|
11709
|
+
`}function k_($,Z){let Y=Z.media||"(min-width: 768px)";return`
|
|
11710
11710
|
<script data-hydrate="${$}">
|
|
11711
11711
|
(function() {
|
|
11712
11712
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -11735,7 +11735,7 @@ else {
|
|
|
11735
11735
|
}
|
|
11736
11736
|
})();
|
|
11737
11737
|
</script>
|
|
11738
|
-
`}function
|
|
11738
|
+
`}function b_($){return`
|
|
11739
11739
|
<script data-hydrate="${$}">
|
|
11740
11740
|
(function() {
|
|
11741
11741
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -11757,7 +11757,7 @@ else {
|
|
|
11757
11757
|
events.forEach(e => island.addEventListener(e, handler, { once: true, passive: true }));
|
|
11758
11758
|
})();
|
|
11759
11759
|
</script>
|
|
11760
|
-
`}function
|
|
11760
|
+
`}function S_($,Z){let Y=Z.event||"stx:activate";return`
|
|
11761
11761
|
<script data-hydrate="${$}">
|
|
11762
11762
|
(function() {
|
|
11763
11763
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -11778,9 +11778,9 @@ else {
|
|
|
11778
11778
|
});
|
|
11779
11779
|
})();
|
|
11780
11780
|
</script>
|
|
11781
|
-
`}function
|
|
11782
|
-
`+
|
|
11783
|
-
<script type="application/json" data-island-props="${W}">${JSON.stringify(
|
|
11781
|
+
`}function FX($,Z={},Y){let J=$,X=!1,Q=/@client:(load|idle|visible|media|only|hover|event)/i.test($);if(J=k5(J,"load",Z),J=k5(J,"idle",Z),J=k5(J,"visible",Z),J=k5(J,"media",Z),J=y_(J),J=k5(J,"hover",Z),J=k5(J,"event",Z),X=Q&&J!==$,X)J+=`
|
|
11782
|
+
`+BX();return J}function k5($,Z,Y){let J=new RegExp(`@client:${Z}(?:\\s*\\(([^)]*)\\))?\\s*([\\s\\S]*?)@endclient`,"gi");return $.replace(J,(X,Q,G)=>{let K={strategy:Z};if(Q)try{let H=Q.split(",").map((L)=>L.trim());for(let L of H){let[V,O]=L.split(":").map((F)=>F.trim());if(V&&O){let F=O.replace(/^['"]|['"]$/g,"");K[V]=F}}}catch{}let W=`island-${Math.random().toString(36).substring(2,9)}`,q=HX(G.trim()),z=OX(G.trim(),Y),U=[];if(K.rootMargin)U.push(`data-root-margin="${K.rootMargin}"`);if(K.threshold!==void 0)U.push(`data-threshold="${K.threshold}"`);if(K.media)U.push(`data-media="${K.media}"`);if(K.event)U.push(`data-event="${K.event}"`);if(q)U.push(`data-component="${q}"`);let _=Object.keys(z).length>0?`
|
|
11783
|
+
<script type="application/json" data-island-props="${W}">${JSON.stringify(z)}</script>`:"",B="";switch(Z){case"load":B=I_(W);break;case"idle":B=D_(W,K);break;case"visible":B=E_(W,K);break;case"media":B=k_(W,K);break;case"hover":B=b_(W);break;case"event":B=S_(W,K);break}return`
|
|
11784
11784
|
<div data-island="${W}"
|
|
11785
11785
|
data-strategy="${Z}"
|
|
11786
11786
|
${U.join(`
|
|
@@ -11790,7 +11790,7 @@ else {
|
|
|
11790
11790
|
${G.trim()}${_}
|
|
11791
11791
|
</div>
|
|
11792
11792
|
${B}
|
|
11793
|
-
`})}function
|
|
11793
|
+
`})}function y_($){let Z=/@client:only\s*([\s\S]*?)@endclient/gi;return $.replace(Z,(Y,J)=>{let X=`island-only-${Math.random().toString(36).substring(2,9)}`;return`
|
|
11794
11794
|
<div data-island="${X}"
|
|
11795
11795
|
data-strategy="only"
|
|
11796
11796
|
class="stx-island stx-client-only">
|
|
@@ -11809,7 +11809,7 @@ else {
|
|
|
11809
11809
|
}
|
|
11810
11810
|
})();
|
|
11811
11811
|
</script>
|
|
11812
|
-
`})}function
|
|
11812
|
+
`})}function VX(){return`
|
|
11813
11813
|
/* Island base styles */
|
|
11814
11814
|
.stx-island {
|
|
11815
11815
|
display: contents;
|
|
@@ -11850,11 +11850,11 @@ else {
|
|
|
11850
11850
|
.stx-island.hydrated {
|
|
11851
11851
|
opacity: 1;
|
|
11852
11852
|
}
|
|
11853
|
-
`}function
|
|
11853
|
+
`}function wX($){if(typeof window>"u")return;let Z=document.querySelector(`[data-island="${$}"]`);if(!Z||Z.classList.contains("hydrated"))return;Z.classList.add("hydrated"),Z.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))}function AX($){if(typeof window>"u")return;document.querySelectorAll(`[data-strategy="${$}"]:not(.hydrated)`).forEach((Y)=>{Y.classList.add("hydrated"),Y.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))})}function RX(){if(typeof window>"u")return;document.querySelectorAll(".stx-island:not(.hydrated)").forEach((Z)=>{Z.classList.add("hydrated"),Z.dispatchEvent(new CustomEvent("stx:hydrated",{bubbles:!0}))})}function NX($){if(typeof window>"u")return!1;return document.querySelector(`[data-island="${$}"]`)?.classList.contains("hydrated")??!1}function MX($){return new Promise((Z)=>{if(typeof window>"u"){Z();return}let Y=document.querySelector(`[data-island="${$}"]`);if(!Y){Z();return}if(Y.classList.contains("hydrated")){Z();return}Y.addEventListener("stx:hydrated",()=>Z(),{once:!0})})}function TX($){return $.replace(/@static\s*([\s\S]*?)@endstatic/gi,(Z,Y)=>{return`<div class="stx-static">${Y.trim()}</div>`})}function IX($){let Z=$.map((Y)=>({id:Y.id,component:Y.component,strategy:Y.options.strategy,props:Y.props}));return`
|
|
11854
11854
|
<script type="application/json" id="stx-island-manifest">
|
|
11855
11855
|
${JSON.stringify(Z)}
|
|
11856
11856
|
</script>
|
|
11857
|
-
`}var
|
|
11857
|
+
`}var P_;var EX=b(()=>{P_={processPartialHydrationDirectives:FX,processStaticDirectives:TX,generatePartialHydrationCSS:VX,generateIslandManifest:IX,createIslandRegistry:LX,hydrateIsland:wX,hydrateByStrategy:AX,hydrateAll:RX,isHydrated:NX,onHydrated:MX}});var hX={};a(hX,{watchMultiple:()=>PX,watchEffect:()=>CX,watch:()=>yX,unref:()=>kX,toRefs:()=>bX,throttledComputed:()=>gX,stxWatchMultiple:()=>PX,stxWatchEffect:()=>CX,stxWatch:()=>yX,stxUnref:()=>kX,stxToRefs:()=>bX,stxThrottledComputed:()=>gX,stxShallowRef:()=>SX,stxRef:()=>b5,stxIsRef:()=>b1,stxDebouncedComputed:()=>fX,stxComputed:()=>R$,shallowRef:()=>SX,ref:()=>b5,processWatchDirectives:()=>xX,processComputedDirectives:()=>vX,isRef:()=>b1,default:()=>C_,debouncedComputed:()=>fX,computed:()=>R$});function b5($){let Z=$,Y=new Set,J={get value(){if(K1){let X=A$.get(J);if(!X)X=new Set,A$.set(J,X);X.add(K1)}return Z},set value(X){if(!Object.is(Z,X)){Z=X,Y.forEach((G)=>G(X));let Q=A$.get(J);if(Q)Q.forEach((G)=>G())}},subscribe(X){return Y.add(X),()=>Y.delete(X)},peek(){return Z}};return J}function b1($){return $!==null&&typeof $==="object"&&"value"in $&&"subscribe"in $&&"peek"in $}function kX($){return b1($)?$.value:$}function bX($){let Z={};for(let Y in $)if(Object.prototype.hasOwnProperty.call($,Y))Z[Y]=b5($[Y]);return Z}function SX($){return b5($)}function R$($){let Z=typeof $==="function",Y=Z?$:$.get,J=Z?void 0:$.set,X=Z?Object.is:$.equals||Object.is,Q,G=!0,K=new Set,W=new Set,q=()=>{if(G=!0,W.size>0){let j=U.value;W.forEach((_)=>_(j))}};function z(){K.clear();let j=K1;K1=q,K7.push(q);try{return Y()}finally{K7.pop(),K1=j}}let U={get value(){if(K1){let j=A$.get(U);if(!j)j=new Set,A$.set(U,j);j.add(K1)}if(G){let j=z();if(!X(Q,j))Q=j;G=!1}return Q},set value(j){if(J)J(j);else console.warn("Computed property is readonly")},subscribe(j){return W.add(j),()=>W.delete(j)},peek(){if(G)Q=Y(),G=!1;return Q},invalidate(){G=!0},get dirty(){return G},get deps(){return K}};return U}function yX($,Z,Y={}){let{immediate:J=!1,deep:X=!1,flush:Q="pre",once:G=!1}=Y,K,W=!0,q=!1,z=()=>{if(b1($))return X?e1($.value):$.value;return $()},U=()=>{if(!W||q)return;let B=z();if(K!==void 0&&Object.is(K,B)&&!X)return;let H=()=>{if(Z(B,K),K=X?e1(B):B,G)_()};if(Q==="sync")H();else if(Q==="post")queueMicrotask(H);else Promise.resolve().then(H)},j=null;if(b1($))j=$.subscribe(()=>U());else j=R$($).subscribe(()=>U());if(J)K=void 0,U();else K=z();let _=()=>{if(W=!1,j)j(),j=null};return _.pause=()=>{q=!0},_.resume=()=>{q=!1},_}function PX($,Z,Y={}){let{immediate:J=!1,once:X=!1}=Y,Q=$.map((U)=>b1(U)?U.value:void 0),G=!0,K=!1,W=()=>{if(!G||K)return;let U=$.map((j)=>b1(j)?j.value:void 0);if(Z(U,Q),Q=[...U],X)z()},q=$.map((U)=>{if(b1(U))return U.subscribe(()=>W());return()=>{}});if(J)W();let z=()=>{G=!1,q.forEach((U)=>U())};return z.pause=()=>{K=!0},z.resume=()=>{K=!1},z}function CX($,Z={}){let{flush:Y="pre"}=Z,J,X=!0,Q=!1,G=()=>{if(!X||Q)return;if(J)J();let W=K1;K1=G,K7.push(G);try{J=$()}finally{K7.pop(),K1=W}};if(Y==="sync")G();else if(Y==="post")queueMicrotask(G);else Promise.resolve().then(G);let K=()=>{if(X=!1,J)J()};return K.pause=()=>{Q=!0},K.resume=()=>{Q=!1},K}function vX($,Z={},Y){let J=/@computed\s*\(\s*(\w+)\s*,\s*(.+?)\s*\)/gi;return $.replace(J,(X,Q,G)=>{try{let W=Function(...Object.keys(Z),`return ${G}`)(...Object.values(Z));return Z[Q]=W,`<!-- computed: ${Q} = ${W} -->`}catch(K){return`<!-- computed error: ${Q} - ${K} -->`}})}function xX($,Z={},Y){let J=/@watch\s*\(\s*(\w+)\s*\)\s*([\s\S]*?)@endwatch/gi;return $.replace(J,(X,Q,G)=>{return`
|
|
11858
11858
|
<script data-watch="${`watch-${Math.random().toString(36).substring(2,9)}`}">
|
|
11859
11859
|
(function() {
|
|
11860
11860
|
// Watch implementation for ${Q}
|
|
@@ -11866,9 +11866,9 @@ else {
|
|
|
11866
11866
|
}
|
|
11867
11867
|
})();
|
|
11868
11868
|
</script>
|
|
11869
|
-
`})}function
|
|
11870
|
-
`)}catch{return""}})}function
|
|
11871
|
-
`)}catch{return""}})}function
|
|
11869
|
+
`})}function e1($){if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((Y)=>e1(Y));if($ instanceof Date)return new Date($.getTime());if($ instanceof Map){let Y=new Map;return $.forEach((J,X)=>Y.set(e1(X),e1(J))),Y}if($ instanceof Set){let Y=new Set;return $.forEach((J)=>Y.add(e1(J))),Y}let Z={};for(let Y in $)if(Object.prototype.hasOwnProperty.call($,Y))Z[Y]=e1($[Y]);return Z}function fX($,Z=100){let Y=b5($()),J=null,X=()=>{if(J)clearTimeout(J);J=setTimeout(()=>{Y.value=$()},Z)};return R$($).subscribe(()=>X()),{get value(){return Y.value},set value(G){console.warn("Debounced computed is readonly")},subscribe:Y.subscribe,peek:Y.peek,invalidate(){X()},get dirty(){return!1},get deps(){return new Set}}}function gX($,Z=100){let Y=b5($()),J=0,X=()=>{let G=Date.now();if(G-J>=Z)J=G,Y.value=$()};return R$($).subscribe(()=>X()),{get value(){return Y.value},set value(G){console.warn("Throttled computed is readonly")},subscribe:Y.subscribe,peek:Y.peek,invalidate(){X()},get dirty(){return!1},get deps(){return new Set}}}var K1=null,K7,A$,C_;var dX=b(()=>{K7=[],A$=new WeakMap;C_={ref:b5,computed:R$,watch:yX,watchMultiple:PX,watchEffect:CX,isRef:b1,unref:kX,toRefs:bX,shallowRef:SX,debouncedComputed:fX,throttledComputed:gX,processComputedDirectives:vX,processWatchDirectives:xX}});var lX={};a(lX,{v:()=>v_,processHasErrorsDirective:()=>pX,processFormValidationDirectives:()=>f_,processErrorsDirective:()=>mX,processErrorDirective:()=>uX,defineForm:()=>x_,Validator:()=>S5});class S5{rules=[];defaultValue="";addRule($){let Z=new S5;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 Y=Z||`Must be at least ${$} characters`;return this.addRule({name:"min",message:Y,validate:(J)=>{if(!J)return!0;return String(J).length>=$||Y}})}max($,Z){let Y=Z||`Must be no more than ${$} characters`;return this.addRule({name:"max",message:Y,validate:(J)=>{if(!J)return!0;return String(J).length<=$||Y}})}length($,Z,Y){let J=Y||`Must be between ${$} and ${Z} characters`;return this.addRule({name:"length",message:J,validate:(X)=>{if(!X)return!0;let Q=String(X).length;return Q>=$&&Q<=Z||J}})}pattern($,Z="Invalid format"){return this.addRule({name:"pattern",message:Z,validate:(Y)=>{if(!Y)return!0;return $.test(String(Y))||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:(Y)=>{if(!Y&&Y!==0)return!0;return!Number.isNaN(Number(Y))||$}});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 Y=Z||`Must be at least ${$}`;return this.addRule({name:"minValue",message:Y,validate:(J)=>{if(!J&&J!==0)return!0;return Number(J)>=$||Y}})}maxValue($,Z){let Y=Z||`Must be no more than ${$}`;return this.addRule({name:"maxValue",message:Y,validate:(J)=>{if(!J&&J!==0)return!0;return Number(J)<=$||Y}})}between($,Z,Y){let J=Y||`Must be between ${$} and ${Z}`;return this.addRule({name:"between",message:J,validate:(X)=>{if(!X&&X!==0)return!0;let Q=Number(X);return Q>=$&&Q<=Z||J}})}matches($,Z){let Y=Z||`Must match ${$}`;return this.addRule({name:"matches",message:Y,validate:(J,X)=>{if(!X)return!0;return J===X[$]||Y}})}oneOf($,Z){let Y=Z||`Must be one of: ${$.join(", ")}`;return this.addRule({name:"oneOf",message:Y,validate:(J)=>{if(!J)return!0;return $.includes(J)||Y}})}notOneOf($,Z){let Y=Z||`Cannot be one of: ${$.join(", ")}`;return this.addRule({name:"notOneOf",message:Y,validate:(J)=>{if(!J)return!0;return!$.includes(J)||Y}})}date($="Must be a valid date"){return this.addRule({name:"date",message:$,validate:(Z)=>{if(!Z)return!0;let Y=new Date(String(Z));return!Number.isNaN(Y.getTime())||$}})}before($,Z){let Y=new Date($),J=Z||`Must be before ${Y.toLocaleDateString()}`;return this.addRule({name:"before",message:J,validate:(X)=>{if(!X)return!0;return new Date(String(X))<Y||J}})}after($,Z){let Y=new Date($),J=Z||`Must be after ${Y.toLocaleDateString()}`;return this.addRule({name:"after",message:J,validate:(X)=>{if(!X)return!0;return new Date(String(X))>Y||J}})}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 Y=new S5;Y.rules=[...this.rules],Y.defaultValue=this.defaultValue;for(let J of Z.getRules())Y.rules.push({...J,validate:(X,Q)=>{if(!$(X,Q||{}))return!0;return J.validate(X,Q)}});return Y}getRules(){return this.rules}getDefaultValue(){return this.defaultValue}default($){let Z=new S5;return Z.rules=[...this.rules],Z.defaultValue=$,Z}async validate($,Z){let Y=[];for(let J of this.rules){let X=await J.validate($,Z);if(X!==!0)Y.push(X)}return Y}validateSync($,Z){let Y=[];for(let J of this.rules){if(J.async)continue;let X=J.validate($,Z);if(X!==!0)Y.push(X)}return Y}}function x_($,Z){let Y=Object.keys($),J={},X={},Q={},G={},K={};for(let O of Y)J[O]=Z?.[O]??$[O].getDefaultValue(),X[O]=[],Q[O]=!1,G[O]=!1,K[O]=!1;let W=!1;async function q(O){K[O]=!0;let F=await $[O].validate(J[O],J);return X[O]=F,K[O]=!1,F.length===0}async function z(){W=!0;let O=await Promise.all(Y.map(q));return W=!1,O.every(Boolean)}function U(){for(let O of Y)J[O]=Z?.[O]??$[O].getDefaultValue(),X[O]=[],Q[O]=!1,G[O]=!1}function j(O){for(let F of Y)if(F in O)J[F]=O[F],G[F]=!0}function _(O,F){J[O]=F,G[O]=!0}function B(O,F=!0){if(Q[O]=F,F)q(O)}function H(O){return{value:J[O],errors:X[O],touched:Q[O],dirty:G[O],valid:X[O].length===0,validating:K[O]}}function L(O){return async(F)=>{F?.preventDefault?.();for(let A of Y)Q[A]=!0;if(await z())await O(J)}}return{values:J,errors:X,touched:Q,dirty:G,get isValid(){return Y.every((O)=>X[O].length===0)},get isValidating(){return W||Y.some((O)=>K[O])},get isDirty(){return Y.some((O)=>G[O])},validate:z,validateField:q,reset:U,setValues:j,setFieldValue:_,setFieldTouched:B,getFieldState:H,handleSubmit:L}}function uX($,Z,Y){let J=/@error\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderror/g;return $.replace(J,(X,Q,G)=>{try{let K=Q.trim().split("."),W=Z;for(let z of K)if(W&&typeof W==="object"&&z in W)W=W[z];else return"";let q=W;if(!q||!Array.isArray(q)||q.length===0)return"";return q.map((z)=>{return G.replace(/\{\{\s*message\s*\}\}/g,z)}).join(`
|
|
11870
|
+
`)}catch{return""}})}function mX($,Z,Y){let J=/@errors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderrors/g;return $.replace(J,(X,Q,G)=>{try{let K=Q.trim().split("."),W=Z;for(let z of K)if(W&&typeof W==="object"&&z in W)W=W[z];else return"";let q=W;if(!q||!Array.isArray(q)||q.length===0)return"";return q.map((z)=>G.replace(/\{\{\s*message\s*\}\}/g,z)).join(`
|
|
11871
|
+
`)}catch{return""}})}function pX($,Z,Y){let J=/@hasErrors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@endhasErrors/g;return $.replace(J,(X,Q,G)=>{try{let K=Q.trim().split("."),W=Z;for(let z of K)if(W&&typeof W==="object"&&z in W)W=W[z];else return"";let q=W;if(!q||!Array.isArray(q)||q.length===0)return"";return G}catch{return""}})}function f_($,Z,Y){let J=$;return J=uX(J,Z,Y),J=mX(J,Z,Y),J=pX(J,Z,Y),J}var v_;var cX=b(()=>{v_=new S5});var oX={};a(oX,{processXElementDirectives:()=>g_,hasXElementDirectives:()=>nX,generateXElementRuntime:()=>iX});function iX(){return`<script data-stx-scoped data-stx-x-element-runtime>
|
|
11872
11872
|
(function() {
|
|
11873
11873
|
'use strict';
|
|
11874
11874
|
|
|
@@ -12152,16 +12152,16 @@ else {
|
|
|
12152
12152
|
// Expose for manual initialization
|
|
12153
12153
|
window.XElement = XElement;
|
|
12154
12154
|
})();
|
|
12155
|
-
</script>`}function
|
|
12155
|
+
</script>`}function nX($){return/\bx-data(?:\s|=)/.test($)}function g_($){let Z=/<script\b(?=[^>]*\bdata-stx-x-element-runtime\b)[^>]*>[\s\S]*?<\/script>\s*/gi,Y=$.match(Z)||[],J=Y.length>0?$.replace(Z,""):$;if(!nX(J))return J;let X=Y[0]?.trim()||iX(),Q=J.lastIndexOf("</body>");if(Q!==-1)return J.slice(0,Q)+X+`
|
|
12156
12156
|
`+J.slice(Q);return J+`
|
|
12157
|
-
`+X}var
|
|
12157
|
+
`+X}var sX={};a(sX,{rewriteImagesWithSiblings:()=>u_});import B1 from"path";async function u_($,Z){let Y=Z.formats??d_;if(!Z.publicDir)return $;let J=l_($),X=[],Q=/<img\b[^>]*?>/gi,G=[],K;while((K=Q.exec($))!==null){let U=K[0],j=U.match(/\bsrc=["']([^"']+)["']/i);if(!j)continue;if(c_(K.index,J))continue;G.push({idx:K.index,length:U.length,src:j[1],raw:U})}if(G.length===0)return $;let W=await Promise.all(G.map(async(U)=>{let j=await m_(U.src,Z.publicDir,Y);return{match:U,sources:j}}));for(let{match:U,sources:j}of W){if(j.length===0)continue;let B=`<picture>${j.map((H)=>`<source type="${H.mime}" srcset="${i_(H.url)}">`).join("")}${U.raw}</picture>`;X.push({start:U.idx,end:U.idx+U.length,replacement:B})}if(X.length===0)return $;let q="",z=0;for(let U of X)q+=$.slice(z,U.start),q+=U.replacement,z=U.end;return q+=$.slice(z),q}async function m_($,Z,Y){if(!p_($))return[];let J=B1.extname($).toLowerCase();if(!h_.has(J))return[];if(!$.startsWith("/"))return[];let X=B1.join(Z,$.slice(1)),Q=B1.dirname(X),G=B1.basename(X,J),K=B1.resolve(Q),W=B1.resolve(Z);if(!K.startsWith(W))return[];let q=B1.posix.dirname($),z=Y.map(async(j)=>{let _=B1.join(Q,`${G}${j.ext}`);if(!await Bun.file(_).exists())return null;return{url:B1.posix.join(q,`${G}${j.ext}`),mime:j.mime}});return(await Promise.all(z)).filter((j)=>j!==null)}function p_($){if(!$)return!1;if($.startsWith("http://")||$.startsWith("https://"))return!1;if($.startsWith("//"))return!1;if($.startsWith("data:"))return!1;return!0}function l_($){let Z=[],Y=/<picture\b[^>]*>[\s\S]*?<\/picture>/gi,J;while((J=Y.exec($))!==null)Z.push([J.index,J.index+J[0].length]);return Z}function c_($,Z){for(let[Y,J]of Z)if($>=Y&&$<J)return!0;return!1}function i_($){return $.replace(/&/g,"&").replace(/"/g,""")}var h_,d_;var rX=b(()=>{h_=new Set([".jpg",".jpeg",".png",".gif"]),d_=[{ext:".avif",mime:"image/avif"},{ext:".webp",mime:"image/webp"}]});var aX=()=>{};function e6($){return $.pwa?.serviceWorker?.fileName||"sw.js"}var tX=b(()=>{aX()});var eX={};a(eX,{injectPwaTags:()=>n_,generateThemeColorMeta:()=>r_,generateSwRegistrationScript:()=>o_,generatePwaTags:()=>W7,generateManifestLink:()=>s_});function W7($){let Z=$.pwa;if(!Z?.enabled)return"";let Y=Z.manifest,J=Z.icons?.outputDir?`/${Z.icons.outputDir}`:"/pwa-icons",X=e6($),Q=`
|
|
12158
12158
|
<!-- stx PWA Meta Tags -->
|
|
12159
12159
|
<link rel="manifest" href="/manifest.json">
|
|
12160
|
-
<meta name="theme-color" content="${
|
|
12160
|
+
<meta name="theme-color" content="${$9(Y?.themeColor||"#000000")}">
|
|
12161
12161
|
<meta name="mobile-web-app-capable" content="yes">
|
|
12162
12162
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
12163
12163
|
<meta name="apple-mobile-web-app-status-bar-style" content="default">
|
|
12164
|
-
<meta name="apple-mobile-web-app-title" content="${
|
|
12164
|
+
<meta name="apple-mobile-web-app-title" content="${$9(Y?.shortName||Y?.name||"App")}">`;if(Z.icons?.generateAppleIcons!==!1)Q+=`
|
|
12165
12165
|
<link rel="apple-touch-icon" href="${J}/apple-touch-icon.png">
|
|
12166
12166
|
<link rel="apple-touch-icon" sizes="120x120" href="${J}/apple-touch-icon-120x120.png">
|
|
12167
12167
|
<link rel="apple-touch-icon" sizes="152x152" href="${J}/apple-touch-icon-152x152.png">
|
|
@@ -12198,12 +12198,12 @@ if ('serviceWorker' in navigator) {
|
|
|
12198
12198
|
});
|
|
12199
12199
|
}
|
|
12200
12200
|
</script>
|
|
12201
|
-
<!-- End stx PWA -->`,Q}function
|
|
12202
|
-
`+$.slice(X)}return $+
|
|
12203
|
-
</head>`)}function
|
|
12201
|
+
<!-- End stx PWA -->`,Q}function n_($,Z){let Y=Z.pwa;if(!Y?.enabled||Y.autoInject===!1)return $;if($.includes("<!-- stx PWA Meta Tags -->"))return $;if(!$.includes("</head>")){let X=$.lastIndexOf("</body>");if(X!==-1){let Q=W7(Z);return $.slice(0,X)+Q+`
|
|
12202
|
+
`+$.slice(X)}return $+W7(Z)}let J=W7(Z);return $.replace("</head>",`${J}
|
|
12203
|
+
</head>`)}function o_($){if(!$.pwa?.enabled)return"";return`<script>
|
|
12204
12204
|
if ('serviceWorker' in navigator) {
|
|
12205
12205
|
window.addEventListener('load', function() {
|
|
12206
|
-
navigator.serviceWorker.register('/${
|
|
12206
|
+
navigator.serviceWorker.register('/${e6($)}')
|
|
12207
12207
|
.then(function(registration) {
|
|
12208
12208
|
console.log('[PWA] Service Worker registered:', registration.scope);
|
|
12209
12209
|
})
|
|
@@ -12212,79 +12212,79 @@ if ('serviceWorker' in navigator) {
|
|
|
12212
12212
|
});
|
|
12213
12213
|
});
|
|
12214
12214
|
}
|
|
12215
|
-
</script>`}function
|
|
12216
|
-
`,J+2),J===-1)return-1;J+=1,X=!0;continue}if(K==="/"&&$[J+1]==="*"){let W=$.indexOf("*/",J+2);if(W===-1)return-1;J=W+2,X=!0;continue}if(K==="/"&&X){let W=J+1,
|
|
12215
|
+
</script>`}function s_(){return'<link rel="manifest" href="/manifest.json">'}function r_($){return`<meta name="theme-color" content="${$9($)}">`}function $9($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var $Q=b(()=>{tX()});import h0 from"path";import{deriveLayoutGroup as a_}from"stx-router/layout-metadata";function ZQ($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function t_($,Z){let Y=$.length,J=Z,X=!0,Q=[],G=(K)=>K+9<=Y&&$[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(J<Y){let K=$[J];if(G(J))return J;if(K==="/"&&$[J+1]==="/"){if(J=$.indexOf(`
|
|
12216
|
+
`,J+2),J===-1)return-1;J+=1,X=!0;continue}if(K==="/"&&$[J+1]==="*"){let W=$.indexOf("*/",J+2);if(W===-1)return-1;J=W+2,X=!0;continue}if(K==="/"&&X){let W=J+1,q=!1;while(W<Y){let z=$[W];if(z==="\\"){W+=2;continue}if(z==="[")q=!0;else if(z==="]")q=!1;else if(z==="/"&&!q){W++;break}else if(z===`
|
|
12217
12217
|
`){W=-1;break}W++}if(W===-1){J++,X=!1;continue}while(W<Y&&/[a-z]/.test($[W]))W++;J=W,X=!1;continue}if(K==="'"||K==='"'){let W=K;J++;while(J<Y){if($[J]==="\\"){J+=2;continue}if($[J]===W){J++;break}if($[J]===`
|
|
12218
|
-
`)break;J++}X=!1;continue}if(K==="`"){J++;while(J<Y){if($[J]==="\\"){J+=2;continue}if($[J]==="`"){J++;break}if($[J]==="$"&&$[J+1]==="{"){Q.push(!0),J+=2,X=!0;break}J++}if(Q.length===0)X=!1;continue}if(K==="}"&&Q.length>0){Q.pop(),J++;while(J<Y){if($[J]==="\\"){J+=2;continue}if($[J]==="`"){J++,X=!1;break}if($[J]==="$"&&$[J+1]==="{"){Q.push(!0),J+=2,X=!0;break}J++}continue}if(/\s/.test(K));else if(/[)\].\w$]/.test(K))X=!1;else X=!0;J++}return-1}function
|
|
12218
|
+
`)break;J++}X=!1;continue}if(K==="`"){J++;while(J<Y){if($[J]==="\\"){J+=2;continue}if($[J]==="`"){J++;break}if($[J]==="$"&&$[J+1]==="{"){Q.push(!0),J+=2,X=!0;break}J++}if(Q.length===0)X=!1;continue}if(K==="}"&&Q.length>0){Q.pop(),J++;while(J<Y){if($[J]==="\\"){J+=2;continue}if($[J]==="`"){J++,X=!1;break}if($[J]==="$"&&$[J+1]==="{"){Q.push(!0),J+=2,X=!0;break}J++}continue}if(/\s/.test(K));else if(/[)\].\w$]/.test(K))X=!1;else X=!0;J++}return-1}function q7($,Z){let Y=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),J=new RegExp(`<script\\b(?=[^>]*\\b${Y}(?:\\s|=|/?>))[^>]*>`,"i").exec($);if(!J)return null;let X=J.index+J[0].length,Q=$.indexOf("</script>",X);if(Q===-1)return null;let G=$.indexOf(">",Q);if(G===-1)return null;return{start:J.index,end:G+1}}function YQ($){let Z=0;while(Z<$.length){let Y=$.indexOf("<",Z);if(Y===-1)return-1;if($.startsWith("<!--",Y)){let Q=$.indexOf("-->",Y+4);Z=Q===-1?$.length:Q+3;continue}let J=$.slice(Y),X=/^<style\b[^>]*>/i.exec(J);if(X){let Q=$.toLowerCase().indexOf("</style>",Y+X[0].length);Z=Q===-1?$.length:Q+8;continue}if(/^<script\b[^>]*>/i.test(J))return Y;Z=Y+1}return-1}function e_($){let Z=q7($,"data-stx-runtime");if(!Z)return $;let Y=YQ($);if(Y===-1||Y===Z.start)return $;let J=$.slice(Z.start,Z.end),X=$.slice(0,Z.start)+$.slice(Z.end),Q=YQ(X);if(Q===-1)return J+`
|
|
12219
12219
|
`+X;return X.slice(0,Q)+J+`
|
|
12220
|
-
`+X.slice(Q)}async function
|
|
12221
|
-
`),...
|
|
12222
|
-
<meta name="stx-layout" content="${
|
|
12223
|
-
<meta name="stx-layout-group" content="${
|
|
12224
|
-
`+
|
|
12225
|
-
`+
|
|
12220
|
+
`+X.slice(Q)}async function L0($,Z,Y,J,X){if(J.ssr===!1&&!J.autoShell&&J.buildMode==="spa")return $;let Q=!Z.__stxProcessingDepth;if(Q)P9(Z);if(!Z.__stxProcessingDepth)Z.__stxProcessingDepth=0;if(Z.__stxProcessingDepth++,!Z.__onceStore)Z.__onceStore=new Set;if((J.debug||!G$()&&!b4())&&Y&&Y.endsWith(".stx"))G6($,Y);try{return await Y8.timeAsync("template-processing",async()=>{let G=await $B($,Z,Y,J,X);if(Q)G=i6(G);if(Q&&J.autoShell&&J.buildMode!=="compile"){let K=J.app?.head||{},q=(Z.__stx_runtime_head||null)??D7(),z=(Z.__stx_head_raw||"").trim(),U,j=z.match(/<title[^>]*>([\s\S]*?)<\/title>/i);if(j)U=j[1].trim(),z=z.replace(j[0],"").trim();let _=Z.__sections?.title,B=q.title||U||_,H={...K,...B&&{title:B},meta:[...K.meta||[],...q.meta||[]],link:[...K.link||[],...q.link||[]],script:[...K.script||[],...q.script||[]],headRaw:[K.headRaw,z].filter(Boolean).join(`
|
|
12221
|
+
`),...q.htmlAttrs&&{htmlAttrs:{...K.htmlAttrs||{},...q.htmlAttrs}},...q.bodyAttrs&&{bodyAttrs:{...K.bodyAttrs||{},...q.bodyAttrs}}},L=p6(G);if(G=yJ(G,H),L)G=SJ(G,K);let V=G.match(/<!-- stx-layout: ([^ ]+) -->/);if(V&&G.includes("<head")){let F=V[1],w=a_(F);G=G.replace("<head>",`<head>
|
|
12222
|
+
<meta name="stx-layout" content="${ZQ(F)}">
|
|
12223
|
+
<meta name="stx-layout-group" content="${ZQ(w)}">`)}let O=G.match(/function (__stx_setup_\d+_\d+)\(/);if(O&&G.includes("<body")&&!G.match(/<body[^>]*data-stx=/)){G=G.replace(/<body([^>]*)>/,`<body$1 data-stx="${O[1]}">`);let F=new RegExp(`(<(?!body)[a-zA-Z][^>]*) data-stx="${O[1]}"`,"i");G=G.replace(F,"$1")}}if(Q)G=bJ(G),G=e_(G);if(Q)try{let{getStoreScript:K}=await t("stx/store-loader",()=>Promise.resolve().then(() => (uJ(),dJ))),W=J.storesDir,q=await K(W);if(q){let z=`<script data-stx-stores>${q}</script>`,U=q7(G,"data-stx-runtime");if(U)G=G.slice(0,U.end)+`
|
|
12224
|
+
`+z+G.slice(U.end)}}catch{}if(Q)try{let{getComposableScript:K}=await t("stx/composable-loader",()=>Promise.resolve().then(() => (lJ(),pJ))),W=J.composablesDir,q=await K(W);if(q){let z=`<script data-stx-composables>${q}</script>`,U=q7(G,"data-stx-stores")||q7(G,"data-stx-runtime");if(U)G=G.slice(0,U.end)+`
|
|
12225
|
+
`+z+G.slice(U.end)}}catch{}if(Q&&Z.__stx_inject_css!==!1)G=await z$(G,void 0,J.buildMode==="serve");if(Q)G=K8(G);return G=G.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),G})}catch(G){if(G instanceof C4)throw G;let K=G instanceof Error?G.message:String(G),W=new i1(`Template processing failed: ${K}`,Y,void 0,void 0,$.substring(0,200)+($.length>200?"...":""));if(e0.log(W,{filePath:Y,context:Z}),P3.logDetailedError(W,{filePath:Y,template:$.substring(0,500)}),J.debug)throw W;return S3.createFallbackContent("Template Processing",W)}}async function $B($,Z,Y,J,X){let Q=process.cwd(),G={...J,partialsDir:J.partialsDir&&!h0.isAbsolute(J.partialsDir)?h0.resolve(Q,J.partialsDir):J.partialsDir,componentsDir:J.componentsDir&&!h0.isAbsolute(J.componentsDir)?h0.resolve(Q,J.componentsDir):J.componentsDir,layoutsDir:J.layoutsDir&&!h0.isAbsolute(J.layoutsDir)?h0.resolve(Q,J.layoutsDir):J.layoutsDir},K=G,W=$;await JB(Y,Z),YB(Z,K),W=await L5(()=>HJ(W,Z,Y,K),W,(O)=>{e0.log(O,{filePath:Y,phase:"pre-processing-middleware"},"warning"),console.warn(`[stx] pre-processing middleware failed for ${Y}: ${O.message}`)}),W=W.replace(/\{\{--[\s\S]*?--\}\}/g,"");let q=J1(W,c5,(O,F)=>`\x00STX_HTML_COMMENT_${F}\x00`);W=q.output;let z=q.tokens,U=(O)=>z.length===0?O:O.replace(/\x00STX_HTML_COMMENT_(\d+)\x00/g,(F,w)=>z[Number(w)]??""),j="\x00STX_ESCAPED_AT\x00";W=W.replace(/@@/g,j),W=W.replace(/@\{\{([\s\S]*?)\}\}/g,(O,F)=>{return`{{ ${F} }}`}),W=IJ(W),W=await vJ(W,Y,X);let _={};W=d6(W,_);let B={...Z.__sections||{}},H="",L=/@nolayout\b/.test(W);if(L)W=W.replace(/@nolayout\b\s*/g,"");let V=W.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(V)H=V[1],W=W.replace(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/g,"");if(!H&&!L&&K.defaultLayout){let O=/<!DOCTYPE\s/i.test(W),F=/@section\s*\(/.test(W);if(!O||F){let w="",A=h0.dirname(Y),R=K.layoutsDir?h0.dirname(K.layoutsDir):process.cwd();for(let N=0;N<20;N++){let M=h0.join(A,"_layout.stx");if(await c(M)){w=M;break}let T=h0.dirname(A);if(T===A||T.length<R.length)break;A=T}if(w)H=w;else if(K.layoutsDir){let N=h0.isAbsolute(K.layoutsDir)?K.layoutsDir:h0.resolve(process.cwd(),K.layoutsDir),M=h0.join(N,`${K.defaultLayout}.stx`);if(await c(M))H=M}if(H&&!F)W=`@section('content')
|
|
12226
12226
|
${W.trim()}
|
|
12227
|
-
@endsection`}}if(W=W.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(O,F,w)=>{return B[F]=w,""}),W=W.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+?)\s*\)/g,(O,F,w)=>{if(/^(['"]).*\1$/.test(w.trim()))return O;try{let A
|
|
12227
|
+
@endsection`}}if(W=W.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(O,F,w)=>{return B[F]=w,""}),W=W.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+?)\s*\)/g,(O,F,w)=>{if(/^(['"]).*\1$/.test(w.trim()))return O;try{let A=Z0(w.trim(),Z);if(A===void 0)return O;return B[F]=String(A??""),""}catch{return O}}),W=W.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(O,F,w)=>{if(w.includes("@parent"))B[F]=w.replace("@parent",$5);else B[F]=w.trim();return""}),Z.__sections=B,W=W.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(O,F,w)=>{return B[F]||w||""}),!("slot"in Z)||Z.slot===void 0)W=W.replace(/\{\{\s*slot\s*\}\}/g,()=>{return B.content||""});if(W=u6(W,_),H){let O=[],F=w1(W),w=J1(F.output,G5,(A,R)=>`\x00STX_ORPHAN_STYLE_${R}\x00`);if(W=w.output.replace(/\x00STX_(SCRIPT|ORPHAN_STYLE)_(\d+)\x00/g,(A,R,N)=>{let M=R==="SCRIPT"?F.scripts[Number(N)]:w.tokens[Number(N)];if(M)O.push(M);return""}),O.length>0){let A=O.join(`
|
|
12228
12228
|
`);B.content=B.content?`${B.content}
|
|
12229
|
-
${A}`:A,Z.__sections=B}}if(H)try{let O;if(
|
|
12230
|
-
${W}`,U(W)}catch(O){return
|
|
12231
|
-
`;if(Q=T(Q,Z),Q=I(Q,Z),Q=
|
|
12229
|
+
${A}`:A,Z.__sections=B}}if(H)try{let O;if(h0.isAbsolute(H))O=H,X.add(H);else O=await L5(()=>r7(H,Y,G,X),null,()=>{throw new i1(`Failed to resolve layout path: ${H}`,Y,void 0,void 0,`Layout referenced from ${Y}`)});if(!O){let M=`Layout not found: ${H} (referenced from ${Y})`;if(e0.log(Error(M),{layoutPath:H,filePath:Y},"warning"),G.debug)throw new i1(M,Y);return W}let F=await L5(()=>Bun.file(O).text(),"",()=>{throw new i1(`Failed to read layout file: ${O}`,Y,void 0,void 0,"Layout content could not be loaded")}),w=F.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(w){if(G.debug)console.log(`Found nested layout: ${w[1]} in ${O}`);let M={},T=F.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(D,y,S)=>{return M[y]=S.trim(),""});for(let[D,y]of Object.entries(M))if(B[D]&&B[D].includes($5)){let S=B[D].indexOf($5);B[D]=B[D].slice(0,S)+y+B[D].slice(S+$5.length)}else if(!B[D])B[D]=y;let I={...Z,__sections:B},E=`@layout('${w[1]}')${T}`;return await L0(E,I,O,G,X)}let A=F.replace(/\{\{--[\s\S]*?--\}\}/g,""),R=d6(A,_),N={};return R=R.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(M,T,I)=>{return N[T]=I.trim(),`@slot('${T}')`}),R=R.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(M,T,I)=>{if(B[T]){let E=B[T];if(E.includes($5)){let D=N[T]||"",y=E.indexOf($5);E=E.slice(0,y)+D+E.slice(y+$5.length)}return E}return I||""}),R=ZB(R,B),R=R.replace(/\{\{\s*slot\s*\}\}/g,()=>{return B.content||""}),R=u6(R,_),Z.__originalFilePath=Y,W=await JQ(R,Z,O,G,X),W=`<!-- stx-layout: ${H} -->
|
|
12230
|
+
${W}`,U(W)}catch(O){return e0.log(O instanceof Error?O:Error(String(O)),{layoutPath:H,filePath:Y},"error"),`[Error processing layout: ${O instanceof Error?O.message:String(O)}]`}return U(await JQ(W,Z,Y,G,X))}function ZB($,Z){return $.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(Y,J,X)=>{let Q=Z[J];if(Q!==void 0){if(!new RegExp(`@(?:yield|slot)\\(\\s*['"]${J.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}['"]`).test(Q))return Q}return X||""})}function YB($,Z){if($.__stx_sfc_mode=!0,$.__stx_options=Z,Z.buildMode)$.__stx_buildMode=Z.buildMode;let Y=Z.envPrefix||"STX_PUBLIC_",J={};for(let[X,Q]of Object.entries(process.env))if(X.startsWith(Y)&&Q!==void 0)J[X]=Q;$.$env=J}async function JB($,Z){await L5(()=>wJ($,Z),void 0,(Y)=>{e0.log(Y,{filePath:$,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed for ${$}: ${Y.message}`)})}async function XB($,Z,Y){let J=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,X;while((X=J.exec($))!==null){let Q=X[1],G=X[2];if(!/\bserver\b/.test(Q)||!G.trim())continue;try{let{extractVariables:W}=await t("stx/variable-extractor",()=>Promise.resolve().then(() => (e5(),g$)));await W(G,Z,Y,{preserveExisting:!0})}catch(W){let q=W instanceof Error?W:Error(String(W));e0.log(q,{filePath:Y,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${Y}: ${q.message}`)}}}async function QB($,Z,Y){try{let{interpolateScriptsInTemplate:J}=await t("stx/expressions",()=>Promise.resolve().then(() => (X1(),t9)));return J($,Z,{skipServer:!0})}catch(J){let X=J instanceof Error?J:Error(String(J));return e0.log(X,{filePath:Y,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${Y}: ${X.message}`),$}}async function JQ($,Z,Y,J,X){let Q=$,G=J;if(await XB(Q,Z,Y),Q=await QB(Q,Z,Y),Q=await qJ(Q,Z,Y),Q=await zJ(Q,Z,Y),Q=await JY(Q,Z,Y,G),K5(Q))Q=l7(Q,Z),Q=i7(Q,Z);Q=c7(Q);let{processStreamDirectives:K}=await t("stx/streaming",()=>Promise.resolve().then(() => (Q6(),X6)));Q=K(Q,Z),Q=x6(Q,Z,Y,G),Q=await Z7(Q,Z,Y,G,X),Q=await EJ(Q,Z,Y,G,X),Q=j9(Q,Z,Y,G);let{processDeferDirectives:W}=await t("stx/defer",()=>Promise.resolve().then(() => iJ));Q=W(Q,Z,Y);let{processTeleportDirectives:q}=await t("stx/teleport",()=>Promise.resolve().then(() => oJ));Q=q(Q,Z,Y);let{processTransitionDirectives:z,processTransitionAttributes:U}=await t("stx/transitions",()=>Promise.resolve().then(() => tJ));Q=z(Q,Z,Y),Q=U(Q);let{processErrorBoundaryDirectives:j}=await t("stx/error-boundaries",()=>Promise.resolve().then(() => $X));Q=j(Q,Z,Y);let{processSuspenseDirectives:_}=await t("stx/suspense",()=>Promise.resolve().then(() => ZX));Q=_(Q,Z,Y);let{processAsyncDirectives:B}=await t("stx/async-components",()=>Promise.resolve().then(() => QX));Q=B(Q,Z,Y);let{processKeepAliveDirectives:H}=await t("stx/keep-alive",()=>Promise.resolve().then(() => KX));Q=H(Q,Z,Y);let{processVirtualListDirectives:L,processVirtualGridDirectives:V,processInfiniteListDirectives:O}=await t("stx/virtual-scrolling",()=>Promise.resolve().then(() => (_X(),jX)));Q=L(Q,Z,Y),Q=V(Q,Z,Y),Q=O(Q,Z,Y);let{processPartialHydrationDirectives:F,processStaticDirectives:w}=await t("stx/partial-hydration",()=>Promise.resolve().then(() => (EX(),DX)));Q=F(Q,Z,Y),Q=w(Q);let{processComputedDirectives:A,processWatchDirectives:R}=await t("stx/computed",()=>Promise.resolve().then(() => (dX(),hX)));Q=A(Q,Z,Y),Q=R(Q,Z,Y);let{processFormValidationDirectives:N}=await t("stx/forms-validation",()=>Promise.resolve().then(() => (cX(),lX)));Q=N(Q,Z,Y);let{processHeadDirective:M,processTitleDirective:T,processMetaDirective:I,resetHead:E}=await t("stx/head",()=>Promise.resolve().then(() => (a5(),k7)));if(!Z.__stx_head_preset&&!Z.__stx_runtime_head)E();let D=M(Q);if(Q=D.content,D.headContent)Z.__stx_head_raw=`${Z.__stx_head_raw||""}${D.headContent}
|
|
12231
|
+
`;if(Q=T(Q,Z),Q=I(Q,Z),Q=FJ(Q),Q=c3(Q,Z),Q=ZY(Q),Q=_J(Q),Q=await h6(Q,Z,Y,G,X),Q=await Z7(Q,Z,Y,G,X),Z.__stxProcessingDepth===1)Q=v9(Q,Z);if(Q=Q.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),Q=i6(Q),Q=s1(Q,Z,Y),Q=i3(Q,Z),Q=n3(Q,Z),Q=i4(Q,Z),Q=jY(Q,Z),Q=_Y(Q,Z),Q=await p2(Q,Z,Y,G),Q=await a8(Q,Z,Y),Q=await FY(Q,Z,Y,G),Q=Q9(Q,Z,Y,G),Q=Q2(Q,Z,Y,G),Q=G2(Q,Z,Y),Q=K2(Q,Z,Y,G),Q=t2(Q,Z,Y,G),Q=l6(Q,Z),Q=c6(Q),Q=fJ(Q),!G.skipEventDirectives)Q=x2(Q,Z,Y);if(Q=u2(Q,Z,Y),G.debug){let n=/\bx-data\s*=/.test(Q),X0=$4($);if(n&&X0)console.warn(`[stx] ${Y}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
|
|
12232
12232
|
Both work on the same page, but they manage separate scopes.
|
|
12233
|
-
Prefer signals (state/derived/effect) for new components.`)}Q=
|
|
12233
|
+
Prefer signals (state/derived/effect) for new components.`)}Q=NJ(Q,Z),Q=await A1(Q,Z,Y),Q=gJ(Q),Q=hJ(Q),Q=D2(Q);let{processXElementDirectives:y}=await t("stx/x-element",()=>Promise.resolve().then(() => oX));Q=y(Q);let S=Z.__originalFilePath||Y,k=m5(Z);if(Q=await n7(Q,G,S,k),Q=WY(Q,Z),Q=await OJ(Q,Z,Y,G),G.media?.image?.autoSiblings){let n=G.publicDir||"public",{rewriteImagesWithSiblings:X0}=await t("stx/image-optimization/auto-sibling",()=>Promise.resolve().then(() => (rX(),sX)));Q=await X0(Q,{publicDir:n})}if(G.seo?.enabled)Q=W2(Q,Z,G);let v=(n,X0,H0=!0)=>{if(!X0)return n;let D0=X0.match(/<title\b[^>]*>[\s\S]*?<\/title>/i),C=n.match(/<title\b[^>]*>[\s\S]*?<\/title>/i);if(D0&&C){if(H0)n=n.replace(C[0],D0[0]);if(X0=X0.replace(D0[0],"").trim(),!X0)return n}if(/<\/head>/i.test(n))return n.replace(/<\/head>/i,`${X0}
|
|
12234
12234
|
</head>`);if(/<head\b[^>]*>/i.test(n))return n.replace(/(<head\b[^>]*>)/i,`$1
|
|
12235
|
-
${
|
|
12235
|
+
${X0}`);if(/<html\b[^>]*>/i.test(n))return n.replace(/(<html\b[^>]*>)/i,`$1
|
|
12236
12236
|
<head>
|
|
12237
|
-
${
|
|
12238
|
-
</head>`);return n},{renderHead:g,getHead:f}=await Promise.resolve().then(() => (
|
|
12239
|
-
${
|
|
12240
|
-
</script>`;if(Q.includes("</head>")){let
|
|
12241
|
-
`+x}else Q=Q.replace("</head>",`${
|
|
12237
|
+
${X0}
|
|
12238
|
+
</head>`);return n},{renderHead:g,getHead:f}=await t("stx/head",()=>Promise.resolve().then(() => (a5(),k7))),p=Z.__stx_runtime_head??f();if(p.title||p.meta?.length||p.link?.length){let n=g(p);if(n)Q=v(Q,n)}if(D.headContent)Q=v(Q,D.headContent,!p.title);if(G.csp?.enabled&&G.csp.addMetaTag)Q=r2(Q,G.csp,Z);if(G.analytics?.enabled)Q=k2(Q,G);if(G.heatmap?.enabled)Q=L9(Q,G);if(G.pwa?.enabled&&G.pwa.autoInject!==!1){let{injectPwaTags:n}=await t("stx/pwa/inject",()=>Promise.resolve().then(() => ($Q(),eX)));Q=n(Q,G)}let Q0=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(Q),Y0=/\bSTX\.\w+/.test(Q),w0=/window\.STX\s*=/.test(Q);if(Q0&&Y0&&!w0){let X0=`<script data-stx-scoped>
|
|
12239
|
+
${N2()}
|
|
12240
|
+
</script>`;if(Q.includes("</head>")){let H0=Q.indexOf("</head>"),C=Q.slice(0,H0).indexOf("<script");if(C!==-1){let P=Q.slice(0,C),x=Q.slice(C);Q=P+X0+`
|
|
12241
|
+
`+x}else Q=Q.replace("</head>",`${X0}
|
|
12242
12242
|
</head>`)}else if(Q.includes("<body"))Q=Q.replace(/<body([^>]*)>/,`<body$1>
|
|
12243
|
-
${
|
|
12244
|
-
`+Q}{let{scanScriptTags:n}=await Promise.resolve().then(() => (
|
|
12243
|
+
${X0}`);else Q=X0+`
|
|
12244
|
+
`+Q}{let{scanScriptTags:n}=await t("stx/signal-processing",()=>Promise.resolve().then(() => (J$(),Z4))),X0=[];for(let H0 of n(Q)){if(!/\bserver\b/i.test(H0.attrs))continue;let D0=H0.start+H0.fullMatch.indexOf(">")+1,C=t_(Q,D0);if(C===-1)continue;let P=C+9;while(P<Q.length&&/\s/.test(Q[P]))P++;X0.push({start:H0.start,end:P})}for(let H0=X0.length-1;H0>=0;H0--){let{start:D0,end:C}=X0[H0];Q=Q.substring(0,D0)+Q.substring(C)}}let r=C$(Q,Y);if(r.hasScoped)Q=r.html;let G0=Z.__stx_event_bindings||[],b0=!1,o0=[],H1=/\s:[a-z][\w.-]*\s*=/.test(Q),{scanScriptTags:Z5}=await t("stx/signal-processing",()=>Promise.resolve().then(() => (J$(),Z4)));for(let n of Z5(Q,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))o0.push({match:n.fullMatch,attrs:n.attrs,content:n.body});for(let{match:n,attrs:X0,content:H0}of o0){b0=!0;let D0=H0;o6(H0,Y,J.strict);let C=await p5(H0,{eventBindings:G0,attrs:X0,hasColonDirectives:H1,templateContent:$,filePath:Y,projectRoot:process.cwd(),production:J.buildMode==="compile",serverData:k});Q=Q.replace(n,()=>C)}if(b0)Z.__stx_event_bindings=[];if(G.csp?.enabled&&G.csp.useNonce&&typeof Z.cspNonce==="string")Q=a2(Q,Z.cspNonce);return Q}var $5="<!--PARENT_CONTENT_PLACEHOLDER-->";var Q4=b(()=>{d4();f1();j7();M2();E2();b2();H7();_7();f2();l5();m2();l2();p4();e2();YY();QY();qY();U1();a5();X1();BY();VY();WJ();jJ();f6();a7();LJ();U5();VJ();C3();M0();AJ();MJ();DJ();kJ();T7();J$();v6();xJ();n6();s6();A0();K6();F7();g5();n6();s6()});import V0 from"fs";import K0 from"path";import{matchRoute as EB,Router as wQ}from"stx-router";import{findErrorPage as SB,formatRoutes as yB,generateRouteManifest as PB,generateRouteTypes as CB,matchRoute as vB}from"stx-router";function U7($,Z={}){return new wQ($,Z).routes}Q4();import{createHash as GB}from"crypto";function KB($){try{return new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($).replace(/\}(var |let |const |function )/g,"};$1").trim()}catch{return $}}var WB=/<script\s+type="stx\/island"\s+data-stx-island="([^"]+)"([^>]*)>([\s\S]*?)<\/script>/g;function qB($){return Bun.hash($).toString(16)}function XQ($,Z={}){if(!$.includes('type="stx/island"'))return{html:$,chunks:[]};let Y=new Map,J=$.replace(WB,(Q,G,K,W)=>{let q=W.trim();if(!q)return Q;if(/\bdata-stx-src=/.test(K))return Q;if(Z.minify)q=KB(q);let z=qB(q);if(!Y.has(z))Y.set(z,q);let U=Z.integrity?` data-stx-integrity="sha384-${GB("sha384").update(q).digest("base64")}"`:"";return`<script type="stx/island" data-stx-island="${G}" data-stx-src="/_stx/islands/${z}.js"${U}${K}></script>`}),X=Array.from(Y,([Q,G])=>({hash:Q,code:G}));return{html:J,chunks:X}}var zB=new Set(["visible","idle"]);function QQ($){if(!$.includes("data-stx-src="))return $;let Z=new Map,Y=/data-stx-scope="([^"]+)"[^>]*?stx-hydrate="([^"]+)"/g,J;while((J=Y.exec($))!==null)Z.set(J[1],J[2]);let X=new Set,Q=/data-stx-island="([^"]+)"[^>]*?data-stx-src="([^"]+)"/g,G;while((G=Q.exec($))!==null)if(zB.has(Z.get(G[1])||""))X.add(G[2]);let K=$.lastIndexOf("</head>");if(X.size===0||K===-1)return $;let W=Array.from(X).filter((q)=>!$.includes(`rel="prefetch" href="${q}"`)).map((q)=>`<link rel="prefetch" href="${q}" as="script">`).join("");if(!W)return $;return $.slice(0,K)+W+$.slice(K)}o1();x5();d4();import{abortNavigation as FN,clearMiddleware as GQ,createClientCookieManager as VN,createMiddlewareContext as KQ,createRouteLocation as WQ,createServerCookieManager as wN,createStorageManager as AN,defineMiddleware as RN,getMiddleware as NN,getMiddlewareNames as qQ,hasMiddleware as MN,loadMiddlewareFromDirectory as zQ,navigateTo as TN,registerMiddleware as IN,runMiddleware as UQ}from"stx-router";class jQ{cacheDir;cache=new Map;loaded=!1;constructor($){this.cacheDir=$}async load(){if(this.loaded)return;let $=K0.join(this.cacheDir,"build-cache.json");if(await Bun.file($).exists())try{let Z=JSON.parse(await Bun.file($).text());for(let[Y,J]of Object.entries(Z))this.cache.set(Y,J)}catch{}this.loaded=!0}async save(){await V0.promises.mkdir(this.cacheDir,{recursive:!0});let $=K0.join(this.cacheDir,"build-cache.json"),Z={};for(let[Y,J]of this.cache)Z[Y]=J;await Bun.write($,JSON.stringify(Z))}getHash($,Z){let Y=V0.statSync($),J=`${$}:${Y.mtimeMs}`;for(let Q of Z)if(V0.existsSync(Q)){let G=V0.statSync(Q);J+=`:${Q}:${G.mtimeMs}`}let X=0;for(let Q=0;Q<J.length;Q++){let G=J.charCodeAt(Q);X=(X<<5)-X+G,X=X&X}return Math.abs(X).toString(36)}get($,Z){let Y=this.cache.get($);if(!Y)return null;let J=this.getHash(Z,Y.dependencies??[]);if(Y.hash!==J)return this.cache.delete($),null;return Y.html}set($,Z,Y,J){let X=this.getHash(Z,Y);this.cache.set($,{hash:X,html:J,generatedAt:Date.now(),dependencies:Y})}}class _Q{cacheDir;constructor($){this.cacheDir=$}getFilePath($){let Z=$.replace(/[^a-zA-Z0-9]/g,"_")+".json";return K0.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 Y=this.getFilePath($);await V0.promises.mkdir(K0.dirname(Y),{recursive:!0}),await Bun.write(Y,JSON.stringify(Z))}async invalidate($){let Z=this.getFilePath($);if(await Bun.file(Z).exists())await V0.promises.unlink(Z)}async invalidatePattern($){let Z=K0.join(this.cacheDir,"isr");if(!V0.existsSync(Z))return;let Y=await V0.promises.readdir(Z);for(let J of Y){let X=J.replace(/_/g,"/").replace(".json","");if($.test(X))await V0.promises.unlink(K0.join(Z,J))}}async needsRevalidation($){let Z=await this.get($);if(!Z)return!0;return Date.now()>Z.revalidateAfter}}async function UB($){try{let Y=(await Bun.file($).text()).match(/<script\s+server\b[^>]*>([\s\S]*?)<\/script>/i);if(!Y)return null;let J=Y[1];if(!J.includes("getStaticPaths"))return null;let X=J.match(/(?:export\s+)?(?:async\s+)?function\s+getStaticPaths\s*\([^)]*\)\s*\{([\s\S]*?)\n[\t ]*\}/);if(!X)return null;return await Function(`
|
|
12245
12245
|
return (async function getStaticPaths() {
|
|
12246
12246
|
${X[1]}
|
|
12247
12247
|
})()
|
|
12248
|
-
`)()}catch(Z){return console.error(`Error extracting static paths from ${$}:`,Z),null}}async function
|
|
12248
|
+
`)()}catch(Z){return console.error(`Error extracting static paths from ${$}:`,Z),null}}async function jB($){let Z=[];if(!$.isDynamic)Z.push({url:$.pattern,params:{}});else{let Y=await UB($.filePath);if(!Y||Y.paths.length===0)return console.warn(`Warning: Dynamic route ${$.pattern} has no getStaticPaths or returned empty paths`),Z;for(let J of Y.paths){let X=$.pattern;for(let[Q,G]of Object.entries(J.params))X=X.replace(`:${Q}`,G).replace(`:${Q}*`,G);Z.push({url:X,params:J.params,props:J.props,revalidate:J.revalidate})}}return Z}async function _B($){let Z=[$.replace(/\.stx$/,".data.ts"),$.replace(/\.stx$/,".data.js"),$+".data.ts",$+".data.js"];for(let Y of Z)if(await Bun.file(Y).exists())try{let J=await import(Y);if(typeof J.default==="function")return await J.default();else if(typeof J.default==="object")return J.default;else if(typeof J.getData==="function")return await J.getData();else{let{default:X,...Q}=J;return Q}}catch(J){console.error(`Error loading data file ${Y}:`,J)}return null}async function BB($,Z,Y){let J=$.match(/<script\s+server\b[^>]*>([\s\S]*?)<\/script>/i);if(!J)return null;let X=J[1];if(!X.includes("getStaticProps"))return null;try{let Q=X.match(/(?:export\s+)?(?:async\s+)?function\s+getStaticProps\s*\([^)]*\)\s*\{([\s\S]*?)\n\}/);if(!Q)return null;return await Function("params",`
|
|
12249
12249
|
return (async function getStaticProps() {
|
|
12250
12250
|
${Q[1]}
|
|
12251
12251
|
})()
|
|
12252
|
-
`)(Z)}catch(Q){return console.error(`Error executing getStaticProps in ${Y}:`,Q),null}}async function
|
|
12252
|
+
`)(Z)}catch(Q){return console.error(`Error executing getStaticProps in ${Y}:`,Q),null}}async function BQ($,Z,Y={},J,X){let Q=await Bun.file($.filePath).text(),G=await _B($.filePath),K=await BB(Q,Z,$.filePath),W={...G||{},...K||{},...Y,params:Z,$route:{path:$.pattern,params:Z}},q=new Set,z={...X,debug:!1,cache:!1,autoShell:!0},U=await L0(Q,W,$.filePath,z,q);if(Object.keys(Z).length>0){let j=`<script>if(window.stx)window.stx._rp=${JSON.stringify(Z)};else window.__stx_rp=${JSON.stringify(Z)};</script>`;if(U.includes("</head>"))U=U.replace("</head>",`${j}
|
|
12253
12253
|
</head>`);else U=`${j}
|
|
12254
|
-
${U}`}if(U=await
|
|
12254
|
+
${U}`}if(U=await m7(U),U=await z$(U),J.minify!==!1)return{html:HB(U),dependencies:Array.from(q)};return{html:U,dependencies:Array.from(q)}}function HB($){let Z=[],Y=0,J=/(<script[^>]*>)([\s\S]*?)(<\/script>)/gi,X;while((X=J.exec($))!==null){let G=$.slice(Y,X.index);Z.push(G.replace(/<!--(?!\[if)[\s\S]*?-->/g,"").replace(/\s+/g," ").replace(/>\s+</g,"><"));let K=X[1],W=X[2],q=X[3];W=W.replace(/([^:"\\'`])\/\/(?!\/)(?![*!])([^\n]*)/g,"$1"),Z.push(K+W+q),Y=X.index+X[0].length}let Q=$.slice(Y);return Z.push(Q.replace(/<!--(?!\[if)[\s\S]*?-->/g,"").replace(/\s+/g," ").replace(/>\s+</g,"><")),Z.join("").trim()}function OB($){let Z=0;for(let Y=0;Y<$.length;Y++){let J=$.charCodeAt(Y);Z=(Z<<5)-Z+J,Z=Z&Z}return`"${Math.abs(Z).toString(36)}"`}function LB($,Z){return`<?xml version="1.0" encoding="UTF-8"?>
|
|
12255
12255
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
12256
12256
|
${$.map((J)=>{let X=new URL(J.loc,Z).href,Q=` <url>
|
|
12257
|
-
<loc>${
|
|
12257
|
+
<loc>${Y1(X)}</loc>`;if(J.lastmod)Q+=`
|
|
12258
12258
|
<lastmod>${J.lastmod}</lastmod>`;if(J.changefreq)Q+=`
|
|
12259
12259
|
<changefreq>${J.changefreq}</changefreq>`;if(J.priority!==void 0)Q+=`
|
|
12260
12260
|
<priority>${J.priority}</priority>`;return Q+=`
|
|
12261
12261
|
</url>`,Q}).join(`
|
|
12262
12262
|
`)}
|
|
12263
|
-
</urlset>`}function
|
|
12264
|
-
<title>${
|
|
12265
|
-
<link>${
|
|
12266
|
-
<description>${
|
|
12263
|
+
</urlset>`}function Y1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function FB($,Z){let Y=Z.map((J)=>{let X=" <item>";if(X+=`
|
|
12264
|
+
<title>${Y1(J.title)}</title>`,X+=`
|
|
12265
|
+
<link>${Y1(J.link)}</link>`,J.description)X+=`
|
|
12266
|
+
<description>${Y1(J.description)}</description>`;if(J.pubDate)X+=`
|
|
12267
12267
|
<pubDate>${J.pubDate.toUTCString()}</pubDate>`;if(J.author)X+=`
|
|
12268
|
-
<author>${
|
|
12269
|
-
<category>${
|
|
12270
|
-
<guid>${
|
|
12268
|
+
<author>${Y1(J.author)}</author>`;if(J.categories)for(let Q of J.categories)X+=`
|
|
12269
|
+
<category>${Y1(Q)}</category>`;if(J.guid)X+=`
|
|
12270
|
+
<guid>${Y1(J.guid)}</guid>`;return X+=`
|
|
12271
12271
|
</item>`,X});return`<?xml version="1.0" encoding="UTF-8"?>
|
|
12272
12272
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
|
12273
12273
|
<channel>
|
|
12274
|
-
<title>${
|
|
12275
|
-
<link>${
|
|
12276
|
-
<description>${
|
|
12274
|
+
<title>${Y1($.title)}</title>
|
|
12275
|
+
<link>${Y1($.link)}</link>
|
|
12276
|
+
<description>${Y1($.description)}</description>
|
|
12277
12277
|
${$.language?`<language>${$.language}</language>`:""}
|
|
12278
|
-
${$.copyright?`<copyright>${
|
|
12278
|
+
${$.copyright?`<copyright>${Y1($.copyright)}</copyright>`:""}
|
|
12279
12279
|
<lastBuildDate>${new Date().toUTCString()}</lastBuildDate>
|
|
12280
12280
|
<atom:link href="${$.link}/rss.xml" rel="self" type="application/rss+xml"/>
|
|
12281
12281
|
${Y.join(`
|
|
12282
12282
|
`)}
|
|
12283
12283
|
</channel>
|
|
12284
|
-
</rss>`}async function
|
|
12284
|
+
</rss>`}async function VB($={}){let Z=Date.now(),Y=await j1(),J={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||L1(process.cwd(),"ssg-cache"),contentLoaders:$.contentLoaders||[],hooks:$.hooks||{},minify:$.minify??!1,generate404:$.generate404??!0,publicDir:$.publicDir||"public",trailingSlash:$.trailingSlash??!1,cleanOutput:$.cleanOutput??!0,chunkIslands:$.chunkIslands===!0,prefetchIslands:$.prefetchIslands===!0,integrityIslands:$.integrityIslands===!0},X={totalPages:0,successCount:0,failedCount:0,cachedCount:0,buildTime:0,pages:[],errors:[]},Q=new Set,G=0,K={},W={};await J.hooks.onBuildStart?.();try{if(J.cleanOutput&&V0.existsSync(J.outputDir))await V0.promises.rm(J.outputDir,{recursive:!0});await V0.promises.mkdir(J.outputDir,{recursive:!0});let z=new jQ(J.cacheDir);if(J.cache)await z.load();try{let{generateCrosswindCSS:F}=await Promise.resolve().then(() => (d4(),R2));await F('<div class="bg-black"></div>')}catch{}GQ();let U=Y?.routeMiddleware?.dir||"middleware";await zQ(process.cwd(),U);let j=qQ();if(j.length>0)console.log(`Loaded ${j.length} middleware: ${j.join(", ")}`);let _=Y?.routeMiddleware?.global||[],B=U7(".",{pagesDir:J.pagesDir});console.log(`Found ${B.length} routes`);let H=[];for(let F of B){let w=await jB(F);for(let A of w)H.push({route:F,url:A.url,params:A.params,props:A.props,revalidate:A.revalidate??J.revalidate})}X.totalPages=H.length,console.log(`Generating ${X.totalPages} pages...`);let L=[],V=[];for(let F=0;F<H.length;F+=J.concurrency)V.push(H.slice(F,F+J.concurrency));for(let F of V)await Promise.all(F.map(async(w)=>{let{route:A,url:R,params:N,props:M,revalidate:T}=w;try{await J.hooks.onPageStart?.(R);let I=await Bun.file(A.filePath).text(),E=NB(I),D=E?.middleware?Array.isArray(E.middleware)?E.middleware:[E.middleware]:[],y=[..._,...D];if(y.length>0){let d=WQ(R,N,E||{}),p=KQ(d,null),Q0=await UQ(y,p);if(Q0.redirect){let Y0=typeof Q0.redirect==="string"?Q0.redirect:Q0.redirect.path||Q0.redirect,w0=MB(String(Y0),R),r=TB(R,J);await V0.promises.mkdir(K0.dirname(r),{recursive:!0}),await Bun.write(r,w0),X.successCount++,X.pages.push({route:R,outputPath:r,size:Buffer.byteLength(w0),cached:!1}),L.push({loc:R,lastmod:new Date().toISOString()}),console.log(` \u21B3 ${R} \u2192 redirect to ${Y0}`);return}if(Q0.abort){let Y0=typeof Q0.abort==="string"?Q0.abort:Q0.abort?.error?.message||"aborted";console.warn(` \u21B3 ${R} \u2014 middleware aborted: ${Y0}`);return}}let S=I.match(/definePageMeta\s*\(\s*\{[\s\S]*?validate\s*:\s*((?:\([^)]*\)|[^,}])*(?:\{[\s\S]*?\})?)/m);if(S)try{if(!await Function("route",`
|
|
12285
12285
|
const validate = ${S[1]};
|
|
12286
12286
|
return validate(route);
|
|
12287
|
-
`)({params:N})){console.warn(`Validation failed for ${R}, skipping...`);return}}catch{}let k=null,v=!1;if(J.cache){if(k=
|
|
12287
|
+
`)({params:N})){console.warn(`Validation failed for ${R}, skipping...`);return}}catch{}let k=null,v=!1;if(J.cache){if(k=z.get(R,A.filePath),k)v=!0,X.cachedCount++}if(!k){let d=await BQ(A,N,M,J,Y);if(k=d.html,J.cache)z.set(R,A.filePath,d.dependencies,k)}let g;if(J.trailingSlash)g=K0.join(J.outputDir,R,"index.html");else g=R==="/"?K0.join(J.outputDir,"index.html"):K0.join(J.outputDir,`${R}.html`);if(J.chunkIslands){let{html:d,chunks:p}=XQ(k,{integrity:J.integrityIslands,minify:J.minify});if(p.length>0){let Q0=K0.join(J.outputDir,"_stx","islands");await V0.promises.mkdir(Q0,{recursive:!0});for(let Y0 of p){let w0=K0.join(Q0,`${Y0.hash}.js`);if(!await Bun.file(w0).exists())await Bun.write(w0,Y0.code);if(!Q.has(Y0.hash)){Q.add(Y0.hash);let r=Buffer.byteLength(Y0.code,"utf8");G+=r,K[Y0.hash]={bytes:r,file:`/_stx/islands/${Y0.hash}.js`}}}if(W[R]=p.map((Y0)=>Y0.hash),k=d,J.prefetchIslands)k=QQ(k)}}await V0.promises.mkdir(K0.dirname(g),{recursive:!0}),await Bun.write(g,k),L.push({loc:R,lastmod:new Date().toISOString().split("T")[0],priority:R==="/"?1:0.8});let f={route:R,outputPath:g,size:Buffer.byteLength(k,"utf8"),cached:v};if(T!==!1)f.revalidateAt=Date.now()+T*1000;X.pages.push(f),X.successCount++,await J.hooks.onPageEnd?.(R,k)}catch(I){X.failedCount++,X.errors.push({route:R,error:I}),await J.hooks.onError?.(I,R),console.error(`Error generating ${R}:`,I)}}));if(J.cache)await z.save();if(J.generate404){let F=K0.join(J.pagesDir,"404.stx");if(await Bun.file(F).exists()){let w=new Set,A={...Y,debug:!1,cache:!1},R=await L0(await Bun.file(F).text(),{},F,A,w);await Bun.write(K0.join(J.outputDir,"404.html"),R)}else await Bun.write(K0.join(J.outputDir,"404.html"),`<!DOCTYPE html>
|
|
12288
12288
|
<html lang="en">
|
|
12289
12289
|
<head>
|
|
12290
12290
|
<meta charset="UTF-8">
|
|
@@ -12305,16 +12305,16 @@ ${Y.join(`
|
|
|
12305
12305
|
<a href="/">Go home</a>
|
|
12306
12306
|
</div>
|
|
12307
12307
|
</body>
|
|
12308
|
-
</html>`)}for(let F of[500]){let w=
|
|
12308
|
+
</html>`)}for(let F of[500]){let w=K0.join(J.pagesDir,`${F}.stx`);if(await Bun.file(w).exists()){let A=new Set,R={...Y,debug:!1,cache:!1},N=await L0(await Bun.file(w).text(),{},w,R,A);await Bun.write(K0.join(J.outputDir,`${F}.html`),N)}}let O=K0.join(J.pagesDir,"error.stx");if(await Bun.file(O).exists()){let F=new Set,w={...Y,debug:!1,cache:!1},A=await L0(await Bun.file(O).text(),{},O,w,F);await Bun.write(K0.join(J.outputDir,"error.html"),A)}if(J.sitemap&&L.length>0){let F=LB(L,J.domain),w=K0.join(J.outputDir,"sitemap.xml");await Bun.write(w,F),X.sitemapPath=w,console.log(`Generated sitemap.xml with ${L.length} URLs`)}if(J.rss){let F=typeof J.rss==="object"?J.rss:{title:"Site Feed",description:"Latest updates",link:J.domain},w=[];if(F.getItems)w=await F.getItems();let A=FB(F,w),R=K0.join(J.outputDir,"rss.xml");await Bun.write(R,A),X.rssPath=R,console.log(`Generated rss.xml with ${w.length} items`)}if(J.publicDir&&V0.existsSync(J.publicDir))await HQ(J.publicDir,J.outputDir),console.log(`Copied public assets from ${J.publicDir}`)}catch(z){throw await J.hooks.onError?.(z),z}if(X.buildTime=Date.now()-Z,Q.size>0){X.islandChunks={count:Q.size,totalBytes:G};let z={generatedChunks:Q.size,totalBytes:G,chunks:K,pages:W};await Bun.write(K0.join(J.outputDir,"_stx","islands-manifest.json"),JSON.stringify(z,null,2))}await J.hooks.onBuildEnd?.(X);let q=X.islandChunks?`
|
|
12309
12309
|
Island chunks: ${X.islandChunks.count} (${(X.islandChunks.totalBytes/1024).toFixed(1)} KB lifted out of inline HTML)`:"";return console.log(`
|
|
12310
12310
|
Build complete!
|
|
12311
12311
|
Total: ${X.totalPages} pages
|
|
12312
12312
|
Success: ${X.successCount}
|
|
12313
12313
|
Cached: ${X.cachedCount}
|
|
12314
12314
|
Failed: ${X.failedCount}
|
|
12315
|
-
Time: ${X.buildTime}ms${
|
|
12316
|
-
`),X}async function
|
|
12317
|
-
`)){let U=
|
|
12315
|
+
Time: ${X.buildTime}ms${q}
|
|
12316
|
+
`),X}async function HQ($,Z){let Y=await V0.promises.readdir($,{withFileTypes:!0});for(let J of Y){let X=K0.join($,J.name),Q=K0.join(Z,J.name);if(J.isDirectory())await V0.promises.mkdir(Q,{recursive:!0}),await HQ(X,Q);else await V0.promises.copyFile(X,Q)}}function wB($={}){let Z=$.cacheDir||L1(process.cwd(),"ssg-cache"),Y=new _Q(Z),J=$.revalidate||3600;return{async get(X){let Q=await Y.get(X);if(!Q)return null;if(Date.now()>Q.revalidateAfter)this.revalidate(X).catch(console.error);return{html:Q.html,headers:{"Cache-Control":`public, max-age=${J}, stale-while-revalidate=${J*2}`,ETag:Q.etag,"X-ISR-Generated":new Date(Q.generatedAt).toISOString(),...Q.headers}}},async revalidate(X){let G=U7(".",{pagesDir:$.pagesDir||"pages"}).find((U)=>{return X.match(U.regex)!==null});if(!G){console.warn(`Route not found for revalidation: ${X}`);return}let K=X.match(G.regex),W={};if(K)G.params.forEach((U,j)=>{W[U]=K[j+1]});let q=await j1(),{html:z}=await BQ(G,W,{},$,q);await Y.set(X,{html:z,generatedAt:Date.now(),revalidateAfter:Date.now()+J*1000,etag:OB(z)}),console.log(`Revalidated: ${X}`)},async invalidate(X){if(typeof X==="string")await Y.invalidate(X);else await Y.invalidatePattern(X)}}}function AB($){return async()=>{return{paths:await $(),fallback:!1}}}function RB(){return{name:"markdown",extensions:[".md",".mdx"],async load($){let Z=await Bun.file($).text(),Y=Z.match(/^---\n([\s\S]*?)\n---/),J={},X=Z;if(Y){let q=Y[1];X=Z.slice(Y[0].length).trim();for(let z of q.split(`
|
|
12317
|
+
`)){let U=z.indexOf(":");if(U>0){let j=z.slice(0,U).trim(),_=z.slice(U+1).trim();if(_==="true")_=!0;else if(_==="false")_=!1;else if(/^\d+$/.test(_))_=parseInt(_,10);else if(/^\d+\.\d+$/.test(_))_=parseFloat(_);else if(_.startsWith("[")&&_.endsWith("]"))_=_.slice(1,-1).split(",").map((B)=>B.trim().replace(/^['"]|['"]$/g,""));J[j]=_}}}let Q=X.replace(/^### (.*$)/gim,"<h3>$1</h3>").replace(/^## (.*$)/gim,"<h2>$1</h2>").replace(/^# (.*$)/gim,"<h1>$1</h1>").replace(/\*\*(.*)\*\*/gim,"<strong>$1</strong>").replace(/\*(.*)\*/gim,"<em>$1</em>").replace(/`([^`]+)`/gim,"<code>$1</code>").replace(/\[([^\]]+)\]\(([^)]+)\)/gim,'<a href="$2">$1</a>').replace(/\n/gim,"<br>"),G=[],K=/<h([1-6])>([^<]+)<\/h[1-6]>/gi,W;while((W=K.exec(Q))!==null){let q=parseInt(W[1],10),z=W[2],U=z.toLowerCase().replace(/[^a-z0-9]+/g,"-");G.push({id:U,text:z,level:q})}return{content:Q,data:J,toc:G}}}}function NB($){let Z=$.match(/definePageMeta\s*\(\s*(\{[\s\S]*?\})\s*\)/m);if(!Z)return null;try{return Function(`return ${Z[1]}`)()}catch{return null}}function MB($,Z){return`<!DOCTYPE html>
|
|
12318
12318
|
<html>
|
|
12319
12319
|
<head>
|
|
12320
12320
|
<meta charset="utf-8">
|
|
@@ -12326,4 +12326,4 @@ Build complete!
|
|
|
12326
12326
|
<p>Redirecting to <a href="${$}">${$}</a>...</p>
|
|
12327
12327
|
<script>window.location.replace('${$}')</script>
|
|
12328
12328
|
</body>
|
|
12329
|
-
</html>`}function
|
|
12329
|
+
</html>`}function TB($,Z){if($==="/"||$==="")return K0.join(Z.outputDir,"index.html");let Y=$.replace(/^\/|\/$/g,"");if(Z.trailingSlash)return K0.join(Z.outputDir,Y,"index.html");return K0.join(Z.outputDir,`${Y}.html`)}var xN={generateStaticSite:VB,createISRHandler:wB,defineStaticPaths:AB,createMarkdownLoader:RB};export{VB as generateStaticSite,AB as defineStaticPaths,xN as default,RB as createMarkdownLoader,wB as createISRHandler};
|