@stacksjs/stx 0.2.121 → 0.2.123
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/appearance-bootstrap.d.ts +20 -0
- package/dist/appearance-bootstrap.js +92 -0
- package/dist/cli.js +524 -524
- package/dist/component-renderer.js +18 -5
- package/dist/craft.js +275 -275
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/process.js +5 -1
- package/dist/pwa.js +292 -292
- package/dist/ssg.js +365 -365
- package/package.json +5 -5
package/dist/craft.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var
|
|
2
|
+
var IQ=Object.defineProperty;var EQ=($)=>$;function DQ($,Z){this[$]=EQ.bind(null,Z)}var e=($,Z)=>{for(var Y in Z)IQ($,Y,{get:Z[Y],enumerable:!0,configurable:!0,set:DQ.bind(Z,Y)})};var k=($,Z)=>()=>($&&(Z=$($=0)),Z);var t=import.meta.require;function D9($,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 k9,b9;var H7=k(()=>{k9={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},b9={name:"screenReader",handler:($)=>{return`<span class="sr-only">${$}</span>`},hasEndTag:!0}});function DG($,Z={}){let{duration:Y,delay:X,ease:Q,direction:J,custom:G}={...q1,...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 wQ=Object.defineProperty;var AQ=($)=>$;function RQ($,Z){this[$]=AQ.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 kG(){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 bG($){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 SG($=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 yG(){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 q1,
|
|
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 v9($,Z,Y,X){let Q=$;if(X.animation?.enabled===!1)return Q;let J=Y.includes("test")&&Y.includes("animation");if(!bG(Q)&&!J)return Q;if(!Q.includes('<style id="stx-animation-base">')){let K=yG();Q=Q.replace("</head>",`${K}
|
|
236
|
+
</head>`)}if(Q.includes("stx-observe")){if(!Q.includes("Intersection Observer for scroll animations")){let q=SG(),W=Q.lastIndexOf("</body>");if(W!==-1)Q=Q.slice(0,W)+q+`
|
|
237
|
+
`+Q.slice(W)}}return Q}var q1,S9,y9,P9,C9;var O7=k(()=>{q1={duration:300,delay:0,ease:"ease",direction:"both"};S9={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)||q1.duration:q1.duration,G=Z.length>2?Z[2]||q1.ease:q1.ease,K=Z.length>3?Number.parseInt(Z[3],10)||q1.delay:q1.delay,q=Z.length>4?Z[4]||q1.direction:q1.direction,W=`stx-transition-${Math.random().toString(36).substr(2,9)}`,U=DG(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"},y9={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"},P9={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"},C9={name:"motion",handler:($,Z,Y,X)=>{let Q=Z.length>0?Z[0].toLowerCase()==="true":!0,J=kG();return`<div data-animate="${Q?"auto":"true"}">${$}</div>${J}`},hasEndTag:!0,description:"Controls motion and animation preferences"}});import{getRouterScript as x9}from"stx-router";var f9=k(()=>{L7()});async function CG($,Z,Y,X){let Q=Z[0]?.replace(/['"]/g,"")||"main",J=x9();if(Q!=="main")J=J.replace("container:'main'",`container:'${Q}'`);return`<script data-stx-router>${J}</script>`}var g9;var L7=k(()=>{f9();g9={name:"stxRouter",handler:CG,hasEndTag:!1,description:"Inject the STX SPA router script for client-side navigation"}});function h9($){let Z=$.heatmap;if(!Z?.enabled)return"";let Y={...vG,...Z};return`
|
|
240
240
|
<!-- stx Heatmap - Privacy-Compliant Tracking -->
|
|
241
241
|
<script>
|
|
242
242
|
(function() {
|
|
@@ -619,8 +619,8 @@ 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
|
|
622
|
+
`}function u9($,Z){let Y=h9(Z);if(!Y)return $;let X=$.lastIndexOf("</body>");if(X!==-1)return $.slice(0,X)+Y+$.slice(X);return $+Y}function xG($){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 vG,d9;var F7=k(()=>{vG={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};d9={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=xG(Z.join(" "));Q.heatmap={...Q.heatmap,...J,enabled:!0}}return h9(Q)}}});function H1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function m9($){let Z=$.trim().toLowerCase();return!Z.startsWith("javascript:")&&!Z.startsWith("vbscript:")&&!Z.startsWith("data:text/html")}function l9($){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 f5($,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-${H1(z)}"`:"";return J.push(`<pre><code${j}>${H1(_.trim())}</code></pre>`),`\x00CODEBLOCK${B}\x00`}),Q=Q.replace(/`([^`]*)`/g,(U,z)=>`<code>${H1(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="${m9(_)?H1(_):""}" alt="${H1(z)}" />`}),Q=Q.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(U,z,_)=>{return`<a href="${m9(_)?H1(_):""}">${z}</a>`}),Q=Q.replace(/^(?:---|\*\*\*|___)\s*$/gm,"<hr />"),Q=Q.replace(/^>\s+(.*)$/gm,"<blockquote>$1</blockquote>"),Q=Q.replace(/<\/blockquote>\n<blockquote>/g,`
|
|
624
624
|
`),Q=Q.replace(/^[*\-+]\s+(.*)$/gm,"<li data-ul>$1</li>"),Q=Q.replace(/(<li data-ul>.*<\/li>\n?)+/g,"<ul>$&</ul>"),Q=Q.replace(/<\/ul>\n<ul>/g,""),Q=Q.replace(/^\d+\.\s+(.*)$/gm,"<li data-ol>$1</li>"),Q=Q.replace(/(<li data-ol>.*<\/li>\n?)+/g,"<ol>$&</ol>"),Q=Q.replace(/<\/ol>\n<ol>/g,""),Q=Q.replace(/<li data-ul>/g,"<li>"),Q=Q.replace(/<li data-ol>/g,"<li>"),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>${H1(L)}</th>`).join("")}</tr>`,H=_.trim().split(`
|
|
625
625
|
`).map((L)=>{return`<tr>${L.split("|").map((O)=>O.trim()).filter(Boolean).map((O)=>`<td>${H1(O)}</td>`).join("")}</tr>`}).join(`
|
|
626
626
|
`);return`<table>
|
|
@@ -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 s0($){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:",H0.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 fG from"process";function m0($="STX_PUBLIC_"){let Z={},Y={};for(let[X,Q]of Object.entries(fG.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 S1=()=>{};import g5 from"path";function p9($){c9=$?.trim()||null}function h5(){return process.env[gG]?.trim()||c9||Z5}function u5($=process.cwd(),...Z){let Y=h5();return g5.isAbsolute(Y)?g5.join(Y,...Z):g5.join($,Y,...Z)}function d5($){if(!$||g5.isAbsolute($))return $;let Z=$.replace(/\\/g,"/");if(Z!==Z5&&!Z.startsWith(`${Z5}/`))return $;let Y=Z.slice(Z5.length+1);return Y?g5.join(h5(),Y):h5()}var Z5=".stx",gG="STX_DIR",c9=null;var T$=()=>{};var m5={};e(m5,{queueClientBundleBuild:()=>o9,hasUserImports:()=>uG,bundleClientScript:()=>mG});import H0 from"path";import S0 from"fs";function uG($){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(!i9.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(!i9.some((G)=>G.test(Q)))return console.log("[stx:bundler] detected side-effect import:",Q),!0}return!1}function dG($,Z,Y,X){let Q=(J,G)=>{let K=J===Y?Z:H0.dirname(J),q=H0.resolve(K,G),W=[q,`${q}.ts`,`${q}.tsx`,`${q}.js`,`${q}.mjs`,`${q}.jsx`,H0.join(q,"index.ts"),H0.join(q,"index.tsx"),H0.join(q,"index.js"),H0.join(q,"index.mjs")];for(let U of W)try{if(S0.existsSync(U)&&S0.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(S0.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=H0.resolve($,G.path.slice(2)),q=[K,`${K}.ts`,`${K}.tsx`,`${K}.js`,`${K}.mjs`,`${K}.jsx`,H0.join(K,"index.ts"),H0.join(K,"index.tsx"),H0.join(K,"index.js"),H0.join(K,"index.mjs")];for(let W of q)if(S0.existsSync(W)&&S0.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=H0.extname(G.path).toLowerCase(),q=K===".json"?"json":K===".tsx"?"tsx":K===".jsx"?"jsx":K===".ts"||K===".mts"||K===".cts"?"ts":"js";return X.add(G.path),{contents:S0.readFileSync(G.path,"utf8"),loader:q}})}}}function o9($){let Z=globalThis,X=(Z[n9]??Promise.resolve()).then($,$);return Z[n9]=X.then(()=>{return},()=>{return}),X}async function mG($,Z,Y={}){let X=Y.projectRoot||process.cwd(),Q=Y.minify??!1,J=Y.cacheDir||u5(X,"bundle-cache"),G=new Bun.CryptoHasher("md5");G.update(`${hG}\x00${$}\x00${Z}`);let K=G.digest("hex").slice(0,12),q=H0.join(J,`${K}.js`),W=H0.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!==s9||!Array.isArray(H.files))j=!1;for(let L of Array.isArray(H.files)?H.files:[])try{if(S0.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=V7.get(K);if(z)return await z;let _=o9(()=>lG($,Z,{projectRoot:X,minify:Q,cacheDir:J,hash:K,cachePath:q,depsPath:W}));V7.set(K,_);try{return await _}finally{V7.delete(K)}}async function lG($,Z,Y){let{projectRoot:X,minify:Q,cacheDir:J,hash:G,cachePath:K,depsPath:q}=Y,W=u5(X,"bundle-tmp"),U=H0.join(W,`${G}.ts`),z=H0.join(W,"out",G);S0.mkdirSync(W,{recursive:!0}),S0.mkdirSync(z,{recursive:!0});let _=H0.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:",H0.basename(Z));let O=new Set;try{let V=await Bun.build({entrypoints:[U],outdir:z,target:"browser",format:"esm",minify:Q,plugins:[dG(X,_,U,O)],define:{"process.env.NODE_ENV":Q?'"production"':'"development"',...m0()},root:X});if(!V.success){let E=V.logs.filter((P)=>P.level==="error").map((P)=>P.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 P of E[1].split(",")){let S=P.trim().match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(S){A.push([S[2],S[1]]);continue}let b=P.trim();if(/^[A-Za-z_$][\w$]*$/.test(b))A.push([b,b])}let R=w.match(/^\s*import\s+[^;]+;?\s*$/gm)||[];w=w.replace(/^\s*import\s+[^;]+;?\s*$/gm,"").replace(/^\s*export\s*\{[^}]*\}\s*;?\s*$/gm,"").replace(/^\s*export\s+default\s+.*$/gm,"").trim();let M=`__stxBundle_${G}`,N=A.map(([E,P])=>`${JSON.stringify(E)}: ${P}`).join(", "),T=A.map(([E])=>`var ${E} = undefined;`).join(`
|
|
644
644
|
`),I=A.map(([E])=>`${E} = ${M}[${JSON.stringify(E)}];`).join(`
|
|
645
645
|
`);if(w=`${R.join(`
|
|
646
646
|
`)}
|
|
@@ -649,19 +649,19 @@ var ${M} = (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 ${H0.basename(Z)} (${G}); serving the unbundled source and not caching this result`),$;S0.mkdirSync(J,{recursive:!0}),await Bun.write(K,w);let D=Array.from(O).map((E)=>{try{return{path:E,mtimeMs:S0.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 ${H0.basename(Z)} (${G}); serving the unbundled source and not caching this result`),$;S0.mkdirSync(J,{recursive:!0}),await Bun.write(K,w);let D=Array.from(O).map((E)=>{try{return{path:E,mtimeMs:S0.statSync(E).mtimeMs}}catch{return null}}).filter((E)=>E!==null);return await Bun.write(q,JSON.stringify({metadataVersion:s9,files:D})),w}catch(V){let w=V instanceof Error?V.message:String(V),A=V?.errors,R=Array.isArray(A)&&A.length>0?`
|
|
653
653
|
${A.map((M)=>`- ${M?.message??M}`).join(`
|
|
654
|
-
`)}`:"";return console.warn(`[stx:bundler] error: ${w}${R}`),$}finally{try{S0.rmSync(U,{force:!0}),S0.rmSync(z,{recursive:!0,force:!0})}catch{}}}var
|
|
654
|
+
`)}`:"";return console.warn(`[stx:bundler] error: ${w}${R}`),$}finally{try{S0.rmSync(U,{force:!0}),S0.rmSync(z,{recursive:!0,force:!0})}catch{}}}var hG=5,s9=1,i9,V7,n9;var l5=k(()=>{S1();T$();i9=[/^stx$/,/^@stacksjs\/stx$/,/^@stores$/,/^stx\/stores$/,/^@composables$/];V7=new Map,n9=Symbol.for("stx.client-bundle-build-queue")});var $8={};e($8,{renderVendorStyleTags:()=>E$,processClientScript:()=>C1,injectBrowserCoreAutoImports:()=>Y5,generateServerDataBridge:()=>D$,generateBrowserAutoImportDestructuring:()=>eG,generateAutoImportDestructuring:()=>w7,extractBridgeData:()=>P1,extractAndStripCssImports:()=>I$});import y1 from"path";import c5 from"fs";function pG($){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 iG($,Z){let Y=Z;while(!0){let X=y1.join(Y,"node_modules",$,"package.json");if(c5.existsSync(X))return y1.dirname(X);let Q=y1.dirname(Y);if(Q===Y)return null;Y=Q}}function nG($,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 sG($,Z){let Y=pG($);if(!Y||!Y.subpath)return null;let X=iG(Y.pkg,Z);if(!X)return null;let Q;try{Q=JSON.parse(c5.readFileSync(y1.join(X,"package.json"),"utf8"))}catch{return null}let J=`.${Y.subpath}`,G=nG(Q.exports,J);if(!G)return null;let K=y1.resolve(X,G);return c5.existsSync(K)?K:null}function I$($,Z){let Y=Z.filePath?y1.dirname(Z.filePath):Z.projectRoot||process.cwd(),X=Z.projectRoot||process.cwd(),Q=new Set,J=[];return{code:$.replace(cG,(K,q)=>{let W;try{if(q.startsWith("./")||q.startsWith("../")||q.startsWith("/")){if(W=q.startsWith("/")?q:y1.resolve(Y,q),!c5.existsSync(W))throw Error(`file not found: ${W}`)}else{let U=null;try{U=Bun.resolveSync(q,X)}catch{U=sG(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=c5.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 oG($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function E$($){if($.length===0)return"";return`${$.map((Z)=>{return`<style data-stx-vendor="${oG(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 Y5($){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=t9.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 tG($){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(!aG.has(X[1]))Z.add(X[1]);return Array.from(Z)}function e9($){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 rG){if(Q.has(q))continue;if(new RegExp(`\\b${q}\\s*\\(`,"g").test(X))Z.add(q)}for(let q of t9){if(Q.has(q))continue;if(new RegExp(`\\b${q}\\b`,"g").test(X))Y.add(q)}let K=tG(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 w7($,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 eG($,Z=[]){let{browserImports:Y}=e9($),X=new Set(Z);return w7([],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 @@ ${sG($,Z)}`;return""}function nG($,Z=[]){let{browserImports:Y}=t9($),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 P1($){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
|
|
673
|
+
`}function P1($){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 r9($,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 ZK($,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(r9(Y[1],!0).has(Z))return!0;for(let Y of $.matchAll(/(?:const|let|var)\s*\[([^\]]*)\]/g))if(r9(Y[1],!1).has(Z))return!0;return!1}function D$($,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(ZK($,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 XK($){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=YK[$.mouse];Z.push(`if ($event.button !== ${Y}) return`)}if($.prevent)Z.push("$event.preventDefault()");if($.stop)Z.push("$event.stopPropagation()");return Z.join("; ")}function JK($,Z){let{elementId:Y,event:X,handler:Q,modifiers:J}=$,G=XK(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 QK($){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)=>JK(Y,X)).join(`
|
|
722
|
+
`)}`}function a9($){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 KK($){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(!GK.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 C1($,Z={}){let Y=$,X="",Q=!1,J=[],G=I$(Y,{filePath:Z.filePath,projectRoot:Z.projectRoot});Y=G.code;let K=E$(G.styles),q=Y5(Y);Y=q.code,J=q.imports;let{hasUserImports:W,bundleClientScript:U}=await Promise.resolve().then(() => (l5(),m5));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=e9(Y);Y=O.code,X=w7(O.stxImports,O.browserImports.filter((V)=>!J.includes(V)))}if(X=`${D$(Y,Z.serverData)}${X}`,Y=s0(Y),!Q&&v1(Z.attrs||""))Y=x1(Y);let z=QK(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(a9($));if(Z.templateContent){let O=a9($);if(O.length>0){let V=KK(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 cG,rG,t9,aG,YK,GK;var X5=k(()=>{V0();cG=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;rG=["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"],t9=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser","debounce","throttle","retry","sleep","wait","delay","waitUntil","waitWhile","lazy","clamp","rand","readableSize","useDocumentVisibility","useIntervalFn"];aG=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"]);YK={left:0,middle:1,right:2};GK=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 zK($){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 _K($,Z){let Y=/[$A-Z_a-z][$\w]*/g,X;while((X=Y.exec($))!==null){let Q=X[0],J=$[X.index-1];if(WK.has(Q))throw Error(`Potentially unsafe expression (matched /\\b${Q}\\b/; identifier ${Q}): ${Z}`);if(J==="."&&J8.has(Q))throw Error(`Potentially unsafe expression (matched /.${Q}/; property ${Q}): ${Z}`)}}function BK($){let Z=/\[\s*(['"])(.*?)\1\s*\]/g,Y;while((Y=Z.exec($))!==null){let X=Y[2];if(!J8.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 k$($){let Z=$.trim(),Y=zK(Z);_K(Y,Z),BK(Z);for(let X of X8)if(X.test(Y))throw Error(`Potentially unsafe expression (matched /${X.source}/): ${Z}`);if(!Y8.allowBracketNotation&&UK.test(Z))throw Error(`Bracket notation with strings not allowed: ${Z}. Enable with configureSafeEvaluator({ allowBracketNotation: true })`);return Z}function jK($){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("__")||X8.some((Q)=>Q.test(Y)))continue;if(X&&typeof X==="object"&&!Array.isArray(X))Z[Y]=A7(X);else Z[Y]=X}return Z}function A7($,Z=0){if(Z>=Y8.maxSanitizeDepth)return"[Object too deep]";if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((X)=>A7(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]=A7(Q,Z+1);else Y[X]=Q}return Y}function X0($,Z){try{let Y=jK(Z),X=Object.keys(Y),Q=Object.values(Y);return q0($,X)(...Q)}catch{return}}function K0($){try{return k$($),!0}catch{return!1}}function w0($,Z){try{let Y=X0($,Z);if(Y&&typeof Y==="object"&&!Array.isArray(Y))return Y;return{}}catch{return{}}}function q0($,Z){let Y=k$($),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(Q8.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 $8(K,J,G);return $8((...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 $8($,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)||J8.has(j))return;q.add(j),K.push(j),G=Y(K),X?.(K)}return}}function k$($){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 YK,Z8,Y8,XK,X8,JK,J8;var w0=b(()=>{YK={maxSanitizeDepth:10,allowBracketNotation:!1},Z8={...YK},Y8=[/\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/],XK=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"]),X8=new Set(["__proto__","constructor","prototype"]),JK=/[\w)\]]\s*\[\s*['"]/;J8=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 b$($,Z){let Y=WK++,X=`<!--__STX_${$.toUpperCase()}_${Y}__-->`;return UK.set(X,{type:$,expression:Z}),X}var WK=0,UK;var Q8=b(()=>{UK=new Map});function U8($,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 O1($,Z){return U8($,Z,G8,K8)}function X5($,Z){return U8($,Z,q8,W8)}function c5($,Z){if(!$.startsWith("<!--",Z))return-1;let Y=$.indexOf("-->",Z+4);if(Y===-1)return-1;return Y+3}function zK($,Z){if($.startsWith("<!--",Z)){let Y=c5($,Z);return Y===-1?$.length:Y}for(let[Y,X]of[[G8,K8],[q8,W8]]){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 A7($,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=zK($,X);if(W>X){X=W;continue}if(/^<\/?[a-zA-Z]/.test($.slice(X,X+2)))J=!0;X++}return Y}function $1($,Z,Y){let X=A7($,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 L1($){let{output:Z,tokens:Y}=$1($,O1,(X,Q)=>`\x00STX_SCRIPT_${Q}\x00`);return{output:Z,scripts:Y}}function p5($,Z){if(Z.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Y,X)=>Z[+X]??"")}var G8,K8,q8,W8;var f1=b(()=>{G8=/<script\b[^>]*>/iy,K8=/<\/script\s*>/ig,q8=/<style\b[^>]*>/iy,W8=/<\/style\s*>/ig});var O8={};e(O8,{usesSignalsInScript:()=>J5,unescapeHtml:()=>R7,registerFilters:()=>BK,registerFilter:()=>B8,processExpressions:()=>F1,interpolateScriptsInTemplate:()=>HK,interpolateScriptExpressions:()=>S$,getAllFilters:()=>j8,evaluateExpression:()=>l0,escapeHtml:()=>o0,defaultFilters:()=>n5,clearCustomFilters:()=>jK,applyFilters:()=>H8});function _K($){let Z=z8.get($);if(!Z){let Y=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${Y}(?!\\w)`,"g"),z8.set($,Z)}return Z.lastIndex=0,Z}function B8($,Z){if($ in n5)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);i5[$]=Z}function BK($){for(let[Z,Y]of Object.entries($))B8(Z,Y)}function j8(){return{...n5,...i5}}function jK(){for(let $ of Object.keys(i5))delete i5[$]}function o0($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function J5($){let{scripts:Z}=L1($);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 _8($,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 S$($,Z){let Y=$;return Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(X,Q)=>{try{let J=l0(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=l0(Q,Z);if(G===void 0)return X;return JSON.stringify(G)}catch{return X}}),Y}function HK($,Z,Y={}){let{output:X,scripts:Q}=L1($),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 _=S$(z,Z);return q[0]+_+G.slice(W)});return p5(X,J)}function F1($,Z,Y,X){let Q=$,J=(_,B)=>{let j=X5(_,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}=$1(_,B,(V,w)=>H(L+w));return j.push(...O),F},K=[];Q=G(Q,J,K,(_)=>`<!--__STX_STYLE_${_}__-->`);let q=[];Q=G(Q,O1,q,(_)=>`<!--__STX_SCRIPT_EXPR_${_}__-->`);let W=X?.forceSignals===!0||Z?.__stx_force_signals===!0||Array.isArray(Z?.__stx_client_signal_names)||J5($),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=l0(B,Z);return H!==void 0&&H!==null?String(H):""}catch(H){let L=H instanceof Error?H.message:String(H);return U0("Expression",`Error evaluating: {{{ ${B.trim()}}}}: ${L}`,Y,$,j,_)}}),Q=Q.replace(/\{!!([\s\S]*?)!!\}/g,(_,B,j)=>{try{let H=l0(B,Z);if(H===void 0&&Z.__stx_buildMode==="compile")return b$("raw",B.trim());return H!==void 0&&H!==null?String(H):""}catch(H){if(Z.__stx_buildMode==="compile")return b$("raw",B.trim());let L=H instanceof Error?H.message:String(H);return U0("Expression",`Error evaluating: {!! ${B.trim()} !!}: ${L}`,Y,$,j,_)}}),Q=G(Q,O1,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)),R=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,M=H.match(R),N=M&&!L.includes(M[1])&&!(M[1]in Z);if(/^__[A-Z_]+__$/.test(H))return"";try{let T=l0(B,Z);if(A)return _;if(W&&!_8(H,Z))return _;if(T===void 0&&Z.__stx_buildMode==="compile"&&!W)return b$("expr",H);return T!==void 0&&T!==null?o0(String(T)):""}catch(T){if(A)return _;if(W&&!_8(H,Z))return _;if(N)return _;let I=T instanceof Error?T.message:String(T);return U0("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 H8($,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=i5[G]||n5[G];if(!K)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(j8()).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=[l0(`(${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 l0(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 OK($){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 l0($,Z,Y=!1){try{let X=$.trim(),Q=OK(X);if(Q>0){let J=X.substring(0,Q).trim(),G=X.substring(Q+1).trim(),K=l0(J,Z,!0);return H8(K,G,Z)}if(!K0(X)){if(!Y)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${X}`);return Q0(X,Z)}try{let J=Object.keys(Z),G=Object.values(Z);return q0(X,J)(...G)}catch{return Q0(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=LK(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 LK($,Z){let Y=null;for(let Q of Z){if(Q===$)continue;let J=FK($,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 FK($,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 R7($){if(!$)return"";return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/&/g,"&")}var i5,z8,n5;var Z1=b(()=>{w0();F0();Q8();f1();i5={},z8=new Map;n5={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 o0(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(_K(q),String(W))}),K},t:($,Z,Y={})=>{return n5.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 Q5($="const",Z=[],Y){let X=Z.length?y$.filter((Q)=>!Z.includes(Q)):y$;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 y$,L8;var s5=b(()=>{y$=["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"],L8=["onMount","onDestroy"]});class o5{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 K5($,Z){if(Z?.includes("g"))return new RegExp($,Z);let Y=`${$}:${Z||""}`;if(!G5.has(Y)){if(G5.size>=VK){let X=G5.keys().next().value;if(X)G5.delete(X)}G5.set(Y,new RegExp($,Z))}return G5.get(Y)}class F8{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 Z8(K,J,G);return Z8((...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 Z8($,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)||Q8.has(j))return;q.add(j),K.push(j),G=Y(K),X?.(K)}return}}function b$($){let Z=$.trim(),Y=[/\beval\s*\(/i,/\bFunction\s*\(/i,/\bimport\s*\(/i,/\brequire\s*\(/i,/\bprocess\b/i,/\b__proto__\b/i,/\bconstructor\s*[.(]/i,/\bglobalThis\b/i,/\bwindow\b/i,/\bdocument\b/i,/\bfetch\s*\(/i,/\bBun\b/i,/\bDeno\b/i,/\bconsole\b/i,/\bthis\b/i,/\bReflect\b/i,/\bProxy\b/i,/\bprototype\b/i,/\.(bind|call|apply)\s*\(/i];for(let X of Y)if(X.test(Z))return!1;return!0}var qK,Y8,X8,WK,J8,UK,Q8;var O0=k(()=>{qK={maxSanitizeDepth:10,allowBracketNotation:!1},Y8={...qK},X8=[/\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/],WK=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"]),J8=new Set(["__proto__","constructor","prototype"]),UK=/[\w)\]]\s*\[\s*['"]/;Q8=new Set(["break","case","catch","class","const","continue","debugger","default","delete","do","else","enum","export","extends","false","finally","for","function","if","import","in","instanceof","new","null","return","super","switch","this","throw","true","try","typeof","var","void","while","with","yield","let","static","implements","interface","package","private","protected","public","arguments","eval","await"])});function S$($,Z){let Y=HK++,X=`<!--__STX_${$.toUpperCase()}_${Y}__-->`;return OK.set(X,{type:$,expression:Z}),X}var HK=0,OK;var G8=k(()=>{OK=new Map});function z8($,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 O1($,Z){return z8($,Z,K8,q8)}function J5($,Z){return z8($,Z,W8,U8)}function p5($,Z){if(!$.startsWith("<!--",Z))return-1;let Y=$.indexOf("-->",Z+4);if(Y===-1)return-1;return Y+3}function LK($,Z){if($.startsWith("<!--",Z)){let Y=p5($,Z);return Y===-1?$.length:Y}for(let[Y,X]of[[K8,q8],[W8,U8]]){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 R7($,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=LK($,X);if(W>X){X=W;continue}if(/^<\/?[a-zA-Z]/.test($.slice(X,X+2)))J=!0;X++}return Y}function $1($,Z,Y){let X=R7($,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 L1($){let{output:Z,tokens:Y}=$1($,O1,(X,Q)=>`\x00STX_SCRIPT_${Q}\x00`);return{output:Z,scripts:Y}}function i5($,Z){if(Z.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Y,X)=>Z[+X]??"")}var K8,q8,W8,U8;var f1=k(()=>{K8=/<script\b[^>]*>/iy,q8=/<\/script\s*>/ig,W8=/<style\b[^>]*>/iy,U8=/<\/style\s*>/ig});var L8={};e(L8,{usesSignalsInScript:()=>Q5,unescapeHtml:()=>M7,registerFilters:()=>VK,registerFilter:()=>j8,processExpressions:()=>F1,interpolateScriptsInTemplate:()=>AK,interpolateScriptExpressions:()=>y$,getAllFilters:()=>H8,evaluateExpression:()=>l0,escapeHtml:()=>o0,defaultFilters:()=>s5,clearCustomFilters:()=>wK,applyFilters:()=>O8});function FK($){let Z=_8.get($);if(!Z){let Y=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${Y}(?!\\w)`,"g"),_8.set($,Z)}return Z.lastIndex=0,Z}function j8($,Z){if($ in s5)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);n5[$]=Z}function VK($){for(let[Z,Y]of Object.entries($))j8(Z,Y)}function H8(){return{...s5,...n5}}function wK(){for(let $ of Object.keys(n5))delete n5[$]}function o0($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Q5($){let{scripts:Z}=L1($);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 B8($,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 y$($,Z){let Y=$;return Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(X,Q)=>{try{let J=l0(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=l0(Q,Z);if(G===void 0)return X;return JSON.stringify(G)}catch{return X}}),Y}function AK($,Z,Y={}){let{output:X,scripts:Q}=L1($),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 _=y$(z,Z);return q[0]+_+G.slice(W)});return i5(X,J)}function F1($,Z,Y,X){let Q=$,J=(_,B)=>{let j=J5(_,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}=$1(_,B,(V,w)=>H(L+w));return j.push(...O),F},K=[];Q=G(Q,J,K,(_)=>`<!--__STX_STYLE_${_}__-->`);let q=[];Q=G(Q,O1,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=l0(B,Z);return H!==void 0&&H!==null?String(H):""}catch(H){let L=H instanceof Error?H.message:String(H);return U0("Expression",`Error evaluating: {{{ ${B.trim()}}}}: ${L}`,Y,$,j,_)}}),Q=Q.replace(/\{!!([\s\S]*?)!!\}/g,(_,B,j)=>{try{let H=l0(B,Z);if(H===void 0&&Z.__stx_buildMode==="compile")return S$("raw",B.trim());return H!==void 0&&H!==null?String(H):""}catch(H){if(Z.__stx_buildMode==="compile")return S$("raw",B.trim());let L=H instanceof Error?H.message:String(H);return U0("Expression",`Error evaluating: {!! ${B.trim()} !!}: ${L}`,Y,$,j,_)}}),Q=G(Q,O1,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)),R=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,M=H.match(R),N=M&&!L.includes(M[1])&&!(M[1]in Z);if(/^__[A-Z_]+__$/.test(H))return"";try{let T=l0(B,Z);if(A)return _;if(W&&!B8(H,Z))return _;if(T===void 0&&Z.__stx_buildMode==="compile"&&!W)return S$("expr",H);return T!==void 0&&T!==null?o0(String(T)):""}catch(T){if(A)return _;if(W&&!B8(H,Z))return _;if(N)return _;let I=T instanceof Error?T.message:String(T);return U0("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 O8($,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=n5[G]||s5[G];if(!K)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(H8()).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=[l0(`(${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 l0(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 RK($){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 l0($,Z,Y=!1){try{let X=$.trim(),Q=RK(X);if(Q>0){let J=X.substring(0,Q).trim(),G=X.substring(Q+1).trim(),K=l0(J,Z,!0);return O8(K,G,Z)}if(!K0(X)){if(!Y)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${X}`);return X0(X,Z)}try{let J=Object.keys(Z),G=Object.values(Z);return q0(X,J)(...G)}catch{return X0(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=MK(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 MK($,Z){let Y=null;for(let Q of Z){if(Q===$)continue;let J=NK($,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 NK($,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 M7($){if(!$)return"";return $.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/'/g,"'").replace(/&/g,"&")}var n5,_8,s5;var Z1=k(()=>{O0();V0();G8();f1();n5={},_8=new Map;s5={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 o0(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(FK(q),String(W))}),K},t:($,Z,Y={})=>{return s5.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 G5($="const",Z=[],Y){let X=Z.length?P$.filter((Q)=>!Z.includes(Q)):P$;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 P$,F8;var o5=k(()=>{P$=["batch","computed","defineEmits","defineExpose","definePageMeta","defineProps","defineSlots","defineStore","derived","effect","goBack","goForward","navigate","nextTick","onBeforeUnmount","onDestroy","onMount","onMounted","onUnmounted","provide","reactive","ref","registerStoresClient","state","useAsync","useClickOutside","useColorMode","useCookie","useCounter","useDark","useDebounce","useDebouncedValue","useEventListener","useFetch","useFocus","useHead","useId","useInterval","useLocalStorage","useMediaQuery","useMutation","useOptimistic","usePreferredContrast","usePreferredDark","usePreferredLight","usePreferredReducedMotion","useQuery","useReactiveProp","useRef","useRoute","useScrollLock","useSearchParams","useSeoMeta","useSessionStorage","useStore","useThrottle","useTimeout","useToggle","useWebSocket","watch","watchEffect","withDefaults"],F8=["onMount","onDestroy"]});class r5{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 q5($,Z){if(Z?.includes("g"))return new RegExp($,Z);let Y=`${$}:${Z||""}`;if(!K5.has(Y)){if(K5.size>=TK){let X=K5.keys().next().value;if(X)K5.delete(X)}K5.set(Y,new RegExp($,Z))}return K5.get(Y)}class V8{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 V8{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 wK(){if(!M7)M7=new V8;return M7}var G5,VK=500,UO,M7=null,w8;var q5=b(()=>{G5=new Map;UO=new F8;w8=new Proxy({},{get($,Z){return wK()[Z]}})});var j0;var A8=b(()=>{j0={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 I8={};e(I8,{resetCssCache:()=>EK,resetCrosswindCache:()=>DK,rebuildCrosswindCSS:()=>kK,loadCrosswindConfig:()=>D7,loadCrosswind:()=>E7,injectCrosswindCSS:()=>k7,getCachedCSS:()=>bK,generateCrosswindCSS:()=>T8,extractClassNames:()=>N8,buildCrosswindCSS:()=>M8});import X0 from"path";import{hasLocalConfig as AK}from"bunfig/discovery";function I7($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function N7($,Z){if(W1.has($))W1.delete($);else if(W1.size>=RK)W1.delete(W1.keys().next().value);W1.set($,Z)}async function MK($){if(!V1)return null;try{let Z=Bun.file(X0.join(V1,`cw-${I7($)}.css`));if(!await Z.exists())return null;return await Z.text()}catch{return null}}async function NK($,Z){if(!V1)return;try{if(!fs.existsSync(V1))fs.mkdirSync(V1,{recursive:!0});await Bun.write(X0.join(V1,`cw-${I7($)}.css`),Z)}catch{}}async function R8($){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 TK(){let $=[],Z=process.cwd();while(Z!==X0.dirname(Z))$.push(X0.join(Z,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(X0.join(Z,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(X0.join(Z,"pantry","@cwcss","crosswind","dist","index.js")),$.push(X0.join(Z,"pantry","@cwcss","crosswind","src","index.ts")),$.push(X0.join(Z,"node_modules","@stacksjs","crosswind","dist","index.js")),$.push(X0.join(Z,"pantry","@stacksjs","crosswind","dist","index.js")),Z=X0.dirname(Z);return $}function IK(){let $=[],Z=process.env.HOME||process.env.USERPROFILE||"";if(Z){let Y=[X0.join(Z,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),X0.join(Z,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),X0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),X0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),X0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),X0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...Y)}return $.push(X0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),$.push(X0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),$}async function E7(){if(T7)return Y1;T7=!0;try{let $=async(Q)=>{for(let J of Q){if(!await Bun.file(J).exists())continue;let G=await R8(J);if(G){if(!process.env.STACKS_DEV_QUIET)console.log(`${j0.green}[Crosswind]${j0.reset} CSS engine loaded from ${X0.dirname(X0.dirname(J))}`);return G}}return null};if(process.env.CROSSWIND_SRC){let Q=X0.resolve(process.env.CROSSWIND_SRC),J=await $([Q]);if(!J)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${Q}`);return Y1=J,Y1}let Z=await $(TK());if(Z)return Y1=Z,Y1;let Y=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let Q of Y){let J=await R8(Q);if(J){if(Y1=J,!process.env.STACKS_DEV_QUIET)console.log(`${j0.green}[Crosswind]${j0.reset} CSS engine loaded`);return Y1}}let X=await $(IK());if(X)return Y1=X,Y1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${j0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${j0.reset}`),console.warn(`${j0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${j0.reset}`),null}}function EK(){W1.clear()}function DK(){Y1=null,T7=!1,r0=null,r5="",W1.clear(),P$=null}async function D7($){try{if(!AK({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=X0.relative($,Y.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${j0.green}[Crosswind]${j0.reset} Loaded config from ${X||Y.path}`);return Y.config}catch(Z){if(Z instanceof Error&&Z.name==="ConfigNotFoundError")return null;return console.warn(`${j0.yellow}[Crosswind]${j0.reset} Failed to load crosswind config:`,Z instanceof Error?Z.message:Z),null}}async function M8($){if(W5)return r5;W5=!0;try{let Z=await E7();if(!Z||!Z.build)return W5=!1,"";if(!r0)r0=await D7($);if(!r0)return W5=!1,"";let Y=Z.defaultConfig?.theme||{},X=r0.theme||{},Q={...Z.defaultConfig,...r0,theme:{...Y,...X,extend:{...Y.extend||{},...X.extend||{}}}},J=performance.now(),G=await Z.build(Q),K=performance.now()-J;if(r5=G.css,console.log(`${j0.cyan}[Crosswind]${j0.reset} Built ${G.classes.size} classes in ${K.toFixed(1)}ms`),Q.output){let q=X0.isAbsolute(Q.output)?Q.output:X0.join($,Q.output),W=X0.dirname(q);if(!fs.existsSync(W))fs.mkdirSync(W,{recursive:!0});await Bun.write(q,G.css)}return W5=!1,G.css}catch(Z){return console.error(`${j0.red}[Crosswind]${j0.reset} Build error:`,Z),W5=!1,r5}}async function kK($){r0=null,await M8($)}function bK(){return r5}function N8($){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 T8($,Z){try{let Y=await E7();if(!Y)return"";let X=typeof Y.extractClasses==="function"?Y.extractClasses($):N8($);if(X.size===0)return"";let Q=Z?X0.resolve(Z):process.cwd();if(!V1)V1=h5(Q,"cache");let J=[...X].sort().join(" "),G=`${P$||"default"}::${J}`,K=W1.get(G);if(K!==void 0)return N7(G,K),K;let q=await MK(G);if(q!==null)return N7(G,q),q;if(!r0){let A=null;try{let{loadStxConfig:R}=await Promise.resolve().then(() => (g1(),E8)),M=await R(Q);if(M.css)if(typeof M.css==="string"){let N=X0.isAbsolute(M.css)?M.css:X0.resolve(Q,M.css);if(await Bun.file(N).exists()){let T=await import(N);A=T.default||T,console.log(`${j0.green}[Crosswind]${j0.reset} Loaded config from stx.config.ts \u2192 ${M.css}`)}}else{if(A={...M.css,content:M.css.content||[],preflight:M.css.preflight??!0,minify:M.css.minify??!1},M.css.config){let N=X0.isAbsolute(M.css.config)?M.css.config:X0.resolve(Q,M.css.config);if(await Bun.file(N).exists()){let T=await import(N);A={...T.default||T,...A}}}console.log(`${j0.green}[Crosswind]${j0.reset} Using inline CSS config from stx.config.ts`)}}catch{}r0=A||await D7(Q);try{P$=I7(JSON.stringify(r0??{}))}catch{P$="unhashable"}}let W=Y.defaultConfig||Y.config,U=r0||{},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,R]of Object.entries(V)){if(!X.has(A)&&!H.includes(A))continue;let M=R.split(/\s+/).filter(Boolean);for(let N of M)F.generate(N)}O=F.toCSS(!0,!1);let w=O.split(`
|
|
760
|
-
`);for(let[A,R]of Object.entries(V)){if(!X.has(A)&&!H.includes(A))continue;let M=R.split(/\s+/).filter(Boolean),N=[],T=[];for(let I of M){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
|
|
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 w8{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 IK(){if(!N7)N7=new w8;return N7}var K5,TK=500,AO,N7=null,A8;var W5=k(()=>{K5=new Map;AO=new V8;A8=new Proxy({},{get($,Z){return IK()[Z]}})});var j0;var R8=k(()=>{j0={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 E8={};e(E8,{resetCssCache:()=>PK,resetCrosswindCache:()=>CK,rebuildCrosswindCSS:()=>vK,loadCrosswindConfig:()=>k7,loadCrosswind:()=>D7,injectCrosswindCSS:()=>b7,getCachedCSS:()=>xK,generateCrosswindCSS:()=>I8,extractClassNames:()=>T8,buildCrosswindCSS:()=>N8});import J0 from"path";import{hasLocalConfig as EK}from"bunfig/discovery";function E7($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function T7($,Z){if(W1.has($))W1.delete($);else if(W1.size>=DK)W1.delete(W1.keys().next().value);W1.set($,Z)}async function kK($){if(!V1)return null;try{let Z=Bun.file(J0.join(V1,`cw-${E7($)}.css`));if(!await Z.exists())return null;return await Z.text()}catch{return null}}async function bK($,Z){if(!V1)return;try{if(!fs.existsSync(V1))fs.mkdirSync(V1,{recursive:!0});await Bun.write(J0.join(V1,`cw-${E7($)}.css`),Z)}catch{}}async function M8($){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 SK(){let $=[],Z=process.cwd();while(Z!==J0.dirname(Z))$.push(J0.join(Z,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(J0.join(Z,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(J0.join(Z,"pantry","@cwcss","crosswind","dist","index.js")),$.push(J0.join(Z,"pantry","@cwcss","crosswind","src","index.ts")),$.push(J0.join(Z,"node_modules","@stacksjs","crosswind","dist","index.js")),$.push(J0.join(Z,"pantry","@stacksjs","crosswind","dist","index.js")),Z=J0.dirname(Z);return $}function yK(){let $=[],Z=process.env.HOME||process.env.USERPROFILE||"";if(Z){let Y=[J0.join(Z,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),J0.join(Z,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),J0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),J0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),J0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),J0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...Y)}return $.push(J0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),$.push(J0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),$}async function D7(){if(I7)return Y1;I7=!0;try{let $=async(Q)=>{for(let J of Q){if(!await Bun.file(J).exists())continue;let G=await M8(J);if(G){if(!process.env.STACKS_DEV_QUIET)console.log(`${j0.green}[Crosswind]${j0.reset} CSS engine loaded from ${J0.dirname(J0.dirname(J))}`);return G}}return null};if(process.env.CROSSWIND_SRC){let Q=J0.resolve(process.env.CROSSWIND_SRC),J=await $([Q]);if(!J)throw Error(`CROSSWIND_SRC did not resolve to a Crosswind module: ${Q}`);return Y1=J,Y1}let Z=await $(SK());if(Z)return Y1=Z,Y1;let Y=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let Q of Y){let J=await M8(Q);if(J){if(Y1=J,!process.env.STACKS_DEV_QUIET)console.log(`${j0.green}[Crosswind]${j0.reset} CSS engine loaded`);return Y1}}let X=await $(yK());if(X)return Y1=X,Y1;throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${j0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${j0.reset}`),console.warn(`${j0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${j0.reset}`),null}}function PK(){W1.clear()}function CK(){Y1=null,I7=!1,r0=null,a5="",W1.clear(),C$=null}async function k7($){try{if(!EK({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=J0.relative($,Y.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${j0.green}[Crosswind]${j0.reset} Loaded config from ${X||Y.path}`);return Y.config}catch(Z){if(Z instanceof Error&&Z.name==="ConfigNotFoundError")return null;return console.warn(`${j0.yellow}[Crosswind]${j0.reset} Failed to load crosswind config:`,Z instanceof Error?Z.message:Z),null}}async function N8($){if(U5)return a5;U5=!0;try{let Z=await D7();if(!Z||!Z.build)return U5=!1,"";if(!r0)r0=await k7($);if(!r0)return U5=!1,"";let Y=Z.defaultConfig?.theme||{},X=r0.theme||{},Q={...Z.defaultConfig,...r0,theme:{...Y,...X,extend:{...Y.extend||{},...X.extend||{}}}},J=performance.now(),G=await Z.build(Q),K=performance.now()-J;if(a5=G.css,console.log(`${j0.cyan}[Crosswind]${j0.reset} Built ${G.classes.size} classes in ${K.toFixed(1)}ms`),Q.output){let q=J0.isAbsolute(Q.output)?Q.output:J0.join($,Q.output),W=J0.dirname(q);if(!fs.existsSync(W))fs.mkdirSync(W,{recursive:!0});await Bun.write(q,G.css)}return U5=!1,G.css}catch(Z){return console.error(`${j0.red}[Crosswind]${j0.reset} Build error:`,Z),U5=!1,a5}}async function vK($){r0=null,await N8($)}function xK(){return a5}function T8($){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 I8($,Z){try{let Y=await D7();if(!Y)return"";let X=typeof Y.extractClasses==="function"?Y.extractClasses($):T8($);if(X.size===0)return"";let Q=Z?J0.resolve(Z):process.cwd();if(!V1)V1=u5(Q,"cache");let J=[...X].sort().join(" "),G=`${C$||"default"}::${J}`,K=W1.get(G);if(K!==void 0)return T7(G,K),K;let q=await kK(G);if(q!==null)return T7(G,q),q;if(!r0){let A=null;try{let{loadStxConfig:R}=await Promise.resolve().then(() => (g1(),D8)),M=await R(Q);if(M.css)if(typeof M.css==="string"){let N=J0.isAbsolute(M.css)?M.css:J0.resolve(Q,M.css);if(await Bun.file(N).exists()){let T=await import(N);A=T.default||T,console.log(`${j0.green}[Crosswind]${j0.reset} Loaded config from stx.config.ts \u2192 ${M.css}`)}}else{if(A={...M.css,content:M.css.content||[],preflight:M.css.preflight??!0,minify:M.css.minify??!1},M.css.config){let N=J0.isAbsolute(M.css.config)?M.css.config:J0.resolve(Q,M.css.config);if(await Bun.file(N).exists()){let T=await import(N);A={...T.default||T,...A}}}console.log(`${j0.green}[Crosswind]${j0.reset} Using inline CSS config from stx.config.ts`)}}catch{}r0=A||await k7(Q);try{C$=E7(JSON.stringify(r0??{}))}catch{C$="unhashable"}}let W=Y.defaultConfig||Y.config,U=r0||{},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,R]of Object.entries(V)){if(!X.has(A)&&!H.includes(A))continue;let M=R.split(/\s+/).filter(Boolean);for(let N of M)F.generate(N)}O=F.toCSS(!0,!1);let w=O.split(`
|
|
760
|
+
`);for(let[A,R]of Object.entries(V)){if(!X.has(A)&&!H.includes(A))continue;let M=R.split(/\s+/).filter(Boolean),N=[],T=[];for(let I of M){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 C=w[b].trim();if(C===`${S} {`||C.startsWith(`${S} {`)){let h=b,x="";while(h<w.length){if(x+=w[h],w[h].includes("}"))break;h++}let l=x.match(/\{([^}]+)\}/);if(l)if(D)T.push(l[1].trim());else N.push(l[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
|
|
762
|
+
@media (prefers-color-scheme: dark) { .dark .${A} { ${T.join(" ")} } }`}return T7(G,O),bK(G,O),O}catch(Y){return console.warn("Failed to generate Crosswind CSS:",Y),""}}async function b7($,Z){let Y=await I8($,Z);if(!Y)return $;let X=`<style data-crosswind="generated">
|
|
763
763
|
${Y}
|
|
764
764
|
</style>`,Q=/<style data-crosswind="generated">[\s\S]*?<\/style>/g;if(Q.test($)){let J=!1;return $.replace(Q,()=>{if(J)return"";return J=!0,X})}if($.includes("</head>"))return $.replace("</head>",`${X}
|
|
765
765
|
</head>`);if($.includes("<body"))return $.replace(/<body([^>]*)>/,`<body$1>
|
|
766
|
-
${X}`);return X+$}var Y1=null,
|
|
766
|
+
${X}`);return X+$}var Y1=null,I7=!1,r0=null,a5="",U5=!1,DK=256,W1,V1=null,C$=null;var S7=k(()=>{T$();R8();W1=new Map});function k8(){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 y7($){return Symbol($)}var DO,kO,bO;var b8=k(()=>{DO=y7("theme"),kO=y7("router"),bO=y7("i18n")});import*as y8 from"crypto";function S8($){let Z=/\$(\w+)\./g,Y=[],X;while((X=Z.exec($))!==null)if(!Y.includes(X[1]))Y.push(X[1]);return Y}function fK(){return`stx-${y8.randomBytes(4).toString("hex")}`}function gK($){return/\$\w+\./.test($)}function hK($){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(gK(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}),S8(A).forEach((M)=>Y.add(M)),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=fK(),z=` id="${H}"${z}`;for(let L of W)Z.push({elementId:H,attribute:L.attr,expression:L.expr,stores:S8(L.expr)});return`<${G}${z}${q}`}),{html:Q,bindings:Z,stores:Y}}function uK($,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 P8($){let{html:Z,bindings:Y,stores:X}=hK($);if(Y.length===0)return $;let Q=uK(Y,X),J=Z.lastIndexOf("</body>");if(J!==-1)return Z.slice(0,J)+Q+Z.slice(J);return Z+Q}var C8=()=>{};function dK($){let Z=$.analytics;if(!Z?.enabled)return"";switch(Z.driver){case"fathom":return mK(Z);case"google-analytics":return lK(Z);case"plausible":return cK(Z);case"self-hosted":return pK(Z);case"custom":return iK(Z);default:return""}}function mK($){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="${x0(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="${x0(Z.canonical)}"`);if(Z.auto===!1)Q.push('data-auto="false"');return`
|
|
1270
1270
|
<!-- Fathom Analytics -->
|
|
1271
1271
|
<script src="${x0(Y)}" ${Q.join(" ")}${X}></script>
|
|
1272
|
-
`}function
|
|
1272
|
+
`}function lK($){let Z=$.googleAnalytics;if(!Z?.measurementId)return"";let Y=x0(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 cK($){let Z=$.plausible;if(!Z?.domain)return"";let Y=Z.scriptUrl||"https://plausible.io/js/script.js",X=[`data-domain="${x0(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="${x0(Z.domain)}" src="${x0(Q)}"></script>
|
|
1285
|
-
`}function
|
|
1285
|
+
`}function pK($){let Z=$.selfHosted;if(!Z?.siteId||!Z?.apiEndpoint)return"";let Y=x0(Z.siteId),X=x0(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 iK($){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="${x0(Z.scriptId)}"`);if(Z.attributes)for(let[Q,J]of Object.entries(Z.attributes))Y.push(`${x0(Q)}="${x0(J)}"`);return`
|
|
1324
1324
|
<!-- Custom Analytics -->
|
|
1325
1325
|
<script${Y.length>0?` ${Y.join(" ")}`:""} src="${x0(Z.scriptUrl)}" defer></script>
|
|
1326
|
-
`}function
|
|
1326
|
+
`}function v8($,Z){let Y=dK(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 x0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}var x8=()=>{};function h8($){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(nK.has(X))Z.systemKeys.push(X);else if(X in u8)Z.mouse=X;else if(X in g8||/^[a-z]$/.test(X))Z.keys.push(g8[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 d8($){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(!f8.has(O))continue;z.push({attribute:`@${H}`,event:O,handler:L,modifiers:h8(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(!f8.has(O))continue;z.push({attribute:`@${H}`,event:O,handler:L,modifiers:h8(F.slice(1)),elementId:U})}if(z.length>0)Z.push({originalTag:J,elementId:U,events:z,startIndex:q,endIndex:W})}return Z}function sK($){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=u8[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 oK($,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 rK($){let{modifiers:Z}=$,Y=$.elementId.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),X=sK($),Q=oK($.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 aK($){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(rK).join(`
|
|
1429
1429
|
`)}
|
|
1430
1430
|
})();
|
|
1431
|
-
</script>`}function
|
|
1432
|
-
`+J.slice(K);else J+=G;return J}var
|
|
1431
|
+
</script>`}function tK($){let Z=d8($);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 m8($,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}=tK($),U=Z.__stx_event_bindings||[];return Z.__stx_event_bindings=[...U,...W],q}let Q=d8($);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=aK(Q),K=J.lastIndexOf("</body>");if(K!==-1)J=J.slice(0,K)+G+`
|
|
1432
|
+
`+J.slice(K);else J+=G;return J}var f8,g8,nK,u8;var l8=k(()=>{f8=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"]),g8={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"},nK=new Set(["ctrl","alt","shift","meta"]),u8={left:0,middle:1,right:2}});function v$($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function c8($,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 $q($){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=c8(G,"x-data");if(!q)continue;let W=`__stx_scope_${i8++}`,U=c8(G,"x-init"),z=Zq($,J,K+Q.length),_=$.slice(K,z.endIndex),B=Yq(_);Z.push({id:W,selector:`[data-stx-scope="${W}"]`,stateExpr:q,initExpr:U,bindings:[],refs:B})}return Z}function Zq($,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 Yq($){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=Xq(J);Z.set(G,K)}return Z}function Xq($){let Z=$.match(/\bid\s*=\s*["']([^"']*)["']/);if(Z)return Z[1];return`__stx_el_${eK++}`}function Jq(){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 p8($,Z){let Y=$.replace(/\{!!([\s\S]*?)!!\}/g,(X,Q)=>{try{let J=l0(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=l0(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 Qq($,Z){if($.length===0)return"";let Y=$.map((X)=>{let Q=JSON.stringify(Object.fromEntries(X.refs)),J=p8(X.stateExpr,Z),G=X.initExpr?p8(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,44 +1645,44 @@ window.__stx_reactive = (function() {
|
|
|
1645
1645
|
})();`}).join(`
|
|
1646
1646
|
`);return`
|
|
1647
1647
|
<script data-stx-scoped data-stx-reactive>
|
|
1648
|
-
${
|
|
1648
|
+
${Jq()}
|
|
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 n8($,Z,Y){if(i8=0,!Kq($))return $;let X=$q($);if(X.length===0)return $;let Q=Gq($,X),J=Qq(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 Gq($,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*["']${v$(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*["']${v$(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*"${v$(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*'${v$(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 Kq($){return/x-data\s*=\s*["']/.test($)}var i8=0,eK=0;var s8=k(()=>{Z1()});import qq from"fs";import P7 from"path";import{createHighlighter as Wq}from"ts-syntax-highlighter";async function Uq($,Z={}){try{if(!await n($))throw Error(`Markdown file not found: ${$}`);let X=(await qq.promises.stat($)).mtime.getTime();if(Z.cache&&C7.has($)){let z=C7.get($);if(z.updatedAt>=X)return{content:z.content,data:z.data}}let Q=await Bun.file($).text(),{data:J,content:G}=l9(Q),K=Z.markdown||v7.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},W=f5(G,{gfm:!0});if(K.syntaxHighlighting?.enabled&&K.syntaxHighlighting?.serverSide)W=await zq(W,K.syntaxHighlighting?.defaultTheme||"github-dark",K.syntaxHighlighting?.highlightUnknownLanguages||!1);let U={content:W,data:J||{}};if(Z.cache)C7.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:U0("Markdown File",`Error reading/parsing markdown file: ${X}`,$,"",0,""),data:{}}}}async function zq($,Z,Y){let X=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!x$)try{x$=await Wq({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(!x$.getSupportedLanguages().includes(_))return K;return(await x$.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 o8($,Z,Y="",X={}){return await _q($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(G,K,q,W)=>{try{let U=K;if(!P7.isAbsolute(K))U=P7.resolve(P7.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(),R=V.substring(w+1).trim(),M=R.startsWith('"')&&R.endsWith('"'),N=R.startsWith("'")&&R.endsWith("'");if(M||N)R=R.substring(1,R.length-1);z[A]=R}}}}catch(F){if(X.debug)console.error("Error parsing context in @markdown-file directive:",F)}let{content:_,data:B}=await Uq(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 U0("Markdown File",`Error including markdown file: ${z}`,Y,$,W,G)}})}async function _q($,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 C7,x$=null;var r8=k(()=>{g1();V0();C7=new Map});function w1($,Z){try{let Y=$.trim();if(K0(Y))return q0(Y,Object.keys(Z))(...Object.values(Z));else return X0(Y,Z)}catch{return!1}}var a8=k(()=>{O0()});function x7($){for(let[Z,Y]of Object.entries(o))if(Y===$)return Z;return}var o;var f$=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 t5(){return!1}function e5(){return!t5()||process.env.STX_DEBUG==="true"}function g$(){return!1}import Bq from"path";function h$(){return{...f7}}function u$($){if(!f7.showRelativePaths||!$)return $;let Z=f7.baseDir||process.cwd();try{let Y=Bq.relative(Z,$);return Y.startsWith("..")?$:Y}catch{return $}}var jq,f7,d$,h1,m$;var l$=k(()=>{f$();jq={showRelativePaths:!1,enableAutoRecovery:e5(),logRecoveryWarnings:!0},f7={...jq};d$=class d$ 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=u$(this.filePath)}};h1=class h1 extends d${constructor($,Z,Y,X,Q,J){super($,"stx_RUNTIME_ERROR",Z,Y,X,Q,J||o.EVALUATION_ERROR);this.name="StxRuntimeError"}};m$=class m$ extends d${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 e8($){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=wq(K,q);_=O.line,B=O.column}let j=Q?u$(Q):void 0,H=X?x7(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=Oq(L);break;case"json":F=JSON.stringify(L,null,2);break;case"console":F=Lq(L,K,q);break;case"text":default:F=Hq(L,K,q);break}return{formatted:F,data:L}}function Hq($,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=Fq(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 Oq($){let Z=$.code?` [${$.code}]`:"",Y=$.filePath?` in ${$.filePath}${$.line?`:${$.line}`:""}`:"",X=`<!-- [${$.type} Error${Z}]${Y}: ${t8($.message)}`;if($.suggestion)X+=` | Suggestion: ${t8($.suggestion)}`;return X+=" -->",X}function Lq($,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=Vq(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 Fq($,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 Vq($,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 Z0($,Z,Y){return
|
|
1668
|
+
`)}function t8($){return $.replace(/--/g,"- -").replace(/>/g,">")}function wq($,Z){let X=$.substring(0,Z).split(`
|
|
1669
|
+
`);return{line:X.length,column:X[X.length-1].length}}function Z0($,Z,Y){return e8({type:$,message:Z,code:Y,format:"html"}).formatted}async function z5($,Z,Y){try{return await $()}catch(X){if(Y&&X instanceof Error)Y(X);return Z}}var $Z=k(()=>{f$();l$()});class h7{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 ZZ=()=>{};var YZ=b(()=>{x$();e8();$Z();ZZ();m$()});var U1=b(()=>{YZ()});function y0($,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 A1($,Z){let Y=Hq($,Z);return Y.ok?{expression:Y.expression,endPos:Y.endPos}:null}function Hq($,Z){let Y=Z;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Y};let X=y0($,"(",")",Y);if(X===-1)return{ok:!1,reason:"unclosed-paren",pos:Y};return{ok:!0,expression:$.slice(Y+1,X),endPos:X+1}}function Oq($,Z){let Y=$.lastIndexOf("<",Z);if(Y===-1)return!1;return Y>$.lastIndexOf(">",Z)}function u1($,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 XZ($,Z){let Y=$.slice(Z).match(/^@if\s*/);if(!Y)return null;let X=Z+Y[0].length,Q=A1($,X);if(!Q)return null;let J=Q.endPos,G=u1($,"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(Oq(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=A1(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 e5($){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=XZ($,X.index);if(J)Z.push(J),Y.lastIndex=J.end;X=Y.exec($)}return Z}function l$($,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=y0($,"(",")",q);if(W===-1){J=Q.exec($);continue}let U=$.slice(q+1,W),z=W+1,_=u1($,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 u7($,Z){let Y=$.slice(Z).match(/^@switch\s*/);if(!Y)return null;let X=Z+Y[0].length,Q=A1($,X);if(!Q)return null;let J=Q.endPos,G=u1($,"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=A1(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 QZ=()=>{};var c$=b(()=>{JZ();QZ()});function wq($,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=u7(X,G);if(!K)break;try{let q;if(K0(K.expression))q=q0(K.expression,Object.keys(Z))(...Object.values(Z));else q=Q0(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&&K0(z.value))_=q0(z.value,Object.keys(Z))(...Object.values(Z));else if(z.value)_=Q0(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=Z0("Switch",`Error evaluating @switch expression: ${W}`,o.EVALUATION_ERROR);X=X.substring(0,G)+U+X.substring(K.end);break}}return X}function d1($,Z,Y){let X=$;X=wq(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=A1(X,K+7);if(!q)break;let W=q.endPos,U=u1(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,R)=>A.pos-R.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=m7(X,Z,Y),X=l7(X,Z,Y),X=d7(X,Z);let Q=()=>{let J=e5(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&&K0(U.condition))z=q0(U.condition,Object.keys(Z))(...Object.values(Z));else if(U.condition)z=Q0(U.condition,Z);if(z)q=U.content,W=!0}catch(z){q=Z0(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=Z0("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 GZ($){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 d7($,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=GZ(_);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?w1(`auth?.check && auth?.user?.[${U}]`,Z):w1("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=GZ(_);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?w1(`!auth?.check || !auth?.user?.[${U}]`,Z):w1("!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=w1(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"),R=new RegExp(`@${W}\\s*\\(`,"g"),M=/@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=R.exec(F))!==null)N.push({pos:T.index,type:"elseDirective"});while((T=M.exec(F))!==null)N.push({pos:T.index,type:"else"});N.sort((k,C)=>k.pos-C.pos);for(let k of N){if(k.type==="open"){V++;continue}if(k.type==="close"){V--;continue}if(V===0)O.push(k)}let I=[],D=0;for(let k=0;k<O.length;k++){let C=O[k];if(I.push({content:F.slice(D,C.pos),ability:void 0}),C.type==="elseDirective"){let h=F.slice(C.pos+`@${W}`.length),x=G(h);if(x){I[I.length-1]={content:F.slice(D,C.pos)},D=C.pos+`@${W}`.length+x.paramsEnd,I.push({content:"",ability:x.ability,type:x.type,id:x.id}),I.pop();let l=O[k+1],$0=l?l.pos:F.length;I.push({content:F.slice(D,$0),ability:x.ability,type:x.type,id:x.id}),D=$0}}else D=C.pos+5}if(D<F.length){let k=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),P=K==="can"?E:!E,S="";if(P)S=I[0]?.content||"";else{let k=!1;for(let C=1;C<I.length;C++){let h=I[C];if(h.isFinalElse){S=h.content,k=!0;break}if(h.ability){let x=J(h.ability,h.type,h.id);if(K==="can"?x:!x){S=h.content,k=!0;break}}}if(!k&&I.length>0){let C=I[I.length-1];if(C.isFinalElse)S=C.content}}Y=Y.substring(0,_)+S+Y.substring(L+`@${q}`.length),U=!0}}return Y}function m7($,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=A1(J,B+`@${G}`.length);if(!j)break;let H=j.endPos,L=u1(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 R=F.indexOf("@",A);if(R===-1)break;let M=F.substring(R);if(/^@(?:if|unless|isset|empty)\s*\(/.test(M)){w++,A=R+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(M)){w--,A=R+1;continue}if(w===0&&/^@else(?![a-z])/.test(M)){V=R;break}A=R+1}try{let R=q(O.trim()),M;if(V!==-1){let N=F.slice(0,V),T=F.slice(V+5);M=R?N:T}else M=R?F:"";J=J.substring(0,B)+M+J.substring(L+`@${K}`.length),U=!0}catch(R){let M=R instanceof Error?R.message:String(R),N=Z0(W,`Error processing @${G} directive: ${M}`,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=w1(J,Z);return G!==void 0&&G!==null},"Isset"),X=Q(X,"empty","endempty",(J)=>{let G=w1(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 l7($,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),P=z.exec(j),S=E?E.index:1/0,k=P?P.index:1/0;if(S<k)V++,w=S+E[0].length;else if(k<1/0){if(V--,V===0){A=k;break}w=k+P[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 R=j.substring(O,A),M=-1,N=0,T=0;while(T<R.length){let E=R.indexOf("@",T);if(E===-1)break;let P=R.substring(E);if(_.test(P)){N++,T=E+1;continue}if(B.test(P)){N--,T=E+1;continue}if(N===0&&/^@else(?![a-z])/.test(P)){M=E;break}T=E+1}let I;if(M!==-1){let E=R.slice(0,M),P=R.slice(M+5);I=W?E:P}else I=W?R:"";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 p$=b(()=>{r8();U1();c$();w0()});function qZ($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function i$($,Z){if(!$)return Z?.nonceGenerator?.()??qZ();let Y=KZ.get($);if(!Y)Y=Z?.nonceGenerator?.()??qZ(),KZ.set($,Y);return Y}function Aq($,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 WZ($,Z){return`<meta http-equiv="Content-Security-Policy" content="${Aq($,Z).replace(/&/g,"&").replace(/"/g,""")}">`}function UZ($,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?i$(Y,Z):void 0,Q=WZ(Z.directives,X);return $.replace(/<head([^>]*)>/,`<head$1>
|
|
1678
|
-
${Q}`)}function zZ($,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?i$(Z,J):void 0;return WZ(J.directives,G)}),Q=Q.replace(/@cspNonce\b/g,()=>{if(!J?.enabled||!J.useNonce)return"";return i$(Z,J)}),J?.enabled&&J.useNonce)Z.cspNonce=i$(Z,J);return Q}var KZ;var _Z=b(()=>{KZ=new WeakMap});import Rq from"crypto";function Nq($=Mq){let Z=Rq.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return c7=Z,Z}function Tq(){if(!c7)Nq();return c7}function Iq($=BZ){let Z=Tq();return`<input type="hidden" name="${$}" value="${Z}">`}function jZ($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(Z,Y,X)=>{return Iq(X||BZ)})}var Mq=40,BZ="_token",c7=null;var HZ=()=>{};async function OZ($,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 Eq(Q,J,Z,Y,X);else Q=await Dq(Q,J,Z,Y,X)}return Q}async function Eq($,Z,Y,X,Q){let{name:J,handler:G}=Z,K=`@${J}`,q=`@end${J}`,W=$,U=K5(`${K}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${q}`,"g"),z=[],_=U.exec(W);while(_!==null){let[B,j="",H=""]=_,L=_.index||0;try{let F=j?LZ(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:Z0("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 Dq($,Z,Y,X,Q){let{name:J,handler:G}=Z,K=$,q=K5(`@${J}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),W=[],U=q.exec(K);while(U!==null){let[B,j=""]=U,H=U.index||0;try{let L=LZ(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:Z0("CustomDirective",`Error in @${J}(${j}): ${F}`,o.EVALUATION_ERROR),startIndex:H})}U=q.exec(K)}let z=K5(`@${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:Z0("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 LZ($){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 FZ=b(()=>{U1();q5()});var n7={};e(n7,{useTitle:()=>Pq,useSeoMeta:()=>VZ,usePageTitle:()=>Pq,useHead:()=>i7,seoMetaToHeadConfig:()=>s$,resetHead:()=>Sq,renderHtmlAttrs:()=>vq,renderHead:()=>Cq,renderBodyAttrs:()=>xq,processTitleDirective:()=>hq,processMetaDirective:()=>uq,processHeadDirective:()=>gq,mergeHeadConfigs:()=>z5,getPageMeta:()=>bq,getHead:()=>p7,definePageMeta:()=>yq,applyHead:()=>fq});function p7(){return R1}function bq(){return n$}function Sq(){R1={},kq.length=0,n$={}}function i7($){R1=z5(R1,$)}function z5($,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 VZ($){i7(s$($))}function s$($){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 yq($){if(n$={...n$,...$},$.title||$.description)VZ({title:$.title,description:$.description})}function Pq($){let Z=typeof $==="function"?$():$;i7({title:Z})}function Cq($=R1){let Z=[];if($.title){let Y=$.title;if($.titleTemplate)Y=typeof $.titleTemplate==="function"?$.titleTemplate(Y):$.titleTemplate.replace("%s",Y);Z.push(`<title>${m1(Y)}</title>`)}if($.base){let Y=Object.entries($.base).map(([X,Q])=>`${X}="${m1(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}="${m1(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}="${m1(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}="${m1(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 g7,a0,u7;var ZZ=k(()=>{l$();g7={isEnabled(){return h$().enableAutoRecovery},fixCommonSyntaxErrors($){let Z=h$();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(e5())return`<!-- ${$} failed: ${Z.message} -->`;return"<!-- stx rendering error -->"}};a0=new h7,u7={isDevelopment(){return e5()},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 YZ=()=>{};var XZ=k(()=>{f$();$Z();ZZ();YZ();l$()});var U1=k(()=>{XZ()});function y0($,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 A1($,Z){let Y=Aq($,Z);return Y.ok?{expression:Y.expression,endPos:Y.endPos}:null}function Aq($,Z){let Y=Z;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Y};let X=y0($,"(",")",Y);if(X===-1)return{ok:!1,reason:"unclosed-paren",pos:Y};return{ok:!0,expression:$.slice(Y+1,X),endPos:X+1}}function Rq($,Z){let Y=$.lastIndexOf("<",Z);if(Y===-1)return!1;return Y>$.lastIndexOf(">",Z)}function u1($,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 JZ($,Z){let Y=$.slice(Z).match(/^@if\s*/);if(!Y)return null;let X=Z+Y[0].length,Q=A1($,X);if(!Q)return null;let J=Q.endPos,G=u1($,"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(Rq(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=A1(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 $$($){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=JZ($,X.index);if(J)Z.push(J),Y.lastIndex=J.end;X=Y.exec($)}return Z}function c$($,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=y0($,"(",")",q);if(W===-1){J=Q.exec($);continue}let U=$.slice(q+1,W),z=W+1,_=u1($,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 d7($,Z){let Y=$.slice(Z).match(/^@switch\s*/);if(!Y)return null;let X=Z+Y[0].length,Q=A1($,X);if(!Q)return null;let J=Q.endPos,G=u1($,"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=A1(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 QZ=()=>{};var GZ=()=>{};var p$=k(()=>{QZ();GZ()});function Iq($,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=d7(X,G);if(!K)break;try{let q;if(K0(K.expression))q=q0(K.expression,Object.keys(Z))(...Object.values(Z));else q=X0(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&&K0(z.value))_=q0(z.value,Object.keys(Z))(...Object.values(Z));else if(z.value)_=X0(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=Z0("Switch",`Error evaluating @switch expression: ${W}`,o.EVALUATION_ERROR);X=X.substring(0,G)+U+X.substring(K.end);break}}return X}function d1($,Z,Y){let X=$;X=Iq(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=A1(X,K+7);if(!q)break;let W=q.endPos,U=u1(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,R)=>A.pos-R.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=l7(X,Z,Y),X=c7(X,Z,Y),X=m7(X,Z);let Q=()=>{let 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&&K0(U.condition))z=q0(U.condition,Object.keys(Z))(...Object.values(Z));else if(U.condition)z=X0(U.condition,Z);if(z)q=U.content,W=!0}catch(z){q=Z0(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=Z0("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 KZ($){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 m7($,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=KZ(_);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?w1(`auth?.check && auth?.user?.[${U}]`,Z):w1("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=KZ(_);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?w1(`!auth?.check || !auth?.user?.[${U}]`,Z):w1("!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=w1(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"),R=new RegExp(`@${W}\\s*\\(`,"g"),M=/@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=R.exec(F))!==null)N.push({pos:T.index,type:"elseDirective"});while((T=M.exec(F))!==null)N.push({pos:T.index,type:"else"});N.sort((b,C)=>b.pos-C.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 C=O[b];if(I.push({content:F.slice(D,C.pos),ability:void 0}),C.type==="elseDirective"){let h=F.slice(C.pos+`@${W}`.length),x=G(h);if(x){I[I.length-1]={content:F.slice(D,C.pos)},D=C.pos+`@${W}`.length+x.paramsEnd,I.push({content:"",ability:x.ability,type:x.type,id:x.id}),I.pop();let l=O[b+1],$0=l?l.pos:F.length;I.push({content:F.slice(D,$0),ability:x.ability,type:x.type,id:x.id}),D=$0}}else D=C.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),P=K==="can"?E:!E,S="";if(P)S=I[0]?.content||"";else{let b=!1;for(let C=1;C<I.length;C++){let h=I[C];if(h.isFinalElse){S=h.content,b=!0;break}if(h.ability){let x=J(h.ability,h.type,h.id);if(K==="can"?x:!x){S=h.content,b=!0;break}}}if(!b&&I.length>0){let C=I[I.length-1];if(C.isFinalElse)S=C.content}}Y=Y.substring(0,_)+S+Y.substring(L+`@${q}`.length),U=!0}}return Y}function l7($,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=A1(J,B+`@${G}`.length);if(!j)break;let H=j.endPos,L=u1(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 R=F.indexOf("@",A);if(R===-1)break;let M=F.substring(R);if(/^@(?:if|unless|isset|empty)\s*\(/.test(M)){w++,A=R+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(M)){w--,A=R+1;continue}if(w===0&&/^@else(?![a-z])/.test(M)){V=R;break}A=R+1}try{let R=q(O.trim()),M;if(V!==-1){let N=F.slice(0,V),T=F.slice(V+5);M=R?N:T}else M=R?F:"";J=J.substring(0,B)+M+J.substring(L+`@${K}`.length),U=!0}catch(R){let M=R instanceof Error?R.message:String(R),N=Z0(W,`Error processing @${G} directive: ${M}`,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=w1(J,Z);return G!==void 0&&G!==null},"Isset"),X=Q(X,"empty","endempty",(J)=>{let G=w1(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 c7($,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),P=z.exec(j),S=E?E.index:1/0,b=P?P.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+P[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 R=j.substring(O,A),M=-1,N=0,T=0;while(T<R.length){let E=R.indexOf("@",T);if(E===-1)break;let P=R.substring(E);if(_.test(P)){N++,T=E+1;continue}if(B.test(P)){N--,T=E+1;continue}if(N===0&&/^@else(?![a-z])/.test(P)){M=E;break}T=E+1}let I;if(M!==-1){let E=R.slice(0,M),P=R.slice(M+5);I=W?E:P}else I=W?R:"";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 i$=k(()=>{a8();U1();p$();O0()});function WZ($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function n$($,Z){if(!$)return Z?.nonceGenerator?.()??WZ();let Y=qZ.get($);if(!Y)Y=Z?.nonceGenerator?.()??WZ(),qZ.set($,Y);return Y}function Eq($,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 UZ($,Z){return`<meta http-equiv="Content-Security-Policy" content="${Eq($,Z).replace(/&/g,"&").replace(/"/g,""")}">`}function zZ($,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?n$(Y,Z):void 0,Q=UZ(Z.directives,X);return $.replace(/<head([^>]*)>/,`<head$1>
|
|
1678
|
+
${Q}`)}function _Z($,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 BZ($,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?n$(Z,J):void 0;return UZ(J.directives,G)}),Q=Q.replace(/@cspNonce\b/g,()=>{if(!J?.enabled||!J.useNonce)return"";return n$(Z,J)}),J?.enabled&&J.useNonce)Z.cspNonce=n$(Z,J);return Q}var qZ;var jZ=k(()=>{qZ=new WeakMap});import Dq from"crypto";function bq($=kq){let Z=Dq.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return p7=Z,Z}function Sq(){if(!p7)bq();return p7}function yq($=HZ){let Z=Sq();return`<input type="hidden" name="${$}" value="${Z}">`}function OZ($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(Z,Y,X)=>{return yq(X||HZ)})}var kq=40,HZ="_token",p7=null;var LZ=()=>{};async function FZ($,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 Pq(Q,J,Z,Y,X);else Q=await Cq(Q,J,Z,Y,X)}return Q}async function Pq($,Z,Y,X,Q){let{name:J,handler:G}=Z,K=`@${J}`,q=`@end${J}`,W=$,U=q5(`${K}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${q}`,"g"),z=[],_=U.exec(W);while(_!==null){let[B,j="",H=""]=_,L=_.index||0;try{let F=j?VZ(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:Z0("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=q5(`@${J}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),W=[],U=q.exec(K);while(U!==null){let[B,j=""]=U,H=U.index||0;try{let L=VZ(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:Z0("CustomDirective",`Error in @${J}(${j}): ${F}`,o.EVALUATION_ERROR),startIndex:H})}U=q.exec(K)}let z=q5(`@${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:Z0("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 VZ($){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 wZ=k(()=>{U1();W5()});function m1($,Z){if(typeof $!=="string"||$.length===0)throw Error(`@appearanceBootstrap ${Z} must be a non-empty string`)}function xq($){if(!$||typeof $!=="object"||Array.isArray($))throw Error("@appearanceBootstrap expects an options object");let Z=$,Y=Z.appearance,X=Z.colorMode;if(m1(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(m1(Y.key,"appearance.key"),m1(Y.attribute,"appearance.attribute"),m1(Y.default,"appearance.default"),m1(X.key,"colorMode.key"),m1(X.attribute,"colorMode.attribute"),m1(X.default,"colorMode.default"),!RZ.test(Y.key)||!RZ.test(X.key))throw Error("@appearanceBootstrap preference keys must be JavaScript property names");if(!AZ.test(Y.attribute)||!AZ.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(!vq.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 fq($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function gq($){return`<script data-stx-scoped data-stx-appearance-bootstrap>(function(){"use strict";const config=${fq($)};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 hq($,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 MZ($,Z){let Y=$,X=/@appearanceBootstrap\s*\(/g,Q;while((Q=X.exec(Y))!==null){let J=Q.index+Q[0].length-1,G=hq(Y,J);if(G===-1)throw Error("@appearanceBootstrap has an unclosed options object");let K=Y.slice(J+1,G).trim(),q=X0(`(${K})`,Z),W=gq(xq(q));Y=Y.slice(0,Q.index)+W+Y.slice(G+1),X.lastIndex=Q.index+W.length}return Y}var AZ,RZ,vq;var NZ=k(()=>{O0();AZ=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,RZ=/^[A-Za-z_$][\w$]*$/,vq=new Set(["light","dark","system"])});var s7={};e(s7,{useTitle:()=>cq,useSeoMeta:()=>TZ,usePageTitle:()=>cq,useHead:()=>n7,seoMetaToHeadConfig:()=>o$,resetHead:()=>mq,renderHtmlAttrs:()=>iq,renderHead:()=>pq,renderBodyAttrs:()=>nq,processTitleDirective:()=>rq,processMetaDirective:()=>aq,processHeadDirective:()=>oq,mergeHeadConfigs:()=>_5,getPageMeta:()=>dq,getHead:()=>i7,definePageMeta:()=>lq,applyHead:()=>sq});function i7(){return R1}function dq(){return s$}function mq(){R1={},uq.length=0,s$={}}function n7($){R1=_5(R1,$)}function _5($,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 TZ($){n7(o$($))}function o$($){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 lq($){if(s$={...s$,...$},$.title||$.description)TZ({title:$.title,description:$.description})}function cq($){let Z=typeof $==="function"?$():$;n7({title:Z})}function pq($=R1){let Z=[];if($.title){let Y=$.title;if($.titleTemplate)Y=typeof $.titleTemplate==="function"?$.titleTemplate(Y):$.titleTemplate.replace("%s",Y);Z.push(`<title>${l1(Y)}</title>`)}if($.base){let Y=Object.entries($.base).map(([X,Q])=>`${X}="${l1(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}="${l1(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}="${l1(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}="${l1(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 iq($=R1){if(!$.htmlAttrs)return"";return Object.entries($.htmlAttrs).map(([Z,Y])=>`${Z}="${l1(Y)}"`).join(" ")}function nq($=R1){if(!$.bodyAttrs)return"";return Object.entries($.bodyAttrs).map(([Z,Y])=>`${Z}="${l1(Y)}"`).join(" ")}function l1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function sq($=R1){if(typeof document>"u")return;if($.title){let Z=$.title;if($.titleTemplate)Z=typeof $.titleTemplate==="function"?$.titleTemplate(Z):$.titleTemplate.replace("%s",Z);document.title=Z}for(let Z of $.meta||[]){let Y=Z.name?`meta[name="${Z.name}"]`:Z.property?`meta[property="${Z.property}"]`:null;if(Y){let 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 oq($){let Z="";return{content:$.replace(/@head\s*([\s\S]*?)@endhead/g,(X,Q)=>{return Z+=Q.trim()+`
|
|
1680
|
+
`,""}),headContent:Z.trim()}}function rq($,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=_5(K,{title:G}),""})}function aq($,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=_5(_,{meta:[z]}),""})}var R1,uq,s$;var Z$=k(()=>{R1={},uq=[],s$={}});import tq from"crypto";function A0($){return String($??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function r$($,Z,Y,X){let Q=$||Z;return Y?`${Q} ${X}`:Q}function eq(){return tq.randomUUID()}function a$($,Z){let Y=$;return Y=Y.replace(/@csrf/g,()=>{if(!Z.csrf||typeof Z.csrf!=="object"){let X=eq();Z.csrf={token:X}}if(Z.csrf.field)return Z.csrf.field;if(Z.csrf.token)return`<input type="hidden" name="_token" value="${A0(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="${A0(J)}">`;return X}),Y}function DZ($,Z,Y=EZ){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||"",_=M1(W),B=U.toUpperCase(),j=["GET","POST"].includes(B)?B:"POST",H=`<form method="${A0(j)}" action="${A0(z)}"${_?` ${_}`:""}>`;if(H+=`
|
|
1681
|
+
${a$("@csrf",Z)}`,!["GET","POST"].includes(B))H+=`
|
|
1682
|
+
${a$(`@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||"",_=M1(W),B=Y$(U,Z),j=B!==void 0&&B!==null?B:z||"",H=_.match(/type=['"]([^'"]+)['"]/i),L=H?H[1]:"text",F=X$(U,Z),O=_.match(/class=['"]([^'"]+)['"]/i),V=r$(O?O[1]:"",Y.input,F,Y.inputError),w=_.replace(/class=['"][^'"]+['"]/i,"");return w=w.replace(/type=['"][^'"]+['"]/i,""),`<input type="${A0(L)}" name="${A0(U)}" value="${A0(j)}" class="${V}"${w?` ${w}`:""}>`}),X=X.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(Q,J,G="",K="")=>{let q=M1(G),W=Y$(J,Z)||K.trim(),U=X$(J,Z),z=q.match(/class=['"]([^'"]+)['"]/i),_=r$(z?z[1]:"",Y.input,U,Y.inputError),B=q.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${A0(J)}" class="${_}"${B?` ${B}`:""}>${A0(W)}</textarea>`}),X=X.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(Q,J,G="",K)=>{let q=M1(G),W=Y$(J,Z),U=X$(J,Z),z=q.match(/class=['"]([^'"]+)['"]/i),_=r$(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="${A0(J)}" class="${_}"${B?` ${B}`:""}>${j}</select>`}),X=X.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(Q,J,G="1",K="")=>{let q=M1(K),W=Y$(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="${A0(J)}" value="${A0(G)}" class="${_}"${U?" checked":""}${B?` ${B}`:""}>`}),X=X.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Q,J,G,K="")=>{let q=M1(K),W=Y$(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="${A0(J)}" value="${A0(G)}" class="${_}"${U?" checked":""}${B?` ${B}`:""}>`}),X=X.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(Q,J,G="")=>{let K=M1(G),q=K.match(/accept=['"]([^'"]+)['"]/i),W=q?q[1]:"",U=K.includes("multiple"),z=X$(J,Z),_=K.match(/class=['"]([^'"]+)['"]/i),B=r$(_?_[1]:"",Y.input,z,Y.inputError),j=K.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),H=[`<input type="file" name="${A0(J)}"`,`class="${B}"`];if(W)H.push(`accept="${A0(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=M1(G),W=q.match(/class=['"]([^'"]+)['"]/i),U=W?W[1]:Y.label,z=q.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${A0(J)}" class="${U}"${z?` ${z}`:""}>${K}</label>`}),X}function kZ($,Z,Y=EZ){return $.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(X,Q,J)=>{try{if(X$(Q,Z))return J.replace(/\{\{([^}]+)\}\}/g,(G,K)=>{try{if(K.trim()==="$message"||K.trim()==="message")return IZ(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 IZ(Q,Z)}let q=K.trim();if(K0(q)){let W=X0(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 X$($,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 IZ($,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 Y$($,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 M1($){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 EZ;var bZ=k(()=>{O0();EZ={input:"form-control",inputError:"is-invalid",checkInput:"form-check-input",label:"form-label",errorFeedback:"invalid-feedback"}});import a7 from"path";async function $W(){if(J$!==void 0)return J$;try{J$=(await import("@stacksjs/ts-i18n")).loadLocale??null}catch{J$=null}return J$}function ZW($,Z=0){if(Z<=0)return!1;return Date.now()-$.loadedAt>Z}async function YW($,Z){if({...$3,...Z.i18n}.cache&&t7[$]){let Q=t7[$],J=Z.i18n?.cacheMaxAge??0;if(!ZW(Q,J))return Q.translations}if(Q$[$]?.state==="loading")return Q$[$].promise;o7[$]="loading";let X=e7($,Z).then((Q)=>{return o7[$]="loaded",delete Q$[$],Q}).catch((Q)=>{throw o7[$]="error",Q$[$]={promise:X,state:"error",error:Q instanceof Error?Q:Error(String(Q))},Q});return Q$[$]={promise:X,state:"loading"},X}async function e7($,Z){let Y={...$3,...Z.i18n},X=a7.isAbsolute(Y.translationsDir)?Y.translationsDir:a7.resolve(Z.root||process.cwd(),Y.translationsDir);try{let Q=await $W(),J=Q?await Q($,{translationsDir:X,defaultLocale:Y.defaultLocale,sources:KW(Y.format)}):await XW($,Y,X);if(J===void 0){if($!==Y.defaultLocale)return e7(Y.defaultLocale,Z);return{}}let G=J;if(Y.cache)t7[$]={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 e7(Y.defaultLocale,Z);return{}}}async function XW($,Z,Y){let X=a7.join(Y,`${$}${JW(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 QW(J);if(Z.format==="json")return JSON.parse(J);throw Q}catch{return}}}function JW($){switch($){case"yaml":return".yaml";case"yml":return".yml";case"js":return".js";case"ts":return".ts";case"json":default:return".json"}}function QW($){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]=GW(_)}}return Z}function GW($){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 KW($){switch($){case"yaml":case"yml":return["yaml"];case"js":case"ts":return["ts"];case"json":default:return["json"]}}async function qW($,Z){return YW($,Z)}function WW($,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 UW($,Z={}){return PZ($,Z)}function PZ($,Z){let Y="",X=0;while(X<$.length)if($[X]==="{"){let Q=zW($,X);if(Q===-1){Y+=$[X],X++;continue}let J=$.slice(X+1,Q);Y+=_W(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 zW($,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 _W($,Z){let Y=BW($);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 jW(Q,Y.slice(2).join(","),Z);case"select":return OW(Q,Y.slice(2).join(","));case"selectordinal":return LW(Q,Y.slice(2).join(","));case"number":return VW(Q,Y[2]?.trim());case"date":return wW(Q,Y[2]?.trim());case"time":return AW(Q,Y[2]?.trim());default:return Q!==void 0?String(Q):`{${$}}`}}function BW($){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 jW($,Z,Y){let X=Number($)||0,Q=Z3(Z),J=`=${X}`;if(Q[J])return r7(Q[J],X,Y);let G=HW(X);if(Q[G])return r7(Q[G],X,Y);if(Q.other)return r7(Q.other,X,Y);return String(X)}function r7($,Z,Y){let X=$.replace(/#/g,String(Z));return PZ(X,Y)}function HW($){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 OW($,Z){let Y=String($||""),X=Z3(Z);if(X[Y])return X[Y];return X.other||String($)}function LW($,Z){let Y=Number($)||0,X=Z3(Z),Q=FW(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 FW($){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 Z3($){let Z={},Y=/(\w+|=\d+)\s*\{([^{}]*(?:\{[^{}]*\}[^{}]*)*)\}/g,X=Y.exec($);while(X!==null)Z[X[1]]=X[2],X=Y.exec($);return Z}function VW($,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 wW($,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 AW($,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 RW($){return/\{[^}]+,\s*(?:plural|select|selectordinal|number|date|time)\s*,/.test($)}function SZ($,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(RW(G))return UW(G,X);if(G.includes("|")&&"count"in X){let K=Number(X.count),q=G.split("|");G=WW(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 CZ($,Z,Y,X){let Q=$,J=/@translate\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\})\s*)?\)([\s\S]*?)@endtranslate/g,G={...$3,...X.i18n},K=await qW(G.locale,X);Z.__translations=K,Z.__locale=G.locale,Z.__i18nConfig=G,Q=await yZ(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 w0(_,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 SZ(z,K,G.fallbackToKey,H)||B.trim()}catch(H){if(X.debug)console.error("Error processing @translate directive:",H);return Z0("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 yZ(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 w0(_,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 SZ(z,K,G.fallbackToKey,j)}catch(j){if(X.debug)console.error("Error processing @translate directive:",j);return Z0("Translate",`Error in @translate('${z}'): ${j instanceof Error?j.message:String(j)}`,o.EVALUATION_ERROR)}}),Q}async function yZ($,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 J$,$3,t7,Q$,o7;var vZ=k(()=>{U1();O0();$3={defaultLocale:"en",locale:"en",translationsDir:"translations",format:"yaml",fallbackToKey:!0,cache:!0},t7={},Q$={},o7={}});function NW($){let Z=$.replace(/^<template\b/i,"").replace(/>$/,"");return MW.test(Z)}function B5($){G$.lastIndex=0;let Z;while((Z=G$.exec($))!==null){if(Z[0].startsWith("</")||NW(Z[0]))continue;let Y=Z.index,X=G$.lastIndex,Q=1,J;while((J=G$.exec($))!==null)if(J[0].startsWith("</")){if(Q--,Q===0){let G=J.index;return{start:Y,openEnd:X,closeStart:G,end:G$.lastIndex,content:$.slice(X,G)}}}else Q++;return null}return null}var G$,MW;var t$=k(()=>{G$=/<\/?template\b[^>]*>/gi,MW=/(?:^|\s)(?:id\s*=|(?:x-|[@:])(?:for|if|else(?:-if)?)(?=\s|=|$)|#[\w-]+(?:\s*=|\s|$)|v-slot(?::[\w-]+)?(?=\s|=|$)|slot\s*=)/i});var J3={};e(J3,{streamingSuspenseDirective:()=>gZ,streamToResponse:()=>xW,streamTemplateSimple:()=>yW,streamTemplate:()=>IW,renderStreamingPage:()=>DW,registerStreamingDirectives:()=>CW,processStreamDirectives:()=>bW,processSectionDirectives:()=>vW,islandDirective:()=>hZ,generateHydrationRuntime:()=>fW,extractStreamBoundaries:()=>SW,createStreamRenderer:()=>PW,buildSuspenseResolveScript:()=>X3,SUSPENSE_RESOLVER_RUNTIME:()=>fZ});import e$ from"path";function TW($){let Z=[],Y=0,X;xZ.lastIndex=0;while((X=xZ.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 IW($,Z={},Y={}){let X={..._1,...Y,streaming:{...Y3,...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:e$.dirname($)};if(q.trim())await z1(q,U,$);let z=TW(W),_=new Set;if(!z.some((j)=>j.type==="suspense")){let j=X.streaming?.strategy||"auto",H=new RegExp(c1.source,"g");if(!(j!=="manual"&&H.test(W))){let F=await L0(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(c1.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 M=W.slice(w,A.start);if(M.trim()){let N=await L0(M,U,$,X,_);J.enqueue(N),await new Promise((T)=>setTimeout(T,0))}}let R=await L0(A.content,U,$,X,_);J.enqueue(R),await new Promise((M)=>setTimeout(M,0)),w=A.end}if(w<W.length){let A=W.slice(w);if(A.trim()){let R=await L0(A,U,$,X,_);J.enqueue(R)}}}}else{let j=new Map;for(let L of z)if(L.type==="shell"||L.type==="content"){let F=await L0(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
|
-
</div>`),j.set(L.name,
|
|
1685
|
+
</div>`),j.set(L.name,L0(L.content,U,$,X,_))}J.enqueue(`
|
|
1686
1686
|
<script>
|
|
1687
1687
|
(function() {
|
|
1688
1688
|
window.__stxSuspense = window.__stxSuspense || {
|
|
@@ -1698,13 +1698,13 @@ ${Q}`)}function zZ($,Z,Y,X){let Q=$,J=X.csp;if(Q=Q.replace(/@csp\b/g,()=>{if(!J?
|
|
|
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 X3(L,F))});await Promise.all(H)}J.close()}catch(G){J.error(G)}}})}async function X3($,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: ${o0(X)}</div>');
|
|
1707
|
-
</script>`}}function
|
|
1707
|
+
</script>`}}function EW($,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(fZ),await Promise.all(Z.map(async(J)=>{let G=EW(J.render(),X,J.id);Q.enqueue(await X3(J.id,G))}));Q.close()}catch(J){Q.error(J)}}})}function bW($,Z){return $.replace(kW,(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 SW($){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 yW($,Z={},Y={}){let X={..._1,...Y,streaming:{...Y3,...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:e$.dirname($)};if(q.trim())await z1(q,U,$);let z=new Set,_=X.streaming?.strategy||"auto",B=new RegExp(c1.source,"g");if(!(_!=="manual"&&B.test(W))){let H=await L0(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(c1.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 R=await L0(A,U,$,X,z);J.enqueue(R)}}let w=await L0(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 L0(V,U,$,X,z);J.enqueue(w)}}}J.close()}catch(G){J.error(G)}}})}async function PW($,Z={}){let Y={..._1,...Z,streaming:{...Y3,...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;c1.lastIndex=0;while((W=c1.exec(G))!==null){let _=W[1],B=W[2];q[_]=B}let U=G.replace(c1,"");return{renderShell:async(_={})=>{let B={..._,__filename:$,__dirname:e$.dirname($)};return await z1(J,B,$),L0(U,B,$,Y,new Set)},renderSection:async(_,B={})=>{try{if(!q[_])return`<div class="error-message">Section "${o0(_)}" not found in template "${o0($)}"</div>`;let j={...B,__filename:$,__dirname:e$.dirname($)};await z1(J,j,$);let H=new Set;return await L0(q[_],j,$,Y,H)}catch(j){let H=j instanceof Error?j.message:String(j);return U0("Expression",H,$,q[_]||"",0,q[_]||"")}},getSections:()=>{return Object.keys(q)},getTemplate:()=>{return K}}}function CW($={}){let Z=[];if($.streaming?.enabled)Z.push(gZ);if($.hydration?.enabled)Z.push(hZ);return Z}async function vW($,Z,Y,X={}){return $}function xW($,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 fW($={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 Y3,c1,xZ,fZ=`
|
|
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>`,kW,gZ,hZ;var Q3=k(()=>{g1();Z1();$4();V0();Y3={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},c1=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g,xZ=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;kW=/@stream\s*\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)@endstream/gi;gZ={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} -->`}},hZ={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
|
|
1874
|
+
</div>`}}});var mZ={};e(mZ,{warnUnbalancedTags:()=>G3,findUnbalancedTags:()=>dZ});function j5($){return $.replace(/[^\n]/g," ")}function dZ($){let Z=$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,j5).replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,j5).replace(/<!--[\s\S]*?-->/g,j5).replace(/\{\{\{[\s\S]*?\}\}\}/g,j5).replace(/\{\{[\s\S]*?\}\}/g,j5).replace(/\{!![\s\S]*?!!\}/g,j5),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(gW.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(hW.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 G3($,Z){let Y;try{Y=dZ($)}catch{return}if(Y.length===0)return;let X=`${Z}:${$.length}`;if(uZ.has(X))return;uZ.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 gW,hW,uZ;var K3=k(()=>{gW=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),hW=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);uZ=new Set});import c0 from"path";import q3 from"fs";function lZ($){return $.split("-").map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join("")}function cZ($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class pZ{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(),lZ(Q),cZ(Q)];for(let j of B)if(J.has(j))return J.get(j)}let G=[...new Set([`${Q}.stx`,`${lZ(Q)}.stx`,`${cZ(Q)}.stx`])];if(Q.startsWith("./")||Q.startsWith("../")){let B=c0.resolve(c0.dirname(Z),`${Q}.stx`);if(await n(B))return B;return null}let K=[],q=Y.componentsDir||"",W=X?.__originalFilePath;if(W)K.push(c0.join(c0.dirname(W),"components"));if(q)K.push(q);let U=c0.join(c0.dirname(Z),"components");if(!K.includes(U))K.push(U);let z=process.cwd(),_=[c0.resolve(z,"src/components"),c0.resolve(z,"components"),c0.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=c0.join(B,j);if(await n(H))return H}try{if(!q3.statSync(B,{throwIfNoEntry:!1})?.isDirectory())continue;let H=q3.readdirSync(B,{withFileTypes:!0});for(let L of H)if(L.isDirectory()){let F=c0.join(B,L.name);for(let O of G){let V=c0.join(F,O);if(await n(V))return V}}}catch{}}return null}}var P0;var W3=k(()=>{V0();P0=new pZ});function E0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function H5($,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(E0(J));continue}Y.push(`${E0(J)}="${E0(Q)}"`)}return Y}var Z4=()=>{};function K$($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function uW($){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 U3;var z3=k(()=>{Z4();U3={name:"StxLink",aliases:["stx-link"],render($,Z,Y){let X=uW($),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="${K$(X.value)}"`);else q.push(`href="${K$(X.value)}"`);if(Q)q.push(`class="${K$(Q)}"`);if(q.push("data-stx-link"),q.push(`data-stx-active-class="${K$(J)}"`),q.push(`data-stx-exact-active-class="${K$(G)}"`),K)q.push("data-stx-prefetch");let W=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);return q.push(...H5($,W)),`<a ${q.join(" ")}>${Z}</a>`}}});function M0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function D0($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}function B3($,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 iZ($){if($.includes("(")||$.includes(","))return $;let Z=$.trim().split(/\s+/),Y=[];for(let X of Z)if(X.includes(":")){let[Q,J]=X.split(":"),G=dW[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 j3($,Z,Y,X){return Z.map((Q)=>`${q$($,Q,void 0,Y,X)} ${Q}w`).join(", ")}function mW($,Z,Y,X,Q){return Z.map((J)=>{let G=Y?Y*J:void 0;return`${q$($,G,void 0,X,Q)} ${J}x`}).join(", ")}function q$($,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 lW($,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 dW,_3,H3;var O3=k(()=>{Z4();dW={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},_3=[320,640,768,1024,1280,1536,1920];H3={name:"StxImage",aliases:["stx-image","stx-img"],render($,Z,Y){let X=D0($,"src")||"",Q=D0($,"alt")||"",J=D0($,"width"),G=D0($,"height"),K=D0($,"sizes"),q=D0($,"srcset"),W=D0($,"densities"),U=D0($,"format"),z=D0($,"placeholder"),_=D0($,"placeholderColor")||"#e5e7eb",B=D0($,"provider"),j=D0($,"class")||D0($,"className")||"",H=D0($,"style")||"",L=D0($,"quality"),F=B3($,"lazy",!0),O=B3($,"preload",!1),V=B3($,"picture",!1)||!!U,w=J?Number.parseInt(J):void 0,A=G?Number.parseInt(G):void 0,R=q||"",M="";if(!R&&K)R=j3(X,_3,B,U),M=iZ(K);else if(!R&&W){let S=W.split(/\s+/).map((b)=>Number.parseFloat(b.replace("x","")));R=mW(X,S,w,B,U)}else if(K)M=iZ(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=lW(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=q$(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(R)I.push(`srcset="${M0(R)}"`);if(M)I.push(`sizes="${M0(M)}"`);let D=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);I.push(...H5($,D));let E=`<img ${I.join(" ")} />`,P="";if(O){let b=U==="webp"?"image/webp":U==="avif"?"image/avif":"";P=`<link rel="preload" as="image" href="${M0(T)}"${b?` type="${b}"`:""}${R?` imagesrcset="${M0(R)}"`:""}${M?` imagesizes="${M0(M)}"`:""} />
|
|
1876
|
+
`}if(V){let S=[];if(U==="avif"||U==="auto"){let b=q$(X,w,A,B,"avif"),C=R?j3(X,_3,B,"avif"):`${b}`;S.push(`<source type="image/avif" srcset="${M0(C)}"${M?` sizes="${M0(M)}"`:""} />`)}if(U==="webp"||U==="auto"){let b=q$(X,w,A,B,"webp"),C=R?j3(X,_3,B,"webp"):`${b}`;S.push(`<source type="image/webp" srcset="${M0(C)}"${M?` sizes="${M0(M)}"`:""} />`)}return`${P}<picture>
|
|
1877
1877
|
${S.join(`
|
|
1878
1878
|
`)}
|
|
1879
1879
|
${E}
|
|
1880
|
-
</picture>`}return`${P}${E}`}}});function
|
|
1880
|
+
</picture>`}return`${P}${E}`}}});function W$($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function O5($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}var nZ="/images/safe-image-default.svg",cW,L3;var F3=k(()=>{Z4();cW=`<script>window.__stxSafeImageHandler||(window.__stxSafeImageHandler=function(i){if(i.__stx_fb)return;i.__stx_fb=1;var f=i.getAttribute('data-fallback')||'${nZ}';var c=i.getAttribute('data-fallback-class');i.src=f;if(c)i.className=c;});</script>`,L3={name:"SafeImage",aliases:["safe-image","safe-img"],render($,Z,Y){let X=O5($,"src")||"",Q=O5($,"alt")||"",J=O5($,"fallback")||nZ,G=O5($,"class")||O5($,"className")||"",K=O5($,"fallbackClassName")||"",q=[];if(q.push(`src="${W$(X)}"`),q.push(`alt="${W$(Q)}"`),G)q.push(`class="${W$(G)}"`);if(q.push(`data-fallback="${W$(J)}"`),K)q.push(`data-fallback-class="${W$(K)}"`);q.push('onerror="window.__stxSafeImageHandler(this)"');let W=new Set(["src","alt","fallback","class","className","fallbackClassName"]);q.push(...H5($,W));let U=`<img ${q.join(" ")} />`,z=Y.context;if(!z.__safeImageHandlerEmitted)return z.__safeImageHandlerEmitted=!0,`${cW}${U}`;return U}}});function V3($){return $.replace(/[;{}()]/g,"").replace(/url/gi,"")}function U$($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}function Y4($,Z,Y){let X=U$($,Z);if(X!==void 0){let Q=Number.parseInt(X,10);if(!Number.isNaN(Q))return Q}return Y}var w3;var A3=k(()=>{w3={name:"StxLoadingIndicator",aliases:["stx-loading-indicator"],render($,Z,Y){let X=V3(U$($,"color")||"#6366f1"),Q=V3(U$($,"initialColor")||U$($,"initial-color")||""),J=V3(U$($,"height")||"3px"),G=Y4($,"duration",2000),K=Y4($,"throttle",200),q=Y4($,"zIndex",999999)||Y4($,"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 oZ($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}function pW($,Z,Y){let X=oZ($,Z);if(X!==void 0){let Q=Number.parseInt(X,10);if(!Number.isNaN(Q))return Q}return Y}var sZ,R3;var M3=k(()=>{sZ={"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%)"},R3={name:"StxToast",aliases:["stx-toast"],render($,Z,Y){let X=E0(oZ($,"position")||"top-right"),Q=pW($,"max",5),J=sZ[X]||sZ["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 X4($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}var rZ,N3;var T3=k(()=>{rZ={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)"},N3={name:"StxModal",aliases:["stx-modal"],render($,Z,Y){let X=X4($,"id");if(!X)return console.warn('[stx] <StxModal> requires an "id" prop'),"<!-- StxModal: missing id prop -->";let Q=E0(X),J=X4($,"size")||"md",G=X4($,"closeOnBackdrop")!=="false",K=X4($,"closeOnEscape")!=="false",q=rZ[J]||rZ.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 L5($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}var aZ,I3;var E3=k(()=>{aZ={sm:"16rem",md:"24rem",lg:"32rem",xl:"40rem"},I3={name:"StxDrawer",aliases:["stx-drawer"],render($,Z,Y){let X=L5($,"id");if(!X)return console.warn('[stx] <StxDrawer> requires an "id" prop'),"<!-- StxDrawer: missing id prop -->";let Q=E0(X),J=L5($,"side")||"right",G=L5($,"size")||"md",K=L5($,"closeOnBackdrop")!=="false",q=L5($,"closeOnEscape")!=="false",W=L5($,"overlay")!=="false",U=aZ[G]||aZ.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=R+H.length}else{if(F--,F===0){V=M;break}O=M+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 tZ($,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 eZ=b(()=>{w0();F0();f1()});var G2={};e(G2,{processESImports:()=>J2,processComponents:()=>q4});import K4 from"fs";import f0 from"path";function dW($,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]=tZ(q,Y);continue}if(W.startsWith(":")){let U=J(W.slice(1)),z=q===P3?U:q;try{if(!K0(z)){if(Y.debug)console.error(`Unsafe expression in :${U} binding: ${z}`);X.clientReactive[U]=z;continue}let _=Object.keys(Z),j=q0(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(K0(z)){let B=q0(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(!K0(j)){if(Y.debug)console.error(`Unsafe expression in ${W}: ${j}`);continue}let L=q0(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===P3?"true":q)}return X}function mW($){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]=P3}return Z}function Z2($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function lW($){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(P0.isBuiltin(Q))Z.add(Q)}return[...Z].sort()}function cW($){let Z=Y2.get($);if(Z)return Z;let Y=new Map,X=[f0.join($,"src"),f0.join($,"dist"),$];function Q(J,G){if(G>6)return;let K;try{K=K4.readdirSync(J,{withFileTypes:!0})}catch{return}for(let q of K){let W=f0.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 Y2.set($,Y),Y}function pW($,Z){if($.startsWith(".")||$.startsWith("/"))return null;let Y=Z;while(!0){let X=f0.join(Y,"node_modules",$);try{if(K4.statSync(X).isDirectory())return X}catch{}let Q=f0.dirname(Y);if(Q===Y)return null;Y=Q}}async function J2($,Z,Y,X,Q){if(!$.includes("import"))return $;if(!Z.__importedComponents)Z.__importedComponents=new Map;let J=Z.__importedComponents,G=f0.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=f0.resolve(G,V);if(N.endsWith(".stx"))A=N;else{let T=`${N}.stx`;try{if(K4.statSync(T).isFile())A=T}catch{try{if(K4.statSync(N).isDirectory())w=N}catch{}}}}else w=pW(V,G);if(!w&&!A)continue;let R=!1,M=(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)M(O,A),R=!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?cW(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)M(D,E),R=!0}}if(R)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 iW($,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=[f0.resolve(f0.dirname(Y),`${_}.stx`),f0.resolve(f0.dirname(Y),_),f0.resolve(X.componentsDir||"components",`${_}.stx`),f0.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 nW($,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=V0(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 R="",M=H,T=J.substring(H).match(/^([\s\S]*?)@endcomponent/);if(T)R=T[1].trim(),M=H+T[0].length;let I=await c1(F,A,R,G,Z,Y,X,K,Q);J=J.substring(0,U)+I+J.substring(M),q.lastIndex=0}return J}async function sW($,Z,Y,X,Q){if(!$)return $;let J=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,q=L1(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,uW),J=p5(J,q.scripts),J;async function _(B,j,H,L){if(!B)return B;let F=B,O=aZ(F,j,L);for(let V=O.length-1;V>=0;V--){let w=O[V],A=H?Q4(w.tagName):w.tagName,R=mW(w.attributes),M=dW(R,Z,X),N=P0.getBuiltin(w.tagName),T=N?await G4(A,G,Z,Y,X):!1;if(N&&!T){let P={context:Z,filePath:Y,options:X,dependencies:Q},S=N.render(M,w.content,P);if(Object.keys(M.clientReactive).length>0)S=X2(S,M.clientReactive);if(Object.keys(M.events).length>0){let k=Object.entries(M.events).map(([C,h])=>`${C}="${Z2(h)}"`).join(" ");S=S.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${k}`)}F=F.substring(0,w.startIndex)+S+F.substring(w.endIndex);continue}if(!H&&w.tagName.includes("-")&&!await G4(A,G,Z,Y,X))continue;let I={};for(let[P,S]of Object.entries(M.static))I[P]=S;for(let[P,S]of Object.entries(M.serverDynamic))I[P]=S;let E=await c1(A,I,w.content,G,Z,Y,X,K,Q);if(Object.keys(M.clientReactive).length>0)E=X2(E,M.clientReactive);if(Object.keys(M.events).length>0){let P=Q2(E);if(P){let S=Object.entries(M.events).map(([C,h])=>`${C}="${Z2(h)}"`).join(" "),k=Object.keys(M.events).map((C)=>C.replace(/^@/,"").split(".")[0]).join(" ");E=E.substring(0,P.insertPos)+` data-stx-parent-events="${k}" ${S}`+E.substring(P.insertPos)}}F=F.substring(0,w.startIndex)+E+F.substring(w.endIndex)}return F}}function X2($,Z){let Y=Q2($);if(!Y)return $;let X=new Set(["if","for","show"]),Q=Object.entries(Z).map(([K,q])=>`:${Q4(K)}="${q.replace(/"/g,""")}"`).join(" "),J=Object.keys(Z).filter((K)=>!X.has(K)).map((K)=>Q4(K)).join(" "),G=J?` data-stx-parent-bindings="${J}"`:"";return $.substring(0,Y.insertPos)+`${G} ${Q}`+$.substring(Y.insertPos)}function Q2($){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 q4($,Z,Y,X,Q){if(!$2)oZ(),$2=!0;let J=await J2($,Z,Y,X,Q);J=await iW(J,Z,Y,X,Q),J=await nW(J,Z,Y,X,Q);let G=[];for(let K=0;K<3;K++){let q=$1(J,c5,(U,z)=>`\x00STX_COMPONENT_COMMENT_${G.length+z}\x00`);G.push(...q.tokens);let W=J;if(J=await sW(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=lW(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 $2=!1,P3="\x00stx-boolean-attribute",uW,Y2;var C3=b(()=>{q3();rZ();eZ();f1();F0();w0();uW=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"]);Y2=new Map});var W4={};e(W4,{stripTypeScript:()=>z2,hasVariables:()=>O2,extractVariables:()=>z1,extractScriptFromTemplate:()=>H2,convertToCommonJS:()=>x3});import F5 from"path";import U$ from"process";function oW($){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 iW,readFileSync as nW}from"fs";function sW($){if(tZ.has($))return;tZ.add($),console.warn(`[stx] icon collection "${$}" is not installed, so its icons render as nothing. Install it with \`bun add -d @iconify-json/${$}\`.`)}function oW($){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(iW(Y))return Y;for(let Y of[`@iconify-json/${$}/icons.json`,`@iconify/json/json/${$}.json`])try{return t.resolve(Y)}catch{}return null}function rW($){if(J4.has($))return J4.get($);let Z=oW($);if(!Z)return sW($),null;try{let Y=JSON.parse(nW(Z,"utf8"));return J4.set($,Y.icons),Y.icons}catch{return null}}function F5($,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 J4,tZ,D3;var k3=k(()=>{J4=new Map,tZ=new Set;D3={name:"Icon",aliases:["icon","stx-icon"],render($,Z,Y){let X=F5($,"name")??F5($,"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=E0(F5($,"size")||"24"),K=E0(F5($,"color")||"currentColor"),q=E0(F5($,"class")||""),W=E0(F5($,"style")||""),U=J4.get(Q)??rW(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 eZ($,...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 $2($,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 b3;var S3=k(()=>{b3={name:"Suspense",aliases:["suspense"],render($,Z,Y){let X=$2(Z,"fallback"),Q=X.rest,J=$2(Q,"error"),G=J.rest,K=X.region??eZ($,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',q=J.region??eZ($,"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 Q4($,...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 y3;var P3=k(()=>{y3={name:"TransitionGroup",aliases:["transition-group"],render($,Z,Y){let X=(Q4($,"name")||"v").replace(/["'<>]/g,""),Q=(Q4($,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",J=Q4($,"class"),G=Q4($,"id"),K=[`data-stx-transition-group="${X}"`,J?`class="${J}"`:"",G?`id="${G}"`:""].filter(Boolean).join(" ");return`<${Q} ${K}>${Z}</${Q}>`}}});function Z2(){P0.registerBuiltin(U3),P0.registerBuiltin(H3),P0.registerBuiltin(L3),P0.registerBuiltin(w3),P0.registerBuiltin(R3),P0.registerBuiltin(N3),P0.registerBuiltin(I3),P0.registerBuiltin(D3),P0.registerBuiltin(b3),P0.registerBuiltin(y3)}var Y2=k(()=>{z3();O3();F3();A3();M3();T3();E3();k3();S3();P3();W3();z3();O3();F3();A3();M3();T3();E3();k3();S3();P3()});function G4($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function X2($,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 R=$.indexOf(H,O),M=$.indexOf(L,O);if(M===-1)break;if(R!==-1&&R<M){let N=$[R+H.length];if(N===" "||N===">"||N==="/"||N===`
|
|
1914
|
+
`||N==="\t")F++;O=R+H.length}else{if(F--,F===0){V=M;break}O=M+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 J2($,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 Q2=k(()=>{O0();V0();f1()});var _2={};e(_2,{processESImports:()=>U2,processComponents:()=>W4});import q4 from"fs";import f0 from"path";function tW($,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]=J2(q,Y);continue}if(W.startsWith(":")){let U=J(W.slice(1)),z=q===C3?U:q;if(U==="if"||U==="for"||U==="show"){X.clientReactive[U]=z;continue}try{if(!K0(z)){if(Y.debug)console.error(`Unsafe expression in :${U} binding: ${z}`);X.clientReactive[U]=z;continue}let _=Object.keys(Z),j=q0(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(K0(z)){let B=q0(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(!K0(j)){if(Y.debug)console.error(`Unsafe expression in ${W}: ${j}`);continue}let L=q0(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===C3?"true":q)}return X}function eW($){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]=C3}return Z}function K2($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function $U($){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(P0.isBuiltin(Q))Z.add(Q)}return[...Z].sort()}function ZU($){let Z=q2.get($);if(Z)return Z;let Y=new Map,X=[f0.join($,"src"),f0.join($,"dist"),$];function Q(J,G){if(G>6)return;let K;try{K=q4.readdirSync(J,{withFileTypes:!0})}catch{return}for(let q of K){let W=f0.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 q2.set($,Y),Y}function YU($,Z){if($.startsWith(".")||$.startsWith("/"))return null;let Y=Z;while(!0){let X=f0.join(Y,"node_modules",$);try{if(q4.statSync(X).isDirectory())return X}catch{}let Q=f0.dirname(Y);if(Q===Y)return null;Y=Q}}async function U2($,Z,Y,X,Q){if(!$.includes("import"))return $;if(!Z.__importedComponents)Z.__importedComponents=new Map;let J=Z.__importedComponents,G=f0.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=f0.resolve(G,V);if(N.endsWith(".stx"))A=N;else{let T=`${N}.stx`;try{if(q4.statSync(T).isFile())A=T}catch{try{if(q4.statSync(N).isDirectory())w=N}catch{}}}}else w=YU(V,G);if(!w&&!A)continue;let R=!1,M=(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)M(O,A),R=!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)M(D,E),R=!0}}if(R)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 XU($,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=[f0.resolve(f0.dirname(Y),`${_}.stx`),f0.resolve(f0.dirname(Y),_),f0.resolve(X.componentsDir||"components",`${_}.stx`),f0.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=w0(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 R="",M=H,T=J.substring(H).match(/^([\s\S]*?)@endcomponent/);if(T)R=T[1].trim(),M=H+T[0].length;let I=await p1(F,A,R,G,Z,Y,X,K,Q);J=J.substring(0,U)+I+J.substring(M),q.lastIndex=0}return J}async function QU($,Z,Y,X,Q){if(!$)return $;let J=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,q=L1(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,aW),J=i5(J,q.scripts),J;async function _(B,j,H,L){if(!B)return B;let F=B,O=X2(F,j,L);for(let V=O.length-1;V>=0;V--){let w=O[V],A=H?G4(w.tagName):w.tagName,R=eW(w.attributes),M=tW(R,Z,X),N=P0.getBuiltin(w.tagName),T=N?await K4(A,G,Z,Y,X):!1;if(N&&!T){let P={context:Z,filePath:Y,options:X,dependencies:Q},S=N.render(M,w.content,P);if(Object.keys(M.clientReactive).length>0)S=W2(S,M.clientReactive);if(Object.keys(M.events).length>0){let b=Object.entries(M.events).map(([C,h])=>`${C}="${K2(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 K4(A,G,Z,Y,X))continue;let I={};for(let[P,S]of Object.entries(M.static))I[P]=S;for(let[P,S]of Object.entries(M.serverDynamic))I[P]=S;let E=await p1(A,I,w.content,G,Z,Y,X,K,Q);if(Object.keys(M.clientReactive).length>0)E=W2(E,M.clientReactive);if(Object.keys(M.events).length>0){let P=z2(E);if(P){let S=Object.entries(M.events).map(([C,h])=>`${C}="${K2(h)}"`).join(" "),b=Object.keys(M.events).map((C)=>C.replace(/^@/,"").split(".")[0]).join(" ");E=E.substring(0,P.insertPos)+` data-stx-parent-events="${b}" ${S}`+E.substring(P.insertPos)}}F=F.substring(0,w.startIndex)+E+F.substring(w.endIndex)}return F}}function W2($,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])=>G4(U)).join(" "),G=$,K=Q.length>0?z2(G):null;if(K){let U=Q.map(([_,B])=>`:${G4(_)}="${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 z2($){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 W4($,Z,Y,X,Q){if(!G2)Z2(),G2=!0;let J=await U2($,Z,Y,X,Q);J=await XU(J,Z,Y,X,Q),J=await JU(J,Z,Y,X,Q);let G=[];for(let K=0;K<3;K++){let q=$1(J,p5,(U,z)=>`\x00STX_COMPONENT_COMMENT_${G.length+z}\x00`);G.push(...q.tokens);let W=J;if(J=await QU(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=$U(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 G2=!1,C3="\x00stx-boolean-attribute",aW,q2;var v3=k(()=>{W3();Y2();Q2();f1();V0();O0();aW=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"]);q2=new Map});var U4={};e(U4,{stripTypeScript:()=>L2,hasVariables:()=>R2,extractVariables:()=>z1,extractScriptFromTemplate:()=>A2,convertToCommonJS:()=>f3});import V5 from"path";import z$ from"process";function GU($){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 L2($){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 z1($,Z,Y,X={}){if(!$.trim())return;let Q;try{let y=new Bun.Transpiler({loader:"ts",target:"browser",define:m0()}),v=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");v=v.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),Q=y.transformSync(v)}catch{Q=
|
|
1917
|
+
`),Z}async function z1($,Z,Y,X={}){if(!$.trim())return;let Q;try{let y=new Bun.Transpiler({loader:"ts",target:"browser",define:m0()}),v=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");v=v.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),Q=y.transformSync(v)}catch{Q=L2($)}let J={exports:{}},G=J.exports,K=z$.cwd(),q={},W=[...Q.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((y)=>y[1]).filter((y)=>!y.startsWith("node:")&&!y.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(y));for(let y of W)try{let v=V5.resolve(K,"node_modules",y),m=V5.join(v,"package.json"),i=JSON.parse(t("fs").readFileSync(m,"utf8")),W0=i.main||"index.js";if(i.exports){let B0=typeof i.exports==="string"?i.exports:i.exports["."];if(typeof B0==="string")W0=B0;else if(B0?.bun)W0=B0.bun;else if(B0?.import)W0=B0.import;else if(B0?.default)W0=B0.default}q[y]=await import(V5.resolve(v,W0))}catch{}let U=(y)=>{if(q[y])return q[y];return t(y)},z=Z.props||{},_=(y)=>{if(!y)return z;let v={};for(let[m,i]of Object.entries(y)){let W0=z[m];if(W0!==void 0)v[m]=W0;else if(typeof i==="function")v[m]=i();else v[m]=i}return v};for(let[y,v]of Object.entries(z))Object.defineProperty(_,y,{value:v,enumerable:!0,configurable:!0,writable:!0});for(let y of["name","length","caller","arguments"]){if(Object.prototype.hasOwnProperty.call(z,y))continue;try{Object.defineProperty(_,y,{value:void 0,enumerable:!1,configurable:!0,writable:!0})}catch{}}let B=(y)=>{if(!y)return z;let v={...z};for(let[m,i]of Object.entries(y)){let W0=i&&typeof i==="object"&&!Array.isArray(i)?i:{type:i};if(v[m]===void 0&&W0.default!==void 0)v[m]=typeof W0.default==="function"?W0.default():W0.default}return v},j=()=>Z.slots||{},H=(y,v)=>{let m={...y};for(let[i,W0]of Object.entries(v))if(m[i]===void 0)if(typeof W0==="function")m[i]=W0();else m[i]=W0;return m},L=(y)=>{let v=()=>y;return v.set=(m)=>{},v.update=(m)=>{},v},F=(y)=>{let v,m=!1;return()=>{if(!m)try{v=y(),m=!0}catch{v=void 0}return v}},O=(y)=>{},V=(y)=>y(),w=(y)=>{},A=(y)=>{},R=(y)=>{},M=()=>{let y=Z.__stxServeContext,v=Z.__stxServeSearch??y?.search??"",m=y?.path??"";return{params:Z.params??{},query:Object.fromEntries(new URLSearchParams(v)),path:m,name:"",fullPath:m+v,hash:"",matched:[]}},N=()=>({push:(y)=>{},replace:(y)=>{},back:()=>{},forward:()=>{},go:(y)=>{}}),T=(y)=>{let v=Z.__stx_runtime_head||{};Z.__stx_runtime_head=_5(v,y||{})},I=(y)=>{T(o$(y||{}))},D=(y)=>({value:y}),E=(y)=>y,P=(y)=>({value:typeof y==="function"?y():y}),S=(y,v)=>{},b=(y)=>{},C=(y)=>{},h=(y)=>y?y():Promise.resolve(),x=(y)=>(v,...m)=>{},l=(y)=>{},$0=(y,v)=>{},G0=(y,v)=>v,Q1=()=>({value:"light"}),h0=()=>L(!1),T0=(y)=>L(!1),Q0=()=>L(!1),R0=()=>T0("(prefers-color-scheme: dark)"),i0=()=>T0("(prefers-color-scheme: light)"),G1=()=>T0("(prefers-reduced-motion: reduce)"),D1=()=>T0("(prefers-contrast: more)"),c={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:{}},r=new Proxy(c,{get(y,v){if(v in y)return y[v];return},set(y,v,m){return y[v]=m,!0}}),g={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},d=console;try{let y=f3(Q,Y),v=new Set(Object.keys(z)),m=(a)=>/^[a-z_$][\w$]*$/i.test(a),i=Object.keys(Z).filter((a)=>!v.has(a)&&a!=="props"&&m(a)),W0=i.map((a)=>Z[a]),B0=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"]),I0=[],u0=[];for(let[a,e0]of Object.entries(z)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(a))continue;if(B0.has(a))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${a}\\b`).test(y))continue;I0.push(a),u0.push(e0)}let z0=GU(y).map((a)=>`module.exports.${a} = typeof ${a} !== 'undefined' ? ${a} : module.exports.${a};`).join(`
|
|
1918
1918
|
`),j1=Z.params??{},n0=[],k1=[];for(let a=0;a<i.length;a++){if(i[a]==="params")continue;n0.push(i[a]),k1.push(W0[a])}let d0=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",...I0,...n0,`return (async () => {
|
|
1919
1919
|
${y}
|
|
1920
1920
|
${z0}
|
|
1921
1921
|
return module.exports
|
|
1922
|
-
})()`)(J,G,U,z,_,B,H,L,F,O,V,w,A,R,M,N,T,I,D,E,P,S,
|
|
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 ")){let K=G.match(/^import\s+(\w+)\s+from\s+['"](.+)['"]/),q=G.match(/^import\s+\{([^}]+)\}\s+from\s+['"](.+)['"]/),W=G.match(/^import\s+['"](.+)['"]/),U=(z)=>{if(z.startsWith("."))return
|
|
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,R,M,N,T,I,D,E,P,S,b,C,h,x,l,j,$0,G0,Q1,h0,T0,Q0,R0,i0,G1,D1,r,g,d,c.confirm,c.alert,c.fetch,j1,...u0,...k1);if(X.preserveExisting){for(let[a,e0]of Object.entries(d0))if(!(a in Z)||Z[a]===void 0)Z[a]=e0}else Object.assign(Z,d0);for(let[a,e0]of Object.entries(z))if(!(a in Z))Z[a]=e0}catch(y){if(z$.env.STX_DEBUG){let v=y instanceof Error?y.message:String(y);console.warn(`[stx] server <script> did not execute in ${Y??"<unknown>"} \u2014 falling back to static extraction. Cause: ${v}`)}try{await zU(Q,Z,Y)}catch(v){if(z$.env.STX_DEBUG){let m=v instanceof Error?v.message:String(v);console.warn(`[stx] fallback extraction also failed in ${Y??"<unknown>"}: ${m}`)}}}}function f3($,Z){let Y=Z?V5.dirname(Z):z$.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 ")){let K=G.match(/^import\s+(\w+)\s+from\s+['"](.+)['"]/),q=G.match(/^import\s+\{([^}]+)\}\s+from\s+['"](.+)['"]/),W=G.match(/^import\s+['"](.+)['"]/),U=(z)=>{if(z.startsWith("."))return V5.resolve(Y,z);return z};if(K){let[,z,_]=K,B=U(_);Q.push(`const ${z} = await import('${B}')`),Q.push(`module.exports.${z} = ${z};`)}else if(q){let[,z,_]=q,B=z.trim(),j=U(_);Q.push(`const { ${B} } = await import('${j}')`);for(let H of B.split(",")){let L=H.trim().split(/\s+as\s+/).pop()?.trim();if(L)Q.push(`module.exports.${L} = ${L};`)}}else if(W){let z=U(W[1]);Q.push(`await import('${z}')`)}else Q.push(G);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=B2(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=x3(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=B2(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=x3(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=x3(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 KU(Q.join(`
|
|
1925
|
+
`),Y)}function KU($,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=qU($,Q);if(z){let{quote:_,path:B,end:j}=z;if(B.startsWith(".")){let H=V5.resolve(Z,B);X+=`await import(${_}${H}${_})`,Q=j;continue}}}X+=W,Q++}return X}function qU($,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 F2($,Z){let Y=$[Z];if(Y!=="{"&&Y!=="[")return null;let Q=y0($,Y,Y==="{"?"}":"]",Z);if(Q===-1)return null;return{pattern:$.slice(Z,Q+1),endPos:Q+1}}function V2($){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=F2(Y,X);if(K){let q=V2(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($,Z){let Y=$[Z].trim(),X=Y.match(/^(?:export\s+)?(const|let|var)\s+(\w+)\s*=\s*(.*)$/);if(!X){let W=Y.match(/^(?:export\s+)?(const|let|var)\s+/);if(W){let U=Y.slice(W[0].length),z=Z;if((U.startsWith("{")||U.startsWith("["))&&!U.includes(U.startsWith("{")?"}":"]")){let B=U.startsWith("{")?"}":"]",j=U;for(let H=Z+1;H<$.length;H++)if(j+=" "+$[H].trim(),z=H,$[H].includes(B))break;U=j}let _=F2(U,0);if(_){let B=W[1],j=_.pattern,H=U.slice(_.endPos).trim();if(H.startsWith("=")){let L=H.slice(1).trim(),F=L,O=Math.max(z,Z);if(j2(L)){let R=H2($,O,L);F=R.value,O=R.nextIndex}else O=O+1;F=F.trim().replace(/;$/,"");let V=V2(j),w=`__stx_src_${Z}`,A=V.map((R)=>`module.exports.${R} = ${R};`).join(`
|
|
1927
1927
|
`);return{type:B,name:w,value:`${F}; ${B} ${j} = ${w};
|
|
1928
|
-
${A}`,nextIndex:O}}}}throw Error(`Failed to parse variable declaration: ${Y}`)}let[,Q,J,G]=X,K=G,q=Z;if(
|
|
1929
|
-
${$[q]}`,q++;else break}return K=K.trim().replace(/;$/,""),{type:Q,name:J,value:K,nextIndex:q}}function
|
|
1928
|
+
${A}`,nextIndex:O}}}}throw Error(`Failed to parse variable declaration: ${Y}`)}let[,Q,J,G]=X,K=G,q=Z;if(j2(G)){let W=H2($,Z,G);K=W.value,q=W.nextIndex}else q=Z+1;while(q<$.length){let W=$[q].trim();if(W.startsWith(".")||W.startsWith("?."))K+=`
|
|
1929
|
+
${$[q]}`,q++;else break}return K=K.trim().replace(/;$/,""),{type:Q,name:J,value:K,nextIndex:q}}function x3($,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(WU(Y)){let K=UU($,Z,J);J=K.functionCode,G=K.nextIndex}else G=Z+1;return{name:Q,functionCode:J,nextIndex:G}}function j2($){let Z=$.trim();if(Z.startsWith("{"))return y0(Z,"{","}",0)===-1;if(Z.startsWith("["))return y0(Z,"[","]",0)===-1;return!w2(Z)}function w2($){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 WU($){let Z=$.indexOf("{");if(Z===-1)return!0;return y0($,"{","}",Z)===-1}function H2($,Z,Y){let X=Y,Q=Z+1;while(Q<$.length&&!w2(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 UU($,Z,Y){let X=Y,Q=Z+1;while(Q<$.length){let J=X.indexOf("{");if(J!==-1){if(y0(X,"{","}",J)!==-1)break}let G=$[Q];X+=`
|
|
1932
|
+
${G}`,Q++}return{functionCode:X,nextIndex:Q}}function O2($,Z){let Y=X0($,Z)??X0(`(${$})`,Z);if(Y!==void 0)return Y;if(!/\bprocess\b/.test($))return;let X={...Z,process:Object.freeze({env:{...z$.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 zU($,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=O2(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=O2(q,Z);if(W!==void 0)Z[G]=W}catch{}}}function A2($){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 R2($){let Z=$.trim();if(!Z)return!1;return/(?:const|let|var|function)\s+\w+/.test(Z)}var w5=k(()=>{Z$();S1();O0()});var k2={};e(k2,{processLoops:()=>g3});function jU($,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=w0(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 z4($,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 HU($,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);k$(J);let W=q0(J,G)(...K),U=JSON.stringify(W),z=Buffer.from(U,"utf8").toString("base64");return`__stx_${Q}="${z}"`}catch(G){return X}}),Y}function OU($,Z){let Y=$;return Y=z4(Y,"@break",(X)=>{try{let J=`!!(${X.trim()})`,G;if(K0(J)){let K=q0(J,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(X0(J,Z));return G?_4:""}catch{return""}}),Y=z4(Y,"@continue",(X)=>{try{let J=`!!(${X.trim()})`,G;if(K0(J)){let K=q0(J,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(X0(J,Z));return G?B4:""}catch{return""}}),Y}function LU($){let Z=$;return Z=Z.replace(/@break(?!\()/g,_4),Z=Z.replace(/@continue(?!\()/g,B4),Z}function M2($){let Z=$.includes(_4),Y=Z?$.substring(0,$.indexOf(_4)):$;return{hasBreak:Z,content:Y}}function N2($){let Z=$.includes(B4),Y=Z?$.substring(0,$.indexOf(B4)):$;return{hasContinue:Z,content:Y}}function I2($){let Z=$;return Z=z4(Z,"@break",(Y)=>{let X=Y.trim();if(!b$(X))return"";return`\`; if (${X}) { break; } result += \``}),Z=z4(Z,"@continue",(Y)=>{let X=Y.trim();if(!b$(X))return"";return`\`; if (${X}) { continue; } result += \``}),Z=Z.replace(/@break(?!\()/g,"`; break; result += `"),Z=Z.replace(/@continue(?!\()/g,"`; continue; result += `"),Z}function FU($){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,R=/@forelse\s*\(/g,M=/@endforelse/g,N=-1;while(w>0&&A<$.length){R.lastIndex=A,M.lastIndex=A;let S=R.exec($),b=M.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,P=0;while(P<T.length){let S=T.indexOf("@",P);if(S===-1)break;let b=T.substring(S);if(/^@forelse\s*\(/.test(b))E++,P=S+1;else if(b.startsWith("@endforelse"))E--,P=S+11;else if(E===0&&b.startsWith("@empty")){if(T.length<=S+6||!/[a-z]/i.test(T[S+6])){D=S;break}P=S+1}else P=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 T2($,Z){let Y=$;while(!0){let X=FU(Y);if(!X)break;let{start:Q,end:J,arrayExpr:G,itemVar:K,foreachContent:q,emptyContent:W}=X;try{let U;if(K0(G))U=q0(G,Object.keys(Z))(...Object.values(Z));else U=X0(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),_=Z0("Forelse",`Error in @forelse(${G} as ${K}): ${z}`,o.EVALUATION_ERROR);Y=Y.substring(0,Q)+_+Y.substring(J)}}return Y}function g3($,Z,Y,X){let Q=$;Q=T2(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,R=1,M=A,N=/@foreach\s*\(/g,T=/@endforeach/g;while(R>0&&M<q.length){N.lastIndex=M,T.lastIndex=M;let I=N.exec(q),D=T.exec(q);if(!D)break;if(I&&I.index<D.index)R++,M=I.index+I[0].length;else{if(R--,R===0){let E=q.substring(A,D.index),P=D.index+11;return{start:O,end:P,arrayExpr:V,itemVar:w,content:E}}M=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(K0(F))O=q0(F,Object.keys(W))(...Object.values(W));else O=X0(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=Z0("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??BU,A=H.trim(),R=null,M,N=!1;if(A.includes("=>")){let D=A.split("=>").map((E)=>E.trim());if(D.length===2&&D[0]&&D[1])R=D[0],M=D[1];else M=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])M=D[0],R=D[1],N=!0;else M=A}else M=A;let T="",I=O;for(let D=0;D<I.length;D++){let E=I[D],P={index:D,iteration:D+1,first:D===0,last:D===I.length-1,count:I.length},S={...W,loop:P,$loop:P};if(M.startsWith("[")&&M.endsWith("]")){let x=M.slice(1,-1).split(",").map((l)=>l.trim());if(Array.isArray(E))x.forEach((l,$0)=>{if(l)S[l]=E[$0]});else S[M]=E}else S[M]=E;if(R)if(!N&&V&&Array.isArray(E)&&E.length===2)S[R]=E[0],S[M]=E[1];else S[R]=D;let b=OU(L,S),C=N2(b);if(C.hasContinue){T+=C.content;continue}let h=M2(b);if(h.hasBreak){T+=h.content;break}if(b=T2(b,S),b=G(b,S),b=d1(b,S,Y),b=LU(b),h=M2(b),h.hasBreak){T+=h.content;break}if(C=N2(b),C.hasContinue){T+=C.content;continue}b=F1(b,S,Y),b=HU(b,S),b=jU(b,S),T+=b}U=U.substring(0,_)+T+U.substring(B)}catch(F){let O=Z0("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=D2(Q,Z,Y,X);let K=X?.loops?.maxWhileIterations??_U;return Q=AU(Q,Z,K),Q}function E2($){return b$($)}function D2($,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=y0(Q,"(",")",q);if(W===-1)break;let U=Q.slice(q+1,W),z=W+1,_=c$(Q.slice(K),"for","endfor");if(_.length===0)break;let B=_[0].content,j=K+_[0].end;if(!E2(U)){let H=Z0("For",`Unsafe expression in @for: ${U}`,o.UNSAFE_EXPRESSION);Q=Q.substring(0,K)+H+Q.substring(j),J=!0;continue}try{let H=VU(U),L=/@(?:for|foreach|if|unless)\s*\(/.test(B);if(H.length>0&&L){let R=wU({forExpr:U,content:B,iterVarNames:H,context:Z,filePath:Y,options:X});Q=Q.substring(0,K)+R+Q.substring(j),J=!0;continue}let F=Object.keys(Z),O=Object.values(Z),V=B.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(R,M)=>{return`\${${M}}`});V=I2(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=Z0("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=Z0("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 VU($){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 wU($){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=D2(Y,j,J,G);H=d1(H,j,z),H=F1(H,j,z),_+=H}return _}function AU($,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=y0(X,"(",")",K);if(q===-1)break;let W=X.slice(K+1,q),U=c$(X.slice(G),"while","endwhile");if(U.length===0)break;let z=U[0].content,_=G+U[0].end;if(!E2(W)){let B=Z0("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=I2(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 U2($,Z){let Y=Q0($,Z)??Q0(
|
|
|
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=Z0("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=Z0("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 _U=1000,BU=!1,_4="<!--__STX_BREAK__-->",B4="<!--__STX_CONTINUE__-->";var h3=k(()=>{i$();U1();Z1();p$();O0()});import _0 from"path";function u3($,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 RU($,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 MU($){return/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test($)}function S2($){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 y2($,Z=""){let Y=S2($).split(",").map((X)=>X.trim()).filter(Boolean);return`
|
|
1956
1956
|
(function() {
|
|
1957
|
-
${
|
|
1957
|
+
${G5("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 P2($,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
|
+
${S2($).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 @@ ${T2($).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 NU($,Z){let Y=P2($,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 @@ ${T2($).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+y2($,Y)+`
|
|
1986
1986
|
} finally {
|
|
1987
1987
|
if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
|
|
1988
1988
|
}
|
|
1989
|
-
})();`}function
|
|
1990
|
-
`;continue}if(G0)try{let{extractVariables:
|
|
1991
|
-
`}}if(S){let x=
|
|
1989
|
+
})();`}function TU($,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 EU($){if($.__onceStore instanceof Set)return $.__onceStore;return IU}async function d3($,Z,Y,X,Q,J=new Set){let G=X.partialsDir||_0.join(_0.dirname(Y),"partials");if(G&&!_0.isAbsolute(G))G=_0.resolve(process.cwd(),G);let K=RU($,"@partial","@include"),q=EU(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 R=A[1],M=W(R,G,Y),N="";if(M&&await Bun.file(M).exists())Q.add(M),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 R=K.substring(V+1,A-1),M=u3(R,0);if(M===-1){L.lastIndex=A;continue}let N=R.substring(0,M).trim(),T=R.substring(M+1).trim(),I=T.match(/^\s*['"]([^'"]+)['"]/);if(!I){L.lastIndex=A;continue}let D=I[1],E=T.substring(I[0].length),P,S=u3(E,0);if(S!==-1)P=E.substring(S+1).trim();try{let b=`Boolean(${N})`,C;if(K0(b)){let l=q0(b,Object.keys(Z));C=Boolean(l(...Object.values(Z)))}else C=Boolean(X0(b,Z));let h=H?!C:C,x="";if(h){let l=W(D,G,Y);if(l&&await Bun.file(l).exists())Q.add(l);x=`@include('${D}'${P?`, ${P}`:""})`}K=K.substring(0,O)+x+K.substring(A),L.lastIndex=0}catch(b){let C=b instanceof Error?b.message:String(b),h=U0("Include",`Error evaluating ${j} condition: ${C}`,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),R=w.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!R){j.lastIndex=0,K=K.replace(A,"");continue}let[,M,N,T,I]=R;try{let D,E=N.trim();if(K0(E))D=q0(E,Object.keys(Z))(...Object.values(Z));else D=X0(E,Z);let P="";if(Array.isArray(D)&&D.length>0)for(let S of D){let b={...Z,[T]:S},C=await z(M,b,$,L);P+=C}else if(I)P=await z(I,{},$,L);K=K.substring(0,L)+P+K.substring(V+1),j.lastIndex=0}catch(D){let E=D instanceof Error?D.message:String(D);K=K.substring(0,L)+U0("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),R=w.match(/^\s*(\[[^\]]+\])/);if(!R){j.lastIndex=0,K=K.replace(A,"");continue}let M=R[1],N=w.slice(R[0].length),T,I=N.match(/^\s*,\s*\{/);if(I){N=N.slice(I[0].length-1);let P=1,S=1;while(S<N.length&&P>0){if(N[S]==="{")P++;else if(N[S]==="}"){if(P--,P===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 P=JSON.parse(M.replace(/'/g,'"')),S={};if(T)try{S=w0(T,Z)}catch(C){let h=C instanceof Error?C.message:String(C);if(X.debug){let x=U0("Include",`Error parsing includeFirst variables: ${h}`,Y,$,L,A);K=K.replace(A,()=>x)}else K=K.replace(A,()=>D||"");continue}let b=!1;for(let C of P){let h=W(C,G,Y);if(!h)continue;if(await n(h)){let x=await z(C,S,$,L);K=K.replace(A,()=>x),b=!0;break}}if(!b)if(D!==void 0)K=K.replace(A,()=>D);else if(X.debug){let C=U0("Include",`None of the includeFirst paths exist: ${M}`,Y,$,L,A);K=K.replace(A,()=>C)}else K=K.replace(A,"")}catch(P){let S=P instanceof Error?P.message:String(P),b=U0("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=_0.resolve(H),V=_0.resolve(_0.dirname(L)),w;if(!F.startsWith("./")&&!F.startsWith("../"))w=_0.resolve(H,F);else w=_0.resolve(V,F);let A=_0.normalize(w),R=A.startsWith(O+_0.sep)||A===O,M=A.startsWith(V+_0.sep)||A===V,N=!1,T=_0.dirname(V);if(A.startsWith(T+_0.sep)){if(!_0.relative(T,A).split(_0.sep).some((P)=>P.startsWith(".")&&P!=="."&&P!==".."))N=!0}if(!R&&!M&&!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=_0.resolve(Y);J.add(U);async function z(j,H={},L,F){let O=W(j,G,Y);if(!O)return U0("Include",`Could not resolve path for include: ${j}`,Y,L,F);let V=_0.resolve(O);if(J.has(V)){let w=[...J,V].map((A)=>_0.basename(A)).join(" -> ");return U0("Include",`Circular include detected: ${w}`,Y,L,F)}try{Q.add(O);let w;if(!w)try{w=await Bun.file(O).text()}catch(x){let l=x instanceof Error?x.message:String(x);return U0("Include",`Error loading include file ${j}: ${l}`,Y,L,F)}if(w&&w.includes("@stream")){let{processStreamDirectives:x}=await Promise.resolve().then(() => (Q3(),J3));w=x(w,Z)}if(w&&(X.debug||!t5()&&!g$()))try{let{warnUnbalancedTags:x}=await Promise.resolve().then(() => (K3(),mZ));x(w,O)}catch{}let A=w;try{let{processESImports:x}=await Promise.resolve().then(() => (v3(),_2));await x(w,Z,O,X,Q)}catch(x){if(X.debug)console.warn(`[stx] partial ES import extraction skipped for ${O}:`,x instanceof Error?x.message:x)}let R=B5(A);if(R)A=R.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[x,l]of Object.entries(H))I[x]=l;let D=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,E=[...w.matchAll(D)],P="",S=null;for(let x of E){let l=x[1]||"",$0=x[2]||"",G0=l.includes("server"),Q1=v1(l),h0="";try{let{extractAndStripCssImports:Q0,renderVendorStyleTags:R0}=await Promise.resolve().then(() => (X5(),$8)),i0=Q0($0,{filePath:O,projectRoot:process.cwd()});$0=i0.code,h0=R0(i0.styles)}catch(Q0){if(X.debug)console.warn(`[stx] vendor-css extractor skipped for ${O}:`,Q0 instanceof Error?Q0.message:Q0)}if(Q1&&$0.trim())$0=x1($0);if(!G0)try{let{hasUserImports:Q0,bundleClientScript:R0}=await Promise.resolve().then(() => (l5(),m5));if(Q0($0))$0=await R0($0,O,{projectRoot:process.cwd()})}catch(Q0){if(X.debug)console.warn(`[stx] bundler skipped for ${O}:`,Q0 instanceof Error?Q0.message:Q0)}let T0=MU($0);if(T0&&!G0){S=`stx_scope_${_0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++b2}`;let Q0=s0($0),R0=NU(Q0,S);P+=`${h0}<script data-stx-scoped>${R0}</script>
|
|
1990
|
+
`;continue}if(G0)try{let{extractVariables:Q0}=await Promise.resolve().then(() => (w5(),U4));await Q0($0,I,O)}catch(Q0){if(X.debug)console.warn(`Warning: Could not extract variables from server script in ${O}:`,Q0)}if(!G0&&!T0){let Q0=l.replace(/\bclient\b/i,"").trim();S=`stx_scope_${_0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++b2}`;let R0=s0($0),i0=P2(R0,S),G1=y2(R0,i0);P+=`${h0}<script data-stx-scoped${Q0?` ${Q0}`:""}>${G1}</script>
|
|
1991
|
+
`}}if(S){let x=TU(A,S);if(A=x.html,x.mergedIntoExisting)P=P.replace(`window.stx._scopes['${S}']`,`window.stx._scopes['${x.mergedIntoExisting}']`),S=x.mergedIntoExisting}if(A.includes("@include")||A.includes("@partial"))A=await d3(A,I,O,X,Q,J);let{processLoops:b}=await Promise.resolve().then(() => (h3(),k2)),C=b(A,I,O);C=d1(C,I,O);let h=Q5(w);if(C=F1(C,I,O,{forceSignals:h}),T)C+=`
|
|
1992
1992
|
`+T;if(P)C+=`
|
|
1993
|
-
`+P;return C}catch(w){let A=w instanceof Error?w.message:String(w);return U0("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],R,M=V.substring(w[0].length),N=
|
|
1994
|
-
`)})}var
|
|
1993
|
+
`+P;return C}catch(w){let A=w instanceof Error?w.message:String(w);return U0("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],R,M=V.substring(w[0].length),N=u3(M,0);if(N!==-1)R=M.substring(N+1).trim();let T={};if(R)try{T=w0(R,Z)}catch(D){let E=D instanceof Error?D.message:String(D);K=K.replace(O,U0("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 m3($,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),R=A.match(H),M=A.match(L),N=R?O+R.index:1/0,T=M?O+M.index:1/0;if(N<T)F++,O=N+(R[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 l3($,Z){return $.replace(/@stack\(['"]([^'"]+)['"]\)/g,(Y,X)=>{if(!Z[X]||Z[X].length===0)return"";return Z[X].join(`
|
|
1994
|
+
`)})}var b2=0,eV,IU;var C2=k(()=>{t$();i$();Z1();o5();W5();O0();V0();eV=new r5(500),IU=new Set});import*as c3 from"path";async function v2($,Z,Y=""){if(c3.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 f2($,Z,Y,"@js","@endjs")}async function x2($,Z,Y=""){if(c3.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 f2($,Z,Y,"@ts","@endts")}async function f2($,Z,Y,X,Q){let J=$,G=q5(`${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=U0(`${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=U0(`${X} Directive`,`Error executing code: ${B}`,Y,$,z,W);console.error(j),J=J.replace(W,"")}return J}var g2=k(()=>{W5();V0()});function DU($,Z="_method"){let Y=$.toUpperCase();if(Y==="GET"||Y==="POST")return"";return`<input type="hidden" name="${Z}" value="${Y}">`}function h2($){return $.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(Z,Y,X,Q,J)=>{return DU(X,J||"_method")})}async function u2($,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=U0("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;">${o0(W)}</div>
|
|
1999
|
-
`)}}}return J}async function
|
|
1999
|
+
`)}}}return J}async function d2($,Z,Y,X){return u2($,Z,Y,X,"before")}async function m2($,Z,Y,X){return u2($,Z,Y,X,"after")}var l2=k(()=>{Z1();V0()});import{defineRoute as _w,defineRoutes as Bw,resetRoutes as jw,route as Hw,setAppUrl as Ow}from"stx-router";import{route as kU}from"stx-router";function c2($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(Z,Y,X,Q,J)=>{try{let G=Q?w0(Q,{}):{};return kU(X,G,J==="true")}catch(G){return console.error(`Error processing @route directive: ${G}`),"#route-error"}})}var p2=k(()=>{O0()});function i2($,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="${p(z)}" content="${p(W)}">`:""}return W?`<meta name="${p(q)}" content="${p(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=w0(z,Z);if(!j)return"";let H="<meta";if(j.name)H+=` name="${p(String(j.name))}"`;if(j.property)H+=` property="${p(String(j.property))}"`;if(j.httpEquiv)H+=` http-equiv="${p(String(j.httpEquiv))}"`;if(j.content)H+=` content="${p(String(j.content))}"`;return H+=">",H}catch(j){let H=j instanceof Error?j.message:String(j);return Z0("MetaTag",H,o.EVALUATION_ERROR)}})();Q=Q.substring(0,K)+B+Q.substring(_),J.lastIndex=0}return Q}function n2($,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=w0(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 Z0("StructuredData",j,o.EVALUATION_ERROR)}})();X=X.substring(0,G)+_+X.substring(z),Q.lastIndex=0}return X}function s2($,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=w0(F,Z);if(!O)return"";let V="";if(O.title)V+=`<title>${p(O.title)}</title>
|
|
2000
2000
|
`,V+=`<meta name="title" content="${p(O.title)}">
|
|
2001
2001
|
`;if(O.description)V+=`<meta name="description" content="${p(O.description)}">
|
|
2002
2002
|
`;if(O.keywords){let w=Array.isArray(O.keywords)?O.keywords.join(", "):O.keywords;V+=`<meta name="keywords" content="${p(w)}">
|
|
@@ -2018,7 +2018,7 @@ ${T2($).split(",").map((J)=>J.trim()).filter(Boolean).map((J)=>` try { __scopeR
|
|
|
2018
2018
|
`}if(w.site)V+=`<meta name="twitter:site" content="${p(w.site)}">
|
|
2019
2019
|
`;if(w.creator)V+=`<meta name="twitter:creator" content="${p(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 Z0("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 Z0("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 o2($,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="${p(G)}">
|
|
2024
2024
|
<meta name="description" content="${p(K)}">
|
|
@@ -2034,25 +2034,25 @@ ${T2($).split(",").map((J)=>J.trim()).filter(Boolean).map((J)=>` try { __scopeR
|
|
|
2034
2034
|
`;let U=$;if(!J)U=U.replace(/<head[^>]*>/,`$&
|
|
2035
2035
|
<title>${p(G)}</title>`);return U.replace(/<head[^>]*>/,`$&
|
|
2036
2036
|
${W}
|
|
2037
|
-
`)}function p($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var
|
|
2037
|
+
`)}function p($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var r2,a2;var p3=k(()=>{U1();O0();r2={name:"meta",handler:($,Z,Y,X)=>{if(Z.length<1)return Z0("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="${p(Q)}" content="${p(J)}">`},hasEndTag:!1},a2={name:"structuredData",handler:($,Z,Y,X)=>{if($.trim()==="")return Z0("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 Z0("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 Z0("StructuredData",J,o.EVALUATION_ERROR)}},hasEndTag:!0}});async function t2($,Z){let Y=$.split("/").pop()?.split(".")[0]||"";if(_$.exact[$])for(let X of _$.exact[$])await Promise.resolve(X(Z,$));if(_$.exact[Y])for(let X of _$.exact[Y])await Promise.resolve(X(Z,$));for(let{pattern:X,callback:Q}of _$.patterns)if(X.test($)||X.test(Y))await Promise.resolve(Q(Z,$))}var _$;var e2=k(()=>{_$={patterns:[],exact:{}}});function $Y($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter(Boolean).map((Z)=>$Y(Z)).join(" ");if($&&typeof $==="object")return Object.entries($).filter(([,Z])=>Z).map(([Z])=>Z).join(" ");return $?String($):""}function ZY($,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 R=$Y(A);if(R){let M=B.match(/\sclass="([^"]*)"/);if(M)B=B.replace(M[0],` class="${M[1]} ${R}"`);else B=B.replace(_[0],` class="${R}"`)}else B=B.replace(_[0],"");j=!0;continue}if(bU.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 R=String(A).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">");B=B.replace(_[0],` ${H}="${R}"`)}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 bU;var YY=k(()=>{bU=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"])});function i1($,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])||SU.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 PU($,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 X1($,Z){if(Z.selfClosing)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};let Y=PU($,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 XY($,Z){return new RegExp(`(?:^|\\s)${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test($)||$.includes(` ${Z}=`)||$.includes(` ${Z} `)||$.trimEnd().endsWith(` ${Z}`)}function A5($,Z){let Y=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),X=$.match(new RegExp(`${Y}="([^"]*)"`,"s"))||$.match(new RegExp(`${Y}='([^']*)'`,"s"));return X?X[1]:null}function N1($,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 T1($,Z,Y){let X=Z.selfClosing?" /":"",Q=`<${Z.tag}${Y}${X}>`;return $.slice(0,Z.start)+Q+$.slice(Z.end)}function CU($){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test($)}function vU($){let Z=$,Y=0;while(Y<Z.length){let X=i1(Z,Y);if(!X)break;let Q=A5(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=N1(X.attrs,"v-for"),U=N1(W,":key").replace(/\s*v-bind:key="[^"]*"/g,""),z=X1(Z,X),_=Z.slice(z.outerStart,z.outerEnd),B=T1(_,{...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 xU($){let Z=$,Y=0;while(Y<Z.length){let X=i1(Z,Y);if(!X)break;let Q=A5(X.attrs,"v-if");if(Q===null){Y=X.end;continue}let J=[],G=X1(Z,X),K=N1(X.attrs,"v-if"),q=T1(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=i1(Z,W+L);if(!F){U=!1;break}let O=A5(F.attrs,"v-else-if"),V=XY(F.attrs,"v-else");if(O!==null){let w=X1(Z,F),A=N1(F.attrs,"v-else-if"),R=T1(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:R,parsedTag:F}),W=w.outerEnd}else if(V){let w=X1(Z,F),A=N1(F.attrs,"v-else"),R=T1(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:R,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
|
|
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 fU($){return $.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function gU($){let Z=$,Y=0;while(Y<Z.length){let X=i1(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=X1(Z,X),z=Z.slice(U.outerStart,U.outerEnd),_=T1(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=A5(X.attrs,"v-model");if(q===null){Y=X.end;continue}if(yU.has(X.tag.toLowerCase())){let U=X.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${q}"`,z=X1(Z,X),_=Z.slice(z.outerStart,z.outerEnd),B=T1(_,{...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=X1(Z,X),_=Z.slice(z.outerStart,z.outerEnd),B=T1(_,{...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 hU($){return $.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function uU($){return $.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function dU($){let Z=$,Y=0;while(Y<Z.length){let X=i1(Z,Y);if(!X)break;let Q=A5(X.attrs,"v-html");if(Q===null){Y=X.end;continue}if(X.selfClosing){Y=X.end;continue}let J=X1(Z,X),G=N1(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 mU($){let Z=$,Y=0;while(Y<Z.length){let X=i1(Z,Y);if(!X)break;let Q=A5(X.attrs,"v-text");if(Q===null){Y=X.end;continue}if(X.selfClosing){Y=X.end;continue}let J=X1(Z,X),G=N1(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 lU($){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 cU($){let Z=$,Y=0;while(Y<Z.length){let X=i1(Z,Y);if(!X)break;if(!XY(X.attrs,"v-once")){Y=X.end;continue}let Q=N1(X.attrs,"v-once"),J=X1(Z,X),G=Z.slice(J.outerStart,J.outerEnd),q=`@once
|
|
2044
2044
|
${T1(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
|
|
2045
|
+
@endonce`;Z=Z.slice(0,J.outerStart)+q+Z.slice(J.outerEnd),Y=J.outerStart+q.length}return Z}function pU($){return $.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function iU($){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 JY($){if(!CU($))return $;let Z=$;return Z=vU(Z),Z=xU(Z),Z=cU(Z),Z=hU(Z),Z=uU(Z),Z=gU(Z),Z=fU(Z),Z=iU(Z),Z=dU(Z),Z=mU(Z),Z=lU(Z),Z=pU(Z),Z}var SU,yU;var QY=k(()=>{SU=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),yU=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 j4($){return $.replace(/--/g,"- -").replace(/</g,"<").replace(/>/g,">")}async function GY($,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=X0(U.expr,Z);if(!z||typeof z!=="string"){let O=`<!-- dynamic component: could not resolve "${j4(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]=X0(V,Z)}catch{B[O]=V}else B[O]=V}let L=X.componentsDir||"components",F=await p1(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: ${j4(_)} -->`;J=J.slice(0,U.index)+B+J.slice(U.index+U.full.length)}}return J=await nU(J,Z,Y,X,Q),J}async function nU($,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=X0(U.expr,Z);if(!z||typeof z!=="string"){let j=`<!-- dynamic component: could not resolve "${j4(U.expr)}" -->`;J=J.slice(0,U.index)+j+J.slice(U.index+U.full.length);continue}let _=X.componentsDir||"components",B=await p1(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: ${j4(_)} -->`;J=J.slice(0,U.index)+B+J.slice(U.index+U.full.length)}}return J}var KY=k(()=>{V0();O0()});function qY($,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=i3($),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=UY(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 i3($){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=i3(_);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 UY($,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=i3(`x { ${K} }`.replace(/x \{ /,"").replace(/ \}$/,"")).map((_)=>UY(_,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=sU(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 sU($,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=oU(G,Z);if(q)J.push(Y?`${Y} ${q}`:q)}return J.join(", ")}function oU($,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 H4($,Z){if(!rU.test($))return{html:$,hasScoped:!1};let Y=qY(Z),X=`data-v-${Y}`,Q=$,J=new RegExp(`<style\\s+([^>]*${n3}[^>]*)>([\\s\\S]*?)</style>`,"gi"),G=!1;if(Q=Q.replace(J,(K,q,W)=>{G=!0;let U=aU(W,X),z=q.replace(new RegExp(n3,"gi"),"").trim(),_=z?` ${z}`:"";return`<style data-stx-scoped="${Y}"${_}>${U}</style>`}),!G)return{html:$,hasScoped:!1};return Q=eU(Q,X),{html:Q,hasScoped:!0}}function aU($,Z){return WY($,"__SCOPE_PLACEHOLDER__",{preserveHost:!1}).replace(/\.(__SCOPE_PLACEHOLDER__) /g,`[${Z}] `).replace(/\.(__SCOPE_PLACEHOLDER__)/g,`[${Z}]`)}function eU($,Z){let Y=$1($,(Q,J)=>{let G=O1(Q,J);return G>J?G:J5(Q,J)},(Q,J)=>tU(J)),X=$z(Y.output,Z);return zY.lastIndex=0,X.replace(zY,(Q,J)=>Y.tokens[Number(J)])}function $z($,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 n3,rU,tU=($)=>`\x00stx-scope-mask-${$}\x00`,zY;var s3=k(()=>{f1();n3=String.raw`(?<![\w-])scoped(?![\w-])`,rU=new RegExp(`<style\\s+[^>]*${n3}`,"i");zY=/\u0000stx-scope-mask-(\d+)\u0000/g});function _Y($){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 Zz($){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 Yz($,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((M)=>{return` <meta ${Object.entries(M).map(([T,I])=>`${T}="${I}"`).join(" ")}>`}).join(`
|
|
2053
2053
|
`),H=G.map((M)=>{return` <link ${Object.entries(M).map(([T,I])=>`${T}="${I}"`).join(" ")}>`}).join(`
|
|
2054
2054
|
`),L=K.map((M)=>{if(M.src)return` <script ${Object.entries(M).filter(([T])=>T!=="content").map(([T,I])=>`${T}="${I}"`).join(" ")}></script>`;if(M.content)return` <script>${M.content}</script>`;return""}).filter(Boolean).join(`
|
|
2055
|
-
`),F=Object.entries(U).map(([M,N])=>` ${M}="${N}"`).join(""),O=W?` class="${W}"`:"",{body:V,hoisted:w}=
|
|
2055
|
+
`),F=Object.entries(U).map(([M,N])=>` ${M}="${N}"`).join(""),O=W?` class="${W}"`:"",{body:V,hoisted:w}=Zz($),A=[j,` <title>${z}</title>`," <style data-stx-cloak>[x-cloak]{display:none !important}</style>",H,L,q?` ${q}`:"",...(Y.styles||[]).map((M)=>` ${M}`),...w.map((M)=>` ${M}`),...(Y.headScripts||[]).map((M)=>` ${M}`),Y.headStack||""].filter(Boolean),R=[V,...(Y.bodyScripts||[]).map((M)=>M),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
|
${R.join(`
|
|
2063
2063
|
`)}
|
|
2064
2064
|
</body>
|
|
2065
|
-
</html>`}function
|
|
2065
|
+
</html>`}function o3($){return/<!DOCTYPE\b/i.test($)||/<html[\s>]/i.test($)}function BY($,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 jY($,Z={},Y={}){if(o3($))return $;return Yz($,Z,Y)}function F4($){let Z=$,Y=new Set,X=new Set,Q=()=>{if(g0)X.add(g0);return Z};return Q.set=(J)=>{if(!Object.is(J,Z)){let G=Z;if(Z=J,Y.forEach((K)=>K(Z,G)),B$)X.forEach((K)=>L4.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 V4($){let Z,Y=!0,X=new Set,Q=()=>{if(!Y)if(Y=!0,B$)X.forEach((G)=>L4.add(G));else X.forEach((G)=>G())},J=()=>{if(g0)X.add(g0);if(Y){let G=g0;g0=Q,O4.push(Q);try{Z=$()}finally{O4.pop(),g0=G}Y=!1}return Z};return Object.defineProperty(J,"_isDerived",{value:!0,writable:!1}),Object.defineProperty(J,"value",{get:()=>J(),configurable:!0}),J}function w4($,Z={}){let Y,X=!1,Q=()=>{if(X)return;if(Y)Y(),Y=void 0;let J=g0;g0=Q,O4.push(Q);try{Y=$()}finally{O4.pop(),g0=J}};if(Z.immediate!==!1)Q();return()=>{if(X=!0,Y)Y()}}function r3($){if(B$){$();return}B$=!0;try{$()}finally{B$=!1,L4.forEach((Z)=>Z()),L4.clear()}}function a3($){Xz.push($)}function t3($){Jz.push($)}function A4($){return typeof $==="function"&&$._isSignal===!0}function R4($){return typeof $==="function"&&$._isDerived===!0}function e3($){if(A4($)||R4($))return $();return $}function M4($){let Z=g0;g0=null;try{return $()}finally{g0=Z}}function Qz($,Z){let Y=typeof $==="function"?$:()=>$,X=F4([]),Q=V4(()=>X().reduce((K,q)=>Z(K,q.action),Y())),J=!1;return w4(()=>{if(Y(),!J){J=!0;return}if(M4(()=>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 g0=null,O4,B$=!1,L4,Xz,Jz;var $6=k(()=>{O4=[],L4=new Set,Xz=[],Jz=[]});var OY={};e(OY,{useOptimistic:()=>Qz,untrack:()=>e3,state:()=>F4,peek:()=>M4,onMount:()=>a3,onDestroy:()=>t3,isSignal:()=>A4,isDerived:()=>R4,generateSignalsRuntimeDev:()=>N4,generateSignalsRuntime:()=>HY,effect:()=>w4,derived:()=>V4,default:()=>Kz,batch:()=>r3});function HY(){try{let $=Gz(N4()),Y=new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($);return Y=Y.replace(/\}(var |let |const |function )/g,"};$1"),Y}catch{return N4()}}function Gz($){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 N4(){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
|
|
@@ -8584,7 +8584,7 @@ catch (e) { console.warn('[stx] mount callback error:', e); }
|
|
|
8584
8584
|
}
|
|
8585
8585
|
}
|
|
8586
8586
|
})();
|
|
8587
|
-
`}var
|
|
8587
|
+
`}var Kz;var LY=k(()=>{$6();$6();Kz={state:F4,derived:V4,effect:w4,batch:r3,onMount:a3,onDestroy:t3,isSignal:A4,isDerived:R4,untrack:e3,peek:M4,generateSignalsRuntime:HY,generateSignalsRuntimeDev:N4}});var Z6={};e(Z6,{templateCache:()=>FY,readFileCached:()=>qz,invalidateFileCacheByDir:()=>Uz,invalidateFileCache:()=>Wz,hashFilePath:()=>j$,getCachedSignalsRuntime:()=>Bz,getCachedRouterScript:()=>jz,clearDevCaches:()=>Hz,checkCache:()=>Oz,cacheTemplate:()=>Lz,__setSignalsGeneratorsForTest:()=>_z});import I1 from"fs";import R5 from"path";async function qz($){let Y;for(let X=0;X<3;X++)try{let J=(await I1.promises.stat($)).mtime.getTime(),G=n1.get($);if(G&&G.mtime===J)return G.content;let K=await Bun.file($).text(),W=(await I1.promises.stat($)).mtime.getTime();if(W!==J)continue;return n1.set($,{content:K,mtime:W}),K}catch(Q){Y=Q;break}throw n1.delete($),Error(`File not found: ${$}${Y?` (${Y.message})`:""}`)}function Wz($){n1.delete($)}function Uz($){for(let Z of n1.keys())if(Z.startsWith($))n1.delete(Z)}function _z($){VY=$}async function Bz($=!1){let Z=VY??await Promise.resolve().then(() => (LY(),OY));if($)return Z.generateSignalsRuntimeDev();if(T4===null)T4=Z.generateSignalsRuntime();return T4}async function jz(){if(I4===null){let{getRouterScript:$}=await import("stx-router");I4=$()}return I4}function Hz(){n1.clear(),AY(),T4=null,zz=null,I4=null}function wY($){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 Oz($,Z){try{if(!Z.cachePath)return null;let Y=R5.resolve(Z.cachePath),X=R5.join(Y,`${j$($)}.html`),Q=R5.join(Y,`${j$($)}.meta.json`);if(!await n(X)||!await n(Q))return null;let J=await Bun.file(Q).text(),G=JSON.parse(J);if(G.cacheVersion!==Z.cacheVersion)return null;if(G.optionsSignature!==wY(Z))return null;if((await I1.promises.stat($)).mtime.getTime()>G.mtime)return null;for(let q of G.dependencies)if(await n(q)){if((await I1.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 Lz($,Z,Y,X){try{if(!X.cachePath)return;let Q=R5.resolve(X.cachePath);await I1.promises.mkdir(Q,{recursive:!0});let J=R5.join(Q,`${j$($)}.html`),G=R5.join(Q,`${j$($)}.meta.json`),K=await I1.promises.stat($);await Bun.write(J,Z);let q={sourcePath:$,mtime:K.mtime.getTime(),dependencies:Array.from(Y),cacheVersion:X.cacheVersion,optionsSignature:wY(X),generatedAt:Date.now()};await Bun.write(G,JSON.stringify(q,null,2)),FY.set($,{output:Z,mtime:K.mtime.getTime(),dependencies:Y})}catch(Q){console.warn(`Failed to cache template ${$}:`,Q)}}function j$($){return new Bun.CryptoHasher("sha1").update($).digest("hex").substring(0,Fz)}var FY,n1,T4=null,zz=null,VY=null,I4=null,Fz=16;var Y6=k(()=>{V0();FY=new Map,n1=new Map});function RY($){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]+`
|
|
8588
8588
|
`;let Q=/\{\{([\s\S]*?)\}\}/g;while((X=Q.exec($))!==null)Y+=X[1]+`
|
|
8589
8589
|
`;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">
|
|
8590
8590
|
// STX: Auto-load @stacksjs/browser (auto-initializes API and loads models)
|
|
@@ -8593,60 +8593,60 @@ import '@stacksjs/browser'
|
|
|
8593
8593
|
`+$.slice(j);return $.replace("</head>",`${z}
|
|
8594
8594
|
</head>`)}if($.includes("<body"))return $.replace(/<body([^>]*)>/,`<body$1>
|
|
8595
8595
|
${z}`);return z+`
|
|
8596
|
-
`+$}async function
|
|
8596
|
+
`+$}async function MY($,Z){if($.includes("window.stx.state")||$.includes("STX Signals Runtime"))return $;if(Z.buildMode==="compile"){let K=$.indexOf("<script");if(K!==-1)return $.slice(0,K)+`<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>
|
|
8597
8597
|
`+$.slice(K);if($.includes("</head>")){let q=$.indexOf("</head>");return $.slice(0,q)+`<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>
|
|
8598
8598
|
`+$.slice(q)}return`<script data-stx-runtime src="/__stx/runtime.__STX_HASH__.js"></script>
|
|
8599
|
-
`+$}let{getCachedSignalsRuntime:Y}=await Promise.resolve().then(() => (
|
|
8599
|
+
`+$}let{getCachedSignalsRuntime:Y}=await Promise.resolve().then(() => (Y6(),Z6)),Q=`<script data-stx-scoped data-stx-runtime>${await Y(Z.debug)}</script>`,J=$.indexOf("<script");if(J!==-1)return $.slice(0,J)+Q+`
|
|
8600
8600
|
`+$.slice(J);if($.includes("</head>")){let G=$.indexOf("</head>");return $.slice(0,G)+Q+`
|
|
8601
8601
|
`+$.slice(G)}if($.includes("<body")){let G=$.indexOf("<body"),K=$.indexOf(">",G);return $.slice(0,K+1)+`
|
|
8602
8602
|
`+Q+$.slice(K+1)}return Q+`
|
|
8603
|
-
`+$}async function
|
|
8604
|
-
`}let{getCachedRouterScript:Q}=await Promise.resolve().then(() => (
|
|
8605
|
-
</body>`+$.slice(G+7)}var
|
|
8606
|
-
`)}else{if(!
|
|
8603
|
+
`+$}async function X6($,Z){if(!$.includes("</body>"))return $;if($.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>
|
|
8604
|
+
`}let{getCachedRouterScript:Q}=await Promise.resolve().then(() => (Y6(),Z6)),J=Z?.buildMode==="compile"?'<script src="/__stx/router.__STX_HASH__.js"></script>':`<script>${await Q()}</script>`,G=$.lastIndexOf("</body>");return $.slice(0,G)+X+J+`
|
|
8605
|
+
</body>`+$.slice(G+7)}var b4={};e(b4,{scanScriptTags:()=>bY,rewriteStxImportSpecifiers:()=>CY,processSignals:()=>q6,processScriptSetup:()=>yY,preEvalLiteralReactiveIfs:()=>G6,parseLoopExpression:()=>SY,hasSignalsSyntax:()=>k4,findMarkupIndexOutsideScripts:()=>D4,extractExports:()=>PY,convertSignalLoopsToAttributes:()=>K6,convertSignalDirectivesToAttributes:()=>Q6});function bY($,Z={}){let Y=[];for(let X of R7($,O1)){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 SY($){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}=TY(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}=TY(Q);if(G)return{style:"in",iterable:J,itemVar:G,indexVar:K}}return{style:"unknown",iterable:null,itemVar:null,indexVar:null}}function TY($){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 k4($){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 wz($){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 Az($){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 Rz($){return $.replace(/'(?:\\.|[^'\\])*'/g,"''").replace(/"(?:\\.|[^"\\])*"/g,'""').replace(/`(?:\\.|[^`\\])*`/g,"``")}function EY($,Z,Y){if(!$)return!1;let X=Rz($),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(IY.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(IY.has(_)||Y&&_ in Y)continue;G=!0}return(Q||G)&&!J}function E4($,Z,Y){let X=Y===void 0?` ${Z}`:` ${Z}="${Y.replace(/"/g,""")}"`,Q=$.trim(),J=Q.match(kY);if(J&&Mz(J[3],J[1])){let[,G,K,q]=J;return`<${G}${K}${X}>${q}</${G}>`}return`<template${X}>${Q}</template>`}function Mz($,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 Q6($,Z){let Y=Az($);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(wz(V)){let A=$$(J.substring(W,L));if(A.length===0)continue;let R=A[0].branches.filter((T)=>T.type!=="else");if(!(R.length>0&&R.every((T)=>EY(T.condition,Y,Z))))continue;w=A[0].branches.map((T)=>{let I=X(T.content);if(T.type==="elseif")return E4(I,"@else-if",T.condition??"");if(T.type==="else")return E4(I,"@else");return E4(I,"@if",T.condition??"")}).join(`
|
|
8606
|
+
`)}else{if(!EY(B,Y,Z))continue;w=E4(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 Nz($){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 Tz($,Z,Y,X){if(J6.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)||J6.has(Q)))K++}q=_+1}return-1}function Ez($,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 Iz.test(J)}function G6($){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=Nz(H);if(O===void 0)continue;let V=K.index,w=V+z.length,M=!!F||/\/\s*>$/.test(z)||J6.has(_.toLowerCase())?w:Tz($,V,_,w);if(M===-1)continue;if((j===":if"||j==="x-if"||j==="@if")&&Ez($,M)){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:M,replacement:""}),J.lastIndex=M}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 K6($,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=SY(z);if(B.iterable){let R=B.iterable.trim();if(R.startsWith("[")||R.startsWith("{")||R.startsWith("'")||R.startsWith('"')||R.startsWith("`")||/^-?\d/.test(R))continue;if(Z){let M=R.split(/[.[(]/)[0].trim();if(M&&M 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(kY),A;if(w){let[,R,M,N]=w;A=`<${R}${M} @for="${z}">${N}</${R}>`}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]!==`
|
|
8607
8607
|
`)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]!==`
|
|
8608
|
-
`)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
|
|
8608
|
+
`)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 yY($,Z,Y){let X=bY($,{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(v1(L.attrs))F=x1(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()}_${Vz++}`,{hasUserImports:K,bundleClientScript:q}=await Promise.resolve().then(() => (l5(),m5)),W=[];for(let L=0;L<J.length;L++){let F=J[L].content;if(F=Y5(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)=>CY(w));let O=s0(F);W.push(`// \u2500\u2500 merged signal script #${L+1} \u2500\u2500
|
|
8609
8609
|
${O}`)}let U=W.join(`
|
|
8610
8610
|
|
|
8611
|
-
`);U=
|
|
8611
|
+
`);U=Dz(U);let z=PY(U),_=z.split(",").map((L)=>L.trim()).filter(Boolean),B=D$(U,Y),j=`
|
|
8612
8612
|
<script data-stx-scoped>
|
|
8613
8613
|
function ${G}() {
|
|
8614
|
-
${
|
|
8614
|
+
${G5("const",_)}
|
|
8615
8615
|
${B}${U}
|
|
8616
8616
|
return { ${z} };
|
|
8617
8617
|
}
|
|
8618
8618
|
window.__stx_latestSetup=${G};
|
|
8619
8619
|
if(window.stx)window.stx._latestSetup=${G};
|
|
8620
|
-
</script>`,H=$;for(let L of J)H=H.split(L.fullMatch).join("");if(H.includes("<body"))H=H.replace(new RegExp(`<body(${
|
|
8620
|
+
</script>`,H=$;for(let L of J)H=H.split(L.fullMatch).join("");if(H.includes("<body"))H=H.replace(new RegExp(`<body(${NY})>`),`<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(${NY})>`,"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===`
|
|
8621
8621
|
`)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]!==`
|
|
8622
|
-
`)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(":"),M=(A>=0?w.slice(A+1).trim():w).split(/[\s=]/)[0];if(M&&!X.has(M))Y.push(M),X.add(M)});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
|
|
8622
|
+
`)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(":"),M=(A>=0?w.slice(A+1).trim():w).split(/[\s=]/)[0];if(M&&!X.has(M))Y.push(M),X.add(M)});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 q6($,Z,Y,X){if(!k4($))return $;let Q=$;if(Z.skipSignalsRuntime)return Q;let{output:J,setupCode:G}=await yY(Q,Y,X);if(Q=J,Q=await MY(Q,Z),Q=RY(Q),G){let U=D4(Q,/<\/head>/i),z=U===-1?D4(Q,/<body[^>]*>/i):-1;if(U!==-1)Q=`${Q.slice(0,U)}${G}
|
|
8623
8623
|
${Q.slice(U)}`;else if(z!==-1){let _=/<body[^>]*>/i.exec(Q.slice(z))[0],B=z+_.length;Q=`${Q.slice(0,B)}
|
|
8624
8624
|
${G}${Q.slice(B)}`}else Q=`${Q}
|
|
8625
|
-
${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=
|
|
8625
|
+
${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=D4(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 D4($,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 CY($){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 DY;return`var ${Z.join(", ")}; ${DY}`}var Vz=0,NY=`(?:"[^"]*"|'[^']*'|[^>"'])*`,kY,IY,J6,Iz,DY="/* [stx import stripped, resolved via window.stx in __stx_setup] */";var H$=k(()=>{X5();p$();o5();V0();f1();kY=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s;IY=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"]);J6=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);Iz=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/});import M5 from"path";function vY($){return $.startsWith("http://")||$.startsWith("https://")||$.startsWith("//")}async function xY($,Z,Y){try{let X;if($.startsWith("/")){let Q=Z;for(let J=0;J<5;J++){let G=M5.join(Q,$);if(await Bun.file(G).exists())return G;Q=M5.dirname(Q)}X=M5.join(Z,$)}else if($.startsWith("./")||$.startsWith("../"))X=M5.resolve(Z,$);else X=M5.resolve(Z,$);if(await Bun.file(X).exists())return X;return null}catch{return null}}async function fY($,Z,Y){let X=$,Q=M5.dirname(Z),J=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,G;while((G=J.exec(X))!==null){let[W,U,z,_]=G;if(vY(z))continue;let B=await xY(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:m0()});if(L.outputs.length>0)j=await L.outputs[0].text()}let H=`<script>
|
|
8626
8626
|
// Source: ${z}
|
|
8627
8627
|
${j}
|
|
8628
|
-
</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(
|
|
8628
|
+
</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(vY(z))continue;if(/rel=["']stylesheet["']/.test(B)||z.endsWith(".css")){let H=await xY(z,Q,Z);if(H)try{let L=await Bun.file(H).text();Y.add(H);let F=`<style>
|
|
8629
8629
|
/* Source: ${z} */
|
|
8630
8630
|
${L}
|
|
8631
|
-
</style>`;X=X.replace(W,F),K.lastIndex=0}catch(L){}}}return X}var
|
|
8631
|
+
</style>`;X=X.replace(W,F),K.lastIndex=0}catch(L){}}}return X}var gY=k(()=>{S1()});function W6($,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(K0(V))w=q0(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 R=A.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");Y=Y.substring(0,J)+R+Y.substring(q+1),X.lastIndex=J+R.length}catch(V){a0.log(V instanceof Error?V:Error(String(V)),{directive:"@json"},"error"),X.lastIndex=J+_.length}}return Y}function U6($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function hY($){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[^>]*?)?(\/?)>/),R;if(A){let[M,N,T="",I]=A,D=`<${N}${T} data-stx-memo="${W}"${I}>`;R=B.slice(0,L)+D+w.slice(M.length)+B.slice(L+w.length)}else R=`${B.slice(0,L)}<div data-stx-memo="${W}">${w}</div>${B.slice(L+w.length)}`;Q.push({start:J,end:j,replacement:R}),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 z6($){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 uY($){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 dY($){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(!kz.test(z))continue;let _=$[U-1]==="/",B=_?U-1:U;Y+=`${$.slice(X,B)} x-cloak${_?" ":""}`,X=B}return Y+=$.slice(X),Y}var kz;var _6=k(()=>{U1();O0();kz=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function B6($,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 bz){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(`
|
|
8632
8632
|
`),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}${_}
|
|
8633
8633
|
\u2192 ${q}`)}}if(J.length>0&&X.enabled){let K=`[STX] DOM API violation in ${Z.split("/").pop()||Z}:
|
|
8634
8634
|
${J.join(`
|
|
8635
8635
|
`)}
|
|
8636
|
-
Tip: prefer useRef(), navigate(), and composables for component code`;if(X.failOnViolation)throw Error(K);else console.warn(K)}}var
|
|
8637
|
-
${z.trim()}`)}catch(z){console.warn(`[stx] Failed to load store ${U}:`,z)}if(K.length===0)return
|
|
8636
|
+
Tip: prefer useRef(), navigate(), and composables for component code`;if(X.failOnViolation)throw Error(K);else console.warn(K)}}var bz;var j6=k(()=>{bz=[{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 mY={};e(mY,{getStoreScript:()=>Sz,clearStoreCache:()=>yz});import S4 from"path";async function Sz($){let Z;if($)Z=S4.resolve($);else{let U=await T5();Z=S4.resolve(U.root||process.cwd(),U.storesDir||"stores")}let Y=N5.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=S4.basename(U,".ts");if(["index","types"].includes(z))continue;if(U.includes(".d.ts"))continue;Q.push(U)}}catch{return N5.set(Z,""),null}if(Q.length===0)return N5.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:m0()});for(let U of G)try{let z=await Bun.file(U).text(),_=S4.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: ${_}
|
|
8637
|
+
${z.trim()}`)}catch(z){console.warn(`[stx] Failed to load store ${U}:`,z)}if(K.length===0)return N5.set(Z,""),null;let W=`;(function(){
|
|
8638
8638
|
${K.join(`
|
|
8639
8639
|
|
|
8640
8640
|
`)}
|
|
8641
|
-
})();`;return
|
|
8642
|
-
${j.trim()}`)}catch(j){console.warn(`[stx] Failed to load composable ${B}:`,j)}if(J.length===0||G.size===0)return
|
|
8641
|
+
})();`;return N5.set(Z,W),W}function yz(){N5.clear()}var N5;var lY=k(()=>{g1();S1();N5=new Map});var pY={};e(pY,{getComposableScript:()=>xz,clearComposableCache:()=>fz});import O$ from"path";function cY($){let Z=O$.basename($,".ts");return Z==="index"||Z==="types"||$.endsWith(".d.ts")}async function Cz($){if($)return O$.resolve($);let Z=`<default>:${process.cwd()}`,Y=H6.get(Z);if(Y!==void 0)return Y;let X=await vz();return H6.set(Z,X),X}async function vz(){let $=await T5(),Z=$.root||process.cwd(),Y=$.composablesDir;if(Y)return O$.resolve(Z,Y);for(let X of Pz){let Q=O$.resolve(Z,X);try{let J=new Bun.Glob("**/*.ts");for await(let G of J.scan({cwd:Q,absolute:!0}))if(!cY(G))return Q}catch{}}return null}async function xz($){let Z=await Cz($);if(!Z)return null;let Y=I5.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(cY(j))continue;X.push(j)}}catch{return I5.set(Z,""),null}if(X.length===0)return I5.set(Z,""),null;X.sort();let Q=new Bun.Transpiler({loader:"ts",target:"browser",define:m0()}),J=[],G=new Set,K=new Set;for(let B of X)try{let j=await Bun.file(B).text(),H=O$.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=s0(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}
|
|
8642
|
+
${j.trim()}`)}catch(j){console.warn(`[stx] Failed to load composable ${B}:`,j)}if(J.length===0||G.size===0)return I5.set(Z,""),null;let q=[...G].map((B)=>` try { __c[${JSON.stringify(B)}] = ${B}; } catch (e) {}`).join(`
|
|
8643
8643
|
`),W=JSON.stringify([...G]),U=J.join(`
|
|
8644
8644
|
|
|
8645
8645
|
`),_=`;(function(){
|
|
8646
8646
|
window.__composables = window.__composables || {};
|
|
8647
8647
|
var __c = window.__composables;
|
|
8648
8648
|
var __stx = window.stx || {};
|
|
8649
|
-
${
|
|
8649
|
+
${P$.filter((B)=>!K.has(B)&&new RegExp(`\\b${B}\\b`).test(U)).map((B)=>`var ${B} = __stx[${JSON.stringify(B)}];`).join(`
|
|
8650
8650
|
`)}
|
|
8651
8651
|
${U}
|
|
8652
8652
|
${q}
|
|
@@ -8663,7 +8663,7 @@ ${q}
|
|
|
8663
8663
|
}
|
|
8664
8664
|
window[__n] = __c[__n];
|
|
8665
8665
|
}
|
|
8666
|
-
})();`;return
|
|
8666
|
+
})();`;return I5.set(Z,_),_}function fz(){I5.clear(),H6.clear()}var I5,H6,Pz;var iY=k(()=>{g1();S1();o5();I5=new Map,H6=new Map,Pz=["composables","functions"]});var sY={};e(sY,{processDeferDirectives:()=>mz});function gz(){return`stx-defer-${++nY}`}function hz($){let Z=$.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if(Z)return{trigger:Z[1],value:Z[2]};return{trigger:"immediate"}}function uz($,Z,Y){let{trigger:X,value:Q}=hz(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 dz($,Z){let{trigger:Y,triggerValue:X}=Z,Q;switch(Y){case"visible":Q=`
|
|
8667
8667
|
const observer = new IntersectionObserver((entries) => {
|
|
8668
8668
|
if (entries[0].isIntersecting) {
|
|
8669
8669
|
observer.disconnect();
|
|
@@ -8736,7 +8736,7 @@ else {
|
|
|
8736
8736
|
${Q}
|
|
8737
8737
|
})();
|
|
8738
8738
|
</script>
|
|
8739
|
-
`}function
|
|
8739
|
+
`}function mz($,Z,Y){nY=0;let X=/@defer\s*\(([^)]*)\)\s*([\s\S]*?)@enddefer/g;return $.replace(X,(Q,J,G)=>{let K=gz(),q=uz(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=dz(K,q);return`
|
|
8740
8740
|
<div id="${K}" class="stx-defer" data-defer-trigger="${q.trigger}">
|
|
8741
8741
|
${W}
|
|
8742
8742
|
${U}
|
|
@@ -8744,7 +8744,7 @@ else {
|
|
|
8744
8744
|
${z}
|
|
8745
8745
|
</div>
|
|
8746
8746
|
${B}
|
|
8747
|
-
`})}var
|
|
8747
|
+
`})}var nY=0;var rY={};e(rY,{processTeleportDirectives:()=>iz,ensureTeleportTargets:()=>nz});function lz(){return`stx-teleport-${++oY}`}function cz($){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 pz($,Z){return`
|
|
8748
8748
|
<script>
|
|
8749
8749
|
(function() {
|
|
8750
8750
|
const source = document.getElementById('${$}');
|
|
@@ -8790,12 +8790,12 @@ else {
|
|
|
8790
8790
|
});
|
|
8791
8791
|
})();
|
|
8792
8792
|
</script>
|
|
8793
|
-
`}function
|
|
8793
|
+
`}function iz($,Z,Y){oY=0;let X=/@teleport\s*\(([^)]+)\)\s*([\s\S]*?)@endteleport/g;return $.replace(X,(Q,J,G)=>{let K=lz(),{target:q,disabled:W}=cz(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=pz(K,q);return`
|
|
8794
8794
|
<div id="${K}" class="stx-teleport-source" style="display: none;">
|
|
8795
8795
|
<template>${U}</template>
|
|
8796
8796
|
</div>
|
|
8797
8797
|
${z}
|
|
8798
|
-
`})}function
|
|
8798
|
+
`})}function nz(){return`
|
|
8799
8799
|
<script>
|
|
8800
8800
|
(function() {
|
|
8801
8801
|
// Common teleport targets
|
|
@@ -8812,7 +8812,7 @@ else {
|
|
|
8812
8812
|
});
|
|
8813
8813
|
})();
|
|
8814
8814
|
</script>
|
|
8815
|
-
`}var
|
|
8815
|
+
`}var oY=0;var $X={};e($X,{processTransitionDirectives:()=>az,processTransitionAttributes:()=>Z_,performLeave:()=>rz,performEnter:()=>oz,generateTransitionRuntime:()=>$_,generateTransitionCSS:()=>ez});function aY($,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 sz($){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 tY($,Z){return new Promise((Y)=>{let X=Z??sz($);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 eY($){$.offsetHeight}async function oz($,Z={}){let Y=Z.name||"stx",X=aY(Y,Z),Q=typeof Z.duration==="object"?Z.duration.enter:Z.duration;if(Z.onBeforeEnter?.($),$.classList.add(X.enterFrom),$.classList.add(X.enterActive),eY($),$.classList.remove(X.enterFrom),$.classList.add(X.enterTo),Z.onEnter)await new Promise((J)=>{Z.onEnter($,J)});else await tY($,Q);$.classList.remove(X.enterActive),$.classList.remove(X.enterTo),Z.onAfterEnter?.($)}async function rz($,Z={}){let Y=Z.name||"stx",X=aY(Y,Z),Q=typeof Z.duration==="object"?Z.duration.leave:Z.duration;if(Z.onBeforeLeave?.($),$.classList.add(X.leaveFrom),$.classList.add(X.leaveActive),eY($),$.classList.remove(X.leaveFrom),$.classList.add(X.leaveTo),Z.onLeave)await new Promise((J)=>{Z.onLeave($,J)});else await tY($,Q);$.classList.remove(X.leaveActive),$.classList.remove(X.leaveTo),Z.onAfterLeave?.($)}function az($,Z={},Y){let X=/@transition\s*\(([^)]*)\)([\s\S]*?)@endtransition/gi;return $.replace(X,(Q,J,G)=>{let K=tz(J),q=K.name||"stx",W=K.duration||300,U=`stx-transition-${Math.random().toString(36).slice(2,9)}`;return`
|
|
8816
8816
|
<div
|
|
8817
8817
|
class="stx-transition-wrapper"
|
|
8818
8818
|
data-transition="${q}"
|
|
@@ -8854,7 +8854,7 @@ else {
|
|
|
8854
8854
|
});
|
|
8855
8855
|
})();
|
|
8856
8856
|
</script>
|
|
8857
|
-
`})}function
|
|
8857
|
+
`})}function tz($){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 ez(){return`
|
|
8858
8858
|
/* STX Transition Presets */
|
|
8859
8859
|
|
|
8860
8860
|
/* Fade */
|
|
@@ -9041,7 +9041,7 @@ else {
|
|
|
9041
9041
|
opacity: 1;
|
|
9042
9042
|
max-height: 1000px;
|
|
9043
9043
|
}
|
|
9044
|
-
`}function
|
|
9044
|
+
`}function $_(){return`
|
|
9045
9045
|
// STX Transition Runtime
|
|
9046
9046
|
(function() {
|
|
9047
9047
|
if (typeof window === 'undefined') return;
|
|
@@ -9130,7 +9130,7 @@ else {
|
|
|
9130
9130
|
|
|
9131
9131
|
console.log('[stx] Transition runtime initialized');
|
|
9132
9132
|
})();
|
|
9133
|
-
`}function
|
|
9133
|
+
`}function Z_($){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 YX={};e(YX,{withErrorBoundary:()=>ZX,processErrorBoundaryDirectives:()=>J_,generateErrorBoundaryRuntime:()=>W_,generateErrorBoundaryCSS:()=>q_,createErrorBoundary:()=>K_});function X_(){return`eb-${++Y_}-${Date.now().toString(36)}`}function J_($,Z={},Y){let X=/@errorBoundary(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@enderrorBoundary/gi;return $.replace(X,(Q,J,G,K)=>{let q=X_(),W=Q_(J||"");return G_(q,G.trim(),K.trim(),W)})}function Q_($){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 G_($,Z,Y,X){let Q=X.logErrors!==!1;return`
|
|
9134
9134
|
<div class="stx-error-boundary" data-boundary-id="${$}" data-has-error="false">
|
|
9135
9135
|
<div class="stx-error-boundary-content" data-boundary-content="${$}">
|
|
9136
9136
|
${Z}
|
|
@@ -9250,7 +9250,7 @@ else {
|
|
|
9250
9250
|
};
|
|
9251
9251
|
})();
|
|
9252
9252
|
</script>
|
|
9253
|
-
`}async function
|
|
9253
|
+
`}async function ZX($,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 K_($,Z={}){let Y=Z.onError?(X)=>Z.onError(X,{timestamp:Date.now(),boundaryId:"ssr"}):void 0;return(X)=>ZX(X,$,Y)}function q_(){return`
|
|
9254
9254
|
/* STX Error Boundary Styles */
|
|
9255
9255
|
.stx-error-boundary {
|
|
9256
9256
|
position: relative;
|
|
@@ -9294,7 +9294,7 @@ else {
|
|
|
9294
9294
|
color: #fecaca;
|
|
9295
9295
|
}
|
|
9296
9296
|
}
|
|
9297
|
-
`}function
|
|
9297
|
+
`}function W_(){return`
|
|
9298
9298
|
// STX Error Boundary Runtime
|
|
9299
9299
|
(function() {
|
|
9300
9300
|
if (typeof window === 'undefined') return;
|
|
@@ -9359,7 +9359,7 @@ else {
|
|
|
9359
9359
|
|
|
9360
9360
|
console.log('[stx] Error boundary runtime initialized');
|
|
9361
9361
|
})();
|
|
9362
|
-
`}var
|
|
9362
|
+
`}var Y_=0;var XX={};e(XX,{renderSSRSuspense:()=>O_,processSuspenseDirectives:()=>__,generateSuspenseRuntime:()=>F_,generateSuspenseCSS:()=>L_,createSSRSuspense:()=>H_});function z_(){return`suspense-${++U_}-${Date.now().toString(36)}`}function __($,Z={},Y){let X=/@suspense(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@fallback\s*([\s\S]*?)@endsuspense/gi;return $.replace(X,(Q,J,G,K)=>{let q=z_(),W=B_(J||"");return j_(q,G.trim(),K.trim(),W)})}function B_($){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 j_($,Z,Y,X){let Q=X.timeout||30000,J=X.id||$;return`
|
|
9363
9363
|
<div class="stx-suspense" data-suspense-id="${$}" data-custom-id="${J}" data-status="pending">
|
|
9364
9364
|
<div class="stx-suspense-fallback" data-suspense-fallback="${$}">
|
|
9365
9365
|
${Y}
|
|
@@ -9549,7 +9549,7 @@ else {
|
|
|
9549
9549
|
}, 0);
|
|
9550
9550
|
})();
|
|
9551
9551
|
</script>
|
|
9552
|
-
`}function
|
|
9552
|
+
`}function H_($,Z,Y){return{id:$,fallback:Y,content:Z}}async function O_($){let Z=$.map((X)=>`
|
|
9553
9553
|
<div id="stx-ssr-suspense-${X.id}" class="stx-ssr-suspense">
|
|
9554
9554
|
${X.fallback}
|
|
9555
9555
|
</div>
|
|
@@ -9574,7 +9574,7 @@ else {
|
|
|
9574
9574
|
}
|
|
9575
9575
|
})();
|
|
9576
9576
|
</script>
|
|
9577
|
-
`}}return{initial:Z,streaming:Y()}}function
|
|
9577
|
+
`}}return{initial:Z,streaming:Y()}}function L_(){return`
|
|
9578
9578
|
/* STX Suspense Styles */
|
|
9579
9579
|
.stx-suspense {
|
|
9580
9580
|
position: relative;
|
|
@@ -9630,7 +9630,7 @@ else {
|
|
|
9630
9630
|
background-size: 200% 100%;
|
|
9631
9631
|
}
|
|
9632
9632
|
}
|
|
9633
|
-
`}function
|
|
9633
|
+
`}function F_(){return`
|
|
9634
9634
|
// STX Suspense Runtime
|
|
9635
9635
|
(function() {
|
|
9636
9636
|
if (typeof window === 'undefined') return;
|
|
@@ -9697,7 +9697,7 @@ else {
|
|
|
9697
9697
|
|
|
9698
9698
|
console.log('[stx] Suspense runtime initialized');
|
|
9699
9699
|
})();
|
|
9700
|
-
`}var
|
|
9700
|
+
`}var U_=0;var KX={};e(KX,{processAsyncDirectives:()=>w_,isAsyncComponent:()=>R_,generateAsyncComponentRuntime:()=>N_,generateAsyncComponentCSS:()=>M_,defineAsyncComponent:()=>A_});function JX(){return`async-${++V_}-${Date.now().toString(36)}`}function w_($,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=JX(),z=QX(K);return GX(U,z,q.trim(),W.trim())}),J=J.replace(Q,(G,K,q)=>{let W=JX(),U=QX(K);return GX(W,U,q.trim(),'<div class="stx-async-error">Failed to load component</div>')}),J}function QX($){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 GX($,Z,Y,X){let{component:Q,timeout:J,delay:G,suspensible:K,retries:q}=Z;return`
|
|
9701
9701
|
<div class="stx-async-component" data-async-id="${$}" data-component="${Q}" data-status="pending">
|
|
9702
9702
|
<div class="stx-async-loading" data-async-loading="${$}">
|
|
9703
9703
|
${Y}
|
|
@@ -9924,7 +9924,7 @@ catch (error) {
|
|
|
9924
9924
|
loadComponent();
|
|
9925
9925
|
})();
|
|
9926
9926
|
</script>
|
|
9927
|
-
`}function
|
|
9927
|
+
`}function A_($){return{__asyncComponent:!0,...typeof $==="function"?{loader:$}:$}}function R_($){return typeof $==="object"&&$!==null&&"__asyncComponent"in $&&$.__asyncComponent===!0}function M_(){return`
|
|
9928
9928
|
/* STX Async Component Styles */
|
|
9929
9929
|
.stx-async-component {
|
|
9930
9930
|
position: relative;
|
|
@@ -9998,7 +9998,7 @@ catch (error) {
|
|
|
9998
9998
|
background-size: 200% 100%;
|
|
9999
9999
|
}
|
|
10000
10000
|
}
|
|
10001
|
-
`}function
|
|
10001
|
+
`}function N_(){return`
|
|
10002
10002
|
// STX Async Component Runtime
|
|
10003
10003
|
(function() {
|
|
10004
10004
|
if (typeof window === 'undefined') return;
|
|
@@ -10052,7 +10052,7 @@ catch (error) {
|
|
|
10052
10052
|
|
|
10053
10053
|
console.log('[stx] Async component runtime initialized');
|
|
10054
10054
|
})();
|
|
10055
|
-
`}var
|
|
10055
|
+
`}var V_=0;var WX={};e(WX,{shouldCacheComponent:()=>b_,processKeepAliveDirectives:()=>I_,onDeactivated:()=>C_,onActivated:()=>P_,generateKeepAliveRuntime:()=>y_,generateKeepAliveCSS:()=>S_,createKeepAliveCache:()=>k_});function qX(){return`keep-alive-${++T_}-${Date.now().toString(36)}`}function I_($,Z={},Y){let X=/@keepAlive(?:\s*\(([^)]*)\))?\s*([\s\S]*?)@endkeepAlive/gi;return $.replace(X,(Q,J,G)=>{let K=qX(),q=E_(J||"");return D_(K,G.trim(),q)})}function E_($){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`
|
|
10056
10056
|
<div class="stx-keep-alive" data-keep-alive-id="${$}" data-custom-id="${G}">
|
|
10057
10057
|
<div class="stx-keep-alive-content" data-keep-alive-content="${$}">
|
|
10058
10058
|
${Z}
|
|
@@ -10339,7 +10339,7 @@ else {
|
|
|
10339
10339
|
});
|
|
10340
10340
|
})();
|
|
10341
10341
|
</script>
|
|
10342
|
-
`}function
|
|
10342
|
+
`}function k_($={}){return{id:$.id||qX(),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 b_($,Z){if(Z.exclude&&Z.exclude.includes($))return!1;if(Z.include&&!Z.include.includes($))return!1;return!0}function S_(){return`
|
|
10343
10343
|
/* STX Keep-Alive Styles */
|
|
10344
10344
|
.stx-keep-alive {
|
|
10345
10345
|
position: relative;
|
|
@@ -10364,7 +10364,7 @@ else {
|
|
|
10364
10364
|
.stx-keep-alive-content > [data-activated] {
|
|
10365
10365
|
opacity: 1;
|
|
10366
10366
|
}
|
|
10367
|
-
`}function
|
|
10367
|
+
`}function y_(){return`
|
|
10368
10368
|
// STX Keep-Alive Runtime
|
|
10369
10369
|
(function() {
|
|
10370
10370
|
if (typeof window === 'undefined') return;
|
|
@@ -10400,7 +10400,7 @@ else {
|
|
|
10400
10400
|
|
|
10401
10401
|
console.log('[stx] Keep-alive runtime initialized');
|
|
10402
10402
|
})();
|
|
10403
|
-
`}function
|
|
10403
|
+
`}function P_($){if(typeof document<"u")document.addEventListener("stx:activated",(Z)=>{$(Z.detail)})}function C_($){if(typeof document<"u")document.addEventListener("stx:deactivated",(Z)=>{$(Z.detail)})}var T_=0;var jX={};e(jX,{useVirtualList:()=>zX,processVirtualListDirectives:()=>L6,processVirtualGridDirectives:()=>BX,processInfiniteListDirectives:()=>_X,generateVirtualListCSS:()=>UX,default:()=>v_,createVirtualList:()=>O6});function O6($,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 R=Math.max(0,Math.floor(U/Y)-Q),M=Math.ceil(X/Y),N=Math.min(W.length-1,R+M+Q*2);return{startIndex:R,endIndex:N}}function B(){let R=0,M=0,N=W.length-1;for(let T=0;T<W.length;T++){let I=z.get(T)||K;if(R+I>U){M=Math.max(0,T-Q);break}R+=I}R=0;for(let T=0;T<W.length;T++){let I=z.get(T)||K;if(R+=I,R>U+X){N=Math.min(W.length-1,T+Q);break}}return{startIndex:M,endIndex:N}}function j(){if(G){let R=0;for(let M=0;M<W.length;M++)R+=z.get(M)||K;return R}return W.length*Y}function H(R){if(G){let M=0;for(let N=0;N<R;N++)M+=z.get(N)||K;return M}return R*Y}function L(){let{startIndex:R,endIndex:M}=_();return{startIndex:R,endIndex:M,scrollTop:U,totalHeight:j(),visibleItems:W.slice(R,M+1),itemHeights:new Map(z)}}function F(R,M="auto"){let N=H(R);O(N,M)}function O(R,M="auto"){U=Math.max(0,Math.min(R,j()-X))}function V(){_()}function w(R){W=[...R],z.clear(),V()}function A(){W=[],z.clear()}return{scrollToIndex:F,scrollToOffset:O,getState:L,refresh:V,setItems:w,destroy:A}}function L6($,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,R)=>{if(typeof V==="object"&&V!==null)return String(V[R]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(O));L+=`
|
|
10404
10404
|
<div class="virtual-item ${U.itemClass||""}"
|
|
10405
10405
|
style="position: absolute; top: ${O*U.itemHeight}px; height: ${U.itemHeight}px; width: 100%;"
|
|
10406
10406
|
data-index="${O}">
|
|
@@ -10477,7 +10477,7 @@ else {
|
|
|
10477
10477
|
};
|
|
10478
10478
|
})();
|
|
10479
10479
|
</script>
|
|
10480
|
-
`})}function
|
|
10480
|
+
`})}function UX(){return`
|
|
10481
10481
|
.virtual-list-container {
|
|
10482
10482
|
position: relative;
|
|
10483
10483
|
overflow-y: auto;
|
|
@@ -10525,7 +10525,7 @@ else {
|
|
|
10525
10525
|
0% { background-position: 200% 0; }
|
|
10526
10526
|
100% { background-position: -200% 0; }
|
|
10527
10527
|
}
|
|
10528
|
-
`}function
|
|
10528
|
+
`}function zX($,Z){let Y=null,X=()=>{if(!Y)Y=O6($(),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 _X($,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=L6(`@virtualList(${W}, ${JSON.stringify({itemHeight:z.itemHeight,containerHeight:z.containerHeight,overscan:z.overscan,containerClass:z.containerClass})})${K}@endvirtualList`,Z);return B=B.replace("</script>",`
|
|
10529
10529
|
// Infinite scroll detection
|
|
10530
10530
|
container.addEventListener('scroll', function() {
|
|
10531
10531
|
const scrollBottom = container.scrollTop + container.clientHeight;
|
|
@@ -10543,7 +10543,7 @@ else {
|
|
|
10543
10543
|
${q}
|
|
10544
10544
|
</div>
|
|
10545
10545
|
</div>
|
|
10546
|
-
`})}function
|
|
10546
|
+
`})}function BX($,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 R=W[A],M=w*(100/U.columns),N=V*(U.rowHeight+(U.gap||0)),T=K.replace(/\{\{\s*item\s*\}\}/g,typeof R==="object"?JSON.stringify(R):String(R)).replace(/\{\{\s*item\.(\w+)\s*\}\}/g,(I,D)=>{if(typeof R==="object"&&R!==null)return String(R[D]??"");return""}).replace(/\{\{\s*index\s*\}\}/g,String(A));O+=`
|
|
10547
10547
|
<div class="virtual-grid-item"
|
|
10548
10548
|
style="position: absolute; top: ${N}px; left: ${M}%; width: calc(${100/U.columns}% - ${U.gap||0}px); height: ${U.rowHeight}px;"
|
|
10549
10549
|
data-index="${A}">
|
|
@@ -10613,7 +10613,7 @@ else {
|
|
|
10613
10613
|
});
|
|
10614
10614
|
})();
|
|
10615
10615
|
</script>
|
|
10616
|
-
`})}var
|
|
10616
|
+
`})}var v_;var HX=k(()=>{v_={createVirtualList:O6,processVirtualListDirectives:L6,processInfiniteListDirectives:_X,processVirtualGridDirectives:BX,generateVirtualListCSS:UX,useVirtualList:zX}});function OX(){return`<script data-stx-hydration-runtime>
|
|
10617
10617
|
(function() {
|
|
10618
10618
|
'use strict';
|
|
10619
10619
|
|
|
@@ -10773,7 +10773,7 @@ else {
|
|
|
10773
10773
|
stxIslands.initIslands();
|
|
10774
10774
|
}
|
|
10775
10775
|
})();
|
|
10776
|
-
</script>`}function
|
|
10776
|
+
</script>`}function LX($){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 FX($,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 kX={};e(kX,{processStaticDirectives:()=>EX,processPartialHydrationDirectives:()=>wX,onHydrated:()=>IX,isHydrated:()=>TX,hydrateIsland:()=>RX,hydrateByStrategy:()=>MX,hydrateAll:()=>NX,generatePartialHydrationCSS:()=>AX,generateIslandManifest:()=>DX,default:()=>l_,createIslandRegistry:()=>VX});function VX(){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 x_($){return`
|
|
10777
10777
|
<script data-hydrate="${$}">
|
|
10778
10778
|
(function() {
|
|
10779
10779
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -10784,7 +10784,7 @@ else {
|
|
|
10784
10784
|
island.dispatchEvent(new CustomEvent('stx:hydrated', { bubbles: true }));
|
|
10785
10785
|
})();
|
|
10786
10786
|
</script>
|
|
10787
|
-
`}function
|
|
10787
|
+
`}function f_($,Z){let Y=Z.timeout||2000,X=Z.priority||"low";return`
|
|
10788
10788
|
<script data-hydrate="${$}">
|
|
10789
10789
|
(function() {
|
|
10790
10790
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -10820,7 +10820,7 @@ else {
|
|
|
10820
10820
|
}
|
|
10821
10821
|
})();
|
|
10822
10822
|
</script>
|
|
10823
|
-
`}function
|
|
10823
|
+
`}function g_($,Z){let Y=Z.rootMargin||"0px",X=Z.threshold||0;return`
|
|
10824
10824
|
<script data-hydrate="${$}">
|
|
10825
10825
|
(function() {
|
|
10826
10826
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -10853,7 +10853,7 @@ else {
|
|
|
10853
10853
|
}
|
|
10854
10854
|
})();
|
|
10855
10855
|
</script>
|
|
10856
|
-
`}function
|
|
10856
|
+
`}function h_($,Z){let Y=Z.media||"(min-width: 768px)";return`
|
|
10857
10857
|
<script data-hydrate="${$}">
|
|
10858
10858
|
(function() {
|
|
10859
10859
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -10882,7 +10882,7 @@ else {
|
|
|
10882
10882
|
}
|
|
10883
10883
|
})();
|
|
10884
10884
|
</script>
|
|
10885
|
-
`}function
|
|
10885
|
+
`}function u_($){return`
|
|
10886
10886
|
<script data-hydrate="${$}">
|
|
10887
10887
|
(function() {
|
|
10888
10888
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -10904,7 +10904,7 @@ else {
|
|
|
10904
10904
|
events.forEach(e => island.addEventListener(e, handler, { once: true, passive: true }));
|
|
10905
10905
|
})();
|
|
10906
10906
|
</script>
|
|
10907
|
-
`}function
|
|
10907
|
+
`}function d_($,Z){let Y=Z.event||"stx:activate";return`
|
|
10908
10908
|
<script data-hydrate="${$}">
|
|
10909
10909
|
(function() {
|
|
10910
10910
|
const island = document.querySelector('[data-island="${$}"]');
|
|
@@ -10925,9 +10925,9 @@ else {
|
|
|
10925
10925
|
});
|
|
10926
10926
|
})();
|
|
10927
10927
|
</script>
|
|
10928
|
-
`}function
|
|
10929
|
-
`+
|
|
10930
|
-
<script type="application/json" data-island-props="${q}">${JSON.stringify(U)}</script>`:"",j="";switch(Z){case"load":j=
|
|
10928
|
+
`}function wX($,Z={},Y){let X=$,Q=!1,J=/@client:(load|idle|visible|media|only|hover|event)/i.test($);if(X=E5(X,"load",Z),X=E5(X,"idle",Z),X=E5(X,"visible",Z),X=E5(X,"media",Z),X=m_(X),X=E5(X,"hover",Z),X=E5(X,"event",Z),Q=J&&X!==$,Q)X+=`
|
|
10929
|
+
`+OX();return X}function E5($,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=LX(G.trim()),U=FX(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?`
|
|
10930
|
+
<script type="application/json" data-island-props="${q}">${JSON.stringify(U)}</script>`:"",j="";switch(Z){case"load":j=x_(q);break;case"idle":j=f_(q,K);break;case"visible":j=g_(q,K);break;case"media":j=h_(q,K);break;case"hover":j=u_(q);break;case"event":j=d_(q,K);break}return`
|
|
10931
10931
|
<div data-island="${q}"
|
|
10932
10932
|
data-strategy="${Z}"
|
|
10933
10933
|
${z.join(`
|
|
@@ -10937,7 +10937,7 @@ else {
|
|
|
10937
10937
|
${G.trim()}${B}
|
|
10938
10938
|
</div>
|
|
10939
10939
|
${j}
|
|
10940
|
-
`})}function
|
|
10940
|
+
`})}function m_($){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`
|
|
10941
10941
|
<div data-island="${Q}"
|
|
10942
10942
|
data-strategy="only"
|
|
10943
10943
|
class="stx-island stx-client-only">
|
|
@@ -10956,7 +10956,7 @@ else {
|
|
|
10956
10956
|
}
|
|
10957
10957
|
})();
|
|
10958
10958
|
</script>
|
|
10959
|
-
`})}function
|
|
10959
|
+
`})}function AX(){return`
|
|
10960
10960
|
/* Island base styles */
|
|
10961
10961
|
.stx-island {
|
|
10962
10962
|
display: contents;
|
|
@@ -10997,11 +10997,11 @@ else {
|
|
|
10997
10997
|
.stx-island.hydrated {
|
|
10998
10998
|
opacity: 1;
|
|
10999
10999
|
}
|
|
11000
|
-
`}function
|
|
11000
|
+
`}function RX($){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 MX($){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 NX(){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 TX($){if(typeof window>"u")return!1;return document.querySelector(`[data-island="${$}"]`)?.classList.contains("hydrated")??!1}function IX($){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 EX($){return $.replace(/@static\s*([\s\S]*?)@endstatic/gi,(Z,Y)=>{return`<div class="stx-static">${Y.trim()}</div>`})}function DX($){let Z=$.map((Y)=>({id:Y.id,component:Y.component,strategy:Y.options.strategy,props:Y.props}));return`
|
|
11001
11001
|
<script type="application/json" id="stx-island-manifest">
|
|
11002
11002
|
${JSON.stringify(Z)}
|
|
11003
11003
|
</script>
|
|
11004
|
-
`}var
|
|
11004
|
+
`}var l_;var bX=k(()=>{l_={processPartialHydrationDirectives:wX,processStaticDirectives:EX,generatePartialHydrationCSS:AX,generateIslandManifest:DX,createIslandRegistry:VX,hydrateIsland:RX,hydrateByStrategy:MX,hydrateAll:NX,isHydrated:TX,onHydrated:IX}});var dX={};e(dX,{watchMultiple:()=>vX,watchEffect:()=>xX,watch:()=>CX,unref:()=>SX,toRefs:()=>yX,throttledComputed:()=>uX,stxWatchMultiple:()=>vX,stxWatchEffect:()=>xX,stxWatch:()=>CX,stxUnref:()=>SX,stxToRefs:()=>yX,stxThrottledComputed:()=>uX,stxShallowRef:()=>PX,stxRef:()=>D5,stxIsRef:()=>E1,stxDebouncedComputed:()=>hX,stxComputed:()=>F$,shallowRef:()=>PX,ref:()=>D5,processWatchDirectives:()=>gX,processComputedDirectives:()=>fX,isRef:()=>E1,default:()=>c_,debouncedComputed:()=>hX,computed:()=>F$});function D5($){let Z=$,Y=new Set,X={get value(){if(J1){let Q=L$.get(X);if(!Q)Q=new Set,L$.set(X,Q);Q.add(J1)}return Z},set value(Q){if(!Object.is(Z,Q)){Z=Q,Y.forEach((G)=>G(Q));let J=L$.get(X);if(J)J.forEach((G)=>G())}},subscribe(Q){return Y.add(Q),()=>Y.delete(Q)},peek(){return Z}};return X}function E1($){return $!==null&&typeof $==="object"&&"value"in $&&"subscribe"in $&&"peek"in $}function SX($){return E1($)?$.value:$}function yX($){let Z={};for(let Y in $)if(Object.prototype.hasOwnProperty.call($,Y))Z[Y]=D5($[Y]);return Z}function PX($){return D5($)}function F$($){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 _=J1;J1=W,y4.push(W);try{return Y()}finally{y4.pop(),J1=_}}let z={get value(){if(J1){let _=L$.get(z);if(!_)_=new Set,L$.set(z,_);_.add(J1)}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 CX($,Z,Y={}){let{immediate:X=!1,deep:Q=!1,flush:J="pre",once:G=!1}=Y,K,q=!0,W=!1,U=()=>{if(E1($))return Q?s1($.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?s1(j):j,G)B()};if(J==="sync")H();else if(J==="post")queueMicrotask(H);else Promise.resolve().then(H)},_=null;if(E1($))_=$.subscribe(()=>z());else _=F$($).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 vX($,Z,Y={}){let{immediate:X=!1,once:Q=!1}=Y,J=$.map((z)=>E1(z)?z.value:void 0),G=!0,K=!1,q=()=>{if(!G||K)return;let z=$.map((_)=>E1(_)?_.value:void 0);if(Z(z,J),J=[...z],Q)U()},W=$.map((z)=>{if(E1(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 xX($,Z={}){let{flush:Y="pre"}=Z,X,Q=!0,J=!1,G=()=>{if(!Q||J)return;if(X)X();let q=J1;J1=G,y4.push(G);try{X=$()}finally{y4.pop(),J1=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 fX($,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 gX($,Z={},Y){let X=/@watch\s*\(\s*(\w+)\s*\)\s*([\s\S]*?)@endwatch/gi;return $.replace(X,(Q,J,G)=>{return`
|
|
11005
11005
|
<script data-watch="${`watch-${Math.random().toString(36).substring(2,9)}`}">
|
|
11006
11006
|
(function() {
|
|
11007
11007
|
// Watch implementation for ${J}
|
|
@@ -11013,9 +11013,9 @@ else {
|
|
|
11013
11013
|
}
|
|
11014
11014
|
})();
|
|
11015
11015
|
</script>
|
|
11016
|
-
`})}function
|
|
11017
|
-
`)}catch{return""}})}function
|
|
11018
|
-
`)}catch{return""}})}function
|
|
11016
|
+
`})}function s1($){if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((Y)=>s1(Y));if($ instanceof Date)return new Date($.getTime());if($ instanceof Map){let Y=new Map;return $.forEach((X,Q)=>Y.set(s1(Q),s1(X))),Y}if($ instanceof Set){let Y=new Set;return $.forEach((X)=>Y.add(s1(X))),Y}let Z={};for(let Y in $)if(Object.prototype.hasOwnProperty.call($,Y))Z[Y]=s1($[Y]);return Z}function hX($,Z=100){let Y=D5($()),X=null,Q=()=>{if(X)clearTimeout(X);X=setTimeout(()=>{Y.value=$()},Z)};return F$($).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 uX($,Z=100){let Y=D5($()),X=0,Q=()=>{let G=Date.now();if(G-X>=Z)X=G,Y.value=$()};return F$($).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 J1=null,y4,L$,c_;var mX=k(()=>{y4=[],L$=new WeakMap;c_={ref:D5,computed:F$,watch:CX,watchMultiple:vX,watchEffect:xX,isRef:E1,unref:SX,toRefs:yX,shallowRef:PX,debouncedComputed:hX,throttledComputed:uX,processComputedDirectives:fX,processWatchDirectives:gX}});var iX={};e(iX,{v:()=>p_,processHasErrorsDirective:()=>pX,processFormValidationDirectives:()=>n_,processErrorsDirective:()=>cX,processErrorDirective:()=>lX,defineForm:()=>i_,Validator:()=>k5});class k5{rules=[];defaultValue="";addRule($){let Z=new k5;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 k5;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 k5;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 i_($,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 lX($,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(`
|
|
11017
|
+
`)}catch{return""}})}function cX($,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(`
|
|
11018
|
+
`)}catch{return""}})}function pX($,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 n_($,Z,Y){let X=$;return X=lX(X,Z,Y),X=cX(X,Z,Y),X=pX(X,Z,Y),X}var p_;var nX=k(()=>{p_=new k5});var rX={};e(rX,{processXElementDirectives:()=>s_,hasXElementDirectives:()=>oX,generateXElementRuntime:()=>sX});function sX(){return`<script data-stx-scoped data-stx-x-element-runtime>
|
|
11019
11019
|
(function() {
|
|
11020
11020
|
'use strict';
|
|
11021
11021
|
|
|
@@ -11299,16 +11299,16 @@ else {
|
|
|
11299
11299
|
// Expose for manual initialization
|
|
11300
11300
|
window.XElement = XElement;
|
|
11301
11301
|
})();
|
|
11302
|
-
</script>`}function
|
|
11302
|
+
</script>`}function oX($){return/\bx-data(?:\s|=)/.test($)}function s_($){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(!oX(X))return X;let Q=Y[0]?.trim()||sX(),J=X.lastIndexOf("</body>");if(J!==-1)return X.slice(0,J)+Q+`
|
|
11303
11303
|
`+X.slice(J);return X+`
|
|
11304
|
-
`+Q}var
|
|
11304
|
+
`+Q}var aX={};e(aX,{rewriteImagesWithSiblings:()=>a_});import B1 from"path";async function a_($,Z){let Y=Z.formats??r_;if(!Z.publicDir)return $;let X=$B($),Q=[],J=/<img\b[^>]*?>/gi,G=[],K;while((K=J.exec($))!==null){let z=K[0],_=z.match(/\bsrc=["']([^"']+)["']/i);if(!_)continue;if(ZB(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 t_(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="${YB(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 t_($,Z,Y){if(!e_($))return[];let X=B1.extname($).toLowerCase();if(!o_.has(X))return[];if(!$.startsWith("/"))return[];let Q=B1.join(Z,$.slice(1)),J=B1.dirname(Q),G=B1.basename(Q,X),K=B1.resolve(J),q=B1.resolve(Z);if(!K.startsWith(q))return[];let W=B1.posix.dirname($),U=Y.map(async(_)=>{let B=B1.join(J,`${G}${_.ext}`);if(!await Bun.file(B).exists())return null;return{url:B1.posix.join(W,`${G}${_.ext}`),mime:_.mime}});return(await Promise.all(U)).filter((_)=>_!==null)}function e_($){if(!$)return!1;if($.startsWith("http://")||$.startsWith("https://"))return!1;if($.startsWith("//"))return!1;if($.startsWith("data:"))return!1;return!0}function $B($){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 ZB($,Z){for(let[Y,X]of Z)if($>=Y&&$<X)return!0;return!1}function YB($){return $.replace(/&/g,"&").replace(/"/g,""")}var o_,r_;var tX=k(()=>{o_=new Set([".jpg",".jpeg",".png",".gif"]),r_=[{ext:".avif",mime:"image/avif"},{ext:".webp",mime:"image/webp"}]});var eX=()=>{};function F6($){return $.pwa?.serviceWorker?.fileName||"sw.js"}var $J=k(()=>{eX()});var ZJ={};e(ZJ,{injectPwaTags:()=>XB,generateThemeColorMeta:()=>GB,generateSwRegistrationScript:()=>JB,generatePwaTags:()=>P4,generateManifestLink:()=>QB});function P4($){let Z=$.pwa;if(!Z?.enabled)return"";let Y=Z.manifest,X=Z.icons?.outputDir?`/${Z.icons.outputDir}`:"/pwa-icons",Q=F6($),J=`
|
|
11305
11305
|
<!-- stx PWA Meta Tags -->
|
|
11306
11306
|
<link rel="manifest" href="/manifest.json">
|
|
11307
|
-
<meta name="theme-color" content="${
|
|
11307
|
+
<meta name="theme-color" content="${V6(Y?.themeColor||"#000000")}">
|
|
11308
11308
|
<meta name="mobile-web-app-capable" content="yes">
|
|
11309
11309
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
11310
11310
|
<meta name="apple-mobile-web-app-status-bar-style" content="default">
|
|
11311
|
-
<meta name="apple-mobile-web-app-title" content="${
|
|
11311
|
+
<meta name="apple-mobile-web-app-title" content="${V6(Y?.shortName||Y?.name||"App")}">`;if(Z.icons?.generateAppleIcons!==!1)J+=`
|
|
11312
11312
|
<link rel="apple-touch-icon" href="${X}/apple-touch-icon.png">
|
|
11313
11313
|
<link rel="apple-touch-icon" sizes="120x120" href="${X}/apple-touch-icon-120x120.png">
|
|
11314
11314
|
<link rel="apple-touch-icon" sizes="152x152" href="${X}/apple-touch-icon-152x152.png">
|
|
@@ -11345,12 +11345,12 @@ if ('serviceWorker' in navigator) {
|
|
|
11345
11345
|
});
|
|
11346
11346
|
}
|
|
11347
11347
|
</script>
|
|
11348
|
-
<!-- End stx PWA -->`,J}function
|
|
11349
|
-
`+$.slice(Q)}return $+
|
|
11350
|
-
</head>`)}function
|
|
11348
|
+
<!-- End stx PWA -->`,J}function XB($,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=P4(Z);return $.slice(0,Q)+J+`
|
|
11349
|
+
`+$.slice(Q)}return $+P4(Z)}let X=P4(Z);return $.replace("</head>",`${X}
|
|
11350
|
+
</head>`)}function JB($){if(!$.pwa?.enabled)return"";return`<script>
|
|
11351
11351
|
if ('serviceWorker' in navigator) {
|
|
11352
11352
|
window.addEventListener('load', function() {
|
|
11353
|
-
navigator.serviceWorker.register('/${
|
|
11353
|
+
navigator.serviceWorker.register('/${F6($)}')
|
|
11354
11354
|
.then(function(registration) {
|
|
11355
11355
|
console.log('[PWA] Service Worker registered:', registration.scope);
|
|
11356
11356
|
})
|
|
@@ -11359,43 +11359,43 @@ if ('serviceWorker' in navigator) {
|
|
|
11359
11359
|
});
|
|
11360
11360
|
});
|
|
11361
11361
|
}
|
|
11362
|
-
</script>`}function
|
|
11362
|
+
</script>`}function QB(){return'<link rel="manifest" href="/manifest.json">'}function GB($){return`<meta name="theme-color" content="${V6($)}">`}function V6($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var YJ=k(()=>{$J()});import C0 from"path";import{deriveLayoutGroup as KB}from"stx-router/layout-metadata";function XJ($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function qB($,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(`
|
|
11363
11363
|
`,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===`
|
|
11364
11364
|
`){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]===`
|
|
11365
|
-
`)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
|
|
11365
|
+
`)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 C4($,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 JJ($){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 WB($){let Z=C4($,"data-stx-runtime");if(!Z)return $;let Y=JJ($);if(Y===-1||Y===Z.start)return $;let X=$.slice(Z.start,Z.end),Q=$.slice(0,Z.start)+$.slice(Z.end),J=JJ(Q);if(J===-1)return X+`
|
|
11366
11366
|
`+Q;return Q.slice(0,J)+X+`
|
|
11367
|
-
`+Q.slice(J)}async function
|
|
11368
|
-
`),...W.htmlAttrs&&{htmlAttrs:{...K.htmlAttrs||{},...W.htmlAttrs}},...W.bodyAttrs&&{bodyAttrs:{...K.bodyAttrs||{},...W.bodyAttrs}}},L=
|
|
11369
|
-
<meta name="stx-layout" content="${
|
|
11370
|
-
<meta name="stx-layout-group" content="${
|
|
11371
|
-
`+U+G.slice(z.end)}}catch{}if(J)try{let{getComposableScript:K}=await Promise.resolve().then(() => (
|
|
11372
|
-
`+U+G.slice(z.end)}}catch{}if(J&&Z.__stx_inject_css!==!1)G=await
|
|
11367
|
+
`+Q.slice(J)}async function L0($,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||!t5()&&!g$())&&Y&&Y.endsWith(".stx"))G3($,Y);try{return await A8.timeAsync("template-processing",async()=>{let G=await UB($,Z,Y,X,Q);if(J)G=z6(G);if(J&&X.autoShell&&X.buildMode!=="compile"){let K=X.app?.head||{},W=(Z.__stx_runtime_head||null)??i7(),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(`
|
|
11368
|
+
`),...W.htmlAttrs&&{htmlAttrs:{...K.htmlAttrs||{},...W.htmlAttrs}},...W.bodyAttrs&&{bodyAttrs:{...K.bodyAttrs||{},...W.bodyAttrs}}},L=o3(G);if(G=jY(G,H),L)G=BY(G,K);let F=G.match(/<!-- stx-layout: ([^ ]+) -->/);if(F&&G.includes("<head")){let V=F[1],w=KB(V);G=G.replace("<head>",`<head>
|
|
11369
|
+
<meta name="stx-layout" content="${XJ(V)}">
|
|
11370
|
+
<meta name="stx-layout-group" content="${XJ(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=_Y(G),G=WB(G);if(J)try{let{getStoreScript:K}=await Promise.resolve().then(() => (lY(),mY)),q=X.storesDir,W=await K(q);if(W){let U=`<script data-stx-stores>${W}</script>`,z=C4(G,"data-stx-runtime");if(z)G=G.slice(0,z.end)+`
|
|
11371
|
+
`+U+G.slice(z.end)}}catch{}if(J)try{let{getComposableScript:K}=await Promise.resolve().then(() => (iY(),pY)),q=X.composablesDir,W=await K(q);if(W){let U=`<script data-stx-composables>${W}</script>`,z=C4(G,"data-stx-stores")||C4(G,"data-stx-runtime");if(z)G=G.slice(0,z.end)+`
|
|
11372
|
+
`+U+G.slice(z.end)}}catch{}if(J&&Z.__stx_inject_css!==!1)G=await b7(G);return G=G.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),G})}catch(G){if(G instanceof m$)throw G;let K=G instanceof Error?G.message:String(G),q=new h1(`Template processing failed: ${K}`,Y,void 0,void 0,$.substring(0,200)+($.length>200?"...":""));if(a0.log(q,{filePath:Y,context:Z}),u7.logDetailedError(q,{filePath:Y,template:$.substring(0,500)}),X.debug)throw q;return g7.createFallbackContent("Template Processing",q)}}async function UB($,Z,Y,X,Q){let J=process.cwd(),G={...X,partialsDir:X.partialsDir&&!C0.isAbsolute(X.partialsDir)?C0.resolve(J,X.partialsDir):X.partialsDir,componentsDir:X.componentsDir&&!C0.isAbsolute(X.componentsDir)?C0.resolve(J,X.componentsDir):X.componentsDir,layoutsDir:X.layoutsDir&&!C0.isAbsolute(X.layoutsDir)?C0.resolve(J,X.layoutsDir):X.layoutsDir},K=G,q=$;await BB(Y,Z),_B(Z,K),q=await z5(()=>d2(q,Z,Y,K),q,(O)=>{a0.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=$1(q,p5,(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=JY(q),q=await fY(q,Y,Q);let B={};q=m3(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=C0.dirname(Y),R=K.layoutsDir?C0.dirname(K.layoutsDir):process.cwd();for(let M=0;M<20;M++){let N=C0.join(A,"_layout.stx");if(await n(N)){w=N;break}let T=C0.dirname(A);if(T===A||T.length<R.length)break;A=T}if(w)H=w;else if(K.layoutsDir){let M=C0.isAbsolute(K.layoutsDir)?K.layoutsDir:C0.resolve(process.cwd(),K.layoutsDir),N=C0.join(M,`${K.defaultLayout}.stx`);if(await n(N))H=N}if(H&&!V)q=`@section('content')
|
|
11373
11373
|
${q.trim()}
|
|
11374
|
-
@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=
|
|
11374
|
+
@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=X0(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",o1);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=l3(q,B),H){let O=[],V=L1(q),w=$1(V.output,J5,(A,R)=>`\x00STX_ORPHAN_STYLE_${R}\x00`);if(q=w.output.replace(/\x00STX_(SCRIPT|ORPHAN_STYLE)_(\d+)\x00/g,(A,R,M)=>{let N=R==="SCRIPT"?V.scripts[Number(M)]:w.tokens[Number(M)];if(N)O.push(N);return""}),O.length>0){let A=O.join(`
|
|
11375
11375
|
`);j.content=j.content?`${j.content}
|
|
11376
|
-
${A}`:A,Z.__sections=j}}if(H)try{let O;if(C0.isAbsolute(H))O=H,Q.add(H);else O=await
|
|
11377
|
-
${q}`,z(q)}catch(O){return a0.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
|
|
11378
|
-
`;if(J=T(J,Z),J=I(J,Z),J=
|
|
11376
|
+
${A}`:A,Z.__sections=j}}if(H)try{let O;if(C0.isAbsolute(H))O=H,Q.add(H);else O=await z5(()=>w6(H,Y,G,Q),null,()=>{throw new h1(`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(a0.log(Error(N),{layoutPath:H,filePath:Y},"warning"),G.debug)throw new h1(N,Y);return q}let V=await z5(()=>Bun.file(O).text(),"",()=>{throw new h1(`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,P,S)=>{return N[P]=S.trim(),""});for(let[E,P]of Object.entries(N))if(j[E]&&j[E].includes(o1)){let S=j[E].indexOf(o1);j[E]=j[E].slice(0,S)+P+j[E].slice(S+o1.length)}else if(!j[E])j[E]=P;let I={...Z,__sections:j},D=`@layout('${w[1]}')${T}`;return await L0(D,I,O,G,Q)}let A=V.replace(/\{\{--[\s\S]*?--\}\}/g,""),R=m3(A,B),M={};return R=R.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(N,T,I)=>{return M[T]=I.trim(),`@slot('${T}')`}),R=R.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(N,T,I)=>{if(j[T]){let D=j[T];if(D.includes(o1)){let E=M[T]||"",P=D.indexOf(o1);D=D.slice(0,P)+E+D.slice(P+o1.length)}return D}return I||""}),R=zB(R,j),R=R.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""}),R=l3(R,B),Z.__originalFilePath=Y,q=await QJ(R,Z,O,G,Q),q=`<!-- stx-layout: ${H} -->
|
|
11377
|
+
${q}`,z(q)}catch(O){return a0.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 QJ(q,Z,Y,G,Q))}function zB($,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 _B($,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 BB($,Z){await z5(()=>t2($,Z),void 0,(Y)=>{a0.log(Y,{filePath:$,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed for ${$}: ${Y.message}`)})}async function jB($,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(() => (w5(),U4));await q(G,Z,Y,{preserveExisting:!0})}catch(q){let W=q instanceof Error?q:Error(String(q));a0.log(W,{filePath:Y,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${Y}: ${W.message}`)}}}async function HB($,Z,Y){try{let{interpolateScriptsInTemplate:X}=await Promise.resolve().then(() => (Z1(),L8));return X($,Z,{skipServer:!0})}catch(X){let Q=X instanceof Error?X:Error(String(X));return a0.log(Q,{filePath:Y,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${Y}: ${Q.message}`),$}}async function QJ($,Z,Y,X,Q){let J=$,G=X;if(await jB(J,Z,Y),J=await HB(J,Z,Y),J=await v2(J,Z,Y),J=await x2(J,Z,Y),J=await FZ(J,Z,Y,G),Q5(J))J=Q6(J,Z),J=K6(J,Z);J=G6(J);let{processStreamDirectives:K}=await Promise.resolve().then(() => (Q3(),J3));J=K(J,Z),J=g3(J,Z,Y,G),J=await W4(J,Z,Y,G,Q),J=await GY(J,Z,Y,G,Q),J=v9(J,Z,Y,G);let{processDeferDirectives:q}=await Promise.resolve().then(() => sY);J=q(J,Z,Y);let{processTeleportDirectives:W}=await Promise.resolve().then(() => rY);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(() => YX);J=_(J,Z,Y);let{processSuspenseDirectives:B}=await Promise.resolve().then(() => XX);J=B(J,Z,Y);let{processAsyncDirectives:j}=await Promise.resolve().then(() => KX);J=j(J,Z,Y);let{processKeepAliveDirectives:H}=await Promise.resolve().then(() => WX);J=H(J,Z,Y);let{processVirtualListDirectives:L,processVirtualGridDirectives:F,processInfiniteListDirectives:O}=await Promise.resolve().then(() => (HX(),jX));J=L(J,Z,Y),J=F(J,Z,Y),J=O(J,Z,Y);let{processPartialHydrationDirectives:V,processStaticDirectives:w}=await Promise.resolve().then(() => (bX(),kX));J=V(J,Z,Y),J=w(J);let{processComputedDirectives:A,processWatchDirectives:R}=await Promise.resolve().then(() => (mX(),dX));J=A(J,Z,Y),J=R(J,Z,Y);let{processFormValidationDirectives:M}=await Promise.resolve().then(() => (nX(),iX));J=M(J,Z,Y);let{processHeadDirective:N,processTitleDirective:T,processMetaDirective:I,resetHead:D}=await Promise.resolve().then(() => (Z$(),s7));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}
|
|
11378
|
+
`;if(J=T(J,Z),J=I(J,Z),J=c2(J),J=m7(J,Z),J=OZ(J),J=h2(J),J=await d3(J,Z,Y,G,Q),J=await W4(J,Z,Y,G,Q),J=J.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),J=z6(J),J=d1(J,Z,Y),J=l7(J,Z),J=c7(J,Z),J=a$(J,Z),J=DZ(J,Z),J=kZ(J,Z),J=await o8(J,Z,Y,G),J=await GJ(J,Z,Y),J=await CZ(J,Z,Y,G),J=D9(J,Z,Y,G),J=i2(J,Z,Y,G),J=n2(J,Z,Y),J=s2(J,Z,Y,G),J=BZ(J,Z,Y,G),J=W6(J,Z),J=U6(J),J=hY(J),!G.skipEventDirectives)J=m8(J,Z,Y);if(J=n8(J,Z,Y),G.debug){let c=/\bx-data\s*=/.test(J),r=k4($);if(c&&r)console.warn(`[stx] ${Y}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
|
|
11379
11379
|
Both work on the same page, but they manage separate scopes.
|
|
11380
|
-
Prefer signals (state/derived/effect) for new components.`)}J=
|
|
11380
|
+
Prefer signals (state/derived/effect) for new components.`)}J=ZY(J,Z),J=await F1(J,Z,Y),J=uY(J),J=dY(J),J=P8(J);let{processXElementDirectives:P}=await Promise.resolve().then(() => rX);J=P(J);let S=Z.__originalFilePath||Y,b=P1(Z);if(J=await q6(J,G,S,b),J=MZ(J,Z),J=await m2(J,Z,Y,G),G.media?.image?.autoSiblings){let c=G.publicDir||"public",{rewriteImagesWithSiblings:r}=await Promise.resolve().then(() => (tX(),aX));J=await r(J,{publicDir:c})}if(G.seo?.enabled)J=o2(J,Z,G);let C=(c,r,g=!0)=>{if(!r)return c;let d=r.match(/<title\b[^>]*>[\s\S]*?<\/title>/i),y=c.match(/<title\b[^>]*>[\s\S]*?<\/title>/i);if(d&&y){if(g)c=c.replace(y[0],d[0]);if(r=r.replace(d[0],"").trim(),!r)return c}if(/<\/head>/i.test(c))return c.replace(/<\/head>/i,`${r}
|
|
11381
11381
|
</head>`);if(/<head\b[^>]*>/i.test(c))return c.replace(/(<head\b[^>]*>)/i,`$1
|
|
11382
11382
|
${r}`);if(/<html\b[^>]*>/i.test(c))return c.replace(/(<html\b[^>]*>)/i,`$1
|
|
11383
11383
|
<head>
|
|
11384
11384
|
${r}
|
|
11385
|
-
</head>`);return c},{renderHead:h,getHead:x}=await Promise.resolve().then(() => (
|
|
11386
|
-
${
|
|
11385
|
+
</head>`);return c},{renderHead:h,getHead:x}=await Promise.resolve().then(() => (Z$(),s7)),$0=Z.__stx_runtime_head??x();if($0.title||$0.meta?.length||$0.link?.length){let c=h($0);if(c)J=C(J,c)}if(E.headContent)J=C(J,E.headContent,!$0.title);if(G.csp?.enabled&&G.csp.addMetaTag)J=zZ(J,G.csp,Z);if(G.analytics?.enabled)J=v8(J,G);if(G.heatmap?.enabled)J=u9(J,G);if(G.pwa?.enabled&&G.pwa.autoInject!==!1){let{injectPwaTags:c}=await Promise.resolve().then(() => (YJ(),ZJ));J=c(J,G)}let G0=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(J),Q1=/\bSTX\.\w+/.test(J),h0=/window\.STX\s*=/.test(J);if(G0&&Q1&&!h0){let r=`<script data-stx-scoped>
|
|
11386
|
+
${k8()}
|
|
11387
11387
|
</script>`;if(J.includes("</head>")){let g=J.indexOf("</head>"),y=J.slice(0,g).indexOf("<script");if(y!==-1){let v=J.slice(0,y),m=J.slice(y);J=v+r+`
|
|
11388
11388
|
`+m}else J=J.replace("</head>",`${r}
|
|
11389
11389
|
</head>`)}else if(J.includes("<body"))J=J.replace(/<body([^>]*)>/,`<body$1>
|
|
11390
11390
|
${r}`);else J=r+`
|
|
11391
|
-
`+J}{let{scanScriptTags:c}=await Promise.resolve().then(() => (
|
|
11392
|
-
`)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
|
|
11391
|
+
`+J}{let{scanScriptTags:c}=await Promise.resolve().then(() => (H$(),b4)),r=[];for(let g of c(J)){if(!/\bserver\b/i.test(g.attrs))continue;let d=g.start+g.fullMatch.indexOf(">")+1,y=qB(J,d);if(y===-1)continue;let v=y+9;while(v<J.length&&/\s/.test(J[v]))v++;r.push({start:g.start,end:v})}for(let g=r.length-1;g>=0;g--){let{start:d,end:y}=r[g];J=J.substring(0,d)+J.substring(y)}}let T0=H4(J,Y);if(T0.hasScoped)J=T0.html;let Q0=Z.__stx_event_bindings||[],R0=!1,i0=[],G1=/\s:[a-z][\w.-]*\s*=/.test(J),{scanScriptTags:D1}=await Promise.resolve().then(() => (H$(),b4));for(let c of D1(J,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))i0.push({match:c.fullMatch,attrs:c.attrs,content:c.body});for(let{match:c,attrs:r,content:g}of i0){R0=!0;let d=g;B6(g,Y,X.strict);let y=await C1(g,{eventBindings:Q0,attrs:r,hasColonDirectives:G1,templateContent:$,filePath:Y,projectRoot:process.cwd(),production:X.buildMode==="compile",serverData:b});J=J.replace(c,()=>y)}if(R0)Z.__stx_event_bindings=[];if(G.csp?.enabled&&G.csp.useNonce&&typeof Z.cspNonce==="string")J=_Z(J,Z.cspNonce);return J}var o1="<!--PARENT_CONTENT_PLACEHOLDER-->";var $4=k(()=>{S7();f1();H7();b8();C8();x8();F7();O7();l8();X5();s8();r8();i$();jZ();LZ();wZ();NZ();U1();Z$();Z1();bZ();vZ();C2();g2();h3();A6();l2();W5();p2();p3();V0();e2();YY();QY();KY();s3();H$();v3();gY();_6();j6();O0();K3();_6();j6()});var KJ=()=>{};var R6={};e(R6,{renderSlot:()=>WJ,processSlots:()=>zJ,parseSlots:()=>qJ,parseSlotElement:()=>wB,extractSlotContent:()=>MB,applySlots:()=>NB});function OB($,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 FB($,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 VB($){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=FB($,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=OB($,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)&&!LB.has(U)){if(Y.push(U),U==="script"||U==="style"){let _=$.toLowerCase().indexOf(`</${U}>`,G);if(_!==-1){Q=_;continue}}}Q=G}return Z}function qJ($){let Z={default:"",named:new Map},Y=$,X=VB($);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 wB($){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 WJ($,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=AB(Q,G)}return Q}function AB($,Z){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Y,X)=>{try{let Q=X.trim(),J=UJ(Q,Z);return o0(String(J??""))}catch{return`{{ ${X} }}`}})}function UJ($,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(!K0($))return;return q0($,Object.keys(Z))(...Object.values(Z))}catch{return}}async function zJ($,Z,Y){let X=$;X=await RB(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]=UJ(F,Y)}return await WJ(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 RB($,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 MB($){let Z=qJ($);return{defaultSlot:Z.default,namedSlots:Z.named}}async function NB($,Z,Y,X){return await zJ($,{default:Z,named:Y},X)}var LB;var M6=k(()=>{Z1();O0();LB=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});import TB from"fs";import f from"path";function _J($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function EB($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function v1($){return!EB($)}function x1($){try{let Z=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");Z=Z.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");let Y=[];Z=Z.replace(/\{!![\s\S]*?!!\}/g,(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:m0()}).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 DB($){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]!==`
|
|
11392
|
+
`)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 kB($){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 bB($){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 SB($,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 kB(K)){let W=q.trim();if(!W||W.startsWith("..."))continue;let U=bB(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 K4($,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"?f.resolve(Q.root):void 0,z=U??f.dirname(X),_=[],B=(L)=>{if(L&&!_.includes(L))_.push(L)},j=Y.__originalFilePath;if(j)B(f.join(f.dirname(j),"components"));B(Z),B(Q._rootComponentsDir),B(f.join(f.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(f.resolve(U,"resources/views/components")),B(f.resolve(U,"resources/components")),B(f.resolve(U,"src/components")),B(f.resolve(U,"components"));if(J.startsWith("./")||J.startsWith("../"))return n(f.resolve(f.dirname(X),`${J}.stx`));for(let L of _){let F=f.isAbsolute(L)?L:f.resolve(z,L);for(let O of W)if(await n(f.join(F,O)))return!0}return!1}function yB($){return $==="visible"||$==="idle"||$==="interaction"||$.startsWith("media:")}function PB($){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 CB($){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 p1($,Z,Y,X,Q,J,G,K=new Set,q){let{extractVariables:W}=await Promise.resolve().then(() => (w5(),U4)),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"&&yB(_)?_:"";try{let j=(g)=>g.split("-").map((d)=>d.charAt(0).toUpperCase()+d.slice(1)).join(""),H=(g)=>g.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),L=$.endsWith(".stx")?$.slice(0,-4):$,F=null,O=Q.__importedComponents;if(O){let g=[L,L.toLowerCase(),j(L),H(L)];for(let d of g)if(O.has(d)){F=O.get(d);break}}let V=[];if(!F){let g=[`${L}.stx`,`${j(L)}.stx`,`${H(L)}.stx`],d=[...new Set(g)],y=Q.__originalFilePath,v=[];if(y){let z0=f.join(f.dirname(y),"components");v.push(z0)}if(X)v.push(X);let m=G._rootComponentsDir;if(typeof m==="string"&&!v.includes(m))v.push(m);let i=f.join(f.dirname(J),"components");if(!v.includes(i))v.push(i);if(G.componentsDir&&G.componentsDir!==X&&!v.includes(G.componentsDir))v.push(G.componentsDir);let W0=G._pluginComponentDirs;if(Array.isArray(W0)){for(let z0 of W0)if(typeof z0==="string"&&!v.includes(z0))v.push(z0)}let B0=typeof G.root==="string"?f.resolve(G.root):void 0,I0=B0??f.dirname(J),u0=[];if(B0)u0.push(f.resolve(B0,"resources/views/components")),u0.push(f.resolve(B0,"resources/components")),u0.push(f.resolve(B0,"src/components")),u0.push(f.resolve(B0,"components"));u0.push(f.resolve(import.meta.dir,"components"));for(let z0 of u0)if(!v.includes(z0))v.push(z0);let R$=[...new Set(v.map((z0)=>{if(!z0)return z0;return f.isAbsolute(z0)?z0:f.resolve(I0,z0)}))];if(v.length=0,v.push(...R$),L.startsWith("./")||L.startsWith("../"))F=f.resolve(f.dirname(J),`${L}.stx`),V.push(F);else for(let z0 of v){if(!z0)continue;for(let j1 of d){let n0=f.join(z0,j1);if(V.push(n0),await n(n0)){F=n0;break}}if(F)break;if(!F)try{let j1=await import("fs");if(!j1.statSync(z0,{throwIfNoEntry:!1})?.isDirectory())continue;let k1=8,b1=[{path:z0,depth:0}];while(b1.length>0&&!F){let d0=b1.pop();if(d0.depth>=k1)continue;let a;try{a=j1.readdirSync(d0.path,{withFileTypes:!0})}catch{continue}for(let e0 of a){if(!e0.isDirectory())continue;if(e0.name==="node_modules"||e0.name.startsWith("."))continue;let W7=f.join(d0.path,e0.name);for(let TQ of d){let U7=f.join(W7,TQ);if(V.push(U7),await n(U7)){F=U7;break}}if(F)break;b1.push({path:W7,depth:d0.depth+1})}}}catch{}if(F)break}}if(!F||!await n(F)){let g=V.length>0?`
|
|
11393
11393
|
Searched paths:
|
|
11394
11394
|
${V.map((d)=>` - ${d}`).join(`
|
|
11395
|
-
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${g}`}q.add(F);let w;if(
|
|
11396
|
-
`)}`}if(Y&&G0.includes("{{ text || slot }}"))G0=G0.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Y);let{applySlots:Q1}=await Promise.resolve().then(() => (
|
|
11395
|
+
`)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${g}`}q.add(F);let w;if(v4.has(F))w=v4.get(F);else try{w=await Bun.file(F).text(),v4.set(F,w)}catch(g){return`[Error loading component: ${g instanceof Error?g.message:String(g)}]`}let A=new Set(["__originalFilePath","__importedComponents"]),R={};for(let[g,d]of Object.entries(Q))if(!g.startsWith("__")||A.has(g))R[g]=d;let{extractSlotContent:M}=await Promise.resolve().then(() => (M6(),R6)),N=M(Y),T={};if(N.defaultSlot?.trim())T.default=N.defaultSlot;for(let[g,d]of N.namedSlots)T[g]=d.content;let I={...R,...Z,props:Z,slot:Y,$slots:T,__processedComponents:z,__sections:{},...PB(Y)&&{__stx_force_signals:!0}};SB(w,I);let D=w,E=B5(D);if(E)D=E.content.trim();let P=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,S=[...w.matchAll(P)],b=[];for(let g of S){let d=g[1]||"",y=g[2]||"",v=d.includes("server");if(v1(d)&&y.trim())y=x1(y);if(v&&y)try{await W(y,I,F)}catch(i){}if(!v){let i=y.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,""),W0=i.includes("{{")&&i.includes("}}"),B0=i.includes("{!!")&&i.includes("!!}");if(W0||B0)i=y$(i,I);let I0=d.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");b.push(`<script${I0}>${i}</script>`)}}let C=w.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),h=C?C[1]:"",x=C?C[2]:"",l="",$0=h&&/\bscoped\b/i.test(h);if(C)l=`<style${h}>${x}</style>`;let G0=D;if(G0=G0.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),C)G0=G0.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let g=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,d=[];if(G0=G0.replace(g,(y,v)=>{let m=v.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(m)d.push(`<style${m[1]}>${m[2]}</style>`);return""}),G0=G0.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),d.length>0)l=`${l}${d.join(`
|
|
11396
|
+
`)}`}if(Y&&G0.includes("{{ text || slot }}"))G0=G0.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Y);let{applySlots:Q1}=await Promise.resolve().then(() => (M6(),R6)),{defaultSlot:h0,namedSlots:T0}=N;G0=await Q1(G0,h0,T0,I);for(let[g,d]of Object.entries(I))if(typeof d==="string"){if(d.includes("<")&&d.includes(">")||d.includes("<")||d.includes(""")){let y=M7(d);I[g]=y}}let Q0=b.some((g)=>/\b(?:state|derived|effect|ref|reactive|computed|watch|watchEffect|useReactiveProp|defineProps|withDefaults|defineEmits|defineExpose|defineSlots)\s*(?:<[^<>()]*>)?\s*\(/.test(g)),R0=CB(b);if(R0.length>0)I.__stx_client_signal_names=R0;let i0={...G,_rootComponentsDir:G._rootComponentsDir||G.componentsDir,componentsDir:f.dirname(F),skipSignalsRuntime:!0,skipEventDirectives:Q0||b.length===0,defaultLayout:void 0};I.__stxProcessingDepth=(Q.__stxProcessingDepth||0)+1;let G1=await L0(G0,I,F,i0,q),D1=new Set(Array.isArray(Q.__stx_preserved_client_expressions)?Q.__stx_preserved_client_expressions:[]);for(let g of G1.matchAll(/\{\{([\s\S]*?)\}\}/g))D1.add(g[1].trim());if(D1.size>0)Q.__stx_preserved_client_expressions=[...D1];let c=`stx_${L.replace(/[^a-zA-Z0-9]/g,"_")}_${++IB}_${Math.random().toString(36).slice(2,8)}`,r=G1;if(Q0){let g="";if(Object.keys(Z).length>0)try{g=` data-stx-props="${_J(JSON.stringify(Z))}"`}catch{}let d=B?` stx-hydrate="${_J(B)}"`:"";r=`<div data-stx-scope="${c}"${g}${d}>${G1}</div>`;let y=await Promise.all(b.map(async(v)=>{let m=v.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!m)return v;let[,i,W0]=m,B0=I$(W0,{filePath:F,projectRoot:process.cwd()}),I0=B0.code,u0=E$(B0.styles);I0=Y5(I0).code;let{hasUserImports:R$,bundleClientScript:z0}=await Promise.resolve().then(() => (l5(),m5));if(R$(I0))I0=await z0(I0,F,{projectRoot:process.cwd(),minify:G.buildMode==="compile"});let{rewriteStxImportSpecifiers:j1}=await Promise.resolve().then(() => (H$(),b4));I0=I0.replace(/^\s*import\s+(?:type\s+)?\{([^}]*)\}\s+from\s+['"](?:stx|@stacksjs\/stx|@stacksjs\/browser)['"]\s*;?\s*$/gm,(d0,a)=>j1(a));let n0=s0(I0),k1=DB(n0),b1=`
|
|
11397
11397
|
(function() {
|
|
11398
|
-
${
|
|
11398
|
+
${G5("const",[...F8,...k1],n0)}
|
|
11399
11399
|
const __scope = window.stx._scopes = window.stx._scopes || {};
|
|
11400
11400
|
const __scopeVars = __scope['${c}'] = __scope['${c}'] || {};
|
|
11401
11401
|
const __previousCurrentElement = window.__STX_CURRENT_ELEMENT__;
|
|
@@ -11426,11 +11426,11 @@ finally {
|
|
|
11426
11426
|
`+y.join(`
|
|
11427
11427
|
`),l)r+=`
|
|
11428
11428
|
`+l}else{if(l)r+=`
|
|
11429
|
-
`+l;if(
|
|
11429
|
+
`+l;if(b.length>0){let g=I.__stx_event_bindings||[],d=P1(I),y=await Promise.all(b.map(async(v)=>{let m=v.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!m)return v;return await C1(m[1],{eventBindings:g,templateContent:r,filePath:F,projectRoot:process.cwd(),serverData:d})}));r+=`
|
|
11430
11430
|
`+y.join(`
|
|
11431
|
-
`),I.__stx_event_bindings=[]}}if($0){let g=
|
|
11431
|
+
`),I.__stx_event_bindings=[]}}if($0){let g=H4(r,F);if(g.hasScoped)r=g.html}return r}catch(j){return`[Error processing component: ${j instanceof Error?j.message:String(j)}]`}finally{U.delete($)}}async function n($){return Bun.file($).exists()}function N6($,Z){let Y=f.resolve(Z),X=f.resolve($),Q=Y.endsWith(f.sep)?Y:Y+f.sep;if(X===Y||X.startsWith(Q))return X;return null}async function w6($,Z,Y,X){let Q=await vB($,Z,Y,X);if(Q===null)return null;let J=N6(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=f.isAbsolute(K)?K:f.resolve(process.cwd(),K);if(N6(Q,q))return f.resolve(Q)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${Q} (template: ${$}, from: ${Z})`),null}async function vB($,Z,Y,X){if(Y.debug)console.log(`Resolving template path: ${$} from ${Z}`);let Q=f.dirname(Z),J=process.cwd();if($.startsWith("/")){let _=f.join(J,$),B=N6(_,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 n(B)&&X)X.add(B);return B}let G=f.join(Q,$);if(await n(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 n(B)){if(Y.debug)console.log(`Found direct path with extension: ${B}`);if(X)X.add(B);return B}}let K="",q=f.resolve(Q),W=process.cwd();for(let _=0;_<10;_++){let B=f.join(q,"layouts"),j=!1;try{j=TB.statSync(B,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(j){K=B;break}let H=f.dirname(q);if(H===q||H.length<W.length)break;q=H}if(K){let _=$.startsWith("layouts/")?$.slice(8):$,B=f.join(K,_);if(await n(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 n(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 _=f.isAbsolute(Y.layoutsDir)?Y.layoutsDir:f.resolve(process.cwd(),Y.layoutsDir),B=$.startsWith("layouts/")?$.slice(8):$,j=f.join(_,B);if(await n(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 n(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=f.join(Y.partialsDir||Q,"layouts",_[1]);if(await n(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 n(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=f.join(Y.partialsDir,"layouts"),await n(K)){let _=f.join(K,$);if(await n(_)){if(Y.debug)console.log(`Found in partials layouts dir: ${_}`);if(X)X.add(_);return _}if(!$.endsWith(".stx")){let B=`${_}.stx`;if(await n(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||f.join(process.cwd(),"views"),z=f.join(U,$);if(await n(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 n(_)){if(Y.debug)console.log(`Found in views path with extension: ${_}`);if(X)X.add(_);return _}}if(Q.includes("temp")){let _=f.join(f.dirname(Q),"layouts",$);if(await n(_)){if(Y.debug)console.log(`Found in temp layouts dir: ${_}`);if(X)X.add(_);return _}if(!$.endsWith(".stx")){let B=`${_}.stx`;if(await n(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 BJ($,Z,Y){let X=0,Q="",J="";try{if(typeof Z==="number"&&Z>=0){let G=$.split(`
|
|
11432
11432
|
`),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(`
|
|
11433
|
-
`);break}}else if(Y){let G=$.indexOf(Y);if(G>=0)return
|
|
11433
|
+
`);break}}else if(Y){let G=$.indexOf(Y);if(G>=0)return BJ($,G)}}catch{}return{lineNumber:X,lineContent:Q,context:J}}function U0($,Z,Y,X,Q,J){let{lineNumber:G,context:K}=BJ(X,Q,J),q=Y.split("/").pop(),W=0;if(typeof Q==="number"&&Q>=0&&X){let z=X.lastIndexOf(`
|
|
11434
11434
|
`,Math.max(0,Q-1));W=Q-(z+1)+1}let U="";if(G>0)U+=`
|
|
11435
11435
|
${Y}:${G}${W>0?`:${W}`:""}: ${$.toLowerCase()} error: ${Z}
|
|
11436
11436
|
`;if(U+=`
|
|
@@ -11443,8 +11443,8 @@ ${Y0.yellow}${Y0.bold}Message:${Y0.reset} ${Z}
|
|
|
11443
11443
|
`,K)U+=`
|
|
11444
11444
|
${Y0.blue}${Y0.bold}Context:${Y0.reset}
|
|
11445
11445
|
${Y0.dim}${K}${Y0.reset}
|
|
11446
|
-
`;return U}function
|
|
11447
|
-
`||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=
|
|
11446
|
+
`;return U}function AY(){v4.clear()}var v4,IB=0,Y0;var V0=k(()=>{X5();Z1();o5();W5();$4();S1();s3();t$();KJ();w5();v4=new r5(500);Y0={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 GJ($,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===`
|
|
11447
|
+
`||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=f5(W.trim(),_);X=X.split(K).join(B)}catch(z){let _=z instanceof Error?z.message:String(z),B=U0("Markdown Directive",`Error processing markdown: ${_}`,Y,$,U,K);X=X.split(K).join(B)}return X}async function jJ($,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}),f5($.trim(),Q)}var A6=k(()=>{V0()});function gB($){if(xB.set($.name,$),$.client)fB.set($.name,$.client)}function x4($){return gB($),{name:$.name,hasEndTag:$.hasEndTag??!0,description:$.description,handler:async(Y,X,Q,J)=>{let G=hB(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 hB($,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 xB,fB;var T6=k(()=>{xB=new Map,fB=new Map});function I6($,Z=b5,Y={},X){return Z.sort((Q,J)=>Q-J).map((Q)=>{return`${w$($,{...Y,w:Q,fm:X})} ${Q}w`}).join(", ")}function HJ($,Z,Y=uB,X={},Q){return Y.sort((J,G)=>J-G).map((J)=>{let G=Math.round(Z*J);return`${w$($,{...X,w:G,dpr:J,fm:Q})} ${J}x`}).join(", ")}function E6($,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 w$($,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 D6($){return dB[$]||"application/octet-stream"}var b5,uB,V$,dB;var k6=k(()=>{b5=[320,480,640,768,1024,1280,1536,1920,2560],uB=[1,1.5,2,3],V$=["avif","webp","jpeg"],dB={avif:"image/avif",webp:"image/webp",jpeg:"image/jpeg",png:"image/png",gif:"image/gif"}});async function lB(){try{return await import("ts-images")}catch{return null}}async function cB($,Z={}){let Y={...mB,...Z},X=await lB();if(X)try{return await pB($,Y,X)}catch(Q){console.warn(`[stx-media] ts-images placeholder generation failed, using fallback: ${Q}`)}return iB($,Y)}async function pB($,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 iB($,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 OJ($,Z,Y={}){let X=Y.transitionDuration||300,Q=Y.easing||"ease-out";return`
|
|
11448
11448
|
#${$} {
|
|
11449
11449
|
--stx-img-transition-duration: ${X}ms;
|
|
11450
11450
|
--stx-img-transition-easing: ${Q};
|
|
@@ -11461,7 +11461,7 @@ ${Y0.dim}${K}${Y0.reset}
|
|
|
11461
11461
|
#${$}.stx-img-loaded img {
|
|
11462
11462
|
opacity: 1;
|
|
11463
11463
|
}
|
|
11464
|
-
`.trim()}async function
|
|
11464
|
+
`.trim()}async function LJ($,Z={}){let Y=`${$}:${JSON.stringify(Z)}`;if(b6.has(Y))return b6.get(Y);let X=await cB($,Z);return b6.set(Y,X),X}var mB,S6,b6;var FJ=k(()=>{mB={strategy:"thumbhash",width:20,quality:50,blurLevel:40,transitionDuration:300,easing:"ease-out"},S6=`
|
|
11465
11465
|
.stx-img-placeholder {
|
|
11466
11466
|
position: relative;
|
|
11467
11467
|
overflow: hidden;
|
|
@@ -11490,8 +11490,8 @@ ${Y0.dim}${K}${Y0.reset}
|
|
|
11490
11490
|
filter: blur(0);
|
|
11491
11491
|
transform: scale(1);
|
|
11492
11492
|
}
|
|
11493
|
-
`.trim();k6=new Map});import{createHash as jJ}from"crypto";import{readFile as xB,stat as HJ}from"fs/promises";async function k0($){try{let Z=await xB($);return jJ("sha256").update(Z).digest("hex").slice(0,16)}catch{return""}}function BJ($){return jJ("sha256").update($).digest("hex").slice(0,16)}function x4($,Z){let Y=JSON.stringify(Z,Object.keys(Z).sort());return`${BJ($)}-${BJ(Y)}`}async function S6($){try{return(await HJ($)).mtimeMs}catch{return 0}}async function N0($){try{return await HJ($),!0}catch{return!1}}var o1=()=>{};import{mkdir as fB,readFile as gB,writeFile as hB,readdir as CR,rm as uB,stat as vR}from"fs/promises";import{join as LJ,dirname as dB}from"path";async function mB($){try{await fB($,{recursive:!0})}catch{}}function FJ($,Z,Y){return LJ($,Y,`${Z}.json`)}async function OJ($,Z,Y){if((Date.now()-$.createdAt)/86400000>Y)return!1;if(await S6(Z)!==$.srcMtime)return!1;return!0}async function f4($,Z,Y,X=y6){if(!X.enabled)return null;let Q=x4($,Z),J=b5.get(Q);if(J){if(await OJ(J,$,X.maxAge))return J.lastAccessedAt=Date.now(),J.data;b5.delete(Q)}let G=FJ(X.directory,Q,Y);if(await N0(G))try{let K=await gB(G,"utf-8"),q=JSON.parse(K);if(await OJ(q,$,X.maxAge))return q.lastAccessedAt=Date.now(),b5.set(Q,q),q.data}catch{}return null}async function g4($,Z,Y,X,Q=y6){if(!Q.enabled)return;let J=x4($,Z),G=await k0($),K=await S6($),q={key:J,src:$,srcHash:G,srcMtime:K,optionsHash:x4("",Z),data:Y,createdAt:Date.now(),lastAccessedAt:Date.now()};b5.set(J,q);let W=FJ(Q.directory,J,X);try{await mB(dB(W)),await hB(W,JSON.stringify(q,null,2))}catch(U){console.warn(`[stx-media] Failed to write cache: ${U}`)}}async function h4($,Z=y6){if($==="all")b5.clear();else b5.clear();let Y=$==="all"?["image","video"]:[$];for(let X of Y){let Q=LJ(Z.directory,X);try{await uB(Q,{recursive:!0,force:!0})}catch{}}}var b5,y6;var P6=b(()=>{o1();b5=new Map,y6={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class d4{config;constructor($={}){this.config={...lB,...$}}async get($,Z){return f4($,Z,"image",this.config)}async set($,Z,Y){return g4($,Z,Y,"image",this.config)}async clear(){return h4("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function C6($){if(!u4)u4=new d4($);else if($)u4.updateConfig($);return u4}async function m4($,Z,Y){let X=Y?{directory:`${Y.outputDir}/../.cache`}:{};return C6(X).get($,Z)}async function l4($,Z,Y,X){let Q=X?{directory:`${X.outputDir}/../.cache`}:{};return C6(Q).set($,Z,Y)}async function VJ(){return C6().clear()}var lB,u4=null;var v6=b(()=>{P6();lB={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as cB,basename as pB,extname as iB,join as nB}from"path";import{mkdir as sB}from"fs/promises";async function x6(){try{return await import("ts-images")}catch{return null}}function wJ($){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 oB($,Z){let Y=Z?wJ(Z):wJ("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 AJ($,Z,Y){let X=await x6();if(!X)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let Q=await m4($,Z,Y);if(Q)return Q;try{let J=cB($);if(!await N0(J))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let G=oB(Y,Z.preset),K=Y.outputDir||"dist/images",q=Y.baseUrl||"/images";await sB(K,{recursive:!0});let W=await k0(J),U=pB($,iB($)),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 f6(J,Z.transformations,X);for(let j of z){let H=G[j]||{},L=`${U}-${W}.${j}`,F=nB(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 l4($,Z,_,Y),_}catch(J){return{src:$,processed:!1,errors:[`Processing failed: ${J}`]}}}async function RJ($,Z,Y,X){let Q=await x6();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 f6($,Z,Y){let X=Y||await x6();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 MJ=b(()=>{o1();v6()});import{resolve as rB,basename as aB,extname as tB,join as eB}from"path";import{mkdir as $j}from"fs/promises";async function Zj(){try{return await import("ts-images")}catch{return null}}async function NJ($,Z,Y){let X=await Zj();if(!X)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let Q=rB($);if(!await N0(Q))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let J=Z.responsiveWidths||Y.breakpoints||Yj,G=Z.formats||Y.defaultFormats||["avif","webp","jpeg"],K=Y.outputDir||"dist/images",q=Y.baseUrl||"/images";await $j(K,{recursive:!0});let W=await k0(Q),U=aB($,tB($)),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=eB(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||Xj(J),_}catch(J){return console.error(`[stx-media] Responsive generation failed: ${J}`),null}}function Xj($){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 TJ($,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 Yj;var IJ=b(()=>{o1();Yj=[320,480,640,768,1024,1280,1536,1920]});var EJ={};e(EJ,{setCachedImageResult:()=>l4,processImage:()=>AJ,optimizeImage:()=>RJ,getCachedImageResult:()=>m4,generateSrcset:()=>TJ,generateResponsiveVariants:()=>NJ,clearImageCache:()=>VJ,applyTransformations:()=>f6,ImageProcessorCache:()=>d4});var DJ=b(()=>{MJ();IJ();v6()});async function Jj(){try{return await Promise.resolve().then(() => (DJ(),EJ))}catch($){if(!kJ)console.warn("[stx-media] Image processor not available, some features disabled:",$),kJ=!0;return null}}async function c4($,Z={}){let Y=Z,X=$;if(X.process&&!X.skipOptimization){if(Y.tsImagesConfig?.enabled&&!Y.isDev)return qj(X,Y)}if(Y.processedResult?.processed)return d6($,Y.processedResult,Z);if(Y.responsiveVariants)return PJ($,Y.responsiveVariants,Z);let{src:Q,alt:J,width:G,height:K,sizes:q,widths:W=k5,dpr:U,formats:z=F$,quality:_=g6,params:B={},placeholder:j="none",placeholderOptions:H={},lazy:L=!0,priority:F=!1,loading:O=F?"eager":i4,decoding:V=p4,fetchpriority:w,objectFit:A,objectPosition:R,crossorigin:M,referrerpolicy:N}=$,T=$.class,I=$.style,D=$.id,E=$.data||{},{isDev:P=!1,baseUrl:S=""}=Z;if(P&&!Z.optimize)return Kj($);let k,C,h=D||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!F)try{k=await zJ(Q,{strategy:j,...H}),C=UJ(h,k,H)}catch{}let x=U!==void 0&&G!==void 0,l;if(x)l=Gj($,h,k,Z);else l=await Qj($,h,k,Z);let $0;if(F){let h0=z.includes("webp")?"webp":z[0],T0=T6(Q,W,{...B,q:_},h0),J0=typeof q==="object"?I6(q):q||"100vw";$0=`<link rel="preload" as="image" imagesrcset="${T0}" imagesizes="${J0}" />`}let G0=[];if(!bJ&&j!=="none")G0.push(b6),bJ=!0;if(C)G0.push(C);let Q1=L?yJ(h):void 0;return{html:l,preloadLink:$0,css:G0.length>0?G0.join(`
|
|
11494
|
-
`):void 0,script:Q1}}async function
|
|
11493
|
+
`.trim();b6=new Map});import{createHash as wJ}from"crypto";import{readFile as nB,stat as AJ}from"fs/promises";async function k0($){try{let Z=await nB($);return wJ("sha256").update(Z).digest("hex").slice(0,16)}catch{return""}}function VJ($){return wJ("sha256").update($).digest("hex").slice(0,16)}function f4($,Z){let Y=JSON.stringify(Z,Object.keys(Z).sort());return`${VJ($)}-${VJ(Y)}`}async function y6($){try{return(await AJ($)).mtimeMs}catch{return 0}}async function N0($){try{return await AJ($),!0}catch{return!1}}var r1=()=>{};import{mkdir as sB,readFile as oB,writeFile as rB,readdir as sR,rm as aB,stat as oR}from"fs/promises";import{join as MJ,dirname as tB}from"path";async function eB($){try{await sB($,{recursive:!0})}catch{}}function NJ($,Z,Y){return MJ($,Y,`${Z}.json`)}async function RJ($,Z,Y){if((Date.now()-$.createdAt)/86400000>Y)return!1;if(await y6(Z)!==$.srcMtime)return!1;return!0}async function g4($,Z,Y,X=P6){if(!X.enabled)return null;let Q=f4($,Z),J=S5.get(Q);if(J){if(await RJ(J,$,X.maxAge))return J.lastAccessedAt=Date.now(),J.data;S5.delete(Q)}let G=NJ(X.directory,Q,Y);if(await N0(G))try{let K=await oB(G,"utf-8"),q=JSON.parse(K);if(await RJ(q,$,X.maxAge))return q.lastAccessedAt=Date.now(),S5.set(Q,q),q.data}catch{}return null}async function h4($,Z,Y,X,Q=P6){if(!Q.enabled)return;let J=f4($,Z),G=await k0($),K=await y6($),q={key:J,src:$,srcHash:G,srcMtime:K,optionsHash:f4("",Z),data:Y,createdAt:Date.now(),lastAccessedAt:Date.now()};S5.set(J,q);let W=NJ(Q.directory,J,X);try{await eB(tB(W)),await rB(W,JSON.stringify(q,null,2))}catch(U){console.warn(`[stx-media] Failed to write cache: ${U}`)}}async function u4($,Z=P6){if($==="all")S5.clear();else S5.clear();let Y=$==="all"?["image","video"]:[$];for(let X of Y){let Q=MJ(Z.directory,X);try{await aB(Q,{recursive:!0,force:!0})}catch{}}}var S5,P6;var C6=k(()=>{r1();S5=new Map,P6={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class m4{config;constructor($={}){this.config={...$j,...$}}async get($,Z){return g4($,Z,"image",this.config)}async set($,Z,Y){return h4($,Z,Y,"image",this.config)}async clear(){return u4("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function v6($){if(!d4)d4=new m4($);else if($)d4.updateConfig($);return d4}async function l4($,Z,Y){let X=Y?{directory:`${Y.outputDir}/../.cache`}:{};return v6(X).get($,Z)}async function c4($,Z,Y,X){let Q=X?{directory:`${X.outputDir}/../.cache`}:{};return v6(Q).set($,Z,Y)}async function TJ(){return v6().clear()}var $j,d4=null;var x6=k(()=>{C6();$j={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as Zj,basename as Yj,extname as Xj,join as Jj}from"path";import{mkdir as Qj}from"fs/promises";async function f6(){try{return await import("ts-images")}catch{return null}}function IJ($){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 Gj($,Z){let Y=Z?IJ(Z):IJ("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 EJ($,Z,Y){let X=await f6();if(!X)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let Q=await l4($,Z,Y);if(Q)return Q;try{let J=Zj($);if(!await N0(J))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let G=Gj(Y,Z.preset),K=Y.outputDir||"dist/images",q=Y.baseUrl||"/images";await Qj(K,{recursive:!0});let W=await k0(J),U=Yj($,Xj($)),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 g6(J,Z.transformations,X);for(let j of z){let H=G[j]||{},L=`${U}-${W}.${j}`,F=Jj(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 c4($,Z,_,Y),_}catch(J){return{src:$,processed:!1,errors:[`Processing failed: ${J}`]}}}async function DJ($,Z,Y,X){let Q=await f6();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 g6($,Z,Y){let X=Y||await f6();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 kJ=k(()=>{r1();x6()});import{resolve as Kj,basename as qj,extname as Wj,join as Uj}from"path";import{mkdir as zj}from"fs/promises";async function _j(){try{return await import("ts-images")}catch{return null}}async function bJ($,Z,Y){let X=await _j();if(!X)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let Q=Kj($);if(!await N0(Q))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let J=Z.responsiveWidths||Y.breakpoints||Bj,G=Z.formats||Y.defaultFormats||["avif","webp","jpeg"],K=Y.outputDir||"dist/images",q=Y.baseUrl||"/images";await zj(K,{recursive:!0});let W=await k0(Q),U=qj($,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=Uj(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||jj(J),_}catch(J){return console.error(`[stx-media] Responsive generation failed: ${J}`),null}}function jj($){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 SJ($,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 Bj;var yJ=k(()=>{r1();Bj=[320,480,640,768,1024,1280,1536,1920]});var PJ={};e(PJ,{setCachedImageResult:()=>c4,processImage:()=>EJ,optimizeImage:()=>DJ,getCachedImageResult:()=>l4,generateSrcset:()=>SJ,generateResponsiveVariants:()=>bJ,clearImageCache:()=>TJ,applyTransformations:()=>g6,ImageProcessorCache:()=>m4});var CJ=k(()=>{kJ();yJ();x6()});async function Hj(){try{return await Promise.resolve().then(() => (CJ(),PJ))}catch($){if(!vJ)console.warn("[stx-media] Image processor not available, some features disabled:",$),vJ=!0;return null}}async function p4($,Z={}){let Y=Z,X=$;if(X.process&&!X.skipOptimization){if(Y.tsImagesConfig?.enabled&&!Y.isDev)return Vj(X,Y)}if(Y.processedResult?.processed)return m6($,Y.processedResult,Z);if(Y.responsiveVariants)return hJ($,Y.responsiveVariants,Z);let{src:Q,alt:J,width:G,height:K,sizes:q,widths:W=b5,dpr:U,formats:z=V$,quality:_=h6,params:B={},placeholder:j="none",placeholderOptions:H={},lazy:L=!0,priority:F=!1,loading:O=F?"eager":n4,decoding:V=i4,fetchpriority:w,objectFit:A,objectPosition:R,crossorigin:M,referrerpolicy:N}=$,T=$.class,I=$.style,D=$.id,E=$.data||{},{isDev:P=!1,baseUrl:S=""}=Z;if(P&&!Z.optimize)return Fj($);let b,C,h=D||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!F)try{b=await LJ(Q,{strategy:j,...H}),C=OJ(h,b,H)}catch{}let x=U!==void 0&&G!==void 0,l;if(x)l=Lj($,h,b,Z);else l=await Oj($,h,b,Z);let $0;if(F){let h0=z.includes("webp")?"webp":z[0],T0=I6(Q,W,{...B,q:_},h0),Q0=typeof q==="object"?E6(q):q||"100vw";$0=`<link rel="preload" as="image" imagesrcset="${T0}" imagesizes="${Q0}" />`}let G0=[];if(!xJ&&j!=="none")G0.push(S6),xJ=!0;if(C)G0.push(C);let Q1=L?gJ(h):void 0;return{html:l,preloadLink:$0,css:G0.length>0?G0.join(`
|
|
11494
|
+
`):void 0,script:Q1}}async function Oj($,Z,Y,X){let{src:Q,alt:J,width:G,height:K,sizes:q,widths:W=b5,formats:U=V$,quality:z=h6,params:_={},lazy:B=!0,priority:j=!1,loading:H=j?"eager":n4,decoding:L=i4,fetchpriority:F,objectFit:O,objectPosition:V,crossorigin:w,referrerpolicy:A}=$,R=$.class,M=$.style,N=$.data||{},T=typeof q==="object"?E6(q):q||"100vw",I=[];for(let P of U){let S=I6(Q,W,{..._,q:z},P),b=D6(P);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=u6({src:w$(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:fJ(R,Y),style:d6(M,O,V,Y),lazy:B&&!j,data:N}),E;if(Y){let P=`background-image: url('${Y.dataURL}'); background-size: cover; background-position: center;`;E=`<div id="${Z}" class="stx-img-placeholder" style="${P}">
|
|
11495
11495
|
<picture>
|
|
11496
11496
|
${I.join(`
|
|
11497
11497
|
`)}
|
|
@@ -11501,9 +11501,9 @@ ${I.join(`
|
|
|
11501
11501
|
${I.join(`
|
|
11502
11502
|
`)}
|
|
11503
11503
|
<img ${D} />
|
|
11504
|
-
</picture>`;return E}function
|
|
11504
|
+
</picture>`;return E}function Lj($,Z,Y,X){let{src:Q,alt:J,width:G,height:K,dpr:q=[1,2,3],quality:W=h6,params:U={},lazy:z=!0,priority:_=!1,loading:B=_?"eager":n4,decoding:j=i4,fetchpriority:H,objectFit:L,objectPosition:F,crossorigin:O,referrerpolicy:V}=$,w=$.class,A=$.style,R=$.data||{},M=typeof G==="number"?G:Number.parseInt(String(G),10),N=HJ(Q,M,q,{...U,q:W}),T=u6({src:w$(Q,{...U,w:M,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:fJ(w,Y),style:d6(A,L,F,Y),lazy:z&&!_,data:R}),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}">
|
|
11505
11505
|
<img ${T} ${I} />
|
|
11506
|
-
</div>`}return`<img ${Z?`id="${Z}" `:""}${T} ${I} />`}function
|
|
11506
|
+
</div>`}return`<img ${Z?`id="${Z}" `:""}${T} ${I} />`}function Fj($){let{src:Z,alt:Y,width:X,height:Q,loading:J=n4,decoding:G=i4,fetchpriority:K,objectFit:q,objectPosition:W,crossorigin:U,referrerpolicy:z,priority:_=!1}=$,B=$.class,j=$.style,H=$.id,L=$.data||{};return{html:`<img ${u6({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:d6(j,q,W),id:H,data:L})} />`}}function u6($){let Z=[];if($.lazy)Z.push(`data-src="${t0($.src)}"`),Z.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"');else Z.push(`src="${t0($.src)}"`);if(Z.push(`alt="${t0($.alt)}"`),$.width)Z.push(`width="${$.width}"`);if($.height)Z.push(`height="${$.height}"`);if($.loading)Z.push(`loading="${$.loading}"`);if($.decoding)Z.push(`decoding="${$.decoding}"`);if($.fetchpriority)Z.push(`fetchpriority="${$.fetchpriority}"`);if($.crossorigin)Z.push(`crossorigin="${$.crossorigin}"`);if($.referrerpolicy)Z.push(`referrerpolicy="${$.referrerpolicy}"`);if($.className)Z.push(`class="${t0($.className)}"`);if($.style)Z.push(`style="${t0($.style)}"`);if($.id)Z.push(`id="${t0($.id)}"`);if($.data)for(let[Y,X]of Object.entries($.data))Z.push(`data-${Y}="${t0(X)}"`);if($.lazy)Z.push("data-stx-lazy");return Z.join(" ")}function fJ($,Z){let Y=[];if($)Y.push($);if(Z)Y.push("stx-img-blur");return Y.join(" ")||""}function d6($,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 t0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function gJ($){return`
|
|
11507
11507
|
(function() {
|
|
11508
11508
|
const container = document.getElementById('${$}');
|
|
11509
11509
|
if (!container) return;
|
|
@@ -11540,7 +11540,7 @@ ${I.join(`
|
|
|
11540
11540
|
|
|
11541
11541
|
observer.observe(container);
|
|
11542
11542
|
})();
|
|
11543
|
-
`.trim()}async function
|
|
11543
|
+
`.trim()}async function Vj($,Z){let Y=await Hj();if(!Y)return p4({...$,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 hJ($,J,Z)}else{let J=await Y.processImage($.src,$,X);if(J.processed)return m6($,J,Z)}return p4({...$,process:!1},Z)}async function m6($,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((C)=>C.format==="jpeg")||L.find((C)=>C.format==="webp")||L[0],O=F?.url||$.src,V=L.filter((C)=>C.format===(F?.format||"jpeg")).map((C)=>`${C.url} ${C.width}w`).join(", "),w=new Map;for(let C of L){if(!w.has(C.format))w.set(C.format,[]);w.get(C.format).push(C)}let A=[],R=["avif","webp","jpeg","png"];for(let C of R){let h=w.get(C);if(h&&h.length>0){let x=h.map(($0)=>`${$0.url} ${$0.width}w`).join(", "),l=D6(C);if(G&&!K)A.push(` <source type="${l}" data-srcset="${x}" />`);else A.push(` <source type="${l}" srcset="${x}" />`)}}let M=[];if(G&&!K){if(M.push(`data-src="${t0(O)}"`),M.push('src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"'),V)M.push(`data-srcset="${V}"`)}else if(M.push(`src="${t0(O)}"`),V)M.push(`srcset="${V}"`);M.push(`alt="${t0(X)}"`);let N=Q||Z.originalWidth,T=J||Z.originalHeight;if(N)M.push(`width="${N}"`);if(T)M.push(`height="${T}"`);if(!K)M.push(`loading="${G?"lazy":"eager"}"`);if(M.push('decoding="async"'),K)M.push('fetchpriority="high"');if(U)M.push(`crossorigin="${U}"`);if(z)M.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)M.push(`style="${I.join("; ")}"`);let D=[];if(_)D.push(_);if(Z.placeholder)D.push("stx-img-blur");if(D.length>0)M.push(`class="${D.join(" ")}"`);if(G&&!K)M.push("data-stx-lazy");for(let[C,h]of Object.entries(H))M.push(`data-${C}="${t0(h)}"`);let E;if(Z.placeholder||Z.dominantColor&&$.useDominantColor){let C=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="${C}">
|
|
11544
11544
|
<picture>
|
|
11545
11545
|
${A.join(`
|
|
11546
11546
|
`)}
|
|
@@ -11550,12 +11550,12 @@ ${A.join(`
|
|
|
11550
11550
|
${A.join(`
|
|
11551
11551
|
`)}
|
|
11552
11552
|
<img ${M.join(" ")} />
|
|
11553
|
-
</picture>`;let P=[];if(Z.placeholder)P.push(
|
|
11554
|
-
`):void 0,script:S}}async function
|
|
11553
|
+
</picture>`;let P=[];if(Z.placeholder)P.push(S6);let S=G?gJ(j):void 0,b;if(K&&V)b=`<link rel="preload" as="image" imagesrcset="${V}" />`;return{html:E,preloadLink:b,css:P.length>0?P.join(`
|
|
11554
|
+
`):void 0,script:S}}async function hJ($,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 m6($,X,Y)}var vJ=!1,h6=80,i4="async",n4="lazy",xJ=!1;var uJ=k(()=>{k6();FJ()});function wj(){return x4({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}=Aj($,Z,Y);if(!Q)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let K={src:Q,alt:J||"",widths:G.widths||b5,formats:G.formats||V$,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 p4(K,{isDev:q}),U=W.html;if(W.preloadLink)U=W.preloadLink+`
|
|
11555
11555
|
`+U;if(W.css)U+=`
|
|
11556
11556
|
<style>${W.css}</style>`;if(W.script)U+=`
|
|
11557
|
-
<script>${W.script}</script>`;return U},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function
|
|
11558
|
-
`)}async function
|
|
11557
|
+
<script>${W.script}</script>`;return U},defaults:{src:"",alt:"",options:{lazy:!0,placeholder:"none"}}})}function Aj($,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=Rj(X),J=l6(Q[0],Y)||"",G=l6(Q[1],Y)||"",K={};if(Q[2]){let q=l6(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 Rj($){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 l6($,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 dJ;var mJ=k(()=>{T6();uJ();k6();dJ=wj()});class o4{config;constructor($={}){this.config={...Mj,...$}}async get($,Z){return g4($,Z,"video",this.config)}async set($,Z,Y){return h4($,Z,Y,"video",this.config)}async clear(){return u4("video",this.config)}updateConfig($){this.config={...this.config,...$}}}function c6($){if(!s4)s4=new o4($);else if($)s4.updateConfig($);return s4}async function r4($,Z,Y){let X=Y?{directory:`${Y.outputDir}/../.cache`}:{};return c6(X).get($,Z)}async function a4($,Z,Y,X){let Q=X?{directory:`${X.outputDir}/../.cache`}:{};return c6(Q).set($,Z,Y)}async function lJ(){return c6().clear()}var Mj,s4=null;var p6=k(()=>{C6();Mj={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:2000,cacheTranscoded:!0,cacheThumbnails:!0,cacheManifests:!0}});import{resolve as i6,basename as n6,extname as s6,join as t4}from"path";import{mkdir as o6}from"fs/promises";async function r6(){try{return await import("ts-videos")}catch{return null}}async function e4($,Z,Y,X){let Q=await r6();if(!Q)return console.warn("[stx-media] ts-videos not installed, cannot generate poster"),null;try{let J=i6($);if(!await N0(J))return null;await o6(Y,{recursive:!0});let G=await k0(J),K=n6($,s6($)),q=Z.format||"webp",W=Z.timestamp||0,U=`${K}-poster-${G}.${q}`,z=t4(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 $7($,Z,Y,X){let Q=await r6();if(!Q)return[];try{let J=i6($);if(!await N0(J))return[];await o6(Y,{recursive:!0});let G=await k0(J),K=n6($,s6($)),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||t4(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 cJ($,Z,Y,X){let Q=await r6();if(!Q)return console.warn("[stx-media] ts-videos not installed, cannot generate sprite sheet"),null;try{let J=i6($);if(!await N0(J))return null;await o6(Y,{recursive:!0});let G=await k0(J),K=n6($,s6($)),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=t4(Y,O),w=[];for(let R=0;R<L;R++)w.push(R*_);let A=await Q.extractThumbnails(J,{timestamps:w,width:B,height:j,format:H,quality:Z.quality||70,outputDir:t4(Y,".temp")});if(!A||A.length===0)return null;try{let R=await import("ts-images"),M=z*B,N=F*j,T=await R.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 a6=k(()=>{r1()});import{resolve as iJ,basename as nJ,extname as sJ,join as a1}from"path";import{mkdir as Z7,writeFile as oJ}from"fs/promises";async function rJ(){try{return await import("ts-videos")}catch{return null}}async function Y7($,Z,Y,X,Q){let J=await rJ();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate HLS manifest"),null;try{let G=iJ($);if(!await N0(G))return null;let K=await k0(G),q=nJ($,sJ($)),W=a1(Y,`${q}-${K}-hls`);await Z7(W,{recursive:!0});let U=Z.length>0?Z:aJ,z=Q?.segmentDuration||6,j=(await new J.Input(G).getInfo()).duration||0,H=[],L=0;for(let V of U){let w=a1(W,V.label);await Z7(w,{recursive:!0});let A=`${V.label}.m3u8`,R=a1(w,A);try{let M=await J.generateHLS(G,{outputDir:w,segmentDuration:z,width:V.width,height:V.height,videoBitrate:V.bitrate,audioBitrate:V.audioBitrate,playlistName:V.label});if(M)H.push({quality:V,url:`${X}/${q}-${K}-hls/${V.label}/${A}`,path:R}),L+=M.segmentCount||Math.ceil(j/z)}catch(M){console.warn(`[stx-media] Failed to generate HLS for ${V.label}: ${M}`)}}if(H.length===0)return null;let F=a1(W,"master.m3u8"),O=Nj(H,X,q,K);return await oJ(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 Nj($,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(`
|
|
11558
|
+
`)}async function X7($,Z,Y,X,Q){let J=await rJ();if(!J)return console.warn("[stx-media] ts-videos not installed, cannot generate DASH manifest"),null;try{let G=iJ($);if(!await N0(G))return null;let K=await k0(G),q=nJ($,sJ($)),W=a1(Y,`${q}-${K}-dash`);await Z7(W,{recursive:!0});let U=Z.length>0?Z:aJ,z=Q?.segmentDuration||4,_=Q?.minBufferTime||2,H=(await new J.Input(G).getInfo()).duration||0,L=[],F=[];for(let A of U){let R=a1(W,A.label);await Z7(R,{recursive:!0});try{if(await J.generateDASH(G,{outputDir:R,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(M){console.warn(`[stx-media] Failed to generate DASH for ${A.label}: ${M}`)}}if(L.length===0)return null;let O=a1(W,"manifest.mpd"),V=Tj(L,F,H,z,_);await oJ(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 Tj($,Z,Y,X,Q){let J=pJ(Y),G=pJ(Q),K=`<?xml version="1.0" encoding="UTF-8"?>
|
|
11559
11559
|
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011"
|
|
11560
11560
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
11561
11561
|
xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd"
|
|
@@ -11581,11 +11581,11 @@ ${A.join(`
|
|
|
11581
11581
|
</Representation>
|
|
11582
11582
|
`}K+=` </AdaptationSet>
|
|
11583
11583
|
`}return K+=` </Period>
|
|
11584
|
-
</MPD>`,K}function
|
|
11584
|
+
</MPD>`,K}function pJ($){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 aJ;var t6=k(()=>{r1();aJ=[{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 tJ,basename as Ij,extname as Ej,join as Dj}from"path";import{mkdir as kj}from"fs/promises";async function eJ(){try{return await import("ts-videos")}catch{return null}}function bj($){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 Sj($){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 e6($){let Z=await eJ();if(!Z)return null;try{let Y=tJ($),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 eJ();if(!Q)return console.warn("[stx-media] ts-videos not installed, skipping processing"),{src:$,processed:!1};let J=await r4($,Z,Y);if(J)return J;try{let G=tJ($);if(!await N0(G))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let K=Y.outputDir||"dist/videos",q=Y.baseUrl||"/videos";await kj(K,{recursive:!0});let W=await k0(G),U=Ij($,Ej($)),z={src:$,processed:!0,hash:W};X?.({percentage:5,stage:"analyzing"}),z.metadata=await e6(G)||void 0;let _={};if(Z.quality)_.bitrate=bj(Z.quality);if(Z.platform)Object.assign(_,Sj(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=Dj(K,B);try{let H=await yj(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 e4(G,B,K,q);if(j)z.poster=j}if(Y.thumbnails?.enabled){X?.({percentage:70,stage:"generating-thumbnails"});let B=await $7(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 Y7(G,B.qualities||Y.streaming?.defaultQualities||[],K,q);if(j)z.streaming={...z.streaming,hls:j}}if(B.format==="dash"){let j=await X7(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 a4($,Z,z,Y),z}catch(G){return{src:$,processed:!1,errors:[`Processing failed: ${G}`]}}}async function yj($,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 ZQ=k(()=>{r1();p6();a6();t6()});var YQ={};e(YQ,{setCachedVideoResult:()=>a4,processVideo:()=>$Q,getCachedVideoResult:()=>r4,generateThumbnails:()=>$7,generateSpriteSheet:()=>cJ,generatePoster:()=>e4,generateHLSManifest:()=>Y7,generateDASHManifest:()=>X7,clearVideoCache:()=>lJ,analyzeVideo:()=>e6,VideoProcessorCache:()=>o4});var XQ=k(()=>{ZQ();a6();t6();p6()});async function QQ(){try{return await Promise.resolve().then(() => (XQ(),YQ))}catch($){if(!JQ)console.warn("[stx-media] Video processor not available, some features disabled:",$),JQ=!0;return null}}async function J7($,Z={}){let Y=Z,X=$;if(X.process&&!X.skipProcessing){if(Y.tsVideosConfig?.enabled&&!Y.isDev)return gj(X,Y)}if(Y.processedResult?.processed)return WQ($,Y.processedResult,Z);let Q;if(X.generatePoster&&X.src&&!$.poster)Q=await hj(X,Y);let{src:J,sources:G=[],poster:K,posterPlaceholder:q,controls:W=GQ,autoplay:U=!1,muted:z=!1,loop:_=!1,preload:B=KQ,playsinline:j=!0,lazy:H=!0,player:L="native",type:F,width:O,height:V,crossorigin:w,disablePictureInPicture:A=!1,disableRemotePlayback:R=!1}=$,M=Q||K,N=$.class,T=$.style,I=$.id||`stx-video-${Math.random().toString(36).slice(2,8)}`;if(L==="ts-video")return vj($,Z);if(F&&F!=="video")return Cj(J||"",F,$);let D=G.length>0?G:J?[{src:J,type:qQ(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(R)E.push("disableremoteplayback");if(w)E.push(`crossorigin="${w}"`);if(H){if(E.push(`data-preload="${B}"`),E.push('preload="none"'),M)E.push(`data-poster="${F0(M)}"`);E.push("data-stx-lazy")}else if(E.push(`preload="${B}"`),M)E.push(`poster="${F0(M)}"`);if(O)E.push(`width="${O}"`);if(V)E.push(`height="${V}"`);if(N)E.push(`class="${F0(N)}"`);if(T)E.push(`style="${F0(T)}"`);let P=D.map((C)=>{return` <source ${H?`data-src="${F0(C.src)}"`:`src="${F0(C.src)}"`} type="${C.type}"${C.media?` media="${C.media}"`:""} />`}).join(`
|
|
11585
11585
|
`),S=`<video ${E.join(" ")}>
|
|
11586
11586
|
${P}
|
|
11587
11587
|
Your browser does not support the video tag.
|
|
11588
|
-
</video>`,
|
|
11588
|
+
</video>`,b;if(H)b=`
|
|
11589
11589
|
(function() {
|
|
11590
11590
|
var video = document.getElementById('${I}');
|
|
11591
11591
|
if (!video) return;
|
|
@@ -11620,12 +11620,12 @@ ${P}
|
|
|
11620
11620
|
|
|
11621
11621
|
observer.observe(video);
|
|
11622
11622
|
})();
|
|
11623
|
-
`.trim();return{html:S,script:
|
|
11623
|
+
`.trim();return{html:S,script:b}}function Cj($,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=xj($),q=W?`https://www.youtube-nocookie.com/embed/${W}`:$;break;case"vimeo":W=fj($),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="${F0(q)}"`,`width="${X}"`,`height="${Q}"`,'frameborder="0"',"allowfullscreen",'allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"'];if(J)U.push(`class="${F0(J)}"`);if(G)U.push(`style="${F0(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;">
|
|
11624
11624
|
<iframe ${U.join(" ")} style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe>
|
|
11625
|
-
</div>`}}function
|
|
11625
|
+
</div>`}}function vj($,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=`
|
|
11626
11626
|
<div
|
|
11627
11627
|
id="${L}"
|
|
11628
|
-
class="ts-video-player${j?" "+
|
|
11628
|
+
class="ts-video-player${j?" "+F0(j):""}"
|
|
11629
11629
|
style="${O}"
|
|
11630
11630
|
data-ts-video-player
|
|
11631
11631
|
data-config='${JSON.stringify(F)}'
|
|
@@ -11633,7 +11633,7 @@ ${P}
|
|
|
11633
11633
|
>
|
|
11634
11634
|
<div class="ts-video-player__container">
|
|
11635
11635
|
${Q?`
|
|
11636
|
-
<div class="ts-video-player__placeholder" style="background-image: url('${
|
|
11636
|
+
<div class="ts-video-player__placeholder" style="background-image: url('${F0(Q)}');">
|
|
11637
11637
|
<button class="ts-video-player__play-button" aria-label="Play video">
|
|
11638
11638
|
<svg viewBox="0 0 24 24" fill="currentColor" width="64" height="64">
|
|
11639
11639
|
<path d="M8 5v14l11-7z"/>
|
|
@@ -11659,7 +11659,7 @@ ${P}
|
|
|
11659
11659
|
|
|
11660
11660
|
// Load ts-video-player from CDN
|
|
11661
11661
|
var script = document.createElement('script');
|
|
11662
|
-
script.src = '${
|
|
11662
|
+
script.src = '${Pj}';
|
|
11663
11663
|
script.onload = initPlayer;
|
|
11664
11664
|
script.onerror = function() {
|
|
11665
11665
|
console.error('[stx] Failed to load ts-video-player');
|
|
@@ -11789,10 +11789,10 @@ else {
|
|
|
11789
11789
|
.ts-video-player__play-button svg {
|
|
11790
11790
|
margin-left: 4px;
|
|
11791
11791
|
}
|
|
11792
|
-
`.trim();return{html:V,script:w,css:A}}function
|
|
11792
|
+
`.trim();return{html:V,script:w,css:A}}function qQ($){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 xj($){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 fj($){let Z=$.match(/vimeo\.com\/(\d+)/);return Z?Z[1]:null}function F0($){return $.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'")}async function gj($,Z){let Y=await QQ();if(!Y)return J7({...$,process:!1},Z);let X=Z.tsVideosConfig,Q=await Y.processVideo($.src,$,X,$.onProcessProgress);if(Q.processed)return WQ($,Q,Z);return J7({...$,process:!1},Z)}async function hj($,Z){let Y=await QQ();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 WQ($,Z,Y){let{controls:X=GQ,autoplay:Q=!1,muted:J=!1,loop:G=!1,preload:K=KQ,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=qQ(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,R=[`id="${F}"`];if(X)R.push("controls");if(Q)R.push("autoplay");if(J)R.push("muted");if(G)R.push("loop");if(q)R.push("playsinline");if(B)R.push("disablepictureinpicture");if(j)R.push("disableremoteplayback");if(_)R.push(`crossorigin="${_}"`);if(W){if(R.push(`data-preload="${K}"`),R.push('preload="none"'),A)R.push(`data-poster="${F0(A)}"`);R.push("data-stx-lazy")}else if(R.push(`preload="${K}"`),A)R.push(`poster="${F0(A)}"`);let M=U||Z.metadata?.width,N=z||Z.metadata?.height;if(M)R.push(`width="${M}"`);if(N)R.push(`height="${N}"`);if(H)R.push(`class="${F0(H)}"`);if(L)R.push(`style="${F0(L)}"`);let I=` <source ${W?`data-src="${F0(O)}"`:`src="${F0(O)}"`} type="${V}" />`,D=`<video ${R.join(" ")}>
|
|
11793
11793
|
${I}
|
|
11794
11794
|
Your browser does not support the video tag.
|
|
11795
|
-
</video>`;if(Z.spriteSheet)D=`<div class="stx-video-wrapper" data-sprite-sheet="${
|
|
11795
|
+
</video>`;if(Z.spriteSheet)D=`<div class="stx-video-wrapper" data-sprite-sheet="${F0(Z.spriteSheet.url)}" data-sprite-cols="${Z.spriteSheet.columns}" data-sprite-interval="${Z.spriteSheet.interval}">
|
|
11796
11796
|
${D}
|
|
11797
11797
|
</div>`;let E;if(W)E=`
|
|
11798
11798
|
(function() {
|
|
@@ -11838,9 +11838,9 @@ ${D}
|
|
|
11838
11838
|
width: 100%;
|
|
11839
11839
|
height: auto;
|
|
11840
11840
|
}
|
|
11841
|
-
`.trim();return{html:D,script:E,css:P}}var
|
|
11841
|
+
`.trim();return{html:D,script:E,css:P}}var JQ=!1,GQ=!0,KQ="metadata",Pj="https://cdn.jsdelivr.net/npm/ts-video-player@latest/dist/index.min.js";var UQ=k(()=>{Z9()});function zQ(){return x4({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}=uj($,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 J7(G,q),U=W.html;if(W.css)U+=`
|
|
11842
11842
|
<style>${W.css}</style>`;if(W.script)U+=`
|
|
11843
|
-
<script>${W.script}</script>`;return U},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function
|
|
11843
|
+
<script>${W.script}</script>`;return U},defaults:{src:"",options:{controls:!0,lazy:!0,preload:"metadata"}}})}function uj($,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=dj(X),J=_Q(Q[0],Y)||"",G={};if(Q[1]){let K=_Q(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 dj($){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 _Q($,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 $9;var Z9=k(()=>{T6();UQ();$9=zQ()});function mj($,Z){let Y=Z.pwa?.manifest?.themeColor||"#4f46e5";return`<div class="stx-pwa-install" style="display:none;">
|
|
11844
11844
|
${$}
|
|
11845
11845
|
</div>
|
|
11846
11846
|
<script>
|
|
@@ -11885,7 +11885,7 @@ ${D}
|
|
|
11885
11885
|
}
|
|
11886
11886
|
}
|
|
11887
11887
|
})();
|
|
11888
|
-
</script>`}function
|
|
11888
|
+
</script>`}function lj($,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=`
|
|
11889
11889
|
<div class="stx-pwa-update-banner" style="
|
|
11890
11890
|
position: fixed;
|
|
11891
11891
|
bottom: 0;
|
|
@@ -11996,7 +11996,7 @@ else {
|
|
|
11996
11996
|
// Also listen for custom event
|
|
11997
11997
|
window.addEventListener('pwa-update-available', showUpdate);
|
|
11998
11998
|
})();
|
|
11999
|
-
</script>`}function
|
|
11999
|
+
</script>`}function cj($,Z){let Y=$.trim().length>0,X=`
|
|
12000
12000
|
<div class="stx-offline-indicator" style="
|
|
12001
12001
|
position: fixed;
|
|
12002
12002
|
top: 16px;
|
|
@@ -12057,7 +12057,7 @@ else {
|
|
|
12057
12057
|
window.addEventListener('offline', updateStatus);
|
|
12058
12058
|
updateStatus();
|
|
12059
12059
|
})();
|
|
12060
|
-
</script>`}function
|
|
12060
|
+
</script>`}function pj($,Z){let Y=Z.pwa?.push,X=Y?.vapidPublicKey||"",Q=Y?.subscriptionEndpoint||"/api/push/subscribe";return`<div class="stx-pwa-push" style="display:none;">
|
|
12061
12061
|
${$}
|
|
12062
12062
|
</div>
|
|
12063
12063
|
<script>
|
|
@@ -12139,7 +12139,7 @@ catch (error) {
|
|
|
12139
12139
|
init();
|
|
12140
12140
|
}
|
|
12141
12141
|
})();
|
|
12142
|
-
</script>`}var
|
|
12142
|
+
</script>`}var ij,nj,sj,oj,BQ;var jQ=k(()=>{ij={name:"pwa.installButton",handler:($,Z,Y,X)=>{let Q=Y.__stx_options||{};return mj($,Q)},hasEndTag:!0,description:"Renders a PWA install prompt button that appears when the app can be installed"},nj={name:"pwa.updatePrompt",handler:($,Z,Y,X)=>{let Q=Y.__stx_options||{};return lj($,Q)},hasEndTag:!0,description:"Renders a PWA update notification UI when a new version is available"},sj={name:"pwa.offlineIndicator",handler:($,Z,Y,X)=>{let Q=Y.__stx_options||{};return cj($,Q)},hasEndTag:!0,description:"Renders an offline status indicator that shows when the user loses connection"},oj={name:"pwa.pushSubscribe",handler:($,Z,Y,X)=>{let Q=Y.__stx_options||{};return pj($,Q)},hasEndTag:!0,description:"Renders a push notification subscription button"},BQ=[ij,nj,sj,oj]});import A$ from"path";function rj($,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 aj($){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)=>`
|
|
12143
12143
|
get ${z}() {
|
|
12144
12144
|
return this.getAttribute('${z}') || '';
|
|
12145
12145
|
}
|
|
@@ -12190,9 +12190,9 @@ ${U}
|
|
|
12190
12190
|
}
|
|
12191
12191
|
|
|
12192
12192
|
customElements.define('${Z}', ${G});
|
|
12193
|
-
`}async function
|
|
12194
|
-
${
|
|
12195
|
-
</script>`}var UQ=b(()=>{U1();F0()});var zQ={};e(zQ,{timingPlugin:()=>pj,pluginManager:()=>dj,definePlugin:()=>J7,debugPlugin:()=>cj,createVariablesPlugin:()=>ij,createFilterPlugin:()=>lj,createDirectivePlugin:()=>mj,PluginManager:()=>Z9});function J7($){return $}class Z9{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 mj($,Z,Y={}){return{name:$,...Y,registerDirectives:()=>Z}}function lj($,Z,Y={}){return{name:$,...Y,registerFilters:()=>Z}}function ij($){return J7({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(Z){return{context:{...Z.context,...$}}}})}var dj,cj,pj;var _Q=b(()=>{dj=new Z9;cj=J7({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)}}),pj=J7({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 E8={};e(E8,{validateConfig:()=>aj,loadStxConfig:()=>N5,defineStxConfig:()=>rj,defaultConfig:()=>_1,config:()=>C7});import Y9 from"fs";import b0 from"path";import{loadConfigWithResult as nj}from"bunfig";function sj($,Z){let Y=Z||"pages";if($)return{root:$,pagesDir:Y};let X=b0.join(process.cwd(),"resources","views"),Q=b0.join(process.cwd(),"resources","layouts");if(Y9.existsSync(X)&&Y9.existsSync(Q))return{root:"resources",pagesDir:"views"};let J=b0.join(process.cwd(),"resources","views","pages");if(Y9.existsSync(J))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}function oj($){if(c9($.stateDir),$.stateDir=g5(),$.cachePath=u5($.cachePath),$.build)$.build.cacheDir=u5($.build.cacheDir);if($.media?.cache)$.media.cache.directory=u5($.media.cache.directory);if($.story)$.story.outDir=u5($.story.outDir)}async function N5($){if(!$){if(S5)return S5;if(Q7)return Q7}let Z=$?b0.resolve($):process.cwd(),Y=BQ.get(Z);if(Y)return Y;let X=(async()=>{let J=(await nj({name:"stx",alias:"ui",cwd:Z,defaultConfig:_1,verbose:!1})).config;oj(J);let G=sj(J.root,J.pagesDir);if(J.root=G.root,J.pagesDir=G.pagesDir,J.root&&J.root!=="."){let K=J.root;if(J.partialsDir&&!b0.isAbsolute(J.partialsDir))J.partialsDir=b0.join(K,J.partialsDir);if(J.componentsDir&&!b0.isAbsolute(J.componentsDir))J.componentsDir=b0.join(K,J.componentsDir);if(J.layoutsDir&&!b0.isAbsolute(J.layoutsDir))J.layoutsDir=b0.join(K,J.layoutsDir)}if(J.plugins&&J.plugins.length>0){let{pluginManager:K}=await Promise.resolve().then(() => (_Q(),zQ)),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=b0.dirname(t.resolve(z))}catch{let L=b0.resolve(process.cwd(),z);B=await import(L),j=b0.dirname(L)}let H=B.default||B;if(K.register(H,J),H.components){let L=b0.resolve(j,H.components);q.push(L)}if(H.pages){let L=b0.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(BQ.set(Z,X),!$)Q7=X,X.then((Q)=>{S5=Q}).catch(()=>{});return X}function rj($){return $}function aj($){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,S5=null,BQ,Q7=null,C7;var g1=b(()=>{j7();H7();O7();L7();w6();xJ();$9();qQ();c3();N$();UQ();_1={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:$5,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:qJ,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:WQ,hasEndTag:!1,description:"Include a web component in the template"},D9,k9,c2,p2,b9,y9,P9,S9,f9,u9,vJ,e6,...KQ],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}};BQ=new Map;C7=new Proxy(_1,{get($,Z){if(S5&&Z in S5)return S5[Z];if(!Q7)N5().catch((Y)=>{console.warn("[stx] Failed to load config file:",Y?.message||Y)});return $[Z]}})});var LH=`
|
|
12193
|
+
`}async function HQ($,Z,Y,X){if(Z.length<1)return Z0("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=[A$.join(A$.dirname(X),G,`${Q}.stx`),A$.join(process.cwd(),G,`${Q}.stx`),A$.join(A$.dirname(X),`${Q}.stx`)],q=null;for(let z of K)if(await n(z)){q=await Bun.file(z).text();break}if(!q)return Z0("WebComponent",`Component file not found: ${Q}.stx`,o.FILE_NOT_FOUND);let W=rj(q,Q);return`<script type="module">
|
|
12194
|
+
${aj(W)}
|
|
12195
|
+
</script>`}var OQ=k(()=>{U1();V0()});var LQ={};e(LQ,{timingPlugin:()=>YH,pluginManager:()=>tj,definePlugin:()=>Q7,debugPlugin:()=>ZH,createVariablesPlugin:()=>XH,createFilterPlugin:()=>$H,createDirectivePlugin:()=>ej,PluginManager:()=>Y9});function Q7($){return $}class Y9{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 ej($,Z,Y={}){return{name:$,...Y,registerDirectives:()=>Z}}function $H($,Z,Y={}){return{name:$,...Y,registerFilters:()=>Z}}function XH($){return Q7({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(Z){return{context:{...Z.context,...$}}}})}var tj,ZH,YH;var FQ=k(()=>{tj=new Y9;ZH=Q7({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)}}),YH=Q7({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 D8={};e(D8,{validateConfig:()=>qH,loadStxConfig:()=>T5,defineStxConfig:()=>KH,defaultConfig:()=>_1,config:()=>v7});import X9 from"fs";import b0 from"path";import{loadConfigWithResult as JH}from"bunfig";function QH($,Z){let Y=Z||"pages";if($)return{root:$,pagesDir:Y};let X=b0.join(process.cwd(),"resources","views"),Q=b0.join(process.cwd(),"resources","layouts");if(X9.existsSync(X)&&X9.existsSync(Q))return{root:"resources",pagesDir:"views"};let J=b0.join(process.cwd(),"resources","views","pages");if(X9.existsSync(J))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}function GH($){if(p9($.stateDir),$.stateDir=h5(),$.cachePath=d5($.cachePath),$.build)$.build.cacheDir=d5($.build.cacheDir);if($.media?.cache)$.media.cache.directory=d5($.media.cache.directory);if($.story)$.story.outDir=d5($.story.outDir)}async function T5($){if(!$){if(y5)return y5;if(G7)return G7}let Z=$?b0.resolve($):process.cwd(),Y=VQ.get(Z);if(Y)return Y;let X=(async()=>{let J=(await JH({name:"stx",alias:"ui",cwd:Z,defaultConfig:_1,verbose:!1})).config;GH(J);let G=QH(J.root,J.pagesDir);if(J.root=G.root,J.pagesDir=G.pagesDir,J.root&&J.root!=="."){let K=J.root;if(J.partialsDir&&!b0.isAbsolute(J.partialsDir))J.partialsDir=b0.join(K,J.partialsDir);if(J.componentsDir&&!b0.isAbsolute(J.componentsDir))J.componentsDir=b0.join(K,J.componentsDir);if(J.layoutsDir&&!b0.isAbsolute(J.layoutsDir))J.layoutsDir=b0.join(K,J.layoutsDir)}if(J.plugins&&J.plugins.length>0){let{pluginManager:K}=await Promise.resolve().then(() => (FQ(),LQ)),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=b0.dirname(t.resolve(z))}catch{let L=b0.resolve(process.cwd(),z);B=await import(L),j=b0.dirname(L)}let H=B.default||B;if(K.register(H,J),H.components){let L=b0.resolve(j,H.components);q.push(L)}if(H.pages){let L=b0.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(VQ.set(Z,X),!$)G7=X,X.then((Q)=>{y5=Q}).catch(()=>{});return X}function KH($){return $}function qH($){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,y5=null,VQ,G7=null,v7;var g1=k(()=>{H7();O7();L7();F7();A6();mJ();Z9();jQ();p3();T$();OQ();_1={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,stateDir:Z5,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:jJ,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:HQ,hasEndTag:!1,description:"Include a web component in the template"},k9,b9,r2,a2,S9,P9,C9,y9,g9,d9,dJ,$9,...BQ],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}};VQ=new Map;v7=new Proxy(_1,{get($,Z){if(y5&&Z in y5)return y5[Z];if(!G7)T5().catch((Y)=>{console.warn("[stx] Failed to load config file:",Y?.message||Y)});return $[Z]}})});var DH=`
|
|
12196
12196
|
<script>
|
|
12197
12197
|
(function() {
|
|
12198
12198
|
'use strict';
|
|
@@ -12658,7 +12658,7 @@ else if (data.type === 'event' && data.method) {
|
|
|
12658
12658
|
}
|
|
12659
12659
|
})();
|
|
12660
12660
|
</script>
|
|
12661
|
-
`;function
|
|
12661
|
+
`;function G9($={}){let{debug:Z=!1,timeout:Y=30000}=$;return`
|
|
12662
12662
|
<script>
|
|
12663
12663
|
(function() {
|
|
12664
12664
|
'use strict';
|
|
@@ -13124,14 +13124,14 @@ else if (data.type === 'event' && data.method) {
|
|
|
13124
13124
|
}
|
|
13125
13125
|
})();
|
|
13126
13126
|
</script>
|
|
13127
|
-
`.replace("debug: false,",`debug: ${Z},`).replace("timeout: 30000",`timeout: ${Y}`)}function
|
|
13127
|
+
`.replace("debug: false,",`debug: ${Z},`).replace("timeout: 30000",`timeout: ${Y}`)}function kH(){return!1}function bH($,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 G9(J)})}function K9($,Z={}){if($.includes("__craftBridgeInitialized"))return $;let Y=G9(Z);if($.includes("</head>"))return $.replace("</head>",`${Y}
|
|
13128
13128
|
</head>`);if($.includes("<body"))return $.replace(/(<body[^>]*>)/,`$1
|
|
13129
|
-
${Y}`);return Y+$}var MQ=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 AH($,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||MQ},Q=typeof $==="string"?NQ($):$,J=IQ(Q.tree,X),G=PQ(J),K=X.treeShake?vQ(J,G):J,q=new Map;if(X.target==="universal"){let B=["macos","windows","linux","ios","android"];for(let j of B){let H=U7(K,{...X,target:j});q.set(j,H)}}else{let B=U7(K,X);q.set(X.target,B)}let W=gQ(K,X,q),U=hQ(Q,K,X),z={compilationTime:performance.now()-Y,totalComponents:z7(Q.tree),nativeComponents:_7(K),webComponents:z7(Q.tree)-_7(K),bundleSize:W.length,treeShakenSize:X.treeShake?xQ(J,K):W.length,warnings:[],errors:[]},_;if(X.sourceMaps)_=uQ(Q,K);return{code:W,platformCode:q,dependencies:G,manifest:U,sourceMaps:_,stats:z}}function NQ($){let Z={type:"fragment",children:[]},Y=$.match(/<body[^>]*>([\s\S]*?)<\/body>/i),X=Y?Y[1]:$;return q9(X,Z),{id:B9(),hash:j9($),tree:Z,scripts:lQ($),styles:cQ($),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 q9($,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:TQ(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});q9(G,q)}Z.children=Z.children??[],Z.children.push(q)}}function TQ($){let Z={},Y=/([\w-:@]+)(?:=["']([^"']*)["'])?/g,X;while((X=Y.exec($))!==null){let[,Q,J]=X;Z[Q]=J??!0}return Z}function IQ($,Z){return W9($,Z)}function W9($,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=EQ($.tag);let Q={};if($.props)for(let[q,W]of Object.entries($.props))Q[q]=DQ(W);let J=[];if($.children)for(let q of $.children)J.push(W9(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=bQ($);return{type:kQ($,Y),zigType:X,props:Q,children:J,events:G,styles:K,id:$.hydrationKey,key:$.props?.key}}function EQ($){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 DQ($){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 kQ($,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 bQ($){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=SQ(K);break;case"align-items":Y.alignItems=yQ(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 SQ($){return{"flex-start":"start","flex-end":"end",center:"center","space-between":"between","space-around":"around"}[$]||"start"}function yQ($){return{"flex-start":"start","flex-end":"end",center:"center",stretch:"stretch"}[$]||"start"}function PQ($){let Z=[],Y=new Set;function X(Q,J){let G=Q.id||B9();if(Y.has(G))return;Y.add(G);let K={id:G,type:"component",path:Q.zigType,dependencies:J?[J]:[],size:U9(Q),isStatic:CQ(Q)};Z.push(K);for(let q of Q.children)X(q,G)}return X($),Z}function U9($){let Z=100;return Z+=Object.keys($.props).length*20,Z+=$.events.size*50,Z}function CQ($){for(let Z of Object.values($.props))if(Z.type!=="literal")return!1;return $.events.size===0}function vQ($,Z){return $}function xQ($,Z){let Y=0;function X(Q){Y+=U9(Q);for(let J of Q.children)X(J)}return X(Z),Y}function U7($,Z){switch(Z.format){case"zig":return K9($,Z);case"typescript":return fQ($,Z);case"json":return JSON.stringify($,null,Z.minify?0:2);default:return K9($,Z)}}function K9($,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(""),z9($,Y,0),Y.join(`
|
|
13130
|
-
`)}function
|
|
13131
|
-
`)}function
|
|
13129
|
+
${Y}`);return Y+$}var kQ=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 yH($,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||kQ},Q=typeof $==="string"?bQ($):$,J=yQ(Q.tree,X),G=hQ(J),K=X.treeShake?dQ(J,G):J,q=new Map;if(X.target==="universal"){let B=["macos","windows","linux","ios","android"];for(let j of B){let H=z7(K,{...X,target:j});q.set(j,H)}}else{let B=z7(K,X);q.set(X.target,B)}let W=cQ(K,X,q),U=pQ(Q,K,X),z={compilationTime:performance.now()-Y,totalComponents:_7(Q.tree),nativeComponents:B7(K),webComponents:_7(Q.tree)-B7(K),bundleSize:W.length,treeShakenSize:X.treeShake?mQ(J,K):W.length,warnings:[],errors:[]},_;if(X.sourceMaps)_=iQ(Q,K);return{code:W,platformCode:q,dependencies:G,manifest:U,sourceMaps:_,stats:z}}function bQ($){let Z={type:"fragment",children:[]},Y=$.match(/<body[^>]*>([\s\S]*?)<\/body>/i),X=Y?Y[1]:$;return W9(X,Z),{id:j9(),hash:H9($),tree:Z,scripts:oQ($),styles:rQ($),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 W9($,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:SQ(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});W9(G,q)}Z.children=Z.children??[],Z.children.push(q)}}function SQ($){let Z={},Y=/([\w-:@]+)(?:=["']([^"']*)["'])?/g,X;while((X=Y.exec($))!==null){let[,Q,J]=X;Z[Q]=J??!0}return Z}function yQ($,Z){return U9($,Z)}function U9($,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]=CQ(W);let J=[];if($.children)for(let q of $.children)J.push(U9(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=xQ($);return{type:vQ($,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 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 vQ($,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 xQ($){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=fQ(K);break;case"align-items":Y.alignItems=gQ(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 fQ($){return{"flex-start":"start","flex-end":"end",center:"center","space-between":"between","space-around":"around"}[$]||"start"}function gQ($){return{"flex-start":"start","flex-end":"end",center:"center",stretch:"stretch"}[$]||"start"}function hQ($){let Z=[],Y=new Set;function X(Q,J){let G=Q.id||j9();if(Y.has(G))return;Y.add(G);let K={id:G,type:"component",path:Q.zigType,dependencies:J?[J]:[],size:z9(Q),isStatic:uQ(Q)};Z.push(K);for(let q of Q.children)X(q,G)}return X($),Z}function z9($){let Z=100;return Z+=Object.keys($.props).length*20,Z+=$.events.size*50,Z}function uQ($){for(let Z of Object.values($.props))if(Z.type!=="literal")return!1;return $.events.size===0}function dQ($,Z){return $}function mQ($,Z){let Y=0;function X(Q){Y+=z9(Q);for(let J of Q.children)X(J)}return X(Z),Y}function z7($,Z){switch(Z.format){case"zig":return q9($,Z);case"typescript":return lQ($,Z);case"json":return JSON.stringify($,null,Z.minify?0:2);default:return q9($,Z)}}function q9($,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(""),_9($,Y,0),Y.join(`
|
|
13130
|
+
`)}function _9($,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${sQ(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 _9(G,Z,Y+1),Z.push(`${X} try ${Q}.addChild(node_${Y+1});`)}if(Y===0)Z.push(` return ${Q}.element();`),Z.push("}")}function lQ($,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 "+B9($,1)+";"),Y.push("}"),Y.join(`
|
|
13131
|
+
`)}function B9($,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:""}"`:B9(K,Z+1)),G=J.length>0?`,
|
|
13132
13132
|
${Y} [${J.join(`,
|
|
13133
|
-
${Y} `)}]`:"";return`Craft.create("${$.zigType}", ${Q}${G})`}function
|
|
13134
|
-
`)}return Y.get(Z.target)||
|
|
13133
|
+
${Y} `)}]`:"";return`Craft.create("${$.zigType}", ${Q}${G})`}function cQ($,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(`
|
|
13134
|
+
`)}return Y.get(Z.target)||z7($,Z)}function pQ($,Z,Y){let X=[];function Q(J){X.push({name:J.zigType,hash:H9(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 iQ($,Z){return JSON.stringify({version:3,file:"output.zig",sources:["input.stx"],mappings:""})}var nQ=0;function j9(){return`id_${++nQ}`}function H9($){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 sQ($){return $.charAt(0).toUpperCase()+$.slice(1)}function oQ($){let Z=[],Y=/<script[^>]*>([\s\S]*?)<\/script>/gi,X;while((X=Y.exec($))!==null)Z.push(X[1]);return Z}function rQ($){let Z=[],Y=/<style[^>]*>([\s\S]*?)<\/style>/gi,X;while((X=Y.exec($))!==null)Z.push(X[1]);return Z}function _7($){let Z=$.type==="component"?1:0;if($.children)for(let Y of $.children)Z+=_7(Y);return Z}function B7($){let Z=$.zigType.startsWith("craft.")?1:0;for(let Y of $.children)Z+=B7(Y);return Z}function PH($){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 j7={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">
|
|
13135
13135
|
<input type="checkbox" class="craft-checkbox" ${Y} ${X}>
|
|
13136
13136
|
<span class="craft-checkbox-label">${Z||$.label||""}</span>
|
|
13137
13137
|
</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}>
|
|
@@ -13145,7 +13145,7 @@ ${Y} `)}]`:"";return`Craft.create("${$.zigType}", ${Q}${G})`}function gQ($,Z,
|
|
|
13145
13145
|
</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">
|
|
13146
13146
|
${X?`<div class="craft-alert-title">${X}</div>`:""}
|
|
13147
13147
|
<div class="craft-alert-content">${Z}</div>
|
|
13148
|
-
</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:
|
|
13148
|
+
</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:aQ},"sidebar-space":{nativeType:"craft-sidebar-space",fallbackTag:"section",fallbackClasses:"craft-sidebar-space",nativeProps:["id","label","icon","tint"],render:tQ},"sidebar-section":{nativeType:"craft-sidebar-section",fallbackTag:"section",fallbackClasses:"craft-sidebar-section",nativeProps:["id","title","header"],render:eQ},"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||""}">`}}},O9=`
|
|
13149
13149
|
<style id="craft-component-styles">
|
|
13150
13150
|
/* Craft Component Base Styles */
|
|
13151
13151
|
.craft-button {
|
|
@@ -13563,7 +13563,7 @@ ${Y} `)}]`:"";return`Craft.create("${$.zigType}", ${Q}${G})`}function gQ($,Z,
|
|
|
13563
13563
|
}
|
|
13564
13564
|
}
|
|
13565
13565
|
</style>
|
|
13566
|
-
`,
|
|
13566
|
+
`,vH=`
|
|
13567
13567
|
<script id="craft-component-runtime">
|
|
13568
13568
|
(function() {
|
|
13569
13569
|
if (window.__stxCraftComponentRuntime) return;
|
|
@@ -13667,7 +13667,7 @@ ${Y} `)}]`:"";return`Craft.create("${$.zigType}", ${Q}${G})`}function gQ($,Z,
|
|
|
13667
13667
|
document.addEventListener('craft:nativeui:ready', initializeCraftComponents);
|
|
13668
13668
|
})();
|
|
13669
13669
|
</script>
|
|
13670
|
-
`;function
|
|
13670
|
+
`;function L9($,Z={}){let{classPrefix:Y="craft"}=Z;if(!$.includes("craft-component-styles"))if($.includes("</head>"))$=$.replace("</head>",`${`
|
|
13671
13671
|
<style id="craft-component-styles">
|
|
13672
13672
|
/* Craft Component Base Styles */
|
|
13673
13673
|
.craft-button {
|
|
@@ -15132,35 +15132,35 @@ ${Y} `)}]`:"";return`Craft.create("${$.zigType}", ${Q}${G})`}function gQ($,Z,
|
|
|
15132
15132
|
document.addEventListener('craft:nativeui:ready', initializeCraftComponents);
|
|
15133
15133
|
})();
|
|
15134
15134
|
</script>
|
|
15135
|
-
`;return $=$.replace(/<@craft-sidebar(?![-\w])\s*([^>]*)>([\s\S]*?)<\/@craft-sidebar>/g,(X,Q,J)=>{return
|
|
15135
|
+
`;return $=$.replace(/<@craft-sidebar(?![-\w])\s*([^>]*)>([\s\S]*?)<\/@craft-sidebar>/g,(X,Q,J)=>{return M$("sidebar",Q,J.trim(),Z,Y)}),$=$.replace(/<@craft-sidebar(?![-\w])\s*([^>]*?)\/>/g,(X,Q)=>{return M$("sidebar",Q,"",Z,Y)}),$=$.replace(/<@craft-(\w+[-\w]*)\s*([^>]*?)\/>/g,(X,Q,J)=>{return M$(Q,J,"",Z,Y)}),$=$.replace(/<@craft-(\w+[-\w]*)\s*([^>]*)>([\s\S]*?)<\/@craft-\1>/g,(X,Q,J,G)=>{return M$(Q,J,G.trim(),Z,Y)}),$}function M$($,Z,Y,X,Q){let J=X.components?.[$]||j7[$];if(!J)return console.warn(`[stx] Unknown Craft component: @craft-${$}`),`<div class="${Q}-unknown" data-component="${$}">${Y}</div>`;let G=N$(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=qG(G,J,K);if(["input","hr","br","img"].includes(J.fallbackTag))return`<${J.fallbackTag} ${q}>`;return`<${J.fallbackTag} ${q}>${Y}</${J.fallbackTag}>`}function N$($){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 aQ($,Z){let Y=$5(String($.id||`craft-sidebar-${GG(Z||JSON.stringify($))}`)),X=XG($.spaces)||YG(Z),Q=X.length?[]:QG($.sections)||F9(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="${K1(q.searchPlaceholder)}"></div>`:"",B;if(X.length)B=JG(X,J,K);else if(Q.length)B=Q.map((j)=>V9(j,K)).join("");else B=Z;return`<aside class="${v0(W)}" data-craft="craft-sidebar" data-craft-native-sidebar data-craft-sidebar-id="${v0(Y)}" data-native="${z}" style="--craft-sidebar-width:${U}px">
|
|
15136
15136
|
${_}
|
|
15137
15137
|
${B}
|
|
15138
15138
|
</aside>
|
|
15139
|
-
<script type="application/json" data-craft-sidebar-config="${v0(Y)}">${
|
|
15139
|
+
<script type="application/json" data-craft-sidebar-config="${v0(Y)}">${KG(q)}</script>`}function tQ($,Z){let Y=$5(String($.id||$.label||"space"));return`<section class="craft-sidebar-space" data-craft="craft-sidebar-space" data-space-id="${v0(Y)}">
|
|
15140
15140
|
${$.label?`<div class="craft-sidebar-space-title">${K1(String($.label))}</div>`:""}
|
|
15141
15141
|
${Z}
|
|
15142
|
-
</section>`}function
|
|
15142
|
+
</section>`}function eQ($,Z){let Y=String($.header||$.title||"");return`<section class="craft-sidebar-section" data-craft="craft-sidebar-section" data-section-id="${v0(String($.id||"section"))}">
|
|
15143
15143
|
${Y?`<div class="craft-sidebar-section-title">${K1(Y)}</div>`:""}
|
|
15144
15144
|
${Z}
|
|
15145
|
-
</section>`}function
|
|
15145
|
+
</section>`}function $G($,Z){let Y={id:String($.id||$5(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 w9(Y,String($.selected||"")==="true")}function F9($){let Z=[],Y=/<@craft-sidebar-section\s*([^>]*?)(?:\/>|>([\s\S]*?)<\/@craft-sidebar-section>)/g,X;while((X=Y.exec($))!==null){let Q=N$(X[1]||""),J=X[2]||"",G=String(Q.id||$5(String(Q.header||Q.title||`section-${Z.length+1}`))),K=String(Q.header||Q.title||G),q=ZG(J);Z.push({id:G,header:K,title:K,items:q})}return Z}function ZG($){let Z=[],Y=/<@craft-sidebar-item\s*([^>]*?)(?:\/>|>([\s\S]*?)<\/@craft-sidebar-item>)/g,X;while((X=Y.exec($))!==null){let Q=N$(X[1]||""),J=String(Q.label||(X[2]||"").replace(/<[^>]*>/g,"").trim()),G=String(Q.id||$5(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 YG($){let Z=[],Y=/<@craft-sidebar-space\s*([^>]*?)(?:\/>|>([\s\S]*?)<\/@craft-sidebar-space>)/g,X;while((X=Y.exec($))!==null){let Q=N$(X[1]||""),J=X[2]||"",G=String(Q.label||Q.title||`Space ${Z.length+1}`);Z.push({id:String(Q.id||$5(G)),label:G,icon:Q.icon?String(Q.icon):void 0,tint:Q.tint?String(Q.tint):void 0,sections:F9(J)})}return Z}function XG($){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 JG($,Z,Y){let X=$.map((J)=>`<button class="craft-sidebar-space-tab" type="button" data-space-target="${v0(J.id)}" data-selected="${J.id===Z?"true":"false"}" title="${v0(J.label||J.id)}">${J.icon?`<span class="craft-sidebar-item-icon" data-icon="${v0(J.icon)}"></span>`:K1((J.label||J.id).charAt(0))}</button>`).join("");return`<div class="craft-sidebar-spaces">${$.map((J)=>`<section class="craft-sidebar-space" data-space-id="${v0(J.id)}" data-selected="${J.id===Z?"true":"false"}">
|
|
15146
15146
|
${J.label?`<div class="craft-sidebar-space-title">${K1(J.label)}</div>`:""}
|
|
15147
|
-
${J.sections.map((G)=>
|
|
15147
|
+
${J.sections.map((G)=>V9(G,Y)).join("")}
|
|
15148
15148
|
</section>`).join("")}</div>
|
|
15149
|
-
<div class="craft-sidebar-space-switcher">${X}</div>`}function
|
|
15149
|
+
<div class="craft-sidebar-space-switcher">${X}</div>`}function QG($){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 V9($,Z){let Y=$.header||$.title||$.id;return`<section class="craft-sidebar-section" data-section-id="${v0($.id)}">
|
|
15150
15150
|
<div class="craft-sidebar-section-title">${K1(Y)}</div>
|
|
15151
|
-
${$.items.map((X)=>
|
|
15152
|
-
</section>`}function
|
|
15151
|
+
${$.items.map((X)=>w9(X,X.id===Z)).join("")}
|
|
15152
|
+
</section>`}function w9($,Z){let Y=$.tintColor?` style="--craft-sidebar-icon-color:${v0($.tintColor)}"`:"";return`<button class="craft-sidebar-item" type="button" data-item-id="${v0($.id)}" data-selected="${Z?"true":"false"}">
|
|
15153
15153
|
${$.icon?`<span class="craft-sidebar-item-icon" data-icon="${v0($.icon)}"${Y}></span>`:""}
|
|
15154
15154
|
<span class="craft-sidebar-item-label">${K1($.label)}</span>
|
|
15155
15155
|
${$.badge?`<span class="craft-sidebar-item-badge">${K1($.badge)}</span>`:""}
|
|
15156
|
-
</button>`}function
|
|
15156
|
+
</button>`}function $5($){return $.trim().toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/^-|-$/g,"")||"craft-sidebar"}function GG($){let Z=5381;for(let Y=0;Y<$.length;Y++)Z=Z*33^$.charCodeAt(Y);return(Z>>>0).toString(36)}function K1($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function v0($){return K1($).replace(/`/g,"`")}function KG($){return JSON.stringify($).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function qG($,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 xH($,Z){j7[$]=Z}function fH(){return{...j7}}var P5=new Map,C5=new Map;function WG($,Z){let Y=Z?.id||AG($),X=RG($),Q=P5.get(Y);if(Q&&Q.hash===X)return Q;let J=UG($),G=LG($),K=FG($),q=HG(J),{staticParts:W,dynamicParts:U}=OG(J),z=VG($),_={id:Y,hash:X,tree:J,scripts:G,styles:K,staticParts:W,dynamicParts:U,dependencies:z,metadata:q};return P5.set(Y,_),_}async function hH($,Z={},Y={}){let X=performance.now();if(Y.cache){let K=`${$.id}:${JSON.stringify(Z)}`,q=C5.get(K);if(q&&Date.now()-q.timestamp<(Y.cacheTTL||60000))return{html:q.html,styles:$.styles.join(`
|
|
15157
15157
|
`),scripts:$.scripts.join(`
|
|
15158
|
-
`),metadata:{renderTime:0,cacheHit:!0,totalSize:q.html.length,componentCount:$.metadata.componentCount}}}let Q;if(Y.streaming)Q=await
|
|
15158
|
+
`),metadata:{renderTime:0,cacheHit:!0,totalSize:q.html.length,componentCount:$.metadata.componentCount}}}let Q;if(Y.streaming)Q=await _G($.tree,Z);else Q=v5($.tree,Z);let J;if(Y.hydrate){let K=jG(Q,$,Z);Q=K.html,J=K.data}if(Y.minify)Q=wG(Q);if(Y.cache){let K=`${$.id}:${JSON.stringify(Z)}`;C5.set(K,{html:Q,timestamp:Date.now()})}let G=performance.now()-X;return{html:Q,styles:$.styles.join(`
|
|
15159
15159
|
`),scripts:$.scripts.join(`
|
|
15160
|
-
`),hydrationData:J,metadata:{renderTime:G,cacheHit:!1,totalSize:Q.length,componentCount:$.metadata.componentCount}}}function
|
|
15160
|
+
`),hydrationData:J,metadata:{renderTime:G,cacheHit:!1,totalSize:Q.length,componentCount:$.metadata.componentCount}}}function uH($,Z){let Y=[],X=[],Q=[],J=new Map,G=[];return x5($.tree,(K,q)=>{if(K.type==="component"&&K.componentName){if(E9(K.componentName))Y.push(K.componentName)}if(K.type==="element"&&K.tag){let W=TG(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(M9(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 dH($,Z={}){let Y=WG($),X=BG(Y,Z),Q=new Map,J=[];return x5(Y.tree,(G)=>{if(G.type==="component"&&G.componentName){if(E9(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 UG($){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,_=zG(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:!A9(z),hydrationKey:NG()};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:!A9(W)};Y.children=Y.children||[],Y.children.push(U)}Q=Q.slice(W.length);continue}Q=Q.slice(1)}return Z}function zG($){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 x5($,Z,Y=[]){if(Z($,Y),$.children)$.children.forEach((X,Q)=>{x5(X,Z,[...Y,`${Q}`])})}function v5($,Z){switch($.type){case"text":return T9($.text||"",Z);case"element":case"component":{let Y=$.tag||"div",X=N9($.props||{},Z),Q=($.children||[]).map((J)=>v5(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)=>v5(Y,Z)).join("");case"slot":return`<!--slot:${$.slotName||"default"}-->`;default:return""}}function M9($){if($.type==="text")return $.text||"";let Z=$.tag||"div",Y=N9($.props||{},{});return`<${Z}${Y}></${Z}>`}function N9($,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=T9(String(Q),Z);Y.push(` ${X}="${I9(J)}"`)}return Y.join("")}async function _G($,Z){return v5($,Z)}function BG($,Z){let Y=[];return x5($.tree,(X)=>{if(X.isStatic)Y.push(v5(X,Z))}),Y.join("")}function jG($,Z,Y){let X={templateId:Z.id,context:Y,dynamicParts:Array.from(Z.dynamicParts.entries())},Q=`
|
|
15161
15161
|
<script data-craft-hydration>
|
|
15162
15162
|
window.__CRAFT_HYDRATION__ = ${JSON.stringify(X)};
|
|
15163
|
-
</script>`;return{html:$+Q,data:X}}function
|
|
15163
|
+
</script>`;return{html:$+Q,data:X}}function HG($){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 OG($){let Z=new Map,Y=new Map;return x5($,(X,Q)=>{let J=Q.join(".");if(X.isStatic)Z.set(J,M9(X));else Y.set(J,X.tag||X.componentName||"dynamic")}),{staticParts:Z,dynamicParts:Y}}function LG($){let Z=[],Y=/<script[^>]*>([\s\S]*?)<\/script>/gi,X;while((X=Y.exec($))!==null)Z.push(X[1]);return Z}function FG($){let Z=[],Y=/<style[^>]*>([\s\S]*?)<\/style>/gi,X;while((X=Y.exec($))!==null)Z.push(X[1]);return Z}function VG($){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 A9($){return/\{\{.*?\}\}|\{\!\!.*?\!\!\}/.test($)}function T9($,Z){let Y=$.replace(/\{\{\s*(.+?)\s*\}\}/g,(X,Q)=>{try{let J=R9(Q.trim(),Z);return I9(String(J??""))}catch{return""}});return Y=Y.replace(/\{!!\s*(.+?)\s*!!\}/g,(X,Q)=>{try{let J=R9(Q.trim(),Z);return String(J??"")}catch{return""}}),Y}function R9($,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 I9($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function wG($){return $.replace(/\s+/g," ").replace(/>\s+</g,"><").replace(/\s+>/g,">").replace(/<\s+/g,"<").trim()}function AG($){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 RG($){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 MG=0;function NG(){return`h_${++MG}`}function E9($){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 TG($){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 IG(){P5.clear()}function EG(){C5.clear()}function mH(){IG(),EG()}function lH(){return{templateCacheSize:P5.size,renderCacheSize:C5.size,totalEntries:P5.size+C5.size}}import{existsSync as MQ,mkdirSync as p0,copyFileSync as t1,chmodSync as e1}from"fs";import{join as u,basename as _H}from"path";import{spawn as q7,execSync as BH}from"child_process";import{tmpdir as NQ,homedir as Q9,platform as jH}from"os";g1();w5();$4();X5();t$();import{dirname as WH,resolve as wQ}from"path";function UH($){let Z=$,Y=B5($);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 zH($,Z){return`<!DOCTYPE html>
|
|
15164
15164
|
<html lang="en">
|
|
15165
15165
|
<head>
|
|
15166
15166
|
<meta charset="UTF-8">
|
|
@@ -15170,28 +15170,28 @@ ${Y} `)}]`:"";return`Craft.create("${$.zigType}", ${Q}${G})`}function gQ($,Z,
|
|
|
15170
15170
|
<body>
|
|
15171
15171
|
${$}
|
|
15172
15172
|
</body>
|
|
15173
|
-
</html>`}async function
|
|
15173
|
+
</html>`}async function AQ($,Z={}){let Y=wQ($),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=wQ(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 J9(Q,Y,{...W,injectCSS:!1}),z=await G.text(),_={...Z.context||{},content:U},B={...W,context:_,injectCSS:q};return J9(z,J,B)}return J9(Q,Y,Z)}async function J9($,Z,Y={}){let{templateContent:X,serverScripts:Q,clientScripts:J}=UH($),G={..._1,...Y.options},K={__filename:Z,__dirname:WH(Z),__stx:{},__stx_options:G,__stx_sfc_mode:!0,__stx_inject_css:Y.injectCSS!==!1,...Y.context||{}};for(let U of Q)await z1(U,K,Z);let q=new Set,W=X;if(W=await L0(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+=`
|
|
15174
15174
|
${J.join(`
|
|
15175
15175
|
`)}`}else{if(Y.processClientScripts!==!1&&J.length>0){let U=K.__stx_event_bindings||[],z=P1(K),B=(await Promise.all(J.map(async(H)=>{let L=H.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!L)return H;return await C1(L[1],{eventBindings:U,templateContent:W,serverData:z,filePath:Z})}))).join(`
|
|
15176
15176
|
`);if(W.match(/(<\/body>)/i))W=W.replace(/(<\/body>)/i,`${B}
|
|
15177
15177
|
$1`);else W+=`
|
|
15178
|
-
${B}`}W=await
|
|
15179
|
-
</head>`)}let G=$.name||
|
|
15178
|
+
${B}`}W=await X6(W)}if(Y.wrapInDocument){if(!W.trim().toLowerCase().startsWith("<!doctype")&&!W.trim().toLowerCase().startsWith("<html"))W=zH(W,Y.title)}if(Y.injectCSS)try{let{injectCrosswindCSS:U}=await Promise.resolve().then(() => (S7(),E8));W=await U(W)}catch{}return W}async function bN($){let Z=Date.now();try{if(!await Bun.file($.input).exists())return{success:!1,target:$.target||K7(),format:$.format||"app",error:`Input file not found: ${$.input}`};let Y=$.target||K7(),X=$.format||RH(Y),Q=$.output||u(process.cwd(),"dist","native");if(!MQ(Q))p0(Q,{recursive:!0});let J=await AQ($.input,{context:$.context,options:{isDev:!1}});if(J=K9(J,{debug:$.verbose}),J=L9(J),!J.includes("craft-component-styles")){if(J.includes("</head>"))J=J.replace("</head>",`${O9}
|
|
15179
|
+
</head>`)}let G=$.name||_H($.input,".stx"),K=$.version||"1.0.0",q=$.craftPath||await AH();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 HH(J,G,K,Q,X,$,q);break;case"windows":W=await LH(J,G,K,Q,X,$,q);break;case"linux":W=await FH(J,G,K,Q,X,$,q);break;case"ios":W=await VH(J,G,K,Q,$,q);break;case"android":W=await wH(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||K7(),format:$.format||"app",error:Y.message,duration:Date.now()-Z}}}async function HH($,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");p0(U,{recursive:!0}),p0(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=u(U,"craft");t1(G,H),e1(H,493);let L=J.menubarOnly??J.systemTray,O=`#!/bin/bash
|
|
15180
15180
|
set -euo pipefail
|
|
15181
15181
|
DIR="$( cd "$( dirname "\${BASH_SOURCE[0]}" )" && pwd )"
|
|
15182
15182
|
RESOURCES="$DIR/../Resources"
|
|
15183
15183
|
exec "$DIR/craft" --html-file "$RESOURCES/index.html" \\
|
|
15184
15184
|
${[`--title "${J.window?.title||Z}"`,`--width ${J.window?.width||1200}`,`--height ${J.window?.height||800}`,L?"--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":"",j].filter(Boolean).join(" \\\n ")}
|
|
15185
|
-
`,V=u(U,Z);await Bun.write(V,O),
|
|
15185
|
+
`,V=u(U,Z);await Bun.write(V,O),e1(V,493);let w=Boolean(J.icon&&await Bun.file(J.icon).exists());if(w)t1(J.icon,u(z,"AppIcon.icns"));let A={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),...w?{CFBundleIconFile:"AppIcon"}:{},...J.category?{LSApplicationCategoryType:J.category}:{},...J.copyright?{NSHumanReadableCopyright:J.copyright}:{},...J.infoPlist||{}};if(await Bun.write(u(W,"Info.plist"),OH(A)),Q==="dmg"){let R=u(X,`${Z}-${Y}.dmg`),M=await MH(q,R,Z);if(!M.success)return{success:!1,target:"macos",format:"dmg",error:M.error};return{success:!0,target:"macos",format:"dmg",outputPath:R}}return{success:!0,target:"macos",format:"app",outputPath:q}}function RQ($){return $.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function OH($){return`<?xml version="1.0" encoding="UTF-8"?>
|
|
15186
15186
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
15187
15187
|
<plist version="1.0">
|
|
15188
15188
|
<dict>
|
|
15189
|
-
${Object.entries($).map(([Y,X])=>{let Q=typeof X==="boolean"?`<${X}/>`:typeof X==="number"?`<integer>${X}</integer>`:`<string>${
|
|
15189
|
+
${Object.entries($).map(([Y,X])=>{let Q=typeof X==="boolean"?`<${X}/>`:typeof X==="number"?`<integer>${X}</integer>`:`<string>${RQ(String(X))}</string>`;return` <key>${RQ(Y)}</key>
|
|
15190
15190
|
${Q}`}).join(`
|
|
15191
15191
|
`)}
|
|
15192
15192
|
</dict>
|
|
15193
15193
|
</plist>
|
|
15194
|
-
`}async function
|
|
15194
|
+
`}async function LH($,Z,Y,X,Q,J,G){let K=u(X,Z);p0(K,{recursive:!0});let q=u(K,"index.html");await Bun.write(q,$),t1(G,u(K,"craft.exe"));let W=`@echo off
|
|
15195
15195
|
set DIR=%~dp0
|
|
15196
15196
|
"%DIR%craft.exe" --html-file "%DIR%index.html" ^
|
|
15197
15197
|
--title "${J.window?.title||Z}" ^
|
|
@@ -15199,7 +15199,7 @@ set DIR=%~dp0
|
|
|
15199
15199
|
--height ${J.window?.height||800} ^
|
|
15200
15200
|
${J.systemTray?"--system-tray":""} ^
|
|
15201
15201
|
${J.devTools?"":"--no-devtools"}
|
|
15202
|
-
`;if(await Bun.write(u(K,`${Z}.bat`),W),Q==="zip"){let U=u(X,`${Z}-${Y}-windows.zip`),z=await
|
|
15202
|
+
`;if(await Bun.write(u(K,`${Z}.bat`),W),Q==="zip"){let U=u(X,`${Z}-${Y}-windows.zip`),z=await NH(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 FH($,Z,Y,X,Q,J,G){let K=u(X,Z);p0(K,{recursive:!0});let q=u(K,"index.html");await Bun.write(q,$);let W=u(K,"craft");t1(G,W),e1(W,493);let U=`#!/bin/bash
|
|
15203
15203
|
set -euo pipefail
|
|
15204
15204
|
DIR="$( cd "$( dirname "\${BASH_SOURCE[0]}" )" && pwd )"
|
|
15205
15205
|
exec "$DIR/craft" --html-file "$DIR/index.html" \\
|
|
@@ -15208,15 +15208,15 @@ exec "$DIR/craft" --html-file "$DIR/index.html" \\
|
|
|
15208
15208
|
--height ${J.window?.height||800} \\
|
|
15209
15209
|
${J.systemTray?"--system-tray":""} \\
|
|
15210
15210
|
${J.devTools?"":"--no-devtools"}
|
|
15211
|
-
`,z=u(K,Z.toLowerCase());await Bun.write(z,U),
|
|
15211
|
+
`,z=u(K,Z.toLowerCase());await Bun.write(z,U),e1(z,493);let _=`[Desktop Entry]
|
|
15212
15212
|
Type=Application
|
|
15213
15213
|
Name=${Z}
|
|
15214
15214
|
Exec=${z}
|
|
15215
15215
|
Terminal=false
|
|
15216
15216
|
Categories=Utility;
|
|
15217
|
-
`;if(await Bun.write(u(K,`${Z.toLowerCase()}.desktop`),_),Q==="deb"){let B=u(X,`${Z.toLowerCase()}_${Y}_amd64.deb`),j=await
|
|
15218
|
-
`)[0];if(Y&&await Bun.file(Y).exists())return Y}catch{}return null}function
|
|
15219
|
-
exec /usr/share/${Y.toLowerCase()}/${Y.toLowerCase()} "$@"`;t("fs").writeFileSync(u(q,Y.toLowerCase()),_),
|
|
15217
|
+
`;if(await Bun.write(u(K,`${Z.toLowerCase()}.desktop`),_),Q==="deb"){let B=u(X,`${Z.toLowerCase()}_${Y}_amd64.deb`),j=await TH(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 IH(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 VH($,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 wH($,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 AH(){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(Q9(),"Code/Tools/craft/packages/zig/zig-out/bin/craft"),u(Q9(),"Code/craft/packages/zig/zig-out/bin/craft"),"/usr/local/bin/craft","/usr/bin/craft",u(Q9(),".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=BH("which craft 2>/dev/null || where craft 2>nul",{encoding:"utf-8"}).trim().split(`
|
|
15218
|
+
`)[0];if(Y&&await Bun.file(Y).exists())return Y}catch{}return null}function K7(){switch(jH()){case"darwin":return"macos";case"win32":return"windows";default:return"linux"}}function RH($){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 MH($,Z,Y){return new Promise((X)=>{let Q=q7("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 NH($,Z){return new Promise((Y)=>{let X=q7("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 TH($,Z,Y,X,Q){return new Promise((J)=>{try{let G=u(NQ(),`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());p0(K,{recursive:!0}),p0(q,{recursive:!0}),p0(W,{recursive:!0}),p0(U,{recursive:!0});let z=t("fs").readdirSync($);for(let H of z)t1(u($,H),u(U,H));let _=`#!/bin/bash
|
|
15219
|
+
exec /usr/share/${Y.toLowerCase()}/${Y.toLowerCase()} "$@"`;t("fs").writeFileSync(u(q,Y.toLowerCase()),_),e1(u(q,Y.toLowerCase()),493);let B=`Package: ${Y.toLowerCase()}
|
|
15220
15220
|
Version: ${X}
|
|
15221
15221
|
Section: utils
|
|
15222
15222
|
Priority: optional
|
|
@@ -15224,16 +15224,16 @@ Architecture: amd64
|
|
|
15224
15224
|
Depends: libgtk-3-0, libwebkit2gtk-4.0-37
|
|
15225
15225
|
Maintainer: ${Q.author||"Unknown"}
|
|
15226
15226
|
Description: ${Q.description||Y}
|
|
15227
|
-
`;t("fs").writeFileSync(u(K,"control"),B);let j=
|
|
15227
|
+
`;t("fs").writeFileSync(u(K,"control"),B);let j=q7("dpkg-deb",["--build",G,Z]);j.on("close",(H)=>{if(t("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)=>{t("fs").rmSync(G,{recursive:!0,force:!0}),J({success:!1,error:H.message})})}catch(G){J({success:!1,error:G.message})}})}async function IH($,Z,Y,X){return new Promise((Q)=>{try{let J=u(NQ(),`stx-appimage-${Date.now()}`),G=u(J,`${Y}.AppDir`),K=u(G,"usr"),q=u(K,"bin"),W=u(K,"share");p0(q,{recursive:!0}),p0(W,{recursive:!0});let U=u(W,Y.toLowerCase());p0(U,{recursive:!0});let z=t("fs").readdirSync($);for(let L of z)t1(u($,L),u(U,L));let _=`#!/bin/bash
|
|
15228
15228
|
SELF=$(readlink -f "$0")
|
|
15229
15229
|
HERE=\${SELF%/*}
|
|
15230
15230
|
export PATH="\${HERE}/usr/bin:\${PATH}"
|
|
15231
15231
|
exec "\${HERE}/usr/share/${Y.toLowerCase()}/${Y.toLowerCase()}" "$@"
|
|
15232
|
-
`;t("fs").writeFileSync(u(G,"AppRun"),_),
|
|
15232
|
+
`;t("fs").writeFileSync(u(G,"AppRun"),_),e1(u(G,"AppRun"),493);let B=`[Desktop Entry]
|
|
15233
15233
|
Type=Application
|
|
15234
15234
|
Name=${Y}
|
|
15235
15235
|
Exec=${Y.toLowerCase()}
|
|
15236
15236
|
Terminal=false
|
|
15237
15237
|
Categories=Utility;
|
|
15238
15238
|
Icon=${Y.toLowerCase()}
|
|
15239
|
-
`;t("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(t("fs").writeFileSync(u(G,`${Y.toLowerCase()}.png`),j),X.icon&&
|
|
15239
|
+
`;t("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(t("fs").writeFileSync(u(G,`${Y.toLowerCase()}.png`),j),X.icon&&MQ(X.icon))t1(X.icon,u(G,`${Y.toLowerCase()}.png`));let H=q7("appimagetool",[G,Z],{env:{...process.env,ARCH:"x86_64"}});H.on("close",(L)=>{if(t("fs").rmSync(J,{recursive:!0,force:!0}),L===0)e1(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)=>{t("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 SN(){return[K7()]}function yN($){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{hH as renderSSR,xH as registerCraftComponent,bH as processCraftDirective,L9 as processCraftComponents,dH as prerenderForCraft,kH as isCraftEnvironment,K9 as injectCraftBridge,lH as getSSRCacheStats,fH as getCraftComponents,SN as getAvailableTargets,yN as getAvailableFormats,uH as generateCraftOptimizations,G9 as generateCraftBridgeScript,PH as createHotReloadServer,yH as compileToNative,WG as compileTemplate,IG as clearTemplateCache,EG as clearRenderCache,mH as clearAllCaches,bN as buildNative,kQ as NATIVE_COMPONENTS,O9 as CRAFT_COMPONENT_STYLES,vH as CRAFT_COMPONENT_RUNTIME,j7 as CRAFT_COMPONENTS,DH as CRAFT_BRIDGE_SCRIPT};
|