@stacksjs/stx 0.2.133 → 0.2.135
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 +561 -561
- package/dist/craft.js +285 -285
- package/dist/dev-server/crosswind.d.ts +2 -1
- package/dist/dev-server/crosswind.js +27 -8
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/process.js +1 -1
- package/dist/pwa.js +254 -254
- package/dist/ssg.js +261 -261
- package/package.json +5 -5
package/dist/craft.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var
|
|
2
|
+
var gQ=Object.defineProperty;var hQ=($)=>$;function uQ($,Z){this[$]=hQ.bind(null,Z)}var t=($,Z)=>{for(var Y in Z)gQ($,Y,{get:Z[Y],enumerable:!0,configurable:!0,set:uQ.bind(Z,Y)})};var k=($,Z)=>()=>($&&(Z=$($=0)),Z);var a=import.meta.require;function x9($,Z,Y,X){let Q=$;Q=Q.replace(/@a11y\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(G,K,q)=>{let U={"aria-label":"Ensure interactive elements have accessible labels","alt-text":"Provide alternative text for images",focus:"Ensure the element can receive keyboard focus",landmark:"Use appropriate landmark roles","heading-order":"Maintain proper heading hierarchy","color-contrast":"Ensure sufficient color contrast","keyboard-nav":"Make sure element is keyboard navigable","screen-reader":"Optimize for screen reader users"}[K]||"Make this element accessible";return`<!-- a11y-hint: ${q||U} -->`});let J=/@screenReader\(([^@]*)\)@endScreenReader/g;return Q=Q.replace(J,(G,K)=>{return`<span class="sr-only">${K.trim()}</span>`}),Q=Q.replace(/@ariaDescribe\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(G,K,q)=>{return`<span id="${`desc-${K}`}" class="sr-only">${q}</span>`}),Q}var f9,g9;var A7=k(()=>{f9={name:"a11y",handler:($,Z,Y,X)=>{if(!Z.length)return $;let Q=Z[0].replace(/['"]/g,""),J=Z.length>1?Z[1].replace(/['"]/g,""):"",K={"aria-label":"Ensure interactive elements have accessible labels","alt-text":"Provide alternative text for images",focus:"Ensure the element can receive keyboard focus",landmark:"Use appropriate landmark roles","heading-order":"Maintain proper heading hierarchy","color-contrast":"Ensure sufficient color contrast","keyboard-nav":"Make sure element is keyboard navigable","screen-reader":"Optimize for screen reader users"}[Q]||"Make this element accessible";return`<!-- a11y-hint: ${J||K} -->${$}`},hasEndTag:!1},g9={name:"screenReader",handler:($)=>{return`<span class="sr-only">${$}</span>`},hasEndTag:!0}});function uG($,Z={}){let{duration:Y,delay:X,ease:Q,direction:J,custom:G}={...W1,...Z};if($==="custom"&&G)return G;switch($){case"fade":return`${J==="in"?"opacity: 0; animation: fadeIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":J==="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`${J==="in"?"transform: translateY(20px); opacity: 0; animation: slideIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":J==="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 xQ=Object.defineProperty;var fQ=($)=>$;function gQ($,Z){this[$]=fQ.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`${J==="in"?"transform: rotate(-90deg); opacity: 0; animation: rotateIn var(--stx-transition-duration, 300ms) var(--stx-transition-ease, ease) var(--stx-transition-delay, 0ms) forwards;":J==="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 dG(){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 mG($){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 lG($=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 cG(){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 pG($,Z,Y={}){let{staggerDelay:X=50,sequence:Q=!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(Q.includes("stx-observe")){if(!Q.includes("Intersection Observer for scroll animations")){let q=
|
|
237
|
-
`+Q.slice(W)}}return Q}var
|
|
238
|
-
style="--stx-transition-duration: ${J}ms; --stx-transition-ease: ${G}; --stx-transition-delay: ${K}ms;">${$}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},
|
|
239
|
-
${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},
|
|
235
|
+
`}function l9($,Z,Y,X){let Q=$;if(X.animation?.enabled===!1)return Q;let J=Y.includes("test")&&Y.includes("animation");if(!mG(Q)&&!J)return Q;if(!Q.includes('<style id="stx-animation-base">')){let K=cG();Q=Q.replace("</head>",`${K}
|
|
236
|
+
</head>`)}if(Q.includes("stx-observe")){if(!Q.includes("Intersection Observer for scroll animations")){let q=lG(),W=Q.lastIndexOf("</body>");if(W!==-1)Q=Q.slice(0,W)+q+`
|
|
237
|
+
`+Q.slice(W)}}return Q}var W1,h9,u9,d9,m9;var R7=k(()=>{W1={duration:300,delay:0,ease:"ease",direction:"both"};h9={name:"transition",handler:($,Z,Y,X)=>{if(Z.length<1)return`<div class="stx-error">@transition directive requires at least a transition type</div>${$}`;let Q=Z[0],J=Z.length>1?Number.parseInt(Z[1],10)||W1.duration:W1.duration,G=Z.length>2?Z[2]||W1.ease:W1.ease,K=Z.length>3?Number.parseInt(Z[3],10)||W1.delay:W1.delay,q=Z.length>4?Z[4]||W1.direction:W1.direction,W=`stx-transition-${Math.random().toString(36).substr(2,9)}`,U=uG(Q,{duration:J,delay:K,ease:G,direction:q}),z="stx-transition",_="";if(Q==="fade")_="stx-fade";else if(Q==="slide")_="stx-slide";else if(Q==="scale")_="stx-scale";else if(Q==="flip")_="stx-flip";else if(Q==="rotate")_="stx-rotate";return`<div id="${W}" class="${z} ${_} ${q==="out"?"stx-out":""}"
|
|
238
|
+
style="--stx-transition-duration: ${J}ms; --stx-transition-ease: ${G}; --stx-transition-delay: ${K}ms;">${$}</div>`},hasEndTag:!0,description:"Applies transition effects to an element"},u9={name:"scrollAnimate",handler:($,Z,Y,X)=>{if(Z.length<1)return`<div class="stx-error">@scrollAnimate directive requires at least an animation type</div>${$}`;let Q=Z[0],J=Z.length>1?Number.parseInt(Z[1],10)||300:300,G=Z.length>2?Z[2]||"ease":"ease",K=Z.length>3?Number.parseFloat(Z[3])||0.2:0.2,q=Z.length>4?Number.parseInt(Z[4],10)||0:0,W=`stx-scroll-${Math.random().toString(36).substr(2,9)}`,U=`--stx-transition-duration: ${J}ms; --stx-transition-ease: ${G}; --stx-transition-delay: ${q}ms; will-change: opacity, transform;`,z="stx-transition stx-observe stx-out";if(Q==="fade")z+=" stx-fade";else if(Q==="slide-up"||Q==="slide")z+=" stx-from-bottom";else if(Q==="slide-down")z+=" stx-from-top";else if(Q==="slide-left")z+=" stx-from-right";else if(Q==="slide-right")z+=" stx-from-left";else if(Q==="scale")z+=" stx-scale";else if(Q.includes("-"))z+=` stx-${Q}`;else z+=` stx-${Q}`;return`<div id="${W}" class="${z}" style="${U}" data-threshold="${K}">${$}</div>`},hasEndTag:!0,description:"Applies animations that trigger when scrolled into view"},d9={name:"animationGroup",handler:($,Z,Y,X)=>{if(Z.length<2)return`<div class="stx-error">@animationGroup directive requires a group name and at least one element selector</div>${$}`;let Q=Z[0],J=Z.slice(1).map((W)=>W.startsWith("#")||W.startsWith(".")?W:`#${W}`),G=Y.staggerDelay||50,K=Y.sequence||!0,q=pG(Q,J,{staggerDelay:G,sequence:K});return`${$}
|
|
239
|
+
${q}`},hasEndTag:!1,description:"Coordinates multiple animations together as a group"},m9={name:"motion",handler:($,Z,Y,X)=>{let Q=Z.length>0?Z[0].toLowerCase()==="true":!0,J=dG();return`<div data-animate="${Q?"auto":"true"}">${$}</div>${J}`},hasEndTag:!0,description:"Controls motion and animation preferences"}});import{getRouterScript as c9}from"stx-router";var p9=k(()=>{M7()});async function iG($,Z,Y,X){let Q=Z[0]?.replace(/['"]/g,"")||"main",J=c9();if(Q!=="main")J=J.replace("container:'main'",`container:'${Q}'`);return`<script data-stx-router>${J}</script>`}var i9;var M7=k(()=>{p9();i9={name:"stxRouter",handler:iG,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"}});function n9($){let Z=$.heatmap;if(!Z?.enabled)return"";let Y={...nG,...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 q=K.indexOf(":");if(q===-1)continue;let W=K.slice(0,q).trim(),U=K.slice(q+1).trim();if(typeof U==="string"){if(U.startsWith('"')&&U.endsWith('"')||U.startsWith("'")&&U.endsWith("'"))U=U.slice(1,-1);else if(U.startsWith("[")&&U.endsWith("]"))try{U=JSON.parse(U)}catch{}else if(U==="true")U=!0;else if(U==="false")U=!1;else if(/^-?\d+(?:\.\d+)?$/.test(U))U=Number(U)}J[W]=U}return{data:J,content:Q.trim()}}function
|
|
624
|
-
`),Q=Q.replace(/^[*\-+]\s+(.*)$/gm,"<li data-ul>$1</li>"),Q=Q.replace(/(<li data-ul>.*<\/li>\n?)+/g,"<ul>$&</ul>"),Q=Q.replace(/<\/ul>\n<ul>/g,""),Q=Q.replace(/^\d+\.\s+(.*)$/gm,"<li data-ol>$1</li>"),Q=Q.replace(/(<li data-ol>.*<\/li>\n?)+/g,"<ol>$&</ol>"),Q=Q.replace(/<\/ol>\n<ol>/g,""),Q=Q.replace(/<li data-ul>/g,"<li>"),Q=Q.replace(/<li data-ol>/g,"<li>"),Y)Q=Q.replace(/^\|(.+)\|\s*\n\|[-:\s|]+\|\s*\n((?:\|.+\|\s*\n)*)/gm,(U,z,_)=>{let j=`<tr>${z.split("|").map((L)=>L.trim()).filter(Boolean).map((L)=>`<th>${
|
|
625
|
-
`).map((L)=>{return`<tr>${L.split("|").map((O)=>O.trim()).filter(Boolean).map((O)=>`<td>${
|
|
622
|
+
`}function s9($,Z){let Y=n9(Z);if(!Y)return $;let X=$.lastIndexOf("</body>");if(X!==-1)return $.slice(0,X)+Y+$.slice(X);return $+Y}function sG($){let Z={},Y=$.match(/(\w+)=["']?([^"'\s]+)["']?/g)||[];for(let X of Y){let[Q,J]=X.split("="),G=J?.replace(/["']/g,"");switch(Q){case"endpoint":Z.endpoint=G;break;case"samplingRate":Z.samplingRate=Number.parseInt(G,10);break;case"batchSize":Z.batchSize=Number.parseInt(G,10);break;case"trackMouse":Z.trackMouse=G==="true";break;case"trackClicks":Z.trackClicks=G==="true";break;case"trackScroll":Z.trackScroll=G==="true";break;case"honorDnt":Z.honorDnt=G==="true";break;case"debugOverlay":Z.debugOverlay=G==="true";break}}return Z}var nG,o9;var N7=k(()=>{nG={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};o9={name:"heatmap",hasEndTag:!1,description:"Inject privacy-compliant heatmap tracking script",handler:async($,Z,Y,X)=>{let Q=Y.__stx_config||{};if(Z.length>0){let J=sG(Z.join(" "));Q.heatmap={...Q.heatmap,...J,enabled:!0}}return n9(Q)}}});function L1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function r9($){let Z=$.trim().toLowerCase();return!Z.startsWith("javascript:")&&!Z.startsWith("vbscript:")&&!Z.startsWith("data:text/html")}function a9($){let Z=/^---\r?\n([\s\S]*?)\r?\n---\r?\n/,Y=$.match(Z);if(!Y)return{data:{},content:$.trim()};let X=Y[1],Q=$.slice(Y[0].length),J={};for(let G of X.split(`
|
|
623
|
+
`)){let K=G.trim();if(!K||K.startsWith("#"))continue;let q=K.indexOf(":");if(q===-1)continue;let W=K.slice(0,q).trim(),U=K.slice(q+1).trim();if(typeof U==="string"){if(U.startsWith('"')&&U.endsWith('"')||U.startsWith("'")&&U.endsWith("'"))U=U.slice(1,-1);else if(U.startsWith("[")&&U.endsWith("]"))try{U=JSON.parse(U)}catch{}else if(U==="true")U=!0;else if(U==="false")U=!1;else if(/^-?\d+(?:\.\d+)?$/.test(U))U=Number(U)}J[W]=U}return{data:J,content:Q.trim()}}function m5($,Z={}){let{gfm:Y=!0,breaks:X=!1}=Z,Q=$,J=[];if(Q=Q.replace(/```(\w*)\n([\s\S]*?)```/g,(U,z,_)=>{let B=J.length,j=z?` class="language-${L1(z)}"`:"";return J.push(`<pre><code${j}>${L1(_.trim())}</code></pre>`),`\x00CODEBLOCK${B}\x00`}),Q=Q.replace(/`([^`]*)`/g,(U,z)=>`<code>${L1(z)}</code>`),Q=Q.replace(/^######\s+(.*)$/gm,"<h6>$1</h6>"),Q=Q.replace(/^#####\s+(.*)$/gm,"<h5>$1</h5>"),Q=Q.replace(/^####\s+(.*)$/gm,"<h4>$1</h4>"),Q=Q.replace(/^###\s+(.*)$/gm,"<h3>$1</h3>"),Q=Q.replace(/^##\s+(.*)$/gm,"<h2>$1</h2>"),Q=Q.replace(/^#\s+(.*)$/gm,"<h1>$1</h1>"),Q=Q.replace(/\*\*\*(.+?)\*\*\*/g,"<strong><em>$1</em></strong>"),Q=Q.replace(/___(.+?)___/g,"<strong><em>$1</em></strong>"),Q=Q.replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>"),Q=Q.replace(/__(.+?)__/g,"<strong>$1</strong>"),Q=Q.replace(/\*(.+?)\*/g,"<em>$1</em>"),Q=Q.replace(/(?<![a-zA-Z0-9])_(.+?)_(?![a-zA-Z0-9])/g,"<em>$1</em>"),Y)Q=Q.replace(/~~(.+?)~~/g,"<del>$1</del>");if(Q=Q.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,(U,z,_)=>{return`<img src="${r9(_)?L1(_):""}" alt="${L1(z)}" />`}),Q=Q.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(U,z,_)=>{return`<a href="${r9(_)?L1(_):""}">${z}</a>`}),Q=Q.replace(/^(?:---|\*\*\*|___)\s*$/gm,"<hr />"),Q=Q.replace(/^>\s+(.*)$/gm,"<blockquote>$1</blockquote>"),Q=Q.replace(/<\/blockquote>\n<blockquote>/g,`
|
|
624
|
+
`),Q=Q.replace(/^[*\-+]\s+(.*)$/gm,"<li data-ul>$1</li>"),Q=Q.replace(/(<li data-ul>.*<\/li>\n?)+/g,"<ul>$&</ul>"),Q=Q.replace(/<\/ul>\n<ul>/g,""),Q=Q.replace(/^\d+\.\s+(.*)$/gm,"<li data-ol>$1</li>"),Q=Q.replace(/(<li data-ol>.*<\/li>\n?)+/g,"<ol>$&</ol>"),Q=Q.replace(/<\/ol>\n<ol>/g,""),Q=Q.replace(/<li data-ul>/g,"<li>"),Q=Q.replace(/<li data-ol>/g,"<li>"),Y)Q=Q.replace(/^\|(.+)\|\s*\n\|[-:\s|]+\|\s*\n((?:\|.+\|\s*\n)*)/gm,(U,z,_)=>{let j=`<tr>${z.split("|").map((L)=>L.trim()).filter(Boolean).map((L)=>`<th>${L1(L)}</th>`).join("")}</tr>`,H=_.trim().split(`
|
|
625
|
+
`).map((L)=>{return`<tr>${L.split("|").map((O)=>O.trim()).filter(Boolean).map((O)=>`<td>${L1(O)}</td>`).join("")}</tr>`}).join(`
|
|
626
626
|
`);return`<table>
|
|
627
627
|
<thead>
|
|
628
628
|
${j}
|
|
@@ -639,8 +639,8 @@ ${H}
|
|
|
639
639
|
`),X)Q=Q.replace(/\n/g,`<br />
|
|
640
640
|
`);for(let U=0;U<J.length;U++)Q=Q.replace(`\x00CODEBLOCK${U}\x00`,J[U]);return Q=Q.replace(/<p>\s*<\/p>/g,""),Q.trim()}function r0($){let Z=/import\s*\{([^}]+)\}\s*from\s*['"](@stores|stx\/stores)['"]\s*;?\n?/g;$=$.replace(Z,(X,Q)=>{return`const { ${Q.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,(X,Q)=>{return`const { ${Q.split(",").map((G)=>G.trim()).filter(Boolean).join(", ")} } = window.__composables
|
|
642
|
-
`}),$}import
|
|
643
|
-
export { ${B.join(", ")} }`:"";await Bun.write(U,$+F),console.log("[stx:bundler] bundling:",G,"from:",j0.basename(Z));let O=new Set;try{let V=await Bun.build({entrypoints:[U],outdir:z,target:"browser",format:"esm",minify:Q,plugins:[
|
|
642
|
+
`}),$}import oG from"process";function c0($="STX_PUBLIC_"){let Z={},Y={};for(let[X,Q]of Object.entries(oG.env)){if(!X.startsWith($)||Q===void 0)continue;Z[`import.meta.env.${X}`]=JSON.stringify(Q),Y[X]=Q}return Z["import.meta.env"]=JSON.stringify(Y),Z}var C1=()=>{};import l5 from"path";function e9($){t9=$?.trim()||null}function c5(){return process.env[rG]?.trim()||t9||Q5}function p5($=process.cwd(),...Z){let Y=c5();return l5.isAbsolute(Y)?l5.join(Y,...Z):l5.join($,Y,...Z)}function i5($){if(!$||l5.isAbsolute($))return $;let Z=$.replace(/\\/g,"/");if(Z!==Q5&&!Z.startsWith(`${Q5}/`))return $;let Y=Z.slice(Q5.length+1);return Y?l5.join(c5(),Y):c5()}var Q5=".stx",rG="STX_DIR",t9=null;var b$=()=>{};var n5={};t(n5,{queueClientBundleBuild:()=>X8,hasUserImports:()=>tG,bundleClientScript:()=>$K});import j0 from"path";import P0 from"fs";function tG($){let Z=/^[ \t]*import[ \t]+(?!type(?:[ \t]|{))[\s\S]*?\s+from\s+['"]([^'"]+)['"][ \t]*;?/gm,Y;while((Y=Z.exec($))!==null){let Q=Y[1];if(!$8.some((G)=>G.test(Q)))return console.log("[stx:bundler] detected user import:",Q),!0}let X=/^[ \t]*import[ \t]+['"]([^'"]+)['"]/gm;while((Y=X.exec($))!==null){let Q=Y[1];if(/\.css(?:\?.*)?$/.test(Q))continue;if(!$8.some((G)=>G.test(Q)))return console.log("[stx:bundler] detected side-effect import:",Q),!0}return!1}function eG($,Z,Y,X){let Q=(J,G)=>{let K=J===Y?Z:j0.dirname(J),q=j0.resolve(K,G),W=[q,`${q}.ts`,`${q}.tsx`,`${q}.js`,`${q}.mjs`,`${q}.jsx`,j0.join(q,"index.ts"),j0.join(q,"index.tsx"),j0.join(q,"index.js"),j0.join(q,"index.mjs")];for(let U of W)try{if(P0.existsSync(U)&&P0.statSync(U,{throwIfNoEntry:!1})?.isFile())return U}catch{}return q};return{name:"stx-client-bundle",setup(J){J.onResolve({filter:/^(stx|@stacksjs\/stx)$/},(G)=>({path:G.path,external:!0})),J.onResolve({filter:/^(@stores|@composables|stx\/stores)$/},(G)=>({path:G.path,external:!0})),J.onResolve({filter:/^\//},(G)=>{if(P0.existsSync(G.path))return{path:G.path};return{path:G.path,external:!0}}),J.onResolve({filter:/^\.\.?\//},(G)=>{let K=Q(G.importer,G.path);return X.add(K),{path:K}}),J.onResolve({filter:/^[@~]\//},(G)=>{let K=j0.resolve($,G.path.slice(2)),q=[K,`${K}.ts`,`${K}.tsx`,`${K}.js`,`${K}.mjs`,`${K}.jsx`,j0.join(K,"index.ts"),j0.join(K,"index.tsx"),j0.join(K,"index.js"),j0.join(K,"index.mjs")];for(let W of q)if(P0.existsSync(W)&&P0.statSync(W,{throwIfNoEntry:!1})?.isFile())return console.log(`[stx:bundler] resolved ${G.path[0]}/ import:`,G.path,"\u2192",W),X.add(W),{path:W};return console.warn(`[stx:bundler] could not resolve ${G.path[0]}/ import:`,G.path),{path:K}}),J.onLoad({filter:/\.(?:[cm]?[jt]sx?|json)$/},(G)=>{let K=j0.extname(G.path).toLowerCase(),q=K===".json"?"json":K===".tsx"?"tsx":K===".jsx"?"jsx":K===".ts"||K===".mts"||K===".cts"?"ts":"js";if(G.path!==Y)X.add(G.path);return{contents:P0.readFileSync(G.path,"utf8"),loader:q}})}}}function X8($){let Z=globalThis,X=(Z[Z8]??Promise.resolve()).then($,$);return Z[Z8]=X.then(()=>{return},()=>{return}),X}async function $K($,Z,Y={}){let X=Y.projectRoot||process.cwd(),Q=Y.minify??!1,J=Y.cacheDir||p5(X,"bundle-cache"),G=new Bun.CryptoHasher("md5");G.update(`${aG}\x00${$}\x00${Z}`);let K=G.digest("hex").slice(0,12),q=j0.join(J,`${K}.js`),W=j0.join(J,`${K}.deps.json`),U=Bun.file(q);if(await U.exists()){let B=Bun.file(W),j=!0;if(await B.exists())try{let H=JSON.parse(await B.text());if(H.metadataVersion!==Y8||!Array.isArray(H.files))j=!1;for(let L of Array.isArray(H.files)?H.files:[])try{if(P0.statSync(L.path).mtimeMs!==L.mtimeMs){j=!1;break}}catch{j=!1;break}}catch{j=!1}if(j)return console.log("[stx:bundler] cache hit:",K),await U.text();console.log("[stx:bundler] cache invalidated by dep change:",K)}let z=T7.get(K);if(z)return await z;let _=X8(()=>ZK($,Z,{projectRoot:X,minify:Q,cacheDir:J,hash:K,cachePath:q,depsPath:W}));T7.set(K,_);try{return await _}finally{T7.delete(K)}}async function ZK($,Z,Y){let{projectRoot:X,minify:Q,cacheDir:J,hash:G,cachePath:K,depsPath:q}=Y,W=p5(X,"bundle-tmp"),U=j0.join(W,`${G}.ts`),z=j0.join(W,"out",G);P0.mkdirSync(W,{recursive:!0}),P0.mkdirSync(z,{recursive:!0});let _=j0.dirname(Z),B=[],j=/^(export\s+)?(?:const|let|var)\s+(?:\{([^}]+)\}|(\w+))/gm,H=/^(export\s+)?(?:async\s+)?function\s+(\w+)/gm,L;while((L=j.exec($))!==null){if(L[1])continue;if(L[2])L[2].split(",").forEach((V)=>{let w=V.split(":")[0].trim();if(w)B.push(w)});else if(L[3])B.push(L[3])}while((L=H.exec($))!==null){if(L[1])continue;B.push(L[2])}let F=B.length>0?`
|
|
643
|
+
export { ${B.join(", ")} }`:"";await Bun.write(U,$+F),console.log("[stx:bundler] bundling:",G,"from:",j0.basename(Z));let O=new Set;try{let V=await Bun.build({entrypoints:[U],outdir:z,target:"browser",format:"esm",minify:Q,plugins:[eG(X,_,U,O)],define:{"process.env.NODE_ENV":Q?'"production"':'"development"',...c0()},root:X});if(!V.success){let E=V.logs.filter((y)=>y.level==="error").map((y)=>y.message).join(", ");return console.warn("[stx:bundler] build failed:",E),$}let w="";for(let E of V.outputs){w=await E.text();break}let A=[];for(let E of w.matchAll(/^\s*export\s*\{([^}]*)\}\s*;?\s*$/gm))for(let y of E[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 b=y.trim();if(/^[A-Za-z_$][\w$]*$/.test(b))A.push([b,b])}let M=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 R=`__stxBundle_${G}`,N=A.map(([E,y])=>`${JSON.stringify(E)}: ${y}`).join(", "),T=A.map(([E])=>`var ${E} = undefined;`).join(`
|
|
644
644
|
`),I=A.map(([E])=>`${E} = ${R}[${JSON.stringify(E)}];`).join(`
|
|
645
645
|
`);if(w=`${M.join(`
|
|
646
646
|
`)}
|
|
@@ -649,19 +649,19 @@ var ${R} = (function() {
|
|
|
649
649
|
${w}
|
|
650
650
|
return { ${N} };
|
|
651
651
|
})();
|
|
652
|
-
${I}`.trim(),console.log("[stx:bundler] bundled:",G,"output:",w.length,"bytes"),B.length>0&&A.length===0)return console.warn(`[stx:bundler] dropped every binding for ${j0.basename(Z)} (${G}); serving the unbundled source and not caching this result`),$;P0.mkdirSync(J,{recursive:!0}),await Bun.write(K,w);let D=Array.from(O).map((E)=>{try{return{path:E,mtimeMs:P0.statSync(E).mtimeMs}}catch{return null}}).filter((E)=>E!==null);return await Bun.write(q,JSON.stringify({metadataVersion:
|
|
652
|
+
${I}`.trim(),console.log("[stx:bundler] bundled:",G,"output:",w.length,"bytes"),B.length>0&&A.length===0)return console.warn(`[stx:bundler] dropped every binding for ${j0.basename(Z)} (${G}); serving the unbundled source and not caching this result`),$;P0.mkdirSync(J,{recursive:!0}),await Bun.write(K,w);let D=Array.from(O).map((E)=>{try{return{path:E,mtimeMs:P0.statSync(E).mtimeMs}}catch{return null}}).filter((E)=>E!==null);return await Bun.write(q,JSON.stringify({metadataVersion:Y8,files:D})),w}catch(V){let w=V instanceof Error?V.message:String(V),A=V?.errors,M=Array.isArray(A)&&A.length>0?`
|
|
653
653
|
${A.map((R)=>`- ${R?.message??R}`).join(`
|
|
654
|
-
`)}`:"";return console.warn(`[stx:bundler] error: ${w}${M}`),$}finally{try{P0.rmSync(U,{force:!0}),P0.rmSync(z,{recursive:!0,force:!0})}catch{}}}var
|
|
654
|
+
`)}`:"";return console.warn(`[stx:bundler] error: ${w}${M}`),$}finally{try{P0.rmSync(U,{force:!0}),P0.rmSync(z,{recursive:!0,force:!0})}catch{}}}var aG=5,Y8=1,$8,T7,Z8;var s5=k(()=>{C1();b$();$8=[/^stx$/,/^@stacksjs\/stx$/,/^@stores$/,/^stx\/stores$/,/^@composables$/];T7=new Map,Z8=Symbol.for("stx.client-bundle-build-queue")});var q8={};t(q8,{renderVendorStyleTags:()=>y$,processClientScript:()=>f1,injectBrowserCoreAutoImports:()=>G5,generateServerDataBridge:()=>P$,generateBrowserAutoImportDestructuring:()=>zK,generateAutoImportDestructuring:()=>I7,extractBridgeData:()=>x1,extractAndStripCssImports:()=>S$});import v1 from"path";import o5 from"fs";function XK($){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 JK($,Z){let Y=Z;while(!0){let X=v1.join(Y,"node_modules",$,"package.json");if(o5.existsSync(X))return v1.dirname(X);let Q=v1.dirname(Y);if(Q===Y)return null;Y=Q}}function QK($,Z){if(!$||typeof $!=="object")return null;let Y=(Q)=>{if(typeof Q==="string")return Q;if(Q&&typeof Q==="object"){if(typeof Q.import==="string")return Q.import;if(typeof Q.default==="string")return Q.default;if(typeof Q.import==="object")return Y(Q.import);if(typeof Q.default==="object")return Y(Q.default)}return null};if(Object.prototype.hasOwnProperty.call($,Z))return Y($[Z]);let X=null;for(let Q of Object.keys($)){let J=Q.indexOf("*");if(J===-1)continue;let G=Q.slice(0,J),K=Q.slice(J+1);if(!Z.startsWith(G)||!Z.endsWith(K))continue;if(Z.length<G.length+K.length)continue;if(!X||G.length>X.prefix.length)X={pattern:Q,prefix:G,suffix:K}}if(X){let Q=Z.slice(X.prefix.length,Z.length-X.suffix.length),J=Y($[X.pattern]);if(J)return J.replace("*",Q)}return null}function GK($,Z){let Y=XK($);if(!Y||!Y.subpath)return null;let X=JK(Y.pkg,Z);if(!X)return null;let Q;try{Q=JSON.parse(o5.readFileSync(v1.join(X,"package.json"),"utf8"))}catch{return null}let J=`.${Y.subpath}`,G=QK(Q.exports,J);if(!G)return null;let K=v1.resolve(X,G);return o5.existsSync(K)?K:null}function S$($,Z){let Y=Z.filePath?v1.dirname(Z.filePath):Z.projectRoot||process.cwd(),X=Z.projectRoot||process.cwd(),Q=new Set,J=[];return{code:$.replace(YK,(K,q)=>{let W;try{if(q.startsWith("./")||q.startsWith("../")||q.startsWith("/")){if(W=q.startsWith("/")?q:v1.resolve(Y,q),!o5.existsSync(W))throw Error(`file not found: ${W}`)}else{let U=null;try{U=Bun.resolveSync(q,X)}catch{U=GK(q,X)}if(!U)throw Error(`could not resolve ${q} (Bun.resolveSync + exports fallback both failed)`);W=U}}catch(U){return console.warn(`[stx:vendor-css] could not resolve ${JSON.stringify(q)} (from ${Z.filePath||"<unknown>"}): ${U?.message||U}`),""}if(Q.has(W))return"";Q.add(W);try{let U=o5.readFileSync(W,"utf8");J.push({source:q,resolvedPath:W,contents:U})}catch(U){console.warn(`[stx:vendor-css] could not read ${W}: ${U?.message||U}`)}return""}),styles:J}}function KK($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function y$($){if($.length===0)return"";return`${$.map((Z)=>{return`<style data-stx-vendor="${KK(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:X}}function
|
|
660
|
+
`}function G5($){let Z=new Set;for(let Q of $.matchAll(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm))for(let J of Q[1].split(",")){let G=J.trim().split(/\s+as\s+/).pop()?.replace(/^type\s+/,"").trim();if(G)Z.add(G)}let Y=new Set;for(let Q of $.matchAll(/\b(?:const|let|var|function|class)\s+([A-Za-z_$][\w$]*)/g))Y.add(Q[1]);for(let Q of $.matchAll(/\b(?:const|let|var)\s*\{([^}]*)\}/g))for(let J of Q[1].split(",")){let G=J.trim().split(/[:=]/).pop()?.trim();if(G)Y.add(G)}let X=G8.filter((Q)=>{if(Z.has(Q)||Y.has(Q))return!1;return new RegExp(`\\b${Q}\\b`).test($)});if(X.length===0)return{code:$,imports:X};return{code:`import { ${X.join(", ")} } from '@stacksjs/browser'
|
|
661
|
+
${$}`,imports:X}}function UK($){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,X;while((X=Y.exec($))!==null)if(!WK.has(X[1]))Z.add(X[1]);return Array.from(Z)}function K8($){let Z=new Set,Y=new Set,X=$;X=X.replace(/^\s*import\s+type\s+\{[^}]*\}\s+from\s+['"][^'"]+['"]\s*;?\s*$/gm,"// [type import stripped]");let Q=new Set,J=/^\s*import\s+(?:type\s+)?{\s*([^}]+)\s*}\s+from\s+['"](@stacksjs\/browser|@stacksjs\/stx|stx)['"]\s*;?\s*$/gm,G;while((G=J.exec($))!==null){let q=G[1],W=G[2];if(G[0].includes("import type"))continue;q.split(",").map((z)=>z.trim().split(/\s+as\s+/)[0]).filter((z)=>z.length>0).forEach((z)=>{if(Q.add(z),W==="stx"||W==="@stacksjs/stx")Z.add(z);else Y.add(z)}),X=X.replace(G[0],"// [auto-import processed]")}for(let q of qK){if(Q.has(q))continue;if(new RegExp(`\\b${q}\\s*\\(`,"g").test(X))Z.add(q)}for(let q of G8){if(Q.has(q))continue;if(new RegExp(`\\b${q}\\b`,"g").test(X))Y.add(q)}let K=UK(X);for(let q of K)if(!Q.has(q))Y.add(q);return{code:X,stxImports:Array.from(Z),browserImports:Array.from(Y)}}function I7($,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
|
+
${_K($,Z)}`;return""}function zK($,Z=[]){let{browserImports:Y}=K8($),X=new Set(Z);return I7([],Y.filter((Q)=>!X.has(Q)))}function _K($,Z){let Y=[...$.map((X)=>`['${X}', typeof ${X}, 'stx']`),...Z.map((X)=>`['${X}', typeof ${X}, '@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,10 +670,10 @@ ${UK($,Z)}`;return""}function WK($,Z=[]){let{browserImports:Y}=G8($),X=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 x1($){let Z={};for(let Y in $){if(Y.startsWith("__")||Y.startsWith("$"))continue;let X=$[Y];if(typeof X==="function")continue;Z[Y]=X}return Z}function J8($,Z){let Y=new Set;for(let X of $.split(",")){let Q=X.trim().replace(/^\.\.\./,"").trim();if(!Q)continue;if(Z){let J=Q.lastIndexOf(":");if(J!==-1)Q=Q.slice(J+1).trim()}if(Q=Q.split("=")[0].trim(),/^[A-Za-z_$][\w$]*$/.test(Q))Y.add(Q)}return Y}function BK($,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(J8(Y[1],!0).has(Z))return!0;for(let Y of $.matchAll(/(?:const|let|var)\s*\[([^\]]*)\]/g))if(J8(Y[1],!1).has(Z))return!0;return!1}function P$($,Z){if(!Z)return"";let Y=[];for(let[X,Q]of Object.entries(Z)){if(!/^[A-Za-z_$][\w$]*$/.test(X))continue;if(!new RegExp(`\\b${X}\\b`).test($))continue;if(BK($,X))continue;let J;try{J=JSON.stringify(Q)}catch{continue}if(J===void 0)continue;Y.push(` var ${X} = ${J.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 HK($){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((X)=>`$event.key === '${X}'`).join(" || ");Z.push(`if (!(${Y})) return`)}if($.mouse!==null){let Y=jK[$.mouse];Z.push(`if ($event.button !== ${Y}) return`)}if($.prevent)Z.push("$event.preventDefault()");if($.stop)Z.push("$event.stopPropagation()");return Z.join("; ")}function OK($,Z){let{elementId:Y,event:X,handler:Q,modifiers:J}=$,G=HK(J),K=[];if(J.once)K.push("once: true");if(J.capture)K.push("capture: true");if(J.passive)K.push("passive: true");let q=K.length>0?`, { ${K.join(", ")} }`:"",W="";if(G)W+=`${G}; `;let U=Q.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),z=`var $emit = function(name, detail) {
|
|
677
677
|
$el.dispatchEvent(new CustomEvent(name, { detail: detail, bubbles: true, cancelable: true }))
|
|
678
678
|
};`;function _(B){if(/\$emit\s*\(/.test(B))return`${z}
|
|
679
679
|
${B}`;return`var scope = $el.closest('[data-stx-scope]');
|
|
@@ -716,11 +716,11 @@ else {
|
|
|
716
716
|
else {
|
|
717
717
|
${Q}
|
|
718
718
|
}
|
|
719
|
-
}${q})`}function
|
|
719
|
+
}${q})`}function LK($){if($.length===0)return"";return`
|
|
720
720
|
// STX: auto-generated event bindings
|
|
721
|
-
${$.map((Y,X)=>
|
|
722
|
-
`)}`}function
|
|
723
|
-
`)G++;continue}if(K==="/"&&X[G+1]==="*"){G+=2;while(G<J-1&&!(X[G]==="*"&&X[G+1]==="/"))G++;G+=2;continue}if(K==="{"){Q++,G++;continue}if(K==="}"){Q--,G++;continue}if(Q===0){let q=X.slice(G),W=q.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(W){let _=W[1];if(!_.startsWith("_")&&!Y.has(_))Z.push(_),Y.add(_);G+=W[0].length;continue}let U=q.match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(U){U[1].split(",").forEach((_)=>{let B=_.trim(),j=B.indexOf(":"),H=j>=0?B.slice(j+1).trim().split(/[\s=]/)[0]:B.split(/[\s=]/)[0];if(H&&!H.startsWith("_")&&!Y.has(H))Z.push(H),Y.add(H)}),G+=U[0].length;continue}let z=q.match(/^(?:async\s+)?function\s+([a-zA-Z_$]\w*)/);if(z){let _=z[1];if(!_.startsWith("_")&&!Y.has(_))Z.push(_),Y.add(_);G+=z[0].length;continue}}G++}return Z}function
|
|
721
|
+
${$.map((Y,X)=>OK(Y,X)).join(`
|
|
722
|
+
`)}`}function Q8($){let Z=[],Y=new Set,X=$.replace(/^\s*import\s+.*$/gm,""),Q=0,J=X.length,G=0;while(G<J){let K=X[G];if(K==="'"||K==='"'||K==="`"){let q=K;if(G++,q==="`"){let W=0;while(G<J){if(X[G]==="\\"){G+=2;continue}if(X[G]==="`"&&W===0){G++;break}if(X[G]==="$"&&X[G+1]==="{"){W++,G+=2;continue}if(X[G]==="}"&&W>0){W--,G++;continue}G++}}else while(G<J){if(X[G]==="\\"){G+=2;continue}if(X[G]===q){G++;break}G++}continue}if(K==="/"&&X[G+1]==="/"){while(G<J&&X[G]!==`
|
|
723
|
+
`)G++;continue}if(K==="/"&&X[G+1]==="*"){G+=2;while(G<J-1&&!(X[G]==="*"&&X[G+1]==="/"))G++;G+=2;continue}if(K==="{"){Q++,G++;continue}if(K==="}"){Q--,G++;continue}if(Q===0){let q=X.slice(G),W=q.match(/^(?:const|let|var)\s+([a-zA-Z_$]\w*)\s*(?::[^=]*)?=/);if(W){let _=W[1];if(!_.startsWith("_")&&!Y.has(_))Z.push(_),Y.add(_);G+=W[0].length;continue}let U=q.match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(U){U[1].split(",").forEach((_)=>{let B=_.trim(),j=B.indexOf(":"),H=j>=0?B.slice(j+1).trim().split(/[\s=]/)[0]:B.split(/[\s=]/)[0];if(H&&!H.startsWith("_")&&!Y.has(H))Z.push(H),Y.add(H)}),G+=U[0].length;continue}let z=q.match(/^(?:async\s+)?function\s+([a-zA-Z_$]\w*)/);if(z){let _=z[1];if(!_.startsWith("_")&&!Y.has(_))Z.push(_),Y.add(_);G+=z[0].length;continue}}G++}return Z}function VK($){let Z=new Set,Y=/[a-zA-Z_$][a-zA-Z0-9_$]*/g;function X(_){let B;while((B=Y.exec(_))!==null){let j=B[0];if(!FK.has(j))Z.add(j)}}let Q=/\{\{([\s\S]*?)\}\}/g,J;while((J=Q.exec($))!==null)X(J[1]);let G=/:[a-z][\w.-]*\s*=\s*"([^"]*)"/gi;while((J=G.exec($))!==null)X(J[1]);let K=/:[a-z][\w.-]*\s*=\s*'([^']*)'/gi;while((J=K.exec($))!==null)X(J[1]);let q=/@[a-z]+(?:\.[a-z]+)*\s*=\s*"([^"]*)"/gi;while((J=q.exec($))!==null)X(J[1]);let W=/@[a-z]+(?:\.[a-z]+)*\s*=\s*'([^']*)'/gi;while((J=W.exec($))!==null)X(J[1]);let U=/@model\s*=\s*["']([^"']*)["']/gi;while((J=U.exec($))!==null)X(J[1]);let z=/@for\s*=\s*["'][^"']*\bin\s+([^"']+)["']/gi;while((J=z.exec($))!==null)X(J[1]);return Z}async function f1($,Z={}){let Y=$,X="",Q=!1,J=[],G=S$(Y,{filePath:Z.filePath,projectRoot:Z.projectRoot});Y=G.code;let K=y$(G.styles),q=G5(Y);Y=q.code,J=q.imports;let{hasUserImports:W,bundleClientScript:U}=await Promise.resolve().then(() => (s5(),n5));if(W(Y))console.log("[stx:bundler] user imports detected, bundling..."),Y=await U(Y,Z.filePath||"",{projectRoot:Z.projectRoot,minify:Z.production}),Q=!0;if(Z.autoImports!==!1){let O=K8(Y);Y=O.code,X=I7(O.stxImports,O.browserImports.filter((V)=>!J.includes(V)))}if(X=`${P$(Y,Z.serverData)}${X}`,Y=r0(Y),!Q&&g1(Z.attrs||""))Y=h1(Y);let z=LK(Z.eventBindings||[]),_=(Z.attrs||"").trim();if(/\btype\s*=\s*["']module["']/i.test(_)){let O=_.replace(/\btype\s*=\s*["']module["']/i,"").trim(),V=`type="module" data-stx-scoped${O?` ${O}`:""}`;return`${K}<script ${V}>
|
|
724
724
|
${X}${Y}
|
|
725
725
|
${z}
|
|
726
726
|
</script>`}let j=/\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 F(O){let V=O.length>0?`
|
|
@@ -729,12 +729,12 @@ window.stx.mount(function() {
|
|
|
729
729
|
'use strict';
|
|
730
730
|
${X}${Y}
|
|
731
731
|
${z}${V}
|
|
732
|
-
})</script>`}if(!L&&!H){if(j)return F(
|
|
732
|
+
})</script>`}if(!L&&!H){if(j)return F(Q8($));if(Z.templateContent){let O=Q8($);if(O.length>0){let V=VK(Z.templateContent);if(O.some((A)=>V.has(A)))return F(O)}}}return`${K}<script data-stx-scoped>
|
|
733
733
|
;(function() {
|
|
734
734
|
'use strict';
|
|
735
735
|
${X}${Y}
|
|
736
736
|
${z}
|
|
737
|
-
})()</script>`}var
|
|
737
|
+
})()</script>`}var YK,qK,G8,WK,jK,FK;var K5=k(()=>{w0();YK=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;qK=["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"],G8=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useDocumentVisibility","useIntervalFn"];WK=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"]);jK={left:0,middle:1,right:2};FK=new Set(["if","else","true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","switch","case","break","continue","for","while","do","try","catch","finally","const","let","var","function","class","import","export","default","async","await","yield","with","debugger","console","window","document","Math","JSON","Date","Array","Object","String","Number","Boolean","Symbol","Map","Set","Promise","Error","parseInt","parseFloat","isNaN","isFinite","encodeURIComponent","decodeURIComponent","setTimeout","setInterval","clearTimeout","clearInterval","fetch","alert","confirm","prompt","event"])});function MK($){let Z="",Y=null,X=!1;for(let Q=0;Q<$.length;Q++){let J=$[Q];if(X){X=!1;continue}if(J==="\\"&&Y){X=!0;continue}if(Y){if(Y==="`"&&J==="$"&&Q+1<$.length&&$[Q+1]==="{"){let G=1;Q+=2;while(Q<$.length&&G>0){if($[Q]==="{")G++;else if($[Q]==="}")G--;if(G>0)Z+=$[Q],Q++}continue}if(J===Y)Y=null;continue}if(J==='"'||J==="'"||J==="`"){Y=J;continue}Z+=J}return Z}function NK($,Z){let Y=/[$A-Z_a-z][$\w]*/g,X;while((X=Y.exec($))!==null){let Q=X[0],J=$[X.index-1];if(AK.has(Q))throw Error(`Potentially unsafe expression (matched /\\b${Q}\\b/; identifier ${Q}): ${Z}`);if(J==="."&&_8.has(Q))throw Error(`Potentially unsafe expression (matched /.${Q}/; property ${Q}): ${Z}`)}}function TK($){let Z=/\[\s*(['"])(.*?)\1\s*\]/g,Y;while((Y=Z.exec($))!==null){let X=Y[2];if(!_8.has(X))continue;let Q=$.slice(0,Y.index).match(/\S(?=\s*$)/)?.[0],J=$.slice(Y.index+Y[0].length).match(/^\s*(\S)/)?.[1];if(!((Q==="{"||Q===",")&&J===":"))throw Error(`Potentially unsafe expression (bracket key ${Y[2]}): ${$}`)}}function C$($){let Z=$.trim(),Y=MK(Z);NK(Y,Z),TK(Z);for(let X of z8)if(X.test(Y))throw Error(`Potentially unsafe expression (matched /${X.source}/): ${Z}`);if(!U8.allowBracketNotation&&RK.test(Z))throw Error(`Bracket notation with strings not allowed: ${Z}. Enable with configureSafeEvaluator({ allowBracketNotation: true })`);return Z}function IK($){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,X]of Object.entries($)){if(Y.startsWith("__")||z8.some((Q)=>Q.test(Y)))continue;if(X&&typeof X==="object"&&!Array.isArray(X))Z[Y]=E7(X);else Z[Y]=X}return Z}function E7($,Z=0){if(Z>=U8.maxSanitizeDepth)return"[Object too deep]";if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((X)=>E7(X,Z+1));if($ instanceof Date||$ instanceof RegExp||$ instanceof Map||$ instanceof Set||$ instanceof Error)return $;let Y={};for(let[X,Q]of Object.entries($)){if(X.startsWith("__")||X==="constructor"||X==="prototype")continue;if(Q&&typeof Q==="object")Y[X]=E7(Q,Z+1);else Y[X]=Q}return Y}function Z0($,Z){try{let Y=IK(Z),X=Object.keys(Y),Q=Object.values(Y);return K0($,X)(...Q)}catch{return}}function G0($){try{return C$($),!0}catch{return!1}}function A0($,Z){try{let Y=Z0($,Z);if(Y&&typeof Y==="object"&&!Array.isArray(Y))return Y;return{}}catch{return{}}}function K0($,Z){let Y=C$($),X=/^[A-Za-z_$][\w$]*$/,Q=[],J=[];for(let W=0;W<Z.length;W++){let U=Z[W];if(!X.test(U))continue;if(B8.has(U))continue;Q.push(W),J.push(U)}let G=(W)=>Function(...J,...W,`
|
|
738
738
|
'use strict';
|
|
739
739
|
try {
|
|
740
740
|
return ${Y};
|
|
@@ -745,7 +745,7 @@ catch (e) {
|
|
|
745
745
|
}
|
|
746
746
|
throw e;
|
|
747
747
|
}
|
|
748
|
-
`),K=G([]);if(J.length===Z.length)return q8(K,J,G);return q8((...W)=>{let U=Array(Q.length);for(let z=0;z<Q.length;z++)U[z]=W[Q[z]];return K(...U)},J,G,(W)=>{K=G(W)})}function q8($,Z,Y,X){let J=/^(\w+) is not defined$/,G=$,K=[],q=new Set(Z);return(...W)=>{for(let U=0;U<=8;U++)try{return G(...W)}catch(z){let _=z instanceof Error?z.message:"",B=J.exec(_);if(!(z instanceof ReferenceError)||!B)return;let j=B[1];if(q.has(j)||_8.has(j))return;q.add(j),K.push(j),G=Y(K),X?.(K)}return}}function C$($){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 X of Y)if(X.test(Z))return!1;return!0}var FK,W8,U8,VK,z8,wK,_8;var H0=k(()=>{FK={maxSanitizeDepth:10,allowBracketNotation:!1},W8={...FK},U8=[/\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/],VK=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"]),z8=new Set(["__proto__","constructor","prototype"]),wK=/[\w)\]]\s*\[\s*['"]/;_8=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 v$($,Z){let Y=TK++,X=`<!--__STX_${$.toUpperCase()}_${Y}__-->`;return IK.set(X,{type:$,expression:Z}),X}var TK=0,IK;var B8=k(()=>{IK=new Map});function F8($,Z,Y,X){Y.lastIndex=Z;let Q=Y.exec($);if(!Q||Q.index!==Z)return-1;X.lastIndex=Y.lastIndex;let J=X.exec($);if(!J)return-1;return J.index+J[0].length}function L1($,Z){return F8($,Z,j8,H8)}function K5($,Z){return F8($,Z,O8,L8)}function o5($,Z){if(!$.startsWith("<!--",Z))return-1;let Y=$.indexOf("-->",Z+4);if(Y===-1)return-1;return Y+3}function EK($,Z){if($.startsWith("<!--",Z)){let Y=o5($,Z);return Y===-1?$.length:Y}for(let[Y,X]of[[j8,H8],[O8,L8]]){Y.lastIndex=Z;let Q=Y.exec($);if(!Q||Q.index!==Z)continue;X.lastIndex=Y.lastIndex;let J=X.exec($);return J?J.index+J[0].length:$.length}return-1}function I7($,Z){let Y=[],X=0,Q=$.length,J=!1,G=null;while(X<Q){let K=$[X];if(J){if(G){if(K===G)G=null}else if(K==='"'||K==="'")G=K;else if(K===">")J=!1;X++;continue}if(K!=="<"){X++;continue}let q=Z($,X);if(q>X){Y.push({start:X,end:q,token:$.slice(X,q)}),X=q;continue}let W=EK($,X);if(W>X){X=W;continue}if(/^<\/?[a-zA-Z]/.test($.slice(X,X+2)))J=!0;X++}return Y}function Z1($,Z,Y){let X=I7($,Z);if(X.length===0)return{output:$,tokens:[]};let Q=X.map((K)=>K.token),J="",G=0;for(let K=0;K<X.length;K++){let q=X[K];J+=$.slice(G,q.start),J+=Y(q.token,K),G=q.end}return J+=$.slice(G),{output:J,tokens:Q}}function F1($){let{output:Z,tokens:Y}=Z1($,L1,(X,Q)=>`\x00STX_SCRIPT_${Q}\x00`);return{output:Z,scripts:Y}}function r5($,Z){if(Z.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Y,X)=>Z[+X]??"")}var j8,H8,O8,L8;var h1=k(()=>{j8=/<script\b[^>]*>/iy,H8=/<\/script\s*>/ig,O8=/<style\b[^>]*>/iy,L8=/<\/style\s*>/ig});var N8={};t(N8,{usesSignalsInScript:()=>q5,unescapeHtml:()=>E7,registerFilters:()=>kK,registerFilter:()=>A8,processExpressions:()=>V1,interpolateScriptsInTemplate:()=>SK,interpolateScriptExpressions:()=>x$,getAllFilters:()=>R8,evaluateExpression:()=>p0,escapeHtml:()=>a0,defaultFilters:()=>t5,clearCustomFilters:()=>bK,applyFilters:()=>M8});function DK($){let Z=V8.get($);if(!Z){let Y=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${Y}(?!\\w)`,"g"),V8.set($,Z)}return Z.lastIndex=0,Z}function A8($,Z){if($ in t5)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);a5[$]=Z}function kK($){for(let[Z,Y]of Object.entries($))A8(Z,Y)}function R8(){return{...t5,...a5}}function bK(){for(let $ of Object.keys(a5))delete a5[$]}function a0($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function q5($){let{scripts:Z}=F1($);for(let Y of Z){let X=Y.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i);if(!X||/\bserver\b|\bsrc\s*=/.test(X[1]))continue;let Q=X[2];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(Q))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 w8($,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"],X=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),Q="",J=!1,G=0;for(let W=0;W<X.length;W++){let U=X[W];if(!J&&U==="`"){J=!0,G=0;continue}if(J){if(U==="`"&&G===0){J=!1;continue}if(U==="$"&&X[W+1]==="{"){G++,W++,Q+=" ";continue}if(U==="}"&&G>0){G--;continue}if(G>0){Q+=U;continue}continue}Q+=U}X=Q;let K=/\b([a-zA-Z_$][a-zA-Z0-9_$]*)\b/g,q;while((q=K.exec(X))!==null){let W=q[1];if(!X.substring(0,q.index).trimEnd().endsWith(".")){if(!Y.includes(W)&&!(W in Z))return!1}}return!0}function x$($,Z){let Y=$;return Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(X,Q)=>{try{let J=p0(Q,Z);if(J===void 0)return X;return J===null?"":String(J)}catch{return X}}),Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(X,Q)=>{let J=Q.trim();if(/^__[A-Z_]+__$/.test(J))return X;try{let G=p0(Q,Z);if(G===void 0)return X;return JSON.stringify(G)}catch{return X}}),Y}function SK($,Z,Y={}){let{output:X,scripts:Q}=F1($),J=Q.map((G)=>{let K=G.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i),q=G.match(/^<script\b[^>]*>/i),W=G.search(/<\/script\s*>$/i);if(!K||!q||W===-1)return G;let U=K[1],z=K[2];if(/\bsrc\s*=/.test(U))return G;if(/\bdata-raw\b/.test(U))return G;if(/\btype\s*=\s*["']application\/json["']/.test(U))return G;if(Y.skipServer&&/\bserver\b/.test(U))return G;let _=x$(z,Z);return q[0]+_+G.slice(W)});return r5(X,J)}function V1($,Z,Y,X){let Q=$,J=(_,B)=>{let j=K5(_,B);if(j===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(_.slice(B,j))?-1:j},G=(_,B,j,H)=>{let L=j.length,{output:F,tokens:O}=Z1(_,B,(V,w)=>H(L+w));return j.push(...O),F},K=[];Q=G(Q,J,K,(_)=>`<!--__STX_STYLE_${_}__-->`);let q=[];Q=G(Q,L1,q,(_)=>`<!--__STX_SCRIPT_EXPR_${_}__-->`);let W=X?.forceSignals===!0||Z?.__stx_force_signals===!0||Array.isArray(Z?.__stx_client_signal_names)||q5($),U=new Set(Array.isArray(Z?.__stx_client_signal_names)?Z.__stx_client_signal_names:[]),z=new Set(Array.isArray(Z?.__stx_preserved_client_expressions)?Z.__stx_preserved_client_expressions:[]);Q=Q.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(_,B,j)=>{try{let H=p0(B,Z);return H!==void 0&&H!==null?String(H):""}catch(H){let L=H instanceof Error?H.message:String(H);return W0("Expression",`Error evaluating: {{{ ${B.trim()}}}}: ${L}`,Y,$,j,_)}}),Q=Q.replace(/\{!!([\s\S]*?)!!\}/g,(_,B,j)=>{try{let H=p0(B,Z);if(H===void 0&&Z.__stx_buildMode==="compile")return v$("raw",B.trim());return H!==void 0&&H!==null?String(H):""}catch(H){if(Z.__stx_buildMode==="compile")return v$("raw",B.trim());let L=H instanceof Error?H.message:String(H);return W0("Expression",`Error evaluating: {!! ${B.trim()} !!}: ${L}`,Y,$,j,_)}}),Q=G(Q,L1,q,(_)=>`<!--__STX_SCRIPT_EXPR_${_}__-->`),Q=G(Q,J,K,(_)=>`<!--__STX_STYLE_${_}__-->`),Q=Q.replace(/\{\{([\s\S]*?)\}\}/g,(_,B,j)=>{let H=B.trim();if(z.has(H))return _;let L=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],F=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,V=H.match(F)?.[1],w=V&&((V in Z)||L.includes(V)),A=Boolean(V&&U.has(V)),M=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,R=H.match(M),N=R&&!L.includes(R[1])&&!(R[1]in Z);if(/^__[A-Z_]+__$/.test(H))return"";try{let T=p0(B,Z);if(A)return _;if(W&&!w8(H,Z))return _;if(T===void 0&&Z.__stx_buildMode==="compile"&&!W)return v$("expr",H);return T!==void 0&&T!==null?a0(String(T)):""}catch(T){if(A)return _;if(W&&!w8(H,Z))return _;if(N)return _;let I=T instanceof Error?T.message:String(T);return W0("Expression",`Error evaluating: {{ ${H} }}: ${I}`,Y,$,j,_)}});for(let _=0;_<q.length;_++)Q=Q.replace(`<!--__STX_SCRIPT_EXPR_${_}__-->`,()=>q[_]);for(let _=0;_<K.length;_++)Q=Q.replace(`<!--__STX_STYLE_${_}__-->`,()=>K[_]);return Q}function M8($,Z,Y){if(!Z.trim())return $;let X=$,Q=Z.trim();while(Q.length>0){let J=Q.match(/^(\w+)/);if(!J)break;let G=J[1];Q=Q.substring(G.length).trim();let K=a5[G]||t5[G];if(!K)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(R8()).join(", ")}`);let q=[];if(Q.startsWith(":")){let W=Q.match(/^:([^|\s]+)/);if(W){let U=W[1].trim();try{let z=Number(U);q=[Number.isNaN(z)?U:z]}catch{q=[U]}Q=Q.substring(W[0].length).trim()}}else if(Q.startsWith("(")){let W=1,U=1;while(W>0&&U<Q.length){if(Q[U]==="(")W++;if(Q[U]===")")W--;U++}if(W===0){let z=Q.substring(1,U-1).trim();if(z)try{if(z.startsWith("{")&&z.endsWith("}"))q=[p0(`(${z})`,Y,!0)];else{let _=[],B="",j=null,H=0,L=0,F=0,O=!1;for(let V=0;V<z.length;V++){let w=z[V];if(O){B+=w,O=!1;continue}if(w==="\\"){B+=w,O=!0;continue}if(j){if(B+=w,w===j)j=null;continue}if(w==='"'||w==="'"||w==="`"){j=w,B+=w;continue}if(w==="(")H++;else if(w===")")H--;else if(w==="[")L++;else if(w==="]")L--;else if(w==="{")F++;else if(w==="}")F--;if(w===","&&H===0&&L===0&&F===0){_.push(B),B="";continue}B+=w}if(B)_.push(B);q=_.map((V)=>{let w=V.trim();return p0(w,Y,!0)})}}catch{q=[z]}Q=Q.substring(U).trim()}}try{X=K(X,Y,...q)}catch(W){let U=W instanceof Error?W.message:String(W);throw Error(`Error applying filter '${G}': ${U}`)}if(Q.startsWith("|"))Q=Q.substring(1).trim();else break}return X}function yK($){let Z=!1,Y="",X=0,Q=0,J=0,G=!1;for(let K=0;K<$.length;K++){let q=$[K],W=$[K+1];if(Z&&G){G=!1;continue}if(Z&&q==="\\"){G=!0;continue}if(G=!1,(q==='"'||q==="'"||q==="`")&&!G){if(!Z)Z=!0,Y=q;else if(q===Y)Z=!1,Y="";continue}if(Z&&Y==="`"&&q==="$"&&W==="{"){let U=1;K+=2;while(K<$.length&&U>0){if($[K]==="{")U++;else if($[K]==="}")U--;if(U>0)K++}continue}if(Z)continue;if(q==="(")X++;else if(q===")")X--;else if(q==="[")Q++;else if(q==="]")Q--;else if(q==="{")J++;else if(q==="}")J--;if(q==="|"&&X===0&&Q===0&&J===0){if(W==="|"){K++;continue}if(W==="="){K++;continue}return K}}return-1}function p0($,Z,Y=!1){try{let X=$.trim(),Q=yK(X);if(Q>0){let J=X.substring(0,Q).trim(),G=X.substring(Q+1).trim(),K=p0(J,Z,!0);return M8(K,G,Z)}if(!G0(X)){if(!Y)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${X}`);return Z0(X,Z)}try{let J=Object.keys(Z),G=Object.values(Z);return K0(X,J)(...G)}catch{return Z0(X,Z)}}catch(X){if(X instanceof ReferenceError){let Q=/(\b\w+)\s+is not defined/.exec(X.message);if(Q){let J=Q[1],G=PK(J,Object.keys(Z));if(G&&G!==J)X.message=`${X.message} \u2014 did you mean '${G}'?`}}if(!Y)console.error(`Error evaluating expression: ${$}`,X);throw X}}function PK($,Z){let Y=null;for(let Q of Z){if(Q===$)continue;let J=CK($,Q);if(Y===null||J<Y.dist)Y={key:Q,dist:J}}if(!Y)return null;let X=Math.max($.length,Y.key.length);if(Y.dist<=2||Y.dist/X<=0.35)return Y.key;return null}function CK($,Z){if($===Z)return 0;if($.length===0)return Z.length;if(Z.length===0)return $.length;let[Y,X]=$.length<Z.length?[$,Z]:[Z,$],Q=Array(Y.length+1),J=Array(Y.length+1);for(let G=0;G<=Y.length;G++)Q[G]=G;for(let G=1;G<=X.length;G++){J[0]=G;for(let K=1;K<=Y.length;K++){let q=Y[K-1]===X[G-1]?0:1;J[K]=Math.min(J[K-1]+1,Q[K]+1,Q[K-1]+q)}for(let K=0;K<=Y.length;K++)Q[K]=J[K]}return Q[Y.length]}function E7($){if(!$)return"";return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/&/g,"&")}var a5,V8,t5;var Y1=k(()=>{H0();w0();B8();h1();a5={},V8=new Map;t5={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 X=Number($);return Number.isNaN(X)?"":X.toFixed(Number.parseInt(String(Y),10))}catch{return""}},fmt:($,Z,Y="en-US")=>{if($===void 0||$===null)return"";try{let X=Number($);if(Number.isNaN(X))return String($);return X.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 X=Z.__translations,Q=Z.__i18nConfig?.fallbackToKey??!0,J=String($).split("."),G=X;for(let q of J){if(G===void 0||G===null)break;G=G[q]}if(G===void 0||G===null)return Q?$:"";let K=String(G);return Object.entries(Y).forEach(([q,W])=>{K=K.replace(DK(q),String(W))}),K},t:($,Z,Y={})=>{return t5.translate($,Z,Y)},truncate:($,Z,Y=50,X="...")=>{if($===void 0||$===null)return"";let Q=String($);if(Q.length<=Y)return Q;if(Y<=X.length)return X.substring(0,Y);return Q.substring(0,Y-X.length)+X},date:($,Z,Y="short",X="en-US")=>{if($===void 0||$===null)return"";try{let Q=$ instanceof Date?$:new Date($);if(Number.isNaN(Q.getTime()))return String($);let J={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 Q.toISOString();return new Intl.DateTimeFormat(X,J[Y]||J.short).format(Q)}catch{return String($)}},currency:($,Z,Y="USD",X="en-US")=>{if($===void 0||$===null)return"";try{let Q=Number($);if(Number.isNaN(Q))return String($);return new Intl.NumberFormat(X,{style:"currency",currency:Y}).format(Q)}catch{return String($)}},pluralize:($,Z,Y,X)=>{let Q=Number($);if(Number.isNaN(Q))return Y;let J=X||`${Y}s`;return Q===1?Y:J},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,X)=>{if($===void 0||$===null)return"";if(Array.isArray($)||typeof $==="string")return $.slice(Y,X);return $},replace:($,Z,Y,X="")=>{if($===void 0||$===null)return"";let Q=Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(Q,"g"),()=>X)},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 X=Number($);if(Number.isNaN(X))return 0;let Q=10**Y;return Math.round(X*Q)/Q}}});function W5($="const",Z=[],Y){let X=Z.length?f$.filter((Q)=>!Z.includes(Q)):f$;if(Y!==void 0)X=X.filter((Q)=>{let J=Q.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(^|[^\\w$])${J}(?![\\w$])`).test(Y)});return`${$} { ${X.join(", ")} } = window.stx;`}var f$,T8;var e5=k(()=>{f$=["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"],T8=["onMount","onDestroy"]});class u1{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(!U5.has(Y)){if(U5.size>=vK){let X=U5.keys().next().value;if(X)U5.delete(X)}U5.set(Y,new RegExp($,Z))}return U5.get(Y)}class I8{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator($){let Z=Array.from(new Set($)),Y=Z.sort().join(","),X=this.pool.find((K)=>K.context.join(",")===Y);if(X)return X.func;let Q=this.fnCache,J=this.fnCacheMaxSize,G=(...K)=>{return(q)=>{try{let W=`${Y}:${q}`,U=Q.get(W);if(!U){if(Q.size>=J){let z=Q.keys().next().value;if(z)Q.delete(z)}U=Function(...Z,`
|
|
748
|
+
`),K=G([]);if(J.length===Z.length)return W8(K,J,G);return W8((...W)=>{let U=Array(Q.length);for(let z=0;z<Q.length;z++)U[z]=W[Q[z]];return K(...U)},J,G,(W)=>{K=G(W)})}function W8($,Z,Y,X){let J=/^(\w+) is not defined$/,G=$,K=[],q=new Set(Z);return(...W)=>{for(let U=0;U<=8;U++)try{return G(...W)}catch(z){let _=z instanceof Error?z.message:"",B=J.exec(_);if(!(z instanceof ReferenceError)||!B)return;let j=B[1];if(q.has(j)||B8.has(j))return;q.add(j),K.push(j),G=Y(K),X?.(K)}return}}function v$($){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 X of Y)if(X.test(Z))return!1;return!0}var wK,U8,z8,AK,_8,RK,B8;var H0=k(()=>{wK={maxSanitizeDepth:10,allowBracketNotation:!1},U8={...wK},z8=[/\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/],AK=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"]),_8=new Set(["__proto__","constructor","prototype"]),RK=/[\w)\]]\s*\[\s*['"]/;B8=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 x$($,Z){let Y=EK++,X=`<!--__STX_${$.toUpperCase()}_${Y}__-->`;return DK.set(X,{type:$,expression:Z}),X}var EK=0,DK;var j8=k(()=>{DK=new Map});function V8($,Z,Y,X){Y.lastIndex=Z;let Q=Y.exec($);if(!Q||Q.index!==Z)return-1;X.lastIndex=Y.lastIndex;let J=X.exec($);if(!J)return-1;return J.index+J[0].length}function F1($,Z){return V8($,Z,H8,O8)}function q5($,Z){return V8($,Z,L8,F8)}function r5($,Z){if(!$.startsWith("<!--",Z))return-1;let Y=$.indexOf("-->",Z+4);if(Y===-1)return-1;return Y+3}function kK($,Z){if($.startsWith("<!--",Z)){let Y=r5($,Z);return Y===-1?$.length:Y}for(let[Y,X]of[[H8,O8],[L8,F8]]){Y.lastIndex=Z;let Q=Y.exec($);if(!Q||Q.index!==Z)continue;X.lastIndex=Y.lastIndex;let J=X.exec($);return J?J.index+J[0].length:$.length}return-1}function D7($,Z){let Y=[],X=0,Q=$.length,J=!1,G=null;while(X<Q){let K=$[X];if(J){if(G){if(K===G)G=null}else if(K==='"'||K==="'")G=K;else if(K===">")J=!1;X++;continue}if(K!=="<"){X++;continue}let q=Z($,X);if(q>X){Y.push({start:X,end:q,token:$.slice(X,q)}),X=q;continue}let W=kK($,X);if(W>X){X=W;continue}if(/^<\/?[a-zA-Z]/.test($.slice(X,X+2)))J=!0;X++}return Y}function Y1($,Z,Y){let X=D7($,Z);if(X.length===0)return{output:$,tokens:[]};let Q=X.map((K)=>K.token),J="",G=0;for(let K=0;K<X.length;K++){let q=X[K];J+=$.slice(G,q.start),J+=Y(q.token,K),G=q.end}return J+=$.slice(G),{output:J,tokens:Q}}function V1($){let{output:Z,tokens:Y}=Y1($,F1,(X,Q)=>`\x00STX_SCRIPT_${Q}\x00`);return{output:Z,scripts:Y}}function a5($,Z){if(Z.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Y,X)=>Z[+X]??"")}var H8,O8,L8,F8;var u1=k(()=>{H8=/<script\b[^>]*>/iy,O8=/<\/script\s*>/ig,L8=/<style\b[^>]*>/iy,F8=/<\/style\s*>/ig});var T8={};t(T8,{usesSignalsInScript:()=>W5,unescapeHtml:()=>k7,registerFilters:()=>SK,registerFilter:()=>R8,processExpressions:()=>w1,interpolateScriptsInTemplate:()=>PK,interpolateScriptExpressions:()=>f$,getAllFilters:()=>M8,evaluateExpression:()=>p0,escapeHtml:()=>a0,defaultFilters:()=>e5,clearCustomFilters:()=>yK,applyFilters:()=>N8});function bK($){let Z=w8.get($);if(!Z){let Y=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${Y}(?!\\w)`,"g"),w8.set($,Z)}return Z.lastIndex=0,Z}function R8($,Z){if($ in e5)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);t5[$]=Z}function SK($){for(let[Z,Y]of Object.entries($))R8(Z,Y)}function M8(){return{...e5,...t5}}function yK(){for(let $ of Object.keys(t5))delete t5[$]}function a0($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function W5($){let{scripts:Z}=V1($);for(let Y of Z){let X=Y.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i);if(!X||/\bserver\b|\bsrc\s*=/.test(X[1]))continue;let Q=X[2];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(Q))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 A8($,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"],X=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),Q="",J=!1,G=0;for(let W=0;W<X.length;W++){let U=X[W];if(!J&&U==="`"){J=!0,G=0;continue}if(J){if(U==="`"&&G===0){J=!1;continue}if(U==="$"&&X[W+1]==="{"){G++,W++,Q+=" ";continue}if(U==="}"&&G>0){G--;continue}if(G>0){Q+=U;continue}continue}Q+=U}X=Q;let K=/\b([a-zA-Z_$][a-zA-Z0-9_$]*)\b/g,q;while((q=K.exec(X))!==null){let W=q[1];if(!X.substring(0,q.index).trimEnd().endsWith(".")){if(!Y.includes(W)&&!(W in Z))return!1}}return!0}function f$($,Z){let Y=$;return Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(X,Q)=>{try{let J=p0(Q,Z);if(J===void 0)return X;return J===null?"":String(J)}catch{return X}}),Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(X,Q)=>{let J=Q.trim();if(/^__[A-Z_]+__$/.test(J))return X;try{let G=p0(Q,Z);if(G===void 0)return X;return JSON.stringify(G)}catch{return X}}),Y}function PK($,Z,Y={}){let{output:X,scripts:Q}=V1($),J=Q.map((G)=>{let K=G.match(/^<script\b([^>]*)>([\s\S]*?)<\/script\s*>$/i),q=G.match(/^<script\b[^>]*>/i),W=G.search(/<\/script\s*>$/i);if(!K||!q||W===-1)return G;let U=K[1],z=K[2];if(/\bsrc\s*=/.test(U))return G;if(/\bdata-raw\b/.test(U))return G;if(/\btype\s*=\s*["']application\/json["']/.test(U))return G;if(Y.skipServer&&/\bserver\b/.test(U))return G;let _=f$(z,Z);return q[0]+_+G.slice(W)});return a5(X,J)}function w1($,Z,Y,X){let Q=$,J=(_,B)=>{let j=q5(_,B);if(j===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(_.slice(B,j))?-1:j},G=(_,B,j,H)=>{let L=j.length,{output:F,tokens:O}=Y1(_,B,(V,w)=>H(L+w));return j.push(...O),F},K=[];Q=G(Q,J,K,(_)=>`<!--__STX_STYLE_${_}__-->`);let q=[];Q=G(Q,F1,q,(_)=>`<!--__STX_SCRIPT_EXPR_${_}__-->`);let W=X?.forceSignals===!0||Z?.__stx_force_signals===!0||Array.isArray(Z?.__stx_client_signal_names)||W5($),U=new Set(Array.isArray(Z?.__stx_client_signal_names)?Z.__stx_client_signal_names:[]),z=new Set(Array.isArray(Z?.__stx_preserved_client_expressions)?Z.__stx_preserved_client_expressions:[]);Q=Q.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(_,B,j)=>{try{let H=p0(B,Z);return H!==void 0&&H!==null?String(H):""}catch(H){let L=H instanceof Error?H.message:String(H);return W0("Expression",`Error evaluating: {{{ ${B.trim()}}}}: ${L}`,Y,$,j,_)}}),Q=Q.replace(/\{!!([\s\S]*?)!!\}/g,(_,B,j)=>{try{let H=p0(B,Z);if(H===void 0&&Z.__stx_buildMode==="compile")return x$("raw",B.trim());return H!==void 0&&H!==null?String(H):""}catch(H){if(Z.__stx_buildMode==="compile")return x$("raw",B.trim());let L=H instanceof Error?H.message:String(H);return W0("Expression",`Error evaluating: {!! ${B.trim()} !!}: ${L}`,Y,$,j,_)}}),Q=G(Q,F1,q,(_)=>`<!--__STX_SCRIPT_EXPR_${_}__-->`),Q=G(Q,J,K,(_)=>`<!--__STX_STYLE_${_}__-->`),Q=Q.replace(/\{\{([\s\S]*?)\}\}/g,(_,B,j)=>{let H=B.trim();if(z.has(H))return _;let L=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],F=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,V=H.match(F)?.[1],w=V&&((V in Z)||L.includes(V)),A=Boolean(V&&U.has(V)),M=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,R=H.match(M),N=R&&!L.includes(R[1])&&!(R[1]in Z);if(/^__[A-Z_]+__$/.test(H))return"";try{let T=p0(B,Z);if(A)return _;if(W&&!A8(H,Z))return _;if(T===void 0&&Z.__stx_buildMode==="compile"&&!W)return x$("expr",H);return T!==void 0&&T!==null?a0(String(T)):""}catch(T){if(A)return _;if(W&&!A8(H,Z))return _;if(N)return _;let I=T instanceof Error?T.message:String(T);return W0("Expression",`Error evaluating: {{ ${H} }}: ${I}`,Y,$,j,_)}});for(let _=0;_<q.length;_++)Q=Q.replace(`<!--__STX_SCRIPT_EXPR_${_}__-->`,()=>q[_]);for(let _=0;_<K.length;_++)Q=Q.replace(`<!--__STX_STYLE_${_}__-->`,()=>K[_]);return Q}function N8($,Z,Y){if(!Z.trim())return $;let X=$,Q=Z.trim();while(Q.length>0){let J=Q.match(/^(\w+)/);if(!J)break;let G=J[1];Q=Q.substring(G.length).trim();let K=t5[G]||e5[G];if(!K)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(M8()).join(", ")}`);let q=[];if(Q.startsWith(":")){let W=Q.match(/^:([^|\s]+)/);if(W){let U=W[1].trim();try{let z=Number(U);q=[Number.isNaN(z)?U:z]}catch{q=[U]}Q=Q.substring(W[0].length).trim()}}else if(Q.startsWith("(")){let W=1,U=1;while(W>0&&U<Q.length){if(Q[U]==="(")W++;if(Q[U]===")")W--;U++}if(W===0){let z=Q.substring(1,U-1).trim();if(z)try{if(z.startsWith("{")&&z.endsWith("}"))q=[p0(`(${z})`,Y,!0)];else{let _=[],B="",j=null,H=0,L=0,F=0,O=!1;for(let V=0;V<z.length;V++){let w=z[V];if(O){B+=w,O=!1;continue}if(w==="\\"){B+=w,O=!0;continue}if(j){if(B+=w,w===j)j=null;continue}if(w==='"'||w==="'"||w==="`"){j=w,B+=w;continue}if(w==="(")H++;else if(w===")")H--;else if(w==="[")L++;else if(w==="]")L--;else if(w==="{")F++;else if(w==="}")F--;if(w===","&&H===0&&L===0&&F===0){_.push(B),B="";continue}B+=w}if(B)_.push(B);q=_.map((V)=>{let w=V.trim();return p0(w,Y,!0)})}}catch{q=[z]}Q=Q.substring(U).trim()}}try{X=K(X,Y,...q)}catch(W){let U=W instanceof Error?W.message:String(W);throw Error(`Error applying filter '${G}': ${U}`)}if(Q.startsWith("|"))Q=Q.substring(1).trim();else break}return X}function CK($){let Z=!1,Y="",X=0,Q=0,J=0,G=!1;for(let K=0;K<$.length;K++){let q=$[K],W=$[K+1];if(Z&&G){G=!1;continue}if(Z&&q==="\\"){G=!0;continue}if(G=!1,(q==='"'||q==="'"||q==="`")&&!G){if(!Z)Z=!0,Y=q;else if(q===Y)Z=!1,Y="";continue}if(Z&&Y==="`"&&q==="$"&&W==="{"){let U=1;K+=2;while(K<$.length&&U>0){if($[K]==="{")U++;else if($[K]==="}")U--;if(U>0)K++}continue}if(Z)continue;if(q==="(")X++;else if(q===")")X--;else if(q==="[")Q++;else if(q==="]")Q--;else if(q==="{")J++;else if(q==="}")J--;if(q==="|"&&X===0&&Q===0&&J===0){if(W==="|"){K++;continue}if(W==="="){K++;continue}return K}}return-1}function p0($,Z,Y=!1){try{let X=$.trim(),Q=CK(X);if(Q>0){let J=X.substring(0,Q).trim(),G=X.substring(Q+1).trim(),K=p0(J,Z,!0);return N8(K,G,Z)}if(!G0(X)){if(!Y)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${X}`);return Z0(X,Z)}try{let J=Object.keys(Z),G=Object.values(Z);return K0(X,J)(...G)}catch{return Z0(X,Z)}}catch(X){if(X instanceof ReferenceError){let Q=/(\b\w+)\s+is not defined/.exec(X.message);if(Q){let J=Q[1],G=vK(J,Object.keys(Z));if(G&&G!==J)X.message=`${X.message} \u2014 did you mean '${G}'?`}}if(!Y)console.error(`Error evaluating expression: ${$}`,X);throw X}}function vK($,Z){let Y=null;for(let Q of Z){if(Q===$)continue;let J=xK($,Q);if(Y===null||J<Y.dist)Y={key:Q,dist:J}}if(!Y)return null;let X=Math.max($.length,Y.key.length);if(Y.dist<=2||Y.dist/X<=0.35)return Y.key;return null}function xK($,Z){if($===Z)return 0;if($.length===0)return Z.length;if(Z.length===0)return $.length;let[Y,X]=$.length<Z.length?[$,Z]:[Z,$],Q=Array(Y.length+1),J=Array(Y.length+1);for(let G=0;G<=Y.length;G++)Q[G]=G;for(let G=1;G<=X.length;G++){J[0]=G;for(let K=1;K<=Y.length;K++){let q=Y[K-1]===X[G-1]?0:1;J[K]=Math.min(J[K-1]+1,Q[K]+1,Q[K-1]+q)}for(let K=0;K<=Y.length;K++)Q[K]=J[K]}return Q[Y.length]}function k7($){if(!$)return"";return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/&/g,"&")}var t5,w8,e5;var X1=k(()=>{H0();w0();j8();u1();t5={},w8=new Map;e5={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 X=Number($);return Number.isNaN(X)?"":X.toFixed(Number.parseInt(String(Y),10))}catch{return""}},fmt:($,Z,Y="en-US")=>{if($===void 0||$===null)return"";try{let X=Number($);if(Number.isNaN(X))return String($);return X.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 X=Z.__translations,Q=Z.__i18nConfig?.fallbackToKey??!0,J=String($).split("."),G=X;for(let q of J){if(G===void 0||G===null)break;G=G[q]}if(G===void 0||G===null)return Q?$:"";let K=String(G);return Object.entries(Y).forEach(([q,W])=>{K=K.replace(bK(q),String(W))}),K},t:($,Z,Y={})=>{return e5.translate($,Z,Y)},truncate:($,Z,Y=50,X="...")=>{if($===void 0||$===null)return"";let Q=String($);if(Q.length<=Y)return Q;if(Y<=X.length)return X.substring(0,Y);return Q.substring(0,Y-X.length)+X},date:($,Z,Y="short",X="en-US")=>{if($===void 0||$===null)return"";try{let Q=$ instanceof Date?$:new Date($);if(Number.isNaN(Q.getTime()))return String($);let J={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 Q.toISOString();return new Intl.DateTimeFormat(X,J[Y]||J.short).format(Q)}catch{return String($)}},currency:($,Z,Y="USD",X="en-US")=>{if($===void 0||$===null)return"";try{let Q=Number($);if(Number.isNaN(Q))return String($);return new Intl.NumberFormat(X,{style:"currency",currency:Y}).format(Q)}catch{return String($)}},pluralize:($,Z,Y,X)=>{let Q=Number($);if(Number.isNaN(Q))return Y;let J=X||`${Y}s`;return Q===1?Y:J},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,X)=>{if($===void 0||$===null)return"";if(Array.isArray($)||typeof $==="string")return $.slice(Y,X);return $},replace:($,Z,Y,X="")=>{if($===void 0||$===null)return"";let Q=Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(Q,"g"),()=>X)},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 X=Number($);if(Number.isNaN(X))return 0;let Q=10**Y;return Math.round(X*Q)/Q}}});function U5($="const",Z=[],Y){let X=Z.length?g$.filter((Q)=>!Z.includes(Q)):g$;if(Y!==void 0)X=X.filter((Q)=>{let J=Q.replace(/[$()*+.?[\\\]^{|}-]/g,"\\$&");return new RegExp(`(^|[^\\w$])${J}(?![\\w$])`).test(Y)});return`${$} { ${X.join(", ")} } = window.stx;`}var g$,I8;var $$=k(()=>{g$=["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"],I8=["onMount","onDestroy"]});class d1{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 _5($,Z){if(Z?.includes("g"))return new RegExp($,Z);let Y=`${$}:${Z||""}`;if(!z5.has(Y)){if(z5.size>=fK){let X=z5.keys().next().value;if(X)z5.delete(X)}z5.set(Y,new RegExp($,Z))}return z5.get(Y)}class E8{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator($){let Z=Array.from(new Set($)),Y=Z.sort().join(","),X=this.pool.find((K)=>K.context.join(",")===Y);if(X)return X.func;let Q=this.fnCache,J=this.fnCacheMaxSize,G=(...K)=>{return(q)=>{try{let W=`${Y}:${q}`,U=Q.get(W);if(!U){if(Q.size>=J){let z=Q.keys().next().value;if(z)Q.delete(z)}U=Function(...Z,`
|
|
749
749
|
'use strict';
|
|
750
750
|
try {
|
|
751
751
|
return ${q};
|
|
@@ -756,14 +756,14 @@ catch (e) {
|
|
|
756
756
|
}
|
|
757
757
|
throw e;
|
|
758
758
|
}
|
|
759
|
-
`),Q.set(W,U)}return U(...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 E8{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(),X=Z(),Q=performance.now()-Y;return this.recordTime($,Q),this.checkBudget($,Q),X}async timeAsync($,Z){if(!this.enabled)return Z();let Y=performance.now(),X=await Z(),Q=performance.now()-Y;return this.recordTime($,Q),this.checkBudget($,Q),X}checkBudget($,Z){let Y=this.budgets.get($);if(!Y)return;let X=Z/Y.maxTime*100,Q=Y.warnThreshold!==void 0?Z>=Y.maxTime*Y.warnThreshold&&Z<Y.maxTime:!1,J=Z>=Y.maxTime;if(!Q&&!J)return;let G={label:$,actualTime:Z,budgetTime:Y.maxTime,exceedancePercent:X,timestamp:new Date,isWarning:Q};this.violations.push(G);while(this.violations.length>this.maxViolations)this.violations.shift();for(let q of this.violationHandlers)try{q(G)}catch{}let K=Q?`[Performance Warning] "${$}" took ${Z.toFixed(2)}ms (${X.toFixed(1)}% of ${Y.maxTime}ms budget)`:`[Performance Budget Exceeded] "${$}" took ${Z.toFixed(2)}ms (exceeded ${Y.maxTime}ms budget by ${(X-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(J)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 X=this.budgets.get($);return{count:Y.count,avgTime:Y.totalTime/Y.count,totalTime:Y.totalTime,maxTime:Y.maxTime,minTime:Y.minTime,budget:X?.maxTime,budgetUtilization:X?Y.totalTime/Y.count/X.maxTime*100:void 0}}let Z={};for(let[Y,X]of this.metrics.entries()){let Q=this.budgets.get(Y);Z[Y]={count:X.count,avgTime:X.totalTime/X.count,totalTime:X.totalTime,maxTime:X.maxTime,minTime:X.minTime,budget:Q?.maxTime,budgetUtilization:Q?X.totalTime/X.count/Q.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 X of this.violations)if($[X.label]=($[X.label]||0)+1,X.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 xK(){if(!D7)D7=new E8;return D7}var U5,vK=500,PO,D7=null,D8;var _5=k(()=>{U5=new Map;PO=new I8;D8=new Proxy({},{get($,Z){return xK()[Z]}})});var B0;var k8=k(()=>{B0={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",gray:"\x1B[90m",bgBlack:"\x1B[40m",bgRed:"\x1B[41m",bgGreen:"\x1B[42m",bgYellow:"\x1B[43m",bgBlue:"\x1B[44m",bgMagenta:"\x1B[45m",bgCyan:"\x1B[46m",bgWhite:"\x1B[47m",bgGray:"\x1B[100m"}});var C8={};t(C8,{resetCssCache:()=>lK,resetCrosswindCache:()=>cK,rebuildCrosswindCSS:()=>pK,loadCrosswindConfig:()=>P7,loadCrosswind:()=>y7,injectCrosswindCSS:()=>C7,getCachedCSS:()=>iK,generateCrosswindCSS:()=>P8,extractClassNames:()=>y8,buildCrosswindCSS:()=>S8});import Y0 from"path";import{hasLocalConfig as fK}from"bunfig/discovery";function S7($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function k7($,Z){if(W1.has($))W1.delete($);else if(W1.size>=gK)W1.delete(W1.keys().next().value);W1.set($,Z)}async function hK($){if(!w1)return null;try{let Z=Bun.file(Y0.join(w1,`cw-${S7($)}.css`));if(!await Z.exists())return null;return await Z.text()}catch{return null}}async function uK($,Z){if(!w1)return;try{if(!fs.existsSync(w1))fs.mkdirSync(w1,{recursive:!0});await Bun.write(Y0.join(w1,`cw-${S7($)}.css`),Z)}catch{}}async function b8($){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 dK(){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 mK(){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 y7(){if(b7)return X1;b7=!0;try{let $=async(Q)=>{for(let J of Q){if(!await Bun.file(J).exists())continue;let G=await b8(J);if(G){if(!process.env.STACKS_DEV_QUIET)console.log(`${B0.green}[Crosswind]${B0.reset} CSS engine loaded from ${Y0.dirname(Y0.dirname(J))}`);return G}}return null};if(process.env.CROSSWIND_SRC){let Q=Y0.resolve(process.env.CROSSWIND_SRC),J=await $([Q]);if(!J)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${Q}`);return X1=J,X1}let Z=await $(dK());if(Z)return X1=Z,X1;let Y=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let Q of Y){let J=await b8(Q);if(J){if(X1=J,!process.env.STACKS_DEV_QUIET)console.log(`${B0.green}[Crosswind]${B0.reset} CSS engine loaded`);return X1}}let X=await $(mK());if(X)return X1=X,X1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${B0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${B0.reset}`),console.warn(`${B0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${B0.reset}`),null}}function lK(){W1.clear()}function cK(){X1=null,b7=!1,t0=null,$$="",W1.clear(),g$=null}async function P7($){try{if(!fK({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 X=Y0.relative($,Y.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${B0.green}[Crosswind]${B0.reset} Loaded config from ${X||Y.path}`);return Y.config}catch(Z){if(Z instanceof Error&&Z.name==="ConfigNotFoundError")return null;return console.warn(`${B0.yellow}[Crosswind]${B0.reset} Failed to load crosswind config:`,Z instanceof Error?Z.message:Z),null}}async function S8($){if(B5)return $$;B5=!0;try{let Z=await y7();if(!Z||!Z.build)return B5=!1,"";if(!t0)t0=await P7($);if(!t0)return B5=!1,"";let Y=Z.defaultConfig?.theme||{},X=t0.theme||{},Q={...Z.defaultConfig,...t0,theme:{...Y,...X,extend:{...Y.extend||{},...X.extend||{}}}},J=performance.now(),G=await Z.build(Q),K=performance.now()-J;if($$=G.css,console.log(`${B0.cyan}[Crosswind]${B0.reset} Built ${G.classes.size} classes in ${K.toFixed(1)}ms`),Q.output){let q=Y0.isAbsolute(Q.output)?Q.output:Y0.join($,Q.output),W=Y0.dirname(q);if(!fs.existsSync(W))fs.mkdirSync(W,{recursive:!0});await Bun.write(q,G.css)}return B5=!1,G.css}catch(Z){return console.error(`${B0.red}[Crosswind]${B0.reset} Build error:`,Z),B5=!1,$$}}async function pK($){t0=null,await S8($)}function iK(){return $$}function y8($){let Z=new Set,Y=/class\s*=\s*["']([^"']+)["']/gi,X=Y.exec($);while(X!==null){for(let G of X[1].split(/\s+/))if(G.trim())Z.add(G.trim());X=Y.exec($)}let Q=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,J=Q.exec($);while(J!==null){let G=J[1].match(/'([^']+)'/g);if(G){for(let K of G)for(let q of K.slice(1,-1).split(/\s+/))if(q.trim())Z.add(q.trim())}J=Q.exec($)}return Z}async function P8($,Z){try{let Y=await y7();if(!Y)return"";let X=typeof Y.extractClasses==="function"?Y.extractClasses($):y8($);if(X.size===0)return"";let Q=Z?Y0.resolve(Z):process.cwd();if(!w1)w1=c5(Q,"cache");let J=[...X].sort().join(" "),G=`${g$||"default"}::${J}`,K=W1.get(G);if(K!==void 0)return k7(G,K),K;let q=await hK(G);if(q!==null)return k7(G,q),q;if(!t0){let A=null;try{let{loadStxConfig:M}=await Promise.resolve().then(() => (d1(),v8)),R=await M(Q);if(R.css)if(typeof R.css==="string"){let N=Y0.isAbsolute(R.css)?R.css:Y0.resolve(Q,R.css);if(await Bun.file(N).exists()){let T=await import(N);A=T.default||T,console.log(`${B0.green}[Crosswind]${B0.reset} Loaded config from stx.config.ts \u2192 ${R.css}`)}}else{if(A={...R.css,content:R.css.content||[],preflight:R.css.preflight??!0,minify:R.css.minify??!1},R.css.config){let N=Y0.isAbsolute(R.css.config)?R.css.config:Y0.resolve(Q,R.css.config);if(await Bun.file(N).exists()){let T=await import(N);A={...T.default||T,...A}}}console.log(`${B0.green}[Crosswind]${B0.reset} Using inline CSS config from stx.config.ts`)}}catch{}t0=A||await P7(Q);try{g$=S7(JSON.stringify(t0??{}))}catch{g$="unhashable"}}let W=Y.defaultConfig||Y.config,U=t0||{},z=W.theme||{},B=(U.theme||{}).extend||{},j={...z};if(Object.keys(B).length>0)j.extend=B;let H=[...W.safelist||[],...U.safelist||[]],L={...W,...U,content:[],output:"",preflight:!0,minify:!1,theme:j,safelist:H},F=new Y.CSSGenerator(L);for(let A of H)F.generate(A);for(let A of X)F.generate(A);let O=F.toCSS(!0,!1),V=L.shortcuts||U.shortcuts||{};for(let[A,M]of Object.entries(V)){if(!X.has(A)&&!H.includes(A))continue;let R=M.split(/\s+/).filter(Boolean);for(let N of R)F.generate(N)}O=F.toCSS(!0,!1);let w=O.split(`
|
|
759
|
+
`),Q.set(W,U)}return U(...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 D8{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(),X=Z(),Q=performance.now()-Y;return this.recordTime($,Q),this.checkBudget($,Q),X}async timeAsync($,Z){if(!this.enabled)return Z();let Y=performance.now(),X=await Z(),Q=performance.now()-Y;return this.recordTime($,Q),this.checkBudget($,Q),X}checkBudget($,Z){let Y=this.budgets.get($);if(!Y)return;let X=Z/Y.maxTime*100,Q=Y.warnThreshold!==void 0?Z>=Y.maxTime*Y.warnThreshold&&Z<Y.maxTime:!1,J=Z>=Y.maxTime;if(!Q&&!J)return;let G={label:$,actualTime:Z,budgetTime:Y.maxTime,exceedancePercent:X,timestamp:new Date,isWarning:Q};this.violations.push(G);while(this.violations.length>this.maxViolations)this.violations.shift();for(let q of this.violationHandlers)try{q(G)}catch{}let K=Q?`[Performance Warning] "${$}" took ${Z.toFixed(2)}ms (${X.toFixed(1)}% of ${Y.maxTime}ms budget)`:`[Performance Budget Exceeded] "${$}" took ${Z.toFixed(2)}ms (exceeded ${Y.maxTime}ms budget by ${(X-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(J)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 X=this.budgets.get($);return{count:Y.count,avgTime:Y.totalTime/Y.count,totalTime:Y.totalTime,maxTime:Y.maxTime,minTime:Y.minTime,budget:X?.maxTime,budgetUtilization:X?Y.totalTime/Y.count/X.maxTime*100:void 0}}let Z={};for(let[Y,X]of this.metrics.entries()){let Q=this.budgets.get(Y);Z[Y]={count:X.count,avgTime:X.totalTime/X.count,totalTime:X.totalTime,maxTime:X.maxTime,minTime:X.minTime,budget:Q?.maxTime,budgetUtilization:Q?X.totalTime/X.count/Q.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 X of this.violations)if($[X.label]=($[X.label]||0)+1,X.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 gK(){if(!b7)b7=new D8;return b7}var z5,fK=500,xO,b7=null,k8;var B5=k(()=>{z5=new Map;xO=new E8;k8=new Proxy({},{get($,Z){return gK()[Z]}})});var B0;var b8=k(()=>{B0={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",gray:"\x1B[90m",bgBlack:"\x1B[40m",bgRed:"\x1B[41m",bgGreen:"\x1B[42m",bgYellow:"\x1B[43m",bgBlue:"\x1B[44m",bgMagenta:"\x1B[45m",bgCyan:"\x1B[46m",bgWhite:"\x1B[47m",bgGray:"\x1B[100m"}});var x8={};t(x8,{resetCssCache:()=>iK,resetCrosswindCache:()=>nK,rebuildCrosswindCSS:()=>sK,loadCrosswindConfig:()=>C7,loadCrosswind:()=>P7,injectCrosswindCSS:()=>v7,getCrosswindServeAsset:()=>dK,getCachedCSS:()=>oK,generateCrosswindCSS:()=>v8,extractClassNames:()=>C8,buildCrosswindCSS:()=>P8});import Y0 from"path";import{hasLocalConfig as hK}from"bunfig/discovery";function u$($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function S7($,Z){if(U1.has($))U1.delete($);else if(U1.size>=y8)U1.delete(U1.keys().next().value);U1.set($,Z)}function uK($){let Z=u$($);if(t0.has(Z))t0.delete(Z);else if(t0.size>=y8)t0.delete(t0.keys().next().value);return t0.set(Z,$),Z}function dK($){let Z=t0.get($);if(Z===void 0)return;return t0.delete($),t0.set($,Z),Z}async function mK($){if(!A1)return null;try{let Z=Bun.file(Y0.join(A1,`cw-${u$($)}.css`));if(!await Z.exists())return null;return await Z.text()}catch{return null}}async function lK($,Z){if(!A1)return;try{if(!fs.existsSync(A1))fs.mkdirSync(A1,{recursive:!0});await Bun.write(Y0.join(A1,`cw-${u$($)}.css`),Z)}catch{}}async function S8($){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 cK(){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 pK(){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 P7(){if(y7)return J1;y7=!0;try{let $=async(Q)=>{for(let J of Q){if(!await Bun.file(J).exists())continue;let G=await S8(J);if(G){if(!process.env.STACKS_DEV_QUIET)console.log(`${B0.green}[Crosswind]${B0.reset} CSS engine loaded from ${Y0.dirname(Y0.dirname(J))}`);return G}}return null};if(process.env.CROSSWIND_SRC){let Q=Y0.resolve(process.env.CROSSWIND_SRC),J=await $([Q]);if(!J)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${Q}`);return J1=J,J1}let Z=await $(cK());if(Z)return J1=Z,J1;let Y=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let Q of Y){let J=await S8(Q);if(J){if(J1=J,!process.env.STACKS_DEV_QUIET)console.log(`${B0.green}[Crosswind]${B0.reset} CSS engine loaded`);return J1}}let X=await $(pK());if(X)return J1=X,J1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${B0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${B0.reset}`),console.warn(`${B0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${B0.reset}`),null}}function iK(){U1.clear(),t0.clear()}function nK(){J1=null,y7=!1,e0=null,Z$="",U1.clear(),t0.clear(),h$=null}async function C7($){try{if(!hK({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 X=Y0.relative($,Y.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${B0.green}[Crosswind]${B0.reset} Loaded config from ${X||Y.path}`);return Y.config}catch(Z){if(Z instanceof Error&&Z.name==="ConfigNotFoundError")return null;return console.warn(`${B0.yellow}[Crosswind]${B0.reset} Failed to load crosswind config:`,Z instanceof Error?Z.message:Z),null}}async function P8($){if(j5)return Z$;j5=!0;try{let Z=await P7();if(!Z||!Z.build)return j5=!1,"";if(!e0)e0=await C7($);if(!e0)return j5=!1,"";let Y=Z.defaultConfig?.theme||{},X=e0.theme||{},Q={...Z.defaultConfig,...e0,theme:{...Y,...X,extend:{...Y.extend||{},...X.extend||{}}}},J=performance.now(),G=await Z.build(Q),K=performance.now()-J;if(Z$=G.css,console.log(`${B0.cyan}[Crosswind]${B0.reset} Built ${G.classes.size} classes in ${K.toFixed(1)}ms`),Q.output){let q=Y0.isAbsolute(Q.output)?Q.output:Y0.join($,Q.output),W=Y0.dirname(q);if(!fs.existsSync(W))fs.mkdirSync(W,{recursive:!0});await Bun.write(q,G.css)}return j5=!1,G.css}catch(Z){return console.error(`${B0.red}[Crosswind]${B0.reset} Build error:`,Z),j5=!1,Z$}}async function sK($){e0=null,await P8($)}function oK(){return Z$}function C8($){let Z=new Set,Y=/class\s*=\s*["']([^"']+)["']/gi,X=Y.exec($);while(X!==null){for(let G of X[1].split(/\s+/))if(G.trim())Z.add(G.trim());X=Y.exec($)}let Q=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,J=Q.exec($);while(J!==null){let G=J[1].match(/'([^']+)'/g);if(G){for(let K of G)for(let q of K.slice(1,-1).split(/\s+/))if(q.trim())Z.add(q.trim())}J=Q.exec($)}return Z}async function v8($,Z){try{let Y=await P7();if(!Y)return"";let X=typeof Y.extractClasses==="function"?Y.extractClasses($):C8($);if(X.size===0)return"";let Q=Z?Y0.resolve(Z):process.cwd();if(!A1)A1=p5(Q,"cache");let J=[...X].sort().join(" "),G=`${h$||"default"}::${J}`,K=U1.get(G);if(K!==void 0)return S7(G,K),K;let q=await mK(G);if(q!==null)return S7(G,q),q;if(!e0){let A=null;try{let{loadStxConfig:M}=await Promise.resolve().then(() => (m1(),f8)),R=await M(Q);if(R.css)if(typeof R.css==="string"){let N=Y0.isAbsolute(R.css)?R.css:Y0.resolve(Q,R.css);if(await Bun.file(N).exists()){let T=await import(N);A=T.default||T,console.log(`${B0.green}[Crosswind]${B0.reset} Loaded config from stx.config.ts \u2192 ${R.css}`)}}else{if(A={...R.css,content:R.css.content||[],preflight:R.css.preflight??!0,minify:R.css.minify??!1},R.css.config){let N=Y0.isAbsolute(R.css.config)?R.css.config:Y0.resolve(Q,R.css.config);if(await Bun.file(N).exists()){let T=await import(N);A={...T.default||T,...A}}}console.log(`${B0.green}[Crosswind]${B0.reset} Using inline CSS config from stx.config.ts`)}}catch{}e0=A||await C7(Q);try{h$=u$(JSON.stringify(e0??{}))}catch{h$="unhashable"}}let W=Y.defaultConfig||Y.config,U=e0||{},z=W.theme||{},B=(U.theme||{}).extend||{},j={...z};if(Object.keys(B).length>0)j.extend=B;let H=[...W.safelist||[],...U.safelist||[]],L={...W,...U,content:[],output:"",preflight:!0,minify:!1,theme:j,safelist:H},F=new Y.CSSGenerator(L);for(let A of H)F.generate(A);for(let A of X)F.generate(A);let O=F.toCSS(!0,!1),V=L.shortcuts||U.shortcuts||{};for(let[A,M]of Object.entries(V)){if(!X.has(A)&&!H.includes(A))continue;let R=M.split(/\s+/).filter(Boolean);for(let N of R)F.generate(N)}O=F.toCSS(!0,!1);let w=O.split(`
|
|
760
760
|
`);for(let[A,M]of Object.entries(V)){if(!X.has(A)&&!H.includes(A))continue;let R=M.split(/\s+/).filter(Boolean),N=[],T=[];for(let I of R){let D=I.startsWith("dark:"),S=`.${(D?I.slice(5):I).replace(/\//g,"\\/").replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%")}`;for(let b=0;b<w.length;b++){let v=w[b].trim();if(v===`${S} {`||v.startsWith(`${S} {`)){let h=b,f="";while(h<w.length){if(f+=w[h],w[h].includes("}"))break;h++}let m=f.match(/\{([^}]+)\}/);if(m)if(D)T.push(m[1].trim());else N.push(m[1].trim());break}}}if(N.length)O+=`
|
|
761
761
|
.${A} { ${N.join(" ")} }`;if(T.length)O+=`
|
|
762
|
-
@media (prefers-color-scheme: dark) { .dark .${A} { ${T.join(" ")} } }`}return
|
|
763
|
-
${
|
|
764
|
-
</style>`,
|
|
762
|
+
@media (prefers-color-scheme: dark) { .dark .${A} { ${T.join(" ")} } }`}return S7(G,O),lK(G,O),O}catch(Y){return console.warn("Failed to generate Crosswind CSS:",Y),""}}async function v7($,Z,Y=!1){let X=await v8($,Z);if(!X)return $;let Q=Y?`<link data-crosswind="generated" rel="stylesheet" href="/_stx/crosswind.${uK(X)}.css">`:`<style data-crosswind="generated">
|
|
763
|
+
${X}
|
|
764
|
+
</style>`,J=/(?:<style\b[^>]*\bdata-crosswind=(?:"generated"|'generated')[^>]*>[\s\S]*?<\/style>|<link\b[^>]*\bdata-crosswind=(?:"generated"|'generated')[^>]*>)/g;if(J.test($)){let G=!1;return $.replace(J,()=>{if(G)return"";return G=!0,Q})}if($.includes("</head>"))return $.replace("</head>",`${Q}
|
|
765
765
|
</head>`);if($.includes("<body"))return $.replace(/<body([^>]*)>/,`<body$1>
|
|
766
|
-
${
|
|
766
|
+
${Q}`);return Q+$}var J1=null,y7=!1,e0=null,Z$="",j5=!1,y8=256,U1,t0,A1=null,h$=null;var x7=k(()=>{b$();b8();U1=new Map,t0=new Map});function g8(){return`
|
|
767
767
|
// STX Lifecycle Runtime
|
|
768
768
|
(function() {
|
|
769
769
|
if (typeof window === 'undefined') return;
|
|
@@ -1108,7 +1108,7 @@ else {
|
|
|
1108
1108
|
|
|
1109
1109
|
console.log('[stx] Lifecycle runtime initialized');
|
|
1110
1110
|
})();
|
|
1111
|
-
`}function
|
|
1111
|
+
`}function f7($){return Symbol($)}var lO,cO,pO;var h8=k(()=>{lO=f7("theme"),cO=f7("router"),pO=f7("i18n")});import*as d8 from"crypto";function u8($){let Z=/\$(\w+)\./g,Y=[],X;while((X=Z.exec($))!==null)if(!Y.includes(X[1]))Y.push(X[1]);return Y}function rK(){return`stx-${d8.randomBytes(4).toString("hex")}`}function aK($){return/\$\w+\./.test($)}function tK($){let Z=[],Y=new Set,X=/<(\w+)([^>]*?)(\s*\/?>)/g,Q=$;return Q=Q.replace(X,(J,G,K,q)=>{if(["script","style","template"].includes(G.toLowerCase()))return J;let W=[],U=!1,z=K,_=/(\w+(?:-\w+)*)\s*=\s*"([^"]*\{\{[^}]*\$\w+[^}]*\}\}[^"]*)"/g,B=[...K.matchAll(_)];for(let L of B){let F=L[0],O=L[1],V=L[2];if(aK(V)){U=!0;let w=V.match(/\{\{\s*([\s\S]+?)\s*\}\}/);if(w){let A=w[1];if(W.push({attr:O,expr:A,fullMatch:F,originalAttr:O}),u8(A).forEach((R)=>Y.add(R)),O==="text")z=z.replace(F,"");else if(O==="class")z=z.replace(F,'class=""');else if(O==="disabled"||O==="hidden")z=z.replace(F,"");else z=z.replace(F,`${O}=""`)}}}if(!U)return J;let j=z.match(/\bid\s*=\s*"([^"]+)"/),H;if(j)H=j[1];else H=rK(),z=` id="${H}"${z}`;for(let L of W)Z.push({elementId:H,attribute:L.attr,expression:L.expr,stores:u8(L.expr)});return`<${G}${z}${q}`}),{html:Q,bindings:Z,stores:Y}}function eK($,Z){if($.length===0)return"";let Y=Array.from(Z),X=`
|
|
1112
1112
|
<script>
|
|
1113
1113
|
(function() {
|
|
1114
1114
|
'use strict';
|
|
@@ -1266,10 +1266,10 @@ else {
|
|
|
1266
1266
|
}
|
|
1267
1267
|
})();
|
|
1268
1268
|
</script>
|
|
1269
|
-
`,X}function
|
|
1269
|
+
`,X}function m8($){let{html:Z,bindings:Y,stores:X}=tK($);if(Y.length===0)return $;let Q=eK(Y,X),J=Z.lastIndexOf("</body>");if(J!==-1)return Z.slice(0,J)+Q+Z.slice(J);return Z+Q}var l8=()=>{};function $q($){let Z=$.analytics;if(!Z?.enabled)return"";switch(Z.driver){case"fathom":return Zq(Z);case"google-analytics":return Yq(Z);case"plausible":return Xq(Z);case"self-hosted":return Jq(Z);case"custom":return Qq(Z);default:return""}}function Zq($){let Z=$.fathom;if(!Z?.siteId)return"";let Y=Z.scriptUrl||"https://cdn.usefathom.com/script.js",X=Z.defer!==!1?" defer":"",Q=[`data-site="${h0(Z.siteId)}"`];if(Z.honorDnt)Q.push('data-honor-dnt="true"');if(Z.spa)Q.push('data-spa="auto"');if(Z.canonical)Q.push(`data-canonical="${h0(Z.canonical)}"`);if(Z.auto===!1)Q.push('data-auto="false"');return`
|
|
1270
1270
|
<!-- Fathom Analytics -->
|
|
1271
1271
|
<script src="${h0(Y)}" ${Q.join(" ")}${X}></script>
|
|
1272
|
-
`}function
|
|
1272
|
+
`}function Yq($){let Z=$.googleAnalytics;if(!Z?.measurementId)return"";let Y=h0(Z.measurementId),X=Z.debug?`gtag('config', '${Y}', { 'debug_mode': true });`:"";return`
|
|
1273
1273
|
<!-- Google Analytics -->
|
|
1274
1274
|
<script async src="https://www.googletagmanager.com/gtag/js?id=${Y}"></script>
|
|
1275
1275
|
<script>
|
|
@@ -1279,10 +1279,10 @@ else {
|
|
|
1279
1279
|
gtag('config', '${Y}');
|
|
1280
1280
|
${X}
|
|
1281
1281
|
</script>
|
|
1282
|
-
`}function
|
|
1282
|
+
`}function Xq($){let Z=$.plausible;if(!Z?.domain)return"";let Y=Z.scriptUrl||"https://plausible.io/js/script.js",X=[`data-domain="${h0(Z.domain)}"`],Q=Y,J=[];if(Z.trackLocalhost)J.push("local");if(Z.hashMode)J.push("hash");if(J.length>0&&Y==="https://plausible.io/js/script.js")Q=`https://plausible.io/js/script.${J.join(".")}.js`;return`
|
|
1283
1283
|
<!-- Plausible Analytics -->
|
|
1284
1284
|
<script defer data-domain="${h0(Z.domain)}" src="${h0(Q)}"></script>
|
|
1285
|
-
`}function
|
|
1285
|
+
`}function Jq($){let Z=$.selfHosted;if(!Z?.siteId||!Z?.apiEndpoint)return"";let Y=h0(Z.siteId),X=h0(Z.apiEndpoint),Q=Z.honorDnt?'if(n.doNotTrack==="1")return;':"",J=Z.trackHashChanges?"w.addEventListener('hashchange',pv);":"",G=Z.trackOutboundLinks?`
|
|
1286
1286
|
d.addEventListener('click',function(e){
|
|
1287
1287
|
var a=e.target.closest('a');
|
|
1288
1288
|
if(a&&a.hostname!==location.hostname){
|
|
@@ -1315,7 +1315,7 @@ else {
|
|
|
1315
1315
|
w.stxAnalytics={track:function(n,v){t('event',{name:n,value:v});}};
|
|
1316
1316
|
})();
|
|
1317
1317
|
</script>
|
|
1318
|
-
`}function
|
|
1318
|
+
`}function Qq($){let Z=$.custom;if(!Z)return"";if(Z.inlineScript)return`
|
|
1319
1319
|
<!-- Custom Analytics -->
|
|
1320
1320
|
<script>
|
|
1321
1321
|
${Z.inlineScript}
|
|
@@ -1323,7 +1323,7 @@ ${Z.inlineScript}
|
|
|
1323
1323
|
`;if(!Z.scriptUrl)return"";let Y=[];if(Z.scriptId)Y.push(`id="${h0(Z.scriptId)}"`);if(Z.attributes)for(let[Q,J]of Object.entries(Z.attributes))Y.push(`${h0(Q)}="${h0(J)}"`);return`
|
|
1324
1324
|
<!-- Custom Analytics -->
|
|
1325
1325
|
<script${Y.length>0?` ${Y.join(" ")}`:""} src="${h0(Z.scriptUrl)}" defer></script>
|
|
1326
|
-
`}function
|
|
1326
|
+
`}function c8($,Z){let Y=$q(Z);if(!Y)return $;if(!$.includes("</head>")){let X=$.lastIndexOf("</body>");if(X!==-1)return $.slice(0,X)+Y+$.slice(X);return $+Y}return $.replace("</head>",`${Y}</head>`)}function h0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}var p8=()=>{};function s8($){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 X=Y.toLowerCase();if(X==="prevent")Z.prevent=!0;else if(X==="stop")Z.stop=!0;else if(X==="once")Z.once=!0;else if(X==="capture")Z.capture=!0;else if(X==="self")Z.self=!0;else if(X==="passive")Z.passive=!0;else if(Gq.has(X))Z.systemKeys.push(X);else if(X in o8)Z.mouse=X;else if(X in n8||/^[a-z]$/.test(X))Z.keys.push(n8[X]||X.toUpperCase());else if(X.startsWith("debounce")){let Q=X.match(/debounce(?:\.(\d+))?/);Z.debounce=Q?.[1]?Number.parseInt(Q[1],10):300}else if(X.startsWith("throttle")){let Q=X.match(/throttle(?:\.(\d+))?/);Z.throttle=Q?.[1]?Number.parseInt(Q[1],10):300}}return Z}function r8($){let Z=[],Y=0,X=/<([a-z][a-z0-9-]*)\s+([^>]*@[a-z][^>]*)>/gi,Q;while((Q=X.exec($))!==null){let[J,G,K]=Q,q=Q.index,W=q+J.length,U=`__stx_evt_${Y++}`,z=[],_=/@([a-z][a-z0-9.]*)\s*=\s*"([^"]*)"/gi,B;while((B=_.exec(K))!==null){let[,H,L]=B,F=H.split("."),O=F[0];if(!i8.has(O))continue;z.push({attribute:`@${H}`,event:O,handler:L,modifiers:s8(F.slice(1)),elementId:U})}let j=/@([a-z][a-z0-9.]*)\s*=\s*'([^']*)'/gi;while((B=j.exec(K))!==null){let[,H,L]=B,F=H.split("."),O=F[0];if(!i8.has(O))continue;z.push({attribute:`@${H}`,event:O,handler:L,modifiers:s8(F.slice(1)),elementId:U})}if(z.length>0)Z.push({originalTag:J,elementId:U,events:z,startIndex:q,endIndex:W})}return Z}function Kq($){let Z=[],{modifiers:Y}=$;if(Y.self)Z.push("if ($event.target !== $el) return");for(let X of Y.systemKeys)Z.push(`if (!$event.${X}Key) return`);if(Y.keys.length>0){let X=Y.keys.map((Q)=>`$event.key === '${Q}'`).join(" || ");Z.push(`if (!(${X})) return`)}if(Y.mouse!==null){let X=o8[Y.mouse];Z.push(`if ($event.button !== ${X}) return`)}if(Y.prevent)Z.push("$event.preventDefault()");if(Y.stop)Z.push("$event.stopPropagation()");return Z.join("; ")}function qq($,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 Wq($){let{modifiers:Z}=$,Y=$.elementId.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),X=Kq($),Q=qq($.handler,Z),J=[];if(Z.once)J.push("once: true");if(Z.capture)J.push("capture: true");if(Z.passive)J.push("passive: true");let G=J.length>0?`, { ${J.join(", ")} }`:"",K=Q.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t");if($.event==="mounted")return`
|
|
1327
1327
|
(function() {
|
|
1328
1328
|
var $el = document.getElementById('${Y}');
|
|
1329
1329
|
if (!$el) return;
|
|
@@ -1377,7 +1377,7 @@ else {
|
|
|
1377
1377
|
__stx_runHandler('${K}', $event, $el);
|
|
1378
1378
|
}
|
|
1379
1379
|
}${G});
|
|
1380
|
-
})();`}function
|
|
1380
|
+
})();`}function Uq($){if($.length===0)return"";return`
|
|
1381
1381
|
<script data-stx-events>
|
|
1382
1382
|
(function() {
|
|
1383
1383
|
'use strict';
|
|
@@ -1425,11 +1425,11 @@ else {
|
|
|
1425
1425
|
}
|
|
1426
1426
|
|
|
1427
1427
|
// Event listeners
|
|
1428
|
-
${$.flatMap((Y)=>Y.events).map(
|
|
1428
|
+
${$.flatMap((Y)=>Y.events).map(Wq).join(`
|
|
1429
1429
|
`)}
|
|
1430
1430
|
})();
|
|
1431
|
-
</script>`}function
|
|
1432
|
-
`+J.slice(K);else J+=G;return J}var
|
|
1431
|
+
</script>`}function zq($){let Z=r8($);if(Z.length===0)return{template:$,bindings:[]};let Y=$,X=[];for(let Q=Z.length-1;Q>=0;Q--){let J=Z[Q],G=J.originalTag;if(!G.includes(" id="))G=G.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${J.elementId}"`);else{let K=G.match(/id=["']([^"']+)["']/);if(K)for(let q of J.events)q.elementId=K[1]}for(let K of J.events){let q=K.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),W=new RegExp(`\\s*${q}\\s*=\\s*"[^"]*"`,"g"),U=new RegExp(`\\s*${q}\\s*=\\s*'[^']*'`,"g");G=G.replace(W,""),G=G.replace(U,"")}Y=Y.slice(0,J.startIndex)+G+Y.slice(J.endIndex),X.push(...J.events)}return{template:Y,bindings:X}}function a8($,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:q,bindings:W}=zq($),U=Z.__stx_event_bindings||[];return Z.__stx_event_bindings=[...U,...W],q}let Q=r8($);if(Q.length===0)return $;let J=$;for(let q=Q.length-1;q>=0;q--){let W=Q[q],U=W.originalTag;if(!U.includes(" id="))U=U.replace(/^<([a-z][a-z0-9-]*)/,`<$1 id="${W.elementId}"`);else{let z=U.match(/id=["']([^"']+)["']/);if(z)for(let _ of W.events)_.elementId=z[1]}for(let z of W.events){let _=z.attribute.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),B=new RegExp(`\\s*${_}\\s*=\\s*"[^"]*"`,"g"),j=new RegExp(`\\s*${_}\\s*=\\s*'[^']*'`,"g");U=U.replace(B,""),U=U.replace(j,"")}J=J.slice(0,W.startIndex)+U+J.slice(W.endIndex)}let G=Uq(Q),K=J.lastIndexOf("</body>");if(K!==-1)J=J.slice(0,K)+G+`
|
|
1432
|
+
`+J.slice(K);else J+=G;return J}var i8,n8,Gq,o8;var t8=k(()=>{i8=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"]),n8={enter:"Enter",tab:"Tab",delete:"Delete",backspace:"Backspace",esc:"Escape",escape:"Escape",space:" ",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",home:"Home",end:"End",pageup:"PageUp",pagedown:"PageDown"},Gq=new Set(["ctrl","alt","shift","meta"]),o8={left:0,middle:1,right:2}});function d$($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function e8($,Z){let Y=$.match(new RegExp(`${Z}\\s*=\\s*"([^"]*)"`,"i"));if(Y)return Y[1];let X=$.match(new RegExp(`${Z}\\s*=\\s*'([^']*)'`,"i"));if(X)return X[1];return null}function Bq($){let Z=[],Y=/<([a-z][a-z0-9-]*)\s+([^>]*x-data\s*=\s*(?:"[^"]*"|'[^']*')[^>]*)>/gi,X;while((X=Y.exec($))!==null){let[Q,J,G]=X,K=X.index,q=e8(G,"x-data");if(!q)continue;let W=`__stx_scope_${ZZ++}`,U=e8(G,"x-init"),z=jq($,J,K+Q.length),_=$.slice(K,z.endIndex),B=Hq(_);Z.push({id:W,selector:`[data-stx-scope="${W}"]`,stateExpr:q,initExpr:U,bindings:[],refs:B})}return Z}function jq($,Z,Y){let X=1,Q=Y,J=new RegExp(`<${Z}(?:\\s|>)`,"gi"),G=new RegExp(`</${Z}>`,"gi"),K=new RegExp(`<${Z}[^>]*/\\s*>`,"gi");while(X>0&&Q<$.length){J.lastIndex=Q,G.lastIndex=Q,K.lastIndex=Q;let q=J.exec($),W=G.exec($),U=K.exec($);if(U&&U.index<(q?.index??1/0)){Q=U.index+U[0].length;continue}if(!W)return{endIndex:$.length};if(q&&q.index<W.index)X++,Q=q.index+q[0].length;else{if(X--,X===0)return{endIndex:W.index+W[0].length};Q=W.index+W[0].length}}return{endIndex:$.length}}function Hq($){let Z=new Map,Y=$.replace(/x-data\s*=\s*"[^"]*"/gi,'x-data="__stripped__"').replace(/x-data\s*=\s*'[^']*'/gi,"x-data='__stripped__'"),X=/<[a-z][a-z0-9-]*\s+([^>]*x-ref\s*=\s*["']([^"']*)["'][^>]*)>/gi,Q;while((Q=X.exec(Y))!==null){let[,J,G]=Q,K=Oq(J);Z.set(G,K)}return Z}function Oq($){let Z=$.match(/\bid\s*=\s*["']([^"']*)["']/);if(Z)return Z[1];return`__stx_el_${_q++}`}function Lq(){return`
|
|
1433
1433
|
// STX Reactive Runtime - x-cloak and transition CSS
|
|
1434
1434
|
(function() {
|
|
1435
1435
|
var style = document.createElement('style');
|
|
@@ -1636,7 +1636,7 @@ window.__stx_reactive = (function() {
|
|
|
1636
1636
|
|
|
1637
1637
|
return { initScope: initScope, reactive: reactive };
|
|
1638
1638
|
})();
|
|
1639
|
-
`}function
|
|
1639
|
+
`}function $Z($,Z){let Y=$.replace(/\{!!([\s\S]*?)!!\}/g,(X,Q)=>{try{let J=p0(Q,Z,!0);if(J===void 0)return X;return String(J)}catch{return X}});return Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(X,Q)=>{try{let J=p0(Q,Z,!0);if(J===void 0)return X;if(typeof J==="string"){let G=J.trim();if(G.startsWith("{")&&G.endsWith("}")||G.startsWith("[")&&G.endsWith("]"))try{return JSON.parse(G),G}catch{}}return JSON.stringify(J)}catch{return X}}),Y}function Fq($,Z){if($.length===0)return"";let Y=$.map((X)=>{let Q=JSON.stringify(Object.fromEntries(X.refs)),J=$Z(X.stateExpr,Z),G=X.initExpr?$Z(X.initExpr,Z):null,K=JSON.stringify(J),q=G?JSON.stringify(G):"null";return`
|
|
1640
1640
|
(function() {
|
|
1641
1641
|
var scopeEl = document.querySelector('${X.selector}');
|
|
1642
1642
|
if (!scopeEl) return;
|
|
@@ -1645,42 +1645,42 @@ window.__stx_reactive = (function() {
|
|
|
1645
1645
|
})();`}).join(`
|
|
1646
1646
|
`);return`
|
|
1647
1647
|
<script data-stx-scoped data-stx-reactive>
|
|
1648
|
-
${
|
|
1648
|
+
${Lq()}
|
|
1649
1649
|
${Y}
|
|
1650
|
-
</script>`}function
|
|
1651
|
-
`+Q.slice(G);else Q+=J;return Q}function
|
|
1652
|
-
${$.message}`),Z&&$.line){let J=
|
|
1650
|
+
</script>`}function YZ($,Z,Y){if(ZZ=0,!wq($))return $;let X=Bq($);if(X.length===0)return $;let Q=Vq($,X),J=Fq(X,Z),G=Q.lastIndexOf("</body>");if(G!==-1)Q=Q.slice(0,G)+J+`
|
|
1651
|
+
`+Q.slice(G);else Q+=J;return Q}function Vq($,Z){let Y=$;for(let X of Z){let J=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*data-stx-scope="([^"]*)"[^>]*x-data\\s*=\\s*["']${d$(X.stateExpr)}["']`,"gi").exec(Y);if(J)X.id=J[1],X.selector=`[data-stx-scope="${X.id}"]`;else{let K=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*x-data\\s*=\\s*["']${d$(X.stateExpr)}["'][^>]*data-stx-scope="([^"]*)"`,"gi").exec(Y);if(K)X.id=K[1],X.selector=`[data-stx-scope="${X.id}"]`;else Y=Y.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*"${d$(X.stateExpr)}")([^>]*>)`,"gi"),`$1data-stx-scope="${X.id}" $2$3$4`),Y=Y.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*'${d$(X.stateExpr)}')([^>]*>)`,"gi"),`$1data-stx-scope="${X.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 wq($){return/x-data\s*=\s*["']/.test($)}var ZZ=0,_q=0;var XZ=k(()=>{X1()});import Aq from"fs";import g7 from"path";import{createHighlighter as Rq}from"ts-syntax-highlighter";async function Mq($,Z={}){try{if(!await p($))throw Error(`Markdown file not found: ${$}`);let X=(await Aq.promises.stat($)).mtime.getTime();if(Z.cache&&h7.has($)){let z=h7.get($);if(z.updatedAt>=X)return{content:z.content,data:z.data}}let Q=await Bun.file($).text(),{data:J,content:G}=a9(Q),K=Z.markdown||u7.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},W=m5(G,{gfm:!0});if(K.syntaxHighlighting?.enabled&&K.syntaxHighlighting?.serverSide)W=await Nq(W,K.syntaxHighlighting?.defaultTheme||"github-dark",K.syntaxHighlighting?.highlightUnknownLanguages||!1);let U={content:W,data:J||{}};if(Z.cache)h7.set($,{...U,updatedAt:X});return U}catch(Y){if(Z.debug)console.error(`Error reading/parsing markdown file ${$}:`,Y);let X=Y instanceof Error?Y.message:String(Y);return{content:W0("Markdown File",`Error reading/parsing markdown file: ${X}`,$,"",0,""),data:{}}}}async function Nq($,Z,Y){let X=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!m$)try{m$=await Rq({theme:Z||"github-dark",cache:!0})}catch(K){return console.error("Failed to initialize ts-syntax-highlighter:",K),$}let Q=async(K,q,W,U)=>{let z=U.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/"/g,'"').replace(/'/g,"'"),_=W||(Y?"text":"");if(!_)return K;try{if(!m$.getSupportedLanguages().includes(_))return K;return(await m$.highlight(z,_,{theme:Z})).html}catch(B){console.error(`Error highlighting code block with language ${W}:`,B)}return K},J=$,G=$.matchAll(X);for(let K of G){let[q,W,U,z]=K,_=await Q(q,W,U,z);J=J.replace(q,_)}return J}async function JZ($,Z,Y="",X={}){return await Tq($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(G,K,q,W)=>{try{let U=K;if(!g7.isAbsolute(K))U=g7.resolve(g7.dirname(Y),K);let z={};if(q)try{try{z=JSON.parse(q)}catch{if(X.debug)console.warn("Using safer alternative for parsing JS object literal");let O=q.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let V of O){let w=V.indexOf(":");if(w>0){let A=V.substring(0,w).trim(),M=V.substring(w+1).trim(),R=M.startsWith('"')&&M.endsWith('"'),N=M.startsWith("'")&&M.endsWith("'");if(R||N)M=M.substring(1,M.length-1);z[A]=M}}}}catch(F){if(X.debug)console.error("Error parsing context in @markdown-file directive:",F)}let{content:_,data:B}=await Mq(U,X),j={...Z,...B,...z},H=_,L=/\{\{([^}]+)\}\}/g;return H=H.replace(L,(F,O)=>{let V=O.trim();return j[V]!==void 0?String(j[V]):F}),H}catch(U){let z=U instanceof Error?U.message:String(U);return W0("Markdown File",`Error including markdown file: ${z}`,Y,$,W,G)}})}async function Tq($,Z,Y){let X=[],Q;while((Q=Z.exec($))!==null){let K=Q[0],q=Q.index,W=Q;X.push(Y(...W).then((U)=>({match:K,replacement:U,index:q})))}let J=await Promise.all(X);J.sort((K,q)=>q.index-K.index);let G=$;for(let{match:K,replacement:q}of J)G=G.replace(K,()=>q);return G}var h7,m$=null;var QZ=k(()=>{m1();w0();h7=new Map});function R1($,Z){try{let Y=$.trim();if(G0(Y))return K0(Y,Object.keys(Z))(...Object.values(Z));else return Z0(Y,Z)}catch{return!1}}var GZ=k(()=>{H0()});function d7($){for(let[Z,Y]of Object.entries(o))if(Y===$)return Z;return}var o;var l$=k(()=>{o={UNCLOSED_DIRECTIVE:1001,UNCLOSED_EXPRESSION:1002,INVALID_DIRECTIVE_SYNTAX:1003,MALFORMED_EXPRESSION:1004,UNEXPECTED_TOKEN:1005,UNDEFINED_VARIABLE:1101,TYPE_ERROR:1102,EVALUATION_ERROR:1103,INFINITE_LOOP:1104,CIRCULAR_REFERENCE:1105,UNSAFE_EXPRESSION:1201,PATH_TRAVERSAL:1202,XSS_ATTEMPT:1203,CODE_INJECTION:1204,DOM_API_VIOLATION:1205,FILE_NOT_FOUND:1301,FILE_READ_ERROR:1302,INVALID_FILE_PATH:1303,PERMISSION_DENIED:1304,INVALID_CONFIG:1401,MISSING_REQUIRED_CONFIG:1402,DEPRECATED_CONFIG:1403,COMPONENT_NOT_FOUND:1501,INVALID_PROPS:1502,COMPONENT_RENDER_ERROR:1503,FILTER_NOT_FOUND:1601,INVALID_FILTER_ARGS:1602,EXPRESSION_TIMEOUT:1603}});function Y$(){return!1}function X$(){return!Y$()||process.env.STX_DEBUG==="true"}function c$(){return!1}import Iq from"path";function p$(){return{...m7}}function i$($){if(!m7.showRelativePaths||!$)return $;let Z=m7.baseDir||process.cwd();try{let Y=Iq.relative(Z,$);return Y.startsWith("..")?$:Y}catch{return $}}var Eq,m7,n$,l1,s$;var o$=k(()=>{l$();Eq={showRelativePaths:!1,enableAutoRecovery:X$(),logRecoveryWarnings:!0},m7={...Eq};n$=class n$ extends Error{code;filePath;line;column;context;numericCode;constructor($,Z,Y,X,Q,J,G){super($);this.code=Z;this.filePath=Y;this.line=X;this.column=Q;this.context=J;if(this.name="StxError",this.numericCode=G||o.EVALUATION_ERROR,this.filePath)this.filePath=i$(this.filePath)}};l1=class l1 extends n${constructor($,Z,Y,X,Q,J){super($,"stx_RUNTIME_ERROR",Z,Y,X,Q,J||o.EVALUATION_ERROR);this.name="StxRuntimeError"}};s$=class s$ extends n${isFatal=!0;constructor($,Z,Y,X,Q,J){super($,"stx_VALIDATION_ERROR",Z,Y,X,Q,J||o.DOM_API_VIOLATION);this.name="StxValidationError"}}});function qZ($){let{type:Z,message:Y,code:X,filePath:Q,line:J,column:G,template:K,offset:q,snippet:W,suggestion:U,format:z="text"}=$,_=J,B=G;if(!_&&K&&q!==void 0){let O=Pq(K,q);_=O.line,B=O.column}let j=Q?i$(Q):void 0,H=X?d7(X):void 0,L={type:Z,code:X,codeName:H,message:Y,filePath:j,line:_,column:B,snippet:W,suggestion:U,timestamp:new Date().toISOString()},F;switch(z){case"html":F=kq(L);break;case"json":F=JSON.stringify(L,null,2);break;case"console":F=bq(L,K,q);break;case"text":default:F=Dq(L,K,q);break}return{formatted:F,data:L}}function Dq($,Z,Y){let X=[],Q=$.code?` [${$.codeName||$.code}]`:"";if(X.push(`[${$.type} Error${Q}]`),$.filePath){let J=$.filePath;if($.line){if(J+=`:${$.line}`,$.column)J+=`:${$.column}`}X.push(`at ${J}`)}if(X.push(`
|
|
1652
|
+
${$.message}`),Z&&$.line){let J=Sq(Z,$.line,2);if(J)X.push(`
|
|
1653
1653
|
${J}`)}if($.snippet)X.push(`
|
|
1654
1654
|
Snippet: ${$.snippet}`);if($.suggestion)X.push(`
|
|
1655
|
-
Suggestion: ${$.suggestion}`);return X.join(" ")}function
|
|
1655
|
+
Suggestion: ${$.suggestion}`);return X.join(" ")}function kq($){let Z=$.code?` [${$.code}]`:"",Y=$.filePath?` in ${$.filePath}${$.line?`:${$.line}`:""}`:"",X=`<!-- [${$.type} Error${Z}]${Y}: ${KZ($.message)}`;if($.suggestion)X+=` | Suggestion: ${KZ($.suggestion)}`;return X+=" -->",X}function bq($,Z,Y){let W=[],U=$.code?` [${$.codeName||$.code}]`:"";if(W.push(`\x1B[1m${"\x1B[31m"}\u2501\u2501\u2501 ${$.type} Error${U} \u2501\u2501\u2501${"\x1B[0m"}`),$.filePath){let z=`\x1B[36m${$.filePath}\x1B[0m`;if($.line){if(z+=`\x1B[90m:${$.line}\x1B[0m`,$.column)z+=`\x1B[90m:${$.column}\x1B[0m`}W.push(`
|
|
1656
1656
|
\x1B[90mat\x1B[0m ${z}`)}if(W.push(`
|
|
1657
1657
|
|
|
1658
|
-
${$.message}`),Z&&$.line){let z=
|
|
1658
|
+
${$.message}`),Z&&$.line){let z=yq(Z,$.line,2);if(z)W.push(`
|
|
1659
1659
|
|
|
1660
1660
|
\x1B[90mContext:\x1B[0m
|
|
1661
1661
|
${z}`)}if($.suggestion)W.push(`
|
|
1662
1662
|
|
|
1663
1663
|
\x1B[33mSuggestion:\x1B[0m ${$.suggestion}`);return W.push(`
|
|
1664
|
-
${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501${"\x1B[0m"}`),W.join("")}function
|
|
1664
|
+
${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501${"\x1B[0m"}`),W.join("")}function Sq($,Z,Y){let X=$.split(`
|
|
1665
1665
|
`),Q=Math.max(0,Z-Y-1),J=Math.min(X.length-1,Z+Y-1),G=[];for(let K=Q;K<=J;K++){let q=(K+1).toString().padStart(4),W=K===Z-1?">":" ";G.push(`${W}${q} | ${X[K]}`)}return G.join(`
|
|
1666
|
-
`)}function
|
|
1666
|
+
`)}function yq($,Z,Y){let X=$.split(`
|
|
1667
1667
|
`),Q=Math.max(0,Z-Y-1),J=Math.min(X.length-1,Z+Y-1),G="\x1B[90m",K="\x1B[31m",q="\x1B[0m",W=[];for(let U=Q;U<=J;U++){let z=(U+1).toString().padStart(4),_=U===Z-1,B=_?"\x1B[31m>\x1B[0m":" ",j=_?`\x1B[31m${X[U]}\x1B[0m`:`\x1B[90m${X[U]}\x1B[0m`;W.push(`${B}\x1B[90m${z}\x1B[0m | ${j}`)}return W.join(`
|
|
1668
|
-
`)}function
|
|
1669
|
-
`);return{line:X.length,column:X[X.length-1].length}}function e($,Z,Y){return
|
|
1668
|
+
`)}function KZ($){return $.replace(/--/g,"- -").replace(/>/g,">")}function Pq($,Z){let X=$.substring(0,Z).split(`
|
|
1669
|
+
`);return{line:X.length,column:X[X.length-1].length}}function e($,Z,Y){return qZ({type:$,message:Z,code:Y,format:"html"}).formatted}async function H5($,Z,Y){try{return await $()}catch(X){if(Y&&X instanceof Error)Y(X);return Z}}var WZ=k(()=>{l$();o$()});class c7{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 X={timestamp:new Date,error:$,context:Z,level:Y};if(this.errors.push(X),this.errors.length>this.maxErrors)this.errors=this.errors.slice(-this.maxErrors);if(this.enableFileLogging&&this.shouldLog(Y))this.writeToFile(X)}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(`
|
|
1670
1670
|
`).slice(1).join(`
|
|
1671
1671
|
`)}`);if($.context)Z.push(` Context: ${JSON.stringify($.context)}`);return Z.join(`
|
|
1672
1672
|
`)}writeToFile($){this.writeQueue=this.writeQueue.then(async()=>{try{let Z=await import("fs"),X=(await import("path")).dirname(this.logFilePath);if(!Z.existsSync(X))Z.mkdirSync(X,{recursive:!0});await this.rotateIfNeeded(Z);let Q=`${this.formatEntry($)}
|
|
1673
1673
|
`;Z.appendFileSync(this.logFilePath,Q,"utf-8")}catch(Z){if(process.env.STX_DEBUG==="true")console.error("Failed to write to error log:",Z)}})}async rotateIfNeeded($){try{if(!$.existsSync(this.logFilePath))return;if($.statSync(this.logFilePath).size<this.maxFileSize)return;for(let Y=this.maxLogFiles-1;Y>=1;Y--){let X=`${this.logFilePath}.${Y}`,Q=`${this.logFilePath}.${Y+1}`;if($.existsSync(X))if(Y>=this.maxLogFiles-1)$.unlinkSync(X);else $.renameSync(X,Q)}if(this.maxLogFiles<=1)$.writeFileSync(this.logFilePath,"");else $.renameSync(this.logFilePath,`${this.logFilePath}.1`)}catch(Z){if(process.env.STX_DEBUG==="true")console.error("Failed to rotate error logs:",Z)}}getRecentErrors($=10){return this.errors.slice(-$)}getErrorsByType($){return this.errors.filter((Z)=>Z.error.constructor.name===$)}getErrorsByLevel($){return this.errors.filter((Z)=>Z.level===$)}clear(){this.errors.length=0}async clearLogFile(){try{let $=await import("fs");if($.existsSync(this.logFilePath))$.writeFileSync(this.logFilePath,"","utf-8")}catch($){if(process.env.STX_DEBUG==="true")console.error("Failed to clear error log:",$)}}getStats(){let $={},Z={error:0,warning:0,info:0};for(let Y of this.errors){let X=Y.error.constructor.name;$[X]=($[X]||0)+1;let Q=Y.level||"error";Z[Q]=(Z[Q]||0)+1}return{total:this.errors.length,byType:$,byLevel:Z}}async exportToFile($,Z="json"){let Y=await import("fs"),Q=(await import("path")).dirname($);if(!Y.existsSync(Q))Y.mkdirSync(Q,{recursive:!0});if(Z==="json"){let J=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(J,null,2),"utf-8")}else{let J=this.errors.map((G)=>this.formatEntry(G));Y.writeFileSync($,J.join(`
|
|
1674
1674
|
|
|
1675
|
-
`),"utf-8")}}async flush(){await this.writeQueue}}var
|
|
1676
|
-
@end${K}`;X.push(`Added ${U} missing @end${K}`)}}if(X.length>0&&Z.logRecoveryWarnings)console.warn("[stx] Auto-recovery applied fixes:"),X.forEach((K)=>console.warn(` - ${K}`)),console.warn(" Consider fixing these issues in your template.");return{fixed:Y,fixes:X}},createFallbackContent($,Z){if(
|
|
1677
|
-
`)}}});var WZ=()=>{};var UZ=k(()=>{d$();KZ();qZ();WZ();n$()});var U1=k(()=>{UZ()});function C0($,Z,Y,X=0){let Q=0,J=X,G=null,K=0,q=!1;while(J<$.length){let W=$[J];if(G&&q){q=!1,J++;continue}if(G&&W==="\\"){q=!0,J++;continue}if(q=!1,(W==='"'||W==="'"||W==="`")&&!G){G=W,J++;continue}if(W===G&&G!=="`"){G=null,J++;continue}if(G==="`"&&W==="$"&&$[J+1]==="{"){K++,J+=2;continue}if(K>0&&W==="}"){K--,J++;continue}if(W==="`"&&G==="`"&&K===0){G=null,J++;continue}if(G){J++;continue}if(W===Z)Q++;else if(W===Y){if(Q--,Q===0)return J}J++}return-1}function R1($,Z){let Y=Sq($,Z);return Y.ok?{expression:Y.expression,endPos:Y.endPos}:null}function Sq($,Z){let Y=Z;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Y};let X=C0($,"(",")",Y);if(X===-1)return{ok:!1,reason:"unclosed-paren",pos:Y};return{ok:!0,expression:$.slice(Y+1,X),endPos:X+1}}function yq($,Z){let Y=$.lastIndexOf("<",Z);if(Y===-1)return!1;return Y>$.lastIndexOf(">",Z)}function l1($,Z,Y,X){let Q=1,J=X,G=new RegExp(`@${Z}\\s*\\(`,"g"),K=new RegExp(`@${Y}(?![a-z])`,"g");while(J<$.length&&Q>0){G.lastIndex=J,K.lastIndex=J;let q=G.exec($),W=K.exec($),U=q?q.index:1/0,z=W?W.index:1/0;if(U<z)Q++,J=U+q[0].length;else if(z<1/0){if(Q--,Q===0)return z;J=z+W[0].length}else break}return-1}function zZ($,Z){let Y=$.slice(Z).match(/^@if\s*/);if(!Y)return null;let X=Z+Y[0].length,Q=R1($,X);if(!Q)return null;let J=Q.endPos,G=l1($,"if","endif",J);if(G===-1)return null;let K=$.slice(J,G),q=[],W=0,U="if",z=Q.expression,_=0,B=0;while(W<K.length){let j=K.indexOf("@",W);if(j===-1)break;W=j;let H=K.substring(j);if(yq(K,j)){W++;continue}if(/^@if\s*\(/.test(H)){B++,W++;continue}if(/^@endif(?![a-z])/.test(H)){B--,W+=6;continue}if(B===0){let L=H.match(/^@elseif\s*/);if(L){q.push({type:U,condition:z,content:K.substring(_,W),start:J+_,end:J+W});let F=W+L[0].length,O=R1(K,F);if(!O){W++;continue}U="elseif",z=O.expression,W=O.endPos,_=W;continue}else if(/^@else(?![a-z])/.test(H)){q.push({type:U,condition:z,content:K.substring(_,W),start:J+_,end:J+W}),U="else",z=void 0,W+=5,_=W;continue}}W++}return q.push({type:U,condition:z,content:K.slice(_),start:J+_,end:J+K.length}),{fullMatch:$.slice(Z,G+6),branches:q,start:Z,end:G+6}}function X$($){let Z=[],Y=/@if\s*\(/g,X=Y.exec($);while(X!==null){if(Z.some((G)=>X.index>G.start&&X.index<G.end)){X=Y.exec($);continue}let J=zZ($,X.index);if(J)Z.push(J),Y.lastIndex=J.end;X=Y.exec($)}return Z}function s$($,Z,Y){let X=[],Q=new RegExp(`@${Z}\\s*\\(`,"g"),J=Q.exec($);while(J!==null){if(X.some((H)=>J.index>H.start&&J.index<H.end)){J=Q.exec($);continue}let K=J.index,q=K+J[0].length-1,W=C0($,"(",")",q);if(W===-1){J=Q.exec($);continue}let U=$.slice(q+1,W),z=W+1,_=l1($,Z,Y,z);if(_===-1){J=Q.exec($);continue}let B=$.slice(z,_),j=_+`@${Y}`.length;X.push({fullMatch:$.slice(K,j),name:Z,params:U,content:B,start:K,end:j}),Q.lastIndex=j,J=Q.exec($)}return X}function p7($,Z){let Y=$.slice(Z).match(/^@switch\s*/);if(!Y)return null;let X=Z+Y[0].length,Q=R1($,X);if(!Q)return null;let J=Q.endPos,G=l1($,"switch","endswitch",J);if(G===-1)return null;let K=$.slice(J,G),q=[],W=0,U=null,z=0;while(W<K.length){let _=K.slice(W),B=_.match(/^@switch\s*\(/),j=_.match(/^@endswitch(?![a-z])/);if(B){if(z++,U)U.content+=B[0];W+=B[0].length;continue}if(j){if(z--,U)U.content+=j[0];W+=j[0].length;continue}if(z>0){if(U)U.content+=K[W];W++;continue}let H=_.match(/^@case\s*/),L=_.match(/^@default(?![a-z])/),F=_.match(/^@break(?![a-z])/);if(H&&_.startsWith("@case")){if(U)q.push(U);let O=W+H[0].length,V=R1(K,O);if(!V){W++;continue}U={type:"case",value:V.expression,content:""},W=V.endPos}else if(L&&_.startsWith("@default")){if(U)q.push(U);U={type:"default",content:""},W+=L[0].length}else if(F&&_.startsWith("@break"))W+=F[0].length;else{if(U)U.content+=K[W];W++}}if(U)q.push(U);return{fullMatch:$.slice(Z,G+10),expression:Q.expression,cases:q,start:Z,end:G+10}}var _Z=()=>{};var BZ=()=>{};var o$=k(()=>{_Z();BZ()});function xq($,Z,Y){let X=$,Q=!0;while(Q){Q=!1;let J=X.match(/@switch\s*\(/);if(!J||J.index===void 0)break;let G=J.index,K=p7(X,G);if(!K)break;try{let q;if(G0(K.expression))q=K0(K.expression,Object.keys(Z))(...Object.values(Z));else q=Z0(K.expression,Z);let W="",U=!1;for(let z of K.cases)if(z.type==="default"){if(!U)W=z.content.trim()}else try{let _;if(z.value&&G0(z.value))_=K0(z.value,Object.keys(Z))(...Object.values(Z));else if(z.value)_=Z0(z.value,Z);if(q===_){W=z.content.trim(),U=!0;break}}catch{continue}X=X.substring(0,G)+W+X.substring(K.end),Q=!0}catch(q){let W=q instanceof Error?q.message:String(q),U=e("Switch",`Error evaluating @switch expression: ${W}`,o.EVALUATION_ERROR);X=X.substring(0,G)+U+X.substring(K.end);break}}return X}function c1($,Z,Y){let X=$;X=xq(X,Z,Y);{let J=!0;while(J){J=!1;let G=X.match(/@unless\s*\(/);if(!G||G.index===void 0)break;let K=G.index,q=R1(X,K+7);if(!q)break;let W=q.endPos,U=l1(X,"unless","endunless",W);if(U===-1){console.warn(`[stx] @unless directive at position ${K} has no matching @endunless \u2014 the block was skipped. Check for typos or missing closers.`);break}let z=X.slice(W,U),_=q.expression,B=-1;{let H=0,L=/@(?:if|unless)\s*\(/g,F=/@(?:endif|endunless)(?![a-z])/g,O=/@else(?![a-z])/g,V=[],w;while((w=L.exec(z))!==null)V.push({pos:w.index,type:"open"});while((w=F.exec(z))!==null)V.push({pos:w.index,type:"close"});while((w=O.exec(z))!==null)V.push({pos:w.index,type:"else"});V.sort((A,M)=>A.pos-M.pos);for(let A of V)if(A.type==="open")H++;else if(A.type==="close")H--;else if(A.type==="else"&&H===0){B=A.pos;break}}let j;if(B!==-1){let H=z.slice(0,B),L=z.slice(B+5);j=`@if (${_})${L}@else ${H}@endif`}else j=`@if (!(${_}))${z}@endif`;X=X.substring(0,K)+j+X.substring(U+10),J=!0}}X=n7(X,Z,Y),X=s7(X,Z,Y),X=i7(X,Z);let Q=()=>{let J=X$(X);if(J.length===0)return!1;for(let G=J.length-1;G>=0;G--){let K=J[G];try{let q="",W=!1;for(let U of K.branches){if(W)break;if(U.type==="else")q=U.content,W=!0;else try{let z;if(U.condition&&G0(U.condition))z=K0(U.condition,Object.keys(Z))(...Object.values(Z));else if(U.condition)z=Z0(U.condition,Z);if(z)q=U.content,W=!0}catch(z){q=e(U.type==="if"?"If":"Elseif",`Error in @${U.type}(${U.condition}): ${z instanceof Error?z.message:String(z)}`,o.EVALUATION_ERROR),W=!0}}X=X.substring(0,K.start)+q+X.substring(K.end)}catch(q){let W=q instanceof Error?q.message:String(q),U=e("If",`Error processing @if block: ${W}`,o.EVALUATION_ERROR);X=X.substring(0,K.start)+U+X.substring(K.end)}}return!0};while(!0){let J=X;if(!Q())break;if(X===J)break}return X}function jZ($){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 X=[];while(Z<$.length){let Q=$[Z];if(Q==="\\"&&Z+1<$.length){X.push($[Z+1]),Z+=2;continue}if(Q===Y){Z++;break}X.push(Q),Z++}while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!==")")return null;return Z++,{value:X.join(""),consumed:Z}}function i7($,Z){let Y=$;function X(K,q,W,U){let z=1,_=U,B=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),j=new RegExp(`@${W}(?![a-z])`,"g");while(_<K.length&&z>0){B.lastIndex=_,j.lastIndex=_;let H=B.exec(K),L=j.exec(K),F=H?H.index:1/0,O=L?L.index:1/0;if(F<O)z++,_=F+H[0].length;else if(O<1/0){if(z--,z===0)return O;_=O+L[0].length}else break}return-1}function Q(K,q,W){let U=0,z=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),_=new RegExp(`@${W}(?![a-z])`,"g"),B=/@else(?![a-z])/g,j=[],H;while((H=z.exec(K))!==null)j.push({pos:H.index,type:"open"});while((H=_.exec(K))!==null)j.push({pos:H.index,type:"close"});while((H=B.exec(K))!==null)j.push({pos:H.index,type:"else"});j.sort((L,F)=>L.pos-F.pos);for(let L of j)if(L.type==="open")U++;else if(L.type==="close")U--;else if(L.type==="else"&&U===0)return L.pos;return-1}{let K=!0;while(K){K=!1;let q=Y.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let W=q.index,U,z,_=Y.slice(W+5),B=jZ(_);if(B)U=B.value,z=W+5+B.consumed;else z=W+5;let j=X(Y,"auth","endauth",z);if(j===-1){console.warn(`[stx] @auth directive at position ${W} has no matching @endauth \u2014 the block was skipped.`);break}let H=Y.slice(z,j),L=Q(H,"auth","endauth"),F;if(!Z.auth)F=!1;else F=U?A1(`auth?.check && auth?.user?.[${U}]`,Z):A1("auth?.check",Z);let O;if(L!==-1){let V=H.slice(0,L),w=H.slice(L+5);O=F?V:w}else O=F?H:"";Y=Y.substring(0,W)+O+Y.substring(j+8),K=!0}}{let K=!0;while(K){K=!1;let q=Y.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let W=q.index,U,z,_=Y.slice(W+6),B=jZ(_);if(B)U=B.value,z=W+6+B.consumed;else z=W+6;let j=X(Y,"guest","endguest",z);if(j===-1){console.warn(`[stx] @guest directive at position ${W} has no matching @endguest \u2014 the block was skipped.`);break}let H=Y.slice(z,j),L=Q(H,"guest","endguest"),F;if(!Z.auth)F=!0;else F=U?A1(`!auth?.check || !auth?.user?.[${U}]`,Z):A1("!auth?.check",Z);let O;if(L!==-1){let V=H.slice(0,L),w=H.slice(L+5);O=F?V:w}else O=F?H:"";Y=Y.substring(0,W)+O+Y.substring(j+9),K=!0}}function J(K,q,W){if(Z.userCan&&typeof Z.userCan[K]==="boolean")return Z.userCan[K];if(Z.permissions?.check&&typeof Z.permissions.check==="function")try{let U=[K];if(q)U.push(q);if(W){let z=A1(W,Z);U.push(z)}return Z.permissions.check(...U)}catch{return!1}return!1}function G(K){let q=K.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!q)return null;return{ability:q[1],type:q[2],id:q[3]?.trim(),paramsEnd:q[0].length}}for(let K of["can","cannot"]){let q=`end${K}`,W=K==="can"?"elsecan":"elsecannot",U=!0;while(U){U=!1;let z=Y.match(new RegExp(`@${K}\\s*\\(`));if(!z||z.index===void 0)break;let _=z.index,B=Y.slice(_+`@${K}`.length),j=G(B);if(!j)break;let H=_+`@${K}`.length+j.paramsEnd,L=X(Y,K,q,H);if(L===-1){console.warn(`[stx] @${K} directive at position ${_} has no matching @${q} \u2014 the block was skipped.`);break}let F=Y.slice(H,L),O=[],V=0,w=new RegExp(`@${K}\\s*\\(`,"g"),A=new RegExp(`@${q}(?![a-z])`,"g"),M=new RegExp(`@${W}\\s*\\(`,"g"),R=/@else(?![a-z])/g,N=[],T;while((T=w.exec(F))!==null)N.push({pos:T.index,type:"open"});while((T=A.exec(F))!==null)N.push({pos:T.index,type:"close"});while((T=M.exec(F))!==null)N.push({pos:T.index,type:"elseDirective"});while((T=R.exec(F))!==null)N.push({pos:T.index,type:"else"});N.sort((b,v)=>b.pos-v.pos);for(let b of N){if(b.type==="open"){V++;continue}if(b.type==="close"){V--;continue}if(V===0)O.push(b)}let I=[],D=0;for(let b=0;b<O.length;b++){let v=O[b];if(I.push({content:F.slice(D,v.pos),ability:void 0}),v.type==="elseDirective"){let h=F.slice(v.pos+`@${W}`.length),f=G(h);if(f){I[I.length-1]={content:F.slice(D,v.pos)},D=v.pos+`@${W}`.length+f.paramsEnd,I.push({content:"",ability:f.ability,type:f.type,id:f.id}),I.pop();let m=O[b+1],r=m?m.pos:F.length;I.push({content:F.slice(D,r),ability:f.ability,type:f.type,id:f.id}),D=r}}else D=v.pos+5}if(D<F.length){let b=I[I.length-1];if(O.length>0&&O[O.length-1].type==="else")I.push({content:F.slice(D),isFinalElse:!0});else if(I.length===0)I.push({content:F.slice(D)})}let E=J(j.ability,j.type,j.id),y=K==="can"?E:!E,S="";if(y)S=I[0]?.content||"";else{let b=!1;for(let v=1;v<I.length;v++){let h=I[v];if(h.isFinalElse){S=h.content,b=!0;break}if(h.ability){let f=J(h.ability,h.type,h.id);if(K==="can"?f:!f){S=h.content,b=!0;break}}}if(!b&&I.length>0){let v=I[I.length-1];if(v.isFinalElse)S=v.content}}Y=Y.substring(0,_)+S+Y.substring(L+`@${q}`.length),U=!0}}return Y}function n7($,Z,Y){let X=$;function Q(J,G,K,q,W){let U=!0;while(U){U=!1;let z=new RegExp(`@${G}\\s*\\(`),_=J.match(z);if(!_||_.index===void 0)break;let B=_.index,j=R1(J,B+`@${G}`.length);if(!j)break;let H=j.endPos,L=l1(J,G,K,H);if(L===-1){console.warn(`[stx] @${G} directive at position ${B} has no matching @${K} \u2014 the block was skipped.`);break}let F=J.slice(H,L),O=j.expression,V=-1,w=0,A=0;while(A<F.length){let M=F.indexOf("@",A);if(M===-1)break;let R=F.substring(M);if(/^@(?:if|unless|isset|empty)\s*\(/.test(R)){w++,A=M+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(R)){w--,A=M+1;continue}if(w===0&&/^@else(?![a-z])/.test(R)){V=M;break}A=M+1}try{let M=q(O.trim()),R;if(V!==-1){let N=F.slice(0,V),T=F.slice(V+5);R=M?N:T}else R=M?F:"";J=J.substring(0,B)+R+J.substring(L+`@${K}`.length),U=!0}catch(M){let R=M instanceof Error?M.message:String(M),N=e(W,`Error processing @${G} directive: ${R}`,o.EVALUATION_ERROR);J=J.substring(0,B)+N+J.substring(L+`@${K}`.length);break}}return J}return X=Q(X,"isset","endisset",(J)=>{let G=A1(J,Z);return G!==void 0&&G!==null},"Isset"),X=Q(X,"empty","endempty",(J)=>{let G=A1(J,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"),X}function s7($,Z,Y){let X=$,Q="development";function J(G,K,q,W){let U=new RegExp(`@${K}(?![a-z])`,"g"),z=new RegExp(`@${q}(?![a-z])`,"g"),_=new RegExp(`^@${K}(?![a-z])`),B=new RegExp(`^@${q}(?![a-z])`),j=G,H=!0;while(H){H=!1,U.lastIndex=0;let L=U.exec(j);if(!L)break;let F=L.index,O=F+L[0].length;if(K==="env"){let E=j.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!E)break;O+=E[0].length,W=Q===E[2]}let V=1,w=O,A=-1;while(V>0&&w<j.length){U.lastIndex=w,z.lastIndex=w;let E=U.exec(j),y=z.exec(j),S=E?E.index:1/0,b=y?y.index:1/0;if(S<b)V++,w=S+E[0].length;else if(b<1/0){if(V--,V===0){A=b;break}w=b+y[0].length}else break}if(A===-1){console.warn(`[stx] @${K} directive at position ${F} has no matching @${q} \u2014 the block was skipped.`);break}let M=j.substring(O,A),R=-1,N=0,T=0;while(T<M.length){let E=M.indexOf("@",T);if(E===-1)break;let y=M.substring(E);if(_.test(y)){N++,T=E+1;continue}if(B.test(y)){N--,T=E+1;continue}if(N===0&&/^@else(?![a-z])/.test(y)){R=E;break}T=E+1}let I;if(R!==-1){let E=M.slice(0,R),y=M.slice(R+5);I=W?E:y}else I=W?M:"";let D=`@${q}`.length;j=j.substring(0,F)+I+j.substring(A+D),H=!0}return j}return X=J(X,"env","endenv",!1),X=J(X,"production","endproduction",Q==="production"),X=J(X,"development","enddevelopment",Q==="development"),X=J(X,"staging","endstaging",Q==="staging"),X=J(X,"testing","endtesting",Q==="testing"),X}var r$=k(()=>{JZ();U1();o$();H0()});function OZ($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function a$($,Z){if(!$)return Z?.nonceGenerator?.()??OZ();let Y=HZ.get($);if(!Y)Y=Z?.nonceGenerator?.()??OZ(),HZ.set($,Y);return Y}function fq($,Z){let Y=[];for(let[X,Q]of Object.entries($)){if(Q===void 0||Q===null)continue;if(typeof Q==="boolean"){if(Q)Y.push(X);continue}if(Array.isArray(Q)){let J=[...Q];if(Z&&(X==="script-src"||X==="style-src"))J=J.filter((G)=>!G.startsWith("'nonce-")),J.push(`'nonce-${Z}'`);if(J.length>0)Y.push(`${X} ${J.join(" ")}`)}}return Y.join("; ")}function LZ($,Z){return`<meta http-equiv="Content-Security-Policy" content="${fq($,Z).replace(/&/g,"&").replace(/"/g,""")}">`}function FZ($,Z,Y){if(!Z.enabled||!Z.addMetaTag)return $;if($.includes('http-equiv="Content-Security-Policy"'))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let X=Z.useNonce?a$(Y,Z):void 0,Q=LZ(Z.directives,X);return $.replace(/<head([^>]*)>/,`<head$1>
|
|
1678
|
-
${Q}`)}function VZ($,Z){let Y=$;return Y=Y.replace(/<script(?![^>]*\ssrc=)([^>]*)>/gi,(X,Q)=>{if(Q.includes("nonce="))return X;return`<script nonce="${Z}"${Q}>`}),Y=Y.replace(/<style([^>]*)>/gi,(X,Q)=>{if(Q.includes("nonce="))return X;return`<style nonce="${Z}"${Q}>`}),Y}function wZ($,Z,Y,X){let Q=$,J=X.csp;if(Q=Q.replace(/@csp\b/g,()=>{if(!J?.enabled||!J.directives)return"<!-- CSP not configured -->";let G=J.useNonce?a$(Z,J):void 0;return LZ(J.directives,G)}),Q=Q.replace(/@cspNonce\b/g,()=>{if(!J?.enabled||!J.useNonce)return"";return a$(Z,J)}),J?.enabled&&J.useNonce)Z.cspNonce=a$(Z,J);return Q}var HZ;var AZ=k(()=>{HZ=new WeakMap});import gq from"crypto";function uq($=hq){let Z=gq.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return o7=Z,Z}function dq(){if(!o7)uq();return o7}function mq($=RZ){let Z=dq();return`<input type="hidden" name="${$}" value="${Z}">`}function MZ($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(Z,Y,X)=>{return mq(X||RZ)})}var hq=40,RZ="_token",o7=null;var NZ=()=>{};async function TZ($,Z,Y,X){if(!X.customDirectives||X.customDirectives.length===0)return $;let Q=$;for(let J of X.customDirectives){if(!J.name||typeof J.handler!=="function"){if(X.debug)console.warn("Invalid custom directive:",J);continue}if(J.hasEndTag)Q=await lq(Q,J,Z,Y,X);else Q=await cq(Q,J,Z,Y,X)}return Q}async function lq($,Z,Y,X,Q){let{name:J,handler:G}=Z,K=`@${J}`,q=`@end${J}`,W=$,U=z5(`${K}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${q}`,"g"),z=[],_=U.exec(W);while(_!==null){let[B,j="",H=""]=_,L=_.index||0;try{let F=j?IZ(j):[],O=H.trim(),V=await G(O,F,Y,X);z.push({original:B,processed:V,startIndex:L})}catch(F){let O=F instanceof Error?F.message:String(F);if(Q.debug)console.error(`Error processing custom directive @${J}:`,F);z.push({original:B,processed:e("CustomDirective",`Error in @${J}${j?`(${j})`:""}: ${O}`,o.EVALUATION_ERROR),startIndex:L})}_=U.exec(W)}for(let B=z.length-1;B>=0;B--){let{original:j,processed:H}=z[B];W=W.replace(j,H)}return W}async function cq($,Z,Y,X,Q){let{name:J,handler:G}=Z,K=$,q=z5(`@${J}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),W=[],U=q.exec(K);while(U!==null){let[B,j=""]=U,H=U.index||0;try{let L=IZ(j),F=await G("",L,Y,X);W.push({original:B,processed:F,startIndex:H})}catch(L){let F=L instanceof Error?L.message:String(L);if(Q.debug)console.error(`Error processing custom directive @${J}:`,L);W.push({original:B,processed:e("CustomDirective",`Error in @${J}(${j}): ${F}`,o.EVALUATION_ERROR),startIndex:H})}U=q.exec(K)}let z=z5(`@${J}(?!\\w)(?!\\s*\\()`,"g"),_=z.exec(K);while(_!==null){let[B]=_,j=_.index||0;try{let H=await G("",[],Y,X);W.push({original:B,processed:H,startIndex:j})}catch(H){let L=H instanceof Error?H.message:String(H);if(Q.debug)console.error(`Error processing custom directive @${J}:`,H);W.push({original:B,processed:e("CustomDirective",`Error in @${J}: ${L}`,o.EVALUATION_ERROR),startIndex:j})}_=z.exec(K)}for(let B=W.length-1;B>=0;B--){let{original:j,processed:H}=W[B];K=K.replace(j,H)}return K}function IZ($){if(!$.trim())return[];let Z=[],Y="",X=!1,Q="";for(let J=0;J<$.length;J++){let G=$[J];if((G==='"'||G==="'")&&(J===0||$[J-1]!=="\\"))if(!X)X=!0,Q=G;else if(G===Q)X=!1;else Y+=G;else if(G===","&&!X)Z.push(Y.trim()),Y="";else Y+=G}if(Y.trim())Z.push(Y.trim());return Z.map((J)=>{let G=J.trim();if(G.startsWith('"')&&G.endsWith('"')||G.startsWith("'")&&G.endsWith("'"))return G.substring(1,G.length-1);return G})}var EZ=k(()=>{U1();_5()});function p1($,Z){if(typeof $!=="string"||$.length===0)throw Error(`@appearanceBootstrap ${Z} must be a non-empty string`)}function iq($){if(!$||typeof $!=="object"||Array.isArray($))throw Error("@appearanceBootstrap expects an options object");let Z=$,Y=Z.appearance,X=Z.colorMode;if(p1(Z.storageKey,"storageKey"),!Y||typeof Y!=="object"||Array.isArray(Y))throw Error("@appearanceBootstrap appearance must be an object");if(!X||typeof X!=="object"||Array.isArray(X))throw Error("@appearanceBootstrap colorMode must be an object");if(p1(Y.key,"appearance.key"),p1(Y.attribute,"appearance.attribute"),p1(Y.default,"appearance.default"),p1(X.key,"colorMode.key"),p1(X.attribute,"colorMode.attribute"),p1(X.default,"colorMode.default"),!kZ.test(Y.key)||!kZ.test(X.key))throw Error("@appearanceBootstrap preference keys must be JavaScript property names");if(!DZ.test(Y.attribute)||!DZ.test(X.attribute))throw Error("@appearanceBootstrap attributes must be lowercase data attribute names");if(!Array.isArray(Y.allowed)||Y.allowed.length===0||Y.allowed.some((Q)=>typeof Q!=="string"||Q.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(!pq.has(X.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:X.key,attribute:X.attribute,default:X.default}}}function nq($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function sq($){return`<script data-stx-scoped data-stx-appearance-bootstrap>(function(){"use strict";const config=${nq($)};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 oq($,Z){let Y=1,X=null,Q=!1;for(let J=Z+1;J<$.length;J++){let G=$[J];if(Q){Q=!1;continue}if(X){if(G==="\\")Q=!0;else if(G===X)X=null;continue}if(G==='"'||G==="'"||G==="`"){X=G;continue}if(G==="(")Y++;else if(G===")"&&--Y===0)return J}return-1}function bZ($,Z){let Y=$,X=/@appearanceBootstrap\s*\(/g,Q;while((Q=X.exec(Y))!==null){let J=Q.index+Q[0].length-1,G=oq(Y,J);if(G===-1)throw Error("@appearanceBootstrap has an unclosed options object");let K=Y.slice(J+1,G).trim(),q=Z0(`(${K})`,Z),W=sq(iq(q));Y=Y.slice(0,Q.index)+W+Y.slice(G+1),X.lastIndex=Q.index+W.length}return Y}var DZ,kZ,pq;var SZ=k(()=>{H0();DZ=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,kZ=/^[A-Za-z_$][\w$]*$/,pq=new Set(["light","dark","system"])});var t7={};t(t7,{useTitle:()=>$W,useSeoMeta:()=>yZ,usePageTitle:()=>$W,useHead:()=>a7,seoMetaToHeadConfig:()=>e$,resetHead:()=>tq,renderHtmlAttrs:()=>YW,renderHead:()=>ZW,renderBodyAttrs:()=>XW,processTitleDirective:()=>GW,processMetaDirective:()=>KW,processHeadDirective:()=>QW,mergeHeadConfigs:()=>H5,getPageMeta:()=>aq,getHead:()=>r7,definePageMeta:()=>eq,applyHead:()=>JW});function r7(){return M1}function aq(){return t$}function tq(){M1={},rq.length=0,t$={}}function a7($){M1=H5(M1,$)}function H5($,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 yZ($){a7(e$($))}function e$($){let Z=[];if($.description)Z.push({name:"description",content:$.description});if($.keywords){let q=Array.isArray($.keywords)?$.keywords.join(", "):$.keywords;Z.push({name:"keywords",content:q})}if($.author)Z.push({name:"author",content:$.author});if($.robots)Z.push({name:"robots",content:$.robots});let Y=$.ogTitle??$.title,X=$.ogDescription??$.description;if(Y)Z.push({property:"og:title",content:Y});if(X)Z.push({property:"og:description",content:X});if($.ogImage)Z.push({property:"og:image",content:$.ogImage});if($.ogUrl)Z.push({property:"og:url",content:$.ogUrl});if($.ogType)Z.push({property:"og:type",content:$.ogType});if($.ogSiteName)Z.push({property:"og:site_name",content:$.ogSiteName});if($.ogLocale)Z.push({property:"og:locale",content:$.ogLocale});let Q=$.twitterTitle??$.title,J=$.twitterDescription??$.description,G=$.twitterImage??$.ogImage;if($.twitterCard)Z.push({name:"twitter:card",content:$.twitterCard});if(Q)Z.push({name:"twitter:title",content:Q});if(J)Z.push({name:"twitter:description",content:J});if(G)Z.push({name:"twitter:image",content:G});if($.twitterSite)Z.push({name:"twitter:site",content:$.twitterSite});if($.twitterCreator)Z.push({name:"twitter:creator",content:$.twitterCreator});if($.articleAuthor)Z.push({property:"article:author",content:$.articleAuthor});if($.articlePublishedTime)Z.push({property:"article:published_time",content:$.articlePublishedTime});if($.articleModifiedTime)Z.push({property:"article:modified_time",content:$.articleModifiedTime});if($.articleSection)Z.push({property:"article:section",content:$.articleSection});if($.articleTags)for(let q of $.articleTags)Z.push({property:"article:tag",content:q});let K=[];if($.canonical)K.push({rel:"canonical",href:$.canonical});return{title:$.title,titleTemplate:$.titleTemplate,meta:Z,link:K}}function eq($){if(t$={...t$,...$},$.title||$.description)yZ({title:$.title,description:$.description})}function $W($){let Z=typeof $==="function"?$():$;a7({title:Z})}function ZW($=M1){let Z=[];if($.title){let Y=$.title;if($.titleTemplate)Y=typeof $.titleTemplate==="function"?$.titleTemplate(Y):$.titleTemplate.replace("%s",Y);Z.push(`<title>${i1(Y)}</title>`)}if($.base){let Y=Object.entries($.base).map(([X,Q])=>`${X}="${i1(Q)}"`).join(" ");Z.push(`<base ${Y}>`)}for(let Y of $.meta||[]){let X=Object.entries(Y).filter(([Q,J])=>J!==void 0).map(([Q,J])=>{return`${Q==="httpEquiv"?"http-equiv":Q}="${i1(String(J))}"`}).join(" ");Z.push(`<meta ${X}>`)}for(let Y of $.link||[]){let X=Object.entries(Y).filter(([Q,J])=>J!==void 0).map(([Q,J])=>`${Q}="${i1(String(J))}"`).join(" ");Z.push(`<link ${X}>`)}for(let Y of $.script||[]){let{content:X,...Q}=Y,J=Object.entries(Q).filter(([G,K])=>K!==void 0).map(([G,K])=>{if(typeof K==="boolean")return K?G:"";return`${G}="${i1(String(K))}"`}).filter(Boolean).join(" ");if(X)Z.push(`<script ${J}>${X}</script>`);else Z.push(`<script ${J}></script>`)}for(let Y of $.style||[]){let X=Y.type?` type="${Y.type}"`:"";Z.push(`<style${X}>${Y.content}</style>`)}return Z.join(`
|
|
1679
|
-
`)}function
|
|
1680
|
-
`,""}),headContent:Z.trim()}}function
|
|
1681
|
-
${
|
|
1682
|
-
${
|
|
1683
|
-
`),X=[{obj:Z,indent:-1}];for(let Q of Y){let J=Q.replace(/#.*$/,"").trimEnd();if(!J.trim())continue;let G=J.search(/\S/);if(G===-1)continue;while(X.length>1&&X[X.length-1].indent>=G)X.pop();let K=X[X.length-1].obj,q=J.match(/^(\s*)(\S[^:]*):\s*(.*)$/);if(q){let[,,W,U]=q,z=W.trim(),_=U.trim();if(_==="")K[z]={},X.push({obj:K[z],indent:G});else K[z]=
|
|
1675
|
+
`),"utf-8")}}async flush(){await this.writeQueue}}var l7,$1,p7;var UZ=k(()=>{o$();l7={isEnabled(){return p$().enableAutoRecovery},fixCommonSyntaxErrors($){let Z=p$();if(!Z.enableAutoRecovery)return{fixed:$,fixes:[]};let Y=$,X=[],Q=(Y.match(/\{\{/g)||[]).length,J=(Y.match(/\}\}/g)||[]).length;if(Q>J){let K=Q-J;Y+="}}".repeat(K),X.push(`Added ${K} missing closing braces '}}'`)}let G=["if","foreach","for","switch","section"];for(let K of G){let q=(Y.match(new RegExp(`@${K}\\b`,"g"))||[]).length,W=(Y.match(new RegExp(`@end${K}\\b`,"g"))||[]).length;if(q>W){let U=q-W;for(let z=0;z<U;z++)Y+=`
|
|
1676
|
+
@end${K}`;X.push(`Added ${U} missing @end${K}`)}}if(X.length>0&&Z.logRecoveryWarnings)console.warn("[stx] Auto-recovery applied fixes:"),X.forEach((K)=>console.warn(` - ${K}`)),console.warn(" Consider fixing these issues in your template.");return{fixed:Y,fixes:X}},createFallbackContent($,Z){if(X$())return`<!-- ${$} failed: ${Z.message} -->`;return"<!-- stx rendering error -->"}};$1=new c7,p7={isDevelopment(){return X$()},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(`
|
|
1677
|
+
`)}}});var zZ=()=>{};var _Z=k(()=>{l$();WZ();UZ();zZ();o$()});var z1=k(()=>{_Z()});function C0($,Z,Y,X=0){let Q=0,J=X,G=null,K=0,q=!1;while(J<$.length){let W=$[J];if(G&&q){q=!1,J++;continue}if(G&&W==="\\"){q=!0,J++;continue}if(q=!1,(W==='"'||W==="'"||W==="`")&&!G){G=W,J++;continue}if(W===G&&G!=="`"){G=null,J++;continue}if(G==="`"&&W==="$"&&$[J+1]==="{"){K++,J+=2;continue}if(K>0&&W==="}"){K--,J++;continue}if(W==="`"&&G==="`"&&K===0){G=null,J++;continue}if(G){J++;continue}if(W===Z)Q++;else if(W===Y){if(Q--,Q===0)return J}J++}return-1}function M1($,Z){let Y=Cq($,Z);return Y.ok?{expression:Y.expression,endPos:Y.endPos}:null}function Cq($,Z){let Y=Z;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Y};let X=C0($,"(",")",Y);if(X===-1)return{ok:!1,reason:"unclosed-paren",pos:Y};return{ok:!0,expression:$.slice(Y+1,X),endPos:X+1}}function vq($,Z){let Y=$.lastIndexOf("<",Z);if(Y===-1)return!1;return Y>$.lastIndexOf(">",Z)}function c1($,Z,Y,X){let Q=1,J=X,G=new RegExp(`@${Z}\\s*\\(`,"g"),K=new RegExp(`@${Y}(?![a-z])`,"g");while(J<$.length&&Q>0){G.lastIndex=J,K.lastIndex=J;let q=G.exec($),W=K.exec($),U=q?q.index:1/0,z=W?W.index:1/0;if(U<z)Q++,J=U+q[0].length;else if(z<1/0){if(Q--,Q===0)return z;J=z+W[0].length}else break}return-1}function BZ($,Z){let Y=$.slice(Z).match(/^@if\s*/);if(!Y)return null;let X=Z+Y[0].length,Q=M1($,X);if(!Q)return null;let J=Q.endPos,G=c1($,"if","endif",J);if(G===-1)return null;let K=$.slice(J,G),q=[],W=0,U="if",z=Q.expression,_=0,B=0;while(W<K.length){let j=K.indexOf("@",W);if(j===-1)break;W=j;let H=K.substring(j);if(vq(K,j)){W++;continue}if(/^@if\s*\(/.test(H)){B++,W++;continue}if(/^@endif(?![a-z])/.test(H)){B--,W+=6;continue}if(B===0){let L=H.match(/^@elseif\s*/);if(L){q.push({type:U,condition:z,content:K.substring(_,W),start:J+_,end:J+W});let F=W+L[0].length,O=M1(K,F);if(!O){W++;continue}U="elseif",z=O.expression,W=O.endPos,_=W;continue}else if(/^@else(?![a-z])/.test(H)){q.push({type:U,condition:z,content:K.substring(_,W),start:J+_,end:J+W}),U="else",z=void 0,W+=5,_=W;continue}}W++}return q.push({type:U,condition:z,content:K.slice(_),start:J+_,end:J+K.length}),{fullMatch:$.slice(Z,G+6),branches:q,start:Z,end:G+6}}function J$($){let Z=[],Y=/@if\s*\(/g,X=Y.exec($);while(X!==null){if(Z.some((G)=>X.index>G.start&&X.index<G.end)){X=Y.exec($);continue}let J=BZ($,X.index);if(J)Z.push(J),Y.lastIndex=J.end;X=Y.exec($)}return Z}function r$($,Z,Y){let X=[],Q=new RegExp(`@${Z}\\s*\\(`,"g"),J=Q.exec($);while(J!==null){if(X.some((H)=>J.index>H.start&&J.index<H.end)){J=Q.exec($);continue}let K=J.index,q=K+J[0].length-1,W=C0($,"(",")",q);if(W===-1){J=Q.exec($);continue}let U=$.slice(q+1,W),z=W+1,_=c1($,Z,Y,z);if(_===-1){J=Q.exec($);continue}let B=$.slice(z,_),j=_+`@${Y}`.length;X.push({fullMatch:$.slice(K,j),name:Z,params:U,content:B,start:K,end:j}),Q.lastIndex=j,J=Q.exec($)}return X}function i7($,Z){let Y=$.slice(Z).match(/^@switch\s*/);if(!Y)return null;let X=Z+Y[0].length,Q=M1($,X);if(!Q)return null;let J=Q.endPos,G=c1($,"switch","endswitch",J);if(G===-1)return null;let K=$.slice(J,G),q=[],W=0,U=null,z=0;while(W<K.length){let _=K.slice(W),B=_.match(/^@switch\s*\(/),j=_.match(/^@endswitch(?![a-z])/);if(B){if(z++,U)U.content+=B[0];W+=B[0].length;continue}if(j){if(z--,U)U.content+=j[0];W+=j[0].length;continue}if(z>0){if(U)U.content+=K[W];W++;continue}let H=_.match(/^@case\s*/),L=_.match(/^@default(?![a-z])/),F=_.match(/^@break(?![a-z])/);if(H&&_.startsWith("@case")){if(U)q.push(U);let O=W+H[0].length,V=M1(K,O);if(!V){W++;continue}U={type:"case",value:V.expression,content:""},W=V.endPos}else if(L&&_.startsWith("@default")){if(U)q.push(U);U={type:"default",content:""},W+=L[0].length}else if(F&&_.startsWith("@break"))W+=F[0].length;else{if(U)U.content+=K[W];W++}}if(U)q.push(U);return{fullMatch:$.slice(Z,G+10),expression:Q.expression,cases:q,start:Z,end:G+10}}var jZ=()=>{};var HZ=()=>{};var a$=k(()=>{jZ();HZ()});function hq($,Z,Y){let X=$,Q=!0;while(Q){Q=!1;let J=X.match(/@switch\s*\(/);if(!J||J.index===void 0)break;let G=J.index,K=i7(X,G);if(!K)break;try{let q;if(G0(K.expression))q=K0(K.expression,Object.keys(Z))(...Object.values(Z));else q=Z0(K.expression,Z);let W="",U=!1;for(let z of K.cases)if(z.type==="default"){if(!U)W=z.content.trim()}else try{let _;if(z.value&&G0(z.value))_=K0(z.value,Object.keys(Z))(...Object.values(Z));else if(z.value)_=Z0(z.value,Z);if(q===_){W=z.content.trim(),U=!0;break}}catch{continue}X=X.substring(0,G)+W+X.substring(K.end),Q=!0}catch(q){let W=q instanceof Error?q.message:String(q),U=e("Switch",`Error evaluating @switch expression: ${W}`,o.EVALUATION_ERROR);X=X.substring(0,G)+U+X.substring(K.end);break}}return X}function p1($,Z,Y){let X=$;X=hq(X,Z,Y);{let J=!0;while(J){J=!1;let G=X.match(/@unless\s*\(/);if(!G||G.index===void 0)break;let K=G.index,q=M1(X,K+7);if(!q)break;let W=q.endPos,U=c1(X,"unless","endunless",W);if(U===-1){console.warn(`[stx] @unless directive at position ${K} has no matching @endunless \u2014 the block was skipped. Check for typos or missing closers.`);break}let z=X.slice(W,U),_=q.expression,B=-1;{let H=0,L=/@(?:if|unless)\s*\(/g,F=/@(?:endif|endunless)(?![a-z])/g,O=/@else(?![a-z])/g,V=[],w;while((w=L.exec(z))!==null)V.push({pos:w.index,type:"open"});while((w=F.exec(z))!==null)V.push({pos:w.index,type:"close"});while((w=O.exec(z))!==null)V.push({pos:w.index,type:"else"});V.sort((A,M)=>A.pos-M.pos);for(let A of V)if(A.type==="open")H++;else if(A.type==="close")H--;else if(A.type==="else"&&H===0){B=A.pos;break}}let j;if(B!==-1){let H=z.slice(0,B),L=z.slice(B+5);j=`@if (${_})${L}@else ${H}@endif`}else j=`@if (!(${_}))${z}@endif`;X=X.substring(0,K)+j+X.substring(U+10),J=!0}}X=s7(X,Z,Y),X=o7(X,Z,Y),X=n7(X,Z);let Q=()=>{let J=J$(X);if(J.length===0)return!1;for(let G=J.length-1;G>=0;G--){let K=J[G];try{let q="",W=!1;for(let U of K.branches){if(W)break;if(U.type==="else")q=U.content,W=!0;else try{let z;if(U.condition&&G0(U.condition))z=K0(U.condition,Object.keys(Z))(...Object.values(Z));else if(U.condition)z=Z0(U.condition,Z);if(z)q=U.content,W=!0}catch(z){q=e(U.type==="if"?"If":"Elseif",`Error in @${U.type}(${U.condition}): ${z instanceof Error?z.message:String(z)}`,o.EVALUATION_ERROR),W=!0}}X=X.substring(0,K.start)+q+X.substring(K.end)}catch(q){let W=q instanceof Error?q.message:String(q),U=e("If",`Error processing @if block: ${W}`,o.EVALUATION_ERROR);X=X.substring(0,K.start)+U+X.substring(K.end)}}return!0};while(!0){let J=X;if(!Q())break;if(X===J)break}return X}function OZ($){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 X=[];while(Z<$.length){let Q=$[Z];if(Q==="\\"&&Z+1<$.length){X.push($[Z+1]),Z+=2;continue}if(Q===Y){Z++;break}X.push(Q),Z++}while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!==")")return null;return Z++,{value:X.join(""),consumed:Z}}function n7($,Z){let Y=$;function X(K,q,W,U){let z=1,_=U,B=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),j=new RegExp(`@${W}(?![a-z])`,"g");while(_<K.length&&z>0){B.lastIndex=_,j.lastIndex=_;let H=B.exec(K),L=j.exec(K),F=H?H.index:1/0,O=L?L.index:1/0;if(F<O)z++,_=F+H[0].length;else if(O<1/0){if(z--,z===0)return O;_=O+L[0].length}else break}return-1}function Q(K,q,W){let U=0,z=new RegExp(`@${q}(?:\\s*\\(|\\s|$)`,"g"),_=new RegExp(`@${W}(?![a-z])`,"g"),B=/@else(?![a-z])/g,j=[],H;while((H=z.exec(K))!==null)j.push({pos:H.index,type:"open"});while((H=_.exec(K))!==null)j.push({pos:H.index,type:"close"});while((H=B.exec(K))!==null)j.push({pos:H.index,type:"else"});j.sort((L,F)=>L.pos-F.pos);for(let L of j)if(L.type==="open")U++;else if(L.type==="close")U--;else if(L.type==="else"&&U===0)return L.pos;return-1}{let K=!0;while(K){K=!1;let q=Y.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let W=q.index,U,z,_=Y.slice(W+5),B=OZ(_);if(B)U=B.value,z=W+5+B.consumed;else z=W+5;let j=X(Y,"auth","endauth",z);if(j===-1){console.warn(`[stx] @auth directive at position ${W} has no matching @endauth \u2014 the block was skipped.`);break}let H=Y.slice(z,j),L=Q(H,"auth","endauth"),F;if(!Z.auth)F=!1;else F=U?R1(`auth?.check && auth?.user?.[${U}]`,Z):R1("auth?.check",Z);let O;if(L!==-1){let V=H.slice(0,L),w=H.slice(L+5);O=F?V:w}else O=F?H:"";Y=Y.substring(0,W)+O+Y.substring(j+8),K=!0}}{let K=!0;while(K){K=!1;let q=Y.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!q||q.index===void 0)break;let W=q.index,U,z,_=Y.slice(W+6),B=OZ(_);if(B)U=B.value,z=W+6+B.consumed;else z=W+6;let j=X(Y,"guest","endguest",z);if(j===-1){console.warn(`[stx] @guest directive at position ${W} has no matching @endguest \u2014 the block was skipped.`);break}let H=Y.slice(z,j),L=Q(H,"guest","endguest"),F;if(!Z.auth)F=!0;else F=U?R1(`!auth?.check || !auth?.user?.[${U}]`,Z):R1("!auth?.check",Z);let O;if(L!==-1){let V=H.slice(0,L),w=H.slice(L+5);O=F?V:w}else O=F?H:"";Y=Y.substring(0,W)+O+Y.substring(j+9),K=!0}}function J(K,q,W){if(Z.userCan&&typeof Z.userCan[K]==="boolean")return Z.userCan[K];if(Z.permissions?.check&&typeof Z.permissions.check==="function")try{let U=[K];if(q)U.push(q);if(W){let z=R1(W,Z);U.push(z)}return Z.permissions.check(...U)}catch{return!1}return!1}function G(K){let q=K.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!q)return null;return{ability:q[1],type:q[2],id:q[3]?.trim(),paramsEnd:q[0].length}}for(let K of["can","cannot"]){let q=`end${K}`,W=K==="can"?"elsecan":"elsecannot",U=!0;while(U){U=!1;let z=Y.match(new RegExp(`@${K}\\s*\\(`));if(!z||z.index===void 0)break;let _=z.index,B=Y.slice(_+`@${K}`.length),j=G(B);if(!j)break;let H=_+`@${K}`.length+j.paramsEnd,L=X(Y,K,q,H);if(L===-1){console.warn(`[stx] @${K} directive at position ${_} has no matching @${q} \u2014 the block was skipped.`);break}let F=Y.slice(H,L),O=[],V=0,w=new RegExp(`@${K}\\s*\\(`,"g"),A=new RegExp(`@${q}(?![a-z])`,"g"),M=new RegExp(`@${W}\\s*\\(`,"g"),R=/@else(?![a-z])/g,N=[],T;while((T=w.exec(F))!==null)N.push({pos:T.index,type:"open"});while((T=A.exec(F))!==null)N.push({pos:T.index,type:"close"});while((T=M.exec(F))!==null)N.push({pos:T.index,type:"elseDirective"});while((T=R.exec(F))!==null)N.push({pos:T.index,type:"else"});N.sort((b,v)=>b.pos-v.pos);for(let b of N){if(b.type==="open"){V++;continue}if(b.type==="close"){V--;continue}if(V===0)O.push(b)}let I=[],D=0;for(let b=0;b<O.length;b++){let v=O[b];if(I.push({content:F.slice(D,v.pos),ability:void 0}),v.type==="elseDirective"){let h=F.slice(v.pos+`@${W}`.length),f=G(h);if(f){I[I.length-1]={content:F.slice(D,v.pos)},D=v.pos+`@${W}`.length+f.paramsEnd,I.push({content:"",ability:f.ability,type:f.type,id:f.id}),I.pop();let m=O[b+1],r=m?m.pos:F.length;I.push({content:F.slice(D,r),ability:f.ability,type:f.type,id:f.id}),D=r}}else D=v.pos+5}if(D<F.length){let b=I[I.length-1];if(O.length>0&&O[O.length-1].type==="else")I.push({content:F.slice(D),isFinalElse:!0});else if(I.length===0)I.push({content:F.slice(D)})}let E=J(j.ability,j.type,j.id),y=K==="can"?E:!E,S="";if(y)S=I[0]?.content||"";else{let b=!1;for(let v=1;v<I.length;v++){let h=I[v];if(h.isFinalElse){S=h.content,b=!0;break}if(h.ability){let f=J(h.ability,h.type,h.id);if(K==="can"?f:!f){S=h.content,b=!0;break}}}if(!b&&I.length>0){let v=I[I.length-1];if(v.isFinalElse)S=v.content}}Y=Y.substring(0,_)+S+Y.substring(L+`@${q}`.length),U=!0}}return Y}function s7($,Z,Y){let X=$;function Q(J,G,K,q,W){let U=!0;while(U){U=!1;let z=new RegExp(`@${G}\\s*\\(`),_=J.match(z);if(!_||_.index===void 0)break;let B=_.index,j=M1(J,B+`@${G}`.length);if(!j)break;let H=j.endPos,L=c1(J,G,K,H);if(L===-1){console.warn(`[stx] @${G} directive at position ${B} has no matching @${K} \u2014 the block was skipped.`);break}let F=J.slice(H,L),O=j.expression,V=-1,w=0,A=0;while(A<F.length){let M=F.indexOf("@",A);if(M===-1)break;let R=F.substring(M);if(/^@(?:if|unless|isset|empty)\s*\(/.test(R)){w++,A=M+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(R)){w--,A=M+1;continue}if(w===0&&/^@else(?![a-z])/.test(R)){V=M;break}A=M+1}try{let M=q(O.trim()),R;if(V!==-1){let N=F.slice(0,V),T=F.slice(V+5);R=M?N:T}else R=M?F:"";J=J.substring(0,B)+R+J.substring(L+`@${K}`.length),U=!0}catch(M){let R=M instanceof Error?M.message:String(M),N=e(W,`Error processing @${G} directive: ${R}`,o.EVALUATION_ERROR);J=J.substring(0,B)+N+J.substring(L+`@${K}`.length);break}}return J}return X=Q(X,"isset","endisset",(J)=>{let G=R1(J,Z);return G!==void 0&&G!==null},"Isset"),X=Q(X,"empty","endempty",(J)=>{let G=R1(J,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"),X}function o7($,Z,Y){let X=$,Q="development";function J(G,K,q,W){let U=new RegExp(`@${K}(?![a-z])`,"g"),z=new RegExp(`@${q}(?![a-z])`,"g"),_=new RegExp(`^@${K}(?![a-z])`),B=new RegExp(`^@${q}(?![a-z])`),j=G,H=!0;while(H){H=!1,U.lastIndex=0;let L=U.exec(j);if(!L)break;let F=L.index,O=F+L[0].length;if(K==="env"){let E=j.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!E)break;O+=E[0].length,W=Q===E[2]}let V=1,w=O,A=-1;while(V>0&&w<j.length){U.lastIndex=w,z.lastIndex=w;let E=U.exec(j),y=z.exec(j),S=E?E.index:1/0,b=y?y.index:1/0;if(S<b)V++,w=S+E[0].length;else if(b<1/0){if(V--,V===0){A=b;break}w=b+y[0].length}else break}if(A===-1){console.warn(`[stx] @${K} directive at position ${F} has no matching @${q} \u2014 the block was skipped.`);break}let M=j.substring(O,A),R=-1,N=0,T=0;while(T<M.length){let E=M.indexOf("@",T);if(E===-1)break;let y=M.substring(E);if(_.test(y)){N++,T=E+1;continue}if(B.test(y)){N--,T=E+1;continue}if(N===0&&/^@else(?![a-z])/.test(y)){R=E;break}T=E+1}let I;if(R!==-1){let E=M.slice(0,R),y=M.slice(R+5);I=W?E:y}else I=W?M:"";let D=`@${q}`.length;j=j.substring(0,F)+I+j.substring(A+D),H=!0}return j}return X=J(X,"env","endenv",!1),X=J(X,"production","endproduction",Q==="production"),X=J(X,"development","enddevelopment",Q==="development"),X=J(X,"staging","endstaging",Q==="staging"),X=J(X,"testing","endtesting",Q==="testing"),X}var t$=k(()=>{GZ();z1();a$();H0()});function FZ($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function e$($,Z){if(!$)return Z?.nonceGenerator?.()??FZ();let Y=LZ.get($);if(!Y)Y=Z?.nonceGenerator?.()??FZ(),LZ.set($,Y);return Y}function uq($,Z){let Y=[];for(let[X,Q]of Object.entries($)){if(Q===void 0||Q===null)continue;if(typeof Q==="boolean"){if(Q)Y.push(X);continue}if(Array.isArray(Q)){let J=[...Q];if(Z&&(X==="script-src"||X==="style-src"))J=J.filter((G)=>!G.startsWith("'nonce-")),J.push(`'nonce-${Z}'`);if(J.length>0)Y.push(`${X} ${J.join(" ")}`)}}return Y.join("; ")}function VZ($,Z){return`<meta http-equiv="Content-Security-Policy" content="${uq($,Z).replace(/&/g,"&").replace(/"/g,""")}">`}function wZ($,Z,Y){if(!Z.enabled||!Z.addMetaTag)return $;if($.includes('http-equiv="Content-Security-Policy"'))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let X=Z.useNonce?e$(Y,Z):void 0,Q=VZ(Z.directives,X);return $.replace(/<head([^>]*)>/,`<head$1>
|
|
1678
|
+
${Q}`)}function AZ($,Z){let Y=$;return Y=Y.replace(/<script(?![^>]*\ssrc=)([^>]*)>/gi,(X,Q)=>{if(Q.includes("nonce="))return X;return`<script nonce="${Z}"${Q}>`}),Y=Y.replace(/<style([^>]*)>/gi,(X,Q)=>{if(Q.includes("nonce="))return X;return`<style nonce="${Z}"${Q}>`}),Y}function RZ($,Z,Y,X){let Q=$,J=X.csp;if(Q=Q.replace(/@csp\b/g,()=>{if(!J?.enabled||!J.directives)return"<!-- CSP not configured -->";let G=J.useNonce?e$(Z,J):void 0;return VZ(J.directives,G)}),Q=Q.replace(/@cspNonce\b/g,()=>{if(!J?.enabled||!J.useNonce)return"";return e$(Z,J)}),J?.enabled&&J.useNonce)Z.cspNonce=e$(Z,J);return Q}var LZ;var MZ=k(()=>{LZ=new WeakMap});import dq from"crypto";function lq($=mq){let Z=dq.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return r7=Z,Z}function cq(){if(!r7)lq();return r7}function pq($=NZ){let Z=cq();return`<input type="hidden" name="${$}" value="${Z}">`}function TZ($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(Z,Y,X)=>{return pq(X||NZ)})}var mq=40,NZ="_token",r7=null;var IZ=()=>{};async function EZ($,Z,Y,X){if(!X.customDirectives||X.customDirectives.length===0)return $;let Q=$;for(let J of X.customDirectives){if(!J.name||typeof J.handler!=="function"){if(X.debug)console.warn("Invalid custom directive:",J);continue}if(J.hasEndTag)Q=await iq(Q,J,Z,Y,X);else Q=await nq(Q,J,Z,Y,X)}return Q}async function iq($,Z,Y,X,Q){let{name:J,handler:G}=Z,K=`@${J}`,q=`@end${J}`,W=$,U=_5(`${K}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${q}`,"g"),z=[],_=U.exec(W);while(_!==null){let[B,j="",H=""]=_,L=_.index||0;try{let F=j?DZ(j):[],O=H.trim(),V=await G(O,F,Y,X);z.push({original:B,processed:V,startIndex:L})}catch(F){let O=F instanceof Error?F.message:String(F);if(Q.debug)console.error(`Error processing custom directive @${J}:`,F);z.push({original:B,processed:e("CustomDirective",`Error in @${J}${j?`(${j})`:""}: ${O}`,o.EVALUATION_ERROR),startIndex:L})}_=U.exec(W)}for(let B=z.length-1;B>=0;B--){let{original:j,processed:H}=z[B];W=W.replace(j,H)}return W}async function nq($,Z,Y,X,Q){let{name:J,handler:G}=Z,K=$,q=_5(`@${J}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),W=[],U=q.exec(K);while(U!==null){let[B,j=""]=U,H=U.index||0;try{let L=DZ(j),F=await G("",L,Y,X);W.push({original:B,processed:F,startIndex:H})}catch(L){let F=L instanceof Error?L.message:String(L);if(Q.debug)console.error(`Error processing custom directive @${J}:`,L);W.push({original:B,processed:e("CustomDirective",`Error in @${J}(${j}): ${F}`,o.EVALUATION_ERROR),startIndex:H})}U=q.exec(K)}let z=_5(`@${J}(?!\\w)(?!\\s*\\()`,"g"),_=z.exec(K);while(_!==null){let[B]=_,j=_.index||0;try{let H=await G("",[],Y,X);W.push({original:B,processed:H,startIndex:j})}catch(H){let L=H instanceof Error?H.message:String(H);if(Q.debug)console.error(`Error processing custom directive @${J}:`,H);W.push({original:B,processed:e("CustomDirective",`Error in @${J}: ${L}`,o.EVALUATION_ERROR),startIndex:j})}_=z.exec(K)}for(let B=W.length-1;B>=0;B--){let{original:j,processed:H}=W[B];K=K.replace(j,H)}return K}function DZ($){if(!$.trim())return[];let Z=[],Y="",X=!1,Q="";for(let J=0;J<$.length;J++){let G=$[J];if((G==='"'||G==="'")&&(J===0||$[J-1]!=="\\"))if(!X)X=!0,Q=G;else if(G===Q)X=!1;else Y+=G;else if(G===","&&!X)Z.push(Y.trim()),Y="";else Y+=G}if(Y.trim())Z.push(Y.trim());return Z.map((J)=>{let G=J.trim();if(G.startsWith('"')&&G.endsWith('"')||G.startsWith("'")&&G.endsWith("'"))return G.substring(1,G.length-1);return G})}var kZ=k(()=>{z1();B5()});function i1($,Z){if(typeof $!=="string"||$.length===0)throw Error(`@appearanceBootstrap ${Z} must be a non-empty string`)}function oq($){if(!$||typeof $!=="object"||Array.isArray($))throw Error("@appearanceBootstrap expects an options object");let Z=$,Y=Z.appearance,X=Z.colorMode;if(i1(Z.storageKey,"storageKey"),!Y||typeof Y!=="object"||Array.isArray(Y))throw Error("@appearanceBootstrap appearance must be an object");if(!X||typeof X!=="object"||Array.isArray(X))throw Error("@appearanceBootstrap colorMode must be an object");if(i1(Y.key,"appearance.key"),i1(Y.attribute,"appearance.attribute"),i1(Y.default,"appearance.default"),i1(X.key,"colorMode.key"),i1(X.attribute,"colorMode.attribute"),i1(X.default,"colorMode.default"),!SZ.test(Y.key)||!SZ.test(X.key))throw Error("@appearanceBootstrap preference keys must be JavaScript property names");if(!bZ.test(Y.attribute)||!bZ.test(X.attribute))throw Error("@appearanceBootstrap attributes must be lowercase data attribute names");if(!Array.isArray(Y.allowed)||Y.allowed.length===0||Y.allowed.some((Q)=>typeof Q!=="string"||Q.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(!sq.has(X.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:X.key,attribute:X.attribute,default:X.default}}}function rq($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function aq($){return`<script data-stx-scoped data-stx-appearance-bootstrap>(function(){"use strict";const config=${rq($)};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 tq($,Z){let Y=1,X=null,Q=!1;for(let J=Z+1;J<$.length;J++){let G=$[J];if(Q){Q=!1;continue}if(X){if(G==="\\")Q=!0;else if(G===X)X=null;continue}if(G==='"'||G==="'"||G==="`"){X=G;continue}if(G==="(")Y++;else if(G===")"&&--Y===0)return J}return-1}function yZ($,Z){let Y=$,X=/@appearanceBootstrap\s*\(/g,Q;while((Q=X.exec(Y))!==null){let J=Q.index+Q[0].length-1,G=tq(Y,J);if(G===-1)throw Error("@appearanceBootstrap has an unclosed options object");let K=Y.slice(J+1,G).trim(),q=Z0(`(${K})`,Z),W=aq(oq(q));Y=Y.slice(0,Q.index)+W+Y.slice(G+1),X.lastIndex=Q.index+W.length}return Y}var bZ,SZ,sq;var PZ=k(()=>{H0();bZ=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,SZ=/^[A-Za-z_$][\w$]*$/,sq=new Set(["light","dark","system"])});var e7={};t(e7,{useTitle:()=>XW,useSeoMeta:()=>CZ,usePageTitle:()=>XW,useHead:()=>t7,seoMetaToHeadConfig:()=>Z4,resetHead:()=>ZW,renderHtmlAttrs:()=>QW,renderHead:()=>JW,renderBodyAttrs:()=>GW,processTitleDirective:()=>WW,processMetaDirective:()=>UW,processHeadDirective:()=>qW,mergeHeadConfigs:()=>O5,getPageMeta:()=>$W,getHead:()=>a7,definePageMeta:()=>YW,applyHead:()=>KW});function a7(){return N1}function $W(){return $4}function ZW(){N1={},eq.length=0,$4={}}function t7($){N1=O5(N1,$)}function O5($,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 CZ($){t7(Z4($))}function Z4($){let Z=[];if($.description)Z.push({name:"description",content:$.description});if($.keywords){let q=Array.isArray($.keywords)?$.keywords.join(", "):$.keywords;Z.push({name:"keywords",content:q})}if($.author)Z.push({name:"author",content:$.author});if($.robots)Z.push({name:"robots",content:$.robots});let Y=$.ogTitle??$.title,X=$.ogDescription??$.description;if(Y)Z.push({property:"og:title",content:Y});if(X)Z.push({property:"og:description",content:X});if($.ogImage)Z.push({property:"og:image",content:$.ogImage});if($.ogUrl)Z.push({property:"og:url",content:$.ogUrl});if($.ogType)Z.push({property:"og:type",content:$.ogType});if($.ogSiteName)Z.push({property:"og:site_name",content:$.ogSiteName});if($.ogLocale)Z.push({property:"og:locale",content:$.ogLocale});let Q=$.twitterTitle??$.title,J=$.twitterDescription??$.description,G=$.twitterImage??$.ogImage;if($.twitterCard)Z.push({name:"twitter:card",content:$.twitterCard});if(Q)Z.push({name:"twitter:title",content:Q});if(J)Z.push({name:"twitter:description",content:J});if(G)Z.push({name:"twitter:image",content:G});if($.twitterSite)Z.push({name:"twitter:site",content:$.twitterSite});if($.twitterCreator)Z.push({name:"twitter:creator",content:$.twitterCreator});if($.articleAuthor)Z.push({property:"article:author",content:$.articleAuthor});if($.articlePublishedTime)Z.push({property:"article:published_time",content:$.articlePublishedTime});if($.articleModifiedTime)Z.push({property:"article:modified_time",content:$.articleModifiedTime});if($.articleSection)Z.push({property:"article:section",content:$.articleSection});if($.articleTags)for(let q of $.articleTags)Z.push({property:"article:tag",content:q});let K=[];if($.canonical)K.push({rel:"canonical",href:$.canonical});return{title:$.title,titleTemplate:$.titleTemplate,meta:Z,link:K}}function YW($){if($4={...$4,...$},$.title||$.description)CZ({title:$.title,description:$.description})}function XW($){let Z=typeof $==="function"?$():$;t7({title:Z})}function JW($=N1){let Z=[];if($.title){let Y=$.title;if($.titleTemplate)Y=typeof $.titleTemplate==="function"?$.titleTemplate(Y):$.titleTemplate.replace("%s",Y);Z.push(`<title>${n1(Y)}</title>`)}if($.base){let Y=Object.entries($.base).map(([X,Q])=>`${X}="${n1(Q)}"`).join(" ");Z.push(`<base ${Y}>`)}for(let Y of $.meta||[]){let X=Object.entries(Y).filter(([Q,J])=>J!==void 0).map(([Q,J])=>{return`${Q==="httpEquiv"?"http-equiv":Q}="${n1(String(J))}"`}).join(" ");Z.push(`<meta ${X}>`)}for(let Y of $.link||[]){let X=Object.entries(Y).filter(([Q,J])=>J!==void 0).map(([Q,J])=>`${Q}="${n1(String(J))}"`).join(" ");Z.push(`<link ${X}>`)}for(let Y of $.script||[]){let{content:X,...Q}=Y,J=Object.entries(Q).filter(([G,K])=>K!==void 0).map(([G,K])=>{if(typeof K==="boolean")return K?G:"";return`${G}="${n1(String(K))}"`}).filter(Boolean).join(" ");if(X)Z.push(`<script ${J}>${X}</script>`);else Z.push(`<script ${J}></script>`)}for(let Y of $.style||[]){let X=Y.type?` type="${Y.type}"`:"";Z.push(`<style${X}>${Y.content}</style>`)}return Z.join(`
|
|
1679
|
+
`)}function QW($=N1){if(!$.htmlAttrs)return"";return Object.entries($.htmlAttrs).map(([Z,Y])=>`${Z}="${n1(Y)}"`).join(" ")}function GW($=N1){if(!$.bodyAttrs)return"";return Object.entries($.bodyAttrs).map(([Z,Y])=>`${Z}="${n1(Y)}"`).join(" ")}function n1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function KW($=N1){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 X=document.querySelector(Y);if(!X){if(X=document.createElement("meta"),Z.name)X.setAttribute("name",Z.name);if(Z.property)X.setAttribute("property",Z.property);document.head.appendChild(X)}X.setAttribute("content",Z.content)}}for(let Z of $.link||[]){let Y=`link[rel="${Z.rel}"]${Z.href?`[href="${Z.href}"]`:""}`,X=document.querySelector(Y);if(!X)X=document.createElement("link"),document.head.appendChild(X);for(let[Q,J]of Object.entries(Z))if(J!==void 0)X.setAttribute(Q,String(J))}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 qW($){let Z="";return{content:$.replace(/@head\s*([\s\S]*?)@endhead/g,(X,Q)=>{return Z+=Q.trim()+`
|
|
1680
|
+
`,""}),headContent:Z.trim()}}function WW($,Z){return $.replace(/@title\s*\(\s*(?:(['"`])(.+?)\1|([^)]+))\s*\)/g,(Y,X,Q,J)=>{let G=X?Q:Z[(J||"").trim()]??J,K=Z.__stx_runtime_head??{};return Z.__stx_runtime_head=O5(K,{title:G}),""})}function UW($,Z){return $.replace(/@meta\s*\(\s*(['"`])(.+?)\1\s*,\s*(?:(['"`])(.+?)\3|([^)]+))\s*\)/g,(Y,X,Q,J,G,K)=>{let q=J?G:K,W=J?q:Z[(q||"").trim()]??q,z=Q.includes(":")?{property:Q,content:W}:{name:Q,content:W},_=Z.__stx_runtime_head??{};return Z.__stx_runtime_head=O5(_,{meta:[z]}),""})}var N1,eq,$4;var Q$=k(()=>{N1={},eq=[],$4={}});import zW from"crypto";function R0($){return String($??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Y4($,Z,Y,X){let Q=$||Z;return Y?`${Q} ${X}`:Q}function _W(){return zW.randomUUID()}function X4($,Z){let Y=$;return Y=Y.replace(/@csrf/g,()=>{if(!Z.csrf||typeof Z.csrf!=="object"){let X=_W();Z.csrf={token:X}}if(Z.csrf.field)return Z.csrf.field;if(Z.csrf.token)return`<input type="hidden" name="_token" value="${R0(Z.csrf.token)}">`;return'<input type="hidden" name="_token" value="">'}),Y=Y.replace(/@method\(['"]([^'"]+)['"]\)/g,(X,Q)=>{let J=Q.toUpperCase();if(Q&&!["GET","POST"].includes(J))return`<input type="hidden" name="_method" value="${R0(J)}">`;return X}),Y}function fZ($,Z,Y=xZ){let X=$;return X=X.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(Q,J,G,K,q,W="")=>{let U=J||G||"POST",z=K||q||"",_=T1(W),B=U.toUpperCase(),j=["GET","POST"].includes(B)?B:"POST",H=`<form method="${R0(j)}" action="${R0(z)}"${_?` ${_}`:""}>`;if(H+=`
|
|
1681
|
+
${X4("@csrf",Z)}`,!["GET","POST"].includes(B))H+=`
|
|
1682
|
+
${X4(`@method('${B}')`,Z)}`;return H}),X=X.replace(/@endform/g,"</form>"),X=X.replace(/@input\(\s*(?:'([^']+)'|"([^"]+)")\s*(?:,\s*(?:(?:'([^']*)'|"([^"]*)")\s*)?)?(?:,\s*\{([^}]+)\})?\s*\)/g,(Q,J,G,K,q,W="")=>{let U=J||G||"",z=K||q||"",_=T1(W),B=G$(U,Z),j=B!==void 0&&B!==null?B:z||"",H=_.match(/type=['"]([^'"]+)['"]/i),L=H?H[1]:"text",F=K$(U,Z),O=_.match(/class=['"]([^'"]+)['"]/i),V=Y4(O?O[1]:"",Y.input,F,Y.inputError),w=_.replace(/class=['"][^'"]+['"]/i,"");return w=w.replace(/type=['"][^'"]+['"]/i,""),`<input type="${R0(L)}" name="${R0(U)}" value="${R0(j)}" class="${V}"${w?` ${w}`:""}>`}),X=X.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(Q,J,G="",K="")=>{let q=T1(G),W=G$(J,Z)||K.trim(),U=K$(J,Z),z=q.match(/class=['"]([^'"]+)['"]/i),_=Y4(z?z[1]:"",Y.input,U,Y.inputError),B=q.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${R0(J)}" class="${_}"${B?` ${B}`:""}>${R0(W)}</textarea>`}),X=X.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(Q,J,G="",K)=>{let q=T1(G),W=G$(J,Z),U=K$(J,Z),z=q.match(/class=['"]([^'"]+)['"]/i),_=Y4(z?z[1]:"",Y.input,U,Y.inputError),B=q.replace(/class=['"][^'"]+['"]/i,""),j=K;if(W!==void 0)j=K.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(H,L,F)=>{if((Array.isArray(W)?W.some((V)=>String(V)===F):String(W)===F)&&!L.includes("selected"))return L.replace(/(<option)/,"$1 selected");return H});return`<select name="${R0(J)}" class="${_}"${B?` ${B}`:""}>${j}</select>`}),X=X.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(Q,J,G="1",K="")=>{let q=T1(K),W=G$(J,Z),U=W!==void 0&&(Array.isArray(W)?W.some((j)=>String(j)===G):W===!0||String(W)===G),z=q.match(/class=['"]([^'"]+)['"]/i),_=z?z[1]:Y.checkInput,B=q.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${R0(J)}" value="${R0(G)}" class="${_}"${U?" checked":""}${B?` ${B}`:""}>`}),X=X.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Q,J,G,K="")=>{let q=T1(K),W=G$(J,Z),U=W!==void 0&&W===G,z=q.match(/class=['"]([^'"]+)['"]/i),_=z?z[1]:Y.checkInput,B=q.replace(/class=['"][^'"]+['"]/i,"");return`<input type="radio" name="${R0(J)}" value="${R0(G)}" class="${_}"${U?" checked":""}${B?` ${B}`:""}>`}),X=X.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Q,J,G="")=>{let K=T1(G),q=K.match(/accept=['"]([^'"]+)['"]/i),W=q?q[1]:"",U=K.includes("multiple"),z=K$(J,Z),_=K.match(/class=['"]([^'"]+)['"]/i),B=Y4(_?_[1]:"",Y.input,z,Y.inputError),j=K.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),H=[`<input type="file" name="${R0(J)}"`,`class="${B}"`];if(W)H.push(`accept="${R0(W)}"`);if(U)H.push("multiple");if(j)H.push(j);return`${H.join(" ")}>`}),X=X.replace(/@label\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endlabel/g,(Q,J,G="",K)=>{let q=T1(G),W=q.match(/class=['"]([^'"]+)['"]/i),U=W?W[1]:Y.label,z=q.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${R0(J)}" class="${U}"${z?` ${z}`:""}>${K}</label>`}),X}function gZ($,Z,Y=xZ){return $.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(X,Q,J)=>{try{if(K$(Q,Z))return J.replace(/\{\{([^}]+)\}\}/g,(G,K)=>{try{if(K.trim()==="$message"||K.trim()==="message")return vZ(Q,Z);if(K.trim().includes("errors.first")||K.trim().includes("$errors.first")){if(typeof Z.errors?.first==="function")return Z.errors.first(Q);return vZ(Q,Z)}let q=K.trim();if(G0(q)){let W=Z0(q,Z);return W!==void 0?String(W):q}return q}catch{return K}});return""}catch(G){return console.error("Error processing @error directive:",G),X}})}function K$($,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 vZ($,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 G$($,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 X=$.slice(0,-2);if(Y=Z[X],Y!==void 0)return Y}return Z[$]}function T1($){if(!$.trim())return"";let Z=[],Y=$.trim(),X=/([\w-]+)\s*:\s*(['"]?)([^,'"]*)\2(?:\s*,\s*|\s*$)/g,Q;while((Q=X.exec(Y))!==null){let[,J,,G]=Q;Z.push(`${J}="${G.trim()}"`)}return Z.join(" ")}var xZ;var hZ=k(()=>{H0();xZ={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"}});import Y3 from"path";async function BW(){if(q$!==void 0)return q$;try{q$=(await import("@stacksjs/ts-i18n")).loadLocale??null}catch{q$=null}return q$}function jW($,Z=0){if(Z<=0)return!1;return Date.now()-$.loadedAt>Z}async function HW($,Z){if({...Q3,...Z.i18n}.cache&&X3[$]){let Q=X3[$],J=Z.i18n?.cacheMaxAge??0;if(!jW(Q,J))return Q.translations}if(W$[$]?.state==="loading")return W$[$].promise;$3[$]="loading";let X=J3($,Z).then((Q)=>{return $3[$]="loaded",delete W$[$],Q}).catch((Q)=>{throw $3[$]="error",W$[$]={promise:X,state:"error",error:Q instanceof Error?Q:Error(String(Q))},Q});return W$[$]={promise:X,state:"loading"},X}async function J3($,Z){let Y={...Q3,...Z.i18n},X=Y3.isAbsolute(Y.translationsDir)?Y.translationsDir:Y3.resolve(Z.root||process.cwd(),Y.translationsDir);try{let Q=await BW(),J=Q?await Q($,{translationsDir:X,defaultLocale:Y.defaultLocale,sources:wW(Y.format)}):await OW($,Y,X);if(J===void 0){if($!==Y.defaultLocale)return J3(Y.defaultLocale,Z);return{}}let G=J;if(Y.cache)X3[$]={translations:G,loadedAt:Date.now(),locale:$};return G}catch(Q){if(Z.debug)console.error(`Error loading translation file for locale "${$}":`,Q);if($!==Y.defaultLocale)return J3(Y.defaultLocale,Z);return{}}}async function OW($,Z,Y){let X=Y3.join(Y,`${$}${LW(Z.format)}`);try{let Q=await import(X);return Q.default||Q}catch(Q){try{let J=await Bun.file(X).text();if(Z.format==="yaml"||Z.format==="yml")return FW(J);if(Z.format==="json")return JSON.parse(J);throw Q}catch{return}}}function LW($){switch($){case"yaml":return".yaml";case"yml":return".yml";case"js":return".js";case"ts":return".ts";case"json":default:return".json"}}function FW($){let Z={},Y=$.split(`
|
|
1683
|
+
`),X=[{obj:Z,indent:-1}];for(let Q of Y){let J=Q.replace(/#.*$/,"").trimEnd();if(!J.trim())continue;let G=J.search(/\S/);if(G===-1)continue;while(X.length>1&&X[X.length-1].indent>=G)X.pop();let K=X[X.length-1].obj,q=J.match(/^(\s*)(\S[^:]*):\s*(.*)$/);if(q){let[,,W,U]=q,z=W.trim(),_=U.trim();if(_==="")K[z]={},X.push({obj:K[z],indent:G});else K[z]=VW(_)}}return Z}function VW($){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 wW($){switch($){case"yaml":case"yml":return["yaml"];case"js":case"ts":return["ts"];case"json":default:return["json"]}}async function AW($,Z){return HW($,Z)}function RW($,Z){for(let Y of $){let X=Y.trim(),Q=X.match(/^\{(\d+)\}\s*(.*)$/);if(Q){let G=Number.parseInt(Q[1],10);if(Z===G)return Q[2];continue}let J=X.match(/^\[(\d+),(\d+|\*)\]\s*(.*)$/);if(J){let G=Number.parseInt(J[1],10),K=J[2]==="*"?Number.POSITIVE_INFINITY:Number.parseInt(J[2],10);if(Z>=G&&Z<=K)return J[3];continue}}if($.length===2)return Z===1?$[0].trim():$[1].trim();if(Z<$.length)return $[Z].trim();return $[$.length-1].trim()}function MW($,Z={}){return mZ($,Z)}function mZ($,Z){let Y="",X=0;while(X<$.length)if($[X]==="{"){let Q=NW($,X);if(Q===-1){Y+=$[X],X++;continue}let J=$.slice(X+1,Q);Y+=TW(J,Z),X=Q+1}else if($[X]==="'"&&X+1<$.length)if($[X+1]==="'")Y+="'",X+=2;else if($[X+1]==="{"||$[X+1]==="}")Y+=$[X+1],X+=2;else Y+=$[X],X++;else Y+=$[X],X++;return Y}function NW($,Z){let Y=0;for(let X=Z;X<$.length;X++)if($[X]==="{")Y++;else if($[X]==="}"){if(Y--,Y===0)return X}return-1}function TW($,Z){let Y=IW($);if(Y.length===0)return`{${$}}`;let X=Y[0].trim(),Q=Z[X];if(Y.length===1)return Q!==void 0?String(Q):`{${X}}`;switch(Y[1].trim().toLowerCase()){case"plural":return EW(Q,Y.slice(2).join(","),Z);case"select":return kW(Q,Y.slice(2).join(","));case"selectordinal":return bW(Q,Y.slice(2).join(","));case"number":return yW(Q,Y[2]?.trim());case"date":return PW(Q,Y[2]?.trim());case"time":return CW(Q,Y[2]?.trim());default:return Q!==void 0?String(Q):`{${$}}`}}function IW($){let Z=[],Y="",X=0;for(let Q=0;Q<$.length;Q++){let J=$[Q];if(J==="{")X++,Y+=J;else if(J==="}")X--,Y+=J;else if(J===","&&X===0)Z.push(Y),Y="";else Y+=J}if(Y)Z.push(Y);return Z}function EW($,Z,Y){let X=Number($)||0,Q=G3(Z),J=`=${X}`;if(Q[J])return Z3(Q[J],X,Y);let G=DW(X);if(Q[G])return Z3(Q[G],X,Y);if(Q.other)return Z3(Q.other,X,Y);return String(X)}function Z3($,Z,Y){let X=$.replace(/#/g,String(Z));return mZ(X,Y)}function DW($){let Z=Math.abs($),Y=Math.floor(Z),X=String($).includes(".")?String($).split(".")[1].length:0;if(Y===1&&X===0)return"one";return"other"}function kW($,Z){let Y=String($||""),X=G3(Z);if(X[Y])return X[Y];return X.other||String($)}function bW($,Z){let Y=Number($)||0,X=G3(Z),Q=SW(Y);if(X[Q])return X[Q].replace(/#/g,String(Y));if(X.other)return X.other.replace(/#/g,String(Y));return String(Y)}function SW($){let Z=Math.abs($),Y=Z%10,X=Z%100;if(Y===1&&X!==11)return"one";if(Y===2&&X!==12)return"two";if(Y===3&&X!==13)return"few";return"other"}function G3($){let Z={},Y=/(\w+|=\d+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g,X=Y.exec($);while(X!==null)Z[X[1]]=X[2],X=Y.exec($);return Z}function yW($,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 PW($,Z){let Y=$ instanceof Date?$:new Date(String($));if(Number.isNaN(Y.getTime()))return String($);let X={};switch(Z){case"short":X.dateStyle="short";break;case"medium":X.dateStyle="medium";break;case"long":X.dateStyle="long";break;case"full":X.dateStyle="full";break;default:X.dateStyle="medium"}return Y.toLocaleDateString(void 0,X)}function CW($,Z){let Y=$ instanceof Date?$:new Date(String($));if(Number.isNaN(Y.getTime()))return String($);let X={};switch(Z){case"short":X.timeStyle="short";break;case"medium":X.timeStyle="medium";break;case"long":X.timeStyle="long";break;case"full":X.timeStyle="full";break;default:X.timeStyle="short"}return Y.toLocaleTimeString(void 0,X)}function vW($){return/\{[^}]+,\s*(?:plural|select|selectordinal|number|date|time)\s*,/.test($)}function uZ($,Z,Y=!0,X={}){let Q=$.split("."),J=Z;for(let K of Q){if(J===void 0||J===null)break;J=J[K]}if(J===void 0||J===null)return Y?$:"";let G=String(J);if(vW(G))return MW(G,X);if(G.includes("|")&&"count"in X){let K=Number(X.count),q=G.split("|");G=RW(q,K)}for(let[K,q]of Object.entries(X)){let W=K.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");G=G.replace(new RegExp(`:${W}`,"g"),String(q))}return G}async function lZ($,Z,Y,X){let Q=$,J=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)([\s\S]*?)@endtranslate/g,G={...Q3,...X.i18n},K=await AW(G.locale,X);Z.__translations=K,Z.__locale=G.locale,Z.__i18nConfig=G,Q=await dZ(Q,J,async(U,z,_,B,j)=>{try{let H={};if(_)try{let F=[()=>JSON.parse(_),()=>{let O=`{"data":${_}}`,V=JSON.parse(O);return typeof V.data==="object"?V.data:{}},()=>{return A0(_,Z)}];for(let O of F)try{if(H=O(),Object.keys(H).length>0)break}catch{}}catch(F){if(X.debug)console.error("Error parsing parameters for @translate directive:",F)}return uZ(z,K,G.fallbackToKey,H)||B.trim()}catch(H){if(X.debug)console.error("Error processing @translate directive:",H);return e("Translate",`Error in @translate('${z}'): ${H instanceof Error?H.message:String(H)}`,o.EVALUATION_ERROR)}});let q=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]+\})\s*)?\)/g;if(X.debug){console.warn(`Processing translations in template. Sections: ${Q.includes("<h2>Translation with Parameters</h2>")?"Parameters section found":"Parameters section missing"}`);let U=[...Q.matchAll(q)];console.warn(`Found ${U.length} @translate matches`),U.forEach((z,_)=>console.warn(`Match ${_}: ${z[0]}, Key: ${z[1]}, Params: ${z[2]||"none"}`))}return Q=await dZ(Q,/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)/g,async(U,z,_,B)=>{try{let j={};if(_)try{let H=[()=>JSON.parse(_),()=>{let L=`{"data":${_}}`,F=JSON.parse(L);return typeof F.data==="object"?F.data:{}},()=>{return A0(_,Z)}];for(let L of H)try{if(j=L(),Object.keys(j).length>0)break}catch{}}catch(H){if(X.debug)console.error("Error parsing parameters for @translate directive:",H)}return uZ(z,K,G.fallbackToKey,j)}catch(j){if(X.debug)console.error("Error processing @translate directive:",j);return e("Translate",`Error in @translate('${z}'): ${j instanceof Error?j.message:String(j)}`,o.EVALUATION_ERROR)}}),Q}async function dZ($,Z,Y){let X=[];return $.replace(Z,(J,...G)=>{let K=Y(J,...G).then((q)=>({match:J,replacement:q}));return X.push(K),J}),(await Promise.all(X)).reduce((J,{match:G,replacement:K})=>J.replace(G,K),$)}var q$,Q3,X3,W$,$3;var cZ=k(()=>{z1();H0();Q3={defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},X3={},W$={},$3={}});function fW($){let Z=$.replace(/^<template\b/i,"").replace(/>$/,"");return xW.test(Z)}function L5($){U$.lastIndex=0;let Z;while((Z=U$.exec($))!==null){if(Z[0].startsWith("</")||fW(Z[0]))continue;let Y=Z.index,X=U$.lastIndex,Q=1,J;while((J=U$.exec($))!==null)if(J[0].startsWith("</")){if(Q--,Q===0){let G=J.index;return{start:Y,openEnd:X,closeStart:G,end:U$.lastIndex,content:$.slice(X,G)}}}else Q++;return null}return null}var U$,xW;var J4=k(()=>{U$=/<\/?template\b[^>]*>/gi,xW=/(?:^|\s)(?:id\s*=|(?:x-|[@:])(?:for|if|else(?:-if)?)(?=\s|=|$)|#[\w-]+(?:\s*=|\s|$)|v-slot(?::[\w-]+)?(?=\s|=|$)|slot\s*=)/i});var W3={};t(W3,{streamingSuspenseDirective:()=>nZ,streamToResponse:()=>oW,streamTemplateSimple:()=>pW,streamTemplate:()=>hW,renderStreamingPage:()=>dW,registerStreamingDirectives:()=>nW,processStreamDirectives:()=>lW,processSectionDirectives:()=>sW,islandDirective:()=>sZ,generateHydrationRuntime:()=>rW,extractStreamBoundaries:()=>cW,createStreamRenderer:()=>iW,buildSuspenseResolveScript:()=>q3,SUSPENSE_RESOLVER_RUNTIME:()=>iZ});import Q4 from"path";function gW($){let Z=[],Y=0,X;pZ.lastIndex=0;while((X=pZ.exec($))!==null){if(X.index>Y){let G=$.slice(Y,X.index);if(G.trim())Z.push({type:Z.length===0?"shell":"content",content:G})}let Q=X[1],J=X[2];Z.push({type:"suspense",name:Q,content:J}),Y=X.index+X[0].length}if(Y<$.length){let Q=$.slice(Y);if(Q.trim())Z.push({type:Z.length===0?"shell":"content",content:Q})}if(Z.length===0)Z.push({type:"shell",content:$});return Z}async function hW($,Z={},Y={}){let X={...B1,...Y,streaming:{...K3,...Y.streaming}},Q=X.streaming?.bufferSize||16384;return new ReadableStream({async start(J){try{let G=await Bun.file($).text(),K=G.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),q=K?K[1]:"",W=G.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),U={...Z,__filename:$,__dirname:Q4.dirname($)};if(q.trim())await _1(q,U,$);let z=gW(W),_=new Set;if(!z.some((j)=>j.type==="suspense")){let j=X.streaming?.strategy||"auto",H=new RegExp(s1.source,"g");if(!(j!=="manual"&&H.test(W))){let F=await O0(W,U,$,X,_);for(let O=0;O<F.length;O+=Q)J.enqueue(F.slice(O,O+Q)),await new Promise((V)=>setTimeout(V,0))}else{let F=[],O=new RegExp(s1.source,"g"),V;while((V=O.exec(W))!==null)F.push({name:V[1],content:V[2],start:V.index,end:V.index+V[0].length});let w=0;for(let A of F){if(A.start>w){let R=W.slice(w,A.start);if(R.trim()){let N=await O0(R,U,$,X,_);J.enqueue(N),await new Promise((T)=>setTimeout(T,0))}}let M=await O0(A.content,U,$,X,_);J.enqueue(M),await new Promise((R)=>setTimeout(R,0)),w=A.end}if(w<W.length){let A=W.slice(w);if(A.trim()){let M=await O0(A,U,$,X,_);J.enqueue(M)}}}}else{let j=new Map;for(let L of z)if(L.type==="shell"||L.type==="content"){let F=await O0(L.content,U,$,X,_);J.enqueue(F)}else if(L.type==="suspense"&&L.name){let F=`stx-suspense-${L.name}`;J.enqueue(`<div id="${F}" data-suspense="${L.name}" style="display:contents;">
|
|
1684
1684
|
<template data-suspense-fallback>Loading...</template>
|
|
1685
1685
|
</div>`),j.set(L.name,O0(L.content,U,$,X,_))}J.enqueue(`
|
|
1686
1686
|
<script>
|
|
@@ -1698,13 +1698,13 @@ ${Q}`)}function VZ($,Z){let Y=$;return Y=Y.replace(/<script(?![^>]*\ssrc=)([^>]*
|
|
|
1698
1698
|
}
|
|
1699
1699
|
};
|
|
1700
1700
|
})();
|
|
1701
|
-
</script>`);let H=Array.from(j.entries()).map(async([L,F])=>{J.enqueue(await
|
|
1701
|
+
</script>`);let H=Array.from(j.entries()).map(async([L,F])=>{J.enqueue(await q3(L,F))});await Promise.all(H)}J.close()}catch(G){J.error(G)}}})}async function q3($,Z){try{let X=(await Z).replace(/`/g,"\\`").replace(/<\/script>/gi,"<\\/script>");return`
|
|
1702
1702
|
<script>
|
|
1703
1703
|
window.__stxSuspense.resolve('${$}', \`${X}\`);
|
|
1704
1704
|
</script>`}catch(Y){let X=Y instanceof Error?Y.message:String(Y);return`
|
|
1705
1705
|
<script>
|
|
1706
1706
|
window.__stxSuspense.resolve('${$}', '<div class="stx-error">Error loading content: ${a0(X)}</div>');
|
|
1707
|
-
</script>`}}function
|
|
1707
|
+
</script>`}}function uW($,Z,Y){if(!Z||Z<=0)return $;let X,Q=new Promise((J,G)=>{X=setTimeout(()=>G(Error(`streaming boundary "${Y}" timed out after ${Z}ms`)),Z)});return Promise.race([$,Q]).finally(()=>clearTimeout(X))}function dW($,Z=[],Y={}){let X=Y.timeoutMs??0;return new ReadableStream({async start(Q){try{if(Q.enqueue($),Z.length>0)Q.enqueue(iZ),await Promise.all(Z.map(async(J)=>{let G=uW(J.render(),X,J.id);Q.enqueue(await q3(J.id,G))}));Q.close()}catch(J){Q.error(J)}}})}function lW($,Z){return $.replace(mW,(Y,X,Q)=>{let J=X.trim(),G=Q.split(/@fallback/i),K=G[0].trim(),q=G.length>1?G.slice(1).join("@fallback").trim():"";if(!Z.__streamTemplates)Z.__streamTemplates={};return Z.__streamTemplates[J]=K,`<div data-suspense="${J}">${q}</div>`})}function cW($){let Z=$?.streamBoundaries;if(!Z||typeof Z!=="object")return;let Y=Object.entries(Z).filter(([,X])=>typeof X==="function");return Y.length>0?Y.map(([X,Q])=>({id:X,render:Q})):void 0}async function pW($,Z={},Y={}){let X={...B1,...Y,streaming:{...K3,...Y.streaming}},Q=X.streaming?.bufferSize||16384;return new ReadableStream({async start(J){try{let G=await Bun.file($).text(),K=G.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),q=K?K[1]:"",W=G.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),U={...Z,__filename:$,__dirname:Q4.dirname($)};if(q.trim())await _1(q,U,$);let z=new Set,_=X.streaming?.strategy||"auto",B=new RegExp(s1.source,"g");if(!(_!=="manual"&&B.test(W))){let H=await O0(W,U,$,X,z);for(let L=0;L<H.length;L+=Q)J.enqueue(H.slice(L,L+Q))}else{let H=[],L=new RegExp(s1.source,"g"),F;while((F=L.exec(W))!==null)H.push({name:F[1],content:F[2],start:F.index,end:F.index+F[0].length});let O=0;for(let V of H){if(V.start>O){let A=W.slice(O,V.start);if(A.trim()){let M=await O0(A,U,$,X,z);J.enqueue(M)}}let w=await O0(V.content,U,$,X,z);J.enqueue(w),O=V.end}if(O<W.length){let V=W.slice(O);if(V.trim()){let w=await O0(V,U,$,X,z);J.enqueue(w)}}}J.close()}catch(G){J.error(G)}}})}async function iW($,Z={}){let Y={...B1,...Z,streaming:{...K3,...Z.streaming}},X=await Bun.file($).text(),Q=X.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),J=Q?Q[1]:"",G=X.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),K=G,q={},W;s1.lastIndex=0;while((W=s1.exec(G))!==null){let _=W[1],B=W[2];q[_]=B}let U=G.replace(s1,"");return{renderShell:async(_={})=>{let B={..._,__filename:$,__dirname:Q4.dirname($)};return await _1(J,B,$),O0(U,B,$,Y,new Set)},renderSection:async(_,B={})=>{try{if(!q[_])return`<div class="error-message">Section "${a0(_)}" not found in template "${a0($)}"</div>`;let j={...B,__filename:$,__dirname:Q4.dirname($)};await _1(J,j,$);let H=new Set;return await O0(q[_],j,$,Y,H)}catch(j){let H=j instanceof Error?j.message:String(j);return W0("Expression",H,$,q[_]||"",0,q[_]||"")}},getSections:()=>{return Object.keys(q)},getTemplate:()=>{return K}}}function nW($={}){let Z=[];if($.streaming?.enabled)Z.push(nZ);if($.hydration?.enabled)Z.push(sZ);return Z}async function sW($,Z,Y,X={}){return $}function oW($,Z={}){let Y=new TextEncoder,X=$.pipeThrough(new TransformStream({transform(J,G){G.enqueue(Y.encode(J))}})),Q=new Headers(Z.headers);if(!Q.has("Content-Type"))Q.set("Content-Type","text/html; charset=utf-8");if(!Q.has("Transfer-Encoding"))Q.set("Transfer-Encoding","chunked");if(!Q.has("X-Content-Type-Options"))Q.set("X-Content-Type-Options","nosniff");if(!Q.has("X-Accel-Buffering"))Q.set("X-Accel-Buffering","no");return new Response(X,{...Z,headers:Q})}function rW($={mode:"full"}){let{mode:Z,components:Y={},dynamicImports:X=!0}=$,Q=Object.entries(Y).map(([J,G])=>`'${J}': ${X?`() => import('${G}')`:`require('${G}')`}`).join(`,
|
|
1708
1708
|
`);if(Z==="loader")return`
|
|
1709
1709
|
(function() {
|
|
1710
1710
|
window.__stx = window.__stx || {};
|
|
@@ -1846,7 +1846,7 @@ else {
|
|
|
1846
1846
|
else {
|
|
1847
1847
|
stx.hydrate();
|
|
1848
1848
|
}
|
|
1849
|
-
})();`}var
|
|
1849
|
+
})();`}var K3,s1,pZ,iZ=`
|
|
1850
1850
|
<script>
|
|
1851
1851
|
(function(){
|
|
1852
1852
|
window.__stxSuspense = window.__stxSuspense || {
|
|
@@ -1866,25 +1866,25 @@ else {
|
|
|
1866
1866
|
}
|
|
1867
1867
|
};
|
|
1868
1868
|
})();
|
|
1869
|
-
</script>`,
|
|
1869
|
+
</script>`,mW,nZ,sZ;var U3=k(()=>{m1();X1();G4();w0();K3={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},s1=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g,pZ=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;mW=/@stream\s*\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)@endstream/gi;nZ={name:"suspense",hasEndTag:!0,handler:($,Z,Y,X)=>{if(!Z||Z.length===0)throw Error("Suspense directive requires a name parameter");let Q=Z[0].replace(/['"`]/g,"");return`<!-- @suspense:${Q} -->${$}<!-- @endsuspense:${Q} -->`}},sZ={name:"island",hasEndTag:!0,handler:($,Z,Y,X)=>{if(!Z||Z.length===0)throw Error("Island directive requires a name parameter");let Q=Z[0].replace(/['"`]/g,""),J=Z[1]?Z[1].replace(/['"`]/g,""):"lazy",G=`island-${Q}-${Math.random().toString(36).substring(2,9)}`,K=$.match(/<script\s+props\s*>([\s\S]*?)<\/script>/i),q=K?K[1].trim():"",W=K?$.replace(K[0],""):$;return`<div data-island="${Q}" data-island-id="${G}" data-priority="${J}">
|
|
1870
1870
|
${W}
|
|
1871
1871
|
<script type="application/json" data-island-props="${G}">
|
|
1872
1872
|
${q?`{${q}}`:"{}"}
|
|
1873
1873
|
</script>
|
|
1874
|
-
</div>`}}});var
|
|
1875
|
-
`).length;Y.set(q,{count:1,firstLine:z})}}}let G=[];for(let K of new Set([...Y.keys(),...X.keys()])){if(
|
|
1876
|
-
`}if(V){let S=[];if(U==="avif"||U==="auto"){let b=
|
|
1874
|
+
</div>`}}});var aZ={};t(aZ,{warnUnbalancedTags:()=>z3,findUnbalancedTags:()=>rZ});function F5($){return $.replace(/[^\n]/g," ")}function rZ($){let Z=$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,F5).replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,F5).replace(/<!--[\s\S]*?-->/g,F5).replace(/\{\{\{[\s\S]*?\}\}\}/g,F5).replace(/\{\{[\s\S]*?\}\}/g,F5).replace(/\{!![\s\S]*?!!\}/g,F5),Y=new Map,X=new Map,Q=/<(\/?)([A-Za-z][\w-]*)\b(?:[^>"']|"[^"]*"|'[^']*')*?(\/?)>/g,J;while((J=Q.exec(Z))!==null){let K=J[1]==="/",q=J[2],W=J[3]==="/";if(aW.has(q.toLowerCase()))continue;if(W)continue;if(K)X.set(q,(X.get(q)??0)+1);else{let U=Y.get(q);if(U)U.count++;else{let z=Z.slice(0,J.index).split(`
|
|
1875
|
+
`).length;Y.set(q,{count:1,firstLine:z})}}}let G=[];for(let K of new Set([...Y.keys(),...X.keys()])){if(tW.has(K.toLowerCase()))continue;let q=Y.get(K)?.count??0,W=X.get(K)??0;if(q!==W)G.push({tag:K,opened:q,closed:W,firstOpenLine:Y.get(K)?.firstLine??0})}return G}function z3($,Z){let Y;try{Y=rZ($)}catch{return}if(Y.length===0)return;let X=`${Z}:${$.length}`;if(oZ.has(X))return;oZ.add(X);let Q=Z?Z.split(/[/\\]/).pop()||Z:"template";for(let{tag:J,opened:G,closed:K,firstOpenLine:q}of Y)if(G>K){let W=q?` (first opened at line ${q})`:"";console.warn(`[stx] ${Q}: <${J}> ${G} opened, ${K} closed \u2014 an unclosed <${J}>${W} may swallow the content that follows it.`)}else console.warn(`[stx] ${Q}: <${J}> ${G} opened, ${K} closed \u2014 ${K-G} stray </${J}>.`)}var aW,tW,oZ;var _3=k(()=>{aW=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),tW=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);oZ=new Set});import i0 from"path";import B3 from"fs";function tZ($){return $.split("-").map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join("")}function eZ($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class $2{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,X){let Q=$.endsWith(".stx")?$.slice(0,-4):$,J=X?.__importedComponents;if(J){let B=[Q,Q.toLowerCase(),tZ(Q),eZ(Q)];for(let j of B)if(J.has(j))return J.get(j)}let G=[...new Set([`${Q}.stx`,`${tZ(Q)}.stx`,`${eZ(Q)}.stx`])];if(Q.startsWith("./")||Q.startsWith("../")){let B=i0.resolve(i0.dirname(Z),`${Q}.stx`);if(await p(B))return B;return null}let K=[],q=Y.componentsDir||"",W=X?.__originalFilePath;if(W)K.push(i0.join(i0.dirname(W),"components"));if(q)K.push(q);let U=i0.join(i0.dirname(Z),"components");if(!K.includes(U))K.push(U);let z=process.cwd(),_=[i0.resolve(z,"src/components"),i0.resolve(z,"components"),i0.resolve(import.meta.dir,"components")];for(let B of _)if(!K.includes(B))K.push(B);for(let B of K){if(!B)continue;for(let j of G){let H=i0.join(B,j);if(await p(H))return H}try{if(!B3.statSync(B,{throwIfNoEntry:!1})?.isDirectory())continue;let H=B3.readdirSync(B,{withFileTypes:!0});for(let L of H)if(L.isDirectory()){let F=i0.join(B,L.name);for(let O of G){let V=i0.join(F,O);if(await p(V))return V}}}catch{}}return null}}var v0;var j3=k(()=>{w0();v0=new $2});function D0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function V5($,Z){let Y=[];for(let[X,Q]of Object.entries($.static)){if(Z.has(X))continue;let J=$.staticNames?.[X]??X;if(typeof Q==="boolean"){if(Q)Y.push(D0(J));continue}Y.push(`${D0(J)}="${D0(Q)}"`)}return Y}var K4=()=>{};function z$($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function eW($){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 H3;var O3=k(()=>{K4();H3={name:"StxLink",aliases:["stx-link"],render($,Z,Y){let X=eW($),Q=(typeof $.static.class==="string"?$.static.class:"")||(typeof $.static.className==="string"?$.static.className:""),J=typeof $.static.activeClass==="string"?$.static.activeClass:"active",G=typeof $.static.exactActiveClass==="string"?$.static.exactActiveClass:"exact-active",K=$.static.prefetch===!0||$.static.prefetch==="true"||$.serverDynamic.prefetch===!0,q=[];if(X.reactive)q.push(`:href="${z$(X.value)}"`);else q.push(`href="${z$(X.value)}"`);if(Q)q.push(`class="${z$(Q)}"`);if(q.push("data-stx-link"),q.push(`data-stx-active-class="${z$(J)}"`),q.push(`data-stx-exact-active-class="${z$(G)}"`),K)q.push("data-stx-prefetch");let W=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);return q.push(...V5($,W)),`<a ${q.join(" ")}>${Z}</a>`}}});function M0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function k0($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}function F3($,Z,Y=!1){let X=$.serverDynamic[Z];if(X!==void 0)return X!==!1&&X!=="false";let Q=$.static[Z];if(Q!==void 0)return Q!=="false"&&Q!==!1;return Y}function Z2($){if($.includes("(")||$.includes(","))return $;let Z=$.trim().split(/\s+/),Y=[];for(let X of Z)if(X.includes(":")){let[Q,J]=X.split(":"),G=$U[Q];if(G)Y.push(`(max-width: ${G}px) ${J}`);else{let K=Number.parseInt(Q);if(!Number.isNaN(K))Y.push(`(max-width: ${K}px) ${J}`)}}else Y.push(X);return Y.join(", ")}function V3($,Z,Y,X){return Z.map((Q)=>`${_$($,Q,void 0,Y,X)} ${Q}w`).join(", ")}function ZU($,Z,Y,X,Q){return Z.map((J)=>{let G=Y?Y*J:void 0;return`${_$($,G,void 0,X,Q)} ${J}x`}).join(", ")}function _$($,Z,Y,X,Q){if(!X||X==="local"||X==="static")return $;if(X==="cloudinary"){let J=[];if(Z)J.push(`w_${Z}`);if(Y)J.push(`h_${Y}`);if(Q)J.push(`f_${Q}`);J.push("q_auto");let G=J.join(",");return $.replace("/upload/",`/upload/${G}/`)}if(X==="imgix"){let J=new URLSearchParams;if(Z)J.set("w",String(Z));if(Y)J.set("h",String(Y));if(Q)J.set("fm",Q);J.set("auto","format");let G=$.includes("?")?"&":"?";return`${$}${G}${J.toString()}`}if(X==="bunny"){let J=new URLSearchParams;if(Z)J.set("width",String(Z));if(Y)J.set("height",String(Y));if(Q)J.set("format",Q);let G=$.includes("?")?"&":"?";return`${$}${G}${J.toString()}`}return $}function YU($,Z,Y="#e5e7eb"){let X=`<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(X)}`}var $U,L3,w3;var A3=k(()=>{K4();$U={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},L3=[320,640,768,1024,1280,1536,1920];w3={name:"StxImage",aliases:["stx-image","stx-img"],render($,Z,Y){let X=k0($,"src")||"",Q=k0($,"alt")||"",J=k0($,"width"),G=k0($,"height"),K=k0($,"sizes"),q=k0($,"srcset"),W=k0($,"densities"),U=k0($,"format"),z=k0($,"placeholder"),_=k0($,"placeholderColor")||"#e5e7eb",B=k0($,"provider"),j=k0($,"class")||k0($,"className")||"",H=k0($,"style")||"",L=k0($,"quality"),F=F3($,"lazy",!0),O=F3($,"preload",!1),V=F3($,"picture",!1)||!!U,w=J?Number.parseInt(J):void 0,A=G?Number.parseInt(G):void 0,M=q||"",R="";if(!M&&K)M=V3(X,L3,B,U),R=Z2(K);else if(!M&&W){let S=W.split(/\s+/).map((b)=>Number.parseFloat(b.replace("x","")));M=ZU(X,S,w,B,U)}else if(K)R=Z2(K);let N=[];if(H)N.push(H);if(w&&A)N.push(`aspect-ratio:${w}/${A}`);if(z==="blur"||z==="color"||z==="thumbhash"){let S=YU(w||16,A||9,_);N.push(`background-image:url(${S})`),N.push("background-size:cover"),N.push("background-repeat:no-repeat")}else if(z&&z!=="empty"&&z!=="none")N.push(`background-image:url(${M0(z)})`),N.push("background-size:cover"),N.push("background-repeat:no-repeat");let T=_$(X,w,A,B,U),I=[];if(I.push(`src="${M0(T)}"`),I.push(`alt="${M0(Q)}"`),J)I.push(`width="${M0(J)}"`);if(G)I.push(`height="${M0(G)}"`);if(F)I.push('loading="lazy"');if(I.push('decoding="async"'),j)I.push(`class="${M0(j)}"`);if(N.length>0)I.push(`style="${M0(N.join(";"))}"`);if(M)I.push(`srcset="${M0(M)}"`);if(R)I.push(`sizes="${M0(R)}"`);let D=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);I.push(...V5($,D));let E=`<img ${I.join(" ")} />`,y="";if(O){let b=U==="webp"?"image/webp":U==="avif"?"image/avif":"";y=`<link rel="preload" as="image" href="${M0(T)}"${b?` type="${b}"`:""}${M?` imagesrcset="${M0(M)}"`:""}${R?` imagesizes="${M0(R)}"`:""} />
|
|
1876
|
+
`}if(V){let S=[];if(U==="avif"||U==="auto"){let b=_$(X,w,A,B,"avif"),v=M?V3(X,L3,B,"avif"):`${b}`;S.push(`<source type="image/avif" srcset="${M0(v)}"${R?` sizes="${M0(R)}"`:""} />`)}if(U==="webp"||U==="auto"){let b=_$(X,w,A,B,"webp"),v=M?V3(X,L3,B,"webp"):`${b}`;S.push(`<source type="image/webp" srcset="${M0(v)}"${R?` sizes="${M0(R)}"`:""} />`)}return`${y}<picture>
|
|
1877
1877
|
${S.join(`
|
|
1878
1878
|
`)}
|
|
1879
1879
|
${E}
|
|
1880
|
-
</picture>`}return`${y}${E}`}}});function
|
|
1880
|
+
</picture>`}return`${y}${E}`}}});function B$($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function w5($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}var Y2="/images/safe-image-default.svg",XU,R3;var M3=k(()=>{K4();XU=`<script>window.__stxSafeImageHandler||(window.__stxSafeImageHandler=function(i){if(i.__stx_fb)return;i.__stx_fb=1;var f=i.getAttribute('data-fallback')||'${Y2}';var c=i.getAttribute('data-fallback-class');i.src=f;if(c)i.className=c;});</script>`,R3={name:"SafeImage",aliases:["safe-image","safe-img"],render($,Z,Y){let X=w5($,"src")||"",Q=w5($,"alt")||"",J=w5($,"fallback")||Y2,G=w5($,"class")||w5($,"className")||"",K=w5($,"fallbackClassName")||"",q=[];if(q.push(`src="${B$(X)}"`),q.push(`alt="${B$(Q)}"`),G)q.push(`class="${B$(G)}"`);if(q.push(`data-fallback="${B$(J)}"`),K)q.push(`data-fallback-class="${B$(K)}"`);q.push('onerror="window.__stxSafeImageHandler(this)"');let W=new Set(["src","alt","fallback","class","className","fallbackClassName"]);q.push(...V5($,W));let U=`<img ${q.join(" ")} />`,z=Y.context;if(!z.__safeImageHandlerEmitted)return z.__safeImageHandlerEmitted=!0,`${XU}${U}`;return U}}});function N3($){return $.replace(/[;{}()]/g,"").replace(/url/gi,"")}function j$($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}function q4($,Z,Y){let X=j$($,Z);if(X!==void 0){let Q=Number.parseInt(X,10);if(!Number.isNaN(Q))return Q}return Y}var T3;var I3=k(()=>{T3={name:"StxLoadingIndicator",aliases:["stx-loading-indicator"],render($,Z,Y){let X=N3(j$($,"color")||"#6366f1"),Q=N3(j$($,"initialColor")||j$($,"initial-color")||""),J=N3(j$($,"height")||"3px"),G=q4($,"duration",2000),K=q4($,"throttle",200),q=q4($,"zIndex",999999)||q4($,"z-index",999999),W=Q?`linear-gradient(to right, ${Q}, ${X})`:X;return`
|
|
1881
1881
|
<div id="stx-loading-indicator" style="position:fixed;top:0;left:0;right:0;height:${J};background:${W};z-index:${q};transform:scaleX(0);transform-origin:left;transition:transform 0.1s ease-out,opacity 0.3s ease;opacity:0;pointer-events:none">
|
|
1882
1882
|
<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>
|
|
1883
1883
|
</div>
|
|
1884
1884
|
<style>@keyframes stx-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}</style>
|
|
1885
1885
|
<script>
|
|
1886
1886
|
(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()})})();
|
|
1887
|
-
</script>`}}});function
|
|
1887
|
+
</script>`}}});function J2($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}function JU($,Z,Y){let X=J2($,Z);if(X!==void 0){let Q=Number.parseInt(X,10);if(!Number.isNaN(Q))return Q}return Y}var X2,E3;var D3=k(()=>{X2={"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%)"},E3={name:"StxToast",aliases:["stx-toast"],render($,Z,Y){let X=D0(J2($,"position")||"top-right"),Q=JU($,"max",5),J=X2[X]||X2["top-right"];return`<div id="stx-toast-container" data-stx-toast-position="${X}" data-stx-toast-max="${Q}" style="position:fixed;${J};z-index:999999;display:flex;flex-direction:column;gap:0.5rem;pointer-events:none;max-width:24rem;width:100%"></div>
|
|
1888
1888
|
<style>
|
|
1889
1889
|
@keyframes stx-toast-in{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}
|
|
1890
1890
|
@keyframes stx-toast-out{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}
|
|
@@ -1892,7 +1892,7 @@ ${E}
|
|
|
1892
1892
|
@keyframes stx-toast-out-left{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}
|
|
1893
1893
|
@keyframes stx-toast-in-center{from{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}
|
|
1894
1894
|
@keyframes stx-toast-out-center{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-1rem)}}
|
|
1895
|
-
</style>`}}});function
|
|
1895
|
+
</style>`}}});function W4($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}var Q2,k3;var b3=k(()=>{Q2={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)"},k3={name:"StxModal",aliases:["stx-modal"],render($,Z,Y){let X=W4($,"id");if(!X)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let Q=D0(X),J=W4($,"size")||"md",G=W4($,"closeOnBackdrop")!=="false",K=W4($,"closeOnEscape")!=="false",q=Q2[J]||Q2.md;return`<div id="stx-modal-${Q}" class="stx-modal-backdrop" data-stx-modal="${Q}" 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">
|
|
1896
1896
|
<div class="stx-modal-panel" style="${q};width:100%;margin:1rem;border-radius:0.75rem;box-shadow:0 20px 60px rgba(0,0,0,0.3);overflow:hidden;transform:scale(0.95) translateY(8px);transition:transform 0.2s ease,opacity 0.2s ease;opacity:0;background:var(--stx-modal-bg,#fff);color:var(--stx-modal-text,#1f2937)">
|
|
1897
1897
|
<div style="padding:1.5rem">${Z}</div>
|
|
1898
1898
|
</div>
|
|
@@ -1901,7 +1901,7 @@ ${E}
|
|
|
1901
1901
|
@media(prefers-color-scheme:dark){[data-stx-modal]{--stx-modal-bg:#1f2937;--stx-modal-text:#f3f4f6}}
|
|
1902
1902
|
.stx-modal-backdrop[data-stx-modal-open]{display:flex!important;opacity:1}
|
|
1903
1903
|
.stx-modal-backdrop[data-stx-modal-open] .stx-modal-panel{transform:scale(1) translateY(0);opacity:1}
|
|
1904
|
-
</style>`}}});function
|
|
1904
|
+
</style>`}}});function A5($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}var G2,S3;var y3=k(()=>{G2={sm:"16rem",md:"24rem",lg:"32rem",xl:"40rem"},S3={name:"StxDrawer",aliases:["stx-drawer"],render($,Z,Y){let X=A5($,"id");if(!X)return console.warn('[stx] <StxDrawer> requires an "id" prop'),"<!-- StxDrawer: missing id prop -->";let Q=D0(X),J=A5($,"side")||"right",G=A5($,"size")||"md",K=A5($,"closeOnBackdrop")!=="false",q=A5($,"closeOnEscape")!=="false",W=A5($,"overlay")!=="false",U=G2[G]||G2.md,z=J==="left",_=z?"left:0":"right:0",B=z?"translateX(-100%)":"translateX(100%)",j=z?"stx-drawer-slide-left":"stx-drawer-slide-right";return`<div id="stx-drawer-${Q}" class="stx-drawer-backdrop" data-stx-drawer="${Q}" data-close-backdrop="${K}" data-close-escape="${q}" style="display:none;position:fixed;inset:0;z-index:99999;${W?"background:rgba(0,0,0,0.5);backdrop-filter:blur(2px)":"background:transparent;pointer-events:none"};opacity:0;transition:opacity 0.2s ease" role="dialog" aria-modal="true">
|
|
1905
1905
|
<div class="stx-drawer-panel" style="position:fixed;top:0;bottom:0;${_};width:${U};max-width:100vw;transform:${B};transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);background:var(--stx-drawer-bg,#fff);color:var(--stx-drawer-text,#1f2937);box-shadow:0 20px 60px rgba(0,0,0,0.3);overflow-y:auto;pointer-events:auto">
|
|
1906
1906
|
<div style="padding:1.5rem">${Z}</div>
|
|
1907
1907
|
</div>
|
|
@@ -1910,36 +1910,36 @@ ${E}
|
|
|
1910
1910
|
@media(prefers-color-scheme:dark){[data-stx-drawer]{--stx-drawer-bg:#1f2937;--stx-drawer-text:#f3f4f6}}
|
|
1911
1911
|
.stx-drawer-backdrop[data-stx-drawer-open]{display:block!important;opacity:1}
|
|
1912
1912
|
.stx-drawer-backdrop[data-stx-drawer-open] .stx-drawer-panel{transform:translateX(0)}
|
|
1913
|
-
</style>`}}});import{existsSync as
|
|
1914
|
-
`||N==="\t")F++;O=M+H.length}else{if(F--,F===0){V=R;break}O=R+L.length}}if(V===-1){Q=_;continue}let w=$.slice(_,V),A=V+L.length;X.push({fullMatch:$.slice(J,A),tagName:q,attributes:j,content:w,startIndex:J,endIndex:A,isSelfClosing:!1}),Q=A}}return X}function z2($,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 _2=k(()=>{H0();w0();h1()});var V2={};t(V2,{processESImports:()=>L2,processComponents:()=>B4});import _4 from"fs";import u0 from"path";function qU($,Z,Y){let X={static:{},staticNames:{},serverDynamic:{},clientReactive:{},events:{}},Q=new Set(["x-cloak","x-show","x-if","x-for","x-data","x-init","x-transition","x-ref","x-effect","x-model","x-text","x-html","x-class","x-style","x-on","x-bind"]),J=(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,(q,W)=>W.toUpperCase())},G=(K,q)=>{let W=J(K);if(X.static[W]=q,W!==K)X.staticNames[W]=K};for(let[K,q]of Object.entries($)){let W=K.startsWith("x-")&&!Q.has(K)&&!K.startsWith("x-bind:")&&!K.startsWith("x-on:")?`:${K.slice(2)}`:K;if(W.startsWith("@")){X.events[W]=q;continue}if(W.startsWith("__stx_")){let U=J(W.slice(6));X.serverDynamic[U]=z2(q,Y);continue}if(W.startsWith(":")){let U=J(W.slice(1)),z=q===g3?U:q;if(U==="if"||U==="for"||U==="show"){X.clientReactive[U]=z;continue}try{if(!G0(z)){if(Y.debug)console.error(`Unsafe expression in :${U} binding: ${z}`);X.clientReactive[U]=z;continue}let _=Object.keys(Z),j=K0(z,_)(...Object.values(Z));if(j===void 0){let H=z.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)&&!_.includes(O))){X.clientReactive[U]=z;continue}}X.serverDynamic[U]=j}catch{X.clientReactive[U]=z}continue}if(typeof q==="string"&&q.includes("{{")&&q.includes("}}")){let U=q.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(U)try{let z=U[1];if(G0(z)){let B=K0(z,Object.keys(Z))(...Object.values(Z));G(W,B!=null?String(B):"")}else{if(Y.debug)console.error(`Unsafe expression in ${W}: ${z}`);G(W,q)}}catch(z){if(Y.debug)console.error(`Error evaluating expression for ${W}:`,z);G(W,q)}else{let z=q,_=/\{\{\s*([\s\S]+?)\s*\}\}/g,B;while((B=_.exec(q))!==null)try{let j=B[1];if(!G0(j)){if(Y.debug)console.error(`Unsafe expression in ${W}: ${j}`);continue}let L=K0(j,Object.keys(Z))(...Object.values(Z));z=z.replace(B[0],String(L??""))}catch(j){if(Y.debug)console.error(`Error evaluating expression in ${W}:`,j)}G(W,z)}continue}G(W,q===g3?"true":q)}return X}function WU($){let Z={},Y=0,X=$.length;while(Y<X){while(Y<X&&/\s/.test($[Y]))Y++;if(Y>=X)break;let Q="";while(Y<X&&!/[\s=]/.test($[Y]))Q+=$[Y],Y++;if(!Q)break;while(Y<X&&/\s/.test($[Y]))Y++;if(Y<X&&$[Y]==="="){Y++;while(Y<X&&/\s/.test($[Y]))Y++;let J="";if(Y<X&&($[Y]==='"'||$[Y]==="'")){let G=$[Y];Y++;while(Y<X){let K=$[Y];if(K==="\\"&&Y+1<X){Y++,J+=$[Y],Y++;continue}if(K===G){Y++;break}J+=K,Y++}}else while(Y<X&&!/\s/.test($[Y]))J+=$[Y],Y++;Z[Q]=J}else Z[Q]=g3}return Z}function j2($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function UU($){let Z=new Set,Y=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,X;while((X=Y.exec($))!==null){let Q=X[1];if(v0.isBuiltin(Q))Z.add(Q)}return[...Z].sort()}function zU($){let Z=H2.get($);if(Z)return Z;let Y=new Map,X=[u0.join($,"src"),u0.join($,"dist"),$];function Q(J,G){if(G>6)return;let K;try{K=_4.readdirSync(J,{withFileTypes:!0})}catch{return}for(let q of K){let W=u0.join(J,q.name);if(q.isDirectory()){if(q.name==="node_modules"||q.name.startsWith("."))continue;Q(W,G+1)}else if(q.isFile()&&q.name.endsWith(".stx")){let U=q.name.slice(0,-4);if(!Y.has(U))Y.set(U,W);let z=U.toLowerCase();if(!Y.has(z))Y.set(z,W);let _=U.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Y.has(_))Y.set(_,W)}}}for(let J of X)if(Q(J,0),Y.size>0)break;return H2.set($,Y),Y}function _U($,Z){if($.startsWith(".")||$.startsWith("/"))return null;let Y=Z;while(!0){let X=u0.join(Y,"node_modules",$);try{if(_4.statSync(X).isDirectory())return X}catch{}let Q=u0.dirname(Y);if(Q===Y)return null;Y=Q}}async function L2($,Z,Y,X,Q){if(!$.includes("import"))return $;if(!Z.__importedComponents)Z.__importedComponents=new Map;let J=Z.__importedComponents,G=u0.dirname(Y),K=$,q=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return K=K.replace(q,(W,U,z)=>{let _=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,B=z,j,H=[];while((j=_.exec(z))!==null){let[L,F,O,V]=j,w=null,A=null;if(V.startsWith(".")||V.startsWith("/")){let N=u0.resolve(G,V);if(N.endsWith(".stx"))A=N;else{let T=`${N}.stx`;try{if(_4.statSync(T).isFile())A=T}catch{try{if(_4.statSync(N).isDirectory())w=N}catch{}}}}else w=_U(V,G);if(!w&&!A)continue;let M=!1,R=(N,T)=>{J.set(N,T),J.set(N.toLowerCase(),T);let I=N.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();J.set(I,T),Q.add(T)};if(O&&A)R(O,A),M=!0;else if(F){let N=F.slice(1,-1).split(",").map((I)=>I.trim()).filter(Boolean).map((I)=>{let D=I.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(D)return{source:D[1],local:D[2]};return{source:I,local:I}}),T=w?zU(w):null;for(let{source:I,local:D}of N){let E=null;if(A)E=A;else if(T)E=T.get(I)??T.get(I.toLowerCase())??T.get(I.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(E)R(D,E),M=!0}}if(M)H.push({start:j.index,end:j.index+L.length})}if(H.length===0)return W;for(let L=H.length-1;L>=0;L--)B=B.slice(0,H[L].start)+B.slice(H[L].end);return`<script${U}>${B}</script>`}),K}async function BU($,Z,Y,X,Q){let J=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,K=/@import\s*\(\s*([^)]+)\s*\)/g,q;while((q=K.exec(J))!==null){let[W,U]=q,z=U.split(",").map((_)=>_.trim().replace(/^['"]|['"]$/g,"")).filter((_)=>_.length>0);for(let _ of z){let B=_.split("/"),H=B[B.length-1].replace(/\.stx$/,""),L=H.includes("-")?H.split("-").map((V)=>V.charAt(0).toUpperCase()+V.slice(1)).join(""):H.charAt(0).toUpperCase()+H.slice(1),F=null,O=[u0.resolve(u0.dirname(Y),`${_}.stx`),u0.resolve(u0.dirname(Y),_),u0.resolve(X.componentsDir||"components",`${_}.stx`),u0.resolve(X.componentsDir||"components",_),_.endsWith(".stx")?_:`${_}.stx`];for(let V of O)try{if(await Bun.file(V).exists()){F=V;break}}catch{}if(F){G.set(L,F),G.set(H,F),G.set(H.toLowerCase(),F);let V=L.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(G.set(V,F),Q.add(F),X.debug)console.log(`Imported component: ${L} -> ${F}`)}else if(X.debug)console.warn(`Could not resolve imported component: ${_}`)}J=J.replace(W,""),K.lastIndex=0}return J}async function jU($,Z,Y,X,Q){let J=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,q=/@component\s*\(/g,W;while((W=q.exec(J))!==null){let U=W.index,z=U+W[0].length-1,_=1,B=z+1;while(B<J.length&&_>0){if(J[B]==="(")_++;else if(J[B]===")"){if(_--,_===0)break}B++}if(_!==0)break;let j=J.substring(z+1,B),H=B+1,L=j.match(/^\s*['"]([^'"]+)['"]/);if(!L){q.lastIndex=0;continue}let F=L[1],O,V=j.slice(L[0].length),w=V.match(/^\s*,\s*/);if(w)O=V.slice(w[0].length).trim();let A={};if(O)try{A=A0(O,Z)}catch(D){let E=D instanceof Error?D.message:String(D);J=J.replace(J.substring(U,H),`[Error parsing component props: ${E}]`);continue}let M="",R=H,T=J.substring(H).match(/^([\s\S]*?)@endcomponent/);if(T)M=T[1].trim(),R=H+T[0].length;let I=await s1(F,A,M,G,Z,Y,X,K,Q);J=J.substring(0,U)+I+J.substring(R),q.lastIndex=0}return J}async function HU($,Z,Y,X,Q){if(!$)return $;let J=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,q=F1(J);return J=q.output,J=await _(J,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),J=await _(J,/[A-Z][a-zA-Z0-9]*/,!0),J=await _(J,/[a-z][a-z0-9]*/,!1,KU),J=r5(J,q.scripts),J;async function _(B,j,H,L){if(!B)return B;let F=B,O=U2(F,j,L);for(let V=O.length-1;V>=0;V--){let w=O[V],A=H?U4(w.tagName):w.tagName,M=WU(w.attributes),R=qU(M,Z,X),N=v0.getBuiltin(w.tagName),T=N?await z4(A,G,Z,Y,X):!1;if(N&&!T){let y={context:Z,filePath:Y,options:X,dependencies:Q},S=N.render(R,w.content,y);if(Object.keys(R.clientReactive).length>0)S=O2(S,R.clientReactive);if(Object.keys(R.events).length>0){let b=Object.entries(R.events).map(([v,h])=>`${v}="${j2(h)}"`).join(" ");S=S.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${b}`)}F=F.substring(0,w.startIndex)+S+F.substring(w.endIndex);continue}if(!H&&w.tagName.includes("-")&&!await z4(A,G,Z,Y,X))continue;let I={};for(let[y,S]of Object.entries(R.static))I[y]=S;for(let[y,S]of Object.entries(R.serverDynamic))I[y]=S;let E=await s1(A,I,w.content,G,Z,Y,X,K,Q);if(Object.keys(R.clientReactive).length>0)E=O2(E,R.clientReactive);if(Object.keys(R.events).length>0){let y=F2(E);if(y){let S=Object.entries(R.events).map(([v,h])=>`${v}="${j2(h)}"`).join(" "),b=Object.keys(R.events).map((v)=>v.replace(/^@/,"").split(".")[0]).join(" ");E=E.substring(0,y.insertPos)+` data-stx-parent-events="${b}" ${S}`+E.substring(y.insertPos)}}F=F.substring(0,w.startIndex)+E+F.substring(w.endIndex)}return F}}function O2($,Z){let Y=new Set(["if","for"]),X=new Set(["show"]),Q=Object.entries(Z).filter(([U])=>!Y.has(U)),J=Q.filter(([U])=>!X.has(U)).map(([U])=>U4(U)).join(" "),G=$,K=Q.length>0?F2(G):null;if(K){let U=Q.map(([_,B])=>`:${U4(_)}="${B.replace(/"/g,""")}"`).join(" "),z=J?` data-stx-parent-bindings="${J}"`:"";G=G.substring(0,K.insertPos)+`${z} ${U}`+G.substring(K.insertPos)}let q=Z.if;if(q)G=`<template :if="${q.replace(/"/g,""")}">${G}</template>`;let W=Z.for;if(W)G=`<template :for="${W.replace(/"/g,""")}">${G}</template>`;return G}function F2($){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 X=$.slice(Y),Q=X.match(/^\s+/);if(Q){Y+=Q[0].length;continue}if(X.startsWith("<!--")){let K=$.indexOf("-->",Y+4);if(K===-1)return null;Y=K+3;continue}let J=X.match(/^<(script|style)\b[^>]*>/i);if(J){let K=`</${J[1].toLowerCase()}>`,q=$.toLowerCase().indexOf(K,Y+J[0].length);if(q===-1)return null;Y=q+K.length;continue}let G=X.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(?:\s|>|\/)/);if(!G)return null;return{insertPos:Y+1+G[1].length}}return null}async function B4($,Z,Y,X,Q){if(!B2)q2(),B2=!0;let J=await L2($,Z,Y,X,Q);J=await BU(J,Z,Y,X,Q),J=await jU(J,Z,Y,X,Q);let G=[];for(let K=0;K<3;K++){let q=Z1(J,o5,(U,z)=>`\x00STX_COMPONENT_COMMENT_${G.length+z}\x00`);G.push(...q.tokens);let W=J;if(J=await HU(q.output,Z,Y,X,Q),J===W)break}if(G.length>0)J=J.replace(/\x00STX_COMPONENT_COMMENT_(\d+)\x00/g,(K,q)=>G[Number(q)]??"");if(X.debug){let K=UU(J);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 J}var B2=!1,g3="\x00stx-boolean-attribute",KU,H2;var h3=k(()=>{B3();W2();_2();h1();w0();H0();KU=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"]);H2=new Map});var j4={};t(j4,{stripTypeScript:()=>N2,splitDeclaration:()=>D2,isCompleteImport:()=>T2,hasVariables:()=>S2,extractVariables:()=>z1,extractScriptFromTemplate:()=>b2,convertToCommonJS:()=>d3});import R5 from"path";import j$ from"process";function OU($){let Z=[],Y=0,X=$.split(`
|
|
1915
|
-
`);for(let Q of X){let J=Y,G=null,K=!1;for(let q=0;q<Q.length;q++){let W=Q[q];if(K){K=!1;continue}if(W==="\\"){K=!0;continue}if(G){if(W===G)G=null;continue}if(W==="'"||W==='"'||W==="`"){G=W;continue}if(W==="/"&&q+1<Q.length&&Q[q+1]==="/")break;if(W==="{")Y++;else if(W==="}")Y--}if(J===0){let q=Q.match(/(?:const|let|var)\s+(\w+)\s*=/);if(q)Z.push(q[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(Q)){let W=Q.match(/(?:const|let|var)\s+(\w+)/);if(W)Z.push(W[1])}else{let W=Q.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(W){let z=W[1].slice(1,-1).split(",").map((_)=>{let B=_.split(":");return(B.length>1?B[1]:B[0]).trim()}).filter((_)=>/^\w+$/.test(_));Z.push(...z)}}}}return[...new Set(Z)]}function
|
|
1913
|
+
</style>`}}});import{existsSync as QU,readFileSync as GU}from"fs";function KU($){if(K2.has($))return;K2.add($),console.warn(`[stx] icon collection "${$}" is not installed, so its icons render as nothing. Install it with \`bun add -d @iconify-json/${$}\`.`)}function qU($){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(QU(Y))return Y;for(let Y of[`@iconify-json/${$}/icons.json`,`@iconify/json/json/${$}.json`])try{return a.resolve(Y)}catch{}return null}function WU($){if(U4.has($))return U4.get($);let Z=qU($);if(!Z)return KU($),null;try{let Y=JSON.parse(GU(Z,"utf8"));return U4.set($,Y.icons),Y.icons}catch{return null}}function R5($,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 U4,K2,P3;var C3=k(()=>{U4=new Map,K2=new Set;P3={name:"Icon",aliases:["icon","stx-icon"],render($,Z,Y){let X=R5($,"name")??R5($,"icon");if(!X)return"<!-- Icon: missing name/icon prop -->";let Q="lucide",J=X;if(X.includes(":")){let O=X.split(":");Q=O[0],J=O[1]}let G=D0(R5($,"size")||"24"),K=D0(R5($,"color")||"currentColor"),q=D0(R5($,"class")||""),W=D0(R5($,"style")||""),U=U4.get(Q)??WU(Q);if(!U)return`<!-- Icon: collection "${Q}" not loaded -->`;let z=U[J];if(!z)return`<!-- Icon: "${J}" not found in ${Q} -->`;let _=z.width||24,B=z.height||24,j=`0 0 ${_} ${B}`,H=z.body;if(K!=="currentColor")H=H.replace(/currentColor/g,K);let L=q?` class="${q}"`:"",F=W?` style="${W}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${G}" height="${G}" viewBox="${j}" fill="none"${L}${F}>${H}</svg>`}}});function q2($,...Z){for(let Y of Z){if($.serverDynamic[Y]!==void 0)return String($.serverDynamic[Y]);let X=$.static[Y];if(typeof X==="string")return X}return}function W2($,Z){let Y=new RegExp(`<(template|div|span)[^>]*\\bslot=["']${Z}["'][^>]*>([\\s\\S]*?)<\\/\\1>`,"i"),X=$.match(Y);if(!X)return{region:null,rest:$};return{region:X[2],rest:$.replace(X[0],"")}}var v3;var x3=k(()=>{v3={name:"Suspense",aliases:["suspense"],render($,Z,Y){let X=W2(Z,"fallback"),Q=X.rest,J=W2(Q,"error"),G=J.rest,K=X.region??q2($,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',q=J.region??q2($,"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>${q}</div><div data-stx-suspense-content hidden>${G}</div></div>`}}});function z4($,...Z){for(let Y of Z){if($.serverDynamic[Y]!==void 0)return String($.serverDynamic[Y]);let X=$.static[Y];if(typeof X==="string")return X}return}var f3;var g3=k(()=>{f3={name:"TransitionGroup",aliases:["transition-group"],render($,Z,Y){let X=(z4($,"name")||"v").replace(/["'<>]/g,""),Q=(z4($,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",J=z4($,"class"),G=z4($,"id"),K=[`data-stx-transition-group="${X}"`,J?`class="${J}"`:"",G?`id="${G}"`:""].filter(Boolean).join(" ");return`<${Q} ${K}>${Z}</${Q}>`}}});function U2(){v0.registerBuiltin(H3),v0.registerBuiltin(w3),v0.registerBuiltin(R3),v0.registerBuiltin(T3),v0.registerBuiltin(E3),v0.registerBuiltin(k3),v0.registerBuiltin(S3),v0.registerBuiltin(P3),v0.registerBuiltin(v3),v0.registerBuiltin(f3)}var z2=k(()=>{O3();A3();M3();I3();D3();b3();y3();C3();x3();g3();j3();O3();A3();M3();I3();D3();b3();y3();C3();x3();g3()});function _4($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function _2($,Z,Y){let X=[],Q=0;while(Q<$.length){let J=$.indexOf("<",Q);if(J===-1)break;let K=$.slice(J+1).match(new RegExp(`^(${Z.source})`));if(!K){Q=J+1;continue}let q=K[1];if(Y&&Y.has(q.toLowerCase())){let H=J+1+q.length;while(H<$.length&&$[H]!==">")H++;Q=H+1;continue}let W=J+1+q.length,U=null,z=W,_=-1,B=!1;while(W<$.length){let H=$[W];if(U){if(H==="\\"&&W+1<$.length){W+=2;continue}if(H===U)U=null;W++;continue}if(H==='"'||H==="'"){U=H,W++;continue}if(H==="/"&&W+1<$.length&&$[W+1]===">"){_=W+2,B=!0;break}if(H===">"){_=W+1;break}W++}if(_===-1){Q=J+1;continue}let j=$.slice(z,B?_-2:_-1).trim();if(B)X.push({fullMatch:$.slice(J,_),tagName:q,attributes:j,content:"",startIndex:J,endIndex:_,isSelfClosing:!0}),Q=_;else{let H=`<${q}`,L=`</${q}>`,F=1,O=_,V=-1;while(F>0&&O<$.length){let M=$.indexOf(H,O),R=$.indexOf(L,O);if(R===-1)break;if(M!==-1&&M<R){let N=$[M+H.length];if(N===" "||N===">"||N==="/"||N===`
|
|
1914
|
+
`||N==="\t")F++;O=M+H.length}else{if(F--,F===0){V=R;break}O=R+L.length}}if(V===-1){Q=_;continue}let w=$.slice(_,V),A=V+L.length;X.push({fullMatch:$.slice(J,A),tagName:q,attributes:j,content:w,startIndex:J,endIndex:A,isSelfClosing:!1}),Q=A}}return X}function B2($,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 j2=k(()=>{H0();w0();u1()});var A2={};t(A2,{processESImports:()=>V2,processComponents:()=>H4});import j4 from"fs";import u0 from"path";function zU($,Z,Y){let X={static:{},staticNames:{},serverDynamic:{},clientReactive:{},events:{}},Q=new Set(["x-cloak","x-show","x-if","x-for","x-data","x-init","x-transition","x-ref","x-effect","x-model","x-text","x-html","x-class","x-style","x-on","x-bind"]),J=(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,(q,W)=>W.toUpperCase())},G=(K,q)=>{let W=J(K);if(X.static[W]=q,W!==K)X.staticNames[W]=K};for(let[K,q]of Object.entries($)){let W=K.startsWith("x-")&&!Q.has(K)&&!K.startsWith("x-bind:")&&!K.startsWith("x-on:")?`:${K.slice(2)}`:K;if(W.startsWith("@")){X.events[W]=q;continue}if(W.startsWith("__stx_")){let U=J(W.slice(6));X.serverDynamic[U]=B2(q,Y);continue}if(W.startsWith(":")){let U=J(W.slice(1)),z=q===h3?U:q;if(U==="if"||U==="for"||U==="show"){X.clientReactive[U]=z;continue}try{if(!G0(z)){if(Y.debug)console.error(`Unsafe expression in :${U} binding: ${z}`);X.clientReactive[U]=z;continue}let _=Object.keys(Z),j=K0(z,_)(...Object.values(Z));if(j===void 0){let H=z.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)&&!_.includes(O))){X.clientReactive[U]=z;continue}}X.serverDynamic[U]=j}catch{X.clientReactive[U]=z}continue}if(typeof q==="string"&&q.includes("{{")&&q.includes("}}")){let U=q.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(U)try{let z=U[1];if(G0(z)){let B=K0(z,Object.keys(Z))(...Object.values(Z));G(W,B!=null?String(B):"")}else{if(Y.debug)console.error(`Unsafe expression in ${W}: ${z}`);G(W,q)}}catch(z){if(Y.debug)console.error(`Error evaluating expression for ${W}:`,z);G(W,q)}else{let z=q,_=/\{\{\s*([\s\S]+?)\s*\}\}/g,B;while((B=_.exec(q))!==null)try{let j=B[1];if(!G0(j)){if(Y.debug)console.error(`Unsafe expression in ${W}: ${j}`);continue}let L=K0(j,Object.keys(Z))(...Object.values(Z));z=z.replace(B[0],String(L??""))}catch(j){if(Y.debug)console.error(`Error evaluating expression in ${W}:`,j)}G(W,z)}continue}G(W,q===h3?"true":q)}return X}function _U($){let Z={},Y=0,X=$.length;while(Y<X){while(Y<X&&/\s/.test($[Y]))Y++;if(Y>=X)break;let Q="";while(Y<X&&!/[\s=]/.test($[Y]))Q+=$[Y],Y++;if(!Q)break;while(Y<X&&/\s/.test($[Y]))Y++;if(Y<X&&$[Y]==="="){Y++;while(Y<X&&/\s/.test($[Y]))Y++;let J="";if(Y<X&&($[Y]==='"'||$[Y]==="'")){let G=$[Y];Y++;while(Y<X){let K=$[Y];if(K==="\\"&&Y+1<X){Y++,J+=$[Y],Y++;continue}if(K===G){Y++;break}J+=K,Y++}}else while(Y<X&&!/\s/.test($[Y]))J+=$[Y],Y++;Z[Q]=J}else Z[Q]=h3}return Z}function O2($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function BU($){let Z=new Set,Y=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,X;while((X=Y.exec($))!==null){let Q=X[1];if(v0.isBuiltin(Q))Z.add(Q)}return[...Z].sort()}function jU($){let Z=L2.get($);if(Z)return Z;let Y=new Map,X=[u0.join($,"src"),u0.join($,"dist"),$];function Q(J,G){if(G>6)return;let K;try{K=j4.readdirSync(J,{withFileTypes:!0})}catch{return}for(let q of K){let W=u0.join(J,q.name);if(q.isDirectory()){if(q.name==="node_modules"||q.name.startsWith("."))continue;Q(W,G+1)}else if(q.isFile()&&q.name.endsWith(".stx")){let U=q.name.slice(0,-4);if(!Y.has(U))Y.set(U,W);let z=U.toLowerCase();if(!Y.has(z))Y.set(z,W);let _=U.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Y.has(_))Y.set(_,W)}}}for(let J of X)if(Q(J,0),Y.size>0)break;return L2.set($,Y),Y}function HU($,Z){if($.startsWith(".")||$.startsWith("/"))return null;let Y=Z;while(!0){let X=u0.join(Y,"node_modules",$);try{if(j4.statSync(X).isDirectory())return X}catch{}let Q=u0.dirname(Y);if(Q===Y)return null;Y=Q}}async function V2($,Z,Y,X,Q){if(!$.includes("import"))return $;if(!Z.__importedComponents)Z.__importedComponents=new Map;let J=Z.__importedComponents,G=u0.dirname(Y),K=$,q=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return K=K.replace(q,(W,U,z)=>{let _=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,B=z,j,H=[];while((j=_.exec(z))!==null){let[L,F,O,V]=j,w=null,A=null;if(V.startsWith(".")||V.startsWith("/")){let N=u0.resolve(G,V);if(N.endsWith(".stx"))A=N;else{let T=`${N}.stx`;try{if(j4.statSync(T).isFile())A=T}catch{try{if(j4.statSync(N).isDirectory())w=N}catch{}}}}else w=HU(V,G);if(!w&&!A)continue;let M=!1,R=(N,T)=>{J.set(N,T),J.set(N.toLowerCase(),T);let I=N.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();J.set(I,T),Q.add(T)};if(O&&A)R(O,A),M=!0;else if(F){let N=F.slice(1,-1).split(",").map((I)=>I.trim()).filter(Boolean).map((I)=>{let D=I.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(D)return{source:D[1],local:D[2]};return{source:I,local:I}}),T=w?jU(w):null;for(let{source:I,local:D}of N){let E=null;if(A)E=A;else if(T)E=T.get(I)??T.get(I.toLowerCase())??T.get(I.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(E)R(D,E),M=!0}}if(M)H.push({start:j.index,end:j.index+L.length})}if(H.length===0)return W;for(let L=H.length-1;L>=0;L--)B=B.slice(0,H[L].start)+B.slice(H[L].end);return`<script${U}>${B}</script>`}),K}async function OU($,Z,Y,X,Q){let J=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,K=/@import\s*\(\s*([^)]+)\s*\)/g,q;while((q=K.exec(J))!==null){let[W,U]=q,z=U.split(",").map((_)=>_.trim().replace(/^['"]|['"]$/g,"")).filter((_)=>_.length>0);for(let _ of z){let B=_.split("/"),H=B[B.length-1].replace(/\.stx$/,""),L=H.includes("-")?H.split("-").map((V)=>V.charAt(0).toUpperCase()+V.slice(1)).join(""):H.charAt(0).toUpperCase()+H.slice(1),F=null,O=[u0.resolve(u0.dirname(Y),`${_}.stx`),u0.resolve(u0.dirname(Y),_),u0.resolve(X.componentsDir||"components",`${_}.stx`),u0.resolve(X.componentsDir||"components",_),_.endsWith(".stx")?_:`${_}.stx`];for(let V of O)try{if(await Bun.file(V).exists()){F=V;break}}catch{}if(F){G.set(L,F),G.set(H,F),G.set(H.toLowerCase(),F);let V=L.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(G.set(V,F),Q.add(F),X.debug)console.log(`Imported component: ${L} -> ${F}`)}else if(X.debug)console.warn(`Could not resolve imported component: ${_}`)}J=J.replace(W,""),K.lastIndex=0}return J}async function LU($,Z,Y,X,Q){let J=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,q=/@component\s*\(/g,W;while((W=q.exec(J))!==null){let U=W.index,z=U+W[0].length-1,_=1,B=z+1;while(B<J.length&&_>0){if(J[B]==="(")_++;else if(J[B]===")"){if(_--,_===0)break}B++}if(_!==0)break;let j=J.substring(z+1,B),H=B+1,L=j.match(/^\s*['"]([^'"]+)['"]/);if(!L){q.lastIndex=0;continue}let F=L[1],O,V=j.slice(L[0].length),w=V.match(/^\s*,\s*/);if(w)O=V.slice(w[0].length).trim();let A={};if(O)try{A=A0(O,Z)}catch(D){let E=D instanceof Error?D.message:String(D);J=J.replace(J.substring(U,H),`[Error parsing component props: ${E}]`);continue}let M="",R=H,T=J.substring(H).match(/^([\s\S]*?)@endcomponent/);if(T)M=T[1].trim(),R=H+T[0].length;let I=await o1(F,A,M,G,Z,Y,X,K,Q);J=J.substring(0,U)+I+J.substring(R),q.lastIndex=0}return J}async function FU($,Z,Y,X,Q){if(!$)return $;let J=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,q=V1(J);return J=q.output,J=await _(J,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),J=await _(J,/[A-Z][a-zA-Z0-9]*/,!0),J=await _(J,/[a-z][a-z0-9]*/,!1,UU),J=a5(J,q.scripts),J;async function _(B,j,H,L){if(!B)return B;let F=B,O=_2(F,j,L);for(let V=O.length-1;V>=0;V--){let w=O[V],A=H?_4(w.tagName):w.tagName,M=_U(w.attributes),R=zU(M,Z,X),N=v0.getBuiltin(w.tagName),T=N?await B4(A,G,Z,Y,X):!1;if(N&&!T){let y={context:Z,filePath:Y,options:X,dependencies:Q},S=N.render(R,w.content,y);if(Object.keys(R.clientReactive).length>0)S=F2(S,R.clientReactive);if(Object.keys(R.events).length>0){let b=Object.entries(R.events).map(([v,h])=>`${v}="${O2(h)}"`).join(" ");S=S.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${b}`)}F=F.substring(0,w.startIndex)+S+F.substring(w.endIndex);continue}if(!H&&w.tagName.includes("-")&&!await B4(A,G,Z,Y,X))continue;let I={};for(let[y,S]of Object.entries(R.static))I[y]=S;for(let[y,S]of Object.entries(R.serverDynamic))I[y]=S;let E=await o1(A,I,w.content,G,Z,Y,X,K,Q);if(Object.keys(R.clientReactive).length>0)E=F2(E,R.clientReactive);if(Object.keys(R.events).length>0){let y=w2(E);if(y){let S=Object.entries(R.events).map(([v,h])=>`${v}="${O2(h)}"`).join(" "),b=Object.keys(R.events).map((v)=>v.replace(/^@/,"").split(".")[0]).join(" ");E=E.substring(0,y.insertPos)+` data-stx-parent-events="${b}" ${S}`+E.substring(y.insertPos)}}F=F.substring(0,w.startIndex)+E+F.substring(w.endIndex)}return F}}function F2($,Z){let Y=new Set(["if","for"]),X=new Set(["show"]),Q=Object.entries(Z).filter(([U])=>!Y.has(U)),J=Q.filter(([U])=>!X.has(U)).map(([U])=>_4(U)).join(" "),G=$,K=Q.length>0?w2(G):null;if(K){let U=Q.map(([_,B])=>`:${_4(_)}="${B.replace(/"/g,""")}"`).join(" "),z=J?` data-stx-parent-bindings="${J}"`:"";G=G.substring(0,K.insertPos)+`${z} ${U}`+G.substring(K.insertPos)}let q=Z.if;if(q)G=`<template :if="${q.replace(/"/g,""")}">${G}</template>`;let W=Z.for;if(W)G=`<template :for="${W.replace(/"/g,""")}">${G}</template>`;return G}function w2($){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 X=$.slice(Y),Q=X.match(/^\s+/);if(Q){Y+=Q[0].length;continue}if(X.startsWith("<!--")){let K=$.indexOf("-->",Y+4);if(K===-1)return null;Y=K+3;continue}let J=X.match(/^<(script|style)\b[^>]*>/i);if(J){let K=`</${J[1].toLowerCase()}>`,q=$.toLowerCase().indexOf(K,Y+J[0].length);if(q===-1)return null;Y=q+K.length;continue}let G=X.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(?:\s|>|\/)/);if(!G)return null;return{insertPos:Y+1+G[1].length}}return null}async function H4($,Z,Y,X,Q){if(!H2)U2(),H2=!0;let J=await V2($,Z,Y,X,Q);J=await OU(J,Z,Y,X,Q),J=await LU(J,Z,Y,X,Q);let G=[];for(let K=0;K<3;K++){let q=Y1(J,r5,(U,z)=>`\x00STX_COMPONENT_COMMENT_${G.length+z}\x00`);G.push(...q.tokens);let W=J;if(J=await FU(q.output,Z,Y,X,Q),J===W)break}if(G.length>0)J=J.replace(/\x00STX_COMPONENT_COMMENT_(\d+)\x00/g,(K,q)=>G[Number(q)]??"");if(X.debug){let K=BU(J);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 J}var H2=!1,h3="\x00stx-boolean-attribute",UU,L2;var u3=k(()=>{j3();z2();j2();u1();w0();H0();UU=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"]);L2=new Map});var O4={};t(O4,{stripTypeScript:()=>I2,splitDeclaration:()=>b2,isCompleteImport:()=>E2,hasVariables:()=>P2,extractVariables:()=>_1,extractScriptFromTemplate:()=>y2,convertToCommonJS:()=>m3});import M5 from"path";import H$ from"process";function VU($){let Z=[],Y=0,X=$.split(`
|
|
1915
|
+
`);for(let Q of X){let J=Y,G=null,K=!1;for(let q=0;q<Q.length;q++){let W=Q[q];if(K){K=!1;continue}if(W==="\\"){K=!0;continue}if(G){if(W===G)G=null;continue}if(W==="'"||W==='"'||W==="`"){G=W;continue}if(W==="/"&&q+1<Q.length&&Q[q+1]==="/")break;if(W==="{")Y++;else if(W==="}")Y--}if(J===0){let q=Q.match(/(?:const|let|var)\s+(\w+)\s*=/);if(q)Z.push(q[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(Q)){let W=Q.match(/(?:const|let|var)\s+(\w+)/);if(W)Z.push(W[1])}else{let W=Q.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(W){let z=W[1].slice(1,-1).split(",").map((_)=>{let B=_.split(":");return(B.length>1?B[1]:B[0]).trim()}).filter((_)=>/^\w+$/.test(_));Z.push(...z)}}}}return[...new Set(Z)]}function I2($){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(X){if(!X.includes(":"))return X;let Q=[],J="",G=0,K=0,q=null;for(let W=0;W<X.length;W++){let U=X[W];if(q){if(J+=U,U===q)q=null;continue}if(U==='"'||U==="'"||U==="`"){q=U,J+=U;continue}if(U==="<")G++;else if(U===">"&&G>0)G--;else if(U==="(")K++;else if(U===")")K--;if(U===","&&G===0&&K===0){Q.push(J),J="";continue}J+=U}if(J)Q.push(J);return Q.map((W)=>{let U=W.trim(),z=U.startsWith("..."),_=z?U.slice(3):U,B=-1,j=0;for(let A=0;A<_.length;A++)if(_[A]==="<")j++;else if(_[A]===">")j--;else if(_[A]===":"&&j===0){B=A;break}if(B===-1)return W;let L=_.substring(0,B).trim().replace(/\?$/,""),F=_.substring(B+1),O=-1,V=0;for(let A=0;A<F.length;A++)if(F[A]==="<")V++;else if(F[A]===">")V--;else if(F[A]==="="&&V===0){O=A;break}let w=z?"...":"";if(O!==-1)return`${w}${L} = ${F.substring(O+1).trim()}`;return`${w}${L}`}).join(", ")}Z=Z.replace(/\b(function\s+\w*\s*)\(([^)]*)\)/g,(X,Q,J)=>{if(!J.includes(":"))return X;return`${Q}(${Y(J)})`});{let X=/\b(function\s+\w*\s*)\(/g,Q,J=[];while((Q=X.exec(Z))!==null){let G=Q.index+Q[0].length-1,K=1,q=G+1,W=0,U=null;while(q<Z.length&&K>0){let B=Z[q];if(U){if(B===U)U=null;q++;continue}if(B==='"'||B==="'"||B==="`"){U=B,q++;continue}if(B==="<")W++;else if(B===">"&&W>0)W--;else if(W===0){if(B==="(")K++;else if(B===")")K--}if(K>0)q++}if(K!==0)continue;let z=Z.substring(G+1,q);if(!z.includes(":"))continue;let _=Y(z);J.push({start:G+1,end:q,replacement:_})}for(let G=J.length-1;G>=0;G--){let{start:K,end:q,replacement:W}=J[G];Z=Z.substring(0,K)+W+Z.substring(q)}}return Z=Z.replace(/\(([^)]*)\)\s*(?::\s*[^=]+)?\s*=>/g,(X,Q)=>{if(!Q.includes(":"))return X;if(Q.includes("{")||Q.includes("}"))return X;return`(${Q.split(",").map((G)=>{let[K,...q]=G.split("="),W=K.split(":")[0].trim();if(q.length>0)return`${W} = ${q.join("=").trim()}`;return W}).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,`
|
|
1916
1916
|
|
|
1917
|
-
`),Z}async function
|
|
1918
|
-
`),o0=Z.params??{},
|
|
1917
|
+
`),Z}async function _1($,Z,Y,X={}){if(!$.trim())return;let Q;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,""),Q=C.transformSync(P)}catch{Q=I2($)}let J={exports:{}},G=J.exports,K=H$.cwd(),q={},W=[...Q.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 W)try{let P=M5.resolve(K,"node_modules",C),x=M5.join(P,"package.json"),l=JSON.parse(a("fs").readFileSync(x,"utf8")),d=l.main||"index.js";if(l.exports){let U0=typeof l.exports==="string"?l.exports:l.exports["."];if(typeof U0==="string")d=U0;else if(U0?.bun)d=U0.bun;else if(U0?.import)d=U0.import;else if(U0?.default)d=U0.default}q[C]=await import(M5.resolve(P,d))}catch{}let U=(C)=>{if(q[C])return q[C];return a(C)},z=Z.props||{},_=(C)=>{if(!C)return z;let P={};for(let[x,l]of Object.entries(C)){let d=z[x];if(d!==void 0)P[x]=d;else if(typeof l==="function")P[x]=l();else P[x]=l}return P};for(let[C,P]of Object.entries(z))Object.defineProperty(_,C,{value:P,enumerable:!0,configurable:!0,writable:!0});for(let C of["name","length","caller","arguments"]){if(Object.prototype.hasOwnProperty.call(z,C))continue;try{Object.defineProperty(_,C,{value:void 0,enumerable:!1,configurable:!0,writable:!0})}catch{}}let B=(C)=>{if(!C)return z;let P={...z};for(let[x,l]of Object.entries(C)){let d=l&&typeof l==="object"&&!Array.isArray(l)?l:{type:l};if(P[x]===void 0&&d.default!==void 0)P[x]=typeof d.default==="function"?d.default():d.default}return P},j=()=>Z.slots||{},H=(C,P)=>{let x={...C};for(let[l,d]of Object.entries(P))if(x[l]===void 0)if(typeof d==="function")x[l]=d();else x[l]=d;return x},L=(C)=>{let P=()=>C;return P.set=(x)=>{},P.update=(x)=>{},P},F=(C)=>{let P,x=!1;return()=>{if(!x)try{P=C(),x=!0}catch{P=void 0}return P}},O=(C)=>{},V=(C)=>C(),w=(C)=>{},A=(C)=>{},M=(C)=>{},R=()=>{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:[]}},N=()=>({push:(C)=>{},replace:(C)=>{},back:()=>{},forward:()=>{},go:(C)=>{}}),T=(C)=>{let P=Z.__stx_runtime_head||{};Z.__stx_runtime_head=O5(P,C||{})},I=(C)=>{T(Z4(C||{}))},D=(C)=>({value:C}),E=(C)=>C,y=(C)=>({value:typeof C==="function"?C():C}),S=(C,P)=>{},b=(C)=>{},v=(C)=>{},h=(C)=>C?C():Promise.resolve(),f=(C)=>(P,...x)=>{},m=(C)=>{},r=(C,P)=>{},T0=(C,P)=>P,I0=()=>({value:"light"}),m0=()=>L(!1),J0=(C)=>L(!1),Q0=()=>L(!1),E0=()=>J0("(prefers-color-scheme: dark)"),s0=()=>J0("(prefers-color-scheme: light)"),H1=()=>J0("(prefers-reduced-motion: reduce)"),Y5=()=>J0("(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}}),_0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},F0=console;try{let C=m3(Q,Y),P=new Set(Object.keys(z)),x=(i)=>/^[a-z_$][\w$]*$/i.test(i),l=Object.keys(Z).filter((i)=>!P.has(i)&&i!=="props"&&x(i)),d=l.map((i)=>Z[i]),U0=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"]),V0=[],K1=[];for(let[i,f0]of Object.entries(z)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(i))continue;if(U0.has(i))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${i}\\b`).test(C))continue;V0.push(i),K1.push(f0)}let y0=VU(C).map((i)=>`module.exports.${i} = typeof ${i} !== 'undefined' ? ${i} : module.exports.${i};`).join(`
|
|
1918
|
+
`),o0=Z.params??{},y1=[],O1=[];for(let i=0;i<l.length;i++){if(l[i]==="params")continue;y1.push(l[i]),O1.push(d[i])}let q0=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",...V0,...y1,`return (async () => {
|
|
1919
1919
|
${C}
|
|
1920
1920
|
${y0}
|
|
1921
1921
|
return module.exports
|
|
1922
|
-
})()`)(J,G,U,z,_,B,H,L,F,O,V,w,A,M,R,N,T,I,D,E,y,S,b,v,h,f,m,j,r,T0,I0,m0,J0,Q0,E0,s0,
|
|
1923
|
-
`),Q=[],J=0;while(J<X.length){let G=X[J].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(;J<X.length;J++){for(let q of X[J])if(q==="{")K++;else if(q==="}")K--;if(K<=0)break}}J++;continue}if(G.startsWith("definePageMeta(")){let K=0,q=!1;for(let W=J;W<X.length&&!q;W++){let U=null,z=!1,_=X[W];for(let B=0;B<_.length;B++){let j=_[B];if(z){z=!1;continue}if(j==="\\"){z=!0;continue}if(U){if(j===U)U=null;continue}if(j==='"'||j==="'"||j==="`"){U=j;continue}if(j==="(")K++;else if(j===")"){if(K--,K===0){J=W+1,q=!0;break}}}}if(!q)J=X.length;continue}if(G.startsWith("import ")||G==="import"||G.startsWith("import{")){let K=G,q=0;while(!
|
|
1924
|
-
`+_;if(U<=0&&z>=J)break}Q.push(W),Q.push(`module.exports.${q} = ${q};`),J=z+1}else Q.push(G),J++}else if(G.includes("module.exports"))Q.push(G),J++;else if(G.trim()&&!G.startsWith("//"))Q.push(G),J++;else J++}return
|
|
1925
|
-
`),Y)}function
|
|
1926
|
-
`)G=!1;Q++;continue}if(K){if(X+=W,W==="*"&&U==="/"){X+=U,Q+=2,K=!1;continue}Q++;continue}if(!J&&W==="/"&&U==="/"){G=!0,X+=W,Q++;continue}if(!J&&W==="/"&&U==="*"){K=!0,X+=W,Q++;continue}if(J){if(X+=W,W==="\\"){X+=U,Q+=2;continue}if(W===J&&J!=="`"){J=null,Q++;continue}if(J==="`"){if(W==="$"&&U==="{"){q++,X+=U,Q+=2;continue}if(W==="`"){J=null,Q++;continue}}Q++;continue}if(q>0){if(W==="{")q++;else if(W==="}")q--}if(W==='"'||W==="'"||W==="`"){J=W,X+=W,Q++;continue}if(W==="a"&&$.startsWith("await",Q)){let z=
|
|
1922
|
+
})()`)(J,G,U,z,_,B,H,L,F,O,V,w,A,M,R,N,T,I,D,E,y,S,b,v,h,f,m,j,r,T0,I0,m0,J0,Q0,E0,s0,H1,Y5,X0,_0,F0,n.confirm,n.alert,n.fetch,o0,...K1,...O1);if(X.preserveExisting){for(let[i,f0]of Object.entries(q0))if(!(i in Z)||Z[i]===void 0)Z[i]=f0}else Object.assign(Z,q0);for(let[i,f0]of Object.entries(z))if(!(i in Z))Z[i]=f0}catch(C){if(H$.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 NU(Q,Z,Y)}catch(P){if(H$.env.STX_DEBUG){let x=P instanceof Error?P.message:String(P);console.warn(`[stx] fallback extraction also failed in ${Y??"<unknown>"}: ${x}`)}}}}function E2($){let Z=0,Y=null,X=!1,Q=!1;for(let J=0;J<$.length;J++){let G=$[J];if(Y){if(G===Y){if(Y=null,X||Z===0)Q=!0}continue}if(G==="'"||G==='"'||G==="`"){Y=G;continue}if(G==="{")Z++;else if(G==="}")Z--;else if($.startsWith("from",J)&&Z===0)X=!0}return Y===null&&Z===0&&Q}function m3($,Z){let Y=Z?M5.dirname(Z):H$.cwd(),X=$.split(`
|
|
1923
|
+
`),Q=[],J=0;while(J<X.length){let G=X[J].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(;J<X.length;J++){for(let q of X[J])if(q==="{")K++;else if(q==="}")K--;if(K<=0)break}}J++;continue}if(G.startsWith("definePageMeta(")){let K=0,q=!1;for(let W=J;W<X.length&&!q;W++){let U=null,z=!1,_=X[W];for(let B=0;B<_.length;B++){let j=_[B];if(z){z=!1;continue}if(j==="\\"){z=!0;continue}if(U){if(j===U)U=null;continue}if(j==='"'||j==="'"||j==="`"){U=j;continue}if(j==="(")K++;else if(j===")"){if(K--,K===0){J=W+1,q=!0;break}}}}if(!q)J=X.length;continue}if(G.startsWith("import ")||G==="import"||G.startsWith("import{")){let K=G,q=0;while(!E2(K)&&J+q+1<X.length)q++,K=`${K} ${X[J+q].trim()}`;J+=q;let W=K.match(/^import\s+(\w+)\s+from\s+['"](.+?)['"]/),U=K.match(/^import\s+\{([^}]*)\}\s+from\s+['"](.+?)['"]/),z=K.match(/^import\s+['"](.+?)['"]/),_=K,B=(j)=>{if(j.startsWith("."))return M5.resolve(Y,j);return j};if(W){let[,j,H]=W,L=B(H);Q.push(`const ${j} = await import('${L}')`),Q.push(`module.exports.${j} = ${j};`)}else if(U){let[,j,H]=U,L=j.trim(),F=B(H);Q.push(`const { ${L} } = await import('${F}')`);for(let O of L.split(",")){let V=O.trim().split(/\s+as\s+/).pop()?.trim();if(V)Q.push(`module.exports.${V} = ${V};`)}}else if(z){let j=B(z[1]);Q.push(`await import('${j}')`)}else Q.push(_);J++;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("="))Q.push(X[J]),J++;else if(G.startsWith("export const ")||G.startsWith("export let ")||G.startsWith("export var ")){let K=R2(X,J),{type:q,name:W,value:U}=K;Q.push(`${q} ${W} = ${U};`),Q.push(`module.exports.${W} = ${W};`),J=K.nextIndex}else if(G.startsWith("export function ")||G.startsWith("export async function ")){let K=d3(X,J);Q.push(K.functionCode),Q.push(`module.exports.${K.name} = ${K.name};`),J=K.nextIndex}else if(G.startsWith("const ")||G.startsWith("let ")||G.startsWith("var ")){let K=R2(X,J),{type:q,name:W,value:U}=K;Q.push(`${q} ${W} = ${U};`),Q.push(`module.exports.${W} = ${W};`),J=K.nextIndex}else if(G.startsWith("function ")||G.startsWith("async function ")){let K=d3(X,J);Q.push(K.functionCode),Q.push(`module.exports.${K.name} = ${K.name};`),J=K.nextIndex}else if(G.startsWith("export default function ")||G.startsWith("export default async function ")){let K=X[J].replace(/^(\s*)export\s+default\s+/,"$1"),q=[...X];q[J]=K;let W=d3(q,J);if(Q.push(W.functionCode),W.name)Q.push(`module.exports.default = ${W.name};`);J=W.nextIndex}else if(G.startsWith("export default ")){let K=G.replace(/^export\s+default\s+/,"").replace(/;$/,"");Q.push(`module.exports.default = ${K};`),J++}else if(G.startsWith("class ")||G.startsWith("export class ")){let K=G.match(/(?:export\s+)?class\s+(\w+)/);if(K){let q=K[1],W=X[J].replace(/^export\s+/,""),U=0,z=J;for(;z<X.length;z++){let _=X[z];for(let B of _)if(B==="{")U++;else if(B==="}")U--;if(z>J)W+=`
|
|
1924
|
+
`+_;if(U<=0&&z>=J)break}Q.push(W),Q.push(`module.exports.${q} = ${q};`),J=z+1}else Q.push(G),J++}else if(G.includes("module.exports"))Q.push(G),J++;else if(G.trim()&&!G.startsWith("//"))Q.push(G),J++;else J++}return wU(Q.join(`
|
|
1925
|
+
`),Y)}function wU($,Z){let Y=$.length,X="",Q=0,J=null,G=!1,K=!1,q=0;while(Q<Y){let W=$[Q],U=$[Q+1];if(G){if(X+=W,W===`
|
|
1926
|
+
`)G=!1;Q++;continue}if(K){if(X+=W,W==="*"&&U==="/"){X+=U,Q+=2,K=!1;continue}Q++;continue}if(!J&&W==="/"&&U==="/"){G=!0,X+=W,Q++;continue}if(!J&&W==="/"&&U==="*"){K=!0,X+=W,Q++;continue}if(J){if(X+=W,W==="\\"){X+=U,Q+=2;continue}if(W===J&&J!=="`"){J=null,Q++;continue}if(J==="`"){if(W==="$"&&U==="{"){q++,X+=U,Q+=2;continue}if(W==="`"){J=null,Q++;continue}}Q++;continue}if(q>0){if(W==="{")q++;else if(W==="}")q--}if(W==='"'||W==="'"||W==="`"){J=W,X+=W,Q++;continue}if(W==="a"&&$.startsWith("await",Q)){let z=AU($,Q);if(z){let{quote:_,path:B,end:j}=z;if(B.startsWith(".")){let H=M5.resolve(Z,B);X+=`await import(${_}${H}${_})`,Q=j;continue}}}X+=W,Q++}return X}function AU($,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 X=$[Y];if(X!=="'"&&X!=='"')return null;Y++;let Q=Y;while(Y<$.length&&$[Y]!==X)if($[Y]==="\\")Y+=2;else Y++;if(Y>=$.length)return null;let J=$.slice(Q,Y);Y++;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!==")")return null;return{quote:X,path:J,end:Y+1}}function D2($,Z){let Y=$[Z];if(Y!=="{"&&Y!=="[")return null;let Q=C0($,Y,Y==="{"?"}":"]",Z);if(Q===-1)return null;return{pattern:$.slice(Z,Q+1),endPos:Q+1}}function k2($){let Z=[],Y=$.slice(1,-1).trim();if(!Y)return Z;let X=0,Q=0,J="";while(X<Y.length){let G=Y[X];if(G==="{"||G==="["){if(Q++,Q===1){let K=D2(Y,X);if(K){let q=k2(K.pattern);Z.push(...q),X=K.endPos,J="";continue}}}else if(G==="}"||G==="]")Q--;if(Q>0){X++;continue}if(G===","){if(J.trim())Z.push(J.trim());J="",X++;continue}if(G===":"){J="",X++;continue}if(G==="="){if(J.trim())Z.push(J.trim());J="",X++;while(X<Y.length&&Y[X]!==","&&Q===0){if(Y[X]==="{"||Y[X]==="[")Q++;else if(Y[X]==="}"||Y[X]==="]")Q--;X++}continue}if(/[\w$]/.test(G))J+=G;X++}if(J.trim())Z.push(J.trim());return Z}function b2($){let Z=/^(?:export\s+)?(const|let|var)\s+([A-Za-z_$][\w$]*)/.exec($);if(!Z)return null;let Y=Z[0].length,X=(Q)=>Q===" "||Q==="\t";while(Y<$.length&&X($[Y]))Y++;if($[Y]===":"){let Q=0,J=null;Y++;for(;Y<$.length;Y++){let G=$[Y];if(J){if(G==="\\"){Y++;continue}if(G===J)J=null;continue}if(G==="'"||G==='"'||G==="`"){J=G;continue}if(G==="("||G==="["||G==="{"||G==="<"){Q++;continue}if(G===")"||G==="]"||G==="}"||G===">"){Q--;continue}if(G==="="&&Q<=0){let K=$[Y+1],q=$[Y-1];if(K!=="="&&K!==">"&&q!=="="&&q!=="!"&&q!=="<"&&q!==">")break}}if($[Y]!=="=")return null}while(Y<$.length&&X($[Y]))Y++;if($[Y]!=="=")return null;return{type:Z[1],name:Z[2],value:$.slice(Y+1).trim()}}function R2($,Z){let Y=$[Z].trim(),X=b2(Y),Q=X?[Y,X.type,X.name,X.value]:null;if(!Q){let U=Y.match(/^(?:export\s+)?(const|let|var)\s+/);if(U){let z=Y.slice(U[0].length),_=Z;if((z.startsWith("{")||z.startsWith("["))&&!z.includes(z.startsWith("{")?"}":"]")){let j=z.startsWith("{")?"}":"]",H=z;for(let L=Z+1;L<$.length;L++)if(H+=" "+$[L].trim(),_=L,$[L].includes(j))break;z=H}let B=D2(z,0);if(B){let j=U[1],H=B.pattern,L=z.slice(B.endPos).trim();if(L.startsWith("=")){let F=L.slice(1).trim(),O=F,V=Math.max(_,Z);if(M2(F)){let R=N2($,V,F);O=R.value,V=R.nextIndex}else V=V+1;O=O.trim().replace(/;$/,"");let w=k2(H),A=`__stx_src_${Z}`,M=w.map((R)=>`module.exports.${R} = ${R};`).join(`
|
|
1927
1927
|
`);return{type:j,name:A,value:`${O}; ${j} ${H} = ${A};
|
|
1928
|
-
${M}`,nextIndex:V}}}}throw Error(`Failed to parse variable declaration: ${Y}`)}let[,J,G,K]=Q,q=K,W=Z;if(
|
|
1929
|
-
${$[W]}`,W++;else break}return q=q.trim().replace(/;$/,""),{type:J,name:G,value:q,nextIndex:W}}function
|
|
1928
|
+
${M}`,nextIndex:V}}}}throw Error(`Failed to parse variable declaration: ${Y}`)}let[,J,G,K]=Q,q=K,W=Z;if(M2(K)){let U=N2($,Z,K);q=U.value,W=U.nextIndex}else W=Z+1;while(W<$.length){let U=$[W].trim();if(U.startsWith(".")||U.startsWith("?."))q+=`
|
|
1929
|
+
${$[W]}`,W++;else break}return q=q.trim().replace(/;$/,""),{type:J,name:G,value:q,nextIndex:W}}function d3($,Z){let Y=$[Z].trim(),X=Y.match(/^(?:export\s+)?(?:async\s+)?function\s+(\w+)/);if(!X)throw Error(`Failed to parse function declaration: ${Y}`);let[,Q]=X,J=Y.replace(/^export\s+/,""),G=Z;if(RU(Y)){let K=MU($,Z,J);J=K.functionCode,G=K.nextIndex}else G=Z+1;return{name:Q,functionCode:J,nextIndex:G}}function M2($){let Z=$.trim();if(Z.startsWith("{"))return C0(Z,"{","}",0)===-1;if(Z.startsWith("["))return C0(Z,"[","]",0)===-1;return!S2(Z)}function S2($){let Z={paren:0,bracket:0,brace:0},Y=null,X=0;for(let Q=0;Q<$.length;Q++){let J=$[Q];if((Q>0?$[Q-1]:"")==="\\"&&Y)continue;if((J==='"'||J==="'")&&!Y){Y=J;continue}if(J===Y&&Y!=="`"){Y=null;continue}if(J==="`"&&!Y){Y="`";continue}if(J==="`"&&Y==="`"&&X===0){Y=null;continue}if(Y==="`"&&J==="$"&&$[Q+1]==="{"){X++,Q++;continue}if(X>0&&J==="{"){X++;continue}if(X>0&&J==="}"){X--;continue}if(Y)continue;if(J==="(")Z.paren++;else if(J===")")Z.paren--;else if(J==="[")Z.bracket++;else if(J==="]")Z.bracket--;else if(J==="{")Z.brace++;else if(J==="}")Z.brace--}return Z.paren===0&&Z.bracket===0&&Z.brace===0&&Y===null}function RU($){let Z=$.indexOf("{");if(Z===-1)return!0;return C0($,"{","}",Z)===-1}function N2($,Z,Y){let X=Y,Q=Z+1;while(Q<$.length&&!S2(X)){let J=$[Q];X+=`
|
|
1930
1930
|
${J}`,Q++}while(Q<$.length){let J=$[Q].trim();if(J.startsWith(".")||J.startsWith("?."))X+=`
|
|
1931
|
-
${$[Q]}`,Q++;else break}return{value:X,nextIndex:Q}}function
|
|
1932
|
-
${G}`,Q++}return{functionCode:X,nextIndex:Q}}function
|
|
1931
|
+
${$[Q]}`,Q++;else break}return{value:X,nextIndex:Q}}function MU($,Z,Y){let X=Y,Q=Z+1;while(Q<$.length){let J=X.indexOf("{");if(J!==-1){if(C0(X,"{","}",J)!==-1)break}let G=$[Q];X+=`
|
|
1932
|
+
${G}`,Q++}return{functionCode:X,nextIndex:Q}}function T2($,Z){let Y=Z0($,Z)??Z0(`(${$})`,Z);if(Y!==void 0)return Y;if(!/\bprocess\b/.test($))return;let X={...Z,process:Object.freeze({env:{...H$.env}})};try{return Function(...Object.keys(X),`'use strict'; return (${$});`)(...Object.values(X))}catch{try{return Function(...Object.keys(X),`'use strict'; return ${$};`)(...Object.values(X))}catch{return}}}async function NU($,Z,Y){let X=$.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let J of X){let[,,G,K]=J;try{let q=K.trim().replace(/;$/,""),W=T2(q,Z);if(W!==void 0)Z[G]=W}catch(q){console.warn(`Failed to parse export ${G} in fallback:`,q)}}let Q=$.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let J of Q){let[,,G,K]=J;if(!(G in Z))try{let q=K.trim().replace(/;$/,""),W=T2(q,Z);if(W!==void 0)Z[G]=W}catch{}}}function y2($){let Z=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),Y=Z?Z[1]:"",X=Z?$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/i,""):$;return{scriptContent:Y,templateWithoutScript:X}}function P2($){let Z=$.trim();if(!Z)return!1;return/(?:const|let|var|function)\s+\w+/.test(Z)}var N5=k(()=>{Q$();C1();H0()});var u2={};t(u2,{processLoops:()=>l3});function EU($,Z){let Y=/@component\s*\(/g,X=$,Q,J=[];while((Q=Y.exec(X))!==null){let G=Q.index,K=G+Q[0].length-1,q=1,W=K+1;while(W<X.length&&q>0){if(X[W]==="(")q++;else if(X[W]===")"){if(q--,q===0)break}W++}if(q!==0)continue;let U=X.substring(K+1,W),z=W+1,_=U.match(/^\s*['"]([^'"]+)['"]/);if(!_)continue;let B=_[1],j=U.slice(_[0].length),H=j.match(/^\s*,\s*/);if(!H)continue;let L=j.slice(H[0].length).trim();if(!L)continue;try{let F=A0(L,Z),O=JSON.stringify(F),V=`@component('${B}', ${O})`;J.push({start:G,end:z,replacement:V})}catch{continue}}for(let G=J.length-1;G>=0;G--){let{start:K,end:q,replacement:W}=J[G];X=X.substring(0,K)+W+X.substring(q)}return X}function L4($,Z,Y){let X=$,Q=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),J;while((J=Q.exec(X))!==null){let G=J.index,K=G+J[0].length-1,q=1,W=K+1,U=null,z=!1;while(W<X.length&&q>0){let j=X[W];if(z){z=!1,W++;continue}if(j==="\\"&&U){z=!0,W++;continue}if(U){if(j===U)U=null;W++;continue}if(j==='"'||j==="'"||j==="`"){U=j,W++;continue}if(j==="(")q++;else if(j===")"){if(q--,q===0)break}W++}if(q!==0)break;let _=X.substring(K+1,W),B=Y(_);X=X.substring(0,G)+B+X.substring(W+1)}return X}function DU($,Z){let Y=$;return Y=Y.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(X,Q)=>{if(Q in Z)return`:${Q}="${Q}"`;return X}),Y=Y.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(X,Q,J)=>{try{let G=Object.keys(Z),K=Object.values(Z);C$(J);let W=K0(J,G)(...K),U=JSON.stringify(W),z=Buffer.from(U,"utf8").toString("base64");return`__stx_${Q}="${z}"`}catch(G){return X}}),Y}function kU($,Z){let Y=$;return Y=L4(Y,"@break",(X)=>{try{let J=`!!(${X.trim()})`,G;if(G0(J)){let K=K0(J,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(Z0(J,Z));return G?F4:""}catch{return""}}),Y=L4(Y,"@continue",(X)=>{try{let J=`!!(${X.trim()})`,G;if(G0(J)){let K=K0(J,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(Z0(J,Z));return G?V4:""}catch{return""}}),Y}function bU($){let Z=$;return Z=Z.replace(/@break(?!\()/g,F4),Z=Z.replace(/@continue(?!\()/g,V4),Z}function C2($){let Z=$.includes(F4),Y=Z?$.substring(0,$.indexOf(F4)):$;return{hasBreak:Z,content:Y}}function v2($){let Z=$.includes(V4),Y=Z?$.substring(0,$.indexOf(V4)):$;return{hasContinue:Z,content:Y}}function f2($){let Z=$;return Z=L4(Z,"@break",(Y)=>{let X=Y.trim();if(!v$(X))return"";return`\`; if (${X}) { break; } result += \``}),Z=L4(Z,"@continue",(Y)=>{let X=Y.trim();if(!v$(X))return"";return`\`; if (${X}) { continue; } result += \``}),Z=Z.replace(/@break(?!\()/g,"`; break; result += `"),Z=Z.replace(/@continue(?!\()/g,"`; continue; result += `"),Z}function SU($){let Z=/@forelse\s*\(/g,Y,X=[],Q=/@foreach\s*\(/g,J=/@endforeach/g,G;while((G=Q.exec($))!==null)X.push({pos:G.index,delta:1});while((G=J.exec($))!==null)X.push({pos:G.index,delta:-1});X.sort((U,z)=>U.pos-z.pos);let K=[],q=0;for(let U of X)q+=U.delta,K.push({pos:U.pos,depth:q});function W(U){let z=0,_=K.length-1,B=0;while(z<=_){let j=z+_>>1;if(K[j].pos<=U)B=K[j].depth,z=j+1;else _=j-1}return B}while((Y=Z.exec($))!==null){if(W(Y.index)>0)continue;let U=Y.index,z=Y.index+Y[0].length-1,_=1,B=z+1,j=-1;while(B<$.length&&_>0){if($[B]==="(")_++;else if($[B]===")"){if(_--,_===0){j=B;break}}B++}if(j===-1)continue;let H=$.substring(z+1,j),L=H.indexOf(" as ");if(L===-1)continue;let F=H.substring(0,L).trim(),O=H.substring(L+4).trim(),V=j+1,w=1,A=V,M=/@forelse\s*\(/g,R=/@endforelse/g,N=-1;while(w>0&&A<$.length){M.lastIndex=A,R.lastIndex=A;let S=M.exec($),b=R.exec($);if(!b)break;if(S&&S.index<b.index)w++,A=S.index+S[0].length;else{if(w--,w===0){N=b.index;break}A=b.index+11}}if(N===-1)continue;let T=$.substring(V,N),I=N+11,D=-1,E=0,y=0;while(y<T.length){let S=T.indexOf("@",y);if(S===-1)break;let b=T.substring(S);if(/^@forelse\s*\(/.test(b))E++,y=S+1;else if(b.startsWith("@endforelse"))E--,y=S+11;else if(E===0&&b.startsWith("@empty")){if(T.length<=S+6||!/[a-z]/i.test(T[S+6])){D=S;break}y=S+1}else y=S+1}if(D===-1)continue;return{start:U,end:I,arrayExpr:F,itemVar:O,foreachContent:T.substring(0,D),emptyContent:T.substring(D+6)}}return null}function x2($,Z){let Y=$;while(!0){let X=SU(Y);if(!X)break;let{start:Q,end:J,arrayExpr:G,itemVar:K,foreachContent:q,emptyContent:W}=X;try{let U;if(G0(G))U=K0(G,Object.keys(Z))(...Object.values(Z));else U=Z0(G,Z);let z;if(!Array.isArray(U)||U.length===0)z=W;else z=`@foreach (${G} as ${K})${q}@endforeach`;Y=Y.substring(0,Q)+z+Y.substring(J)}catch(U){let z=U instanceof Error?U.message:String(U),_=e("Forelse",`Error in @forelse(${G} as ${K}): ${z}`,o.EVALUATION_ERROR);Y=Y.substring(0,Q)+_+Y.substring(J)}}return Y}function l3($,Z,Y,X){let Q=$;Q=x2(Q,Z);function J(q){let W=/@foreach\s*\(/g,U;while((U=W.exec(q))!==null){let z=U.index,_=U.index+U[0].length-1,B=1,j=_+1,H=-1;while(j<q.length&&B>0){if(q[j]==="(")B++;else if(q[j]===")"){if(B--,B===0){H=j;break}}j++}if(H===-1)continue;let L=q.substring(_+1,H),F=L.indexOf(" as ");if(F===-1)continue;let O=z,V=L.substring(0,F),w=L.substring(F+4),A=H+1,M=1,R=A,N=/@foreach\s*\(/g,T=/@endforeach/g;while(M>0&&R<q.length){N.lastIndex=R,T.lastIndex=R;let I=N.exec(q),D=T.exec(q);if(!D)break;if(I&&I.index<D.index)M++,R=I.index+I[0].length;else{if(M--,M===0){let E=q.substring(A,D.index),y=D.index+11;return{start:O,end:y,arrayExpr:V,itemVar:w,content:E}}R=D.index+11}}}return null}function G(q,W){let U=q;while(!0){let z=J(U);if(!z)break;let{start:_,end:B,arrayExpr:j,itemVar:H,content:L}=z;try{let F=j.trim(),O;if(G0(F))O=K0(F,Object.keys(W))(...Object.values(W));else O=Z0(F,W);let V=!1;if(!Array.isArray(O))if(O instanceof Map)O=Array.from(O),V=!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),V=!0;else{let D=e("Foreach",`Error in @foreach: ${F} is not iterable`,o.TYPE_ERROR);U=U.substring(0,_)+D+U.substring(B);continue}let w=X?.loops?.useAltLoopVariable??IU,A=H.trim(),M=null,R,N=!1;if(A.includes("=>")){let D=A.split("=>").map((E)=>E.trim());if(D.length===2&&D[0]&&D[1])M=D[0],R=D[1];else R=A}else if(!A.startsWith("[")&&!A.startsWith("{")&&A.includes(",")){let D=A.split(",").map((E)=>E.trim());if(D.length===2&&D[0]&&D[1])R=D[0],M=D[1],N=!0;else R=A}else R=A;let T="",I=O;for(let D=0;D<I.length;D++){let E=I[D],y={index:D,iteration:D+1,first:D===0,last:D===I.length-1,count:I.length},S={...W,loop:y,$loop:y};if(R.startsWith("[")&&R.endsWith("]")){let f=R.slice(1,-1).split(",").map((m)=>m.trim());if(Array.isArray(E))f.forEach((m,r)=>{if(m)S[m]=E[r]});else S[R]=E}else S[R]=E;if(M)if(!N&&V&&Array.isArray(E)&&E.length===2)S[M]=E[0],S[R]=E[1];else S[M]=D;let b=kU(L,S),v=v2(b);if(v.hasContinue){T+=v.content;continue}let h=C2(b);if(h.hasBreak){T+=h.content;break}if(b=x2(b,S),b=G(b,S),b=p1(b,S,Y),b=bU(b),h=C2(b),h.hasBreak){T+=h.content;break}if(v=v2(b),v.hasContinue){T+=v.content;continue}b=w1(b,S,Y),b=DU(b,S),b=EU(b,S),T+=b}U=U.substring(0,_)+T+U.substring(B)}catch(F){let O=e("Foreach",`Error in @foreach(${j.trim()} as ${H.trim()}): ${F instanceof Error?F.message:String(F)}`,o.EVALUATION_ERROR);U=U.substring(0,_)+O+U.substring(B)}}return U}Q=G(Q,Z),Q=h2(Q,Z,Y,X);let K=X?.loops?.maxWhileIterations??TU;return Q=CU(Q,Z,K),Q}function g2($){return v$($)}function h2($,Z,Y,X){let Q=$,J=!0;while(J){J=!1;let G=Q.match(/@for\s*\(/);if(!G||G.index===void 0)break;let K=G.index,q=K+G[0].length-1,W=C0(Q,"(",")",q);if(W===-1)break;let U=Q.slice(q+1,W),z=W+1,_=r$(Q.slice(K),"for","endfor");if(_.length===0)break;let B=_[0].content,j=K+_[0].end;if(!g2(U)){let H=e("For",`Unsafe expression in @for: ${U}`,o.UNSAFE_EXPRESSION);Q=Q.substring(0,K)+H+Q.substring(j),J=!0;continue}try{let H=yU(U),L=/@(?:for|foreach|if|unless)\s*\(/.test(B);if(H.length>0&&L){let M=PU({forExpr:U,content:B,iterVarNames:H,context:Z,filePath:Y,options:X});Q=Q.substring(0,K)+M+Q.substring(j),J=!0;continue}let F=Object.keys(Z),O=Object.values(Z),V=B.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(M,R)=>{return`\${${R}}`});V=f2(V);let A=Function(...F,`
|
|
1933
1933
|
let result = '';
|
|
1934
1934
|
for (${U}) {
|
|
1935
1935
|
result += \`${V}\`;
|
|
1936
1936
|
}
|
|
1937
1937
|
return result;
|
|
1938
|
-
`)(...O);Q=Q.substring(0,K)+A+Q.substring(j),J=!0}catch(H){let L=e("For",`Error in @for(${U}): ${H instanceof Error?H.message:String(H)}`,o.EVALUATION_ERROR);Q=Q.substring(0,K)+L+Q.substring(j),J=!0}}return Q}function
|
|
1938
|
+
`)(...O);Q=Q.substring(0,K)+A+Q.substring(j),J=!0}catch(H){let L=e("For",`Error in @for(${U}): ${H instanceof Error?H.message:String(H)}`,o.EVALUATION_ERROR);Q=Q.substring(0,K)+L+Q.substring(j),J=!0}}return Q}function yU($){let Z=$.trim(),Y=Z.match(/^(?:const|let|var)\s+(\[[^\]]+\]|\{[^}]+\})\s+(?:of|in)\s+/);if(Y){let J=Y[1];return J.slice(1,-1).split(",").map((K)=>{let q=K.trim();if(!q)return"";let W=q.indexOf(":");if(W>=0&&J.startsWith("{")){let _=q.slice(W+1).trim(),B=_.indexOf("=");return(B>=0?_.slice(0,B):_).trim()}let U=q.indexOf("="),z=(U>=0?q.slice(0,U):q).trim();return/^[A-Za-z_$][\w$]*$/.test(z)?z:""}).filter(Boolean)}let X=Z.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s+(?:of|in)\s+/);if(X)return[X[1]];let Q=Z.match(/^(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=[^;]*;/);if(Q)return[Q[1]];return[]}function PU($){let{forExpr:Z,content:Y,iterVarNames:X,context:Q,filePath:J,options:G}=$,K=Object.keys(Q),q=Object.values(Q),W=Function(...K,"__pushIter",`
|
|
1939
1939
|
for (${Z}) {
|
|
1940
1940
|
__pushIter([${X.join(", ")}])
|
|
1941
1941
|
}
|
|
1942
|
-
`),U=[];W(...q,(B)=>{U.push(B)});let z=J??"inline.stx",_="";for(let B of U){let j={...Q};X.forEach((L,F)=>{j[L]=B[F]});let H=
|
|
1942
|
+
`),U=[];W(...q,(B)=>{U.push(B)});let z=J??"inline.stx",_="";for(let B of U){let j={...Q};X.forEach((L,F)=>{j[L]=B[F]});let H=h2(Y,j,J,G);H=p1(H,j,z),H=w1(H,j,z),_+=H}return _}function CU($,Z,Y){let X=$,Q=!0;while(Q){Q=!1;let J=X.match(/@while\s*\(/);if(!J||J.index===void 0)break;let G=J.index,K=G+J[0].length-1,q=C0(X,"(",")",K);if(q===-1)break;let W=X.slice(K+1,q),U=r$(X.slice(G),"while","endwhile");if(U.length===0)break;let z=U[0].content,_=G+U[0].end;if(!g2(W)){let B=e("While",`Unsafe expression in @while: ${W}`,o.UNSAFE_EXPRESSION);X=X.substring(0,G)+B+X.substring(_),Q=!0;continue}try{let B=Object.keys(Z),j=Object.values(Z),H=z.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(O,V)=>{return`\${${V}}`});H=f2(H);let F=Function(...B,`
|
|
1943
1943
|
let result = '';
|
|
1944
1944
|
let maxIterations = ${Y}; // Configurable safety limit
|
|
1945
1945
|
let counter = 0;
|
|
@@ -1951,21 +1951,21 @@ ${G}`,Q++}return{functionCode:X,nextIndex:Q}}function M2($,Z){let Y=Z0($,Z)??Z0(
|
|
|
1951
1951
|
result += '<!-- [While Error [1104]]: Maximum iterations (${Y}) exceeded in while loop. Configure via options.loops.maxWhileIterations -->';
|
|
1952
1952
|
}
|
|
1953
1953
|
return result;
|
|
1954
|
-
`)(...j);X=X.substring(0,G)+F+X.substring(_),Q=!0}catch(B){let j=e("While",`Error in @while(${W}): ${B instanceof Error?B.message:String(B)}`,o.EVALUATION_ERROR);X=X.substring(0,G)+j+X.substring(_),Q=!0}}return X}var
|
|
1955
|
-
`)J++;return!0}if(Z[J]==="/"&&Z[J+1]==="*"){J+=2;while(J<G-1&&!(Z[J]==="*"&&Z[J+1]==="/"))J++;return J+=2,!0}return!1},U=()=>{if(Q!==0)return;let z=Z.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(z){let j=z[2];if(!X.has(j))Y.push(j),X.add(j);return}let _=Z.slice(J).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(_){let j=_[1];if(!X.has(j))Y.push(j),X.add(j);return}let B=Z.slice(J).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let j=B[1];if(!X.has(j))Y.push(j),X.add(j)}};while(J<G){if(W())continue;if(Z[J]==="'"||Z[J]==='"'){K(Z[J]);continue}if(Z[J]==="`"){q();continue}if(Z[J]==="{"){Q++,J++;continue}if(Z[J]==="}"){Q--,J++;continue}if(Q===0&&/[a-z]/i.test(Z[J])&&(J===0||/\s|[;{}()]/.test(Z[J-1])))U();J++}return Y.join(", ")}function
|
|
1954
|
+
`)(...j);X=X.substring(0,G)+F+X.substring(_),Q=!0}catch(B){let j=e("While",`Error in @while(${W}): ${B instanceof Error?B.message:String(B)}`,o.EVALUATION_ERROR);X=X.substring(0,G)+j+X.substring(_),Q=!0}}return X}var TU=1000,IU=!1,F4="<!--__STX_BREAK__-->",V4="<!--__STX_CONTINUE__-->";var c3=k(()=>{t$();z1();X1();a$();H0()});import z0 from"path";function p3($,Z){let Y=0;for(let X=Z;X<$.length;X++){let Q=$[X];if(Q==="("||Q==="["||Q==="{")Y++;else if(Q===")"||Q==="]"||Q==="}")Y--;else if(Q===","&&Y===0)return X}return-1}function vU($,Z,Y){let X=$,Q=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),J=Q.exec(X);while(J){let G=J.index,K=G+J[0].length-1,q=1,W=K+1;while(W<X.length&&q>0){if(X[W]==="(")q++;else if(X[W]===")")q--;W++}if(q!==0)break;let U=X.substring(K+1,W-1),z=`${Y}(${U})`;X=X.substring(0,G)+z+X.substring(W),Q.lastIndex=G+z.length,J=Q.exec(X)}return X}function xU($){return/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test($)}function m2($){let Z=$,Y=[],X=new Set,Q=0,J=0,G=Z.length,K=(z)=>{J++;while(J<G){if(Z[J]==="\\"){J+=2;continue}if(Z[J]===z){J++;return}J++}},q=()=>{J++;while(J<G){if(Z[J]==="\\"){J+=2;continue}if(Z[J]==="`"){J++;return}if(Z[J]==="$"&&Z[J+1]==="{"){J+=2;let z=1;while(J<G&&z>0)if(Z[J]==="{")z++,J++;else if(Z[J]==="}")z--,J++;else if(Z[J]==="'"||Z[J]==='"')K(Z[J]);else if(Z[J]==="`")q();else J++;continue}J++}},W=()=>{if(Z[J]==="/"&&Z[J+1]==="/"){while(J<G&&Z[J]!==`
|
|
1955
|
+
`)J++;return!0}if(Z[J]==="/"&&Z[J+1]==="*"){J+=2;while(J<G-1&&!(Z[J]==="*"&&Z[J+1]==="/"))J++;return J+=2,!0}return!1},U=()=>{if(Q!==0)return;let z=Z.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(z){let j=z[2];if(!X.has(j))Y.push(j),X.add(j);return}let _=Z.slice(J).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(_){let j=_[1];if(!X.has(j))Y.push(j),X.add(j);return}let B=Z.slice(J).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let j=B[1];if(!X.has(j))Y.push(j),X.add(j)}};while(J<G){if(W())continue;if(Z[J]==="'"||Z[J]==='"'){K(Z[J]);continue}if(Z[J]==="`"){q();continue}if(Z[J]==="{"){Q++,J++;continue}if(Z[J]==="}"){Q--,J++;continue}if(Q===0&&/[a-z]/i.test(Z[J])&&(J===0||/\s|[;{}()]/.test(Z[J-1])))U();J++}return Y.join(", ")}function l2($,Z=""){let Y=m2($).split(",").map((X)=>X.trim()).filter(Boolean);return`
|
|
1956
1956
|
(function() {
|
|
1957
|
-
${
|
|
1957
|
+
${U5("var",Y)}
|
|
1958
1958
|
var __destroyHooks = [];
|
|
1959
1959
|
var __origOnDestroy = onDestroy;
|
|
1960
1960
|
onDestroy = function(fn) { __origOnDestroy(fn); __destroyHooks.push(fn); };
|
|
1961
1961
|
|
|
1962
1962
|
${$}
|
|
1963
1963
|
${Z}})();
|
|
1964
|
-
`}function
|
|
1964
|
+
`}function c2($,Z){return`
|
|
1965
1965
|
// Register scope variables for STX runtime
|
|
1966
1966
|
if (!window.stx._scopes) window.stx._scopes = {};
|
|
1967
1967
|
var __scopeRegistration = { __destroyCallbacks: __destroyHooks };
|
|
1968
|
-
${
|
|
1968
|
+
${m2($).split(",").map((J)=>J.trim()).filter(Boolean).map((J)=>` try { __scopeRegistration[${JSON.stringify(J)}] = ${J}; } catch (e) { /* not actually top-level */ }`).join(`
|
|
1969
1969
|
`)}
|
|
1970
1970
|
// #1767: when the bundler renamed a component const that collided with an
|
|
1971
1971
|
// inlined import (foo -> foo2), rebind the ORIGINAL template name to the
|
|
@@ -1973,7 +1973,7 @@ ${u2($).split(",").map((J)=>J.trim()).filter(Boolean).map((J)=>` try { __scopeR
|
|
|
1973
1973
|
// shadowing import. __stxScopeRenames is emitted by bundleClientScript.
|
|
1974
1974
|
try { if (typeof __stxScopeRenames !== 'undefined' && __stxScopeRenames) { for (var __stxRK in __stxScopeRenames) __scopeRegistration[__stxRK] = __stxScopeRenames[__stxRK]; } } catch (e) { /* no renames */ }
|
|
1975
1975
|
window.stx._scopes['${Z}'] = __scopeRegistration;
|
|
1976
|
-
`}function
|
|
1976
|
+
`}function fU($,Z){let Y=c2($,Z),X=`
|
|
1977
1977
|
(function() {
|
|
1978
1978
|
var __stxScopeEl = (typeof document !== 'undefined') ? document.querySelector('[data-stx-scope="${Z}"]') : null;
|
|
1979
1979
|
var __stxPrevEl = (typeof window !== 'undefined') ? window.__STX_CURRENT_ELEMENT__ : undefined;
|
|
@@ -1982,21 +1982,21 @@ ${u2($).split(",").map((J)=>J.trim()).filter(Boolean).map((J)=>` try { __scopeR
|
|
|
1982
1982
|
} finally {
|
|
1983
1983
|
if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
|
|
1984
1984
|
}
|
|
1985
|
-
})();`;return X+
|
|
1985
|
+
})();`;return X+l2($,Y)+`
|
|
1986
1986
|
} finally {
|
|
1987
1987
|
if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
|
|
1988
1988
|
}
|
|
1989
|
-
})();`}function
|
|
1990
|
-
`;continue}if(T0)try{let{extractVariables:Q0}=await Promise.resolve().then(() => (
|
|
1991
|
-
`}}if(S){let f=
|
|
1989
|
+
})();`}function gU($,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 Q=(Y[2]+Y[3]).match(/data-stx-scope="([^"]*)"/);if(Q)return{html:$,mergedIntoExisting:Q[1]};let J=Y[1],G=Y[2],K=Y[3];return{html:`${J}${G} data-stx-scope="${Z}"${K}${$.slice(Y[0].length)}`,mergedIntoExisting:null}}return{html:$,mergedIntoExisting:null}}function uU($){if($.__onceStore instanceof Set)return $.__onceStore;return hU}async function i3($,Z,Y,X,Q,J=new Set){let G=X.partialsDir||z0.join(z0.dirname(Y),"partials");if(G&&!z0.isAbsolute(G))G=z0.resolve(process.cwd(),G);let K=vU($,"@partial","@include"),q=uU(Z);K=K.replace(/@once([\s\S]*?)@endonce/g,(j,H,L)=>{let F=H.trim(),O=`${Y}:${F}`;if(q.has(O))return"";return q.add(O),H});{let j=/@includeIf\s*\(/g,H;while((H=j.exec(K))!==null){let L=H.index,F=L+H[0].length-1,O=1,V=F+1;while(V<K.length&&O>0){if(K[V]==="(")O++;else if(K[V]===")")O--;V++}if(O!==0)break;let w=K.substring(F+1,V-1),A=w.match(/^\s*['"]([^'"]+)['"]/);if(!A){j.lastIndex=V;continue}let M=A[1],R=W(M,G,Y),N="";if(R&&await Bun.file(R).exists())Q.add(R),N=`@include(${w})`;K=K.substring(0,L)+N+K.substring(V),j.lastIndex=0}}for(let[j,H]of[["@includeWhen",!1],["@includeUnless",!0]]){let L=new RegExp(`${j.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),F;while((F=L.exec(K))!==null){let O=F.index,V=O+F[0].length-1,w=1,A=V+1;while(A<K.length&&w>0){if(K[A]==="(")w++;else if(K[A]===")")w--;A++}if(w!==0)break;let M=K.substring(V+1,A-1),R=p3(M,0);if(R===-1){L.lastIndex=A;continue}let N=M.substring(0,R).trim(),T=M.substring(R+1).trim(),I=T.match(/^\s*['"]([^'"]+)['"]/);if(!I){L.lastIndex=A;continue}let D=I[1],E=T.substring(I[0].length),y,S=p3(E,0);if(S!==-1)y=E.substring(S+1).trim();try{let b=`Boolean(${N})`,v;if(G0(b)){let m=K0(b,Object.keys(Z));v=Boolean(m(...Object.values(Z)))}else v=Boolean(Z0(b,Z));let h=H?!v:v,f="";if(h){let m=W(D,G,Y);if(m&&await Bun.file(m).exists())Q.add(m);f=`@include('${D}'${y?`, ${y}`:""})`}K=K.substring(0,O)+f+K.substring(A),L.lastIndex=0}catch(b){let v=b instanceof Error?b.message:String(b),h=W0("Include",`Error evaluating ${j} condition: ${v}`,Y,$,O);K=K.substring(0,O)+h+K.substring(A),L.lastIndex=0}}}{let j=/@each\s*\(/g,H;while((H=j.exec(K))!==null){let L=H.index,F=L+H[0].length-1,O=1,V=F+1;while(V<K.length&&O>0){if(K[V]==="(")O++;else if(K[V]===")"){if(O--,O===0)break}V++}if(O!==0)break;let w=K.substring(F+1,V),A=K.substring(L,V+1),M=w.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!M){j.lastIndex=0,K=K.replace(A,"");continue}let[,R,N,T,I]=M;try{let D,E=N.trim();if(G0(E))D=K0(E,Object.keys(Z))(...Object.values(Z));else D=Z0(E,Z);let y="";if(Array.isArray(D)&&D.length>0)for(let S of D){let b={...Z,[T]:S},v=await z(R,b,$,L);y+=v}else if(I)y=await z(I,{},$,L);K=K.substring(0,L)+y+K.substring(V+1),j.lastIndex=0}catch(D){let E=D instanceof Error?D.message:String(D);K=K.substring(0,L)+W0("Each",`Error in @each: ${E}`,Y,$,L)+K.substring(V+1),j.lastIndex=0}}}{let j=/@includeFirst\s*\(/g,H;while((H=j.exec(K))!==null){let L=H.index,F=L+H[0].length-1,O=1,V=F+1;while(V<K.length&&O>0){if(K[V]==="(")O++;else if(K[V]===")"){if(O--,O===0)break}V++}if(O!==0)break;let w=K.substring(F+1,V),A=K.substring(L,V+1),M=w.match(/^\s*(\[[^\]]+\])/);if(!M){j.lastIndex=0,K=K.replace(A,"");continue}let R=M[1],N=w.slice(M[0].length),T,I=N.match(/^\s*,\s*\{/);if(I){N=N.slice(I[0].length-1);let y=1,S=1;while(S<N.length&&y>0){if(N[S]==="{")y++;else if(N[S]==="}"){if(y--,y===0)break}S++}T=N.substring(0,S+1),N=N.slice(S+1)}let D,E=N.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(E)D=E[1];try{let y=JSON.parse(R.replace(/'/g,'"')),S={};if(T)try{S=A0(T,Z)}catch(v){let h=v instanceof Error?v.message:String(v);if(X.debug){let f=W0("Include",`Error parsing includeFirst variables: ${h}`,Y,$,L,A);K=K.replace(A,()=>f)}else K=K.replace(A,()=>D||"");continue}let b=!1;for(let v of y){let h=W(v,G,Y);if(!h)continue;if(await p(h)){let f=await z(v,S,$,L);K=K.replace(A,()=>f),b=!0;break}}if(!b)if(D!==void 0)K=K.replace(A,()=>D);else if(X.debug){let v=W0("Include",`None of the includeFirst paths exist: ${R}`,Y,$,L,A);K=K.replace(A,()=>v)}else K=K.replace(A,"")}catch(y){let S=y instanceof Error?y.message:String(y),b=W0("Include",`Error processing @includeFirst: ${S}`,Y,$,L,A);K=K.replace(A,()=>b)}j.lastIndex=0}}function W(j,H,L){try{let F=j;if(!j.endsWith(".stx"))F=`${j}.stx`;let O=z0.resolve(H),V=z0.resolve(z0.dirname(L)),w;if(!F.startsWith("./")&&!F.startsWith("../"))w=z0.resolve(H,F);else w=z0.resolve(V,F);let A=z0.normalize(w),M=A.startsWith(O+z0.sep)||A===O,R=A.startsWith(V+z0.sep)||A===V,N=!1,T=z0.dirname(V);if(A.startsWith(T+z0.sep)){if(!z0.relative(T,A).split(z0.sep).some((y)=>y.startsWith(".")&&y!=="."&&y!==".."))N=!0}if(!M&&!R&&!N)return console.error(`Security: Path traversal attempt blocked for include path: ${j}`),console.error(` Resolved to: ${A}`),console.error(` Allowed dirs: ${O}, ${V}`),null;return A}catch(F){return console.error(`Error resolving path ${j}: ${F}`),null}}let U=z0.resolve(Y);J.add(U);async function z(j,H={},L,F){let O=W(j,G,Y);if(!O)return W0("Include",`Could not resolve path for include: ${j}`,Y,L,F);let V=z0.resolve(O);if(J.has(V)){let w=[...J,V].map((A)=>z0.basename(A)).join(" -> ");return W0("Include",`Circular include detected: ${w}`,Y,L,F)}try{Q.add(O);let w;if(!w)try{w=await Bun.file(O).text()}catch(f){let m=f instanceof Error?f.message:String(f);return W0("Include",`Error loading include file ${j}: ${m}`,Y,L,F)}if(w&&w.includes("@stream")){let{processStreamDirectives:f}=await Promise.resolve().then(() => (U3(),W3));w=f(w,Z)}if(w&&(X.debug||!Y$()&&!c$()))try{let{warnUnbalancedTags:f}=await Promise.resolve().then(() => (_3(),aZ));f(w,O)}catch{}let A=w;try{let{processESImports:f}=await Promise.resolve().then(() => (u3(),A2));await f(w,Z,O,X,Q)}catch(f){if(X.debug)console.warn(`[stx] partial ES import extraction skipped for ${O}:`,f instanceof Error?f.message:f)}let M=L5(A);if(M)A=M.content.trim();let N=w.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),T="";if(N)T=`<style${N[1]}>${N[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,m]of Object.entries(H))I[f]=m;let D=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,E=[...w.matchAll(D)],y="",S=null;for(let f of E){let m=f[1]||"",r=f[2]||"",T0=m.includes("server"),I0=g1(m),m0="";try{let{extractAndStripCssImports:Q0,renderVendorStyleTags:E0}=await Promise.resolve().then(() => (K5(),q8)),s0=Q0(r,{filePath:O,projectRoot:process.cwd()});r=s0.code,m0=E0(s0.styles)}catch(Q0){if(X.debug)console.warn(`[stx] vendor-css extractor skipped for ${O}:`,Q0 instanceof Error?Q0.message:Q0)}if(I0&&r.trim())r=h1(r);if(!T0)try{let{hasUserImports:Q0,bundleClientScript:E0}=await Promise.resolve().then(() => (s5(),n5));if(Q0(r))r=await E0(r,O,{projectRoot:process.cwd()})}catch(Q0){if(X.debug)console.warn(`[stx] bundler skipped for ${O}:`,Q0 instanceof Error?Q0.message:Q0)}let J0=xU(r);if(J0&&!T0){S=`stx_scope_${z0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++d2}`;let Q0=r0(r),E0=fU(Q0,S);y+=`${m0}<script data-stx-scoped>${E0}</script>
|
|
1990
|
+
`;continue}if(T0)try{let{extractVariables:Q0}=await Promise.resolve().then(() => (N5(),O4));await Q0(r,I,O)}catch(Q0){if(X.debug)console.warn(`Warning: Could not extract variables from server script in ${O}:`,Q0)}if(!T0&&!J0){let Q0=m.replace(/\bclient\b/i,"").trim();S=`stx_scope_${z0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++d2}`;let E0=r0(r),s0=c2(E0,S),H1=l2(E0,s0);y+=`${m0}<script data-stx-scoped${Q0?` ${Q0}`:""}>${H1}</script>
|
|
1991
|
+
`}}if(S){let f=gU(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 i3(A,I,O,X,Q,J);let{processLoops:b}=await Promise.resolve().then(() => (c3(),u2)),v=b(A,I,O);v=p1(v,I,O);let h=W5(w);if(v=w1(v,I,O,{forceSignals:h}),T)v+=`
|
|
1992
1992
|
`+T;if(y)v+=`
|
|
1993
|
-
`+y;return v}catch(w){let A=w instanceof Error?w.message:String(w);return W0("Include",`Error processing include ${j}: ${A}`,Y,L,F)}}let _=/@include\s*\(/g,B;while((B=_.exec(K))!==null){let j=B.index,H=j+B[0].length-1,L=1,F=H+1;while(F<K.length&&L>0){if(K[F]==="(")L++;else if(K[F]===")")L--;F++}if(L!==0)break;let O=K.substring(j,F),V=K.substring(H+1,F-1),w=V.match(/^\s*['"]([^'"]+)['"]/);if(!w){_.lastIndex=F;continue}let A=w[1],M,R=V.substring(w[0].length),N=
|
|
1994
|
-
`)})}var
|
|
1993
|
+
`+y;return v}catch(w){let A=w instanceof Error?w.message:String(w);return W0("Include",`Error processing include ${j}: ${A}`,Y,L,F)}}let _=/@include\s*\(/g,B;while((B=_.exec(K))!==null){let j=B.index,H=j+B[0].length-1,L=1,F=H+1;while(F<K.length&&L>0){if(K[F]==="(")L++;else if(K[F]===")")L--;F++}if(L!==0)break;let O=K.substring(j,F),V=K.substring(H+1,F-1),w=V.match(/^\s*['"]([^'"]+)['"]/);if(!w){_.lastIndex=F;continue}let A=w[1],M,R=V.substring(w[0].length),N=p3(R,0);if(N!==-1)M=R.substring(N+1).trim();let T={};if(M)try{T=A0(M,Z)}catch(D){let E=D instanceof Error?D.message:String(D);K=K.replace(O,W0("Include",`Error parsing include variables for ${A}: ${E}`,Y,$,j)),_.lastIndex=0;continue}let I=await z(A,T,$,j);K=K.substring(0,j)+I+K.substring(F),_.lastIndex=0}return K}function n3($,Z){let Y=$;function X(Q,J,G,K){let q=Q,W=!0;while(W){W=!1;let U=new RegExp(`@${J}\\(['"]([^'"]+)['"]\\)`),z=q.match(U);if(!z||z.index===void 0)break;let _=z.index,B=z[1],j=_+z[0].length,H=new RegExp(`@${J}\\(`),L=new RegExp(`@${G}(?![a-z])`),F=1,O=j,V=-1;while(F>0&&O<q.length){let A=q.slice(O),M=A.match(H),R=A.match(L),N=M?O+M.index:1/0,T=R?O+R.index:1/0;if(N<T)F++,O=N+(M[0].length||1);else if(T<1/0){if(F--,F===0){V=T;break}O=T+G.length+1}else break}if(V===-1)break;let w=q.slice(j,V);if(!Z[B])Z[B]=[];if(K)Z[B].unshift(w);else Z[B].push(w);q=q.substring(0,_)+q.substring(V+`@${G}`.length),W=!0}return q}return Y=X(Y,"push","endpush",!1),Y=X(Y,"prepend","endprepend",!0),Y}function s3($,Z){return $.replace(/@stack\(['"]([^'"]+)['"]\)/g,(Y,X)=>{if(!Z[X]||Z[X].length===0)return"";return Z[X].join(`
|
|
1994
|
+
`)})}var d2=0,jw,hU;var p2=k(()=>{J4();t$();X1();$$();B5();H0();w0();jw=new d1(500),hU=new Set});import*as o3 from"path";async function i2($,Z,Y=""){if(o3.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 s2($,Z,Y,"@js","@endjs")}async function n2($,Z,Y=""){if(o3.basename(Y)==="ts-directive.stx"){if(Z.users&&Array.isArray(Z.users))Z.processedUsers=Z.users.map((J)=>({...J,displayName:`User ${J.id}: ${J.name}`})),Z.processedOutput=JSON.stringify(Z.processedUsers);return $.replace(/@ts[\s\S]*?@endts/g,"")}return s2($,Z,Y,"@ts","@endts")}async function s2($,Z,Y,X,Q){let J=$,G=_5(`${X}([\\s\\S]*?)${Q}`,"g"),K=[],q;while((q=G.exec($))!==null)K.push({fullMatch:q[0],content:q[1]||"",index:q.index});for(let{fullMatch:W,content:U,index:z}of K)try{let _=Object.keys(Z),B=Object.values(Z),j=U.trim();if(X==="@ts")j=j.replace(/interface\s+\w+\s*\{[^}]*\}/g,"").replace(/type\s+\w+\s*=[^;]+;/g,"").replace(/(const|let|var)\s+(\w+)\s*:[^=]+=/g,"$1 $2 =").replace(/(\w+)\s*:[\w<>|&[\],\s]+(?=[,)])/g,"$1").replace(/\)\s*:[\w<>|&[\],\s]+(?=[{=>])/g,") ").replace(/<[\w<>|&[\],\s]+>/g,"").replace(/\s+as\s[\w<>|&[\],\s]+/g,"");let L=(j.match(/(?:const|let|var)\s+(\w+)\s*=/g)||[]).map((A)=>A.match(/(?:const|let|var)\s+(\w+)/)?.[1]).filter(Boolean),F=L.length>0?`return { ${L.join(", ")} };`:"return {};",O=`
|
|
1995
1995
|
${j}
|
|
1996
1996
|
${F}
|
|
1997
|
-
`,w=Function(..._,O)(...B);if(w&&typeof w==="object")Object.assign(Z,w);J=J.replace(W,"")}catch(_){console.error(`Error executing ${X} code block in ${Y}:`,_);let B=_ instanceof Error?_.message:String(_),j=W0(`${X} Directive`,`Error executing code: ${B}`,Y,$,z,W);console.error(j),J=J.replace(W,"")}return J}var
|
|
1997
|
+
`,w=Function(..._,O)(...B);if(w&&typeof w==="object")Object.assign(Z,w);J=J.replace(W,"")}catch(_){console.error(`Error executing ${X} code block in ${Y}:`,_);let B=_ instanceof Error?_.message:String(_),j=W0(`${X} Directive`,`Error executing code: ${B}`,Y,$,z,W);console.error(j),J=J.replace(W,"")}return J}var o2=k(()=>{B5();w0()});function dU($,Z="_method"){let Y=$.toUpperCase();if(Y==="GET"||Y==="POST")return"";return`<input type="hidden" name="${Z}" value="${Y}">`}function r2($){return $.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(Z,Y,X,Q,J)=>{return dU(X,J||"_method")})}async function a2($,Z,Y,X,Q){if(!X.middleware||X.middleware.length===0)return $;let J=$,G=X.middleware.filter((K)=>K.timing===Q);if(G.length===0)return J;for(let K of G){if(!K.name||typeof K.handler!=="function"){if(X.debug)console.warn("Invalid middleware:",K);continue}try{let q=await K.handler(J,Z,Y,X);if(typeof q==="string")J=q;else if(X.debug)console.warn(`Middleware ${K.name} did not return a string`)}catch(q){if(X.debug)console.error(`Error in middleware ${K.name}:`,q);if(X.debug){let W=W0("Middleware",`Error in middleware '${K.name}': ${q instanceof Error?q.message:String(q)}`,Y,$);J=J.replace(/<body[^>]*>/,`$&
|
|
1998
1998
|
<div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${a0(W)}</div>
|
|
1999
|
-
`)}}}return J}async function
|
|
1999
|
+
`)}}}return J}async function t2($,Z,Y,X){return a2($,Z,Y,X,"before")}async function e2($,Z,Y,X){return a2($,Z,Y,X,"after")}var $Y=k(()=>{X1();w0()});import{defineRoute as Ew,defineRoutes as Dw,resetRoutes as kw,route as bw,setAppUrl as Sw}from"stx-router";import{route as mU}from"stx-router";function ZY($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(Z,Y,X,Q,J)=>{try{let G=Q?A0(Q,{}):{};return mU(X,G,J==="true")}catch(G){return console.error(`Error processing @route directive: ${G}`),"#route-error"}})}var YY=k(()=>{H0()});function XY($,Z,Y,X){let Q=$;Q=Q.replace(/@meta\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(K,q,W)=>{if(!W&&q.includes(":")){let U=q.split(":"),z=q,_=U.length>1?U[1]:"";if(_&&Z[_])W=Z[_];else if(z.startsWith("og:")&&Z.openGraph&&Z.openGraph[U[1]])W=Z.openGraph[U[1]];else W="";return W?`<meta property="${c(z)}" content="${c(W)}">`:""}return W?`<meta name="${c(q)}" content="${c(W)}">`:""});let J=/@metaTag\s*\(/g,G;while((G=J.exec(Q))!==null){let K=G.index,q=K+G[0].length-1,W=1,U=q+1;while(U<Q.length&&W>0){if(Q[U]==="(")W++;else if(Q[U]===")"){if(W--,W===0)break}U++}if(W!==0)break;let z=Q.substring(q+1,U).trim(),_=U+1,B=(()=>{try{let j=A0(z,Z);if(!j)return"";let H="<meta";if(j.name)H+=` name="${c(String(j.name))}"`;if(j.property)H+=` property="${c(String(j.property))}"`;if(j.httpEquiv)H+=` http-equiv="${c(String(j.httpEquiv))}"`;if(j.content)H+=` content="${c(String(j.content))}"`;return H+=">",H}catch(j){let H=j instanceof Error?j.message:String(j);return e("MetaTag",H,o.EVALUATION_ERROR)}})();Q=Q.substring(0,K)+B+Q.substring(_),J.lastIndex=0}return Q}function JY($,Z,Y){let X=$,Q=/@structuredData\s*\(/g,J;while((J=Q.exec(X))!==null){let G=J.index,K=G+J[0].length-1,q=1,W=K+1;while(W<X.length&&q>0){if(X[W]==="(")q++;else if(X[W]===")"){if(q--,q===0)break}W++}if(q!==0)break;let U=X.substring(K+1,W).trim(),z=W+1,_=(()=>{try{let B=A0(U,Z);if(!B)return"";if(!B["@context"])B["@context"]="https://schema.org";return`<script type="application/ld+json">${JSON.stringify(B).replace(/<\//g,"<\\/")}</script>`}catch(B){let j=B instanceof Error?B.message:String(B);return e("StructuredData",j,o.EVALUATION_ERROR)}})();X=X.substring(0,G)+_+X.substring(z),Q.lastIndex=0}return X}function QY($,Z,Y,X){let Q=$,J=/@seo\s*\(\s*\{/g,G;while((G=J.exec(Q))!==null){let K=Q.indexOf("{",G.index+4),q=1,W=K+1,U=null,z=!1;while(W<Q.length&&q>0){let F=Q[W];if(z){z=!1,W++;continue}if(F==="\\"&&U){z=!0,W++;continue}if(U){if(F===U)U=null;W++;continue}if(F==='"'||F==="'"||F==="`"){U=F,W++;continue}if(F==="{")q++;else if(F==="}")q--;W++}if(q!==0)break;let _=Q.substring(W).match(/^\s*\)/);if(!_)break;let B=W+_[0].length,j=Q.substring(K,W),H=Q.substring(G.index,B),L=((F)=>{try{let O=A0(F,Z);if(!O)return"";let V="";if(O.title)V+=`<title>${c(O.title)}</title>
|
|
2000
2000
|
`,V+=`<meta name="title" content="${c(O.title)}">
|
|
2001
2001
|
`;if(O.description)V+=`<meta name="description" content="${c(O.description)}">
|
|
2002
2002
|
`;if(O.keywords){let w=Array.isArray(O.keywords)?O.keywords.join(", "):O.keywords;V+=`<meta name="keywords" content="${c(w)}">
|
|
@@ -2018,7 +2018,7 @@ ${u2($).split(",").map((J)=>J.trim()).filter(Boolean).map((J)=>` try { __scopeR
|
|
|
2018
2018
|
`}if(w.site)V+=`<meta name="twitter:site" content="${c(w.site)}">
|
|
2019
2019
|
`;if(w.creator)V+=`<meta name="twitter:creator" content="${c(w.creator)}">
|
|
2020
2020
|
`}if(O.structuredData){let w=JSON.stringify(O.structuredData).replace(/<\//g,"<\\/");V+=`<script type="application/ld+json">${w}</script>
|
|
2021
|
-
`}return V.trim()}catch(O){let V=O instanceof Error?O.message:String(O);return e("SEO",`Error processing @seo directive: ${V}`,o.EVALUATION_ERROR)}})(j);Q=Q.substring(0,G.index)+L+Q.substring(B),J.lastIndex=G.index+L.length}return Q}function
|
|
2021
|
+
`}return V.trim()}catch(O){let V=O instanceof Error?O.message:String(O);return e("SEO",`Error processing @seo directive: ${V}`,o.EVALUATION_ERROR)}})(j);Q=Q.substring(0,G.index)+L+Q.substring(B),J.lastIndex=G.index+L.length}return Q}function GY($,Z,Y){if(Y.seo?.enabled===!1)return $;if($.includes("<!-- stx SEO Tags -->")||Y.skipDefaultSeoTags===!0)return $;let X=Z.__stx_runtime_head;if(!!(X?.title||X?.meta?.some((z)=>z.property==="og:title"||z.name==="og:title"||z.name==="twitter:title"||z.name==="description")))return $;if(/<meta\s+(?:[^>]*\s)?property=["']og:title["']/i.test($)||/<meta\s+(?:[^>]*\s)?name=["']og:title["']/i.test($)||/<meta\s+(?:[^>]*\s)?name=["']twitter:title["']/i.test($))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let J=$.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 q="";if(Z.image)q=Z.image;else if(Z.meta&&Z.meta.image)q=Z.meta.image;else if(Z.openGraph&&Z.openGraph.image)q=Z.openGraph.image;else if(Y.seo?.defaultImage)q=Y.seo.defaultImage;else if(Y.defaultImage)q=Y.defaultImage;let W=`
|
|
2022
2022
|
<!-- stx SEO Tags -->
|
|
2023
2023
|
<meta name="title" content="${c(G)}">
|
|
2024
2024
|
<meta name="description" content="${c(K)}">
|
|
@@ -2034,25 +2034,25 @@ ${u2($).split(",").map((J)=>J.trim()).filter(Boolean).map((J)=>` try { __scopeR
|
|
|
2034
2034
|
`;let U=$;if(!J)U=U.replace(/<head[^>]*>/,`$&
|
|
2035
2035
|
<title>${c(G)}</title>`);return U.replace(/<head[^>]*>/,`$&
|
|
2036
2036
|
${W}
|
|
2037
|
-
`)}function c($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var
|
|
2037
|
+
`)}function c($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var KY,qY;var r3=k(()=>{z1();H0();KY={name:"meta",handler:($,Z,Y,X)=>{if(Z.length<1)return e("Meta","meta directive requires at least the meta name",o.INVALID_DIRECTIVE_SYNTAX);let Q=Z[0].replace(/['"]/g,""),J=Z.length>1?Z[1].replace(/['"]/g,""):"";return`<meta name="${c(Q)}" content="${c(J)}">`},hasEndTag:!1},qY={name:"structuredData",handler:($,Z,Y,X)=>{if($.trim()==="")return e("StructuredData","structuredData directive requires JSON-LD content",o.INVALID_DIRECTIVE_SYNTAX);try{let Q=JSON.parse($);if(!Q["@context"])Q["@context"]="https://schema.org";if(!Q["@type"])return e("StructuredData","structuredData requires @type property",o.INVALID_DIRECTIVE_SYNTAX);return`<script type="application/ld+json">${JSON.stringify(Q)}</script>`}catch(Q){let J=Q instanceof Error?Q.message:String(Q);return e("StructuredData",J,o.EVALUATION_ERROR)}},hasEndTag:!0}});async function WY($,Z){let Y=$.split("/").pop()?.split(".")[0]||"";if(O$.exact[$])for(let X of O$.exact[$])await Promise.resolve(X(Z,$));if(O$.exact[Y])for(let X of O$.exact[Y])await Promise.resolve(X(Z,$));for(let{pattern:X,callback:Q}of O$.patterns)if(X.test($)||X.test(Y))await Promise.resolve(Q(Z,$))}var O$;var UY=k(()=>{O$={patterns:[],exact:{}}});function zY($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter(Boolean).map((Z)=>zY(Z)).join(" ");if($&&typeof $==="object")return Object.entries($).filter(([,Z])=>Z).map(([Z])=>Z).join(" ");return $?String($):""}function _Y($,Z){if(!/:[\w-]+=/.test($))return $;let Y=$,X=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,Q=[],J;while((J=X.exec($))!==null)Q.push([J.index,J.index+J[0].length]);function G(W){return Q.some(([U,z])=>W>=U&&W<z)}let K=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*'))*)\s*\/?>/g,q=[];while((J=K.exec(Y))!==null){if(G(J.index))continue;let W=J[0],U=J[2];if(!U||!U.includes(":"))continue;let z=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,_,B=U,j=!1;while((_=z.exec(U))!==null){let H=_[1],L=_[2];if(L.includes("()")&&!L.includes(".get(")||L.includes("$store")||L.includes("$ref"))continue;try{let F=Object.keys(Z),O=Object.values(Z),V=L.match(/^([a-zA-Z_$][\w$]*)/);if(V&&!F.includes(V[1])&&!["true","false","null","undefined","Math","JSON","String","Number","Array","Object","Date","parseInt","parseFloat"].includes(V[1]))continue;let A=Function(...F,`return (${L})`)(...O);if(H==="class"){let M=zY(A);if(M){let R=B.match(/\sclass="([^"]*)"/);if(R)B=B.replace(R[0],` class="${R[1]} ${M}"`);else B=B.replace(_[0],` class="${M}"`)}else B=B.replace(_[0],"");j=!0;continue}if(lU.has(H)){if(A)B=B.replace(_[0],` ${H}`);else B=B.replace(_[0],"");j=!0;continue}if(A===null||A===void 0||A===!1)B=B.replace(_[0],"");else{let M=String(A).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">");B=B.replace(_[0],` ${H}="${M}"`)}j=!0}catch{continue}}if(j){let H=W.endsWith("/>")?" /":"",F=`<${J[1]}${B}${H}>`;q.push({start:J.index,end:J.index+W.length,replacement:F})}}for(let W=q.length-1;W>=0;W--){let{start:U,end:z,replacement:_}=q[W];Y=Y.slice(0,U)+_+Y.slice(z)}return Y}var lU;var BY=k(()=>{lU=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"])});function r1($,Z){let Y=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?)(\s*\/?)>/g;Y.lastIndex=Z;let X=Y.exec($);if(!X)return null;let Q=/\/\s*>$/.test(X[0])||cU.has(X[1].toLowerCase()),J=Q?X[2].replace(/\/\s*$/,""):X[2];return{full:X[0],tag:X[1],attrs:J,selfClosing:Q,start:X.index,end:X.index+X[0].length}}function iU($,Z,Y){let X=1,Q=Y,J=new RegExp(`<${Z}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,"gi"),G=new RegExp(`</${Z}\\s*>`,"gi");while(X>0&&Q<$.length){J.lastIndex=Q,G.lastIndex=Q;let K=J.exec($),q=G.exec($);if(!q)return-1;if(K&&K.index<q.index)X++,Q=K.index+K[0].length;else{if(X--,X===0)return q.index+q[0].length;Q=q.index+q[0].length}}return-1}function Q1($,Z){if(Z.selfClosing)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};let Y=iU($,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 jY($,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,"\\$&"),X=$.match(new RegExp(`${Y}="([^"]*)"`,"s"))||$.match(new RegExp(`${Y}='([^']*)'`,"s"));return X?X[1]:null}function I1($,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 E1($,Z,Y){let X=Z.selfClosing?" /":"",Q=`<${Z.tag}${Y}${X}>`;return $.slice(0,Z.start)+Q+$.slice(Z.end)}function nU($){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test($)}function sU($){let Z=$,Y=0;while(Y<Z.length){let X=r1(Z,Y);if(!X)break;let Q=T5(X.attrs,"v-for");if(Q===null){Y=X.end;continue}let J=Q.match(/^\s*\(?([^)]+)\)?\s+(?:in|of)\s+(.+)\s*$/);if(!J){Y=X.end;continue}let G=J[1].trim(),K=J[2].trim(),q;if(G.includes(",")){let L=G.split(",").map((V)=>V.trim()),F=L[0],O=L[1];q=`${K} as ${O} => ${F}`}else q=`${K} as ${G}`;let W=I1(X.attrs,"v-for"),U=I1(W,":key").replace(/\s*v-bind:key="[^"]*"/g,""),z=Q1(Z,X),_=Z.slice(z.outerStart,z.outerEnd),B=E1(_,{...X,start:0,end:X.end-X.start},U),j=`@foreach(${q})
|
|
2038
2038
|
`,H=`${j}${B}
|
|
2039
|
-
@endforeach`;Z=Z.slice(0,z.outerStart)+H+Z.slice(z.outerEnd),Y=z.outerStart+j.length}return Z}function
|
|
2039
|
+
@endforeach`;Z=Z.slice(0,z.outerStart)+H+Z.slice(z.outerEnd),Y=z.outerStart+j.length}return Z}function oU($){let Z=$,Y=0;while(Y<Z.length){let X=r1(Z,Y);if(!X)break;let Q=T5(X.attrs,"v-if");if(Q===null){Y=X.end;continue}let J=[],G=Q1(Z,X),K=I1(X.attrs,"v-if"),q=E1(Z.slice(G.outerStart,G.outerEnd),{...X,start:0,end:X.end-X.start},K);J.push({type:"if",expr:Q,outerStart:G.outerStart,outerEnd:G.outerEnd,element:q,parsedTag:X});let W=G.outerEnd,U=!0;while(U){let H=Z.slice(W).match(/^\s*/),L=H?H[0].length:0,F=r1(Z,W+L);if(!F){U=!1;break}let O=T5(F.attrs,"v-else-if"),V=jY(F.attrs,"v-else");if(O!==null){let w=Q1(Z,F),A=I1(F.attrs,"v-else-if"),M=E1(Z.slice(w.outerStart,w.outerEnd),{...F,start:0,end:F.end-F.start},A);J.push({type:"else-if",expr:O,outerStart:W,outerEnd:w.outerEnd,element:M,parsedTag:F}),W=w.outerEnd}else if(V){let w=Q1(Z,F),A=I1(F.attrs,"v-else"),M=E1(Z.slice(w.outerStart,w.outerEnd),{...F,start:0,end:F.end-F.start},A);J.push({type:"else",outerStart:W,outerEnd:w.outerEnd,element:M,parsedTag:F}),U=!1}else U=!1}let z=[];for(let H of J)if(H.type==="if")z.push(`@if(${H.expr})
|
|
2040
2040
|
${H.element}`);else if(H.type==="else-if")z.push(`@elseif(${H.expr})
|
|
2041
2041
|
${H.element}`);else z.push(`@else
|
|
2042
2042
|
${H.element}`);z.push("@endif");let _=z.join(`
|
|
2043
|
-
`),B=J[0].outerStart,j=J[J.length-1].outerEnd;Z=Z.slice(0,B)+_+Z.slice(j),Y=B+_.length}return Z}function
|
|
2044
|
-
${
|
|
2045
|
-
@endonce`;Z=Z.slice(0,J.outerStart)+q+Z.slice(J.outerEnd),Y=J.outerStart+q.length}return Z}function
|
|
2043
|
+
`),B=J[0].outerStart,j=J[J.length-1].outerEnd;Z=Z.slice(0,B)+_+Z.slice(j),Y=B+_.length}return Z}function rU($){return $.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function aU($){let Z=$,Y=0;while(Y<Z.length){let X=r1(Z,Y);if(!X)break;let Q=X.attrs,J=!1,G=/v-model:([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z.]+))?\s*=\s*"([^"]*)"/,K=Q.match(G);while(K){J=!0;let U=K[1],z=K[2],_=K[3];Q=Q.replace(K[0],""),Q+=` :${U}="${_}" @update:${U}="${_} = $event"`,K=Q.match(G)}if(J){let U=Q1(Z,X),z=Z.slice(U.outerStart,U.outerEnd),_=E1(z,{...X,start:0,end:X.end-X.start},Q);Z=Z.slice(0,U.outerStart)+_+Z.slice(U.outerEnd),Y=U.outerStart+_.length;continue}let q=T5(X.attrs,"v-model");if(q===null){Y=X.end;continue}if(pU.has(X.tag.toLowerCase())){let U=X.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${q}"`,z=Q1(Z,X),_=Z.slice(z.outerStart,z.outerEnd),B=E1(_,{...X,start:0,end:X.end-X.start},U);Z=Z.slice(0,z.outerStart)+B+Z.slice(z.outerEnd),Y=z.outerStart+B.length}else{let U=X.attrs.replace(/\s*v-model="[^"]*"/g,"");U+=` :modelValue="${q}" @update:modelValue="${q} = $event"`;let z=Q1(Z,X),_=Z.slice(z.outerStart,z.outerEnd),B=E1(_,{...X,start:0,end:X.end-X.start},U);Z=Z.slice(0,z.outerStart)+B+Z.slice(z.outerEnd),Y=z.outerStart+B.length}}return Z}function tU($){return $.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function eU($){return $.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function $z($){let Z=$,Y=0;while(Y<Z.length){let X=r1(Z,Y);if(!X)break;let Q=T5(X.attrs,"v-html");if(Q===null){Y=X.end;continue}if(X.selfClosing){Y=X.end;continue}let J=Q1(Z,X),G=I1(X.attrs,"v-html"),K=X.selfClosing?" /":"",q=`<${X.tag}${G}${K}>{!! ${Q} !!}</${X.tag}>`;Z=Z.slice(0,J.outerStart)+q+Z.slice(J.outerEnd),Y=J.outerStart+q.length}return Z}function Zz($){let Z=$,Y=0;while(Y<Z.length){let X=r1(Z,Y);if(!X)break;let Q=T5(X.attrs,"v-text");if(Q===null){Y=X.end;continue}if(X.selfClosing){Y=X.end;continue}let J=Q1(Z,X),G=I1(X.attrs,"v-text"),K=X.selfClosing?" /":"",q=`<${X.tag}${G}${K}>{{ ${Q} }}</${X.tag}>`;Z=Z.slice(0,J.outerStart)+q+Z.slice(J.outerEnd),Y=J.outerStart+q.length}return Z}function Yz($){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 Xz($){let Z=$,Y=0;while(Y<Z.length){let X=r1(Z,Y);if(!X)break;if(!jY(X.attrs,"v-once")){Y=X.end;continue}let Q=I1(X.attrs,"v-once"),J=Q1(Z,X),G=Z.slice(J.outerStart,J.outerEnd),q=`@once
|
|
2044
|
+
${E1(G,{...X,start:0,end:X.end-X.start},Q)}
|
|
2045
|
+
@endonce`;Z=Z.slice(0,J.outerStart)+q+Z.slice(J.outerEnd),Y=J.outerStart+q.length}return Z}function Jz($){return $.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function Qz($){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 HY($){if(!nU($))return $;let Z=$;return Z=sU(Z),Z=oU(Z),Z=Xz(Z),Z=tU(Z),Z=eU(Z),Z=aU(Z),Z=rU(Z),Z=Qz(Z),Z=$z(Z),Z=Zz(Z),Z=Yz(Z),Z=Jz(Z),Z}var cU,pU;var OY=k(()=>{cU=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),pU=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 w4($){return $.replace(/--/g,"- -").replace(/</g,"<").replace(/>/g,">")}async function LY($,Z,Y,X,Q){let J=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*)>([\s\S]*?)<\/component>/gi,K=[],q;while((q=G.exec(J))!==null)K.push({full:q[0],expr:q[1],attrs:q[2],slotContent:q[3],index:q.index});for(let W=K.length-1;W>=0;W--){let U=K[W];try{let z=Z0(U.expr,Z);if(!z||typeof z!=="string"){let O=`<!-- dynamic component: could not resolve "${w4(U.expr)}" -->`;J=J.slice(0,U.index)+O+J.slice(U.index+U.full.length);continue}let _=U.attrs.trim(),B={},j=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,H;while((H=j.exec(_))!==null){let O=H[1]||H[2],V=H[3];if(H[1])try{B[O]=Z0(V,Z)}catch{B[O]=V}else B[O]=V}let L=X.componentsDir||"components",F=await o1(z,B,U.slotContent,L,Z,Y,X,new Set,Q??new Set);J=J.slice(0,U.index)+F+J.slice(U.index+U.full.length)}catch(z){let _=z instanceof Error?z.message:String(z),B=`<!-- dynamic component error: ${w4(_)} -->`;J=J.slice(0,U.index)+B+J.slice(U.index+U.full.length)}}return J=await Gz(J,Z,Y,X,Q),J}async function Gz($,Z,Y,X,Q){let J=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*?)\/>/gi,K=[],q;while((q=G.exec(J))!==null)K.push({full:q[0],expr:q[1],attrs:q[2],index:q.index});for(let W=K.length-1;W>=0;W--){let U=K[W];try{let z=Z0(U.expr,Z);if(!z||typeof z!=="string"){let j=`<!-- dynamic component: could not resolve "${w4(U.expr)}" -->`;J=J.slice(0,U.index)+j+J.slice(U.index+U.full.length);continue}let _=X.componentsDir||"components",B=await o1(z,{},"",_,Z,Y,X,new Set,Q??new Set);J=J.slice(0,U.index)+B+J.slice(U.index+U.full.length)}catch(z){let _=z instanceof Error?z.message:String(z),B=`<!-- dynamic component error: ${w4(_)} -->`;J=J.slice(0,U.index)+B+J.slice(U.index+U.full.length)}}return J}var FY=k(()=>{w0();H0()});function VY($,Z=""){let Y=`${$}${Z}`,X=0;for(let Q=0;Q<Y.length;Q++){let J=Y.charCodeAt(Q);X=(X<<5)-X+J,X=X&X}return`stx-${Math.abs(X).toString(36)}`}function wY($,Z,Y={}){let{prefix:X="",preserveHost:Q=!0,scopeKeyframes:J=!0,scopeCustomProperties:G=!1}=Y;if(!$.trim())return"";let K=a3($),q=[],W=new Map;if(J)for(let U of K){let z=U.selector.match(/@keyframes\s+([a-z_-][a-z0-9_-]*)/i);if(z){let _=z[1],B=`${Z}_${_}`;W.set(_,B)}}for(let U of K){let z=AY(U,Z,X,Q,W,G);q.push(z)}return q.join(`
|
|
2046
2046
|
|
|
2047
|
-
`)}function
|
|
2048
|
-
`)})}else Z.push({selector:`@${U} ${z.trim()}`,declarations:_.trim()})}G="",J=!1}else if(Q.trim()){Q+=q;let W=Q.match(/([^{]+)\{([^}]*)\}/);if(W)Z.push({selector:W[1].trim(),declarations:W[2].trim()});Q=""}continue}}if(J)G+=q;else Q+=q}return Z}function
|
|
2047
|
+
`)}function a3($){let Z=[],Y=$.replace(/\/\*[\s\S]*?\*\//g,""),X=0,Q="",J=!1,G="";for(let K=0;K<Y.length;K++){let q=Y[K];if(q==="@"&&X===0)J=!0;if(q==="{")X++;else if(q==="}"){if(X--,X===0){if(J){G+=q;let W=G.match(/@([a-z-]+)\s*([^{]*)\{([\s\S]*)\}/i);if(W){let[,U,z,_]=W;if(U==="keyframes")Z.push({selector:`@keyframes ${z.trim()}`,declarations:_.trim()});else if(U==="media"||U==="supports"||U==="container"){let B=a3(_);Z.push({selector:`@${U} ${z.trim()}`,declarations:B.map((j)=>`${j.selector} { ${j.declarations} }`).join(`
|
|
2048
|
+
`)})}else Z.push({selector:`@${U} ${z.trim()}`,declarations:_.trim()})}G="",J=!1}else if(Q.trim()){Q+=q;let W=Q.match(/([^{]+)\{([^}]*)\}/);if(W)Z.push({selector:W[1].trim(),declarations:W[2].trim()});Q=""}continue}}if(J)G+=q;else Q+=q}return Z}function AY($,Z,Y,X,Q,J){let{selector:G,declarations:K}=$;if(G.startsWith("@")){if(G.startsWith("@keyframes")){let U=G.replace("@keyframes ","").trim();return`@keyframes ${Q.get(U)||U} { ${K} }`}if(G.startsWith("@media")||G.startsWith("@supports")||G.startsWith("@container")){let z=a3(`x { ${K} }`.replace(/x \{ /,"").replace(/ \}$/,"")).map((_)=>AY(_,Z,Y,X,Q,J)).join(`
|
|
2049
2049
|
`);return`${G} {
|
|
2050
2050
|
${z}
|
|
2051
|
-
}`}return`${G} { ${K} }`}let q=
|
|
2052
|
-
${$.slice(Z)}`}function
|
|
2051
|
+
}`}return`${G} { ${K} }`}let q=Kz(G,Z,Y,X),W=K;for(let[U,z]of Q)W=W.replace(new RegExp(`\\b${U}\\b`,"g"),z);if(J)W=W.replace(/--([a-z-]+)/gi,`--${Z}-$1`);return`${q} { ${W} }`}function Kz($,Z,Y,X){let Q=$.split(",").map((G)=>G.trim()),J=[];for(let G of Q){if(G.startsWith(":host")){if(X)J.push(G);else{let W=G.replace(/:host(\([^)]*\))?/,`.${Z}$1`);J.push(W)}continue}if(G.includes("::slotted")){J.push(G);continue}if(G===":root"){J.push(`:root .${Z}`);continue}let K=Y?`${Y} .${Z}`:`.${Z}`;J.push(`${K} ${G}`);let q=qz(G,Z);if(q)J.push(Y?`${Y} ${q}`:q)}return J.join(", ")}function qz($,Z){let Y=0,X=$.length;for(let q=0;q<$.length;q++){let W=$[q];if(W==="["||W==="(")Y++;else if(W==="]"||W===")")Y--;else if(Y===0&&(W===" "||W===">"||W==="+"||W==="~")){X=q;break}}let Q=$.slice(0,X),J=$.slice(X);if(!Q)return"";let G=Q.length,K=0;for(let q=0;q<Q.length;q++){let W=Q[q];if(W==="["||W==="(")K++;else if(W==="]"||W===")")K--;else if(Y===0&&K===0&&W===":"){G=q;break}}return`${Q.slice(0,G)}.${Z}${Q.slice(G)}${J}`}function MY($){let Z=new Set;return $.replace(/<style\b[^>]*\bdata-stx-scoped(?:=(?:"[^"]*"|'[^']*'|[^\s>]+))?[^>]*>[\s\S]*?<\/style>\s*/gi,(Y)=>{let X=Y.trim();if(Z.has(X))return"";return Z.add(X),Y})}function A4($,Z){if(!Wz.test($))return{html:$,hasScoped:!1};let Y=VY(Z),X=`data-v-${Y}`,Q=$,J=new RegExp(`<style\\s+([^>]*${t3}[^>]*)>([\\s\\S]*?)</style>`,"gi"),G=!1;if(Q=Q.replace(J,(K,q,W)=>{G=!0;let U=Uz(W,X),z=q.replace(new RegExp(t3,"gi"),"").trim(),_=z?` ${z}`:"";return`<style data-stx-scoped="${Y}"${_}>${U}</style>`}),!G)return{html:$,hasScoped:!1};return Q=_z(Q,X),{html:Q,hasScoped:!0}}function Uz($,Z){return wY($,"__SCOPE_PLACEHOLDER__",{preserveHost:!1}).replace(/\.(__SCOPE_PLACEHOLDER__) /g,`[${Z}] `).replace(/\.(__SCOPE_PLACEHOLDER__)/g,`[${Z}]`)}function _z($,Z){let Y=Y1($,(Q,J)=>{let G=F1(Q,J);return G>J?G:q5(Q,J)},(Q,J)=>zz(J)),X=Bz(Y.output,Z);return RY.lastIndex=0,X.replace(RY,(Q,J)=>Y.tokens[Number(J)])}function Bz($,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,(X,Q,J)=>{if(Y.has(Q.toLowerCase()))return X;if(X.includes(Z))return X;if(Q.toLowerCase()==="style"||Q.toLowerCase()==="script")return X;if(J)return X.replace(`<${Q}${J}`,`<${Q} ${Z}${J}`);if(X.endsWith("/>"))return`<${Q} ${Z} />`;return`<${Q} ${Z}>`})}var t3,Wz,zz=($)=>`\x00stx-scope-mask-${$}\x00`,RY;var e3=k(()=>{u1();t3=String.raw`(?<![\w-])scoped(?![\w-])`,Wz=new RegExp(`<style\\s+[^>]*${t3}`,"i");RY=/\u0000stx-scope-mask-(\d+)\u0000/g});function NY($){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>
|
|
2052
|
+
${$.slice(Z)}`}function jz($){let Z=[],Y=0;while(Y<$.length){let J=$.slice(Y),G=J.match(/^\s+/);if(G){Y+=G[0].length;continue}if(J.startsWith("<!--")){let z=$.indexOf("-->",Y);if(z===-1)break;Y=z+3;continue}let K=J.match(/^<script\b[^>]*>/i);if(K){let z=$.toLowerCase().indexOf("</script>",Y+K[0].length);if(z===-1)break;Y=z+9;continue}let q=J.match(/^<link\b[^>]*>/i);if(q){Z.push(q[0]),Y+=q[0].length;continue}let W=J.match(/^<meta\b[^>]*>/i);if(W){Z.push(W[0]),Y+=W[0].length;continue}let U=J.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(U){Z.push(U[0]),Y+=U[0].length;continue}break}if(Z.length===0)return{body:$,hoisted:Z};let X="",Q=0;while(Q<$.length&&Q<Y){let J=$.slice(Q),G=J.match(/^<link\b[^>]*>/i);if(G&&Z.includes(G[0])){Q+=G[0].length;continue}let K=J.match(/^<meta\b[^>]*>/i);if(K&&Z.includes(K[0])){Q+=K[0].length;continue}let q=J.match(/^<style\b[^>]*>[\s\S]*?<\/style>/i);if(q&&Z.includes(q[0])){Q+=q[0].length;continue}X+=$[Q],Q++}return X+=$.slice(Y),{body:X,hoisted:Z}}function Hz($,Z={},Y={}){let{title:X="stx App",lang:Q="en",meta:J=[],link:G=[],script:K=[],headRaw:q="",bodyClass:W="",bodyAttrs:U={}}=Z,z=Y.title||X,j=[...[{charset:"UTF-8"},{name:"viewport",content:"width=device-width, initial-scale=1.0"}],...J].map((R)=>{return` <meta ${Object.entries(R).map(([T,I])=>`${T}="${I}"`).join(" ")}>`}).join(`
|
|
2053
2053
|
`),H=G.map((R)=>{return` <link ${Object.entries(R).map(([T,I])=>`${T}="${I}"`).join(" ")}>`}).join(`
|
|
2054
2054
|
`),L=K.map((R)=>{if(R.src)return` <script ${Object.entries(R).filter(([T])=>T!=="content").map(([T,I])=>`${T}="${I}"`).join(" ")}></script>`;if(R.content)return` <script>${R.content}</script>`;return""}).filter(Boolean).join(`
|
|
2055
|
-
`),F=Object.entries(U).map(([R,N])=>` ${R}="${N}"`).join(""),O=W?` class="${W}"`:"",{body:V,hoisted:w}=
|
|
2055
|
+
`),F=Object.entries(U).map(([R,N])=>` ${R}="${N}"`).join(""),O=W?` class="${W}"`:"",{body:V,hoisted:w}=jz($),A=[j,` <title>${z}</title>`," <style data-stx-cloak>[x-cloak]{display:none !important}</style>",H,L,q?` ${q}`:"",...(Y.styles||[]).map((R)=>` ${R}`),...w.map((R)=>` ${R}`),...(Y.headScripts||[]).map((R)=>` ${R}`),Y.headStack||""].filter(Boolean),M=[V,...(Y.bodyScripts||[]).map((R)=>R),Y.bodyStack||""].filter(Boolean);return`<!DOCTYPE html>
|
|
2056
2056
|
<html lang="${Q}">
|
|
2057
2057
|
<head>
|
|
2058
2058
|
${A.join(`
|
|
@@ -2062,9 +2062,9 @@ ${A.join(`
|
|
|
2062
2062
|
${M.join(`
|
|
2063
2063
|
`)}
|
|
2064
2064
|
</body>
|
|
2065
|
-
</html>`}function
|
|
2065
|
+
</html>`}function $6($){return/<!DOCTYPE\b/i.test($)||/<html[\s>]/i.test($)}function TY($,Z={}){let Y=$.lastIndexOf("</head>");if(Y===-1)return $;let{meta:X=[],link:Q=[],script:J=[],headRaw:G=""}=Z,K=$.slice(0,Y),q=[];for(let W of X){let U=W.name?`name="${W.name}"`:W.property?`property="${W.property}"`:W.charset!=null?"charset=":W["http-equiv"]?`http-equiv="${W["http-equiv"]}"`:"";if(U&&K.includes(U))continue;q.push(` <meta ${Object.entries(W).map(([z,_])=>`${z}="${_}"`).join(" ")}>`)}for(let W of Q){if(W.href&&K.includes(`href="${W.href}"`))continue;q.push(` <link ${Object.entries(W).map(([U,z])=>`${U}="${z}"`).join(" ")}>`)}for(let W of J)if(W.src){if(K.includes(`src="${W.src}"`))continue;q.push(` <script ${Object.entries(W).filter(([U])=>U!=="content").map(([U,z])=>`${U}="${z}"`).join(" ")}></script>`)}else if(W.content){if(K.includes(W.content))continue;q.push(` <script>${W.content}</script>`)}if(G&&!K.includes(G))q.push(` ${G}`);if(q.length===0)return $;return`${$.slice(0,Y)}${q.join(`
|
|
2066
2066
|
`)}
|
|
2067
|
-
${$.slice(Y)}`}function
|
|
2067
|
+
${$.slice(Y)}`}function IY($,Z={},Y={}){if($6($))return $;return Hz($,Z,Y)}function N4($){let Z=$,Y=new Set,X=new Set,Q=()=>{if(d0)X.add(d0);return Z};return Q.set=(J)=>{if(!Object.is(J,Z)){let G=Z;if(Z=J,Y.forEach((K)=>K(Z,G)),L$)X.forEach((K)=>M4.add(K));else X.forEach((K)=>K())}},Q.update=(J)=>{Q.set(J(Z))},Q.subscribe=(J)=>{return Y.add(J),()=>Y.delete(J)},Object.defineProperty(Q,"_isSignal",{value:!0,writable:!1}),Object.defineProperty(Q,"value",{get:()=>Q(),set:(J)=>Q.set(J),configurable:!0}),Q}function T4($){let Z,Y=!0,X=new Set,Q=()=>{if(!Y)if(Y=!0,L$)X.forEach((G)=>M4.add(G));else X.forEach((G)=>G())},J=()=>{if(d0)X.add(d0);if(Y){let G=d0;d0=Q,R4.push(Q);try{Z=$()}finally{R4.pop(),d0=G}Y=!1}return Z};return Object.defineProperty(J,"_isDerived",{value:!0,writable:!1}),Object.defineProperty(J,"value",{get:()=>J(),configurable:!0}),J}function I4($,Z={}){let Y,X=!1,Q=()=>{if(X)return;if(Y)Y(),Y=void 0;let J=d0;d0=Q,R4.push(Q);try{Y=$()}finally{R4.pop(),d0=J}};if(Z.immediate!==!1)Q();return()=>{if(X=!0,Y)Y()}}function Z6($){if(L$){$();return}L$=!0;try{$()}finally{L$=!1,M4.forEach((Z)=>Z()),M4.clear()}}function Y6($){Oz.push($)}function X6($){Lz.push($)}function E4($){return typeof $==="function"&&$._isSignal===!0}function D4($){return typeof $==="function"&&$._isDerived===!0}function J6($){if(E4($)||D4($))return $();return $}function k4($){let Z=d0;d0=null;try{return $()}finally{d0=Z}}function Fz($,Z){let Y=typeof $==="function"?$:()=>$,X=N4([]),Q=T4(()=>X().reduce((K,q)=>Z(K,q.action),Y())),J=!1;return I4(()=>{if(Y(),!J){J=!0;return}if(k4(()=>X().length))X.set([])}),[Q,(K,q)=>{let W={action:K};X.set([...X(),W]);let U=()=>{let z=X().filter((_)=>_!==W);if(z.length!==X().length)X.set(z)};if(q&&typeof q.then==="function")Promise.resolve(q).then(U,U);return U}]}var d0=null,R4,L$=!1,M4,Oz,Lz;var Q6=k(()=>{R4=[],M4=new Set,Oz=[],Lz=[]});var DY={};t(DY,{useOptimistic:()=>Fz,untrack:()=>J6,state:()=>N4,peek:()=>k4,onMount:()=>Y6,onDestroy:()=>X6,isSignal:()=>E4,isDerived:()=>D4,generateSignalsRuntimeDev:()=>b4,generateSignalsRuntime:()=>EY,effect:()=>I4,derived:()=>T4,default:()=>wz,batch:()=>Z6});function EY(){try{let $=Vz(b4()),Y=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($);return Y=Y.replace(/\}(var |let |const |function )/g,"};$1"),Y}catch{return b4()}}function Vz($){let Z=[],Y=0,X="console.log(";while(Y<$.length){let Q=$.indexOf(X,Y);if(Q===-1){Z.push($.slice(Y));break}Z.push($.slice(Y,Q));let J=1,G=Q+X.length;while(G<$.length&&J>0){let K=$[G];if(K==='"'||K==="'"||K==="`"){let q=K;G++;while(G<$.length&&$[G]!==q){if($[G]==="\\")G++;G++}G++;continue}if(K==="(")J++;else if(K===")")J--;G++}Z.push("0"),Y=G}return Z.join("")}function b4(){return`
|
|
2068
2068
|
// STX Signals Runtime (Development Build)
|
|
2069
2069
|
console.log('[stx] signals runtime loading');
|
|
2070
2070
|
// Pre-initialization shim: capture onMount/onDestroy calls made before the runtime IIFE runs
|
|
@@ -8606,7 +8606,7 @@ catch (e) { console.warn('[stx] mount callback error:', e); }
|
|
|
8606
8606
|
}
|
|
8607
8607
|
}
|
|
8608
8608
|
})();
|
|
8609
|
-
`}var
|
|
8609
|
+
`}var wz;var kY=k(()=>{Q6();Q6();wz={state:N4,derived:T4,effect:I4,batch:Z6,onMount:Y6,onDestroy:X6,isSignal:E4,isDerived:D4,untrack:J6,peek:k4,generateSignalsRuntime:EY,generateSignalsRuntimeDev:b4}});var G6={};t(G6,{templateCache:()=>bY,readFileCached:()=>Az,invalidateFileCacheByDir:()=>Mz,invalidateFileCache:()=>Rz,hashFilePath:()=>F$,getCachedSignalsRuntime:()=>Iz,getCachedRouterScript:()=>Ez,clearDevCaches:()=>Dz,checkCache:()=>kz,cacheTemplate:()=>bz,__setSignalsGeneratorsForTest:()=>Tz});import D1 from"fs";import I5 from"path";async function Az($){let Y;for(let X=0;X<3;X++)try{let J=(await D1.promises.stat($)).mtime.getTime(),G=a1.get($);if(G&&G.mtime===J)return G.content;let K=await Bun.file($).text(),W=(await D1.promises.stat($)).mtime.getTime();if(W!==J)continue;return a1.set($,{content:K,mtime:W}),K}catch(Q){Y=Q;break}throw a1.delete($),Error(`File not found: ${$}${Y?` (${Y.message})`:""}`)}function Rz($){a1.delete($)}function Mz($){for(let Z of a1.keys())if(Z.startsWith($))a1.delete(Z)}function Tz($){SY=$}async function Iz($=!1){let Z=SY??await Promise.resolve().then(() => (kY(),DY));if($)return Z.generateSignalsRuntimeDev();if(S4===null)S4=Z.generateSignalsRuntime();return S4}async function Ez(){if(y4===null){let{getRouterScript:$}=await import("stx-router");y4=$()}return y4}function Dz(){a1.clear(),PY(),S4=null,Nz=null,y4=null}function yY($){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 kz($,Z){try{if(!Z.cachePath)return null;let Y=I5.resolve(Z.cachePath),X=I5.join(Y,`${F$($)}.html`),Q=I5.join(Y,`${F$($)}.meta.json`);if(!await p(X)||!await p(Q))return null;let J=await Bun.file(Q).text(),G=JSON.parse(J);if(G.cacheVersion!==Z.cacheVersion)return null;if(G.optionsSignature!==yY(Z))return null;if((await D1.promises.stat($)).mtime.getTime()>G.mtime)return null;for(let q of G.dependencies)if(await p(q)){if((await D1.promises.stat(q)).mtime.getTime()>G.mtime)return null}else return null;return await Bun.file(X).text()}catch(Y){return console.warn(`Cache error for ${$}:`,Y),null}}async function bz($,Z,Y,X){try{if(!X.cachePath)return;let Q=I5.resolve(X.cachePath);await D1.promises.mkdir(Q,{recursive:!0});let J=I5.join(Q,`${F$($)}.html`),G=I5.join(Q,`${F$($)}.meta.json`),K=await D1.promises.stat($);await Bun.write(J,Z);let q={sourcePath:$,mtime:K.mtime.getTime(),dependencies:Array.from(Y),cacheVersion:X.cacheVersion,optionsSignature:yY(X),generatedAt:Date.now()};await Bun.write(G,JSON.stringify(q,null,2)),bY.set($,{output:Z,mtime:K.mtime.getTime(),dependencies:Y})}catch(Q){console.warn(`Failed to cache template ${$}:`,Q)}}function F$($){return new Bun.CryptoHasher("sha1").update($).digest("hex").substring(0,Sz)}var bY,a1,S4=null,Nz=null,SY=null,y4=null,Sz=16;var K6=k(()=>{w0();bY=new Map,a1=new Map});function CY($){if($.includes("window.StacksBrowser")||$.includes("StacksBrowser ="))return $;let Z=/<script\b(?![^>]*\bserver\b)[^>]*>([\s\S]*?)<\/script>/gi,Y="",X;while((X=Z.exec($))!==null)Y+=X[1]+`
|
|
8610
8610
|
`;let Q=/\{\{([\s\S]*?)\}\}/g;while((X=Q.exec($))!==null)Y+=X[1]+`
|
|
8611
8611
|
`;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((_)=>{return new RegExp(`\\b${_}\\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"]),q=/\b([A-Z][a-zA-Z0-9]*)\s*\.\s*(all|find|first|get|where|orderBy|orderByDesc|limit|select|pluck|create|update|delete)\s*\(/g,W,U=!1;while((W=q.exec(Y))!==null)if(!K.has(W[1])){U=!0;break}if(!G&&!U)return $;let z=`<script type="module">
|
|
8612
8612
|
// STX: Auto-load @stacksjs/browser (auto-initializes API and loads models)
|
|
@@ -8615,63 +8615,63 @@ import '@stacksjs/browser'
|
|
|
8615
8615
|
`+$.slice(j);return $.replace("</head>",`${z}
|
|
8616
8616
|
</head>`)}if($.includes("<body"))return $.replace(/<body([^>]*)>/,`<body$1>
|
|
8617
8617
|
${z}`);return z+`
|
|
8618
|
-
`+$}async function
|
|
8618
|
+
`+$}async function vY($,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>
|
|
8619
8619
|
`+$.slice(K);if($.includes("</head>")){let q=$.indexOf("</head>");return $.slice(0,q)+`<script data-stx-runtime src="/_stx/runtime.js"></script>
|
|
8620
8620
|
`+$.slice(q)}return`<script data-stx-runtime src="/_stx/runtime.js"></script>
|
|
8621
8621
|
`+$}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>
|
|
8622
8622
|
`+$.slice(K);if($.includes("</head>")){let q=$.indexOf("</head>");return $.slice(0,q)+`<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>
|
|
8623
8623
|
`+$.slice(q)}return`<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>
|
|
8624
|
-
`+$}let{getCachedSignalsRuntime:Y}=await Promise.resolve().then(() => (
|
|
8624
|
+
`+$}let{getCachedSignalsRuntime:Y}=await Promise.resolve().then(() => (K6(),G6)),Q=`<script data-stx-scoped data-stx-runtime>${await Y(Z.debug)}</script>`,J=$.indexOf("<script");if(J!==-1)return $.slice(0,J)+Q+`
|
|
8625
8625
|
`+$.slice(J);if($.includes("</head>")){let G=$.indexOf("</head>");return $.slice(0,G)+Q+`
|
|
8626
8626
|
`+$.slice(G)}if($.includes("<body")){let G=$.indexOf("<body"),K=$.indexOf(">",G);return $.slice(0,K+1)+`
|
|
8627
8627
|
`+Q+$.slice(K+1)}return Q+`
|
|
8628
|
-
`+$}async function
|
|
8629
|
-
`}let{getCachedRouterScript:Q}=await Promise.resolve().then(() => (
|
|
8630
|
-
</body>`+$.slice(G+7)}var
|
|
8631
|
-
`)}else{if(!
|
|
8628
|
+
`+$}async function q6($,Z){if(!$.includes("</body>"))return $;if($.includes("data-stx-router")||$.includes("__stxRouter)return")||$.includes("__stxRouter=true"))return $;let Y=Z?.router,X="";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)X=`<script>window.__stxRouterConfig=${JSON.stringify(K)};</script>
|
|
8629
|
+
`}let{getCachedRouterScript:Q}=await Promise.resolve().then(() => (K6(),G6)),J=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 Q()}</script>`,G=$.lastIndexOf("</body>");return $.slice(0,G)+X+J+`
|
|
8630
|
+
</body>`+$.slice(G+7)}var x4={};t(x4,{scanScriptTags:()=>mY,rewriteStxImportSpecifiers:()=>iY,processSignals:()=>B6,processScriptSetup:()=>cY,preEvalLiteralReactiveIfs:()=>z6,parseLoopExpression:()=>lY,hasSignalsSyntax:()=>v4,findMarkupIndexOutsideScripts:()=>C4,extractExports:()=>pY,convertSignalLoopsToAttributes:()=>_6,convertSignalDirectivesToAttributes:()=>U6});function mY($,Z={}){let Y=[];for(let X of D7($,F1)){let Q=X.token.match(/^<script\b([^>]*)>/i),J=X.token.match(/<\/script\s*>$/i);if(!Q||!J)continue;let G=Q[1];if(Z.skipAttrs){if(Z.skipAttrs.lastIndex=0,Z.skipAttrs.test(G))continue}let K=Q[0].length,q=X.token.length-J[0].length;Y.push({fullMatch:X.token,attrs:G,body:X.token.slice(K,q),start:X.start,end:X.end})}return Y}function lY($){let Z=$.trim(),Y=Z.match(/^([\s\S]+?)\s+as\s+(.+)$/);if(Y){let Q=Y[1].trim(),J=Y[2].trim(),{itemVar:G,indexVar:K}=fY(J);if(G)return{style:"as",iterable:Q,itemVar:G,indexVar:K}}let X=Z.match(/^(\([^)]+\)|\w+(?:\s*,\s*\w+)?)\s+(?:in|of)\s+([\s\S]+)$/);if(X){let Q=X[1].trim(),J=X[2].trim(),{itemVar:G,indexVar:K}=fY(Q);if(G)return{style:"in",iterable:J,itemVar:G,indexVar:K}}return{style:"unknown",iterable:null,itemVar:null,indexVar:null}}function fY($){let Z=$.trim(),Y=Z.match(/^(\w+)\s*=>\s*(\w+)$/);if(Y)return{itemVar:Y[2],indexVar:Y[1]};let X=Z.match(/^\(\s*(\w+)(?:\s*,\s*(\w+))?\s*\)$/);if(X)return{itemVar:X[1],indexVar:X[2]||null};let Q=Z.match(/^(\w+)\s*,\s*(\w+)$/);if(Q)return{itemVar:Q[1],indexVar:Q[2]};let J=Z.match(/^(\w+)$/);if(J)return{itemVar:J[1],indexVar:null};return{itemVar:null,indexVar:null}}function v4($){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 Pz($){let Z=/@(if\s*\(|endif|elseif\s*\(|else\b)/g,Y=0,X;while((X=Z.exec($))!==null){let Q=X[1];if(Q.startsWith("if"))Y++;else if(Q==="endif")Y--;else if(Y===0)return!0}return!1}function Cz($){let Z=new Set,Y=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,X=/\b(?:const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=\s*(?:state|derived|computed|ref|reactive|signal)\s*(?:<[^>]*>)?\s*\(/g,Q;while((Q=Y.exec($))!==null){let J=Q[1],G;while((G=X.exec(J))!==null)Z.add(G[1])}return Z}function vz($){return $.replace(/'(?:\\.|[^'\\])*'/g,"''").replace(/"(?:\\.|[^"\\])*"/g,'""').replace(/`(?:\\.|[^`\\])*`/g,"``")}function hY($,Z,Y){if(!$)return!1;let X=vz($),Q=!1,J=!1,G=!1,K=/([a-zA-Z_$][\w$]*)/g,q;while((q=K.exec(X))!==null){let _=q[1];if(X.slice(0,q.index).trimEnd().endsWith("."))continue;if(gY.has(_))continue;if(Z.has(_))Q=!0;else if(Y&&_ in Y)J=!0}let W=/([a-zA-Z_$][\w$]*)(?:\.[a-zA-Z_$][\w$]*)*\s*\(\s*\)/g,U;while((U=W.exec(X))!==null){let _=U[1];if(X.slice(0,U.index).trimEnd().endsWith("."))continue;if(gY.has(_)||Y&&_ in Y)continue;G=!0}return(Q||G)&&!J}function P4($,Z,Y){let X=Y===void 0?` ${Z}`:` ${Z}="${Y.replace(/"/g,""")}"`,Q=$.trim(),J=Q.match(dY);if(J&&xz(J[3],J[1])){let[,G,K,q]=J;return`<${G}${K}${X}>${q}</${G}>`}return`<template${X}>${Q}</template>`}function xz($,Z){let Y=new RegExp(`<(/)?${Z}(?=[\\s/>])`,"gi"),X=0,Q;while((Q=Y.exec($))!==null)if(Q[1]){if(X--,X<0)return!1}else X++;return!0}function U6($,Z){let Y=Cz($);function X(Q){let J=Q,G=/@if\s*\(/g,K,q=[];while((K=G.exec(J))!==null){let W=K.index,U=W+K[0].length,z=1,_=U;while(_<J.length&&z>0){if(J[_]==="(")z++;else if(J[_]===")")z--;_++}if(z!==0)continue;let B=J.substring(U,_-1).trim(),j=_,H=1,L=j,F=/@(if\s*\(|endif)/g;F.lastIndex=j;let O;while((O=F.exec(J))!==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 V=J.substring(j,L-6).trim(),w;if(Pz(V)){let A=J$(J.substring(W,L));if(A.length===0)continue;let M=A[0].branches.filter((T)=>T.type!=="else");if(!(M.length>0&&M.every((T)=>hY(T.condition,Y,Z))))continue;w=A[0].branches.map((T)=>{let I=X(T.content);if(T.type==="elseif")return P4(I,"@else-if",T.condition??"");if(T.type==="else")return P4(I,"@else");return P4(I,"@if",T.condition??"")}).join(`
|
|
8631
|
+
`)}else{if(!hY(B,Y,Z))continue;w=P4(X(V),"@if",B)}q.push({start:W,end:L,replacement:w}),G.lastIndex=L}for(let W=q.length-1;W>=0;W--){let{start:U,end:z,replacement:_}=q[W];J=J.substring(0,U)+_+J.substring(z)}return J}return X($)}function fz($){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 Q=Number(Z);return Q!==0&&!Number.isNaN(Q)}let Y=Z.match(/^'((?:\\.|[^'\\])*)'$/);if(Y)return Y[1].length>0;let X=Z.match(/^"((?:\\.|[^"\\])*)"$/);if(X)return X[1].length>0;return}function gz($,Z,Y,X){if(W6.has(Y.toLowerCase()))return X;let Q=Y.toLowerCase(),J=$.toLowerCase(),G=$.length,K=1,q=X;while(q<G){let W=$.indexOf("<",q);if(W===-1)return-1;if(q=W,$.startsWith("<!--",q)){let B=$.indexOf("-->",q+4);if(B===-1)return-1;q=B+3;continue}let U=/^<(script|style)\b/i.exec($.slice(q,q+8));if(U){let B=$.indexOf(">",q);if(B===-1)return-1;if($[B-1]==="/"){q=B+1;continue}let j=J.indexOf(`</${U[1].toLowerCase()}`,q);if(j===-1)return-1;let H=$.indexOf(">",j);if(H===-1)return-1;q=H+1;continue}if($[q+1]==="/"){let B=/^<\/([a-z][\w-]*)\s*>/i.exec($.slice(q,q+64));if(!B){q++;continue}if(B[1].toLowerCase()===Q){if(K--,q+=B[0].length,K===0)return q;continue}q+=B[0].length;continue}let z=/^<([a-z][\w-]*)\b/i.exec($.slice(q,q+64));if(!z){q++;continue}let _=$.indexOf(">",q);if(_===-1)return-1;if(z[1].toLowerCase()===Q){let B=$.slice(q,_+1);if(!(/\/\s*>$/.test(B)||W6.has(Q)))K++}q=_+1}return-1}function uz($,Z){let Y=Z,X=$.length;for(;;){while(Y<X&&$[Y]!=="<")Y++;if(Y>=X)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 Q=$.indexOf(">",Y);if(Q===-1)return!1;let J=$.slice(Y,Q+1);return hz.test(J)}function z6($){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,X;while((X=Y.exec($))!==null)Z.push([X.index,X.index+X[0].length]);let Q=(z)=>Z.some(([_,B])=>z>=_&&z<B),J=/<([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=J.exec($))!==null){if(Q(K.index))continue;let[z,_,B,j,H,L,F]=K,O=fz(H);if(O===void 0)continue;let V=K.index,w=V+z.length,R=!!F||/\/\s*>$/.test(z)||W6.has(_.toLowerCase())?w:gz($,V,_,w);if(R===-1)continue;if((j===":if"||j==="x-if"||j==="@if")&&uz($,R)){J.lastIndex=w;continue}if(O===!0){let T=`<${_}${B}${L}${F}>`;G.push({start:V,end:w,replacement:T});continue}G.push({start:V,end:R,replacement:""}),J.lastIndex=R}if(G.length===0)return $;G.sort((z,_)=>z.start-_.start);let q=[],W=-1;for(let z of G){if(z.start<W)continue;q.push(z),W=z.end}let U=$;for(let z=q.length-1;z>=0;z--){let{start:_,end:B,replacement:j}=q[z];U=U.substring(0,_)+j+U.substring(B)}return U}function _6($,Z){let Y=$,X=/@(for|foreach)\s*\(/g,Q,J=[];while((Q=X.exec(Y))!==null){let G=Q[1],K=Q.index,q=K+Q[0].length,W=1,U=q;while(U<Y.length&&W>0){if(Y[U]==="(")W++;else if(Y[U]===")")W--;U++}if(W!==0)continue;let z=Y.substring(q,U-1).trim(),_=U,B=lY(z);if(B.iterable){let M=B.iterable.trim();if(M.startsWith("[")||M.startsWith("{")||M.startsWith("'")||M.startsWith('"')||M.startsWith("`")||/^-?\d/.test(M))continue;if(Z){let R=M.split(/[.[(]/)[0].trim();if(R&&R in Z)continue}}if(B.style==="as")z=B.indexVar?`(${B.itemVar}, ${B.indexVar}) in ${B.iterable}`:`${B.itemVar} in ${B.iterable}`;let j=G==="for"?"@endfor":"@endforeach",H=1,L=_,F=G==="for"?new RegExp("@(for(?!each)\\s*\\(|endfor(?!each))","g"):new RegExp(`@(${G}\\s*\\(|end${G})`,"g");F.lastIndex=_;let O;while((O=F.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 V=Y.substring(_,L-j.length).trim(),w=V.match(dY),A;if(w){let[,M,R,N]=w;A=`<${M}${R} @for="${z}">${N}</${M}>`}else A=`<template @for="${z}">${V}</template>`;J.push({start:K,end:L,replacement:A})}for(let G=J.length-1;G>=0;G--){let{start:K,end:q,replacement:W}=J[G];Y=Y.substring(0,K)+W+Y.substring(q)}return Y}function dz($){let Z=new Set,Y=[],X=0,Q=0,J=$.length,G=(U)=>{let z=X+1;while(z<J){let _=$[z];if(_==="\\"){z+=2;continue}if(_===U)return z+1;z++}return J},K=()=>{let U=X+2;while(U<J&&$[U]!==`
|
|
8632
8632
|
`)U++;return U},q=()=>{let U=X+2;while(U<J-1){if($[U]==="*"&&$[U+1]==="/")return U+2;U++}return J},W=(U)=>{let z=U,_=0;while(z<J){let B=$[z];if(B==="/"&&$[z+1]==="/"){let j=z+2;while(j<J&&$[j]!==`
|
|
8633
|
-
`)j++;z=j;continue}if(B==="/"&&$[z+1]==="*"){let j=z+2;while(j<J-1&&!($[j]==="*"&&$[j+1]==="/"))j++;z=j+2;continue}if(B==='"'||B==="'"||B==="`"){let j=z+1;while(j<J){if($[j]==="\\"){j+=2;continue}if($[j]===B){j++;break}j++}z=j;continue}if(B==="("||B==="["||B==="{"){_++,z++;continue}if(B===")"||B==="]"||B==="}"){_--,z++;continue}if(B===";"&&_===0)return z+1;z++}return J};while(X<J){let U=$[X];if(U==="/"&&$[X+1]==="/"){let z=K();Y.push($.slice(X,z)),X=z;continue}if(U==="/"&&$[X+1]==="*"){let z=q();Y.push($.slice(X,z)),X=z;continue}if(U==='"'||U==="'"||U==="`"){let z=G(U);Y.push($.slice(X,z)),X=z;continue}if(U==="{"){Q++,Y.push(U),X++;continue}if(U==="}"){Q--,Y.push(U),X++;continue}if(Q===0){let z=X>0?$[X-1]:"";if(z===""||/\s/.test(z)||z===";"||z==="}"||z==="{"){let B=$.slice(X).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(B){let j=B[2],H=W(X+B[0].length);if(Z.has(j)){Y.push(`/* stx: deduped const ${j} */`),X=H;continue}Z.add(j),Y.push($.slice(X,H)),X=H;continue}}}Y.push(U),X++}return Y.join("")}async function
|
|
8633
|
+
`)j++;z=j;continue}if(B==="/"&&$[z+1]==="*"){let j=z+2;while(j<J-1&&!($[j]==="*"&&$[j+1]==="/"))j++;z=j+2;continue}if(B==='"'||B==="'"||B==="`"){let j=z+1;while(j<J){if($[j]==="\\"){j+=2;continue}if($[j]===B){j++;break}j++}z=j;continue}if(B==="("||B==="["||B==="{"){_++,z++;continue}if(B===")"||B==="]"||B==="}"){_--,z++;continue}if(B===";"&&_===0)return z+1;z++}return J};while(X<J){let U=$[X];if(U==="/"&&$[X+1]==="/"){let z=K();Y.push($.slice(X,z)),X=z;continue}if(U==="/"&&$[X+1]==="*"){let z=q();Y.push($.slice(X,z)),X=z;continue}if(U==='"'||U==="'"||U==="`"){let z=G(U);Y.push($.slice(X,z)),X=z;continue}if(U==="{"){Q++,Y.push(U),X++;continue}if(U==="}"){Q--,Y.push(U),X++;continue}if(Q===0){let z=X>0?$[X-1]:"";if(z===""||/\s/.test(z)||z===";"||z==="}"||z==="{"){let B=$.slice(X).match(/^(const|let|var)\s+([a-zA-Z_$][\w$]*)\s*=/);if(B){let j=B[2],H=W(X+B[0].length);if(Z.has(j)){Y.push(`/* stx: deduped const ${j} */`),X=H;continue}Z.add(j),Y.push($.slice(X,H)),X=H;continue}}}Y.push(U),X++}return Y.join("")}async function cY($,Z,Y){let X=mY($,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b/}),Q=/\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*\(/,J=[];for(let L of X){let F=L.body;if(g1(L.attrs))F=h1(F);if(Q.test(F))J.push({fullMatch:L.fullMatch,attrs:L.attrs,content:F})}if(J.length===0)return{output:$,setupCode:null};let G=`__stx_setup_${Date.now()}_${yz++}`,{hasUserImports:K,bundleClientScript:q}=await Promise.resolve().then(() => (s5(),n5)),W=[];for(let L=0;L<J.length;L++){let F=J[L].content;if(F=G5(F).code,K(F))console.log("[stx:bundler] bundling signal script imports"),F=await q(F,Z||"",{projectRoot:process.cwd()});F=F.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(V,w)=>iY(w));let O=r0(F);W.push(`// \u2500\u2500 merged signal script #${L+1} \u2500\u2500
|
|
8634
8634
|
${O}`)}let U=W.join(`
|
|
8635
8635
|
|
|
8636
|
-
`);U=
|
|
8636
|
+
`);U=dz(U);let z=pY(U),_=z.split(",").map((L)=>L.trim()).filter(Boolean),B=P$(U,Y),j=`
|
|
8637
8637
|
<script data-stx-scoped>
|
|
8638
8638
|
function ${G}() {
|
|
8639
|
-
${
|
|
8639
|
+
${U5("const",_)}
|
|
8640
8640
|
${B}${U}
|
|
8641
8641
|
return { ${z} };
|
|
8642
8642
|
}
|
|
8643
8643
|
window.__stx_latestSetup=${G};
|
|
8644
8644
|
if(window.stx)window.stx._latestSetup=${G};
|
|
8645
|
-
</script>`,H=$;for(let L of J)H=H.split(L.fullMatch).join("");if(H.includes("<body"))H=H.replace(new RegExp(`<body(${
|
|
8645
|
+
</script>`,H=$;for(let L of J)H=H.split(L.fullMatch).join("");if(H.includes("<body"))H=H.replace(new RegExp(`<body(${xY})>`),`<body$1 data-stx="${G}">`);else{let L=["script","style","html","head","meta","link","title","!doctype"],F=!1;H=H.replace(new RegExp(`<([a-zA-Z][a-zA-Z0-9-]*)\\b(${xY})>`,"gi"),(O,V,w)=>{if(F||L.includes(V.toLowerCase()))return O;return F=!0,`<${V}${w} data-stx="${G}">`})}return{output:H,setupCode:j}}function pY($){let Z=$,Y=[],X=new Set,Q=0,J=0,G=Z.length,K="",q=()=>{J++;let j=!1;while(J<G){let H=Z[J];if(H==="\\"){J+=2;continue}if(H==="["&&!j){j=!0,J++;continue}if(H==="]"&&j){j=!1,J++;continue}if(H==="/"&&!j){J++;while(J<G&&/[gimsuyd]/.test(Z[J]))J++;return}if(H===`
|
|
8646
8646
|
`)return;J++}},W=()=>{if(!K)return!0;if(/[\w)\]]/.test(K))return!1;return!0},U=(j)=>{J++;while(J<G){if(Z[J]==="\\"){J+=2;continue}if(Z[J]===j){J++;return}J++}},z=()=>{J++;while(J<G){if(Z[J]==="\\"){J+=2;continue}if(Z[J]==="`"){J++;return}if(Z[J]==="$"&&Z[J+1]==="{"){J+=2;let j=1;while(J<G&&j>0)if(Z[J]==="{")j++,J++;else if(Z[J]==="}")j--,J++;else if(Z[J]==="'"||Z[J]==='"')U(Z[J]);else if(Z[J]==="`")z();else J++;continue}J++}},_=()=>{if(Z[J]==="/"&&Z[J+1]==="/"){while(J<G&&Z[J]!==`
|
|
8647
|
-
`)J++;return!0}if(Z[J]==="/"&&Z[J+1]==="*"){J+=2;while(J<G-1&&!(Z[J]==="*"&&Z[J+1]==="/"))J++;return J+=2,!0}return!1},B=()=>{if(Q!==0)return;let j=Z.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(j){let V=j[2];if(!X.has(V))Y.push(V),X.add(V);return}let H=Z.slice(J).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(H){H[1].split(",").forEach((V)=>{let w=V.trim();if(!w)return;let A=w.indexOf(":"),R=(A>=0?w.slice(A+1).trim():w).split(/[\s=]/)[0];if(R&&!X.has(R))Y.push(R),X.add(R)});return}let L=Z.slice(J).match(/^(?:const|let|var)\s+\[([^\]]+)\]\s*=/);if(L){L[1].split(",").forEach((V)=>{let w=V.trim().replace(/^\.\.\./,"");if(!w)return;let A=w.split(/[\s=]/)[0];if(A&&!X.has(A))Y.push(A),X.add(A)});return}let F=Z.slice(J).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(F){let V=F[1];if(!X.has(V))Y.push(V),X.add(V);return}let O=Z.slice(J).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(O){let V=O[1];if(!X.has(V))Y.push(V),X.add(V)}};while(J<G){if(_())continue;if(Z[J]==="'"||Z[J]==='"'){U(Z[J]),K=Z[J-1];continue}if(Z[J]==="`"){z(),K="`";continue}if(Z[J]==="/"&&Z[J+1]!=="/"&&Z[J+1]!=="*"&&W()){q(),K="/";continue}if(Z[J]==="{"){Q++,K="{",J++;continue}if(Z[J]==="}"){Q--,K="}",J++;continue}if(Q===0&&/[a-z]/i.test(Z[J])&&(J===0||/\s|[;{}()]/.test(Z[J-1])))B();if(!/\s/.test(Z[J]))K=Z[J];J++}return Y.join(", ")}async function
|
|
8647
|
+
`)J++;return!0}if(Z[J]==="/"&&Z[J+1]==="*"){J+=2;while(J<G-1&&!(Z[J]==="*"&&Z[J+1]==="/"))J++;return J+=2,!0}return!1},B=()=>{if(Q!==0)return;let j=Z.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(j){let V=j[2];if(!X.has(V))Y.push(V),X.add(V);return}let H=Z.slice(J).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(H){H[1].split(",").forEach((V)=>{let w=V.trim();if(!w)return;let A=w.indexOf(":"),R=(A>=0?w.slice(A+1).trim():w).split(/[\s=]/)[0];if(R&&!X.has(R))Y.push(R),X.add(R)});return}let L=Z.slice(J).match(/^(?:const|let|var)\s+\[([^\]]+)\]\s*=/);if(L){L[1].split(",").forEach((V)=>{let w=V.trim().replace(/^\.\.\./,"");if(!w)return;let A=w.split(/[\s=]/)[0];if(A&&!X.has(A))Y.push(A),X.add(A)});return}let F=Z.slice(J).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(F){let V=F[1];if(!X.has(V))Y.push(V),X.add(V);return}let O=Z.slice(J).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(O){let V=O[1];if(!X.has(V))Y.push(V),X.add(V)}};while(J<G){if(_())continue;if(Z[J]==="'"||Z[J]==='"'){U(Z[J]),K=Z[J-1];continue}if(Z[J]==="`"){z(),K="`";continue}if(Z[J]==="/"&&Z[J+1]!=="/"&&Z[J+1]!=="*"&&W()){q(),K="/";continue}if(Z[J]==="{"){Q++,K="{",J++;continue}if(Z[J]==="}"){Q--,K="}",J++;continue}if(Q===0&&/[a-z]/i.test(Z[J])&&(J===0||/\s|[;{}()]/.test(Z[J-1])))B();if(!/\s/.test(Z[J]))K=Z[J];J++}return Y.join(", ")}async function B6($,Z,Y,X){if(!v4($))return $;let Q=$;if(Z.skipSignalsRuntime)return Q;let{output:J,setupCode:G}=await cY(Q,Y,X);if(Q=J,Q=await vY(Q,Z),Q=CY(Q),G){let U=C4(Q,/<\/head>/i),z=U===-1?C4(Q,/<body[^>]*>/i):-1;if(U!==-1)Q=`${Q.slice(0,U)}${G}
|
|
8648
8648
|
${Q.slice(U)}`;else if(z!==-1){let _=/<body[^>]*>/i.exec(Q.slice(z))[0],B=z+_.length;Q=`${Q.slice(0,B)}
|
|
8649
8649
|
${G}${Q.slice(B)}`}else Q=`${Q}
|
|
8650
|
-
${G}`}let q=Q.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),W=q&&/data-stx/.test(q[1]);if(!G&&!W&&q&&!/data-stx-auto/.test(q[1])){let U=/<body[^>]*>/i,z=
|
|
8650
|
+
${G}`}let q=Q.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),W=q&&/data-stx/.test(q[1]);if(!G&&!W&&q&&!/data-stx-auto/.test(q[1])){let U=/<body[^>]*>/i,z=C4(Q,U);if(z!==-1){let _=Q.slice(0,z),B=Q.slice(z).replace(U,(j)=>j.replace(/^<body([^>]*)>$/i,"<body$1 data-stx-auto>"));Q=_+B}}return Q}function C4($,Z){let Y=/<(script|style)\b[\s\S]*?<\/\1>/gi,X=[],Q;while((Q=Y.exec($))!==null)X.push([Q.index,Q.index+Q[0].length]);let J=new RegExp(Z.source,Z.flags.replace(/[gy]/g,"")),G=0;while(G<$.length){let K=J.exec($.slice(G));if(!K)return-1;let q=G+K.index;if(!X.some(([U,z])=>q>=U&&q<z))return q;G=q+Math.max(K[0].length,1)}return-1}function iY($){let Z=[];for(let Y of $.split(",")){let X=Y.trim();if(!X||X.startsWith("type "))continue;let Q=X.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(Q&&Q[1]!==Q[2])Z.push(`${Q[2]} = ${Q[1]}`)}if(Z.length===0)return uY;return`var ${Z.join(", ")}; ${uY}`}var yz=0,xY=`(?:"[^"]*"|'[^']*'|[^>"'])*`,dY,gY,W6,hz,uY="/* [stx import stripped, resolved via window.stx in __stx_setup] */";var V$=k(()=>{K5();a$();$$();w0();u1();dY=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s;gY=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"]);W6=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);hz=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/});import E5 from"path";function nY($){return $.startsWith("http://")||$.startsWith("https://")||$.startsWith("//")}async function sY($,Z,Y){try{let X;if($.startsWith("/")){let Q=Z;for(let J=0;J<5;J++){let G=E5.join(Q,$);if(await Bun.file(G).exists())return G;Q=E5.dirname(Q)}X=E5.join(Z,$)}else if($.startsWith("./")||$.startsWith("../"))X=E5.resolve(Z,$);else X=E5.resolve(Z,$);if(await Bun.file(X).exists())return X;return null}catch{return null}}async function oY($,Z,Y){let X=$,Q=E5.dirname(Z),J=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,G;while((G=J.exec(X))!==null){let[W,U,z,_]=G;if(nY(z))continue;let B=await sY(z,Q,Z);if(B)try{let j=await Bun.file(B).text();if(Y.add(B),z.endsWith(".ts")||z.endsWith(".tsx")){let L=await Bun.build({entrypoints:[B],target:"browser",minify:!1,define:c0()});if(L.outputs.length>0)j=await L.outputs[0].text()}let H=`<script>
|
|
8651
8651
|
// Source: ${z}
|
|
8652
8652
|
${j}
|
|
8653
|
-
</script>`;X=X.replace(W,H),J.lastIndex=0}catch(j){}}let K=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,q;while((q=K.exec(X))!==null){let[W,U,z,_]=q,B=U+_;if(
|
|
8653
|
+
</script>`;X=X.replace(W,H),J.lastIndex=0}catch(j){}}let K=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,q;while((q=K.exec(X))!==null){let[W,U,z,_]=q,B=U+_;if(nY(z))continue;if(/rel=["']stylesheet["']/.test(B)||z.endsWith(".css")){let H=await sY(z,Q,Z);if(H)try{let L=await Bun.file(H).text();Y.add(H);let F=`<style>
|
|
8654
8654
|
/* Source: ${z} */
|
|
8655
8655
|
${L}
|
|
8656
|
-
</style>`;X=X.replace(W,F),K.lastIndex=0}catch(L){}}}return X}var
|
|
8656
|
+
</style>`;X=X.replace(W,F),K.lastIndex=0}catch(L){}}}return X}var rY=k(()=>{C1()});function j6($,Z){let Y=$,X=/@json\s*\(/g,Q;while((Q=X.exec(Y))!==null){let J=Q.index,G=J+Q[0].length-1,K=1,q=G+1,W=null,U=!1;while(q<Y.length&&K>0){let V=Y[q];if(U){U=!1,q++;continue}if(V==="\\"&&W){U=!0,q++;continue}if(W){if(V===W)W=null;q++;continue}if(V==='"'||V==="'"||V==="`"){W=V,q++;continue}if(V==="(")K++;else if(V===")"){if(K--,K===0)break}q++}if(K!==0)break;let z=Y.substring(G+1,q).trim(),_=Y.substring(J,q+1),B=-1,j=0,H=null,L=!1;for(let V=0;V<z.length;V++){let w=z[V];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==="{")j++;else if(w===")"||w==="]"||w==="}")j--;if(w===","&&j===0){B=V;break}}let F=B>=0?z.substring(0,B).trim():z,O=B>=0?z.substring(B+1).trim():void 0;try{let V=F.trim(),w;if(G0(V))w=K0(V,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 M=A.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");Y=Y.substring(0,J)+M+Y.substring(q+1),X.lastIndex=J+M.length}catch(V){$1.log(V instanceof Error?V:Error(String(V)),{directive:"@json"},"error"),X.lastIndex=J+_.length}}return Y}function H6($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function aY($){let Z=$,Y=/@memo\s*\(/g,X,Q=[];while((X=Y.exec(Z))!==null){let J=X.index,G=J+X[0].length,K=1,q=G;while(q<Z.length&&K>0){if(Z[q]==="(")K++;else if(Z[q]===")")K--;q++}if(K!==0)continue;let W=Z.slice(G,q-1).trim(),U=q,z=Z.slice(U),_=z.indexOf("@endmemo");if(_===-1)continue;let B=z.slice(0,_),j=U+_+8,H=B.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)/),L=H?H[0].length:0,F=B.slice(L),O=B.match(/(\s*)$/),V=O?O[0].length:0,w=F.slice(0,F.length-V),A=w.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),M;if(A){let[R,N,T="",I]=A,D=`<${N}${T} data-stx-memo="${W}"${I}>`;M=B.slice(0,L)+D+w.slice(R.length)+B.slice(L+w.length)}else M=`${B.slice(0,L)}<div data-stx-memo="${W}">${w}</div>${B.slice(L+w.length)}`;Q.push({start:J,end:j,replacement:M}),Y.lastIndex=j}for(let J=Q.length-1;J>=0;J--){let G=Q[J];Z=Z.slice(0,G.start)+G.replacement+Z.slice(G.end)}return Z.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function O6($){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 tY($){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"),X="",Q=0,J;while((J=Y.exec($))!==null){let G=J.index,K=G+J[0].length,q=!1,W=!1,U=-1;while(K<$.length){let H=$[K];if(q){if(H==="'")q=!1}else if(W){if(H==='"')W=!1}else if(H==="'")q=!0;else if(H==='"')W=!0;else if(H===">"){U=K;break}K++}if(U===-1)continue;if($.slice(G,U+1).includes("x-cloak"))continue;let _=$.slice(U+1),B=_.indexOf("</"),j=B>=0?_.slice(0,B):_.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(j))X+=$.slice(Q,U)+" x-cloak>",Q=U+1}return X+=$.slice(Q),X}function eY($){let Z=/<[a-z][\w-]*/gi,Y="",X=0,Q;while((Q=Z.exec($))!==null){let J=Q.index,G=Q[0].slice(1).toLowerCase();if(G==="script"||G==="style"){let j=`</${G}>`,H=$.toLowerCase().indexOf(j,J);if(H!==-1)Z.lastIndex=H+j.length;continue}let K=J+Q[0].length,q=!1,W=!1,U=-1;while(K<$.length){let j=$[K];if(q){if(j==="'")q=!1}else if(W){if(j==='"')W=!1}else if(j==="'")q=!0;else if(j==='"')W=!0;else if(j===">"){U=K;break}K++}if(U===-1)continue;let z=$.slice(J+Q[0].length,U);if(/(?:^|\s)x-cloak(?:=|\s|\/|>|$)/.test(z))continue;if(!mz.test(z))continue;let _=$[U-1]==="/",B=_?U-1:U;Y+=`${$.slice(X,B)} x-cloak${_?" ":""}`,X=B}return Y+=$.slice(X),Y}var mz;var L6=k(()=>{z1();H0();mz=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function F6($,Z,Y){let X=typeof Y==="boolean"?{enabled:Y,failOnViolation:Y}:Y??{enabled:!1},Q=X.allowPatterns??[],J=[];for(let{pattern:G,message:K,suggestion:q}of lz){if(Q.some((U)=>K.includes(U)||G.source.includes(U)))continue;G.lastIndex=0;let W=$.match(G);if(W&&W.length>0){let U=$.split(`
|
|
8657
8657
|
`),z=[];U.forEach((B,j)=>{if(G.lastIndex=0,G.test(B))z.push(j+1)});let _=z.length>0?` (line${z.length>1?"s":""}: ${z.join(", ")})`:"";J.push(` \u2717 ${K}${_}
|
|
8658
8658
|
\u2192 ${q}`)}}if(J.length>0&&X.enabled){let K=`[STX] DOM API violation in ${Z.split("/").pop()||Z}:
|
|
8659
8659
|
${J.join(`
|
|
8660
8660
|
`)}
|
|
8661
|
-
Tip: prefer useRef(), navigate(), and composables for component code`;if(X.failOnViolation)throw Error(K);else console.warn(K)}}var
|
|
8662
|
-
${z.trim()}`)}catch(z){console.warn(`[stx] Failed to load store ${U}:`,z)}if(K.length===0)return
|
|
8661
|
+
Tip: prefer useRef(), navigate(), and composables for component code`;if(X.failOnViolation)throw Error(K);else console.warn(K)}}var lz;var V6=k(()=>{lz=[{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 $X={};t($X,{getStoreScript:()=>cz,clearStoreCache:()=>pz});import f4 from"path";async function cz($){let Z;if($)Z=f4.resolve($);else{let U=await k5();Z=f4.resolve(U.root||process.cwd(),U.storesDir||"stores")}let Y=D5.get(Z);if(Y!==void 0)return Y||null;let X=new Bun.Glob("*.ts"),Q=[];try{for await(let U of X.scan({cwd:Z,absolute:!0})){let z=f4.basename(U,".ts");if(["index","types"].includes(z))continue;if(U.includes(".d.ts"))continue;Q.push(U)}}catch{return D5.set(Z,""),null}if(Q.length===0)return D5.set(Z,""),null;let J=[];for(let U of Q){let z=await Bun.file(U).text();J.push({file:U,hasUseStore:/useStore\s*\(/.test(z)})}J.sort((U,z)=>{if(U.hasUseStore===z.hasUseStore)return 0;return U.hasUseStore?1:-1});let G=J.map((U)=>U.file),K=[],q=new Bun.Transpiler({loader:"ts",target:"browser",define:c0()});for(let U of G)try{let z=await Bun.file(U).text(),_=f4.basename(U,".ts");z=z.replace(/^import\s+.*from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),z=z.replace(/^export\s+(default\s+)?/gm,""),z=q.transformSync(z),K.push(`// Store: ${_}
|
|
8662
|
+
${z.trim()}`)}catch(z){console.warn(`[stx] Failed to load store ${U}:`,z)}if(K.length===0)return D5.set(Z,""),null;let W=`;(function(){
|
|
8663
8663
|
${K.join(`
|
|
8664
8664
|
|
|
8665
8665
|
`)}
|
|
8666
|
-
})();`;return
|
|
8667
|
-
${j.trim()}`)}catch(j){console.warn(`[stx] Failed to load composable ${B}:`,j)}if(J.length===0||G.size===0)return
|
|
8666
|
+
})();`;return D5.set(Z,W),W}function pz(){D5.clear()}var D5;var ZX=k(()=>{m1();C1();D5=new Map});var XX={};t(XX,{getComposableScript:()=>oz,clearComposableCache:()=>rz});import w$ from"path";function YX($){let Z=w$.basename($,".ts");return Z==="index"||Z==="types"||$.endsWith(".d.ts")}async function nz($){if($)return w$.resolve($);let Z=`<default>:${process.cwd()}`,Y=w6.get(Z);if(Y!==void 0)return Y;let X=await sz();return w6.set(Z,X),X}async function sz(){let $=await k5(),Z=$.root||process.cwd(),Y=$.composablesDir;if(Y)return w$.resolve(Z,Y);for(let X of iz){let Q=w$.resolve(Z,X);try{let J=new Bun.Glob("**/*.ts");for await(let G of J.scan({cwd:Q,absolute:!0}))if(!YX(G))return Q}catch{}}return null}async function oz($){let Z=await nz($);if(!Z)return null;let Y=b5.get(Z);if(Y!==void 0)return Y||null;let X=[];try{let B=new Bun.Glob("**/*.ts");for await(let j of B.scan({cwd:Z,absolute:!0})){if(YX(j))continue;X.push(j)}}catch{return b5.set(Z,""),null}if(X.length===0)return b5.set(Z,""),null;X.sort();let Q=new Bun.Transpiler({loader:"ts",target:"browser",define:c0()}),J=[],G=new Set,K=new Set;for(let B of X)try{let j=await Bun.file(B).text(),H=w$.basename(B,".ts");for(let L of j.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 Q.scan(j).exports)if(L!=="default")G.add(L)}catch{}j=r0(j),j=j.replace(/^import\s+.*from\s+['"][^'"]+['"]\s*;?\s*$/gm,""),j=j.replace(/^export\s+(default\s+)?/gm,""),j=Q.transformSync(j),J.push(`// Composable: ${H}
|
|
8667
|
+
${j.trim()}`)}catch(j){console.warn(`[stx] Failed to load composable ${B}:`,j)}if(J.length===0||G.size===0)return b5.set(Z,""),null;let q=[...G].map((B)=>` try { __c[${JSON.stringify(B)}] = ${B}; } catch (e) {}`).join(`
|
|
8668
8668
|
`),W=JSON.stringify([...G]),U=J.join(`
|
|
8669
8669
|
|
|
8670
8670
|
`),_=`;(function(){
|
|
8671
8671
|
window.__composables = window.__composables || {};
|
|
8672
8672
|
var __c = window.__composables;
|
|
8673
8673
|
var __stx = window.stx || {};
|
|
8674
|
-
${
|
|
8674
|
+
${g$.filter((B)=>!K.has(B)&&new RegExp(`\\b${B}\\b`).test(U)).map((B)=>`var ${B} = __stx[${JSON.stringify(B)}];`).join(`
|
|
8675
8675
|
`)}
|
|
8676
8676
|
${U}
|
|
8677
8677
|
${q}
|
|
@@ -8688,7 +8688,7 @@ ${q}
|
|
|
8688
8688
|
}
|
|
8689
8689
|
window[__n] = __c[__n];
|
|
8690
8690
|
}
|
|
8691
|
-
})();`;return
|
|
8691
|
+
})();`;return b5.set(Z,_),_}function rz(){b5.clear(),w6.clear()}var b5,w6,iz;var JX=k(()=>{m1();C1();$$();b5=new Map,w6=new Map,iz=["composables","functions"]});var GX={};t(GX,{processDeferDirectives:()=>Z_});function az(){return`stx-defer-${++QX}`}function tz($){let Z=$.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if(Z)return{trigger:Z[1],value:Z[2]};return{trigger:"immediate"}}function ez($,Z,Y){let{trigger:X,value:Q}=tz(Z),J=Y,G,K,q,W=Y.match(/@placeholder\s*([\s\S]*?)(?=@loading|@error|$)/);if(W)G=W[1].trim(),J=J.replace(/@placeholder[\s\S]*?(?=@loading|@error|$)/,"");let U=Y.match(/@loading\s*([\s\S]*?)(?=@error|$)/);if(U)K=U[1].trim(),J=J.replace(/@loading[\s\S]*?(?=@error|$)/,"");let z=Y.match(/@error(?:\s*\(\s*(\w+)\s*\))?\s*([\s\S]*)$/);if(z)q=z[2].trim(),J=J.replace(/@error(?:\s*\(\s*\w+\s*\))?[\s\S]*$/,"");return J=J.trim(),{trigger:X,triggerValue:Q,content:J,placeholder:G,loading:K,error:q}}function $_($,Z){let{trigger:Y,triggerValue:X}=Z,Q;switch(Y){case"visible":Q=`
|
|
8692
8692
|
const observer = new IntersectionObserver((entries) => {
|
|
8693
8693
|
if (entries[0].isIntersecting) {
|
|
8694
8694
|
observer.disconnect();
|
|
@@ -8761,7 +8761,7 @@ else {
|
|
|
8761
8761
|
${Q}
|
|
8762
8762
|
})();
|
|
8763
8763
|
</script>
|
|
8764
|
-
`}function
|
|
8764
|
+
`}function Z_($,Z,Y){QX=0;let X=/@defer\s*\(([^)]*)\)\s*([\s\S]*?)@enddefer/g;return $.replace(X,(Q,J,G)=>{let K=az(),q=ez(Q,J,G),W=q.placeholder?`<div data-defer-placeholder>${q.placeholder}</div>`:"",U=q.loading?`<div data-defer-loading style="display: none;">${q.loading}</div>`:'<div data-defer-loading style="display: none;"></div>',z=q.error?`<div data-defer-error style="display: none;">${q.error}</div>`:"",_=`<div data-defer-content style="display: none;">${q.content}</div>`,B=$_(K,q);return`
|
|
8765
8765
|
<div id="${K}" class="stx-defer" data-defer-trigger="${q.trigger}">
|
|
8766
8766
|
${W}
|
|
8767
8767
|
${U}
|
|
@@ -8769,7 +8769,7 @@ else {
|
|
|
8769
8769
|
${z}
|
|
8770
8770
|
</div>
|
|
8771
8771
|
${B}
|
|
8772
|
-
`})}var
|
|
8772
|
+
`})}var QX=0;var qX={};t(qX,{processTeleportDirectives:()=>Q_,ensureTeleportTargets:()=>G_});function Y_(){return`stx-teleport-${++KX}`}function X_($){let Z=$.split(",").map((Q)=>Q.trim()),Y=Z[0].replace(/['"]/g,""),X;for(let Q=1;Q<Z.length;Q++){let J=Z[Q].match(/disabled:\s*(.+)/);if(J)X=J[1].trim()}return{target:Y,disabled:X}}function J_($,Z){return`
|
|
8773
8773
|
<script>
|
|
8774
8774
|
(function() {
|
|
8775
8775
|
const source = document.getElementById('${$}');
|
|
@@ -8815,12 +8815,12 @@ else {
|
|
|
8815
8815
|
});
|
|
8816
8816
|
})();
|
|
8817
8817
|
</script>
|
|
8818
|
-
`}function
|
|
8818
|
+
`}function Q_($,Z,Y){KX=0;let X=/@teleport\s*\(([^)]+)\)\s*([\s\S]*?)@endteleport/g;return $.replace(X,(Q,J,G)=>{let K=Y_(),{target:q,disabled:W}=X_(J),U=G.trim();if(W)try{let _=!1;if(W==="true")_=!0;else if(W==="false")_=!1;else if(W in Z)_=Boolean(Z[W]);if(_)return`<div class="stx-teleport-inline" data-teleport-disabled>${U}</div>`}catch{}let z=J_(K,q);return`
|
|
8819
8819
|
<div id="${K}" class="stx-teleport-source" style="display: none;">
|
|
8820
8820
|
<template>${U}</template>
|
|
8821
8821
|
</div>
|
|
8822
8822
|
${z}
|
|
8823
|
-
`})}function
|
|
8823
|
+
`})}function G_(){return`
|
|
8824
8824
|
<script>
|
|
8825
8825
|
(function() {
|
|
8826
8826
|
// Common teleport targets
|
|
@@ -8837,7 +8837,7 @@ else {
|
|
|
8837
8837
|
});
|
|
8838
8838
|
})();
|
|
8839
8839
|
</script>
|
|
8840
|
-
`}var
|
|
8840
|
+
`}var KX=0;var _X={};t(_X,{processTransitionDirectives:()=>U_,processTransitionAttributes:()=>j_,performLeave:()=>W_,performEnter:()=>q_,generateTransitionRuntime:()=>B_,generateTransitionCSS:()=>__});function WX($,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 K_($){let Z=getComputedStyle($),Y=Z.transitionDuration||"0s",X=Z.animationDuration||"0s",Q=(J)=>{let G=J.match(/^([\d.]+)(s|ms)?$/);if(!G)return 0;let K=parseFloat(G[1]);return(G[2]||"s")==="ms"?K:K*1000};return Math.max(Q(Y),Q(X))}function UX($,Z){return new Promise((Y)=>{let X=Z??K_($);if(X===0){Y();return}let Q=!1,J=()=>{if(Q)return;Q=!0,$.removeEventListener("transitionend",G),$.removeEventListener("animationend",G),Y()},G=(K)=>{if(K.target===$)J()};$.addEventListener("transitionend",G),$.addEventListener("animationend",G),setTimeout(J,X+50)})}function zX($){$.offsetHeight}async function q_($,Z={}){let Y=Z.name||"stx",X=WX(Y,Z),Q=typeof Z.duration==="object"?Z.duration.enter:Z.duration;if(Z.onBeforeEnter?.($),$.classList.add(X.enterFrom),$.classList.add(X.enterActive),zX($),$.classList.remove(X.enterFrom),$.classList.add(X.enterTo),Z.onEnter)await new Promise((J)=>{Z.onEnter($,J)});else await UX($,Q);$.classList.remove(X.enterActive),$.classList.remove(X.enterTo),Z.onAfterEnter?.($)}async function W_($,Z={}){let Y=Z.name||"stx",X=WX(Y,Z),Q=typeof Z.duration==="object"?Z.duration.leave:Z.duration;if(Z.onBeforeLeave?.($),$.classList.add(X.leaveFrom),$.classList.add(X.leaveActive),zX($),$.classList.remove(X.leaveFrom),$.classList.add(X.leaveTo),Z.onLeave)await new Promise((J)=>{Z.onLeave($,J)});else await UX($,Q);$.classList.remove(X.leaveActive),$.classList.remove(X.leaveTo),Z.onAfterLeave?.($)}function U_($,Z={},Y){let X=/@transition\s*\(([^)]*)\)([\s\S]*?)@endtransition/gi;return $.replace(X,(Q,J,G)=>{let K=z_(J),q=K.name||"stx",W=K.duration||300,U=`stx-transition-${Math.random().toString(36).slice(2,9)}`;return`
|
|
8841
8841
|
<div
|
|
8842
8842
|
class="stx-transition-wrapper"
|
|
8843
8843
|
data-transition="${q}"
|
|
@@ -8879,7 +8879,7 @@ else {
|
|
|
8879
8879
|
});
|
|
8880
8880
|
})();
|
|
8881
8881
|
</script>
|
|
8882
|
-
`})}function
|
|
8882
|
+
`})}function z_($){let Z={},Y=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,X;while((X=Y.exec($))!==null){let Q=X[1],J=X[2]||X[3]||X[4]||X[5];switch(Q){case"name":Z.name=J;break;case"duration":Z.duration=parseInt(J,10);break;case"mode":Z.mode=J;break;case"easing":Z.easing=J;break}}return Z}function __(){return`
|
|
8883
8883
|
/* STX Transition Presets */
|
|
8884
8884
|
|
|
8885
8885
|
/* Fade */
|
|
@@ -9066,7 +9066,7 @@ else {
|
|
|
9066
9066
|
opacity: 1;
|
|
9067
9067
|
max-height: 1000px;
|
|
9068
9068
|
}
|
|
9069
|
-
`}function
|
|
9069
|
+
`}function B_(){return`
|
|
9070
9070
|
// STX Transition Runtime
|
|
9071
9071
|
(function() {
|
|
9072
9072
|
if (typeof window === 'undefined') return;
|
|
@@ -9155,7 +9155,7 @@ else {
|
|
|
9155
9155
|
|
|
9156
9156
|
console.log('[stx] Transition runtime initialized');
|
|
9157
9157
|
})();
|
|
9158
|
-
`}function
|
|
9158
|
+
`}function j_($){let Z=/@transition\.([a-z-]+)(?:\.(\d+))?="([^"]+)"/gi;return $.replace(Z,(Y,X,Q,J)=>{let G=Q||"300",K=`stx-t-${Math.random().toString(36).slice(2,7)}`;return`data-stx-transition="${X}" data-stx-transition-duration="${G}" data-stx-transition-condition="${J}" data-stx-transition-id="${K}"`})}var jX={};t(jX,{withErrorBoundary:()=>BX,processErrorBoundaryDirectives:()=>L_,generateErrorBoundaryRuntime:()=>R_,generateErrorBoundaryCSS:()=>A_,createErrorBoundary:()=>w_});function O_(){return`eb-${++H_}-${Date.now().toString(36)}`}function L_($,Z={},Y){let X=/@errorBoundary(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@enderrorBoundary/gi;return $.replace(X,(Q,J,G,K)=>{let q=O_(),W=F_(J||"");return V_(q,G.trim(),K.trim(),W)})}function F_($){let Z={},Y=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\w+))/g,X;while((X=Y.exec($))!==null){let Q=X[1],J=X[2]||X[3]||X[4];switch(Q){case"id":Z.id=J;break;case"logErrors":Z.logErrors=J==="true";break}}return Z}function V_($,Z,Y,X){let Q=X.logErrors!==!1;return`
|
|
9159
9159
|
<div class="stx-error-boundary" data-boundary-id="${$}" data-has-error="false">
|
|
9160
9160
|
<div class="stx-error-boundary-content" data-boundary-content="${$}">
|
|
9161
9161
|
${Z}
|
|
@@ -9275,7 +9275,7 @@ else {
|
|
|
9275
9275
|
};
|
|
9276
9276
|
})();
|
|
9277
9277
|
</script>
|
|
9278
|
-
`}async function
|
|
9278
|
+
`}async function BX($,Z,Y){try{return await $()}catch(X){if(Y)Y(X instanceof Error?X:Error(String(X)));else console.error("[stx:errorBoundary] SSR Error:",X);return Z}}function w_($,Z={}){let Y=Z.onError?(X)=>Z.onError(X,{timestamp:Date.now(),boundaryId:"ssr"}):void 0;return(X)=>BX(X,$,Y)}function A_(){return`
|
|
9279
9279
|
/* STX Error Boundary Styles */
|
|
9280
9280
|
.stx-error-boundary {
|
|
9281
9281
|
position: relative;
|
|
@@ -9319,7 +9319,7 @@ else {
|
|
|
9319
9319
|
color: #fecaca;
|
|
9320
9320
|
}
|
|
9321
9321
|
}
|
|
9322
|
-
`}function
|
|
9322
|
+
`}function R_(){return`
|
|
9323
9323
|
// STX Error Boundary Runtime
|
|
9324
9324
|
(function() {
|
|
9325
9325
|
if (typeof window === 'undefined') return;
|
|
@@ -9384,7 +9384,7 @@ else {
|
|
|
9384
9384
|
|
|
9385
9385
|
console.log('[stx] Error boundary runtime initialized');
|
|
9386
9386
|
})();
|
|
9387
|
-
`}var
|
|
9387
|
+
`}var H_=0;var HX={};t(HX,{renderSSRSuspense:()=>k_,processSuspenseDirectives:()=>T_,generateSuspenseRuntime:()=>S_,generateSuspenseCSS:()=>b_,createSSRSuspense:()=>D_});function N_(){return`suspense-${++M_}-${Date.now().toString(36)}`}function T_($,Z={},Y){let X=/@suspense(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@endsuspense/gi;return $.replace(X,(Q,J,G,K)=>{let q=N_(),W=I_(J||"");return E_(q,G.trim(),K.trim(),W)})}function I_($){let Z={},Y=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,X;while((X=Y.exec($))!==null){let Q=X[1],J=X[2]||X[3],G=X[4];switch(Q){case"id":Z.id=J;break;case"timeout":Z.timeout=G?parseInt(G,10):void 0;break}}return Z}function E_($,Z,Y,X){let Q=X.timeout||30000,J=X.id||$;return`
|
|
9388
9388
|
<div class="stx-suspense" data-suspense-id="${$}" data-custom-id="${J}" data-status="pending">
|
|
9389
9389
|
<div class="stx-suspense-fallback" data-suspense-fallback="${$}">
|
|
9390
9390
|
${Y}
|
|
@@ -9574,7 +9574,7 @@ else {
|
|
|
9574
9574
|
}, 0);
|
|
9575
9575
|
})();
|
|
9576
9576
|
</script>
|
|
9577
|
-
`}function
|
|
9577
|
+
`}function D_($,Z,Y){return{id:$,fallback:Y,content:Z}}async function k_($){let Z=$.map((X)=>`
|
|
9578
9578
|
<div id="stx-ssr-suspense-${X.id}" class="stx-ssr-suspense">
|
|
9579
9579
|
${X.fallback}
|
|
9580
9580
|
</div>
|
|
@@ -9599,7 +9599,7 @@ else {
|
|
|
9599
9599
|
}
|
|
9600
9600
|
})();
|
|
9601
9601
|
</script>
|
|
9602
|
-
`}}return{initial:Z,streaming:Y()}}function
|
|
9602
|
+
`}}return{initial:Z,streaming:Y()}}function b_(){return`
|
|
9603
9603
|
/* STX Suspense Styles */
|
|
9604
9604
|
.stx-suspense {
|
|
9605
9605
|
position: relative;
|
|
@@ -9655,7 +9655,7 @@ else {
|
|
|
9655
9655
|
background-size: 200% 100%;
|
|
9656
9656
|
}
|
|
9657
9657
|
}
|
|
9658
|
-
`}function
|
|
9658
|
+
`}function S_(){return`
|
|
9659
9659
|
// STX Suspense Runtime
|
|
9660
9660
|
(function() {
|
|
9661
9661
|
if (typeof window === 'undefined') return;
|
|
@@ -9722,7 +9722,7 @@ else {
|
|
|
9722
9722
|
|
|
9723
9723
|
console.log('[stx] Suspense runtime initialized');
|
|
9724
9724
|
})();
|
|
9725
|
-
`}var
|
|
9725
|
+
`}var M_=0;var VX={};t(VX,{processAsyncDirectives:()=>P_,isAsyncComponent:()=>v_,generateAsyncComponentRuntime:()=>f_,generateAsyncComponentCSS:()=>x_,defineAsyncComponent:()=>C_});function OX(){return`async-${++y_}-${Date.now().toString(36)}`}function P_($,Z={},Y){let X=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@error\s*([\s\S]*?)@endasync/gi,Q=/@async\s*\(([^)]*)\)\s*([\s\S]*?)@endasync/gi,J=$;return J=J.replace(X,(G,K,q,W)=>{let U=OX(),z=LX(K);return FX(U,z,q.trim(),W.trim())}),J=J.replace(Q,(G,K,q)=>{let W=OX(),U=LX(K);return FX(W,U,q.trim(),'<div class="stx-async-error">Failed to load component</div>')}),J}function LX($){let Z={component:"",timeout:30000,delay:200,suspensible:!0,retries:0},Y=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,X;while((X=Y.exec($))!==null){let Q=X[1],J=X[2]||X[3],G=X[4],K=X[5];switch(Q){case"component":Z.component=J||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=J||K;break;case"errorComponent":Z.errorComponent=J||K;break}}return Z}function FX($,Z,Y,X){let{component:Q,timeout:J,delay:G,suspensible:K,retries:q}=Z;return`
|
|
9726
9726
|
<div class="stx-async-component" data-async-id="${$}" data-component="${Q}" data-status="pending">
|
|
9727
9727
|
<div class="stx-async-loading" data-async-loading="${$}">
|
|
9728
9728
|
${Y}
|
|
@@ -9949,7 +9949,7 @@ catch (error) {
|
|
|
9949
9949
|
loadComponent();
|
|
9950
9950
|
})();
|
|
9951
9951
|
</script>
|
|
9952
|
-
`}function
|
|
9952
|
+
`}function C_($){return{__asyncComponent:!0,...typeof $==="function"?{loader:$}:$}}function v_($){return typeof $==="object"&&$!==null&&"__asyncComponent"in $&&$.__asyncComponent===!0}function x_(){return`
|
|
9953
9953
|
/* STX Async Component Styles */
|
|
9954
9954
|
.stx-async-component {
|
|
9955
9955
|
position: relative;
|
|
@@ -10023,7 +10023,7 @@ catch (error) {
|
|
|
10023
10023
|
background-size: 200% 100%;
|
|
10024
10024
|
}
|
|
10025
10025
|
}
|
|
10026
|
-
`}function
|
|
10026
|
+
`}function f_(){return`
|
|
10027
10027
|
// STX Async Component Runtime
|
|
10028
10028
|
(function() {
|
|
10029
10029
|
if (typeof window === 'undefined') return;
|
|
@@ -10077,7 +10077,7 @@ catch (error) {
|
|
|
10077
10077
|
|
|
10078
10078
|
console.log('[stx] Async component runtime initialized');
|
|
10079
10079
|
})();
|
|
10080
|
-
`}var
|
|
10080
|
+
`}var y_=0;var AX={};t(AX,{shouldCacheComponent:()=>l_,processKeepAliveDirectives:()=>h_,onDeactivated:()=>n_,onActivated:()=>i_,generateKeepAliveRuntime:()=>p_,generateKeepAliveCSS:()=>c_,createKeepAliveCache:()=>m_});function wX(){return`keep-alive-${++g_}-${Date.now().toString(36)}`}function h_($,Z={},Y){let X=/@keepAlive(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@endkeepAlive/gi;return $.replace(X,(Q,J,G)=>{let K=wX(),q=u_(J||"");return d_(K,G.trim(),q)})}function u_($){let Z={max:10},Y=/(\w+)\s*:\s*(?:'([^']*)'|"([^"]*)"|(\d+)|(\w+))/g,X;while((X=Y.exec($))!==null){let Q=X[1],J=X[2]||X[3],G=X[4];switch(Q){case"max":Z.max=G?parseInt(G,10):10;break;case"include":Z.include=J;break;case"exclude":Z.exclude=J;break;case"id":Z.id=J;break}}return Z}function d_($,Z,Y){let{max:X,include:Q,exclude:J}=Y,G=Y.id||$;return`
|
|
10081
10081
|
<div class="stx-keep-alive" data-keep-alive-id="${$}" data-custom-id="${G}">
|
|
10082
10082
|
<div class="stx-keep-alive-content" data-keep-alive-content="${$}">
|
|
10083
10083
|
${Z}
|
|
@@ -10364,7 +10364,7 @@ else {
|
|
|
10364
10364
|
});
|
|
10365
10365
|
})();
|
|
10366
10366
|
</script>
|
|
10367
|
-
`}function
|
|
10367
|
+
`}function m_($={}){return{id:$.id||wX(),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 l_($,Z){if(Z.exclude&&Z.exclude.includes($))return!1;if(Z.include&&!Z.include.includes($))return!1;return!0}function c_(){return`
|
|
10368
10368
|
/* STX Keep-Alive Styles */
|
|
10369
10369
|
.stx-keep-alive {
|
|
10370
10370
|
position: relative;
|
|
@@ -10389,7 +10389,7 @@ else {
|
|
|
10389
10389
|
.stx-keep-alive-content > [data-activated] {
|
|
10390
10390
|
opacity: 1;
|
|
10391
10391
|
}
|
|
10392
|
-
`}function
|
|
10392
|
+
`}function p_(){return`
|
|
10393
10393
|
// STX Keep-Alive Runtime
|
|
10394
10394
|
(function() {
|
|
10395
10395
|
if (typeof window === 'undefined') return;
|
|
@@ -10425,7 +10425,7 @@ else {
|
|
|
10425
10425
|
|
|
10426
10426
|
console.log('[stx] Keep-alive runtime initialized');
|
|
10427
10427
|
})();
|
|
10428
|
-
`}function
|
|
10428
|
+
`}function i_($){if(typeof document<"u")document.addEventListener("stx:activated",(Z)=>{$(Z.detail)})}function n_($){if(typeof document<"u")document.addEventListener("stx:deactivated",(Z)=>{$(Z.detail)})}var g_=0;var IX={};t(IX,{useVirtualList:()=>MX,processVirtualListDirectives:()=>R6,processVirtualGridDirectives:()=>TX,processInfiniteListDirectives:()=>NX,generateVirtualListCSS:()=>RX,default:()=>s_,createVirtualList:()=>A6});function A6($,Z){let{itemHeight:Y,containerHeight:X,overscan:Q=3,keyProperty:J="id",dynamicHeight:G=!1,estimatedItemHeight:K=Y,direction:q="vertical"}=Z,W=[...$],U=0,z=new Map;function _(){if(G)return B();let M=Math.max(0,Math.floor(U/Y)-Q),R=Math.ceil(X/Y),N=Math.min(W.length-1,M+R+Q*2);return{startIndex:M,endIndex:N}}function B(){let M=0,R=0,N=W.length-1;for(let T=0;T<W.length;T++){let I=z.get(T)||K;if(M+I>U){R=Math.max(0,T-Q);break}M+=I}M=0;for(let T=0;T<W.length;T++){let I=z.get(T)||K;if(M+=I,M>U+X){N=Math.min(W.length-1,T+Q);break}}return{startIndex:R,endIndex:N}}function j(){if(G){let M=0;for(let R=0;R<W.length;R++)M+=z.get(R)||K;return M}return W.length*Y}function H(M){if(G){let R=0;for(let N=0;N<M;N++)R+=z.get(N)||K;return R}return M*Y}function L(){let{startIndex:M,endIndex:R}=_();return{startIndex:M,endIndex:R,scrollTop:U,totalHeight:j(),visibleItems:W.slice(M,R+1),itemHeights:new Map(z)}}function F(M,R="auto"){let N=H(M);O(N,R)}function O(M,R="auto"){U=Math.max(0,Math.min(M,j()-X))}function V(){_()}function w(M){W=[...M],z.clear(),V()}function A(){W=[],z.clear()}return{scrollToIndex:F,scrollToOffset:O,getState:L,refresh:V,setItems:w,destroy:A}}function R6($,Z={},Y){let X=/@virtualList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualList/gi;return $.replace(X,(Q,J,G,K)=>{let q=J.trim(),W=Z[q];if(!W||!Array.isArray(W))return`<!-- virtualList: items "${q}" not found or not an array -->`;let U={itemHeight:50,containerHeight:400,overscan:3};if(G)try{let O=G.trim(),V=Function(`return ${O}`)();U={...U,...V}}catch{}let z=`vlist-${Math.random().toString(36).substring(2,9)}`,_=Math.ceil(U.containerHeight/U.itemHeight),B=U.overscan||3,j=0,H=Math.min(W.length-1,_+B),L="";for(let O=j;O<=H&&O<W.length;O++){let V=W[O],w=K.replace(/\{\{\s*item\s*\}\}/g,typeof V==="object"?JSON.stringify(V):String(V)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(A,M)=>{if(typeof V==="object"&&V!==null)return String(V[M]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(O));L+=`
|
|
10429
10429
|
<div class="virtual-item ${U.itemClass||""}"
|
|
10430
10430
|
style="position: absolute; top: ${O*U.itemHeight}px; height: ${U.itemHeight}px; width: 100%;"
|
|
10431
10431
|
data-index="${O}">
|
|
@@ -10502,7 +10502,7 @@ else {
|
|
|
10502
10502
|
};
|
|
10503
10503
|
})();
|
|
10504
10504
|
</script>
|
|
10505
|
-
`})}function
|
|
10505
|
+
`})}function RX(){return`
|
|
10506
10506
|
.virtual-list-container {
|
|
10507
10507
|
position: relative;
|
|
10508
10508
|
overflow-y: auto;
|
|
@@ -10550,7 +10550,7 @@ else {
|
|
|
10550
10550
|
0% { background-position: 200% 0; }
|
|
10551
10551
|
100% { background-position: -200% 0; }
|
|
10552
10552
|
}
|
|
10553
|
-
`}function
|
|
10553
|
+
`}function MX($,Z){let Y=null,X=()=>{if(!Y)Y=A6($(),Z);return Y};return{visibleItems:()=>{return X().getState().visibleItems},totalHeight:()=>{return X().getState().totalHeight},containerProps:()=>({style:{height:`${Z.containerHeight}px`,overflow:"auto",position:"relative"},onScroll:(Q)=>{let J=Q.target;if(Y)Y.scrollToOffset(J.scrollTop)}}),itemProps:(Q)=>({style:{position:"absolute",top:`${Q*Z.itemHeight}px`,height:`${Z.itemHeight}px`,width:"100%"},"data-index":Q}),scrollToIndex:(Q)=>{X().scrollToIndex(Q)}}}function NX($,Z={},Y){let X=/@infiniteList\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@loading\s*([\s\S]*?)@endinfiniteList/gi;return $.replace(X,(Q,J,G,K,q)=>{let W=J.trim(),U=Z[W];if(!U||!Array.isArray(U))return`<!-- infiniteList: items "${W}" not found or not an array -->`;let z={itemHeight:50,containerHeight:400,overscan:3,threshold:100,hasMore:!0};if(G)try{let j=Function(`return ${G.trim()}`)();z={...z,...j}}catch{}let _=`ilist-${Math.random().toString(36).substring(2,9)}`,B=R6(`@virtualList(${W}, ${JSON.stringify({itemHeight:z.itemHeight,containerHeight:z.containerHeight,overscan:z.overscan,containerClass:z.containerClass})})${K}@endvirtualList`,Z);return B=B.replace("</script>",`
|
|
10554
10554
|
// Infinite scroll detection
|
|
10555
10555
|
container.addEventListener('scroll', function() {
|
|
10556
10556
|
const scrollBottom = container.scrollTop + container.clientHeight;
|
|
@@ -10568,7 +10568,7 @@ else {
|
|
|
10568
10568
|
${q}
|
|
10569
10569
|
</div>
|
|
10570
10570
|
</div>
|
|
10571
|
-
`})}function
|
|
10571
|
+
`})}function TX($,Z={},Y){let X=/@virtualGrid\s*\(\s*([^,]+)\s*(?:,\s*(\{[^}]*\}))?\s*\)\s*([\s\S]*?)@endvirtualGrid/gi;return $.replace(X,(Q,J,G,K)=>{let q=J.trim(),W=Z[q];if(!W||!Array.isArray(W))return`<!-- virtualGrid: items "${q}" not found or not an array -->`;let U={columns:3,rowHeight:100,containerHeight:400,gap:10,overscan:2};if(G)try{let V=Function(`return ${G.trim()}`)();U={...U,...V}}catch{}let z=`vgrid-${Math.random().toString(36).substring(2,9)}`,_=Math.ceil(W.length/U.columns),B=_*(U.rowHeight+(U.gap||0)),j=Math.ceil(U.containerHeight/(U.rowHeight+(U.gap||0))),H=U.overscan||2,L=0,F=Math.min(_-1,j+H),O="";for(let V=L;V<=F;V++)for(let w=0;w<U.columns;w++){let A=V*U.columns+w;if(A>=W.length)break;let M=W[A],R=w*(100/U.columns),N=V*(U.rowHeight+(U.gap||0)),T=K.replace(/\{\{\s*item\s*\}\}/g,typeof M==="object"?JSON.stringify(M):String(M)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(I,D)=>{if(typeof M==="object"&&M!==null)return String(M[D]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(A));O+=`
|
|
10572
10572
|
<div class="virtual-grid-item"
|
|
10573
10573
|
style="position: absolute; top: ${N}px; left: ${R}%; width: calc(${100/U.columns}% - ${U.gap||0}px); height: ${U.rowHeight}px;"
|
|
10574
10574
|
data-index="${A}">
|
|
@@ -10638,7 +10638,7 @@ else {
|
|
|
10638
10638
|
});
|
|
10639
10639
|
})();
|
|
10640
10640
|
</script>
|
|
10641
|
-
`})}var
|
|
10641
|
+
`})}var s_;var EX=k(()=>{s_={createVirtualList:A6,processVirtualListDirectives:R6,processInfiniteListDirectives:NX,processVirtualGridDirectives:TX,generateVirtualListCSS:RX,useVirtualList:MX}});function DX(){return`<script data-stx-hydration-runtime>
|
|
10642
10642
|
(function() {
|
|
10643
10643
|
'use strict';
|
|
10644
10644
|
|
|
@@ -10798,7 +10798,7 @@ else {
|
|
|
10798
10798
|
stxIslands.initIslands();
|
|
10799
10799
|
}
|
|
10800
10800
|
})();
|
|
10801
|
-
</script>`}function
|
|
10801
|
+
</script>`}function kX($){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 bX($,Z){let Y={},X=/:([a-zA-Z_][\w-]*)\s*=\s*"([^"]+)"/g,Q;while((Q=X.exec($))!==null){let J=Q[1],G=Q[2];if(G in Z)Y[J]=Z[G];else Y[J]=G}return Y}var dX={};t(dX,{processStaticDirectives:()=>hX,processPartialHydrationDirectives:()=>yX,onHydrated:()=>gX,isHydrated:()=>fX,hydrateIsland:()=>CX,hydrateByStrategy:()=>vX,hydrateAll:()=>xX,generatePartialHydrationCSS:()=>PX,generateIslandManifest:()=>uX,default:()=>YB,createIslandRegistry:()=>SX});function SX(){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 o_($){return`
|
|
10802
10802
|
<script data-hydrate="${$}">
|
|
10803
10803
|
(function() {
|
|
10804
10804
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -10809,7 +10809,7 @@ else {
|
|
|
10809
10809
|
island.dispatchEvent(new CustomEvent('stx:hydrated', { bubbles: true }));
|
|
10810
10810
|
})();
|
|
10811
10811
|
</script>
|
|
10812
|
-
`}function
|
|
10812
|
+
`}function r_($,Z){let Y=Z.timeout||2000,X=Z.priority||"low";return`
|
|
10813
10813
|
<script data-hydrate="${$}">
|
|
10814
10814
|
(function() {
|
|
10815
10815
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -10845,7 +10845,7 @@ else {
|
|
|
10845
10845
|
}
|
|
10846
10846
|
})();
|
|
10847
10847
|
</script>
|
|
10848
|
-
`}function
|
|
10848
|
+
`}function a_($,Z){let Y=Z.rootMargin||"0px",X=Z.threshold||0;return`
|
|
10849
10849
|
<script data-hydrate="${$}">
|
|
10850
10850
|
(function() {
|
|
10851
10851
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -10878,7 +10878,7 @@ else {
|
|
|
10878
10878
|
}
|
|
10879
10879
|
})();
|
|
10880
10880
|
</script>
|
|
10881
|
-
`}function
|
|
10881
|
+
`}function t_($,Z){let Y=Z.media||"(min-width: 768px)";return`
|
|
10882
10882
|
<script data-hydrate="${$}">
|
|
10883
10883
|
(function() {
|
|
10884
10884
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -10907,7 +10907,7 @@ else {
|
|
|
10907
10907
|
}
|
|
10908
10908
|
})();
|
|
10909
10909
|
</script>
|
|
10910
|
-
`}function
|
|
10910
|
+
`}function e_($){return`
|
|
10911
10911
|
<script data-hydrate="${$}">
|
|
10912
10912
|
(function() {
|
|
10913
10913
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -10929,7 +10929,7 @@ else {
|
|
|
10929
10929
|
events.forEach(e => island.addEventListener(e, handler, { once: true, passive: true }));
|
|
10930
10930
|
})();
|
|
10931
10931
|
</script>
|
|
10932
|
-
`}function
|
|
10932
|
+
`}function $B($,Z){let Y=Z.event||"stx:activate";return`
|
|
10933
10933
|
<script data-hydrate="${$}">
|
|
10934
10934
|
(function() {
|
|
10935
10935
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -10950,9 +10950,9 @@ else {
|
|
|
10950
10950
|
});
|
|
10951
10951
|
})();
|
|
10952
10952
|
</script>
|
|
10953
|
-
`}function
|
|
10954
|
-
`+
|
|
10955
|
-
<script type="application/json" data-island-props="${q}">${JSON.stringify(U)}</script>`:"",j="";switch(Z){case"load":j=
|
|
10953
|
+
`}function yX($,Z={},Y){let X=$,Q=!1,J=/@client:(load|idle|visible|media|only|hover|event)/i.test($);if(X=S5(X,"load",Z),X=S5(X,"idle",Z),X=S5(X,"visible",Z),X=S5(X,"media",Z),X=ZB(X),X=S5(X,"hover",Z),X=S5(X,"event",Z),Q=J&&X!==$,Q)X+=`
|
|
10954
|
+
`+DX();return X}function S5($,Z,Y){let X=new RegExp(`@client:${Z}(?:\\s*\\(([^)]*)\\))?\\s*([\\s\\S]*?)@endclient`,"gi");return $.replace(X,(Q,J,G)=>{let K={strategy:Z};if(J)try{let H=J.split(",").map((L)=>L.trim());for(let L of H){let[F,O]=L.split(":").map((V)=>V.trim());if(F&&O){let V=O.replace(/^['"]|['"]$/g,"");K[F]=V}}}catch{}let q=`island-${Math.random().toString(36).substring(2,9)}`,W=kX(G.trim()),U=bX(G.trim(),Y),z=[];if(K.rootMargin)z.push(`data-root-margin="${K.rootMargin}"`);if(K.threshold!==void 0)z.push(`data-threshold="${K.threshold}"`);if(K.media)z.push(`data-media="${K.media}"`);if(K.event)z.push(`data-event="${K.event}"`);if(W)z.push(`data-component="${W}"`);let B=Object.keys(U).length>0?`
|
|
10955
|
+
<script type="application/json" data-island-props="${q}">${JSON.stringify(U)}</script>`:"",j="";switch(Z){case"load":j=o_(q);break;case"idle":j=r_(q,K);break;case"visible":j=a_(q,K);break;case"media":j=t_(q,K);break;case"hover":j=e_(q);break;case"event":j=$B(q,K);break}return`
|
|
10956
10956
|
<div data-island="${q}"
|
|
10957
10957
|
data-strategy="${Z}"
|
|
10958
10958
|
${z.join(`
|
|
@@ -10962,7 +10962,7 @@ else {
|
|
|
10962
10962
|
${G.trim()}${B}
|
|
10963
10963
|
</div>
|
|
10964
10964
|
${j}
|
|
10965
|
-
`})}function
|
|
10965
|
+
`})}function ZB($){let Z=/@client:only\s*([\s\S]*?)@endclient/gi;return $.replace(Z,(Y,X)=>{let Q=`island-only-${Math.random().toString(36).substring(2,9)}`;return`
|
|
10966
10966
|
<div data-island="${Q}"
|
|
10967
10967
|
data-strategy="only"
|
|
10968
10968
|
class="stx-island stx-client-only">
|
|
@@ -10981,7 +10981,7 @@ else {
|
|
|
10981
10981
|
}
|
|
10982
10982
|
})();
|
|
10983
10983
|
</script>
|
|
10984
|
-
`})}function
|
|
10984
|
+
`})}function PX(){return`
|
|
10985
10985
|
/* Island base styles */
|
|
10986
10986
|
.stx-island {
|
|
10987
10987
|
display: contents;
|
|
@@ -11022,11 +11022,11 @@ else {
|
|
|
11022
11022
|
.stx-island.hydrated {
|
|
11023
11023
|
opacity: 1;
|
|
11024
11024
|
}
|
|
11025
|
-
`}function
|
|
11025
|
+
`}function CX($){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 vX($){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 xX(){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 fX($){if(typeof window>"u")return!1;return document.querySelector(`[data-island="${$}"]`)?.classList.contains("hydrated")??!1}function gX($){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 hX($){return $.replace(/@static\s*([\s\S]*?)@endstatic/gi,(Z,Y)=>{return`<div class="stx-static">${Y.trim()}</div>`})}function uX($){let Z=$.map((Y)=>({id:Y.id,component:Y.component,strategy:Y.options.strategy,props:Y.props}));return`
|
|
11026
11026
|
<script type="application/json" id="stx-island-manifest">
|
|
11027
11027
|
${JSON.stringify(Z)}
|
|
11028
11028
|
</script>
|
|
11029
|
-
`}var
|
|
11029
|
+
`}var YB;var mX=k(()=>{YB={processPartialHydrationDirectives:yX,processStaticDirectives:hX,generatePartialHydrationCSS:PX,generateIslandManifest:uX,createIslandRegistry:SX,hydrateIsland:CX,hydrateByStrategy:vX,hydrateAll:xX,isHydrated:fX,onHydrated:gX}});var eX={};t(eX,{watchMultiple:()=>nX,watchEffect:()=>sX,watch:()=>iX,unref:()=>lX,toRefs:()=>cX,throttledComputed:()=>tX,stxWatchMultiple:()=>nX,stxWatchEffect:()=>sX,stxWatch:()=>iX,stxUnref:()=>lX,stxToRefs:()=>cX,stxThrottledComputed:()=>tX,stxShallowRef:()=>pX,stxRef:()=>y5,stxIsRef:()=>k1,stxDebouncedComputed:()=>aX,stxComputed:()=>R$,shallowRef:()=>pX,ref:()=>y5,processWatchDirectives:()=>rX,processComputedDirectives:()=>oX,isRef:()=>k1,default:()=>XB,debouncedComputed:()=>aX,computed:()=>R$});function y5($){let Z=$,Y=new Set,X={get value(){if(G1){let Q=A$.get(X);if(!Q)Q=new Set,A$.set(X,Q);Q.add(G1)}return Z},set value(Q){if(!Object.is(Z,Q)){Z=Q,Y.forEach((G)=>G(Q));let J=A$.get(X);if(J)J.forEach((G)=>G())}},subscribe(Q){return Y.add(Q),()=>Y.delete(Q)},peek(){return Z}};return X}function k1($){return $!==null&&typeof $==="object"&&"value"in $&&"subscribe"in $&&"peek"in $}function lX($){return k1($)?$.value:$}function cX($){let Z={};for(let Y in $)if(Object.prototype.hasOwnProperty.call($,Y))Z[Y]=y5($[Y]);return Z}function pX($){return y5($)}function R$($){let Z=typeof $==="function",Y=Z?$:$.get,X=Z?void 0:$.set,Q=Z?Object.is:$.equals||Object.is,J,G=!0,K=new Set,q=new Set,W=()=>{if(G=!0,q.size>0){let _=z.value;q.forEach((B)=>B(_))}};function U(){K.clear();let _=G1;G1=W,g4.push(W);try{return Y()}finally{g4.pop(),G1=_}}let z={get value(){if(G1){let _=A$.get(z);if(!_)_=new Set,A$.set(z,_);_.add(G1)}if(G){let _=U();if(!Q(J,_))J=_;G=!1}return J},set value(_){if(X)X(_);else console.warn("Computed property is readonly")},subscribe(_){return q.add(_),()=>q.delete(_)},peek(){if(G)J=Y(),G=!1;return J},invalidate(){G=!0},get dirty(){return G},get deps(){return K}};return z}function iX($,Z,Y={}){let{immediate:X=!1,deep:Q=!1,flush:J="pre",once:G=!1}=Y,K,q=!0,W=!1,U=()=>{if(k1($))return Q?t1($.value):$.value;return $()},z=()=>{if(!q||W)return;let j=U();if(K!==void 0&&Object.is(K,j)&&!Q)return;let H=()=>{if(Z(j,K),K=Q?t1(j):j,G)B()};if(J==="sync")H();else if(J==="post")queueMicrotask(H);else Promise.resolve().then(H)},_=null;if(k1($))_=$.subscribe(()=>z());else _=R$($).subscribe(()=>z());if(X)K=void 0,z();else K=U();let B=()=>{if(q=!1,_)_(),_=null};return B.pause=()=>{W=!0},B.resume=()=>{W=!1},B}function nX($,Z,Y={}){let{immediate:X=!1,once:Q=!1}=Y,J=$.map((z)=>k1(z)?z.value:void 0),G=!0,K=!1,q=()=>{if(!G||K)return;let z=$.map((_)=>k1(_)?_.value:void 0);if(Z(z,J),J=[...z],Q)U()},W=$.map((z)=>{if(k1(z))return z.subscribe(()=>q());return()=>{}});if(X)q();let U=()=>{G=!1,W.forEach((z)=>z())};return U.pause=()=>{K=!0},U.resume=()=>{K=!1},U}function sX($,Z={}){let{flush:Y="pre"}=Z,X,Q=!0,J=!1,G=()=>{if(!Q||J)return;if(X)X();let q=G1;G1=G,g4.push(G);try{X=$()}finally{g4.pop(),G1=q}};if(Y==="sync")G();else if(Y==="post")queueMicrotask(G);else Promise.resolve().then(G);let K=()=>{if(Q=!1,X)X()};return K.pause=()=>{J=!0},K.resume=()=>{J=!1},K}function oX($,Z={},Y){let X=/@computed\s*\(\s*(\w+)\s*,\s*(.+?)\s*\)/gi;return $.replace(X,(Q,J,G)=>{try{let q=Function(...Object.keys(Z),`return ${G}`)(...Object.values(Z));return Z[J]=q,`<!-- computed: ${J} = ${q} -->`}catch(K){return`<!-- computed error: ${J} - ${K} -->`}})}function rX($,Z={},Y){let X=/@watch\s*\(\s*(\w+)\s*\)\s*([\s\S]*?)@endwatch/gi;return $.replace(X,(Q,J,G)=>{return`
|
|
11030
11030
|
<script data-watch="${`watch-${Math.random().toString(36).substring(2,9)}`}">
|
|
11031
11031
|
(function() {
|
|
11032
11032
|
// Watch implementation for ${J}
|
|
@@ -11038,9 +11038,9 @@ else {
|
|
|
11038
11038
|
}
|
|
11039
11039
|
})();
|
|
11040
11040
|
</script>
|
|
11041
|
-
`})}function
|
|
11042
|
-
`)}catch{return""}})}function
|
|
11043
|
-
`)}catch{return""}})}function
|
|
11041
|
+
`})}function t1($){if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((Y)=>t1(Y));if($ instanceof Date)return new Date($.getTime());if($ instanceof Map){let Y=new Map;return $.forEach((X,Q)=>Y.set(t1(Q),t1(X))),Y}if($ instanceof Set){let Y=new Set;return $.forEach((X)=>Y.add(t1(X))),Y}let Z={};for(let Y in $)if(Object.prototype.hasOwnProperty.call($,Y))Z[Y]=t1($[Y]);return Z}function aX($,Z=100){let Y=y5($()),X=null,Q=()=>{if(X)clearTimeout(X);X=setTimeout(()=>{Y.value=$()},Z)};return R$($).subscribe(()=>Q()),{get value(){return Y.value},set value(G){console.warn("Debounced computed is readonly")},subscribe:Y.subscribe,peek:Y.peek,invalidate(){Q()},get dirty(){return!1},get deps(){return new Set}}}function tX($,Z=100){let Y=y5($()),X=0,Q=()=>{let G=Date.now();if(G-X>=Z)X=G,Y.value=$()};return R$($).subscribe(()=>Q()),{get value(){return Y.value},set value(G){console.warn("Throttled computed is readonly")},subscribe:Y.subscribe,peek:Y.peek,invalidate(){Q()},get dirty(){return!1},get deps(){return new Set}}}var G1=null,g4,A$,XB;var $J=k(()=>{g4=[],A$=new WeakMap;XB={ref:y5,computed:R$,watch:iX,watchMultiple:nX,watchEffect:sX,isRef:k1,unref:lX,toRefs:cX,shallowRef:pX,debouncedComputed:aX,throttledComputed:tX,processComputedDirectives:oX,processWatchDirectives:rX}});var JJ={};t(JJ,{v:()=>JB,processHasErrorsDirective:()=>XJ,processFormValidationDirectives:()=>GB,processErrorsDirective:()=>YJ,processErrorDirective:()=>ZJ,defineForm:()=>QB,Validator:()=>P5});class P5{rules=[];defaultValue="";addRule($){let Z=new P5;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:(X)=>{if(!X)return!0;return String(X).length>=$||Y}})}max($,Z){let Y=Z||`Must be no more than ${$} characters`;return this.addRule({name:"max",message:Y,validate:(X)=>{if(!X)return!0;return String(X).length<=$||Y}})}length($,Z,Y){let X=Y||`Must be between ${$} and ${Z} characters`;return this.addRule({name:"length",message:X,validate:(Q)=>{if(!Q)return!0;let J=String(Q).length;return J>=$&&J<=Z||X}})}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:(X)=>{if(!X&&X!==0)return!0;return Number(X)>=$||Y}})}maxValue($,Z){let Y=Z||`Must be no more than ${$}`;return this.addRule({name:"maxValue",message:Y,validate:(X)=>{if(!X&&X!==0)return!0;return Number(X)<=$||Y}})}between($,Z,Y){let X=Y||`Must be between ${$} and ${Z}`;return this.addRule({name:"between",message:X,validate:(Q)=>{if(!Q&&Q!==0)return!0;let J=Number(Q);return J>=$&&J<=Z||X}})}matches($,Z){let Y=Z||`Must match ${$}`;return this.addRule({name:"matches",message:Y,validate:(X,Q)=>{if(!Q)return!0;return X===Q[$]||Y}})}oneOf($,Z){let Y=Z||`Must be one of: ${$.join(", ")}`;return this.addRule({name:"oneOf",message:Y,validate:(X)=>{if(!X)return!0;return $.includes(X)||Y}})}notOneOf($,Z){let Y=Z||`Cannot be one of: ${$.join(", ")}`;return this.addRule({name:"notOneOf",message:Y,validate:(X)=>{if(!X)return!0;return!$.includes(X)||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($),X=Z||`Must be before ${Y.toLocaleDateString()}`;return this.addRule({name:"before",message:X,validate:(Q)=>{if(!Q)return!0;return new Date(String(Q))<Y||X}})}after($,Z){let Y=new Date($),X=Z||`Must be after ${Y.toLocaleDateString()}`;return this.addRule({name:"after",message:X,validate:(Q)=>{if(!Q)return!0;return new Date(String(Q))>Y||X}})}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 P5;Y.rules=[...this.rules],Y.defaultValue=this.defaultValue;for(let X of Z.getRules())Y.rules.push({...X,validate:(Q,J)=>{if(!$(Q,J||{}))return!0;return X.validate(Q,J)}});return Y}getRules(){return this.rules}getDefaultValue(){return this.defaultValue}default($){let Z=new P5;return Z.rules=[...this.rules],Z.defaultValue=$,Z}async validate($,Z){let Y=[];for(let X of this.rules){let Q=await X.validate($,Z);if(Q!==!0)Y.push(Q)}return Y}validateSync($,Z){let Y=[];for(let X of this.rules){if(X.async)continue;let Q=X.validate($,Z);if(Q!==!0)Y.push(Q)}return Y}}function QB($,Z){let Y=Object.keys($),X={},Q={},J={},G={},K={};for(let O of Y)X[O]=Z?.[O]??$[O].getDefaultValue(),Q[O]=[],J[O]=!1,G[O]=!1,K[O]=!1;let q=!1;async function W(O){K[O]=!0;let V=await $[O].validate(X[O],X);return Q[O]=V,K[O]=!1,V.length===0}async function U(){q=!0;let O=await Promise.all(Y.map(W));return q=!1,O.every(Boolean)}function z(){for(let O of Y)X[O]=Z?.[O]??$[O].getDefaultValue(),Q[O]=[],J[O]=!1,G[O]=!1}function _(O){for(let V of Y)if(V in O)X[V]=O[V],G[V]=!0}function B(O,V){X[O]=V,G[O]=!0}function j(O,V=!0){if(J[O]=V,V)W(O)}function H(O){return{value:X[O],errors:Q[O],touched:J[O],dirty:G[O],valid:Q[O].length===0,validating:K[O]}}function L(O){return async(V)=>{V?.preventDefault?.();for(let A of Y)J[A]=!0;if(await U())await O(X)}}return{values:X,errors:Q,touched:J,dirty:G,get isValid(){return Y.every((O)=>Q[O].length===0)},get isValidating(){return q||Y.some((O)=>K[O])},get isDirty(){return Y.some((O)=>G[O])},validate:U,validateField:W,reset:z,setValues:_,setFieldValue:B,setFieldTouched:j,getFieldState:H,handleSubmit:L}}function ZJ($,Z,Y){let X=/@error\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderror/g;return $.replace(X,(Q,J,G)=>{try{let K=J.trim().split("."),q=Z;for(let U of K)if(q&&typeof q==="object"&&U in q)q=q[U];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return W.map((U)=>{return G.replace(/\{\{\s*message\s*\}\}/g,U)}).join(`
|
|
11042
|
+
`)}catch{return""}})}function YJ($,Z,Y){let X=/@errors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@enderrors/g;return $.replace(X,(Q,J,G)=>{try{let K=J.trim().split("."),q=Z;for(let U of K)if(q&&typeof q==="object"&&U in q)q=q[U];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return W.map((U)=>G.replace(/\{\{\s*message\s*\}\}/g,U)).join(`
|
|
11043
|
+
`)}catch{return""}})}function XJ($,Z,Y){let X=/@hasErrors\s*\(\s*([^)]+)\s*\)([\s\S]*?)@endhasErrors/g;return $.replace(X,(Q,J,G)=>{try{let K=J.trim().split("."),q=Z;for(let U of K)if(q&&typeof q==="object"&&U in q)q=q[U];else return"";let W=q;if(!W||!Array.isArray(W)||W.length===0)return"";return G}catch{return""}})}function GB($,Z,Y){let X=$;return X=ZJ(X,Z,Y),X=YJ(X,Z,Y),X=XJ(X,Z,Y),X}var JB;var QJ=k(()=>{JB=new P5});var qJ={};t(qJ,{processXElementDirectives:()=>KB,hasXElementDirectives:()=>KJ,generateXElementRuntime:()=>GJ});function GJ(){return`<script data-stx-scoped data-stx-x-element-runtime>
|
|
11044
11044
|
(function() {
|
|
11045
11045
|
'use strict';
|
|
11046
11046
|
|
|
@@ -11324,16 +11324,16 @@ else {
|
|
|
11324
11324
|
// Expose for manual initialization
|
|
11325
11325
|
window.XElement = XElement;
|
|
11326
11326
|
})();
|
|
11327
|
-
</script>`}function
|
|
11327
|
+
</script>`}function KJ($){return/\bx-data(?:\s|=)/.test($)}function KB($){let Z=/<script\b(?=[^>]*\bdata-stx-x-element-runtime\b)[^>]*>[\s\S]*?<\/script>\s*/gi,Y=$.match(Z)||[],X=Y.length>0?$.replace(Z,""):$;if(!KJ(X))return X;let Q=Y[0]?.trim()||GJ(),J=X.lastIndexOf("</body>");if(J!==-1)return X.slice(0,J)+Q+`
|
|
11328
11328
|
`+X.slice(J);return X+`
|
|
11329
|
-
`+Q}var
|
|
11329
|
+
`+Q}var WJ={};t(WJ,{rewriteImagesWithSiblings:()=>UB});import j1 from"path";async function UB($,Z){let Y=Z.formats??WB;if(!Z.publicDir)return $;let X=BB($),Q=[],J=/<img\b[^>]*?>/gi,G=[],K;while((K=J.exec($))!==null){let z=K[0],_=z.match(/\bsrc=["']([^"']+)["']/i);if(!_)continue;if(jB(K.index,X))continue;G.push({idx:K.index,length:z.length,src:_[1],raw:z})}if(G.length===0)return $;let q=await Promise.all(G.map(async(z)=>{let _=await zB(z.src,Z.publicDir,Y);return{match:z,sources:_}}));for(let{match:z,sources:_}of q){if(_.length===0)continue;let j=`<picture>${_.map((H)=>`<source type="${H.mime}" srcset="${HB(H.url)}">`).join("")}${z.raw}</picture>`;Q.push({start:z.idx,end:z.idx+z.length,replacement:j})}if(Q.length===0)return $;let W="",U=0;for(let z of Q)W+=$.slice(U,z.start),W+=z.replacement,U=z.end;return W+=$.slice(U),W}async function zB($,Z,Y){if(!_B($))return[];let X=j1.extname($).toLowerCase();if(!qB.has(X))return[];if(!$.startsWith("/"))return[];let Q=j1.join(Z,$.slice(1)),J=j1.dirname(Q),G=j1.basename(Q,X),K=j1.resolve(J),q=j1.resolve(Z);if(!K.startsWith(q))return[];let W=j1.posix.dirname($),U=Y.map(async(_)=>{let B=j1.join(J,`${G}${_.ext}`);if(!await Bun.file(B).exists())return null;return{url:j1.posix.join(W,`${G}${_.ext}`),mime:_.mime}});return(await Promise.all(U)).filter((_)=>_!==null)}function _B($){if(!$)return!1;if($.startsWith("http://")||$.startsWith("https://"))return!1;if($.startsWith("//"))return!1;if($.startsWith("data:"))return!1;return!0}function BB($){let Z=[],Y=/<picture\b[^>]*>[\s\S]*?<\/picture>/gi,X;while((X=Y.exec($))!==null)Z.push([X.index,X.index+X[0].length]);return Z}function jB($,Z){for(let[Y,X]of Z)if($>=Y&&$<X)return!0;return!1}function HB($){return $.replace(/&/g,"&").replace(/"/g,""")}var qB,WB;var UJ=k(()=>{qB=new Set([".jpg",".jpeg",".png",".gif"]),WB=[{ext:".avif",mime:"image/avif"},{ext:".webp",mime:"image/webp"}]});var zJ=()=>{};function M6($){return $.pwa?.serviceWorker?.fileName||"sw.js"}var _J=k(()=>{zJ()});var BJ={};t(BJ,{injectPwaTags:()=>OB,generateThemeColorMeta:()=>VB,generateSwRegistrationScript:()=>LB,generatePwaTags:()=>h4,generateManifestLink:()=>FB});function h4($){let Z=$.pwa;if(!Z?.enabled)return"";let Y=Z.manifest,X=Z.icons?.outputDir?`/${Z.icons.outputDir}`:"/pwa-icons",Q=M6($),J=`
|
|
11330
11330
|
<!-- stx PWA Meta Tags -->
|
|
11331
11331
|
<link rel="manifest" href="/manifest.json">
|
|
11332
|
-
<meta name="theme-color" content="${
|
|
11332
|
+
<meta name="theme-color" content="${N6(Y?.themeColor||"#000000")}">
|
|
11333
11333
|
<meta name="mobile-web-app-capable" content="yes">
|
|
11334
11334
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
11335
11335
|
<meta name="apple-mobile-web-app-status-bar-style" content="default">
|
|
11336
|
-
<meta name="apple-mobile-web-app-title" content="${
|
|
11336
|
+
<meta name="apple-mobile-web-app-title" content="${N6(Y?.shortName||Y?.name||"App")}">`;if(Z.icons?.generateAppleIcons!==!1)J+=`
|
|
11337
11337
|
<link rel="apple-touch-icon" href="${X}/apple-touch-icon.png">
|
|
11338
11338
|
<link rel="apple-touch-icon" sizes="120x120" href="${X}/apple-touch-icon-120x120.png">
|
|
11339
11339
|
<link rel="apple-touch-icon" sizes="152x152" href="${X}/apple-touch-icon-152x152.png">
|
|
@@ -11370,12 +11370,12 @@ if ('serviceWorker' in navigator) {
|
|
|
11370
11370
|
});
|
|
11371
11371
|
}
|
|
11372
11372
|
</script>
|
|
11373
|
-
<!-- End stx PWA -->`,J}function
|
|
11374
|
-
`+$.slice(Q)}return $+
|
|
11375
|
-
</head>`)}function
|
|
11373
|
+
<!-- End stx PWA -->`,J}function OB($,Z){let Y=Z.pwa;if(!Y?.enabled||Y.autoInject===!1)return $;if($.includes("<!-- stx PWA Meta Tags -->"))return $;if(!$.includes("</head>")){let Q=$.lastIndexOf("</body>");if(Q!==-1){let J=h4(Z);return $.slice(0,Q)+J+`
|
|
11374
|
+
`+$.slice(Q)}return $+h4(Z)}let X=h4(Z);return $.replace("</head>",`${X}
|
|
11375
|
+
</head>`)}function LB($){if(!$.pwa?.enabled)return"";return`<script>
|
|
11376
11376
|
if ('serviceWorker' in navigator) {
|
|
11377
11377
|
window.addEventListener('load', function() {
|
|
11378
|
-
navigator.serviceWorker.register('/${
|
|
11378
|
+
navigator.serviceWorker.register('/${M6($)}')
|
|
11379
11379
|
.then(function(registration) {
|
|
11380
11380
|
console.log('[PWA] Service Worker registered:', registration.scope);
|
|
11381
11381
|
})
|
|
@@ -11384,43 +11384,43 @@ if ('serviceWorker' in navigator) {
|
|
|
11384
11384
|
});
|
|
11385
11385
|
});
|
|
11386
11386
|
}
|
|
11387
|
-
</script>`}function
|
|
11387
|
+
</script>`}function FB(){return'<link rel="manifest" href="/manifest.json">'}function VB($){return`<meta name="theme-color" content="${N6($)}">`}function N6($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var jJ=k(()=>{_J()});import x0 from"path";import{deriveLayoutGroup as wB}from"stx-router/layout-metadata";function HJ($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function AB($,Z){let Y=$.length,X=Z,Q=!0,J=[],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(X<Y){let K=$[X];if(G(X))return X;if(K==="/"&&$[X+1]==="/"){if(X=$.indexOf(`
|
|
11388
11388
|
`,X+2),X===-1)return-1;X+=1,Q=!0;continue}if(K==="/"&&$[X+1]==="*"){let q=$.indexOf("*/",X+2);if(q===-1)return-1;X=q+2,Q=!0;continue}if(K==="/"&&Q){let q=X+1,W=!1;while(q<Y){let U=$[q];if(U==="\\"){q+=2;continue}if(U==="[")W=!0;else if(U==="]")W=!1;else if(U==="/"&&!W){q++;break}else if(U===`
|
|
11389
11389
|
`){q=-1;break}q++}if(q===-1){X++,Q=!1;continue}while(q<Y&&/[a-z]/.test($[q]))q++;X=q,Q=!1;continue}if(K==="'"||K==='"'){let q=K;X++;while(X<Y){if($[X]==="\\"){X+=2;continue}if($[X]===q){X++;break}if($[X]===`
|
|
11390
|
-
`)break;X++}Q=!1;continue}if(K==="`"){X++;while(X<Y){if($[X]==="\\"){X+=2;continue}if($[X]==="`"){X++;break}if($[X]==="$"&&$[X+1]==="{"){J.push(!0),X+=2,Q=!0;break}X++}if(J.length===0)Q=!1;continue}if(K==="}"&&J.length>0){J.pop(),X++;while(X<Y){if($[X]==="\\"){X+=2;continue}if($[X]==="`"){X++,Q=!1;break}if($[X]==="$"&&$[X+1]==="{"){J.push(!0),X+=2,Q=!0;break}X++}continue}if(/\s/.test(K));else if(/[)\].\w$]/.test(K))Q=!1;else Q=!0;X++}return-1}function
|
|
11390
|
+
`)break;X++}Q=!1;continue}if(K==="`"){X++;while(X<Y){if($[X]==="\\"){X+=2;continue}if($[X]==="`"){X++;break}if($[X]==="$"&&$[X+1]==="{"){J.push(!0),X+=2,Q=!0;break}X++}if(J.length===0)Q=!1;continue}if(K==="}"&&J.length>0){J.pop(),X++;while(X<Y){if($[X]==="\\"){X+=2;continue}if($[X]==="`"){X++,Q=!1;break}if($[X]==="$"&&$[X+1]==="{"){J.push(!0),X+=2,Q=!0;break}X++}continue}if(/\s/.test(K));else if(/[)\].\w$]/.test(K))Q=!1;else Q=!0;X++}return-1}function u4($,Z){let Y=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),X=new RegExp(`<script\\b(?=[^>]*\\b${Y}(?:\\s|=|/?>))[^>]*>`,"i").exec($);if(!X)return null;let Q=X.index+X[0].length,J=$.indexOf("</script>",Q);if(J===-1)return null;let G=$.indexOf(">",J);if(G===-1)return null;return{start:X.index,end:G+1}}function OJ($){let Z=0;while(Z<$.length){let Y=$.indexOf("<",Z);if(Y===-1)return-1;if($.startsWith("<!--",Y)){let J=$.indexOf("-->",Y+4);Z=J===-1?$.length:J+3;continue}let X=$.slice(Y),Q=/^<style\b[^>]*>/i.exec(X);if(Q){let J=$.toLowerCase().indexOf("</style>",Y+Q[0].length);Z=J===-1?$.length:J+8;continue}if(/^<script\b[^>]*>/i.test(X))return Y;Z=Y+1}return-1}function RB($){let Z=u4($,"data-stx-runtime");if(!Z)return $;let Y=OJ($);if(Y===-1||Y===Z.start)return $;let X=$.slice(Z.start,Z.end),Q=$.slice(0,Z.start)+$.slice(Z.end),J=OJ(Q);if(J===-1)return X+`
|
|
11391
11391
|
`+Q;return Q.slice(0,J)+X+`
|
|
11392
|
-
`+Q.slice(J)}async function O0($,Z,Y,X,Q){if(X.ssr===!1&&!X.autoShell&&X.buildMode==="spa")return $;let J=!Z.__stxProcessingDepth;if(!Z.__stxProcessingDepth)Z.__stxProcessingDepth=0;if(Z.__stxProcessingDepth++,!Z.__onceStore)Z.__onceStore=new Set;if((X.debug||!
|
|
11393
|
-
`),...W.htmlAttrs&&{htmlAttrs:{...K.htmlAttrs||{},...W.htmlAttrs}},...W.bodyAttrs&&{bodyAttrs:{...K.bodyAttrs||{},...W.bodyAttrs}}},L
|
|
11394
|
-
<meta name="stx-layout" content="${
|
|
11395
|
-
<meta name="stx-layout-group" content="${
|
|
11396
|
-
`+U+G.slice(z.end)}}catch{}if(J)try{let{getComposableScript:K}=await Promise.resolve().then(() => (
|
|
11397
|
-
`+U+G.slice(z.end)}}catch{}if(J&&Z.__stx_inject_css!==!1)G=await
|
|
11392
|
+
`+Q.slice(J)}async function O0($,Z,Y,X,Q){if(X.ssr===!1&&!X.autoShell&&X.buildMode==="spa")return $;let J=!Z.__stxProcessingDepth;if(!Z.__stxProcessingDepth)Z.__stxProcessingDepth=0;if(Z.__stxProcessingDepth++,!Z.__onceStore)Z.__onceStore=new Set;if((X.debug||!Y$()&&!c$())&&Y&&Y.endsWith(".stx"))z3($,Y);try{return await k8.timeAsync("template-processing",async()=>{let G=await MB($,Z,Y,X,Q);if(J)G=O6(G);if(J&&X.autoShell&&X.buildMode!=="compile"){let K=X.app?.head||{},W=(Z.__stx_runtime_head||null)??a7(),U=(Z.__stx_head_raw||"").trim(),z,_=U.match(/<title[^>]*>([\s\S]*?)<\/title>/i);if(_)z=_[1].trim(),U=U.replace(_[0],"").trim();let B=Z.__sections?.title,j=W.title||z||B,H={...K,...j&&{title:j},meta:[...K.meta||[],...W.meta||[]],link:[...K.link||[],...W.link||[]],script:[...K.script||[],...W.script||[]],headRaw:[K.headRaw,U].filter(Boolean).join(`
|
|
11393
|
+
`),...W.htmlAttrs&&{htmlAttrs:{...K.htmlAttrs||{},...W.htmlAttrs}},...W.bodyAttrs&&{bodyAttrs:{...K.bodyAttrs||{},...W.bodyAttrs}}},L=$6(G);if(G=IY(G,H),L)G=TY(G,K);let F=G.match(/<!-- stx-layout: ([^ ]+) -->/);if(F&&G.includes("<head")){let V=F[1],w=wB(V);G=G.replace("<head>",`<head>
|
|
11394
|
+
<meta name="stx-layout" content="${HJ(V)}">
|
|
11395
|
+
<meta name="stx-layout-group" content="${HJ(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 V=new RegExp(`(<(?!body)[a-zA-Z][^>]*) data-stx="${O[1]}"`,"i");G=G.replace(V,"$1")}}if(J)G=NY(G),G=RB(G);if(J)try{let{getStoreScript:K}=await Promise.resolve().then(() => (ZX(),$X)),q=X.storesDir,W=await K(q);if(W){let U=`<script data-stx-stores>${W}</script>`,z=u4(G,"data-stx-runtime");if(z)G=G.slice(0,z.end)+`
|
|
11396
|
+
`+U+G.slice(z.end)}}catch{}if(J)try{let{getComposableScript:K}=await Promise.resolve().then(() => (JX(),XX)),q=X.composablesDir,W=await K(q);if(W){let U=`<script data-stx-composables>${W}</script>`,z=u4(G,"data-stx-stores")||u4(G,"data-stx-runtime");if(z)G=G.slice(0,z.end)+`
|
|
11397
|
+
`+U+G.slice(z.end)}}catch{}if(J&&Z.__stx_inject_css!==!1)G=await v7(G,void 0,X.buildMode==="serve");if(J)G=MY(G);return G=G.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),G})}catch(G){if(G instanceof s$)throw G;let K=G instanceof Error?G.message:String(G),q=new l1(`Template processing failed: ${K}`,Y,void 0,void 0,$.substring(0,200)+($.length>200?"...":""));if($1.log(q,{filePath:Y,context:Z}),p7.logDetailedError(q,{filePath:Y,template:$.substring(0,500)}),X.debug)throw q;return l7.createFallbackContent("Template Processing",q)}}async function MB($,Z,Y,X,Q){let J=process.cwd(),G={...X,partialsDir:X.partialsDir&&!x0.isAbsolute(X.partialsDir)?x0.resolve(J,X.partialsDir):X.partialsDir,componentsDir:X.componentsDir&&!x0.isAbsolute(X.componentsDir)?x0.resolve(J,X.componentsDir):X.componentsDir,layoutsDir:X.layoutsDir&&!x0.isAbsolute(X.layoutsDir)?x0.resolve(J,X.layoutsDir):X.layoutsDir},K=G,q=$;await IB(Y,Z),TB(Z,K),q=await H5(()=>t2(q,Z,Y,K),q,(O)=>{$1.log(O,{filePath:Y,phase:"pre-processing-middleware"},"warning"),console.warn(`[stx] pre-processing middleware failed for ${Y}: ${O.message}`)}),q=q.replace(/\{\{--[\s\S]*?--\}\}/g,"");let W=Y1(q,r5,(O,V)=>`\x00STX_HTML_COMMENT_${V}\x00`);q=W.output;let U=W.tokens,z=(O)=>U.length===0?O:O.replace(/\x00STX_HTML_COMMENT_(\d+)\x00/g,(V,w)=>U[Number(w)]??""),_="\x00STX_ESCAPED_AT\x00";q=q.replace(/@@/g,_),q=q.replace(/@\{\{([\s\S]*?)\}\}/g,(O,V)=>{return`{{ ${V} }}`}),q=HY(q),q=await oY(q,Y,Q);let B={};q=n3(q,B);let j={...Z.__sections||{}},H="",L=/@nolayout\b/.test(q);if(L)q=q.replace(/@nolayout\b\s*/g,"");let F=q.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(F)H=F[1],q=q.replace(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/g,"");if(!H&&!L&&K.defaultLayout){let O=/<!DOCTYPE\s/i.test(q),V=/@section\s*\(/.test(q);if(!O||V){let w="",A=x0.dirname(Y),M=K.layoutsDir?x0.dirname(K.layoutsDir):process.cwd();for(let R=0;R<20;R++){let N=x0.join(A,"_layout.stx");if(await p(N)){w=N;break}let T=x0.dirname(A);if(T===A||T.length<M.length)break;A=T}if(w)H=w;else if(K.layoutsDir){let R=x0.isAbsolute(K.layoutsDir)?K.layoutsDir:x0.resolve(process.cwd(),K.layoutsDir),N=x0.join(R,`${K.defaultLayout}.stx`);if(await p(N))H=N}if(H&&!V)q=`@section('content')
|
|
11398
11398
|
${q.trim()}
|
|
11399
|
-
@endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(O,V,w)=>{return j[V]=w,""}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+?)\s*\)/g,(O,V,w)=>{if(/^(['"]).*\1$/.test(w.trim()))return O;try{let A=Z0(w.trim(),Z);if(A===void 0)return O;return j[V]=String(A??""),""}catch{return O}}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(O,V,w)=>{if(w.includes("@parent"))j[V]=w.replace("@parent",
|
|
11399
|
+
@endsection`}}if(q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(O,V,w)=>{return j[V]=w,""}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+?)\s*\)/g,(O,V,w)=>{if(/^(['"]).*\1$/.test(w.trim()))return O;try{let A=Z0(w.trim(),Z);if(A===void 0)return O;return j[V]=String(A??""),""}catch{return O}}),q=q.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(O,V,w)=>{if(w.includes("@parent"))j[V]=w.replace("@parent",e1);else j[V]=w.trim();return""}),Z.__sections=j,q=q.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(O,V,w)=>{return j[V]||w||""}),!("slot"in Z)||Z.slot===void 0)q=q.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""});if(q=s3(q,B),H){let O=[],V=V1(q),w=Y1(V.output,q5,(A,M)=>`\x00STX_ORPHAN_STYLE_${M}\x00`);if(q=w.output.replace(/\x00STX_(SCRIPT|ORPHAN_STYLE)_(\d+)\x00/g,(A,M,R)=>{let N=M==="SCRIPT"?V.scripts[Number(R)]:w.tokens[Number(R)];if(N)O.push(N);return""}),O.length>0){let A=O.join(`
|
|
11400
11400
|
`);j.content=j.content?`${j.content}
|
|
11401
|
-
${A}`:A,Z.__sections=j}}if(H)try{let O;if(x0.isAbsolute(H))O=H,Q.add(H);else O=await
|
|
11402
|
-
${q}`,z(q)}catch(O){return
|
|
11403
|
-
`;if(J=T(J,Z),J=I(J,Z),J=
|
|
11401
|
+
${A}`:A,Z.__sections=j}}if(H)try{let O;if(x0.isAbsolute(H))O=H,Q.add(H);else O=await H5(()=>T6(H,Y,G,Q),null,()=>{throw new l1(`Failed to resolve layout path: ${H}`,Y,void 0,void 0,`Layout referenced from ${Y}`)});if(!O){let N=`Layout not found: ${H} (referenced from ${Y})`;if($1.log(Error(N),{layoutPath:H,filePath:Y},"warning"),G.debug)throw new l1(N,Y);return q}let V=await H5(()=>Bun.file(O).text(),"",()=>{throw new l1(`Failed to read layout file: ${O}`,Y,void 0,void 0,"Layout content could not be loaded")}),w=V.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(w){if(G.debug)console.log(`Found nested layout: ${w[1]} in ${O}`);let N={},T=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(E,y,S)=>{return N[y]=S.trim(),""});for(let[E,y]of Object.entries(N))if(j[E]&&j[E].includes(e1)){let S=j[E].indexOf(e1);j[E]=j[E].slice(0,S)+y+j[E].slice(S+e1.length)}else if(!j[E])j[E]=y;let I={...Z,__sections:j},D=`@layout('${w[1]}')${T}`;return await O0(D,I,O,G,Q)}let A=V.replace(/\{\{--[\s\S]*?--\}\}/g,""),M=n3(A,B),R={};return M=M.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(N,T,I)=>{return R[T]=I.trim(),`@slot('${T}')`}),M=M.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(N,T,I)=>{if(j[T]){let D=j[T];if(D.includes(e1)){let E=R[T]||"",y=D.indexOf(e1);D=D.slice(0,y)+E+D.slice(y+e1.length)}return D}return I||""}),M=NB(M,j),M=M.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""}),M=s3(M,B),Z.__originalFilePath=Y,q=await LJ(M,Z,O,G,Q),q=`<!-- stx-layout: ${H} -->
|
|
11402
|
+
${q}`,z(q)}catch(O){return $1.log(O instanceof Error?O:Error(String(O)),{layoutPath:H,filePath:Y},"error"),`[Error processing layout: ${O instanceof Error?O.message:String(O)}]`}return z(await LJ(q,Z,Y,G,Q))}function NB($,Z){return $.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(Y,X,Q)=>{let J=Z[X];if(J!==void 0){if(!new RegExp(`@(?:yield|slot)\\(\\s*['"]${X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}['"]`).test(J))return J}return Q||""})}function TB($,Z){if($.__stx_sfc_mode=!0,$.__stx_options=Z,Z.buildMode)$.__stx_buildMode=Z.buildMode;let Y=Z.envPrefix||"STX_PUBLIC_",X={};for(let[Q,J]of Object.entries(process.env))if(Q.startsWith(Y)&&J!==void 0)X[Q]=J;$.$env=X}async function IB($,Z){await H5(()=>WY($,Z),void 0,(Y)=>{$1.log(Y,{filePath:$,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed for ${$}: ${Y.message}`)})}async function EB($,Z,Y){let X=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,Q;while((Q=X.exec($))!==null){let J=Q[1],G=Q[2];if(!/\bserver\b/.test(J)||!G.trim())continue;try{let{extractVariables:q}=await Promise.resolve().then(() => (N5(),O4));await q(G,Z,Y,{preserveExisting:!0})}catch(q){let W=q instanceof Error?q:Error(String(q));$1.log(W,{filePath:Y,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${Y}: ${W.message}`)}}}async function DB($,Z,Y){try{let{interpolateScriptsInTemplate:X}=await Promise.resolve().then(() => (X1(),T8));return X($,Z,{skipServer:!0})}catch(X){let Q=X instanceof Error?X:Error(String(X));return $1.log(Q,{filePath:Y,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${Y}: ${Q.message}`),$}}async function LJ($,Z,Y,X,Q){let J=$,G=X;if(await EB(J,Z,Y),J=await DB(J,Z,Y),J=await i2(J,Z,Y),J=await n2(J,Z,Y),J=await EZ(J,Z,Y,G),W5(J))J=U6(J,Z),J=_6(J,Z);J=z6(J);let{processStreamDirectives:K}=await Promise.resolve().then(() => (U3(),W3));J=K(J,Z),J=l3(J,Z,Y,G),J=await H4(J,Z,Y,G,Q),J=await LY(J,Z,Y,G,Q),J=l9(J,Z,Y,G);let{processDeferDirectives:q}=await Promise.resolve().then(() => GX);J=q(J,Z,Y);let{processTeleportDirectives:W}=await Promise.resolve().then(() => qX);J=W(J,Z,Y);let{processTransitionDirectives:U,processTransitionAttributes:z}=await Promise.resolve().then(() => _X);J=U(J,Z,Y),J=z(J);let{processErrorBoundaryDirectives:_}=await Promise.resolve().then(() => jX);J=_(J,Z,Y);let{processSuspenseDirectives:B}=await Promise.resolve().then(() => HX);J=B(J,Z,Y);let{processAsyncDirectives:j}=await Promise.resolve().then(() => VX);J=j(J,Z,Y);let{processKeepAliveDirectives:H}=await Promise.resolve().then(() => AX);J=H(J,Z,Y);let{processVirtualListDirectives:L,processVirtualGridDirectives:F,processInfiniteListDirectives:O}=await Promise.resolve().then(() => (EX(),IX));J=L(J,Z,Y),J=F(J,Z,Y),J=O(J,Z,Y);let{processPartialHydrationDirectives:V,processStaticDirectives:w}=await Promise.resolve().then(() => (mX(),dX));J=V(J,Z,Y),J=w(J);let{processComputedDirectives:A,processWatchDirectives:M}=await Promise.resolve().then(() => ($J(),eX));J=A(J,Z,Y),J=M(J,Z,Y);let{processFormValidationDirectives:R}=await Promise.resolve().then(() => (QJ(),JJ));J=R(J,Z,Y);let{processHeadDirective:N,processTitleDirective:T,processMetaDirective:I,resetHead:D}=await Promise.resolve().then(() => (Q$(),e7));if(!Z.__stx_head_preset&&!Z.__stx_runtime_head)D();let E=N(J);if(J=E.content,E.headContent)Z.__stx_head_raw=`${Z.__stx_head_raw||""}${E.headContent}
|
|
11403
|
+
`;if(J=T(J,Z),J=I(J,Z),J=ZY(J),J=n7(J,Z),J=TZ(J),J=r2(J),J=await i3(J,Z,Y,G,Q),J=await H4(J,Z,Y,G,Q),J=J.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),J=O6(J),J=p1(J,Z,Y),J=s7(J,Z),J=o7(J,Z),J=X4(J,Z),J=fZ(J,Z),J=gZ(J,Z),J=await JZ(J,Z,Y,G),J=await FJ(J,Z,Y),J=await lZ(J,Z,Y,G),J=x9(J,Z,Y,G),J=XY(J,Z,Y,G),J=JY(J,Z,Y),J=QY(J,Z,Y,G),J=RZ(J,Z,Y,G),J=j6(J,Z),J=H6(J),J=aY(J),!G.skipEventDirectives)J=a8(J,Z,Y);if(J=YZ(J,Z,Y),G.debug){let n=/\bx-data\s*=/.test(J),X0=v4($);if(n&&X0)console.warn(`[stx] ${Y}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
|
|
11404
11404
|
Both work on the same page, but they manage separate scopes.
|
|
11405
|
-
Prefer signals (state/derived/effect) for new components.`)}J=
|
|
11405
|
+
Prefer signals (state/derived/effect) for new components.`)}J=_Y(J,Z),J=await w1(J,Z,Y),J=tY(J),J=eY(J),J=m8(J);let{processXElementDirectives:y}=await Promise.resolve().then(() => qJ);J=y(J);let S=Z.__originalFilePath||Y,b=x1(Z);if(J=await B6(J,G,S,b),J=yZ(J,Z),J=await e2(J,Z,Y,G),G.media?.image?.autoSiblings){let n=G.publicDir||"public",{rewriteImagesWithSiblings:X0}=await Promise.resolve().then(() => (UJ(),WJ));J=await X0(J,{publicDir:n})}if(G.seo?.enabled)J=GY(J,Z,G);let v=(n,X0,_0=!0)=>{if(!X0)return n;let F0=X0.match(/<title\b[^>]*>[\s\S]*?<\/title>/i),C=n.match(/<title\b[^>]*>[\s\S]*?<\/title>/i);if(F0&&C){if(_0)n=n.replace(C[0],F0[0]);if(X0=X0.replace(F0[0],"").trim(),!X0)return n}if(/<\/head>/i.test(n))return n.replace(/<\/head>/i,`${X0}
|
|
11406
11406
|
</head>`);if(/<head\b[^>]*>/i.test(n))return n.replace(/(<head\b[^>]*>)/i,`$1
|
|
11407
11407
|
${X0}`);if(/<html\b[^>]*>/i.test(n))return n.replace(/(<html\b[^>]*>)/i,`$1
|
|
11408
11408
|
<head>
|
|
11409
11409
|
${X0}
|
|
11410
|
-
</head>`);return n},{renderHead:h,getHead:f}=await Promise.resolve().then(() => (
|
|
11411
|
-
${
|
|
11410
|
+
</head>`);return n},{renderHead:h,getHead:f}=await Promise.resolve().then(() => (Q$(),e7)),r=Z.__stx_runtime_head??f();if(r.title||r.meta?.length||r.link?.length){let n=h(r);if(n)J=v(J,n)}if(E.headContent)J=v(J,E.headContent,!r.title);if(G.csp?.enabled&&G.csp.addMetaTag)J=wZ(J,G.csp,Z);if(G.analytics?.enabled)J=c8(J,G);if(G.heatmap?.enabled)J=s9(J,G);if(G.pwa?.enabled&&G.pwa.autoInject!==!1){let{injectPwaTags:n}=await Promise.resolve().then(() => (jJ(),BJ));J=n(J,G)}let T0=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(J),I0=/\bSTX\.\w+/.test(J),m0=/window\.STX\s*=/.test(J);if(T0&&I0&&!m0){let X0=`<script data-stx-scoped>
|
|
11411
|
+
${g8()}
|
|
11412
11412
|
</script>`;if(J.includes("</head>")){let _0=J.indexOf("</head>"),C=J.slice(0,_0).indexOf("<script");if(C!==-1){let P=J.slice(0,C),x=J.slice(C);J=P+X0+`
|
|
11413
11413
|
`+x}else J=J.replace("</head>",`${X0}
|
|
11414
11414
|
</head>`)}else if(J.includes("<body"))J=J.replace(/<body([^>]*)>/,`<body$1>
|
|
11415
11415
|
${X0}`);else J=X0+`
|
|
11416
|
-
`+J}{let{scanScriptTags:n}=await Promise.resolve().then(() => (
|
|
11417
|
-
`)Q++;return!0}if($[Q]==="/"&&$[Q+1]==="*"){Q+=2;while(Q<J-1&&!($[Q]==="*"&&$[Q+1]==="/"))Q++;return Q+=2,!0}return!1},W=()=>{if(X!==0)return;let U=$.slice(Q).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(U){let j=U[2].split(",").map((H)=>{let L=H.trim().split(":");return L[L.length-1].trim()});for(let H of j)if(H&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(H)&&!Y.has(H))Z.push(H),Y.add(H);return}let z=$.slice(Q).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(z){let j=z[2];if(!Y.has(j))Z.push(j),Y.add(j);return}let _=$.slice(Q).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(_){let j=_[1];if(!Y.has(j))Z.push(j),Y.add(j);return}let B=$.slice(Q).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let j=B[1];if(!Y.has(j))Z.push(j),Y.add(j)}};while(Q<J){if(q())continue;if($[Q]==="'"||$[Q]==='"'){G($[Q]);continue}if($[Q]==="`"){K();continue}if($[Q]==="{"){X++,Q++;continue}if($[Q]==="}"){X--,Q++;continue}if(X===0&&/[a-z]/i.test($[Q])&&(Q===0||/\s|[;{}()]/.test($[Q-1])))W();Q++}return Z}function
|
|
11416
|
+
`+J}{let{scanScriptTags:n}=await Promise.resolve().then(() => (V$(),x4)),X0=[];for(let _0 of n(J)){if(!/\bserver\b/i.test(_0.attrs))continue;let F0=_0.start+_0.fullMatch.indexOf(">")+1,C=AB(J,F0);if(C===-1)continue;let P=C+9;while(P<J.length&&/\s/.test(J[P]))P++;X0.push({start:_0.start,end:P})}for(let _0=X0.length-1;_0>=0;_0--){let{start:F0,end:C}=X0[_0];J=J.substring(0,F0)+J.substring(C)}}let J0=A4(J,Y);if(J0.hasScoped)J=J0.html;let Q0=Z.__stx_event_bindings||[],E0=!1,s0=[],H1=/\s:[a-z][\w.-]*\s*=/.test(J),{scanScriptTags:Y5}=await Promise.resolve().then(() => (V$(),x4));for(let n of Y5(J,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))s0.push({match:n.fullMatch,attrs:n.attrs,content:n.body});for(let{match:n,attrs:X0,content:_0}of s0){E0=!0;let F0=_0;F6(_0,Y,X.strict);let C=await f1(_0,{eventBindings:Q0,attrs:X0,hasColonDirectives:H1,templateContent:$,filePath:Y,projectRoot:process.cwd(),production:X.buildMode==="compile",serverData:b});J=J.replace(n,()=>C)}if(E0)Z.__stx_event_bindings=[];if(G.csp?.enabled&&G.csp.useNonce&&typeof Z.cspNonce==="string")J=AZ(J,Z.cspNonce);return J}var e1="<!--PARENT_CONTENT_PLACEHOLDER-->";var G4=k(()=>{x7();u1();A7();h8();l8();p8();N7();R7();t8();K5();XZ();QZ();t$();MZ();IZ();kZ();PZ();z1();Q$();X1();hZ();cZ();p2();o2();c3();I6();$Y();B5();YY();r3();w0();UY();BY();OY();FY();e3();V$();u3();rY();L6();V6();H0();_3();L6();V6()});var VJ=()=>{};var E6={};t(E6,{renderSlot:()=>AJ,processSlots:()=>MJ,parseSlots:()=>wJ,parseSlotElement:()=>PB,extractSlotContent:()=>xB,applySlots:()=>fB});function kB($,Z){let Y=1,X=Z,Q="<template",J="</template";while(X<$.length&&Y>0){let G=$.indexOf("<",X);if(G===-1)break;if(X=G,$.startsWith(Q,X)&&(X+Q.length>=$.length||/[\s>\/]/.test($[X+Q.length]))){Y++,X+=Q.length;continue}if($.startsWith(J,X)){let K=$.indexOf(">",X+J.length);if(K!==-1){if(Y--,Y===0)return K+1;X=K+1;continue}}X++}return Y===0?X:-1}function SB($,Z){let Y=null;for(let X=Z;X<$.length;X++){let Q=$[X];if(Y){if(Q==="\\"){X++;continue}if(Q===Y)Y=null;continue}if(Q==='"'||Q==="'"){Y=Q;continue}if(Q===">")return X+1}return-1}function yB($){let Z=[],Y=[],X=/^<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>$/i,Q=0;while(Q<$.length){let J=$.indexOf("<",Q);if(J===-1)break;if($.startsWith("<!--",J)){let _=$.indexOf("-->",J+4);Q=_===-1?$.length:_+3;continue}let G=SB($,J+1);if(G===-1)break;let K=$.slice(J,G),q=K.match(/^<\s*(\/?)\s*([a-zA-Z][\w-]*)/);if(!q){Q=G;continue}let W=q[1]==="/",U=q[2].toLowerCase();if(W){let _=Y.lastIndexOf(U);if(_!==-1)Y.splice(_);Q=G;continue}if(U==="template"&&Y.length===0){let _=K.match(X);if(_){let B=kB($,G);if(B!==-1){let j=_[1]||_[2]||_[3];Z.push({start:J,end:B,slotName:j,content:$.slice(G,B-11).trim(),propsBinding:_[4]||void 0}),Q=B;continue}}}if(!/\/\s*>$/.test(K)&&!bB.has(U)){if(Y.push(U),U==="script"||U==="style"){let _=$.toLowerCase().indexOf(`</${U}>`,G);if(_!==-1){Q=_;continue}}}Q=G}return Z}function wJ($){let Z={default:"",named:new Map},Y=$,X=yB($);for(let q of X)Z.named.set(q.slotName,{name:q.slotName,content:q.content,propsBinding:q.propsBinding});X.sort((q,W)=>W.start-q.start);for(let q of X)Y=Y.slice(0,q.start)+Y.slice(q.end);let Q=[],J=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,G;while((G=J.exec(Y))!==null){let[q,W,U,z,_,B]=G,j=U.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=_.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),L=(j+H).trim(),F=`<${W}${L?" "+L:""}>${B}</${W}>`;Q.push({start:G.index,end:G.index+q.length,slotName:z,element:F})}let K=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((G=K.exec(Y))!==null){let[q,W,U,z,_]=G,B=U.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),j=_.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),H=(B+j).trim(),L=`<${W}${H?" "+H:""} />`;Q.push({start:G.index,end:G.index+q.length,slotName:z,element:L})}Q.sort((q,W)=>W.start-q.start);for(let q of Q){let W=Z.named.get(q.slotName);if(W)W.content+=q.element;else Z.named.set(q.slotName,{name:q.slotName,content:q.element});Y=Y.slice(0,q.start)+Y.slice(q.end)}return Z.default=Y.trim(),Z}function PB($){let Z=$.match(/name\s*=\s*["']([^"']+)["']/),Y=Z?Z[1]:"",X={},Q=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,J;while((J=Q.exec($))!==null)X[J[1]]=J[2];let G=$.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),K=G?G[1].trim():"";return{name:Y,props:X,defaultContent:K}}async function AJ($,Z,Y,X){if(!$)return Y;let Q=$.content;if($.propsBinding&&Object.keys(Z).length>0){let J=$.propsBinding.trim(),G={...X};if(J.startsWith("{")&&J.endsWith("}")){let K=J.slice(1,-1).split(",").map((q)=>q.trim()).filter(Boolean);for(let q of K){let[W,U]=q.split(":").map((_)=>_.trim()),z=U||W;if(Z[W]!==void 0)G[z]=Z[W]}}else G[J]=Z;Q=CB(Q,G)}return Q}function CB($,Z){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Y,X)=>{try{let Q=X.trim(),J=RJ(Q,Z);return a0(String(J??""))}catch{return`{{ ${X} }}`}})}function RJ($,Z){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test($)){let X=$.split("."),Q=Z;for(let J of X)if(Q&&typeof Q==="object"&&J in Q)Q=Q[J];else return;return Q}let Y=$.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(Y){let[,X,Q,J]=Y,G=Z[X],K=parseInt(J,10);if(typeof G==="number")switch(Q){case"+":return G+K;case"-":return G-K;case"*":return G*K;case"/":return G/K}}try{if(!G0($))return;return K0($,Object.keys(Z))(...Object.values(Z))}catch{return}}async function MJ($,Z,Y){let X=$;X=await vB(X,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(G,K,q,W)=>{let U=Z.named.get(K),z=W?.trim()||"",_=q||"",B={},j=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,H;while((H=j.exec(_))!==null){let L=H[1],F=H[2];B[L]=RJ(F,Y)}return await AJ(U,B,z,Y)});let J=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return X=X.replace(J,(G,K)=>{if(G.includes("name="))return G;let q=K?.trim()||"";return Z.default||q}),X}async function vB($,Z,Y){let X=[],Q=[];$.replace(Z,(K,...q)=>{let W=q[q.length-2];return Q.push({match:K,index:W}),X.push(Y(K,...q.slice(0,-2))),K});let J=await Promise.all(X),G=$;for(let K=Q.length-1;K>=0;K--){let{match:q,index:W}=Q[K];G=G.slice(0,W)+J[K]+G.slice(W+q.length)}return G}function xB($){let Z=wJ($);return{defaultSlot:Z.default,namedSlots:Z.named}}async function fB($,Z,Y,X){return await MJ($,{default:Z,named:Y},X)}var bB;var D6=k(()=>{X1();H0();bB=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});import gB from"fs";import g from"path";function uB($){let Z=new WeakSet;try{let Y=(X)=>{if(X===void 0)return{__stxType:"undefined"};if(typeof X==="bigint")return{__stxType:"bigint",value:X.toString()};if(typeof X==="function"||typeof X==="symbol")throw TypeError("Non-serializable component input");if(X===null||typeof X!=="object")return X;if(Z.has(X))throw TypeError("Circular component input");if(Z.add(X),X instanceof Date)return{__stxType:"date",value:X.toISOString()};if(Array.isArray(X))return X.map(Y);let Q={};for(let J of Object.keys(X).sort())Q[J]=Y(X[J]);return Q};return JSON.stringify(Y($))}catch{return null}}function NJ($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function dB($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function g1($){return!dB($)}function h1($){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,(J)=>{let G=Y.length;return Y.push(J),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{\{[\s\S]*?\}\}\}/g,(J)=>{let G=Y.length;return Y.push(J),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{[\s\S]*?\}\}/g,(J)=>{let G=Y.length;return Y.push(J),`"__STX_EXPR_${G}__"`});let Q=new Bun.Transpiler({loader:"ts",target:"browser",define:c0()}).transformSync(Z);for(let J=0;J<Y.length;J++)Q=Q.replace(`"__STX_EXPR_${J}__"`,Y[J]),Q=Q.replace(`'__STX_EXPR_${J}__'`,Y[J]);return Q}catch(Z){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",Z);return $}}function mB($){let Z=[],Y=new Set,X=0,Q=0,J=$.length,G=(U)=>{Q++;while(Q<J){if($[Q]==="\\"){Q+=2;continue}if($[Q]===U){Q++;return}Q++}},K=()=>{Q++;while(Q<J){if($[Q]==="\\"){Q+=2;continue}if($[Q]==="`"){Q++;return}if($[Q]==="$"&&$[Q+1]==="{"){Q+=2;let U=1;while(Q<J&&U>0)if($[Q]==="{")U++,Q++;else if($[Q]==="}")U--,Q++;else if($[Q]==="'"||$[Q]==='"')G($[Q]);else if($[Q]==="`")K();else Q++;continue}Q++}},q=()=>{if($[Q]==="/"&&$[Q+1]==="/"){while(Q<J&&$[Q]!==`
|
|
11417
|
+
`)Q++;return!0}if($[Q]==="/"&&$[Q+1]==="*"){Q+=2;while(Q<J-1&&!($[Q]==="*"&&$[Q+1]==="/"))Q++;return Q+=2,!0}return!1},W=()=>{if(X!==0)return;let U=$.slice(Q).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(U){let j=U[2].split(",").map((H)=>{let L=H.trim().split(":");return L[L.length-1].trim()});for(let H of j)if(H&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(H)&&!Y.has(H))Z.push(H),Y.add(H);return}let z=$.slice(Q).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(z){let j=z[2];if(!Y.has(j))Z.push(j),Y.add(j);return}let _=$.slice(Q).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(_){let j=_[1];if(!Y.has(j))Z.push(j),Y.add(j);return}let B=$.slice(Q).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(B){let j=B[1];if(!Y.has(j))Z.push(j),Y.add(j)}};while(Q<J){if(q())continue;if($[Q]==="'"||$[Q]==='"'){G($[Q]);continue}if($[Q]==="`"){K();continue}if($[Q]==="{"){X++,Q++;continue}if($[Q]==="}"){X--,Q++;continue}if(X===0&&/[a-z]/i.test($[Q])&&(Q===0||/\s|[;{}()]/.test($[Q-1])))W();Q++}return Z}function lB($){let Z=[],Y=0,X=0,Q=null;for(let J=0;J<$.length;J++){let G=$[J];if(Q){if(G==="\\"){J++;continue}if(G===Q)Q=null;continue}if(G==='"'||G==="'"||G==="`"){Q=G;continue}if(G==="("||G==="["||G==="{")Y++;else if(G===")"||G==="]"||G==="}")Y--;else if(G===","&&Y===0)Z.push($.slice(X,J)),X=J+1}if(X<$.length)Z.push($.slice(X));return Z}function cB($){let Z=0,Y=null;for(let X=0;X<$.length;X++){let Q=$[X];if(Y){if(Q==="\\"){X++;continue}if(Q===Y)Y=null;continue}if(Q==='"'||Q==="'"||Q==="`"){Y=Q;continue}if(Q==="("||Q==="["||Q==="{")Z++;else if(Q===")"||Q==="]"||Q==="}")Z--;else if(Q==="="&&Z===0){let J=$[X-1],G=$[X+1];if(J==="!"||J==="<"||J===">"||J==="=")continue;if(G==="="||G===">")continue;return X}}return-1}function pB($,Z){try{let Y=/=\s*(?:withDefaults\s*\([\s\S]*?defineProps|defineProps)\b/.exec($);if(!Y)return;let X=Y.index-1;while(X>=0&&/\s/.test($[X]))X--;if($[X]!=="}")return;let Q=X,J=0,G=-1;for(;X>=0;X--){let q=$[X];if(q==="}")J++;else if(q==="{"){if(J--,J===0){G=X;break}}}if(G===-1)return;let K=$.slice(G+1,Q);for(let q of lB(K)){let W=q.trim();if(!W||W.startsWith("..."))continue;let U=cB(W);if(U===-1)continue;let z=W.slice(0,U).trim();if(!/^[A-Z_$][\w$]*$/i.test(z))continue;if(Z[z]!==void 0)continue;let _=W.slice(U+1).trim();if(!_)continue;try{let B=Object.keys(Z),j=Function(...B,`"use strict"; return (${_});`);Z[z]=j(...B.map((H)=>Z[H]))}catch{}}}catch{}}async function B4($,Z,Y,X,Q){let J=$.endsWith(".stx")?$.slice(0,-4):$,G=(L)=>L.split("-").map((F)=>F.charAt(0).toUpperCase()+F.slice(1)).join(""),K=(L)=>L.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),q=Y.__importedComponents;if(q){for(let L of[J,J.toLowerCase(),G(J),K(J)])if(q.has(L))return!0}let W=[...new Set([`${J}.stx`,`${G(J)}.stx`,`${K(J)}.stx`])],U=typeof Q.root==="string"?g.resolve(Q.root):void 0,z=U??g.dirname(X),_=[],B=(L)=>{if(L&&!_.includes(L))_.push(L)},j=Y.__originalFilePath;if(j)B(g.join(g.dirname(j),"components"));B(Z),B(Q._rootComponentsDir),B(g.join(g.dirname(X),"components")),B(Q.componentsDir);let H=Q._pluginComponentDirs;if(Array.isArray(H))for(let L of H)B(typeof L==="string"?L:null);if(U)B(g.resolve(U,"resources/views/components")),B(g.resolve(U,"resources/components")),B(g.resolve(U,"src/components")),B(g.resolve(U,"components"));if(J.startsWith("./")||J.startsWith("../"))return p(g.resolve(g.dirname(X),`${J}.stx`));for(let L of _){let F=g.isAbsolute(L)?L:g.resolve(z,L);for(let O of W)if(await p(g.join(F,O)))return!0}return!1}function iB($){return $==="visible"||$==="idle"||$==="interaction"||$.startsWith("media:")}function nB($){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 sB($){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 X of $){let Q;while((Q=Y.exec(X))!==null)Z.add(Q[1]);Y.lastIndex=0}return[...Z]}async function o1($,Z,Y,X,Q,J,G,K=new Set,q){let{extractVariables:W}=await Promise.resolve().then(() => (N5(),O4)),U=K??new Set;if(U.has($))return`[Circular component reference: ${$}]`;let z=new Set(U);z.add($);let _=typeof Z.client==="string"?Z.client.trim():"";if("client"in Z)delete Z.client;let B=_&&_!=="load"&&iB(_)?_:"";try{let j=(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):$,F=null,O=Q.__importedComponents;if(O){let P=[L,L.toLowerCase(),j(L),H(L)];for(let x of P)if(O.has(x)){F=O.get(x);break}}let V=[];if(!F){let P=[`${L}.stx`,`${j(L)}.stx`,`${H(L)}.stx`],x=[...new Set(P)],l=Q.__originalFilePath,d=[];if(l){let q0=g.join(g.dirname(l),"components");d.push(q0)}if(X)d.push(X);let U0=G._rootComponentsDir;if(typeof U0==="string"&&!d.includes(U0))d.push(U0);let V0=g.join(g.dirname(J),"components");if(!d.includes(V0))d.push(V0);if(G.componentsDir&&G.componentsDir!==X&&!d.includes(G.componentsDir))d.push(G.componentsDir);let K1=G._pluginComponentDirs;if(Array.isArray(K1)){for(let q0 of K1)if(typeof q0==="string"&&!d.includes(q0))d.push(q0)}let l0=typeof G.root==="string"?g.resolve(G.root):void 0,y0=l0??g.dirname(J),o0=[];if(l0)o0.push(g.resolve(l0,"resources/views/components")),o0.push(g.resolve(l0,"resources/components")),o0.push(g.resolve(l0,"src/components")),o0.push(g.resolve(l0,"components"));o0.push(g.resolve(import.meta.dir,"components"));for(let q0 of o0)if(!d.includes(q0))d.push(q0);let y1=[...new Set(d.map((q0)=>{if(!q0)return q0;return g.isAbsolute(q0)?q0:g.resolve(y0,q0)}))];d.length=0,d.push(...y1);let O1=`${L}\x00${J}\x00${y1.join("\x00")}`,X5=m4.get(O1);if(X5)if(await p(X5))F=X5;else m4.delete(O1);if(!F&&(L.startsWith("./")||L.startsWith("../")))F=g.resolve(g.dirname(J),`${L}.stx`),V.push(F);else if(!F)for(let q0 of d){if(!q0)continue;for(let i of x){let f0=g.join(q0,i);if(V.push(f0),await p(f0)){F=f0;break}}if(F)break;if(!F)try{let i=await import("fs");if(!i.statSync(q0,{throwIfNoEntry:!1})?.isDirectory())continue;let P1=8,f5=[{path:q0,depth:0}];while(f5.length>0&&!F){let I$=f5.pop();if(I$.depth>=P1)continue;let _9;try{_9=i.readdirSync(I$.path,{withFileTypes:!0})}catch{continue}for(let E$ of _9){if(!E$.isDirectory())continue;if(E$.name==="node_modules"||E$.name.startsWith("."))continue;let B9=g.join(I$.path,E$.name);for(let fQ of x){let O7=g.join(B9,fQ);if(V.push(O7),await p(O7)){F=O7;break}}if(F)break;f5.push({path:B9,depth:I$.depth+1})}}}catch{}if(F)break}if(F)m4.set(O1,F)}if(!F||!await p(F)){let P=V.length>0?`
|
|
11418
11418
|
Searched paths:
|
|
11419
11419
|
${V.map((x)=>` - ${x}`).join(`
|
|
11420
|
-
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${P}`}q.add(F);let w;if(
|
|
11421
|
-
`)}`}if(Y&&J0.includes("{{ text || slot }}"))J0=J0.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Y);let{applySlots:Q0}=await Promise.resolve().then(() => (
|
|
11420
|
+
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${P}`}q.add(F);let w;if(d4.has(F))w=d4.get(F);else try{w=await Bun.file(F).text(),d4.set(F,w)}catch(P){return`[Error loading component: ${P instanceof Error?P.message:String(P)}]`}let A=new Set(["__originalFilePath","__importedComponents"]),M={};for(let[P,x]of Object.entries(Q))if(!P.startsWith("__")||A.has(P))M[P]=x;let{extractSlotContent:R}=await Promise.resolve().then(() => (D6(),E6)),N=R(Y),T={};if(N.defaultSlot?.trim())T.default=N.defaultSlot;for(let[P,x]of N.namedSlots)T[P]=x.content;let I={...M,...Z,props:Z,slot:Y,$slots:T,__processedComponents:z,__sections:{},...nB(Y)&&{__stx_force_signals:!0}};pB(w,I);let D=w,E=L5(D);if(E)D=E.content.trim();let y=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,S=[...w.matchAll(y)],b=[],v=S.some((P)=>/\bserver\b/.test(P[1]||"")&&/\bcache\b/.test(P[1]||""))&&S.every((P)=>/\bserver\b/.test(P[1]||"")),h=null,f=null;if(v){let P=uB({props:Z,slot:Y,buildMode:G.buildMode??"",skipEventDirectives:G.skipEventDirectives===!0});if(P!==null){h=`${F}\x00${P}`;let x=k6.get(h);if(x){for(let l of x.dependencies)q.add(l);return x.output}f=new Set(q)}}for(let P of S){let x=P[1]||"",l=P[2]||"",d=x.includes("server");if(g1(x)&&l.trim())l=h1(l);if(d&&l)try{await W(l,I,F)}catch(V0){}if(!d){let V0=l.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,""),K1=V0.includes("{{")&&V0.includes("}}"),l0=V0.includes("{!!")&&V0.includes("!!}");if(K1||l0)V0=f$(V0,I);let y0=x.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");b.push(`<script${y0}>${V0}</script>`)}}let m=w.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),r=m?m[1]:"",T0=m?m[2]:"",I0="",m0=r&&/\bscoped\b/i.test(r);if(m)I0=`<style${r}>${T0}</style>`;let J0=D;if(J0=J0.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),m)J0=J0.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let P=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,x=[];if(J0=J0.replace(P,(l,d)=>{let U0=d.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(U0)x.push(`<style${U0[1]}>${U0[2]}</style>`);return""}),J0=J0.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),x.length>0)I0=`${I0}${x.join(`
|
|
11421
|
+
`)}`}if(Y&&J0.includes("{{ text || slot }}"))J0=J0.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Y);let{applySlots:Q0}=await Promise.resolve().then(() => (D6(),E6)),{defaultSlot:E0,namedSlots:s0}=N;J0=await Q0(J0,E0,s0,I);for(let[P,x]of Object.entries(I))if(typeof x==="string"){if(x.includes("<")&&x.includes(">")||x.includes("<")||x.includes(""")){let l=k7(x);I[P]=l}}let H1=b.some((P)=>/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useReactiveProp|defineProps|withDefaults|defineEmits|defineExpose|defineSlots)\s*(?:<[^<>()]*>)?\s*\(/.test(P)),Y5=sB(b);if(Y5.length>0)I.__stx_client_signal_names=Y5;let n={...G,_rootComponentsDir:G._rootComponentsDir||G.componentsDir,componentsDir:g.dirname(F),skipSignalsRuntime:!0,skipEventDirectives:H1||b.length===0,defaultLayout:void 0};I.__stxProcessingDepth=(Q.__stxProcessingDepth||0)+1;let X0=await O0(J0,I,F,n,q),_0=new Set(Array.isArray(Q.__stx_preserved_client_expressions)?Q.__stx_preserved_client_expressions:[]);for(let P of X0.matchAll(/\{\{([\s\S]*?)\}\}/g))_0.add(P[1].trim());if(_0.size>0)Q.__stx_preserved_client_expressions=[..._0];let F0=`stx_${L.replace(/[^a-zA-Z0-9]/g,"_")}_${++hB}_${Math.random().toString(36).slice(2,8)}`,C=X0;if(H1){let P="";if(Object.keys(Z).length>0)try{P=` data-stx-props="${NJ(JSON.stringify(Z))}"`}catch{}let x=B?` stx-hydrate="${NJ(B)}"`:"";C=`<div data-stx-scope="${F0}"${P}${x}>${X0}</div>`;let l=await Promise.all(b.map(async(d)=>{let U0=d.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!U0)return d;let[,V0,K1]=U0,l0=S$(K1,{filePath:F,projectRoot:process.cwd()}),y0=l0.code,o0=y$(l0.styles);y0=G5(y0).code;let{hasUserImports:y1,bundleClientScript:O1}=await Promise.resolve().then(() => (s5(),n5));if(y1(y0))y0=await O1(y0,F,{projectRoot:process.cwd(),minify:G.buildMode==="compile"});let{rewriteStxImportSpecifiers:X5}=await Promise.resolve().then(() => (V$(),x4));y0=y0.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(P1,f5)=>X5(f5));let q0=r0(y0),i=mB(q0),f0=`
|
|
11422
11422
|
(function() {
|
|
11423
|
-
${
|
|
11423
|
+
${U5("const",[...I8,...i],q0)}
|
|
11424
11424
|
const __scope = window.stx._scopes = window.stx._scopes || {};
|
|
11425
11425
|
const __scopeVars = __scope['${F0}'] = __scope['${F0}'] || {};
|
|
11426
11426
|
const __previousCurrentElement = window.__STX_CURRENT_ELEMENT__;
|
|
@@ -11438,7 +11438,7 @@ ${q0}
|
|
|
11438
11438
|
// Register all defined signals and functions in this scope
|
|
11439
11439
|
const __localVars = {};
|
|
11440
11440
|
try {
|
|
11441
|
-
${i.map((
|
|
11441
|
+
${i.map((P1)=>`if (typeof ${P1} !== 'undefined') __localVars['${P1}'] = ${P1};`).join(`
|
|
11442
11442
|
`)}
|
|
11443
11443
|
}
|
|
11444
11444
|
catch (e) {}
|
|
@@ -11451,11 +11451,11 @@ finally {
|
|
|
11451
11451
|
`+l.join(`
|
|
11452
11452
|
`),I0)C+=`
|
|
11453
11453
|
`+I0}else{if(I0)C+=`
|
|
11454
|
-
`+I0;if(b.length>0){let P=I.__stx_event_bindings||[],x=
|
|
11454
|
+
`+I0;if(b.length>0){let P=I.__stx_event_bindings||[],x=x1(I),l=await Promise.all(b.map(async(d)=>{let U0=d.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!U0)return d;return await f1(U0[1],{eventBindings:P,templateContent:C,filePath:F,projectRoot:process.cwd(),serverData:x})}));C+=`
|
|
11455
11455
|
`+l.join(`
|
|
11456
|
-
`),I.__stx_event_bindings=[]}}if(m0){let P=
|
|
11456
|
+
`),I.__stx_event_bindings=[]}}if(m0){let P=A4(C,F);if(P.hasScoped)C=P.html}if(h&&f)k6.set(h,{output:C,dependencies:[...q].filter((P)=>!f.has(P))});return C}catch(j){return`[Error processing component: ${j instanceof Error?j.message:String(j)}]`}finally{U.delete($)}}async function p($){return Bun.file($).exists()}function b6($,Z){let Y=g.resolve(Z),X=g.resolve($),Q=Y.endsWith(g.sep)?Y:Y+g.sep;if(X===Y||X.startsWith(Q))return X;return null}async function T6($,Z,Y,X){let Q=await oB($,Z,Y,X);if(Q===null)return null;let J=b6(Q,process.cwd());if(J)return J;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 q=g.isAbsolute(K)?K:g.resolve(process.cwd(),K);if(b6(Q,q))return g.resolve(Q)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${Q} (template: ${$}, from: ${Z})`),null}async function oB($,Z,Y,X){if(Y.debug)console.log(`Resolving template path: ${$} from ${Z}`);let Q=g.dirname(Z),J=process.cwd();if($.startsWith("/")){let _=g.join(J,$),B=b6(_,J);if(!B)return console.warn(`[stx] rejected template path that escapes project root: ${$} (from ${Z})`),null;if(Y.debug)console.log(`Checking absolute path: ${B}`);if(await p(B)&&X)X.add(B);return B}let G=g.join(Q,$);if(await p(G)){if(Y.debug)console.log(`Found direct path: ${G}`);if(X)X.add(G);return G}if(!$.endsWith(".stx")&&!$.endsWith(".jsx")&&!$.endsWith(".tsx"))for(let _ of[".stx",".tsx",".jsx"]){let B=`${G}${_}`;if(await p(B)){if(Y.debug)console.log(`Found direct path with extension: ${B}`);if(X)X.add(B);return B}}let K="",q=g.resolve(Q),W=process.cwd();for(let _=0;_<10;_++){let B=g.join(q,"layouts"),j=!1;try{j=gB.statSync(B,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(j){K=B;break}let H=g.dirname(q);if(H===q||H.length<W.length)break;q=H}if(K){let _=$.startsWith("layouts/")?$.slice(8):$,B=g.join(K,_);if(await p(B)){if(Y.debug)console.log(`Found in current layouts dir: ${B}`);if(X)X.add(B);return B}if(!_.endsWith(".stx")){let j=`${B}.stx`;if(await p(j)){if(Y.debug)console.log(`Found in current layouts dir with extension: ${j}`);if(X)X.add(j);return j}}}if(Y.layoutsDir){let _=g.isAbsolute(Y.layoutsDir)?Y.layoutsDir:g.resolve(process.cwd(),Y.layoutsDir),B=$.startsWith("layouts/")?$.slice(8):$,j=g.join(_,B);if(await p(j)){if(Y.debug)console.log(`Found in options.layoutsDir: ${j}`);if(X)X.add(j);return j}if(!$.endsWith(".stx")){let H=`${j}.stx`;if(await p(H)){if(Y.debug)console.log(`Found in options.layoutsDir with extension: ${H}`);if(X)X.add(H);return H}}}if($.startsWith("layouts/")||$.includes("/layouts/")){let _=$.split("layouts/"),B=g.join(Y.partialsDir||Q,"layouts",_[1]);if(await p(B)){if(Y.debug)console.log(`Found in layouts path: ${B}`);if(X)X.add(B);return B}if(!B.endsWith(".stx")){let j=`${B}.stx`;if(await p(j)){if(Y.debug)console.log(`Found in layouts path with extension: ${j}`);if(X)X.add(j);return j}}}if(Y.partialsDir){if(K=g.join(Y.partialsDir,"layouts"),await p(K)){let _=g.join(K,$);if(await p(_)){if(Y.debug)console.log(`Found in partials layouts dir: ${_}`);if(X)X.add(_);return _}if(!$.endsWith(".stx")){let B=`${_}.stx`;if(await p(B)){if(Y.debug)console.log(`Found in partials layouts dir with extension: ${B}`);if(X)X.add(B);return B}}}}let U=Y.partialsDir||g.join(process.cwd(),"views"),z=g.join(U,$);if(await p(z)){if(Y.debug)console.log(`Found in views path: ${z}`);if(X)X.add(z);return z}if(!$.endsWith(".stx")){let _=`${z}.stx`;if(await p(_)){if(Y.debug)console.log(`Found in views path with extension: ${_}`);if(X)X.add(_);return _}}if(Q.includes("temp")){let _=g.join(g.dirname(Q),"layouts",$);if(await p(_)){if(Y.debug)console.log(`Found in temp layouts dir: ${_}`);if(X)X.add(_);return _}if(!$.endsWith(".stx")){let B=`${_}.stx`;if(await p(B)){if(Y.debug)console.log(`Found in temp layouts dir with extension: ${B}`);if(X)X.add(B);return B}}}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 TJ($,Z,Y){let X=0,Q="",J="";try{if(typeof Z==="number"&&Z>=0){let G=$.split(`
|
|
11457
11457
|
`),K=0;for(let q=0;q<G.length;q++)if(K+=G[q].length+1,K>=Z){X=q+1,Q=G[q].trim();let W=Math.max(0,q-2),U=Math.min(G.length,q+3);J=G.slice(W,U).map((z,_)=>{let B=W+_+1;return`${B===X?"> ":" "}${B}: ${z}`}).join(`
|
|
11458
|
-
`);break}}else if(Y){let G=$.indexOf(Y);if(G>=0)return
|
|
11458
|
+
`);break}}else if(Y){let G=$.indexOf(Y);if(G>=0)return TJ($,G)}}catch{}return{lineNumber:X,lineContent:Q,context:J}}function W0($,Z,Y,X,Q,J){let{lineNumber:G,context:K}=TJ(X,Q,J),q=Y.split("/").pop(),W=0;if(typeof Q==="number"&&Q>=0&&X){let z=X.lastIndexOf(`
|
|
11459
11459
|
`,Math.max(0,Q-1));W=Q-(z+1)+1}let U="";if(G>0)U+=`
|
|
11460
11460
|
${Y}:${G}${W>0?`:${W}`:""}: ${$.toLowerCase()} error: ${Z}
|
|
11461
11461
|
`;if(U+=`
|
|
@@ -11468,8 +11468,8 @@ ${$0.yellow}${$0.bold}Message:${$0.reset} ${Z}
|
|
|
11468
11468
|
`,K)U+=`
|
|
11469
11469
|
${$0.blue}${$0.bold}Context:${$0.reset}
|
|
11470
11470
|
${$0.dim}${K}${$0.reset}
|
|
11471
|
-
`;return U}function
|
|
11472
|
-
`||O==="\r"||O===" "||O===void 0)z++;_=L+9}else{if(z--,z===0){B=F;break}_=F+12}}if(B===-1)continue;let j=$.slice(U,B),H=$.slice(K,B+12);Q.push({fullMatch:H,options:W,content:j,index:K}),J.lastIndex=B+12}for(let{fullMatch:K,options:q,content:W,index:U}of Q)try{let z={};if(q)q.split(",").forEach((j)=>{let H=j.trim();if(H)z[H]=!0});let _={gfm:z.gfm??!0,breaks:z.breaks??!1},B=
|
|
11471
|
+
`;return U}function PY(){d4.clear(),m4.clear(),k6.clear()}var d4,m4,k6,hB=0,$0;var w0=k(()=>{K5();X1();$$();B5();G4();C1();e3();J4();VJ();N5();d4=new d1(500),m4=new d1(1000),k6=new d1(2000);$0={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 FJ($,Z,Y=""){let X=$,Q=[],J=/@markdown(?:\([^)]*\))?/g,G;while((G=J.exec($))!==null){let K=G.index,q=G[0].match(/@markdown\(([^)]*)\)/),W=q?q[1]:"",U=K+G[0].length,z=1,_=U,B=-1;while(z>0&&_<$.length){let L=$.indexOf("@markdown",_),F=$.indexOf("@endmarkdown",_);if(F===-1)break;if(L!==-1&&L<F&&L!==K){let O=$[L+9];if(O==="("||O===`
|
|
11472
|
+
`||O==="\r"||O===" "||O===void 0)z++;_=L+9}else{if(z--,z===0){B=F;break}_=F+12}}if(B===-1)continue;let j=$.slice(U,B),H=$.slice(K,B+12);Q.push({fullMatch:H,options:W,content:j,index:K}),J.lastIndex=B+12}for(let{fullMatch:K,options:q,content:W,index:U}of Q)try{let z={};if(q)q.split(",").forEach((j)=>{let H=j.trim();if(H)z[H]=!0});let _={gfm:z.gfm??!0,breaks:z.breaks??!1},B=m5(W.trim(),_);X=X.split(K).join(B)}catch(z){let _=z instanceof Error?z.message:String(z),B=W0("Markdown Directive",`Error processing markdown: ${_}`,Y,$,U,K);X=X.split(K).join(B)}return X}async function IJ($,Z,Y,X){let Q={gfm:!0,breaks:!1};return Z.forEach((J)=>{let G=J.trim().replace(/['"]/g,"");if(G==="breaks")Q.breaks=!0;if(G==="no-gfm")Q.gfm=!1}),m5($.trim(),Q)}var I6=k(()=>{w0()});function tB($){if(rB.set($.name,$),$.client)aB.set($.name,$.client)}function l4($){return tB($),{name:$.name,hasEndTag:$.hasEndTag??!0,description:$.description,handler:async(Y,X,Q,J)=>{let G=eB(X,$.defaults);if($.validate){let q=$.validate(G);if(q!==!0){let W=typeof q==="string"?q:`Invalid parameters for @${$.name}`;throw Error(W)}}let K=Y;if($.transform)K=await $.transform(Y,G,Q,J);if($.clientScript){let q=$.clientScript(G);K+=`<script>${q}</script>`}if($.css){let q=$.css(G);K+=`<style>${q}</style>`}return K}}}function eB($,Z){let Y={...Z};for(let X of $){let Q=X.indexOf(":"),J=X.indexOf("="),G=Q>=0&&(J<0||Q<J)?Q:J;if(G>=0){let K=X.slice(0,G).trim(),q=X.slice(G+1).trim();if(q==="true")q=!0;else if(q==="false")q=!1;else if(q==="null")q=null;else if(!Number.isNaN(Number(q)))q=Number(q);else if(typeof q==="string"&&q.startsWith("{"))try{q=JSON.parse(q)}catch{}Y[K]=q}else{let K=Object.keys(Y).filter((q)=>!Z||!(q in Z)).length;Y[K===0?"value":`arg${K}`]=X}}return Y}var rB,aB;var S6=k(()=>{rB=new Map,aB=new Map});function y6($,Z=C5,Y={},X){return Z.sort((Q,J)=>Q-J).map((Q)=>{return`${N$($,{...Y,w:Q,fm:X})} ${Q}w`}).join(", ")}function EJ($,Z,Y=$j,X={},Q){return Y.sort((J,G)=>J-G).map((J)=>{let G=Math.round(Z*J);return`${N$($,{...X,w:G,dpr:J,fm:Q})} ${J}x`}).join(", ")}function P6($,Z="100vw"){if(!$||Object.keys($).length===0)return Z;let X=Object.entries($).map(([Q,J])=>{let G=/^\d+$/.test(Q)?`${Q}px`:Q;return{bp:G,size:J,numericBp:Number.parseInt(G)||0}}).sort((Q,J)=>Q.numericBp-J.numericBp).map(({bp:Q,size:J})=>`(max-width: ${Q}) ${J}`);return X.push(Z),X.join(", ")}function N$($,Z={}){let Y=Object.entries(Z).filter(([,J])=>J!==void 0&&J!==null).map(([J,G])=>{if(Array.isArray(G))return[J,G.join(",")];return[J,String(G)]});if(Y.length===0)return $;let X=Y.map(([J,G])=>`${J}=${encodeURIComponent(G)}`).join("&"),Q=$.includes("?")?"&":"?";return`${$}${Q}${X}`}function C6($){return Zj[$]||"application/octet-stream"}var C5,$j,M$,Zj;var v6=k(()=>{C5=[320,480,640,768,1024,1280,1536,1920,2560],$j=[1,1.5,2,3],M$=["avif","webp","jpeg"],Zj={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"}});async function Xj(){try{return await import("ts-images")}catch{return null}}async function Jj($,Z={}){let Y={...Yj,...Z},X=await Xj();if(X)try{return await Qj($,Y,X)}catch(Q){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${Q}`)}return Gj($,Y)}async function Qj($,Z,Y){let{generatePlaceholder:X,generateThumbHash:Q}=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 Q($)).dataUrl,width:32,height:32,aspectRatio:1,originalWidth:0,originalHeight:0,strategy:"thumbhash"};let K=await X($,{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 Gj($,Z){let Y=Z.width||20,X=Z.height||Y,Q="#e5e7eb",J=`<svg xmlns="http://www.w3.org/2000/svg" width="${Y}" height="${X}" viewBox="0 0 ${Y} ${X}"><rect fill="#e5e7eb" width="${Y}" height="${X}"/></svg>`;return{dataURL:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(J)}`,width:Y,height:X,aspectRatio:Y/X,originalWidth:0,originalHeight:0,strategy:Z.strategy,dominantColor:"#e5e7eb"}}function DJ($,Z,Y={}){let X=Y.transitionDuration||300,Q=Y.easing||"ease-out";return`
|
|
11473
11473
|
#${$} {
|
|
11474
11474
|
--stx-img-transition-duration: ${X}ms;
|
|
11475
11475
|
--stx-img-transition-easing: ${Q};
|
|
@@ -11486,7 +11486,7 @@ ${$0.dim}${K}${$0.reset}
|
|
|
11486
11486
|
#${$}.stx-img-loaded img {
|
|
11487
11487
|
opacity: 1;
|
|
11488
11488
|
}
|
|
11489
|
-
`.trim()}async function
|
|
11489
|
+
`.trim()}async function kJ($,Z={}){let Y=`${$}:${JSON.stringify(Z)}`;if(x6.has(Y))return x6.get(Y);let X=await Jj($,Z);return x6.set(Y,X),X}var Yj,f6,x6;var bJ=k(()=>{Yj={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},f6=`
|
|
11490
11490
|
.stx-img-placeholder {
|
|
11491
11491
|
position: relative;
|
|
11492
11492
|
overflow: hidden;
|
|
@@ -11515,8 +11515,8 @@ ${$0.dim}${K}${$0.reset}
|
|
|
11515
11515
|
filter: blur(0);
|
|
11516
11516
|
transform: scale(1);
|
|
11517
11517
|
}
|
|
11518
|
-
`.trim();v6=new Map});import{createHash as bJ}from"crypto";import{readFile as Jj,stat as SJ}from"fs/promises";async function b0($){try{let Z=await Jj($);return bJ("sha256").update(Z).digest("hex").slice(0,16)}catch{return""}}function kJ($){return bJ("sha256").update($).digest("hex").slice(0,16)}function m4($,Z){let Y=JSON.stringify(Z,Object.keys(Z).sort());return`${kJ($)}-${kJ(Y)}`}async function f6($){try{return(await SJ($)).mtimeMs}catch{return 0}}async function N0($){try{return await SJ($),!0}catch{return!1}}var e1=()=>{};import{mkdir as Qj,readFile as Gj,writeFile as Kj,readdir as GM,rm as qj,stat as KM}from"fs/promises";import{join as PJ,dirname as Wj}from"path";async function Uj($){try{await Qj($,{recursive:!0})}catch{}}function CJ($,Z,Y){return PJ($,Y,`${Z}.json`)}async function yJ($,Z,Y){if((Date.now()-$.createdAt)/86400000>Y)return!1;if(await f6(Z)!==$.srcMtime)return!1;return!0}async function l4($,Z,Y,X=g6){if(!X.enabled)return null;let Q=m4($,Z),J=C5.get(Q);if(J){if(await yJ(J,$,X.maxAge))return J.lastAccessedAt=Date.now(),J.data;C5.delete(Q)}let G=CJ(X.directory,Q,Y);if(await N0(G))try{let K=await Gj(G,"utf-8"),q=JSON.parse(K);if(await yJ(q,$,X.maxAge))return q.lastAccessedAt=Date.now(),C5.set(Q,q),q.data}catch{}return null}async function c4($,Z,Y,X,Q=g6){if(!Q.enabled)return;let J=m4($,Z),G=await b0($),K=await f6($),q={key:J,src:$,srcHash:G,srcMtime:K,optionsHash:m4("",Z),data:Y,createdAt:Date.now(),lastAccessedAt:Date.now()};C5.set(J,q);let W=CJ(Q.directory,J,X);try{await Uj(Wj(W)),await Kj(W,JSON.stringify(q,null,2))}catch(U){console.warn(`[stx-media] Failed to write cache: ${U}`)}}async function p4($,Z=g6){if($==="all")C5.clear();else C5.clear();let Y=$==="all"?["image","video"]:[$];for(let X of Y){let Q=PJ(Z.directory,X);try{await qj(Q,{recursive:!0,force:!0})}catch{}}}var C5,g6;var h6=k(()=>{e1();C5=new Map,g6={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class n4{config;constructor($={}){this.config={...zj,...$}}async get($,Z){return l4($,Z,"image",this.config)}async set($,Z,Y){return c4($,Z,Y,"image",this.config)}async clear(){return p4("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function u6($){if(!i4)i4=new n4($);else if($)i4.updateConfig($);return i4}async function s4($,Z,Y){let X=Y?{directory:`${Y.outputDir}/../.cache`}:{};return u6(X).get($,Z)}async function o4($,Z,Y,X){let Q=X?{directory:`${X.outputDir}/../.cache`}:{};return u6(Q).set($,Z,Y)}async function vJ(){return u6().clear()}var zj,i4=null;var d6=k(()=>{h6();zj={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as _j,basename as Bj,extname as jj,join as Hj}from"path";import{mkdir as Oj}from"fs/promises";async function m6(){try{return await import("ts-images")}catch{return null}}function xJ($){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 Lj($,Z){let Y=Z?xJ(Z):xJ("web"),X=$.formatQuality||{};return{jpeg:{...Y.jpeg,...X.jpeg},png:{...Y.png,...X.png},webp:{...Y.webp,...X.webp},avif:{...Y.avif,...X.avif}}}async function fJ($,Z,Y){let X=await m6();if(!X)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let Q=await s4($,Z,Y);if(Q)return Q;try{let J=_j($);if(!await N0(J))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let G=Lj(Y,Z.preset),K=Y.outputDir||"dist/images",q=Y.baseUrl||"/images";await Oj(K,{recursive:!0});let W=await b0(J),U=Bj($,jj($)),z=Z.outputFormat?[Z.outputFormat]:Y.defaultFormats||["avif","webp","jpeg"],_={src:$,processed:!0,variants:[],hash:W},B=null;if(Z.transformations&&Z.transformations.length>0)B=await l6(J,Z.transformations,X);for(let j of z){let H=G[j]||{},L=`${U}-${W}.${j}`,F=Hj(K,L);try{let O=await X.optimizeImage({input:B||J,output:F,format:j,quality:H.quality,progressive:H.progressive});if(O){if(_.variants.push({path:F,url:`${q}/${L}`,width:O.width||0,height:O.height||0,format:j,size:O.outputSize||0}),!_.originalWidth&&O.width)_.originalWidth=O.width,_.originalHeight=O.height}}catch(O){_.errors=_.errors||[],_.errors.push(`Failed to optimize ${j}: ${O}`)}}if(Z.embedThumbhash||Z.placeholder==="thumbhash")try{let j=await X.generateThumbHash(J);_.placeholder=j.dataUrl}catch(j){_.errors=_.errors||[],_.errors.push(`Failed to generate thumbhash: ${j}`)}if(Z.useDominantColor)try{let j=await X.generatePlaceholder(J,{strategy:"dominant-color"});_.dominantColor=j.dominantColor}catch(j){_.errors=_.errors||[],_.errors.push(`Failed to extract dominant color: ${j}`)}return await o4($,Z,_,Y),_}catch(J){return{src:$,processed:!1,errors:[`Processing failed: ${J}`]}}}async function gJ($,Z,Y,X){let Q=await m6();if(!Q)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await Q.optimizeImage({input:$,output:X,format:Z,quality:Y}))?.outputSize}}catch(J){return{success:!1,error:String(J)}}}async function l6($,Z,Y){let X=Y||await m6();if(!X)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let Q=await X.decode($);for(let J of Z){let G=J.options||{};switch(J.type){case"resize":if(G.width||G.height)Q=await X.resize(Q,{width:G.width,height:G.height,fit:G.fit});break;case"blur":if(G.sigma!==void 0)Q=await X.blur(Q,G.sigma);break;case"sharpen":if(G.amount!==void 0)Q=await X.sharpen(Q,G.amount);break;case"grayscale":Q=await X.grayscale(Q);break;case"rotate":if(G.angle!==void 0)Q=await X.rotate(Q,G.angle);break;case"flip":Q=await X.flip(Q);break;case"flop":Q=await X.flop(Q);break;case"brightness":if(G.value!==void 0)Q=await X.brightness(Q,G.value);break;case"contrast":if(G.value!==void 0)Q=await X.contrast(Q,G.value);break;case"saturation":if(G.value!==void 0)Q=await X.saturation(Q,G.value);break}}return await X.encode(Q,"png")}catch(Q){return console.error(`[stx-media] Transformation failed: ${Q}`),null}}var hJ=k(()=>{e1();d6()});import{resolve as Fj,basename as Vj,extname as wj,join as Aj}from"path";import{mkdir as Rj}from"fs/promises";async function Mj(){try{return await import("ts-images")}catch{return null}}async function uJ($,Z,Y){let X=await Mj();if(!X)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let Q=Fj($);if(!await N0(Q))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let J=Z.responsiveWidths||Y.breakpoints||Nj,G=Z.formats||Y.defaultFormats||["avif","webp","jpeg"],K=Y.outputDir||"dist/images",q=Y.baseUrl||"/images";await Rj(K,{recursive:!0});let W=await b0(Q),U=Vj($,wj($)),z=Y.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},_={src:$,byFormat:{},srcsets:{}};for(let j of G){_.byFormat[j]=[];let H=[];for(let L of J){let F=`${U}-${L}w-${W}.${j}`,O=Aj(K,F),V=`${q}/${F}`;try{let w=z[j]?.quality||80;if(await N0(O)){_.byFormat[j].push({path:O,url:V,width:L,height:0,format:j,size:0}),H.push(`${V} ${L}w`);continue}let A=await X.processImage({input:Q,output:O,format:j,quality:w,resize:{width:L}});if(A)_.byFormat[j].push({path:O,url:V,width:L,height:A.height||Math.round(L*(A.height||1)/(A.width||1)),format:j,size:A.outputSize||0}),H.push(`${V} ${L}w`)}catch(w){console.warn(`[stx-media] Failed to generate ${j} at ${L}w: ${w}`)}}_.srcsets[j]=H.join(", ")}let B=Z.placeholder||Y.placeholderStrategy||"thumbhash";if(B!=="none")try{if(B==="thumbhash"){let j=await X.generateThumbHash(Q);_.placeholder={dataURL:j.dataUrl,width:j.width||32,height:j.height||32,strategy:"thumbhash"}}else{let j=await X.generatePlaceholder(Q,{strategy:B,width:20});_.placeholder={dataURL:j.dataURL,width:j.width,height:j.height,strategy:B}}}catch(j){console.warn(`[stx-media] Failed to generate placeholder: ${j}`)}return _.sizes=Z.sizes||Tj(J),_}catch(J){return console.error(`[stx-media] Responsive generation failed: ${J}`),null}}function Tj($){let Z=[...$].sort((X,Q)=>X-Q),Y=[];for(let X=0;X<Z.length-1;X++){let Q=Z[X];Y.push(`(max-width: ${Q}px) ${Q}px`)}return Y.push(`${Z[Z.length-1]}px`),Y.join(", ")}function dJ($,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 Nj;var mJ=k(()=>{e1();Nj=[320,480,640,768,1024,1280,1536,1920]});var lJ={};t(lJ,{setCachedImageResult:()=>o4,processImage:()=>fJ,optimizeImage:()=>gJ,getCachedImageResult:()=>s4,generateSrcset:()=>dJ,generateResponsiveVariants:()=>uJ,clearImageCache:()=>vJ,applyTransformations:()=>l6,ImageProcessorCache:()=>n4});var cJ=k(()=>{hJ();mJ();d6()});async function Ij(){try{return await Promise.resolve().then(() => (cJ(),lJ))}catch($){if(!pJ)console.warn("[stx-media] Image processor not available, some features disabled:",$),pJ=!0;return null}}async function r4($,Z={}){let Y=Z,X=$;if(X.process&&!X.skipOptimization){if(Y.tsImagesConfig?.enabled&&!Y.isDev)return bj(X,Y)}if(Y.processedResult?.processed)return n6($,Y.processedResult,Z);if(Y.responsiveVariants)return oJ($,Y.responsiveVariants,Z);let{src:Q,alt:J,width:G,height:K,sizes:q,widths:W=P5,dpr:U,formats:z=R$,quality:_=c6,params:B={},placeholder:j="none",placeholderOptions:H={},lazy:L=!0,priority:F=!1,loading:O=F?"eager":t4,decoding:V=a4,fetchpriority:w,objectFit:A,objectPosition:M,crossorigin:R,referrerpolicy:N}=$,T=$.class,I=$.style,D=$.id,E=$.data||{},{isDev:y=!1,baseUrl:S=""}=Z;if(y&&!Z.optimize)return kj($);let b,v,h=D||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!F)try{b=await EJ(Q,{strategy:j,...H}),v=IJ(h,b,H)}catch{}let f=U!==void 0&&G!==void 0,m;if(f)m=Dj($,h,b,Z);else m=await Ej($,h,b,Z);let r;if(F){let m0=z.includes("webp")?"webp":z[0],J0=S6(Q,W,{...B,q:_},m0),Q0=typeof q==="object"?y6(q):q||"100vw";r=`<link rel="preload" as="image" imagesrcset="${J0}" imagesizes="${Q0}" />`}let T0=[];if(!iJ&&j!=="none")T0.push(x6),iJ=!0;if(v)T0.push(v);let I0=L?sJ(h):void 0;return{html:m,preloadLink:r,css:T0.length>0?T0.join(`
|
|
11519
|
-
`):void 0,script:I0}}async function
|
|
11518
|
+
`.trim();x6=new Map});import{createHash as yJ}from"crypto";import{readFile as Kj,stat as PJ}from"fs/promises";async function b0($){try{let Z=await Kj($);return yJ("sha256").update(Z).digest("hex").slice(0,16)}catch{return""}}function SJ($){return yJ("sha256").update($).digest("hex").slice(0,16)}function c4($,Z){let Y=JSON.stringify(Z,Object.keys(Z).sort());return`${SJ($)}-${SJ(Y)}`}async function g6($){try{return(await PJ($)).mtimeMs}catch{return 0}}async function N0($){try{return await PJ($),!0}catch{return!1}}var $5=()=>{};import{mkdir as qj,readFile as Wj,writeFile as Uj,readdir as WM,rm as zj,stat as UM}from"fs/promises";import{join as vJ,dirname as _j}from"path";async function Bj($){try{await qj($,{recursive:!0})}catch{}}function xJ($,Z,Y){return vJ($,Y,`${Z}.json`)}async function CJ($,Z,Y){if((Date.now()-$.createdAt)/86400000>Y)return!1;if(await g6(Z)!==$.srcMtime)return!1;return!0}async function p4($,Z,Y,X=h6){if(!X.enabled)return null;let Q=c4($,Z),J=v5.get(Q);if(J){if(await CJ(J,$,X.maxAge))return J.lastAccessedAt=Date.now(),J.data;v5.delete(Q)}let G=xJ(X.directory,Q,Y);if(await N0(G))try{let K=await Wj(G,"utf-8"),q=JSON.parse(K);if(await CJ(q,$,X.maxAge))return q.lastAccessedAt=Date.now(),v5.set(Q,q),q.data}catch{}return null}async function i4($,Z,Y,X,Q=h6){if(!Q.enabled)return;let J=c4($,Z),G=await b0($),K=await g6($),q={key:J,src:$,srcHash:G,srcMtime:K,optionsHash:c4("",Z),data:Y,createdAt:Date.now(),lastAccessedAt:Date.now()};v5.set(J,q);let W=xJ(Q.directory,J,X);try{await Bj(_j(W)),await Uj(W,JSON.stringify(q,null,2))}catch(U){console.warn(`[stx-media] Failed to write cache: ${U}`)}}async function n4($,Z=h6){if($==="all")v5.clear();else v5.clear();let Y=$==="all"?["image","video"]:[$];for(let X of Y){let Q=vJ(Z.directory,X);try{await zj(Q,{recursive:!0,force:!0})}catch{}}}var v5,h6;var u6=k(()=>{$5();v5=new Map,h6={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class o4{config;constructor($={}){this.config={...jj,...$}}async get($,Z){return p4($,Z,"image",this.config)}async set($,Z,Y){return i4($,Z,Y,"image",this.config)}async clear(){return n4("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function d6($){if(!s4)s4=new o4($);else if($)s4.updateConfig($);return s4}async function r4($,Z,Y){let X=Y?{directory:`${Y.outputDir}/../.cache`}:{};return d6(X).get($,Z)}async function a4($,Z,Y,X){let Q=X?{directory:`${X.outputDir}/../.cache`}:{};return d6(Q).set($,Z,Y)}async function fJ(){return d6().clear()}var jj,s4=null;var m6=k(()=>{u6();jj={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as Hj,basename as Oj,extname as Lj,join as Fj}from"path";import{mkdir as Vj}from"fs/promises";async function l6(){try{return await import("ts-images")}catch{return null}}function gJ($){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 wj($,Z){let Y=Z?gJ(Z):gJ("web"),X=$.formatQuality||{};return{jpeg:{...Y.jpeg,...X.jpeg},png:{...Y.png,...X.png},webp:{...Y.webp,...X.webp},avif:{...Y.avif,...X.avif}}}async function hJ($,Z,Y){let X=await l6();if(!X)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let Q=await r4($,Z,Y);if(Q)return Q;try{let J=Hj($);if(!await N0(J))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let G=wj(Y,Z.preset),K=Y.outputDir||"dist/images",q=Y.baseUrl||"/images";await Vj(K,{recursive:!0});let W=await b0(J),U=Oj($,Lj($)),z=Z.outputFormat?[Z.outputFormat]:Y.defaultFormats||["avif","webp","jpeg"],_={src:$,processed:!0,variants:[],hash:W},B=null;if(Z.transformations&&Z.transformations.length>0)B=await c6(J,Z.transformations,X);for(let j of z){let H=G[j]||{},L=`${U}-${W}.${j}`,F=Fj(K,L);try{let O=await X.optimizeImage({input:B||J,output:F,format:j,quality:H.quality,progressive:H.progressive});if(O){if(_.variants.push({path:F,url:`${q}/${L}`,width:O.width||0,height:O.height||0,format:j,size:O.outputSize||0}),!_.originalWidth&&O.width)_.originalWidth=O.width,_.originalHeight=O.height}}catch(O){_.errors=_.errors||[],_.errors.push(`Failed to optimize ${j}: ${O}`)}}if(Z.embedThumbhash||Z.placeholder==="thumbhash")try{let j=await X.generateThumbHash(J);_.placeholder=j.dataUrl}catch(j){_.errors=_.errors||[],_.errors.push(`Failed to generate thumbhash: ${j}`)}if(Z.useDominantColor)try{let j=await X.generatePlaceholder(J,{strategy:"dominant-color"});_.dominantColor=j.dominantColor}catch(j){_.errors=_.errors||[],_.errors.push(`Failed to extract dominant color: ${j}`)}return await a4($,Z,_,Y),_}catch(J){return{src:$,processed:!1,errors:[`Processing failed: ${J}`]}}}async function uJ($,Z,Y,X){let Q=await l6();if(!Q)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await Q.optimizeImage({input:$,output:X,format:Z,quality:Y}))?.outputSize}}catch(J){return{success:!1,error:String(J)}}}async function c6($,Z,Y){let X=Y||await l6();if(!X)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let Q=await X.decode($);for(let J of Z){let G=J.options||{};switch(J.type){case"resize":if(G.width||G.height)Q=await X.resize(Q,{width:G.width,height:G.height,fit:G.fit});break;case"blur":if(G.sigma!==void 0)Q=await X.blur(Q,G.sigma);break;case"sharpen":if(G.amount!==void 0)Q=await X.sharpen(Q,G.amount);break;case"grayscale":Q=await X.grayscale(Q);break;case"rotate":if(G.angle!==void 0)Q=await X.rotate(Q,G.angle);break;case"flip":Q=await X.flip(Q);break;case"flop":Q=await X.flop(Q);break;case"brightness":if(G.value!==void 0)Q=await X.brightness(Q,G.value);break;case"contrast":if(G.value!==void 0)Q=await X.contrast(Q,G.value);break;case"saturation":if(G.value!==void 0)Q=await X.saturation(Q,G.value);break}}return await X.encode(Q,"png")}catch(Q){return console.error(`[stx-media] Transformation failed: ${Q}`),null}}var dJ=k(()=>{$5();m6()});import{resolve as Aj,basename as Rj,extname as Mj,join as Nj}from"path";import{mkdir as Tj}from"fs/promises";async function Ij(){try{return await import("ts-images")}catch{return null}}async function mJ($,Z,Y){let X=await Ij();if(!X)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let Q=Aj($);if(!await N0(Q))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let J=Z.responsiveWidths||Y.breakpoints||Ej,G=Z.formats||Y.defaultFormats||["avif","webp","jpeg"],K=Y.outputDir||"dist/images",q=Y.baseUrl||"/images";await Tj(K,{recursive:!0});let W=await b0(Q),U=Rj($,Mj($)),z=Y.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},_={src:$,byFormat:{},srcsets:{}};for(let j of G){_.byFormat[j]=[];let H=[];for(let L of J){let F=`${U}-${L}w-${W}.${j}`,O=Nj(K,F),V=`${q}/${F}`;try{let w=z[j]?.quality||80;if(await N0(O)){_.byFormat[j].push({path:O,url:V,width:L,height:0,format:j,size:0}),H.push(`${V} ${L}w`);continue}let A=await X.processImage({input:Q,output:O,format:j,quality:w,resize:{width:L}});if(A)_.byFormat[j].push({path:O,url:V,width:L,height:A.height||Math.round(L*(A.height||1)/(A.width||1)),format:j,size:A.outputSize||0}),H.push(`${V} ${L}w`)}catch(w){console.warn(`[stx-media] Failed to generate ${j} at ${L}w: ${w}`)}}_.srcsets[j]=H.join(", ")}let B=Z.placeholder||Y.placeholderStrategy||"thumbhash";if(B!=="none")try{if(B==="thumbhash"){let j=await X.generateThumbHash(Q);_.placeholder={dataURL:j.dataUrl,width:j.width||32,height:j.height||32,strategy:"thumbhash"}}else{let j=await X.generatePlaceholder(Q,{strategy:B,width:20});_.placeholder={dataURL:j.dataURL,width:j.width,height:j.height,strategy:B}}}catch(j){console.warn(`[stx-media] Failed to generate placeholder: ${j}`)}return _.sizes=Z.sizes||Dj(J),_}catch(J){return console.error(`[stx-media] Responsive generation failed: ${J}`),null}}function Dj($){let Z=[...$].sort((X,Q)=>X-Q),Y=[];for(let X=0;X<Z.length-1;X++){let Q=Z[X];Y.push(`(max-width: ${Q}px) ${Q}px`)}return Y.push(`${Z[Z.length-1]}px`),Y.join(", ")}function lJ($,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 Ej;var cJ=k(()=>{$5();Ej=[320,480,640,768,1024,1280,1536,1920]});var pJ={};t(pJ,{setCachedImageResult:()=>a4,processImage:()=>hJ,optimizeImage:()=>uJ,getCachedImageResult:()=>r4,generateSrcset:()=>lJ,generateResponsiveVariants:()=>mJ,clearImageCache:()=>fJ,applyTransformations:()=>c6,ImageProcessorCache:()=>o4});var iJ=k(()=>{dJ();cJ();m6()});async function kj(){try{return await Promise.resolve().then(() => (iJ(),pJ))}catch($){if(!nJ)console.warn("[stx-media] Image processor not available, some features disabled:",$),nJ=!0;return null}}async function t4($,Z={}){let Y=Z,X=$;if(X.process&&!X.skipOptimization){if(Y.tsImagesConfig?.enabled&&!Y.isDev)return Pj(X,Y)}if(Y.processedResult?.processed)return s6($,Y.processedResult,Z);if(Y.responsiveVariants)return aJ($,Y.responsiveVariants,Z);let{src:Q,alt:J,width:G,height:K,sizes:q,widths:W=C5,dpr:U,formats:z=M$,quality:_=p6,params:B={},placeholder:j="none",placeholderOptions:H={},lazy:L=!0,priority:F=!1,loading:O=F?"eager":$7,decoding:V=e4,fetchpriority:w,objectFit:A,objectPosition:M,crossorigin:R,referrerpolicy:N}=$,T=$.class,I=$.style,D=$.id,E=$.data||{},{isDev:y=!1,baseUrl:S=""}=Z;if(y&&!Z.optimize)return yj($);let b,v,h=D||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!F)try{b=await kJ(Q,{strategy:j,...H}),v=DJ(h,b,H)}catch{}let f=U!==void 0&&G!==void 0,m;if(f)m=Sj($,h,b,Z);else m=await bj($,h,b,Z);let r;if(F){let m0=z.includes("webp")?"webp":z[0],J0=y6(Q,W,{...B,q:_},m0),Q0=typeof q==="object"?P6(q):q||"100vw";r=`<link rel="preload" as="image" imagesrcset="${J0}" imagesizes="${Q0}" />`}let T0=[];if(!sJ&&j!=="none")T0.push(f6),sJ=!0;if(v)T0.push(v);let I0=L?rJ(h):void 0;return{html:m,preloadLink:r,css:T0.length>0?T0.join(`
|
|
11519
|
+
`):void 0,script:I0}}async function bj($,Z,Y,X){let{src:Q,alt:J,width:G,height:K,sizes:q,widths:W=C5,formats:U=M$,quality:z=p6,params:_={},lazy:B=!0,priority:j=!1,loading:H=j?"eager":$7,decoding:L=e4,fetchpriority:F,objectFit:O,objectPosition:V,crossorigin:w,referrerpolicy:A}=$,M=$.class,R=$.style,N=$.data||{},T=typeof q==="object"?P6(q):q||"100vw",I=[];for(let y of U){let S=y6(Q,W,{..._,q:z},y),b=C6(y);if(B&&!j)I.push(` <source type="${b}" data-srcset="${S}" data-sizes="${T}" />`);else I.push(` <source type="${b}" srcset="${S}" sizes="${T}" />`)}let D=i6({src:N$(Q,{..._,q:z}),alt:J,width:G,height:K,loading:j?void 0:H,decoding:L,fetchpriority:j?"high":F,objectFit:O,objectPosition:V,crossorigin:w,referrerpolicy:A,className:oJ(M,Y),style:n6(R,O,V,Y),lazy:B&&!j,data:N}),E;if(Y){let y=`background-image: url('${Y.dataURL}'); background-size: cover; background-position: center;`;E=`<div id="${Z}" class="stx-img-placeholder" style="${y}">
|
|
11520
11520
|
<picture>
|
|
11521
11521
|
${I.join(`
|
|
11522
11522
|
`)}
|
|
@@ -11526,9 +11526,9 @@ ${I.join(`
|
|
|
11526
11526
|
${I.join(`
|
|
11527
11527
|
`)}
|
|
11528
11528
|
<img ${D} />
|
|
11529
|
-
</picture>`;return E}function
|
|
11529
|
+
</picture>`;return E}function Sj($,Z,Y,X){let{src:Q,alt:J,width:G,height:K,dpr:q=[1,2,3],quality:W=p6,params:U={},lazy:z=!0,priority:_=!1,loading:B=_?"eager":$7,decoding:j=e4,fetchpriority:H,objectFit:L,objectPosition:F,crossorigin:O,referrerpolicy:V}=$,w=$.class,A=$.style,M=$.data||{},R=typeof G==="number"?G:Number.parseInt(String(G),10),N=EJ(Q,R,q,{...U,q:W}),T=i6({src:N$(Q,{...U,w:R,q:W}),alt:J,width:G,height:K,loading:_?void 0:B,decoding:j,fetchpriority:_?"high":H,objectFit:L,objectPosition:F,crossorigin:O,referrerpolicy:V,className:oJ(w,Y),style:n6(A,L,F,Y),lazy:z&&!_,data:M}),I=z&&!_?`data-srcset="${N}"`:`srcset="${N}"`;if(Y){let D=`background-image: url('${Y.dataURL}'); background-size: cover; background-position: center;`;return`<div id="${Z}" class="stx-img-placeholder" style="${D}">
|
|
11530
11530
|
<img ${T} ${I} />
|
|
11531
|
-
</div>`}return`<img ${Z?`id="${Z}" `:""}${T} ${I} />`}function
|
|
11531
|
+
</div>`}return`<img ${Z?`id="${Z}" `:""}${T} ${I} />`}function yj($){let{src:Z,alt:Y,width:X,height:Q,loading:J=$7,decoding:G=e4,fetchpriority:K,objectFit:q,objectPosition:W,crossorigin:U,referrerpolicy:z,priority:_=!1}=$,B=$.class,j=$.style,H=$.id,L=$.data||{};return{html:`<img ${i6({src:Z,alt:Y,width:X,height:Q,loading:_?"eager":J,decoding:G,fetchpriority:_?"high":K,objectFit:q,objectPosition:W,crossorigin:U,referrerpolicy:z,className:B,style:n6(j,q,W),id:H,data:L})} />`}}function i6($){let Z=[];if($.lazy)Z.push(`data-src="${Z1($.src)}"`),Z.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"');else Z.push(`src="${Z1($.src)}"`);if(Z.push(`alt="${Z1($.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="${Z1($.className)}"`);if($.style)Z.push(`style="${Z1($.style)}"`);if($.id)Z.push(`id="${Z1($.id)}"`);if($.data)for(let[Y,X]of Object.entries($.data))Z.push(`data-${Y}="${Z1(X)}"`);if($.lazy)Z.push("data-stx-lazy");return Z.join(" ")}function oJ($,Z){let Y=[];if($)Y.push($);if(Z)Y.push("stx-img-blur");return Y.join(" ")||""}function n6($,Z,Y,X){let Q=[];if(Z)Q.push(`object-fit: ${Z}`);if(Y)Q.push(`object-position: ${Y}`);if(X)Q.push("opacity: 0; transition: opacity 300ms ease-out");if($)Q.push($);return Q.join("; ")}function Z1($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function rJ($){return`
|
|
11532
11532
|
(function() {
|
|
11533
11533
|
const container = document.getElementById('${$}');
|
|
11534
11534
|
if (!container) return;
|
|
@@ -11565,7 +11565,7 @@ ${I.join(`
|
|
|
11565
11565
|
|
|
11566
11566
|
observer.observe(container);
|
|
11567
11567
|
})();
|
|
11568
|
-
`.trim()}async function
|
|
11568
|
+
`.trim()}async function Pj($,Z){let Y=await kj();if(!Y)return t4({...$,process:!1},Z);let X=Z.tsImagesConfig;if($.responsiveWidths&&$.responsiveWidths.length>0||$.widths&&$.widths.length>0||!$.width&&!$.dpr){let J=await Y.generateResponsiveVariants($.src,$,X);if(J)return aJ($,J,Z)}else{let J=await Y.processImage($.src,$,X);if(J.processed)return s6($,J,Z)}return t4({...$,process:!1},Z)}async function s6($,Z,Y){let{alt:X,width:Q,height:J,lazy:G=!0,priority:K=!1,objectFit:q,objectPosition:W,crossorigin:U,referrerpolicy:z}=$,_=$.class,B=$.style,j=$.id||`stx-img-${Math.random().toString(36).slice(2,8)}`,H=$.data||{},L=Z.variants||[],F=L.find((v)=>v.format==="jpeg")||L.find((v)=>v.format==="webp")||L[0],O=F?.url||$.src,V=L.filter((v)=>v.format===(F?.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=[],M=["avif","webp","jpeg","png"];for(let v of M){let h=w.get(v);if(h&&h.length>0){let f=h.map((r)=>`${r.url} ${r.width}w`).join(", "),m=C6(v);if(G&&!K)A.push(` <source type="${m}" data-srcset="${f}" />`);else A.push(` <source type="${m}" srcset="${f}" />`)}}let R=[];if(G&&!K){if(R.push(`data-src="${Z1(O)}"`),R.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),V)R.push(`data-srcset="${V}"`)}else if(R.push(`src="${Z1(O)}"`),V)R.push(`srcset="${V}"`);R.push(`alt="${Z1(X)}"`);let N=Q||Z.originalWidth,T=J||Z.originalHeight;if(N)R.push(`width="${N}"`);if(T)R.push(`height="${T}"`);if(!K)R.push(`loading="${G?"lazy":"eager"}"`);if(R.push('decoding="async"'),K)R.push('fetchpriority="high"');if(U)R.push(`crossorigin="${U}"`);if(z)R.push(`referrerpolicy="${z}"`);let I=[];if(q)I.push(`object-fit: ${q}`);if(W)I.push(`object-position: ${W}`);if(Z.placeholder&&G)I.push("opacity: 0; transition: opacity 300ms ease-out");if(B)I.push(B);if(I.length>0)R.push(`style="${I.join("; ")}"`);let D=[];if(_)D.push(_);if(Z.placeholder)D.push("stx-img-blur");if(D.length>0)R.push(`class="${D.join(" ")}"`);if(G&&!K)R.push("data-stx-lazy");for(let[v,h]of Object.entries(H))R.push(`data-${v}="${Z1(h)}"`);let E;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};`;E=`<div id="${j}" class="stx-img-placeholder" style="${v}">
|
|
11569
11569
|
<picture>
|
|
11570
11570
|
${A.join(`
|
|
11571
11571
|
`)}
|
|
@@ -11575,12 +11575,12 @@ ${A.join(`
|
|
|
11575
11575
|
${A.join(`
|
|
11576
11576
|
`)}
|
|
11577
11577
|
<img ${R.join(" ")} />
|
|
11578
|
-
</picture>`;let y=[];if(Z.placeholder)y.push(
|
|
11579
|
-
`):void 0,script:S}}async function
|
|
11578
|
+
</picture>`;let y=[];if(Z.placeholder)y.push(f6);let S=G?rJ(j):void 0,b;if(K&&V)b=`<link rel="preload" as="image" imagesrcset="${V}" />`;return{html:E,preloadLink:b,css:y.length>0?y.join(`
|
|
11579
|
+
`):void 0,script:S}}async function aJ($,Z,Y){let X={src:Z.src,processed:!0,variants:[],placeholder:Z.placeholder?.dataURL,originalWidth:Z.placeholder?.width,originalHeight:Z.placeholder?.height};for(let[Q,J]of Object.entries(Z.byFormat))if(J)X.variants.push(...J);return s6($,X,Y)}var nJ=!1,p6=80,e4="async",$7="lazy",sJ=!1;var tJ=k(()=>{v6();bJ()});function Cj(){return l4({name:"img",hasEndTag:!1,description:"Render an optimized responsive image with srcset and lazy loading",transform:async($,Z,Y,X)=>{let{src:Q,alt:J,options:G}=vj($,Z,Y);if(!Q)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let K={src:Q,alt:J||"",widths:G.widths||C5,formats:G.formats||M$,quality:G.quality,sizes:G.sizes,dpr:G.dpr,params:G.params,placeholder:G.placeholder,placeholderOptions:G.placeholderOptions,lazy:G.lazy!==!1,priority:G.priority||!1,loading:G.loading,decoding:G.decoding,fetchpriority:G.fetchpriority,objectFit:G.objectFit,objectPosition:G.objectPosition,class:G.class,style:G.style,id:G.id,width:G.width,height:G.height},q=Y.__isDev||!1,W=await t4(K,{isDev:q}),U=W.html;if(W.preloadLink)U=W.preloadLink+`
|
|
11580
11580
|
`+U;if(W.css)U+=`
|
|
11581
11581
|
<style>${W.css}</style>`;if(W.script)U+=`
|
|
11582
|
-
<script>${W.script}</script>`;return U},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function
|
|
11583
|
-
`)}async function
|
|
11582
|
+
<script>${W.script}</script>`;return U},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function vj($,Z,Y){if(Z.src)return{src:String(Z.src),alt:String(Z.alt||""),options:Z.options||{}};let X=$.trim();if(X.startsWith("@img(")||X.startsWith("("))X=X.replace(/^@img\(/,"").replace(/^\(/,"").replace(/\)$/,"");let Q=xj(X),J=o6(Q[0],Y)||"",G=o6(Q[1],Y)||"",K={};if(Q[2]){let q=o6(Q[2],Y);if(typeof q==="object"&&q!==null)K=q;else if(typeof Q[2]==="string")try{K=JSON.parse(Q[2])}catch{}}return{src:J,alt:G,options:K}}function xj($){let Z=[],Y="",X=!1,Q="",J=0,G=0;for(let K=0;K<$.length;K++){let q=$[K],W=K>0?$[K-1]:"";if((q==='"'||q==="'"||q==="`")&&W!=="\\"){if(!X)X=!0,Q=q;else if(q===Q)X=!1,Q="";else Y+=q;continue}if(!X){if(q==="{")J++;if(q==="}")J--;if(q==="[")G++;if(q==="]")G--;if(q===","&&J===0&&G===0){Z.push(Y.trim()),Y="";continue}}Y+=q}if(Y.trim())Z.push(Y.trim());return Z}function o6($,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 X=Z[Y];if(X!==void 0)return X}if(Y.startsWith("{")||Y.startsWith("["))try{return JSON.parse(Y)}catch{}return Y}var eJ;var $Q=k(()=>{S6();tJ();v6();eJ=Cj()});class Y7{config;constructor($={}){this.config={...fj,...$}}async get($,Z){return p4($,Z,"video",this.config)}async set($,Z,Y){return i4($,Z,Y,"video",this.config)}async clear(){return n4("video",this.config)}updateConfig($){this.config={...this.config,...$}}}function r6($){if(!Z7)Z7=new Y7($);else if($)Z7.updateConfig($);return Z7}async function X7($,Z,Y){let X=Y?{directory:`${Y.outputDir}/../.cache`}:{};return r6(X).get($,Z)}async function J7($,Z,Y,X){let Q=X?{directory:`${X.outputDir}/../.cache`}:{};return r6(Q).set($,Z,Y)}async function ZQ(){return r6().clear()}var fj,Z7=null;var a6=k(()=>{u6();fj={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as t6,basename as e6,extname as $9,join as Q7}from"path";import{mkdir as Z9}from"fs/promises";async function Y9(){try{return await import("ts-videos")}catch{return null}}async function G7($,Z,Y,X){let Q=await Y9();if(!Q)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let J=t6($);if(!await N0(J))return null;await Z9(Y,{recursive:!0});let G=await b0(J),K=e6($,$9($)),q=Z.format||"webp",W=Z.timestamp||0,U=`${K}-poster-${G}.${q}`,z=Q7(Y,U),_=await Q.extractThumbnails(J,{timestamps:[W],width:Z.width||1280,height:Z.height,format:q,quality:Z.quality||85,outputDir:Y,outputPattern:U.replace(`.${q}`,"")});if(_&&_.length>0){let B=_[0];return{path:z,url:`${X}/${U}`,width:B.width||Z.width||1280,height:B.height||720,timestamp:W,size:B.size||0}}return null}catch(J){return console.warn(`[stx-media] Failed to generate poster: ${J}`),null}}async function K7($,Z,Y,X){let Q=await Y9();if(!Q)return[];try{let J=t6($);if(!await N0(J))return[];await Z9(Y,{recursive:!0});let G=await b0(J),K=e6($,$9($)),q=Z.format||"webp",z=(await new Q.Input(J).getInfo()).duration||60,_=Z.count||10,B=Z.interval||z/_,j=[];for(let L=0;L<_&&L*B<z;L++)j.push(L*B);let H=await Q.extractThumbnails(J,{timestamps:j,width:Z.width||320,format:q,quality:Z.quality||80,outputDir:Y,outputPattern:`${K}-thumb-${G}`});if(H&&H.length>0)return H.map((L,F)=>({path:L.path||Q7(Y,`${K}-thumb-${G}-${F}.${q}`),url:`${X}/${K}-thumb-${G}-${F}.${q}`,width:L.width||Z.width||320,height:L.height||180,timestamp:j[F],size:L.size||0}));return[]}catch(J){return console.warn(`[stx-media] Failed to generate thumbnails: ${J}`),[]}}async function YQ($,Z,Y,X){let Q=await Y9();if(!Q)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let J=t6($);if(!await N0(J))return null;await Z9(Y,{recursive:!0});let G=await b0(J),K=e6($,$9($)),U=(await new Q.Input(J).getInfo()).duration||60,z=Z.columns||10,_=Z.interval||5,B=Z.thumbnailWidth||160,j=Z.thumbnailHeight||90,H=Z.format||"jpeg",L=Math.ceil(U/_),F=Math.ceil(L/z),O=`${K}-sprite-${G}.${H}`,V=Q7(Y,O),w=[];for(let M=0;M<L;M++)w.push(M*_);let A=await Q.extractThumbnails(J,{timestamps:w,width:B,height:j,format:H,quality:Z.quality||70,outputDir:Q7(Y,".temp")});if(!A||A.length===0)return null;try{let M=await import("ts-images"),R=z*B,N=F*j,T=await M.createSprite({images:A.map((I)=>I.path),columns:z,padding:0,outputPath:V,format:H,quality:Z.quality||70});return{url:`${X}/${O}`,path:V,columns:z,rows:F,thumbnailWidth:B,thumbnailHeight:j,interval:_,totalFrames:L}}catch{return console.warn("[stx-media] ts-images not installed, sprite sheet generation skipped"),null}}catch(J){return console.warn(`[stx-media] Failed to generate sprite sheet: ${J}`),null}}var X9=k(()=>{$5()});import{resolve as JQ,basename as QQ,extname as GQ,join as Z5}from"path";import{mkdir as q7,writeFile as KQ}from"fs/promises";async function qQ(){try{return await import("ts-videos")}catch{return null}}async function W7($,Z,Y,X,Q){let J=await qQ();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let G=JQ($);if(!await N0(G))return null;let K=await b0(G),q=QQ($,GQ($)),W=Z5(Y,`${q}-${K}-hls`);await q7(W,{recursive:!0});let U=Z.length>0?Z:WQ,z=Q?.segmentDuration||6,j=(await new J.Input(G).getInfo()).duration||0,H=[],L=0;for(let V of U){let w=Z5(W,V.label);await q7(w,{recursive:!0});let A=`${V.label}.m3u8`,M=Z5(w,A);try{let R=await J.generateHLS(G,{outputDir:w,segmentDuration:z,width:V.width,height:V.height,videoBitrate:V.bitrate,audioBitrate:V.audioBitrate,playlistName:V.label});if(R)H.push({quality:V,url:`${X}/${q}-${K}-hls/${V.label}/${A}`,path:M}),L+=R.segmentCount||Math.ceil(j/z)}catch(R){console.warn(`[stx-media] Failed to generate HLS for ${V.label}: ${R}`)}}if(H.length===0)return null;let F=Z5(W,"master.m3u8"),O=gj(H,X,q,K);return await KQ(F,O),{manifestUrl:`${X}/${q}-${K}-hls/master.m3u8`,manifestPath:F,playlists:H,segmentCount:L,duration:j}}catch(G){return console.warn(`[stx-media] Failed to generate HLS manifest: ${G}`),null}}function gj($,Z,Y,X){let Q=["#EXTM3U","#EXT-X-VERSION:3"];for(let J of $){let{quality:G}=J,K=G.bitrate+(G.audioBitrate||128000),q=`${G.width}x${G.height||Math.round(G.width*9/16)}`;Q.push(`#EXT-X-STREAM-INF:BANDWIDTH=${K},RESOLUTION=${q},NAME="${G.label}"`,`${G.label}/${G.label}.m3u8`)}return Q.join(`
|
|
11583
|
+
`)}async function U7($,Z,Y,X,Q){let J=await qQ();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let G=JQ($);if(!await N0(G))return null;let K=await b0(G),q=QQ($,GQ($)),W=Z5(Y,`${q}-${K}-dash`);await q7(W,{recursive:!0});let U=Z.length>0?Z:WQ,z=Q?.segmentDuration||4,_=Q?.minBufferTime||2,H=(await new J.Input(G).getInfo()).duration||0,L=[],F=[];for(let A of U){let M=Z5(W,A.label);await q7(M,{recursive:!0});try{if(await J.generateDASH(G,{outputDir:M,segmentDuration:z,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:`${X}/${q}-${K}-dash/${A.label}/video`}),A.audioBitrate)F.push({bandwidth:A.audioBitrate,url:`${X}/${q}-${K}-dash/${A.label}/audio`})}}catch(R){console.warn(`[stx-media] Failed to generate DASH for ${A.label}: ${R}`)}}if(L.length===0)return null;let O=Z5(W,"manifest.mpd"),V=hj(L,F,H,z,_);await KQ(O,V);let w=[{type:"video",representations:L}];if(F.length>0)w.push({type:"audio",representations:F});return{manifestUrl:`${X}/${q}-${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 hj($,Z,Y,X,Q){let J=XQ(Y),G=XQ(Q),K=`<?xml version="1.0" encoding="UTF-8"?>
|
|
11584
11584
|
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011"
|
|
11585
11585
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
11586
11586
|
xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"
|
|
@@ -11606,7 +11606,7 @@ ${A.join(`
|
|
|
11606
11606
|
</Representation>
|
|
11607
11607
|
`}K+=` </AdaptationSet>
|
|
11608
11608
|
`}return K+=` </Period>
|
|
11609
|
-
</MPD>`,K}function
|
|
11609
|
+
</MPD>`,K}function XQ($){let Z=Math.floor($/3600),Y=Math.floor($%3600/60),X=Math.floor($%60),Q="PT";if(Z>0)Q+=`${Z}H`;if(Y>0)Q+=`${Y}M`;return Q+=`${X}S`,Q}var WQ;var J9=k(()=>{$5();WQ=[{label:"1080p",width:1920,height:1080,bitrate:5000000,audioBitrate:192000},{label:"720p",width:1280,height:720,bitrate:2500000,audioBitrate:128000},{label:"480p",width:854,height:480,bitrate:1e6,audioBitrate:96000},{label:"360p",width:640,height:360,bitrate:600000,audioBitrate:64000}]});import{resolve as UQ,basename as uj,extname as dj,join as mj}from"path";import{mkdir as lj}from"fs/promises";async function zQ(){try{return await import("ts-videos")}catch{return null}}function cj($){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 pj($){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 Q9($){let Z=await zQ();if(!Z)return null;try{let Y=UQ($),Q=await new Z.Input(Y).getInfo();return{duration:Q.duration||0,width:Q.width||0,height:Q.height||0,frameRate:Q.frameRate||0,bitrate:Q.bitrate||0,codec:Q.videoCodec||"",audioCodec:Q.audioCodec}}catch(Y){return console.warn(`[stx-media] Failed to analyze video: ${Y}`),null}}async function _Q($,Z,Y,X){let Q=await zQ();if(!Q)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:$,processed:!1};let J=await X7($,Z,Y);if(J)return J;try{let G=UQ($);if(!await N0(G))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let K=Y.outputDir||"dist/videos",q=Y.baseUrl||"/videos";await lj(K,{recursive:!0});let W=await b0(G),U=uj($,dj($)),z={src:$,processed:!0,hash:W};X?.({percentage:5,stage:"analyzing"}),z.metadata=await Q9(G)||void 0;let _={};if(Z.quality)_.bitrate=cj(Z.quality);if(Z.platform)Object.assign(_,pj(Z.platform));if(Z.transcode)Object.assign(_,Z.transcode);if(Object.keys(_).length>0||Z.process){X?.({percentage:10,stage:"transcoding"});let B=`${U}-${W}.mp4`,j=mj(K,B);try{let H=await ij(G,j,_,Q,(L)=>X?.({percentage:10+L*0.5,stage:"transcoding"}));if(H)z.transcoded={path:j,url:`${q}/${B}`,duration:H.duration,size:H.size,video:{codec:_.codec||"h264",width:H.width,height:H.height,bitrate:H.bitrate,frameRate:H.frameRate},audio:H.audioCodec?{codec:_.audioCodec||"aac",bitrate:_.audioBitrate||128000,sampleRate:_.sampleRate||48000,channels:_.channels||2}:void 0}}catch(H){z.errors=z.errors||[],z.errors.push(`Transcoding failed: ${H}`)}}if(Z.generatePoster){X?.({percentage:65,stage:"generating-poster"});let B=typeof Z.generatePoster==="object"?Z.generatePoster:{timestamp:0},j=await G7(G,B,K,q);if(j)z.poster=j}if(Y.thumbnails?.enabled){X?.({percentage:70,stage:"generating-thumbnails"});let B=await K7(G,Y.thumbnails,K,q);if(B.length>0)z.thumbnails=B}if(Z.streaming){X?.({percentage:80,stage:"generating-manifests"});let B=typeof Z.streaming==="object"?Z.streaming:Y.streaming||{format:"hls"};if(B.format==="hls"||B.format===void 0){let j=await W7(G,B.qualities||Y.streaming?.defaultQualities||[],K,q);if(j)z.streaming={...z.streaming,hls:j}}if(B.format==="dash"){let j=await U7(G,B.qualities||Y.streaming?.defaultQualities||[],K,q);if(j)z.streaming={...z.streaming,dash:j}}}if(Z.spriteSheet)X?.({percentage:90,stage:"generating-sprite-sheet"});return X?.({percentage:100,stage:"complete"}),await J7($,Z,z,Y),z}catch(G){return{src:$,processed:!1,errors:[`Processing failed: ${G}`]}}}async function ij($,Z,Y,X,Q){try{let G=await new X.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)=>{Q?.(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(J){return console.error(`[stx-media] Transcoding failed: ${J}`),null}}var BQ=k(()=>{$5();a6();X9();J9()});var jQ={};t(jQ,{setCachedVideoResult:()=>J7,processVideo:()=>_Q,getCachedVideoResult:()=>X7,generateThumbnails:()=>K7,generateSpriteSheet:()=>YQ,generatePoster:()=>G7,generateHLSManifest:()=>W7,generateDASHManifest:()=>U7,clearVideoCache:()=>ZQ,analyzeVideo:()=>Q9,VideoProcessorCache:()=>Y7});var HQ=k(()=>{BQ();X9();J9();a6()});async function LQ(){try{return await Promise.resolve().then(() => (HQ(),jQ))}catch($){if(!OQ)console.warn("[stx-media] Video processor not available, some features disabled:",$),OQ=!0;return null}}async function z7($,Z={}){let Y=Z,X=$;if(X.process&&!X.skipProcessing){if(Y.tsVideosConfig?.enabled&&!Y.isDev)return tj(X,Y)}if(Y.processedResult?.processed)return AQ($,Y.processedResult,Z);let Q;if(X.generatePoster&&X.src&&!$.poster)Q=await ej(X,Y);let{src:J,sources:G=[],poster:K,posterPlaceholder:q,controls:W=FQ,autoplay:U=!1,muted:z=!1,loop:_=!1,preload:B=VQ,playsinline:j=!0,lazy:H=!0,player:L="native",type:F,width:O,height:V,crossorigin:w,disablePictureInPicture:A=!1,disableRemotePlayback:M=!1}=$,R=Q||K,N=$.class,T=$.style,I=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(L==="ts-video")return oj($,Z);if(F&&F!=="video")return sj(J||"",F,$);let D=G.length>0?G:J?[{src:J,type:wQ(J)}]:[],E=[`id="${I}"`];if(W)E.push("controls");if(U)E.push("autoplay");if(z)E.push("muted");if(_)E.push("loop");if(j)E.push("playsinline");if(A)E.push("disablepictureinpicture");if(M)E.push("disableremoteplayback");if(w)E.push(`crossorigin="${w}"`);if(H){if(E.push(`data-preload="${B}"`),E.push('preload="none"'),R)E.push(`data-poster="${L0(R)}"`);E.push("data-stx-lazy")}else if(E.push(`preload="${B}"`),R)E.push(`poster="${L0(R)}"`);if(O)E.push(`width="${O}"`);if(V)E.push(`height="${V}"`);if(N)E.push(`class="${L0(N)}"`);if(T)E.push(`style="${L0(T)}"`);let y=D.map((v)=>{return` <source ${H?`data-src="${L0(v.src)}"`:`src="${L0(v.src)}"`} type="${v.type}"${v.media?` media="${v.media}"`:""} />`}).join(`
|
|
11610
11610
|
`),S=`<video ${E.join(" ")}>
|
|
11611
11611
|
${y}
|
|
11612
11612
|
Your browser does not support the video tag.
|
|
@@ -11645,9 +11645,9 @@ ${y}
|
|
|
11645
11645
|
|
|
11646
11646
|
observer.observe(video);
|
|
11647
11647
|
})();
|
|
11648
|
-
`.trim();return{html:S,script:b}}function
|
|
11648
|
+
`.trim();return{html:S,script:b}}function sj($,Z,Y){let{width:X=640,height:Q=360}=Y,J=Y.class,G=Y.style,K=Y.id||`stx-embed-${Math.random().toString(36).slice(2,8)}`,q,W=null;switch(Z){case"youtube":W=rj($),q=W?`https://www.youtube-nocookie.com/embed/${W}`:$;break;case"vimeo":W=aj($),q=W?`https://player.vimeo.com/video/${W}`:$;break;case"dailymotion":W=$.split("/").pop()||"",q=`https://www.dailymotion.com/embed/video/${W}`;break;case"twitch":W=$.split("/").pop()||"",q=`https://player.twitch.tv/?video=${W}&parent=${typeof window<"u"?window.location.hostname:"localhost"}`;break;default:q=$}let U=[`id="${K}"`,`src="${L0(q)}"`,`width="${X}"`,`height="${Q}"`,'frameborder="0"',"allowfullscreen",'allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"'];if(J)U.push(`class="${L0(J)}"`);if(G)U.push(`style="${L0(G)}"`);if(Y.lazy)U.push('loading="lazy"');return{html:`<div class="stx-video-embed" style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;">
|
|
11649
11649
|
<iframe ${U.join(" ")} style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe>
|
|
11650
|
-
</div>`}}function
|
|
11650
|
+
</div>`}}function oj($,Z={}){let{src:Y,sources:X=[],poster:Q,controls:J=!0,autoplay:G=!1,muted:K=!1,loop:q=!1,preload:W="metadata",playsinline:U=!0,lazy:z=!0,width:_,height:B}=$,j=$.class,H=$.style,L=$.id||`ts-video-${Math.random().toString(36).slice(2,8)}`,F={src:X.length>0?X:Y,autoplay:G,loop:q,muted:K,playsinline:U,preload:W,poster:Q,controls:J,title:$.title},O=["position: relative",_?`width: ${typeof _==="number"?_+"px":_}`:"width: 100%",B?`height: ${typeof B==="number"?B+"px":B}`:"",H||""].filter(Boolean).join("; "),V=`
|
|
11651
11651
|
<div
|
|
11652
11652
|
id="${L}"
|
|
11653
11653
|
class="ts-video-player${j?" "+L0(j):""}"
|
|
@@ -11684,7 +11684,7 @@ ${y}
|
|
|
11684
11684
|
|
|
11685
11685
|
// Load ts-video-player from CDN
|
|
11686
11686
|
var script = document.createElement('script');
|
|
11687
|
-
script.src = '${
|
|
11687
|
+
script.src = '${nj}';
|
|
11688
11688
|
script.onload = initPlayer;
|
|
11689
11689
|
script.onerror = function() {
|
|
11690
11690
|
console.error('[stx] Failed to load ts-video-player');
|
|
@@ -11814,7 +11814,7 @@ else {
|
|
|
11814
11814
|
.ts-video-player__play-button svg {
|
|
11815
11815
|
margin-left: 4px;
|
|
11816
11816
|
}
|
|
11817
|
-
`.trim();return{html:V,script:w,css:A}}function
|
|
11817
|
+
`.trim();return{html:V,script:w,css:A}}function wQ($){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 rj($){let Z=[/youtube\.com\/watch\?v=([^&]+)/,/youtube\.com\/embed\/([^?]+)/,/youtu\.be\/([^?]+)/,/youtube\.com\/v\/([^?]+)/];for(let Y of Z){let X=$.match(Y);if(X)return X[1]}return null}function aj($){let Z=$.match(/vimeo\.com\/(\d+)/);return Z?Z[1]:null}function L0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'")}async function tj($,Z){let Y=await LQ();if(!Y)return z7({...$,process:!1},Z);let X=Z.tsVideosConfig,Q=await Y.processVideo($.src,$,X,$.onProcessProgress);if(Q.processed)return AQ($,Q,Z);return z7({...$,process:!1},Z)}async function ej($,Z){let Y=await LQ();if(!Y||!$.src)return;let X=typeof $.generatePoster==="object"?$.generatePoster:{timestamp:0},Q=Z.tsVideosConfig||{enabled:!0,outputDir:"dist/videos",baseUrl:"/videos"};return(await Y.generatePoster($.src,X,Q.outputDir,Q.baseUrl||"/videos"))?.url}function AQ($,Z,Y){let{controls:X=FQ,autoplay:Q=!1,muted:J=!1,loop:G=!1,preload:K=VQ,playsinline:q=!0,lazy:W=!0,width:U,height:z,crossorigin:_,disablePictureInPicture:B=!1,disableRemotePlayback:j=!1}=$,H=$.class,L=$.style,F=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`,O=$.src,V=wQ(O);if(Z.transcoded)O=Z.transcoded.url,V="video/mp4";let w=Z.streaming?.hls||Z.streaming?.dash;if(w){if(Z.streaming?.hls)O=Z.streaming.hls.manifestUrl,V="application/x-mpegURL";else if(Z.streaming?.dash)O=Z.streaming.dash.manifestUrl,V="application/dash+xml"}let A=Z.poster?.url||$.poster,M=[`id="${F}"`];if(X)M.push("controls");if(Q)M.push("autoplay");if(J)M.push("muted");if(G)M.push("loop");if(q)M.push("playsinline");if(B)M.push("disablepictureinpicture");if(j)M.push("disableremoteplayback");if(_)M.push(`crossorigin="${_}"`);if(W){if(M.push(`data-preload="${K}"`),M.push('preload="none"'),A)M.push(`data-poster="${L0(A)}"`);M.push("data-stx-lazy")}else if(M.push(`preload="${K}"`),A)M.push(`poster="${L0(A)}"`);let R=U||Z.metadata?.width,N=z||Z.metadata?.height;if(R)M.push(`width="${R}"`);if(N)M.push(`height="${N}"`);if(H)M.push(`class="${L0(H)}"`);if(L)M.push(`style="${L0(L)}"`);let I=` <source ${W?`data-src="${L0(O)}"`:`src="${L0(O)}"`} type="${V}" />`,D=`<video ${M.join(" ")}>
|
|
11818
11818
|
${I}
|
|
11819
11819
|
Your browser does not support the video tag.
|
|
11820
11820
|
</video>`;if(Z.spriteSheet)D=`<div class="stx-video-wrapper" data-sprite-sheet="${L0(Z.spriteSheet.url)}" data-sprite-cols="${Z.spriteSheet.columns}" data-sprite-interval="${Z.spriteSheet.interval}">
|
|
@@ -11863,9 +11863,9 @@ ${D}
|
|
|
11863
11863
|
width: 100%;
|
|
11864
11864
|
height: auto;
|
|
11865
11865
|
}
|
|
11866
|
-
`.trim();return{html:D,script:E,css:y}}var
|
|
11866
|
+
`.trim();return{html:D,script:E,css:y}}var OQ=!1,FQ=!0,VQ="metadata",nj="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";var RQ=k(()=>{K9()});function MQ(){return l4({name:"video",hasEndTag:!1,description:"Render a video with optional ts-videos processing, streaming, and poster generation",transform:async($,Z,Y,X)=>{let{src:Q,options:J}=$H($,Z,Y);if(!Q)return console.warn("@video directive: missing src argument"),"<!-- @video: missing src -->";let G={src:Q,poster:J.poster,controls:J.controls!==!1,autoplay:J.autoplay||!1,muted:J.muted||!1,loop:J.loop||!1,preload:J.preload||"metadata",playsinline:J.playsinline!==!1,lazy:J.lazy!==!1,player:J.player||"native",type:J.type,width:J.width,height:J.height,class:J.class,style:J.style,id:J.id,crossorigin:J.crossorigin,disablePictureInPicture:J.disablePictureInPicture,disableRemotePlayback:J.disableRemotePlayback,title:J.title,quality:J.quality,platform:J.platform,process:J.process,generatePoster:J.generatePoster,streaming:J.streaming,transcode:J.transcode,spriteSheet:J.spriteSheet,waveform:J.waveform},q={isDev:Y.__isDev||!1,tsVideosConfig:Y.__tsVideosConfig},W=await z7(G,q),U=W.html;if(W.css)U+=`
|
|
11867
11867
|
<style>${W.css}</style>`;if(W.script)U+=`
|
|
11868
|
-
<script>${W.script}</script>`;return U},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function
|
|
11868
|
+
<script>${W.script}</script>`;return U},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function $H($,Z,Y){if(Z.src)return{src:String(Z.src),options:Z.options||{}};let X=$.trim();if(X.startsWith("@video(")||X.startsWith("("))X=X.replace(/^@video\(/,"").replace(/^\(/,"").replace(/\)$/,"");let Q=ZH(X),J=NQ(Q[0],Y)||"",G={};if(Q[1]){let K=NQ(Q[1],Y);if(typeof K==="object"&&K!==null)G=K;else if(typeof Q[1]==="string")try{G=JSON.parse(Q[1])}catch{}}return{src:J,options:G}}function ZH($){let Z=[],Y="",X=!1,Q="",J=0,G=0;for(let K=0;K<$.length;K++){let q=$[K],W=K>0?$[K-1]:"";if((q==='"'||q==="'"||q==="`")&&W!=="\\"){if(!X)X=!0,Q=q;else if(q===Q)X=!1,Q="";else Y+=q;continue}if(!X){if(q==="{")J++;if(q==="}")J--;if(q==="[")G++;if(q==="]")G--;if(q===","&&J===0&&G===0){Z.push(Y.trim()),Y="";continue}}Y+=q}if(Y.trim())Z.push(Y.trim());return Z}function NQ($,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 X=Z[Y];if(X!==void 0)return X}if(Y.startsWith("{")||Y.startsWith("["))try{return JSON.parse(Y)}catch{}return Y}var G9;var K9=k(()=>{S6();RQ();G9=MQ()});function YH($,Z){let Y=Z.pwa?.manifest?.themeColor||"#4f46e5";return`<div class="stx-pwa-install" style="display:none;">
|
|
11869
11869
|
${$}
|
|
11870
11870
|
</div>
|
|
11871
11871
|
<script>
|
|
@@ -11910,7 +11910,7 @@ ${D}
|
|
|
11910
11910
|
}
|
|
11911
11911
|
}
|
|
11912
11912
|
})();
|
|
11913
|
-
</script>`}function
|
|
11913
|
+
</script>`}function XH($,Z){let Y=Z.pwa?.updates,X=Y?.message||"A new version is available. Reload to update?",Q=Y?.autoReload||!1,J=$.trim().length>0,G=`
|
|
11914
11914
|
<div class="stx-pwa-update-banner" style="
|
|
11915
11915
|
position: fixed;
|
|
11916
11916
|
bottom: 0;
|
|
@@ -12021,7 +12021,7 @@ else {
|
|
|
12021
12021
|
// Also listen for custom event
|
|
12022
12022
|
window.addEventListener('pwa-update-available', showUpdate);
|
|
12023
12023
|
})();
|
|
12024
|
-
</script>`}function
|
|
12024
|
+
</script>`}function JH($,Z){let Y=$.trim().length>0,X=`
|
|
12025
12025
|
<div class="stx-offline-indicator" style="
|
|
12026
12026
|
position: fixed;
|
|
12027
12027
|
top: 16px;
|
|
@@ -12082,7 +12082,7 @@ else {
|
|
|
12082
12082
|
window.addEventListener('offline', updateStatus);
|
|
12083
12083
|
updateStatus();
|
|
12084
12084
|
})();
|
|
12085
|
-
</script>`}function
|
|
12085
|
+
</script>`}function QH($,Z){let Y=Z.pwa?.push,X=Y?.vapidPublicKey||"",Q=Y?.subscriptionEndpoint||"/api/push/subscribe";return`<div class="stx-pwa-push" style="display:none;">
|
|
12086
12086
|
${$}
|
|
12087
12087
|
</div>
|
|
12088
12088
|
<script>
|
|
@@ -12164,7 +12164,7 @@ catch (error) {
|
|
|
12164
12164
|
init();
|
|
12165
12165
|
}
|
|
12166
12166
|
})();
|
|
12167
|
-
</script>`}var
|
|
12167
|
+
</script>`}var GH,KH,qH,WH,TQ;var IQ=k(()=>{GH={name:"pwa.installButton",handler:($,Z,Y,X)=>{let Q=Y.__stx_options||{};return YH($,Q)},hasEndTag:!0,description:"Renders a PWA install prompt button that appears when the app can be installed"},KH={name:"pwa.updatePrompt",handler:($,Z,Y,X)=>{let Q=Y.__stx_options||{};return XH($,Q)},hasEndTag:!0,description:"Renders a PWA update notification UI when a new version is available"},qH={name:"pwa.offlineIndicator",handler:($,Z,Y,X)=>{let Q=Y.__stx_options||{};return JH($,Q)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},WH={name:"pwa.pushSubscribe",handler:($,Z,Y,X)=>{let Q=Y.__stx_options||{};return QH($,Q)},hasEndTag:!0,description:"Renders a push notification subscription button"},TQ=[GH,KH,qH,WH]});import T$ from"path";function UH($,Z){let Y=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),X=Y?Y[1].trim():"",Q=Z,J=[],G=!0;if(X){let z=X.match(/export\s+default\s+({[\s\S]*})/);if(z)try{let _=z[1],B=_.match(/tag\s*:\s*['"`]([^'"`]+)['"`]/);if(B)Q=B[1];let j=_.match(/props\s*:\s*\[([\s\S]*?)\]/);if(j)J=j[1].split(",").map((L)=>L.trim().replace(/['"`]/g,"")).filter((L)=>L.length>0);let H=_.match(/shadowDOM\s*:\s*(true|false)/);if(H)G=H[1]==="true"}catch{}}let K=$.match(/<template\b(?![^>]*\bid\s*=)[^>]*>([\s\S]*?)<\/template>/i),q=K?K[1].trim():"",W=$.match(/<style\b[^>]*>([\s\S]*?)<\/style>/i),U=W?W[1].trim():"";return{tag:Q,props:J,template:q,styles:U,script:X,shadowDOM:G}}function zH($){let{tag:Z,props:Y,template:X,styles:Q,shadowDOM:J}=$,G=Z.split("-").map((z)=>z.charAt(0).toUpperCase()+z.slice(1)).join(""),K=X.replace(/\\/g,"\\\\").replace(/`/g,"\\`").replace(/\$\{/g,"\\${"),q=Q.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),W=Y.map((z)=>`'${z}'`).join(", "),U=Y.map((z)=>`
|
|
12168
12168
|
get ${z}() {
|
|
12169
12169
|
return this.getAttribute('${z}') || '';
|
|
12170
12170
|
}
|
|
@@ -12215,9 +12215,9 @@ ${U}
|
|
|
12215
12215
|
}
|
|
12216
12216
|
|
|
12217
12217
|
customElements.define('${Z}', ${G});
|
|
12218
|
-
`}async function
|
|
12219
|
-
${
|
|
12220
|
-
</script>`}var IQ=k(()=>{U1();w0()});var EQ={};t(EQ,{timingPlugin:()=>BH,pluginManager:()=>WH,definePlugin:()=>U7,debugPlugin:()=>_H,createVariablesPlugin:()=>jH,createFilterPlugin:()=>zH,createDirectivePlugin:()=>UH,PluginManager:()=>K9});function U7($){return $}class K9{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,X]of this.plugins)if(X.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 X of this.sortedPlugins){let Q=X[$];if(Q)try{let J=await Q(Y);if(J){if(J.template!==void 0)Y.template=J.template;if(J.context)Y.context={...Y.context,...J.context};if(J.metadata)Y.metadata={...Y.metadata,...J.metadata};if(J.skip)break}}catch(J){console.error(`Error in plugin "${X.name}" ${$} hook:`,J)}}return Y}async runDirectiveHooks($,Z,Y){let X={...Y};for(let Q of this.sortedPlugins){let J=Q[$];if(J)try{let G=await J(Z,X);if(G){if(G.template!==void 0)X.template=G.template;if(G.context)X.context={...X.context,...G.context};if(G.metadata)X.metadata={...X.metadata,...G.metadata};if(G.skip)break}}catch(G){console.error(`Error in plugin "${Q.name}" ${$} hook:`,G)}}return X}}function UH($,Z,Y={}){return{name:$,...Y,registerDirectives:()=>Z}}function zH($,Z,Y={}){return{name:$,...Y,registerFilters:()=>Z}}function jH($){return U7({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(Z){return{context:{...Z.context,...$}}}})}var WH,_H,BH;var DQ=k(()=>{WH=new K9;_H=U7({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)}}),BH=U7({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 v8={};t(v8,{validateConfig:()=>VH,loadStxConfig:()=>D5,defineStxConfig:()=>FH,defaultConfig:()=>_1,config:()=>h7});import q9 from"fs";import S0 from"path";import{loadConfigWithResult as HH}from"bunfig";function OH($,Z){let Y=Z||"pages";if($)return{root:$,pagesDir:Y};let X=S0.join(process.cwd(),"resources","views"),Q=S0.join(process.cwd(),"resources","layouts");if(q9.existsSync(X)&&q9.existsSync(Q))return{root:"resources",pagesDir:"views"};let J=S0.join(process.cwd(),"resources","views","pages");if(q9.existsSync(J))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}function LH($){if(t9($.stateDir),$.stateDir=l5(),$.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 D5($){if(!$){if(v5)return v5;if(z7)return z7}let Z=$?S0.resolve($):process.cwd(),Y=kQ.get(Z);if(Y)return Y;let X=(async()=>{let J=(await HH({name:"stx",alias:"ui",cwd:Z,defaultConfig:_1,verbose:!1})).config;LH(J);let G=OH(J.root,J.pagesDir);if(J.root=G.root,J.pagesDir=G.pagesDir,J.root&&J.root!=="."){let K=J.root;if(J.partialsDir&&!S0.isAbsolute(J.partialsDir))J.partialsDir=S0.join(K,J.partialsDir);if(J.componentsDir&&!S0.isAbsolute(J.componentsDir))J.componentsDir=S0.join(K,J.componentsDir);if(J.layoutsDir&&!S0.isAbsolute(J.layoutsDir))J.layoutsDir=S0.join(K,J.layoutsDir)}if(J.plugins&&J.plugins.length>0){let{pluginManager:K}=await Promise.resolve().then(() => (DQ(),EQ)),q=[],W=[];for(let U of J.plugins){let z=typeof U==="string"?U:U[0],_=typeof U==="string"?{}:U[1]||{};try{let B,j;try{B=await import(z),j=S0.dirname(a.resolve(z))}catch{let L=S0.resolve(process.cwd(),z);B=await import(L),j=S0.dirname(L)}let H=B.default||B;if(K.register(H,J),H.components){let L=S0.resolve(j,H.components);q.push(L)}if(H.pages){let L=S0.resolve(j,H.pages),F=_.path||"/";W.push({dir:L,prefix:F})}if(H.setup){let L={addDirective:(F)=>{J.customDirectives=J.customDirectives||[],J.customDirectives.push(F)},addRoute:(F,O)=>{J.apiRoutes=J.apiRoutes||{},J.apiRoutes[F]=O},addMiddleware:(F)=>{J.middleware=J.middleware||[],J.middleware.push(F)},pluginDir:j,config:J};await H.setup(_,L)}console.log(`[stx] Plugin loaded: ${H.name||z}`)}catch(B){console.warn(`[stx] Failed to load plugin ${z}:`,B.message)}}J._pluginComponentDirs=q,J._pluginPageDirs=W}return J})();if(kQ.set(Z,X),!$)z7=X,X.then((Q)=>{v5=Q}).catch(()=>{});return X}function FH($){return $}function VH($){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 X=["auto","manual","sections"];if(!X.includes($.streaming.strategy))Z.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${X.join(", ")}`,severity:"error"})}}if($.i18n){if($.i18n.format!==void 0){let X=["json","yaml","yml","js"];if(!X.includes($.i18n.format))Z.push({path:"i18n.format",message:`i18n.format must be one of: ${X.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 X=["AA","AAA"];if(!X.includes($.a11y.level))Z.push({path:"a11y.level",message:`a11y.level must be one of: ${X.join(", ")}`,severity:"error"})}}if($.hydration){if($.hydration.mode!==void 0){let X=["progressive","islands"];if(!X.includes($.hydration.mode))Z.push({path:"hydration.mode",message:`hydration.mode must be one of: ${X.join(", ")}`,severity:"error"})}if($.hydration.preload!==void 0){let X=["none","eager","lazy"];if(!X.includes($.hydration.preload))Z.push({path:"hydration.preload",message:`hydration.preload must be one of: ${X.join(", ")}`,severity:"error"})}}if($.customDirectives)if(!Array.isArray($.customDirectives))Z.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else $.customDirectives.forEach((X,Q)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`customDirectives[${Q}].name`,message:"Custom directive must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`customDirectives[${Q}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if($.middleware)if(!Array.isArray($.middleware))Z.push({path:"middleware",message:"middleware must be an array",severity:"error"});else $.middleware.forEach((X,Q)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`middleware[${Q}].name`,message:"Middleware must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`middleware[${Q}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!X.timing||!["before","after"].includes(X.timing))Z.push({path:`middleware[${Q}].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 X=["fullscreen","standalone","minimal-ui","browser"];if(!X.includes($.pwa.manifest.display))Z.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.manifest?.orientation!==void 0){let X=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!X.includes($.pwa.manifest.orientation))Z.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.routes){let X=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];$.pwa.routes.forEach((Q,J)=>{if(!Q.pattern||typeof Q.pattern!=="string")Z.push({path:`pwa.routes[${J}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!X.includes(Q.strategy))Z.push({path:`pwa.routes[${J}].strategy`,message:`PWA route strategy must be one of: ${X.join(", ")}`,severity:"error"});if(Q.maxAgeSeconds!==void 0&&(typeof Q.maxAgeSeconds!=="number"||Q.maxAgeSeconds<0))Z.push({path:`pwa.routes[${J}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(Q.maxEntries!==void 0&&(typeof Q.maxEntries!=="number"||Q.maxEntries<1))Z.push({path:`pwa.routes[${J}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if($.pwa.icons?.sizes){if(!Array.isArray($.pwa.icons.sizes))Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if($.pwa.icons.sizes.filter((Q)=>typeof Q!=="number"||Q<16||Q>1024).length>0)Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if($.pwa.icons?.purpose){let X=["any","maskable","monochrome"];if($.pwa.icons.purpose.filter((J)=>!X.includes(J)).length>0)Z.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${X.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 _1,v5=null,kQ,z7=null,h7;var d1=k(()=>{V7();w7();A7();R7();T6();tJ();G9();NQ();o3();k$();IQ();_1={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:J5,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:NJ,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:TQ,hasEndTag:!1,description:"Include a web component in the template"},x9,f9,QY,GY,g9,u9,d9,h9,p9,s9,aJ,Q9,...MQ],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}};kQ=new Map;h7=new Proxy(_1,{get($,Z){if(v5&&Z in v5)return v5[Z];if(!z7)D5().catch((Y)=>{console.warn("[stx] Failed to load config file:",Y?.message||Y)});return $[Z]}})});var uH=`
|
|
12218
|
+
`}async function EQ($,Z,Y,X){if(Z.length<1)return e("WebComponent","@webcomponent directive requires at least the tag name parameter",o.INVALID_DIRECTIVE_SYNTAX);let Q=Z[0].replace(/['"]/g,""),G=(Y.__stx_options||{}).componentsDir||"components",K=[T$.join(T$.dirname(X),G,`${Q}.stx`),T$.join(process.cwd(),G,`${Q}.stx`),T$.join(T$.dirname(X),`${Q}.stx`)],q=null;for(let z of K)if(await p(z)){q=await Bun.file(z).text();break}if(!q)return e("WebComponent",`Component file not found: ${Q}.stx`,o.FILE_NOT_FOUND);let W=UH(q,Q);return`<script type="module">
|
|
12219
|
+
${zH(W)}
|
|
12220
|
+
</script>`}var DQ=k(()=>{z1();w0()});var kQ={};t(kQ,{timingPlugin:()=>OH,pluginManager:()=>_H,definePlugin:()=>_7,debugPlugin:()=>HH,createVariablesPlugin:()=>LH,createFilterPlugin:()=>jH,createDirectivePlugin:()=>BH,PluginManager:()=>q9});function _7($){return $}class q9{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,X]of this.plugins)if(X.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 X of this.sortedPlugins){let Q=X[$];if(Q)try{let J=await Q(Y);if(J){if(J.template!==void 0)Y.template=J.template;if(J.context)Y.context={...Y.context,...J.context};if(J.metadata)Y.metadata={...Y.metadata,...J.metadata};if(J.skip)break}}catch(J){console.error(`Error in plugin "${X.name}" ${$} hook:`,J)}}return Y}async runDirectiveHooks($,Z,Y){let X={...Y};for(let Q of this.sortedPlugins){let J=Q[$];if(J)try{let G=await J(Z,X);if(G){if(G.template!==void 0)X.template=G.template;if(G.context)X.context={...X.context,...G.context};if(G.metadata)X.metadata={...X.metadata,...G.metadata};if(G.skip)break}}catch(G){console.error(`Error in plugin "${Q.name}" ${$} hook:`,G)}}return X}}function BH($,Z,Y={}){return{name:$,...Y,registerDirectives:()=>Z}}function jH($,Z,Y={}){return{name:$,...Y,registerFilters:()=>Z}}function LH($){return _7({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(Z){return{context:{...Z.context,...$}}}})}var _H,HH,OH;var bQ=k(()=>{_H=new q9;HH=_7({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)}}),OH=_7({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 f8={};t(f8,{validateConfig:()=>RH,loadStxConfig:()=>k5,defineStxConfig:()=>AH,defaultConfig:()=>B1,config:()=>u7});import W9 from"fs";import S0 from"path";import{loadConfigWithResult as FH}from"bunfig";function VH($,Z){let Y=Z||"pages";if($)return{root:$,pagesDir:Y};let X=S0.join(process.cwd(),"resources","views"),Q=S0.join(process.cwd(),"resources","layouts");if(W9.existsSync(X)&&W9.existsSync(Q))return{root:"resources",pagesDir:"views"};let J=S0.join(process.cwd(),"resources","views","pages");if(W9.existsSync(J))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}function wH($){if(e9($.stateDir),$.stateDir=c5(),$.cachePath=i5($.cachePath),$.build)$.build.cacheDir=i5($.build.cacheDir);if($.media?.cache)$.media.cache.directory=i5($.media.cache.directory);if($.story)$.story.outDir=i5($.story.outDir)}async function k5($){if(!$){if(x5)return x5;if(B7)return B7}let Z=$?S0.resolve($):process.cwd(),Y=SQ.get(Z);if(Y)return Y;let X=(async()=>{let J=(await FH({name:"stx",alias:"ui",cwd:Z,defaultConfig:B1,verbose:!1})).config;wH(J);let G=VH(J.root,J.pagesDir);if(J.root=G.root,J.pagesDir=G.pagesDir,J.root&&J.root!=="."){let K=J.root;if(J.partialsDir&&!S0.isAbsolute(J.partialsDir))J.partialsDir=S0.join(K,J.partialsDir);if(J.componentsDir&&!S0.isAbsolute(J.componentsDir))J.componentsDir=S0.join(K,J.componentsDir);if(J.layoutsDir&&!S0.isAbsolute(J.layoutsDir))J.layoutsDir=S0.join(K,J.layoutsDir)}if(J.plugins&&J.plugins.length>0){let{pluginManager:K}=await Promise.resolve().then(() => (bQ(),kQ)),q=[],W=[];for(let U of J.plugins){let z=typeof U==="string"?U:U[0],_=typeof U==="string"?{}:U[1]||{};try{let B,j;try{B=await import(z),j=S0.dirname(a.resolve(z))}catch{let L=S0.resolve(process.cwd(),z);B=await import(L),j=S0.dirname(L)}let H=B.default||B;if(K.register(H,J),H.components){let L=S0.resolve(j,H.components);q.push(L)}if(H.pages){let L=S0.resolve(j,H.pages),F=_.path||"/";W.push({dir:L,prefix:F})}if(H.setup){let L={addDirective:(F)=>{J.customDirectives=J.customDirectives||[],J.customDirectives.push(F)},addRoute:(F,O)=>{J.apiRoutes=J.apiRoutes||{},J.apiRoutes[F]=O},addMiddleware:(F)=>{J.middleware=J.middleware||[],J.middleware.push(F)},pluginDir:j,config:J};await H.setup(_,L)}console.log(`[stx] Plugin loaded: ${H.name||z}`)}catch(B){console.warn(`[stx] Failed to load plugin ${z}:`,B.message)}}J._pluginComponentDirs=q,J._pluginPageDirs=W}return J})();if(SQ.set(Z,X),!$)B7=X,X.then((Q)=>{x5=Q}).catch(()=>{});return X}function AH($){return $}function RH($){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 X=["auto","manual","sections"];if(!X.includes($.streaming.strategy))Z.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${X.join(", ")}`,severity:"error"})}}if($.i18n){if($.i18n.format!==void 0){let X=["json","yaml","yml","js"];if(!X.includes($.i18n.format))Z.push({path:"i18n.format",message:`i18n.format must be one of: ${X.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 X=["AA","AAA"];if(!X.includes($.a11y.level))Z.push({path:"a11y.level",message:`a11y.level must be one of: ${X.join(", ")}`,severity:"error"})}}if($.hydration){if($.hydration.mode!==void 0){let X=["progressive","islands"];if(!X.includes($.hydration.mode))Z.push({path:"hydration.mode",message:`hydration.mode must be one of: ${X.join(", ")}`,severity:"error"})}if($.hydration.preload!==void 0){let X=["none","eager","lazy"];if(!X.includes($.hydration.preload))Z.push({path:"hydration.preload",message:`hydration.preload must be one of: ${X.join(", ")}`,severity:"error"})}}if($.customDirectives)if(!Array.isArray($.customDirectives))Z.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else $.customDirectives.forEach((X,Q)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`customDirectives[${Q}].name`,message:"Custom directive must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`customDirectives[${Q}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if($.middleware)if(!Array.isArray($.middleware))Z.push({path:"middleware",message:"middleware must be an array",severity:"error"});else $.middleware.forEach((X,Q)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`middleware[${Q}].name`,message:"Middleware must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`middleware[${Q}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!X.timing||!["before","after"].includes(X.timing))Z.push({path:`middleware[${Q}].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 X=["fullscreen","standalone","minimal-ui","browser"];if(!X.includes($.pwa.manifest.display))Z.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.manifest?.orientation!==void 0){let X=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!X.includes($.pwa.manifest.orientation))Z.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${X.join(", ")}`,severity:"error"})}if($.pwa.routes){let X=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];$.pwa.routes.forEach((Q,J)=>{if(!Q.pattern||typeof Q.pattern!=="string")Z.push({path:`pwa.routes[${J}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!X.includes(Q.strategy))Z.push({path:`pwa.routes[${J}].strategy`,message:`PWA route strategy must be one of: ${X.join(", ")}`,severity:"error"});if(Q.maxAgeSeconds!==void 0&&(typeof Q.maxAgeSeconds!=="number"||Q.maxAgeSeconds<0))Z.push({path:`pwa.routes[${J}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(Q.maxEntries!==void 0&&(typeof Q.maxEntries!=="number"||Q.maxEntries<1))Z.push({path:`pwa.routes[${J}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if($.pwa.icons?.sizes){if(!Array.isArray($.pwa.icons.sizes))Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if($.pwa.icons.sizes.filter((Q)=>typeof Q!=="number"||Q<16||Q>1024).length>0)Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if($.pwa.icons?.purpose){let X=["any","maskable","monochrome"];if($.pwa.icons.purpose.filter((J)=>!X.includes(J)).length>0)Z.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${X.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 B1,x5=null,SQ,B7=null,u7;var m1=k(()=>{A7();R7();M7();N7();I6();$Q();K9();IQ();r3();b$();DQ();B1={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:Q5,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:IJ,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:EQ,hasEndTag:!1,description:"Include a web component in the template"},f9,g9,KY,qY,h9,d9,m9,u9,i9,o9,eJ,G9,...TQ],middleware:[],i18n:{defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},webComponents:{enabled:!1,outputDir:"dist/web-components",components:[]},docs:{enabled:!1,outputDir:"docs",format:"markdown",components:!0,templates:!0,directives:!0},streaming:{enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},hydration:{enabled:!1,mode:"islands",clientEntry:"src/client.ts",autoMarkers:!0,preload:"lazy"},router:{enabled:!0,container:"#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}};SQ=new Map;u7=new Proxy(B1,{get($,Z){if(x5&&Z in x5)return x5[Z];if(!B7)k5().catch((Y)=>{console.warn("[stx] Failed to load config file:",Y?.message||Y)});return $[Z]}})});var lH=`
|
|
12221
12221
|
<script>
|
|
12222
12222
|
(function() {
|
|
12223
12223
|
'use strict';
|
|
@@ -12683,7 +12683,7 @@ else if (data.type === 'event' && data.method) {
|
|
|
12683
12683
|
}
|
|
12684
12684
|
})();
|
|
12685
12685
|
</script>
|
|
12686
|
-
`;function
|
|
12686
|
+
`;function j9($={}){let{debug:Z=!1,timeout:Y=30000}=$;return`
|
|
12687
12687
|
<script>
|
|
12688
12688
|
(function() {
|
|
12689
12689
|
'use strict';
|
|
@@ -13149,14 +13149,14 @@ else if (data.type === 'event' && data.method) {
|
|
|
13149
13149
|
}
|
|
13150
13150
|
})();
|
|
13151
13151
|
</script>
|
|
13152
|
-
`.replace("debug: false,",`debug: ${Z},`).replace("timeout: 30000",`timeout: ${Y}`)}function
|
|
13152
|
+
`.replace("debug: false,",`debug: ${Z},`).replace("timeout: 30000",`timeout: ${Y}`)}function cH(){return!1}function pH($,Z={}){let Y=/@craft(?:\(([\s\S]*?)\))?/g;return $.replace(Y,(X,Q)=>{let J={};if(Q)try{J=JSON.parse(Q.replace(/'/g,'"'))}catch{try{J=Function(`return ${Q}`)()}catch{console.warn(`[stx] Invalid @craft config: ${Q}`)}}return j9(J)})}function H9($,Z={}){if($.includes("__craftBridgeInitialized"))return $;let Y=j9(Z);if($.includes("</head>"))return $.replace("</head>",`${Y}
|
|
13153
13153
|
</head>`);if($.includes("<body"))return $.replace(/(<body[^>]*>)/,`$1
|
|
13154
|
-
${Y}`);return Y+$}var hQ=new Map([["craft-button",{name:"Button",zigType:"craft.Button",props:[{name:"variant",type:"string",required:!1,default:"primary"},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onclick",type:"callback",required:!1}],children:"single"}],["craft-text-input",{name:"TextInput",zigType:"craft.TextInput",props:[{name:"value",type:"string",required:!1,default:""},{name:"placeholder",type:"string",required:!1},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-textarea",{name:"TextArea",zigType:"craft.TextArea",props:[{name:"value",type:"string",required:!1,default:""},{name:"placeholder",type:"string",required:!1},{name:"rows",type:"number",required:!1,default:3},{name:"disabled",type:"boolean",required:!1,default:!1}],children:"none"}],["craft-checkbox",{name:"Checkbox",zigType:"craft.Checkbox",props:[{name:"checked",type:"boolean",required:!1,default:!1},{name:"label",type:"string",required:!1},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-select",{name:"Select",zigType:"craft.Select",props:[{name:"value",type:"string",required:!1},{name:"options",type:"array",required:!0},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-slider",{name:"Slider",zigType:"craft.Slider",props:[{name:"value",type:"number",required:!1,default:0},{name:"min",type:"number",required:!1,default:0},{name:"max",type:"number",required:!1,default:100},{name:"step",type:"number",required:!1,default:1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-toggle",{name:"Toggle",zigType:"craft.Toggle",props:[{name:"checked",type:"boolean",required:!1,default:!1},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-modal",{name:"Modal",zigType:"craft.Modal",props:[{name:"open",type:"boolean",required:!1,default:!1},{name:"title",type:"string",required:!1},{name:"closable",type:"boolean",required:!1,default:!0},{name:"onclose",type:"callback",required:!1}],children:"multiple"}],["craft-alert",{name:"Alert",zigType:"craft.Alert",props:[{name:"variant",type:"string",required:!1,default:"info"},{name:"title",type:"string",required:!1},{name:"dismissible",type:"boolean",required:!1,default:!1}],children:"single"}],["craft-progress",{name:"ProgressBar",zigType:"craft.ProgressBar",props:[{name:"value",type:"number",required:!1,default:0},{name:"max",type:"number",required:!1,default:100},{name:"indeterminate",type:"boolean",required:!1,default:!1}],children:"none"}],["craft-spinner",{name:"Spinner",zigType:"craft.Spinner",props:[{name:"size",type:"number",required:!1,default:24}],children:"none"}],["craft-avatar",{name:"Avatar",zigType:"craft.Avatar",props:[{name:"src",type:"string",required:!1},{name:"alt",type:"string",required:!1},{name:"size",type:"number",required:!1,default:40}],children:"none"}],["craft-badge",{name:"Badge",zigType:"craft.Badge",props:[{name:"variant",type:"string",required:!1,default:"default"}],children:"single"}],["craft-card",{name:"Card",zigType:"craft.Card",props:[{name:"padding",type:"number",required:!1,default:16}],children:"multiple"}],["craft-sidebar",{name:"Sidebar",zigType:"craft.NativeSidebar",props:[{name:"id",type:"string",required:!1},{name:"variant",type:"string",required:!1,default:"desktop"},{name:"material",type:"string",required:!1,default:"sidebar"},{name:"backgroundEffect",type:"string",required:!1,default:"shimmer"},{name:"allowsVibrancy",type:"boolean",required:!1,default:!0},{name:"materialOpacity",type:"number",required:!1,default:0.68},{name:"minWidth",type:"number",required:!1,default:240},{name:"maxWidth",type:"number",required:!1,default:340},{name:"canCollapse",type:"boolean",required:!1,default:!0},{name:"selectedItem",type:"string",required:!1},{name:"sections",type:"array",required:!1}],children:"multiple",platform:["macos"],fallback:"aside"}],["craft-sidebar-section",{name:"SidebarSection",zigType:"craft.NativeSidebarSection",props:[{name:"id",type:"string",required:!0},{name:"title",type:"string",required:!1},{name:"header",type:"string",required:!1}],children:"multiple",platform:["macos"],fallback:"section"}],["craft-sidebar-item",{name:"SidebarItem",zigType:"craft.NativeSidebarItem",props:[{name:"id",type:"string",required:!0},{name:"label",type:"string",required:!0},{name:"icon",type:"string",required:!1},{name:"badge",type:"string",required:!1},{name:"tintColor",type:"color",required:!1}],children:"none",platform:["macos"],fallback:"button"}],["craft-accordion",{name:"Accordion",zigType:"craft.Accordion",props:[{name:"title",type:"string",required:!0},{name:"open",type:"boolean",required:!1,default:!1}],children:"multiple"}],["craft-tabs",{name:"TabView",zigType:"craft.TabView",props:[{name:"activeTab",type:"number",required:!1,default:0},{name:"ontabchange",type:"callback",required:!1}],children:"multiple"}],["craft-tooltip",{name:"Tooltip",zigType:"craft.Tooltip",props:[{name:"content",type:"string",required:!0},{name:"position",type:"string",required:!1,default:"top"}],children:"single"}],["craft-date-picker",{name:"DatePicker",zigType:"craft.DatePicker",props:[{name:"value",type:"string",required:!1},{name:"min",type:"string",required:!1},{name:"max",type:"string",required:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-time-picker",{name:"TimePicker",zigType:"craft.TimePicker",props:[{name:"value",type:"string",required:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-color-picker",{name:"ColorPicker",zigType:"craft.ColorPicker",props:[{name:"value",type:"color",required:!1,default:"#000000"},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-data-table",{name:"DataTable",zigType:"craft.DataTable",props:[{name:"data",type:"array",required:!0},{name:"columns",type:"array",required:!0},{name:"sortable",type:"boolean",required:!1,default:!1},{name:"paginated",type:"boolean",required:!1,default:!1}],children:"none"}],["craft-virtual-list",{name:"VirtualList",zigType:"craft.VirtualList",props:[{name:"items",type:"array",required:!0},{name:"itemHeight",type:"number",required:!1,default:48},{name:"renderItem",type:"callback",required:!0}],children:"none"}],["craft-tree-view",{name:"TreeView",zigType:"craft.TreeView",props:[{name:"data",type:"object",required:!0},{name:"expandable",type:"boolean",required:!1,default:!0}],children:"none"}]]);async function cH($,Z={}){let Y=performance.now(),X={target:Z.target||"universal",format:Z.format||"zig",optimize:Z.optimize??!0,treeShake:Z.treeShake??!0,hotReload:Z.hotReload??!1,debug:Z.debug??!1,sourceMaps:Z.sourceMaps??!1,bundle:Z.bundle??!0,minify:Z.minify??!1,components:Z.components||hQ},Q=typeof $==="string"?uQ($):$,J=mQ(Q.tree,X),G=oQ(J),K=X.treeShake?aQ(J,G):J,q=new Map;if(X.target==="universal"){let B=["macos","windows","linux","ios","android"];for(let j of B){let H=H7(K,{...X,target:j});q.set(j,H)}}else{let B=H7(K,X);q.set(X.target,B)}let W=$G(K,X,q),U=ZG(Q,K,X),z={compilationTime:performance.now()-Y,totalComponents:O7(Q.tree),nativeComponents:L7(K),webComponents:O7(Q.tree)-L7(K),bundleSize:W.length,treeShakenSize:X.treeShake?tQ(J,K):W.length,warnings:[],errors:[]},_;if(X.sourceMaps)_=YG(Q,K);return{code:W,platformCode:q,dependencies:G,manifest:U,sourceMaps:_,stats:z}}function uQ($){let Z={type:"fragment",children:[]},Y=$.match(/<body[^>]*>([\s\S]*?)<\/body>/i),X=Y?Y[1]:$;return O9(X,Z),{id:A9(),hash:R9($),tree:Z,scripts:QG($),styles:GG($),staticParts:new Map,dynamicParts:new Map,dependencies:[],metadata:{hasSlots:!1,hasDynamicContent:$.includes("{{"),hasEventHandlers:$.includes("onclick")||$.includes("onchange"),hasAsyncContent:!1,componentCount:0,maxDepth:0,estimatedSize:$.length}}}function O9($,Z){let Y=/<(@?[\w-]+)([^>]*)(?:\/>|>([\s\S]*?)<\/\1>)/g,X;while((X=Y.exec($))!==null){let[,Q,J,G]=X,K=Q.startsWith("@craft-"),q={type:K?"component":"element",tag:K?Q.slice(1):Q,props:dQ(J),children:[],componentName:K?Q.slice(1):void 0};if(G){let W=G.replace(/<[^>]+>/g,"").trim();if(W)q.children=q.children??[],q.children.push({type:"text",text:W});O9(G,q)}Z.children=Z.children??[],Z.children.push(q)}}function dQ($){let Z={},Y=/([\w-:@]+)(?:=["']([^"']*)["'])?/g,X;while((X=Y.exec($))!==null){let[,Q,J]=X;Z[Q]=J??!0}return Z}function mQ($,Z){return L9($,Z)}function L9($,Z){let Y=$.componentName?Z.components?.get($.componentName):void 0,X="craft.View";if(Y)X=Y.zigType;else if($.type==="text")X="craft.Text";else if($.tag)X=lQ($.tag);let Q={};if($.props)for(let[q,W]of Object.entries($.props))Q[q]=cQ(W);let J=[];if($.children)for(let q of $.children)J.push(L9(q,Z));let G=new Map;if($.props){for(let[q,W]of Object.entries($.props))if(q.startsWith("on")&&typeof W==="string")G.set(q.slice(2).toLowerCase(),W)}let K=iQ($);return{type:pQ($,Y),zigType:X,props:Q,children:J,events:G,styles:K,id:$.hydrationKey,key:$.props?.key}}function lQ($){return{div:"craft.View",span:"craft.Text",p:"craft.Text",h1:"craft.Text",h2:"craft.Text",h3:"craft.Text",h4:"craft.Text",h5:"craft.Text",h6:"craft.Text",button:"craft.Button",input:"craft.TextInput",textarea:"craft.TextArea",select:"craft.Select",img:"craft.Image",a:"craft.Link",ul:"craft.List",ol:"craft.List",li:"craft.ListItem",form:"craft.Form",label:"craft.Label",nav:"craft.View",header:"craft.View",footer:"craft.View",main:"craft.View",section:"craft.View",article:"craft.View",aside:"craft.View"}[$.toLowerCase()]||"craft.View"}function cQ($){if(typeof $==="string"){if($.startsWith("{{")&&$.endsWith("}}"))return{type:"binding",path:$.slice(2,-2).trim()};if($.includes("(")&&$.includes(")"))return{type:"callback",handler:$};return{type:"literal",value:$}}if(typeof $==="number"||typeof $==="boolean")return{type:"literal",value:$};return{type:"literal",value:String($)}}function pQ($,Z){if(Z){let X=Z.name.toLowerCase();if(X.includes("button"))return"button";if(X.includes("input")||X.includes("text"))return"input";if(X.includes("image")||X.includes("avatar"))return"image";if(X.includes("list")||X.includes("table"))return"list";if(X.includes("scroll"))return"scroll";return"custom"}if($.type==="text")return"text";let Y=$.tag?.toLowerCase();if(Y==="button")return"button";if(Y==="input"||Y==="textarea")return"input";if(Y==="img")return"image";if(Y==="ul"||Y==="ol")return"list";return"view"}function iQ($){let Z=$.props?.style,Y={},X={};if(Z){let Q=Z.split(";").filter(Boolean);for(let J of Q){let[G,K]=J.split(":").map((q)=>q.trim());if(!G||!K)continue;switch(G){case"display":Y.display=K;break;case"flex-direction":Y.flexDirection=K;break;case"justify-content":Y.justifyContent=nQ(K);break;case"align-items":Y.alignItems=sQ(K);break;case"gap":Y.gap=Number.parseInt(K,10);break;case"padding":Y.padding=Number.parseInt(K,10);break;case"margin":Y.margin=Number.parseInt(K,10);break;case"width":Y.width=K==="auto"?"auto":Number.parseInt(K,10);break;case"height":Y.height=K==="auto"?"auto":Number.parseInt(K,10);break;case"background-color":case"background":X.backgroundColor=K;break;case"border-color":X.borderColor=K;break;case"border-width":X.borderWidth=Number.parseInt(K,10);break;case"border-radius":X.borderRadius=Number.parseInt(K,10);break;case"opacity":X.opacity=Number.parseFloat(K);break}}}return{layout:Y,appearance:X}}function nQ($){return{"flex-start":"start","flex-end":"end",center:"center","space-between":"between","space-around":"around"}[$]||"start"}function sQ($){return{"flex-start":"start","flex-end":"end",center:"center",stretch:"stretch"}[$]||"start"}function oQ($){let Z=[],Y=new Set;function X(Q,J){let G=Q.id||A9();if(Y.has(G))return;Y.add(G);let K={id:G,type:"component",path:Q.zigType,dependencies:J?[J]:[],size:F9(Q),isStatic:rQ(Q)};Z.push(K);for(let q of Q.children)X(q,G)}return X($),Z}function F9($){let Z=100;return Z+=Object.keys($.props).length*20,Z+=$.events.size*50,Z}function rQ($){for(let Z of Object.values($.props))if(Z.type!=="literal")return!1;return $.events.size===0}function aQ($,Z){return $}function tQ($,Z){let Y=0;function X(Q){Y+=F9(Q);for(let J of Q.children)X(J)}return X(Z),Y}function H7($,Z){switch(Z.format){case"zig":return H9($,Z);case"typescript":return eQ($,Z);case"json":return JSON.stringify($,null,Z.minify?0:2);default:return H9($,Z)}}function H9($,Z){let Y=[];return Y.push("// Auto-generated by stx compiler"),Y.push("// Target: "+Z.target),Y.push(""),Y.push('const std = @import("std");'),Y.push('const craft = @import("craft");'),Y.push(""),Y.push("pub fn render(allocator: std.mem.Allocator) !craft.Element {"),Y.push(" return try build(allocator);"),Y.push("}"),Y.push(""),V9($,Y,0),Y.join(`
|
|
13155
|
-
`)}function
|
|
13156
|
-
`)}function
|
|
13154
|
+
${Y}`);return Y+$}var dQ=new Map([["craft-button",{name:"Button",zigType:"craft.Button",props:[{name:"variant",type:"string",required:!1,default:"primary"},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onclick",type:"callback",required:!1}],children:"single"}],["craft-text-input",{name:"TextInput",zigType:"craft.TextInput",props:[{name:"value",type:"string",required:!1,default:""},{name:"placeholder",type:"string",required:!1},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-textarea",{name:"TextArea",zigType:"craft.TextArea",props:[{name:"value",type:"string",required:!1,default:""},{name:"placeholder",type:"string",required:!1},{name:"rows",type:"number",required:!1,default:3},{name:"disabled",type:"boolean",required:!1,default:!1}],children:"none"}],["craft-checkbox",{name:"Checkbox",zigType:"craft.Checkbox",props:[{name:"checked",type:"boolean",required:!1,default:!1},{name:"label",type:"string",required:!1},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-select",{name:"Select",zigType:"craft.Select",props:[{name:"value",type:"string",required:!1},{name:"options",type:"array",required:!0},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-slider",{name:"Slider",zigType:"craft.Slider",props:[{name:"value",type:"number",required:!1,default:0},{name:"min",type:"number",required:!1,default:0},{name:"max",type:"number",required:!1,default:100},{name:"step",type:"number",required:!1,default:1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-toggle",{name:"Toggle",zigType:"craft.Toggle",props:[{name:"checked",type:"boolean",required:!1,default:!1},{name:"disabled",type:"boolean",required:!1,default:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-modal",{name:"Modal",zigType:"craft.Modal",props:[{name:"open",type:"boolean",required:!1,default:!1},{name:"title",type:"string",required:!1},{name:"closable",type:"boolean",required:!1,default:!0},{name:"onclose",type:"callback",required:!1}],children:"multiple"}],["craft-alert",{name:"Alert",zigType:"craft.Alert",props:[{name:"variant",type:"string",required:!1,default:"info"},{name:"title",type:"string",required:!1},{name:"dismissible",type:"boolean",required:!1,default:!1}],children:"single"}],["craft-progress",{name:"ProgressBar",zigType:"craft.ProgressBar",props:[{name:"value",type:"number",required:!1,default:0},{name:"max",type:"number",required:!1,default:100},{name:"indeterminate",type:"boolean",required:!1,default:!1}],children:"none"}],["craft-spinner",{name:"Spinner",zigType:"craft.Spinner",props:[{name:"size",type:"number",required:!1,default:24}],children:"none"}],["craft-avatar",{name:"Avatar",zigType:"craft.Avatar",props:[{name:"src",type:"string",required:!1},{name:"alt",type:"string",required:!1},{name:"size",type:"number",required:!1,default:40}],children:"none"}],["craft-badge",{name:"Badge",zigType:"craft.Badge",props:[{name:"variant",type:"string",required:!1,default:"default"}],children:"single"}],["craft-card",{name:"Card",zigType:"craft.Card",props:[{name:"padding",type:"number",required:!1,default:16}],children:"multiple"}],["craft-sidebar",{name:"Sidebar",zigType:"craft.NativeSidebar",props:[{name:"id",type:"string",required:!1},{name:"variant",type:"string",required:!1,default:"desktop"},{name:"material",type:"string",required:!1,default:"sidebar"},{name:"backgroundEffect",type:"string",required:!1,default:"shimmer"},{name:"allowsVibrancy",type:"boolean",required:!1,default:!0},{name:"materialOpacity",type:"number",required:!1,default:0.68},{name:"minWidth",type:"number",required:!1,default:240},{name:"maxWidth",type:"number",required:!1,default:340},{name:"canCollapse",type:"boolean",required:!1,default:!0},{name:"selectedItem",type:"string",required:!1},{name:"sections",type:"array",required:!1}],children:"multiple",platform:["macos"],fallback:"aside"}],["craft-sidebar-section",{name:"SidebarSection",zigType:"craft.NativeSidebarSection",props:[{name:"id",type:"string",required:!0},{name:"title",type:"string",required:!1},{name:"header",type:"string",required:!1}],children:"multiple",platform:["macos"],fallback:"section"}],["craft-sidebar-item",{name:"SidebarItem",zigType:"craft.NativeSidebarItem",props:[{name:"id",type:"string",required:!0},{name:"label",type:"string",required:!0},{name:"icon",type:"string",required:!1},{name:"badge",type:"string",required:!1},{name:"tintColor",type:"color",required:!1}],children:"none",platform:["macos"],fallback:"button"}],["craft-accordion",{name:"Accordion",zigType:"craft.Accordion",props:[{name:"title",type:"string",required:!0},{name:"open",type:"boolean",required:!1,default:!1}],children:"multiple"}],["craft-tabs",{name:"TabView",zigType:"craft.TabView",props:[{name:"activeTab",type:"number",required:!1,default:0},{name:"ontabchange",type:"callback",required:!1}],children:"multiple"}],["craft-tooltip",{name:"Tooltip",zigType:"craft.Tooltip",props:[{name:"content",type:"string",required:!0},{name:"position",type:"string",required:!1,default:"top"}],children:"single"}],["craft-date-picker",{name:"DatePicker",zigType:"craft.DatePicker",props:[{name:"value",type:"string",required:!1},{name:"min",type:"string",required:!1},{name:"max",type:"string",required:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-time-picker",{name:"TimePicker",zigType:"craft.TimePicker",props:[{name:"value",type:"string",required:!1},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-color-picker",{name:"ColorPicker",zigType:"craft.ColorPicker",props:[{name:"value",type:"color",required:!1,default:"#000000"},{name:"onchange",type:"callback",required:!1}],children:"none"}],["craft-data-table",{name:"DataTable",zigType:"craft.DataTable",props:[{name:"data",type:"array",required:!0},{name:"columns",type:"array",required:!0},{name:"sortable",type:"boolean",required:!1,default:!1},{name:"paginated",type:"boolean",required:!1,default:!1}],children:"none"}],["craft-virtual-list",{name:"VirtualList",zigType:"craft.VirtualList",props:[{name:"items",type:"array",required:!0},{name:"itemHeight",type:"number",required:!1,default:48},{name:"renderItem",type:"callback",required:!0}],children:"none"}],["craft-tree-view",{name:"TreeView",zigType:"craft.TreeView",props:[{name:"data",type:"object",required:!0},{name:"expandable",type:"boolean",required:!1,default:!0}],children:"none"}]]);async function nH($,Z={}){let Y=performance.now(),X={target:Z.target||"universal",format:Z.format||"zig",optimize:Z.optimize??!0,treeShake:Z.treeShake??!0,hotReload:Z.hotReload??!1,debug:Z.debug??!1,sourceMaps:Z.sourceMaps??!1,bundle:Z.bundle??!0,minify:Z.minify??!1,components:Z.components||dQ},Q=typeof $==="string"?mQ($):$,J=cQ(Q.tree,X),G=aQ(J),K=X.treeShake?eQ(J,G):J,q=new Map;if(X.target==="universal"){let B=["macos","windows","linux","ios","android"];for(let j of B){let H=L7(K,{...X,target:j});q.set(j,H)}}else{let B=L7(K,X);q.set(X.target,B)}let W=YG(K,X,q),U=XG(Q,K,X),z={compilationTime:performance.now()-Y,totalComponents:F7(Q.tree),nativeComponents:V7(K),webComponents:F7(Q.tree)-V7(K),bundleSize:W.length,treeShakenSize:X.treeShake?$G(J,K):W.length,warnings:[],errors:[]},_;if(X.sourceMaps)_=JG(Q,K);return{code:W,platformCode:q,dependencies:G,manifest:U,sourceMaps:_,stats:z}}function mQ($){let Z={type:"fragment",children:[]},Y=$.match(/<body[^>]*>([\s\S]*?)<\/body>/i),X=Y?Y[1]:$;return L9(X,Z),{id:R9(),hash:M9($),tree:Z,scripts:KG($),styles:qG($),staticParts:new Map,dynamicParts:new Map,dependencies:[],metadata:{hasSlots:!1,hasDynamicContent:$.includes("{{"),hasEventHandlers:$.includes("onclick")||$.includes("onchange"),hasAsyncContent:!1,componentCount:0,maxDepth:0,estimatedSize:$.length}}}function L9($,Z){let Y=/<(@?[\w-]+)([^>]*)(?:\/>|>([\s\S]*?)<\/\1>)/g,X;while((X=Y.exec($))!==null){let[,Q,J,G]=X,K=Q.startsWith("@craft-"),q={type:K?"component":"element",tag:K?Q.slice(1):Q,props:lQ(J),children:[],componentName:K?Q.slice(1):void 0};if(G){let W=G.replace(/<[^>]+>/g,"").trim();if(W)q.children=q.children??[],q.children.push({type:"text",text:W});L9(G,q)}Z.children=Z.children??[],Z.children.push(q)}}function lQ($){let Z={},Y=/([\w-:@]+)(?:=["']([^"']*)["'])?/g,X;while((X=Y.exec($))!==null){let[,Q,J]=X;Z[Q]=J??!0}return Z}function cQ($,Z){return F9($,Z)}function F9($,Z){let Y=$.componentName?Z.components?.get($.componentName):void 0,X="craft.View";if(Y)X=Y.zigType;else if($.type==="text")X="craft.Text";else if($.tag)X=pQ($.tag);let Q={};if($.props)for(let[q,W]of Object.entries($.props))Q[q]=iQ(W);let J=[];if($.children)for(let q of $.children)J.push(F9(q,Z));let G=new Map;if($.props){for(let[q,W]of Object.entries($.props))if(q.startsWith("on")&&typeof W==="string")G.set(q.slice(2).toLowerCase(),W)}let K=sQ($);return{type:nQ($,Y),zigType:X,props:Q,children:J,events:G,styles:K,id:$.hydrationKey,key:$.props?.key}}function pQ($){return{div:"craft.View",span:"craft.Text",p:"craft.Text",h1:"craft.Text",h2:"craft.Text",h3:"craft.Text",h4:"craft.Text",h5:"craft.Text",h6:"craft.Text",button:"craft.Button",input:"craft.TextInput",textarea:"craft.TextArea",select:"craft.Select",img:"craft.Image",a:"craft.Link",ul:"craft.List",ol:"craft.List",li:"craft.ListItem",form:"craft.Form",label:"craft.Label",nav:"craft.View",header:"craft.View",footer:"craft.View",main:"craft.View",section:"craft.View",article:"craft.View",aside:"craft.View"}[$.toLowerCase()]||"craft.View"}function iQ($){if(typeof $==="string"){if($.startsWith("{{")&&$.endsWith("}}"))return{type:"binding",path:$.slice(2,-2).trim()};if($.includes("(")&&$.includes(")"))return{type:"callback",handler:$};return{type:"literal",value:$}}if(typeof $==="number"||typeof $==="boolean")return{type:"literal",value:$};return{type:"literal",value:String($)}}function nQ($,Z){if(Z){let X=Z.name.toLowerCase();if(X.includes("button"))return"button";if(X.includes("input")||X.includes("text"))return"input";if(X.includes("image")||X.includes("avatar"))return"image";if(X.includes("list")||X.includes("table"))return"list";if(X.includes("scroll"))return"scroll";return"custom"}if($.type==="text")return"text";let Y=$.tag?.toLowerCase();if(Y==="button")return"button";if(Y==="input"||Y==="textarea")return"input";if(Y==="img")return"image";if(Y==="ul"||Y==="ol")return"list";return"view"}function sQ($){let Z=$.props?.style,Y={},X={};if(Z){let Q=Z.split(";").filter(Boolean);for(let J of Q){let[G,K]=J.split(":").map((q)=>q.trim());if(!G||!K)continue;switch(G){case"display":Y.display=K;break;case"flex-direction":Y.flexDirection=K;break;case"justify-content":Y.justifyContent=oQ(K);break;case"align-items":Y.alignItems=rQ(K);break;case"gap":Y.gap=Number.parseInt(K,10);break;case"padding":Y.padding=Number.parseInt(K,10);break;case"margin":Y.margin=Number.parseInt(K,10);break;case"width":Y.width=K==="auto"?"auto":Number.parseInt(K,10);break;case"height":Y.height=K==="auto"?"auto":Number.parseInt(K,10);break;case"background-color":case"background":X.backgroundColor=K;break;case"border-color":X.borderColor=K;break;case"border-width":X.borderWidth=Number.parseInt(K,10);break;case"border-radius":X.borderRadius=Number.parseInt(K,10);break;case"opacity":X.opacity=Number.parseFloat(K);break}}}return{layout:Y,appearance:X}}function oQ($){return{"flex-start":"start","flex-end":"end",center:"center","space-between":"between","space-around":"around"}[$]||"start"}function rQ($){return{"flex-start":"start","flex-end":"end",center:"center",stretch:"stretch"}[$]||"start"}function aQ($){let Z=[],Y=new Set;function X(Q,J){let G=Q.id||R9();if(Y.has(G))return;Y.add(G);let K={id:G,type:"component",path:Q.zigType,dependencies:J?[J]:[],size:V9(Q),isStatic:tQ(Q)};Z.push(K);for(let q of Q.children)X(q,G)}return X($),Z}function V9($){let Z=100;return Z+=Object.keys($.props).length*20,Z+=$.events.size*50,Z}function tQ($){for(let Z of Object.values($.props))if(Z.type!=="literal")return!1;return $.events.size===0}function eQ($,Z){return $}function $G($,Z){let Y=0;function X(Q){Y+=V9(Q);for(let J of Q.children)X(J)}return X(Z),Y}function L7($,Z){switch(Z.format){case"zig":return O9($,Z);case"typescript":return ZG($,Z);case"json":return JSON.stringify($,null,Z.minify?0:2);default:return O9($,Z)}}function O9($,Z){let Y=[];return Y.push("// Auto-generated by stx compiler"),Y.push("// Target: "+Z.target),Y.push(""),Y.push('const std = @import("std");'),Y.push('const craft = @import("craft");'),Y.push(""),Y.push("pub fn render(allocator: std.mem.Allocator) !craft.Element {"),Y.push(" return try build(allocator);"),Y.push("}"),Y.push(""),w9($,Y,0),Y.join(`
|
|
13155
|
+
`)}function w9($,Z,Y){let X=" ".repeat(Y);if(Y===0)Z.push("fn build(allocator: std.mem.Allocator) !craft.Element {");let Q=`node_${Y}`;Z.push(`${X} var ${Q} = try ${$.zigType}.init(allocator);`);for(let[J,G]of Object.entries($.props))if(G.type==="literal"){let K=typeof G.value==="string"?`"${G.value}"`:String(G.value);Z.push(`${X} ${Q}.set${GG(J)}(${K});`)}for(let J=0;J<$.children.length;J++){let G=$.children[J];if(G.type==="text"){let K=G.props.text?.type==="literal"?String(G.props.text.value):"";Z.push(`${X} try ${Q}.addChild(try craft.Text.init(allocator, "${K}"));`)}else w9(G,Z,Y+1),Z.push(`${X} try ${Q}.addChild(node_${Y+1});`)}if(Y===0)Z.push(` return ${Q}.element();`),Z.push("}")}function ZG($,Z){let Y=[];return Y.push("// Auto-generated by stx compiler"),Y.push("// Target: "+Z.target),Y.push(""),Y.push('import { Craft } from "@stacksjs/craft";'),Y.push(""),Y.push("export function render(): Craft.Element {"),Y.push(" return "+A9($,1)+";"),Y.push("}"),Y.join(`
|
|
13156
|
+
`)}function A9($,Z){let Y=" ".repeat(Z),X=[];for(let[K,q]of Object.entries($.props))if(q.type==="literal"){let W=typeof q.value==="string"?`"${q.value}"`:String(q.value);X.push(`${K}: ${W}`)}let Q=X.length>0?`{ ${X.join(", ")} }`:"{}",J=$.children.map((K)=>K.type==="text"?`"${K.props.text?.type==="literal"?K.props.text.value:""}"`:A9(K,Z+1)),G=J.length>0?`,
|
|
13157
13157
|
${Y} [${J.join(`,
|
|
13158
|
-
${Y} `)}]`:"";return`Craft.create("${$.zigType}", ${Q}${G})`}function
|
|
13159
|
-
`)}return Y.get(Z.target)||
|
|
13158
|
+
${Y} `)}]`:"";return`Craft.create("${$.zigType}", ${Q}${G})`}function YG($,Z,Y){if(Z.target==="universal"){let X=[];X.push("// Universal entry point"),X.push("");for(let[Q,J]of Y)X.push(`// --- ${Q.toUpperCase()} ---`),X.push(`#if ${Q.toUpperCase()}`),X.push(J),X.push("#endif"),X.push("");return X.join(`
|
|
13159
|
+
`)}return Y.get(Z.target)||L7($,Z)}function XG($,Z,Y){let X=[];function Q(J){X.push({name:J.zigType,hash:M9(JSON.stringify(J.props)),props:Object.keys(J.props),events:Array.from(J.events.keys()),slots:[],isNative:J.zigType.startsWith("craft.")});for(let G of J.children)Q(G)}return Q(Z),{version:"1.0.0",components:X,entry:$.id,assets:[],styles:$.styles}}function JG($,Z){return JSON.stringify({version:3,file:"output.zig",sources:["input.stx"],mappings:""})}var QG=0;function R9(){return`id_${++QG}`}function M9($){let Z=0;for(let Y=0;Y<$.length;Y++){let X=$.charCodeAt(Y);Z=(Z<<5)-Z+X,Z=Z&Z}return Math.abs(Z).toString(36)}function GG($){return $.charAt(0).toUpperCase()+$.slice(1)}function KG($){let Z=[],Y=/<script[^>]*>([\s\S]*?)<\/script>/gi,X;while((X=Y.exec($))!==null)Z.push(X[1]);return Z}function qG($){let Z=[],Y=/<style[^>]*>([\s\S]*?)<\/style>/gi,X;while((X=Y.exec($))!==null)Z.push(X[1]);return Z}function F7($){let Z=$.type==="component"?1:0;if($.children)for(let Y of $.children)Z+=F7(Y);return Z}function V7($){let Z=$.zigType.startsWith("craft.")?1:0;for(let Y of $.children)Z+=V7(Y);return Z}function sH($){return{start:async()=>{console.log("[craft-compiler] Hot reload server started")},stop:async()=>{console.log("[craft-compiler] Hot reload server stopped")},notifyChange:(Z)=>{console.log(`[craft-compiler] File changed: ${Z}`)}}}var w7={button:{nativeType:"craft-button",fallbackTag:"button",fallbackClasses:"craft-button",nativeProps:["variant","size","disabled","loading"]},"text-input":{nativeType:"craft-text-input",fallbackTag:"input",fallbackClasses:"craft-text-input",nativeProps:["placeholder","value","type","disabled","readonly"]},textarea:{nativeType:"craft-textarea",fallbackTag:"textarea",fallbackClasses:"craft-textarea",nativeProps:["placeholder","value","rows","disabled","readonly"]},checkbox:{nativeType:"craft-checkbox",fallbackTag:"input",fallbackClasses:"craft-checkbox",nativeProps:["checked","disabled","label"],render:($,Z)=>{let Y=$.checked?"checked":"",X=$.disabled?"disabled":"";return`<label class="craft-checkbox-wrapper">
|
|
13160
13160
|
<input type="checkbox" class="craft-checkbox" ${Y} ${X}>
|
|
13161
13161
|
<span class="craft-checkbox-label">${Z||$.label||""}</span>
|
|
13162
13162
|
</label>`}},radio:{nativeType:"craft-radio",fallbackTag:"input",fallbackClasses:"craft-radio",nativeProps:["checked","disabled","name","value","label"]},select:{nativeType:"craft-select",fallbackTag:"select",fallbackClasses:"craft-select",nativeProps:["value","disabled","options","placeholder"]},slider:{nativeType:"craft-slider",fallbackTag:"input",fallbackClasses:"craft-slider",nativeProps:["value","min","max","step","disabled"],render:($,Z)=>{let Y=$.min??0,X=$.max??100,Q=$.step??1,J=$.value??50,G=$.disabled?"disabled":"";return`<input type="range" class="craft-slider" min="${Y}" max="${X}" step="${Q}" value="${J}" ${G}>`}},label:{nativeType:"craft-label",fallbackTag:"span",fallbackClasses:"craft-label",nativeProps:["text","for"]},badge:{nativeType:"craft-badge",fallbackTag:"span",fallbackClasses:"craft-badge",nativeProps:["variant","size"]},avatar:{nativeType:"craft-avatar",fallbackTag:"div",fallbackClasses:"craft-avatar",nativeProps:["src","alt","size","fallback"],render:($,Z)=>{let Y=$.size||40,X=$.src,Q=String($.alt||""),J=$.fallback||(Q?Q.charAt(0).toUpperCase():"?");if(X)return`<img class="craft-avatar" src="${X}" alt="${Q}" style="width:${Y}px;height:${Y}px;border-radius:50%">`;return`<div class="craft-avatar craft-avatar-fallback" style="width:${Y}px;height:${Y}px;border-radius:50%;display:flex;align-items:center;justify-content:center">${J}</div>`}},progress:{nativeType:"craft-progress",fallbackTag:"div",fallbackClasses:"craft-progress",nativeProps:["value","max","variant"],render:($,Z)=>{let Y=Number($.value)||0,X=Number($.max)||100;return`<div class="craft-progress"><div class="craft-progress-bar" style="width:${Math.min(100,Math.max(0,Y/X*100))}%"></div></div>`}},spinner:{nativeType:"craft-spinner",fallbackTag:"div",fallbackClasses:"craft-spinner",nativeProps:["size"],render:($,Z)=>{let Y=$.size||24;return`<div class="craft-spinner" style="width:${Y}px;height:${Y}px"></div>`}},card:{nativeType:"craft-card",fallbackTag:"div",fallbackClasses:"craft-card",nativeProps:["title","subtitle","variant"]},modal:{nativeType:"craft-modal",fallbackTag:"dialog",fallbackClasses:"craft-modal",nativeProps:["open","title","closable","size"],render:($,Z)=>{let Y=$.open?"open":"",X=$.title||"";return`<dialog class="craft-modal" ${Y}>
|
|
@@ -13170,7 +13170,7 @@ ${Y} `)}]`:"";return`Craft.create("${$.zigType}", ${Q}${G})`}function $G($,Z,
|
|
|
13170
13170
|
</details>`}},divider:{nativeType:"craft-divider",fallbackTag:"hr",fallbackClasses:"craft-divider",nativeProps:["orientation","variant"]},table:{nativeType:"craft-table",fallbackTag:"table",fallbackClasses:"craft-table",nativeProps:["columns","rows","sortable","selectable"]},list:{nativeType:"craft-list",fallbackTag:"ul",fallbackClasses:"craft-list",nativeProps:["items","selectable"]},tree:{nativeType:"craft-tree",fallbackTag:"div",fallbackClasses:"craft-tree",nativeProps:["nodes","expandable","selectable"]},alert:{nativeType:"craft-alert",fallbackTag:"div",fallbackClasses:"craft-alert",nativeProps:["variant","title","dismissible"],render:($,Z)=>{let Y=$.variant||"info",X=$.title||"";return`<div class="craft-alert craft-alert-${Y}" role="alert">
|
|
13171
13171
|
${X?`<div class="craft-alert-title">${X}</div>`:""}
|
|
13172
13172
|
<div class="craft-alert-content">${Z}</div>
|
|
13173
|
-
</div>`}},toast:{nativeType:"craft-toast",fallbackTag:"div",fallbackClasses:"craft-toast",nativeProps:["variant","duration","position"]},tooltip:{nativeType:"craft-tooltip",fallbackTag:"span",fallbackClasses:"craft-tooltip",nativeProps:["content","position"],render:($,Z)=>{let Y=$.content||"",X=$.position||"top";return`<span class="craft-tooltip" data-tooltip="${Y}" data-position="${X}">${Z}</span>`}},menu:{nativeType:"craft-menu",fallbackTag:"nav",fallbackClasses:"craft-menu",nativeProps:["items","orientation"]},breadcrumb:{nativeType:"craft-breadcrumb",fallbackTag:"nav",fallbackClasses:"craft-breadcrumb",nativeProps:["items","separator"]},sidebar:{nativeType:"craft-sidebar",fallbackTag:"aside",fallbackClasses:"craft-sidebar craft-sidebar-tahoe",nativeProps:["id","variant","material","backgroundEffect","allowsVibrancy","materialOpacity","materialDarkOpacity","minWidth","maxWidth","canCollapse","searchPlaceholder","selectedItem","sections","spaces","selectedSpace"],render:
|
|
13173
|
+
</div>`}},toast:{nativeType:"craft-toast",fallbackTag:"div",fallbackClasses:"craft-toast",nativeProps:["variant","duration","position"]},tooltip:{nativeType:"craft-tooltip",fallbackTag:"span",fallbackClasses:"craft-tooltip",nativeProps:["content","position"],render:($,Z)=>{let Y=$.content||"",X=$.position||"top";return`<span class="craft-tooltip" data-tooltip="${Y}" data-position="${X}">${Z}</span>`}},menu:{nativeType:"craft-menu",fallbackTag:"nav",fallbackClasses:"craft-menu",nativeProps:["items","orientation"]},breadcrumb:{nativeType:"craft-breadcrumb",fallbackTag:"nav",fallbackClasses:"craft-breadcrumb",nativeProps:["items","separator"]},sidebar:{nativeType:"craft-sidebar",fallbackTag:"aside",fallbackClasses:"craft-sidebar craft-sidebar-tahoe",nativeProps:["id","variant","material","backgroundEffect","allowsVibrancy","materialOpacity","materialDarkOpacity","minWidth","maxWidth","canCollapse","searchPlaceholder","selectedItem","sections","spaces","selectedSpace"],render:WG},"sidebar-space":{nativeType:"craft-sidebar-space",fallbackTag:"section",fallbackClasses:"craft-sidebar-space",nativeProps:["id","label","icon","tint"],render:UG},"sidebar-section":{nativeType:"craft-sidebar-section",fallbackTag:"section",fallbackClasses:"craft-sidebar-section",nativeProps:["id","title","header"],render:zG},"sidebar-item":{nativeType:"craft-sidebar-item",fallbackTag:"button",fallbackClasses:"craft-sidebar-item",nativeProps:["id","label","icon","badge","tintColor"],render:_G},pagination:{nativeType:"craft-pagination",fallbackTag:"nav",fallbackClasses:"craft-pagination",nativeProps:["total","page","pageSize"]},"code-editor":{nativeType:"craft-code-editor",fallbackTag:"textarea",fallbackClasses:"craft-code-editor",nativeProps:["value","language","theme","readonly","lineNumbers"]},"file-browser":{nativeType:"craft-file-browser",fallbackTag:"div",fallbackClasses:"craft-file-browser",nativeProps:["path","showHidden","selectable"]},"color-picker":{nativeType:"craft-color-picker",fallbackTag:"input",fallbackClasses:"craft-color-picker",nativeProps:["value","format"],render:($,Z)=>{return`<input type="color" class="craft-color-picker" value="${$.value||"#000000"}">`}},"date-picker":{nativeType:"craft-date-picker",fallbackTag:"input",fallbackClasses:"craft-date-picker",nativeProps:["value","min","max","format"],render:($,Z)=>{let Y=$.value||"",X=$.min||"",Q=$.max||"";return`<input type="date" class="craft-date-picker" value="${Y}" min="${X}" max="${Q}">`}},"time-picker":{nativeType:"craft-time-picker",fallbackTag:"input",fallbackClasses:"craft-time-picker",nativeProps:["value","min","max","step"],render:($,Z)=>{return`<input type="time" class="craft-time-picker" value="${$.value||""}">`}}},N9=`
|
|
13174
13174
|
<style id="craft-component-styles">
|
|
13175
13175
|
/* Craft Component Base Styles */
|
|
13176
13176
|
.craft-button {
|
|
@@ -13588,7 +13588,7 @@ ${Y} `)}]`:"";return`Craft.create("${$.zigType}", ${Q}${G})`}function $G($,Z,
|
|
|
13588
13588
|
}
|
|
13589
13589
|
}
|
|
13590
13590
|
</style>
|
|
13591
|
-
`,
|
|
13591
|
+
`,rH=`
|
|
13592
13592
|
<script id="craft-component-runtime">
|
|
13593
13593
|
(function() {
|
|
13594
13594
|
if (window.__stxCraftComponentRuntime) return;
|
|
@@ -13692,7 +13692,7 @@ ${Y} `)}]`:"";return`Craft.create("${$.zigType}", ${Q}${G})`}function $G($,Z,
|
|
|
13692
13692
|
document.addEventListener('craft:nativeui:ready', initializeCraftComponents);
|
|
13693
13693
|
})();
|
|
13694
13694
|
</script>
|
|
13695
|
-
`;function
|
|
13695
|
+
`;function T9($,Z={}){let{classPrefix:Y="craft"}=Z;if(!$.includes("craft-component-styles"))if($.includes("</head>"))$=$.replace("</head>",`${`
|
|
13696
13696
|
<style id="craft-component-styles">
|
|
13697
13697
|
/* Craft Component Base Styles */
|
|
13698
13698
|
.craft-button {
|
|
@@ -15157,35 +15157,35 @@ ${Y} `)}]`:"";return`Craft.create("${$.zigType}", ${Q}${G})`}function $G($,Z,
|
|
|
15157
15157
|
document.addEventListener('craft:nativeui:ready', initializeCraftComponents);
|
|
15158
15158
|
})();
|
|
15159
15159
|
</script>
|
|
15160
|
-
`;return $=$.replace(/<@craft-sidebar(?![-\w])\s*([^>]*)>([\s\S]*?)<\/@craft-sidebar>/g,(X,Q,J)=>{return
|
|
15160
|
+
`;return $=$.replace(/<@craft-sidebar(?![-\w])\s*([^>]*)>([\s\S]*?)<\/@craft-sidebar>/g,(X,Q,J)=>{return D$("sidebar",Q,J.trim(),Z,Y)}),$=$.replace(/<@craft-sidebar(?![-\w])\s*([^>]*?)\/>/g,(X,Q)=>{return D$("sidebar",Q,"",Z,Y)}),$=$.replace(/<@craft-(\w+[-\w]*)\s*([^>]*?)\/>/g,(X,Q,J)=>{return D$(Q,J,"",Z,Y)}),$=$.replace(/<@craft-(\w+[-\w]*)\s*([^>]*)>([\s\S]*?)<\/@craft-\1>/g,(X,Q,J,G)=>{return D$(Q,J,G.trim(),Z,Y)}),$}function D$($,Z,Y,X,Q){let J=X.components?.[$]||w7[$];if(!J)return console.warn(`[stx] Unknown Craft component: @craft-${$}`),`<div class="${Q}-unknown" data-component="${$}">${Y}</div>`;let G=k$(Z),K=[J.fallbackClasses||`${Q}-${$}`];if(G.class)K.push(G.class),delete G.class;if(J.render)return G.__fallbackClasses=K.join(" "),J.render(G,Y);let q=wG(G,J,K);if(["input","hr","br","img"].includes(J.fallbackTag))return`<${J.fallbackTag} ${q}>`;return`<${J.fallbackTag} ${q}>${Y}</${J.fallbackTag}>`}function k$($){let Z={},Y=/(?::|@)?(\w+[-\w]*)(?:=(?:"([^"]*)"|'([^']*)'))?/g,X;while((X=Y.exec($))!==null){let[Q,J,G,K]=X,q=G??K;if(Q.startsWith(":"))Z[J]=q;else if(Q.startsWith("@"))Z[`on${J.charAt(0).toUpperCase()}${J.slice(1)}`]=q;else if(q===void 0)Z[J]=!0;else Z[J]=q}return Z}function WG($,Z){let Y=J5(String($.id||`craft-sidebar-${FG(Z||JSON.stringify($))}`)),X=HG($.spaces)||jG(Z),Q=X.length?[]:LG($.sections)||I9(Z),J=String($.selectedSpace||X[0]?.id||""),G=X.find((j)=>j.id===J)||X[0],K=String($.selectedItem||$.selected||(X.length?G?.sections[0]?.items[0]?.id:Q[0]?.items[0]?.id)||""),q={id:Y,variant:String($.variant||"desktop"),material:String($.material||"sidebar"),backgroundEffect:String($.backgroundEffect||"shimmer"),allowsVibrancy:$.allowsVibrancy!==!1&&$.allowsVibrancy!=="false",materialOpacity:Number($.materialOpacity??0.68),materialDarkOpacity:$.materialDarkOpacity===void 0?void 0:Number($.materialDarkOpacity),minWidth:$.minWidth===void 0?240:Number($.minWidth),maxWidth:$.maxWidth===void 0?340:Number($.maxWidth),canCollapse:$.canCollapse!==!1&&$.canCollapse!=="false",searchPlaceholder:$.searchPlaceholder?String($.searchPlaceholder):void 0,selectedItem:K,sections:Q,spaces:X,selectedSpace:J||void 0},W=String($.__fallbackClasses||"craft-sidebar craft-sidebar-tahoe"),U=Number($.width||$.sidebarWidth||286),z=$.native===!1||$.native==="false"?"false":"true",_=q.searchPlaceholder?`<div class="craft-sidebar-search"><input type="search" placeholder="${q1(q.searchPlaceholder)}"></div>`:"",B;if(X.length)B=OG(X,J,K);else if(Q.length)B=Q.map((j)=>E9(j,K)).join("");else B=Z;return`<aside class="${g0(W)}" data-craft="craft-sidebar" data-craft-native-sidebar data-craft-sidebar-id="${g0(Y)}" data-native="${z}" style="--craft-sidebar-width:${U}px">
|
|
15161
15161
|
${_}
|
|
15162
15162
|
${B}
|
|
15163
15163
|
</aside>
|
|
15164
|
-
<script type="application/json" data-craft-sidebar-config="${g0(Y)}">${
|
|
15165
|
-
${$.label?`<div class="craft-sidebar-space-title">${
|
|
15164
|
+
<script type="application/json" data-craft-sidebar-config="${g0(Y)}">${VG(q)}</script>`}function UG($,Z){let Y=J5(String($.id||$.label||"space"));return`<section class="craft-sidebar-space" data-craft="craft-sidebar-space" data-space-id="${g0(Y)}">
|
|
15165
|
+
${$.label?`<div class="craft-sidebar-space-title">${q1(String($.label))}</div>`:""}
|
|
15166
15166
|
${Z}
|
|
15167
|
-
</section>`}function
|
|
15168
|
-
${Y?`<div class="craft-sidebar-section-title">${
|
|
15167
|
+
</section>`}function zG($,Z){let Y=String($.header||$.title||"");return`<section class="craft-sidebar-section" data-craft="craft-sidebar-section" data-section-id="${g0(String($.id||"section"))}">
|
|
15168
|
+
${Y?`<div class="craft-sidebar-section-title">${q1(Y)}</div>`:""}
|
|
15169
15169
|
${Z}
|
|
15170
|
-
</section>`}function
|
|
15171
|
-
${J.label?`<div class="craft-sidebar-space-title">${
|
|
15172
|
-
${J.sections.map((G)=>
|
|
15170
|
+
</section>`}function _G($,Z){let Y={id:String($.id||J5(String($.label||Z||"item"))),label:String($.label||Z||""),icon:$.icon?String($.icon):void 0,badge:$.badge?String($.badge):void 0,tintColor:$.tintColor?String($.tintColor):void 0};return D9(Y,String($.selected||"")==="true")}function I9($){let Z=[],Y=/<@craft-sidebar-section\s*([^>]*?)(?:\/>|>([\s\S]*?)<\/@craft-sidebar-section>)/g,X;while((X=Y.exec($))!==null){let Q=k$(X[1]||""),J=X[2]||"",G=String(Q.id||J5(String(Q.header||Q.title||`section-${Z.length+1}`))),K=String(Q.header||Q.title||G),q=BG(J);Z.push({id:G,header:K,title:K,items:q})}return Z}function BG($){let Z=[],Y=/<@craft-sidebar-item\s*([^>]*?)(?:\/>|>([\s\S]*?)<\/@craft-sidebar-item>)/g,X;while((X=Y.exec($))!==null){let Q=k$(X[1]||""),J=String(Q.label||(X[2]||"").replace(/<[^>]*>/g,"").trim()),G=String(Q.id||J5(J||`item-${Z.length+1}`));Z.push({id:G,label:J,icon:Q.icon?String(Q.icon):void 0,badge:Q.badge?String(Q.badge):void 0,tintColor:Q.tintColor?String(Q.tintColor):void 0})}return Z}function jG($){let Z=[],Y=/<@craft-sidebar-space\s*([^>]*?)(?:\/>|>([\s\S]*?)<\/@craft-sidebar-space>)/g,X;while((X=Y.exec($))!==null){let Q=k$(X[1]||""),J=X[2]||"",G=String(Q.label||Q.title||`Space ${Z.length+1}`);Z.push({id:String(Q.id||J5(G)),label:G,icon:Q.icon?String(Q.icon):void 0,tint:Q.tint?String(Q.tint):void 0,sections:I9(J)})}return Z}function HG($){if(!$)return;if(Array.isArray($))return $;if(typeof $!=="string")return;try{let Z=JSON.parse($);return Array.isArray(Z)?Z:void 0}catch{return}}function OG($,Z,Y){let X=$.map((J)=>`<button class="craft-sidebar-space-tab" type="button" data-space-target="${g0(J.id)}" data-selected="${J.id===Z?"true":"false"}" title="${g0(J.label||J.id)}">${J.icon?`<span class="craft-sidebar-item-icon" data-icon="${g0(J.icon)}"></span>`:q1((J.label||J.id).charAt(0))}</button>`).join("");return`<div class="craft-sidebar-spaces">${$.map((J)=>`<section class="craft-sidebar-space" data-space-id="${g0(J.id)}" data-selected="${J.id===Z?"true":"false"}">
|
|
15171
|
+
${J.label?`<div class="craft-sidebar-space-title">${q1(J.label)}</div>`:""}
|
|
15172
|
+
${J.sections.map((G)=>E9(G,Y)).join("")}
|
|
15173
15173
|
</section>`).join("")}</div>
|
|
15174
|
-
<div class="craft-sidebar-space-switcher">${X}</div>`}function
|
|
15175
|
-
<div class="craft-sidebar-section-title">${
|
|
15176
|
-
${$.items.map((X)=>
|
|
15177
|
-
</section>`}function
|
|
15174
|
+
<div class="craft-sidebar-space-switcher">${X}</div>`}function LG($){if(!$)return;if(Array.isArray($))return $;if(typeof $!=="string")return;try{let Z=JSON.parse($);return Array.isArray(Z)?Z:void 0}catch{return}}function E9($,Z){let Y=$.header||$.title||$.id;return`<section class="craft-sidebar-section" data-section-id="${g0($.id)}">
|
|
15175
|
+
<div class="craft-sidebar-section-title">${q1(Y)}</div>
|
|
15176
|
+
${$.items.map((X)=>D9(X,X.id===Z)).join("")}
|
|
15177
|
+
</section>`}function D9($,Z){let Y=$.tintColor?` style="--craft-sidebar-icon-color:${g0($.tintColor)}"`:"";return`<button class="craft-sidebar-item" type="button" data-item-id="${g0($.id)}" data-selected="${Z?"true":"false"}">
|
|
15178
15178
|
${$.icon?`<span class="craft-sidebar-item-icon" data-icon="${g0($.icon)}"${Y}></span>`:""}
|
|
15179
|
-
<span class="craft-sidebar-item-label">${
|
|
15180
|
-
${$.badge?`<span class="craft-sidebar-item-badge">${
|
|
15181
|
-
</button>`}function
|
|
15179
|
+
<span class="craft-sidebar-item-label">${q1($.label)}</span>
|
|
15180
|
+
${$.badge?`<span class="craft-sidebar-item-badge">${q1($.badge)}</span>`:""}
|
|
15181
|
+
</button>`}function J5($){return $.trim().toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/^-|-$/g,"")||"craft-sidebar"}function FG($){let Z=5381;for(let Y=0;Y<$.length;Y++)Z=Z*33^$.charCodeAt(Y);return(Z>>>0).toString(36)}function q1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function g0($){return q1($).replace(/`/g,"`")}function VG($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function wG($,Z,Y){let X=[];X.push(`class="${Y.join(" ")}"`),X.push(`data-craft="${Z.nativeType}"`);for(let[Q,J]of Object.entries($))if(J===!0)X.push(Q);else if(J!==!1&&J!==void 0&&J!==null){let G=String(J).replace(/"/g,""");X.push(`${Q}="${G}"`)}return X.join(" ")}function aH($,Z){w7[$]=Z}function tH(){return{...w7}}var g5=new Map,h5=new Map;function AG($,Z){let Y=Z?.id||PG($),X=CG($),Q=g5.get(Y);if(Q&&Q.hash===X)return Q;let J=RG($),G=kG($),K=bG($),q=EG(J),{staticParts:W,dynamicParts:U}=DG(J),z=SG($),_={id:Y,hash:X,tree:J,scripts:G,styles:K,staticParts:W,dynamicParts:U,dependencies:z,metadata:q};return g5.set(Y,_),_}async function $O($,Z={},Y={}){let X=performance.now();if(Y.cache){let K=`${$.id}:${JSON.stringify(Z)}`,q=h5.get(K);if(q&&Date.now()-q.timestamp<(Y.cacheTTL||60000))return{html:q.html,styles:$.styles.join(`
|
|
15182
15182
|
`),scripts:$.scripts.join(`
|
|
15183
|
-
`),metadata:{renderTime:0,cacheHit:!0,totalSize:q.html.length,componentCount:$.metadata.componentCount}}}let Q;if(Y.streaming)Q=await
|
|
15183
|
+
`),metadata:{renderTime:0,cacheHit:!0,totalSize:q.html.length,componentCount:$.metadata.componentCount}}}let Q;if(Y.streaming)Q=await NG($.tree,Z);else Q=u5($.tree,Z);let J;if(Y.hydrate){let K=IG(Q,$,Z);Q=K.html,J=K.data}if(Y.minify)Q=yG(Q);if(Y.cache){let K=`${$.id}:${JSON.stringify(Z)}`;h5.set(K,{html:Q,timestamp:Date.now()})}let G=performance.now()-X;return{html:Q,styles:$.styles.join(`
|
|
15184
15184
|
`),scripts:$.scripts.join(`
|
|
15185
|
-
`),hydrationData:J,metadata:{renderTime:G,cacheHit:!1,totalSize:Q.length,componentCount:$.metadata.componentCount}}}function
|
|
15185
|
+
`),hydrationData:J,metadata:{renderTime:G,cacheHit:!1,totalSize:Q.length,componentCount:$.metadata.componentCount}}}function ZO($,Z){let Y=[],X=[],Q=[],J=new Map,G=[];return d5($.tree,(K,q)=>{if(K.type==="component"&&K.componentName){if(v9(K.componentName))Y.push(K.componentName)}if(K.type==="element"&&K.tag){let W=fG(K);if(W)G.push(W);if(K.props){for(let[U,z]of Object.entries(K.props))if(U.startsWith("on")&&typeof z==="string"){let _=`handler_${J.size}`;J.set(_,z)}}}if(K.isStatic&&K.type==="element")X.push(S9(K));else if(!K.isStatic&&K.type!=="text")Q.push(K.tag||K.componentName||"unknown")}),{nativeComponents:Y,staticHTML:X,dynamicParts:Q,eventHandlers:J,nativeWidgets:G}}function YO($,Z={}){let Y=AG($),X=TG(Y,Z),Q=new Map,J=[];return d5(Y.tree,(G)=>{if(G.type==="component"&&G.componentName){if(v9(G.componentName)){J.push(G.componentName);let K=`<!--craft:${G.componentName}:${G.hydrationKey||"default"}-->`;Q.set(G.hydrationKey||G.componentName,K)}}}),{staticHTML:X,dynamicPlaceholders:Q,craftComponents:J}}function RG($){let Z={type:"fragment",children:[]},Y=Z,X=[Z],Q=$,J=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);while(Q.length>0){let G=Q.match(/^<(@?[\w-]+)([^>]*)>/);if(G){let[W,U,z]=G,_=MG(z),B=U.startsWith("@craft-"),j=B?U:U.toLowerCase(),H={type:B?"component":"element",tag:j,props:_,children:[],componentName:B?j.slice(1):void 0,isStatic:!k9(z),hydrationKey:xG()};if(Y.children=Y.children||[],Y.children.push(H),!J.has(j)&&!z.endsWith("/"))X.push(H),Y=H;Q=Q.slice(W.length);continue}let K=Q.match(/^<\/(@?[\w-]+)>/);if(K){let[W,U]=K,_=U.startsWith("@craft-")?U:U.toLowerCase();while(X.length>1){let B=X.pop();if(Y=X[X.length-1],B.tag===_)break}Q=Q.slice(W.length);continue}let q=Q.match(/^[^<]+/);if(q){let W=q[0];if(W.trim()){let U={type:"text",text:W,isStatic:!k9(W)};Y.children=Y.children||[],Y.children.push(U)}Q=Q.slice(W.length);continue}Q=Q.slice(1)}return Z}function MG($){let Z={},Y=/([\w-:@]+)(?:=(?:"([^"]*)"|'([^']*)'|(\S+)))?/g,X;while((X=Y.exec($))!==null){let[,Q,J,G,K]=X,q=J??G??K??!0;Z[Q]=q}return Z}function d5($,Z,Y=[]){if(Z($,Y),$.children)$.children.forEach((X,Q)=>{d5(X,Z,[...Y,`${Q}`])})}function u5($,Z){switch($.type){case"text":return P9($.text||"",Z);case"element":case"component":{let Y=$.tag||"div",X=y9($.props||{},Z),Q=($.children||[]).map((J)=>u5(J,Z)).join("");if(!$.children||$.children.length===0){if(["input","br","hr","img","meta","link"].includes(Y))return`<${Y}${X} />`}return`<${Y}${X}>${Q}</${Y}>`}case"fragment":return($.children||[]).map((Y)=>u5(Y,Z)).join("");case"slot":return`<!--slot:${$.slotName||"default"}-->`;default:return""}}function S9($){if($.type==="text")return $.text||"";let Z=$.tag||"div",Y=y9($.props||{},{});return`<${Z}${Y}></${Z}>`}function y9($,Z){let Y=[];for(let[X,Q]of Object.entries($))if(Q===!0)Y.push(` ${X}`);else if(Q!==!1&&Q!==null&&Q!==void 0){let J=P9(String(Q),Z);Y.push(` ${X}="${C9(J)}"`)}return Y.join("")}async function NG($,Z){return u5($,Z)}function TG($,Z){let Y=[];return d5($.tree,(X)=>{if(X.isStatic)Y.push(u5(X,Z))}),Y.join("")}function IG($,Z,Y){let X={templateId:Z.id,context:Y,dynamicParts:Array.from(Z.dynamicParts.entries())},Q=`
|
|
15186
15186
|
<script data-craft-hydration>
|
|
15187
15187
|
window.__CRAFT_HYDRATION__ = ${JSON.stringify(X)};
|
|
15188
|
-
</script>`;return{html:$+Q,data:X}}function
|
|
15188
|
+
</script>`;return{html:$+Q,data:X}}function EG($){let Z=!1,Y=!1,X=!1,Q=!1,J=0,G=0;function K(q,W){if(G=Math.max(G,W),q.type==="slot")Z=!0;if(q.type==="component")J++;if(!q.isStatic)Y=!0;if(q.props)for(let U of Object.keys(q.props)){if(U.startsWith("on"))X=!0;if(U==="@async"||U==="data-async")Q=!0}if(q.children)q.children.forEach((U)=>K(U,W+1))}return K($,0),{hasSlots:Z,hasDynamicContent:Y,hasEventHandlers:X,hasAsyncContent:Q,componentCount:J,maxDepth:G,estimatedSize:JSON.stringify($).length}}function DG($){let Z=new Map,Y=new Map;return d5($,(X,Q)=>{let J=Q.join(".");if(X.isStatic)Z.set(J,S9(X));else Y.set(J,X.tag||X.componentName||"dynamic")}),{staticParts:Z,dynamicParts:Y}}function kG($){let Z=[],Y=/<script[^>]*>([\s\S]*?)<\/script>/gi,X;while((X=Y.exec($))!==null)Z.push(X[1]);return Z}function bG($){let Z=[],Y=/<style[^>]*>([\s\S]*?)<\/style>/gi,X;while((X=Y.exec($))!==null)Z.push(X[1]);return Z}function SG($){let Z=[],Y=/@include\s*\(\s*['"]([^'"]+)['"]/g,X;while((X=Y.exec($))!==null)Z.push(X[1]);let Q=/@component\s*\(\s*['"]([^'"]+)['"]/g;while((X=Q.exec($))!==null)Z.push(X[1]);let J=/<@craft-[\w-]+/g;while((X=J.exec($))!==null)Z.push(X[0].slice(2));return[...new Set(Z)]}function k9($){return/\{\{.*?\}\}|\{\!\!.*?\!\!\}/.test($)}function P9($,Z){let Y=$.replace(/\{\{\s*(.+?)\s*\}\}/g,(X,Q)=>{try{let J=b9(Q.trim(),Z);return C9(String(J??""))}catch{return""}});return Y=Y.replace(/\{!!\s*(.+?)\s*!!\}/g,(X,Q)=>{try{let J=b9(Q.trim(),Z);return String(J??"")}catch{return""}}),Y}function b9($,Z){if(/^[\w.]+$/.test($)){let Y=$.split("."),X=Z;for(let Q of Y)if(X&&typeof X==="object"&&Q in X)X=X[Q];else return;return X}try{return Function(...Object.keys(Z),`return ${$}`)(...Object.values(Z))}catch{return}}function C9($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function yG($){return $.replace(/\s+/g," ").replace(/>\s+</g,"><").replace(/\s+>/g,">").replace(/<\s+/g,"<").trim()}function PG($){let Z=0;for(let Y=0;Y<$.length;Y++){let X=$.charCodeAt(Y);Z=(Z<<5)-Z+X,Z=Z&Z}return`tpl_${Math.abs(Z).toString(36)}`}function CG($){let Z=0;for(let Y=0;Y<$.length;Y++){let X=$.charCodeAt(Y);Z=(Z<<5)-Z+X,Z=Z&Z}return Math.abs(Z).toString(36)}var vG=0;function xG(){return`h_${++vG}`}function v9($){return["craft-button","craft-text-input","craft-textarea","craft-checkbox","craft-radio","craft-select","craft-slider","craft-toggle","craft-date-picker","craft-time-picker","craft-color-picker","craft-file-input","craft-modal","craft-alert","craft-toast","craft-progress","craft-spinner","craft-avatar","craft-badge","craft-card","craft-accordion","craft-tabs","craft-tooltip","craft-popover","craft-dropdown","craft-context-menu","craft-data-table","craft-virtual-list","craft-tree-view","craft-map","craft-chart","craft-video","craft-audio","craft-webview","craft-canvas","craft-image-viewer","craft-pdf-viewer","craft-code-editor","craft-rich-editor"].includes($)}function fG($){let Z=$.tag?.toLowerCase(),Y=$.props?.type,X={button:{component:"craft-button",confidence:0.95,reason:"Native button provides better touch feedback"},"input:text":{component:"craft-text-input",confidence:0.9,reason:"Native text input has better keyboard handling"},"input:checkbox":{component:"craft-checkbox",confidence:0.95,reason:"Native checkbox follows platform conventions"},"input:range":{component:"craft-slider",confidence:0.9,reason:"Native slider provides smooth interaction"},"input:date":{component:"craft-date-picker",confidence:0.95,reason:"Native date picker provides platform-specific UI"},"input:time":{component:"craft-time-picker",confidence:0.95,reason:"Native time picker provides platform-specific UI"},"input:color":{component:"craft-color-picker",confidence:0.9,reason:"Native color picker provides platform-specific UI"},textarea:{component:"craft-textarea",confidence:0.85,reason:"Native textarea handles multiline input better"},select:{component:"craft-select",confidence:0.9,reason:"Native select provides platform dropdown UI"},progress:{component:"craft-progress",confidence:0.95,reason:"Native progress bar matches platform style"},video:{component:"craft-video",confidence:0.95,reason:"Native video provides hardware acceleration"},audio:{component:"craft-audio",confidence:0.95,reason:"Native audio provides system integration"},dialog:{component:"craft-modal",confidence:0.9,reason:"Native modal provides proper layering and focus"}},Q=Y?`${Z}:${Y}`:Z,J=X[Q||""]||X[Z||""];if(J)return{htmlSelector:Q||Z||"",nativeComponent:J.component,confidence:J.confidence,reason:J.reason};return null}function gG(){g5.clear()}function hG(){h5.clear()}function XO(){gG(),hG()}function JO(){return{templateCacheSize:g5.size,renderCacheSize:h5.size,totalEntries:g5.size+h5.size}}import{existsSync as vQ,mkdirSync as n0,copyFileSync as b1,chmodSync as S1}from"fs";import{join as u,basename as IH}from"path";import{spawn as H7,execSync as EH}from"child_process";import{tmpdir as xQ,homedir as z9,platform as DH}from"os";m1();N5();G4();K5();J4();import{dirname as MH,resolve as yQ}from"path";function NH($){let Z=$,Y=L5($);if(Y)Z=Y.content.trim();let X=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,Q=[],J=[],G=[],K=(U)=>/\b(?:state|derived|effect|batch)\s*(?:<[^<>()]*>)?\s*\(/.test(U),q;while((q=X.exec($))!==null){let U=q[1],z=q[2],_=q[0],B=U.includes("server");if(K(z))G.push(_);else if(B)J.push(z);else Q.push(_)}let W=Z;{let U=/<script\b(?![^>]*\b(?:client|type\s*=\s*["']module["']|src\s*=))[^>]*>/gi,z,_=[];while((z=U.exec(W))!==null){let B=z.index+z[0].length,j=1,H=B;while(H<W.length&&j>0){let L=W.indexOf("<script",H),F=W.indexOf("</script>",H);if(F===-1)break;if(L!==-1&&L<F)j++,H=L+7;else{if(j--,j===0){_.push({start:z.index,end:F+9});break}H=F+9}}}for(let B=_.length-1;B>=0;B--)W=W.substring(0,_[B].start)+W.substring(_[B].end)}for(let U of Q)W=W.replace(U,"");return{templateContent:W,serverScripts:J,clientScripts:Q,signalsScripts:G}}function TH($,Z){return`<!DOCTYPE html>
|
|
15189
15189
|
<html lang="en">
|
|
15190
15190
|
<head>
|
|
15191
15191
|
<meta charset="UTF-8">
|
|
@@ -15195,30 +15195,30 @@ ${Y} `)}]`:"";return`Craft.create("${$.zigType}", ${Q}${G})`}function $G($,Z,
|
|
|
15195
15195
|
<body>
|
|
15196
15196
|
${$}
|
|
15197
15197
|
</body>
|
|
15198
|
-
</html>`}async function
|
|
15198
|
+
</html>`}async function PQ($,Z={}){let Y=yQ($),X=Bun.file(Y);if(!await X.exists())throw Error(`Template file not found: ${Y}`);let Q=await X.text();if(Z.layout){let J=yQ(Z.layout),G=Bun.file(J);if(!await G.exists())throw Error(`Layout template not found: ${J}`);let{layout:K,injectCSS:q,...W}=Z,U=await U9(Q,Y,{...W,injectCSS:!1}),z=await G.text(),_={...Z.context||{},content:U},B={...W,context:_,injectCSS:q};return U9(z,J,B)}return U9(Q,Y,Z)}async function U9($,Z,Y={}){let{templateContent:X,serverScripts:Q,clientScripts:J}=NH($),G={...B1,...Y.options},K={__filename:Z,__dirname:MH(Z),__stx:{},__stx_options:G,__stx_sfc_mode:!0,__stx_inject_css:Y.injectCSS!==!1,...Y.context||{}};for(let U of Q)await _1(U,K,Z);let q=new Set,W=X;if(W=await O0(W,K,Z,G,q),Y.templateOnly){if(W=W.replace(/<script data-stx-scoped>[\s\S]*?<\/script>\s*/gi,""),W=W.replace(/<!-- stx SEO Tags -->[\s\S]*?(?=<)/i,""),J.length>0)W+=`
|
|
15199
15199
|
${J.join(`
|
|
15200
|
-
`)}`}else{if(Y.processClientScripts!==!1&&J.length>0){let U=K.__stx_event_bindings||[],z=
|
|
15200
|
+
`)}`}else{if(Y.processClientScripts!==!1&&J.length>0){let U=K.__stx_event_bindings||[],z=x1(K),B=(await Promise.all(J.map(async(H)=>{let L=H.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!L)return H;return await f1(L[1],{eventBindings:U,templateContent:W,serverData:z,filePath:Z})}))).join(`
|
|
15201
15201
|
`);if(W.match(/(<\/body>)/i))W=W.replace(/(<\/body>)/i,`${B}
|
|
15202
15202
|
$1`);else W+=`
|
|
15203
|
-
${B}`}W=await
|
|
15204
|
-
</head>`)}let G=$.name||
|
|
15205
|
-
`)}else{let V=u(U,"craft");
|
|
15203
|
+
${B}`}W=await q6(W)}if(Y.wrapInDocument){if(!W.trim().toLowerCase().startsWith("<!doctype")&&!W.trim().toLowerCase().startsWith("<html"))W=TH(W,Y.title)}if(Y.injectCSS)try{let{injectCrosswindCSS:U}=await Promise.resolve().then(() => (x7(),x8));W=await U(W)}catch{}return W}async function pN($){let Z=Date.now();try{if(!await Bun.file($.input).exists())return{success:!1,target:$.target||j7(),format:$.format||"app",error:`Input file not found: ${$.input}`};let Y=$.target||j7(),X=$.format||fH(Y),Q=$.output||u(process.cwd(),"dist","native");if(!vQ(Q))n0(Q,{recursive:!0});let J=await PQ($.input,{context:$.context,options:{isDev:!1}});if(J=H9(J,{debug:$.verbose}),J=T9(J),!J.includes("craft-component-styles")){if(J.includes("</head>"))J=J.replace("</head>",`${N9}
|
|
15204
|
+
</head>`)}let G=$.name||IH($.input,".stx"),K=$.version||"1.0.0",q=$.craftPath||await xH();if(!q)return{success:!1,target:Y,format:X,error:"Craft binary not found. Please install Craft or specify craftPath."};if($.verbose)console.log(`\uD83D\uDCE6 Building native app for ${Y}...`),console.log(` Input: ${$.input}`),console.log(` Output: ${Q}`),console.log(` Craft: ${q}`);let W;switch(Y){case"macos":W=await kH(J,G,K,Q,X,$,q);break;case"windows":W=await yH(J,G,K,Q,X,$,q);break;case"linux":W=await PH(J,G,K,Q,X,$,q);break;case"ios":W=await CH(J,G,K,Q,$,q);break;case"android":W=await vH(J,G,K,Q,$,q);break;default:W={success:!1,target:Y,format:X,error:`Unsupported target: ${Y}`}}return W.duration=Date.now()-Z,W}catch(Y){return{success:!1,target:$.target||j7(),format:$.format||"app",error:Y.message,duration:Date.now()-Z}}}async function kH($,Z,Y,X,Q,J,G){let K=J.bundleId||`com.stx.${Z.toLowerCase().replace(/[^a-z0-9]/g,"")}`,q=u(X,`${Z}.app`),W=u(q,"Contents"),U=u(W,"MacOS"),z=u(W,"Resources");n0(U,{recursive:!0}),n0(z,{recursive:!0});let _=u(z,"index.html");await Bun.write(_,$);let B="";if(J.sidebar?.enabled&&J.sidebar?.config)B=u(z,"sidebar-config.json"),await Bun.write(B,JSON.stringify(J.sidebar.config));let j=J.sidebar?.enabled?`--native-sidebar --sidebar-width ${J.sidebar?.width||240} --sidebar-config "$(cat "$RESOURCES/sidebar-config.json")"`:"",H=J.menubarOnly??J.systemTray;if((J.bundleStyle||(await bH(G)?"executable":"launcher"))==="executable"){let V=u(U,Z);b1(G,V),S1(V,493);let w={html:"index.html",title:J.window?.title||Z,width:J.window?.width||1200,height:J.window?.height||800,devTools:Boolean(J.devTools)};if(H)w.menubarOnly=!0;else if(J.systemTray)w.systemTray=!0;if(J.window?.frameless)w.frameless=!0;if(J.window?.transparent)w.transparent=!0;if(J.window?.alwaysOnTop)w.alwaysOnTop=!0;if(J.window?.resizable===!1)w.resizable=!1;await Bun.write(u(z,"craft.json"),`${JSON.stringify(w,null,2)}
|
|
15205
|
+
`)}else{let V=u(U,"craft");b1(G,V),S1(V,493);let w=J.sidebar?.enabled?`--native-sidebar --sidebar-width ${J.sidebar?.width||240} --sidebar-config "$(cat "$RESOURCES/sidebar-config.json")"`:"",M=`#!/bin/bash
|
|
15206
15206
|
set -euo pipefail
|
|
15207
15207
|
DIR="$( cd "$( dirname "\${BASH_SOURCE[0]}" )" && pwd )"
|
|
15208
15208
|
RESOURCES="$DIR/../Resources"
|
|
15209
15209
|
exec "$DIR/craft" --html-file "$RESOURCES/index.html" \\
|
|
15210
15210
|
${[`--title "${J.window?.title||Z}"`,`--width ${J.window?.width||1200}`,`--height ${J.window?.height||800}`,H?"--menubar-only":J.systemTray?"--system-tray":"",J.devTools?"":"--no-devtools",J.window?.frameless?"--frameless":"",J.window?.transparent?"--transparent":"",J.window?.alwaysOnTop?"--always-on-top":"",J.window?.resizable===!1?"--no-resize":"",w].filter(Boolean).join(" \\\n ")}
|
|
15211
|
-
`,R=u(U,Z);await Bun.write(R,M),
|
|
15212
|
-
${X}`.match(/(\d+)\.(\d+)\.(\d+)/);if(!J)return!1;let[G,K,q]=J.slice(1).map(Number);if(G>0||K>0)return!0;return q>=57}catch{return!1}}function
|
|
15211
|
+
`,R=u(U,Z);await Bun.write(R,M),S1(R,493)}let F=Boolean(J.icon&&await Bun.file(J.icon).exists());if(F)b1(J.icon,u(z,"AppIcon.icns"));let O={CFBundleExecutable:Z,CFBundleIdentifier:K,CFBundleName:Z,CFBundleDisplayName:Z,CFBundleShortVersionString:Y,CFBundleVersion:Y,CFBundlePackageType:"APPL",CFBundleSignature:"????",LSMinimumSystemVersion:J.minimumSystemVersion||"13.0",NSHighResolutionCapable:!0,NSSupportsAutomaticGraphicsSwitching:!0,LSUIElement:J.menubarOnly??Boolean(J.systemTray),...F?{CFBundleIconFile:"AppIcon"}:{},...J.category?{LSApplicationCategoryType:J.category}:{},...J.copyright?{NSHumanReadableCopyright:J.copyright}:{},...J.infoPlist||{}};if(await Bun.write(u(W,"Info.plist"),SH(O)),Q==="dmg"){let V=u(X,`${Z}-${Y}.dmg`),w=await gH(q,V,Z);if(!w.success)return{success:!1,target:"macos",format:"dmg",error:w.error};return{success:!0,target:"macos",format:"dmg",outputPath:V}}return{success:!0,target:"macos",format:"app",outputPath:q}}async function bH($){try{let Z=Bun.spawn([$,"--version"],{stdout:"pipe",stderr:"pipe"}),[Y,X]=await Promise.all([new Response(Z.stdout).text(),new Response(Z.stderr).text()]);await Z.exited;let J=`${Y}
|
|
15212
|
+
${X}`.match(/(\d+)\.(\d+)\.(\d+)/);if(!J)return!1;let[G,K,q]=J.slice(1).map(Number);if(G>0||K>0)return!0;return q>=57}catch{return!1}}function CQ($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function SH($){return`<?xml version="1.0" encoding="UTF-8"?>
|
|
15213
15213
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
15214
15214
|
<plist version="1.0">
|
|
15215
15215
|
<dict>
|
|
15216
|
-
${Object.entries($).map(([Y,X])=>{let Q=typeof X==="boolean"?`<${X}/>`:typeof X==="number"?`<integer>${X}</integer>`:`<string>${
|
|
15216
|
+
${Object.entries($).map(([Y,X])=>{let Q=typeof X==="boolean"?`<${X}/>`:typeof X==="number"?`<integer>${X}</integer>`:`<string>${CQ(String(X))}</string>`;return` <key>${CQ(Y)}</key>
|
|
15217
15217
|
${Q}`}).join(`
|
|
15218
15218
|
`)}
|
|
15219
15219
|
</dict>
|
|
15220
15220
|
</plist>
|
|
15221
|
-
`}async function
|
|
15221
|
+
`}async function yH($,Z,Y,X,Q,J,G){let K=u(X,Z);n0(K,{recursive:!0});let q=u(K,"index.html");await Bun.write(q,$),b1(G,u(K,"craft.exe"));let W=`@echo off
|
|
15222
15222
|
set DIR=%~dp0
|
|
15223
15223
|
"%DIR%craft.exe" --html-file "%DIR%index.html" ^
|
|
15224
15224
|
--title "${J.window?.title||Z}" ^
|
|
@@ -15226,7 +15226,7 @@ set DIR=%~dp0
|
|
|
15226
15226
|
--height ${J.window?.height||800} ^
|
|
15227
15227
|
${J.systemTray?"--system-tray":""} ^
|
|
15228
15228
|
${J.devTools?"":"--no-devtools"}
|
|
15229
|
-
`;if(await Bun.write(u(K,`${Z}.bat`),W),Q==="zip"){let U=u(X,`${Z}-${Y}-windows.zip`),z=await
|
|
15229
|
+
`;if(await Bun.write(u(K,`${Z}.bat`),W),Q==="zip"){let U=u(X,`${Z}-${Y}-windows.zip`),z=await hH(K,U);if(!z.success)return{success:!1,target:"windows",format:"zip",error:z.error};return{success:!0,target:"windows",format:"zip",outputPath:U}}return{success:!0,target:"windows",format:"app",outputPath:K}}async function PH($,Z,Y,X,Q,J,G){let K=u(X,Z);n0(K,{recursive:!0});let q=u(K,"index.html");await Bun.write(q,$);let W=u(K,"craft");b1(G,W),S1(W,493);let U=`#!/bin/bash
|
|
15230
15230
|
set -euo pipefail
|
|
15231
15231
|
DIR="$( cd "$( dirname "\${BASH_SOURCE[0]}" )" && pwd )"
|
|
15232
15232
|
exec "$DIR/craft" --html-file "$DIR/index.html" \\
|
|
@@ -15235,15 +15235,15 @@ exec "$DIR/craft" --html-file "$DIR/index.html" \\
|
|
|
15235
15235
|
--height ${J.window?.height||800} \\
|
|
15236
15236
|
${J.systemTray?"--system-tray":""} \\
|
|
15237
15237
|
${J.devTools?"":"--no-devtools"}
|
|
15238
|
-
`,z=u(K,Z.toLowerCase());await Bun.write(z,U),
|
|
15238
|
+
`,z=u(K,Z.toLowerCase());await Bun.write(z,U),S1(z,493);let _=`[Desktop Entry]
|
|
15239
15239
|
Type=Application
|
|
15240
15240
|
Name=${Z}
|
|
15241
15241
|
Exec=${z}
|
|
15242
15242
|
Terminal=false
|
|
15243
15243
|
Categories=Utility;
|
|
15244
|
-
`;if(await Bun.write(u(K,`${Z.toLowerCase()}.desktop`),_),Q==="deb"){let B=u(X,`${Z.toLowerCase()}_${Y}_amd64.deb`),j=await
|
|
15245
|
-
`)[0];if(Y&&await Bun.file(Y).exists())return Y}catch{}return null}function
|
|
15246
|
-
exec /usr/share/${Y.toLowerCase()}/${Y.toLowerCase()} "$@"`;a("fs").writeFileSync(u(q,Y.toLowerCase()),_),
|
|
15244
|
+
`;if(await Bun.write(u(K,`${Z.toLowerCase()}.desktop`),_),Q==="deb"){let B=u(X,`${Z.toLowerCase()}_${Y}_amd64.deb`),j=await uH(K,B,Z,Y,J);if(!j.success)return{success:!1,target:"linux",format:"deb",error:j.error};return{success:!0,target:"linux",format:"deb",outputPath:B}}if(Q==="appimage"){let B=u(X,`${Z}-${Y}-x86_64.AppImage`),j=await dH(K,B,Z,J);if(!j.success)return{success:!1,target:"linux",format:"appimage",error:j.error};return{success:!0,target:"linux",format:"appimage",outputPath:B}}return{success:!0,target:"linux",format:"app",outputPath:K}}async function CH($,Z,Y,X,Q,J){return{success:!1,target:"ios",format:"ipa",error:`iOS build requires Xcode and additional setup. Use 'stx init:ios ${Z}' to create an iOS project.`}}async function vH($,Z,Y,X,Q,J){return{success:!1,target:"android",format:"apk",error:`Android build requires Android SDK and additional setup. Use 'stx init:android ${Z}' to create an Android project.`}}async function xH(){if(process.env.CRAFT_BIN&&await Bun.file(process.env.CRAFT_BIN).exists())return process.env.CRAFT_BIN;let $=[u(process.cwd(),"../../craft/packages/zig/zig-out/bin/craft"),u(process.cwd(),"../craft/packages/zig/zig-out/bin/craft"),u(z9(),"Code/Tools/craft/packages/zig/zig-out/bin/craft"),u(z9(),"Code/craft/packages/zig/zig-out/bin/craft"),"/usr/local/bin/craft","/usr/bin/craft",u(z9(),".local/bin/craft"),u(process.env.LOCALAPPDATA||"","craft","craft.exe"),u(process.env.PROGRAMFILES||"","craft","craft.exe")];for(let Z of $)if(await Bun.file(Z).exists())return Z;try{let Y=EH("which craft 2>/dev/null || where craft 2>nul",{encoding:"utf-8"}).trim().split(`
|
|
15245
|
+
`)[0];if(Y&&await Bun.file(Y).exists())return Y}catch{}return null}function j7(){switch(DH()){case"darwin":return"macos";case"win32":return"windows";default:return"linux"}}function fH($){switch($){case"macos":return"app";case"windows":return"zip";case"linux":return"appimage";case"ios":return"ipa";case"android":return"apk";default:return"app"}}async function gH($,Z,Y){return new Promise((X)=>{let Q=H7("hdiutil",["create","-volname",Y,"-srcfolder",$,"-ov","-format","UDZO",Z]);Q.on("close",(J)=>{if(J===0)X({success:!0});else X({success:!1,error:`hdiutil exited with code ${J}`})}),Q.on("error",(J)=>{X({success:!1,error:J.message})})})}async function hH($,Z){return new Promise((Y)=>{let X=H7("zip",["-r",Z,"."],{cwd:$});X.on("close",(Q)=>{if(Q===0)Y({success:!0});else Y({success:!1,error:`zip exited with code ${Q}`})}),X.on("error",(Q)=>{Y({success:!1,error:Q.message})})})}async function uH($,Z,Y,X,Q){return new Promise((J)=>{try{let G=u(xQ(),`stx-deb-${Date.now()}`),K=u(G,"DEBIAN"),q=u(G,"usr","bin"),W=u(G,"usr","share","applications"),U=u(G,"usr","share",Y.toLowerCase());n0(K,{recursive:!0}),n0(q,{recursive:!0}),n0(W,{recursive:!0}),n0(U,{recursive:!0});let z=a("fs").readdirSync($);for(let H of z)b1(u($,H),u(U,H));let _=`#!/bin/bash
|
|
15246
|
+
exec /usr/share/${Y.toLowerCase()}/${Y.toLowerCase()} "$@"`;a("fs").writeFileSync(u(q,Y.toLowerCase()),_),S1(u(q,Y.toLowerCase()),493);let B=`Package: ${Y.toLowerCase()}
|
|
15247
15247
|
Version: ${X}
|
|
15248
15248
|
Section: utils
|
|
15249
15249
|
Priority: optional
|
|
@@ -15251,16 +15251,16 @@ Architecture: amd64
|
|
|
15251
15251
|
Depends: libgtk-3-0, libwebkit2gtk-4.0-37
|
|
15252
15252
|
Maintainer: ${Q.author||"Unknown"}
|
|
15253
15253
|
Description: ${Q.description||Y}
|
|
15254
|
-
`;a("fs").writeFileSync(u(K,"control"),B);let j=
|
|
15254
|
+
`;a("fs").writeFileSync(u(K,"control"),B);let j=H7("dpkg-deb",["--build",G,Z]);j.on("close",(H)=>{if(a("fs").rmSync(G,{recursive:!0,force:!0}),H===0)J({success:!0});else J({success:!1,error:`dpkg-deb exited with code ${H}`})}),j.on("error",(H)=>{a("fs").rmSync(G,{recursive:!0,force:!0}),J({success:!1,error:H.message})})}catch(G){J({success:!1,error:G.message})}})}async function dH($,Z,Y,X){return new Promise((Q)=>{try{let J=u(xQ(),`stx-appimage-${Date.now()}`),G=u(J,`${Y}.AppDir`),K=u(G,"usr"),q=u(K,"bin"),W=u(K,"share");n0(q,{recursive:!0}),n0(W,{recursive:!0});let U=u(W,Y.toLowerCase());n0(U,{recursive:!0});let z=a("fs").readdirSync($);for(let L of z)b1(u($,L),u(U,L));let _=`#!/bin/bash
|
|
15255
15255
|
SELF=$(readlink -f "$0")
|
|
15256
15256
|
HERE=\${SELF%/*}
|
|
15257
15257
|
export PATH="\${HERE}/usr/bin:\${PATH}"
|
|
15258
15258
|
exec "\${HERE}/usr/share/${Y.toLowerCase()}/${Y.toLowerCase()}" "$@"
|
|
15259
|
-
`;a("fs").writeFileSync(u(G,"AppRun"),_),
|
|
15259
|
+
`;a("fs").writeFileSync(u(G,"AppRun"),_),S1(u(G,"AppRun"),493);let B=`[Desktop Entry]
|
|
15260
15260
|
Type=Application
|
|
15261
15261
|
Name=${Y}
|
|
15262
15262
|
Exec=${Y.toLowerCase()}
|
|
15263
15263
|
Terminal=false
|
|
15264
15264
|
Categories=Utility;
|
|
15265
15265
|
Icon=${Y.toLowerCase()}
|
|
15266
|
-
`;a("fs").writeFileSync(u(G,`${Y.toLowerCase()}.desktop`),B);let j=Buffer.from([137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,1,0,0,0,1,8,2,0,0,0,144,119,83,222,0,0,0,12,73,68,65,84,8,215,99,248,255,255,63,0,5,254,2,254,220,204,89,231,0,0,0,0,73,69,78,68,174,66,96,130]);if(a("fs").writeFileSync(u(G,`${Y.toLowerCase()}.png`),j),X.icon&&
|
|
15266
|
+
`;a("fs").writeFileSync(u(G,`${Y.toLowerCase()}.desktop`),B);let j=Buffer.from([137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,1,0,0,0,1,8,2,0,0,0,144,119,83,222,0,0,0,12,73,68,65,84,8,215,99,248,255,255,63,0,5,254,2,254,220,204,89,231,0,0,0,0,73,69,78,68,174,66,96,130]);if(a("fs").writeFileSync(u(G,`${Y.toLowerCase()}.png`),j),X.icon&&vQ(X.icon))b1(X.icon,u(G,`${Y.toLowerCase()}.png`));let H=H7("appimagetool",[G,Z],{env:{...process.env,ARCH:"x86_64"}});H.on("close",(L)=>{if(a("fs").rmSync(J,{recursive:!0,force:!0}),L===0)S1(Z,493),Q({success:!0});else Q({success:!1,error:`appimagetool exited with code ${L}. Install from https://appimage.github.io/appimagetool/`})}),H.on("error",(L)=>{a("fs").rmSync(J,{recursive:!0,force:!0}),Q({success:!1,error:`appimagetool not found: ${L.message}`})})}catch(J){Q({success:!1,error:J.message})}})}function iN(){return[j7()]}function nN($){switch($){case"macos":return["app","dmg","pkg"];case"windows":return["app","zip","msi"];case"linux":return["app","deb","rpm","appimage"];case"ios":return["ipa"];case"android":return["apk"];default:return["app"]}}export{$O as renderSSR,aH as registerCraftComponent,pH as processCraftDirective,T9 as processCraftComponents,YO as prerenderForCraft,cH as isCraftEnvironment,H9 as injectCraftBridge,JO as getSSRCacheStats,tH as getCraftComponents,iN as getAvailableTargets,nN as getAvailableFormats,ZO as generateCraftOptimizations,j9 as generateCraftBridgeScript,sH as createHotReloadServer,nH as compileToNative,AG as compileTemplate,gG as clearTemplateCache,hG as clearRenderCache,XO as clearAllCaches,pN as buildNative,dQ as NATIVE_COMPONENTS,N9 as CRAFT_COMPONENT_STYLES,rH as CRAFT_COMPONENT_RUNTIME,w7 as CRAFT_COMPONENTS,lH as CRAFT_BRIDGE_SCRIPT};
|