@stacksjs/stx 0.2.86 → 0.2.88

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.
@@ -879,7 +879,7 @@ ${U}${F}
879
879
  'use strict';
880
880
  ${X}${Y}
881
881
  ${U}
882
- })()</script>`}var PF,dF,uF,mF,iF,oF;var K5=D(()=>{N0();PF=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;dF=["state","derived","effect","batch","untrack","peek","isSignal","isDerived","onMount","onDestroy","useRef","navigate","goBack","goForward","useRoute","setRouteParams","useSearchParams","useFetch","useQuery","useMutation","useOptimistic","useReactiveProp","useLocalStorage","useSessionStorage","useCookie","useWebSocket","useHead","useSeoMeta","definePageMeta","useEventListener","useMeta","useDebounce","useDebouncedValue","useThrottle","useInterval","useTimeout","useToggle","useCounter","useClickOutside","useFocus","useAsync","useColorMode","useDark","ref","reactive","computed","watch","watchEffect","watchMultiple","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onUnmounted","defineProps","withDefaults","defineEmits","defineExpose","defineSlots","provide","inject","nextTick","getCurrentInstance","onErrorCaptured","useSlots","useAttrs","createStore","defineStore","useStore","action","createSelector","h","Fragment"],uF=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser"],mF=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"]);iF={left:0,middle:1,right:2};oF=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 ZV($){let Z="",Y=null,X=!1;for(let J=0;J<$.length;J++){let Q=$[J];if(X){X=!1;continue}if(Q==="\\"&&Y){X=!0;continue}if(Y){if(Y==="`"&&Q==="$"&&J+1<$.length&&$[J+1]==="{"){let G=1;J+=2;while(J<$.length&&G>0){if($[J]==="{")G++;else if($[J]==="}")G--;if(G>0)Z+=$[J],J++}continue}if(Q===Y)Y=null;continue}if(Q==='"'||Q==="'"||Q==="`"){Y=Q;continue}Z+=Q}return Z}function YV($,Z){let Y=/[$A-Z_a-z][$\w]*/g,X;while((X=Y.exec($))!==null){let J=X[0],Q=$[X.index-1];if(eF.has(J))throw Error(`Potentially unsafe expression (matched /\\b${J}\\b/; identifier ${J}): ${Z}`);if(Q==="."&&AK.has(J))throw Error(`Potentially unsafe expression (matched /.${J}/; property ${J}): ${Z}`)}}function XV($){let Z=/\[\s*(['"])(.*?)\1\s*\]/g,Y;while((Y=Z.exec($))!==null){let X=Y[2];if(!AK.has(X))continue;let J=$.slice(0,Y.index).match(/\S(?=\s*$)/)?.[0],Q=$.slice(Y.index+Y[0].length).match(/^\s*(\S)/)?.[1];if(!((J==="{"||J===",")&&Q===":"))throw Error(`Potentially unsafe expression (bracket key ${Y[2]}): ${$}`)}}function R3($){let Z=$.trim(),Y=ZV(Z);YV(Y,Z),XV(Z);for(let X of NK)if(X.test(Y))throw Error(`Potentially unsafe expression (matched /${X.source}/): ${Z}`);if(!VK.allowBracketNotation&&$V.test(Z))throw Error(`Bracket notation with strings not allowed: ${Z}. Enable with configureSafeEvaluator({ allowBracketNotation: true })`);return Z}function JV($){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("__")||NK.some((J)=>J.test(Y)))continue;if(X&&typeof X==="object"&&!Array.isArray(X))Z[Y]=EY(X);else Z[Y]=X}return Z}function EY($,Z=0){if(Z>=VK.maxSanitizeDepth)return"[Object too deep]";if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((X)=>EY(X,Z+1));if($ instanceof Date||$ instanceof RegExp||$ instanceof Map||$ instanceof Set||$ instanceof Error)return $;let Y={};for(let[X,J]of Object.entries($)){if(X.startsWith("__")||X==="constructor"||X==="prototype")continue;if(J&&typeof J==="object")Y[X]=EY(J,Z+1);else Y[X]=J}return Y}function z0($,Z){try{let Y=JV(Z),X=Object.keys(Y),J=Object.values(Y);return O0($,X)(...J)}catch{return}}function H0($){try{return R3($),!0}catch{return!1}}function P0($,Z){try{let Y=z0($,Z);if(Y&&typeof Y==="object"&&!Array.isArray(Y))return Y;return{}}catch{return{}}}function O0($,Z){let Y=R3($),X=/^[A-Za-z_$][\w$]*$/,J=[],Q=[];for(let U=0;U<Z.length;U++){let B=Z[U];if(!X.test(B))continue;if(wK.has(B))continue;J.push(U),Q.push(B)}let G=(U)=>Function(...Q,...U,`
882
+ })()</script>`}var PF,dF,uF,mF,iF,oF;var K5=D(()=>{A0();PF=/^[ \t]*import\s+['"]([^'"]+?\.css)(\?[^'"]*)?['"]\s*;?\s*$/gm;dF=["state","derived","effect","batch","untrack","peek","isSignal","isDerived","onMount","onDestroy","useRef","navigate","goBack","goForward","useRoute","setRouteParams","useSearchParams","useFetch","useQuery","useMutation","useOptimistic","useReactiveProp","useLocalStorage","useSessionStorage","useCookie","useWebSocket","useHead","useSeoMeta","definePageMeta","useEventListener","useMeta","useDebounce","useDebouncedValue","useThrottle","useInterval","useTimeout","useToggle","useCounter","useClickOutside","useFocus","useAsync","useColorMode","useDark","ref","reactive","computed","watch","watchEffect","watchMultiple","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onUnmounted","defineProps","withDefaults","defineEmits","defineExpose","defineSlots","provide","inject","nextTick","getCurrentInstance","onErrorCaptured","useSlots","useAttrs","createStore","defineStore","useStore","action","createSelector","h","Fragment"],uF=["browserQuery","BrowserQueryBuilder","BrowserQueryError","browserAuth","configureBrowser","getBrowserConfig","createBrowserDb","createBrowserModel","isBrowser"],mF=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"]);iF={left:0,middle:1,right:2};oF=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 ZV($){let Z="",Y=null,X=!1;for(let J=0;J<$.length;J++){let Q=$[J];if(X){X=!1;continue}if(Q==="\\"&&Y){X=!0;continue}if(Y){if(Y==="`"&&Q==="$"&&J+1<$.length&&$[J+1]==="{"){let G=1;J+=2;while(J<$.length&&G>0){if($[J]==="{")G++;else if($[J]==="}")G--;if(G>0)Z+=$[J],J++}continue}if(Q===Y)Y=null;continue}if(Q==='"'||Q==="'"||Q==="`"){Y=Q;continue}Z+=Q}return Z}function YV($,Z){let Y=/[$A-Z_a-z][$\w]*/g,X;while((X=Y.exec($))!==null){let J=X[0],Q=$[X.index-1];if(eF.has(J))throw Error(`Potentially unsafe expression (matched /\\b${J}\\b/; identifier ${J}): ${Z}`);if(Q==="."&&AK.has(J))throw Error(`Potentially unsafe expression (matched /.${J}/; property ${J}): ${Z}`)}}function XV($){let Z=/\[\s*(['"])(.*?)\1\s*\]/g,Y;while((Y=Z.exec($))!==null){let X=Y[2];if(!AK.has(X))continue;let J=$.slice(0,Y.index).match(/\S(?=\s*$)/)?.[0],Q=$.slice(Y.index+Y[0].length).match(/^\s*(\S)/)?.[1];if(!((J==="{"||J===",")&&Q===":"))throw Error(`Potentially unsafe expression (bracket key ${Y[2]}): ${$}`)}}function R3($){let Z=$.trim(),Y=ZV(Z);YV(Y,Z),XV(Z);for(let X of NK)if(X.test(Y))throw Error(`Potentially unsafe expression (matched /${X.source}/): ${Z}`);if(!VK.allowBracketNotation&&$V.test(Z))throw Error(`Bracket notation with strings not allowed: ${Z}. Enable with configureSafeEvaluator({ allowBracketNotation: true })`);return Z}function JV($){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("__")||NK.some((J)=>J.test(Y)))continue;if(X&&typeof X==="object"&&!Array.isArray(X))Z[Y]=EY(X);else Z[Y]=X}return Z}function EY($,Z=0){if(Z>=VK.maxSanitizeDepth)return"[Object too deep]";if($===null||typeof $!=="object")return $;if(Array.isArray($))return $.map((X)=>EY(X,Z+1));if($ instanceof Date||$ instanceof RegExp||$ instanceof Map||$ instanceof Set||$ instanceof Error)return $;let Y={};for(let[X,J]of Object.entries($)){if(X.startsWith("__")||X==="constructor"||X==="prototype")continue;if(J&&typeof J==="object")Y[X]=EY(J,Z+1);else Y[X]=J}return Y}function z0($,Z){try{let Y=JV(Z),X=Object.keys(Y),J=Object.values(Y);return L0($,X)(...J)}catch{return}}function O0($){try{return R3($),!0}catch{return!1}}function P0($,Z){try{let Y=z0($,Z);if(Y&&typeof Y==="object"&&!Array.isArray(Y))return Y;return{}}catch{return{}}}function L0($,Z){let Y=R3($),X=/^[A-Za-z_$][\w$]*$/,J=[],Q=[];for(let U=0;U<Z.length;U++){let B=Z[U];if(!X.test(B))continue;if(wK.has(B))continue;J.push(U),Q.push(B)}let G=(U)=>Function(...Q,...U,`
883
883
  'use strict';
884
884
  try {
885
885
  return ${Y};
@@ -890,7 +890,7 @@ catch (e) {
890
890
  }
891
891
  throw e;
892
892
  }
893
- `),K=G([]);if(Q.length===Z.length)return FK(K,Q,G);return FK((...U)=>{let B=Array(J.length);for(let _=0;_<J.length;_++)B[_]=U[J[_]];return K(...B)},Q,G,(U)=>{K=G(U)})}function FK($,Z,Y,X){let Q=/^(\w+) is not defined$/,G=$,K=[],W=new Set(Z);return(...U)=>{for(let B=0;B<=8;B++)try{return G(...U)}catch(_){let z=_ instanceof Error?_.message:"",q=Q.exec(z);if(!(_ instanceof ReferenceError)||!q)return;let j=q[1];if(W.has(j)||wK.has(j))return;W.add(j),K.push(j),G=Y(K),X?.(K)}return}}function M3($){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 tF,VK,NK,eF,AK,$V,wK;var h0=D(()=>{tF={maxSanitizeDepth:10,allowBracketNotation:!1},VK={...tF},NK=[/\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/],eF=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"]),AK=new Set(["__proto__","constructor","prototype"]),$V=/[\w)\]]\s*\[\s*['"]/;wK=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 DY(){RK=0,T3.clear()}function U4($,Z){let Y=RK++,X=`<!--__STX_${$.toUpperCase()}_${Y}__-->`;return T3.set(X,{type:$,expression:Z}),X}function kY(){let $={};for(let[Z,Y]of T3)$[Z]={type:Y.type,expression:Y.expression};return $}function QV($){let Z={},Y=/<!--__STX_(EXPR|COND|RAW)_(\d+)__-->/g,X;while((X=Y.exec($))!==null){let J=X[0],Q=X[1].toLowerCase(),G=T3.get(J);Z[J]={type:Q,expression:G?.expression||""}}return Z}function I3($,Z){let Y=$;for(let[X,J]of Z)Y=Y.split(X).join(J);return Y}function x5($){return $.includes("<!--__STX_")}var RK=0,T3;var B4=D(()=>{T3=new Map});function MK($,Z,Y,X){Y.lastIndex=Z;let J=Y.exec($);if(!J||J.index!==Z)return-1;X.lastIndex=Y.lastIndex;let Q=X.exec($);if(!Q)return-1;return Q.index+Q[0].length}function E3($,Z){return MK($,Z,GV,KV)}function TK($,Z){return MK($,Z,WV,UV)}function IK($,Z){if(!$.startsWith("<!--",Z))return-1;let Y=$.indexOf("-->",Z+4);if(Y===-1)return-1;return Y+3}function _4($,Z,Y){let X=[],J="",Q=0,G=$.length,K=!1,W=null;while(Q<G){let U=$[Q];if(K){if(J+=U,W){if(U===W)W=null}else if(U==='"'||U==="'")W=U;else if(U===">")K=!1;Q++;continue}if(U==="<"){let B=Z($,Q);if(B>Q){J+=Y($.slice(Q,B),X.length),X.push($.slice(Q,B)),Q=B;continue}if(/^<\/?[a-zA-Z]/.test($.slice(Q,Q+2)))K=!0;J+=U,Q++;continue}J+=U,Q++}return{output:J,tokens:X}}function SY($){let{output:Z,tokens:Y}=_4($,E3,(X,J)=>`\x00STX_SCRIPT_${J}\x00`);return{output:Z,scripts:Y}}function bY($,Z){if(Z.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Y,X)=>Z[+X]??"")}var GV,KV,WV,UV;var D3=D(()=>{GV=/<script\b[^>]*>/iy,KV=/<\/script\s*>/ig,WV=/<style\b[^>]*>/iy,UV=/<\/style\s*>/ig});var q4={};Z0(q4,{usesSignalsInScript:()=>W5,unescapeHtml:()=>k3,registerFilters:()=>kK,registerFilter:()=>CY,processExpressions:()=>G1,interpolateScriptsInTemplate:()=>bK,interpolateScriptExpressions:()=>PY,getAllFilters:()=>yY,evaluateExpression:()=>o0,escapeHtml:()=>E0,defaultFilters:()=>v5,clearCustomFilters:()=>SK,applyFilters:()=>xY});function BV($){let Z=EK.get($);if(!Z){let Y=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${Y}(?!\\w)`,"g"),EK.set($,Z)}return Z.lastIndex=0,Z}function CY($,Z){if($ in v5)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);z4[$]=Z}function kK($){for(let[Z,Y]of Object.entries($))CY(Z,Y)}function yY(){return{...v5,...z4}}function SK(){for(let $ of Object.keys(z4))delete z4[$]}function E0($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function W5($){let Z=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,Y;while((Y=Z.exec($))!==null){let X=Y[1];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(X))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test($))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test($))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test($))return!0;return!1}function DK($,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,""),J="",Q=!1,G=0;for(let U=0;U<X.length;U++){let B=X[U];if(!Q&&B==="`"){Q=!0,G=0;continue}if(Q){if(B==="`"&&G===0){Q=!1;continue}if(B==="$"&&X[U+1]==="{"){G++,U++;continue}if(B==="}"&&G>0){G--;continue}continue}J+=B}X=J;let K=/\b([a-zA-Z_$][a-zA-Z0-9_$]*)\b/g,W;while((W=K.exec(X))!==null){let U=W[1];if(!X.substring(0,W.index).trimEnd().endsWith(".")){if(!Y.includes(U)&&!(U in Z))return!1}}return!0}function PY($,Z){let Y=$;return Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(X,J)=>{try{let Q=o0(J,Z);if(Q===void 0)return X;return Q===null?"":String(Q)}catch{return X}}),Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(X,J)=>{let Q=J.trim();if(/^__[A-Z_]+__$/.test(Q))return X;try{let G=o0(J,Z);if(G===void 0)return X;return JSON.stringify(G)}catch{return X}}),Y}function bK($,Z,Y={}){return $.replace(/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,(X,J,Q)=>{if(/\bsrc\s*=/.test(J))return X;if(/\bdata-raw\b/.test(J))return X;if(/\btype\s*=\s*["']application\/json["']/.test(J))return X;if(Y.skipServer&&/\bserver\b/.test(J))return X;let G=PY(Q,Z);return`<script${J}>${G}</script>`})}function G1($,Z,Y,X){let J=$,Q=(B,_)=>{let z=TK(B,_);if(z===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(B.slice(_,z))?-1:z},G=(B,_,z,q)=>{let j=z.length,{output:H,tokens:O}=_4(B,_,(F,L)=>q(j+L));return z.push(...O),H},K=[];J=G(J,Q,K,(B)=>`<!--__STX_STYLE_${B}__-->`);let W=[];J=G(J,E3,W,(B)=>`<!--__STX_SCRIPT_EXPR_${B}__-->`);let U=X?.forceSignals===!0||W5($);J=J.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(B,_,z)=>{try{let q=o0(_,Z);return q!==void 0&&q!==null?String(q):""}catch(q){let j=q instanceof Error?q.message:String(q);return L0("Expression",`Error evaluating: {{{ ${_.trim()}}}}: ${j}`,Y,$,z,B)}}),J=J.replace(/\{!!([\s\S]*?)!!\}/g,(B,_,z)=>{try{let q=o0(_,Z);if(q===void 0&&Z.__stx_buildMode==="compile")return U4("raw",_.trim());return q!==void 0&&q!==null?String(q):""}catch(q){if(Z.__stx_buildMode==="compile")return U4("raw",_.trim());let j=q instanceof Error?q.message:String(q);return L0("Expression",`Error evaluating: {!! ${_.trim()} !!}: ${j}`,Y,$,z,B)}}),J=G(J,E3,W,(B)=>`<!--__STX_SCRIPT_EXPR_${B}__-->`),J=G(J,Q,K,(B)=>`<!--__STX_STYLE_${B}__-->`),J=J.replace(/\{\{([\s\S]*?)\}\}/g,(B,_,z)=>{let q=_.trim(),j=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],H=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,F=q.match(H)?.[1],L=F&&((F in Z)||j.includes(F)),V=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,N=q.match(V),A=N&&!j.includes(N[1])&&!(N[1]in Z);if(/^__[A-Z_]+__$/.test(q))return"";try{let w=o0(_,Z);if(w===void 0&&U&&!DK(q,Z))return B;if(w===void 0&&Z.__stx_buildMode==="compile"&&!U)return U4("expr",q);return w!==void 0&&w!==null?E0(String(w)):""}catch(w){if(U&&!DK(q,Z))return B;if(A)return B;let R=w instanceof Error?w.message:String(w);return L0("Expression",`Error evaluating: {{ ${q} }}: ${R}`,Y,$,z,B)}});for(let B=0;B<W.length;B++)J=J.replace(`<!--__STX_SCRIPT_EXPR_${B}__-->`,()=>W[B]);for(let B=0;B<K.length;B++)J=J.replace(`<!--__STX_STYLE_${B}__-->`,()=>K[B]);return J}function xY($,Z,Y){if(!Z.trim())return $;let X=$,J=Z.trim();while(J.length>0){let Q=J.match(/^(\w+)/);if(!Q)break;let G=Q[1];J=J.substring(G.length).trim();let K=z4[G]||v5[G];if(!K)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(yY()).join(", ")}`);let W=[];if(J.startsWith(":")){let U=J.match(/^:([^|\s]+)/);if(U){let B=U[1].trim();try{let _=Number(B);W=[Number.isNaN(_)?B:_]}catch{W=[B]}J=J.substring(U[0].length).trim()}}else if(J.startsWith("(")){let U=1,B=1;while(U>0&&B<J.length){if(J[B]==="(")U++;if(J[B]===")")U--;B++}if(U===0){let _=J.substring(1,B-1).trim();if(_)try{if(_.startsWith("{")&&_.endsWith("}"))W=[o0(`(${_})`,Y,!0)];else{let z=[],q="",j=null,H=0,O=0,F=0,L=!1;for(let V=0;V<_.length;V++){let N=_[V];if(L){q+=N,L=!1;continue}if(N==="\\"){q+=N,L=!0;continue}if(j){if(q+=N,N===j)j=null;continue}if(N==='"'||N==="'"||N==="`"){j=N,q+=N;continue}if(N==="(")H++;else if(N===")")H--;else if(N==="[")O++;else if(N==="]")O--;else if(N==="{")F++;else if(N==="}")F--;if(N===","&&H===0&&O===0&&F===0){z.push(q),q="";continue}q+=N}if(q)z.push(q);W=z.map((V)=>{let N=V.trim();return o0(N,Y,!0)})}}catch{W=[_]}J=J.substring(B).trim()}}try{X=K(X,Y,...W)}catch(U){let B=U instanceof Error?U.message:String(U);throw Error(`Error applying filter '${G}': ${B}`)}if(J.startsWith("|"))J=J.substring(1).trim();else break}return X}function _V($){let Z=!1,Y="",X=0,J=0,Q=0,G=!1;for(let K=0;K<$.length;K++){let W=$[K],U=$[K+1];if(Z&&G){G=!1;continue}if(Z&&W==="\\"){G=!0;continue}if(G=!1,(W==='"'||W==="'"||W==="`")&&!G){if(!Z)Z=!0,Y=W;else if(W===Y)Z=!1,Y="";continue}if(Z&&Y==="`"&&W==="$"&&U==="{"){let B=1;K+=2;while(K<$.length&&B>0){if($[K]==="{")B++;else if($[K]==="}")B--;if(B>0)K++}continue}if(Z)continue;if(W==="(")X++;else if(W===")")X--;else if(W==="[")J++;else if(W==="]")J--;else if(W==="{")Q++;else if(W==="}")Q--;if(W==="|"&&X===0&&J===0&&Q===0){if(U==="|"){K++;continue}if(U==="="){K++;continue}return K}}return-1}function o0($,Z,Y=!1){try{let X=$.trim(),J=_V(X);if(J>0){let Q=X.substring(0,J).trim(),G=X.substring(J+1).trim(),K=o0(Q,Z,!0);return xY(K,G,Z)}if(!H0(X)){if(!Y)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${X}`);return z0(X,Z)}try{let Q=Object.keys(Z),G=Object.values(Z);return O0(X,Q)(...G)}catch{return z0(X,Z)}}catch(X){if(X instanceof ReferenceError){let J=/(\b\w+)\s+is not defined/.exec(X.message);if(J){let Q=J[1],G=zV(Q,Object.keys(Z));if(G&&G!==Q)X.message=`${X.message} \u2014 did you mean '${G}'?`}}if(!Y)console.error(`Error evaluating expression: ${$}`,X);throw X}}function zV($,Z){let Y=null;for(let J of Z){if(J===$)continue;let Q=qV($,J);if(Y===null||Q<Y.dist)Y={key:J,dist:Q}}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 qV($,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,$],J=Array(Y.length+1),Q=Array(Y.length+1);for(let G=0;G<=Y.length;G++)J[G]=G;for(let G=1;G<=X.length;G++){Q[0]=G;for(let K=1;K<=Y.length;K++){let W=Y[K-1]===X[G-1]?0:1;Q[K]=Math.min(Q[K-1]+1,J[K]+1,J[K-1]+W)}for(let K=0;K<=Y.length;K++)J[K]=Q[K]}return J[Y.length]}function k3($){if(!$)return"";return $.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#039;/g,"'").replace(/&#39;/g,"'").replace(/&amp;/g,"&")}var z4,EK,v5;var c0=D(()=>{h0();N0();B4();D3();z4={},EK=new Map;v5={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 E0(String($))},translate:($,Z,Y={})=>{if(!Z||!Z.__translations)return $;let X=Z.__translations,J=Z.__i18nConfig?.fallbackToKey??!0,Q=String($).split("."),G=X;for(let W of Q){if(G===void 0||G===null)break;G=G[W]}if(G===void 0||G===null)return J?$:"";let K=String(G);return Object.entries(Y).forEach(([W,U])=>{K=K.replace(BV(W),String(U))}),K},t:($,Z,Y={})=>{return v5.translate($,Z,Y)},truncate:($,Z,Y=50,X="...")=>{if($===void 0||$===null)return"";let J=String($);if(J.length<=Y)return J;if(Y<=X.length)return X.substring(0,Y);return J.substring(0,Y-X.length)+X},date:($,Z,Y="short",X="en-US")=>{if($===void 0||$===null)return"";try{let J=$ instanceof Date?$:new Date($);if(Number.isNaN(J.getTime()))return String($);let Q={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"},time:{timeStyle:"short"},datetime:{dateStyle:"short",timeStyle:"short"},iso:{}};if(Y==="iso")return J.toISOString();return new Intl.DateTimeFormat(X,Q[Y]||Q.short).format(J)}catch{return String($)}},currency:($,Z,Y="USD",X="en-US")=>{if($===void 0||$===null)return"";try{let J=Number($);if(Number.isNaN(J))return String($);return new Intl.NumberFormat(X,{style:"currency",currency:Y}).format(J)}catch{return String($)}},pluralize:($,Z,Y,X)=>{let J=Number($);if(Number.isNaN(J))return Y;let Q=X||`${Y}s`;return J===1?Y:Q},first:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[0];return String($).charAt(0)},last:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[$.length-1];let Y=String($);return Y.charAt(Y.length-1)},length:($,Z)=>{if($===void 0||$===null)return 0;if(Array.isArray($)||typeof $==="string")return $.length;if($ instanceof Map||$ instanceof Set)return $.size;if(typeof $==="object")return Object.keys($).length;return 0},json:($,Z,Y=!1)=>{if($===void 0)return"undefined";if($===null)return"null";try{return Y?JSON.stringify($,null,2):JSON.stringify($)}catch{return String($)}},default:($,Z,Y="")=>{return $===void 0||$===null||$===""?Y:$},reverse:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return[...$].reverse();return String($).split("").reverse().join("")},slice:($,Z,Y=0,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 J=Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(J,"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 J=10**Y;return Math.round(X*J)/J}}});class j4{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 g5($,Z){if(Z?.includes("g"))return new RegExp($,Z);let Y=`${$}:${Z||""}`;if(!f5.has(Y)){if(f5.size>=jV){let X=f5.keys().next().value;if(X)f5.delete(X)}f5.set(Y,new RegExp($,Z))}return f5.get(Y)}class CK{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 J=this.fnCache,Q=this.fnCacheMaxSize,G=(...K)=>{return(W)=>{try{let U=`${Y}:${W}`,B=J.get(U);if(!B){if(J.size>=Q){let _=J.keys().next().value;if(_)J.delete(_)}B=Function(...Z,`
893
+ `),K=G([]);if(Q.length===Z.length)return FK(K,Q,G);return FK((...U)=>{let B=Array(J.length);for(let _=0;_<J.length;_++)B[_]=U[J[_]];return K(...B)},Q,G,(U)=>{K=G(U)})}function FK($,Z,Y,X){let Q=/^(\w+) is not defined$/,G=$,K=[],W=new Set(Z);return(...U)=>{for(let B=0;B<=8;B++)try{return G(...U)}catch(_){let z=_ instanceof Error?_.message:"",q=Q.exec(z);if(!(_ instanceof ReferenceError)||!q)return;let j=q[1];if(W.has(j)||wK.has(j))return;W.add(j),K.push(j),G=Y(K),X?.(K)}return}}function M3($){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 tF,VK,NK,eF,AK,$V,wK;var h0=D(()=>{tF={maxSanitizeDepth:10,allowBracketNotation:!1},VK={...tF},NK=[/\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/],eF=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"]),AK=new Set(["__proto__","constructor","prototype"]),$V=/[\w)\]]\s*\[\s*['"]/;wK=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 DY(){RK=0,T3.clear()}function U4($,Z){let Y=RK++,X=`<!--__STX_${$.toUpperCase()}_${Y}__-->`;return T3.set(X,{type:$,expression:Z}),X}function kY(){let $={};for(let[Z,Y]of T3)$[Z]={type:Y.type,expression:Y.expression};return $}function QV($){let Z={},Y=/<!--__STX_(EXPR|COND|RAW)_(\d+)__-->/g,X;while((X=Y.exec($))!==null){let J=X[0],Q=X[1].toLowerCase(),G=T3.get(J);Z[J]={type:Q,expression:G?.expression||""}}return Z}function I3($,Z){let Y=$;for(let[X,J]of Z)Y=Y.split(X).join(J);return Y}function x5($){return $.includes("<!--__STX_")}var RK=0,T3;var B4=D(()=>{T3=new Map});function MK($,Z,Y,X){Y.lastIndex=Z;let J=Y.exec($);if(!J||J.index!==Z)return-1;X.lastIndex=Y.lastIndex;let Q=X.exec($);if(!Q)return-1;return Q.index+Q[0].length}function E3($,Z){return MK($,Z,GV,KV)}function TK($,Z){return MK($,Z,WV,UV)}function IK($,Z){if(!$.startsWith("<!--",Z))return-1;let Y=$.indexOf("-->",Z+4);if(Y===-1)return-1;return Y+3}function _4($,Z,Y){let X=[],J="",Q=0,G=$.length,K=!1,W=null;while(Q<G){let U=$[Q];if(K){if(J+=U,W){if(U===W)W=null}else if(U==='"'||U==="'")W=U;else if(U===">")K=!1;Q++;continue}if(U==="<"){let B=Z($,Q);if(B>Q){J+=Y($.slice(Q,B),X.length),X.push($.slice(Q,B)),Q=B;continue}if(/^<\/?[a-zA-Z]/.test($.slice(Q,Q+2)))K=!0;J+=U,Q++;continue}J+=U,Q++}return{output:J,tokens:X}}function SY($){let{output:Z,tokens:Y}=_4($,E3,(X,J)=>`\x00STX_SCRIPT_${J}\x00`);return{output:Z,scripts:Y}}function bY($,Z){if(Z.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(Y,X)=>Z[+X]??"")}var GV,KV,WV,UV;var D3=D(()=>{GV=/<script\b[^>]*>/iy,KV=/<\/script\s*>/ig,WV=/<style\b[^>]*>/iy,UV=/<\/style\s*>/ig});var q4={};Z0(q4,{usesSignalsInScript:()=>W5,unescapeHtml:()=>k3,registerFilters:()=>kK,registerFilter:()=>CY,processExpressions:()=>G1,interpolateScriptsInTemplate:()=>bK,interpolateScriptExpressions:()=>PY,getAllFilters:()=>yY,evaluateExpression:()=>o0,escapeHtml:()=>E0,defaultFilters:()=>v5,clearCustomFilters:()=>SK,applyFilters:()=>xY});function BV($){let Z=EK.get($);if(!Z){let Y=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${Y}(?!\\w)`,"g"),EK.set($,Z)}return Z.lastIndex=0,Z}function CY($,Z){if($ in v5)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);z4[$]=Z}function kK($){for(let[Z,Y]of Object.entries($))CY(Z,Y)}function yY(){return{...v5,...z4}}function SK(){for(let $ of Object.keys(z4))delete z4[$]}function E0($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function W5($){let Z=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,Y;while((Y=Z.exec($))!==null){let X=Y[1];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(X))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test($))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test($))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test($))return!0;return!1}function DK($,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,""),J="",Q=!1,G=0;for(let U=0;U<X.length;U++){let B=X[U];if(!Q&&B==="`"){Q=!0,G=0;continue}if(Q){if(B==="`"&&G===0){Q=!1;continue}if(B==="$"&&X[U+1]==="{"){G++,U++;continue}if(B==="}"&&G>0){G--;continue}continue}J+=B}X=J;let K=/\b([a-zA-Z_$][a-zA-Z0-9_$]*)\b/g,W;while((W=K.exec(X))!==null){let U=W[1];if(!X.substring(0,W.index).trimEnd().endsWith(".")){if(!Y.includes(U)&&!(U in Z))return!1}}return!0}function PY($,Z){let Y=$;return Y=Y.replace(/\{!!([\s\S]*?)!!\}/g,(X,J)=>{try{let Q=o0(J,Z);if(Q===void 0)return X;return Q===null?"":String(Q)}catch{return X}}),Y=Y.replace(/\{\{([\s\S]*?)\}\}/g,(X,J)=>{let Q=J.trim();if(/^__[A-Z_]+__$/.test(Q))return X;try{let G=o0(J,Z);if(G===void 0)return X;return JSON.stringify(G)}catch{return X}}),Y}function bK($,Z,Y={}){return $.replace(/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,(X,J,Q)=>{if(/\bsrc\s*=/.test(J))return X;if(/\bdata-raw\b/.test(J))return X;if(/\btype\s*=\s*["']application\/json["']/.test(J))return X;if(Y.skipServer&&/\bserver\b/.test(J))return X;let G=PY(Q,Z);return`<script${J}>${G}</script>`})}function G1($,Z,Y,X){let J=$,Q=(B,_)=>{let z=TK(B,_);if(z===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(B.slice(_,z))?-1:z},G=(B,_,z,q)=>{let j=z.length,{output:H,tokens:O}=_4(B,_,(F,L)=>q(j+L));return z.push(...O),H},K=[];J=G(J,Q,K,(B)=>`<!--__STX_STYLE_${B}__-->`);let W=[];J=G(J,E3,W,(B)=>`<!--__STX_SCRIPT_EXPR_${B}__-->`);let U=X?.forceSignals===!0||W5($);J=J.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(B,_,z)=>{try{let q=o0(_,Z);return q!==void 0&&q!==null?String(q):""}catch(q){let j=q instanceof Error?q.message:String(q);return F0("Expression",`Error evaluating: {{{ ${_.trim()}}}}: ${j}`,Y,$,z,B)}}),J=J.replace(/\{!!([\s\S]*?)!!\}/g,(B,_,z)=>{try{let q=o0(_,Z);if(q===void 0&&Z.__stx_buildMode==="compile")return U4("raw",_.trim());return q!==void 0&&q!==null?String(q):""}catch(q){if(Z.__stx_buildMode==="compile")return U4("raw",_.trim());let j=q instanceof Error?q.message:String(q);return F0("Expression",`Error evaluating: {!! ${_.trim()} !!}: ${j}`,Y,$,z,B)}}),J=G(J,E3,W,(B)=>`<!--__STX_SCRIPT_EXPR_${B}__-->`),J=G(J,Q,K,(B)=>`<!--__STX_STYLE_${B}__-->`),J=J.replace(/\{\{([\s\S]*?)\}\}/g,(B,_,z)=>{let q=_.trim(),j=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined"],H=/^([a-zA-Z_$][a-zA-Z0-9_$]*)/,F=q.match(H)?.[1],L=F&&((F in Z)||j.includes(F)),V=/^([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/,N=q.match(V),A=N&&!j.includes(N[1])&&!(N[1]in Z);if(/^__[A-Z_]+__$/.test(q))return"";try{let w=o0(_,Z);if(w===void 0&&U&&!DK(q,Z))return B;if(w===void 0&&Z.__stx_buildMode==="compile"&&!U)return U4("expr",q);return w!==void 0&&w!==null?E0(String(w)):""}catch(w){if(U&&!DK(q,Z))return B;if(A)return B;let R=w instanceof Error?w.message:String(w);return F0("Expression",`Error evaluating: {{ ${q} }}: ${R}`,Y,$,z,B)}});for(let B=0;B<W.length;B++)J=J.replace(`<!--__STX_SCRIPT_EXPR_${B}__-->`,()=>W[B]);for(let B=0;B<K.length;B++)J=J.replace(`<!--__STX_STYLE_${B}__-->`,()=>K[B]);return J}function xY($,Z,Y){if(!Z.trim())return $;let X=$,J=Z.trim();while(J.length>0){let Q=J.match(/^(\w+)/);if(!Q)break;let G=Q[1];J=J.substring(G.length).trim();let K=z4[G]||v5[G];if(!K)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(yY()).join(", ")}`);let W=[];if(J.startsWith(":")){let U=J.match(/^:([^|\s]+)/);if(U){let B=U[1].trim();try{let _=Number(B);W=[Number.isNaN(_)?B:_]}catch{W=[B]}J=J.substring(U[0].length).trim()}}else if(J.startsWith("(")){let U=1,B=1;while(U>0&&B<J.length){if(J[B]==="(")U++;if(J[B]===")")U--;B++}if(U===0){let _=J.substring(1,B-1).trim();if(_)try{if(_.startsWith("{")&&_.endsWith("}"))W=[o0(`(${_})`,Y,!0)];else{let z=[],q="",j=null,H=0,O=0,F=0,L=!1;for(let V=0;V<_.length;V++){let N=_[V];if(L){q+=N,L=!1;continue}if(N==="\\"){q+=N,L=!0;continue}if(j){if(q+=N,N===j)j=null;continue}if(N==='"'||N==="'"||N==="`"){j=N,q+=N;continue}if(N==="(")H++;else if(N===")")H--;else if(N==="[")O++;else if(N==="]")O--;else if(N==="{")F++;else if(N==="}")F--;if(N===","&&H===0&&O===0&&F===0){z.push(q),q="";continue}q+=N}if(q)z.push(q);W=z.map((V)=>{let N=V.trim();return o0(N,Y,!0)})}}catch{W=[_]}J=J.substring(B).trim()}}try{X=K(X,Y,...W)}catch(U){let B=U instanceof Error?U.message:String(U);throw Error(`Error applying filter '${G}': ${B}`)}if(J.startsWith("|"))J=J.substring(1).trim();else break}return X}function _V($){let Z=!1,Y="",X=0,J=0,Q=0,G=!1;for(let K=0;K<$.length;K++){let W=$[K],U=$[K+1];if(Z&&G){G=!1;continue}if(Z&&W==="\\"){G=!0;continue}if(G=!1,(W==='"'||W==="'"||W==="`")&&!G){if(!Z)Z=!0,Y=W;else if(W===Y)Z=!1,Y="";continue}if(Z&&Y==="`"&&W==="$"&&U==="{"){let B=1;K+=2;while(K<$.length&&B>0){if($[K]==="{")B++;else if($[K]==="}")B--;if(B>0)K++}continue}if(Z)continue;if(W==="(")X++;else if(W===")")X--;else if(W==="[")J++;else if(W==="]")J--;else if(W==="{")Q++;else if(W==="}")Q--;if(W==="|"&&X===0&&J===0&&Q===0){if(U==="|"){K++;continue}if(U==="="){K++;continue}return K}}return-1}function o0($,Z,Y=!1){try{let X=$.trim(),J=_V(X);if(J>0){let Q=X.substring(0,J).trim(),G=X.substring(J+1).trim(),K=o0(Q,Z,!0);return xY(K,G,Z)}if(!O0(X)){if(!Y)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${X}`);return z0(X,Z)}try{let Q=Object.keys(Z),G=Object.values(Z);return L0(X,Q)(...G)}catch{return z0(X,Z)}}catch(X){if(X instanceof ReferenceError){let J=/(\b\w+)\s+is not defined/.exec(X.message);if(J){let Q=J[1],G=zV(Q,Object.keys(Z));if(G&&G!==Q)X.message=`${X.message} \u2014 did you mean '${G}'?`}}if(!Y)console.error(`Error evaluating expression: ${$}`,X);throw X}}function zV($,Z){let Y=null;for(let J of Z){if(J===$)continue;let Q=qV($,J);if(Y===null||Q<Y.dist)Y={key:J,dist:Q}}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 qV($,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,$],J=Array(Y.length+1),Q=Array(Y.length+1);for(let G=0;G<=Y.length;G++)J[G]=G;for(let G=1;G<=X.length;G++){Q[0]=G;for(let K=1;K<=Y.length;K++){let W=Y[K-1]===X[G-1]?0:1;Q[K]=Math.min(Q[K-1]+1,J[K]+1,J[K-1]+W)}for(let K=0;K<=Y.length;K++)J[K]=Q[K]}return J[Y.length]}function k3($){if(!$)return"";return $.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#039;/g,"'").replace(/&#39;/g,"'").replace(/&amp;/g,"&")}var z4,EK,v5;var c0=D(()=>{h0();A0();B4();D3();z4={},EK=new Map;v5={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 E0(String($))},translate:($,Z,Y={})=>{if(!Z||!Z.__translations)return $;let X=Z.__translations,J=Z.__i18nConfig?.fallbackToKey??!0,Q=String($).split("."),G=X;for(let W of Q){if(G===void 0||G===null)break;G=G[W]}if(G===void 0||G===null)return J?$:"";let K=String(G);return Object.entries(Y).forEach(([W,U])=>{K=K.replace(BV(W),String(U))}),K},t:($,Z,Y={})=>{return v5.translate($,Z,Y)},truncate:($,Z,Y=50,X="...")=>{if($===void 0||$===null)return"";let J=String($);if(J.length<=Y)return J;if(Y<=X.length)return X.substring(0,Y);return J.substring(0,Y-X.length)+X},date:($,Z,Y="short",X="en-US")=>{if($===void 0||$===null)return"";try{let J=$ instanceof Date?$:new Date($);if(Number.isNaN(J.getTime()))return String($);let Q={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"},time:{timeStyle:"short"},datetime:{dateStyle:"short",timeStyle:"short"},iso:{}};if(Y==="iso")return J.toISOString();return new Intl.DateTimeFormat(X,Q[Y]||Q.short).format(J)}catch{return String($)}},currency:($,Z,Y="USD",X="en-US")=>{if($===void 0||$===null)return"";try{let J=Number($);if(Number.isNaN(J))return String($);return new Intl.NumberFormat(X,{style:"currency",currency:Y}).format(J)}catch{return String($)}},pluralize:($,Z,Y,X)=>{let J=Number($);if(Number.isNaN(J))return Y;let Q=X||`${Y}s`;return J===1?Y:Q},first:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[0];return String($).charAt(0)},last:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[$.length-1];let Y=String($);return Y.charAt(Y.length-1)},length:($,Z)=>{if($===void 0||$===null)return 0;if(Array.isArray($)||typeof $==="string")return $.length;if($ instanceof Map||$ instanceof Set)return $.size;if(typeof $==="object")return Object.keys($).length;return 0},json:($,Z,Y=!1)=>{if($===void 0)return"undefined";if($===null)return"null";try{return Y?JSON.stringify($,null,2):JSON.stringify($)}catch{return String($)}},default:($,Z,Y="")=>{return $===void 0||$===null||$===""?Y:$},reverse:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return[...$].reverse();return String($).split("").reverse().join("")},slice:($,Z,Y=0,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 J=Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(J,"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 J=10**Y;return Math.round(X*J)/J}}});class j4{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 g5($,Z){if(Z?.includes("g"))return new RegExp($,Z);let Y=`${$}:${Z||""}`;if(!f5.has(Y)){if(f5.size>=jV){let X=f5.keys().next().value;if(X)f5.delete(X)}f5.set(Y,new RegExp($,Z))}return f5.get(Y)}class CK{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 J=this.fnCache,Q=this.fnCacheMaxSize,G=(...K)=>{return(W)=>{try{let U=`${Y}:${W}`,B=J.get(U);if(!B){if(J.size>=Q){let _=J.keys().next().value;if(_)J.delete(_)}B=Function(...Z,`
894
894
  'use strict';
895
895
  try {
896
896
  return ${W};
@@ -1793,7 +1793,7 @@ window.__stx_reactive = (function() {
1793
1793
  ${mV()}
1794
1794
  ${Y}
1795
1795
  </script>`}function oK($,Z,Y){if(rK=0,!lV($))return $;let X=gV($);if(X.length===0)return $;let J=cV($,X),Q=pV(X,Z),G=J.lastIndexOf("</body>");if(G!==-1)J=J.slice(0,G)+Q+`
1796
- `+J.slice(G);else J+=Q;return J}function cV($,Z){let Y=$;for(let X of Z){let Q=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*data-stx-scope="([^"]*)"[^>]*x-data\\s*=\\s*["']${x3(X.stateExpr)}["']`,"gi").exec(Y);if(Q)X.id=Q[1],X.selector=`[data-stx-scope="${X.id}"]`;else{let K=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*x-data\\s*=\\s*["']${x3(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*"${x3(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*'${x3(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 lV($){return/x-data\s*=\s*["']/.test($)}var rK=0,fV=0;var aK=D(()=>{c0()});function $$($,Z){try{let Y=$.trim();if(H0(Y))return O0(Y,Object.keys(Z))(...Object.values(Z));else return z0(Y,Z)}catch{return!1}}var aY=D(()=>{h0()});function eK($){tK=$}function $W(){return tK}function ZW($){v3={...v3,...$}}function YW(){v3={}}function tY($,Z={}){let Y=v3[$]||iV[$]||{message:`Unknown error (code: ${$})`},X=Y.message,J=Y.help;for(let[Q,G]of Object.entries(Z)){let K=`{{${Q}}}`;if(X=X.replace(new RegExp(K,"g"),G),J)J=J.replace(new RegExp(K,"g"),G)}return{message:X,help:J}}function XW($,Z={}){let{message:Y,help:X}=tY($,Z);return X?`${Y}
1796
+ `+J.slice(G);else J+=Q;return J}function cV($,Z){let Y=$;for(let X of Z){let Q=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*data-stx-scope="([^"]*)"[^>]*x-data\\s*=\\s*["']${x3(X.stateExpr)}["']`,"gi").exec(Y);if(Q)X.id=Q[1],X.selector=`[data-stx-scope="${X.id}"]`;else{let K=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*x-data\\s*=\\s*["']${x3(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*"${x3(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*'${x3(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 lV($){return/x-data\s*=\s*["']/.test($)}var rK=0,fV=0;var aK=D(()=>{c0()});function $$($,Z){try{let Y=$.trim();if(O0(Y))return L0(Y,Object.keys(Z))(...Object.values(Z));else return z0(Y,Z)}catch{return!1}}var aY=D(()=>{h0()});function eK($){tK=$}function $W(){return tK}function ZW($){v3={...v3,...$}}function YW(){v3={}}function tY($,Z={}){let Y=v3[$]||iV[$]||{message:`Unknown error (code: ${$})`},X=Y.message,J=Y.help;for(let[Q,G]of Object.entries(Z)){let K=`{{${Q}}}`;if(X=X.replace(new RegExp(K,"g"),G),J)J=J.replace(new RegExp(K,"g"),G)}return{message:X,help:J}}function XW($,Z={}){let{message:Y,help:X}=tY($,Z);return X?`${Y}
1797
1797
  Help: ${X}`:Y}function f3($){for(let[Z,Y]of Object.entries(e))if(Y===$)return Z;return}var iV,v3,tK="en",e;var g3=D(()=>{iV={1001:{message:"Unclosed directive: {{directive}}",help:"Make sure to close the directive with the appropriate end tag"},1002:{message:"Unclosed expression at position {{position}}",help:"Check for missing closing braces }}"},1003:{message:"Invalid directive syntax: {{directive}}",help:"Review the directive documentation for correct syntax"},1004:{message:"Malformed expression: {{expression}}",help:"Check for syntax errors in your expression"},1005:{message:"Unexpected token: {{token}}",help:"Remove or fix the unexpected token"},1101:{message:"Undefined variable: {{variable}}",help:"Make sure the variable is defined in the template context"},1102:{message:"Type error: {{details}}",help:"Check that you are using the correct types"},1103:{message:"Evaluation error: {{details}}",help:"Review the expression for errors"},1104:{message:"Infinite loop detected in {{location}}",help:"Check your loop conditions"},1105:{message:"Circular reference detected: {{path}}",help:"Remove the circular dependency"},1201:{message:"Unsafe expression blocked: {{expression}}",help:"This expression contains potentially dangerous code"},1202:{message:"Path traversal attempt blocked: {{path}}",help:"Use only relative paths within allowed directories"},1203:{message:"Potential XSS attempt blocked",help:"Sanitize user input before rendering"},1204:{message:"Code injection attempt blocked: {{code}}",help:"Avoid executing dynamic code"},1205:{message:"Prohibited DOM API usage: {{api}}",help:"Use STX.useRefs(), STX.useRef(), STX.el() and other STX helpers instead of direct DOM manipulation"},1301:{message:"File not found: {{path}}",help:"Check that the file exists and the path is correct"},1302:{message:"Error reading file: {{path}}",help:"Check file permissions and encoding"},1303:{message:"Invalid file path: {{path}}",help:"Use a valid file path"},1304:{message:"Permission denied: {{path}}",help:"Check file permissions"},1401:{message:"Invalid configuration: {{details}}",help:"Review your stx.config.ts file"},1402:{message:"Missing required configuration: {{key}}",help:"Add the required configuration option"},1403:{message:"Deprecated configuration: {{key}}",help:"Update to the new configuration format"},1501:{message:"Component not found: {{name}}",help:"Check that the component exists in your components directory"},1502:{message:"Invalid props for component {{name}}: {{details}}",help:"Check the component prop requirements"},1503:{message:"Error rendering component {{name}}: {{details}}",help:"Check the component template for errors"},1601:{message:"Filter not found: {{filter}}",help:"Register the filter or check the filter name"},1602:{message:"Invalid arguments for filter {{filter}}: {{details}}",help:"Check the filter documentation for correct arguments"},1603:{message:"Expression evaluation timed out",help:"Simplify the expression or increase the timeout"}},v3={};e={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 m5(){return!1}function M$(){return!m5()||process.env.STX_DEBUG==="true"}function V4(){return!1}import nV from"path";function QW($){p5={...p5,...$}}function N4(){return{...p5}}function GW(){p5={...JW}}function A4($){if(!p5.showRelativePaths||!$)return $;let Z=p5.baseDir||process.cwd();try{let Y=nV.relative(Z,$);return Y.startsWith("..")?$:Y}catch{return $}}var JW,p5,T$,eY,S1,$X,c5,w4;var h3=D(()=>{g3();JW={showRelativePaths:!1,enableAutoRecovery:M$(),logRecoveryWarnings:!0},p5={...JW};T$=class T$ extends Error{code;filePath;line;column;context;numericCode;constructor($,Z,Y,X,J,Q,G){super($);this.code=Z;this.filePath=Y;this.line=X;this.column=J;this.context=Q;if(this.name="StxError",this.numericCode=G||e.EVALUATION_ERROR,this.filePath)this.filePath=A4(this.filePath)}};eY=class eY extends T${constructor($,Z,Y,X,J,Q){super($,"stx_SYNTAX_ERROR",Z,Y,X,J,Q||e.INVALID_DIRECTIVE_SYNTAX);this.name="StxSyntaxError"}};S1=class S1 extends T${constructor($,Z,Y,X,J,Q){super($,"stx_RUNTIME_ERROR",Z,Y,X,J,Q||e.EVALUATION_ERROR);this.name="StxRuntimeError"}};$X=class $X extends T${constructor($,Z,Y,X,J,Q){super($,"stx_SECURITY_ERROR",Z,Y,X,J,Q||e.UNSAFE_EXPRESSION);this.name="StxSecurityError"}};c5=class c5 extends T${constructor($,Z,Y,X,J,Q){super($,"stx_FILE_ERROR",Z,Y,X,J,Q||e.FILE_NOT_FOUND);this.name="StxFileError"}};w4=class w4 extends T${isFatal=!0;constructor($,Z,Y,X,J,Q){super($,"stx_VALIDATION_ERROR",Z,Y,X,J,Q||e.DOM_API_VIOLATION);this.name="StxValidationError"}}});function d3($){let{type:Z,message:Y,code:X,filePath:J,line:Q,column:G,template:K,offset:W,snippet:U,suggestion:B,format:_="text"}=$,z=Q,q=G;if(!z&&K&&W!==void 0){let L=WW(K,W);z=L.line,q=L.column}let j=J?A4(J):void 0,H=X?f3(X):void 0,O={type:Z,code:X,codeName:H,message:Y,filePath:j,line:z,column:q,snippet:U,suggestion:B,timestamp:new Date().toISOString()},F;switch(_){case"html":F=rV(O);break;case"json":F=JSON.stringify(O,null,2);break;case"console":F=oV(O,K,W);break;case"text":default:F=sV(O,K,W);break}return{formatted:F,data:O}}function sV($,Z,Y){let X=[],J=$.code?` [${$.codeName||$.code}]`:"";if(X.push(`[${$.type} Error${J}]`),$.filePath){let Q=$.filePath;if($.line){if(Q+=`:${$.line}`,$.column)Q+=`:${$.column}`}X.push(`at ${Q}`)}if(X.push(`
1798
1798
  ${$.message}`),Z&&$.line){let Q=aV(Z,$.line,2);if(Q)X.push(`
1799
1799
  ${Q}`)}if($.snippet)X.push(`
@@ -1828,12 +1828,12 @@ ${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\
1828
1828
  @end${K}`;X.push(`Added ${B} 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(M$())return`<!-- ${$} failed: ${Z.message} -->`;return"<!-- stx rendering error -->"}};a0=new m3,l5={isDevelopment(){return M$()},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(`
1829
1829
  `)}}});import ZX from"path";function eV($){let Z={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};return $.replace(/[&<>"']/g,(Y)=>Z[Y]||Y)}function R4($,Z={}){let{allowHtml:Y=!1,maxLength:X=1e4,allowSpecialChars:J=!0,customSanitizer:Q}=Z,G=[],K=$,W=!1;if(Q){let B=Q(K);if(B!==K)K=B,W=!0}if(K.includes("\x00"))K=K.replace(/\0/g,""),W=!0,G.push("Null bytes removed from parameter");if(K.length>X)K=K.substring(0,X),W=!0,G.push(`Parameter truncated to ${X} characters`);if(!Y&&/<[^>]+>/.test(K))K=eV(K),W=!0,G.push("HTML content was escaped");let U=[{pattern:/javascript:/gi,replacement:"",name:"javascript: URI"},{pattern:/vbscript:/gi,replacement:"",name:"vbscript: URI"},{pattern:/data:text\/html/gi,replacement:"",name:"data:text/html URI"}];for(let{pattern:B,replacement:_,name:z}of U)if(B.test(K))K=K.replace(B,_),W=!0,G.push(`Removed ${z} from parameter`);if(!J){let B=K;if(K=K.split("").filter((_)=>{let z=_.charCodeAt(0);return z>=32&&z!==127}).join(""),K!==B)W=!0,G.push("Control characters removed")}return{value:K,modified:W,warnings:G}}function jW($,Z){let Y=$.replace(/\0/g,"");Y=Y.replace(/\\/g,"/"),Y=Y.replace(/^[a-z][a-z0-9+.-]*:/i,"");while(Y.includes("../")||Y.includes("./"))Y=Y.replace(/\.\.\//g,"").replace(/\.\//g,"");if(!p3.isValidFilePath(Y,Z))return null;return Y}function HW($){let Z=[],Y=$.trim(),X=Y!==$,J=[{pattern:/\beval\s*\(/gi,name:"eval()"},{pattern:/\bFunction\s*\(/gi,name:"Function()"},{pattern:/\bsetTimeout\s*\(/gi,name:"setTimeout()"},{pattern:/\bsetInterval\s*\(/gi,name:"setInterval()"},{pattern:/\bimport\s*\(/gi,name:"dynamic import()"},{pattern:/\brequire\s*\(/gi,name:"require()"},{pattern:/\b__proto__\b/gi,name:"__proto__"},{pattern:/\bconstructor\b/gi,name:"constructor"},{pattern:/\bprototype\b/gi,name:"prototype"}];for(let{pattern:Q,name:G}of J)if(Q.test(Y))Z.push(`Potentially dangerous pattern detected: ${G}`);if(Y.includes("\x00"))Y=Y.replace(/\0/g,""),X=!0,Z.push("Null bytes removed from expression");return{value:Y,modified:X,warnings:Z}}function OW($,Z={}){return $.map((Y)=>R4(Y,Z))}function YX($){let Z={};for(let[Y,X]of Object.entries($)){if(!p3.isValidVariableName(Y))continue;if(typeof X==="string"){let J=R4(X);Z[Y]=J.value}else if(Array.isArray(X))Z[Y]=X.map((J)=>typeof J==="string"?R4(J).value:J);else if(typeof X==="object"&&X!==null)Z[Y]=YX(X);else Z[Y]=X}return Z}var p3;var LW=D(()=>{p3={isValidFilePath($,Z){let Y=$.replace(/\\/g,"/");if(Y.includes("\x00"))return!1;if(Y.includes("../")||Y.includes("..\\")||Y===".."||Y.startsWith("../")||Y.endsWith("/..")||Y.includes("/..\\")||Y.includes("\\../"))return!1;if(/^[a-z][a-z0-9+.-]*:/i.test(Y))return!1;if(Y.startsWith("/")){if(["/etc/","/root/","/var/","/usr/","/bin/","/sbin/","/proc/","/sys/","/dev/","/boot/","/home/","/private/","/Library/","/System/"].some((Q)=>Y===Q.slice(0,-1)||Y.startsWith(Q)))return!1}if(/^[a-z]:/i.test(Y)){if(["Windows/","Windows\\","System32/","System32\\","Program Files/","Program Files\\"].some((Q)=>Y.includes(Q)))return!1}if(Z){let J=ZX.resolve(Z,$),Q=ZX.resolve(Z);if(!J.startsWith(Q+ZX.sep)&&J!==Q)return!1}return!0},isValidVariableName($){return/^[a-z_$]\w*$/i.test($)},isValidDirectiveName($){return/^[a-z][\w-]*$/i.test($)},isSafeContent($){return![/<script[^>]*>[\s\S]*?<\/script>/i,/javascript:/i,/data:text\/html/i,/vbscript:/i,/on\w+\s*=/i].some((Y)=>Y.test($))}}});var FW=D(()=>{g3();zW();qW();LW();h3()});var H1=D(()=>{FW()});class M4{source;pos=0;line=1;column=0;tokens=[];constructor($){this.source=$}tokenize(){this.tokens=[],this.pos=0,this.line=1,this.column=0;while(this.pos<this.source.length){let $=this.nextToken();if($)this.tokens.push($)}return this.tokens.push({type:"EOF",value:"",start:this.pos,end:this.pos,line:this.line,column:this.column}),this.tokens}nextToken(){if(this.pos>=this.source.length)return null;let $=this.pos,Z=this.line,Y=this.column,X=this.source[this.pos];if(/\s/.test(X))return this.readWhitespace($,Z,Y);if(X==="/"&&this.peek(1)==="/")return this.readLineComment($,Z,Y);if(X==="/"&&this.peek(1)==="*")return this.readBlockComment($,Z,Y);if(X==='"'||X==="'")return this.readString(X,$,Z,Y);if(X==="`")return this.readTemplateString($,Z,Y);if(/\d/.test(X)||X==="."&&/\d/.test(this.peek(1)||""))return this.readNumber($,Z,Y);if(/[a-z_$]/i.test(X))return this.readIdentifier($,Z,Y);if(X==="{"){if(this.peek(1)==="{"&&this.peek(2)==="{")return this.advance(3),{type:"RAW_START",value:"{{{",start:$,end:this.pos,line:Z,column:Y};if(this.peek(1)==="{")return this.advance(2),{type:"EXPRESSION_START",value:"{{",start:$,end:this.pos,line:Z,column:Y};if(this.peek(1)==="!"&&this.peek(2)==="!")return this.advance(3),{type:"RAW_START",value:"{!!",start:$,end:this.pos,line:Z,column:Y}}if(X==="}"){if(this.peek(1)==="}"&&this.peek(2)==="}")return this.advance(3),{type:"RAW_END",value:"}}}",start:$,end:this.pos,line:Z,column:Y};if(this.peek(1)==="}")return this.advance(2),{type:"EXPRESSION_END",value:"}}",start:$,end:this.pos,line:Z,column:Y}}if(X==="!"&&this.peek(1)==="!"&&this.peek(2)==="}")return this.advance(3),{type:"RAW_END",value:"!!}",start:$,end:this.pos,line:Z,column:Y};if(X==="@"&&/[a-z]/i.test(this.peek(1)||""))return this.readDirective($,Z,Y);let J=["===","!==","==","!=","<=",">=","&&","||","??","++","--","+=","-=","*=","/=","%=","**","=>","?.","...","<<",">>",">>>","&=","|=","^="];for(let Q of J)if(this.source.slice(this.pos,this.pos+Q.length)===Q)return this.advance(Q.length),{type:"OPERATOR",value:Q,start:$,end:this.pos,line:Z,column:Y};if(/[+\-*/%<>=!&|^~?:]/.test(X))return this.advance(),{type:"OPERATOR",value:X,start:$,end:this.pos,line:Z,column:Y};if(/[()[\]{},;.]/.test(X))return this.advance(),{type:"PUNCTUATION",value:X,start:$,end:this.pos,line:Z,column:Y};return this.advance(),{type:"PUNCTUATION",value:X,start:$,end:this.pos,line:Z,column:Y}}readWhitespace($,Z,Y){while(this.pos<this.source.length&&/\s/.test(this.source[this.pos]))this.advance();return{type:"WHITESPACE",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}readLineComment($,Z,Y){this.advance(2);while(this.pos<this.source.length&&this.source[this.pos]!==`
1830
1830
  `)this.advance();return{type:"COMMENT",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}readBlockComment($,Z,Y){this.advance(2);while(this.pos<this.source.length-1){if(this.source[this.pos]==="*"&&this.source[this.pos+1]==="/"){this.advance(2);break}this.advance()}return{type:"COMMENT",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}readString($,Z,Y,X){this.advance();while(this.pos<this.source.length){let J=this.source[this.pos];if(J==="\\"){this.advance(2);continue}if(J===$){this.advance();break}this.advance()}return{type:"STRING",value:this.source.slice(Z,this.pos),start:Z,end:this.pos,line:Y,column:X}}readTemplateString($,Z,Y){this.advance();let X=0,J=256;while(this.pos<this.source.length){let Q=this.source[this.pos];if(Q==="\\"){this.advance(2);continue}if(Q==="$"&&this.peek(1)==="{"){if(X>=J){this.pos=this.source.length;break}this.advance(2),X++;continue}if(Q==="{"&&X>0){X++,this.advance();continue}if(Q==="}"&&X>0){X--,this.advance();continue}if(Q==="`"&&X===0){this.advance();break}this.advance()}return{type:"TEMPLATE_STRING",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}readNumber($,Z,Y){if(this.source[this.pos]==="0"){let X=this.peek(1)?.toLowerCase();if(X==="x"||X==="o"||X==="b"){this.advance(2);while(this.pos<this.source.length&&/[\da-f_]/i.test(this.source[this.pos]))this.advance();return{type:"NUMBER",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}}while(this.pos<this.source.length&&/[\d_]/.test(this.source[this.pos]))this.advance();if(this.source[this.pos]==="."&&/\d/.test(this.peek(1)||"")){this.advance();while(this.pos<this.source.length&&/[\d_]/.test(this.source[this.pos]))this.advance()}if(/e/i.test(this.source[this.pos]||"")){if(this.advance(),/[+-]/.test(this.source[this.pos]||""))this.advance();while(this.pos<this.source.length&&/[\d_]/.test(this.source[this.pos]))this.advance()}if(this.source[this.pos]==="n")this.advance();return{type:"NUMBER",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}readIdentifier($,Z,Y){while(this.pos<this.source.length&&/[\w$]/.test(this.source[this.pos]))this.advance();return{type:"IDENTIFIER",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}readDirective($,Z,Y){this.advance();while(this.pos<this.source.length&&/[a-z]/i.test(this.source[this.pos]))this.advance();return{type:"DIRECTIVE",value:this.source.slice($,this.pos),start:$,end:this.pos,line:Z,column:Y}}advance($=1){for(let Z=0;Z<$&&this.pos<this.source.length;Z++){if(this.source[this.pos]===`
1831
- `)this.line++,this.column=0;else this.column++;this.pos++}}peek($){return this.source[this.pos+$]}saveState(){return{pos:this.pos,line:this.line,column:this.column}}restoreState($){this.pos=$.pos,this.line=$.line,this.column=$.column}}function x0($,Z,Y,X=0){let J=0,Q=X,G=null,K=0,W=!1;while(Q<$.length){let U=$[Q];if(G&&W){W=!1,Q++;continue}if(G&&U==="\\"){W=!0,Q++;continue}if(W=!1,(U==='"'||U==="'"||U==="`")&&!G){G=U,Q++;continue}if(U===G&&G!=="`"){G=null,Q++;continue}if(G==="`"&&U==="$"&&$[Q+1]==="{"){K++,Q+=2;continue}if(K>0&&U==="}"){K--,Q++;continue}if(U==="`"&&G==="`"&&K===0){G=null,Q++;continue}if(G){Q++;continue}if(U===Z)J++;else if(U===Y){if(J--,J===0)return Q}Q++}return-1}function XX($,Z){let Y=Z,X={paren:0,bracket:0,brace:0},J=null,Q=0;while(Y<$.length){let G=$[Y];if((Y>0?$[Y-1]:"")==="\\"&&J){Y++;continue}if((G==='"'||G==="'")&&!J){J=G,Y++;continue}if(G===J&&J!=="`"){J=null,Y++;continue}if(G==="`"&&!J){J="`",Y++;continue}if(G==="`"&&J==="`"&&Q===0){J=null,Y++;continue}if(J==="`"&&G==="$"&&$[Y+1]==="{"){Q++,Y+=2;continue}if(Q>0){if(G==="{")Q++;else if(G==="}")Q--;Y++;continue}if(J){Y++;continue}if(X.paren===0&&X.bracket===0&&X.brace===0){if($.slice(Y,Y+2)==="}}"||$.slice(Y,Y+3)==="!!}")break;if(G===","||G===";")break}if(G==="(")X.paren++;else if(G===")"){if(X.paren--,X.paren<0)break}else if(G==="[")X.bracket++;else if(G==="]"){if(X.bracket--,X.bracket<0)break}else if(G==="{")X.brace++;else if(G==="}"){if(X.brace--,X.brace<0)break}Y++}return{expression:$.slice(Z,Y),endPos:Y}}function c3($){let Z=[],Y="",X={paren:0,bracket:0,brace:0},J=null,Q=0;for(let G=0;G<$.length;G++){let K=$[G];if((G>0?$[G-1]:"")==="\\"&&J){Y+=K;continue}if((K==='"'||K==="'")&&!J){J=K,Y+=K;continue}if(K===J&&J!=="`"){J=null,Y+=K;continue}if(K==="`"&&!J){J="`",Y+=K;continue}if(K==="`"&&J==="`"&&Q===0){J=null,Y+=K;continue}if(J==="`"&&K==="$"&&$[G+1]==="{"){Q++,Y+=K+$[G+1],G++;continue}if(Q>0&&K==="{"){Q++,Y+=K;continue}if(Q>0&&K==="}"){Q--,Y+=K;continue}if(J){Y+=K;continue}if(K==="(")X.paren++;else if(K===")")X.paren--;else if(K==="[")X.bracket++;else if(K==="]")X.bracket--;else if(K==="{")X.brace++;else if(K==="}")X.brace--;if(K==="|"&&$[G+1]!=="|"&&(G===0||$[G-1]!=="|")&&$[G-1]!=="\\"&&X.paren===0&&X.bracket===0&&X.brace===0){Z.push(Y.trim()),Y="";continue}if(K==="|"&&$[G-1]==="\\"&&!J){Y=Y.slice(0,-1)+K;continue}Y+=K}if(Y.trim())Z.push(Y.trim());return Z}function Z$($,Z){let Y=$N($,Z);return Y.ok?{expression:Y.expression,endPos:Y.endPos}:null}function $N($,Z){let Y=Z;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Y};let X=x0($,"(",")",Y);if(X===-1)return{ok:!1,reason:"unclosed-paren",pos:Y};return{ok:!0,expression:$.slice(Y+1,X),endPos:X+1}}function I$($,Z,Y,X){let J=1,Q=X,G=new RegExp(`@${Z}\\s*\\(`,"g"),K=new RegExp(`@${Y}(?![a-z])`,"g");while(Q<$.length&&J>0){G.lastIndex=Q,K.lastIndex=Q;let W=G.exec($),U=K.exec($),B=W?W.index:1/0,_=U?U.index:1/0;if(B<_)J++,Q=B+W[0].length;else if(_<1/0){if(J--,J===0)return _;Q=_+U[0].length}else break}return-1}function JX($,Z){let Y=$.slice(Z).match(/^@if\s*/);if(!Y)return null;let X=Z+Y[0].length,J=Z$($,X);if(!J)return null;let Q=J.endPos,G=I$($,"if","endif",Q);if(G===-1)return null;let K=$.slice(Q,G),W=[],U=0,B="if",_=J.expression,z=0,q=0;while(U<K.length){let j=K.indexOf("@",U);if(j===-1)break;U=j;let H=K.substring(j);if(/^@if\s*\(/.test(H)){q++,U++;continue}if(/^@endif(?![a-z])/.test(H)){q--,U+=6;continue}if(q===0){let O=H.match(/^@elseif\s*/);if(O){W.push({type:B,condition:_,content:K.substring(z,U),start:Q+z,end:Q+U});let F=U+O[0].length,L=Z$(K,F);if(!L){U++;continue}B="elseif",_=L.expression,U=L.endPos,z=U;continue}else if(/^@else(?![a-z])/.test(H)){W.push({type:B,condition:_,content:K.substring(z,U),start:Q+z,end:Q+U}),B="else",_=void 0,U+=5,z=U;continue}}U++}return W.push({type:B,condition:_,content:K.slice(z),start:Q+z,end:Q+K.length}),{fullMatch:$.slice(Z,G+6),branches:W,start:Z,end:G+6}}function i5($){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 Q=JX($,X.index);if(Q)Z.push(Q),Y.lastIndex=Q.end;X=Y.exec($)}return Z}function T4($,Z,Y){let X=[],J=new RegExp(`@${Z}\\s*\\(`,"g"),Q=J.exec($);while(Q!==null){if(X.some((H)=>Q.index>H.start&&Q.index<H.end)){Q=J.exec($);continue}let K=Q.index,W=K+Q[0].length-1,U=x0($,"(",")",W);if(U===-1){Q=J.exec($);continue}let B=$.slice(W+1,U),_=U+1,z=I$($,Z,Y,_);if(z===-1){Q=J.exec($);continue}let q=$.slice(_,z),j=z+`@${Y}`.length;X.push({fullMatch:$.slice(K,j),name:Z,params:B,content:q,start:K,end:j}),J.lastIndex=j,Q=J.exec($)}return X}function l3($,Z){let Y=$.slice(Z).match(/^@switch\s*/);if(!Y)return null;let X=Z+Y[0].length,J=Z$($,X);if(!J)return null;let Q=J.endPos,G=I$($,"switch","endswitch",Q);if(G===-1)return null;let K=$.slice(Q,G),W=[],U=0,B=null,_=0;while(U<K.length){let z=K.slice(U),q=z.match(/^@switch\s*\(/),j=z.match(/^@endswitch(?![a-z])/);if(q){if(_++,B)B.content+=q[0];U+=q[0].length;continue}if(j){if(_--,B)B.content+=j[0];U+=j[0].length;continue}if(_>0){if(B)B.content+=K[U];U++;continue}let H=z.match(/^@case\s*/),O=z.match(/^@default(?![a-z])/),F=z.match(/^@break(?![a-z])/);if(H&&z.startsWith("@case")){if(B)W.push(B);let L=U+H[0].length,V=Z$(K,L);if(!V){U++;continue}B={type:"case",value:V.expression,content:""},U=V.endPos}else if(O&&z.startsWith("@default")){if(B)W.push(B);B={type:"default",content:""},U+=O[0].length}else if(F&&z.startsWith("@break"))U+=F[0].length;else{if(B)B.content+=K[U];U++}}if(B)W.push(B);return{fullMatch:$.slice(Z,G+10),expression:J.expression,cases:W,start:Z,end:G+10}}var VW=()=>{};function wW($){let Z=[],Y=0;while(Y<$.length){let X=$.indexOf("{{",Y),J=$.indexOf("{!!",Y),Q=!1,G;if(X===-1&&J===-1)break;else if(X===-1)G=J,Q=!0;else if(J===-1)G=X,Q=!1;else if(J<X)G=J,Q=!0;else G=X,Q=!1;if(!Q&&$.slice(G,G+3)==="{{{")Q=!0;let K=Q?$.slice(G,G+3)==="{{{"?"{{{":"{!!":"{{",W=Q?K==="{{{"?"}}}":"!!}":"}}",U=G+K.length,B=ZN($,U,W);if(B===-1){Y=G+1;continue}let _=$.slice(U,B).trim(),z=B+W.length;Z.push({fullMatch:$.slice(G,z),expression:_,start:G,end:z,isRaw:Q}),Y=z}return Z}function ZN($,Z,Y){let X=Z,J=null,Q={paren:0,bracket:0,brace:0},G=0;while(X<$.length){let K=$[X];if((X>0?$[X-1]:"")==="\\"&&J){X++;continue}if((K==='"'||K==="'")&&!J){J=K,X++;continue}if(K===J&&J!=="`"){J=null,X++;continue}if(K==="`"&&!J){J="`",X++;continue}if(K==="`"&&J==="`"&&G===0){J=null,X++;continue}if(J==="`"&&K==="$"&&$[X+1]==="{"){G++,X+=2;continue}if(G>0){if(K==="{")G++;else if(K==="}")G--;X++;continue}if(J){X++;continue}if(K==="(")Q.paren++;else if(K===")")Q.paren--;else if(K==="[")Q.bracket++;else if(K==="]")Q.bracket--;else if(K==="{")Q.brace++;else if(K==="}")Q.brace--;if(Q.paren===0&&Q.bracket===0&&Q.brace<=0){if($.slice(X,X+Y.length)===Y)return X}X++}return-1}function RW($){let Z=c3($);if(Z.length===0)return{baseExpression:"",filters:[]};let Y=Z[0],X=[];for(let J=1;J<Z.length;J++){let Q=YN(Z[J]);if(Q)X.push(Q)}return{baseExpression:Y,filters:X}}function YN($){let Z=$.trim();if(!Z)return null;let Y=Z.indexOf("(");if(Y===-1)return{name:Z,args:[]};let X=Z.slice(0,Y).trim(),J=Y+1,Q=x0(Z,"(",")",Y);if(Q===-1)return{name:X,args:[]};let G=Z.slice(J,Q),K=QX(G);return{name:X,args:K}}function QX($){let Z=[],Y="",X={paren:0,bracket:0,brace:0},J=null,Q=0;for(let G=0;G<$.length;G++){let K=$[G];if((G>0?$[G-1]:"")==="\\"&&J){Y+=K;continue}if((K==='"'||K==="'")&&!J){J=K,Y+=K;continue}if(K===J&&J!=="`"){J=null,Y+=K;continue}if(K==="`"&&!J){J="`",Y+=K;continue}if(K==="`"&&J==="`"&&Q===0){J=null,Y+=K;continue}if(J==="`"&&K==="$"&&$[G+1]==="{"){Q++,Y+="${",G++;continue}if(Q>0&&K==="{"){Q++,Y+=K;continue}if(Q>0&&K==="}"){Q--,Y+=K;continue}if(J){Y+=K;continue}if(K==="(")X.paren++;else if(K===")")X.paren--;else if(K==="[")X.bracket++;else if(K==="]")X.bracket--;else if(K==="{")X.brace++;else if(K==="}")X.brace--;if(K===","&&X.paren===0&&X.bracket===0&&X.brace===0){Z.push(Y.trim()),Y="";continue}Y+=K}if(Y.trim())Z.push(Y.trim());return Z}function MW($,Z){let Y=Z;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!=="(")return null;let X=x0($,"(",")",Y);if(X===-1)return null;return{params:$.slice(Y+1,X),endPos:X+1}}function TW($){let Z=[],X=new M4($).tokenize().filter((Q)=>Q.type!=="WHITESPACE"&&Q.type!=="COMMENT"),J=0;while(J<X.length){let Q=X[J],G=!1;if(Q.type==="IDENTIFIER"&&Q.value==="export"){if(G=!0,J++,J>=X.length)break}let K=X[J];if(K.type==="IDENTIFIER"&&(K.value==="const"||K.value==="let"||K.value==="var")){let W=K.value;if(J++,J>=X.length)break;let U=X[J];if(U.type==="IDENTIFIER"){let B=U.value;if(J++,J<X.length&&X[J].type==="OPERATOR"&&X[J].value==="="){J++;let _=J<X.length?X[J].start:$.length,z=NW(X,J,$);J=z.nextIndex,Z.push({type:"variable",name:B,value:$.slice(_,z.endPos),exported:G,start:K.start,end:z.endPos})}}else if(U.type==="PUNCTUATION"&&(U.value==="{"||U.value==="[")){let B=U.start,_=U.value==="{"?"}":"]",z=x0($,U.value,_,B);if(z!==-1){let q=$.slice(B,z+1);if(J=AW(X,z+1),J<X.length&&X[J].type==="OPERATOR"&&X[J].value==="="){J++;let j=J<X.length?X[J].start:$.length,H=NW(X,J,$);J=H.nextIndex;let O=`__stx_destructured_${Z.length}`;Z.push({type:"variable",name:O,value:`${$.slice(j,H.endPos)}; ${W} ${q} = ${O}`,exported:G,start:K.start,end:H.endPos})}}}}else if(K.type==="IDENTIFIER"&&K.value==="function"){let W=G?X[J-1].start:K.start;if(J++,J>=X.length)break;let U=X[J];if(U.type==="IDENTIFIER"){let B=U.value;J++;let _=-1;while(J<X.length){if(X[J].type==="PUNCTUATION"&&X[J].value==="{"){_=X[J].start;break}J++}if(_!==-1){let z=x0($,"{","}",_);if(z!==-1)Z.push({type:"function",name:B,value:$.slice(W,z+1).replace(/^export\s+/,""),exported:G,start:W,end:z+1}),J=AW(X,z+1)}}}else J++}return Z}function NW($,Z,Y){let X=Z,J={paren:0,bracket:0,brace:0},Q=Z<$.length?$[Z].start:Y.length;while(X<$.length){let G=$[X];if(G.type==="PUNCTUATION"){if(G.value==="(")J.paren++;else if(G.value===")")J.paren--;else if(G.value==="[")J.bracket++;else if(G.value==="]")J.bracket--;else if(G.value==="{")J.brace++;else if(G.value==="}")J.brace--;if(G.value===";"&&J.paren===0&&J.bracket===0&&J.brace===0){Q=G.start,X++;break}}if(G.type==="IDENTIFIER"&&(G.value==="const"||G.value==="let"||G.value==="var"||G.value==="function"||G.value==="export")){if(J.paren===0&&J.bracket===0&&J.brace===0){Q=$[X-1]?.end??G.start;break}}Q=G.end,X++}return{nextIndex:X,endPos:Q}}function AW($,Z){for(let Y=0;Y<$.length;Y++)if($[Y].start>=Z)return Y;return $.length}var IW=()=>{};var I4=D(()=>{VW();IW()});function XN($,Z,Y){let X=$,J=!0;while(J){J=!1;let Q=X.match(/@switch\s*\(/);if(!Q||Q.index===void 0)break;let G=Q.index,K=l3(X,G);if(!K)break;try{let W;if(H0(K.expression))W=O0(K.expression,Object.keys(Z))(...Object.values(Z));else W=z0(K.expression,Z);let U="",B=!1;for(let _ of K.cases)if(_.type==="default"){if(!B)U=_.content.trim()}else try{let z;if(_.value&&H0(_.value))z=O0(_.value,Object.keys(Z))(...Object.values(Z));else if(_.value)z=z0(_.value,Z);if(W===z){U=_.content.trim(),B=!0;break}}catch{continue}X=X.substring(0,G)+U+X.substring(K.end),J=!0}catch(W){let U=W instanceof Error?W.message:String(W),B=J0("Switch",`Error evaluating @switch expression: ${U}`,e.EVALUATION_ERROR);X=X.substring(0,G)+B+X.substring(K.end);break}}return X}function B5($,Z,Y){let X=$;X=XN(X,Z,Y);{let Q=!0;while(Q){Q=!1;let G=X.match(/@unless\s*\(/);if(!G||G.index===void 0)break;let K=G.index,W=Z$(X,K+7);if(!W)break;let U=W.endPos,B=I$(X,"unless","endunless",U);if(B===-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 _=X.slice(U,B),z=W.expression,q=-1;{let H=0,O=/@(?:if|unless)\s*\(/g,F=/@(?:endif|endunless)(?![a-z])/g,L=/@else(?![a-z])/g,V=[],N;while((N=O.exec(_))!==null)V.push({pos:N.index,type:"open"});while((N=F.exec(_))!==null)V.push({pos:N.index,type:"close"});while((N=L.exec(_))!==null)V.push({pos:N.index,type:"else"});V.sort((A,w)=>A.pos-w.pos);for(let A of V)if(A.type==="open")H++;else if(A.type==="close")H--;else if(A.type==="else"&&H===0){q=A.pos;break}}let j;if(q!==-1){let H=_.slice(0,q),O=_.slice(q+5);j=`@if (${z})${O}@else ${H}@endif`}else j=`@if (!(${z}))${_}@endif`;X=X.substring(0,K)+j+X.substring(B+10),Q=!0}}X=KX(X,Z,Y),X=WX(X,Z,Y),X=GX(X,Z);let J=()=>{let Q=i5(X);if(Q.length===0)return!1;for(let G=Q.length-1;G>=0;G--){let K=Q[G];try{let W="",U=!1;for(let B of K.branches){if(U)break;if(B.type==="else")W=B.content,U=!0;else try{let _;if(B.condition&&H0(B.condition))_=O0(B.condition,Object.keys(Z))(...Object.values(Z));else if(B.condition)_=z0(B.condition,Z);if(_)W=B.content,U=!0}catch(_){W=J0(B.type==="if"?"If":"Elseif",`Error in @${B.type}(${B.condition}): ${_ instanceof Error?_.message:String(_)}`,e.EVALUATION_ERROR),U=!0}}X=X.substring(0,K.start)+W+X.substring(K.end)}catch(W){let U=W instanceof Error?W.message:String(W),B=J0("If",`Error processing @if block: ${U}`,e.EVALUATION_ERROR);X=X.substring(0,K.start)+B+X.substring(K.end)}}return!0};while(!0){let Q=X;if(!J())break;if(X===Q)break}return X}function EW($){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 J=$[Z];if(J==="\\"&&Z+1<$.length){X.push($[Z+1]),Z+=2;continue}if(J===Y){Z++;break}X.push(J),Z++}while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!==")")return null;return Z++,{value:X.join(""),consumed:Z}}function GX($,Z){let Y=$;function X(K,W,U,B){let _=1,z=B,q=new RegExp(`@${W}(?:\\s*\\(|\\s|$)`,"g"),j=new RegExp(`@${U}(?![a-z])`,"g");while(z<K.length&&_>0){q.lastIndex=z,j.lastIndex=z;let H=q.exec(K),O=j.exec(K),F=H?H.index:1/0,L=O?O.index:1/0;if(F<L)_++,z=F+H[0].length;else if(L<1/0){if(_--,_===0)return L;z=L+O[0].length}else break}return-1}function J(K,W,U){let B=0,_=new RegExp(`@${W}(?:\\s*\\(|\\s|$)`,"g"),z=new RegExp(`@${U}(?![a-z])`,"g"),q=/@else(?![a-z])/g,j=[],H;while((H=_.exec(K))!==null)j.push({pos:H.index,type:"open"});while((H=z.exec(K))!==null)j.push({pos:H.index,type:"close"});while((H=q.exec(K))!==null)j.push({pos:H.index,type:"else"});j.sort((O,F)=>O.pos-F.pos);for(let O of j)if(O.type==="open")B++;else if(O.type==="close")B--;else if(O.type==="else"&&B===0)return O.pos;return-1}{let K=!0;while(K){K=!1;let W=Y.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!W||W.index===void 0)break;let U=W.index,B,_,z=Y.slice(U+5),q=EW(z);if(q)B=q.value,_=U+5+q.consumed;else _=U+5;let j=X(Y,"auth","endauth",_);if(j===-1){console.warn(`[stx] @auth directive at position ${U} has no matching @endauth \u2014 the block was skipped.`);break}let H=Y.slice(_,j),O=J(H,"auth","endauth"),F;if(!Z.auth)F=!1;else F=B?$$(`auth?.check && auth?.user?.[${B}]`,Z):$$("auth?.check",Z);let L;if(O!==-1){let V=H.slice(0,O),N=H.slice(O+5);L=F?V:N}else L=F?H:"";Y=Y.substring(0,U)+L+Y.substring(j+8),K=!0}}{let K=!0;while(K){K=!1;let W=Y.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!W||W.index===void 0)break;let U=W.index,B,_,z=Y.slice(U+6),q=EW(z);if(q)B=q.value,_=U+6+q.consumed;else _=U+6;let j=X(Y,"guest","endguest",_);if(j===-1){console.warn(`[stx] @guest directive at position ${U} has no matching @endguest \u2014 the block was skipped.`);break}let H=Y.slice(_,j),O=J(H,"guest","endguest"),F;if(!Z.auth)F=!0;else F=B?$$(`!auth?.check || !auth?.user?.[${B}]`,Z):$$("!auth?.check",Z);let L;if(O!==-1){let V=H.slice(0,O),N=H.slice(O+5);L=F?V:N}else L=F?H:"";Y=Y.substring(0,U)+L+Y.substring(j+9),K=!0}}function Q(K,W,U){if(Z.userCan&&typeof Z.userCan[K]==="boolean")return Z.userCan[K];if(Z.permissions?.check&&typeof Z.permissions.check==="function")try{let B=[K];if(W)B.push(W);if(U){let _=$$(U,Z);B.push(_)}return Z.permissions.check(...B)}catch{return!1}return!1}function G(K){let W=K.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!W)return null;return{ability:W[1],type:W[2],id:W[3]?.trim(),paramsEnd:W[0].length}}for(let K of["can","cannot"]){let W=`end${K}`,U=K==="can"?"elsecan":"elsecannot",B=!0;while(B){B=!1;let _=Y.match(new RegExp(`@${K}\\s*\\(`));if(!_||_.index===void 0)break;let z=_.index,q=Y.slice(z+`@${K}`.length),j=G(q);if(!j)break;let H=z+`@${K}`.length+j.paramsEnd,O=X(Y,K,W,H);if(O===-1){console.warn(`[stx] @${K} directive at position ${z} has no matching @${W} \u2014 the block was skipped.`);break}let F=Y.slice(H,O),L=[],V=0,N=new RegExp(`@${K}\\s*\\(`,"g"),A=new RegExp(`@${W}(?![a-z])`,"g"),w=new RegExp(`@${U}\\s*\\(`,"g"),R=/@else(?![a-z])/g,T=[],I;while((I=N.exec(F))!==null)T.push({pos:I.index,type:"open"});while((I=A.exec(F))!==null)T.push({pos:I.index,type:"close"});while((I=w.exec(F))!==null)T.push({pos:I.index,type:"elseDirective"});while((I=R.exec(F))!==null)T.push({pos:I.index,type:"else"});T.sort((b,f)=>b.pos-f.pos);for(let b of T){if(b.type==="open"){V++;continue}if(b.type==="close"){V--;continue}if(V===0)L.push(b)}let E=[],k=0;for(let b=0;b<L.length;b++){let f=L[b];if(E.push({content:F.slice(k,f.pos),ability:void 0}),f.type==="elseDirective"){let r=F.slice(f.pos+`@${U}`.length),u=G(r);if(u){E[E.length-1]={content:F.slice(k,f.pos)},k=f.pos+`@${U}`.length+u.paramsEnd,E.push({content:"",ability:u.ability,type:u.type,id:u.id}),E.pop();let C=L[b+1],h=C?C.pos:F.length;E.push({content:F.slice(k,h),ability:u.ability,type:u.type,id:u.id}),k=h}}else k=f.pos+5}if(k<F.length){let b=E[E.length-1];if(L.length>0&&L[L.length-1].type==="else")E.push({content:F.slice(k),isFinalElse:!0});else if(E.length===0)E.push({content:F.slice(k)})}let S=Q(j.ability,j.type,j.id),x=K==="can"?S:!S,y="";if(x)y=E[0]?.content||"";else{let b=!1;for(let f=1;f<E.length;f++){let r=E[f];if(r.isFinalElse){y=r.content,b=!0;break}if(r.ability){let u=Q(r.ability,r.type,r.id);if(K==="can"?u:!u){y=r.content,b=!0;break}}}if(!b&&E.length>0){let f=E[E.length-1];if(f.isFinalElse)y=f.content}}Y=Y.substring(0,z)+y+Y.substring(O+`@${W}`.length),B=!0}}return Y}function KX($,Z,Y){let X=$;function J(Q,G,K,W,U){let B=!0;while(B){B=!1;let _=new RegExp(`@${G}\\s*\\(`),z=Q.match(_);if(!z||z.index===void 0)break;let q=z.index,j=Z$(Q,q+`@${G}`.length);if(!j)break;let H=j.endPos,O=I$(Q,G,K,H);if(O===-1){console.warn(`[stx] @${G} directive at position ${q} has no matching @${K} \u2014 the block was skipped.`);break}let F=Q.slice(H,O),L=j.expression,V=-1,N=0,A=0;while(A<F.length){let w=F.indexOf("@",A);if(w===-1)break;let R=F.substring(w);if(/^@(?:if|unless|isset|empty)\s*\(/.test(R)){N++,A=w+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(R)){N--,A=w+1;continue}if(N===0&&/^@else(?![a-z])/.test(R)){V=w;break}A=w+1}try{let w=W(L.trim()),R;if(V!==-1){let T=F.slice(0,V),I=F.slice(V+5);R=w?T:I}else R=w?F:"";Q=Q.substring(0,q)+R+Q.substring(O+`@${K}`.length),B=!0}catch(w){let R=w instanceof Error?w.message:String(w),T=J0(U,`Error processing @${G} directive: ${R}`,e.EVALUATION_ERROR);Q=Q.substring(0,q)+T+Q.substring(O+`@${K}`.length);break}}return Q}return X=J(X,"isset","endisset",(Q)=>{let G=$$(Q,Z);return G!==void 0&&G!==null},"Isset"),X=J(X,"empty","endempty",(Q)=>{let G=$$(Q,Z);return G===void 0||G===null||G===""||G===0||G===!1||Array.isArray(G)&&G.length===0||typeof G==="object"&&G!==null&&Object.keys(G).length===0},"Empty"),X}function WX($,Z,Y){let X=$,J="development";function Q(G,K,W,U){let B=new RegExp(`@${K}(?![a-z])`,"g"),_=new RegExp(`@${W}(?![a-z])`,"g"),z=new RegExp(`^@${K}(?![a-z])`),q=new RegExp(`^@${W}(?![a-z])`),j=G,H=!0;while(H){H=!1,B.lastIndex=0;let O=B.exec(j);if(!O)break;let F=O.index,L=F+O[0].length;if(K==="env"){let S=j.substring(L).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!S)break;L+=S[0].length,U=J===S[2]}let V=1,N=L,A=-1;while(V>0&&N<j.length){B.lastIndex=N,_.lastIndex=N;let S=B.exec(j),x=_.exec(j),y=S?S.index:1/0,b=x?x.index:1/0;if(y<b)V++,N=y+S[0].length;else if(b<1/0){if(V--,V===0){A=b;break}N=b+x[0].length}else break}if(A===-1){console.warn(`[stx] @${K} directive at position ${F} has no matching @${W} \u2014 the block was skipped.`);break}let w=j.substring(L,A),R=-1,T=0,I=0;while(I<w.length){let S=w.indexOf("@",I);if(S===-1)break;let x=w.substring(S);if(z.test(x)){T++,I=S+1;continue}if(q.test(x)){T--,I=S+1;continue}if(T===0&&/^@else(?![a-z])/.test(x)){R=S;break}I=S+1}let E;if(R!==-1){let S=w.slice(0,R),x=w.slice(R+5);E=U?S:x}else E=U?w:"";let k=`@${W}`.length;j=j.substring(0,F)+E+j.substring(A+k),H=!0}return j}return X=Q(X,"env","endenv",!1),X=Q(X,"production","endproduction",J==="production"),X=Q(X,"development","enddevelopment",J==="development"),X=Q(X,"staging","endstaging",J==="staging"),X=Q(X,"testing","endtesting",J==="testing"),X}var i3=D(()=>{aY();H1();I4();h0()});function BX($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function E$($,Z){if(!$)return Z?.nonceGenerator?.()??BX();let Y=UX.get($);if(!Y)Y=Z?.nonceGenerator?.()??BX(),UX.set($,Y);return Y}function JN($){UX.delete($)}function _X($,Z){let Y=[];for(let[X,J]of Object.entries($)){if(J===void 0||J===null)continue;if(typeof J==="boolean"){if(J)Y.push(X);continue}if(Array.isArray(J)){let Q=[...J];if(Z&&(X==="script-src"||X==="style-src"))Q=Q.filter((G)=>!G.startsWith("'nonce-")),Q.push(`'nonce-${Z}'`);if(Q.length>0)Y.push(`${X} ${Q.join(" ")}`)}}return Y.join("; ")}function s3($,Z){return`<meta http-equiv="Content-Security-Policy" content="${_X($,Z).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}">`}function QN($){return{enabled:!0,directives:{strict:DW,moderate:n3,relaxed:kW,api:SW}[$]||n3,useNonce:$==="strict",addMetaTag:!0}}function GN($,Z){let Y={...$};for(let[X,J]of Object.entries(Z)){let Q=X,G=Y[Q];if(J===void 0||J===null)continue;if(typeof J==="boolean")Y[Q]=G||J;else if(Array.isArray(J)){let K=Array.isArray(G)?G:[],W=[...new Set([...K,...J])];Y[Q]=W}}return Y}function zX($,Z,Y){if(!Z.enabled||!Z.addMetaTag)return $;if($.includes('http-equiv="Content-Security-Policy"'))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let X=Z.useNonce?E$(Y,Z):void 0,J=s3(Z.directives,X);return $.replace(/<head([^>]*)>/,`<head$1>
1831
+ `)this.line++,this.column=0;else this.column++;this.pos++}}peek($){return this.source[this.pos+$]}saveState(){return{pos:this.pos,line:this.line,column:this.column}}restoreState($){this.pos=$.pos,this.line=$.line,this.column=$.column}}function x0($,Z,Y,X=0){let J=0,Q=X,G=null,K=0,W=!1;while(Q<$.length){let U=$[Q];if(G&&W){W=!1,Q++;continue}if(G&&U==="\\"){W=!0,Q++;continue}if(W=!1,(U==='"'||U==="'"||U==="`")&&!G){G=U,Q++;continue}if(U===G&&G!=="`"){G=null,Q++;continue}if(G==="`"&&U==="$"&&$[Q+1]==="{"){K++,Q+=2;continue}if(K>0&&U==="}"){K--,Q++;continue}if(U==="`"&&G==="`"&&K===0){G=null,Q++;continue}if(G){Q++;continue}if(U===Z)J++;else if(U===Y){if(J--,J===0)return Q}Q++}return-1}function XX($,Z){let Y=Z,X={paren:0,bracket:0,brace:0},J=null,Q=0;while(Y<$.length){let G=$[Y];if((Y>0?$[Y-1]:"")==="\\"&&J){Y++;continue}if((G==='"'||G==="'")&&!J){J=G,Y++;continue}if(G===J&&J!=="`"){J=null,Y++;continue}if(G==="`"&&!J){J="`",Y++;continue}if(G==="`"&&J==="`"&&Q===0){J=null,Y++;continue}if(J==="`"&&G==="$"&&$[Y+1]==="{"){Q++,Y+=2;continue}if(Q>0){if(G==="{")Q++;else if(G==="}")Q--;Y++;continue}if(J){Y++;continue}if(X.paren===0&&X.bracket===0&&X.brace===0){if($.slice(Y,Y+2)==="}}"||$.slice(Y,Y+3)==="!!}")break;if(G===","||G===";")break}if(G==="(")X.paren++;else if(G===")"){if(X.paren--,X.paren<0)break}else if(G==="[")X.bracket++;else if(G==="]"){if(X.bracket--,X.bracket<0)break}else if(G==="{")X.brace++;else if(G==="}"){if(X.brace--,X.brace<0)break}Y++}return{expression:$.slice(Z,Y),endPos:Y}}function c3($){let Z=[],Y="",X={paren:0,bracket:0,brace:0},J=null,Q=0;for(let G=0;G<$.length;G++){let K=$[G];if((G>0?$[G-1]:"")==="\\"&&J){Y+=K;continue}if((K==='"'||K==="'")&&!J){J=K,Y+=K;continue}if(K===J&&J!=="`"){J=null,Y+=K;continue}if(K==="`"&&!J){J="`",Y+=K;continue}if(K==="`"&&J==="`"&&Q===0){J=null,Y+=K;continue}if(J==="`"&&K==="$"&&$[G+1]==="{"){Q++,Y+=K+$[G+1],G++;continue}if(Q>0&&K==="{"){Q++,Y+=K;continue}if(Q>0&&K==="}"){Q--,Y+=K;continue}if(J){Y+=K;continue}if(K==="(")X.paren++;else if(K===")")X.paren--;else if(K==="[")X.bracket++;else if(K==="]")X.bracket--;else if(K==="{")X.brace++;else if(K==="}")X.brace--;if(K==="|"&&$[G+1]!=="|"&&(G===0||$[G-1]!=="|")&&$[G-1]!=="\\"&&X.paren===0&&X.bracket===0&&X.brace===0){Z.push(Y.trim()),Y="";continue}if(K==="|"&&$[G-1]==="\\"&&!J){Y=Y.slice(0,-1)+K;continue}Y+=K}if(Y.trim())Z.push(Y.trim());return Z}function Z$($,Z){let Y=$N($,Z);return Y.ok?{expression:Y.expression,endPos:Y.endPos}:null}function $N($,Z){let Y=Z;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!=="(")return{ok:!1,reason:"missing-open-paren",pos:Y};let X=x0($,"(",")",Y);if(X===-1)return{ok:!1,reason:"unclosed-paren",pos:Y};return{ok:!0,expression:$.slice(Y+1,X),endPos:X+1}}function I$($,Z,Y,X){let J=1,Q=X,G=new RegExp(`@${Z}\\s*\\(`,"g"),K=new RegExp(`@${Y}(?![a-z])`,"g");while(Q<$.length&&J>0){G.lastIndex=Q,K.lastIndex=Q;let W=G.exec($),U=K.exec($),B=W?W.index:1/0,_=U?U.index:1/0;if(B<_)J++,Q=B+W[0].length;else if(_<1/0){if(J--,J===0)return _;Q=_+U[0].length}else break}return-1}function JX($,Z){let Y=$.slice(Z).match(/^@if\s*/);if(!Y)return null;let X=Z+Y[0].length,J=Z$($,X);if(!J)return null;let Q=J.endPos,G=I$($,"if","endif",Q);if(G===-1)return null;let K=$.slice(Q,G),W=[],U=0,B="if",_=J.expression,z=0,q=0;while(U<K.length){let j=K.indexOf("@",U);if(j===-1)break;U=j;let H=K.substring(j);if(/^@if\s*\(/.test(H)){q++,U++;continue}if(/^@endif(?![a-z])/.test(H)){q--,U+=6;continue}if(q===0){let O=H.match(/^@elseif\s*/);if(O){W.push({type:B,condition:_,content:K.substring(z,U),start:Q+z,end:Q+U});let F=U+O[0].length,L=Z$(K,F);if(!L){U++;continue}B="elseif",_=L.expression,U=L.endPos,z=U;continue}else if(/^@else(?![a-z])/.test(H)){W.push({type:B,condition:_,content:K.substring(z,U),start:Q+z,end:Q+U}),B="else",_=void 0,U+=5,z=U;continue}}U++}return W.push({type:B,condition:_,content:K.slice(z),start:Q+z,end:Q+K.length}),{fullMatch:$.slice(Z,G+6),branches:W,start:Z,end:G+6}}function i5($){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 Q=JX($,X.index);if(Q)Z.push(Q),Y.lastIndex=Q.end;X=Y.exec($)}return Z}function T4($,Z,Y){let X=[],J=new RegExp(`@${Z}\\s*\\(`,"g"),Q=J.exec($);while(Q!==null){if(X.some((H)=>Q.index>H.start&&Q.index<H.end)){Q=J.exec($);continue}let K=Q.index,W=K+Q[0].length-1,U=x0($,"(",")",W);if(U===-1){Q=J.exec($);continue}let B=$.slice(W+1,U),_=U+1,z=I$($,Z,Y,_);if(z===-1){Q=J.exec($);continue}let q=$.slice(_,z),j=z+`@${Y}`.length;X.push({fullMatch:$.slice(K,j),name:Z,params:B,content:q,start:K,end:j}),J.lastIndex=j,Q=J.exec($)}return X}function l3($,Z){let Y=$.slice(Z).match(/^@switch\s*/);if(!Y)return null;let X=Z+Y[0].length,J=Z$($,X);if(!J)return null;let Q=J.endPos,G=I$($,"switch","endswitch",Q);if(G===-1)return null;let K=$.slice(Q,G),W=[],U=0,B=null,_=0;while(U<K.length){let z=K.slice(U),q=z.match(/^@switch\s*\(/),j=z.match(/^@endswitch(?![a-z])/);if(q){if(_++,B)B.content+=q[0];U+=q[0].length;continue}if(j){if(_--,B)B.content+=j[0];U+=j[0].length;continue}if(_>0){if(B)B.content+=K[U];U++;continue}let H=z.match(/^@case\s*/),O=z.match(/^@default(?![a-z])/),F=z.match(/^@break(?![a-z])/);if(H&&z.startsWith("@case")){if(B)W.push(B);let L=U+H[0].length,V=Z$(K,L);if(!V){U++;continue}B={type:"case",value:V.expression,content:""},U=V.endPos}else if(O&&z.startsWith("@default")){if(B)W.push(B);B={type:"default",content:""},U+=O[0].length}else if(F&&z.startsWith("@break"))U+=F[0].length;else{if(B)B.content+=K[U];U++}}if(B)W.push(B);return{fullMatch:$.slice(Z,G+10),expression:J.expression,cases:W,start:Z,end:G+10}}var VW=()=>{};function wW($){let Z=[],Y=0;while(Y<$.length){let X=$.indexOf("{{",Y),J=$.indexOf("{!!",Y),Q=!1,G;if(X===-1&&J===-1)break;else if(X===-1)G=J,Q=!0;else if(J===-1)G=X,Q=!1;else if(J<X)G=J,Q=!0;else G=X,Q=!1;if(!Q&&$.slice(G,G+3)==="{{{")Q=!0;let K=Q?$.slice(G,G+3)==="{{{"?"{{{":"{!!":"{{",W=Q?K==="{{{"?"}}}":"!!}":"}}",U=G+K.length,B=ZN($,U,W);if(B===-1){Y=G+1;continue}let _=$.slice(U,B).trim(),z=B+W.length;Z.push({fullMatch:$.slice(G,z),expression:_,start:G,end:z,isRaw:Q}),Y=z}return Z}function ZN($,Z,Y){let X=Z,J=null,Q={paren:0,bracket:0,brace:0},G=0;while(X<$.length){let K=$[X];if((X>0?$[X-1]:"")==="\\"&&J){X++;continue}if((K==='"'||K==="'")&&!J){J=K,X++;continue}if(K===J&&J!=="`"){J=null,X++;continue}if(K==="`"&&!J){J="`",X++;continue}if(K==="`"&&J==="`"&&G===0){J=null,X++;continue}if(J==="`"&&K==="$"&&$[X+1]==="{"){G++,X+=2;continue}if(G>0){if(K==="{")G++;else if(K==="}")G--;X++;continue}if(J){X++;continue}if(K==="(")Q.paren++;else if(K===")")Q.paren--;else if(K==="[")Q.bracket++;else if(K==="]")Q.bracket--;else if(K==="{")Q.brace++;else if(K==="}")Q.brace--;if(Q.paren===0&&Q.bracket===0&&Q.brace<=0){if($.slice(X,X+Y.length)===Y)return X}X++}return-1}function RW($){let Z=c3($);if(Z.length===0)return{baseExpression:"",filters:[]};let Y=Z[0],X=[];for(let J=1;J<Z.length;J++){let Q=YN(Z[J]);if(Q)X.push(Q)}return{baseExpression:Y,filters:X}}function YN($){let Z=$.trim();if(!Z)return null;let Y=Z.indexOf("(");if(Y===-1)return{name:Z,args:[]};let X=Z.slice(0,Y).trim(),J=Y+1,Q=x0(Z,"(",")",Y);if(Q===-1)return{name:X,args:[]};let G=Z.slice(J,Q),K=QX(G);return{name:X,args:K}}function QX($){let Z=[],Y="",X={paren:0,bracket:0,brace:0},J=null,Q=0;for(let G=0;G<$.length;G++){let K=$[G];if((G>0?$[G-1]:"")==="\\"&&J){Y+=K;continue}if((K==='"'||K==="'")&&!J){J=K,Y+=K;continue}if(K===J&&J!=="`"){J=null,Y+=K;continue}if(K==="`"&&!J){J="`",Y+=K;continue}if(K==="`"&&J==="`"&&Q===0){J=null,Y+=K;continue}if(J==="`"&&K==="$"&&$[G+1]==="{"){Q++,Y+="${",G++;continue}if(Q>0&&K==="{"){Q++,Y+=K;continue}if(Q>0&&K==="}"){Q--,Y+=K;continue}if(J){Y+=K;continue}if(K==="(")X.paren++;else if(K===")")X.paren--;else if(K==="[")X.bracket++;else if(K==="]")X.bracket--;else if(K==="{")X.brace++;else if(K==="}")X.brace--;if(K===","&&X.paren===0&&X.bracket===0&&X.brace===0){Z.push(Y.trim()),Y="";continue}Y+=K}if(Y.trim())Z.push(Y.trim());return Z}function MW($,Z){let Y=Z;while(Y<$.length&&/\s/.test($[Y]))Y++;if($[Y]!=="(")return null;let X=x0($,"(",")",Y);if(X===-1)return null;return{params:$.slice(Y+1,X),endPos:X+1}}function TW($){let Z=[],X=new M4($).tokenize().filter((Q)=>Q.type!=="WHITESPACE"&&Q.type!=="COMMENT"),J=0;while(J<X.length){let Q=X[J],G=!1;if(Q.type==="IDENTIFIER"&&Q.value==="export"){if(G=!0,J++,J>=X.length)break}let K=X[J];if(K.type==="IDENTIFIER"&&(K.value==="const"||K.value==="let"||K.value==="var")){let W=K.value;if(J++,J>=X.length)break;let U=X[J];if(U.type==="IDENTIFIER"){let B=U.value;if(J++,J<X.length&&X[J].type==="OPERATOR"&&X[J].value==="="){J++;let _=J<X.length?X[J].start:$.length,z=NW(X,J,$);J=z.nextIndex,Z.push({type:"variable",name:B,value:$.slice(_,z.endPos),exported:G,start:K.start,end:z.endPos})}}else if(U.type==="PUNCTUATION"&&(U.value==="{"||U.value==="[")){let B=U.start,_=U.value==="{"?"}":"]",z=x0($,U.value,_,B);if(z!==-1){let q=$.slice(B,z+1);if(J=AW(X,z+1),J<X.length&&X[J].type==="OPERATOR"&&X[J].value==="="){J++;let j=J<X.length?X[J].start:$.length,H=NW(X,J,$);J=H.nextIndex;let O=`__stx_destructured_${Z.length}`;Z.push({type:"variable",name:O,value:`${$.slice(j,H.endPos)}; ${W} ${q} = ${O}`,exported:G,start:K.start,end:H.endPos})}}}}else if(K.type==="IDENTIFIER"&&K.value==="function"){let W=G?X[J-1].start:K.start;if(J++,J>=X.length)break;let U=X[J];if(U.type==="IDENTIFIER"){let B=U.value;J++;let _=-1;while(J<X.length){if(X[J].type==="PUNCTUATION"&&X[J].value==="{"){_=X[J].start;break}J++}if(_!==-1){let z=x0($,"{","}",_);if(z!==-1)Z.push({type:"function",name:B,value:$.slice(W,z+1).replace(/^export\s+/,""),exported:G,start:W,end:z+1}),J=AW(X,z+1)}}}else J++}return Z}function NW($,Z,Y){let X=Z,J={paren:0,bracket:0,brace:0},Q=Z<$.length?$[Z].start:Y.length;while(X<$.length){let G=$[X];if(G.type==="PUNCTUATION"){if(G.value==="(")J.paren++;else if(G.value===")")J.paren--;else if(G.value==="[")J.bracket++;else if(G.value==="]")J.bracket--;else if(G.value==="{")J.brace++;else if(G.value==="}")J.brace--;if(G.value===";"&&J.paren===0&&J.bracket===0&&J.brace===0){Q=G.start,X++;break}}if(G.type==="IDENTIFIER"&&(G.value==="const"||G.value==="let"||G.value==="var"||G.value==="function"||G.value==="export")){if(J.paren===0&&J.bracket===0&&J.brace===0){Q=$[X-1]?.end??G.start;break}}Q=G.end,X++}return{nextIndex:X,endPos:Q}}function AW($,Z){for(let Y=0;Y<$.length;Y++)if($[Y].start>=Z)return Y;return $.length}var IW=()=>{};var I4=D(()=>{VW();IW()});function XN($,Z,Y){let X=$,J=!0;while(J){J=!1;let Q=X.match(/@switch\s*\(/);if(!Q||Q.index===void 0)break;let G=Q.index,K=l3(X,G);if(!K)break;try{let W;if(O0(K.expression))W=L0(K.expression,Object.keys(Z))(...Object.values(Z));else W=z0(K.expression,Z);let U="",B=!1;for(let _ of K.cases)if(_.type==="default"){if(!B)U=_.content.trim()}else try{let z;if(_.value&&O0(_.value))z=L0(_.value,Object.keys(Z))(...Object.values(Z));else if(_.value)z=z0(_.value,Z);if(W===z){U=_.content.trim(),B=!0;break}}catch{continue}X=X.substring(0,G)+U+X.substring(K.end),J=!0}catch(W){let U=W instanceof Error?W.message:String(W),B=J0("Switch",`Error evaluating @switch expression: ${U}`,e.EVALUATION_ERROR);X=X.substring(0,G)+B+X.substring(K.end);break}}return X}function B5($,Z,Y){let X=$;X=XN(X,Z,Y);{let Q=!0;while(Q){Q=!1;let G=X.match(/@unless\s*\(/);if(!G||G.index===void 0)break;let K=G.index,W=Z$(X,K+7);if(!W)break;let U=W.endPos,B=I$(X,"unless","endunless",U);if(B===-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 _=X.slice(U,B),z=W.expression,q=-1;{let H=0,O=/@(?:if|unless)\s*\(/g,F=/@(?:endif|endunless)(?![a-z])/g,L=/@else(?![a-z])/g,V=[],N;while((N=O.exec(_))!==null)V.push({pos:N.index,type:"open"});while((N=F.exec(_))!==null)V.push({pos:N.index,type:"close"});while((N=L.exec(_))!==null)V.push({pos:N.index,type:"else"});V.sort((A,w)=>A.pos-w.pos);for(let A of V)if(A.type==="open")H++;else if(A.type==="close")H--;else if(A.type==="else"&&H===0){q=A.pos;break}}let j;if(q!==-1){let H=_.slice(0,q),O=_.slice(q+5);j=`@if (${z})${O}@else ${H}@endif`}else j=`@if (!(${z}))${_}@endif`;X=X.substring(0,K)+j+X.substring(B+10),Q=!0}}X=KX(X,Z,Y),X=WX(X,Z,Y),X=GX(X,Z);let J=()=>{let Q=i5(X);if(Q.length===0)return!1;for(let G=Q.length-1;G>=0;G--){let K=Q[G];try{let W="",U=!1;for(let B of K.branches){if(U)break;if(B.type==="else")W=B.content,U=!0;else try{let _;if(B.condition&&O0(B.condition))_=L0(B.condition,Object.keys(Z))(...Object.values(Z));else if(B.condition)_=z0(B.condition,Z);if(_)W=B.content,U=!0}catch(_){W=J0(B.type==="if"?"If":"Elseif",`Error in @${B.type}(${B.condition}): ${_ instanceof Error?_.message:String(_)}`,e.EVALUATION_ERROR),U=!0}}X=X.substring(0,K.start)+W+X.substring(K.end)}catch(W){let U=W instanceof Error?W.message:String(W),B=J0("If",`Error processing @if block: ${U}`,e.EVALUATION_ERROR);X=X.substring(0,K.start)+B+X.substring(K.end)}}return!0};while(!0){let Q=X;if(!J())break;if(X===Q)break}return X}function EW($){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 J=$[Z];if(J==="\\"&&Z+1<$.length){X.push($[Z+1]),Z+=2;continue}if(J===Y){Z++;break}X.push(J),Z++}while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!==")")return null;return Z++,{value:X.join(""),consumed:Z}}function GX($,Z){let Y=$;function X(K,W,U,B){let _=1,z=B,q=new RegExp(`@${W}(?:\\s*\\(|\\s|$)`,"g"),j=new RegExp(`@${U}(?![a-z])`,"g");while(z<K.length&&_>0){q.lastIndex=z,j.lastIndex=z;let H=q.exec(K),O=j.exec(K),F=H?H.index:1/0,L=O?O.index:1/0;if(F<L)_++,z=F+H[0].length;else if(L<1/0){if(_--,_===0)return L;z=L+O[0].length}else break}return-1}function J(K,W,U){let B=0,_=new RegExp(`@${W}(?:\\s*\\(|\\s|$)`,"g"),z=new RegExp(`@${U}(?![a-z])`,"g"),q=/@else(?![a-z])/g,j=[],H;while((H=_.exec(K))!==null)j.push({pos:H.index,type:"open"});while((H=z.exec(K))!==null)j.push({pos:H.index,type:"close"});while((H=q.exec(K))!==null)j.push({pos:H.index,type:"else"});j.sort((O,F)=>O.pos-F.pos);for(let O of j)if(O.type==="open")B++;else if(O.type==="close")B--;else if(O.type==="else"&&B===0)return O.pos;return-1}{let K=!0;while(K){K=!1;let W=Y.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!W||W.index===void 0)break;let U=W.index,B,_,z=Y.slice(U+5),q=EW(z);if(q)B=q.value,_=U+5+q.consumed;else _=U+5;let j=X(Y,"auth","endauth",_);if(j===-1){console.warn(`[stx] @auth directive at position ${U} has no matching @endauth \u2014 the block was skipped.`);break}let H=Y.slice(_,j),O=J(H,"auth","endauth"),F;if(!Z.auth)F=!1;else F=B?$$(`auth?.check && auth?.user?.[${B}]`,Z):$$("auth?.check",Z);let L;if(O!==-1){let V=H.slice(0,O),N=H.slice(O+5);L=F?V:N}else L=F?H:"";Y=Y.substring(0,U)+L+Y.substring(j+8),K=!0}}{let K=!0;while(K){K=!1;let W=Y.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!W||W.index===void 0)break;let U=W.index,B,_,z=Y.slice(U+6),q=EW(z);if(q)B=q.value,_=U+6+q.consumed;else _=U+6;let j=X(Y,"guest","endguest",_);if(j===-1){console.warn(`[stx] @guest directive at position ${U} has no matching @endguest \u2014 the block was skipped.`);break}let H=Y.slice(_,j),O=J(H,"guest","endguest"),F;if(!Z.auth)F=!0;else F=B?$$(`!auth?.check || !auth?.user?.[${B}]`,Z):$$("!auth?.check",Z);let L;if(O!==-1){let V=H.slice(0,O),N=H.slice(O+5);L=F?V:N}else L=F?H:"";Y=Y.substring(0,U)+L+Y.substring(j+9),K=!0}}function Q(K,W,U){if(Z.userCan&&typeof Z.userCan[K]==="boolean")return Z.userCan[K];if(Z.permissions?.check&&typeof Z.permissions.check==="function")try{let B=[K];if(W)B.push(W);if(U){let _=$$(U,Z);B.push(_)}return Z.permissions.check(...B)}catch{return!1}return!1}function G(K){let W=K.match(/^\s*\(\s*'([^']*)'(?:,\s*'([^']*)')?(?:,\s*([^)]*))?\)/);if(!W)return null;return{ability:W[1],type:W[2],id:W[3]?.trim(),paramsEnd:W[0].length}}for(let K of["can","cannot"]){let W=`end${K}`,U=K==="can"?"elsecan":"elsecannot",B=!0;while(B){B=!1;let _=Y.match(new RegExp(`@${K}\\s*\\(`));if(!_||_.index===void 0)break;let z=_.index,q=Y.slice(z+`@${K}`.length),j=G(q);if(!j)break;let H=z+`@${K}`.length+j.paramsEnd,O=X(Y,K,W,H);if(O===-1){console.warn(`[stx] @${K} directive at position ${z} has no matching @${W} \u2014 the block was skipped.`);break}let F=Y.slice(H,O),L=[],V=0,N=new RegExp(`@${K}\\s*\\(`,"g"),A=new RegExp(`@${W}(?![a-z])`,"g"),w=new RegExp(`@${U}\\s*\\(`,"g"),R=/@else(?![a-z])/g,T=[],I;while((I=N.exec(F))!==null)T.push({pos:I.index,type:"open"});while((I=A.exec(F))!==null)T.push({pos:I.index,type:"close"});while((I=w.exec(F))!==null)T.push({pos:I.index,type:"elseDirective"});while((I=R.exec(F))!==null)T.push({pos:I.index,type:"else"});T.sort((b,f)=>b.pos-f.pos);for(let b of T){if(b.type==="open"){V++;continue}if(b.type==="close"){V--;continue}if(V===0)L.push(b)}let E=[],k=0;for(let b=0;b<L.length;b++){let f=L[b];if(E.push({content:F.slice(k,f.pos),ability:void 0}),f.type==="elseDirective"){let r=F.slice(f.pos+`@${U}`.length),u=G(r);if(u){E[E.length-1]={content:F.slice(k,f.pos)},k=f.pos+`@${U}`.length+u.paramsEnd,E.push({content:"",ability:u.ability,type:u.type,id:u.id}),E.pop();let C=L[b+1],h=C?C.pos:F.length;E.push({content:F.slice(k,h),ability:u.ability,type:u.type,id:u.id}),k=h}}else k=f.pos+5}if(k<F.length){let b=E[E.length-1];if(L.length>0&&L[L.length-1].type==="else")E.push({content:F.slice(k),isFinalElse:!0});else if(E.length===0)E.push({content:F.slice(k)})}let S=Q(j.ability,j.type,j.id),x=K==="can"?S:!S,y="";if(x)y=E[0]?.content||"";else{let b=!1;for(let f=1;f<E.length;f++){let r=E[f];if(r.isFinalElse){y=r.content,b=!0;break}if(r.ability){let u=Q(r.ability,r.type,r.id);if(K==="can"?u:!u){y=r.content,b=!0;break}}}if(!b&&E.length>0){let f=E[E.length-1];if(f.isFinalElse)y=f.content}}Y=Y.substring(0,z)+y+Y.substring(O+`@${W}`.length),B=!0}}return Y}function KX($,Z,Y){let X=$;function J(Q,G,K,W,U){let B=!0;while(B){B=!1;let _=new RegExp(`@${G}\\s*\\(`),z=Q.match(_);if(!z||z.index===void 0)break;let q=z.index,j=Z$(Q,q+`@${G}`.length);if(!j)break;let H=j.endPos,O=I$(Q,G,K,H);if(O===-1){console.warn(`[stx] @${G} directive at position ${q} has no matching @${K} \u2014 the block was skipped.`);break}let F=Q.slice(H,O),L=j.expression,V=-1,N=0,A=0;while(A<F.length){let w=F.indexOf("@",A);if(w===-1)break;let R=F.substring(w);if(/^@(?:if|unless|isset|empty)\s*\(/.test(R)){N++,A=w+1;continue}if(/^@(?:endif|endunless|endisset|endempty)(?![a-z])/.test(R)){N--,A=w+1;continue}if(N===0&&/^@else(?![a-z])/.test(R)){V=w;break}A=w+1}try{let w=W(L.trim()),R;if(V!==-1){let T=F.slice(0,V),I=F.slice(V+5);R=w?T:I}else R=w?F:"";Q=Q.substring(0,q)+R+Q.substring(O+`@${K}`.length),B=!0}catch(w){let R=w instanceof Error?w.message:String(w),T=J0(U,`Error processing @${G} directive: ${R}`,e.EVALUATION_ERROR);Q=Q.substring(0,q)+T+Q.substring(O+`@${K}`.length);break}}return Q}return X=J(X,"isset","endisset",(Q)=>{let G=$$(Q,Z);return G!==void 0&&G!==null},"Isset"),X=J(X,"empty","endempty",(Q)=>{let G=$$(Q,Z);return G===void 0||G===null||G===""||G===0||G===!1||Array.isArray(G)&&G.length===0||typeof G==="object"&&G!==null&&Object.keys(G).length===0},"Empty"),X}function WX($,Z,Y){let X=$,J="development";function Q(G,K,W,U){let B=new RegExp(`@${K}(?![a-z])`,"g"),_=new RegExp(`@${W}(?![a-z])`,"g"),z=new RegExp(`^@${K}(?![a-z])`),q=new RegExp(`^@${W}(?![a-z])`),j=G,H=!0;while(H){H=!1,B.lastIndex=0;let O=B.exec(j);if(!O)break;let F=O.index,L=F+O[0].length;if(K==="env"){let S=j.substring(L).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!S)break;L+=S[0].length,U=J===S[2]}let V=1,N=L,A=-1;while(V>0&&N<j.length){B.lastIndex=N,_.lastIndex=N;let S=B.exec(j),x=_.exec(j),y=S?S.index:1/0,b=x?x.index:1/0;if(y<b)V++,N=y+S[0].length;else if(b<1/0){if(V--,V===0){A=b;break}N=b+x[0].length}else break}if(A===-1){console.warn(`[stx] @${K} directive at position ${F} has no matching @${W} \u2014 the block was skipped.`);break}let w=j.substring(L,A),R=-1,T=0,I=0;while(I<w.length){let S=w.indexOf("@",I);if(S===-1)break;let x=w.substring(S);if(z.test(x)){T++,I=S+1;continue}if(q.test(x)){T--,I=S+1;continue}if(T===0&&/^@else(?![a-z])/.test(x)){R=S;break}I=S+1}let E;if(R!==-1){let S=w.slice(0,R),x=w.slice(R+5);E=U?S:x}else E=U?w:"";let k=`@${W}`.length;j=j.substring(0,F)+E+j.substring(A+k),H=!0}return j}return X=Q(X,"env","endenv",!1),X=Q(X,"production","endproduction",J==="production"),X=Q(X,"development","enddevelopment",J==="development"),X=Q(X,"staging","endstaging",J==="staging"),X=Q(X,"testing","endtesting",J==="testing"),X}var i3=D(()=>{aY();H1();I4();h0()});function BX($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function E$($,Z){if(!$)return Z?.nonceGenerator?.()??BX();let Y=UX.get($);if(!Y)Y=Z?.nonceGenerator?.()??BX(),UX.set($,Y);return Y}function JN($){UX.delete($)}function _X($,Z){let Y=[];for(let[X,J]of Object.entries($)){if(J===void 0||J===null)continue;if(typeof J==="boolean"){if(J)Y.push(X);continue}if(Array.isArray(J)){let Q=[...J];if(Z&&(X==="script-src"||X==="style-src"))Q=Q.filter((G)=>!G.startsWith("'nonce-")),Q.push(`'nonce-${Z}'`);if(Q.length>0)Y.push(`${X} ${Q.join(" ")}`)}}return Y.join("; ")}function s3($,Z){return`<meta http-equiv="Content-Security-Policy" content="${_X($,Z).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}">`}function QN($){return{enabled:!0,directives:{strict:DW,moderate:n3,relaxed:kW,api:SW}[$]||n3,useNonce:$==="strict",addMetaTag:!0}}function GN($,Z){let Y={...$};for(let[X,J]of Object.entries(Z)){let Q=X,G=Y[Q];if(J===void 0||J===null)continue;if(typeof J==="boolean")Y[Q]=G||J;else if(Array.isArray(J)){let K=Array.isArray(G)?G:[],W=[...new Set([...K,...J])];Y[Q]=W}}return Y}function zX($,Z,Y){if(!Z.enabled||!Z.addMetaTag)return $;if($.includes('http-equiv="Content-Security-Policy"'))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let X=Z.useNonce?E$(Y,Z):void 0,J=s3(Z.directives,X);return $.replace(/<head([^>]*)>/,`<head$1>
1832
1832
  ${J}`)}function KN($,Z){let Y=$;return Y=Y.replace(/<script(?![^>]*\ssrc=)([^>]*)>/gi,(X,J)=>{if(J.includes("nonce="))return X;return`<script nonce="${Z}"${J}>`}),Y=Y.replace(/<style([^>]*)>/gi,(X,J)=>{if(J.includes("nonce="))return X;return`<style nonce="${Z}"${J}>`}),Y}function qX($,Z,Y,X){let J=$,Q=X.csp;if(J=J.replace(/@csp\b/g,()=>{if(!Q?.enabled||!Q.directives)return"<!-- CSP not configured -->";let G=Q.useNonce?E$(Z,Q):void 0;return s3(Q.directives,G)}),J=J.replace(/@cspNonce\b/g,()=>{if(!Q?.enabled||!Q.useNonce)return"";return E$(Z,Q)}),Q?.enabled&&Q.useNonce)Z.cspNonce=E$(Z,Q);return J}function WN(){return[bW,CW]}function UN($){let Z=[];if($["script-src"]?.includes("'unsafe-inline'"))Z.push("CSP: Using unsafe-inline in script-src significantly reduces XSS protection");if($["script-src"]?.includes("'unsafe-eval'"))Z.push("CSP: Using unsafe-eval in script-src allows eval() and related functions");if(!$["default-src"])Z.push("CSP: No default-src specified. Recommend adding default-src as a fallback");if($["default-src"]?.includes("*"))Z.push("CSP: Using * in default-src provides minimal protection");if(!$["object-src"]&&!$["default-src"]?.includes("'none'"))Z.push("CSP: Consider adding object-src: none to block plugins");if(!$["base-uri"])Z.push("CSP: Consider adding base-uri to prevent base tag injection attacks");for(let[Y,X]of Object.entries($))if(Array.isArray(X)&&X.includes("http:"))Z.push(`CSP: Using http: in ${Y} allows insecure resources`);return Z}function yW($=!1){return $?"Content-Security-Policy-Report-Only":"Content-Security-Policy"}function BN($,Z){if(!$.enabled)return{};let Y=$.useNonce?E$(Z,$):void 0,X=_X($.directives,Y);return{[yW($.reportOnly)]:X}}var UX,DW,n3,kW,SW,bW,CW,_N;var jX=D(()=>{UX=new WeakMap;DW={"default-src":["'self'"],"script-src":["'self'","'strict-dynamic'"],"style-src":["'self'"],"img-src":["'self'","data:","https:"],"font-src":["'self'","https:","data:"],"connect-src":["'self'"],"media-src":["'self'"],"object-src":["'none'"],"frame-src":["'none'"],"base-uri":["'self'"],"form-action":["'self'"],"frame-ancestors":["'self'"],"upgrade-insecure-requests":!0},n3={"default-src":["'self'"],"script-src":["'self'"],"style-src":["'self'","'unsafe-inline'"],"img-src":["'self'","data:","https:"],"font-src":["'self'","https:","data:"],"connect-src":["'self'","https:"],"media-src":["'self'"],"object-src":["'none'"],"frame-src":["'self'"],"base-uri":["'self'"],"form-action":["'self'"],"upgrade-insecure-requests":!0},kW={"default-src":["'self'"],"script-src":["'self'","'unsafe-inline'"],"style-src":["'self'","'unsafe-inline'"],"img-src":["'self'","data:","https:","http:"],"font-src":["'self'","https:","http:","data:"],"connect-src":["'self'","https:","http:","ws:","wss:"],"media-src":["'self'","https:","http:"],"object-src":["'none'"],"frame-src":["'self'","https:"],"base-uri":["'self'"]},SW={"default-src":["'none'"],"frame-ancestors":["'none'"]};bW={name:"csp",handler:($,Z,Y,X)=>{let Q=Y.__stx_options?.csp;if(!Q?.enabled||!Q.directives)return"<!-- CSP not configured -->";let G=Q.useNonce?E$(Y,Q):void 0;return s3(Q.directives,G)},hasEndTag:!1,description:"Insert Content-Security-Policy meta tag"},CW={name:"cspNonce",handler:($,Z,Y,X)=>{let Q=Y.__stx_options?.csp;if(!Q?.enabled||!Q.useNonce)return"";return E$(Y,Q)},hasEndTag:!1,description:"Output the current CSP nonce value"};_N={enabled:!1,reportOnly:!1,directives:n3,useNonce:!1,addMetaTag:!0}});import zN from"crypto";function jN($=qN){let Z=zN.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return HX=Z,Z}function HN(){if(!HX)jN();return HX}function ON($=PW){let Z=HN();return`<input type="hidden" name="${$}" value="${Z}">`}function xW($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(Z,Y,X)=>{return ON(X||PW)})}var qN=40,PW="_token",HX=null;var vW=()=>{};async function OX($,Z,Y,X){if(!X.customDirectives||X.customDirectives.length===0)return $;let J=$;for(let Q of X.customDirectives){if(!Q.name||typeof Q.handler!=="function"){if(X.debug)console.warn("Invalid custom directive:",Q);continue}if(Q.hasEndTag)J=await LN(J,Q,Z,Y,X);else J=await FN(J,Q,Z,Y,X)}return J}async function LN($,Z,Y,X,J){let{name:Q,handler:G}=Z,K=`@${Q}`,W=`@end${Q}`,U=$,B=g5(`${K}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${W}`,"g"),_=[],z=B.exec(U);while(z!==null){let[q,j="",H=""]=z,O=z.index||0;try{let F=j?fW(j):[],L=H.trim(),V=await G(L,F,Y,X);_.push({original:q,processed:V,startIndex:O})}catch(F){let L=F instanceof Error?F.message:String(F);if(J.debug)console.error(`Error processing custom directive @${Q}:`,F);_.push({original:q,processed:J0("CustomDirective",`Error in @${Q}${j?`(${j})`:""}: ${L}`,e.EVALUATION_ERROR),startIndex:O})}z=B.exec(U)}for(let q=_.length-1;q>=0;q--){let{original:j,processed:H}=_[q];U=U.replace(j,H)}return U}async function FN($,Z,Y,X,J){let{name:Q,handler:G}=Z,K=$,W=g5(`@${Q}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),U=[],B=W.exec(K);while(B!==null){let[q,j=""]=B,H=B.index||0;try{let O=fW(j),F=await G("",O,Y,X);U.push({original:q,processed:F,startIndex:H})}catch(O){let F=O instanceof Error?O.message:String(O);if(J.debug)console.error(`Error processing custom directive @${Q}:`,O);U.push({original:q,processed:J0("CustomDirective",`Error in @${Q}(${j}): ${F}`,e.EVALUATION_ERROR),startIndex:H})}B=W.exec(K)}let _=g5(`@${Q}(?!\\w)(?!\\s*\\()`,"g"),z=_.exec(K);while(z!==null){let[q]=z,j=z.index||0;try{let H=await G("",[],Y,X);U.push({original:q,processed:H,startIndex:j})}catch(H){let O=H instanceof Error?H.message:String(H);if(J.debug)console.error(`Error processing custom directive @${Q}:`,H);U.push({original:q,processed:J0("CustomDirective",`Error in @${Q}: ${O}`,e.EVALUATION_ERROR),startIndex:j})}z=_.exec(K)}for(let q=U.length-1;q>=0;q--){let{original:j,processed:H}=U[q];K=K.replace(j,H)}return K}function fW($){if(!$.trim())return[];let Z=[],Y="",X=!1,J="";for(let Q=0;Q<$.length;Q++){let G=$[Q];if((G==='"'||G==="'")&&(Q===0||$[Q-1]!=="\\"))if(!X)X=!0,J=G;else if(G===J)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((Q)=>{let G=Q.trim();if(G.startsWith('"')&&G.endsWith('"')||G.startsWith("'")&&G.endsWith("'"))return G.substring(1,G.length-1);return G})}var LX=D(()=>{H1();U5()});var a3={};Z0(a3,{useTitle:()=>dW,useSeoMeta:()=>E4,usePageTitle:()=>dW,useHead:()=>k$,resetHead:()=>gW,renderHtmlAttrs:()=>mW,renderHead:()=>uW,renderBodyAttrs:()=>pW,processTitleDirective:()=>iW,processMetaDirective:()=>nW,processHeadDirective:()=>lW,getPageMeta:()=>o3,getHead:()=>n5,definePageMeta:()=>hW,applyHead:()=>cW});function n5(){return D$}function o3(){return r3}function gW(){D$={},VN.length=0,r3={}}function k$($){D$=NN(D$,$)}function NN($,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 E4($){let Z=[];if($.description)Z.push({name:"description",content:$.description});if($.keywords){let W=Array.isArray($.keywords)?$.keywords.join(", "):$.keywords;Z.push({name:"keywords",content:W})}if($.author)Z.push({name:"author",content:$.author});if($.robots)Z.push({name:"robots",content:$.robots});let Y=$.ogTitle??$.title,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 J=$.twitterTitle??$.title,Q=$.twitterDescription??$.description,G=$.twitterImage??$.ogImage;if($.twitterCard)Z.push({name:"twitter:card",content:$.twitterCard});if(J)Z.push({name:"twitter:title",content:J});if(Q)Z.push({name:"twitter:description",content:Q});if(G)Z.push({name:"twitter:image",content:G});if($.twitterSite)Z.push({name:"twitter:site",content:$.twitterSite});if($.twitterCreator)Z.push({name:"twitter:creator",content:$.twitterCreator});if($.articleAuthor)Z.push({property:"article:author",content:$.articleAuthor});if($.articlePublishedTime)Z.push({property:"article:published_time",content:$.articlePublishedTime});if($.articleModifiedTime)Z.push({property:"article:modified_time",content:$.articleModifiedTime});if($.articleSection)Z.push({property:"article:section",content:$.articleSection});if($.articleTags)for(let W of $.articleTags)Z.push({property:"article:tag",content:W});let K=[];if($.canonical)K.push({rel:"canonical",href:$.canonical});k$({title:$.title,titleTemplate:$.titleTemplate,meta:Z,link:K})}function hW($){if(r3={...r3,...$},$.title||$.description)E4({title:$.title,description:$.description})}function dW($){let Z=typeof $==="function"?$():$;k$({title:Z})}function uW($=D$){let Z=[];if($.title){let Y=$.title;if($.titleTemplate)Y=typeof $.titleTemplate==="function"?$.titleTemplate(Y):$.titleTemplate.replace("%s",Y);Z.push(`<title>${_5(Y)}</title>`)}if($.base){let Y=Object.entries($.base).map(([X,J])=>`${X}="${_5(J)}"`).join(" ");Z.push(`<base ${Y}>`)}for(let Y of $.meta||[]){let X=Object.entries(Y).filter(([J,Q])=>Q!==void 0).map(([J,Q])=>{return`${J==="httpEquiv"?"http-equiv":J}="${_5(String(Q))}"`}).join(" ");Z.push(`<meta ${X}>`)}for(let Y of $.link||[]){let X=Object.entries(Y).filter(([J,Q])=>Q!==void 0).map(([J,Q])=>`${J}="${_5(String(Q))}"`).join(" ");Z.push(`<link ${X}>`)}for(let Y of $.script||[]){let{content:X,...J}=Y,Q=Object.entries(J).filter(([G,K])=>K!==void 0).map(([G,K])=>{if(typeof K==="boolean")return K?G:"";return`${G}="${_5(String(K))}"`}).filter(Boolean).join(" ");if(X)Z.push(`<script ${Q}>${X}</script>`);else Z.push(`<script ${Q}></script>`)}for(let Y of $.style||[]){let X=Y.type?` type="${Y.type}"`:"";Z.push(`<style${X}>${Y.content}</style>`)}return Z.join(`
1833
1833
  `)}function mW($=D$){if(!$.htmlAttrs)return"";return Object.entries($.htmlAttrs).map(([Z,Y])=>`${Z}="${_5(Y)}"`).join(" ")}function pW($=D$){if(!$.bodyAttrs)return"";return Object.entries($.bodyAttrs).map(([Z,Y])=>`${Z}="${_5(Y)}"`).join(" ")}function _5($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function cW($=D$){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[J,Q]of Object.entries(Z))if(Q!==void 0)X.setAttribute(J,String(Q))}if($.htmlAttrs)for(let[Z,Y]of Object.entries($.htmlAttrs))document.documentElement.setAttribute(Z,Y);if($.bodyAttrs)for(let[Z,Y]of Object.entries($.bodyAttrs))document.body.setAttribute(Z,Y)}function lW($){let Z="";return{content:$.replace(/@head\s*([\s\S]*?)@endhead/g,(X,J)=>{return Z+=J.trim()+`
1834
1834
  `,""}),headContent:Z.trim()}}function iW($,Z){return $.replace(/@title\s*\(\s*(?:(['"`])(.+?)\1|([^)]+))\s*\)/g,(Y,X,J,Q)=>{let G=X?J:Z[(Q||"").trim()]??Q;return k$({title:G}),""})}function nW($,Z){return $.replace(/@meta\s*\(\s*(['"`])(.+?)\1\s*,\s*(?:(['"`])(.+?)\3|([^)]+))\s*\)/g,(Y,X,J,Q,G,K)=>{let W=Q?G:K,U=Q?W:Z[(W||"").trim()]??W,_=J.includes(":")?{property:J,content:U}:{name:J,content:U};return k$({meta:[_]}),""})}var D$,VN,r3;var S$=D(()=>{D$={},VN=[],r3={}});import AN from"crypto";function i0($){return String($??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function wN($){return{...e3,...$.forms?.classes}}function t3($,Z,Y,X){let J=$||Z;return Y?`${J} ${X}`:J}function RN(){return AN.randomUUID()}function MN($,Z,Y,X){let J=wN(X),Q=$;return Q=aW(Q,Z),Q=s5(Q,Z),Q=$8(Q,Z,J),Q=Z8(Q,Z,J),Q}function s5($,Z){let Y=$;return Y=Y.replace(/@csrf/g,()=>{if(!Z.csrf||typeof Z.csrf!=="object"){let X=RN();Z.csrf={token:X}}if(Z.csrf.field)return Z.csrf.field;if(Z.csrf.token)return`<input type="hidden" name="_token" value="${i0(Z.csrf.token)}">`;return'<input type="hidden" name="_token" value="">'}),Y=Y.replace(/@method\(['"]([^'"]+)['"]\)/g,(X,J)=>{let Q=J.toUpperCase();if(J&&!["GET","POST"].includes(Q))return`<input type="hidden" name="_method" value="${i0(Q)}">`;return X}),Y}function $8($,Z,Y=e3){let X=$;return X=X.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(J,Q,G,K,W,U="")=>{let B=Q||G||"POST",_=K||W||"",z=b$(U),q=B.toUpperCase(),j=["GET","POST"].includes(q)?q:"POST",H=`<form method="${i0(j)}" action="${i0(_)}"${z?` ${z}`:""}>`;if(H+=`
1835
1835
  ${s5("@csrf",Z)}`,!["GET","POST"].includes(q))H+=`
1836
- ${s5(`@method('${q}')`,Z)}`;return H}),X=X.replace(/@endform/g,"</form>"),X=X.replace(/@input\(\s*(?:'([^']+)'|"([^"]+)")\s*(?:,\s*(?:(?:'([^']*)'|"([^"]*)")\s*)?)?(?:,\s*\{([^}]+)\})?\s*\)/g,(J,Q,G,K,W,U="")=>{let B=Q||G||"",_=K||W||"",z=b$(U),q=D4(B,Z),j=q!==void 0&&q!==null?q:_||"",H=z.match(/type=['"]([^'"]+)['"]/i),O=H?H[1]:"text",F=k4(B,Z),L=z.match(/class=['"]([^'"]+)['"]/i),V=t3(L?L[1]:"",Y.input,F,Y.inputError),N=z.replace(/class=['"][^'"]+['"]/i,"");return N=N.replace(/type=['"][^'"]+['"]/i,""),`<input type="${i0(O)}" name="${i0(B)}" value="${i0(j)}" class="${V}"${N?` ${N}`:""}>`}),X=X.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(J,Q,G="",K="")=>{let W=b$(G),U=D4(Q,Z)||K.trim(),B=k4(Q,Z),_=W.match(/class=['"]([^'"]+)['"]/i),z=t3(_?_[1]:"",Y.input,B,Y.inputError),q=W.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${i0(Q)}" class="${z}"${q?` ${q}`:""}>${i0(U)}</textarea>`}),X=X.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(J,Q,G="",K)=>{let W=b$(G),U=D4(Q,Z),B=k4(Q,Z),_=W.match(/class=['"]([^'"]+)['"]/i),z=t3(_?_[1]:"",Y.input,B,Y.inputError),q=W.replace(/class=['"][^'"]+['"]/i,""),j=K;if(U!==void 0)j=K.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(H,O,F)=>{if((Array.isArray(U)?U.some((V)=>String(V)===F):String(U)===F)&&!O.includes("selected"))return O.replace(/(<option)/,"$1 selected");return H});return`<select name="${i0(Q)}" class="${z}"${q?` ${q}`:""}>${j}</select>`}),X=X.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(J,Q,G="1",K="")=>{let W=b$(K),U=D4(Q,Z),B=U!==void 0&&(Array.isArray(U)?U.some((j)=>String(j)===G):U===!0||String(U)===G),_=W.match(/class=['"]([^'"]+)['"]/i),z=_?_[1]:Y.checkInput,q=W.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${i0(Q)}" value="${i0(G)}" class="${z}"${B?" checked":""}${q?` ${q}`:""}>`}),X=X.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(J,Q,G,K="")=>{let W=b$(K),U=D4(Q,Z),B=U!==void 0&&U===G,_=W.match(/class=['"]([^'"]+)['"]/i),z=_?_[1]:Y.checkInput,q=W.replace(/class=['"][^'"]+['"]/i,"");return`<input type="radio" name="${i0(Q)}" value="${i0(G)}" class="${z}"${B?" checked":""}${q?` ${q}`:""}>`}),X=X.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(J,Q,G="")=>{let K=b$(G),W=K.match(/accept=['"]([^'"]+)['"]/i),U=W?W[1]:"",B=K.includes("multiple"),_=k4(Q,Z),z=K.match(/class=['"]([^'"]+)['"]/i),q=t3(z?z[1]:"",Y.input,_,Y.inputError),j=K.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),H=[`<input type="file" name="${i0(Q)}"`,`class="${q}"`];if(U)H.push(`accept="${i0(U)}"`);if(B)H.push("multiple");if(j)H.push(j);return`${H.join(" ")}>`}),X=X.replace(/@label\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endlabel/g,(J,Q,G="",K)=>{let W=b$(G),U=W.match(/class=['"]([^'"]+)['"]/i),B=U?U[1]:Y.label,_=W.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${i0(Q)}" class="${B}"${_?` ${_}`:""}>${K}</label>`}),X}function Z8($,Z,Y=e3){return $.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(X,J,Q)=>{try{if(k4(J,Z))return Q.replace(/\{\{([^}]+)\}\}/g,(G,K)=>{try{if(K.trim()==="$message"||K.trim()==="message")return sW(J,Z);if(K.trim().includes("errors.first")||K.trim().includes("$errors.first")){if(typeof Z.errors?.first==="function")return Z.errors.first(J);return sW(J,Z)}let W=K.trim();if(H0(W)){let U=z0(W,Z);return U!==void 0?String(U):W}return W}catch{return K}});return""}catch(G){return console.error("Error processing @error directive:",G),X}})}function k4($,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 sW($,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 D4($,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 b$($){if(!$.trim())return"";let Z=[],Y=$.trim(),X=/([\w-]+)\s*:\s*(['"]?)([^,'"]*)\2(?:\s*,\s*|\s*$)/g,J;while((J=X.exec(Y))!==null){let[,Q,,G]=J;Z.push(`${Q}="${G.trim()}"`)}return Z.join(" ")}function TN($,Z){rW[$]=Z}function FX($){let[Z,...Y]=$.split(":"),X=Y.length>0?Y.join(":").split(","):[];return{name:Z.trim(),params:X}}function oW($,Z,Y,X={}){let J=[],Q=Y.split("|").map((G)=>G.trim()).filter(Boolean);for(let G of Q){let K=FX(G),W=rW[K.name];if(!W){console.warn(`Unknown validation rule: ${K.name}`);continue}if(K.name==="confirmed"){let B=`${$}_confirmation`;K.params=[X[B]]}let U=W(Z,K.params||[],$);if(U)J.push(K.message||U)}return{field:$,valid:J.length===0,errors:J}}function IN($,Z){let Y={};for(let[X,J]of Object.entries(Z)){let Q=oW(X,$[X],J,$);if(!Q.valid)Y[X]=Q.errors}return Y}function aW($,Z){return $.replace(/@validate\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]*)\})?\s*\)/g,(Y,X,J,Q)=>{let G=J.split("|").map((W)=>W.trim()),K=[];for(let W of G){let U=FX(W);switch(U.name){case"required":K.push("required");break;case"email":K.push('type="email"');break;case"url":K.push('type="url"');break;case"numeric":case"integer":if(K.push('type="number"'),U.name==="integer")K.push('step="1"');break;case"min":if(U.params?.[0])K.push(`minlength="${U.params[0]}"`);break;case"max":if(U.params?.[0])K.push(`maxlength="${U.params[0]}"`);break;case"regex":if(U.params?.[0])K.push(`pattern="${U.params[0]}"`);break}}return`<!-- @validate:${X}:${J} -->${K.length>0?`<!-- attrs:${K.join(" ")} -->`:""}`})}function EN($){VX[$.name]=$}function tW($,Z,Y={}){let X=[],J=Z.split("|").map((Q)=>Q.trim());for(let Q of J){let G=FX(Q),K=VX[G.name];if(!K){console.warn(`Unknown validation rule: ${G.name}`);continue}let W=K.validate($,G.params||[],Y);if(W!==!0)X.push(W)}return{valid:X.length===0,errors:X}}function DN($,Z){let Y={},X=!0;for(let[J,Q]of Object.entries(Z)){let G=tW($[J],Q,$);if(!G.valid)X=!1,Y[J]=G.errors}return{valid:X,errors:Y}}function kN($,Z){let Y=JSON.stringify(Z);return`
1836
+ ${s5(`@method('${q}')`,Z)}`;return H}),X=X.replace(/@endform/g,"</form>"),X=X.replace(/@input\(\s*(?:'([^']+)'|"([^"]+)")\s*(?:,\s*(?:(?:'([^']*)'|"([^"]*)")\s*)?)?(?:,\s*\{([^}]+)\})?\s*\)/g,(J,Q,G,K,W,U="")=>{let B=Q||G||"",_=K||W||"",z=b$(U),q=D4(B,Z),j=q!==void 0&&q!==null?q:_||"",H=z.match(/type=['"]([^'"]+)['"]/i),O=H?H[1]:"text",F=k4(B,Z),L=z.match(/class=['"]([^'"]+)['"]/i),V=t3(L?L[1]:"",Y.input,F,Y.inputError),N=z.replace(/class=['"][^'"]+['"]/i,"");return N=N.replace(/type=['"][^'"]+['"]/i,""),`<input type="${i0(O)}" name="${i0(B)}" value="${i0(j)}" class="${V}"${N?` ${N}`:""}>`}),X=X.replace(/@textarea\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endtextarea/g,(J,Q,G="",K="")=>{let W=b$(G),U=D4(Q,Z)||K.trim(),B=k4(Q,Z),_=W.match(/class=['"]([^'"]+)['"]/i),z=t3(_?_[1]:"",Y.input,B,Y.inputError),q=W.replace(/class=['"][^'"]+['"]/i,"");return`<textarea name="${i0(Q)}" class="${z}"${q?` ${q}`:""}>${i0(U)}</textarea>`}),X=X.replace(/@select\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endselect/g,(J,Q,G="",K)=>{let W=b$(G),U=D4(Q,Z),B=k4(Q,Z),_=W.match(/class=['"]([^'"]+)['"]/i),z=t3(_?_[1]:"",Y.input,B,Y.inputError),q=W.replace(/class=['"][^'"]+['"]/i,""),j=K;if(U!==void 0)j=K.replace(/(<option[^>]*value=['"]([^'"]+)['"][^>]*>)/gi,(H,O,F)=>{if((Array.isArray(U)?U.some((V)=>String(V)===F):String(U)===F)&&!O.includes("selected"))return O.replace(/(<option)/,"$1 selected");return H});return`<select name="${i0(Q)}" class="${z}"${q?` ${q}`:""}>${j}</select>`}),X=X.replace(/@checkbox\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?(?:,\s*\{([^}]+)\})?\)/g,(J,Q,G="1",K="")=>{let W=b$(K),U=D4(Q,Z),B=U!==void 0&&(Array.isArray(U)?U.some((j)=>String(j)===G):U===!0||String(U)===G),_=W.match(/class=['"]([^'"]+)['"]/i),z=_?_[1]:Y.checkInput,q=W.replace(/class=['"][^'"]+['"]/i,"");return`<input type="checkbox" name="${i0(Q)}" value="${i0(G)}" class="${z}"${B?" checked":""}${q?` ${q}`:""}>`}),X=X.replace(/@radio\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(J,Q,G,K="")=>{let W=b$(K),U=D4(Q,Z),B=U!==void 0&&U===G,_=W.match(/class=['"]([^'"]+)['"]/i),z=_?_[1]:Y.checkInput,q=W.replace(/class=['"][^'"]+['"]/i,"");return`<input type="radio" name="${i0(Q)}" value="${i0(G)}" class="${z}"${B?" checked":""}${q?` ${q}`:""}>`}),X=X.replace(/@file\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)/g,(J,Q,G="")=>{let K=b$(G),W=K.match(/accept=['"]([^'"]+)['"]/i),U=W?W[1]:"",B=K.includes("multiple"),_=k4(Q,Z),z=K.match(/class=['"]([^'"]+)['"]/i),q=t3(z?z[1]:"",Y.input,_,Y.inputError),j=K.replace(/class=['"][^'"]+['"]/gi,"").replace(/accept=['"][^'"]+['"]/gi,"").replace(/\bmultiple\b/gi,"").trim(),H=[`<input type="file" name="${i0(Q)}"`,`class="${q}"`];if(U)H.push(`accept="${i0(U)}"`);if(B)H.push("multiple");if(j)H.push(j);return`${H.join(" ")}>`}),X=X.replace(/@label\(\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]+)\})?\)([\s\S]*?)@endlabel/g,(J,Q,G="",K)=>{let W=b$(G),U=W.match(/class=['"]([^'"]+)['"]/i),B=U?U[1]:Y.label,_=W.replace(/class=['"][^'"]+['"]/i,"");return`<label for="${i0(Q)}" class="${B}"${_?` ${_}`:""}>${K}</label>`}),X}function Z8($,Z,Y=e3){return $.replace(/@error\(['"]([^'"]+)['"]\)([\s\S]*?)@enderror/g,(X,J,Q)=>{try{if(k4(J,Z))return Q.replace(/\{\{([^}]+)\}\}/g,(G,K)=>{try{if(K.trim()==="$message"||K.trim()==="message")return sW(J,Z);if(K.trim().includes("errors.first")||K.trim().includes("$errors.first")){if(typeof Z.errors?.first==="function")return Z.errors.first(J);return sW(J,Z)}let W=K.trim();if(O0(W)){let U=z0(W,Z);return U!==void 0?String(U):W}return W}catch{return K}});return""}catch(G){return console.error("Error processing @error directive:",G),X}})}function k4($,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 sW($,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 D4($,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 b$($){if(!$.trim())return"";let Z=[],Y=$.trim(),X=/([\w-]+)\s*:\s*(['"]?)([^,'"]*)\2(?:\s*,\s*|\s*$)/g,J;while((J=X.exec(Y))!==null){let[,Q,,G]=J;Z.push(`${Q}="${G.trim()}"`)}return Z.join(" ")}function TN($,Z){rW[$]=Z}function FX($){let[Z,...Y]=$.split(":"),X=Y.length>0?Y.join(":").split(","):[];return{name:Z.trim(),params:X}}function oW($,Z,Y,X={}){let J=[],Q=Y.split("|").map((G)=>G.trim()).filter(Boolean);for(let G of Q){let K=FX(G),W=rW[K.name];if(!W){console.warn(`Unknown validation rule: ${K.name}`);continue}if(K.name==="confirmed"){let B=`${$}_confirmation`;K.params=[X[B]]}let U=W(Z,K.params||[],$);if(U)J.push(K.message||U)}return{field:$,valid:J.length===0,errors:J}}function IN($,Z){let Y={};for(let[X,J]of Object.entries(Z)){let Q=oW(X,$[X],J,$);if(!Q.valid)Y[X]=Q.errors}return Y}function aW($,Z){return $.replace(/@validate\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*(?:,\s*\{([^}]*)\})?\s*\)/g,(Y,X,J,Q)=>{let G=J.split("|").map((W)=>W.trim()),K=[];for(let W of G){let U=FX(W);switch(U.name){case"required":K.push("required");break;case"email":K.push('type="email"');break;case"url":K.push('type="url"');break;case"numeric":case"integer":if(K.push('type="number"'),U.name==="integer")K.push('step="1"');break;case"min":if(U.params?.[0])K.push(`minlength="${U.params[0]}"`);break;case"max":if(U.params?.[0])K.push(`maxlength="${U.params[0]}"`);break;case"regex":if(U.params?.[0])K.push(`pattern="${U.params[0]}"`);break}}return`<!-- @validate:${X}:${J} -->${K.length>0?`<!-- attrs:${K.join(" ")} -->`:""}`})}function EN($){VX[$.name]=$}function tW($,Z,Y={}){let X=[],J=Z.split("|").map((Q)=>Q.trim());for(let Q of J){let G=FX(Q),K=VX[G.name];if(!K){console.warn(`Unknown validation rule: ${G.name}`);continue}let W=K.validate($,G.params||[],Y);if(W!==!0)X.push(W)}return{valid:X.length===0,errors:X}}function DN($,Z){let Y={},X=!0;for(let[J,Q]of Object.entries(Z)){let G=tW($[J],Q,$);if(!G.valid)X=!1,Y[J]=G.errors}return{valid:X,errors:Y}}function kN($,Z){let Y=JSON.stringify(Z);return`
1837
1837
  <script>
1838
1838
  (function() {
1839
1839
  const form = document.getElementById('${$}');
@@ -1910,7 +1910,7 @@ window.__stxSuspense.resolve('${$}', \`${X}\`);
1910
1910
  </script>`}catch(Y){let X=Y instanceof Error?Y.message:String(Y);return`
1911
1911
  <script>
1912
1912
  window.__stxSuspense.resolve('${$}', '<div class="stx-error">Error loading content: ${E0(X)}</div>');
1913
- </script>`}}function KA($,Z,Y){if(!Z||Z<=0)return $;let X,J=new Promise((Q,G)=>{X=setTimeout(()=>G(Error(`streaming boundary "${Y}" timed out after ${Z}ms`)),Z)});return Promise.race([$,J]).finally(()=>clearTimeout(X))}function UU($,Z=[],Y={}){let X=Y.timeoutMs??0;return new ReadableStream({async start(J){try{if(J.enqueue($),Z.length>0)J.enqueue(DX),await Promise.all(Z.map(async(Q)=>{let G=KA(Q.render(),X,Q.id);J.enqueue(await Q8(Q.id,G))}));J.close()}catch(Q){J.error(Q)}}})}function BU($,Z){return $.replace(WA,(Y,X,J)=>{let Q=X.trim(),G=J.split(/@fallback/i),K=G[0].trim(),W=G.length>1?G.slice(1).join("@fallback").trim():"";if(!Z.__streamTemplates)Z.__streamTemplates={};return Z.__streamTemplates[Q]=K,`<div data-suspense="${Q}">${W}</div>`})}function _U($){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,J])=>({id:X,render:J})):void 0}async function zU($,Z={},Y={}){let X={...W1,...Y,streaming:{...EX,...Y.streaming}},J=X.streaming?.bufferSize||16384;return new ReadableStream({async start(Q){try{let G=await Bun.file($).text(),K=G.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),W=K?K[1]:"",U=G.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),B={...Z,__filename:$,__dirname:J8.dirname($)};if(W.trim())await D0(W,B,$);let _=new Set,z=X.streaming?.strategy||"auto",q=new RegExp(z5.source,"g");if(!(z!=="manual"&&q.test(U))){let H=await X0(U,B,$,X,_);for(let O=0;O<H.length;O+=J)Q.enqueue(H.slice(O,O+J))}else{let H=[],O=new RegExp(z5.source,"g"),F;while((F=O.exec(U))!==null)H.push({name:F[1],content:F[2],start:F.index,end:F.index+F[0].length});let L=0;for(let V of H){if(V.start>L){let A=U.slice(L,V.start);if(A.trim()){let w=await X0(A,B,$,X,_);Q.enqueue(w)}}let N=await X0(V.content,B,$,X,_);Q.enqueue(N),L=V.end}if(L<U.length){let V=U.slice(L);if(V.trim()){let N=await X0(V,B,$,X,_);Q.enqueue(N)}}}Q.close()}catch(G){Q.error(G)}}})}async function qU($,Z={}){let Y={...W1,...Z,streaming:{...EX,...Z.streaming}},X=await Bun.file($).text(),J=X.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),Q=J?J[1]:"",G=X.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),K=G,W={},U;z5.lastIndex=0;while((U=z5.exec(G))!==null){let z=U[1],q=U[2];W[z]=q}let B=G.replace(z5,"");return{renderShell:async(z={})=>{let q={...z,__filename:$,__dirname:J8.dirname($)};return await D0(Q,q,$),X0(B,q,$,Y,new Set)},renderSection:async(z,q={})=>{try{if(!W[z])return`<div class="error-message">Section "${E0(z)}" not found in template "${E0($)}"</div>`;let j={...q,__filename:$,__dirname:J8.dirname($)};await D0(Q,j,$);let H=new Set;return await X0(W[z],j,$,Y,H)}catch(j){let H=j instanceof Error?j.message:String(j);return L0("Expression",H,$,W[z]||"",0,W[z]||"")}},getSections:()=>{return Object.keys(W)},getTemplate:()=>{return K}}}function jU($={}){let Z=[];if($.streaming?.enabled)Z.push(kX);if($.hydration?.enabled)Z.push(SX);return Z}async function HU($,Z,Y,X={}){return $}function OU($,Z={}){let Y=new TextEncoder,X=$.pipeThrough(new TransformStream({transform(Q,G){G.enqueue(Y.encode(Q))}})),J=new Headers(Z.headers);if(!J.has("Content-Type"))J.set("Content-Type","text/html; charset=utf-8");if(!J.has("Transfer-Encoding"))J.set("Transfer-Encoding","chunked");if(!J.has("X-Content-Type-Options"))J.set("X-Content-Type-Options","nosniff");if(!J.has("X-Accel-Buffering"))J.set("X-Accel-Buffering","no");return new Response(X,{...Z,headers:J})}function LU($={mode:"full"}){let{mode:Z,components:Y={},dynamicImports:X=!0}=$,J=Object.entries(Y).map(([Q,G])=>`'${Q}': ${X?`() => import('${G}')`:`require('${G}')`}`).join(`,
1913
+ </script>`}}function KA($,Z,Y){if(!Z||Z<=0)return $;let X,J=new Promise((Q,G)=>{X=setTimeout(()=>G(Error(`streaming boundary "${Y}" timed out after ${Z}ms`)),Z)});return Promise.race([$,J]).finally(()=>clearTimeout(X))}function UU($,Z=[],Y={}){let X=Y.timeoutMs??0;return new ReadableStream({async start(J){try{if(J.enqueue($),Z.length>0)J.enqueue(DX),await Promise.all(Z.map(async(Q)=>{let G=KA(Q.render(),X,Q.id);J.enqueue(await Q8(Q.id,G))}));J.close()}catch(Q){J.error(Q)}}})}function BU($,Z){return $.replace(WA,(Y,X,J)=>{let Q=X.trim(),G=J.split(/@fallback/i),K=G[0].trim(),W=G.length>1?G.slice(1).join("@fallback").trim():"";if(!Z.__streamTemplates)Z.__streamTemplates={};return Z.__streamTemplates[Q]=K,`<div data-suspense="${Q}">${W}</div>`})}function _U($){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,J])=>({id:X,render:J})):void 0}async function zU($,Z={},Y={}){let X={...W1,...Y,streaming:{...EX,...Y.streaming}},J=X.streaming?.bufferSize||16384;return new ReadableStream({async start(Q){try{let G=await Bun.file($).text(),K=G.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),W=K?K[1]:"",U=G.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),B={...Z,__filename:$,__dirname:J8.dirname($)};if(W.trim())await D0(W,B,$);let _=new Set,z=X.streaming?.strategy||"auto",q=new RegExp(z5.source,"g");if(!(z!=="manual"&&q.test(U))){let H=await X0(U,B,$,X,_);for(let O=0;O<H.length;O+=J)Q.enqueue(H.slice(O,O+J))}else{let H=[],O=new RegExp(z5.source,"g"),F;while((F=O.exec(U))!==null)H.push({name:F[1],content:F[2],start:F.index,end:F.index+F[0].length});let L=0;for(let V of H){if(V.start>L){let A=U.slice(L,V.start);if(A.trim()){let w=await X0(A,B,$,X,_);Q.enqueue(w)}}let N=await X0(V.content,B,$,X,_);Q.enqueue(N),L=V.end}if(L<U.length){let V=U.slice(L);if(V.trim()){let N=await X0(V,B,$,X,_);Q.enqueue(N)}}}Q.close()}catch(G){Q.error(G)}}})}async function qU($,Z={}){let Y={...W1,...Z,streaming:{...EX,...Z.streaming}},X=await Bun.file($).text(),J=X.match(/<script\b[^>]*\bserver\b[^>]*>([\s\S]*?)<\/script>/i),Q=J?J[1]:"",G=X.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),K=G,W={},U;z5.lastIndex=0;while((U=z5.exec(G))!==null){let z=U[1],q=U[2];W[z]=q}let B=G.replace(z5,"");return{renderShell:async(z={})=>{let q={...z,__filename:$,__dirname:J8.dirname($)};return await D0(Q,q,$),X0(B,q,$,Y,new Set)},renderSection:async(z,q={})=>{try{if(!W[z])return`<div class="error-message">Section "${E0(z)}" not found in template "${E0($)}"</div>`;let j={...q,__filename:$,__dirname:J8.dirname($)};await D0(Q,j,$);let H=new Set;return await X0(W[z],j,$,Y,H)}catch(j){let H=j instanceof Error?j.message:String(j);return F0("Expression",H,$,W[z]||"",0,W[z]||"")}},getSections:()=>{return Object.keys(W)},getTemplate:()=>{return K}}}function jU($={}){let Z=[];if($.streaming?.enabled)Z.push(kX);if($.hydration?.enabled)Z.push(SX);return Z}async function HU($,Z,Y,X={}){return $}function OU($,Z={}){let Y=new TextEncoder,X=$.pipeThrough(new TransformStream({transform(Q,G){G.enqueue(Y.encode(Q))}})),J=new Headers(Z.headers);if(!J.has("Content-Type"))J.set("Content-Type","text/html; charset=utf-8");if(!J.has("Transfer-Encoding"))J.set("Transfer-Encoding","chunked");if(!J.has("X-Content-Type-Options"))J.set("X-Content-Type-Options","nosniff");if(!J.has("X-Accel-Buffering"))J.set("X-Accel-Buffering","no");return new Response(X,{...Z,headers:J})}function LU($={mode:"full"}){let{mode:Z,components:Y={},dynamicImports:X=!0}=$,J=Object.entries(Y).map(([Q,G])=>`'${Q}': ${X?`() => import('${G}')`:`require('${G}')`}`).join(`,
1914
1914
  `);if(Z==="loader")return`
1915
1915
  (function() {
1916
1916
  window.__stx = window.__stx || {};
@@ -2072,13 +2072,13 @@ else {
2072
2072
  }
2073
2073
  };
2074
2074
  })();
2075
- </script>`,WA,kX,SX;var C$=D(()=>{l0();c0();O1();N0();EX={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},z5=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g,KU=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;WA=/@stream\s*\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)@endstream/gi;kX={name:"suspense",hasEndTag:!0,handler:($,Z,Y,X)=>{if(!Z||Z.length===0)throw Error("Suspense directive requires a name parameter");let J=Z[0].replace(/['"`]/g,"");return`<!-- @suspense:${J} -->${$}<!-- @endsuspense:${J} -->`}},SX={name:"island",hasEndTag:!0,handler:($,Z,Y,X)=>{if(!Z||Z.length===0)throw Error("Island directive requires a name parameter");let J=Z[0].replace(/['"`]/g,""),Q=Z[1]?Z[1].replace(/['"`]/g,""):"lazy",G=`island-${J}-${Math.random().toString(36).substring(2,9)}`,K=$.match(/<script\s+props\s*>([\s\S]*?)<\/script>/i),W=K?K[1].trim():"",U=K?$.replace(K[0],""):$;return`<div data-island="${J}" data-island-id="${G}" data-priority="${Q}">
2075
+ </script>`,WA,kX,SX;var C$=D(()=>{l0();c0();O1();A0();EX={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},z5=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g,KU=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;WA=/@stream\s*\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)@endstream/gi;kX={name:"suspense",hasEndTag:!0,handler:($,Z,Y,X)=>{if(!Z||Z.length===0)throw Error("Suspense directive requires a name parameter");let J=Z[0].replace(/['"`]/g,"");return`<!-- @suspense:${J} -->${$}<!-- @endsuspense:${J} -->`}},SX={name:"island",hasEndTag:!0,handler:($,Z,Y,X)=>{if(!Z||Z.length===0)throw Error("Island directive requires a name parameter");let J=Z[0].replace(/['"`]/g,""),Q=Z[1]?Z[1].replace(/['"`]/g,""):"lazy",G=`island-${J}-${Math.random().toString(36).substring(2,9)}`,K=$.match(/<script\s+props\s*>([\s\S]*?)<\/script>/i),W=K?K[1].trim():"",U=K?$.replace(K[0],""):$;return`<div data-island="${J}" data-island-id="${G}" data-priority="${Q}">
2076
2076
  ${U}
2077
2077
  <script type="application/json" data-island-props="${G}">
2078
2078
  ${W?`{${W}}`:"{}"}
2079
2079
  </script>
2080
2080
  </div>`}}});var NU={};Z0(NU,{warnUnbalancedTags:()=>bX,findUnbalancedTags:()=>VU});function y$($){return $.replace(/[^\n]/g," ")}function VU($){let Z=$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,y$).replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,y$).replace(/<!--[\s\S]*?-->/g,y$).replace(/\{\{\{[\s\S]*?\}\}\}/g,y$).replace(/\{\{[\s\S]*?\}\}/g,y$).replace(/\{!![\s\S]*?!!\}/g,y$).replace(/"[^"]*"/g,y$).replace(/'[^']*'/g,y$),Y=new Map,X=new Map,J=/<(\/?)([A-Za-z][\w-]*)\b[^>]*?(\/?)>/g,Q;while((Q=J.exec(Z))!==null){let K=Q[1]==="/",W=Q[2],U=Q[3]==="/";if(UA.has(W.toLowerCase()))continue;if(U)continue;if(K)X.set(W,(X.get(W)??0)+1);else{let B=Y.get(W);if(B)B.count++;else{let _=Z.slice(0,Q.index).split(`
2081
- `).length;Y.set(W,{count:1,firstLine:_})}}}let G=[];for(let K of new Set([...Y.keys(),...X.keys()])){if(BA.has(K.toLowerCase()))continue;let W=Y.get(K)?.count??0,U=X.get(K)??0;if(W!==U)G.push({tag:K,opened:W,closed:U,firstOpenLine:Y.get(K)?.firstLine??0})}return G}function bX($,Z){let Y;try{Y=VU($)}catch{return}if(Y.length===0)return;let X=`${Z}:${$.length}`;if(FU.has(X))return;FU.add(X);let J=Z?Z.split(/[/\\]/).pop()||Z:"template";for(let{tag:Q,opened:G,closed:K,firstOpenLine:W}of Y)if(G>K){let U=W?` (first opened at line ${W})`:"";console.warn(`[stx] ${J}: <${Q}> ${G} opened, ${K} closed \u2014 an unclosed <${Q}>${U} may swallow the content that follows it.`)}else console.warn(`[stx] ${J}: <${Q}> ${G} opened, ${K} closed \u2014 ${K-G} stray </${Q}>.`)}var UA,BA,FU;var CX=D(()=>{UA=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),BA=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);FU=new Set});import w1 from"path";import yX from"fs";function AU($){return $.split("-").map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join("")}function wU($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class RU{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 J=$.endsWith(".stx")?$.slice(0,-4):$,Q=X?.__importedComponents;if(Q){let q=[J,J.toLowerCase(),AU(J),wU(J)];for(let j of q)if(Q.has(j))return Q.get(j)}let G=[...new Set([`${J}.stx`,`${AU(J)}.stx`,`${wU(J)}.stx`])];if(J.startsWith("./")||J.startsWith("../")){let q=w1.resolve(w1.dirname(Z),`${J}.stx`);if(await t(q))return q;return null}let K=[],W=Y.componentsDir||"",U=X?.__originalFilePath;if(U)K.push(w1.join(w1.dirname(U),"components"));if(W)K.push(W);let B=w1.join(w1.dirname(Z),"components");if(!K.includes(B))K.push(B);let _=process.cwd(),z=[w1.resolve(_,"src/components"),w1.resolve(_,"components"),w1.resolve(import.meta.dir,"components")];for(let q of z)if(!K.includes(q))K.push(q);for(let q of K){if(!q)continue;for(let j of G){let H=w1.join(q,j);if(await t(H))return H}try{if(!yX.statSync(q,{throwIfNoEntry:!1})?.isDirectory())continue;let H=yX.readdirSync(q,{withFileTypes:!0});for(let O of H)if(O.isDirectory()){let F=w1.join(q,O.name);for(let L of G){let V=w1.join(F,L);if(await t(V))return V}}}catch{}}return null}}var U1;var PX=D(()=>{N0();U1=new RU});function P$($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function _A($){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 xX;var vX=D(()=>{xX={name:"StxLink",aliases:["stx-link"],render($,Z,Y){let X=_A($),J=(typeof $.static.class==="string"?$.static.class:"")||(typeof $.static.className==="string"?$.static.className:""),Q=typeof $.static.activeClass==="string"?$.static.activeClass:"active",G=typeof $.static.exactActiveClass==="string"?$.static.exactActiveClass:"exact-active",K=$.static.prefetch===!0||$.static.prefetch==="true"||$.serverDynamic.prefetch===!0,W=[];if(X.reactive)W.push(`:href="${P$(X.value)}"`);else W.push(`href="${P$(X.value)}"`);if(J)W.push(`class="${P$(J)}"`);if(W.push("data-stx-link"),W.push(`data-stx-active-class="${P$(Q)}"`),W.push(`data-stx-exact-active-class="${P$(G)}"`),K)W.push("data-stx-prefetch");let U=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);for(let[B,_]of Object.entries($.static)){if(U.has(B))continue;if(typeof _==="boolean"){if(_)W.push(P$(B))}else W.push(`${P$(B)}="${P$(_)}"`)}return`<a ${W.join(" ")}>${Z}</a>`}}});function v0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Y1($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}function gX($,Z,Y=!1){let X=$.serverDynamic[Z];if(X!==void 0)return X!==!1&&X!=="false";let J=$.static[Z];if(J!==void 0)return J!=="false"&&J!==!1;return Y}function MU($){if($.includes("(")||$.includes(","))return $;let Z=$.trim().split(/\s+/),Y=[];for(let X of Z)if(X.includes(":")){let[J,Q]=X.split(":"),G=zA[J];if(G)Y.push(`(max-width: ${G}px) ${Q}`);else{let K=Number.parseInt(J);if(!Number.isNaN(K))Y.push(`(max-width: ${K}px) ${Q}`)}}else Y.push(X);return Y.join(", ")}function hX($,Z,Y,X){return Z.map((J)=>`${C4($,J,void 0,Y,X)} ${J}w`).join(", ")}function qA($,Z,Y,X,J){return Z.map((Q)=>{let G=Y?Y*Q:void 0;return`${C4($,G,void 0,X,J)} ${Q}x`}).join(", ")}function C4($,Z,Y,X,J){if(!X||X==="local"||X==="static")return $;if(X==="cloudinary"){let Q=[];if(Z)Q.push(`w_${Z}`);if(Y)Q.push(`h_${Y}`);if(J)Q.push(`f_${J}`);Q.push("q_auto");let G=Q.join(",");return $.replace("/upload/",`/upload/${G}/`)}if(X==="imgix"){let Q=new URLSearchParams;if(Z)Q.set("w",String(Z));if(Y)Q.set("h",String(Y));if(J)Q.set("fm",J);Q.set("auto","format");let G=$.includes("?")?"&":"?";return`${$}${G}${Q.toString()}`}if(X==="bunny"){let Q=new URLSearchParams;if(Z)Q.set("width",String(Z));if(Y)Q.set("height",String(Y));if(J)Q.set("format",J);let G=$.includes("?")?"&":"?";return`${$}${G}${Q.toString()}`}return $}function jA($,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 zA,fX,dX;var uX=D(()=>{zA={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},fX=[320,640,768,1024,1280,1536,1920];dX={name:"StxImage",aliases:["stx-image","stx-img"],render($,Z,Y){let X=Y1($,"src")||"",J=Y1($,"alt")||"",Q=Y1($,"width"),G=Y1($,"height"),K=Y1($,"sizes"),W=Y1($,"srcset"),U=Y1($,"densities"),B=Y1($,"format"),_=Y1($,"placeholder"),z=Y1($,"placeholderColor")||"#e5e7eb",q=Y1($,"provider"),j=Y1($,"class")||Y1($,"className")||"",H=Y1($,"style")||"",O=Y1($,"quality"),F=gX($,"lazy",!0),L=gX($,"preload",!1),V=gX($,"picture",!1)||!!B,N=Q?Number.parseInt(Q):void 0,A=G?Number.parseInt(G):void 0,w=W||"",R="";if(!w&&K)w=hX(X,fX,q,B),R=MU(K);else if(!w&&U){let y=U.split(/\s+/).map((b)=>Number.parseFloat(b.replace("x","")));w=qA(X,y,N,q,B)}else if(K)R=MU(K);let T=[];if(H)T.push(H);if(N&&A)T.push(`aspect-ratio:${N}/${A}`);if(_==="blur"||_==="color"||_==="thumbhash"){let y=jA(N||16,A||9,z);T.push(`background-image:url(${y})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat")}else if(_&&_!=="empty"&&_!=="none")T.push(`background-image:url(${v0(_)})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat");let I=C4(X,N,A,q,B),E=[];if(E.push(`src="${v0(I)}"`),E.push(`alt="${v0(J)}"`),Q)E.push(`width="${v0(Q)}"`);if(G)E.push(`height="${v0(G)}"`);if(F)E.push('loading="lazy"');if(E.push('decoding="async"'),j)E.push(`class="${v0(j)}"`);if(T.length>0)E.push(`style="${v0(T.join(";"))}"`);if(w)E.push(`srcset="${v0(w)}"`);if(R)E.push(`sizes="${v0(R)}"`);let k=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);for(let[y,b]of Object.entries($.static)){if(k.has(y))continue;if(typeof b==="boolean"){if(b)E.push(v0(y))}else E.push(`${v0(y)}="${v0(b)}"`)}let S=`<img ${E.join(" ")} />`,x="";if(L){let b=B==="webp"?"image/webp":B==="avif"?"image/avif":"";x=`<link rel="preload" as="image" href="${v0(I)}"${b?` type="${b}"`:""}${w?` imagesrcset="${v0(w)}"`:""}${R?` imagesizes="${v0(R)}"`:""} />
2081
+ `).length;Y.set(W,{count:1,firstLine:_})}}}let G=[];for(let K of new Set([...Y.keys(),...X.keys()])){if(BA.has(K.toLowerCase()))continue;let W=Y.get(K)?.count??0,U=X.get(K)??0;if(W!==U)G.push({tag:K,opened:W,closed:U,firstOpenLine:Y.get(K)?.firstLine??0})}return G}function bX($,Z){let Y;try{Y=VU($)}catch{return}if(Y.length===0)return;let X=`${Z}:${$.length}`;if(FU.has(X))return;FU.add(X);let J=Z?Z.split(/[/\\]/).pop()||Z:"template";for(let{tag:Q,opened:G,closed:K,firstOpenLine:W}of Y)if(G>K){let U=W?` (first opened at line ${W})`:"";console.warn(`[stx] ${J}: <${Q}> ${G} opened, ${K} closed \u2014 an unclosed <${Q}>${U} may swallow the content that follows it.`)}else console.warn(`[stx] ${J}: <${Q}> ${G} opened, ${K} closed \u2014 ${K-G} stray </${Q}>.`)}var UA,BA,FU;var CX=D(()=>{UA=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),BA=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);FU=new Set});import w1 from"path";import yX from"fs";function AU($){return $.split("-").map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join("")}function wU($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class RU{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 J=$.endsWith(".stx")?$.slice(0,-4):$,Q=X?.__importedComponents;if(Q){let q=[J,J.toLowerCase(),AU(J),wU(J)];for(let j of q)if(Q.has(j))return Q.get(j)}let G=[...new Set([`${J}.stx`,`${AU(J)}.stx`,`${wU(J)}.stx`])];if(J.startsWith("./")||J.startsWith("../")){let q=w1.resolve(w1.dirname(Z),`${J}.stx`);if(await t(q))return q;return null}let K=[],W=Y.componentsDir||"",U=X?.__originalFilePath;if(U)K.push(w1.join(w1.dirname(U),"components"));if(W)K.push(W);let B=w1.join(w1.dirname(Z),"components");if(!K.includes(B))K.push(B);let _=process.cwd(),z=[w1.resolve(_,"src/components"),w1.resolve(_,"components"),w1.resolve(import.meta.dir,"components")];for(let q of z)if(!K.includes(q))K.push(q);for(let q of K){if(!q)continue;for(let j of G){let H=w1.join(q,j);if(await t(H))return H}try{if(!yX.statSync(q,{throwIfNoEntry:!1})?.isDirectory())continue;let H=yX.readdirSync(q,{withFileTypes:!0});for(let O of H)if(O.isDirectory()){let F=w1.join(q,O.name);for(let L of G){let V=w1.join(F,L);if(await t(V))return V}}}catch{}}return null}}var U1;var PX=D(()=>{A0();U1=new RU});function P$($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function _A($){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 xX;var vX=D(()=>{xX={name:"StxLink",aliases:["stx-link"],render($,Z,Y){let X=_A($),J=(typeof $.static.class==="string"?$.static.class:"")||(typeof $.static.className==="string"?$.static.className:""),Q=typeof $.static.activeClass==="string"?$.static.activeClass:"active",G=typeof $.static.exactActiveClass==="string"?$.static.exactActiveClass:"exact-active",K=$.static.prefetch===!0||$.static.prefetch==="true"||$.serverDynamic.prefetch===!0,W=[];if(X.reactive)W.push(`:href="${P$(X.value)}"`);else W.push(`href="${P$(X.value)}"`);if(J)W.push(`class="${P$(J)}"`);if(W.push("data-stx-link"),W.push(`data-stx-active-class="${P$(Q)}"`),W.push(`data-stx-exact-active-class="${P$(G)}"`),K)W.push("data-stx-prefetch");let U=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);for(let[B,_]of Object.entries($.static)){if(U.has(B))continue;if(typeof _==="boolean"){if(_)W.push(P$(B))}else W.push(`${P$(B)}="${P$(_)}"`)}return`<a ${W.join(" ")}>${Z}</a>`}}});function v0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Y1($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let Y=$.static[Z];if(typeof Y==="string")return Y;return}function gX($,Z,Y=!1){let X=$.serverDynamic[Z];if(X!==void 0)return X!==!1&&X!=="false";let J=$.static[Z];if(J!==void 0)return J!=="false"&&J!==!1;return Y}function MU($){if($.includes("(")||$.includes(","))return $;let Z=$.trim().split(/\s+/),Y=[];for(let X of Z)if(X.includes(":")){let[J,Q]=X.split(":"),G=zA[J];if(G)Y.push(`(max-width: ${G}px) ${Q}`);else{let K=Number.parseInt(J);if(!Number.isNaN(K))Y.push(`(max-width: ${K}px) ${Q}`)}}else Y.push(X);return Y.join(", ")}function hX($,Z,Y,X){return Z.map((J)=>`${C4($,J,void 0,Y,X)} ${J}w`).join(", ")}function qA($,Z,Y,X,J){return Z.map((Q)=>{let G=Y?Y*Q:void 0;return`${C4($,G,void 0,X,J)} ${Q}x`}).join(", ")}function C4($,Z,Y,X,J){if(!X||X==="local"||X==="static")return $;if(X==="cloudinary"){let Q=[];if(Z)Q.push(`w_${Z}`);if(Y)Q.push(`h_${Y}`);if(J)Q.push(`f_${J}`);Q.push("q_auto");let G=Q.join(",");return $.replace("/upload/",`/upload/${G}/`)}if(X==="imgix"){let Q=new URLSearchParams;if(Z)Q.set("w",String(Z));if(Y)Q.set("h",String(Y));if(J)Q.set("fm",J);Q.set("auto","format");let G=$.includes("?")?"&":"?";return`${$}${G}${Q.toString()}`}if(X==="bunny"){let Q=new URLSearchParams;if(Z)Q.set("width",String(Z));if(Y)Q.set("height",String(Y));if(J)Q.set("format",J);let G=$.includes("?")?"&":"?";return`${$}${G}${Q.toString()}`}return $}function jA($,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 zA,fX,dX;var uX=D(()=>{zA={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},fX=[320,640,768,1024,1280,1536,1920];dX={name:"StxImage",aliases:["stx-image","stx-img"],render($,Z,Y){let X=Y1($,"src")||"",J=Y1($,"alt")||"",Q=Y1($,"width"),G=Y1($,"height"),K=Y1($,"sizes"),W=Y1($,"srcset"),U=Y1($,"densities"),B=Y1($,"format"),_=Y1($,"placeholder"),z=Y1($,"placeholderColor")||"#e5e7eb",q=Y1($,"provider"),j=Y1($,"class")||Y1($,"className")||"",H=Y1($,"style")||"",O=Y1($,"quality"),F=gX($,"lazy",!0),L=gX($,"preload",!1),V=gX($,"picture",!1)||!!B,N=Q?Number.parseInt(Q):void 0,A=G?Number.parseInt(G):void 0,w=W||"",R="";if(!w&&K)w=hX(X,fX,q,B),R=MU(K);else if(!w&&U){let y=U.split(/\s+/).map((b)=>Number.parseFloat(b.replace("x","")));w=qA(X,y,N,q,B)}else if(K)R=MU(K);let T=[];if(H)T.push(H);if(N&&A)T.push(`aspect-ratio:${N}/${A}`);if(_==="blur"||_==="color"||_==="thumbhash"){let y=jA(N||16,A||9,z);T.push(`background-image:url(${y})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat")}else if(_&&_!=="empty"&&_!=="none")T.push(`background-image:url(${v0(_)})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat");let I=C4(X,N,A,q,B),E=[];if(E.push(`src="${v0(I)}"`),E.push(`alt="${v0(J)}"`),Q)E.push(`width="${v0(Q)}"`);if(G)E.push(`height="${v0(G)}"`);if(F)E.push('loading="lazy"');if(E.push('decoding="async"'),j)E.push(`class="${v0(j)}"`);if(T.length>0)E.push(`style="${v0(T.join(";"))}"`);if(w)E.push(`srcset="${v0(w)}"`);if(R)E.push(`sizes="${v0(R)}"`);let k=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);for(let[y,b]of Object.entries($.static)){if(k.has(y))continue;if(typeof b==="boolean"){if(b)E.push(v0(y))}else E.push(`${v0(y)}="${v0(b)}"`)}let S=`<img ${E.join(" ")} />`,x="";if(L){let b=B==="webp"?"image/webp":B==="avif"?"image/avif":"";x=`<link rel="preload" as="image" href="${v0(I)}"${b?` type="${b}"`:""}${w?` imagesrcset="${v0(w)}"`:""}${R?` imagesizes="${v0(R)}"`:""} />
2082
2082
  `}if(V){let y=[];if(B==="avif"||B==="auto"){let b=C4(X,N,A,q,"avif"),f=w?hX(X,fX,q,"avif"):`${b}`;y.push(`<source type="image/avif" srcset="${v0(f)}"${R?` sizes="${v0(R)}"`:""} />`)}if(B==="webp"||B==="auto"){let b=C4(X,N,A,q,"webp"),f=w?hX(X,fX,q,"webp"):`${b}`;y.push(`<source type="image/webp" srcset="${v0(f)}"${R?` sizes="${v0(R)}"`:""} />`)}return`${x}<picture>
2083
2083
  ${y.join(`
2084
2084
  `)}
@@ -2117,15 +2117,15 @@ ${S}
2117
2117
  .stx-drawer-backdrop[data-stx-drawer-open]{display:block!important;opacity:1}
2118
2118
  .stx-drawer-backdrop[data-stx-drawer-open] .stx-drawer-panel{transform:translateX(0)}
2119
2119
  </style>`}}});var SU={};Z0(SU,{preloadIconCollection:()=>U8,IconBuiltin:()=>W8});import{existsSync as LA,readFileSync as FA}from"fs";function kU($){try{return _0.resolve(`@iconify/json/json/${$}.json`)}catch{}let Z=process.cwd();for(let Y of[`${Z}/node_modules/@iconify/json/json/${$}.json`,`${Z}/pantry/@iconify/json/json/${$}.json`])if(LA(Y))return Y;return null}function VA($){if(j5.has($))return j5.get($);let Z=kU($);if(!Z)return null;try{let Y=JSON.parse(FA(Z,"utf8"));return j5.set($,Y.icons),Y.icons}catch{return null}}async function NA($){if(j5.has($))return j5.get($);let Z=kU($);if(!Z)return null;try{let Y=await Bun.file(Z).json();return j5.set($,Y.icons),Y.icons}catch{return null}}function a5($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);if($.static[Z]!==void 0)return String($.static[Z]);if($.clientReactive[Z]!==void 0)return $.clientReactive[Z];return}async function U8($="lucide"){await NA($)}var j5,W8;var B8=D(()=>{j5=new Map;W8={name:"Icon",aliases:["icon","stx-icon"],render($,Z,Y){let X=a5($,"name")??a5($,"icon");if(!X)return"<!-- Icon: missing name/icon prop -->";let J="lucide",Q=X;if(X.includes(":")){let L=X.split(":");J=L[0],Q=L[1]}let G=C1(a5($,"size")||"24"),K=C1(a5($,"color")||"currentColor"),W=C1(a5($,"class")||""),U=C1(a5($,"style")||""),B=j5.get(J)??VA(J);if(!B)return`<!-- Icon: collection "${J}" not loaded -->`;let _=B[Q];if(!_)return`<!-- Icon: "${Q}" not found in ${J} -->`;let z=_.width||24,q=_.height||24,j=`0 0 ${z} ${q}`,H=_.body;if(K!=="currentColor")H=H.replace(/currentColor/g,K);let O=W?` class="${W}"`:"",F=U?` style="${U}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${G}" height="${G}" viewBox="${j}" fill="none"${O}${F}>${H}</svg>`}}});function bU($,...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 CU($,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 eX;var $J=D(()=>{eX={name:"Suspense",aliases:["suspense"],render($,Z,Y){let X=CU(Z,"fallback"),J=X.rest,Q=CU(J,"error"),G=Q.rest,K=X.region??bU($,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',W=Q.region??bU($,"errorFallback","error-fallback")??'<div class="stx-suspense-error">Something went wrong.</div>';return`<div data-stx-suspense><div data-stx-suspense-fallback>${K}</div><div data-stx-suspense-error hidden>${W}</div><div data-stx-suspense-content hidden>${G}</div></div>`}}});function _8($,...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 ZJ;var YJ=D(()=>{ZJ={name:"TransitionGroup",aliases:["transition-group"],render($,Z,Y){let X=(_8($,"name")||"v").replace(/["'<>]/g,""),J=(_8($,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",Q=_8($,"class"),G=_8($,"id"),K=[`data-stx-transition-group="${X}"`,Q?`class="${Q}"`:"",G?`id="${G}"`:""].filter(Boolean).join(" ");return`<${J} ${K}>${Z}</${J}>`}}});function yU(){U1.registerBuiltin(xX),U1.registerBuiltin(dX),U1.registerBuiltin(mX),U1.registerBuiltin(lX),U1.registerBuiltin(nX),U1.registerBuiltin(rX),U1.registerBuiltin(aX),U1.registerBuiltin(W8),U1.registerBuiltin(eX),U1.registerBuiltin(ZJ)}var XJ=D(()=>{vX();uX();pX();iX();sX();oX();tX();B8();$J();YJ();PX();vX();uX();pX();iX();sX();oX();tX();B8();$J();YJ()});function PU($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function xU($,Z,Y){let X=[],J=0;while(J<$.length){let Q=$.indexOf("<",J);if(Q===-1)break;let K=$.slice(Q+1).match(new RegExp(`^(${Z.source})`));if(!K){J=Q+1;continue}let W=K[1];if(Y&&Y.has(W.toLowerCase())){let H=Q+1+W.length;while(H<$.length&&$[H]!==">")H++;J=H+1;continue}let U=Q+1+W.length,B=null,_=U,z=-1,q=!1;while(U<$.length){let H=$[U];if(B){if(H==="\\"&&U+1<$.length){U+=2;continue}if(H===B)B=null;U++;continue}if(H==='"'||H==="'"){B=H,U++;continue}if(H==="/"&&U+1<$.length&&$[U+1]===">"){z=U+2,q=!0;break}if(H===">"){z=U+1;break}U++}if(z===-1){J=Q+1;continue}let j=$.slice(_,q?z-2:z-1).trim();if(q)X.push({fullMatch:$.slice(Q,z),tagName:W,attributes:j,content:"",startIndex:Q,endIndex:z,isSelfClosing:!0}),J=z;else{let H=`<${W}`,O=`</${W}>`,F=1,L=z,V=-1;while(F>0&&L<$.length){let w=$.indexOf(H,L),R=$.indexOf(O,L);if(R===-1)break;if(w!==-1&&w<R){let T=$[w+H.length];if(T===" "||T===">"||T==="/"||T===`
2120
- `||T==="\t")F++;L=w+H.length}else{if(F--,F===0){V=R;break}L=R+O.length}}if(V===-1){J=z;continue}let N=$.slice(z,V),A=V+O.length;X.push({fullMatch:$.slice(Q,A),tagName:W,attributes:j,content:N,startIndex:Q,endIndex:A,isSelfClosing:!1}),J=A}}return X}function vU($,Z){try{let Y=Buffer.from($,"base64").toString("utf8");return JSON.parse(Y)}catch{}try{let Y=$.replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&");return JSON.parse(Y)}catch(Y){if(Z?.debug)console.error("Error decoding __stx_ prop:",Y);return $}}var fU=D(()=>{h0();N0();D3()});var pU={};Z0(pU,{processESImports:()=>mU,processComponents:()=>q8});import z8 from"fs";import L1 from"path";function wA($,Z,Y){let X={static:{},serverDynamic:{},clientReactive:{},events:{}},J=new Set(["x-cloak","x-show","x-if","x-for","x-data","x-init","x-transition","x-ref","x-effect","x-model","x-text","x-html","x-class","x-style","x-on","x-bind"]),Q=(G)=>{if(!G.includes("-")||G.startsWith("@")||G.startsWith(":")||G.startsWith("x-")||G.startsWith("__"))return G;return G.replace(/-([a-z0-9])/g,(K,W)=>W.toUpperCase())};for(let[G,K]of Object.entries($)){let W=G.startsWith("x-")&&!J.has(G)&&!G.startsWith("x-bind:")&&!G.startsWith("x-on:")?`:${G.slice(2)}`:G;if(W.startsWith("@")){X.events[W]=K;continue}if(W.startsWith("__stx_")){let U=Q(W.slice(6));X.serverDynamic[U]=vU(K,Y);continue}if(W.startsWith(":")){let U=Q(W.slice(1)),B=K==="true"?U:K;try{if(!H0(B)){if(Y.debug)console.error(`Unsafe expression in :${U} binding: ${B}`);X.clientReactive[U]=B;continue}let _=Object.keys(Z),q=O0(B,_)(...Object.values(Z));if(q===void 0){let j=B.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],H=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(j.some((F)=>!H.has(F)&&!_.includes(F))){X.clientReactive[U]=B;continue}}X.serverDynamic[U]=q}catch{X.clientReactive[U]=B}continue}if(typeof K==="string"&&K.includes("{{")&&K.includes("}}")){let U=K.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(U)try{let B=U[1];if(H0(B)){let z=O0(B,Object.keys(Z))(...Object.values(Z));X.static[W]=z!=null?String(z):""}else{if(Y.debug)console.error(`Unsafe expression in ${W}: ${B}`);X.static[W]=K}}catch(B){if(Y.debug)console.error(`Error evaluating expression for ${W}:`,B);X.static[W]=K}else{let B=K,_=/\{\{\s*([\s\S]+?)\s*\}\}/g,z;while((z=_.exec(K))!==null)try{let q=z[1];if(!H0(q)){if(Y.debug)console.error(`Unsafe expression in ${W}: ${q}`);continue}let H=O0(q,Object.keys(Z))(...Object.values(Z));B=B.replace(z[0],String(H??""))}catch(q){if(Y.debug)console.error(`Error evaluating expression in ${W}:`,q)}X.static[W]=B}continue}X.static[W]=K}return X}function RA($){let Z={},Y=0,X=$.length;while(Y<X){while(Y<X&&/\s/.test($[Y]))Y++;if(Y>=X)break;let J="";while(Y<X&&!/[\s=]/.test($[Y]))J+=$[Y],Y++;if(!J)break;while(Y<X&&/\s/.test($[Y]))Y++;if(Y<X&&$[Y]==="="){Y++;while(Y<X&&/\s/.test($[Y]))Y++;let Q="";if(Y<X&&($[Y]==='"'||$[Y]==="'")){let G=$[Y];Y++;while(Y<X){let K=$[Y];if(K==="\\"&&Y+1<X){Y++,Q+=$[Y],Y++;continue}if(K===G){Y++;break}Q+=K,Y++}}else while(Y<X&&!/\s/.test($[Y]))Q+=$[Y],Y++;Z[J]=Q}else Z[J]="true"}return Z}function hU($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function MA($){let Z=new Set,Y=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,X;while((X=Y.exec($))!==null){let J=X[1];if(U1.isBuiltin(J))Z.add(J)}return[...Z].sort()}function TA($){let Z=dU.get($);if(Z)return Z;let Y=new Map,X=[L1.join($,"src"),L1.join($,"dist"),$];function J(Q,G){if(G>6)return;let K;try{K=z8.readdirSync(Q,{withFileTypes:!0})}catch{return}for(let W of K){let U=L1.join(Q,W.name);if(W.isDirectory()){if(W.name==="node_modules"||W.name.startsWith("."))continue;J(U,G+1)}else if(W.isFile()&&W.name.endsWith(".stx")){let B=W.name.slice(0,-4);if(!Y.has(B))Y.set(B,U);let _=B.toLowerCase();if(!Y.has(_))Y.set(_,U);let z=B.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Y.has(z))Y.set(z,U)}}}for(let Q of X)if(J(Q,0),Y.size>0)break;return dU.set($,Y),Y}function IA($,Z){if($.startsWith(".")||$.startsWith("/"))return null;let Y=Z;while(!0){let X=L1.join(Y,"node_modules",$);try{if(z8.statSync(X).isDirectory())return X}catch{}let J=L1.dirname(Y);if(J===Y)return null;Y=J}}async function mU($,Z,Y,X,J){if(!$.includes("import"))return $;if(!Z.__importedComponents)Z.__importedComponents=new Map;let Q=Z.__importedComponents,G=L1.dirname(Y),K=$,W=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return K=K.replace(W,(U,B,_)=>{let z=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,q=_,j,H=[];while((j=z.exec(_))!==null){let[O,F,L,V]=j,N=null,A=null;if(V.startsWith(".")||V.startsWith("/")){let T=L1.resolve(G,V);if(T.endsWith(".stx"))A=T;else{let I=`${T}.stx`;try{if(z8.statSync(I).isFile())A=I}catch{try{if(z8.statSync(T).isDirectory())N=T}catch{}}}}else N=IA(V,G);if(!N&&!A)continue;let w=!1,R=(T,I)=>{Q.set(T,I),Q.set(T.toLowerCase(),I);let E=T.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();Q.set(E,I),J.add(I)};if(L&&A)R(L,A),w=!0;else if(F){let T=F.slice(1,-1).split(",").map((E)=>E.trim()).filter(Boolean).map((E)=>{let k=E.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(k)return{source:k[1],local:k[2]};return{source:E,local:E}}),I=N?TA(N):null;for(let{source:E,local:k}of T){let S=null;if(A)S=A;else if(I)S=I.get(E)??I.get(E.toLowerCase())??I.get(E.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(S)R(k,S),w=!0}}if(w)H.push({start:j.index,end:j.index+O.length})}if(H.length===0)return U;for(let O=H.length-1;O>=0;O--)q=q.slice(0,H[O].start)+q.slice(H[O].end);return`<script${B}>${q}</script>`}),K}async function EA($,Z,Y,X,J){let Q=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,K=/@import\s*\(\s*([^)]+)\s*\)/g,W;while((W=K.exec(Q))!==null){let[U,B]=W,_=B.split(",").map((z)=>z.trim().replace(/^['"]|['"]$/g,"")).filter((z)=>z.length>0);for(let z of _){let q=z.split("/"),H=q[q.length-1].replace(/\.stx$/,""),O=H.includes("-")?H.split("-").map((V)=>V.charAt(0).toUpperCase()+V.slice(1)).join(""):H.charAt(0).toUpperCase()+H.slice(1),F=null,L=[L1.resolve(L1.dirname(Y),`${z}.stx`),L1.resolve(L1.dirname(Y),z),L1.resolve(X.componentsDir||"components",`${z}.stx`),L1.resolve(X.componentsDir||"components",z),z.endsWith(".stx")?z:`${z}.stx`];for(let V of L)try{if(await Bun.file(V).exists()){F=V;break}}catch{}if(F){G.set(O,F),G.set(H,F),G.set(H.toLowerCase(),F);let V=O.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(G.set(V,F),J.add(F),X.debug)console.log(`Imported component: ${O} -> ${F}`)}else if(X.debug)console.warn(`Could not resolve imported component: ${z}`)}Q=Q.replace(U,""),K.lastIndex=0}return Q}async function DA($,Z,Y,X,J){let Q=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,W=/@component\s*\(/g,U;while((U=W.exec(Q))!==null){let B=U.index,_=B+U[0].length-1,z=1,q=_+1;while(q<Q.length&&z>0){if(Q[q]==="(")z++;else if(Q[q]===")"){if(z--,z===0)break}q++}if(z!==0)break;let j=Q.substring(_+1,q),H=q+1,O=j.match(/^\s*['"]([^'"]+)['"]/);if(!O){W.lastIndex=0;continue}let F=O[1],L,V=j.slice(O[0].length),N=V.match(/^\s*,\s*/);if(N)L=V.slice(N[0].length).trim();let A={};if(L)try{A=P0(L,Z)}catch(k){let S=k instanceof Error?k.message:String(k);Q=Q.replace(Q.substring(B,H),`[Error parsing component props: ${S}]`);continue}let w="",R=H,I=Q.substring(H).match(/^([\s\S]*?)@endcomponent/);if(I)w=I[1].trim(),R=H+I[0].length;let E=await u1(F,A,w,G,Z,Y,X,K,J);Q=Q.substring(0,B)+E+Q.substring(R),W.lastIndex=0}return Q}async function kA($,Z,Y,X,J){if(!$)return $;let Q=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,W=SY(Q);return Q=W.output,Q=await z(Q,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),Q=await z(Q,/[A-Z][a-zA-Z0-9]*/,!0),Q=await z(Q,/[a-z][a-z0-9]*/,!1,AA),Q=bY(Q,W.scripts),Q;async function z(q,j,H,O){if(!q)return q;let F=q,L=xU(F,j,O);for(let V=L.length-1;V>=0;V--){let N=L[V],A=H?PU(N.tagName):N.tagName,w=RA(N.attributes),R=wA(w,Z,X),T=U1.getBuiltin(N.tagName),I=T?await QJ(A,G,Z,Y,X):!1;if(T&&!I){let x={context:Z,filePath:Y,options:X,dependencies:J},y=T.render(R,N.content,x);if(Object.keys(R.clientReactive).length>0)y=uU(y,R.clientReactive);if(Object.keys(R.events).length>0){let b=Object.entries(R.events).map(([f,r])=>`${f}="${hU(r)}"`).join(" ");y=y.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${b}`)}F=F.substring(0,N.startIndex)+y+F.substring(N.endIndex);continue}let E={};for(let[x,y]of Object.entries(R.static))E[x]=y;for(let[x,y]of Object.entries(R.serverDynamic))E[x]=y;let S=await u1(A,E,N.content,G,Z,Y,X,K,J);if(Object.keys(R.clientReactive).length>0)S=uU(S,R.clientReactive);if(Object.keys(R.events).length>0){let x=S.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(x){let y=Object.entries(R.events).map(([f,r])=>`${f}="${hU(r)}"`).join(" "),b=x[1].length+x[2].length;S=S.substring(0,b)+" "+y+S.substring(b)}}F=F.substring(0,N.startIndex)+S+F.substring(N.endIndex)}return F}}function uU($,Z){let Y=$.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(!Y)return $;let X=Object.entries(Z).map(([Q,G])=>`:${Q}="${G.replace(/"/g,"&quot;")}"`).join(" "),J=Y[1].length+Y[2].length;return $.substring(0,J)+" "+X+$.substring(J)}async function q8($,Z,Y,X,J){if(!gU)yU(),gU=!0;let Q=await mU($,Z,Y,X,J);Q=await EA(Q,Z,Y,X,J),Q=await DA(Q,Z,Y,X,J);for(let G=0;G<3;G++){let K=Q;if(Q=await kA(Q,Z,Y,X,J),Q===K)break}if(X.debug){let G=MA(Q);if(G.length>0)console.warn(`[stx] ${Y}: unresolved component tag(s) after render passes: ${G.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return Q}var gU=!1,AA,dU;var JJ=D(()=>{PX();XJ();fU();N0();h0();AA=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"]);dU=new Map});var H8={};Z0(H8,{stripTypeScript:()=>sU,hasVariables:()=>WJ,extractVariables:()=>D0,extractScriptFromTemplate:()=>KJ,convertToCommonJS:()=>j8});import t5 from"path";import P4 from"process";function SA($){let Z=[],Y=0,X=$.split(`
2120
+ `||T==="\t")F++;L=w+H.length}else{if(F--,F===0){V=R;break}L=R+O.length}}if(V===-1){J=z;continue}let N=$.slice(z,V),A=V+O.length;X.push({fullMatch:$.slice(Q,A),tagName:W,attributes:j,content:N,startIndex:Q,endIndex:A,isSelfClosing:!1}),J=A}}return X}function vU($,Z){try{let Y=Buffer.from($,"base64").toString("utf8");return JSON.parse(Y)}catch{}try{let Y=$.replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&");return JSON.parse(Y)}catch(Y){if(Z?.debug)console.error("Error decoding __stx_ prop:",Y);return $}}var fU=D(()=>{h0();A0();D3()});var pU={};Z0(pU,{processESImports:()=>mU,processComponents:()=>q8});import z8 from"fs";import L1 from"path";function wA($,Z,Y){let X={static:{},serverDynamic:{},clientReactive:{},events:{}},J=new Set(["x-cloak","x-show","x-if","x-for","x-data","x-init","x-transition","x-ref","x-effect","x-model","x-text","x-html","x-class","x-style","x-on","x-bind"]),Q=(G)=>{if(!G.includes("-")||G.startsWith("@")||G.startsWith(":")||G.startsWith("x-")||G.startsWith("__"))return G;return G.replace(/-([a-z0-9])/g,(K,W)=>W.toUpperCase())};for(let[G,K]of Object.entries($)){let W=G.startsWith("x-")&&!J.has(G)&&!G.startsWith("x-bind:")&&!G.startsWith("x-on:")?`:${G.slice(2)}`:G;if(W.startsWith("@")){X.events[W]=K;continue}if(W.startsWith("__stx_")){let U=Q(W.slice(6));X.serverDynamic[U]=vU(K,Y);continue}if(W.startsWith(":")){let U=Q(W.slice(1)),B=K==="true"?U:K;try{if(!O0(B)){if(Y.debug)console.error(`Unsafe expression in :${U} binding: ${B}`);X.clientReactive[U]=B;continue}let _=Object.keys(Z),q=L0(B,_)(...Object.values(Z));if(q===void 0){let j=B.match(/\b[a-zA-Z_$][a-zA-Z0-9_$]*\b/g)||[],H=new Set(["true","false","null","undefined","typeof","instanceof","in","of","new","this","return","void","delete","throw","if","else"]);if(j.some((F)=>!H.has(F)&&!_.includes(F))){X.clientReactive[U]=B;continue}}X.serverDynamic[U]=q}catch{X.clientReactive[U]=B}continue}if(typeof K==="string"&&K.includes("{{")&&K.includes("}}")){let U=K.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(U)try{let B=U[1];if(O0(B)){let z=L0(B,Object.keys(Z))(...Object.values(Z));X.static[W]=z!=null?String(z):""}else{if(Y.debug)console.error(`Unsafe expression in ${W}: ${B}`);X.static[W]=K}}catch(B){if(Y.debug)console.error(`Error evaluating expression for ${W}:`,B);X.static[W]=K}else{let B=K,_=/\{\{\s*([\s\S]+?)\s*\}\}/g,z;while((z=_.exec(K))!==null)try{let q=z[1];if(!O0(q)){if(Y.debug)console.error(`Unsafe expression in ${W}: ${q}`);continue}let H=L0(q,Object.keys(Z))(...Object.values(Z));B=B.replace(z[0],String(H??""))}catch(q){if(Y.debug)console.error(`Error evaluating expression in ${W}:`,q)}X.static[W]=B}continue}X.static[W]=K}return X}function RA($){let Z={},Y=0,X=$.length;while(Y<X){while(Y<X&&/\s/.test($[Y]))Y++;if(Y>=X)break;let J="";while(Y<X&&!/[\s=]/.test($[Y]))J+=$[Y],Y++;if(!J)break;while(Y<X&&/\s/.test($[Y]))Y++;if(Y<X&&$[Y]==="="){Y++;while(Y<X&&/\s/.test($[Y]))Y++;let Q="";if(Y<X&&($[Y]==='"'||$[Y]==="'")){let G=$[Y];Y++;while(Y<X){let K=$[Y];if(K==="\\"&&Y+1<X){Y++,Q+=$[Y],Y++;continue}if(K===G){Y++;break}Q+=K,Y++}}else while(Y<X&&!/\s/.test($[Y]))Q+=$[Y],Y++;Z[J]=Q}else Z[J]="true"}return Z}function hU($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function MA($){let Z=new Set,Y=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,X;while((X=Y.exec($))!==null){let J=X[1];if(U1.isBuiltin(J))Z.add(J)}return[...Z].sort()}function TA($){let Z=dU.get($);if(Z)return Z;let Y=new Map,X=[L1.join($,"src"),L1.join($,"dist"),$];function J(Q,G){if(G>6)return;let K;try{K=z8.readdirSync(Q,{withFileTypes:!0})}catch{return}for(let W of K){let U=L1.join(Q,W.name);if(W.isDirectory()){if(W.name==="node_modules"||W.name.startsWith("."))continue;J(U,G+1)}else if(W.isFile()&&W.name.endsWith(".stx")){let B=W.name.slice(0,-4);if(!Y.has(B))Y.set(B,U);let _=B.toLowerCase();if(!Y.has(_))Y.set(_,U);let z=B.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!Y.has(z))Y.set(z,U)}}}for(let Q of X)if(J(Q,0),Y.size>0)break;return dU.set($,Y),Y}function IA($,Z){if($.startsWith(".")||$.startsWith("/"))return null;let Y=Z;while(!0){let X=L1.join(Y,"node_modules",$);try{if(z8.statSync(X).isDirectory())return X}catch{}let J=L1.dirname(Y);if(J===Y)return null;Y=J}}async function mU($,Z,Y,X,J){if(!$.includes("import"))return $;if(!Z.__importedComponents)Z.__importedComponents=new Map;let Q=Z.__importedComponents,G=L1.dirname(Y),K=$,W=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return K=K.replace(W,(U,B,_)=>{let z=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,q=_,j,H=[];while((j=z.exec(_))!==null){let[O,F,L,V]=j,N=null,A=null;if(V.startsWith(".")||V.startsWith("/")){let T=L1.resolve(G,V);if(T.endsWith(".stx"))A=T;else{let I=`${T}.stx`;try{if(z8.statSync(I).isFile())A=I}catch{try{if(z8.statSync(T).isDirectory())N=T}catch{}}}}else N=IA(V,G);if(!N&&!A)continue;let w=!1,R=(T,I)=>{Q.set(T,I),Q.set(T.toLowerCase(),I);let E=T.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();Q.set(E,I),J.add(I)};if(L&&A)R(L,A),w=!0;else if(F){let T=F.slice(1,-1).split(",").map((E)=>E.trim()).filter(Boolean).map((E)=>{let k=E.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(k)return{source:k[1],local:k[2]};return{source:E,local:E}}),I=N?TA(N):null;for(let{source:E,local:k}of T){let S=null;if(A)S=A;else if(I)S=I.get(E)??I.get(E.toLowerCase())??I.get(E.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(S)R(k,S),w=!0}}if(w)H.push({start:j.index,end:j.index+O.length})}if(H.length===0)return U;for(let O=H.length-1;O>=0;O--)q=q.slice(0,H[O].start)+q.slice(H[O].end);return`<script${B}>${q}</script>`}),K}async function EA($,Z,Y,X,J){let Q=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,K=/@import\s*\(\s*([^)]+)\s*\)/g,W;while((W=K.exec(Q))!==null){let[U,B]=W,_=B.split(",").map((z)=>z.trim().replace(/^['"]|['"]$/g,"")).filter((z)=>z.length>0);for(let z of _){let q=z.split("/"),H=q[q.length-1].replace(/\.stx$/,""),O=H.includes("-")?H.split("-").map((V)=>V.charAt(0).toUpperCase()+V.slice(1)).join(""):H.charAt(0).toUpperCase()+H.slice(1),F=null,L=[L1.resolve(L1.dirname(Y),`${z}.stx`),L1.resolve(L1.dirname(Y),z),L1.resolve(X.componentsDir||"components",`${z}.stx`),L1.resolve(X.componentsDir||"components",z),z.endsWith(".stx")?z:`${z}.stx`];for(let V of L)try{if(await Bun.file(V).exists()){F=V;break}}catch{}if(F){G.set(O,F),G.set(H,F),G.set(H.toLowerCase(),F);let V=O.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(G.set(V,F),J.add(F),X.debug)console.log(`Imported component: ${O} -> ${F}`)}else if(X.debug)console.warn(`Could not resolve imported component: ${z}`)}Q=Q.replace(U,""),K.lastIndex=0}return Q}async function DA($,Z,Y,X,J){let Q=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,W=/@component\s*\(/g,U;while((U=W.exec(Q))!==null){let B=U.index,_=B+U[0].length-1,z=1,q=_+1;while(q<Q.length&&z>0){if(Q[q]==="(")z++;else if(Q[q]===")"){if(z--,z===0)break}q++}if(z!==0)break;let j=Q.substring(_+1,q),H=q+1,O=j.match(/^\s*['"]([^'"]+)['"]/);if(!O){W.lastIndex=0;continue}let F=O[1],L,V=j.slice(O[0].length),N=V.match(/^\s*,\s*/);if(N)L=V.slice(N[0].length).trim();let A={};if(L)try{A=P0(L,Z)}catch(k){let S=k instanceof Error?k.message:String(k);Q=Q.replace(Q.substring(B,H),`[Error parsing component props: ${S}]`);continue}let w="",R=H,I=Q.substring(H).match(/^([\s\S]*?)@endcomponent/);if(I)w=I[1].trim(),R=H+I[0].length;let E=await u1(F,A,w,G,Z,Y,X,K,J);Q=Q.substring(0,B)+E+Q.substring(R),W.lastIndex=0}return Q}async function kA($,Z,Y,X,J){if(!$)return $;let Q=$,G=X.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,W=SY(Q);return Q=W.output,Q=await z(Q,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),Q=await z(Q,/[A-Z][a-zA-Z0-9]*/,!0),Q=await z(Q,/[a-z][a-z0-9]*/,!1,AA),Q=bY(Q,W.scripts),Q;async function z(q,j,H,O){if(!q)return q;let F=q,L=xU(F,j,O);for(let V=L.length-1;V>=0;V--){let N=L[V],A=H?PU(N.tagName):N.tagName,w=RA(N.attributes),R=wA(w,Z,X),T=U1.getBuiltin(N.tagName),I=T?await QJ(A,G,Z,Y,X):!1;if(T&&!I){let x={context:Z,filePath:Y,options:X,dependencies:J},y=T.render(R,N.content,x);if(Object.keys(R.clientReactive).length>0)y=uU(y,R.clientReactive);if(Object.keys(R.events).length>0){let b=Object.entries(R.events).map(([f,r])=>`${f}="${hU(r)}"`).join(" ");y=y.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${b}`)}F=F.substring(0,N.startIndex)+y+F.substring(N.endIndex);continue}let E={};for(let[x,y]of Object.entries(R.static))E[x]=y;for(let[x,y]of Object.entries(R.serverDynamic))E[x]=y;let S=await u1(A,E,N.content,G,Z,Y,X,K,J);if(Object.keys(R.clientReactive).length>0)S=uU(S,R.clientReactive);if(Object.keys(R.events).length>0){let x=S.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(x){let y=Object.entries(R.events).map(([f,r])=>`${f}="${hU(r)}"`).join(" "),b=x[1].length+x[2].length;S=S.substring(0,b)+" "+y+S.substring(b)}}F=F.substring(0,N.startIndex)+S+F.substring(N.endIndex)}return F}}function uU($,Z){let Y=$.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(!Y)return $;let X=Object.entries(Z).map(([Q,G])=>`:${Q}="${G.replace(/"/g,"&quot;")}"`).join(" "),J=Y[1].length+Y[2].length;return $.substring(0,J)+" "+X+$.substring(J)}async function q8($,Z,Y,X,J){if(!gU)yU(),gU=!0;let Q=await mU($,Z,Y,X,J);Q=await EA(Q,Z,Y,X,J),Q=await DA(Q,Z,Y,X,J);for(let G=0;G<3;G++){let K=Q;if(Q=await kA(Q,Z,Y,X,J),Q===K)break}if(X.debug){let G=MA(Q);if(G.length>0)console.warn(`[stx] ${Y}: unresolved component tag(s) after render passes: ${G.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return Q}var gU=!1,AA,dU;var JJ=D(()=>{PX();XJ();fU();A0();h0();AA=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"]);dU=new Map});var H8={};Z0(H8,{stripTypeScript:()=>sU,hasVariables:()=>WJ,extractVariables:()=>D0,extractScriptFromTemplate:()=>KJ,convertToCommonJS:()=>j8});import t5 from"path";import P4 from"process";function SA($){let Z=[],Y=0,X=$.split(`
2121
2121
  `);for(let J of X){let Q=Y,G=null,K=!1;for(let W=0;W<J.length;W++){let U=J[W];if(K){K=!1;continue}if(U==="\\"){K=!0;continue}if(G){if(U===G)G=null;continue}if(U==="'"||U==='"'||U==="`"){G=U;continue}if(U==="/"&&W+1<J.length&&J[W+1]==="/")break;if(U==="{")Y++;else if(U==="}")Y--}if(Q===0){let W=J.match(/(?:const|let|var)\s+(\w+)\s*=/);if(W)Z.push(W[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(J)){let U=J.match(/(?:const|let|var)\s+(\w+)/);if(U)Z.push(U[1])}else{let U=J.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(U){let _=U[1].slice(1,-1).split(",").map((z)=>{let q=z.split(":");return(q.length>1?q[1]:q[0]).trim()}).filter((z)=>/^\w+$/.test(z));Z.push(..._)}}}}return[...new Set(Z)]}function sU($){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 J=[],Q="",G=0,K=0,W=null;for(let U=0;U<X.length;U++){let B=X[U];if(W){if(Q+=B,B===W)W=null;continue}if(B==='"'||B==="'"||B==="`"){W=B,Q+=B;continue}if(B==="<")G++;else if(B===">"&&G>0)G--;else if(B==="(")K++;else if(B===")")K--;if(B===","&&G===0&&K===0){J.push(Q),Q="";continue}Q+=B}if(Q)J.push(Q);return J.map((U)=>{let B=U.trim(),_=B.startsWith("..."),z=_?B.slice(3):B,q=-1,j=0;for(let A=0;A<z.length;A++)if(z[A]==="<")j++;else if(z[A]===">")j--;else if(z[A]===":"&&j===0){q=A;break}if(q===-1)return U;let O=z.substring(0,q).trim().replace(/\?$/,""),F=z.substring(q+1),L=-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){L=A;break}let N=_?"...":"";if(L!==-1)return`${N}${O} = ${F.substring(L+1).trim()}`;return`${N}${O}`}).join(", ")}Z=Z.replace(/\b(function\s+\w*\s*)\(([^)]*)\)/g,(X,J,Q)=>{if(!Q.includes(":"))return X;return`${J}(${Y(Q)})`});{let X=/\b(function\s+\w*\s*)\(/g,J,Q=[];while((J=X.exec(Z))!==null){let G=J.index+J[0].length-1,K=1,W=G+1,U=0,B=null;while(W<Z.length&&K>0){let q=Z[W];if(B){if(q===B)B=null;W++;continue}if(q==='"'||q==="'"||q==="`"){B=q,W++;continue}if(q==="<")U++;else if(q===">"&&U>0)U--;else if(U===0){if(q==="(")K++;else if(q===")")K--}if(K>0)W++}if(K!==0)continue;let _=Z.substring(G+1,W);if(!_.includes(":"))continue;let z=Y(_);Q.push({start:G+1,end:W,replacement:z})}for(let G=Q.length-1;G>=0;G--){let{start:K,end:W,replacement:U}=Q[G];Z=Z.substring(0,K)+U+Z.substring(W)}}return Z=Z.replace(/\(([^)]*)\)\s*(?::\s*[^=]+)?\s*=>/g,(X,J)=>{if(!J.includes(":"))return X;if(J.includes("{")||J.includes("}"))return X;return`(${J.split(",").map((G)=>{let[K,...W]=G.split("="),U=K.split(":")[0].trim();if(W.length>0)return`${U} = ${W.join("=").trim()}`;return U}).join(", ")}) =>`}),Z=Z.replace(/(\))\s*:\s*([A-Z]\w*|void|string|number|boolean|any|unknown|never|null|undefined)(?:<[^>]+>)?(?:\s*\|\s*(?:[A-Z]\w*|void|string|number|boolean|any|unknown|never|null|undefined))*\s*(\{)/g,"$1$3"),Z=Z.replace(/(\b(?:function|class|interface|type|extends|implements)\s+\w+)\s*<[^<>()]*>/g,"$1"),Z=Z.replace(/(\b(?:defineProps|withDefaults|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,`
2122
2122
 
2123
- `),Z}async function D0($,Z,Y,X={}){if(!$.trim())return;let J;try{let P=new Bun.Transpiler({loader:"ts",target:"browser",define:N1()}),d=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");d=d.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),J=P.transformSync(d)}catch{J=sU($)}let Q={exports:{}},G=Q.exports,K=P4.cwd(),W={},U=[...J.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((P)=>P[1]).filter((P)=>!P.startsWith("node:")&&!P.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(P));for(let P of U)try{let d=t5.resolve(K,"node_modules",P),m=t5.join(d,"package.json"),g=JSON.parse(_0("fs").readFileSync(m,"utf8")),c=g.main||"index.js";if(g.exports){let a=typeof g.exports==="string"?g.exports:g.exports["."];if(typeof a==="string")c=a;else if(a?.bun)c=a.bun;else if(a?.import)c=a.import;else if(a?.default)c=a.default}W[P]=await import(t5.resolve(d,c))}catch{}let B=(P)=>{if(W[P])return W[P];return _0(P)},_=Z.props||{},z=Object.assign((P)=>{if(!P)return _;let d={};for(let[m,g]of Object.entries(P)){let c=_[m];if(c!==void 0)d[m]=c;else if(typeof g==="function")d[m]=g();else d[m]=g}return d},_),q=(P)=>{if(!P)return _;let d={..._};for(let[m,g]of Object.entries(P)){let c=g&&typeof g==="object"&&!Array.isArray(g)?g:{type:g};if(d[m]===void 0&&c.default!==void 0)d[m]=typeof c.default==="function"?c.default():c.default}return d},j=()=>Z.slots||{},H=(P,d)=>{let m={...P};for(let[g,c]of Object.entries(d))if(m[g]===void 0)if(typeof c==="function")m[g]=c();else m[g]=c;return m},O=(P)=>{let d=()=>P;return d.set=(m)=>{},d.update=(m)=>{},d},F=(P)=>{let d,m=!1;return()=>{if(!m)try{d=P(),m=!0}catch{d=void 0}return d}},L=(P)=>{},V=(P)=>P(),N=(P)=>{},A=(P)=>{},w=(P)=>{},R=()=>{let P=Z.__stxServeContext,d=Z.__stxServeSearch??P?.search??"",m=P?.path??"";return{params:Z.params??{},query:Object.fromEntries(new URLSearchParams(d)),path:m,name:"",fullPath:m+d,hash:"",matched:[]}},T=()=>({push:(P)=>{},replace:(P)=>{},back:()=>{},forward:()=>{},go:(P)=>{}}),I=(P)=>{k$(P);let d=Z.__stx_runtime_head||{},m=P||{};Z.__stx_runtime_head={...d,...m.title&&{title:m.title},meta:[...d.meta||[],...m.meta||[]],link:[...d.link||[],...m.link||[]],script:[...d.script||[],...m.script||[]],htmlAttrs:{...d.htmlAttrs||{},...m.htmlAttrs||{}},bodyAttrs:{...d.bodyAttrs||{},...m.bodyAttrs||{}}}},E=(P)=>{E4(P);let d=n5();Z.__stx_runtime_head={...Z.__stx_runtime_head||{},...d.title&&{title:d.title},meta:d.meta?[...d.meta]:[]}},k=(P)=>({value:P}),S=(P)=>P,x=(P)=>({value:typeof P==="function"?P():P}),y=(P,d)=>{},b=(P)=>{},f=(P)=>{},r=(P)=>P?P():Promise.resolve(),u=(P)=>(d,...m)=>{},C=(P)=>{},h=(P,d)=>{},p=(P,d)=>d,i=()=>({value:"light"}),s=()=>({value:!1}),K0={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:{}},$0=new Proxy(K0,{get(P,d){if(d in P)return P[d];return},set(P,d,m){return P[d]=m,!0}}),F0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},R0=console;try{let P=j8(J,Y),d=new Set(Object.keys(_)),m=Object.keys(Z).filter((G0)=>!d.has(G0)&&G0!=="props"),g=m.map((G0)=>Z[G0]),c=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"]),a=[],l=[];for(let[G0,k0]of Object.entries(_)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(G0))continue;if(c.has(G0))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${G0}\\b`).test(P))continue;a.push(G0),l.push(k0)}let M0=SA(P).map((G0)=>`module.exports.${G0} = typeof ${G0} !== 'undefined' ? ${G0} : module.exports.${G0};`).join(`
2124
- `),w0=Z.params??{},W0=[],r0=[];for(let G0=0;G0<m.length;G0++){if(m[G0]==="params")continue;W0.push(m[G0]),r0.push(g[G0])}let P5=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","window","document","console","confirm","alert","fetch","params",...a,...W0,`return (async () => {
2123
+ `),Z}async function D0($,Z,Y,X={}){if(!$.trim())return;let J;try{let P=new Bun.Transpiler({loader:"ts",target:"browser",define:N1()}),d=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");d=d.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),J=P.transformSync(d)}catch{J=sU($)}let Q={exports:{}},G=Q.exports,K=P4.cwd(),W={},U=[...J.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((P)=>P[1]).filter((P)=>!P.startsWith("node:")&&!P.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(P));for(let P of U)try{let d=t5.resolve(K,"node_modules",P),m=t5.join(d,"package.json"),g=JSON.parse(_0("fs").readFileSync(m,"utf8")),c=g.main||"index.js";if(g.exports){let a=typeof g.exports==="string"?g.exports:g.exports["."];if(typeof a==="string")c=a;else if(a?.bun)c=a.bun;else if(a?.import)c=a.import;else if(a?.default)c=a.default}W[P]=await import(t5.resolve(d,c))}catch{}let B=(P)=>{if(W[P])return W[P];return _0(P)},_=Z.props||{},z=Object.assign((P)=>{if(!P)return _;let d={};for(let[m,g]of Object.entries(P)){let c=_[m];if(c!==void 0)d[m]=c;else if(typeof g==="function")d[m]=g();else d[m]=g}return d},_),q=(P)=>{if(!P)return _;let d={..._};for(let[m,g]of Object.entries(P)){let c=g&&typeof g==="object"&&!Array.isArray(g)?g:{type:g};if(d[m]===void 0&&c.default!==void 0)d[m]=typeof c.default==="function"?c.default():c.default}return d},j=()=>Z.slots||{},H=(P,d)=>{let m={...P};for(let[g,c]of Object.entries(d))if(m[g]===void 0)if(typeof c==="function")m[g]=c();else m[g]=c;return m},O=(P)=>{let d=()=>P;return d.set=(m)=>{},d.update=(m)=>{},d},F=(P)=>{let d,m=!1;return()=>{if(!m)try{d=P(),m=!0}catch{d=void 0}return d}},L=(P)=>{},V=(P)=>P(),N=(P)=>{},A=(P)=>{},w=(P)=>{},R=()=>{let P=Z.__stxServeContext,d=Z.__stxServeSearch??P?.search??"",m=P?.path??"";return{params:Z.params??{},query:Object.fromEntries(new URLSearchParams(d)),path:m,name:"",fullPath:m+d,hash:"",matched:[]}},T=()=>({push:(P)=>{},replace:(P)=>{},back:()=>{},forward:()=>{},go:(P)=>{}}),I=(P)=>{k$(P);let d=Z.__stx_runtime_head||{},m=P||{};Z.__stx_runtime_head={...d,...m.title&&{title:m.title},meta:[...d.meta||[],...m.meta||[]],link:[...d.link||[],...m.link||[]],script:[...d.script||[],...m.script||[]],htmlAttrs:{...d.htmlAttrs||{},...m.htmlAttrs||{}},bodyAttrs:{...d.bodyAttrs||{},...m.bodyAttrs||{}}}},E=(P)=>{E4(P);let d=n5();Z.__stx_runtime_head={...Z.__stx_runtime_head||{},...d.title&&{title:d.title},meta:d.meta?[...d.meta]:[]}},k=(P)=>({value:P}),S=(P)=>P,x=(P)=>({value:typeof P==="function"?P():P}),y=(P,d)=>{},b=(P)=>{},f=(P)=>{},r=(P)=>P?P():Promise.resolve(),u=(P)=>(d,...m)=>{},C=(P)=>{},h=(P,d)=>{},p=(P,d)=>d,i=()=>({value:"light"}),s=()=>({value:!1}),W0={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:{}},$0=new Proxy(W0,{get(P,d){if(d in P)return P[d];return},set(P,d,m){return P[d]=m,!0}}),V0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},M0=console;try{let P=j8(J,Y),d=new Set(Object.keys(_)),m=Object.keys(Z).filter((G0)=>!d.has(G0)&&G0!=="props"),g=m.map((G0)=>Z[G0]),c=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"]),a=[],l=[];for(let[G0,k0]of Object.entries(_)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(G0))continue;if(c.has(G0))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${G0}\\b`).test(P))continue;a.push(G0),l.push(k0)}let R0=SA(P).map((G0)=>`module.exports.${G0} = typeof ${G0} !== 'undefined' ? ${G0} : module.exports.${G0};`).join(`
2124
+ `),j0=Z.params??{},K0=[],r0=[];for(let G0=0;G0<m.length;G0++){if(m[G0]==="params")continue;K0.push(m[G0]),r0.push(g[G0])}let P5=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","window","document","console","confirm","alert","fetch","params",...a,...K0,`return (async () => {
2125
2125
  ${P}
2126
- ${M0}
2126
+ ${R0}
2127
2127
  return module.exports
2128
- })()`)(Q,G,B,_,z,q,H,O,F,L,V,N,A,w,R,T,I,E,k,S,x,y,b,f,r,u,C,j,h,p,i,s,$0,F0,R0,K0.confirm,K0.alert,K0.fetch,w0,...l,...r0);if(X.preserveExisting){for(let[G0,k0]of Object.entries(P5))if(!(G0 in Z)||Z[G0]===void 0)Z[G0]=k0}else Object.assign(Z,P5);for(let[G0,k0]of Object.entries(_))if(!(G0 in Z))Z[G0]=k0}catch(P){if(P4.env.STX_DEBUG){let d=P instanceof Error?P.message:String(P);console.warn(`[stx] server <script> did not execute in ${Y??"<unknown>"} \u2014 falling back to static extraction. Cause: ${d}`)}try{await xA(J,Z,Y)}catch(d){if(P4.env.STX_DEBUG){let m=d instanceof Error?d.message:String(d);console.warn(`[stx] fallback extraction also failed in ${Y??"<unknown>"}: ${m}`)}}}}function j8($,Z){let Y=Z?t5.dirname(Z):P4.cwd(),X=$.split(`
2128
+ })()`)(Q,G,B,_,z,q,H,O,F,L,V,N,A,w,R,T,I,E,k,S,x,y,b,f,r,u,C,j,h,p,i,s,$0,V0,M0,W0.confirm,W0.alert,W0.fetch,j0,...l,...r0);if(X.preserveExisting){for(let[G0,k0]of Object.entries(P5))if(!(G0 in Z)||Z[G0]===void 0)Z[G0]=k0}else Object.assign(Z,P5);for(let[G0,k0]of Object.entries(_))if(!(G0 in Z))Z[G0]=k0}catch(P){if(P4.env.STX_DEBUG){let d=P instanceof Error?P.message:String(P);console.warn(`[stx] server <script> did not execute in ${Y??"<unknown>"} \u2014 falling back to static extraction. Cause: ${d}`)}try{await xA(J,Z,Y)}catch(d){if(P4.env.STX_DEBUG){let m=d instanceof Error?d.message:String(d);console.warn(`[stx] fallback extraction also failed in ${Y??"<unknown>"}: ${m}`)}}}}function j8($,Z){let Y=Z?t5.dirname(Z):P4.cwd(),X=$.split(`
2129
2129
  `),J=[],Q=0;while(Q<X.length){let G=X[Q].trim();if(G.startsWith("interface ")||G.startsWith("export interface ")||G.startsWith("type ")||G.startsWith("export type ")){if(G.includes("{")&&!G.includes("}")){let K=0;for(;Q<X.length;Q++){for(let W of X[Q])if(W==="{")K++;else if(W==="}")K--;if(K<=0)break}}Q++;continue}if(G.startsWith("definePageMeta(")){let K=0,W=!1;for(let U=Q;U<X.length&&!W;U++){let B=null,_=!1,z=X[U];for(let q=0;q<z.length;q++){let j=z[q];if(_){_=!1;continue}if(j==="\\"){_=!0;continue}if(B){if(j===B)B=null;continue}if(j==='"'||j==="'"||j==="`"){B=j;continue}if(j==="(")K++;else if(j===")"){if(K--,K===0){Q=U+1,W=!0;break}}}}if(!W)Q=X.length;continue}if(G.startsWith("import ")){let K=G.match(/^import\s+(\w+)\s+from\s+['"](.+)['"]/),W=G.match(/^import\s+\{([^}]+)\}\s+from\s+['"](.+)['"]/),U=G.match(/^import\s+['"](.+)['"]/),B=(_)=>{if(_.startsWith("."))return t5.resolve(Y,_);return _};if(K){let[,_,z]=K,q=B(z);J.push(`const ${_} = await import('${q}')`),J.push(`module.exports.${_} = ${_};`)}else if(W){let[,_,z]=W,q=_.trim(),j=B(z);J.push(`const { ${q} } = await import('${j}')`);for(let H of q.split(",")){let O=H.trim().split(/\s+as\s+/).pop()?.trim();if(O)J.push(`module.exports.${O} = ${O};`)}}else if(U){let _=B(U[1]);J.push(`await import('${_}')`)}else J.push(G);Q++;continue}if((G.startsWith("const ")||G.startsWith("let ")||G.startsWith("var ")||G.startsWith("export const ")||G.startsWith("export let ")||G.startsWith("export var "))&&!G.includes("="))J.push(X[Q]),Q++;else if(G.startsWith("export const ")||G.startsWith("export let ")||G.startsWith("export var ")){let K=cU(X,Q),{type:W,name:U,value:B}=K;J.push(`${W} ${U} = ${B};`),J.push(`module.exports.${U} = ${U};`),Q=K.nextIndex}else if(G.startsWith("export function ")||G.startsWith("export async function ")){let K=GJ(X,Q);J.push(K.functionCode),J.push(`module.exports.${K.name} = ${K.name};`),Q=K.nextIndex}else if(G.startsWith("const ")||G.startsWith("let ")||G.startsWith("var ")){let K=cU(X,Q),{type:W,name:U,value:B}=K;J.push(`${W} ${U} = ${B};`),J.push(`module.exports.${U} = ${U};`),Q=K.nextIndex}else if(G.startsWith("function ")||G.startsWith("async function ")){let K=GJ(X,Q);J.push(K.functionCode),J.push(`module.exports.${K.name} = ${K.name};`),Q=K.nextIndex}else if(G.startsWith("export default function ")||G.startsWith("export default async function ")){let K=X[Q].replace(/^(\s*)export\s+default\s+/,"$1"),W=[...X];W[Q]=K;let U=GJ(W,Q);if(J.push(U.functionCode),U.name)J.push(`module.exports.default = ${U.name};`);Q=U.nextIndex}else if(G.startsWith("export default ")){let K=G.replace(/^export\s+default\s+/,"").replace(/;$/,"");J.push(`module.exports.default = ${K};`),Q++}else if(G.startsWith("class ")||G.startsWith("export class ")){let K=G.match(/(?:export\s+)?class\s+(\w+)/);if(K){let W=K[1],U=X[Q].replace(/^export\s+/,""),B=0,_=Q;for(;_<X.length;_++){let z=X[_];for(let q of z)if(q==="{")B++;else if(q==="}")B--;if(_>Q)U+=`
2130
2130
  `+z;if(B<=0&&_>=Q)break}J.push(U),J.push(`module.exports.${W} = ${W};`),Q=_+1}else J.push(G),Q++}else if(G.includes("module.exports"))J.push(G),Q++;else if(G.trim()&&!G.startsWith("//"))J.push(G),Q++;else Q++}return bA(J.join(`
2131
2131
  `),Y)}function bA($,Z){let Y=$.length,X="",J=0,Q=null,G=!1,K=!1,W=0;while(J<Y){let U=$[J],B=$[J+1];if(G){if(X+=U,U===`
@@ -2135,7 +2135,7 @@ ${A}`,nextIndex:L}}}}throw Error(`Failed to parse variable declaration: ${Y}`)}l
2135
2135
  ${$[W]}`,W++;else break}return K=K.trim().replace(/;$/,""),{type:J,name:Q,value:K,nextIndex:W}}function GJ($,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[,J]=X,Q=Y.replace(/^export\s+/,""),G=Z;if(yA(Y)){let K=PA($,Z,Q);Q=K.functionCode,G=K.nextIndex}else G=Z+1;return{name:J,functionCode:Q,nextIndex:G}}function lU($){let Z=$.trim();if(Z.startsWith("{"))return x0(Z,"{","}",0)===-1;if(Z.startsWith("["))return x0(Z,"[","]",0)===-1;return!aU(Z)}function aU($){let Z={paren:0,bracket:0,brace:0},Y=null,X=0;for(let J=0;J<$.length;J++){let Q=$[J];if((J>0?$[J-1]:"")==="\\"&&Y)continue;if((Q==='"'||Q==="'")&&!Y){Y=Q;continue}if(Q===Y&&Y!=="`"){Y=null;continue}if(Q==="`"&&!Y){Y="`";continue}if(Q==="`"&&Y==="`"&&X===0){Y=null;continue}if(Y==="`"&&Q==="$"&&$[J+1]==="{"){X++,J++;continue}if(X>0&&Q==="{"){X++;continue}if(X>0&&Q==="}"){X--;continue}if(Y)continue;if(Q==="(")Z.paren++;else if(Q===")")Z.paren--;else if(Q==="[")Z.bracket++;else if(Q==="]")Z.bracket--;else if(Q==="{")Z.brace++;else if(Q==="}")Z.brace--}return Z.paren===0&&Z.bracket===0&&Z.brace===0&&Y===null}function yA($){let Z=$.indexOf("{");if(Z===-1)return!0;return x0($,"{","}",Z)===-1}function iU($,Z,Y){let X=Y,J=Z+1;while(J<$.length&&!aU(X)){let Q=$[J];X+=`
2136
2136
  ${Q}`,J++}while(J<$.length){let Q=$[J].trim();if(Q.startsWith(".")||Q.startsWith("?."))X+=`
2137
2137
  ${$[J]}`,J++;else break}return{value:X,nextIndex:J}}function PA($,Z,Y){let X=Y,J=Z+1;while(J<$.length){let Q=X.indexOf("{");if(Q!==-1){if(x0(X,"{","}",Q)!==-1)break}let G=$[J];X+=`
2138
- ${G}`,J++}return{functionCode:X,nextIndex:J}}function nU($,Z){let Y=z0($,Z)??z0(`(${$})`,Z);if(Y!==void 0)return Y;if(!/\bprocess\b/.test($))return;let X={...Z,process:Object.freeze({env:{...P4.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 xA($,Z,Y){let X=$.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let Q of X){let[,,G,K]=Q;try{let W=K.trim().replace(/;$/,""),U=nU(W,Z);if(U!==void 0)Z[G]=U}catch(W){console.warn(`Failed to parse export ${G} in fallback:`,W)}}let J=$.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let Q of J){let[,,G,K]=Q;if(!(G in Z))try{let W=K.trim().replace(/;$/,""),U=nU(W,Z);if(U!==void 0)Z[G]=U}catch{}}}function KJ($){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 WJ($){let Z=$.trim();if(!Z)return!1;return/(?:const|let|var|function)\s+\w+/.test(Z)}var v$=D(()=>{S$();Q5();h0()});var JB={};Z0(JB,{processLoops:()=>V8});function gA($,Z){let Y=/@component\s*\(/g,X=$,J,Q=[];while((J=Y.exec(X))!==null){let G=J.index,K=G+J[0].length-1,W=1,U=K+1;while(U<X.length&&W>0){if(X[U]==="(")W++;else if(X[U]===")"){if(W--,W===0)break}U++}if(W!==0)continue;let B=X.substring(K+1,U),_=U+1,z=B.match(/^\s*['"]([^'"]+)['"]/);if(!z)continue;let q=z[1],j=B.slice(z[0].length),H=j.match(/^\s*,\s*/);if(!H)continue;let O=j.slice(H[0].length).trim();if(!O)continue;try{let F=P0(O,Z),L=JSON.stringify(F),V=`@component('${q}', ${L})`;Q.push({start:G,end:_,replacement:V})}catch{continue}}for(let G=Q.length-1;G>=0;G--){let{start:K,end:W,replacement:U}=Q[G];X=X.substring(0,K)+U+X.substring(W)}return X}function O8($,Z,Y){let X=$,J=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),Q;while((Q=J.exec(X))!==null){let G=Q.index,K=G+Q[0].length-1,W=1,U=K+1,B=null,_=!1;while(U<X.length&&W>0){let j=X[U];if(_){_=!1,U++;continue}if(j==="\\"&&B){_=!0,U++;continue}if(B){if(j===B)B=null;U++;continue}if(j==='"'||j==="'"||j==="`"){B=j,U++;continue}if(j==="(")W++;else if(j===")"){if(W--,W===0)break}U++}if(W!==0)break;let z=X.substring(K+1,U),q=Y(z);X=X.substring(0,G)+q+X.substring(U+1)}return X}function hA($,Z){let Y=$;return Y=Y.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(X,J)=>{if(J in Z)return`:${J}="${J}"`;return X}),Y=Y.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(X,J,Q)=>{try{let G=Object.keys(Z),K=Object.values(Z);R3(Q);let U=O0(Q,G)(...K),B=JSON.stringify(U),_=Buffer.from(B,"utf8").toString("base64");return`__stx_${J}="${_}"`}catch(G){return X}}),Y}function dA($,Z){let Y=$;return Y=O8(Y,"@break",(X)=>{try{let Q=`!!(${X.trim()})`,G;if(H0(Q)){let K=O0(Q,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(z0(Q,Z));return G?L8:""}catch{return""}}),Y=O8(Y,"@continue",(X)=>{try{let Q=`!!(${X.trim()})`,G;if(H0(Q)){let K=O0(Q,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(z0(Q,Z));return G?F8:""}catch{return""}}),Y}function uA($){let Z=$;return Z=Z.replace(/@break(?!\()/g,L8),Z=Z.replace(/@continue(?!\()/g,F8),Z}function tU($){let Z=$.includes(L8),Y=Z?$.substring(0,$.indexOf(L8)):$;return{hasBreak:Z,content:Y}}function eU($){let Z=$.includes(F8),Y=Z?$.substring(0,$.indexOf(F8)):$;return{hasContinue:Z,content:Y}}function ZB($){let Z=$;return Z=O8(Z,"@break",(Y)=>{let X=Y.trim();if(!M3(X))return"";return`\`; if (${X}) { break; } result += \``}),Z=O8(Z,"@continue",(Y)=>{let X=Y.trim();if(!M3(X))return"";return`\`; if (${X}) { continue; } result += \``}),Z=Z.replace(/@break(?!\()/g,"`; break; result += `"),Z=Z.replace(/@continue(?!\()/g,"`; continue; result += `"),Z}function mA($){let Z=/@forelse\s*\(/g,Y,X=[],J=/@foreach\s*\(/g,Q=/@endforeach/g,G;while((G=J.exec($))!==null)X.push({pos:G.index,delta:1});while((G=Q.exec($))!==null)X.push({pos:G.index,delta:-1});X.sort((B,_)=>B.pos-_.pos);let K=[],W=0;for(let B of X)W+=B.delta,K.push({pos:B.pos,depth:W});function U(B){let _=0,z=K.length-1,q=0;while(_<=z){let j=_+z>>1;if(K[j].pos<=B)q=K[j].depth,_=j+1;else z=j-1}return q}while((Y=Z.exec($))!==null){if(U(Y.index)>0)continue;let B=Y.index,_=Y.index+Y[0].length-1,z=1,q=_+1,j=-1;while(q<$.length&&z>0){if($[q]==="(")z++;else if($[q]===")"){if(z--,z===0){j=q;break}}q++}if(j===-1)continue;let H=$.substring(_+1,j),O=H.indexOf(" as ");if(O===-1)continue;let F=H.substring(0,O).trim(),L=H.substring(O+4).trim(),V=j+1,N=1,A=V,w=/@forelse\s*\(/g,R=/@endforelse/g,T=-1;while(N>0&&A<$.length){w.lastIndex=A,R.lastIndex=A;let y=w.exec($),b=R.exec($);if(!b)break;if(y&&y.index<b.index)N++,A=y.index+y[0].length;else{if(N--,N===0){T=b.index;break}A=b.index+11}}if(T===-1)continue;let I=$.substring(V,T),E=T+11,k=-1,S=0,x=0;while(x<I.length){let y=I.indexOf("@",x);if(y===-1)break;let b=I.substring(y);if(/^@forelse\s*\(/.test(b))S++,x=y+1;else if(b.startsWith("@endforelse"))S--,x=y+11;else if(S===0&&b.startsWith("@empty")){if(I.length<=y+6||!/[a-z]/i.test(I[y+6])){k=y;break}x=y+1}else x=y+1}if(k===-1)continue;return{start:B,end:E,arrayExpr:F,itemVar:L,foreachContent:I.substring(0,k),emptyContent:I.substring(k+6)}}return null}function $B($,Z){let Y=$;while(!0){let X=mA(Y);if(!X)break;let{start:J,end:Q,arrayExpr:G,itemVar:K,foreachContent:W,emptyContent:U}=X;try{let B;if(H0(G))B=O0(G,Object.keys(Z))(...Object.values(Z));else B=z0(G,Z);let _;if(!Array.isArray(B)||B.length===0)_=U;else _=`@foreach (${G} as ${K})${W}@endforeach`;Y=Y.substring(0,J)+_+Y.substring(Q)}catch(B){let _=B instanceof Error?B.message:String(B),z=J0("Forelse",`Error in @forelse(${G} as ${K}): ${_}`,e.EVALUATION_ERROR);Y=Y.substring(0,J)+z+Y.substring(Q)}}return Y}function V8($,Z,Y,X){let J=$;J=$B(J,Z);function Q(W){let U=/@foreach\s*\(/g,B;while((B=U.exec(W))!==null){let _=B.index,z=B.index+B[0].length-1,q=1,j=z+1,H=-1;while(j<W.length&&q>0){if(W[j]==="(")q++;else if(W[j]===")"){if(q--,q===0){H=j;break}}j++}if(H===-1)continue;let O=W.substring(z+1,H),F=O.indexOf(" as ");if(F===-1)continue;let L=_,V=O.substring(0,F),N=O.substring(F+4),A=H+1,w=1,R=A,T=/@foreach\s*\(/g,I=/@endforeach/g;while(w>0&&R<W.length){T.lastIndex=R,I.lastIndex=R;let E=T.exec(W),k=I.exec(W);if(!k)break;if(E&&E.index<k.index)w++,R=E.index+E[0].length;else{if(w--,w===0){let S=W.substring(A,k.index),x=k.index+11;return{start:L,end:x,arrayExpr:V,itemVar:N,content:S}}R=k.index+11}}}return null}function G(W,U){let B=W;while(!0){let _=Q(B);if(!_)break;let{start:z,end:q,arrayExpr:j,itemVar:H,content:O}=_;try{let F=j.trim(),L;if(H0(F))L=O0(F,Object.keys(U))(...Object.values(U));else L=z0(F,U);let V=!1;if(!Array.isArray(L))if(L instanceof Map)L=Array.from(L),V=!0;else if(L instanceof Set)L=Array.from(L);else if(typeof L==="string")L=Array.from(L);else if(L&&typeof L==="object"&&!(L instanceof Date)&&!(L instanceof RegExp))L=Object.entries(L),V=!0;else{let k=J0("Foreach",`Error in @foreach: ${F} is not iterable`,e.TYPE_ERROR);B=B.substring(0,z)+k+B.substring(q);continue}let N=X?.loops?.useAltLoopVariable??fA,A=H.trim(),w=null,R,T=!1;if(A.includes("=>")){let k=A.split("=>").map((S)=>S.trim());if(k.length===2&&k[0]&&k[1])w=k[0],R=k[1];else R=A}else if(!A.startsWith("[")&&!A.startsWith("{")&&A.includes(",")){let k=A.split(",").map((S)=>S.trim());if(k.length===2&&k[0]&&k[1])R=k[0],w=k[1],T=!0;else R=A}else R=A;let I="",E=L;for(let k=0;k<E.length;k++){let S=E[k],x={index:k,iteration:k+1,first:k===0,last:k===E.length-1,count:E.length},y={...U,loop:x,$loop:x};if(R.startsWith("[")&&R.endsWith("]")){let u=R.slice(1,-1).split(",").map((C)=>C.trim());if(Array.isArray(S))u.forEach((C,h)=>{if(C)y[C]=S[h]});else y[R]=S}else y[R]=S;if(w)if(!T&&V&&Array.isArray(S)&&S.length===2)y[w]=S[0],y[R]=S[1];else y[w]=k;let b=dA(O,y),f=eU(b);if(f.hasContinue){I+=f.content;continue}let r=tU(b);if(r.hasBreak){I+=r.content;break}if(b=$B(b,y),b=G(b,y),b=B5(b,y,Y),b=uA(b),r=tU(b),r.hasBreak){I+=r.content;break}if(f=eU(b),f.hasContinue){I+=f.content;continue}b=G1(b,y,Y),b=hA(b,y),b=gA(b,y),I+=b}B=B.substring(0,z)+I+B.substring(q)}catch(F){let L=J0("Foreach",`Error in @foreach(${j.trim()} as ${H.trim()}): ${F instanceof Error?F.message:String(F)}`,e.EVALUATION_ERROR);B=B.substring(0,z)+L+B.substring(q)}}return B}J=G(J,Z),J=XB(J,Z,Y,X);let K=X?.loops?.maxWhileIterations??vA;return J=lA(J,Z,K),J}function YB($){return M3($)}function XB($,Z,Y,X){let J=$,Q=!0;while(Q){Q=!1;let G=J.match(/@for\s*\(/);if(!G||G.index===void 0)break;let K=G.index,W=K+G[0].length-1,U=x0(J,"(",")",W);if(U===-1)break;let B=J.slice(W+1,U),_=U+1,z=T4(J.slice(K),"for","endfor");if(z.length===0)break;let q=z[0].content,j=K+z[0].end;if(!YB(B)){let H=J0("For",`Unsafe expression in @for: ${B}`,e.UNSAFE_EXPRESSION);J=J.substring(0,K)+H+J.substring(j),Q=!0;continue}try{let H=pA(B),O=/@(?:for|foreach|if|unless)\s*\(/.test(q);if(H.length>0&&O){let w=cA({forExpr:B,content:q,iterVarNames:H,context:Z,filePath:Y,options:X});J=J.substring(0,K)+w+J.substring(j),Q=!0;continue}let F=Object.keys(Z),L=Object.values(Z),V=q.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(w,R)=>{return`\${${R}}`});V=ZB(V);let A=Function(...F,`
2138
+ ${G}`,J++}return{functionCode:X,nextIndex:J}}function nU($,Z){let Y=z0($,Z)??z0(`(${$})`,Z);if(Y!==void 0)return Y;if(!/\bprocess\b/.test($))return;let X={...Z,process:Object.freeze({env:{...P4.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 xA($,Z,Y){let X=$.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let Q of X){let[,,G,K]=Q;try{let W=K.trim().replace(/;$/,""),U=nU(W,Z);if(U!==void 0)Z[G]=U}catch(W){console.warn(`Failed to parse export ${G} in fallback:`,W)}}let J=$.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let Q of J){let[,,G,K]=Q;if(!(G in Z))try{let W=K.trim().replace(/;$/,""),U=nU(W,Z);if(U!==void 0)Z[G]=U}catch{}}}function KJ($){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 WJ($){let Z=$.trim();if(!Z)return!1;return/(?:const|let|var|function)\s+\w+/.test(Z)}var v$=D(()=>{S$();Q5();h0()});var JB={};Z0(JB,{processLoops:()=>V8});function gA($,Z){let Y=/@component\s*\(/g,X=$,J,Q=[];while((J=Y.exec(X))!==null){let G=J.index,K=G+J[0].length-1,W=1,U=K+1;while(U<X.length&&W>0){if(X[U]==="(")W++;else if(X[U]===")"){if(W--,W===0)break}U++}if(W!==0)continue;let B=X.substring(K+1,U),_=U+1,z=B.match(/^\s*['"]([^'"]+)['"]/);if(!z)continue;let q=z[1],j=B.slice(z[0].length),H=j.match(/^\s*,\s*/);if(!H)continue;let O=j.slice(H[0].length).trim();if(!O)continue;try{let F=P0(O,Z),L=JSON.stringify(F),V=`@component('${q}', ${L})`;Q.push({start:G,end:_,replacement:V})}catch{continue}}for(let G=Q.length-1;G>=0;G--){let{start:K,end:W,replacement:U}=Q[G];X=X.substring(0,K)+U+X.substring(W)}return X}function O8($,Z,Y){let X=$,J=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),Q;while((Q=J.exec(X))!==null){let G=Q.index,K=G+Q[0].length-1,W=1,U=K+1,B=null,_=!1;while(U<X.length&&W>0){let j=X[U];if(_){_=!1,U++;continue}if(j==="\\"&&B){_=!0,U++;continue}if(B){if(j===B)B=null;U++;continue}if(j==='"'||j==="'"||j==="`"){B=j,U++;continue}if(j==="(")W++;else if(j===")"){if(W--,W===0)break}U++}if(W!==0)break;let z=X.substring(K+1,U),q=Y(z);X=X.substring(0,G)+q+X.substring(U+1)}return X}function hA($,Z){let Y=$;return Y=Y.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(X,J)=>{if(J in Z)return`:${J}="${J}"`;return X}),Y=Y.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(X,J,Q)=>{try{let G=Object.keys(Z),K=Object.values(Z);R3(Q);let U=L0(Q,G)(...K),B=JSON.stringify(U),_=Buffer.from(B,"utf8").toString("base64");return`__stx_${J}="${_}"`}catch(G){return X}}),Y}function dA($,Z){let Y=$;return Y=O8(Y,"@break",(X)=>{try{let Q=`!!(${X.trim()})`,G;if(O0(Q)){let K=L0(Q,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(z0(Q,Z));return G?L8:""}catch{return""}}),Y=O8(Y,"@continue",(X)=>{try{let Q=`!!(${X.trim()})`,G;if(O0(Q)){let K=L0(Q,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean(z0(Q,Z));return G?F8:""}catch{return""}}),Y}function uA($){let Z=$;return Z=Z.replace(/@break(?!\()/g,L8),Z=Z.replace(/@continue(?!\()/g,F8),Z}function tU($){let Z=$.includes(L8),Y=Z?$.substring(0,$.indexOf(L8)):$;return{hasBreak:Z,content:Y}}function eU($){let Z=$.includes(F8),Y=Z?$.substring(0,$.indexOf(F8)):$;return{hasContinue:Z,content:Y}}function ZB($){let Z=$;return Z=O8(Z,"@break",(Y)=>{let X=Y.trim();if(!M3(X))return"";return`\`; if (${X}) { break; } result += \``}),Z=O8(Z,"@continue",(Y)=>{let X=Y.trim();if(!M3(X))return"";return`\`; if (${X}) { continue; } result += \``}),Z=Z.replace(/@break(?!\()/g,"`; break; result += `"),Z=Z.replace(/@continue(?!\()/g,"`; continue; result += `"),Z}function mA($){let Z=/@forelse\s*\(/g,Y,X=[],J=/@foreach\s*\(/g,Q=/@endforeach/g,G;while((G=J.exec($))!==null)X.push({pos:G.index,delta:1});while((G=Q.exec($))!==null)X.push({pos:G.index,delta:-1});X.sort((B,_)=>B.pos-_.pos);let K=[],W=0;for(let B of X)W+=B.delta,K.push({pos:B.pos,depth:W});function U(B){let _=0,z=K.length-1,q=0;while(_<=z){let j=_+z>>1;if(K[j].pos<=B)q=K[j].depth,_=j+1;else z=j-1}return q}while((Y=Z.exec($))!==null){if(U(Y.index)>0)continue;let B=Y.index,_=Y.index+Y[0].length-1,z=1,q=_+1,j=-1;while(q<$.length&&z>0){if($[q]==="(")z++;else if($[q]===")"){if(z--,z===0){j=q;break}}q++}if(j===-1)continue;let H=$.substring(_+1,j),O=H.indexOf(" as ");if(O===-1)continue;let F=H.substring(0,O).trim(),L=H.substring(O+4).trim(),V=j+1,N=1,A=V,w=/@forelse\s*\(/g,R=/@endforelse/g,T=-1;while(N>0&&A<$.length){w.lastIndex=A,R.lastIndex=A;let y=w.exec($),b=R.exec($);if(!b)break;if(y&&y.index<b.index)N++,A=y.index+y[0].length;else{if(N--,N===0){T=b.index;break}A=b.index+11}}if(T===-1)continue;let I=$.substring(V,T),E=T+11,k=-1,S=0,x=0;while(x<I.length){let y=I.indexOf("@",x);if(y===-1)break;let b=I.substring(y);if(/^@forelse\s*\(/.test(b))S++,x=y+1;else if(b.startsWith("@endforelse"))S--,x=y+11;else if(S===0&&b.startsWith("@empty")){if(I.length<=y+6||!/[a-z]/i.test(I[y+6])){k=y;break}x=y+1}else x=y+1}if(k===-1)continue;return{start:B,end:E,arrayExpr:F,itemVar:L,foreachContent:I.substring(0,k),emptyContent:I.substring(k+6)}}return null}function $B($,Z){let Y=$;while(!0){let X=mA(Y);if(!X)break;let{start:J,end:Q,arrayExpr:G,itemVar:K,foreachContent:W,emptyContent:U}=X;try{let B;if(O0(G))B=L0(G,Object.keys(Z))(...Object.values(Z));else B=z0(G,Z);let _;if(!Array.isArray(B)||B.length===0)_=U;else _=`@foreach (${G} as ${K})${W}@endforeach`;Y=Y.substring(0,J)+_+Y.substring(Q)}catch(B){let _=B instanceof Error?B.message:String(B),z=J0("Forelse",`Error in @forelse(${G} as ${K}): ${_}`,e.EVALUATION_ERROR);Y=Y.substring(0,J)+z+Y.substring(Q)}}return Y}function V8($,Z,Y,X){let J=$;J=$B(J,Z);function Q(W){let U=/@foreach\s*\(/g,B;while((B=U.exec(W))!==null){let _=B.index,z=B.index+B[0].length-1,q=1,j=z+1,H=-1;while(j<W.length&&q>0){if(W[j]==="(")q++;else if(W[j]===")"){if(q--,q===0){H=j;break}}j++}if(H===-1)continue;let O=W.substring(z+1,H),F=O.indexOf(" as ");if(F===-1)continue;let L=_,V=O.substring(0,F),N=O.substring(F+4),A=H+1,w=1,R=A,T=/@foreach\s*\(/g,I=/@endforeach/g;while(w>0&&R<W.length){T.lastIndex=R,I.lastIndex=R;let E=T.exec(W),k=I.exec(W);if(!k)break;if(E&&E.index<k.index)w++,R=E.index+E[0].length;else{if(w--,w===0){let S=W.substring(A,k.index),x=k.index+11;return{start:L,end:x,arrayExpr:V,itemVar:N,content:S}}R=k.index+11}}}return null}function G(W,U){let B=W;while(!0){let _=Q(B);if(!_)break;let{start:z,end:q,arrayExpr:j,itemVar:H,content:O}=_;try{let F=j.trim(),L;if(O0(F))L=L0(F,Object.keys(U))(...Object.values(U));else L=z0(F,U);let V=!1;if(!Array.isArray(L))if(L instanceof Map)L=Array.from(L),V=!0;else if(L instanceof Set)L=Array.from(L);else if(typeof L==="string")L=Array.from(L);else if(L&&typeof L==="object"&&!(L instanceof Date)&&!(L instanceof RegExp))L=Object.entries(L),V=!0;else{let k=J0("Foreach",`Error in @foreach: ${F} is not iterable`,e.TYPE_ERROR);B=B.substring(0,z)+k+B.substring(q);continue}let N=X?.loops?.useAltLoopVariable??fA,A=H.trim(),w=null,R,T=!1;if(A.includes("=>")){let k=A.split("=>").map((S)=>S.trim());if(k.length===2&&k[0]&&k[1])w=k[0],R=k[1];else R=A}else if(!A.startsWith("[")&&!A.startsWith("{")&&A.includes(",")){let k=A.split(",").map((S)=>S.trim());if(k.length===2&&k[0]&&k[1])R=k[0],w=k[1],T=!0;else R=A}else R=A;let I="",E=L;for(let k=0;k<E.length;k++){let S=E[k],x={index:k,iteration:k+1,first:k===0,last:k===E.length-1,count:E.length},y={...U,loop:x,$loop:x};if(R.startsWith("[")&&R.endsWith("]")){let u=R.slice(1,-1).split(",").map((C)=>C.trim());if(Array.isArray(S))u.forEach((C,h)=>{if(C)y[C]=S[h]});else y[R]=S}else y[R]=S;if(w)if(!T&&V&&Array.isArray(S)&&S.length===2)y[w]=S[0],y[R]=S[1];else y[w]=k;let b=dA(O,y),f=eU(b);if(f.hasContinue){I+=f.content;continue}let r=tU(b);if(r.hasBreak){I+=r.content;break}if(b=$B(b,y),b=G(b,y),b=B5(b,y,Y),b=uA(b),r=tU(b),r.hasBreak){I+=r.content;break}if(f=eU(b),f.hasContinue){I+=f.content;continue}b=G1(b,y,Y),b=hA(b,y),b=gA(b,y),I+=b}B=B.substring(0,z)+I+B.substring(q)}catch(F){let L=J0("Foreach",`Error in @foreach(${j.trim()} as ${H.trim()}): ${F instanceof Error?F.message:String(F)}`,e.EVALUATION_ERROR);B=B.substring(0,z)+L+B.substring(q)}}return B}J=G(J,Z),J=XB(J,Z,Y,X);let K=X?.loops?.maxWhileIterations??vA;return J=lA(J,Z,K),J}function YB($){return M3($)}function XB($,Z,Y,X){let J=$,Q=!0;while(Q){Q=!1;let G=J.match(/@for\s*\(/);if(!G||G.index===void 0)break;let K=G.index,W=K+G[0].length-1,U=x0(J,"(",")",W);if(U===-1)break;let B=J.slice(W+1,U),_=U+1,z=T4(J.slice(K),"for","endfor");if(z.length===0)break;let q=z[0].content,j=K+z[0].end;if(!YB(B)){let H=J0("For",`Unsafe expression in @for: ${B}`,e.UNSAFE_EXPRESSION);J=J.substring(0,K)+H+J.substring(j),Q=!0;continue}try{let H=pA(B),O=/@(?:for|foreach|if|unless)\s*\(/.test(q);if(H.length>0&&O){let w=cA({forExpr:B,content:q,iterVarNames:H,context:Z,filePath:Y,options:X});J=J.substring(0,K)+w+J.substring(j),Q=!0;continue}let F=Object.keys(Z),L=Object.values(Z),V=q.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(w,R)=>{return`\${${R}}`});V=ZB(V);let A=Function(...F,`
2139
2139
  let result = '';
2140
2140
  for (${B}) {
2141
2141
  result += \`${V}\`;
@@ -2192,20 +2192,20 @@ ${sA($).split(",").map((W)=>W.trim()).filter(Boolean).map((W)=>` try { __scopeR
2192
2192
  } finally {
2193
2193
  if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
2194
2194
  }
2195
- })();`}function oA($,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 J=(Y[2]+Y[3]).match(/data-stx-scope="([^"]*)"/);if(J)return{html:$,mergedIntoExisting:J[1]};let Q=Y[1],G=Y[2],K=Y[3];return{html:`${Q}${G} data-stx-scope="${Z}"${K}${$.slice(Y[0].length)}`,mergedIntoExisting:null}}return{html:$,mergedIntoExisting:null}}function aA(){BJ.clear()}function tA($){if($.__onceStore instanceof Set)return $.__onceStore;return BJ}async function A8($,Z,Y,X,J,Q=new Set){let G=X.partialsDir||I0.join(I0.dirname(Y),"partials");if(G&&!I0.isAbsolute(G))G=I0.resolve(process.cwd(),G);let K=iA($,"@partial","@include"),W=tA(Z);K=K.replace(/@once([\s\S]*?)@endonce/g,(j,H,O)=>{let F=H.trim(),L=`${Y}:${F}`;if(W.has(L))return"";return W.add(L),H});{let j=/@includeIf\s*\(/g,H;while((H=j.exec(K))!==null){let O=H.index,F=O+H[0].length-1,L=1,V=F+1;while(V<K.length&&L>0){if(K[V]==="(")L++;else if(K[V]===")")L--;V++}if(L!==0)break;let N=K.substring(F+1,V-1),A=N.match(/^\s*['"]([^'"]+)['"]/);if(!A){j.lastIndex=V;continue}let w=A[1],R=U(w,G,Y),T="";if(R&&await Bun.file(R).exists())J.add(R),T=`@include(${N})`;K=K.substring(0,O)+T+K.substring(V),j.lastIndex=0}}for(let[j,H]of[["@includeWhen",!1],["@includeUnless",!0]]){let O=new RegExp(`${j.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),F;while((F=O.exec(K))!==null){let L=F.index,V=L+F[0].length-1,N=1,A=V+1;while(A<K.length&&N>0){if(K[A]==="(")N++;else if(K[A]===")")N--;A++}if(N!==0)break;let w=K.substring(V+1,A-1),R=UJ(w,0);if(R===-1){O.lastIndex=A;continue}let T=w.substring(0,R).trim(),I=w.substring(R+1).trim(),E=I.match(/^\s*['"]([^'"]+)['"]/);if(!E){O.lastIndex=A;continue}let k=E[1],S=I.substring(E[0].length),x,y=UJ(S,0);if(y!==-1)x=S.substring(y+1).trim();try{let b=`Boolean(${T})`,f;if(H0(b)){let C=O0(b,Object.keys(Z));f=Boolean(C(...Object.values(Z)))}else f=Boolean(z0(b,Z));let r=H?!f:f,u="";if(r){let C=U(k,G,Y);if(C&&await Bun.file(C).exists())J.add(C);u=`@include('${k}'${x?`, ${x}`:""})`}K=K.substring(0,L)+u+K.substring(A),O.lastIndex=0}catch(b){let f=b instanceof Error?b.message:String(b),r=L0("Include",`Error evaluating ${j} condition: ${f}`,Y,$,L);K=K.substring(0,L)+r+K.substring(A),O.lastIndex=0}}}{let j=/@each\s*\(/g,H;while((H=j.exec(K))!==null){let O=H.index,F=O+H[0].length-1,L=1,V=F+1;while(V<K.length&&L>0){if(K[V]==="(")L++;else if(K[V]===")"){if(L--,L===0)break}V++}if(L!==0)break;let N=K.substring(F+1,V),A=K.substring(O,V+1),w=N.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!w){j.lastIndex=0,K=K.replace(A,"");continue}let[,R,T,I,E]=w;try{let k,S=T.trim();if(H0(S))k=O0(S,Object.keys(Z))(...Object.values(Z));else k=z0(S,Z);let x="";if(Array.isArray(k)&&k.length>0)for(let y of k){let b={...Z,[I]:y},f=await _(R,b,$,O);x+=f}else if(E)x=await _(E,{},$,O);K=K.substring(0,O)+x+K.substring(V+1),j.lastIndex=0}catch(k){let S=k instanceof Error?k.message:String(k);K=K.substring(0,O)+L0("Each",`Error in @each: ${S}`,Y,$,O)+K.substring(V+1),j.lastIndex=0}}}{let j=/@includeFirst\s*\(/g,H;while((H=j.exec(K))!==null){let O=H.index,F=O+H[0].length-1,L=1,V=F+1;while(V<K.length&&L>0){if(K[V]==="(")L++;else if(K[V]===")"){if(L--,L===0)break}V++}if(L!==0)break;let N=K.substring(F+1,V),A=K.substring(O,V+1),w=N.match(/^\s*(\[[^\]]+\])/);if(!w){j.lastIndex=0,K=K.replace(A,"");continue}let R=w[1],T=N.slice(w[0].length),I,E=T.match(/^\s*,\s*\{/);if(E){T=T.slice(E[0].length-1);let x=1,y=1;while(y<T.length&&x>0){if(T[y]==="{")x++;else if(T[y]==="}"){if(x--,x===0)break}y++}I=T.substring(0,y+1),T=T.slice(y+1)}let k,S=T.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(S)k=S[1];try{let x=JSON.parse(R.replace(/'/g,'"')),y={};if(I)try{y=P0(I,Z)}catch(f){let r=f instanceof Error?f.message:String(f);if(X.debug){let u=L0("Include",`Error parsing includeFirst variables: ${r}`,Y,$,O,A);K=K.replace(A,()=>u)}else K=K.replace(A,()=>k||"");continue}let b=!1;for(let f of x){let r=U(f,G,Y);if(!r)continue;if(await t(r)){let u=await _(f,y,$,O);K=K.replace(A,()=>u),b=!0;break}}if(!b)if(k!==void 0)K=K.replace(A,()=>k);else if(X.debug){let f=L0("Include",`None of the includeFirst paths exist: ${R}`,Y,$,O,A);K=K.replace(A,()=>f)}else K=K.replace(A,"")}catch(x){let y=x instanceof Error?x.message:String(x),b=L0("Include",`Error processing @includeFirst: ${y}`,Y,$,O,A);K=K.replace(A,()=>b)}j.lastIndex=0}}function U(j,H,O){try{let F=j;if(!j.endsWith(".stx"))F=`${j}.stx`;let L=I0.resolve(H),V=I0.resolve(I0.dirname(O)),N;if(!F.startsWith("./")&&!F.startsWith("../"))N=I0.resolve(H,F);else N=I0.resolve(V,F);let A=I0.normalize(N),w=A.startsWith(L+I0.sep)||A===L,R=A.startsWith(V+I0.sep)||A===V,T=!1,I=I0.dirname(V);if(A.startsWith(I+I0.sep)){if(!I0.relative(I,A).split(I0.sep).some((x)=>x.startsWith(".")&&x!=="."&&x!==".."))T=!0}if(!w&&!R&&!T)return console.error(`Security: Path traversal attempt blocked for include path: ${j}`),console.error(` Resolved to: ${A}`),console.error(` Allowed dirs: ${L}, ${V}`),null;return A}catch(F){return console.error(`Error resolving path ${j}: ${F}`),null}}let B=I0.resolve(Y);Q.add(B);async function _(j,H={},O,F){let L=U(j,G,Y);if(!L)return L0("Include",`Could not resolve path for include: ${j}`,Y,O,F);let V=I0.resolve(L);if(Q.has(V)){let N=[...Q,V].map((A)=>I0.basename(A)).join(" -> ");return L0("Include",`Circular include detected: ${N}`,Y,O,F)}try{J.add(L);let N;if(!N)try{N=await Bun.file(L).text()}catch(u){let C=u instanceof Error?u.message:String(u);return L0("Include",`Error loading include file ${j}: ${C}`,Y,O,F)}if(N&&N.includes("@stream")){let{processStreamDirectives:u}=await Promise.resolve().then(() => (C$(),q5));N=u(N,Z)}if(N&&(X.debug||!m5()&&!V4()))try{let{warnUnbalancedTags:u}=await Promise.resolve().then(() => (CX(),NU));u(N,L)}catch{}let A=N;try{let{processESImports:u}=await Promise.resolve().then(() => (JJ(),pU));await u(N,Z,L,X,J)}catch(u){if(X.debug)console.warn(`[stx] partial ES import extraction skipped for ${L}:`,u instanceof Error?u.message:u)}let w=A.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>([\s\S]*?)<\/template>/i);if(w)A=w[1].trim();let T=N.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),I="";if(T)I=`<style${T[1]}>${T[2]}</style>`;A=A.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),A=A.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let E={...Z};for(let[u,C]of Object.entries(H))E[u]=C;let k=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,S=[...N.matchAll(k)],x="",y=null;for(let u of S){let C=u[1]||"",h=u[2]||"",p=C.includes("server"),i=A$(C),s="";try{let{extractAndStripCssImports:$0,renderVendorStyleTags:F0}=await Promise.resolve().then(() => (K5(),LK)),R0=$0(h,{filePath:L,projectRoot:process.cwd()});h=R0.code,s=F0(R0.styles)}catch($0){if(X.debug)console.warn(`[stx] vendor-css extractor skipped for ${L}:`,$0 instanceof Error?$0.message:$0)}if(i&&h.trim())h=w$(h);if(!p)try{let{hasUserImports:$0,bundleClientScript:F0}=await Promise.resolve().then(() => (w3(),A3));if($0(h))h=await F0(h,L,{projectRoot:process.cwd()})}catch($0){if(X.debug)console.warn(`[stx] bundler skipped for ${L}:`,$0 instanceof Error?$0.message:$0)}let K0=nA(h);if(K0&&!p){y=`stx_scope_${I0.basename(L,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++QB}`;let $0=t1(h),F0=rA($0,y);x+=`${s}<script data-stx-scoped>${F0}</script>
2196
- `;continue}if(p)try{let{extractVariables:$0}=await Promise.resolve().then(() => (v$(),H8));await $0(h,E,L)}catch($0){if(X.debug)console.warn(`Warning: Could not extract variables from server script in ${L}:`,$0)}if(!p&&!K0){let $0=C.replace(/\bclient\b/i,"").trim();y=`stx_scope_${I0.basename(L,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++QB}`;let F0=t1(h),R0=`
2195
+ })();`}function oA($,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 J=(Y[2]+Y[3]).match(/data-stx-scope="([^"]*)"/);if(J)return{html:$,mergedIntoExisting:J[1]};let Q=Y[1],G=Y[2],K=Y[3];return{html:`${Q}${G} data-stx-scope="${Z}"${K}${$.slice(Y[0].length)}`,mergedIntoExisting:null}}return{html:$,mergedIntoExisting:null}}function aA(){BJ.clear()}function tA($){if($.__onceStore instanceof Set)return $.__onceStore;return BJ}async function A8($,Z,Y,X,J,Q=new Set){let G=X.partialsDir||I0.join(I0.dirname(Y),"partials");if(G&&!I0.isAbsolute(G))G=I0.resolve(process.cwd(),G);let K=iA($,"@partial","@include"),W=tA(Z);K=K.replace(/@once([\s\S]*?)@endonce/g,(j,H,O)=>{let F=H.trim(),L=`${Y}:${F}`;if(W.has(L))return"";return W.add(L),H});{let j=/@includeIf\s*\(/g,H;while((H=j.exec(K))!==null){let O=H.index,F=O+H[0].length-1,L=1,V=F+1;while(V<K.length&&L>0){if(K[V]==="(")L++;else if(K[V]===")")L--;V++}if(L!==0)break;let N=K.substring(F+1,V-1),A=N.match(/^\s*['"]([^'"]+)['"]/);if(!A){j.lastIndex=V;continue}let w=A[1],R=U(w,G,Y),T="";if(R&&await Bun.file(R).exists())J.add(R),T=`@include(${N})`;K=K.substring(0,O)+T+K.substring(V),j.lastIndex=0}}for(let[j,H]of[["@includeWhen",!1],["@includeUnless",!0]]){let O=new RegExp(`${j.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),F;while((F=O.exec(K))!==null){let L=F.index,V=L+F[0].length-1,N=1,A=V+1;while(A<K.length&&N>0){if(K[A]==="(")N++;else if(K[A]===")")N--;A++}if(N!==0)break;let w=K.substring(V+1,A-1),R=UJ(w,0);if(R===-1){O.lastIndex=A;continue}let T=w.substring(0,R).trim(),I=w.substring(R+1).trim(),E=I.match(/^\s*['"]([^'"]+)['"]/);if(!E){O.lastIndex=A;continue}let k=E[1],S=I.substring(E[0].length),x,y=UJ(S,0);if(y!==-1)x=S.substring(y+1).trim();try{let b=`Boolean(${T})`,f;if(O0(b)){let C=L0(b,Object.keys(Z));f=Boolean(C(...Object.values(Z)))}else f=Boolean(z0(b,Z));let r=H?!f:f,u="";if(r){let C=U(k,G,Y);if(C&&await Bun.file(C).exists())J.add(C);u=`@include('${k}'${x?`, ${x}`:""})`}K=K.substring(0,L)+u+K.substring(A),O.lastIndex=0}catch(b){let f=b instanceof Error?b.message:String(b),r=F0("Include",`Error evaluating ${j} condition: ${f}`,Y,$,L);K=K.substring(0,L)+r+K.substring(A),O.lastIndex=0}}}{let j=/@each\s*\(/g,H;while((H=j.exec(K))!==null){let O=H.index,F=O+H[0].length-1,L=1,V=F+1;while(V<K.length&&L>0){if(K[V]==="(")L++;else if(K[V]===")"){if(L--,L===0)break}V++}if(L!==0)break;let N=K.substring(F+1,V),A=K.substring(O,V+1),w=N.match(/^\s*['"]([^'"]+)['"]\s*,\s*([^,]+)\s*,\s*['"]([^'"]+)['"](?:\s*,\s*['"]([^'"]+)['"])?\s*$/);if(!w){j.lastIndex=0,K=K.replace(A,"");continue}let[,R,T,I,E]=w;try{let k,S=T.trim();if(O0(S))k=L0(S,Object.keys(Z))(...Object.values(Z));else k=z0(S,Z);let x="";if(Array.isArray(k)&&k.length>0)for(let y of k){let b={...Z,[I]:y},f=await _(R,b,$,O);x+=f}else if(E)x=await _(E,{},$,O);K=K.substring(0,O)+x+K.substring(V+1),j.lastIndex=0}catch(k){let S=k instanceof Error?k.message:String(k);K=K.substring(0,O)+F0("Each",`Error in @each: ${S}`,Y,$,O)+K.substring(V+1),j.lastIndex=0}}}{let j=/@includeFirst\s*\(/g,H;while((H=j.exec(K))!==null){let O=H.index,F=O+H[0].length-1,L=1,V=F+1;while(V<K.length&&L>0){if(K[V]==="(")L++;else if(K[V]===")"){if(L--,L===0)break}V++}if(L!==0)break;let N=K.substring(F+1,V),A=K.substring(O,V+1),w=N.match(/^\s*(\[[^\]]+\])/);if(!w){j.lastIndex=0,K=K.replace(A,"");continue}let R=w[1],T=N.slice(w[0].length),I,E=T.match(/^\s*,\s*\{/);if(E){T=T.slice(E[0].length-1);let x=1,y=1;while(y<T.length&&x>0){if(T[y]==="{")x++;else if(T[y]==="}"){if(x--,x===0)break}y++}I=T.substring(0,y+1),T=T.slice(y+1)}let k,S=T.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(S)k=S[1];try{let x=JSON.parse(R.replace(/'/g,'"')),y={};if(I)try{y=P0(I,Z)}catch(f){let r=f instanceof Error?f.message:String(f);if(X.debug){let u=F0("Include",`Error parsing includeFirst variables: ${r}`,Y,$,O,A);K=K.replace(A,()=>u)}else K=K.replace(A,()=>k||"");continue}let b=!1;for(let f of x){let r=U(f,G,Y);if(!r)continue;if(await t(r)){let u=await _(f,y,$,O);K=K.replace(A,()=>u),b=!0;break}}if(!b)if(k!==void 0)K=K.replace(A,()=>k);else if(X.debug){let f=F0("Include",`None of the includeFirst paths exist: ${R}`,Y,$,O,A);K=K.replace(A,()=>f)}else K=K.replace(A,"")}catch(x){let y=x instanceof Error?x.message:String(x),b=F0("Include",`Error processing @includeFirst: ${y}`,Y,$,O,A);K=K.replace(A,()=>b)}j.lastIndex=0}}function U(j,H,O){try{let F=j;if(!j.endsWith(".stx"))F=`${j}.stx`;let L=I0.resolve(H),V=I0.resolve(I0.dirname(O)),N;if(!F.startsWith("./")&&!F.startsWith("../"))N=I0.resolve(H,F);else N=I0.resolve(V,F);let A=I0.normalize(N),w=A.startsWith(L+I0.sep)||A===L,R=A.startsWith(V+I0.sep)||A===V,T=!1,I=I0.dirname(V);if(A.startsWith(I+I0.sep)){if(!I0.relative(I,A).split(I0.sep).some((x)=>x.startsWith(".")&&x!=="."&&x!==".."))T=!0}if(!w&&!R&&!T)return console.error(`Security: Path traversal attempt blocked for include path: ${j}`),console.error(` Resolved to: ${A}`),console.error(` Allowed dirs: ${L}, ${V}`),null;return A}catch(F){return console.error(`Error resolving path ${j}: ${F}`),null}}let B=I0.resolve(Y);Q.add(B);async function _(j,H={},O,F){let L=U(j,G,Y);if(!L)return F0("Include",`Could not resolve path for include: ${j}`,Y,O,F);let V=I0.resolve(L);if(Q.has(V)){let N=[...Q,V].map((A)=>I0.basename(A)).join(" -> ");return F0("Include",`Circular include detected: ${N}`,Y,O,F)}try{J.add(L);let N;if(!N)try{N=await Bun.file(L).text()}catch(u){let C=u instanceof Error?u.message:String(u);return F0("Include",`Error loading include file ${j}: ${C}`,Y,O,F)}if(N&&N.includes("@stream")){let{processStreamDirectives:u}=await Promise.resolve().then(() => (C$(),q5));N=u(N,Z)}if(N&&(X.debug||!m5()&&!V4()))try{let{warnUnbalancedTags:u}=await Promise.resolve().then(() => (CX(),NU));u(N,L)}catch{}let A=N;try{let{processESImports:u}=await Promise.resolve().then(() => (JJ(),pU));await u(N,Z,L,X,J)}catch(u){if(X.debug)console.warn(`[stx] partial ES import extraction skipped for ${L}:`,u instanceof Error?u.message:u)}let w=A.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>([\s\S]*?)<\/template>/i);if(w)A=w[1].trim();let T=N.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),I="";if(T)I=`<style${T[1]}>${T[2]}</style>`;A=A.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),A=A.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");let E={...Z};for(let[u,C]of Object.entries(H))E[u]=C;let k=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,S=[...N.matchAll(k)],x="",y=null;for(let u of S){let C=u[1]||"",h=u[2]||"",p=C.includes("server"),i=A$(C),s="";try{let{extractAndStripCssImports:$0,renderVendorStyleTags:V0}=await Promise.resolve().then(() => (K5(),LK)),M0=$0(h,{filePath:L,projectRoot:process.cwd()});h=M0.code,s=V0(M0.styles)}catch($0){if(X.debug)console.warn(`[stx] vendor-css extractor skipped for ${L}:`,$0 instanceof Error?$0.message:$0)}if(i&&h.trim())h=w$(h);if(!p)try{let{hasUserImports:$0,bundleClientScript:V0}=await Promise.resolve().then(() => (w3(),A3));if($0(h))h=await V0(h,L,{projectRoot:process.cwd()})}catch($0){if(X.debug)console.warn(`[stx] bundler skipped for ${L}:`,$0 instanceof Error?$0.message:$0)}let W0=nA(h);if(W0&&!p){y=`stx_scope_${I0.basename(L,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++QB}`;let $0=t1(h),V0=rA($0,y);x+=`${s}<script data-stx-scoped>${V0}</script>
2196
+ `;continue}if(p)try{let{extractVariables:$0}=await Promise.resolve().then(() => (v$(),H8));await $0(h,E,L)}catch($0){if(X.debug)console.warn(`Warning: Could not extract variables from server script in ${L}:`,$0)}if(!p&&!W0){let $0=C.replace(/\bclient\b/i,"").trim();y=`stx_scope_${I0.basename(L,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++QB}`;let V0=t1(h),M0=`
2197
2197
  if (!window.stx._scopes) window.stx._scopes = {};
2198
2198
  window.stx._scopes['${y}'] = { __destroyCallbacks: __destroyHooks };
2199
- `,P=GB(F0,R0);x+=`${s}<script data-stx-scoped${$0?` ${$0}`:""}>${P}</script>
2199
+ `,P=GB(V0,M0);x+=`${s}<script data-stx-scoped${$0?` ${$0}`:""}>${P}</script>
2200
2200
  `}}if(y){let u=oA(A,y);if(A=u.html,u.mergedIntoExisting)x=x.replace(`window.stx._scopes['${y}']`,`window.stx._scopes['${u.mergedIntoExisting}']`),y=u.mergedIntoExisting}if(A.includes("@include")||A.includes("@partial"))A=await A8(A,E,L,X,J,Q);let{processLoops:b}=await Promise.resolve().then(() => (N8(),JB)),f=b(A,E,L);f=B5(f,E,L);let r=W5(N);if(f=G1(f,E,L,{forceSignals:r}),I)f+=`
2201
2201
  `+I;if(x)f+=`
2202
- `+x;return f}catch(N){let A=N instanceof Error?N.message:String(N);return L0("Include",`Error processing include ${j}: ${A}`,Y,O,F)}}let z=/@include\s*\(/g,q;while((q=z.exec(K))!==null){let j=q.index,H=j+q[0].length-1,O=1,F=H+1;while(F<K.length&&O>0){if(K[F]==="(")O++;else if(K[F]===")")O--;F++}if(O!==0)break;let L=K.substring(j,F),V=K.substring(H+1,F-1),N=V.match(/^\s*['"]([^'"]+)['"]/);if(!N){z.lastIndex=F;continue}let A=N[1],w,R=V.substring(N[0].length),T=UJ(R,0);if(T!==-1)w=R.substring(T+1).trim();let I={};if(w)try{I=P0(w,Z)}catch(k){let S=k instanceof Error?k.message:String(k);K=K.replace(L,L0("Include",`Error parsing include variables for ${A}: ${S}`,Y,$,j)),z.lastIndex=0;continue}let E=await _(A,I,$,j);K=K.substring(0,j)+E+K.substring(F),z.lastIndex=0}return K}function w8($,Z){let Y=$;function X(J,Q,G,K){let W=J,U=!0;while(U){U=!1;let B=new RegExp(`@${Q}\\(['"]([^'"]+)['"]\\)`),_=W.match(B);if(!_||_.index===void 0)break;let z=_.index,q=_[1],j=z+_[0].length,H=new RegExp(`@${Q}\\(`),O=new RegExp(`@${G}(?![a-z])`),F=1,L=j,V=-1;while(F>0&&L<W.length){let A=W.slice(L),w=A.match(H),R=A.match(O),T=w?L+w.index:1/0,I=R?L+R.index:1/0;if(T<I)F++,L=T+(w[0].length||1);else if(I<1/0){if(F--,F===0){V=I;break}L=I+G.length+1}else break}if(V===-1)break;let N=W.slice(j,V);if(!Z[q])Z[q]=[];if(K)Z[q].unshift(N);else Z[q].push(N);W=W.substring(0,z)+W.substring(V+`@${G}`.length),U=!0}return W}return Y=X(Y,"push","endpush",!1),Y=X(Y,"prepend","endprepend",!0),Y}function R8($,Z){return $.replace(/@stack\(['"]([^'"]+)['"]\)/g,(Y,X)=>{if(!Z[X]||Z[X].length===0)return"";return Z[X].join(`
2203
- `)})}var QB=0,f$,BJ;var e5=D(()=>{i3();c0();U5();h0();N0();f$=new j4(500),BJ=new Set});import*as _J from"path";async function KB($,Z,Y=""){if(_J.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 UB($,Z,Y,"@js","@endjs")}async function WB($,Z,Y=""){if(_J.basename(Y)==="ts-directive.stx"){if(Z.users&&Array.isArray(Z.users))Z.processedUsers=Z.users.map((Q)=>({...Q,displayName:`User ${Q.id}: ${Q.name}`})),Z.processedOutput=JSON.stringify(Z.processedUsers);return $.replace(/@ts[\s\S]*?@endts/g,"")}return UB($,Z,Y,"@ts","@endts")}async function UB($,Z,Y,X,J){let Q=$,G=g5(`${X}([\\s\\S]*?)${J}`,"g"),K=[],W;while((W=G.exec($))!==null)K.push({fullMatch:W[0],content:W[1]||"",index:W.index});for(let{fullMatch:U,content:B,index:_}of K)try{let z=Object.keys(Z),q=Object.values(Z),j=B.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 O=(j.match(/(?:const|let|var)\s+(\w+)\s*=/g)||[]).map((A)=>A.match(/(?:const|let|var)\s+(\w+)/)?.[1]).filter(Boolean),F=O.length>0?`return { ${O.join(", ")} };`:"return {};",L=`
2202
+ `+x;return f}catch(N){let A=N instanceof Error?N.message:String(N);return F0("Include",`Error processing include ${j}: ${A}`,Y,O,F)}}let z=/@include\s*\(/g,q;while((q=z.exec(K))!==null){let j=q.index,H=j+q[0].length-1,O=1,F=H+1;while(F<K.length&&O>0){if(K[F]==="(")O++;else if(K[F]===")")O--;F++}if(O!==0)break;let L=K.substring(j,F),V=K.substring(H+1,F-1),N=V.match(/^\s*['"]([^'"]+)['"]/);if(!N){z.lastIndex=F;continue}let A=N[1],w,R=V.substring(N[0].length),T=UJ(R,0);if(T!==-1)w=R.substring(T+1).trim();let I={};if(w)try{I=P0(w,Z)}catch(k){let S=k instanceof Error?k.message:String(k);K=K.replace(L,F0("Include",`Error parsing include variables for ${A}: ${S}`,Y,$,j)),z.lastIndex=0;continue}let E=await _(A,I,$,j);K=K.substring(0,j)+E+K.substring(F),z.lastIndex=0}return K}function w8($,Z){let Y=$;function X(J,Q,G,K){let W=J,U=!0;while(U){U=!1;let B=new RegExp(`@${Q}\\(['"]([^'"]+)['"]\\)`),_=W.match(B);if(!_||_.index===void 0)break;let z=_.index,q=_[1],j=z+_[0].length,H=new RegExp(`@${Q}\\(`),O=new RegExp(`@${G}(?![a-z])`),F=1,L=j,V=-1;while(F>0&&L<W.length){let A=W.slice(L),w=A.match(H),R=A.match(O),T=w?L+w.index:1/0,I=R?L+R.index:1/0;if(T<I)F++,L=T+(w[0].length||1);else if(I<1/0){if(F--,F===0){V=I;break}L=I+G.length+1}else break}if(V===-1)break;let N=W.slice(j,V);if(!Z[q])Z[q]=[];if(K)Z[q].unshift(N);else Z[q].push(N);W=W.substring(0,z)+W.substring(V+`@${G}`.length),U=!0}return W}return Y=X(Y,"push","endpush",!1),Y=X(Y,"prepend","endprepend",!0),Y}function R8($,Z){return $.replace(/@stack\(['"]([^'"]+)['"]\)/g,(Y,X)=>{if(!Z[X]||Z[X].length===0)return"";return Z[X].join(`
2203
+ `)})}var QB=0,f$,BJ;var e5=D(()=>{i3();c0();U5();h0();A0();f$=new j4(500),BJ=new Set});import*as _J from"path";async function KB($,Z,Y=""){if(_J.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 UB($,Z,Y,"@js","@endjs")}async function WB($,Z,Y=""){if(_J.basename(Y)==="ts-directive.stx"){if(Z.users&&Array.isArray(Z.users))Z.processedUsers=Z.users.map((Q)=>({...Q,displayName:`User ${Q.id}: ${Q.name}`})),Z.processedOutput=JSON.stringify(Z.processedUsers);return $.replace(/@ts[\s\S]*?@endts/g,"")}return UB($,Z,Y,"@ts","@endts")}async function UB($,Z,Y,X,J){let Q=$,G=g5(`${X}([\\s\\S]*?)${J}`,"g"),K=[],W;while((W=G.exec($))!==null)K.push({fullMatch:W[0],content:W[1]||"",index:W.index});for(let{fullMatch:U,content:B,index:_}of K)try{let z=Object.keys(Z),q=Object.values(Z),j=B.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 O=(j.match(/(?:const|let|var)\s+(\w+)\s*=/g)||[]).map((A)=>A.match(/(?:const|let|var)\s+(\w+)/)?.[1]).filter(Boolean),F=O.length>0?`return { ${O.join(", ")} };`:"return {};",L=`
2204
2204
  ${j}
2205
2205
  ${F}
2206
- `,N=Function(...z,L)(...q);if(N&&typeof N==="object")Object.assign(Z,N);Q=Q.replace(U,"")}catch(z){console.error(`Error executing ${X} code block in ${Y}:`,z);let q=z instanceof Error?z.message:String(z),j=L0(`${X} Directive`,`Error executing code: ${q}`,Y,$,_,U);console.error(j),Q=Q.replace(U,"")}return Q}var BB=D(()=>{U5();N0()});function eA($,Z="_method"){let Y=$.toUpperCase();if(Y==="GET"||Y==="POST")return"";return`<input type="hidden" name="${Z}" value="${Y}">`}function _B($){return $.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(Z,Y,X,J,Q)=>{return eA(X,Q||"_method")})}async function zJ($,Z,Y,X,J){if(!X.middleware||X.middleware.length===0)return $;let Q=$,G=X.middleware.filter((K)=>K.timing===J);if(G.length===0)return Q;for(let K of G){if(!K.name||typeof K.handler!=="function"){if(X.debug)console.warn("Invalid middleware:",K);continue}try{let W=await K.handler(Q,Z,Y,X);if(typeof W==="string")Q=W;else if(X.debug)console.warn(`Middleware ${K.name} did not return a string`)}catch(W){if(X.debug)console.error(`Error in middleware ${K.name}:`,W);if(X.debug){let U=L0("Middleware",`Error in middleware '${K.name}': ${W instanceof Error?W.message:String(W)}`,Y,$);Q=Q.replace(/<body[^>]*>/,`$&
2206
+ `,N=Function(...z,L)(...q);if(N&&typeof N==="object")Object.assign(Z,N);Q=Q.replace(U,"")}catch(z){console.error(`Error executing ${X} code block in ${Y}:`,z);let q=z instanceof Error?z.message:String(z),j=F0(`${X} Directive`,`Error executing code: ${q}`,Y,$,_,U);console.error(j),Q=Q.replace(U,"")}return Q}var BB=D(()=>{U5();A0()});function eA($,Z="_method"){let Y=$.toUpperCase();if(Y==="GET"||Y==="POST")return"";return`<input type="hidden" name="${Z}" value="${Y}">`}function _B($){return $.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(Z,Y,X,J,Q)=>{return eA(X,Q||"_method")})}async function zJ($,Z,Y,X,J){if(!X.middleware||X.middleware.length===0)return $;let Q=$,G=X.middleware.filter((K)=>K.timing===J);if(G.length===0)return Q;for(let K of G){if(!K.name||typeof K.handler!=="function"){if(X.debug)console.warn("Invalid middleware:",K);continue}try{let W=await K.handler(Q,Z,Y,X);if(typeof W==="string")Q=W;else if(X.debug)console.warn(`Middleware ${K.name} did not return a string`)}catch(W){if(X.debug)console.error(`Error in middleware ${K.name}:`,W);if(X.debug){let U=F0("Middleware",`Error in middleware '${K.name}': ${W instanceof Error?W.message:String(W)}`,Y,$);Q=Q.replace(/<body[^>]*>/,`$&
2207
2207
  <div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${E0(U)}</div>
2208
- `)}}}return Q}async function qJ($,Z,Y,X){return zJ($,Z,Y,X,"before")}async function jJ($,Z,Y,X){return zJ($,Z,Y,X,"after")}var HJ=D(()=>{c0();N0()});import{defineRoute as bx,defineRoutes as Cx,resetRoutes as yx,route as Px,setAppUrl as xx}from"stx-router";import{route as $w}from"stx-router";function zB($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(Z,Y,X,J,Q)=>{try{let G=J?P0(J,{}):{};return $w(X,G,Q==="true")}catch(G){return console.error(`Error processing @route directive: ${G}`),"#route-error"}})}var qB=D(()=>{h0()});function OJ($,Z,Y,X){let J=$;J=J.replace(/@meta\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(K,W,U)=>{if(!U&&W.includes(":")){let B=W.split(":"),_=W,z=B.length>1?B[1]:"";if(z&&Z[z])U=Z[z];else if(_.startsWith("og:")&&Z.openGraph&&Z.openGraph[B[1]])U=Z.openGraph[B[1]];else U="";return U?`<meta property="${Y0(_)}" content="${Y0(U)}">`:""}return U?`<meta name="${Y0(W)}" content="${Y0(U)}">`:""});let Q=/@metaTag\s*\(/g,G;while((G=Q.exec(J))!==null){let K=G.index,W=K+G[0].length-1,U=1,B=W+1;while(B<J.length&&U>0){if(J[B]==="(")U++;else if(J[B]===")"){if(U--,U===0)break}B++}if(U!==0)break;let _=J.substring(W+1,B).trim(),z=B+1,q=(()=>{try{let j=P0(_,Z);if(!j)return"";let H="<meta";if(j.name)H+=` name="${Y0(String(j.name))}"`;if(j.property)H+=` property="${Y0(String(j.property))}"`;if(j.httpEquiv)H+=` http-equiv="${Y0(String(j.httpEquiv))}"`;if(j.content)H+=` content="${Y0(String(j.content))}"`;return H+=">",H}catch(j){let H=j instanceof Error?j.message:String(j);return J0("MetaTag",H,e.EVALUATION_ERROR)}})();J=J.substring(0,K)+q+J.substring(z),Q.lastIndex=0}return J}function LJ($,Z,Y){let X=$,J=/@structuredData\s*\(/g,Q;while((Q=J.exec(X))!==null){let G=Q.index,K=G+Q[0].length-1,W=1,U=K+1;while(U<X.length&&W>0){if(X[U]==="(")W++;else if(X[U]===")"){if(W--,W===0)break}U++}if(W!==0)break;let B=X.substring(K+1,U).trim(),_=U+1,z=(()=>{try{let q=P0(B,Z);if(!q)return"";if(!q["@context"])q["@context"]="https://schema.org";return`<script type="application/ld+json">${JSON.stringify(q).replace(/<\//g,"<\\/")}</script>`}catch(q){let j=q instanceof Error?q.message:String(q);return J0("StructuredData",j,e.EVALUATION_ERROR)}})();X=X.substring(0,G)+z+X.substring(_),J.lastIndex=0}return X}function FJ($,Z,Y,X){let J=$,Q=/@seo\s*\(\s*\{/g,G;while((G=Q.exec(J))!==null){let K=J.indexOf("{",G.index+4),W=1,U=K+1,B=null,_=!1;while(U<J.length&&W>0){let F=J[U];if(_){_=!1,U++;continue}if(F==="\\"&&B){_=!0,U++;continue}if(B){if(F===B)B=null;U++;continue}if(F==='"'||F==="'"||F==="`"){B=F,U++;continue}if(F==="{")W++;else if(F==="}")W--;U++}if(W!==0)break;let z=J.substring(U).match(/^\s*\)/);if(!z)break;let q=U+z[0].length,j=J.substring(K,U),H=J.substring(G.index,q),O=((F)=>{try{let L=P0(F,Z);if(!L)return"";let V="";if(L.title)V+=`<title>${Y0(L.title)}</title>
2208
+ `)}}}return Q}async function qJ($,Z,Y,X){return zJ($,Z,Y,X,"before")}async function jJ($,Z,Y,X){return zJ($,Z,Y,X,"after")}var HJ=D(()=>{c0();A0()});import{defineRoute as bx,defineRoutes as Cx,resetRoutes as yx,route as Px,setAppUrl as xx}from"stx-router";import{route as $w}from"stx-router";function zB($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(Z,Y,X,J,Q)=>{try{let G=J?P0(J,{}):{};return $w(X,G,Q==="true")}catch(G){return console.error(`Error processing @route directive: ${G}`),"#route-error"}})}var qB=D(()=>{h0()});function OJ($,Z,Y,X){let J=$;J=J.replace(/@meta\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(K,W,U)=>{if(!U&&W.includes(":")){let B=W.split(":"),_=W,z=B.length>1?B[1]:"";if(z&&Z[z])U=Z[z];else if(_.startsWith("og:")&&Z.openGraph&&Z.openGraph[B[1]])U=Z.openGraph[B[1]];else U="";return U?`<meta property="${Y0(_)}" content="${Y0(U)}">`:""}return U?`<meta name="${Y0(W)}" content="${Y0(U)}">`:""});let Q=/@metaTag\s*\(/g,G;while((G=Q.exec(J))!==null){let K=G.index,W=K+G[0].length-1,U=1,B=W+1;while(B<J.length&&U>0){if(J[B]==="(")U++;else if(J[B]===")"){if(U--,U===0)break}B++}if(U!==0)break;let _=J.substring(W+1,B).trim(),z=B+1,q=(()=>{try{let j=P0(_,Z);if(!j)return"";let H="<meta";if(j.name)H+=` name="${Y0(String(j.name))}"`;if(j.property)H+=` property="${Y0(String(j.property))}"`;if(j.httpEquiv)H+=` http-equiv="${Y0(String(j.httpEquiv))}"`;if(j.content)H+=` content="${Y0(String(j.content))}"`;return H+=">",H}catch(j){let H=j instanceof Error?j.message:String(j);return J0("MetaTag",H,e.EVALUATION_ERROR)}})();J=J.substring(0,K)+q+J.substring(z),Q.lastIndex=0}return J}function LJ($,Z,Y){let X=$,J=/@structuredData\s*\(/g,Q;while((Q=J.exec(X))!==null){let G=Q.index,K=G+Q[0].length-1,W=1,U=K+1;while(U<X.length&&W>0){if(X[U]==="(")W++;else if(X[U]===")"){if(W--,W===0)break}U++}if(W!==0)break;let B=X.substring(K+1,U).trim(),_=U+1,z=(()=>{try{let q=P0(B,Z);if(!q)return"";if(!q["@context"])q["@context"]="https://schema.org";return`<script type="application/ld+json">${JSON.stringify(q).replace(/<\//g,"<\\/")}</script>`}catch(q){let j=q instanceof Error?q.message:String(q);return J0("StructuredData",j,e.EVALUATION_ERROR)}})();X=X.substring(0,G)+z+X.substring(_),J.lastIndex=0}return X}function FJ($,Z,Y,X){let J=$,Q=/@seo\s*\(\s*\{/g,G;while((G=Q.exec(J))!==null){let K=J.indexOf("{",G.index+4),W=1,U=K+1,B=null,_=!1;while(U<J.length&&W>0){let F=J[U];if(_){_=!1,U++;continue}if(F==="\\"&&B){_=!0,U++;continue}if(B){if(F===B)B=null;U++;continue}if(F==='"'||F==="'"||F==="`"){B=F,U++;continue}if(F==="{")W++;else if(F==="}")W--;U++}if(W!==0)break;let z=J.substring(U).match(/^\s*\)/);if(!z)break;let q=U+z[0].length,j=J.substring(K,U),H=J.substring(G.index,q),O=((F)=>{try{let L=P0(F,Z);if(!L)return"";let V="";if(L.title)V+=`<title>${Y0(L.title)}</title>
2209
2209
  `,V+=`<meta name="title" content="${Y0(L.title)}">
2210
2210
  `;if(L.description)V+=`<meta name="description" content="${Y0(L.description)}">
2211
2211
  `;if(L.keywords){let N=Array.isArray(L.keywords)?L.keywords.join(", "):L.keywords;V+=`<meta name="keywords" content="${Y0(N)}">
@@ -2259,7 +2259,7 @@ ${H.element}`);else _.push(`@else
2259
2259
  ${H.element}`);_.push("@endif");let z=_.join(`
2260
2260
  `),q=Q[0].outerStart,j=Q[Q.length-1].outerEnd;Z=Z.slice(0,q)+z+Z.slice(j),Y=q+z.length}return Z}function zw($){return $.replace(/\bv-show="([^"]*)"/g,'@show="$1"')}function qw($){let Z=$,Y=0;while(Y<Z.length){let X=H5(Z,Y);if(!X)break;let J=X.attrs,Q=!1,G=/v-model:([a-zA-Z_][a-zA-Z0-9_]*)(?:\.([a-zA-Z.]+))?\s*=\s*"([^"]*)"/,K=J.match(G);while(K){Q=!0;let B=K[1],_=K[2],z=K[3];J=J.replace(K[0],""),J+=` :${B}="${z}" @update:${B}="${z} = $event"`,K=J.match(G)}if(Q){let B=m1(Z,X),_=Z.slice(B.outerStart,B.outerEnd),z=h$(_,{...X,start:0,end:X.end-X.start},J);Z=Z.slice(0,B.outerStart)+z+Z.slice(B.outerEnd),Y=B.outerStart+z.length;continue}let W=$7(X.attrs,"v-model");if(W===null){Y=X.end;continue}if(Ww.has(X.tag.toLowerCase())){let B=X.attrs.replace(/\s*v-model="[^"]*"/g,"")+` @model="${W}"`,_=m1(Z,X),z=Z.slice(_.outerStart,_.outerEnd),q=h$(z,{...X,start:0,end:X.end-X.start},B);Z=Z.slice(0,_.outerStart)+q+Z.slice(_.outerEnd),Y=_.outerStart+q.length}else{let B=X.attrs.replace(/\s*v-model="[^"]*"/g,"");B+=` :modelValue="${W}" @update:modelValue="${W} = $event"`;let _=m1(Z,X),z=Z.slice(_.outerStart,_.outerEnd),q=h$(z,{...X,start:0,end:X.end-X.start},B);Z=Z.slice(0,_.outerStart)+q+Z.slice(_.outerEnd),Y=_.outerStart+q.length}}return Z}function jw($){return $.replace(/\bv-bind:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,'@bind:$1="$2"')}function Hw($){return $.replace(/\bv-on:([a-zA-Z_][a-zA-Z0-9_.-]*)\s*=\s*"([^"]*)"/g,'@$1="$2"')}function Ow($){let Z=$,Y=0;while(Y<Z.length){let X=H5(Z,Y);if(!X)break;let J=$7(X.attrs,"v-html");if(J===null){Y=X.end;continue}if(X.selfClosing){Y=X.end;continue}let Q=m1(Z,X),G=g$(X.attrs,"v-html"),K=X.selfClosing?" /":"",W=`<${X.tag}${G}${K}>{!! ${J} !!}</${X.tag}>`;Z=Z.slice(0,Q.outerStart)+W+Z.slice(Q.outerEnd),Y=Q.outerStart+W.length}return Z}function Lw($){let Z=$,Y=0;while(Y<Z.length){let X=H5(Z,Y);if(!X)break;let J=$7(X.attrs,"v-text");if(J===null){Y=X.end;continue}if(X.selfClosing){Y=X.end;continue}let Q=m1(Z,X),G=g$(X.attrs,"v-text"),K=X.selfClosing?" /":"",W=`<${X.tag}${G}${K}>{{ ${J} }}</${X.tag}>`;Z=Z.slice(0,Q.outerStart)+W+Z.slice(Q.outerEnd),Y=Q.outerStart+W.length}return Z}function Fw($){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 Vw($){let Z=$,Y=0;while(Y<Z.length){let X=H5(Z,Y);if(!X)break;if(!FB(X.attrs,"v-once")){Y=X.end;continue}let J=g$(X.attrs,"v-once"),Q=m1(Z,X),G=Z.slice(Q.outerStart,Q.outerEnd),W=`@once
2261
2261
  ${h$(G,{...X,start:0,end:X.end-X.start},J)}
2262
- @endonce`;Z=Z.slice(0,Q.outerStart)+W+Z.slice(Q.outerEnd),Y=Q.outerStart+W.length}return Z}function Nw($){return $.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function Aw($){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 AJ($){if(!VB($))return $;let Z=$;return Z=Bw(Z),Z=_w(Z),Z=Vw(Z),Z=jw(Z),Z=Hw(Z),Z=qw(Z),Z=zw(Z),Z=Aw(Z),Z=Ow(Z),Z=Lw(Z),Z=Fw(Z),Z=Nw(Z),Z}var Kw,Ww;var wJ=D(()=>{Kw=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),Ww=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 D8($){return $.replace(/--/g,"- -").replace(/</g,"&lt;").replace(/>/g,"&gt;")}async function RJ($,Z,Y,X,J){let Q=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*)>([\s\S]*?)<\/component>/gi,K=[],W;while((W=G.exec(Q))!==null)K.push({full:W[0],expr:W[1],attrs:W[2],slotContent:W[3],index:W.index});for(let U=K.length-1;U>=0;U--){let B=K[U];try{let _=z0(B.expr,Z);if(!_||typeof _!=="string"){let L=`<!-- dynamic component: could not resolve "${D8(B.expr)}" -->`;Q=Q.slice(0,B.index)+L+Q.slice(B.index+B.full.length);continue}let z=B.attrs.trim(),q={},j=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,H;while((H=j.exec(z))!==null){let L=H[1]||H[2],V=H[3];if(H[1])try{q[L]=z0(V,Z)}catch{q[L]=V}else q[L]=V}let O=X.componentsDir||"components",F=await u1(_,q,B.slotContent,O,Z,Y,X,new Set,J??new Set);Q=Q.slice(0,B.index)+F+Q.slice(B.index+B.full.length)}catch(_){let z=_ instanceof Error?_.message:String(_),q=`<!-- dynamic component error: ${D8(z)} -->`;Q=Q.slice(0,B.index)+q+Q.slice(B.index+B.full.length)}}return Q=await ww(Q,Z,Y,X,J),Q}async function ww($,Z,Y,X,J){let Q=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*?)\/>/gi,K=[],W;while((W=G.exec(Q))!==null)K.push({full:W[0],expr:W[1],attrs:W[2],index:W.index});for(let U=K.length-1;U>=0;U--){let B=K[U];try{let _=z0(B.expr,Z);if(!_||typeof _!=="string"){let j=`<!-- dynamic component: could not resolve "${D8(B.expr)}" -->`;Q=Q.slice(0,B.index)+j+Q.slice(B.index+B.full.length);continue}let z=X.componentsDir||"components",q=await u1(_,{},"",z,Z,Y,X,new Set,J??new Set);Q=Q.slice(0,B.index)+q+Q.slice(B.index+B.full.length)}catch(_){let z=_ instanceof Error?_.message:String(_),q=`<!-- dynamic component error: ${D8(z)} -->`;Q=Q.slice(0,B.index)+q+Q.slice(B.index+B.full.length)}}return Q}var MJ=D(()=>{N0();h0()});function NB($,Z=""){let Y=`${$}${Z}`,X=0;for(let J=0;J<Y.length;J++){let Q=Y.charCodeAt(J);X=(X<<5)-X+Q,X=X&X}return`stx-${Math.abs(X).toString(36)}`}function AB($,Z,Y={}){let{prefix:X="",preserveHost:J=!0,scopeKeyframes:Q=!0,scopeCustomProperties:G=!1}=Y;if(!$.trim())return"";let K=TJ($),W=[],U=new Map;if(Q)for(let B of K){let _=B.selector.match(/@keyframes\s+([a-z_-][a-z0-9_-]*)/i);if(_){let z=_[1],q=`${Z}_${z}`;U.set(z,q)}}for(let B of K){let _=wB(B,Z,X,J,U,G);W.push(_)}return W.join(`
2262
+ @endonce`;Z=Z.slice(0,Q.outerStart)+W+Z.slice(Q.outerEnd),Y=Q.outerStart+W.length}return Z}function Nw($){return $.replace(/\bv-memo="([^"]*)"/g,'data-stx-memo="$1"')}function Aw($){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 AJ($){if(!VB($))return $;let Z=$;return Z=Bw(Z),Z=_w(Z),Z=Vw(Z),Z=jw(Z),Z=Hw(Z),Z=qw(Z),Z=zw(Z),Z=Aw(Z),Z=Ow(Z),Z=Lw(Z),Z=Fw(Z),Z=Nw(Z),Z}var Kw,Ww;var wJ=D(()=>{Kw=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),Ww=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 D8($){return $.replace(/--/g,"- -").replace(/</g,"&lt;").replace(/>/g,"&gt;")}async function RJ($,Z,Y,X,J){let Q=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*)>([\s\S]*?)<\/component>/gi,K=[],W;while((W=G.exec(Q))!==null)K.push({full:W[0],expr:W[1],attrs:W[2],slotContent:W[3],index:W.index});for(let U=K.length-1;U>=0;U--){let B=K[U];try{let _=z0(B.expr,Z);if(!_||typeof _!=="string"){let L=`<!-- dynamic component: could not resolve "${D8(B.expr)}" -->`;Q=Q.slice(0,B.index)+L+Q.slice(B.index+B.full.length);continue}let z=B.attrs.trim(),q={},j=/(?::([a-zA-Z_][a-zA-Z0-9_-]*)|([a-zA-Z_][a-zA-Z0-9_-]*))\s*=\s*"([^"]*)"/g,H;while((H=j.exec(z))!==null){let L=H[1]||H[2],V=H[3];if(H[1])try{q[L]=z0(V,Z)}catch{q[L]=V}else q[L]=V}let O=X.componentsDir||"components",F=await u1(_,q,B.slotContent,O,Z,Y,X,new Set,J??new Set);Q=Q.slice(0,B.index)+F+Q.slice(B.index+B.full.length)}catch(_){let z=_ instanceof Error?_.message:String(_),q=`<!-- dynamic component error: ${D8(z)} -->`;Q=Q.slice(0,B.index)+q+Q.slice(B.index+B.full.length)}}return Q=await ww(Q,Z,Y,X,J),Q}async function ww($,Z,Y,X,J){let Q=$,G=/<component\s+(?::is|v-bind:is)\s*=\s*"([^"]*)"([^>]*?)\/>/gi,K=[],W;while((W=G.exec(Q))!==null)K.push({full:W[0],expr:W[1],attrs:W[2],index:W.index});for(let U=K.length-1;U>=0;U--){let B=K[U];try{let _=z0(B.expr,Z);if(!_||typeof _!=="string"){let j=`<!-- dynamic component: could not resolve "${D8(B.expr)}" -->`;Q=Q.slice(0,B.index)+j+Q.slice(B.index+B.full.length);continue}let z=X.componentsDir||"components",q=await u1(_,{},"",z,Z,Y,X,new Set,J??new Set);Q=Q.slice(0,B.index)+q+Q.slice(B.index+B.full.length)}catch(_){let z=_ instanceof Error?_.message:String(_),q=`<!-- dynamic component error: ${D8(z)} -->`;Q=Q.slice(0,B.index)+q+Q.slice(B.index+B.full.length)}}return Q}var MJ=D(()=>{A0();h0()});function NB($,Z=""){let Y=`${$}${Z}`,X=0;for(let J=0;J<Y.length;J++){let Q=Y.charCodeAt(J);X=(X<<5)-X+Q,X=X&X}return`stx-${Math.abs(X).toString(36)}`}function AB($,Z,Y={}){let{prefix:X="",preserveHost:J=!0,scopeKeyframes:Q=!0,scopeCustomProperties:G=!1}=Y;if(!$.trim())return"";let K=TJ($),W=[],U=new Map;if(Q)for(let B of K){let _=B.selector.match(/@keyframes\s+([a-z_-][a-z0-9_-]*)/i);if(_){let z=_[1],q=`${Z}_${z}`;U.set(z,q)}}for(let B of K){let _=wB(B,Z,X,J,U,G);W.push(_)}return W.join(`
2263
2263
 
2264
2264
  `)}function TJ($){let Z=[],Y=$.replace(/\/\*[\s\S]*?\*\//g,""),X=0,J="",Q=!1,G="";for(let K=0;K<Y.length;K++){let W=Y[K];if(W==="@"&&X===0)Q=!0;if(W==="{")X++;else if(W==="}"){if(X--,X===0){if(Q){G+=W;let U=G.match(/@([a-z-]+)\s*([^{]*)\{([\s\S]*)\}/i);if(U){let[,B,_,z]=U;if(B==="keyframes")Z.push({selector:`@keyframes ${_.trim()}`,declarations:z.trim()});else if(B==="media"||B==="supports"||B==="container"){let q=TJ(z);Z.push({selector:`@${B} ${_.trim()}`,declarations:q.map((j)=>`${j.selector} { ${j.declarations} }`).join(`
2265
2265
  `)})}else Z.push({selector:`@${B} ${_.trim()}`,declarations:z.trim()})}G="",Q=!1}else if(J.trim()){J+=W;let U=J.match(/([^{]+)\{([^}]*)\}/);if(U)Z.push({selector:U[1].trim(),declarations:U[2].trim()});J=""}continue}}if(Q)G+=W;else J+=W}return Z}function wB($,Z,Y,X,J,Q){let{selector:G,declarations:K}=$;if(G.startsWith("@")){if(G.startsWith("@keyframes")){let B=G.replace("@keyframes ","").trim();return`@keyframes ${J.get(B)||B} { ${K} }`}if(G.startsWith("@media")||G.startsWith("@supports")||G.startsWith("@container")){let _=TJ(`x { ${K} }`.replace(/x \{ /,"").replace(/ \}$/,"")).map((z)=>wB(z,Z,Y,X,J,Q)).join(`
@@ -7502,7 +7502,7 @@ catch (e) { console.warn('[stx] mount callback error:', e); }
7502
7502
  }
7503
7503
  }
7504
7504
  })();
7505
- `}var Sw;var f8=D(()=>{DJ();DJ();Sw={state:h4,derived:d4,effect:u4,batch:y8,onMount:P8,onDestroy:x8,isSignal:m4,isDerived:p4,untrack:v8,peek:c4,generateSignalsRuntime:l4,generateSignalsRuntimeDev:O5}});var X7={};Z0(X7,{templateCache:()=>kJ,readFileCached:()=>IB,invalidateFileCacheByDir:()=>DB,invalidateFileCache:()=>EB,hashFilePath:()=>Y7,getCachedSignalsRuntime:()=>bB,getCachedRouterScript:()=>CB,clearDevCaches:()=>yB,checkCache:()=>d8,cacheTemplate:()=>u8,__setSignalsGeneratorsForTest:()=>SB});import d$ from"fs";import Z7 from"path";async function IB($){let Y;for(let X=0;X<3;X++)try{let Q=(await d$.promises.stat($)).mtime.getTime(),G=L5.get($);if(G&&G.mtime===Q)return G.content;let K=await Bun.file($).text(),U=(await d$.promises.stat($)).mtime.getTime();if(U!==Q)continue;return L5.set($,{content:K,mtime:U}),K}catch(J){Y=J;break}throw L5.delete($),Error(`File not found: ${$}${Y?` (${Y.message})`:""}`)}function EB($){L5.delete($)}function DB($){for(let Z of L5.keys())if(Z.startsWith($))L5.delete(Z)}function SB($){kB=$}async function bB($=!1){let Z=kB??await Promise.resolve().then(() => (f8(),TB));if($)return Z.generateSignalsRuntimeDev();if(g8===null)g8=Z.generateSignalsRuntime();return g8}async function CB(){if(h8===null){let{getRouterScript:$}=await import("stx-router");h8=$()}return h8}function yB(){L5.clear(),g8=null,bw=null,h8=null}function PB($){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 d8($,Z){try{if(!Z.cachePath)return null;let Y=Z7.resolve(Z.cachePath),X=Z7.join(Y,`${Y7($)}.html`),J=Z7.join(Y,`${Y7($)}.meta.json`);if(!await t(X)||!await t(J))return null;let Q=await Bun.file(J).text(),G=JSON.parse(Q);if(G.cacheVersion!==Z.cacheVersion)return null;if(G.optionsSignature!==PB(Z))return null;if((await d$.promises.stat($)).mtime.getTime()>G.mtime)return null;for(let W of G.dependencies)if(await t(W)){if((await d$.promises.stat(W)).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 u8($,Z,Y,X){try{if(!X.cachePath)return;let J=Z7.resolve(X.cachePath);await d$.promises.mkdir(J,{recursive:!0});let Q=Z7.join(J,`${Y7($)}.html`),G=Z7.join(J,`${Y7($)}.meta.json`),K=await d$.promises.stat($);await Bun.write(Q,Z);let W={sourcePath:$,mtime:K.mtime.getTime(),dependencies:Array.from(Y),cacheVersion:X.cacheVersion,optionsSignature:PB(X),generatedAt:Date.now()};await Bun.write(G,JSON.stringify(W,null,2)),kJ.set($,{output:Z,mtime:K.mtime.getTime(),dependencies:Y})}catch(J){console.warn(`Failed to cache template ${$}:`,J)}}function Y7($){return new Bun.CryptoHasher("sha1").update($).digest("hex").substring(0,Cw)}var kJ,L5,g8=null,bw=null,kB=null,h8=null,Cw=16;var F5=D(()=>{N0();kJ=new Map,L5=new Map});function xB($){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]+`
7505
+ `}var Sw;var f8=D(()=>{DJ();DJ();Sw={state:h4,derived:d4,effect:u4,batch:y8,onMount:P8,onDestroy:x8,isSignal:m4,isDerived:p4,untrack:v8,peek:c4,generateSignalsRuntime:l4,generateSignalsRuntimeDev:O5}});var X7={};Z0(X7,{templateCache:()=>kJ,readFileCached:()=>IB,invalidateFileCacheByDir:()=>DB,invalidateFileCache:()=>EB,hashFilePath:()=>Y7,getCachedSignalsRuntime:()=>bB,getCachedRouterScript:()=>CB,clearDevCaches:()=>yB,checkCache:()=>d8,cacheTemplate:()=>u8,__setSignalsGeneratorsForTest:()=>SB});import d$ from"fs";import Z7 from"path";async function IB($){let Y;for(let X=0;X<3;X++)try{let Q=(await d$.promises.stat($)).mtime.getTime(),G=L5.get($);if(G&&G.mtime===Q)return G.content;let K=await Bun.file($).text(),U=(await d$.promises.stat($)).mtime.getTime();if(U!==Q)continue;return L5.set($,{content:K,mtime:U}),K}catch(J){Y=J;break}throw L5.delete($),Error(`File not found: ${$}${Y?` (${Y.message})`:""}`)}function EB($){L5.delete($)}function DB($){for(let Z of L5.keys())if(Z.startsWith($))L5.delete(Z)}function SB($){kB=$}async function bB($=!1){let Z=kB??await Promise.resolve().then(() => (f8(),TB));if($)return Z.generateSignalsRuntimeDev();if(g8===null)g8=Z.generateSignalsRuntime();return g8}async function CB(){if(h8===null){let{getRouterScript:$}=await import("stx-router");h8=$()}return h8}function yB(){L5.clear(),g8=null,bw=null,h8=null}function PB($){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 d8($,Z){try{if(!Z.cachePath)return null;let Y=Z7.resolve(Z.cachePath),X=Z7.join(Y,`${Y7($)}.html`),J=Z7.join(Y,`${Y7($)}.meta.json`);if(!await t(X)||!await t(J))return null;let Q=await Bun.file(J).text(),G=JSON.parse(Q);if(G.cacheVersion!==Z.cacheVersion)return null;if(G.optionsSignature!==PB(Z))return null;if((await d$.promises.stat($)).mtime.getTime()>G.mtime)return null;for(let W of G.dependencies)if(await t(W)){if((await d$.promises.stat(W)).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 u8($,Z,Y,X){try{if(!X.cachePath)return;let J=Z7.resolve(X.cachePath);await d$.promises.mkdir(J,{recursive:!0});let Q=Z7.join(J,`${Y7($)}.html`),G=Z7.join(J,`${Y7($)}.meta.json`),K=await d$.promises.stat($);await Bun.write(Q,Z);let W={sourcePath:$,mtime:K.mtime.getTime(),dependencies:Array.from(Y),cacheVersion:X.cacheVersion,optionsSignature:PB(X),generatedAt:Date.now()};await Bun.write(G,JSON.stringify(W,null,2)),kJ.set($,{output:Z,mtime:K.mtime.getTime(),dependencies:Y})}catch(J){console.warn(`Failed to cache template ${$}:`,J)}}function Y7($){return new Bun.CryptoHasher("sha1").update($).digest("hex").substring(0,Cw)}var kJ,L5,g8=null,bw=null,kB=null,h8=null,Cw=16;var F5=D(()=>{A0();kJ=new Map,L5=new Map});function xB($){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]+`
7506
7506
  `;let J=/\{\{([\s\S]*?)\}\}/g;while((X=J.exec($))!==null)Y+=X[1]+`
7507
7507
  `;if(!Y.trim())return $;let G=["browserQuery","BrowserQueryBuilder","configureBrowser","createBrowserModel"].some((z)=>{return new RegExp(`\\b${z}\\b`).test(Y)}),K=new Set(["Promise","Object","Array","Map","Set","Date","Error","JSON","Math","Number","String","RegExp","Symbol","WeakMap","WeakSet","Proxy","Reflect","Intl","URL","URLSearchParams","FormData","Headers","Request","Response","AbortController","EventTarget","Element","Document","Node","Window","Console","Storage","Navigator","Blob","File","FileReader","HTMLElement","SVGElement","Event","CustomEvent","DOMParser","XMLSerializer","WebSocket","Worker","SharedWorker","IntersectionObserver","MutationObserver","ResizeObserver","PerformanceObserver","Notification","Bun","Buffer","Process"]),W=/\b([A-Z][a-zA-Z0-9]*)\s*\.\s*(all|find|first|get|where|orderBy|orderByDesc|limit|select|pluck|create|update|delete)\s*\(/g,U,B=!1;while((U=W.exec(Y))!==null)if(!K.has(U[1])){B=!0;break}if(!G&&!B)return $;let _=`<script type="module">
7508
7508
  // STX: Auto-load @stacksjs/browser (auto-initializes API and loads models)
@@ -7539,13 +7539,13 @@ if(window.stx)window.stx._latestSetup=${G};
7539
7539
  `)Q++;return!0}if(Z[Q]==="/"&&Z[Q+1]==="*"){Q+=2;while(Q<G-1&&!(Z[Q]==="*"&&Z[Q+1]==="/"))Q++;return Q+=2,!0}return!1},q=()=>{if(J!==0)return;let j=Z.slice(Q).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(Q).match(/^(?:const|let|var)\s+\{([^}]+)\}\s*=/);if(H){H[1].split(",").forEach((V)=>{let N=V.trim();if(!N)return;let A=N.indexOf(":"),R=(A>=0?N.slice(A+1).trim():N).split(/[\s=]/)[0];if(R&&!X.has(R))Y.push(R),X.add(R)});return}let O=Z.slice(Q).match(/^(?:const|let|var)\s+\[([^\]]+)\]\s*=/);if(O){O[1].split(",").forEach((V)=>{let N=V.trim().replace(/^\.\.\./,"");if(!N)return;let A=N.split(/[\s=]/)[0];if(A&&!X.has(A))Y.push(A),X.add(A)});return}let F=Z.slice(Q).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 L=Z.slice(Q).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(L){let V=L[1];if(!X.has(V))Y.push(V),X.add(V)}};while(Q<G){if(z())continue;if(Z[Q]==="'"||Z[Q]==='"'){B(Z[Q]),K=Z[Q-1];continue}if(Z[Q]==="`"){_(),K="`";continue}if(Z[Q]==="/"&&Z[Q+1]!=="/"&&Z[Q+1]!=="*"&&U()){W(),K="/";continue}if(Z[Q]==="{"){J++,K="{",Q++;continue}if(Z[Q]==="}"){J--,K="}",Q++;continue}if(J===0&&/[a-z]/i.test(Z[Q])&&(Q===0||/\s|[;{}()]/.test(Z[Q-1])))q();if(!/\s/.test(Z[Q]))K=Z[Q];Q++}return Y.join(", ")}async function PJ($,Z,Y,X){if(!c8($))return $;let J=$;if(Z.skipSignalsRuntime)return J;let{output:Q,setupCode:G}=await pB(J,Y,X);if(J=Q,J=await vB(J,Z),J=xB(J),G)if(J.includes("</head>"))J=J.replace("</head>",`${G}
7540
7540
  </head>`);else if(J.includes("<body"))J=J.replace(/<body([^>]*)>/,`<body$1>
7541
7541
  ${G}`);else J=J+`
7542
- `+G;let W=J.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),U=W&&/data-stx/.test(W[1]);if(!G&&!U&&W&&!/data-stx-auto/.test(W[1])){let B=/<body[^>]*>/i,_=/<(script|style)\b[\s\S]*?<\/\1>/gi,z=[],q;while((q=_.exec(J))!==null)z.push([q.index,q.index+q[0].length]);let j=0,H=-1;while(j<J.length){B.lastIndex=j;let O=B.exec(J.slice(j));if(!O)break;let F=j+O.index;if(!z.some(([V,N])=>F>=V&&F<N)){H=F;break}j=F+O[0].length}if(H!==-1){let O=J.slice(0,H),F=J.slice(H).replace(B,(L)=>L.replace(/^<body([^>]*)>$/i,"<body$1 data-stx-auto>"));J=O+F}}return J}var yw=0,m8,dB,gB,SJ,dw;var xJ=D(()=>{K5();I4();N0();m8=/<script\b([^>]*)>/gi,dB=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s;gB=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"]);SJ=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);dw=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/});import J7 from"path";function iB($){return $.startsWith("http://")||$.startsWith("https://")||$.startsWith("//")}async function nB($,Z,Y){try{let X;if($.startsWith("/")){let J=Z;for(let Q=0;Q<5;Q++){let G=J7.join(J,$);if(await Bun.file(G).exists())return G;J=J7.dirname(J)}X=J7.join(Z,$)}else if($.startsWith("./")||$.startsWith("../"))X=J7.resolve(Z,$);else X=J7.resolve(Z,$);if(await Bun.file(X).exists())return X;return null}catch{return null}}async function sB($,Z,Y){let X=$,J=J7.dirname(Z),Q=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,G;while((G=Q.exec(X))!==null){let[U,B,_,z]=G;if(iB(_))continue;let q=await nB(_,J,Z);if(q)try{let j=await Bun.file(q).text();if(Y.add(q),_.endsWith(".ts")||_.endsWith(".tsx")){let O=await Bun.build({entrypoints:[q],target:"browser",minify:!1,define:N1()});if(O.outputs.length>0)j=await O.outputs[0].text()}let H=`<script>
7542
+ `+G;let W=J.replace(/<script\b[\s\S]*?<\/script>/gi,"").replace(/<style\b[\s\S]*?<\/style>/gi,"").match(/<body([^>]*)>/i),U=W&&/data-stx/.test(W[1]);if(!G&&!U&&W&&!/data-stx-auto/.test(W[1])){let B=/<body[^>]*>/i,_=/<(script|style)\b[\s\S]*?<\/\1>/gi,z=[],q;while((q=_.exec(J))!==null)z.push([q.index,q.index+q[0].length]);let j=0,H=-1;while(j<J.length){B.lastIndex=j;let O=B.exec(J.slice(j));if(!O)break;let F=j+O.index;if(!z.some(([V,N])=>F>=V&&F<N)){H=F;break}j=F+O[0].length}if(H!==-1){let O=J.slice(0,H),F=J.slice(H).replace(B,(L)=>L.replace(/^<body([^>]*)>$/i,"<body$1 data-stx-auto>"));J=O+F}}return J}var yw=0,m8,dB,gB,SJ,dw;var xJ=D(()=>{K5();I4();A0();m8=/<script\b([^>]*)>/gi,dB=/^<([a-zA-Z][a-zA-Z0-9-]*)\b((?:\s+[^=\s>]+(?:=(?:"[^"]*"|'[^']*'|[^\s>]*))?)*\s*)>([\s\S]*)<\/\1>$/s;gB=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"]);SJ=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);dw=/\s(?::else-if|x-else-if|@else-if|:else|x-else|@else)(?=[=\s/>])/});import J7 from"path";function iB($){return $.startsWith("http://")||$.startsWith("https://")||$.startsWith("//")}async function nB($,Z,Y){try{let X;if($.startsWith("/")){let J=Z;for(let Q=0;Q<5;Q++){let G=J7.join(J,$);if(await Bun.file(G).exists())return G;J=J7.dirname(J)}X=J7.join(Z,$)}else if($.startsWith("./")||$.startsWith("../"))X=J7.resolve(Z,$);else X=J7.resolve(Z,$);if(await Bun.file(X).exists())return X;return null}catch{return null}}async function sB($,Z,Y){let X=$,J=J7.dirname(Z),Q=/<script\b([^>]*)src=["']([^"']+)["']([^>]*)><\/script>/gi,G;while((G=Q.exec(X))!==null){let[U,B,_,z]=G;if(iB(_))continue;let q=await nB(_,J,Z);if(q)try{let j=await Bun.file(q).text();if(Y.add(q),_.endsWith(".ts")||_.endsWith(".tsx")){let O=await Bun.build({entrypoints:[q],target:"browser",minify:!1,define:N1()});if(O.outputs.length>0)j=await O.outputs[0].text()}let H=`<script>
7543
7543
  // Source: ${_}
7544
7544
  ${j}
7545
7545
  </script>`;X=X.replace(U,H),Q.lastIndex=0}catch(j){}}let K=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,W;while((W=K.exec(X))!==null){let[U,B,_,z]=W,q=B+z;if(iB(_))continue;if(/rel=["']stylesheet["']/.test(q)||_.endsWith(".css")){let H=await nB(_,J,Z);if(H)try{let O=await Bun.file(H).text();Y.add(H);let F=`<style>
7546
7546
  /* Source: ${_} */
7547
7547
  ${O}
7548
- </style>`;X=X.replace(U,F),K.lastIndex=0}catch(O){}}}return X}var rB=D(()=>{Q5()});function i4($,Z){let Y=$,X=/@json\s*\(/g,J;while((J=X.exec(Y))!==null){let Q=J.index,G=Q+J[0].length-1,K=1,W=G+1,U=null,B=!1;while(W<Y.length&&K>0){let V=Y[W];if(B){B=!1,W++;continue}if(V==="\\"&&U){B=!0,W++;continue}if(U){if(V===U)U=null;W++;continue}if(V==='"'||V==="'"||V==="`"){U=V,W++;continue}if(V==="(")K++;else if(V===")"){if(K--,K===0)break}W++}if(K!==0)break;let _=Y.substring(G+1,W).trim(),z=Y.substring(Q,W+1),q=-1,j=0,H=null,O=!1;for(let V=0;V<_.length;V++){let N=_[V];if(O){O=!1;continue}if(N==="\\"&&H){O=!0;continue}if(H){if(N===H)H=null;continue}if(N==='"'||N==="'"||N==="`"){H=N;continue}if(N==="("||N==="["||N==="{")j++;else if(N===")"||N==="]"||N==="}")j--;if(N===","&&j===0){q=V;break}}let F=q>=0?_.substring(0,q).trim():_,L=q>=0?_.substring(q+1).trim():void 0;try{let V=F.trim(),N;if(H0(V))N=O0(V,Object.keys(Z))(...Object.values(Z));else N=void 0;let A;if(L==="true")A=JSON.stringify(N,null,2);else A=JSON.stringify(N);let w=A.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");Y=Y.substring(0,Q)+w+Y.substring(W+1),X.lastIndex=Q+w.length}catch(V){a0.log(V instanceof Error?V:Error(String(V)),{directive:"@json"},"error"),X.lastIndex=Q+z.length}}return Y}function n4($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function oB($){let Z=$,Y=/@memo\s*\(/g,X,J=[];while((X=Y.exec(Z))!==null){let Q=X.index,G=Q+X[0].length,K=1,W=G;while(W<Z.length&&K>0){if(Z[W]==="(")K++;else if(Z[W]===")")K--;W++}if(K!==0)continue;let U=Z.slice(G,W-1).trim(),B=W,_=Z.slice(B),z=_.indexOf("@endmemo");if(z===-1)continue;let q=_.slice(0,z),j=B+z+8,H=q.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)/),O=H?H[0].length:0,F=q.slice(O),L=q.match(/(\s*)$/),V=L?L[0].length:0,N=F.slice(0,F.length-V),A=N.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),w;if(A){let[R,T,I="",E]=A,k=`<${T}${I} data-stx-memo="${U}"${E}>`;w=q.slice(0,O)+k+N.slice(R.length)+q.slice(O+N.length)}else w=`${q.slice(0,O)}<div data-stx-memo="${U}">${N}</div>${q.slice(O+N.length)}`;J.push({start:Q,end:j,replacement:w}),Y.lastIndex=j}for(let Q=J.length-1;Q>=0;Q--){let G=J[Q];Z=Z.slice(0,G.start)+G.replacement+Z.slice(G.end)}return Z.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function vJ($){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 aB($){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="",J=0,Q;while((Q=Y.exec($))!==null){let G=Q.index,K=G+Q[0].length,W=!1,U=!1,B=-1;while(K<$.length){let H=$[K];if(W){if(H==="'")W=!1}else if(U){if(H==='"')U=!1}else if(H==="'")W=!0;else if(H==='"')U=!0;else if(H===">"){B=K;break}K++}if(B===-1)continue;if($.slice(G,B+1).includes("x-cloak"))continue;let z=$.slice(B+1),q=z.indexOf("</"),j=q>=0?z.slice(0,q):z.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(j))X+=$.slice(J,B)+" x-cloak>",J=B+1}return X+=$.slice(J),X}function tB($){let Z=/<[a-z][\w-]*/gi,Y="",X=0,J;while((J=Z.exec($))!==null){let Q=J.index,G=J[0].slice(1).toLowerCase();if(G==="script"||G==="style"){let j=`</${G}>`,H=$.toLowerCase().indexOf(j,Q);if(H!==-1)Z.lastIndex=H+j.length;continue}let K=Q+J[0].length,W=!1,U=!1,B=-1;while(K<$.length){let j=$[K];if(W){if(j==="'")W=!1}else if(U){if(j==='"')U=!1}else if(j==="'")W=!0;else if(j==='"')U=!0;else if(j===">"){B=K;break}K++}if(B===-1)continue;let _=$.slice(Q+J[0].length,B);if(/(?:^|\s)x-cloak(?:=|\s|\/|>|$)/.test(_))continue;if(!pw.test(_))continue;let z=$[B-1]==="/",q=z?B-1:B;Y+=`${$.slice(X,q)} x-cloak${z?" ":""}`,X=q}return Y+=$.slice(X),Y}var pw;var fJ=D(()=>{H1();h0();pw=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function s4($,Z,Y){let X=typeof Y==="boolean"?{enabled:Y,failOnViolation:Y}:Y??{enabled:!1},J=X.allowPatterns??[],Q=[];for(let{pattern:G,message:K,suggestion:W}of cw){if(J.some((B)=>K.includes(B)||G.source.includes(B)))continue;G.lastIndex=0;let U=$.match(G);if(U&&U.length>0){let B=$.split(`
7548
+ </style>`;X=X.replace(U,F),K.lastIndex=0}catch(O){}}}return X}var rB=D(()=>{Q5()});function i4($,Z){let Y=$,X=/@json\s*\(/g,J;while((J=X.exec(Y))!==null){let Q=J.index,G=Q+J[0].length-1,K=1,W=G+1,U=null,B=!1;while(W<Y.length&&K>0){let V=Y[W];if(B){B=!1,W++;continue}if(V==="\\"&&U){B=!0,W++;continue}if(U){if(V===U)U=null;W++;continue}if(V==='"'||V==="'"||V==="`"){U=V,W++;continue}if(V==="(")K++;else if(V===")"){if(K--,K===0)break}W++}if(K!==0)break;let _=Y.substring(G+1,W).trim(),z=Y.substring(Q,W+1),q=-1,j=0,H=null,O=!1;for(let V=0;V<_.length;V++){let N=_[V];if(O){O=!1;continue}if(N==="\\"&&H){O=!0;continue}if(H){if(N===H)H=null;continue}if(N==='"'||N==="'"||N==="`"){H=N;continue}if(N==="("||N==="["||N==="{")j++;else if(N===")"||N==="]"||N==="}")j--;if(N===","&&j===0){q=V;break}}let F=q>=0?_.substring(0,q).trim():_,L=q>=0?_.substring(q+1).trim():void 0;try{let V=F.trim(),N;if(O0(V))N=L0(V,Object.keys(Z))(...Object.values(Z));else N=void 0;let A;if(L==="true")A=JSON.stringify(N,null,2);else A=JSON.stringify(N);let w=A.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");Y=Y.substring(0,Q)+w+Y.substring(W+1),X.lastIndex=Q+w.length}catch(V){a0.log(V instanceof Error?V:Error(String(V)),{directive:"@json"},"error"),X.lastIndex=Q+z.length}}return Y}function n4($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function oB($){let Z=$,Y=/@memo\s*\(/g,X,J=[];while((X=Y.exec(Z))!==null){let Q=X.index,G=Q+X[0].length,K=1,W=G;while(W<Z.length&&K>0){if(Z[W]==="(")K++;else if(Z[W]===")")K--;W++}if(K!==0)continue;let U=Z.slice(G,W-1).trim(),B=W,_=Z.slice(B),z=_.indexOf("@endmemo");if(z===-1)continue;let q=_.slice(0,z),j=B+z+8,H=q.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)/),O=H?H[0].length:0,F=q.slice(O),L=q.match(/(\s*)$/),V=L?L[0].length:0,N=F.slice(0,F.length-V),A=N.match(/^<([a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*?)?(\/?)>/),w;if(A){let[R,T,I="",E]=A,k=`<${T}${I} data-stx-memo="${U}"${E}>`;w=q.slice(0,O)+k+N.slice(R.length)+q.slice(O+N.length)}else w=`${q.slice(0,O)}<div data-stx-memo="${U}">${N}</div>${q.slice(O+N.length)}`;J.push({start:Q,end:j,replacement:w}),Y.lastIndex=j}for(let Q=J.length-1;Q>=0;Q--){let G=J[Q];Z=Z.slice(0,G.start)+G.replacement+Z.slice(G.end)}return Z.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function vJ($){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 aB($){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="",J=0,Q;while((Q=Y.exec($))!==null){let G=Q.index,K=G+Q[0].length,W=!1,U=!1,B=-1;while(K<$.length){let H=$[K];if(W){if(H==="'")W=!1}else if(U){if(H==='"')U=!1}else if(H==="'")W=!0;else if(H==='"')U=!0;else if(H===">"){B=K;break}K++}if(B===-1)continue;if($.slice(G,B+1).includes("x-cloak"))continue;let z=$.slice(B+1),q=z.indexOf("</"),j=q>=0?z.slice(0,q):z.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(j))X+=$.slice(J,B)+" x-cloak>",J=B+1}return X+=$.slice(J),X}function tB($){let Z=/<[a-z][\w-]*/gi,Y="",X=0,J;while((J=Z.exec($))!==null){let Q=J.index,G=J[0].slice(1).toLowerCase();if(G==="script"||G==="style"){let j=`</${G}>`,H=$.toLowerCase().indexOf(j,Q);if(H!==-1)Z.lastIndex=H+j.length;continue}let K=Q+J[0].length,W=!1,U=!1,B=-1;while(K<$.length){let j=$[K];if(W){if(j==="'")W=!1}else if(U){if(j==='"')U=!1}else if(j==="'")W=!0;else if(j==='"')U=!0;else if(j===">"){B=K;break}K++}if(B===-1)continue;let _=$.slice(Q+J[0].length,B);if(/(?:^|\s)x-cloak(?:=|\s|\/|>|$)/.test(_))continue;if(!pw.test(_))continue;let z=$[B-1]==="/",q=z?B-1:B;Y+=`${$.slice(X,q)} x-cloak${z?" ":""}`,X=q}return Y+=$.slice(X),Y}var pw;var fJ=D(()=>{H1();h0();pw=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function s4($,Z,Y){let X=typeof Y==="boolean"?{enabled:Y,failOnViolation:Y}:Y??{enabled:!1},J=X.allowPatterns??[],Q=[];for(let{pattern:G,message:K,suggestion:W}of cw){if(J.some((B)=>K.includes(B)||G.source.includes(B)))continue;G.lastIndex=0;let U=$.match(G);if(U&&U.length>0){let B=$.split(`
7549
7549
  `),_=[];B.forEach((q,j)=>{if(G.lastIndex=0,G.test(q))_.push(j+1)});let z=_.length>0?` (line${_.length>1?"s":""}: ${_.join(", ")})`:"";Q.push(` \u2717 ${K}${z}
7550
7550
  \u2192 ${W}`)}}if(Q.length>0&&X.enabled){let K=`[STX] DOM API violation in ${Z.split("/").pop()||Z}:
7551
7551
  ${Q.join(`
@@ -10279,21 +10279,21 @@ ${g}`);if(/<html\b[^>]*>/i.test(m))return m.replace(/(<html\b[^>]*>)/i,`$1
10279
10279
  ${g}
10280
10280
  </head>`);return m},{renderHead:r,getHead:u}=await Promise.resolve().then(() => (S$(),a3)),C=Z.__stx_runtime_head,h=C&&(C.title||C.meta?.length||C.link?.length)?C:u();if(h.title||h.meta?.length||h.link?.length){let m=r(h);if(m)Q=f(Q,m)}if(S.headContent)Q=f(Q,S.headContent);if(G.csp?.enabled&&G.csp.addMetaTag)Q=zX(Q,G.csp,Z);if(G.analytics?.enabled)Q=nY(Q,G);if(G.heatmap?.enabled)Q=wY(Q,G);if(G.pwa?.enabled&&G.pwa.autoInject!==!1){let{injectPwaTags:m}=await Promise.resolve().then(() => (Oz(),Hz));Q=m(Q,G)}let p=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(Q),i=/\bSTX\.\w+/.test(Q),s=/window\.STX\s*=/.test(Q);if(p&&i&&!s){let g=`<script data-stx-scoped>
10281
10281
  ${xK()}
10282
- </script>`;if(Q.includes("</head>")){let c=Q.indexOf("</head>"),l=Q.slice(0,c).indexOf("<script");if(l!==-1){let Q0=Q.slice(0,l),M0=Q.slice(l);Q=Q0+g+`
10283
- `+M0}else Q=Q.replace("</head>",`${g}
10282
+ </script>`;if(Q.includes("</head>")){let c=Q.indexOf("</head>"),l=Q.slice(0,c).indexOf("<script");if(l!==-1){let Q0=Q.slice(0,l),R0=Q.slice(l);Q=Q0+g+`
10283
+ `+R0}else Q=Q.replace("</head>",`${g}
10284
10284
  </head>`)}else if(Q.includes("<body"))Q=Q.replace(/<body([^>]*)>/,`<body$1>
10285
10285
  ${g}`);else Q=g+`
10286
- `+Q}{let m=/<script\s+server\b[^>]*>/gi,g,c=[];while((g=m.exec(Q))!==null){let a=g.index+g[0].length,l=lR(Q,a);if(l===-1)continue;let Q0=l+9;while(Q0<Q.length&&/\s/.test(Q[Q0]))Q0++;c.push({start:g.index,end:Q0}),m.lastIndex=Q0}for(let a=c.length-1;a>=0;a--){let{start:l,end:Q0}=c[a];Q=Q.substring(0,l)+Q.substring(Q0)}}let K0=v4(Q,Y);if(K0.hasScoped)Q=K0.html;let $0=Z.__stx_event_bindings||[],F0=!1,R0=[],P=/\s:[a-z][\w.-]*\s*=/.test(Q),{scanScriptTags:d}=await Promise.resolve().then(() => (xJ(),lB));for(let m of d(Q,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))R0.push({match:m.fullMatch,attrs:m.attrs,content:m.body});for(let{match:m,attrs:g,content:c}of R0){F0=!0;let a=c;s4(c,Y,X.strict);let l=await N$(c,{eventBindings:$0,attrs:g,hasColonDirectives:P,templateContent:$,filePath:Y,projectRoot:process.cwd(),production:X.buildMode==="compile",serverData:b});Q=Q.replace(m,()=>l)}if(F0)Z.__stx_event_bindings=[];return Q}var N5="<!--PARENT_CONTENT_PLACEHOLDER-->";var O1=D(()=>{h1();D3();j3();vK();lY();sY();N3();V3();oY();K5();aK();U7();i3();jX();vW();LX();H1();S$();c0();NX();IX();e5();BB();N8();o8();HJ();U5();qB();I8();N0();OB();NJ();wJ();MJ();k8();xJ();JJ();rB();fJ();gJ();h0();CX();fJ();gJ()});function Nz($){let Z=[],Y=[];return ZM($,Z),YM($,Z,Y),XM($,Y),JM($,Z),{valid:Z.length===0,errors:Z,warnings:Y}}function ZM($,Z){let Y=($.match(/\{\{/g)||[]).length,X=($.match(/\}\}/g)||[]).length;if(Y!==X)Z.push({type:"expression",message:`Unclosed expression brackets: found ${Y} opening '{{' and ${X} closing '}}'`,suggestion:"Ensure every {{ has a matching }}"})}function YM($,Z,Y){for(let X of tR){let J=new RegExp(`${X.open}(?:\\s|\\()`,"g"),Q=new RegExp(X.close,"g"),G=($.match(J)||[]).length,K=($.match(Q)||[]).length;if(X.altClose){let W=new RegExp(X.altClose,"g");K+=($.match(W)||[]).length}if(G>K)Z.push({type:"directive",message:`Unclosed @${X.name} directive: found ${G} opening and ${K} closing`,suggestion:`Add ${G-K} missing ${X.close} tag(s)`});else if(K>G)Y.push({type:"directive",message:`Extra ${X.close} found: ${K-G} more closing than opening`,suggestion:`Check for orphaned ${X.close} tags`})}}function XM($,Z){for(let Y of eR)if(Y.pattern.test($))Z.push({type:"syntax",message:Y.message,suggestion:Y.suggestion})}function JM($,Z){for(let Y of $M)if(Y.pattern.test($))Z.push({type:"expression",message:`Security warning: ${Y.message}`,suggestion:"Remove dangerous code from template expressions"})}function Az($,Z){let Y=$.slice(0,Z).split(`
10287
- `);return{line:Y.length,column:Y[Y.length-1].length+1}}function wz($,Z,Y){let X=[];switch($){case"if":case"elseif":case"unless":if(Y.length===0)X.push({type:"syntax",message:`@${$} requires a condition`,suggestion:`Use @${$}(condition)`});break;case"foreach":if(Y.length===0||!Y[0].includes(" as "))X.push({type:"syntax",message:'@foreach requires "items as item" syntax',suggestion:"Use @foreach(items as item) or @foreach(items as key => value)"});break;case"for":if(Y.length===0)X.push({type:"syntax",message:"@for requires loop parameters",suggestion:"Use @for(let i = 0; i < 10; i++)"});break;case"switch":if(Y.length===0)X.push({type:"syntax",message:"@switch requires an expression",suggestion:"Use @switch(expression)"});break;case"case":if(Y.length===0)X.push({type:"syntax",message:"@case requires a value",suggestion:"Use @case(value)"});break;case"include":case"extends":case"component":if(Y.length===0)X.push({type:"syntax",message:`@${$} requires a path`,suggestion:`Use @${$}('path/to/template')`});break}return X}function Rz($){return/@[a-z]+/i.test($)||/\{\{/.test($)}function Mz($){let Z=$.matchAll(/@([a-z]+)/gi),Y=new Set;for(let X of Z){let J=X[1].toLowerCase();if(!J.startsWith("end"))Y.add(J)}return Array.from(Y)}var tR,eR,$M;var Tz=D(()=>{tR=[{open:"@if",close:"@endif",name:"if"},{open:"@unless",close:"@endunless",name:"unless"},{open:"@foreach",close:"@endforeach",name:"foreach"},{open:"@for",close:"@endfor",name:"for"},{open:"@while",close:"@endwhile",name:"while"},{open:"@forelse",close:"@endforelse",name:"forelse"},{open:"@switch",close:"@endswitch",name:"switch"},{open:"@isset",close:"@endisset",name:"isset"},{open:"@empty",close:"@endempty",name:"empty"},{open:"@auth",close:"@endauth",name:"auth"},{open:"@guest",close:"@endguest",name:"guest"},{open:"@can",close:"@endcan",name:"can"},{open:"@cannot",close:"@endcannot",name:"cannot"},{open:"@section",close:"@endsection",name:"section",altClose:"@show"},{open:"@push",close:"@endpush",name:"push"},{open:"@prepend",close:"@endprepend",name:"prepend"},{open:"@once",close:"@endonce",name:"once"},{open:"@markdown",close:"@endmarkdown",name:"markdown"},{open:"@component",close:"@endcomponent",name:"component"}],eR=[{pattern:/@if\s*[^(]/,message:"@if directive missing parentheses",suggestion:"Use @if(condition)"},{pattern:/@foreach\s*[^(]/,message:"@foreach directive missing parentheses",suggestion:"Use @foreach(items as item)"},{pattern:/@foreach\([^)]*\)\s*[^@\n<]/,message:"@foreach may have content on same line",suggestion:"Put content on new line after @foreach()"},{pattern:/@include\s*[^(]/,message:"@include directive missing parentheses",suggestion:"Use @include('partial-name')"},{pattern:/@extends\s*[^(]/,message:"@extends directive missing parentheses",suggestion:"Use @extends('layout-name') or @layout('layout-name')"},{pattern:/@layout\s*[^(]/,message:"@layout directive missing parentheses",suggestion:"Use @layout('layout-name')"}],$M=[{pattern:/\{\{\s*constructor\s*\}\}/,message:"Attempting to access constructor property"},{pattern:/\{\{\s*__proto__\s*\}\}/,message:"Attempting to access __proto__ property"},{pattern:/\{\{\s*eval\s*\(/,message:"Attempting to use eval in expression"}]});var Sz={};Z0(Sz,{renderSlot:()=>_2,processSlots:()=>z2,parseSlots:()=>B2,parseSlotElement:()=>Iz,extractSlotContent:()=>Dz,applySlots:()=>kz});function QM($,Z){let Y=1,X=Z,J="<template",Q="</template";while(X<$.length&&Y>0){let G=$.indexOf("<",X);if(G===-1)break;if(X=G,$.startsWith(J,X)&&(X+J.length>=$.length||/[\s>\/]/.test($[X+J.length]))){Y++,X+=J.length;continue}if($.startsWith(Q,X)){let K=$.indexOf(">",X+Q.length);if(K!==-1){if(Y--,Y===0)return K+1;X=K+1;continue}}X++}return Y===0?X:-1}function B2($){let Z={default:"",named:new Map},Y=$,X=/<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>/gi,J=[],Q;while((Q=X.exec($))!==null){let[B,_,z,q,j]=Q,H=_||z||q,O=Q.index+B.length,F=QM($,O);if(F!==-1){let L=$.slice(O,F-11).trim();J.push({start:Q.index,end:F,slotName:H,content:L,propsBinding:j||void 0}),Z.named.set(H,{name:H,content:L,propsBinding:j||void 0})}}J.sort((B,_)=>_.start-B.start);for(let B of J)Y=Y.slice(0,B.start)+Y.slice(B.end);let G=[],K=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,W;while((W=K.exec(Y))!==null){let[B,_,z,q,j,H]=W,O=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),F=j.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),L=(O+F).trim(),V=`<${_}${L?" "+L:""}>${H}</${_}>`;G.push({start:W.index,end:W.index+B.length,slotName:q,element:V})}let U=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((W=U.exec(Y))!==null){let[B,_,z,q,j]=W,H=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),O=j.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),F=(H+O).trim(),L=`<${_}${F?" "+F:""} />`;G.push({start:W.index,end:W.index+B.length,slotName:q,element:L})}G.sort((B,_)=>_.start-B.start);for(let B of G){let _=Z.named.get(B.slotName);if(_)_.content+=B.element;else Z.named.set(B.slotName,{name:B.slotName,content:B.element});Y=Y.slice(0,B.start)+Y.slice(B.end)}return Z.default=Y.trim(),Z}function Iz($){let Z=$.match(/name\s*=\s*["']([^"']+)["']/),Y=Z?Z[1]:"",X={},J=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,Q;while((Q=J.exec($))!==null)X[Q[1]]=Q[2];let G=$.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),K=G?G[1].trim():"";return{name:Y,props:X,defaultContent:K}}async function _2($,Z,Y,X){if(!$)return Y;let J=$.content;if($.propsBinding&&Object.keys(Z).length>0){let Q=$.propsBinding.trim(),G={...X};if(Q.startsWith("{")&&Q.endsWith("}")){let K=Q.slice(1,-1).split(",").map((W)=>W.trim()).filter(Boolean);for(let W of K){let[U,B]=W.split(":").map((z)=>z.trim()),_=B||U;if(Z[U]!==void 0)G[_]=Z[U]}}else G[Q]=Z;J=GM(J,G)}return J}function GM($,Z){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Y,X)=>{try{let J=X.trim(),Q=Ez(J,Z);return E0(String(Q??""))}catch{return`{{ ${X} }}`}})}function Ez($,Z){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test($)){let X=$.split("."),J=Z;for(let Q of X)if(J&&typeof J==="object"&&Q in J)J=J[Q];else return;return J}let Y=$.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(Y){let[,X,J,Q]=Y,G=Z[X],K=parseInt(Q,10);if(typeof G==="number")switch(J){case"+":return G+K;case"-":return G-K;case"*":return G*K;case"/":return G/K}}try{if(!H0($))return;return O0($,Object.keys(Z))(...Object.values(Z))}catch{return}}async function z2($,Z,Y){let X=$;X=await KM(X,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(G,K,W,U)=>{let B=Z.named.get(K),_=U?.trim()||"",z=W||"",q={},j=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,H;while((H=j.exec(z))!==null){let O=H[1],F=H[2];q[O]=Ez(F,Y)}return await _2(B,q,_,Y)});let Q=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return X=X.replace(Q,(G,K)=>{if(G.includes("name="))return G;let W=K?.trim()||"";return Z.default||W}),X}async function KM($,Z,Y){let X=[],J=[];$.replace(Z,(K,...W)=>{let U=W[W.length-2];return J.push({match:K,index:U}),X.push(Y(K,...W.slice(0,-2))),K});let Q=await Promise.all(X),G=$;for(let K=J.length-1;K>=0;K--){let{match:W,index:U}=J[K];G=G.slice(0,U)+Q[K]+G.slice(U+W.length)}return G}function Dz($){let Z=B2($);return{defaultSlot:Z.default,namedSlots:Z.named}}async function kz($,Z,Y,X){return await z2($,{default:Z,named:Y},X)}var q2=D(()=>{c0();h0()});import WM from"fs";import o from"path";function bz($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Cz($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function A$($){return!Cz($)}function w$($){try{let Z=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");Z=Z.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");let Y=[];Z=Z.replace(/\{!![\s\S]*?!!\}/g,(Q)=>{let G=Y.length;return Y.push(Q),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{\{[\s\S]*?\}\}\}/g,(Q)=>{let G=Y.length;return Y.push(Q),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{[\s\S]*?\}\}/g,(Q)=>{let G=Y.length;return Y.push(Q),`"__STX_EXPR_${G}__"`});let J=new Bun.Transpiler({loader:"ts",target:"browser",define:N1()}).transformSync(Z);for(let Q=0;Q<Y.length;Q++)J=J.replace(`"__STX_EXPR_${Q}__"`,Y[Q]),J=J.replace(`'__STX_EXPR_${Q}__'`,Y[Q]);return J}catch(Z){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",Z);return $}}function BM($){let Z=[],Y=new Set,X=0,J=0,Q=$.length,G=(B)=>{J++;while(J<Q){if($[J]==="\\"){J+=2;continue}if($[J]===B){J++;return}J++}},K=()=>{J++;while(J<Q){if($[J]==="\\"){J+=2;continue}if($[J]==="`"){J++;return}if($[J]==="$"&&$[J+1]==="{"){J+=2;let B=1;while(J<Q&&B>0)if($[J]==="{")B++,J++;else if($[J]==="}")B--,J++;else if($[J]==="'"||$[J]==='"')G($[J]);else if($[J]==="`")K();else J++;continue}J++}},W=()=>{if($[J]==="/"&&$[J+1]==="/"){while(J<Q&&$[J]!==`
10288
- `)J++;return!0}if($[J]==="/"&&$[J+1]==="*"){J+=2;while(J<Q-1&&!($[J]==="*"&&$[J+1]==="/"))J++;return J+=2,!0}return!1},U=()=>{if(X!==0)return;let B=$.slice(J).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(B){let j=B[2].split(",").map((H)=>{let O=H.trim().split(":");return O[O.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 _=$.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(_){let j=_[2];if(!Y.has(j))Z.push(j),Y.add(j);return}let z=$.slice(J).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let j=z[1];if(!Y.has(j))Z.push(j),Y.add(j);return}let q=$.slice(J).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(q){let j=q[1];if(!Y.has(j))Z.push(j),Y.add(j)}};while(J<Q){if(W())continue;if($[J]==="'"||$[J]==='"'){G($[J]);continue}if($[J]==="`"){K();continue}if($[J]==="{"){X++,J++;continue}if($[J]==="}"){X--,J++;continue}if(X===0&&/[a-z]/i.test($[J])&&(J===0||/\s|[;{}()]/.test($[J-1])))U();J++}return Z}function _M($){let Z=[],Y=0,X=0,J=null;for(let Q=0;Q<$.length;Q++){let G=$[Q];if(J){if(G==="\\"){Q++;continue}if(G===J)J=null;continue}if(G==='"'||G==="'"||G==="`"){J=G;continue}if(G==="("||G==="["||G==="{")Y++;else if(G===")"||G==="]"||G==="}")Y--;else if(G===","&&Y===0)Z.push($.slice(X,Q)),X=Q+1}if(X<$.length)Z.push($.slice(X));return Z}function zM($){let Z=0,Y=null;for(let X=0;X<$.length;X++){let J=$[X];if(Y){if(J==="\\"){X++;continue}if(J===Y)Y=null;continue}if(J==='"'||J==="'"||J==="`"){Y=J;continue}if(J==="("||J==="["||J==="{")Z++;else if(J===")"||J==="]"||J==="}")Z--;else if(J==="="&&Z===0){let Q=$[X-1],G=$[X+1];if(Q==="!"||Q==="<"||Q===">"||Q==="=")continue;if(G==="="||G===">")continue;return X}}return-1}function qM($,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 J=X,Q=0,G=-1;for(;X>=0;X--){let W=$[X];if(W==="}")Q++;else if(W==="{"){if(Q--,Q===0){G=X;break}}}if(G===-1)return;let K=$.slice(G+1,J);for(let W of _M(K)){let U=W.trim();if(!U||U.startsWith("..."))continue;let B=zM(U);if(B===-1)continue;let _=U.slice(0,B).trim();if(!/^[A-Z_$][\w$]*$/i.test(_))continue;if(Z[_]!==void 0)continue;let z=U.slice(B+1).trim();if(!z)continue;try{let q=Object.keys(Z),j=Function(...q,`"use strict"; return (${z});`);Z[_]=j(...q.map((H)=>Z[H]))}catch{}}}catch{}}async function QJ($,Z,Y,X,J){let Q=$.endsWith(".stx")?$.slice(0,-4):$,G=(O)=>O.split("-").map((F)=>F.charAt(0).toUpperCase()+F.slice(1)).join(""),K=(O)=>O.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),W=Y.__importedComponents;if(W){for(let O of[Q,Q.toLowerCase(),G(Q),K(Q)])if(W.has(O))return!0}let U=[...new Set([`${Q}.stx`,`${G(Q)}.stx`,`${K(Q)}.stx`])],B=typeof J.root==="string"?o.resolve(J.root):void 0,_=B??o.dirname(X),z=[],q=(O)=>{if(O&&!z.includes(O))z.push(O)},j=Y.__originalFilePath;if(j)q(o.join(o.dirname(j),"components"));q(Z),q(o.join(o.dirname(X),"components")),q(J.componentsDir);let H=J._pluginComponentDirs;if(Array.isArray(H))for(let O of H)q(typeof O==="string"?O:null);if(B)q(o.resolve(B,"resources/views/components")),q(o.resolve(B,"resources/components")),q(o.resolve(B,"src/components")),q(o.resolve(B,"components"));if(Q.startsWith("./")||Q.startsWith("../"))return t(o.resolve(o.dirname(X),`${Q}.stx`));for(let O of z){let F=o.isAbsolute(O)?O:o.resolve(_,O);for(let L of U)if(await t(o.join(F,L)))return!0}return!1}function yz($){return $==="visible"||$==="idle"||$==="interaction"||$.startsWith("media:")}async function u1($,Z,Y,X,J,Q,G,K=new Set,W){let{extractVariables:U}=await Promise.resolve().then(() => (v$(),H8)),B=K??new Set;if(B.has($))return`[Circular component reference: ${$}]`;let _=new Set(B);_.add($);let z=typeof Z.client==="string"?Z.client.trim():"";if("client"in Z)delete Z.client;let q=z&&z!=="load"&&yz(z)?z:"";try{let j=(P)=>P.split("-").map((d)=>d.charAt(0).toUpperCase()+d.slice(1)).join(""),H=(P)=>P.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),O=$.endsWith(".stx")?$.slice(0,-4):$,F=null,L=J.__importedComponents;if(L){let P=[O,O.toLowerCase(),j(O),H(O)];for(let d of P)if(L.has(d)){F=L.get(d);break}}let V=[];if(!F){let P=[`${O}.stx`,`${j(O)}.stx`,`${H(O)}.stx`],d=[...new Set(P)],m=J.__originalFilePath,g=[];if(m){let W0=o.join(o.dirname(m),"components");g.push(W0)}if(X)g.push(X);let c=o.join(o.dirname(Q),"components");if(!g.includes(c))g.push(c);if(G.componentsDir&&G.componentsDir!==X&&!g.includes(G.componentsDir))g.push(G.componentsDir);let a=G._pluginComponentDirs;if(Array.isArray(a)){for(let W0 of a)if(typeof W0==="string"&&!g.includes(W0))g.push(W0)}let l=typeof G.root==="string"?o.resolve(G.root):void 0,Q0=l??o.dirname(Q),M0=[];if(l)M0.push(o.resolve(l,"resources/views/components")),M0.push(o.resolve(l,"resources/components")),M0.push(o.resolve(l,"src/components")),M0.push(o.resolve(l,"components"));M0.push(o.resolve(import.meta.dir,"components"));for(let W0 of M0)if(!g.includes(W0))g.push(W0);let w0=[...new Set(g.map((W0)=>{if(!W0)return W0;return o.isAbsolute(W0)?W0:o.resolve(Q0,W0)}))];if(g.length=0,g.push(...w0),O.startsWith("./")||O.startsWith("../"))F=o.resolve(o.dirname(Q),`${O}.stx`),V.push(F);else for(let W0 of g){if(!W0)continue;for(let r0 of d){let p0=o.join(W0,r0);if(V.push(p0),await t(p0)){F=p0;break}}if(F)break;if(!F)try{let r0=await import("fs");if(!r0.statSync(W0,{throwIfNoEntry:!1})?.isDirectory())continue;let P5=8,G0=[{path:W0,depth:0}];while(G0.length>0&&!F){let k0=G0.pop();if(k0.depth>=P5)continue;let Q4;try{Q4=r0.readdirSync(k0.path,{withFileTypes:!0})}catch{continue}for(let E1 of Q4){if(!E1.isDirectory())continue;if(E1.name==="node_modules"||E1.name.startsWith("."))continue;let O$=o.join(k0.path,E1.name);for(let V0 of d){let $1=o.join(O$,V0);if(V.push($1),await t($1)){F=$1;break}}if(F)break;G0.push({path:O$,depth:k0.depth+1})}}}catch{}if(F)break}}if(!F||!await t(F)){let P=V.length>0?`
10286
+ `+Q}{let m=/<script\s+server\b[^>]*>/gi,g,c=[];while((g=m.exec(Q))!==null){let a=g.index+g[0].length,l=lR(Q,a);if(l===-1)continue;let Q0=l+9;while(Q0<Q.length&&/\s/.test(Q[Q0]))Q0++;c.push({start:g.index,end:Q0}),m.lastIndex=Q0}for(let a=c.length-1;a>=0;a--){let{start:l,end:Q0}=c[a];Q=Q.substring(0,l)+Q.substring(Q0)}}let W0=v4(Q,Y);if(W0.hasScoped)Q=W0.html;let $0=Z.__stx_event_bindings||[],V0=!1,M0=[],P=/\s:[a-z][\w.-]*\s*=/.test(Q),{scanScriptTags:d}=await Promise.resolve().then(() => (xJ(),lB));for(let m of d(Q,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))M0.push({match:m.fullMatch,attrs:m.attrs,content:m.body});for(let{match:m,attrs:g,content:c}of M0){V0=!0;let a=c;s4(c,Y,X.strict);let l=await N$(c,{eventBindings:$0,attrs:g,hasColonDirectives:P,templateContent:$,filePath:Y,projectRoot:process.cwd(),production:X.buildMode==="compile",serverData:b});Q=Q.replace(m,()=>l)}if(V0)Z.__stx_event_bindings=[];return Q}var N5="<!--PARENT_CONTENT_PLACEHOLDER-->";var O1=D(()=>{h1();D3();j3();vK();lY();sY();N3();V3();oY();K5();aK();U7();i3();jX();vW();LX();H1();S$();c0();NX();IX();e5();BB();N8();o8();HJ();U5();qB();I8();A0();OB();NJ();wJ();MJ();k8();xJ();JJ();rB();fJ();gJ();h0();CX();fJ();gJ()});function Nz($){let Z=[],Y=[];return ZM($,Z),YM($,Z,Y),XM($,Y),JM($,Z),{valid:Z.length===0,errors:Z,warnings:Y}}function ZM($,Z){let Y=($.match(/\{\{/g)||[]).length,X=($.match(/\}\}/g)||[]).length;if(Y!==X)Z.push({type:"expression",message:`Unclosed expression brackets: found ${Y} opening '{{' and ${X} closing '}}'`,suggestion:"Ensure every {{ has a matching }}"})}function YM($,Z,Y){for(let X of tR){let J=new RegExp(`${X.open}(?:\\s|\\()`,"g"),Q=new RegExp(X.close,"g"),G=($.match(J)||[]).length,K=($.match(Q)||[]).length;if(X.altClose){let W=new RegExp(X.altClose,"g");K+=($.match(W)||[]).length}if(G>K)Z.push({type:"directive",message:`Unclosed @${X.name} directive: found ${G} opening and ${K} closing`,suggestion:`Add ${G-K} missing ${X.close} tag(s)`});else if(K>G)Y.push({type:"directive",message:`Extra ${X.close} found: ${K-G} more closing than opening`,suggestion:`Check for orphaned ${X.close} tags`})}}function XM($,Z){for(let Y of eR)if(Y.pattern.test($))Z.push({type:"syntax",message:Y.message,suggestion:Y.suggestion})}function JM($,Z){for(let Y of $M)if(Y.pattern.test($))Z.push({type:"expression",message:`Security warning: ${Y.message}`,suggestion:"Remove dangerous code from template expressions"})}function Az($,Z){let Y=$.slice(0,Z).split(`
10287
+ `);return{line:Y.length,column:Y[Y.length-1].length+1}}function wz($,Z,Y){let X=[];switch($){case"if":case"elseif":case"unless":if(Y.length===0)X.push({type:"syntax",message:`@${$} requires a condition`,suggestion:`Use @${$}(condition)`});break;case"foreach":if(Y.length===0||!Y[0].includes(" as "))X.push({type:"syntax",message:'@foreach requires "items as item" syntax',suggestion:"Use @foreach(items as item) or @foreach(items as key => value)"});break;case"for":if(Y.length===0)X.push({type:"syntax",message:"@for requires loop parameters",suggestion:"Use @for(let i = 0; i < 10; i++)"});break;case"switch":if(Y.length===0)X.push({type:"syntax",message:"@switch requires an expression",suggestion:"Use @switch(expression)"});break;case"case":if(Y.length===0)X.push({type:"syntax",message:"@case requires a value",suggestion:"Use @case(value)"});break;case"include":case"extends":case"component":if(Y.length===0)X.push({type:"syntax",message:`@${$} requires a path`,suggestion:`Use @${$}('path/to/template')`});break}return X}function Rz($){return/@[a-z]+/i.test($)||/\{\{/.test($)}function Mz($){let Z=$.matchAll(/@([a-z]+)/gi),Y=new Set;for(let X of Z){let J=X[1].toLowerCase();if(!J.startsWith("end"))Y.add(J)}return Array.from(Y)}var tR,eR,$M;var Tz=D(()=>{tR=[{open:"@if",close:"@endif",name:"if"},{open:"@unless",close:"@endunless",name:"unless"},{open:"@foreach",close:"@endforeach",name:"foreach"},{open:"@for",close:"@endfor",name:"for"},{open:"@while",close:"@endwhile",name:"while"},{open:"@forelse",close:"@endforelse",name:"forelse"},{open:"@switch",close:"@endswitch",name:"switch"},{open:"@isset",close:"@endisset",name:"isset"},{open:"@empty",close:"@endempty",name:"empty"},{open:"@auth",close:"@endauth",name:"auth"},{open:"@guest",close:"@endguest",name:"guest"},{open:"@can",close:"@endcan",name:"can"},{open:"@cannot",close:"@endcannot",name:"cannot"},{open:"@section",close:"@endsection",name:"section",altClose:"@show"},{open:"@push",close:"@endpush",name:"push"},{open:"@prepend",close:"@endprepend",name:"prepend"},{open:"@once",close:"@endonce",name:"once"},{open:"@markdown",close:"@endmarkdown",name:"markdown"},{open:"@component",close:"@endcomponent",name:"component"}],eR=[{pattern:/@if\s*[^(]/,message:"@if directive missing parentheses",suggestion:"Use @if(condition)"},{pattern:/@foreach\s*[^(]/,message:"@foreach directive missing parentheses",suggestion:"Use @foreach(items as item)"},{pattern:/@foreach\([^)]*\)\s*[^@\n<]/,message:"@foreach may have content on same line",suggestion:"Put content on new line after @foreach()"},{pattern:/@include\s*[^(]/,message:"@include directive missing parentheses",suggestion:"Use @include('partial-name')"},{pattern:/@extends\s*[^(]/,message:"@extends directive missing parentheses",suggestion:"Use @extends('layout-name') or @layout('layout-name')"},{pattern:/@layout\s*[^(]/,message:"@layout directive missing parentheses",suggestion:"Use @layout('layout-name')"}],$M=[{pattern:/\{\{\s*constructor\s*\}\}/,message:"Attempting to access constructor property"},{pattern:/\{\{\s*__proto__\s*\}\}/,message:"Attempting to access __proto__ property"},{pattern:/\{\{\s*eval\s*\(/,message:"Attempting to use eval in expression"}]});var Sz={};Z0(Sz,{renderSlot:()=>_2,processSlots:()=>z2,parseSlots:()=>B2,parseSlotElement:()=>Iz,extractSlotContent:()=>Dz,applySlots:()=>kz});function QM($,Z){let Y=1,X=Z,J="<template",Q="</template";while(X<$.length&&Y>0){let G=$.indexOf("<",X);if(G===-1)break;if(X=G,$.startsWith(J,X)&&(X+J.length>=$.length||/[\s>\/]/.test($[X+J.length]))){Y++,X+=J.length;continue}if($.startsWith(Q,X)){let K=$.indexOf(">",X+Q.length);if(K!==-1){if(Y--,Y===0)return K+1;X=K+1;continue}}X++}return Y===0?X:-1}function B2($){let Z={default:"",named:new Map},Y=$,X=/<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>/gi,J=[],Q;while((Q=X.exec($))!==null){let[B,_,z,q,j]=Q,H=_||z||q,O=Q.index+B.length,F=QM($,O);if(F!==-1){let L=$.slice(O,F-11).trim();J.push({start:Q.index,end:F,slotName:H,content:L,propsBinding:j||void 0}),Z.named.set(H,{name:H,content:L,propsBinding:j||void 0})}}J.sort((B,_)=>_.start-B.start);for(let B of J)Y=Y.slice(0,B.start)+Y.slice(B.end);let G=[],K=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,W;while((W=K.exec(Y))!==null){let[B,_,z,q,j,H]=W,O=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),F=j.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),L=(O+F).trim(),V=`<${_}${L?" "+L:""}>${H}</${_}>`;G.push({start:W.index,end:W.index+B.length,slotName:q,element:V})}let U=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((W=U.exec(Y))!==null){let[B,_,z,q,j]=W,H=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),O=j.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),F=(H+O).trim(),L=`<${_}${F?" "+F:""} />`;G.push({start:W.index,end:W.index+B.length,slotName:q,element:L})}G.sort((B,_)=>_.start-B.start);for(let B of G){let _=Z.named.get(B.slotName);if(_)_.content+=B.element;else Z.named.set(B.slotName,{name:B.slotName,content:B.element});Y=Y.slice(0,B.start)+Y.slice(B.end)}return Z.default=Y.trim(),Z}function Iz($){let Z=$.match(/name\s*=\s*["']([^"']+)["']/),Y=Z?Z[1]:"",X={},J=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,Q;while((Q=J.exec($))!==null)X[Q[1]]=Q[2];let G=$.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),K=G?G[1].trim():"";return{name:Y,props:X,defaultContent:K}}async function _2($,Z,Y,X){if(!$)return Y;let J=$.content;if($.propsBinding&&Object.keys(Z).length>0){let Q=$.propsBinding.trim(),G={...X};if(Q.startsWith("{")&&Q.endsWith("}")){let K=Q.slice(1,-1).split(",").map((W)=>W.trim()).filter(Boolean);for(let W of K){let[U,B]=W.split(":").map((z)=>z.trim()),_=B||U;if(Z[U]!==void 0)G[_]=Z[U]}}else G[Q]=Z;J=GM(J,G)}return J}function GM($,Z){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(Y,X)=>{try{let J=X.trim(),Q=Ez(J,Z);return E0(String(Q??""))}catch{return`{{ ${X} }}`}})}function Ez($,Z){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test($)){let X=$.split("."),J=Z;for(let Q of X)if(J&&typeof J==="object"&&Q in J)J=J[Q];else return;return J}let Y=$.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(Y){let[,X,J,Q]=Y,G=Z[X],K=parseInt(Q,10);if(typeof G==="number")switch(J){case"+":return G+K;case"-":return G-K;case"*":return G*K;case"/":return G/K}}try{if(!O0($))return;return L0($,Object.keys(Z))(...Object.values(Z))}catch{return}}async function z2($,Z,Y){let X=$;X=await KM(X,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(G,K,W,U)=>{let B=Z.named.get(K),_=U?.trim()||"",z=W||"",q={},j=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,H;while((H=j.exec(z))!==null){let O=H[1],F=H[2];q[O]=Ez(F,Y)}return await _2(B,q,_,Y)});let Q=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return X=X.replace(Q,(G,K)=>{if(G.includes("name="))return G;let W=K?.trim()||"";return Z.default||W}),X}async function KM($,Z,Y){let X=[],J=[];$.replace(Z,(K,...W)=>{let U=W[W.length-2];return J.push({match:K,index:U}),X.push(Y(K,...W.slice(0,-2))),K});let Q=await Promise.all(X),G=$;for(let K=J.length-1;K>=0;K--){let{match:W,index:U}=J[K];G=G.slice(0,U)+Q[K]+G.slice(U+W.length)}return G}function Dz($){let Z=B2($);return{defaultSlot:Z.default,namedSlots:Z.named}}async function kz($,Z,Y,X){return await z2($,{default:Z,named:Y},X)}var q2=D(()=>{c0();h0()});import WM from"fs";import o from"path";function bz($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Cz($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function A$($){return!Cz($)}function w$($){try{let Z=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");Z=Z.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");let Y=[];Z=Z.replace(/\{!![\s\S]*?!!\}/g,(Q)=>{let G=Y.length;return Y.push(Q),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{\{[\s\S]*?\}\}\}/g,(Q)=>{let G=Y.length;return Y.push(Q),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{[\s\S]*?\}\}/g,(Q)=>{let G=Y.length;return Y.push(Q),`"__STX_EXPR_${G}__"`});let J=new Bun.Transpiler({loader:"ts",target:"browser",define:N1()}).transformSync(Z);for(let Q=0;Q<Y.length;Q++)J=J.replace(`"__STX_EXPR_${Q}__"`,Y[Q]),J=J.replace(`'__STX_EXPR_${Q}__'`,Y[Q]);return J}catch(Z){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",Z);return $}}function BM($){let Z=[],Y=new Set,X=0,J=0,Q=$.length,G=(B)=>{J++;while(J<Q){if($[J]==="\\"){J+=2;continue}if($[J]===B){J++;return}J++}},K=()=>{J++;while(J<Q){if($[J]==="\\"){J+=2;continue}if($[J]==="`"){J++;return}if($[J]==="$"&&$[J+1]==="{"){J+=2;let B=1;while(J<Q&&B>0)if($[J]==="{")B++,J++;else if($[J]==="}")B--,J++;else if($[J]==="'"||$[J]==='"')G($[J]);else if($[J]==="`")K();else J++;continue}J++}},W=()=>{if($[J]==="/"&&$[J+1]==="/"){while(J<Q&&$[J]!==`
10288
+ `)J++;return!0}if($[J]==="/"&&$[J+1]==="*"){J+=2;while(J<Q-1&&!($[J]==="*"&&$[J+1]==="/"))J++;return J+=2,!0}return!1},U=()=>{if(X!==0)return;let B=$.slice(J).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(B){let j=B[2].split(",").map((H)=>{let O=H.trim().split(":");return O[O.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 _=$.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(_){let j=_[2];if(!Y.has(j))Z.push(j),Y.add(j);return}let z=$.slice(J).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let j=z[1];if(!Y.has(j))Z.push(j),Y.add(j);return}let q=$.slice(J).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(q){let j=q[1];if(!Y.has(j))Z.push(j),Y.add(j)}};while(J<Q){if(W())continue;if($[J]==="'"||$[J]==='"'){G($[J]);continue}if($[J]==="`"){K();continue}if($[J]==="{"){X++,J++;continue}if($[J]==="}"){X--,J++;continue}if(X===0&&/[a-z]/i.test($[J])&&(J===0||/\s|[;{}()]/.test($[J-1])))U();J++}return Z}function _M($){let Z=[],Y=0,X=0,J=null;for(let Q=0;Q<$.length;Q++){let G=$[Q];if(J){if(G==="\\"){Q++;continue}if(G===J)J=null;continue}if(G==='"'||G==="'"||G==="`"){J=G;continue}if(G==="("||G==="["||G==="{")Y++;else if(G===")"||G==="]"||G==="}")Y--;else if(G===","&&Y===0)Z.push($.slice(X,Q)),X=Q+1}if(X<$.length)Z.push($.slice(X));return Z}function zM($){let Z=0,Y=null;for(let X=0;X<$.length;X++){let J=$[X];if(Y){if(J==="\\"){X++;continue}if(J===Y)Y=null;continue}if(J==='"'||J==="'"||J==="`"){Y=J;continue}if(J==="("||J==="["||J==="{")Z++;else if(J===")"||J==="]"||J==="}")Z--;else if(J==="="&&Z===0){let Q=$[X-1],G=$[X+1];if(Q==="!"||Q==="<"||Q===">"||Q==="=")continue;if(G==="="||G===">")continue;return X}}return-1}function qM($,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 J=X,Q=0,G=-1;for(;X>=0;X--){let W=$[X];if(W==="}")Q++;else if(W==="{"){if(Q--,Q===0){G=X;break}}}if(G===-1)return;let K=$.slice(G+1,J);for(let W of _M(K)){let U=W.trim();if(!U||U.startsWith("..."))continue;let B=zM(U);if(B===-1)continue;let _=U.slice(0,B).trim();if(!/^[A-Z_$][\w$]*$/i.test(_))continue;if(Z[_]!==void 0)continue;let z=U.slice(B+1).trim();if(!z)continue;try{let q=Object.keys(Z),j=Function(...q,`"use strict"; return (${z});`);Z[_]=j(...q.map((H)=>Z[H]))}catch{}}}catch{}}async function QJ($,Z,Y,X,J){let Q=$.endsWith(".stx")?$.slice(0,-4):$,G=(O)=>O.split("-").map((F)=>F.charAt(0).toUpperCase()+F.slice(1)).join(""),K=(O)=>O.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),W=Y.__importedComponents;if(W){for(let O of[Q,Q.toLowerCase(),G(Q),K(Q)])if(W.has(O))return!0}let U=[...new Set([`${Q}.stx`,`${G(Q)}.stx`,`${K(Q)}.stx`])],B=typeof J.root==="string"?o.resolve(J.root):void 0,_=B??o.dirname(X),z=[],q=(O)=>{if(O&&!z.includes(O))z.push(O)},j=Y.__originalFilePath;if(j)q(o.join(o.dirname(j),"components"));q(Z),q(o.join(o.dirname(X),"components")),q(J.componentsDir);let H=J._pluginComponentDirs;if(Array.isArray(H))for(let O of H)q(typeof O==="string"?O:null);if(B)q(o.resolve(B,"resources/views/components")),q(o.resolve(B,"resources/components")),q(o.resolve(B,"src/components")),q(o.resolve(B,"components"));if(Q.startsWith("./")||Q.startsWith("../"))return t(o.resolve(o.dirname(X),`${Q}.stx`));for(let O of z){let F=o.isAbsolute(O)?O:o.resolve(_,O);for(let L of U)if(await t(o.join(F,L)))return!0}return!1}function yz($){return $==="visible"||$==="idle"||$==="interaction"||$.startsWith("media:")}async function u1($,Z,Y,X,J,Q,G,K=new Set,W){let{extractVariables:U}=await Promise.resolve().then(() => (v$(),H8)),B=K??new Set;if(B.has($))return`[Circular component reference: ${$}]`;let _=new Set(B);_.add($);let z=typeof Z.client==="string"?Z.client.trim():"";if("client"in Z)delete Z.client;let q=z&&z!=="load"&&yz(z)?z:"";try{let j=(P)=>P.split("-").map((d)=>d.charAt(0).toUpperCase()+d.slice(1)).join(""),H=(P)=>P.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),O=$.endsWith(".stx")?$.slice(0,-4):$,F=null,L=J.__importedComponents;if(L){let P=[O,O.toLowerCase(),j(O),H(O)];for(let d of P)if(L.has(d)){F=L.get(d);break}}let V=[];if(!F){let P=[`${O}.stx`,`${j(O)}.stx`,`${H(O)}.stx`],d=[...new Set(P)],m=J.__originalFilePath,g=[];if(m){let K0=o.join(o.dirname(m),"components");g.push(K0)}if(X)g.push(X);let c=o.join(o.dirname(Q),"components");if(!g.includes(c))g.push(c);if(G.componentsDir&&G.componentsDir!==X&&!g.includes(G.componentsDir))g.push(G.componentsDir);let a=G._pluginComponentDirs;if(Array.isArray(a)){for(let K0 of a)if(typeof K0==="string"&&!g.includes(K0))g.push(K0)}let l=typeof G.root==="string"?o.resolve(G.root):void 0,Q0=l??o.dirname(Q),R0=[];if(l)R0.push(o.resolve(l,"resources/views/components")),R0.push(o.resolve(l,"resources/components")),R0.push(o.resolve(l,"src/components")),R0.push(o.resolve(l,"components"));R0.push(o.resolve(import.meta.dir,"components"));for(let K0 of R0)if(!g.includes(K0))g.push(K0);let j0=[...new Set(g.map((K0)=>{if(!K0)return K0;return o.isAbsolute(K0)?K0:o.resolve(Q0,K0)}))];if(g.length=0,g.push(...j0),O.startsWith("./")||O.startsWith("../"))F=o.resolve(o.dirname(Q),`${O}.stx`),V.push(F);else for(let K0 of g){if(!K0)continue;for(let r0 of d){let p0=o.join(K0,r0);if(V.push(p0),await t(p0)){F=p0;break}}if(F)break;if(!F)try{let r0=await import("fs");if(!r0.statSync(K0,{throwIfNoEntry:!1})?.isDirectory())continue;let P5=8,G0=[{path:K0,depth:0}];while(G0.length>0&&!F){let k0=G0.pop();if(k0.depth>=P5)continue;let Q4;try{Q4=r0.readdirSync(k0.path,{withFileTypes:!0})}catch{continue}for(let E1 of Q4){if(!E1.isDirectory())continue;if(E1.name==="node_modules"||E1.name.startsWith("."))continue;let O$=o.join(k0.path,E1.name);for(let N0 of d){let $1=o.join(O$,N0);if(V.push($1),await t($1)){F=$1;break}}if(F)break;G0.push({path:O$,depth:k0.depth+1})}}}catch{}if(F)break}}if(!F||!await t(F)){let P=V.length>0?`
10289
10289
  Searched paths:
10290
10290
  ${V.map((d)=>` - ${d}`).join(`
10291
10291
  `)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${P}`}W.add(F);let N;if(t4.has(F))N=t4.get(F);else try{N=await Bun.file(F).text(),t4.set(F,N)}catch(P){return`[Error loading component: ${P instanceof Error?P.message:String(P)}]`}let A=new Set(["__originalFilePath","__importedComponents"]),w={};for(let[P,d]of Object.entries(J))if(!P.startsWith("__")||A.has(P))w[P]=d;let R={...w,...Z,props:Z,slot:Y,__processedComponents:_,__sections:{}};qM(N,R);let T=N,I=T.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>([\s\S]*?)<\/template>/i);if(I)T=I[1].trim();let E=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,k=[...N.matchAll(E)],S=[];for(let P of k){let d=P[1]||"",m=P[2]||"",g=d.includes("server");if(A$(d)&&m.trim())m=w$(m);if(g&&m)try{await U(m,R,F)}catch(a){}if(!g){let a=m.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,"");if(a.includes("{{")&&a.includes("}}"))a=G1(a,R,F);let l=d.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");S.push(`<script${l}>${a}</script>`)}}let x=N.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),y=x?x[1]:"",b=x?x[2]:"",f="",r=y&&/\bscoped\b/i.test(y);if(x)f=`<style${y}>${b}</style>`;let u=T;if(u=u.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),x)u=u.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let P=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,d=[];if(u=u.replace(P,(m,g)=>{let c=g.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(c)d.push(`<style${c[1]}>${c[2]}</style>`);return""}),u=u.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),d.length>0)f=`${f}${d.join(`
10292
- `)}`}if(Y&&u.includes("{{ text || slot }}"))u=u.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Y);let{extractSlotContent:C,applySlots:h}=await Promise.resolve().then(() => (q2(),Sz)),{defaultSlot:p,namedSlots:i}=C(Y);u=await h(u,p||Y,i,R);for(let[P,d]of Object.entries(R))if(typeof d==="string"){if(d.includes("<")&&d.includes(">")||d.includes("&lt;")||d.includes("&quot;")){let m=k3(d);R[P]=m}}let s=S.some((P)=>/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test(P)),K0={...G,componentsDir:o.dirname(F),skipSignalsRuntime:!0,skipEventDirectives:s,defaultLayout:void 0};R.__stxProcessingDepth=(J.__stxProcessingDepth||0)+1;let $0=await X0(u,R,F,K0,W),F0=`stx_${O.replace(/[^a-zA-Z0-9]/g,"_")}_${++UM}_${Math.random().toString(36).slice(2,8)}`,R0=$0;if(s){let P="";if(Object.keys(Z).length>0)try{P=` data-stx-props="${bz(JSON.stringify(Z))}"`}catch{}let d=q?` stx-hydrate="${bz(q)}"`:"";if(R0=`<div data-stx-scope="${F0}"${P}${d}>${$0}</div>`,R0=S.map((g)=>{let c=g.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!c)return g;let[,a,l]=c,Q0=t1(l),M0=`
10292
+ `)}`}if(Y&&u.includes("{{ text || slot }}"))u=u.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>Y);let{extractSlotContent:C,applySlots:h}=await Promise.resolve().then(() => (q2(),Sz)),{defaultSlot:p,namedSlots:i}=C(Y);u=await h(u,p||Y,i,R);for(let[P,d]of Object.entries(R))if(typeof d==="string"){if(d.includes("<")&&d.includes(">")||d.includes("&lt;")||d.includes("&quot;")){let m=k3(d);R[P]=m}}let s=S.some((P)=>/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test(P)),W0={...G,componentsDir:o.dirname(F),skipSignalsRuntime:!0,skipEventDirectives:s,defaultLayout:void 0};R.__stxProcessingDepth=(J.__stxProcessingDepth||0)+1;let $0=await X0(u,R,F,W0,W),V0=`stx_${O.replace(/[^a-zA-Z0-9]/g,"_")}_${++UM}_${Math.random().toString(36).slice(2,8)}`,M0=$0;if(s){let P="";if(Object.keys(Z).length>0)try{P=` data-stx-props="${bz(JSON.stringify(Z))}"`}catch{}let d=q?` stx-hydrate="${bz(q)}"`:"";if(M0=`<div data-stx-scope="${V0}"${P}${d}>${$0}</div>`,M0=S.map((g)=>{let c=g.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!c)return g;let[,a,l]=c,Q0=t1(l),R0=`
10293
10293
  (function() {
10294
10294
  const { state, derived, effect, batch, defineEmits, defineExpose, defineSlots, defineProps, withDefaults, useStore, useFetch, useRef, useQuery, useMutation, useOptimistic, useDebounce, useDebouncedValue, useThrottle, useInterval, useTimeout, useToggle, useCounter, useClickOutside, useFocus, useAsync, useLocalStorage, useSessionStorage, useCookie, useReactiveProp, useEventListener, useWebSocket, useColorMode, useDark, useHead, useSeoMeta, definePageMeta, useRoute, useSearchParams, navigate, goBack, goForward, provide, inject, ref, reactive, computed, watch, watchEffect, nextTick } = window.stx;
10295
10295
  const __scope = window.stx._scopes = window.stx._scopes || {};
10296
- const __scopeVars = __scope['${F0}'] = __scope['${F0}'] || {};
10296
+ const __scopeVars = __scope['${V0}'] = __scope['${V0}'] || {};
10297
10297
 
10298
10298
  // Scope-specific lifecycle callbacks
10299
10299
  __scopeVars.__mountCallbacks = __scopeVars.__mountCallbacks || [];
@@ -10306,20 +10306,20 @@ ${Q0}
10306
10306
  // Register all defined signals and functions in this scope
10307
10307
  const __localVars = {};
10308
10308
  try {
10309
- ${BM(Q0).map((w0)=>`if (typeof ${w0} !== 'undefined') __localVars['${w0}'] = ${w0};`).join(`
10309
+ ${BM(Q0).map((j0)=>`if (typeof ${j0} !== 'undefined') __localVars['${j0}'] = ${j0};`).join(`
10310
10310
  `)}
10311
10311
  }
10312
10312
  catch (e) {}
10313
10313
  Object.assign(__scopeVars, __localVars);
10314
- })();`;if(q)return`<script type="stx/island" data-stx-island="${F0}" data-stx-scoped${a}>${M0}</script>`;return`<script data-stx-scoped${a}>${M0}</script>`}).join(`
10314
+ })();`;if(q)return`<script type="stx/island" data-stx-island="${V0}" data-stx-scoped${a}>${R0}</script>`;return`<script data-stx-scoped${a}>${R0}</script>`}).join(`
10315
10315
  `)+`
10316
- `+R0,f)R0+=`
10317
- `+f}else{if(f)R0+=`
10318
- `+f;if(S.length>0){let P=R.__stx_event_bindings||[],d=V$(R),m=await Promise.all(S.map(async(g)=>{let c=g.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!c)return g;return await N$(c[1],{eventBindings:P,templateContent:R0,filePath:F,projectRoot:process.cwd(),serverData:d})}));R0+=`
10316
+ `+M0,f)M0+=`
10317
+ `+f}else{if(f)M0+=`
10318
+ `+f;if(S.length>0){let P=R.__stx_event_bindings||[],d=V$(R),m=await Promise.all(S.map(async(g)=>{let c=g.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!c)return g;return await N$(c[1],{eventBindings:P,templateContent:M0,filePath:F,projectRoot:process.cwd(),serverData:d})}));M0+=`
10319
10319
  `+m.join(`
10320
- `),R.__stx_event_bindings=[]}}if(r){let P=v4(R0,F);if(P.hasScoped)R0=P.html}return R0}catch(j){return`[Error processing component: ${j instanceof Error?j.message:String(j)}]`}finally{B.delete($)}}async function t($){return Bun.file($).exists()}function j2($,Z){let Y=o.resolve(Z),X=o.resolve($),J=Y.endsWith(o.sep)?Y:Y+o.sep;if(X===Y||X.startsWith(J))return X;return null}async function a4($,Z,Y,X){let J=await jM($,Z,Y,X);if(J===null)return null;let Q=j2(J,process.cwd());if(Q)return Q;let G=[Y.root,Y.layoutsDir,Y.componentsDir,Y.partialsDir,Y.pagesDir].filter((K)=>typeof K==="string"&&K.length>0);for(let K of G){let W=o.isAbsolute(K)?K:o.resolve(process.cwd(),K);if(j2(J,W))return o.resolve(J)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${J} (template: ${$}, from: ${Z})`),null}async function jM($,Z,Y,X){if(Y.debug)console.log(`Resolving template path: ${$} from ${Z}`);let J=o.dirname(Z),Q=process.cwd();if($.startsWith("/")){let z=o.join(Q,$),q=j2(z,Q);if(!q)return console.warn(`[stx] rejected template path that escapes project root: ${$} (from ${Z})`),null;if(Y.debug)console.log(`Checking absolute path: ${q}`);if(await t(q)&&X)X.add(q);return q}let G=o.join(J,$);if(await t(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 z of[".stx",".tsx",".jsx"]){let q=`${G}${z}`;if(await t(q)){if(Y.debug)console.log(`Found direct path with extension: ${q}`);if(X)X.add(q);return q}}let K="",W=o.resolve(J),U=process.cwd();for(let z=0;z<10;z++){let q=o.join(W,"layouts"),j=!1;try{j=WM.statSync(q,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(j){K=q;break}let H=o.dirname(W);if(H===W||H.length<U.length)break;W=H}if(K){let z=$.startsWith("layouts/")?$.slice(8):$,q=o.join(K,z);if(await t(q)){if(Y.debug)console.log(`Found in current layouts dir: ${q}`);if(X)X.add(q);return q}if(!z.endsWith(".stx")){let j=`${q}.stx`;if(await t(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 z=o.isAbsolute(Y.layoutsDir)?Y.layoutsDir:o.resolve(process.cwd(),Y.layoutsDir),q=$.startsWith("layouts/")?$.slice(8):$,j=o.join(z,q);if(await t(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 t(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 z=$.split("layouts/"),q=o.join(Y.partialsDir||J,"layouts",z[1]);if(await t(q)){if(Y.debug)console.log(`Found in layouts path: ${q}`);if(X)X.add(q);return q}if(!q.endsWith(".stx")){let j=`${q}.stx`;if(await t(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=o.join(Y.partialsDir,"layouts"),await t(K)){let z=o.join(K,$);if(await t(z)){if(Y.debug)console.log(`Found in partials layouts dir: ${z}`);if(X)X.add(z);return z}if(!$.endsWith(".stx")){let q=`${z}.stx`;if(await t(q)){if(Y.debug)console.log(`Found in partials layouts dir with extension: ${q}`);if(X)X.add(q);return q}}}}let B=Y.partialsDir||o.join(process.cwd(),"views"),_=o.join(B,$);if(await t(_)){if(Y.debug)console.log(`Found in views path: ${_}`);if(X)X.add(_);return _}if(!$.endsWith(".stx")){let z=`${_}.stx`;if(await t(z)){if(Y.debug)console.log(`Found in views path with extension: ${z}`);if(X)X.add(z);return z}}if(J.includes("temp")){let z=o.join(o.dirname(J),"layouts",$);if(await t(z)){if(Y.debug)console.log(`Found in temp layouts dir: ${z}`);if(X)X.add(z);return z}if(!$.endsWith(".stx")){let q=`${z}.stx`;if(await t(q)){if(Y.debug)console.log(`Found in temp layouts dir with extension: ${q}`);if(X)X.add(q);return q}}}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 H2($,Z,Y){let X=0,J="",Q="";try{if(typeof Z==="number"&&Z>=0){let G=$.split(`
10320
+ `),R.__stx_event_bindings=[]}}if(r){let P=v4(M0,F);if(P.hasScoped)M0=P.html}return M0}catch(j){return`[Error processing component: ${j instanceof Error?j.message:String(j)}]`}finally{B.delete($)}}async function t($){return Bun.file($).exists()}function j2($,Z){let Y=o.resolve(Z),X=o.resolve($),J=Y.endsWith(o.sep)?Y:Y+o.sep;if(X===Y||X.startsWith(J))return X;return null}async function a4($,Z,Y,X){let J=await jM($,Z,Y,X);if(J===null)return null;let Q=j2(J,process.cwd());if(Q)return Q;let G=[Y.root,Y.layoutsDir,Y.componentsDir,Y.partialsDir,Y.pagesDir].filter((K)=>typeof K==="string"&&K.length>0);for(let K of G){let W=o.isAbsolute(K)?K:o.resolve(process.cwd(),K);if(j2(J,W))return o.resolve(J)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${J} (template: ${$}, from: ${Z})`),null}async function jM($,Z,Y,X){if(Y.debug)console.log(`Resolving template path: ${$} from ${Z}`);let J=o.dirname(Z),Q=process.cwd();if($.startsWith("/")){let z=o.join(Q,$),q=j2(z,Q);if(!q)return console.warn(`[stx] rejected template path that escapes project root: ${$} (from ${Z})`),null;if(Y.debug)console.log(`Checking absolute path: ${q}`);if(await t(q)&&X)X.add(q);return q}let G=o.join(J,$);if(await t(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 z of[".stx",".tsx",".jsx"]){let q=`${G}${z}`;if(await t(q)){if(Y.debug)console.log(`Found direct path with extension: ${q}`);if(X)X.add(q);return q}}let K="",W=o.resolve(J),U=process.cwd();for(let z=0;z<10;z++){let q=o.join(W,"layouts"),j=!1;try{j=WM.statSync(q,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(j){K=q;break}let H=o.dirname(W);if(H===W||H.length<U.length)break;W=H}if(K){let z=$.startsWith("layouts/")?$.slice(8):$,q=o.join(K,z);if(await t(q)){if(Y.debug)console.log(`Found in current layouts dir: ${q}`);if(X)X.add(q);return q}if(!z.endsWith(".stx")){let j=`${q}.stx`;if(await t(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 z=o.isAbsolute(Y.layoutsDir)?Y.layoutsDir:o.resolve(process.cwd(),Y.layoutsDir),q=$.startsWith("layouts/")?$.slice(8):$,j=o.join(z,q);if(await t(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 t(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 z=$.split("layouts/"),q=o.join(Y.partialsDir||J,"layouts",z[1]);if(await t(q)){if(Y.debug)console.log(`Found in layouts path: ${q}`);if(X)X.add(q);return q}if(!q.endsWith(".stx")){let j=`${q}.stx`;if(await t(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=o.join(Y.partialsDir,"layouts"),await t(K)){let z=o.join(K,$);if(await t(z)){if(Y.debug)console.log(`Found in partials layouts dir: ${z}`);if(X)X.add(z);return z}if(!$.endsWith(".stx")){let q=`${z}.stx`;if(await t(q)){if(Y.debug)console.log(`Found in partials layouts dir with extension: ${q}`);if(X)X.add(q);return q}}}}let B=Y.partialsDir||o.join(process.cwd(),"views"),_=o.join(B,$);if(await t(_)){if(Y.debug)console.log(`Found in views path: ${_}`);if(X)X.add(_);return _}if(!$.endsWith(".stx")){let z=`${_}.stx`;if(await t(z)){if(Y.debug)console.log(`Found in views path with extension: ${z}`);if(X)X.add(z);return z}}if(J.includes("temp")){let z=o.join(o.dirname(J),"layouts",$);if(await t(z)){if(Y.debug)console.log(`Found in temp layouts dir: ${z}`);if(X)X.add(z);return z}if(!$.endsWith(".stx")){let q=`${z}.stx`;if(await t(q)){if(Y.debug)console.log(`Found in temp layouts dir with extension: ${q}`);if(X)X.add(q);return q}}}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 H2($,Z,Y){let X=0,J="",Q="";try{if(typeof Z==="number"&&Z>=0){let G=$.split(`
10321
10321
  `),K=0;for(let W=0;W<G.length;W++)if(K+=G[W].length+1,K>=Z){X=W+1,J=G[W].trim();let U=Math.max(0,W-2),B=Math.min(G.length,W+3);Q=G.slice(U,B).map((_,z)=>{let q=U+z+1;return`${q===X?"> ":" "}${q}: ${_}`}).join(`
10322
- `);break}}else if(Y){let G=$.indexOf(Y);if(G>=0)return H2($,G)}}catch{}return{lineNumber:X,lineContent:J,context:Q}}function L0($,Z,Y,X,J,Q){let{lineNumber:G,context:K}=H2(X,J,Q),W=Y.split("/").pop(),U=0;if(typeof J==="number"&&J>=0&&X){let _=X.lastIndexOf(`
10322
+ `);break}}else if(Y){let G=$.indexOf(Y);if(G>=0)return H2($,G)}}catch{}return{lineNumber:X,lineContent:J,context:Q}}function F0($,Z,Y,X,J,Q){let{lineNumber:G,context:K}=H2(X,J,Q),W=Y.split("/").pop(),U=0;if(typeof J==="number"&&J>=0&&X){let _=X.lastIndexOf(`
10323
10323
  `,Math.max(0,J-1));U=J-(_+1)+1}let B="";if(G>0)B+=`
10324
10324
  ${Y}:${G}${U>0?`:${U}`:""}: ${$.toLowerCase()} error: ${Z}
10325
10325
  `;if(B+=`
@@ -10332,8 +10332,8 @@ ${U0.yellow}${U0.bold}Message:${U0.reset} ${Z}
10332
10332
  `,K)B+=`
10333
10333
  ${U0.blue}${U0.bold}Context:${U0.reset}
10334
10334
  ${U0.dim}${K}${U0.reset}
10335
- `;return B}function m$(){t4.clear()}function HM(){return{size:t4.size,maxSize:500}}var t4,UM=0,U0;var N0=D(()=>{K5();c0();U5();O1();Q5();k8();Tz();v$();t4=new j4(500);U0={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 W2($,Z,Y=""){let X=$,J=[],Q=/@markdown(?:\([^)]*\))?/g,G;while((G=Q.exec($))!==null){let K=G.index,W=G[0].match(/@markdown\(([^)]*)\)/),U=W?W[1]:"",B=K+G[0].length,_=1,z=B,q=-1;while(_>0&&z<$.length){let O=$.indexOf("@markdown",z),F=$.indexOf("@endmarkdown",z);if(F===-1)break;if(O!==-1&&O<F&&O!==K){let L=$[O+9];if(L==="("||L===`
10336
- `||L==="\r"||L===" "||L===void 0)_++;z=O+9}else{if(_--,_===0){q=F;break}z=F+12}}if(q===-1)continue;let j=$.slice(B,q),H=$.slice(K,q+12);J.push({fullMatch:H,options:U,content:j,index:K}),Q.lastIndex=q+12}for(let{fullMatch:K,options:W,content:U,index:B}of J)try{let _={};if(W)W.split(",").forEach((j)=>{let H=j.trim();if(H)_[H]=!0});let z={gfm:_.gfm??!0,breaks:_.breaks??!1},q=G4(U.trim(),z);X=X.split(K).join(q)}catch(_){let z=_ instanceof Error?_.message:String(_),q=L0("Markdown Directive",`Error processing markdown: ${z}`,Y,$,B,K);X=X.split(K).join(q)}return X}async function O2($,Z,Y,X){let J={gfm:!0,breaks:!1};return Z.forEach((Q)=>{let G=Q.trim().replace(/['"]/g,"");if(G==="breaks")J.breaks=!0;if(G==="no-gfm")J.gfm=!1}),G4($.trim(),J)}var o8=D(()=>{N0()});function Pz($){if(a8.set($.name,$),$.client)L2.set($.name,$.client)}function OM($){return a8.get($)}function LM(){return Array.from(a8.values())}function FM($){return L2.delete($),a8.delete($)}function S0($){return Pz($),{name:$.name,hasEndTag:$.hasEndTag??!0,description:$.description,handler:async(Y,X,J,Q)=>{let G=NM(X,$.defaults);if($.validate){let W=$.validate(G);if(W!==!0){let U=typeof W==="string"?W:`Invalid parameters for @${$.name}`;throw Error(U)}}let K=Y;if($.transform)K=await $.transform(Y,G,J,Q);if($.clientScript){let W=$.clientScript(G);K+=`<script>${W}</script>`}if($.css){let W=$.css(G);K+=`<style>${W}</style>`}return K}}}function VM($,Z){let Y=typeof Z==="function"?{mounted:Z}:Z;return L2.set($,Y),Y}function NM($,Z){let Y={...Z};for(let X of $){let J=X.indexOf(":"),Q=X.indexOf("="),G=J>=0&&(Q<0||J<Q)?J:Q;if(G>=0){let K=X.slice(0,G).trim(),W=X.slice(G+1).trim();if(W==="true")W=!0;else if(W==="false")W=!1;else if(W==="null")W=null;else if(!Number.isNaN(Number(W)))W=Number(W);else if(typeof W==="string"&&W.startsWith("{"))try{W=JSON.parse(W)}catch{}Y[K]=W}else{let K=Object.keys(Y).filter((W)=>!Z||!(W in Z)).length;Y[K===0?"value":`arg${K}`]=X}}return Y}function AM(){return[S0({name:"uppercase",description:"Convert content to uppercase",transform:($)=>$.toUpperCase()}),S0({name:"lowercase",description:"Convert content to lowercase",transform:($)=>$.toLowerCase()}),S0({name:"capitalize",description:"Capitalize first letter of content",transform:($)=>$.charAt(0).toUpperCase()+$.slice(1)}),S0({name:"trim",description:"Remove leading and trailing whitespace",transform:($)=>$.trim()}),S0({name:"truncate",description:"Truncate content to specified length",defaults:{length:100,suffix:"..."},transform:($,{length:Z,suffix:Y})=>$.length>Z?$.slice(0,Z)+Y:$}),S0({name:"highlight",description:"Highlight content with background color",defaults:{color:"yellow"},transform:($,{color:Z})=>`<mark style="background-color: ${Z}; padding: 0.1em 0.2em; border-radius: 0.2em;">${$}</mark>`}),S0({name:"badge",description:"Create a badge/tag",defaults:{variant:"default",color:""},transform:($,{variant:Z,color:Y})=>{let X={default:"background: #e5e7eb; color: #374151;",primary:"background: #3b82f6; color: white;",success:"background: #10b981; color: white;",warning:"background: #f59e0b; color: white;",danger:"background: #ef4444; color: white;",info:"background: #06b6d4; color: white;"};return`<span style="${Y?`background: ${Y}; color: white;`:X[Z]||X.default} padding: 0.25em 0.5em; border-radius: 9999px; font-size: 0.875em; font-weight: 500;">${$}</span>`}}),S0({name:"code",description:"Style content as inline code",transform:($)=>`<code style="background: #f3f4f6; padding: 0.2em 0.4em; border-radius: 0.25em; font-family: ui-monospace, monospace; font-size: 0.875em;">${$}</code>`}),S0({name:"tooltip",description:"Add a tooltip to content",defaults:{text:"",position:"top"},hasEndTag:!0,transform:($,{text:Z,position:Y})=>`<span class="stx-tooltip" data-tooltip="${Z}" data-tooltip-position="${Y}" style="position: relative; cursor: help;">${$}</span>`,css:()=>`
10335
+ `;return B}function m$(){t4.clear()}function HM(){return{size:t4.size,maxSize:500}}var t4,UM=0,U0;var A0=D(()=>{K5();c0();U5();O1();Q5();k8();Tz();v$();t4=new j4(500);U0={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 W2($,Z,Y=""){let X=$,J=[],Q=/@markdown(?:\([^)]*\))?/g,G;while((G=Q.exec($))!==null){let K=G.index,W=G[0].match(/@markdown\(([^)]*)\)/),U=W?W[1]:"",B=K+G[0].length,_=1,z=B,q=-1;while(_>0&&z<$.length){let O=$.indexOf("@markdown",z),F=$.indexOf("@endmarkdown",z);if(F===-1)break;if(O!==-1&&O<F&&O!==K){let L=$[O+9];if(L==="("||L===`
10336
+ `||L==="\r"||L===" "||L===void 0)_++;z=O+9}else{if(_--,_===0){q=F;break}z=F+12}}if(q===-1)continue;let j=$.slice(B,q),H=$.slice(K,q+12);J.push({fullMatch:H,options:U,content:j,index:K}),Q.lastIndex=q+12}for(let{fullMatch:K,options:W,content:U,index:B}of J)try{let _={};if(W)W.split(",").forEach((j)=>{let H=j.trim();if(H)_[H]=!0});let z={gfm:_.gfm??!0,breaks:_.breaks??!1},q=G4(U.trim(),z);X=X.split(K).join(q)}catch(_){let z=_ instanceof Error?_.message:String(_),q=F0("Markdown Directive",`Error processing markdown: ${z}`,Y,$,B,K);X=X.split(K).join(q)}return X}async function O2($,Z,Y,X){let J={gfm:!0,breaks:!1};return Z.forEach((Q)=>{let G=Q.trim().replace(/['"]/g,"");if(G==="breaks")J.breaks=!0;if(G==="no-gfm")J.gfm=!1}),G4($.trim(),J)}var o8=D(()=>{A0()});function Pz($){if(a8.set($.name,$),$.client)L2.set($.name,$.client)}function OM($){return a8.get($)}function LM(){return Array.from(a8.values())}function FM($){return L2.delete($),a8.delete($)}function S0($){return Pz($),{name:$.name,hasEndTag:$.hasEndTag??!0,description:$.description,handler:async(Y,X,J,Q)=>{let G=NM(X,$.defaults);if($.validate){let W=$.validate(G);if(W!==!0){let U=typeof W==="string"?W:`Invalid parameters for @${$.name}`;throw Error(U)}}let K=Y;if($.transform)K=await $.transform(Y,G,J,Q);if($.clientScript){let W=$.clientScript(G);K+=`<script>${W}</script>`}if($.css){let W=$.css(G);K+=`<style>${W}</style>`}return K}}}function VM($,Z){let Y=typeof Z==="function"?{mounted:Z}:Z;return L2.set($,Y),Y}function NM($,Z){let Y={...Z};for(let X of $){let J=X.indexOf(":"),Q=X.indexOf("="),G=J>=0&&(Q<0||J<Q)?J:Q;if(G>=0){let K=X.slice(0,G).trim(),W=X.slice(G+1).trim();if(W==="true")W=!0;else if(W==="false")W=!1;else if(W==="null")W=null;else if(!Number.isNaN(Number(W)))W=Number(W);else if(typeof W==="string"&&W.startsWith("{"))try{W=JSON.parse(W)}catch{}Y[K]=W}else{let K=Object.keys(Y).filter((W)=>!Z||!(W in Z)).length;Y[K===0?"value":`arg${K}`]=X}}return Y}function AM(){return[S0({name:"uppercase",description:"Convert content to uppercase",transform:($)=>$.toUpperCase()}),S0({name:"lowercase",description:"Convert content to lowercase",transform:($)=>$.toLowerCase()}),S0({name:"capitalize",description:"Capitalize first letter of content",transform:($)=>$.charAt(0).toUpperCase()+$.slice(1)}),S0({name:"trim",description:"Remove leading and trailing whitespace",transform:($)=>$.trim()}),S0({name:"truncate",description:"Truncate content to specified length",defaults:{length:100,suffix:"..."},transform:($,{length:Z,suffix:Y})=>$.length>Z?$.slice(0,Z)+Y:$}),S0({name:"highlight",description:"Highlight content with background color",defaults:{color:"yellow"},transform:($,{color:Z})=>`<mark style="background-color: ${Z}; padding: 0.1em 0.2em; border-radius: 0.2em;">${$}</mark>`}),S0({name:"badge",description:"Create a badge/tag",defaults:{variant:"default",color:""},transform:($,{variant:Z,color:Y})=>{let X={default:"background: #e5e7eb; color: #374151;",primary:"background: #3b82f6; color: white;",success:"background: #10b981; color: white;",warning:"background: #f59e0b; color: white;",danger:"background: #ef4444; color: white;",info:"background: #06b6d4; color: white;"};return`<span style="${Y?`background: ${Y}; color: white;`:X[Z]||X.default} padding: 0.25em 0.5em; border-radius: 9999px; font-size: 0.875em; font-weight: 500;">${$}</span>`}}),S0({name:"code",description:"Style content as inline code",transform:($)=>`<code style="background: #f3f4f6; padding: 0.2em 0.4em; border-radius: 0.25em; font-family: ui-monospace, monospace; font-size: 0.875em;">${$}</code>`}),S0({name:"tooltip",description:"Add a tooltip to content",defaults:{text:"",position:"top"},hasEndTag:!0,transform:($,{text:Z,position:Y})=>`<span class="stx-tooltip" data-tooltip="${Z}" data-tooltip-position="${Y}" style="position: relative; cursor: help;">${$}</span>`,css:()=>`
10337
10337
  .stx-tooltip::after {
10338
10338
  content: attr(data-tooltip);
10339
10339
  position: absolute;
@@ -10526,7 +10526,7 @@ ${U0.dim}${K}${U0.reset}
10526
10526
  filter: blur(0);
10527
10527
  transform: scale(1);
10528
10528
  }
10529
- `.trim();z7=new Map});import{createHash as g2}from"crypto";import{readFile as TM,stat as fz}from"fs/promises";async function n0($){try{let Z=await TM($);return g2("sha256").update(Z).digest("hex").slice(0,16)}catch{return""}}function gz($){return g2("sha256").update($).digest("hex").slice(0,16)}function ZZ($){return g2("sha256").update($).digest("hex").slice(0,16)}function j7($,Z){let Y=JSON.stringify(Z,Object.keys(Z).sort());return`${ZZ($)}-${ZZ(Y)}`}async function G6($){try{return(await fz($)).mtimeMs}catch{return 0}}async function s0($){try{return await fz($),!0}catch{return!1}}var c$=()=>{};import{mkdir as IM,readFile as dz,writeFile as EM,readdir as uz,rm as h2,stat as DM}from"fs/promises";import{join as H7,dirname as kM}from"path";async function SM($){try{await IM($,{recursive:!0})}catch{}}function mz($,Z,Y){return H7($,Y,`${Z}.json`)}async function hz($,Z,Y){if((Date.now()-$.createdAt)/86400000>Y)return!1;if(await G6(Z)!==$.srcMtime)return!1;return!0}async function O7($,Z,Y,X=K6){if(!X.enabled)return null;let J=j7($,Z),Q=l$.get(J);if(Q){if(await hz(Q,$,X.maxAge))return Q.lastAccessedAt=Date.now(),Q.data;l$.delete(J)}let G=mz(X.directory,J,Y);if(await s0(G))try{let K=await dz(G,"utf-8"),W=JSON.parse(K);if(await hz(W,$,X.maxAge))return W.lastAccessedAt=Date.now(),l$.set(J,W),W.data}catch{}return null}async function L7($,Z,Y,X,J=K6){if(!J.enabled)return;let Q=j7($,Z),G=await n0($),K=await G6($),W={key:Q,src:$,srcHash:G,srcMtime:K,optionsHash:j7("",Z),data:Y,createdAt:Date.now(),lastAccessedAt:Date.now()};l$.set(Q,W);let U=mz(J.directory,Q,X);try{await SM(kM(U)),await EM(U,JSON.stringify(W,null,2))}catch(B){console.warn(`[stx-media] Failed to write cache: ${B}`)}}async function F7($,Z=K6){if($==="all")l$.clear();else l$.clear();let Y=$==="all"?["image","video"]:[$];for(let X of Y){let J=H7(Z.directory,X);try{await h2(J,{recursive:!0,force:!0})}catch{}}}async function pz($=K6){let Z={memoryEntries:l$.size,diskEntries:{image:0,video:0},totalSizeMB:0};for(let Y of["image","video"]){let X=H7($.directory,Y);try{let J=await uz(X);Z.diskEntries[Y]=J.length;for(let Q of J){let G=H7(X,Q),K=await DM(G);Z.totalSizeMB+=K.size/1048576}}catch{}}return Z}async function cz($=K6){let Z=0,Y=$.maxAge*24*60*60*1000;for(let X of["image","video"]){let J=H7($.directory,X);try{let Q=await uz(J);for(let G of Q){let K=H7(J,G);try{let W=await dz(K,"utf-8"),U=JSON.parse(W);if(Date.now()-U.createdAt>Y)await h2(K),l$.delete(U.key),Z++}catch{await h2(K).catch(()=>{}),Z++}}}catch{}}return Z}var l$,K6;var YZ=D(()=>{c$();l$=new Map,K6={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class V7{config;constructor($={}){this.config={...bM,...$}}async get($,Z){return O7($,Z,"image",this.config)}async set($,Z,Y){return L7($,Z,Y,"image",this.config)}async clear(){return F7("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function d2($){if(!XZ)XZ=new V7($);else if($)XZ.updateConfig($);return XZ}async function N7($,Z,Y){let X=Y?{directory:`${Y.outputDir}/../.cache`}:{};return d2(X).get($,Z)}async function A7($,Z,Y,X){let J=X?{directory:`${X.outputDir}/../.cache`}:{};return d2(J).set($,Z,Y)}async function u2(){return d2().clear()}var bM,XZ=null;var m2=D(()=>{YZ();bM={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as CM,basename as yM,extname as PM,join as xM}from"path";import{mkdir as vM}from"fs/promises";async function p2(){try{return await import("ts-images")}catch{return null}}function lz($){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 fM($,Z){let Y=Z?lz(Z):lz("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 c2($,Z,Y){let X=await p2();if(!X)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let J=await N7($,Z,Y);if(J)return J;try{let Q=CM($);if(!await s0(Q))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let G=fM(Y,Z.preset),K=Y.outputDir||"dist/images",W=Y.baseUrl||"/images";await vM(K,{recursive:!0});let U=await n0(Q),B=yM($,PM($)),_=Z.outputFormat?[Z.outputFormat]:Y.defaultFormats||["avif","webp","jpeg"],z={src:$,processed:!0,variants:[],hash:U},q=null;if(Z.transformations&&Z.transformations.length>0)q=await W6(Q,Z.transformations,X);for(let j of _){let H=G[j]||{},O=`${B}-${U}.${j}`,F=xM(K,O);try{let L=await X.optimizeImage({input:q||Q,output:F,format:j,quality:H.quality,progressive:H.progressive});if(L){if(z.variants.push({path:F,url:`${W}/${O}`,width:L.width||0,height:L.height||0,format:j,size:L.outputSize||0}),!z.originalWidth&&L.width)z.originalWidth=L.width,z.originalHeight=L.height}}catch(L){z.errors=z.errors||[],z.errors.push(`Failed to optimize ${j}: ${L}`)}}if(Z.embedThumbhash||Z.placeholder==="thumbhash")try{let j=await X.generateThumbHash(Q);z.placeholder=j.dataUrl}catch(j){z.errors=z.errors||[],z.errors.push(`Failed to generate thumbhash: ${j}`)}if(Z.useDominantColor)try{let j=await X.generatePlaceholder(Q,{strategy:"dominant-color"});z.dominantColor=j.dominantColor}catch(j){z.errors=z.errors||[],z.errors.push(`Failed to extract dominant color: ${j}`)}return await A7($,Z,z,Y),z}catch(Q){return{src:$,processed:!1,errors:[`Processing failed: ${Q}`]}}}async function l2($,Z,Y,X){let J=await p2();if(!J)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await J.optimizeImage({input:$,output:X,format:Z,quality:Y}))?.outputSize}}catch(Q){return{success:!1,error:String(Q)}}}async function W6($,Z,Y){let X=Y||await p2();if(!X)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let J=await X.decode($);for(let Q of Z){let G=Q.options||{};switch(Q.type){case"resize":if(G.width||G.height)J=await X.resize(J,{width:G.width,height:G.height,fit:G.fit});break;case"blur":if(G.sigma!==void 0)J=await X.blur(J,G.sigma);break;case"sharpen":if(G.amount!==void 0)J=await X.sharpen(J,G.amount);break;case"grayscale":J=await X.grayscale(J);break;case"rotate":if(G.angle!==void 0)J=await X.rotate(J,G.angle);break;case"flip":J=await X.flip(J);break;case"flop":J=await X.flop(J);break;case"brightness":if(G.value!==void 0)J=await X.brightness(J,G.value);break;case"contrast":if(G.value!==void 0)J=await X.contrast(J,G.value);break;case"saturation":if(G.value!==void 0)J=await X.saturation(J,G.value);break}}return await X.encode(J,"png")}catch(J){return console.error(`[stx-media] Transformation failed: ${J}`),null}}var iz=D(()=>{c$();m2()});import{resolve as gM,basename as hM,extname as dM,join as uM}from"path";import{mkdir as mM}from"fs/promises";async function pM(){try{return await import("ts-images")}catch{return null}}async function JZ($,Z,Y){let X=await pM();if(!X)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let J=gM($);if(!await s0(J))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let Q=Z.responsiveWidths||Y.breakpoints||cM,G=Z.formats||Y.defaultFormats||["avif","webp","jpeg"],K=Y.outputDir||"dist/images",W=Y.baseUrl||"/images";await mM(K,{recursive:!0});let U=await n0(J),B=hM($,dM($)),_=Y.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},z={src:$,byFormat:{},srcsets:{}};for(let j of G){z.byFormat[j]=[];let H=[];for(let O of Q){let F=`${B}-${O}w-${U}.${j}`,L=uM(K,F),V=`${W}/${F}`;try{let N=_[j]?.quality||80;if(await s0(L)){z.byFormat[j].push({path:L,url:V,width:O,height:0,format:j,size:0}),H.push(`${V} ${O}w`);continue}let A=await X.processImage({input:J,output:L,format:j,quality:N,resize:{width:O}});if(A)z.byFormat[j].push({path:L,url:V,width:O,height:A.height||Math.round(O*(A.height||1)/(A.width||1)),format:j,size:A.outputSize||0}),H.push(`${V} ${O}w`)}catch(N){console.warn(`[stx-media] Failed to generate ${j} at ${O}w: ${N}`)}}z.srcsets[j]=H.join(", ")}let q=Z.placeholder||Y.placeholderStrategy||"thumbhash";if(q!=="none")try{if(q==="thumbhash"){let j=await X.generateThumbHash(J);z.placeholder={dataURL:j.dataUrl,width:j.width||32,height:j.height||32,strategy:"thumbhash"}}else{let j=await X.generatePlaceholder(J,{strategy:q,width:20});z.placeholder={dataURL:j.dataURL,width:j.width,height:j.height,strategy:q}}}catch(j){console.warn(`[stx-media] Failed to generate placeholder: ${j}`)}return z.sizes=Z.sizes||lM(Q),z}catch(Q){return console.error(`[stx-media] Responsive generation failed: ${Q}`),null}}function lM($){let Z=[...$].sort((X,J)=>X-J),Y=[];for(let X=0;X<Z.length-1;X++){let J=Z[X];Y.push(`(max-width: ${J}px) ${J}px`)}return Y.push(`${Z[Z.length-1]}px`),Y.join(", ")}function QZ($,Z="width"){if(!$||$.length===0)return"";if(Z==="dpr")return $.filter((Y)=>Y.dpr).map((Y)=>`${Y.url} ${Y.dpr}x`).join(", ");return $.map((Y)=>`${Y.url} ${Y.width}w`).join(", ")}var cM;var nz=D(()=>{c$();cM=[320,480,640,768,1024,1280,1536,1920]});var sz={};Z0(sz,{setCachedImageResult:()=>A7,processImage:()=>c2,optimizeImage:()=>l2,getCachedImageResult:()=>N7,generateSrcset:()=>QZ,generateResponsiveVariants:()=>JZ,clearImageCache:()=>u2,applyTransformations:()=>W6,ImageProcessorCache:()=>V7});var i2=D(()=>{iz();nz();m2()});async function iM(){try{return await Promise.resolve().then(() => (i2(),sz))}catch($){if(!rz)console.warn("[stx-media] Image processor not available, some features disabled:",$),rz=!0;return null}}async function i$($,Z={}){let Y=Z,X=$;if(X.process&&!X.skipOptimization){if(Y.tsImagesConfig?.enabled&&!Y.isDev)return oM(X,Y)}if(Y.processedResult?.processed)return a2($,Y.processedResult,Z);if(Y.responsiveVariants)return ez($,Y.responsiveVariants,Z);let{src:J,alt:Q,width:G,height:K,sizes:W,widths:U=c1,dpr:B,formats:_=Q$,quality:z=n2,params:q={},placeholder:j="none",placeholderOptions:H={},lazy:O=!0,priority:F=!1,loading:L=F?"eager":KZ,decoding:V=GZ,fetchpriority:N,objectFit:A,objectPosition:w,crossorigin:R,referrerpolicy:T}=$,I=$.class,E=$.style,k=$.id,S=$.data||{},{isDev:x=!1,baseUrl:y=""}=Z;if(x&&!Z.optimize)return rM($);let b,f,r=k||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!F)try{b=await Q6(J,{strategy:j,...H}),f=J6(r,b,H)}catch{}let u=B!==void 0&&G!==void 0,C;if(u)C=sM($,r,b,Z);else C=await nM($,r,b,Z);let h;if(F){let s=_.includes("webp")?"webp":_[0],K0=p$(J,U,{...q,q:z},s),$0=typeof W==="object"?_7(W):W||"100vw";h=`<link rel="preload" as="image" imagesrcset="${K0}" imagesizes="${$0}" />`}let p=[];if(!oz&&j!=="none")p.push(q7),oz=!0;if(f)p.push(f);let i=O?tz(r):void 0;return{html:C,preloadLink:h,css:p.length>0?p.join(`
10529
+ `.trim();z7=new Map});import{createHash as g2}from"crypto";import{readFile as TM,stat as fz}from"fs/promises";async function n0($){try{let Z=await TM($);return g2("sha256").update(Z).digest("hex").slice(0,16)}catch{return""}}function gz($){return g2("sha256").update($).digest("hex").slice(0,16)}function ZZ($){return g2("sha256").update($).digest("hex").slice(0,16)}function j7($,Z){let Y=JSON.stringify(Z,Object.keys(Z).sort());return`${ZZ($)}-${ZZ(Y)}`}async function G6($){try{return(await fz($)).mtimeMs}catch{return 0}}async function s0($){try{return await fz($),!0}catch{return!1}}var c$=()=>{};import{mkdir as IM,readFile as dz,writeFile as EM,readdir as uz,rm as h2,stat as DM}from"fs/promises";import{join as H7,dirname as kM}from"path";async function SM($){try{await IM($,{recursive:!0})}catch{}}function mz($,Z,Y){return H7($,Y,`${Z}.json`)}async function hz($,Z,Y){if((Date.now()-$.createdAt)/86400000>Y)return!1;if(await G6(Z)!==$.srcMtime)return!1;return!0}async function O7($,Z,Y,X=K6){if(!X.enabled)return null;let J=j7($,Z),Q=l$.get(J);if(Q){if(await hz(Q,$,X.maxAge))return Q.lastAccessedAt=Date.now(),Q.data;l$.delete(J)}let G=mz(X.directory,J,Y);if(await s0(G))try{let K=await dz(G,"utf-8"),W=JSON.parse(K);if(await hz(W,$,X.maxAge))return W.lastAccessedAt=Date.now(),l$.set(J,W),W.data}catch{}return null}async function L7($,Z,Y,X,J=K6){if(!J.enabled)return;let Q=j7($,Z),G=await n0($),K=await G6($),W={key:Q,src:$,srcHash:G,srcMtime:K,optionsHash:j7("",Z),data:Y,createdAt:Date.now(),lastAccessedAt:Date.now()};l$.set(Q,W);let U=mz(J.directory,Q,X);try{await SM(kM(U)),await EM(U,JSON.stringify(W,null,2))}catch(B){console.warn(`[stx-media] Failed to write cache: ${B}`)}}async function F7($,Z=K6){if($==="all")l$.clear();else l$.clear();let Y=$==="all"?["image","video"]:[$];for(let X of Y){let J=H7(Z.directory,X);try{await h2(J,{recursive:!0,force:!0})}catch{}}}async function pz($=K6){let Z={memoryEntries:l$.size,diskEntries:{image:0,video:0},totalSizeMB:0};for(let Y of["image","video"]){let X=H7($.directory,Y);try{let J=await uz(X);Z.diskEntries[Y]=J.length;for(let Q of J){let G=H7(X,Q),K=await DM(G);Z.totalSizeMB+=K.size/1048576}}catch{}}return Z}async function cz($=K6){let Z=0,Y=$.maxAge*24*60*60*1000;for(let X of["image","video"]){let J=H7($.directory,X);try{let Q=await uz(J);for(let G of Q){let K=H7(J,G);try{let W=await dz(K,"utf-8"),U=JSON.parse(W);if(Date.now()-U.createdAt>Y)await h2(K),l$.delete(U.key),Z++}catch{await h2(K).catch(()=>{}),Z++}}}catch{}}return Z}var l$,K6;var YZ=D(()=>{c$();l$=new Map,K6={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class V7{config;constructor($={}){this.config={...bM,...$}}async get($,Z){return O7($,Z,"image",this.config)}async set($,Z,Y){return L7($,Z,Y,"image",this.config)}async clear(){return F7("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function d2($){if(!XZ)XZ=new V7($);else if($)XZ.updateConfig($);return XZ}async function N7($,Z,Y){let X=Y?{directory:`${Y.outputDir}/../.cache`}:{};return d2(X).get($,Z)}async function A7($,Z,Y,X){let J=X?{directory:`${X.outputDir}/../.cache`}:{};return d2(J).set($,Z,Y)}async function u2(){return d2().clear()}var bM,XZ=null;var m2=D(()=>{YZ();bM={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as CM,basename as yM,extname as PM,join as xM}from"path";import{mkdir as vM}from"fs/promises";async function p2(){try{return await import("ts-images")}catch{return null}}function lz($){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 fM($,Z){let Y=Z?lz(Z):lz("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 c2($,Z,Y){let X=await p2();if(!X)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let J=await N7($,Z,Y);if(J)return J;try{let Q=CM($);if(!await s0(Q))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let G=fM(Y,Z.preset),K=Y.outputDir||"dist/images",W=Y.baseUrl||"/images";await vM(K,{recursive:!0});let U=await n0(Q),B=yM($,PM($)),_=Z.outputFormat?[Z.outputFormat]:Y.defaultFormats||["avif","webp","jpeg"],z={src:$,processed:!0,variants:[],hash:U},q=null;if(Z.transformations&&Z.transformations.length>0)q=await W6(Q,Z.transformations,X);for(let j of _){let H=G[j]||{},O=`${B}-${U}.${j}`,F=xM(K,O);try{let L=await X.optimizeImage({input:q||Q,output:F,format:j,quality:H.quality,progressive:H.progressive});if(L){if(z.variants.push({path:F,url:`${W}/${O}`,width:L.width||0,height:L.height||0,format:j,size:L.outputSize||0}),!z.originalWidth&&L.width)z.originalWidth=L.width,z.originalHeight=L.height}}catch(L){z.errors=z.errors||[],z.errors.push(`Failed to optimize ${j}: ${L}`)}}if(Z.embedThumbhash||Z.placeholder==="thumbhash")try{let j=await X.generateThumbHash(Q);z.placeholder=j.dataUrl}catch(j){z.errors=z.errors||[],z.errors.push(`Failed to generate thumbhash: ${j}`)}if(Z.useDominantColor)try{let j=await X.generatePlaceholder(Q,{strategy:"dominant-color"});z.dominantColor=j.dominantColor}catch(j){z.errors=z.errors||[],z.errors.push(`Failed to extract dominant color: ${j}`)}return await A7($,Z,z,Y),z}catch(Q){return{src:$,processed:!1,errors:[`Processing failed: ${Q}`]}}}async function l2($,Z,Y,X){let J=await p2();if(!J)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await J.optimizeImage({input:$,output:X,format:Z,quality:Y}))?.outputSize}}catch(Q){return{success:!1,error:String(Q)}}}async function W6($,Z,Y){let X=Y||await p2();if(!X)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let J=await X.decode($);for(let Q of Z){let G=Q.options||{};switch(Q.type){case"resize":if(G.width||G.height)J=await X.resize(J,{width:G.width,height:G.height,fit:G.fit});break;case"blur":if(G.sigma!==void 0)J=await X.blur(J,G.sigma);break;case"sharpen":if(G.amount!==void 0)J=await X.sharpen(J,G.amount);break;case"grayscale":J=await X.grayscale(J);break;case"rotate":if(G.angle!==void 0)J=await X.rotate(J,G.angle);break;case"flip":J=await X.flip(J);break;case"flop":J=await X.flop(J);break;case"brightness":if(G.value!==void 0)J=await X.brightness(J,G.value);break;case"contrast":if(G.value!==void 0)J=await X.contrast(J,G.value);break;case"saturation":if(G.value!==void 0)J=await X.saturation(J,G.value);break}}return await X.encode(J,"png")}catch(J){return console.error(`[stx-media] Transformation failed: ${J}`),null}}var iz=D(()=>{c$();m2()});import{resolve as gM,basename as hM,extname as dM,join as uM}from"path";import{mkdir as mM}from"fs/promises";async function pM(){try{return await import("ts-images")}catch{return null}}async function JZ($,Z,Y){let X=await pM();if(!X)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let J=gM($);if(!await s0(J))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let Q=Z.responsiveWidths||Y.breakpoints||cM,G=Z.formats||Y.defaultFormats||["avif","webp","jpeg"],K=Y.outputDir||"dist/images",W=Y.baseUrl||"/images";await mM(K,{recursive:!0});let U=await n0(J),B=hM($,dM($)),_=Y.formatQuality||{jpeg:{quality:82},png:{quality:80},webp:{quality:82},avif:{quality:75}},z={src:$,byFormat:{},srcsets:{}};for(let j of G){z.byFormat[j]=[];let H=[];for(let O of Q){let F=`${B}-${O}w-${U}.${j}`,L=uM(K,F),V=`${W}/${F}`;try{let N=_[j]?.quality||80;if(await s0(L)){z.byFormat[j].push({path:L,url:V,width:O,height:0,format:j,size:0}),H.push(`${V} ${O}w`);continue}let A=await X.processImage({input:J,output:L,format:j,quality:N,resize:{width:O}});if(A)z.byFormat[j].push({path:L,url:V,width:O,height:A.height||Math.round(O*(A.height||1)/(A.width||1)),format:j,size:A.outputSize||0}),H.push(`${V} ${O}w`)}catch(N){console.warn(`[stx-media] Failed to generate ${j} at ${O}w: ${N}`)}}z.srcsets[j]=H.join(", ")}let q=Z.placeholder||Y.placeholderStrategy||"thumbhash";if(q!=="none")try{if(q==="thumbhash"){let j=await X.generateThumbHash(J);z.placeholder={dataURL:j.dataUrl,width:j.width||32,height:j.height||32,strategy:"thumbhash"}}else{let j=await X.generatePlaceholder(J,{strategy:q,width:20});z.placeholder={dataURL:j.dataURL,width:j.width,height:j.height,strategy:q}}}catch(j){console.warn(`[stx-media] Failed to generate placeholder: ${j}`)}return z.sizes=Z.sizes||lM(Q),z}catch(Q){return console.error(`[stx-media] Responsive generation failed: ${Q}`),null}}function lM($){let Z=[...$].sort((X,J)=>X-J),Y=[];for(let X=0;X<Z.length-1;X++){let J=Z[X];Y.push(`(max-width: ${J}px) ${J}px`)}return Y.push(`${Z[Z.length-1]}px`),Y.join(", ")}function QZ($,Z="width"){if(!$||$.length===0)return"";if(Z==="dpr")return $.filter((Y)=>Y.dpr).map((Y)=>`${Y.url} ${Y.dpr}x`).join(", ");return $.map((Y)=>`${Y.url} ${Y.width}w`).join(", ")}var cM;var nz=D(()=>{c$();cM=[320,480,640,768,1024,1280,1536,1920]});var sz={};Z0(sz,{setCachedImageResult:()=>A7,processImage:()=>c2,optimizeImage:()=>l2,getCachedImageResult:()=>N7,generateSrcset:()=>QZ,generateResponsiveVariants:()=>JZ,clearImageCache:()=>u2,applyTransformations:()=>W6,ImageProcessorCache:()=>V7});var i2=D(()=>{iz();nz();m2()});async function iM(){try{return await Promise.resolve().then(() => (i2(),sz))}catch($){if(!rz)console.warn("[stx-media] Image processor not available, some features disabled:",$),rz=!0;return null}}async function i$($,Z={}){let Y=Z,X=$;if(X.process&&!X.skipOptimization){if(Y.tsImagesConfig?.enabled&&!Y.isDev)return oM(X,Y)}if(Y.processedResult?.processed)return a2($,Y.processedResult,Z);if(Y.responsiveVariants)return ez($,Y.responsiveVariants,Z);let{src:J,alt:Q,width:G,height:K,sizes:W,widths:U=c1,dpr:B,formats:_=Q$,quality:z=n2,params:q={},placeholder:j="none",placeholderOptions:H={},lazy:O=!0,priority:F=!1,loading:L=F?"eager":KZ,decoding:V=GZ,fetchpriority:N,objectFit:A,objectPosition:w,crossorigin:R,referrerpolicy:T}=$,I=$.class,E=$.style,k=$.id,S=$.data||{},{isDev:x=!1,baseUrl:y=""}=Z;if(x&&!Z.optimize)return rM($);let b,f,r=k||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!F)try{b=await Q6(J,{strategy:j,...H}),f=J6(r,b,H)}catch{}let u=B!==void 0&&G!==void 0,C;if(u)C=sM($,r,b,Z);else C=await nM($,r,b,Z);let h;if(F){let s=_.includes("webp")?"webp":_[0],W0=p$(J,U,{...q,q:z},s),$0=typeof W==="object"?_7(W):W||"100vw";h=`<link rel="preload" as="image" imagesrcset="${W0}" imagesizes="${$0}" />`}let p=[];if(!oz&&j!=="none")p.push(q7),oz=!0;if(f)p.push(f);let i=O?tz(r):void 0;return{html:C,preloadLink:h,css:p.length>0?p.join(`
10530
10530
  `):void 0,script:i}}async function nM($,Z,Y,X){let{src:J,alt:Q,width:G,height:K,sizes:W,widths:U=c1,formats:B=Q$,quality:_=n2,params:z={},lazy:q=!0,priority:j=!1,loading:H=j?"eager":KZ,decoding:O=GZ,fetchpriority:F,objectFit:L,objectPosition:V,crossorigin:N,referrerpolicy:A}=$,w=$.class,R=$.style,T=$.data||{},I=typeof W==="object"?_7(W):W||"100vw",E=[];for(let x of B){let y=p$(J,U,{...z,q:_},x),b=Y6(x);if(q&&!j)E.push(` <source type="${b}" data-srcset="${y}" data-sizes="${I}" />`);else E.push(` <source type="${b}" srcset="${y}" sizes="${I}" />`)}let k=s2({src:y1(J,{...z,q:_}),alt:Q,width:G,height:K,loading:j?void 0:H,decoding:O,fetchpriority:j?"high":F,objectFit:L,objectPosition:V,crossorigin:N,referrerpolicy:A,className:az(w,Y),style:r2(R,L,V,Y),lazy:q&&!j,data:T}),S;if(Y){let x=`background-image: url('${Y.dataURL}'); background-size: cover; background-position: center;`;S=`<div id="${Z}" class="stx-img-placeholder" style="${x}">
10531
10531
  <picture>
10532
10532
  ${E.join(`
@@ -12254,7 +12254,7 @@ ${B}
12254
12254
  customElements.define('${Z}', ${G});
12255
12255
  `}async function H9($,Z,Y,X){if(Z.length<1)return J0("WebComponent","@webcomponent directive requires at least the tag name parameter",e.INVALID_DIRECTIVE_SYNTAX);let J=Z[0].replace(/['"]/g,""),G=(Y.__stx_options||{}).componentsDir||"components",K=[n$.join(n$.dirname(X),G,`${J}.stx`),n$.join(process.cwd(),G,`${J}.stx`),n$.join(n$.dirname(X),`${J}.stx`)],W=null;for(let _ of K)if(await t(_)){W=await Bun.file(_).text();break}if(!W)return J0("WebComponent",`Component file not found: ${J}.stx`,e.FILE_NOT_FOUND);let U=Rq(W,J);return`<script type="module">
12256
12256
  ${Mq(U)}
12257
- </script>`}var j9;var O9=D(()=>{H1();N0();j9={strategy:"attribute",attributeName:"data-v",preserveOriginal:!0}});var Tq={};Z0(Tq,{timingPlugin:()=>mT,pluginManager:()=>F9,definePlugin:()=>b7,debugPlugin:()=>uT,createVariablesPlugin:()=>pT,createFilterPlugin:()=>dT,createDirectivePlugin:()=>hT,PluginManager:()=>L9});function b7($){return $}class L9{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 J=X[$];if(J)try{let Q=await J(Y);if(Q){if(Q.template!==void 0)Y.template=Q.template;if(Q.context)Y.context={...Y.context,...Q.context};if(Q.metadata)Y.metadata={...Y.metadata,...Q.metadata};if(Q.skip)break}}catch(Q){console.error(`Error in plugin "${X.name}" ${$} hook:`,Q)}}return Y}async runDirectiveHooks($,Z,Y){let X={...Y};for(let J of this.sortedPlugins){let Q=J[$];if(Q)try{let G=await Q(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 "${J.name}" ${$} hook:`,G)}}return X}}function hT($,Z,Y={}){return{name:$,...Y,registerDirectives:()=>Z}}function dT($,Z,Y={}){return{name:$,...Y,registerFilters:()=>Z}}function pT($){return b7({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(Z){return{context:{...Z.context,...$}}}})}var F9,uT,mT;var V9=D(()=>{F9=new L9;uT=b7({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)}}),mT=b7({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 mY={};Z0(mY,{validateConfig:()=>Dq,loadStxConfig:()=>f0,defineStxConfig:()=>Eq,defaultConfig:()=>W1,config:()=>_1});import N9 from"fs";import X1 from"path";import{loadConfigWithResult as cT}from"bunfig";function lT($,Z){let Y=Z||"pages";if($)return{root:$,pagesDir:Y};let X=X1.join(process.cwd(),"resources","views"),J=X1.join(process.cwd(),"resources","layouts");if(N9.existsSync(X)&&N9.existsSync(J))return{root:"resources",pagesDir:"views"};let Q=X1.join(process.cwd(),"resources","views","pages");if(N9.existsSync(Q))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}async function f0($){if(!$){if(C7)return C7;if(FZ)return FZ}let Z=$?X1.resolve($):process.cwd(),Y=Iq.get(Z);if(Y)return Y;let X=(async()=>{let Q=(await cT({name:"stx",alias:"ui",cwd:Z,defaultConfig:W1,verbose:!1})).config,G=lT(Q.root,Q.pagesDir);if(Q.root=G.root,Q.pagesDir=G.pagesDir,Q.root&&Q.root!=="."){let K=Q.root;if(Q.partialsDir&&!X1.isAbsolute(Q.partialsDir))Q.partialsDir=X1.join(K,Q.partialsDir);if(Q.componentsDir&&!X1.isAbsolute(Q.componentsDir))Q.componentsDir=X1.join(K,Q.componentsDir);if(Q.layoutsDir&&!X1.isAbsolute(Q.layoutsDir))Q.layoutsDir=X1.join(K,Q.layoutsDir)}if(Q.plugins&&Q.plugins.length>0){let{pluginManager:K}=await Promise.resolve().then(() => (V9(),Tq)),W=[],U=[];for(let B of Q.plugins){let _=typeof B==="string"?B:B[0],z=typeof B==="string"?{}:B[1]||{};try{let q,j;try{q=await import(_),j=X1.dirname(_0.resolve(_))}catch{let O=X1.resolve(process.cwd(),_);q=await import(O),j=X1.dirname(O)}let H=q.default||q;if(K.register(H,Q),H.components){let O=X1.resolve(j,H.components);W.push(O)}if(H.pages){let O=X1.resolve(j,H.pages),F=z.path||"/";U.push({dir:O,prefix:F})}if(H.setup){let O={addDirective:(F)=>{Q.customDirectives=Q.customDirectives||[],Q.customDirectives.push(F)},addRoute:(F,L)=>{Q.apiRoutes=Q.apiRoutes||{},Q.apiRoutes[F]=L},addMiddleware:(F)=>{Q.middleware=Q.middleware||[],Q.middleware.push(F)},pluginDir:j,config:Q};await H.setup(z,O)}console.log(`[stx] Plugin loaded: ${H.name||_}`)}catch(q){console.warn(`[stx] Failed to load plugin ${_}:`,q.message)}}Q._pluginComponentDirs=W,Q._pluginPageDirs=U}return Q})();if(Iq.set(Z,X),!$)FZ=X,X.then((J)=>{C7=J}).catch(()=>{});return X}function Eq($){return $}function Dq($){let Z=[],Y=[];if($.partialsDir!==void 0&&typeof $.partialsDir!=="string")Z.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if($.componentsDir!==void 0&&typeof $.componentsDir!=="string")Z.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if($.cache!==void 0&&typeof $.cache!=="boolean")Z.push({path:"cache",message:"cache must be a boolean",severity:"error"});if($.debug!==void 0&&typeof $.debug!=="boolean")Z.push({path:"debug",message:"debug must be a boolean",severity:"error"});if($.streaming){if($.streaming.bufferSize!==void 0){if(typeof $.streaming.bufferSize!=="number"||$.streaming.bufferSize<=0)Z.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if($.streaming.timeout!==void 0){if(typeof $.streaming.timeout!=="number"||$.streaming.timeout<=0)Z.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if($.streaming.strategy!==void 0){let 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,J)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`customDirectives[${J}].name`,message:"Custom directive must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`customDirectives[${J}].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,J)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`middleware[${J}].name`,message:"Middleware must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`middleware[${J}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!X.timing||!["before","after"].includes(X.timing))Z.push({path:`middleware[${J}].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((J,Q)=>{if(!J.pattern||typeof J.pattern!=="string")Z.push({path:`pwa.routes[${Q}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!X.includes(J.strategy))Z.push({path:`pwa.routes[${Q}].strategy`,message:`PWA route strategy must be one of: ${X.join(", ")}`,severity:"error"});if(J.maxAgeSeconds!==void 0&&(typeof J.maxAgeSeconds!=="number"||J.maxAgeSeconds<0))Z.push({path:`pwa.routes[${Q}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(J.maxEntries!==void 0&&(typeof J.maxEntries!=="number"||J.maxEntries<1))Z.push({path:`pwa.routes[${Q}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if($.pwa.icons?.sizes){if(!Array.isArray($.pwa.icons.sizes))Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if($.pwa.icons.sizes.filter((J)=>typeof J!=="number"||J<16||J>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((Q)=>!X.includes(Q)).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 W1,C7=null,Iq,FZ=null,_1;var l0=D(()=>{j3();V3();NY();N3();o8();$9();z9();Nq();I8();O9();W1={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,cachePath:".stx/cache",cacheVersion:"1.0.0",build:{pagesDir:"pages",outputDir:"dist",baseUrl:"/",sitemap:!0,minify:!0,cache:!0,cacheDir:".stx/ssg-cache",concurrency:10,generate404:!0,publicDir:"public",trailingSlash:!1,cleanOutput:!0},customDirectives:[{name:"markdown",handler:O2,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:H9,hasEndTag:!1,description:"Include a web component in the template"},z3,q3,M8,T8,H3,L3,F3,O3,UK,RY,U6,_6,...Vq],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}};Iq=new Map;_1=new Proxy(W1,{get($,Z){if(C7&&Z in C7)return C7[Z];if(!FZ)f0().catch((Y)=>{console.warn("[stx] Failed to load config file:",Y?.message||Y)});return $[Z]}})});import iT from"fs";import A9 from"path";import{createHighlighter as nT}from"ts-syntax-highlighter";async function G$($,Z={}){try{if(!await t($))throw Error(`Markdown file not found: ${$}`);let X=(await iT.promises.stat($)).mtime.getTime();if(Z.cache&&NZ.has($)){let _=NZ.get($);if(_.updatedAt>=X)return{content:_.content,data:_.data}}let J=await Bun.file($).text(),{data:Q,content:G}=zK(J),K=Z.markdown||_1.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},U=G4(G,{gfm:!0});if(K.syntaxHighlighting?.enabled&&K.syntaxHighlighting?.serverSide)U=await sT(U,K.syntaxHighlighting?.defaultTheme||"github-dark",K.syntaxHighlighting?.highlightUnknownLanguages||!1);let B={content:U,data:Q||{}};if(Z.cache)NZ.set($,{...B,updatedAt:X});return B}catch(Y){if(Z.debug)console.error(`Error reading/parsing markdown file ${$}:`,Y);let X=Y instanceof Error?Y.message:String(Y);return{content:L0("Markdown File",`Error reading/parsing markdown file: ${X}`,$,"",0,""),data:{}}}}async function sT($,Z,Y){let X=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!VZ)try{VZ=await nT({theme:Z||"github-dark",cache:!0})}catch(K){return console.error("Failed to initialize ts-syntax-highlighter:",K),$}let J=async(K,W,U,B)=>{let _=B.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#39;/g,"'"),z=U||(Y?"text":"");if(!z)return K;try{if(!VZ.getSupportedLanguages().includes(z))return K;return(await VZ.highlight(_,z,{theme:Z})).html}catch(q){console.error(`Error highlighting code block with language ${U}:`,q)}return K},Q=$,G=$.matchAll(X);for(let K of G){let[W,U,B,_]=K,z=await J(W,U,B,_);Q=Q.replace(W,z)}return Q}async function U2($,Z,Y="",X={}){return await rT($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(G,K,W,U)=>{try{let B=K;if(!A9.isAbsolute(K))B=A9.resolve(A9.dirname(Y),K);let _={};if(W)try{try{_=JSON.parse(W)}catch{if(X.debug)console.warn("Using safer alternative for parsing JS object literal");let L=W.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let V of L){let N=V.indexOf(":");if(N>0){let A=V.substring(0,N).trim(),w=V.substring(N+1).trim(),R=w.startsWith('"')&&w.endsWith('"'),T=w.startsWith("'")&&w.endsWith("'");if(R||T)w=w.substring(1,w.length-1);_[A]=w}}}}catch(F){if(X.debug)console.error("Error parsing context in @markdown-file directive:",F)}let{content:z,data:q}=await G$(B,X),j={...Z,...q,..._},H=z,O=/\{\{([^}]+)\}\}/g;return H=H.replace(O,(F,L)=>{let V=L.trim();return j[V]!==void 0?String(j[V]):F}),H}catch(B){let _=B instanceof Error?B.message:String(B);return L0("Markdown File",`Error including markdown file: ${_}`,Y,$,U,G)}})}async function rT($,Z,Y){let X=[],J;while((J=Z.exec($))!==null){let K=J[0],W=J.index,U=J;X.push(Y(...U).then((B)=>({match:K,replacement:B,index:W})))}let Q=await Promise.all(X);Q.sort((K,W)=>W.index-K.index);let G=$;for(let{match:K,replacement:W}of Q)G=G.replace(K,()=>W);return G}var NZ,VZ=null;var U7=D(()=>{l0();N0();NZ=new Map});function AZ(){return`
12257
+ </script>`}var j9;var O9=D(()=>{H1();A0();j9={strategy:"attribute",attributeName:"data-v",preserveOriginal:!0}});var Tq={};Z0(Tq,{timingPlugin:()=>mT,pluginManager:()=>F9,definePlugin:()=>b7,debugPlugin:()=>uT,createVariablesPlugin:()=>pT,createFilterPlugin:()=>dT,createDirectivePlugin:()=>hT,PluginManager:()=>L9});function b7($){return $}class L9{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 J=X[$];if(J)try{let Q=await J(Y);if(Q){if(Q.template!==void 0)Y.template=Q.template;if(Q.context)Y.context={...Y.context,...Q.context};if(Q.metadata)Y.metadata={...Y.metadata,...Q.metadata};if(Q.skip)break}}catch(Q){console.error(`Error in plugin "${X.name}" ${$} hook:`,Q)}}return Y}async runDirectiveHooks($,Z,Y){let X={...Y};for(let J of this.sortedPlugins){let Q=J[$];if(Q)try{let G=await Q(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 "${J.name}" ${$} hook:`,G)}}return X}}function hT($,Z,Y={}){return{name:$,...Y,registerDirectives:()=>Z}}function dT($,Z,Y={}){return{name:$,...Y,registerFilters:()=>Z}}function pT($){return b7({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(Z){return{context:{...Z.context,...$}}}})}var F9,uT,mT;var V9=D(()=>{F9=new L9;uT=b7({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)}}),mT=b7({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 mY={};Z0(mY,{validateConfig:()=>Dq,loadStxConfig:()=>f0,defineStxConfig:()=>Eq,defaultConfig:()=>W1,config:()=>_1});import N9 from"fs";import X1 from"path";import{loadConfigWithResult as cT}from"bunfig";function lT($,Z){let Y=Z||"pages";if($)return{root:$,pagesDir:Y};let X=X1.join(process.cwd(),"resources","views"),J=X1.join(process.cwd(),"resources","layouts");if(N9.existsSync(X)&&N9.existsSync(J))return{root:"resources",pagesDir:"views"};let Q=X1.join(process.cwd(),"resources","views","pages");if(N9.existsSync(Q))return{root:"resources/views",pagesDir:Y};return{root:".",pagesDir:Y}}async function f0($){if(!$){if(C7)return C7;if(FZ)return FZ}let Z=$?X1.resolve($):process.cwd(),Y=Iq.get(Z);if(Y)return Y;let X=(async()=>{let Q=(await cT({name:"stx",alias:"ui",cwd:Z,defaultConfig:W1,verbose:!1})).config,G=lT(Q.root,Q.pagesDir);if(Q.root=G.root,Q.pagesDir=G.pagesDir,Q.root&&Q.root!=="."){let K=Q.root;if(Q.partialsDir&&!X1.isAbsolute(Q.partialsDir))Q.partialsDir=X1.join(K,Q.partialsDir);if(Q.componentsDir&&!X1.isAbsolute(Q.componentsDir))Q.componentsDir=X1.join(K,Q.componentsDir);if(Q.layoutsDir&&!X1.isAbsolute(Q.layoutsDir))Q.layoutsDir=X1.join(K,Q.layoutsDir)}if(Q.plugins&&Q.plugins.length>0){let{pluginManager:K}=await Promise.resolve().then(() => (V9(),Tq)),W=[],U=[];for(let B of Q.plugins){let _=typeof B==="string"?B:B[0],z=typeof B==="string"?{}:B[1]||{};try{let q,j;try{q=await import(_),j=X1.dirname(_0.resolve(_))}catch{let O=X1.resolve(process.cwd(),_);q=await import(O),j=X1.dirname(O)}let H=q.default||q;if(K.register(H,Q),H.components){let O=X1.resolve(j,H.components);W.push(O)}if(H.pages){let O=X1.resolve(j,H.pages),F=z.path||"/";U.push({dir:O,prefix:F})}if(H.setup){let O={addDirective:(F)=>{Q.customDirectives=Q.customDirectives||[],Q.customDirectives.push(F)},addRoute:(F,L)=>{Q.apiRoutes=Q.apiRoutes||{},Q.apiRoutes[F]=L},addMiddleware:(F)=>{Q.middleware=Q.middleware||[],Q.middleware.push(F)},pluginDir:j,config:Q};await H.setup(z,O)}console.log(`[stx] Plugin loaded: ${H.name||_}`)}catch(q){console.warn(`[stx] Failed to load plugin ${_}:`,q.message)}}Q._pluginComponentDirs=W,Q._pluginPageDirs=U}return Q})();if(Iq.set(Z,X),!$)FZ=X,X.then((J)=>{C7=J}).catch(()=>{});return X}function Eq($){return $}function Dq($){let Z=[],Y=[];if($.partialsDir!==void 0&&typeof $.partialsDir!=="string")Z.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if($.componentsDir!==void 0&&typeof $.componentsDir!=="string")Z.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if($.cache!==void 0&&typeof $.cache!=="boolean")Z.push({path:"cache",message:"cache must be a boolean",severity:"error"});if($.debug!==void 0&&typeof $.debug!=="boolean")Z.push({path:"debug",message:"debug must be a boolean",severity:"error"});if($.streaming){if($.streaming.bufferSize!==void 0){if(typeof $.streaming.bufferSize!=="number"||$.streaming.bufferSize<=0)Z.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if($.streaming.timeout!==void 0){if(typeof $.streaming.timeout!=="number"||$.streaming.timeout<=0)Z.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if($.streaming.strategy!==void 0){let 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,J)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`customDirectives[${J}].name`,message:"Custom directive must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`customDirectives[${J}].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,J)=>{if(!X.name||typeof X.name!=="string")Z.push({path:`middleware[${J}].name`,message:"Middleware must have a name string",severity:"error"});if(!X.handler||typeof X.handler!=="function")Z.push({path:`middleware[${J}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!X.timing||!["before","after"].includes(X.timing))Z.push({path:`middleware[${J}].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((J,Q)=>{if(!J.pattern||typeof J.pattern!=="string")Z.push({path:`pwa.routes[${Q}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!X.includes(J.strategy))Z.push({path:`pwa.routes[${Q}].strategy`,message:`PWA route strategy must be one of: ${X.join(", ")}`,severity:"error"});if(J.maxAgeSeconds!==void 0&&(typeof J.maxAgeSeconds!=="number"||J.maxAgeSeconds<0))Z.push({path:`pwa.routes[${Q}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(J.maxEntries!==void 0&&(typeof J.maxEntries!=="number"||J.maxEntries<1))Z.push({path:`pwa.routes[${Q}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if($.pwa.icons?.sizes){if(!Array.isArray($.pwa.icons.sizes))Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if($.pwa.icons.sizes.filter((J)=>typeof J!=="number"||J<16||J>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((Q)=>!X.includes(Q)).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 W1,C7=null,Iq,FZ=null,_1;var l0=D(()=>{j3();V3();NY();N3();o8();$9();z9();Nq();I8();O9();W1={enabled:!0,ssr:!1,partialsDir:"partials",componentsDir:"components",layoutsDir:"layouts",defaultLayout:"default",debug:!1,cache:!0,cachePath:".stx/cache",cacheVersion:"1.0.0",build:{pagesDir:"pages",outputDir:"dist",baseUrl:"/",sitemap:!0,minify:!0,cache:!0,cacheDir:".stx/ssg-cache",concurrency:10,generate404:!0,publicDir:"public",trailingSlash:!1,cleanOutput:!0},customDirectives:[{name:"markdown",handler:O2,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:H9,hasEndTag:!1,description:"Include a web component in the template"},z3,q3,M8,T8,H3,L3,F3,O3,UK,RY,U6,_6,...Vq],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}};Iq=new Map;_1=new Proxy(W1,{get($,Z){if(C7&&Z in C7)return C7[Z];if(!FZ)f0().catch((Y)=>{console.warn("[stx] Failed to load config file:",Y?.message||Y)});return $[Z]}})});import iT from"fs";import A9 from"path";import{createHighlighter as nT}from"ts-syntax-highlighter";async function G$($,Z={}){try{if(!await t($))throw Error(`Markdown file not found: ${$}`);let X=(await iT.promises.stat($)).mtime.getTime();if(Z.cache&&NZ.has($)){let _=NZ.get($);if(_.updatedAt>=X)return{content:_.content,data:_.data}}let J=await Bun.file($).text(),{data:Q,content:G}=zK(J),K=Z.markdown||_1.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},U=G4(G,{gfm:!0});if(K.syntaxHighlighting?.enabled&&K.syntaxHighlighting?.serverSide)U=await sT(U,K.syntaxHighlighting?.defaultTheme||"github-dark",K.syntaxHighlighting?.highlightUnknownLanguages||!1);let B={content:U,data:Q||{}};if(Z.cache)NZ.set($,{...B,updatedAt:X});return B}catch(Y){if(Z.debug)console.error(`Error reading/parsing markdown file ${$}:`,Y);let X=Y instanceof Error?Y.message:String(Y);return{content:F0("Markdown File",`Error reading/parsing markdown file: ${X}`,$,"",0,""),data:{}}}}async function sT($,Z,Y){let X=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!VZ)try{VZ=await nT({theme:Z||"github-dark",cache:!0})}catch(K){return console.error("Failed to initialize ts-syntax-highlighter:",K),$}let J=async(K,W,U,B)=>{let _=B.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#39;/g,"'"),z=U||(Y?"text":"");if(!z)return K;try{if(!VZ.getSupportedLanguages().includes(z))return K;return(await VZ.highlight(_,z,{theme:Z})).html}catch(q){console.error(`Error highlighting code block with language ${U}:`,q)}return K},Q=$,G=$.matchAll(X);for(let K of G){let[W,U,B,_]=K,z=await J(W,U,B,_);Q=Q.replace(W,z)}return Q}async function U2($,Z,Y="",X={}){return await rT($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(G,K,W,U)=>{try{let B=K;if(!A9.isAbsolute(K))B=A9.resolve(A9.dirname(Y),K);let _={};if(W)try{try{_=JSON.parse(W)}catch{if(X.debug)console.warn("Using safer alternative for parsing JS object literal");let L=W.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let V of L){let N=V.indexOf(":");if(N>0){let A=V.substring(0,N).trim(),w=V.substring(N+1).trim(),R=w.startsWith('"')&&w.endsWith('"'),T=w.startsWith("'")&&w.endsWith("'");if(R||T)w=w.substring(1,w.length-1);_[A]=w}}}}catch(F){if(X.debug)console.error("Error parsing context in @markdown-file directive:",F)}let{content:z,data:q}=await G$(B,X),j={...Z,...q,..._},H=z,O=/\{\{([^}]+)\}\}/g;return H=H.replace(O,(F,L)=>{let V=L.trim();return j[V]!==void 0?String(j[V]):F}),H}catch(B){let _=B instanceof Error?B.message:String(B);return F0("Markdown File",`Error including markdown file: ${_}`,Y,$,U,G)}})}async function rT($,Z,Y){let X=[],J;while((J=Z.exec($))!==null){let K=J[0],W=J.index,U=J;X.push(Y(...U).then((B)=>({match:K,replacement:B,index:W})))}let Q=await Promise.all(X);Q.sort((K,W)=>W.index-K.index);let G=$;for(let{match:K,replacement:W}of Q)G=G.replace(K,()=>W);return G}var NZ,VZ=null;var U7=D(()=>{l0();A0();NZ=new Map});function AZ(){return`
12258
12258
  /* Theme selector for code blocks */
12259
12259
  .theme-selector {
12260
12260
  margin: 1rem 0;
@@ -12973,7 +12973,7 @@ ${K}
12973
12973
  `));return K=K.replace(/<body\b[^>]*>/i,""),K=K.replace(/<\/body\s*>/i,""),K.trim()}function s9($){return $.headers.get("X-STX-Router")==="true"}function b6($,Z="main"){let Y=$.trim(),X=[],J=Y.match(/<head\b[^>]*>([\s\S]*?)<\/head>/i);if(J){let L=J[1],V=/<style\b[^>]*>[\s\S]*?<\/style>/gi,N;while((N=V.exec(L))!==null)X.push(N[0])}let Q=Z.replace(/^[.#]/,"").toLowerCase(),G=new RegExp(`<${Q}\\b[^>]*>`,"i"),K=Y.match(G);if(!K||K.index===void 0)return U$($);let W=K.index+K[0].length,U=new RegExp(`<${Q}\\b[^>]*>`,"gi"),B=new RegExp(`</${Q}\\s*>`,"gi");U.lastIndex=W,B.lastIndex=W;let _=1,z=-1;while(_>0){let L=U.exec(Y),V=B.exec(Y);if(!V)break;if(L&&L.index<V.index)_++,B.lastIndex=L.index+L[0].length;else if(_--,z=V.index,_>0)U.lastIndex=V.index+V[0].length}if(z===-1)return U$($);let q=Y.slice(W,z).trim(),j=[],H=Y.match(/<body\b[^>]*>/i),O=Y.lastIndexOf("</body>");if(H&&H.index!==void 0&&O!==-1){let V=[[H.index+H[0].length,K.index],[z+`</${Q}>`.length,O]],N=/<script\b[^>]*>[\s\S]*?<\/script>/gi;for(let[A,w]of V){if(A>=w)continue;let R=Y.slice(A,w),T;N.lastIndex=0;while((T=N.exec(R))!==null)j.push(T[0])}}let F=[];if(X.length>0)F.push(X.join(`
12974
12974
  `));if(j.length>0)F.push(j.join(`
12975
12975
  `));return F.push(q),F.join(`
12976
- `)}var AE="stx-page-head:",wE,k6=null;var l7=D(()=>{l9();wE=/<!--stx-page-head:([A-Za-z0-9+/=]+)-->\n?/});import{matchRoute as ME,Router as TE}from"stx-router";import{findErrorPage as r9,formatRoutes as o9,generateRouteManifest as EE,generateRouteTypes as DE,matchRoute as mZ}from"stx-router";function B$($,Z={}){return new TE($,Z).routes}function IE($,Z){let Y=ME($,Z);return Y?Y.params:null}var y6=()=>{};import{createHash as kE}from"crypto";function SE($){try{return new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($).replace(/\}(var |let |const |function )/g,"};$1").trim()}catch{return $}}function CE($){return Bun.hash($).toString(16)}function Lj($,Z={}){if(!$.includes('type="stx/island"'))return{html:$,chunks:[]};let Y=new Map,X=$.replace(bE,(Q,G,K,W)=>{let U=W.trim();if(!U)return Q;if(/\bdata-stx-src=/.test(K))return Q;if(Z.minify)U=SE(U);let B=CE(U);if(!Y.has(B))Y.set(B,U);let _=Z.integrity?` data-stx-integrity="sha384-${kE("sha384").update(U).digest("base64")}"`:"";return`<script type="stx/island" data-stx-island="${G}" data-stx-src="/_stx/islands/${B}.js"${_}${K}></script>`}),J=Array.from(Y,([Q,G])=>({hash:Q,code:G}));return{html:X,chunks:J}}function Fj($){if(!$.includes("data-stx-src="))return $;let Z=new Map,Y=/data-stx-scope="([^"]+)"[^>]*?stx-hydrate="([^"]+)"/g,X;while((X=Y.exec($))!==null)Z.set(X[1],X[2]);let J=new Set,Q=/data-stx-island="([^"]+)"[^>]*?data-stx-src="([^"]+)"/g,G;while((G=Q.exec($))!==null)if(yE.has(Z.get(G[1])||""))J.add(G[2]);let K=$.lastIndexOf("</head>");if(J.size===0||K===-1)return $;let W=Array.from(J).filter((U)=>!$.includes(`rel="prefetch" href="${U}"`)).map((U)=>`<link rel="prefetch" href="${U}" as="script">`).join("");if(!W)return $;return $.slice(0,K)+W+$.slice(K)}var bE,yE;var Vj=D(()=>{bE=/<script\s+type="stx\/island"\s+data-stx-island="([^"]+)"([^>]*)>([\s\S]*?)<\/script>/g;yE=new Set(["visible","idle"])});var Dj={};Z0(Dj,{generateStaticSite:()=>Rj,defineStaticPaths:()=>Ij,default:()=>lE,createMarkdownLoader:()=>Ej,createISRHandler:()=>Tj});import g0 from"fs";import j0 from"path";class Nj{cacheDir;cache=new Map;loaded=!1;constructor($){this.cacheDir=$}async load(){if(this.loaded)return;let $=j0.join(this.cacheDir,"build-cache.json");if(await Bun.file($).exists())try{let Z=JSON.parse(await Bun.file($).text());for(let[Y,X]of Object.entries(Z))this.cache.set(Y,X)}catch{}this.loaded=!0}async save(){await g0.promises.mkdir(this.cacheDir,{recursive:!0});let $=j0.join(this.cacheDir,"build-cache.json"),Z={};for(let[Y,X]of this.cache)Z[Y]=X;await Bun.write($,JSON.stringify(Z))}getHash($,Z){let Y=g0.statSync($),X=`${$}:${Y.mtimeMs}`;for(let Q of Z)if(g0.existsSync(Q)){let G=g0.statSync(Q);X+=`:${Q}:${G.mtimeMs}`}let J=0;for(let Q=0;Q<X.length;Q++){let G=X.charCodeAt(Q);J=(J<<5)-J+G,J=J&J}return Math.abs(J).toString(36)}get($,Z){let Y=this.cache.get($);if(!Y)return null;let X=this.getHash(Z,Y.dependencies??[]);if(Y.hash!==X)return this.cache.delete($),null;return Y.html}set($,Z,Y,X){let J=this.getHash(Z,Y);this.cache.set($,{hash:J,html:X,generatedAt:Date.now(),dependencies:Y})}}class Aj{cacheDir;constructor($){this.cacheDir=$}getFilePath($){let Z=$.replace(/[^a-zA-Z0-9]/g,"_")+".json";return j0.join(this.cacheDir,"isr",Z)}async get($){let Z=this.getFilePath($);if(!await Bun.file(Z).exists())return null;try{return JSON.parse(await Bun.file(Z).text())}catch{return null}}async set($,Z){let Y=this.getFilePath($);await g0.promises.mkdir(j0.dirname(Y),{recursive:!0}),await Bun.write(Y,JSON.stringify(Z))}async invalidate($){let Z=this.getFilePath($);if(await Bun.file(Z).exists())await g0.promises.unlink(Z)}async invalidatePattern($){let Z=j0.join(this.cacheDir,"isr");if(!g0.existsSync(Z))return;let Y=await g0.promises.readdir(Z);for(let X of Y){let J=X.replace(/_/g,"/").replace(".json","");if($.test(J))await g0.promises.unlink(j0.join(Z,X))}}async needsRevalidation($){let Z=await this.get($);if(!Z)return!0;return Date.now()>Z.revalidateAfter}}async function PE($){try{let Y=(await Bun.file($).text()).match(/<script\s+server\b[^>]*>([\s\S]*?)<\/script>/i);if(!Y)return null;let X=Y[1];if(!X.includes("getStaticPaths"))return null;let J=X.match(/(?:export\s+)?(?:async\s+)?function\s+getStaticPaths\s*\([^)]*\)\s*\{([\s\S]*?)\n[\t ]*\}/);if(!J)return null;return await Function(`
12976
+ `)}var AE="stx-page-head:",wE,k6=null;var l7=D(()=>{l9();wE=/<!--stx-page-head:([A-Za-z0-9+/=]+)-->\n?/});import{matchRoute as ME,Router as TE}from"stx-router";import{findErrorPage as r9,formatRoutes as o9,generateRouteManifest as EE,generateRouteTypes as DE,matchRoute as mZ}from"stx-router";function B$($,Z={}){return new TE($,Z).routes}function IE($,Z){let Y=ME($,Z);return Y?Y.params:null}var y6=()=>{};import{createHash as kE}from"crypto";function SE($){try{return new Bun.Transpiler({loader:"js",minifyWhitespace:!0}).transformSync($).replace(/\}(var |let |const |function )/g,"};$1").trim()}catch{return $}}function CE($){return Bun.hash($).toString(16)}function Lj($,Z={}){if(!$.includes('type="stx/island"'))return{html:$,chunks:[]};let Y=new Map,X=$.replace(bE,(Q,G,K,W)=>{let U=W.trim();if(!U)return Q;if(/\bdata-stx-src=/.test(K))return Q;if(Z.minify)U=SE(U);let B=CE(U);if(!Y.has(B))Y.set(B,U);let _=Z.integrity?` data-stx-integrity="sha384-${kE("sha384").update(U).digest("base64")}"`:"";return`<script type="stx/island" data-stx-island="${G}" data-stx-src="/_stx/islands/${B}.js"${_}${K}></script>`}),J=Array.from(Y,([Q,G])=>({hash:Q,code:G}));return{html:X,chunks:J}}function Fj($){if(!$.includes("data-stx-src="))return $;let Z=new Map,Y=/data-stx-scope="([^"]+)"[^>]*?stx-hydrate="([^"]+)"/g,X;while((X=Y.exec($))!==null)Z.set(X[1],X[2]);let J=new Set,Q=/data-stx-island="([^"]+)"[^>]*?data-stx-src="([^"]+)"/g,G;while((G=Q.exec($))!==null)if(yE.has(Z.get(G[1])||""))J.add(G[2]);let K=$.lastIndexOf("</head>");if(J.size===0||K===-1)return $;let W=Array.from(J).filter((U)=>!$.includes(`rel="prefetch" href="${U}"`)).map((U)=>`<link rel="prefetch" href="${U}" as="script">`).join("");if(!W)return $;return $.slice(0,K)+W+$.slice(K)}var bE,yE;var Vj=D(()=>{bE=/<script\s+type="stx\/island"\s+data-stx-island="([^"]+)"([^>]*)>([\s\S]*?)<\/script>/g;yE=new Set(["visible","idle"])});var Dj={};Z0(Dj,{generateStaticSite:()=>Rj,defineStaticPaths:()=>Ij,default:()=>lE,createMarkdownLoader:()=>Ej,createISRHandler:()=>Tj});import g0 from"fs";import H0 from"path";class Nj{cacheDir;cache=new Map;loaded=!1;constructor($){this.cacheDir=$}async load(){if(this.loaded)return;let $=H0.join(this.cacheDir,"build-cache.json");if(await Bun.file($).exists())try{let Z=JSON.parse(await Bun.file($).text());for(let[Y,X]of Object.entries(Z))this.cache.set(Y,X)}catch{}this.loaded=!0}async save(){await g0.promises.mkdir(this.cacheDir,{recursive:!0});let $=H0.join(this.cacheDir,"build-cache.json"),Z={};for(let[Y,X]of this.cache)Z[Y]=X;await Bun.write($,JSON.stringify(Z))}getHash($,Z){let Y=g0.statSync($),X=`${$}:${Y.mtimeMs}`;for(let Q of Z)if(g0.existsSync(Q)){let G=g0.statSync(Q);X+=`:${Q}:${G.mtimeMs}`}let J=0;for(let Q=0;Q<X.length;Q++){let G=X.charCodeAt(Q);J=(J<<5)-J+G,J=J&J}return Math.abs(J).toString(36)}get($,Z){let Y=this.cache.get($);if(!Y)return null;let X=this.getHash(Z,Y.dependencies??[]);if(Y.hash!==X)return this.cache.delete($),null;return Y.html}set($,Z,Y,X){let J=this.getHash(Z,Y);this.cache.set($,{hash:J,html:X,generatedAt:Date.now(),dependencies:Y})}}class Aj{cacheDir;constructor($){this.cacheDir=$}getFilePath($){let Z=$.replace(/[^a-zA-Z0-9]/g,"_")+".json";return H0.join(this.cacheDir,"isr",Z)}async get($){let Z=this.getFilePath($);if(!await Bun.file(Z).exists())return null;try{return JSON.parse(await Bun.file(Z).text())}catch{return null}}async set($,Z){let Y=this.getFilePath($);await g0.promises.mkdir(H0.dirname(Y),{recursive:!0}),await Bun.write(Y,JSON.stringify(Z))}async invalidate($){let Z=this.getFilePath($);if(await Bun.file(Z).exists())await g0.promises.unlink(Z)}async invalidatePattern($){let Z=H0.join(this.cacheDir,"isr");if(!g0.existsSync(Z))return;let Y=await g0.promises.readdir(Z);for(let X of Y){let J=X.replace(/_/g,"/").replace(".json","");if($.test(J))await g0.promises.unlink(H0.join(Z,X))}}async needsRevalidation($){let Z=await this.get($);if(!Z)return!0;return Date.now()>Z.revalidateAfter}}async function PE($){try{let Y=(await Bun.file($).text()).match(/<script\s+server\b[^>]*>([\s\S]*?)<\/script>/i);if(!Y)return null;let X=Y[1];if(!X.includes("getStaticPaths"))return null;let J=X.match(/(?:export\s+)?(?:async\s+)?function\s+getStaticPaths\s*\([^)]*\)\s*\{([\s\S]*?)\n[\t ]*\}/);if(!J)return null;return await Function(`
12977
12977
  return (async function getStaticPaths() {
12978
12978
  ${J[1]}
12979
12979
  })()
@@ -13013,10 +13013,10 @@ ${$.map((X)=>{let J=new URL(X.loc,Z).href,Q=` <url>
13013
13013
  ${Y.join(`
13014
13014
  `)}
13015
13015
  </channel>
13016
- </rss>`}async function Rj($={}){let Z=Date.now(),Y=await f0(),X={pagesDir:$.pagesDir||"pages",outputDir:$.outputDir||"dist",baseUrl:$.baseUrl||"/",domain:$.domain||"http://localhost",revalidate:$.revalidate??!1,sitemap:$.sitemap??!0,rss:$.rss??!1,concurrency:$.concurrency||10,cache:$.cache??!0,cacheDir:$.cacheDir||".stx/ssg-cache",contentLoaders:$.contentLoaders||[],hooks:$.hooks||{},minify:$.minify??!1,generate404:$.generate404??!0,publicDir:$.publicDir||"public",trailingSlash:$.trailingSlash??!1,cleanOutput:$.cleanOutput??!0,chunkIslands:$.chunkIslands===!0,prefetchIslands:$.prefetchIslands===!0,integrityIslands:$.integrityIslands===!0},J={totalPages:0,successCount:0,failedCount:0,cachedCount:0,buildTime:0,pages:[],errors:[]},Q=new Set,G=0,K={},W={};await X.hooks.onBuildStart?.();try{if(X.cleanOutput&&g0.existsSync(X.outputDir))await g0.promises.rm(X.outputDir,{recursive:!0});await g0.promises.mkdir(X.outputDir,{recursive:!0});let B=new Nj(X.cacheDir);if(X.cache)await B.load();try{let{preloadIconCollection:V}=await Promise.resolve().then(() => (B8(),SU));await V("lucide")}catch{}try{let{generateCrosswindCSS:V}=await Promise.resolve().then(() => (h1(),P3));await V('<div class="bg-black"></div>')}catch{}R6();let _=Y?.routeMiddleware?.dir||"middleware";await E6(process.cwd(),_);let z=I6();if(z.length>0)console.log(`Loaded ${z.length} middleware: ${z.join(", ")}`);let q=Y?.routeMiddleware?.global||[],j=B$(".",{pagesDir:X.pagesDir});console.log(`Found ${j.length} routes`);let H=[];for(let V of j){let N=await xE(V);for(let A of N)H.push({route:V,url:A.url,params:A.params,props:A.props,revalidate:A.revalidate??X.revalidate})}J.totalPages=H.length,console.log(`Generating ${J.totalPages} pages...`);let O=[],F=[];for(let V=0;V<H.length;V+=X.concurrency)F.push(H.slice(V,V+X.concurrency));for(let V of F)await Promise.all(V.map(async(N)=>{let{route:A,url:w,params:R,props:T,revalidate:I}=N;try{await X.hooks.onPageStart?.(w);let E=await Bun.file(A.filePath).text(),k=mE(E),S=k?.middleware?Array.isArray(k.middleware)?k.middleware:[k.middleware]:[],x=[...q,...S];if(x.length>0){let C=T6(w,R,k||{}),h=M6(C,null),p=await D6(x,h);if(p.redirect){let i=typeof p.redirect==="string"?p.redirect:p.redirect.path||p.redirect,s=pE(String(i),w),K0=cE(w,X);await g0.promises.mkdir(j0.dirname(K0),{recursive:!0}),await Bun.write(K0,s),J.successCount++,J.pages.push({route:w,outputPath:K0,size:Buffer.byteLength(s),cached:!1}),O.push({loc:w,lastmod:new Date().toISOString()}),console.log(` \u21B3 ${w} \u2192 redirect to ${i}`);return}if(p.abort){let i=typeof p.abort==="string"?p.abort:p.abort?.error?.message||"aborted";console.warn(` \u21B3 ${w} \u2014 middleware aborted: ${i}`);return}}let y=E.match(/definePageMeta\s*\(\s*\{[\s\S]*?validate\s*:\s*((?:\([^)]*\)|[^,}])*(?:\{[\s\S]*?\})?)/m);if(y)try{if(!await Function("route",`
13016
+ </rss>`}async function Rj($={}){let Z=Date.now(),Y=await f0(),X={pagesDir:$.pagesDir||"pages",outputDir:$.outputDir||"dist",baseUrl:$.baseUrl||"/",domain:$.domain||"http://localhost",revalidate:$.revalidate??!1,sitemap:$.sitemap??!0,rss:$.rss??!1,concurrency:$.concurrency||10,cache:$.cache??!0,cacheDir:$.cacheDir||".stx/ssg-cache",contentLoaders:$.contentLoaders||[],hooks:$.hooks||{},minify:$.minify??!1,generate404:$.generate404??!0,publicDir:$.publicDir||"public",trailingSlash:$.trailingSlash??!1,cleanOutput:$.cleanOutput??!0,chunkIslands:$.chunkIslands===!0,prefetchIslands:$.prefetchIslands===!0,integrityIslands:$.integrityIslands===!0},J={totalPages:0,successCount:0,failedCount:0,cachedCount:0,buildTime:0,pages:[],errors:[]},Q=new Set,G=0,K={},W={};await X.hooks.onBuildStart?.();try{if(X.cleanOutput&&g0.existsSync(X.outputDir))await g0.promises.rm(X.outputDir,{recursive:!0});await g0.promises.mkdir(X.outputDir,{recursive:!0});let B=new Nj(X.cacheDir);if(X.cache)await B.load();try{let{preloadIconCollection:V}=await Promise.resolve().then(() => (B8(),SU));await V("lucide")}catch{}try{let{generateCrosswindCSS:V}=await Promise.resolve().then(() => (h1(),P3));await V('<div class="bg-black"></div>')}catch{}R6();let _=Y?.routeMiddleware?.dir||"middleware";await E6(process.cwd(),_);let z=I6();if(z.length>0)console.log(`Loaded ${z.length} middleware: ${z.join(", ")}`);let q=Y?.routeMiddleware?.global||[],j=B$(".",{pagesDir:X.pagesDir});console.log(`Found ${j.length} routes`);let H=[];for(let V of j){let N=await xE(V);for(let A of N)H.push({route:V,url:A.url,params:A.params,props:A.props,revalidate:A.revalidate??X.revalidate})}J.totalPages=H.length,console.log(`Generating ${J.totalPages} pages...`);let O=[],F=[];for(let V=0;V<H.length;V+=X.concurrency)F.push(H.slice(V,V+X.concurrency));for(let V of F)await Promise.all(V.map(async(N)=>{let{route:A,url:w,params:R,props:T,revalidate:I}=N;try{await X.hooks.onPageStart?.(w);let E=await Bun.file(A.filePath).text(),k=mE(E),S=k?.middleware?Array.isArray(k.middleware)?k.middleware:[k.middleware]:[],x=[...q,...S];if(x.length>0){let C=T6(w,R,k||{}),h=M6(C,null),p=await D6(x,h);if(p.redirect){let i=typeof p.redirect==="string"?p.redirect:p.redirect.path||p.redirect,s=pE(String(i),w),W0=cE(w,X);await g0.promises.mkdir(H0.dirname(W0),{recursive:!0}),await Bun.write(W0,s),J.successCount++,J.pages.push({route:w,outputPath:W0,size:Buffer.byteLength(s),cached:!1}),O.push({loc:w,lastmod:new Date().toISOString()}),console.log(` \u21B3 ${w} \u2192 redirect to ${i}`);return}if(p.abort){let i=typeof p.abort==="string"?p.abort:p.abort?.error?.message||"aborted";console.warn(` \u21B3 ${w} \u2014 middleware aborted: ${i}`);return}}let y=E.match(/definePageMeta\s*\(\s*\{[\s\S]*?validate\s*:\s*((?:\([^)]*\)|[^,}])*(?:\{[\s\S]*?\})?)/m);if(y)try{if(!await Function("route",`
13017
13017
  const validate = ${y[1]};
13018
13018
  return validate(route);
13019
- `)({params:R})){console.warn(`Validation failed for ${w}, skipping...`);return}}catch{}let b=null,f=!1;if(X.cache){if(b=B.get(w,A.filePath),b)f=!0,J.cachedCount++}if(!b){let C=await wj(A,R,T,X,Y);if(b=C.html,X.cache)B.set(w,A.filePath,C.dependencies,b)}let r;if(X.trailingSlash)r=j0.join(X.outputDir,w,"index.html");else r=w==="/"?j0.join(X.outputDir,"index.html"):j0.join(X.outputDir,`${w}.html`);if(X.chunkIslands){let{html:C,chunks:h}=Lj(b,{integrity:X.integrityIslands,minify:X.minify});if(h.length>0){let p=j0.join(X.outputDir,"_stx","islands");await g0.promises.mkdir(p,{recursive:!0});for(let i of h){let s=j0.join(p,`${i.hash}.js`);if(!await Bun.file(s).exists())await Bun.write(s,i.code);if(!Q.has(i.hash)){Q.add(i.hash);let K0=Buffer.byteLength(i.code,"utf8");G+=K0,K[i.hash]={bytes:K0,file:`/_stx/islands/${i.hash}.js`}}}if(W[w]=h.map((i)=>i.hash),b=C,X.prefetchIslands)b=Fj(b)}}await g0.promises.mkdir(j0.dirname(r),{recursive:!0}),await Bun.write(r,b),O.push({loc:w,lastmod:new Date().toISOString().split("T")[0],priority:w==="/"?1:0.8});let u={route:w,outputPath:r,size:Buffer.byteLength(b,"utf8"),cached:f};if(I!==!1)u.revalidateAt=Date.now()+I*1000;J.pages.push(u),J.successCount++,await X.hooks.onPageEnd?.(w,b)}catch(E){J.failedCount++,J.errors.push({route:w,error:E}),await X.hooks.onError?.(E,w),console.error(`Error generating ${w}:`,E)}}));if(X.cache)await B.save();if(X.generate404){let V=j0.join(X.pagesDir,"404.stx");if(await Bun.file(V).exists()){let N=new Set,A={...Y,debug:!1,cache:!1},w=await X0(await Bun.file(V).text(),{},V,A,N);await Bun.write(j0.join(X.outputDir,"404.html"),w)}else await Bun.write(j0.join(X.outputDir,"404.html"),`<!DOCTYPE html>
13019
+ `)({params:R})){console.warn(`Validation failed for ${w}, skipping...`);return}}catch{}let b=null,f=!1;if(X.cache){if(b=B.get(w,A.filePath),b)f=!0,J.cachedCount++}if(!b){let C=await wj(A,R,T,X,Y);if(b=C.html,X.cache)B.set(w,A.filePath,C.dependencies,b)}let r;if(X.trailingSlash)r=H0.join(X.outputDir,w,"index.html");else r=w==="/"?H0.join(X.outputDir,"index.html"):H0.join(X.outputDir,`${w}.html`);if(X.chunkIslands){let{html:C,chunks:h}=Lj(b,{integrity:X.integrityIslands,minify:X.minify});if(h.length>0){let p=H0.join(X.outputDir,"_stx","islands");await g0.promises.mkdir(p,{recursive:!0});for(let i of h){let s=H0.join(p,`${i.hash}.js`);if(!await Bun.file(s).exists())await Bun.write(s,i.code);if(!Q.has(i.hash)){Q.add(i.hash);let W0=Buffer.byteLength(i.code,"utf8");G+=W0,K[i.hash]={bytes:W0,file:`/_stx/islands/${i.hash}.js`}}}if(W[w]=h.map((i)=>i.hash),b=C,X.prefetchIslands)b=Fj(b)}}await g0.promises.mkdir(H0.dirname(r),{recursive:!0}),await Bun.write(r,b),O.push({loc:w,lastmod:new Date().toISOString().split("T")[0],priority:w==="/"?1:0.8});let u={route:w,outputPath:r,size:Buffer.byteLength(b,"utf8"),cached:f};if(I!==!1)u.revalidateAt=Date.now()+I*1000;J.pages.push(u),J.successCount++,await X.hooks.onPageEnd?.(w,b)}catch(E){J.failedCount++,J.errors.push({route:w,error:E}),await X.hooks.onError?.(E,w),console.error(`Error generating ${w}:`,E)}}));if(X.cache)await B.save();if(X.generate404){let V=H0.join(X.pagesDir,"404.stx");if(await Bun.file(V).exists()){let N=new Set,A={...Y,debug:!1,cache:!1},w=await X0(await Bun.file(V).text(),{},V,A,N);await Bun.write(H0.join(X.outputDir,"404.html"),w)}else await Bun.write(H0.join(X.outputDir,"404.html"),`<!DOCTYPE html>
13020
13020
  <html lang="en">
13021
13021
  <head>
13022
13022
  <meta charset="UTF-8">
@@ -13037,7 +13037,7 @@ ${Y.join(`
13037
13037
  <a href="/">Go home</a>
13038
13038
  </div>
13039
13039
  </body>
13040
- </html>`)}for(let V of[500]){let N=j0.join(X.pagesDir,`${V}.stx`);if(await Bun.file(N).exists()){let A=new Set,w={...Y,debug:!1,cache:!1},R=await X0(await Bun.file(N).text(),{},N,w,A);await Bun.write(j0.join(X.outputDir,`${V}.html`),R)}}let L=j0.join(X.pagesDir,"error.stx");if(await Bun.file(L).exists()){let V=new Set,N={...Y,debug:!1,cache:!1},A=await X0(await Bun.file(L).text(),{},L,N,V);await Bun.write(j0.join(X.outputDir,"error.html"),A)}if(X.sitemap&&O.length>0){let V=dE(O,X.domain),N=j0.join(X.outputDir,"sitemap.xml");await Bun.write(N,V),J.sitemapPath=N,console.log(`Generated sitemap.xml with ${O.length} URLs`)}if(X.rss){let V=typeof X.rss==="object"?X.rss:{title:"Site Feed",description:"Latest updates",link:X.domain},N=[];if(V.getItems)N=await V.getItems();let A=uE(V,N),w=j0.join(X.outputDir,"rss.xml");await Bun.write(w,A),J.rssPath=w,console.log(`Generated rss.xml with ${N.length} items`)}if(X.publicDir&&g0.existsSync(X.publicDir))await Mj(X.publicDir,X.outputDir),console.log(`Copied public assets from ${X.publicDir}`)}catch(B){throw await X.hooks.onError?.(B),B}if(J.buildTime=Date.now()-Z,Q.size>0){J.islandChunks={count:Q.size,totalBytes:G};let B={generatedChunks:Q.size,totalBytes:G,chunks:K,pages:W};await Bun.write(j0.join(X.outputDir,"_stx","islands-manifest.json"),JSON.stringify(B,null,2))}await X.hooks.onBuildEnd?.(J);let U=J.islandChunks?`
13040
+ </html>`)}for(let V of[500]){let N=H0.join(X.pagesDir,`${V}.stx`);if(await Bun.file(N).exists()){let A=new Set,w={...Y,debug:!1,cache:!1},R=await X0(await Bun.file(N).text(),{},N,w,A);await Bun.write(H0.join(X.outputDir,`${V}.html`),R)}}let L=H0.join(X.pagesDir,"error.stx");if(await Bun.file(L).exists()){let V=new Set,N={...Y,debug:!1,cache:!1},A=await X0(await Bun.file(L).text(),{},L,N,V);await Bun.write(H0.join(X.outputDir,"error.html"),A)}if(X.sitemap&&O.length>0){let V=dE(O,X.domain),N=H0.join(X.outputDir,"sitemap.xml");await Bun.write(N,V),J.sitemapPath=N,console.log(`Generated sitemap.xml with ${O.length} URLs`)}if(X.rss){let V=typeof X.rss==="object"?X.rss:{title:"Site Feed",description:"Latest updates",link:X.domain},N=[];if(V.getItems)N=await V.getItems();let A=uE(V,N),w=H0.join(X.outputDir,"rss.xml");await Bun.write(w,A),J.rssPath=w,console.log(`Generated rss.xml with ${N.length} items`)}if(X.publicDir&&g0.existsSync(X.publicDir))await Mj(X.publicDir,X.outputDir),console.log(`Copied public assets from ${X.publicDir}`)}catch(B){throw await X.hooks.onError?.(B),B}if(J.buildTime=Date.now()-Z,Q.size>0){J.islandChunks={count:Q.size,totalBytes:G};let B={generatedChunks:Q.size,totalBytes:G,chunks:K,pages:W};await Bun.write(H0.join(X.outputDir,"_stx","islands-manifest.json"),JSON.stringify(B,null,2))}await X.hooks.onBuildEnd?.(J);let U=J.islandChunks?`
13041
13041
  Island chunks: ${J.islandChunks.count} (${(J.islandChunks.totalBytes/1024).toFixed(1)} KB lifted out of inline HTML)`:"";return console.log(`
13042
13042
  Build complete!
13043
13043
  Total: ${J.totalPages} pages
@@ -13045,7 +13045,7 @@ Build complete!
13045
13045
  Cached: ${J.cachedCount}
13046
13046
  Failed: ${J.failedCount}
13047
13047
  Time: ${J.buildTime}ms${U}
13048
- `),J}async function Mj($,Z){let Y=await g0.promises.readdir($,{withFileTypes:!0});for(let X of Y){let J=j0.join($,X.name),Q=j0.join(Z,X.name);if(X.isDirectory())await g0.promises.mkdir(Q,{recursive:!0}),await Mj(J,Q);else await g0.promises.copyFile(J,Q)}}function Tj($={}){let Z=$.cacheDir||".stx/ssg-cache",Y=new Aj(Z),X=$.revalidate||3600;return{async get(J){let Q=await Y.get(J);if(!Q)return null;if(Date.now()>Q.revalidateAfter)this.revalidate(J).catch(console.error);return{html:Q.html,headers:{"Cache-Control":`public, max-age=${X}, stale-while-revalidate=${X*2}`,ETag:Q.etag,"X-ISR-Generated":new Date(Q.generatedAt).toISOString(),...Q.headers}}},async revalidate(J){let G=B$(".",{pagesDir:$.pagesDir||"pages"}).find((_)=>{return J.match(_.regex)!==null});if(!G){console.warn(`Route not found for revalidation: ${J}`);return}let K=J.match(G.regex),W={};if(K)G.params.forEach((_,z)=>{W[_]=K[z+1]});let U=await f0(),{html:B}=await wj(G,W,{},$,U);await Y.set(J,{html:B,generatedAt:Date.now(),revalidateAfter:Date.now()+X*1000,etag:hE(B)}),console.log(`Revalidated: ${J}`)},async invalidate(J){if(typeof J==="string")await Y.invalidate(J);else await Y.invalidatePattern(J)}}}function Ij($){return async()=>{return{paths:await $(),fallback:!1}}}function Ej(){return{name:"markdown",extensions:[".md",".mdx"],async load($){let Z=await Bun.file($).text(),Y=Z.match(/^---\n([\s\S]*?)\n---/),X={},J=Z;if(Y){let U=Y[1];J=Z.slice(Y[0].length).trim();for(let B of U.split(`
13048
+ `),J}async function Mj($,Z){let Y=await g0.promises.readdir($,{withFileTypes:!0});for(let X of Y){let J=H0.join($,X.name),Q=H0.join(Z,X.name);if(X.isDirectory())await g0.promises.mkdir(Q,{recursive:!0}),await Mj(J,Q);else await g0.promises.copyFile(J,Q)}}function Tj($={}){let Z=$.cacheDir||".stx/ssg-cache",Y=new Aj(Z),X=$.revalidate||3600;return{async get(J){let Q=await Y.get(J);if(!Q)return null;if(Date.now()>Q.revalidateAfter)this.revalidate(J).catch(console.error);return{html:Q.html,headers:{"Cache-Control":`public, max-age=${X}, stale-while-revalidate=${X*2}`,ETag:Q.etag,"X-ISR-Generated":new Date(Q.generatedAt).toISOString(),...Q.headers}}},async revalidate(J){let G=B$(".",{pagesDir:$.pagesDir||"pages"}).find((_)=>{return J.match(_.regex)!==null});if(!G){console.warn(`Route not found for revalidation: ${J}`);return}let K=J.match(G.regex),W={};if(K)G.params.forEach((_,z)=>{W[_]=K[z+1]});let U=await f0(),{html:B}=await wj(G,W,{},$,U);await Y.set(J,{html:B,generatedAt:Date.now(),revalidateAfter:Date.now()+X*1000,etag:hE(B)}),console.log(`Revalidated: ${J}`)},async invalidate(J){if(typeof J==="string")await Y.invalidate(J);else await Y.invalidatePattern(J)}}}function Ij($){return async()=>{return{paths:await $(),fallback:!1}}}function Ej(){return{name:"markdown",extensions:[".md",".mdx"],async load($){let Z=await Bun.file($).text(),Y=Z.match(/^---\n([\s\S]*?)\n---/),X={},J=Z;if(Y){let U=Y[1];J=Z.slice(Y[0].length).trim();for(let B of U.split(`
13049
13049
  `)){let _=B.indexOf(":");if(_>0){let z=B.slice(0,_).trim(),q=B.slice(_+1).trim();if(q==="true")q=!0;else if(q==="false")q=!1;else if(/^\d+$/.test(q))q=parseInt(q,10);else if(/^\d+\.\d+$/.test(q))q=parseFloat(q);else if(q.startsWith("[")&&q.endsWith("]"))q=q.slice(1,-1).split(",").map((j)=>j.trim().replace(/^['"]|['"]$/g,""));X[z]=q}}}let Q=J.replace(/^### (.*$)/gim,"<h3>$1</h3>").replace(/^## (.*$)/gim,"<h2>$1</h2>").replace(/^# (.*$)/gim,"<h1>$1</h1>").replace(/\*\*(.*)\*\*/gim,"<strong>$1</strong>").replace(/\*(.*)\*/gim,"<em>$1</em>").replace(/`([^`]+)`/gim,"<code>$1</code>").replace(/\[([^\]]+)\]\(([^)]+)\)/gim,'<a href="$2">$1</a>').replace(/\n/gim,"<br>"),G=[],K=/<h([1-6])>([^<]+)<\/h[1-6]>/gi,W;while((W=K.exec(Q))!==null){let U=parseInt(W[1],10),B=W[2],_=B.toLowerCase().replace(/[^a-z0-9]+/g,"-");G.push({id:_,text:B,level:U})}return{content:Q,data:X,toc:G}}}}function mE($){let Z=$.match(/definePageMeta\s*\(\s*(\{[\s\S]*?\})\s*\)/m);if(!Z)return null;try{return Function(`return ${Z[1]}`)()}catch{return null}}function pE($,Z){return`<!DOCTYPE html>
13050
13050
  <html>
13051
13051
  <head>
@@ -13058,7 +13058,7 @@ Build complete!
13058
13058
  <p>Redirecting to <a href="${$}">${$}</a>...</p>
13059
13059
  <script>window.location.replace('${$}')</script>
13060
13060
  </body>
13061
- </html>`}function cE($,Z){if($==="/"||$==="")return j0.join(Z.outputDir,"index.html");let Y=$.replace(/^\/|\/$/g,"");if(Z.trailingSlash)return j0.join(Z.outputDir,Y,"index.html");return j0.join(Z.outputDir,`${Y}.html`)}var lE;var kj=D(()=>{y6();O1();Vj();l0();h1();hZ();lE={generateStaticSite:Rj,createISRHandler:Tj,defineStaticPaths:Ij,createMarkdownLoader:Ej}});import{createHash as iE}from"crypto";import{getRouterScript as nE}from"stx-router";function a9($){return iE("sha256").update($).digest("hex").slice(0,8)}function t9($=!1){let Z=$?O5():l4(),Y=a9(Z);return{content:Z,filename:`runtime.${Y}.js`,hash:Y}}function e9(){let $=nE(),Z=a9($);return{content:$,filename:`router.${Z}.js`,hash:Z}}function sE($){return{runtimeTag:$.runtime?`<script src="/__stx/${$.runtime.filename}"></script>`:"",routerTag:$.router?`<script src="/__stx/${$.router.filename}"></script>`:"",cssTag:$.css?`<link rel="stylesheet" href="/__stx/${$.css.filename}">`:""}}var $Q=D(()=>{f8()});import Sj from"path";import{createHash as rE}from"crypto";function oE($={}){let Z=new Set;return{context:new Proxy($,{get(X,J){if(J in X)return X[J];if(typeof J==="string"&&!J.startsWith("__"))Z.add(J);return},has(X,J){if(J in X)return!0;if(typeof J==="string"&&!J.startsWith("__"))Z.add(J);return!1}}),accessedKeys:Z}}async function ZQ($,Z,Y={}){let X=Sj.resolve($),J=await Bun.file(X).text(),Q=rE("sha256").update(J).digest("hex").slice(0,16);DY();let G={};try{G=await f0()}catch{}let K=[],W=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,U;while((U=W.exec(J))!==null){let O=U[1];if(/\bserver\b/.test(O))K.push(U[2])}let{context:B}=oE({__filename:X,__dirname:Sj.dirname(X)}),_=new Set,z={...W1,...G,...Y,buildMode:"compile",strict:!1},q=await X0(J,B,X,z,_),j=U$(q),H=kY();return{route:Z,sourceFile:$,html:q,fragment:j,placeholders:H,hasServerScripts:K.length>0,serverScriptContent:K,dependencies:Array.from(_),contentHash:Q,streamTemplates:B.__streamTemplates}}var YQ=D(()=>{O1();l0();B4();l7()});import XQ from"fs";import bj from"path";function JQ($,Z,Y){return{version:1,buildTime:new Date().toISOString(),routes:$,assets:Z,outputDir:Y}}function QQ($,Z){let Y=bj.join(Z,"manifest.json");XQ.writeFileSync(Y,JSON.stringify($,null,2))}function GQ($){let Z=bj.join($,"manifest.json");if(!XQ.existsSync(Z))return null;try{let Y=XQ.readFileSync(Z,"utf-8"),X=JSON.parse(Y);if(X.version!==1)return console.warn(`[stx] Manifest version mismatch: expected 1, got ${X.version}`),null;return X}catch(Y){return console.warn("[stx] Failed to load manifest:",Y),null}}var pZ=()=>{};var yj={};Z0(yj,{buildForProduction:()=>Cj});import r1 from"fs";import t0 from"path";function tE($,Z){let Y=0,X=0;if(!r1.existsSync($))return{copied:Y,bytes:X};function J(Q,G){let K=r1.readdirSync(Q,{withFileTypes:!0});for(let W of K){if(aE.has(W.name))continue;let U=t0.join(Q,W.name),B=t0.join(G,W.name);if(W.isDirectory())r1.mkdirSync(B,{recursive:!0}),J(U,B);else if(W.isFile()){if(r1.existsSync(B))continue;r1.copyFileSync(U,B),Y++,X+=r1.statSync(B).size}}}return J($,Z),{copied:Y,bytes:X}}async function Cj($={}){let Z=Date.now(),Y=t0.resolve($.root||process.cwd()),X=t0.resolve(Y,$.outputDir||".output");console.log("[stx build] Starting production build...");let J={};try{J=await f0()}catch{}let Q=$.componentsDir??J.componentsDir??"components",G=$.partialsDir??J.partialsDir??"partials",K=$.layoutsDir??J.layoutsDir??"layouts",W=$.publicDir??J.publicDir??"public",U=J.app?.head||{},B=J.router?.container||"main";if(r1.existsSync(X))r1.rmSync(X,{recursive:!0});let _=[t0.join(X,"public","__stx"),t0.join(X,"public","assets"),t0.join(X,"server","pages"),t0.join(X,"server","fragments")];for(let R of _)r1.mkdirSync(R,{recursive:!0});console.log("[stx build] Discovering routes...");let z=B$(Y),q=["components","layouts","partials"],j=z.filter((R)=>{return!q.some((T)=>R.pattern.startsWith(`/${T}/`)||R.pattern===`/${T}`)});console.log(`[stx build] Found ${j.length} page routes (${z.length-j.length} non-page files excluded)`),console.log("[stx build] Generating shared assets...");let H=t9($.debug),O=e9();await Bun.write(t0.join(X,"public","__stx",H.filename),H.content),await Bun.write(t0.join(X,"public","__stx",O.filename),O.content),console.log(`[stx build] Runtime: ${H.filename} (${(H.content.length/1024).toFixed(1)}KB)`),console.log(`[stx build] Router: ${O.filename} (${(O.content.length/1024).toFixed(1)}KB)`),console.log("[stx build] Compiling templates...");let F=[],L=[];for(let R of j)try{let T=await ZQ(R.filePath,R.pattern,{componentsDir:Q,partialsDir:G,layoutsDir:K,debug:$.debug});if(F.push(T),T.html=T.html.replace(/runtime\.__STX_HASH__\.js/g,H.filename).replace(/router\.__STX_HASH__\.js/g,O.filename),T.html=f4(T.html,U,{bodyScripts:[`<script src="/__stx/${O.filename}"></script>`]}),!/<body[^>]*\bdata-stx=/.test(T.html)){let x=T.html.match(/<(?!body\b)[a-zA-Z][a-zA-Z0-9-]*\b[^>]*?\s(data-stx="[^"]+")[^>]*>/);if(x&&x[1]){let y=x[1];T.html=T.html.replace(" "+y,""),T.html=T.html.replace(/<body([^>]*)>/,`<body$1 ${y}>`)}}T.html=T.html.replace(/<style data-crosswind="generated">[\s\S]*?<\/style>\s*/g,""),T.html=await T0(T.html),T.fragment=b6(T.html,B);let E=R.pattern==="/"?"index":R.pattern.slice(1).replace(/\//g,"-").replace(/[[\]]/g,"_"),k=t0.join("server","pages",`${E}.compiled.json`),S=t0.join("server","fragments",`${E}.html`);await Bun.write(t0.join(X,k),JSON.stringify(T,null,2)),await Bun.write(t0.join(X,S),T.fragment),L.push({pattern:R.pattern,compiledPath:k,fragmentPath:S,isDynamic:T.hasServerScripts,hasParams:R.pattern.includes(":")||R.pattern.includes("[")}),console.log(`[stx build] \u2713 ${R.pattern}`)}catch(T){console.error(`[stx build] \u2717 ${R.pattern}:`,T instanceof Error?T.message:T)}let V=t0.resolve(Y,W);if(r1.existsSync(V)){let{copied:R,bytes:T}=tE(V,t0.join(X,"public"));if(R>0)console.log(`[stx build] Copied ${R} public asset${R===1?"":"s"} (${(T/1024).toFixed(1)}KB) from ${W}/`)}let N={runtime:H.filename,router:O.filename},A=JQ(L,N,X);QQ(A,X);let w=Date.now()-Z;return console.log(`
13061
+ </html>`}function cE($,Z){if($==="/"||$==="")return H0.join(Z.outputDir,"index.html");let Y=$.replace(/^\/|\/$/g,"");if(Z.trailingSlash)return H0.join(Z.outputDir,Y,"index.html");return H0.join(Z.outputDir,`${Y}.html`)}var lE;var kj=D(()=>{y6();O1();Vj();l0();h1();hZ();lE={generateStaticSite:Rj,createISRHandler:Tj,defineStaticPaths:Ij,createMarkdownLoader:Ej}});import{createHash as iE}from"crypto";import{getRouterScript as nE}from"stx-router";function a9($){return iE("sha256").update($).digest("hex").slice(0,8)}function t9($=!1){let Z=$?O5():l4(),Y=a9(Z);return{content:Z,filename:`runtime.${Y}.js`,hash:Y}}function e9(){let $=nE(),Z=a9($);return{content:$,filename:`router.${Z}.js`,hash:Z}}function sE($){return{runtimeTag:$.runtime?`<script src="/__stx/${$.runtime.filename}"></script>`:"",routerTag:$.router?`<script src="/__stx/${$.router.filename}"></script>`:"",cssTag:$.css?`<link rel="stylesheet" href="/__stx/${$.css.filename}">`:""}}var $Q=D(()=>{f8()});import Sj from"path";import{createHash as rE}from"crypto";function oE($={}){let Z=new Set;return{context:new Proxy($,{get(X,J){if(J in X)return X[J];if(typeof J==="string"&&!J.startsWith("__"))Z.add(J);return},has(X,J){if(J in X)return!0;if(typeof J==="string"&&!J.startsWith("__"))Z.add(J);return!1}}),accessedKeys:Z}}async function ZQ($,Z,Y={}){let X=Sj.resolve($),J=await Bun.file(X).text(),Q=rE("sha256").update(J).digest("hex").slice(0,16);DY();let G={};try{G=await f0()}catch{}let K=[],W=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,U;while((U=W.exec(J))!==null){let O=U[1];if(/\bserver\b/.test(O))K.push(U[2])}let{context:B}=oE({__filename:X,__dirname:Sj.dirname(X)}),_=new Set,z={...W1,...G,...Y,buildMode:"compile",strict:!1},q=await X0(J,B,X,z,_),j=U$(q),H=kY();return{route:Z,sourceFile:$,html:q,fragment:j,placeholders:H,hasServerScripts:K.length>0,serverScriptContent:K,dependencies:Array.from(_),contentHash:Q,streamTemplates:B.__streamTemplates}}var YQ=D(()=>{O1();l0();B4();l7()});import XQ from"fs";import bj from"path";function JQ($,Z,Y){return{version:1,buildTime:new Date().toISOString(),routes:$,assets:Z,outputDir:Y}}function QQ($,Z){let Y=bj.join(Z,"manifest.json");XQ.writeFileSync(Y,JSON.stringify($,null,2))}function GQ($){let Z=bj.join($,"manifest.json");if(!XQ.existsSync(Z))return null;try{let Y=XQ.readFileSync(Z,"utf-8"),X=JSON.parse(Y);if(X.version!==1)return console.warn(`[stx] Manifest version mismatch: expected 1, got ${X.version}`),null;return X}catch(Y){return console.warn("[stx] Failed to load manifest:",Y),null}}var pZ=()=>{};var yj={};Z0(yj,{buildForProduction:()=>Cj});import r1 from"fs";import t0 from"path";function tE($,Z){let Y=0,X=0;if(!r1.existsSync($))return{copied:Y,bytes:X};function J(Q,G){let K=r1.readdirSync(Q,{withFileTypes:!0});for(let W of K){if(aE.has(W.name))continue;let U=t0.join(Q,W.name),B=t0.join(G,W.name);if(W.isDirectory())r1.mkdirSync(B,{recursive:!0}),J(U,B);else if(W.isFile()){if(r1.existsSync(B))continue;r1.copyFileSync(U,B),Y++,X+=r1.statSync(B).size}}}return J($,Z),{copied:Y,bytes:X}}async function Cj($={}){let Z=Date.now(),Y=t0.resolve($.root||process.cwd()),X=t0.resolve(Y,$.outputDir||".output");console.log("[stx build] Starting production build...");let J={};try{J=await f0()}catch{}let Q=$.componentsDir??J.componentsDir??"components",G=$.partialsDir??J.partialsDir??"partials",K=$.layoutsDir??J.layoutsDir??"layouts",W=$.publicDir??J.publicDir??"public",U=J.app?.head||{},B=J.router?.container||"main";if(r1.existsSync(X))r1.rmSync(X,{recursive:!0});let _=[t0.join(X,"public","__stx"),t0.join(X,"public","assets"),t0.join(X,"server","pages"),t0.join(X,"server","fragments")];for(let R of _)r1.mkdirSync(R,{recursive:!0});console.log("[stx build] Discovering routes...");let z=B$(Y),q=["components","layouts","partials"],j=z.filter((R)=>{return!q.some((T)=>R.pattern.startsWith(`/${T}/`)||R.pattern===`/${T}`)});console.log(`[stx build] Found ${j.length} page routes (${z.length-j.length} non-page files excluded)`),console.log("[stx build] Generating shared assets...");let H=t9($.debug),O=e9();await Bun.write(t0.join(X,"public","__stx",H.filename),H.content),await Bun.write(t0.join(X,"public","__stx",O.filename),O.content),console.log(`[stx build] Runtime: ${H.filename} (${(H.content.length/1024).toFixed(1)}KB)`),console.log(`[stx build] Router: ${O.filename} (${(O.content.length/1024).toFixed(1)}KB)`),console.log("[stx build] Compiling templates...");let F=[],L=[];for(let R of j)try{let T=await ZQ(R.filePath,R.pattern,{componentsDir:Q,partialsDir:G,layoutsDir:K,debug:$.debug});if(F.push(T),T.html=T.html.replace(/runtime\.__STX_HASH__\.js/g,H.filename).replace(/router\.__STX_HASH__\.js/g,O.filename),T.html=f4(T.html,U,{bodyScripts:[`<script src="/__stx/${O.filename}"></script>`]}),!/<body[^>]*\bdata-stx=/.test(T.html)){let x=T.html.match(/<(?!body\b)[a-zA-Z][a-zA-Z0-9-]*\b[^>]*?\s(data-stx="[^"]+")[^>]*>/);if(x&&x[1]){let y=x[1];T.html=T.html.replace(" "+y,""),T.html=T.html.replace(/<body([^>]*)>/,`<body$1 ${y}>`)}}T.html=T.html.replace(/<style data-crosswind="generated">[\s\S]*?<\/style>\s*/g,""),T.html=await T0(T.html),T.fragment=b6(T.html,B);let E=R.pattern==="/"?"index":R.pattern.slice(1).replace(/\//g,"-").replace(/[[\]]/g,"_"),k=t0.join("server","pages",`${E}.compiled.json`),S=t0.join("server","fragments",`${E}.html`);await Bun.write(t0.join(X,k),JSON.stringify(T,null,2)),await Bun.write(t0.join(X,S),T.fragment),L.push({pattern:R.pattern,compiledPath:k,fragmentPath:S,isDynamic:T.hasServerScripts,hasParams:R.pattern.includes(":")||R.pattern.includes("[")}),console.log(`[stx build] \u2713 ${R.pattern}`)}catch(T){console.error(`[stx build] \u2717 ${R.pattern}:`,T instanceof Error?T.message:T)}let V=t0.resolve(Y,W);if(r1.existsSync(V)){let{copied:R,bytes:T}=tE(V,t0.join(X,"public"));if(R>0)console.log(`[stx build] Copied ${R} public asset${R===1?"":"s"} (${(T/1024).toFixed(1)}KB) from ${W}/`)}let N={runtime:H.filename,router:O.filename},A=JQ(L,N,X);QQ(A,X);let w=Date.now()-Z;return console.log(`
13062
13062
  [stx build] Done in ${w}ms \u2014 ${F.length} pages compiled`),{pageCount:F.length,assets:N,outputDir:X,duration:w}}var aE;var KQ=D(()=>{y6();$Q();YQ();pZ();l7();h1();l0();aE=new Set([".DS_Store","Thumbs.db","desktop.ini",".gitkeep",".gitignore"])});import eE from"path";async function $D($={}){let Z=performance.now(),Y=$.root||process.cwd(),X=await f0(),J=X.ssr?"ssr":"ssg";console.log(`[stx build] Mode: ${J.toUpperCase()}${X.ssr?" (ssr: true in stx.config.ts)":" (default \u2014 ssr is false)"}`);let Q,G;if(J==="ssg"){let{generateStaticSite:W}=await Promise.resolve().then(() => (kj(),Dj));Q=await W({pagesDir:eE.join(X.root||".",X.pagesDir||X.build?.pagesDir||"pages"),publicDir:X.publicDir||X.build?.publicDir||"public",outputDir:X.build?.outputDir||"dist",generate404:X.build?.generate404??!0,minify:X.build?.minify??!0,cleanOutput:X.build?.cleanOutput??!0,...$.ssg})}else{let{buildForProduction:W}=await Promise.resolve().then(() => (KQ(),yj));G=await W({outputDir:".output",debug:$.debug,...$.ssr})}let K=Math.round(performance.now()-Z);return{mode:J,ssg:Q,ssr:G,duration:K}}var Pj=D(()=>{l0()});import cZ from"path";async function YD($){let Z=performance.now(),Y=await f0($),X=$||Y.root||process.cwd(),J=[Y.build?.pagesDir||Y.pagesDir||"pages",Y.componentsDir||"components",Y.layoutsDir||"layouts",Y.partialsDir||"partials"].map((K)=>cZ.resolve(X,K)),Q=[],G=0;for(let K of J){let W=await vj(K);for(let U of W){G++;let B=await Bun.file(U).text();if(xj.test(B))Q.push(cZ.relative(X,U))}}return{mode:Q.length>0?"ssr":"ssg",serverScriptFiles:Q,totalFilesScanned:G,scanDurationMs:Math.round(performance.now()-Z)}}async function XD($){let Z=await f0($),Y=$||Z.root||process.cwd(),X=cZ.resolve(Y,Z.componentsDir||"components"),J=[],Q=await vj(X);for(let G of Q){let K=await Bun.file(G).text(),W=xj.test(K),U=ZD.test(K)||/<script\b(?![^>]*\bserver\b)[^>]*>/i.test(K)&&!W;if(W&&U){let B=cZ.relative(Y,G);J.push({file:B,message:`Component "${B}" has both <script server> and <script client>. `+"Components should be server OR client \u2014 compose them via props/slots."})}}return J}async function vj($){let Z=[];try{let Y=new Bun.Glob("**/*.stx");for await(let X of Y.scan({cwd:$,absolute:!0}))Z.push(X)}catch{}return Z}var xj,ZD;var fj=D(()=>{l0();xj=/<script\b[^>]*\bserver\b/i,ZD=/<script\b[^>]*\bclient\b/i});function WQ($){let Z=new Map,Y=/@(\w+)/g,X,J=1,Q=0;while((X=Y.exec($))!==null){let G=X[1],K=$.slice(Q,X.index);J+=(K.match(/\n/g)||[]).length,Q=X.index;let W=X.index-$.lastIndexOf(`
13063
13063
  `,X.index-1);if(hj.includes(G)){let U=Z.get(G);if(U)U.count++,U.locations.push({line:J,column:W});else Z.set(G,{name:G,count:1,locations:[{line:J,column:W}]})}}return Array.from(Z.values())}function dj($,Z=[]){let Y=WQ($),X=new Set(Y.map((J)=>J.name));for(let J of Z)X.add(J);for(let J of Array.from(X))if(!J.startsWith("end"))X.add(`end${J}`);return hj.filter((J)=>!X.has(J))}function uj($){let Z=[],Y={conditionals:["if","else","elseif","endif","unless","endunless","switch","case","default","endswitch","isset","endisset"],loops:["for","endfor","foreach","endforeach","forelse","endforelse","while","endwhile","break","continue","empty"],includes:["include","includeIf","includeWhen","includeFirst","once","endonce","extends","section","endsection","yield","parent","push","endpush","prepend","endprepend","stack"],components:["component","endcomponent","slot","endslot","props"],auth:["auth","endauth","guest","endguest","can","endcan","cannot","endcannot","role","endrole","hasRole","endhasRole","hasAnyRole","endhasAnyRole"],forms:["csrf","method","error","enderror","old","input","textarea","select","checkbox","radio","file"],i18n:["translate","lang","choice"],seo:["meta","title","seo","jsonld","canonical","robots","sitemap"]},X=new Set;for(let Q of $)for(let[G,K]of Object.entries(Y))if(K.includes(Q)){X.add(G);break}for(let Q of X)Z.push(`import { process${QD(Q)} } from './${Q}'`);let J=$.filter((Q)=>!Q.startsWith("end")).map((Q)=>` '${Q}': true`).join(`,
13064
13064
  `);return`// Tree-shaken directive bundle
@@ -13073,7 +13073,7 @@ ${J}
13073
13073
  export function isDirectiveActive(name: string): boolean {
13074
13074
  return name in activeDirectives
13075
13075
  }
13076
- `}function mj($,Z={}){let Y=[],X=/@if\(([^)]+)\)[\s\S]*?@endif/g,J=$.matchAll(X);for(let U of J){let B=U[1].trim();if(lZ(B,Z)===!1)Y.push({start:U.index,end:U.index+U[0].length,reason:`@if condition always false: ${B}`})}let Q=/@unless\(([^)]+)\)[\s\S]*?@endunless/g,G=$.matchAll(Q);for(let U of G){let B=U[1].trim();if(lZ(B,Z)===!0)Y.push({start:U.index,end:U.index+U[0].length,reason:`@unless condition always true: ${B}`})}let K=/@env\(['"]development['"]\)[\s\S]*?@endenv/g;if(Z.__ENV__==="production"){let U=$.matchAll(K);for(let B of U)Y.push({start:B.index,end:B.index+B[0].length,reason:"Development-only code in production build"})}let W=/@debug[\s\S]*?@enddebug/g;if(Z.__ENV__==="production"){let U=$.matchAll(W);for(let B of U)Y.push({start:B.index,end:B.index+B[0].length,reason:"Debug code in production build"})}return Y}function pj($,Z={}){let Y=mj($,Z),X=[];Y.sort((Q,G)=>G.start-Q.start);let J=$;for(let Q of Y)J=J.slice(0,Q.start)+J.slice(Q.end),X.push(Q.reason);return{content:J,removed:X}}function lZ($,Z){if($==="true")return!0;if($==="false")return!1;if($==="null")return null;if(/^\d+$/.test($))return Number.parseInt($,10);if(/^\d+\.\d+$/.test($))return Number.parseFloat($);if(/^['"].*['"]$/.test($))return $.slice(1,-1);if($ in Z)return Z[$];let Y=$.match(/^(\w+)\s*(===|!==|==|!=|>=|<=|>|<)\s*(.+)$/);if(Y){let[,X,J,Q]=Y,G=X in Z?Z[X]:void 0,K=lZ(Q,Z);if(G!==void 0&&K!==void 0)switch(J){case"==":case"===":return G===K;case"!=":case"!==":return G!==K;case">":return G>K;case"<":return G<K;case">=":return G>=K;case"<=":return G<=K}}return}function cj($,Z){let Y=[],X=$;return X=X.replace(/\{\{\s*(\w+)\s*\}\}/g,(J,Q)=>{if(Q in Z)return Y.push(`{{ ${Q} }} -> ${Z[Q]}`),String(Z[Q]);return J}),X=X.replace(/\{\{\s*(\d+)\s*([+\-*])\s*(\d+)\s*\}\}/g,(J,Q,G,K)=>{let W=Number.parseInt(Q,10),U=Number.parseInt(K,10),B;switch(G){case"+":B=W+U;break;case"-":B=W-U;break;case"*":B=W*U;break;default:return J}return Y.push(`{{ ${Q} ${G} ${K} }} -> ${B}`),String(B)}),{content:X,folded:Y}}function lj($){let Z=$,Y=[],X=0;Z=Z.replace(/<(pre|code|script|style)([^>]*)>([\s\S]*?)<\/\1>/gi,(J)=>{let Q=`__PRESERVE_${X++}__`;return Y.push({marker:Q,content:J}),Q}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(J)=>{let Q=`__PRESERVE_${X++}__`;return Y.push({marker:Q,content:J}),Q}),Z=Z.replace(/\{\{--([\s\S]*?)--\}\}/g,""),Z=Z.replace(/<!--[\s\S]*?-->/g,""),Z=Z.replace(/>\s+</g,"><"),Z=Z.replace(/^\s+/gm,""),Z=Z.replace(/\s+$/gm,""),Z=Z.replace(/\s{2,}/g," ");for(let{marker:J,content:Q}of Y){let G=Z.indexOf(J);if(G!==-1)Z=Z.slice(0,G)+Q+Z.slice(G+J.length)}return Z.trim()}function ij($){let Z=new Map,Y=new Map,X=/(['"])([^'"]{10,})\1/g,J;while((J=X.exec($))!==null){let K=J[2];Y.set(K,(Y.get(K)||0)+1)}let Q=0,G=$;for(let[K,W]of Y)if(W>1){let U=`__STR_${Q++}__`;Z.set(U,K);let B=K.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),_=new RegExp(`(['"])${B}\\1`,"g");G=G.replace(_,U)}return{content:G,pool:Z,count:Z.size}}function nj($,Z={}){let Y={...gj,...Z},X=new Blob([$]).size,J=$,Q=[],G=[],K=[],W=[],U=0;if(Y.target==="production")Y.constants={...Y.constants,__ENV__:"production"};if(Y.deadCodeElimination){let z=pj(J,Y.constants);if(J=z.content,z.removed.length>0)Q.push("Dead code elimination"),G.push(...z.removed.map((q)=>`Removed: ${q}`))}if(Y.constantFolding&&Object.keys(Y.constants).length>0){let z=cj(J,Y.constants);if(J=z.content,W=z.folded,W.length>0)Q.push("Constant folding")}if(Y.treeShake){if(K=dj(J,Y.preserveDirectives),K.length>0)Q.push("Tree shaking")}if(Y.stringPooling){let z=ij(J);if(J=z.content,U=z.count,U>0)Q.push("String pooling")}if(Y.minifyHtml){let z=lj(J);if(z.length<J.length)J=z,Q.push("HTML minification")}let B=new Blob([J]).size,_=X>0?Math.round((1-B/X)*100):0;return{content:J,originalSize:X,optimizedSize:B,reduction:_,appliedOptimizations:Q,removedDirectives:K,foldedConstants:W,pooledStrings:U,warnings:G}}async function JD($,Z={}){let Y={...gj,...Z},X=new Map,J=[],Q=0,G=0,K=new Set;for(let[_,z]of $){let q=nj(z,Y);X.set(_,q),Q+=q.originalSize,G+=q.optimizedSize,J.push(...q.warnings.map((H)=>`${_}: ${H}`));let j=WQ(z);for(let H of j)K.add(H.name)}let W;if(Y.treeShake)W=uj(Array.from(K));let U;if(Y.stringPooling)U=new Map;let B=Q>0?Math.round((1-G/Q)*100):0;return{templates:X,directiveBundle:W,stringPool:U,totalOriginalSize:Q,totalOptimizedSize:G,overallReduction:B,warnings:J}}function QD($){return $.charAt(0).toUpperCase()+$.slice(1)}var gj,hj;var sj=D(()=>{gj={treeShake:!0,deadCodeElimination:!0,constantFolding:!0,stringPooling:!1,minifyHtml:!0,removeDevCode:!0,constants:{},preserveDirectives:[],target:"production"},hj=["if","else","elseif","endif","unless","endunless","switch","case","default","endswitch","for","endfor","foreach","endforeach","forelse","endforelse","while","endwhile","break","continue","empty","extends","section","endsection","yield","parent","include","includeIf","includeWhen","includeFirst","once","endonce","push","endpush","prepend","endprepend","stack","component","endcomponent","slot","endslot","props","auth","endauth","guest","endguest","can","endcan","cannot","endcannot","role","endrole","hasRole","endhasRole","hasAnyRole","endhasAnyRole","csrf","method","error","enderror","old","input","textarea","select","checkbox","radio","file","translate","lang","choice","meta","title","seo","jsonld","canonical","robots","sitemap","ts","endts","js","endjs","css","endcss","markdown","endmarkdown","verbatim","endverbatim","env","production","debug","isset","endisset","empty","endempty"]});var _Q={};Z0(_Q,{toUsers:()=>ZH,toUser:()=>$H,stopBroadcasting:()=>tj,startBroadcasting:()=>aj,loadChannels:()=>ej,getBroadcastServer:()=>oj,channel:()=>JH,broadcastPrivate:()=>YH,broadcastPresence:()=>XH,broadcast:()=>BQ,BroadcastServer:()=>GH,Broadcast:()=>QH});import{Broadcast as i7,BroadcastServer as GD}from"ts-broadcasting";import{channel as JH}from"ts-broadcasting";import{Broadcast as QH,BroadcastServer as GH}from"ts-broadcasting";function oj(){return V1}async function aj($){if(V1)return V1;let Z=$.driver??"bun",Y=$.host??"0.0.0.0",X=$.port??6001,J=$.scheme??"ws",Q={verbose:$.verbose??!1,driver:Z,default:Z,connections:{[Z]:{driver:Z,host:Y,port:X,scheme:J}}};return V1=new GD(Q),i7.setServer(V1),await V1.start(),V1}async function tj(){for(let $ of UQ)clearInterval($);if(UQ.length=0,!V1)return;await V1.stop(),V1=null}async function ej($){let Z=await import($),Y=Z.default??Z;if(typeof Y!=="function")throw Error(`routes/channels.ts must export a default function, got ${typeof Y}`);let X=0;return Y({channel(Q,G){if(X++,G.authorize&&V1)V1.channels.channel(Q,G.authorize);if(G.interval&&G.data){let K=G.event??`${Q}.updated`,W=G.data,U=setInterval(async()=>{try{let B=await W();BQ(Q,K,B)}catch{}},G.interval);UQ.push(U)}}}),X}function P6(){if(V1)return!0;if(!rj)rj=!0,console.warn("[stx] broadcast() called before server started \u2014 messages will be sent once broadcasting is ready");return!1}function BQ($,Z,Y){if(!P6())return;i7.send($,Z,Y)}function $H($,Z,Y){if(!P6())return;i7.toUser($,Z,Y)}function ZH($,Z,Y){if(!P6())return;i7.toUsers($,Z,Y)}function YH($,Z,Y){if(!P6())return;i7.send(`private-${$}`,Z,Y)}function XH($,Z,Y){if(!P6())return;i7.presence($,Z,Y)}var V1=null,UQ,rj=!1;var iZ=D(()=>{UQ=[]});function KH($,Z){let Y={},X=$.trim();if(X.startsWith("{"))X=X.slice(1);if(X.endsWith("}"))X=X.slice(0,-1);if(X=X.trim(),!X)return Y;let J=0;while(J<X.length){while(J<X.length&&/\s/.test(X[J]))J++;if(J>=X.length)break;let Q="";if(X[J]==='"'||X[J]==="'"){let W=X[J];J++;while(J<X.length&&X[J]!==W)if(X[J]==="\\"&&J+1<X.length)Q+=X[J+1],J+=2;else Q+=X[J],J++;J++}else while(J<X.length&&/[\w$]/.test(X[J]))Q+=X[J],J++;while(J<X.length&&/\s/.test(X[J]))J++;if(X[J]===":")J++;while(J<X.length&&/\s/.test(X[J]))J++;let G,K=J;if(X[J]==='"'||X[J]==="'"){let W=X[J];J++;let U="";while(J<X.length&&X[J]!==W)if(X[J]==="\\"&&J+1<X.length)U+=X[J+1],J+=2;else U+=X[J],J++;J++,G=U}else if(X[J]==="{"){let W=1;J++;while(J<X.length&&W>0){if(X[J]==="{")W++;else if(X[J]==="}")W--;else if(X[J]==='"'||X[J]==="'"){let B=X[J];J++;while(J<X.length&&X[J]!==B){if(X[J]==="\\")J++;J++}}J++}let U=X.slice(K,J);G=KH(U,Z)}else if(X[J]==="["){let W=1;J++;while(J<X.length&&W>0){if(X[J]==="[")W++;else if(X[J]==="]")W--;else if(X[J]==='"'||X[J]==="'"){let B=X[J];J++;while(J<X.length&&X[J]!==B){if(X[J]==="\\")J++;J++}}J++}let U=X.slice(K,J);try{G=JSON.parse(U.replace(/'/g,'"'))}catch{G=U}}else{let W="";while(J<X.length&&X[J]!==","&&!/\s/.test(X[J]))W+=X[J],J++;if(W=W.trim(),W==="true")G=!0;else if(W==="false")G=!1;else if(W==="null")G=null;else if(W==="undefined")G=void 0;else if(/^-?\d+(\.\d+)?$/.test(W))G=Number(W);else if(W in Z)G=Z[W];else G=W}if(Q)Y[Q]=G;while(J<X.length&&/\s/.test(X[J]))J++;if(X[J]===",")J++}return Y}function KD($,Z,Y){let X=[];for(let[J,Q]of Object.entries(Z)){let G=$[J];if(Q.required&&(G===void 0||G===null)){X.push(`Component "${Y}": Missing required prop "${J}"`);continue}if(G===void 0||G===null)continue;let K=Array.isArray(Q.type)?Q.type:[Q.type];if(!K.includes("any")){let W=UD(G);if(!K.includes(W))X.push(`Component "${Y}": Prop "${J}" expected ${K.join(" | ")}, got ${W}`)}if(Q.validator&&!Q.validator(G))X.push(`Component "${Y}": Prop "${J}" failed custom validation`)}return X}function WD($,Z){let Y={...$};for(let[X,J]of Object.entries(Z))if(Y[X]===void 0&&J.default!==void 0)Y[X]=typeof J.default==="function"?J.default():J.default;return Y}function UD($){if(Array.isArray($))return"array";if($===null)return"null";return typeof $}function BD(){return[WH]}var WH;var UH=D(()=>{H1();h0();N0();WH={name:"component",handler:async($,Z,Y,X)=>{if(Z.length<1)return J0("Component","component directive requires at least the component name",e.INVALID_DIRECTIVE_SYNTAX);let J=Z[0].replace(/['"]/g,""),Q={};if(Z.length>1)try{let B=Z.slice(1).join(",").trim();if(B.startsWith("{")){if(Q=P0(B,Y),Object.keys(Q).length===0)Q=KH(B,Y)}else{let _=B.trim(),z=Y[_];if(z&&typeof z==="object"&&!Array.isArray(z))Q=z}}catch(B){let _=B instanceof Error?B.message:String(B);return console.error("Component props parsing error:",_),J0("Component",`Error parsing component props: ${_}`,e.EVALUATION_ERROR)}let G=Y.__stx_options||{},K=G.componentsDir||"components",W=new Set;if(!Y.__processedComponents)Y.__processedComponents=new Set;let U=Y.__processedComponents;try{return await u1(J,Q,"",K,Y,X,G,U,W)}catch(B){console.error("Component rendering error:",B);let _=B instanceof Error?B.message:String(B);return J0("Component",`Error rendering component: ${_}`,e.COMPONENT_RENDER_ERROR)}},hasEndTag:!1}});import zQ from"fs";import x6 from"path";async function BH($){try{let Y=(await Bun.file($).text()).match(/<script\b[^>]*>([\s\S]*?)<\/script>/i);if(!Y)return[];let X=Y[1],J=[],Q=/\/\*\*\s*([\s\S]*?)\s*\*\/\s*(?:(?:const|let|var)\s*)?(?:([\w$]+)\s*=|module\.exports\.([\w$]+)\s*=|\s*([\w$]+)\s*:)/g,G;while((G=Q.exec(X))!==null){let K=G[1],W=G[2]||G[3]||G[4];if(!W)continue;let U={name:W},B=K.match(/@type\s+\{([^}]+)\}/i);if(B)U.type=B[1].trim();if(K.match(/@required/i))U.required=!0;let z=K.match(/@default\s+(.+?)(?:\s+|$)/i);if(z)U.default=z[1].trim();let q=K.split(`
13076
+ `}function mj($,Z={}){let Y=[],X=/@if\(([^)]+)\)[\s\S]*?@endif/g,J=$.matchAll(X);for(let U of J){let B=U[1].trim();if(lZ(B,Z)===!1)Y.push({start:U.index,end:U.index+U[0].length,reason:`@if condition always false: ${B}`})}let Q=/@unless\(([^)]+)\)[\s\S]*?@endunless/g,G=$.matchAll(Q);for(let U of G){let B=U[1].trim();if(lZ(B,Z)===!0)Y.push({start:U.index,end:U.index+U[0].length,reason:`@unless condition always true: ${B}`})}let K=/@env\(['"]development['"]\)[\s\S]*?@endenv/g;if(Z.__ENV__==="production"){let U=$.matchAll(K);for(let B of U)Y.push({start:B.index,end:B.index+B[0].length,reason:"Development-only code in production build"})}let W=/@debug[\s\S]*?@enddebug/g;if(Z.__ENV__==="production"){let U=$.matchAll(W);for(let B of U)Y.push({start:B.index,end:B.index+B[0].length,reason:"Debug code in production build"})}return Y}function pj($,Z={}){let Y=mj($,Z),X=[];Y.sort((Q,G)=>G.start-Q.start);let J=$;for(let Q of Y)J=J.slice(0,Q.start)+J.slice(Q.end),X.push(Q.reason);return{content:J,removed:X}}function lZ($,Z){if($==="true")return!0;if($==="false")return!1;if($==="null")return null;if(/^\d+$/.test($))return Number.parseInt($,10);if(/^\d+\.\d+$/.test($))return Number.parseFloat($);if(/^['"].*['"]$/.test($))return $.slice(1,-1);if($ in Z)return Z[$];let Y=$.match(/^(\w+)\s*(===|!==|==|!=|>=|<=|>|<)\s*(.+)$/);if(Y){let[,X,J,Q]=Y,G=X in Z?Z[X]:void 0,K=lZ(Q,Z);if(G!==void 0&&K!==void 0)switch(J){case"==":case"===":return G===K;case"!=":case"!==":return G!==K;case">":return G>K;case"<":return G<K;case">=":return G>=K;case"<=":return G<=K}}return}function cj($,Z){let Y=[],X=$;return X=X.replace(/\{\{\s*(\w+)\s*\}\}/g,(J,Q)=>{if(Q in Z)return Y.push(`{{ ${Q} }} -> ${Z[Q]}`),String(Z[Q]);return J}),X=X.replace(/\{\{\s*(\d+)\s*([+\-*])\s*(\d+)\s*\}\}/g,(J,Q,G,K)=>{let W=Number.parseInt(Q,10),U=Number.parseInt(K,10),B;switch(G){case"+":B=W+U;break;case"-":B=W-U;break;case"*":B=W*U;break;default:return J}return Y.push(`{{ ${Q} ${G} ${K} }} -> ${B}`),String(B)}),{content:X,folded:Y}}function lj($){let Z=$,Y=[],X=0;Z=Z.replace(/<(pre|code|script|style)([^>]*)>([\s\S]*?)<\/\1>/gi,(J)=>{let Q=`__PRESERVE_${X++}__`;return Y.push({marker:Q,content:J}),Q}),Z=Z.replace(/\{\{([\s\S]*?)\}\}/g,(J)=>{let Q=`__PRESERVE_${X++}__`;return Y.push({marker:Q,content:J}),Q}),Z=Z.replace(/\{\{--([\s\S]*?)--\}\}/g,""),Z=Z.replace(/<!--[\s\S]*?-->/g,""),Z=Z.replace(/>\s+</g,"><"),Z=Z.replace(/^\s+/gm,""),Z=Z.replace(/\s+$/gm,""),Z=Z.replace(/\s{2,}/g," ");for(let{marker:J,content:Q}of Y){let G=Z.indexOf(J);if(G!==-1)Z=Z.slice(0,G)+Q+Z.slice(G+J.length)}return Z.trim()}function ij($){let Z=new Map,Y=new Map,X=/(['"])([^'"]{10,})\1/g,J;while((J=X.exec($))!==null){let K=J[2];Y.set(K,(Y.get(K)||0)+1)}let Q=0,G=$;for(let[K,W]of Y)if(W>1){let U=`__STR_${Q++}__`;Z.set(U,K);let B=K.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),_=new RegExp(`(['"])${B}\\1`,"g");G=G.replace(_,U)}return{content:G,pool:Z,count:Z.size}}function nj($,Z={}){let Y={...gj,...Z},X=new Blob([$]).size,J=$,Q=[],G=[],K=[],W=[],U=0;if(Y.target==="production")Y.constants={...Y.constants,__ENV__:"production"};if(Y.deadCodeElimination){let z=pj(J,Y.constants);if(J=z.content,z.removed.length>0)Q.push("Dead code elimination"),G.push(...z.removed.map((q)=>`Removed: ${q}`))}if(Y.constantFolding&&Object.keys(Y.constants).length>0){let z=cj(J,Y.constants);if(J=z.content,W=z.folded,W.length>0)Q.push("Constant folding")}if(Y.treeShake){if(K=dj(J,Y.preserveDirectives),K.length>0)Q.push("Tree shaking")}if(Y.stringPooling){let z=ij(J);if(J=z.content,U=z.count,U>0)Q.push("String pooling")}if(Y.minifyHtml){let z=lj(J);if(z.length<J.length)J=z,Q.push("HTML minification")}let B=new Blob([J]).size,_=X>0?Math.round((1-B/X)*100):0;return{content:J,originalSize:X,optimizedSize:B,reduction:_,appliedOptimizations:Q,removedDirectives:K,foldedConstants:W,pooledStrings:U,warnings:G}}async function JD($,Z={}){let Y={...gj,...Z},X=new Map,J=[],Q=0,G=0,K=new Set;for(let[_,z]of $){let q=nj(z,Y);X.set(_,q),Q+=q.originalSize,G+=q.optimizedSize,J.push(...q.warnings.map((H)=>`${_}: ${H}`));let j=WQ(z);for(let H of j)K.add(H.name)}let W;if(Y.treeShake)W=uj(Array.from(K));let U;if(Y.stringPooling)U=new Map;let B=Q>0?Math.round((1-G/Q)*100):0;return{templates:X,directiveBundle:W,stringPool:U,totalOriginalSize:Q,totalOptimizedSize:G,overallReduction:B,warnings:J}}function QD($){return $.charAt(0).toUpperCase()+$.slice(1)}var gj,hj;var sj=D(()=>{gj={treeShake:!0,deadCodeElimination:!0,constantFolding:!0,stringPooling:!1,minifyHtml:!0,removeDevCode:!0,constants:{},preserveDirectives:[],target:"production"},hj=["if","else","elseif","endif","unless","endunless","switch","case","default","endswitch","for","endfor","foreach","endforeach","forelse","endforelse","while","endwhile","break","continue","empty","extends","section","endsection","yield","parent","include","includeIf","includeWhen","includeFirst","once","endonce","push","endpush","prepend","endprepend","stack","component","endcomponent","slot","endslot","props","auth","endauth","guest","endguest","can","endcan","cannot","endcannot","role","endrole","hasRole","endhasRole","hasAnyRole","endhasAnyRole","csrf","method","error","enderror","old","input","textarea","select","checkbox","radio","file","translate","lang","choice","meta","title","seo","jsonld","canonical","robots","sitemap","ts","endts","js","endjs","css","endcss","markdown","endmarkdown","verbatim","endverbatim","env","production","debug","isset","endisset","empty","endempty"]});var _Q={};Z0(_Q,{toUsers:()=>ZH,toUser:()=>$H,stopBroadcasting:()=>tj,startBroadcasting:()=>aj,loadChannels:()=>ej,getBroadcastServer:()=>oj,channel:()=>JH,broadcastPrivate:()=>YH,broadcastPresence:()=>XH,broadcast:()=>BQ,BroadcastServer:()=>GH,Broadcast:()=>QH});import{Broadcast as i7,BroadcastServer as GD}from"ts-broadcasting";import{channel as JH}from"ts-broadcasting";import{Broadcast as QH,BroadcastServer as GH}from"ts-broadcasting";function oj(){return V1}async function aj($){if(V1)return V1;let Z=$.driver??"bun",Y=$.host??"0.0.0.0",X=$.port??6001,J=$.scheme??"ws",Q={verbose:$.verbose??!1,driver:Z,default:Z,connections:{[Z]:{driver:Z,host:Y,port:X,scheme:J}}};return V1=new GD(Q),i7.setServer(V1),await V1.start(),V1}async function tj(){for(let $ of UQ)clearInterval($);if(UQ.length=0,!V1)return;await V1.stop(),V1=null}async function ej($){let Z=await import($),Y=Z.default??Z;if(typeof Y!=="function")throw Error(`routes/channels.ts must export a default function, got ${typeof Y}`);let X=0;return Y({channel(Q,G){if(X++,G.authorize&&V1)V1.channels.channel(Q,G.authorize);if(G.interval&&G.data){let K=G.event??`${Q}.updated`,W=G.data,U=setInterval(async()=>{try{let B=await W();BQ(Q,K,B)}catch{}},G.interval);UQ.push(U)}}}),X}function P6(){if(V1)return!0;if(!rj)rj=!0,console.warn("[stx] broadcast() called before server started \u2014 messages will be sent once broadcasting is ready");return!1}function BQ($,Z,Y){if(!P6())return;i7.send($,Z,Y)}function $H($,Z,Y){if(!P6())return;i7.toUser($,Z,Y)}function ZH($,Z,Y){if(!P6())return;i7.toUsers($,Z,Y)}function YH($,Z,Y){if(!P6())return;i7.send(`private-${$}`,Z,Y)}function XH($,Z,Y){if(!P6())return;i7.presence($,Z,Y)}var V1=null,UQ,rj=!1;var iZ=D(()=>{UQ=[]});function KH($,Z){let Y={},X=$.trim();if(X.startsWith("{"))X=X.slice(1);if(X.endsWith("}"))X=X.slice(0,-1);if(X=X.trim(),!X)return Y;let J=0;while(J<X.length){while(J<X.length&&/\s/.test(X[J]))J++;if(J>=X.length)break;let Q="";if(X[J]==='"'||X[J]==="'"){let W=X[J];J++;while(J<X.length&&X[J]!==W)if(X[J]==="\\"&&J+1<X.length)Q+=X[J+1],J+=2;else Q+=X[J],J++;J++}else while(J<X.length&&/[\w$]/.test(X[J]))Q+=X[J],J++;while(J<X.length&&/\s/.test(X[J]))J++;if(X[J]===":")J++;while(J<X.length&&/\s/.test(X[J]))J++;let G,K=J;if(X[J]==='"'||X[J]==="'"){let W=X[J];J++;let U="";while(J<X.length&&X[J]!==W)if(X[J]==="\\"&&J+1<X.length)U+=X[J+1],J+=2;else U+=X[J],J++;J++,G=U}else if(X[J]==="{"){let W=1;J++;while(J<X.length&&W>0){if(X[J]==="{")W++;else if(X[J]==="}")W--;else if(X[J]==='"'||X[J]==="'"){let B=X[J];J++;while(J<X.length&&X[J]!==B){if(X[J]==="\\")J++;J++}}J++}let U=X.slice(K,J);G=KH(U,Z)}else if(X[J]==="["){let W=1;J++;while(J<X.length&&W>0){if(X[J]==="[")W++;else if(X[J]==="]")W--;else if(X[J]==='"'||X[J]==="'"){let B=X[J];J++;while(J<X.length&&X[J]!==B){if(X[J]==="\\")J++;J++}}J++}let U=X.slice(K,J);try{G=JSON.parse(U.replace(/'/g,'"'))}catch{G=U}}else{let W="";while(J<X.length&&X[J]!==","&&!/\s/.test(X[J]))W+=X[J],J++;if(W=W.trim(),W==="true")G=!0;else if(W==="false")G=!1;else if(W==="null")G=null;else if(W==="undefined")G=void 0;else if(/^-?\d+(\.\d+)?$/.test(W))G=Number(W);else if(W in Z)G=Z[W];else G=W}if(Q)Y[Q]=G;while(J<X.length&&/\s/.test(X[J]))J++;if(X[J]===",")J++}return Y}function KD($,Z,Y){let X=[];for(let[J,Q]of Object.entries(Z)){let G=$[J];if(Q.required&&(G===void 0||G===null)){X.push(`Component "${Y}": Missing required prop "${J}"`);continue}if(G===void 0||G===null)continue;let K=Array.isArray(Q.type)?Q.type:[Q.type];if(!K.includes("any")){let W=UD(G);if(!K.includes(W))X.push(`Component "${Y}": Prop "${J}" expected ${K.join(" | ")}, got ${W}`)}if(Q.validator&&!Q.validator(G))X.push(`Component "${Y}": Prop "${J}" failed custom validation`)}return X}function WD($,Z){let Y={...$};for(let[X,J]of Object.entries(Z))if(Y[X]===void 0&&J.default!==void 0)Y[X]=typeof J.default==="function"?J.default():J.default;return Y}function UD($){if(Array.isArray($))return"array";if($===null)return"null";return typeof $}function BD(){return[WH]}var WH;var UH=D(()=>{H1();h0();A0();WH={name:"component",handler:async($,Z,Y,X)=>{if(Z.length<1)return J0("Component","component directive requires at least the component name",e.INVALID_DIRECTIVE_SYNTAX);let J=Z[0].replace(/['"]/g,""),Q={};if(Z.length>1)try{let B=Z.slice(1).join(",").trim();if(B.startsWith("{")){if(Q=P0(B,Y),Object.keys(Q).length===0)Q=KH(B,Y)}else{let _=B.trim(),z=Y[_];if(z&&typeof z==="object"&&!Array.isArray(z))Q=z}}catch(B){let _=B instanceof Error?B.message:String(B);return console.error("Component props parsing error:",_),J0("Component",`Error parsing component props: ${_}`,e.EVALUATION_ERROR)}let G=Y.__stx_options||{},K=G.componentsDir||"components",W=new Set;if(!Y.__processedComponents)Y.__processedComponents=new Set;let U=Y.__processedComponents;try{return await u1(J,Q,"",K,Y,X,G,U,W)}catch(B){console.error("Component rendering error:",B);let _=B instanceof Error?B.message:String(B);return J0("Component",`Error rendering component: ${_}`,e.COMPONENT_RENDER_ERROR)}},hasEndTag:!1}});import zQ from"fs";import x6 from"path";async function BH($){try{let Y=(await Bun.file($).text()).match(/<script\b[^>]*>([\s\S]*?)<\/script>/i);if(!Y)return[];let X=Y[1],J=[],Q=/\/\*\*\s*([\s\S]*?)\s*\*\/\s*(?:(?:const|let|var)\s*)?(?:([\w$]+)\s*=|module\.exports\.([\w$]+)\s*=|\s*([\w$]+)\s*:)/g,G;while((G=Q.exec(X))!==null){let K=G[1],W=G[2]||G[3]||G[4];if(!W)continue;let U={name:W},B=K.match(/@type\s+\{([^}]+)\}/i);if(B)U.type=B[1].trim();if(K.match(/@required/i))U.required=!0;let z=K.match(/@default\s+(.+?)(?:\s+|$)/i);if(z)U.default=z[1].trim();let q=K.split(`
13077
13077
  `).map((j)=>j.trim().replace(/^\*\s*/,"")).filter((j)=>!j.startsWith("@")&&j.length>0);U.description=q.join(" ").trim(),J.push(U)}if(J.length===0){let K=X.match(/module\.exports\s*=\s*\{([^}]+)\}/i);if(K){let U=K[1].split(",").map((B)=>B.trim()).filter(Boolean);for(let B of U){let[_]=B.split(":").map((z)=>z.trim());if(_)J.push({name:_})}}}return J}catch(Z){return console.error(`Error extracting props from ${$}:`,Z),[]}}async function _H($){try{let Z=await Bun.file($).text(),Y=Z.match(/^\s*<!--\s*([\s\S]*?)\s*-->/)||Z.match(/^\s*\/\*\*\s*([\s\S]*?)\s*\*\//);if(Y)return Y[1].split(`
13078
13078
  `).map((X)=>X.trim().replace(/^\*\s*/,"")).join(" ").trim();return""}catch{return""}}async function zH($,Z=!1,Y){let X=x6.basename($,".stx"),J=await BH($),Q=await _H($),G="";if(Z&&Y)G=`<${Y}></${Y}>`;else{let K=J.map((W)=>{if(W.type==="boolean")return`:${W.name}="true"`;return`${W.name}="value"`}).join(`
13079
13079
  `);G=`<${X}
@@ -13212,7 +13212,7 @@ export function isDirectiveActive(name: string): boolean {
13212
13212
  <td>@${Q.name}</td>
13213
13213
  <td>${Q.description||"-"}</td>
13214
13214
  <td>${Q.hasEndTag?"Yes":"No"}</td>
13215
- </tr>`;J+="</tbody></table>";for(let Q of Y)if(Q.example)J+=`<h3>@${Q.name}</h3>`,J+=`<p>${Q.description||""}</p>`,J+="<h4>Example</h4>",J+=`<pre><code>${Q.example.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}</code></pre>`}return J+="</body></html>",J}function FH($=[],Z=[],Y=[],X){return JSON.stringify({components:$,templates:Z,directives:Y,extraContent:X||""},null,2)}async function VH($){try{let{componentsDir:Z,templatesDir:Y,webComponentsConfig:X,customDirectives:J,config:Q}=$;if(!Q.enabled)return!1;let G=Q.outputDir||"docs";if(await zQ.promises.mkdir(G,{recursive:!0}),console.log("Generating documentation..."),Z)console.log(`Components directory: ${Z}`);if(Y)console.log(`Templates directory: ${Y}`);console.log(`Output directory: ${G}`);let K=[];if(Q.components!==!1&&Z)console.log("Generating component documentation..."),K=await qH(Z,X),console.log(`Found ${K.length} components`);let W=[];if(Q.templates!==!1&&Y)console.log("Generating template documentation..."),W=await jH(Y),console.log(`Found ${W.length} templates`);let U=[];if(Q.directives!==!1)console.log("Generating directive documentation..."),U=await HH(J),console.log(`Found ${U.length} directives`);let B=Q.format||"markdown",_=Q.extraContent,z="",q="";switch(B){case"markdown":z=OH(K,W,U,_),q="md";break;case"html":z=LH(K,W,U,_),q="html";break;case"json":z=FH(K,W,U,_),q="json";break;default:throw Error(`Unsupported documentation format: ${B}`)}let j=x6.join(G,`stx-docs.${q}`);return await Bun.write(j,z),console.log(`Documentation generated: ${j}`),!0}catch(Z){return console.error("Error generating documentation:",Z),!1}}async function _D($){let Z={enabled:!0,outputDir:$.output||"docs",format:$.format||"markdown",components:$.components!==!1,templates:$.templates!==!1,directives:$.directives!==!1,extraContent:$.extraContent},Y=$.componentsDir||_1.componentsDir,X=$.templatesDir||".";return VH({componentsDir:Y,templatesDir:X,webComponentsConfig:_1.webComponents,customDirectives:_1.customDirectives,config:Z})}var NH=D(()=>{l0();N0()});import n7 from"process";function s7(){if(typeof globalThis<"u"&&"caches"in globalThis&&"CF"in globalThis)return{platform:"cloudflare",supportsStreaming:!0,supportsCrypto:!0,supportsKV:!0,supportsCache:!0,capabilities:["kv","r2","d1","durable-objects","queues"]};if(typeof globalThis<"u"&&"Deno"in globalThis)return{platform:"deno",version:globalThis.Deno.version?.deno,supportsStreaming:!0,supportsCrypto:!0,supportsKV:!0,supportsCache:!0,capabilities:["kv","deploy","ffi"]};if(typeof globalThis<"u"&&"Bun"in globalThis)return{platform:"bun",version:globalThis.Bun.version,supportsStreaming:!0,supportsCrypto:!0,supportsKV:!1,supportsCache:!1,capabilities:["sqlite","ffi","native-modules"]};if(typeof globalThis<"u"&&"EdgeRuntime"in globalThis)return{platform:"vercel",supportsStreaming:!0,supportsCrypto:!0,supportsKV:!0,supportsCache:!0,capabilities:["edge-config","blob"]};if(typeof globalThis<"u"&&"Netlify"in globalThis)return{platform:"netlify",supportsStreaming:!0,supportsCrypto:!0,supportsKV:!0,supportsCache:!1,capabilities:["blobs","edge-functions"]};if(typeof globalThis<"u"&&"fastly"in globalThis)return{platform:"fastly",supportsStreaming:!0,supportsCrypto:!0,supportsKV:!0,supportsCache:!0,capabilities:["dictionary","backend","geolocation"]};if(n7.versions?.node)return{platform:"node",version:n7.versions.node,supportsStreaming:!0,supportsCrypto:!0,supportsKV:!1,supportsCache:!1,capabilities:["fs","child-process","native-modules"]};return{platform:"unknown",supportsStreaming:!1,supportsCrypto:!1,supportsKV:!1,supportsCache:!1,capabilities:[]}}function zD(){let $=s7();return["cloudflare","deno","vercel","netlify","fastly"].includes($.platform)}function qD(){return s7().platform!=="unknown"}function wH($){return{get(Z){if($&&Z in $){let Y=$[Z];return typeof Y==="string"?Y:void 0}if(typeof globalThis<"u"&&"Deno"in globalThis)return globalThis.Deno.env.get(Z);if(n7.env)return n7.env[Z];return},getOrThrow(Z){let Y=this.get(Z);if(Y===void 0)throw Error(`Environment variable "${Z}" is not set`);return Y},has(Z){return this.get(Z)!==void 0},all(){let Z={};if($){for(let[Y,X]of Object.entries($))if(typeof X==="string")Z[Y]=X}if(typeof globalThis<"u"&&"Deno"in globalThis){let Y=globalThis.Deno.env.toObject();Object.assign(Z,Y)}if(n7.env){for(let[Y,X]of Object.entries(n7.env))if(X!==void 0)Z[Y]=X}return Z}}}function RH($){let Z=s7();if(Z.platform==="cloudflare"&&$)return $;if(Z.platform==="deno"&&"Deno"in globalThis)return jD();if(Z.platform==="node"||Z.platform==="bun")return HD();return}function jD(){let $=null,Z=async()=>{if(!$)$=await globalThis.Deno.openKv();return $};return{async get(Y){return(await(await Z()).get(["stx",Y])).value},async getWithMetadata(Y){let X=await Z(),J=await X.get(["stx",Y]),Q=await X.get(["stx-meta",Y]);return{value:J.value,metadata:Q.value}},async put(Y,X,J){let Q=await Z(),G=J?.expirationTtl?J.expirationTtl*1000:void 0;if(await Q.set(["stx",Y],X,G?{expireIn:G}:void 0),J?.metadata)await Q.set(["stx-meta",Y],J.metadata,G?{expireIn:G}:void 0)},async delete(Y){let X=await Z();await X.delete(["stx",Y]),await X.delete(["stx-meta",Y])},async list(Y){let X=await Z(),J=Y?.prefix?["stx",Y.prefix]:["stx"],Q=X.list({prefix:J,limit:Y?.limit||100}),G=[];for await(let K of Q){let U=K.key.slice(1).join("/");if(!U.startsWith("stx-meta/"))G.push({name:U})}return{keys:G,list_complete:!0}}}}function HD(){let $=new Map,Z=()=>{let Y=Date.now();for(let[X,J]of $.entries())if(J.expiration&&J.expiration<Y)$.delete(X)};return{async get(Y){Z();let X=$.get(Y);if(!X)return null;if(X.expiration&&X.expiration<Date.now())return $.delete(Y),null;return X.value},async getWithMetadata(Y){Z();let X=$.get(Y);if(!X)return{value:null,metadata:null};if(X.expiration&&X.expiration<Date.now())return $.delete(Y),{value:null,metadata:null};return{value:X.value,metadata:X.metadata||null}},async put(Y,X,J){let Q=J?.expiration?J.expiration*1000:J?.expirationTtl?Date.now()+J.expirationTtl*1000:void 0;$.set(Y,{value:X,metadata:J?.metadata,expiration:Q})},async delete(Y){$.delete(Y)},async list(Y){Z();let X=[];for(let[J,Q]of $.entries()){if(Y?.prefix&&!J.startsWith(Y.prefix))continue;if(X.push({name:J,expiration:Q.expiration,metadata:Q.metadata}),Y?.limit&&X.length>=Y.limit)break}return{keys:X,list_complete:!0}}}}function MH(){let $=s7();if($.platform==="cloudflare"&&"caches"in globalThis)return OD();if($.supportsStreaming)return LD();return}function OD(){return{async match($){return(await caches.default).match($)},async put($,Z){await(await caches.default).put($,Z.clone())},async delete($){return(await caches.default).delete($)}}}function LD(){let $=new Map,Z=60000;return{async match(Y){let X=Y.url,J=$.get(X);if(!J)return;if(Date.now()>J.expiration){$.delete(X);return}return J.response.clone()},async put(Y,X){let J=Y.url,Q=X.headers.get("Cache-Control"),G=60000;if(Q){let K=Q.match(/max-age=(\d+)/);if(K)G=Number.parseInt(K[1],10)*1000}$.set(J,{response:X.clone(),expiration:Date.now()+G})},async delete(Y){return $.delete(Y.url)}}}function FD(){return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,9)}`}function VD($,Z){if(Z.platform==="cloudflare"){let Y=$.cf;if(Y)return{city:Y.city,country:Y.country,countryCode:Y.country,region:Y.region,latitude:Y.latitude?Number.parseFloat(Y.latitude):void 0,longitude:Y.longitude?Number.parseFloat(Y.longitude):void 0,timezone:Y.timezone}}if(Z.platform==="vercel"){let Y={},X=$.headers.get("x-vercel-ip-city"),J=$.headers.get("x-vercel-ip-country"),Q=$.headers.get("x-vercel-ip-country-region"),G=$.headers.get("x-vercel-ip-latitude"),K=$.headers.get("x-vercel-ip-longitude");if(X)Y.city=decodeURIComponent(X);if(J)Y.countryCode=J;if(Q)Y.region=Q;if(G)Y.latitude=Number.parseFloat(G);if(K)Y.longitude=Number.parseFloat(K);return Object.keys(Y).length>0?Y:void 0}if(Z.platform==="netlify"){let Y={},X=$.headers.get("x-nf-geo-city"),J=$.headers.get("x-nf-geo-country");if(X)Y.city=X;if(J)Y.countryCode=J;return Object.keys(Y).length>0?Y:void 0}return}function jQ($,Z,Y){let X=new Headers($.headers);if(Z.origins==="*")X.set("Access-Control-Allow-Origin","*");else if(Z.origins&&Y&&Z.origins.includes(Y))X.set("Access-Control-Allow-Origin",Y),X.set("Vary","Origin");if(Z.methods)X.set("Access-Control-Allow-Methods",Z.methods.join(", "));if(Z.headers)X.set("Access-Control-Allow-Headers",Z.headers.join(", "));if(Z.exposeHeaders)X.set("Access-Control-Expose-Headers",Z.exposeHeaders.join(", "));if(Z.credentials)X.set("Access-Control-Allow-Credentials","true");if(Z.maxAge)X.set("Access-Control-Max-Age",String(Z.maxAge));return new Response($.body,{status:$.status,statusText:$.statusText,headers:X})}function v6($){let Z=s7();return async(Y,X)=>{let J=performance.now(),Q=FD(),G={runtime:Z,platform:X||{},requestId:Q,geo:VD(Y,Z),timing:{start:J,getElapsed:()=>performance.now()-J},kv:RH(X?.KV),cache:MH(),env:wH(X?.env)};try{if(Y.method==="OPTIONS"&&$.cors){let W=new Response(null,{status:204});return W=jQ(W,$.cors,Y.headers.get("Origin")||void 0),W}if($.cache?.enabled&&Y.method==="GET"&&G.cache){if(AH(Y,$.cache)){let U=await G.cache.match(Y);if(U){let B=new Response(U.body,U);return B.headers.set("X-Cache","HIT"),B.headers.set("X-Request-Id",Q),$.cors?jQ(B,$.cors,Y.headers.get("Origin")||void 0):B}}}let K;if($.middleware&&$.middleware.length>0)K=await ND(Y,G,$.middleware,async()=>{let W=await $.render(Y,G);return typeof W==="string"?new Response(W,{headers:{"Content-Type":"text/html; charset=utf-8"}}):W});else{let W=await $.render(Y,G);K=typeof W==="string"?new Response(W,{headers:{"Content-Type":"text/html; charset=utf-8"}}):W}if(K.headers.set("X-Request-Id",Q),K.headers.set("X-Response-Time",`${G.timing.getElapsed().toFixed(2)}ms`),$.cache?.enabled&&Y.method==="GET"&&G.cache){if(AH(Y,$.cache)&&K.status===200){let U=$.cache.ttl||60,B=K.clone();B.headers.set("Cache-Control",`public, max-age=${U}`),await G.cache.put(Y,B),K.headers.set("X-Cache","MISS")}}if($.cors)K=jQ(K,$.cors,Y.headers.get("Origin")||void 0);return K}catch(K){let W=K instanceof Error?K:Error(String(K));if($.onError)return $.onError(W,Y);return new Response(`Internal Server Error: ${W.message}`,{status:500,headers:{"Content-Type":"text/plain","X-Request-Id":Q}})}}}function AH($,Z){let X=new URL($.url).pathname;if(Z.excludePaths){for(let J of Z.excludePaths)if(J.test(X))return!1}if(Z.includePaths){for(let J of Z.includePaths)if(J.test(X))return!0;return!1}return!0}async function ND($,Z,Y,X){let J=0,Q=async()=>{if(J>=Y.length)return X();let G=Y[J];return J++,G($,Z,Q)};return Q()}function AD($,Z){let Y=new Headers(Z?.headers);return Y.set("Content-Type","text/html; charset=utf-8"),Y.set("Transfer-Encoding","chunked"),new Response($,{...Z,headers:Y})}function wD(){let $=new TextEncoder;return new TransformStream({transform(Z,Y){Y.enqueue($.encode(Z))}})}function RD($){let Z=new TextEncoder;return new ReadableStream({async start(Y){for await(let X of $)Y.enqueue(Z.encode(X));Y.close()}})}function MD($){let Z=v6($);return{async fetch(Y,X,J){return Z(Y,{env:X,ctx:J,KV:X.KV})}}}function TD($){let Z=v6($);return(Y)=>Z(Y,{})}function ID($){let Z=v6($);return(Y)=>Z(Y,{})}function ED($){let Z=v6($);return(Y,X)=>{return Z(Y,{netlifyContext:X})}}function DD($){let Z=$.headers.get("Cookie");if(!Z)return{};let Y={};for(let X of Z.split(";")){let[J,Q]=X.split("=").map((G)=>G.trim());if(J&&Q)Y[J]=decodeURIComponent(Q)}return Y}function kD($,Z,Y){let X=`${encodeURIComponent($)}=${encodeURIComponent(Z)}`;if(Y?.maxAge!==void 0)X+=`; Max-Age=${Y.maxAge}`;if(Y?.expires)X+=`; Expires=${Y.expires.toUTCString()}`;if(Y?.path)X+=`; Path=${Y.path}`;if(Y?.domain)X+=`; Domain=${Y.domain}`;if(Y?.secure)X+="; Secure";if(Y?.httpOnly)X+="; HttpOnly";if(Y?.sameSite)X+=`; SameSite=${Y.sameSite}`;return X}function SD($,Z){let Y=new Headers(Z?.headers);return Y.set("Content-Type","application/json; charset=utf-8"),new Response(JSON.stringify($),{...Z,headers:Y})}function bD($,Z=302){return new Response(null,{status:Z,headers:{Location:$}})}function CD($="Not Found"){return new Response($,{status:404,headers:{"Content-Type":"text/plain"}})}var TH=()=>{};var{WebView:yD}=globalThis.Bun;import{existsSync as DH,mkdirSync as kH,readdirSync as PD,statSync as SH}from"fs";import r7 from"path";function xD($){if(/^https?:\/\//.test($)||$.startsWith("file://"))return $;return`file://${r7.resolve($)}`}function IH($,Z,Y){return new Promise((X)=>{let J=!1,Q=()=>{if(!J)J=!0,X()};$.onNavigated=()=>setTimeout(Q,Z),setTimeout(Q,Y)})}async function EH($,Z,Y){let X=`!!document.querySelector(${JSON.stringify(Z)})`,J=Date.now()+Y;while(Date.now()<J){try{if(await $.evaluate(X))return}catch{}await new Promise((Q)=>setTimeout(Q,100))}}async function vD($){try{let Z=await $.evaluate("Math.ceil(Math.max(document.documentElement.scrollHeight, document.documentElement.offsetHeight, document.body ? document.body.scrollHeight : 0, document.body ? document.body.offsetHeight : 0))");return typeof Z==="number"&&Number.isFinite(Z)&&Z>0?Math.min(Z,HQ):0}catch{return 0}}async function bH($,Z,Y={}){let X=Math.min(Y.width??1440,HQ),J=Math.min(Y.height??2200,HQ),Q=Y.waitMs??800,G=Y.timeoutMs??15000,K=Y.format??"png",W=xD($),U=(_)=>new yD({url:W,width:X,height:_,headless:!0,...Y.backend?{backend:Y.backend}:{}}),B=U(J);try{if(await IH(B,Q,G),Y.waitSelector)await EH(B,Y.waitSelector,G);if(Y.fullPage){let z=await vD(B);if(z>J){if(B.close(),B=U(z),await IH(B,Q,G),Y.waitSelector)await EH(B,Y.waitSelector,G)}}let _=await B.screenshot({encoding:"buffer",format:K});kH(r7.dirname(r7.resolve(Z)),{recursive:!0}),await Bun.write(Z,_)}finally{B.close()}if(!DH(Z))throw Error(`Screenshot was not produced for ${$}`);return{input:$,output:Z,bytes:SH(Z).size}}async function fD($,Z,Y={}){kH(Z,{recursive:!0});let X;if(!/^https?:\/\//.test($)&&DH($)&&SH($).isDirectory())X=PD($).filter((G)=>G.endsWith(".html")).map((G)=>r7.join($,G));else X=[$];let J=Y.format??"png",Q=[];for(let G of X){let K=/^https?:\/\//.test(G)?new URL(G).pathname.replace(/\W+/g,"-").replace(/^-|-$/g,"")||"index":r7.basename(G).replace(/\.html?$/,"");Q.push(await bH(G,r7.join(Z,`${K}.${J}`),Y))}return Q}var HQ=16384;var CH=()=>{};function xH($,Z={}){let Y={...PH,...Z};if($.trim()==="")return`
13215
+ </tr>`;J+="</tbody></table>";for(let Q of Y)if(Q.example)J+=`<h3>@${Q.name}</h3>`,J+=`<p>${Q.description||""}</p>`,J+="<h4>Example</h4>",J+=`<pre><code>${Q.example.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}</code></pre>`}return J+="</body></html>",J}function FH($=[],Z=[],Y=[],X){return JSON.stringify({components:$,templates:Z,directives:Y,extraContent:X||""},null,2)}async function VH($){try{let{componentsDir:Z,templatesDir:Y,webComponentsConfig:X,customDirectives:J,config:Q}=$;if(!Q.enabled)return!1;let G=Q.outputDir||"docs";if(await zQ.promises.mkdir(G,{recursive:!0}),console.log("Generating documentation..."),Z)console.log(`Components directory: ${Z}`);if(Y)console.log(`Templates directory: ${Y}`);console.log(`Output directory: ${G}`);let K=[];if(Q.components!==!1&&Z)console.log("Generating component documentation..."),K=await qH(Z,X),console.log(`Found ${K.length} components`);let W=[];if(Q.templates!==!1&&Y)console.log("Generating template documentation..."),W=await jH(Y),console.log(`Found ${W.length} templates`);let U=[];if(Q.directives!==!1)console.log("Generating directive documentation..."),U=await HH(J),console.log(`Found ${U.length} directives`);let B=Q.format||"markdown",_=Q.extraContent,z="",q="";switch(B){case"markdown":z=OH(K,W,U,_),q="md";break;case"html":z=LH(K,W,U,_),q="html";break;case"json":z=FH(K,W,U,_),q="json";break;default:throw Error(`Unsupported documentation format: ${B}`)}let j=x6.join(G,`stx-docs.${q}`);return await Bun.write(j,z),console.log(`Documentation generated: ${j}`),!0}catch(Z){return console.error("Error generating documentation:",Z),!1}}async function _D($){let Z={enabled:!0,outputDir:$.output||"docs",format:$.format||"markdown",components:$.components!==!1,templates:$.templates!==!1,directives:$.directives!==!1,extraContent:$.extraContent},Y=$.componentsDir||_1.componentsDir,X=$.templatesDir||".";return VH({componentsDir:Y,templatesDir:X,webComponentsConfig:_1.webComponents,customDirectives:_1.customDirectives,config:Z})}var NH=D(()=>{l0();A0()});import n7 from"process";function s7(){if(typeof globalThis<"u"&&"caches"in globalThis&&"CF"in globalThis)return{platform:"cloudflare",supportsStreaming:!0,supportsCrypto:!0,supportsKV:!0,supportsCache:!0,capabilities:["kv","r2","d1","durable-objects","queues"]};if(typeof globalThis<"u"&&"Deno"in globalThis)return{platform:"deno",version:globalThis.Deno.version?.deno,supportsStreaming:!0,supportsCrypto:!0,supportsKV:!0,supportsCache:!0,capabilities:["kv","deploy","ffi"]};if(typeof globalThis<"u"&&"Bun"in globalThis)return{platform:"bun",version:globalThis.Bun.version,supportsStreaming:!0,supportsCrypto:!0,supportsKV:!1,supportsCache:!1,capabilities:["sqlite","ffi","native-modules"]};if(typeof globalThis<"u"&&"EdgeRuntime"in globalThis)return{platform:"vercel",supportsStreaming:!0,supportsCrypto:!0,supportsKV:!0,supportsCache:!0,capabilities:["edge-config","blob"]};if(typeof globalThis<"u"&&"Netlify"in globalThis)return{platform:"netlify",supportsStreaming:!0,supportsCrypto:!0,supportsKV:!0,supportsCache:!1,capabilities:["blobs","edge-functions"]};if(typeof globalThis<"u"&&"fastly"in globalThis)return{platform:"fastly",supportsStreaming:!0,supportsCrypto:!0,supportsKV:!0,supportsCache:!0,capabilities:["dictionary","backend","geolocation"]};if(n7.versions?.node)return{platform:"node",version:n7.versions.node,supportsStreaming:!0,supportsCrypto:!0,supportsKV:!1,supportsCache:!1,capabilities:["fs","child-process","native-modules"]};return{platform:"unknown",supportsStreaming:!1,supportsCrypto:!1,supportsKV:!1,supportsCache:!1,capabilities:[]}}function zD(){let $=s7();return["cloudflare","deno","vercel","netlify","fastly"].includes($.platform)}function qD(){return s7().platform!=="unknown"}function wH($){return{get(Z){if($&&Z in $){let Y=$[Z];return typeof Y==="string"?Y:void 0}if(typeof globalThis<"u"&&"Deno"in globalThis)return globalThis.Deno.env.get(Z);if(n7.env)return n7.env[Z];return},getOrThrow(Z){let Y=this.get(Z);if(Y===void 0)throw Error(`Environment variable "${Z}" is not set`);return Y},has(Z){return this.get(Z)!==void 0},all(){let Z={};if($){for(let[Y,X]of Object.entries($))if(typeof X==="string")Z[Y]=X}if(typeof globalThis<"u"&&"Deno"in globalThis){let Y=globalThis.Deno.env.toObject();Object.assign(Z,Y)}if(n7.env){for(let[Y,X]of Object.entries(n7.env))if(X!==void 0)Z[Y]=X}return Z}}}function RH($){let Z=s7();if(Z.platform==="cloudflare"&&$)return $;if(Z.platform==="deno"&&"Deno"in globalThis)return jD();if(Z.platform==="node"||Z.platform==="bun")return HD();return}function jD(){let $=null,Z=async()=>{if(!$)$=await globalThis.Deno.openKv();return $};return{async get(Y){return(await(await Z()).get(["stx",Y])).value},async getWithMetadata(Y){let X=await Z(),J=await X.get(["stx",Y]),Q=await X.get(["stx-meta",Y]);return{value:J.value,metadata:Q.value}},async put(Y,X,J){let Q=await Z(),G=J?.expirationTtl?J.expirationTtl*1000:void 0;if(await Q.set(["stx",Y],X,G?{expireIn:G}:void 0),J?.metadata)await Q.set(["stx-meta",Y],J.metadata,G?{expireIn:G}:void 0)},async delete(Y){let X=await Z();await X.delete(["stx",Y]),await X.delete(["stx-meta",Y])},async list(Y){let X=await Z(),J=Y?.prefix?["stx",Y.prefix]:["stx"],Q=X.list({prefix:J,limit:Y?.limit||100}),G=[];for await(let K of Q){let U=K.key.slice(1).join("/");if(!U.startsWith("stx-meta/"))G.push({name:U})}return{keys:G,list_complete:!0}}}}function HD(){let $=new Map,Z=()=>{let Y=Date.now();for(let[X,J]of $.entries())if(J.expiration&&J.expiration<Y)$.delete(X)};return{async get(Y){Z();let X=$.get(Y);if(!X)return null;if(X.expiration&&X.expiration<Date.now())return $.delete(Y),null;return X.value},async getWithMetadata(Y){Z();let X=$.get(Y);if(!X)return{value:null,metadata:null};if(X.expiration&&X.expiration<Date.now())return $.delete(Y),{value:null,metadata:null};return{value:X.value,metadata:X.metadata||null}},async put(Y,X,J){let Q=J?.expiration?J.expiration*1000:J?.expirationTtl?Date.now()+J.expirationTtl*1000:void 0;$.set(Y,{value:X,metadata:J?.metadata,expiration:Q})},async delete(Y){$.delete(Y)},async list(Y){Z();let X=[];for(let[J,Q]of $.entries()){if(Y?.prefix&&!J.startsWith(Y.prefix))continue;if(X.push({name:J,expiration:Q.expiration,metadata:Q.metadata}),Y?.limit&&X.length>=Y.limit)break}return{keys:X,list_complete:!0}}}}function MH(){let $=s7();if($.platform==="cloudflare"&&"caches"in globalThis)return OD();if($.supportsStreaming)return LD();return}function OD(){return{async match($){return(await caches.default).match($)},async put($,Z){await(await caches.default).put($,Z.clone())},async delete($){return(await caches.default).delete($)}}}function LD(){let $=new Map,Z=60000;return{async match(Y){let X=Y.url,J=$.get(X);if(!J)return;if(Date.now()>J.expiration){$.delete(X);return}return J.response.clone()},async put(Y,X){let J=Y.url,Q=X.headers.get("Cache-Control"),G=60000;if(Q){let K=Q.match(/max-age=(\d+)/);if(K)G=Number.parseInt(K[1],10)*1000}$.set(J,{response:X.clone(),expiration:Date.now()+G})},async delete(Y){return $.delete(Y.url)}}}function FD(){return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,9)}`}function VD($,Z){if(Z.platform==="cloudflare"){let Y=$.cf;if(Y)return{city:Y.city,country:Y.country,countryCode:Y.country,region:Y.region,latitude:Y.latitude?Number.parseFloat(Y.latitude):void 0,longitude:Y.longitude?Number.parseFloat(Y.longitude):void 0,timezone:Y.timezone}}if(Z.platform==="vercel"){let Y={},X=$.headers.get("x-vercel-ip-city"),J=$.headers.get("x-vercel-ip-country"),Q=$.headers.get("x-vercel-ip-country-region"),G=$.headers.get("x-vercel-ip-latitude"),K=$.headers.get("x-vercel-ip-longitude");if(X)Y.city=decodeURIComponent(X);if(J)Y.countryCode=J;if(Q)Y.region=Q;if(G)Y.latitude=Number.parseFloat(G);if(K)Y.longitude=Number.parseFloat(K);return Object.keys(Y).length>0?Y:void 0}if(Z.platform==="netlify"){let Y={},X=$.headers.get("x-nf-geo-city"),J=$.headers.get("x-nf-geo-country");if(X)Y.city=X;if(J)Y.countryCode=J;return Object.keys(Y).length>0?Y:void 0}return}function jQ($,Z,Y){let X=new Headers($.headers);if(Z.origins==="*")X.set("Access-Control-Allow-Origin","*");else if(Z.origins&&Y&&Z.origins.includes(Y))X.set("Access-Control-Allow-Origin",Y),X.set("Vary","Origin");if(Z.methods)X.set("Access-Control-Allow-Methods",Z.methods.join(", "));if(Z.headers)X.set("Access-Control-Allow-Headers",Z.headers.join(", "));if(Z.exposeHeaders)X.set("Access-Control-Expose-Headers",Z.exposeHeaders.join(", "));if(Z.credentials)X.set("Access-Control-Allow-Credentials","true");if(Z.maxAge)X.set("Access-Control-Max-Age",String(Z.maxAge));return new Response($.body,{status:$.status,statusText:$.statusText,headers:X})}function v6($){let Z=s7();return async(Y,X)=>{let J=performance.now(),Q=FD(),G={runtime:Z,platform:X||{},requestId:Q,geo:VD(Y,Z),timing:{start:J,getElapsed:()=>performance.now()-J},kv:RH(X?.KV),cache:MH(),env:wH(X?.env)};try{if(Y.method==="OPTIONS"&&$.cors){let W=new Response(null,{status:204});return W=jQ(W,$.cors,Y.headers.get("Origin")||void 0),W}if($.cache?.enabled&&Y.method==="GET"&&G.cache){if(AH(Y,$.cache)){let U=await G.cache.match(Y);if(U){let B=new Response(U.body,U);return B.headers.set("X-Cache","HIT"),B.headers.set("X-Request-Id",Q),$.cors?jQ(B,$.cors,Y.headers.get("Origin")||void 0):B}}}let K;if($.middleware&&$.middleware.length>0)K=await ND(Y,G,$.middleware,async()=>{let W=await $.render(Y,G);return typeof W==="string"?new Response(W,{headers:{"Content-Type":"text/html; charset=utf-8"}}):W});else{let W=await $.render(Y,G);K=typeof W==="string"?new Response(W,{headers:{"Content-Type":"text/html; charset=utf-8"}}):W}if(K.headers.set("X-Request-Id",Q),K.headers.set("X-Response-Time",`${G.timing.getElapsed().toFixed(2)}ms`),$.cache?.enabled&&Y.method==="GET"&&G.cache){if(AH(Y,$.cache)&&K.status===200){let U=$.cache.ttl||60,B=K.clone();B.headers.set("Cache-Control",`public, max-age=${U}`),await G.cache.put(Y,B),K.headers.set("X-Cache","MISS")}}if($.cors)K=jQ(K,$.cors,Y.headers.get("Origin")||void 0);return K}catch(K){let W=K instanceof Error?K:Error(String(K));if($.onError)return $.onError(W,Y);return new Response(`Internal Server Error: ${W.message}`,{status:500,headers:{"Content-Type":"text/plain","X-Request-Id":Q}})}}}function AH($,Z){let X=new URL($.url).pathname;if(Z.excludePaths){for(let J of Z.excludePaths)if(J.test(X))return!1}if(Z.includePaths){for(let J of Z.includePaths)if(J.test(X))return!0;return!1}return!0}async function ND($,Z,Y,X){let J=0,Q=async()=>{if(J>=Y.length)return X();let G=Y[J];return J++,G($,Z,Q)};return Q()}function AD($,Z){let Y=new Headers(Z?.headers);return Y.set("Content-Type","text/html; charset=utf-8"),Y.set("Transfer-Encoding","chunked"),new Response($,{...Z,headers:Y})}function wD(){let $=new TextEncoder;return new TransformStream({transform(Z,Y){Y.enqueue($.encode(Z))}})}function RD($){let Z=new TextEncoder;return new ReadableStream({async start(Y){for await(let X of $)Y.enqueue(Z.encode(X));Y.close()}})}function MD($){let Z=v6($);return{async fetch(Y,X,J){return Z(Y,{env:X,ctx:J,KV:X.KV})}}}function TD($){let Z=v6($);return(Y)=>Z(Y,{})}function ID($){let Z=v6($);return(Y)=>Z(Y,{})}function ED($){let Z=v6($);return(Y,X)=>{return Z(Y,{netlifyContext:X})}}function DD($){let Z=$.headers.get("Cookie");if(!Z)return{};let Y={};for(let X of Z.split(";")){let[J,Q]=X.split("=").map((G)=>G.trim());if(J&&Q)Y[J]=decodeURIComponent(Q)}return Y}function kD($,Z,Y){let X=`${encodeURIComponent($)}=${encodeURIComponent(Z)}`;if(Y?.maxAge!==void 0)X+=`; Max-Age=${Y.maxAge}`;if(Y?.expires)X+=`; Expires=${Y.expires.toUTCString()}`;if(Y?.path)X+=`; Path=${Y.path}`;if(Y?.domain)X+=`; Domain=${Y.domain}`;if(Y?.secure)X+="; Secure";if(Y?.httpOnly)X+="; HttpOnly";if(Y?.sameSite)X+=`; SameSite=${Y.sameSite}`;return X}function SD($,Z){let Y=new Headers(Z?.headers);return Y.set("Content-Type","application/json; charset=utf-8"),new Response(JSON.stringify($),{...Z,headers:Y})}function bD($,Z=302){return new Response(null,{status:Z,headers:{Location:$}})}function CD($="Not Found"){return new Response($,{status:404,headers:{"Content-Type":"text/plain"}})}var TH=()=>{};var{WebView:yD}=globalThis.Bun;import{existsSync as DH,mkdirSync as kH,readdirSync as PD,statSync as SH}from"fs";import r7 from"path";function xD($){if(/^https?:\/\//.test($)||$.startsWith("file://"))return $;return`file://${r7.resolve($)}`}function IH($,Z,Y){return new Promise((X)=>{let J=!1,Q=()=>{if(!J)J=!0,X()};$.onNavigated=()=>setTimeout(Q,Z),setTimeout(Q,Y)})}async function EH($,Z,Y){let X=`!!document.querySelector(${JSON.stringify(Z)})`,J=Date.now()+Y;while(Date.now()<J){try{if(await $.evaluate(X))return}catch{}await new Promise((Q)=>setTimeout(Q,100))}}async function vD($){try{let Z=await $.evaluate("Math.ceil(Math.max(document.documentElement.scrollHeight, document.documentElement.offsetHeight, document.body ? document.body.scrollHeight : 0, document.body ? document.body.offsetHeight : 0))");return typeof Z==="number"&&Number.isFinite(Z)&&Z>0?Math.min(Z,HQ):0}catch{return 0}}async function bH($,Z,Y={}){let X=Math.min(Y.width??1440,HQ),J=Math.min(Y.height??2200,HQ),Q=Y.waitMs??800,G=Y.timeoutMs??15000,K=Y.format??"png",W=xD($),U=(_)=>new yD({url:W,width:X,height:_,headless:!0,...Y.backend?{backend:Y.backend}:{}}),B=U(J);try{if(await IH(B,Q,G),Y.waitSelector)await EH(B,Y.waitSelector,G);if(Y.fullPage){let z=await vD(B);if(z>J){if(B.close(),B=U(z),await IH(B,Q,G),Y.waitSelector)await EH(B,Y.waitSelector,G)}}let _=await B.screenshot({encoding:"buffer",format:K});kH(r7.dirname(r7.resolve(Z)),{recursive:!0}),await Bun.write(Z,_)}finally{B.close()}if(!DH(Z))throw Error(`Screenshot was not produced for ${$}`);return{input:$,output:Z,bytes:SH(Z).size}}async function fD($,Z,Y={}){kH(Z,{recursive:!0});let X;if(!/^https?:\/\//.test($)&&DH($)&&SH($).isDirectory())X=PD($).filter((G)=>G.endsWith(".html")).map((G)=>r7.join($,G));else X=[$];let J=Y.format??"png",Q=[];for(let G of X){let K=/^https?:\/\//.test(G)?new URL(G).pathname.replace(/\W+/g,"-").replace(/^-|-$/g,"")||"index":r7.basename(G).replace(/\.html?$/,"");Q.push(await bH(G,r7.join(Z,`${K}.${J}`),Y))}return Q}var HQ=16384;var CH=()=>{};function xH($,Z={}){let Y={...PH,...Z};if($.trim()==="")return`
13216
13216
  `;let X=$;if(Y.trimTrailingWhitespace)X=X.replace(/[ \t]+$/gm,"");if(X=dD(X,Y),X=cD(X,Y),X=uD(X,Y),Y.trimTrailingWhitespace)X=X.replace(/[ \t]+$/gm,""),X=X.replace(/(\S)[ \t]+(<\/[^>]+>)/g,"$1$2");if(X=X.replace(/\r\n/g,`
13217
13217
  `).replace(/\r/g,`
13218
13218
  `),!X.endsWith(`
@@ -14223,7 +14223,7 @@ $1`)}if(E.length>0){let{interpolateScriptsInTemplate:C}=await Promise.resolve().
14223
14223
  $1`);else u+=`
14224
14224
  ${h}`}return _.set(N,{content:u,mtime:V.mtimeMs}),u}async function q(L){let V=p6.statSync(L),N=`${L}:${V.mtimeMs}`,A=_.get(N);if(A)return A.content;let{content:w}=await G$(L,X);return _.set(N,{content:w,mtime:V.mtimeMs}),w}function j(L){let V=L.startsWith("/")?L.slice(1):L,N=[V,`${V}.stx`,`${V}.md`,`${V}.html`,Y5.join(V,"index.stx"),Y5.join(V,"index.md"),Y5.join(V,"index.html")];for(let A of N){let w=Y5.join(B,A);if(p6.existsSync(w)&&p6.statSync(w).isFile())return w}return null}async function H(L){let V=new URL(L.url),N=async()=>{if(G[V.pathname])return await G[V.pathname](L);if(Q){let w=await Q(L);if(w)return w}let A=j(V.pathname);if(!A){if(W)return await W(L);return new Response("Not Found",{status:404})}try{let w,R="text/html";if(A.endsWith(".stx"))w=await z(A);else if(A.endsWith(".md"))w=await q(A);else if(A.endsWith(".html"))w=await Bun.file(A).text();else if(A.endsWith(".css"))w=await Bun.file(A).text(),R="text/css";else if(A.endsWith(".js"))w=await Bun.file(A).text(),R="text/javascript";else if(A.endsWith(".json"))w=await Bun.file(A).text(),R="application/json";else return new Response(Bun.file(A));return new Response(w,{headers:{"Content-Type":R}})}catch(w){if(U)return await U(w,L);let R=w instanceof Error?w.message:String(w),I=X?.debug===!0?`<h1>Error</h1><pre>${R}
14225
14225
  ${w instanceof Error?w.stack:""}</pre>`:"<h1>Internal Server Error</h1><p>An error occurred while processing your request.</p>";return new Response(I,{status:500,headers:{"Content-Type":"text/html"}})}};for(let A=K.length-1;A>=0;A--){let w=K[A],R=N;N=async()=>await w(L,R)}return await N()}let O=ZS({port:Z,fetch:H}),F=null;if(J)F=p6.watch(B,{recursive:!0},(L,V)=>{if(V&&(V.endsWith(".stx")||V.endsWith(".md")||V.endsWith(".html")))_.clear()});return{server:O,url:O.url.toString(),stop(){if(F)F.close();O.stop()}}}async function XS($,Z={}){let Y=Y5.resolve($);if(!await Bun.file(Y).exists())throw Error(`File not found: ${Y}`);let X=Y.endsWith(".md"),J=Y.endsWith(".stx");if(!X&&!J)throw Error(`Unsupported file type: ${Y}. Only .stx and .md files are supported.`);return await YO({...Z,root:Y5.dirname(Y),routes:{"/":async()=>{let Q;if(X){let{content:G}=await G$(Y,Z.stxOptions);Q=G}else{let G=await Bun.file(Y).text(),K=[],W=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,U;while((U=W.exec(G))!==null)if(U[1].includes("server"))K.push(U[2]);let B=K.join(`
14226
- `),_=G.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),z={};if(B.trim())await D0(B,z,Y);let q=new Set;Q=await X0(_,z,Y,Z.stxOptions||{},q)}return new Response(Q,{headers:{"Content-Type":"text/html"}})},...Z.routes}})}function JS($){return $}function QS($){return $}var XO=D(()=>{U7();O1();N0()});import{existsSync as GS,readFileSync as KS}from"fs";class wQ{options;variables=new Map;errors=[];warnings=[];currentFile="";constructor($={}){if(this.options={...WS,...$},this.options.includeBuiltins)Object.entries(JO).forEach(([Z,Y])=>{this.variables.set(Z,Y)});if(this.options.customTypes)Object.entries(this.options.customTypes).forEach(([Z,Y])=>{this.variables.set(Z,Y)})}checkFile($){if(this.currentFile=$,this.errors=[],this.warnings=[],!GS($))return this.errors.push({message:`File not found: ${$}`,file:$,line:0,column:0,expression:"",severity:"error"}),this.getResult();let Z=KS($,"utf-8");return this.checkTemplate(Z,$)}checkTemplate($,Z="<inline>"){this.currentFile=Z,this.errors=[],this.warnings=[];let Y=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i);if(Y)this.analyzeScript(Y[1],$.indexOf(Y[0]));return this.checkDirectives($),this.checkExpressions($),this.getResult()}analyzeScript($,Z){let Y=$.split(`
14226
+ `),_=G.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),z={};if(B.trim())await D0(B,z,Y);let q=new Set;Q=await X0(_,z,Y,Z.stxOptions||{},q)}return new Response(Q,{headers:{"Content-Type":"text/html"}})},...Z.routes}})}function JS($){return $}function QS($){return $}var XO=D(()=>{U7();O1();A0()});import{existsSync as GS,readFileSync as KS}from"fs";class wQ{options;variables=new Map;errors=[];warnings=[];currentFile="";constructor($={}){if(this.options={...WS,...$},this.options.includeBuiltins)Object.entries(JO).forEach(([Z,Y])=>{this.variables.set(Z,Y)});if(this.options.customTypes)Object.entries(this.options.customTypes).forEach(([Z,Y])=>{this.variables.set(Z,Y)})}checkFile($){if(this.currentFile=$,this.errors=[],this.warnings=[],!GS($))return this.errors.push({message:`File not found: ${$}`,file:$,line:0,column:0,expression:"",severity:"error"}),this.getResult();let Z=KS($,"utf-8");return this.checkTemplate(Z,$)}checkTemplate($,Z="<inline>"){this.currentFile=Z,this.errors=[],this.warnings=[];let Y=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i);if(Y)this.analyzeScript(Y[1],$.indexOf(Y[0]));return this.checkDirectives($),this.checkExpressions($),this.getResult()}analyzeScript($,Z){let Y=$.split(`
14227
14227
  `),X=this.getLineNumber(Z);for(let J=0;J<Y.length;J++){let Q=Y[J],G=X+J;this.extractTypedVariables(Q,G),this.extractInterfaces(Q,Y,J,G),this.extractTypeAliases(Q,G)}}extractTypedVariables($,Z){let Y=$.match(/(?:export\s+)?(?:const|let|var)\s+(\w+)\s*:\s*([^=]+?)\s*=/);if(Y){let[,Q,G]=Y,K=this.parseTypeAnnotation(G.trim());this.variables.set(Q,K);return}let X=$.match(/(?:export\s+)?(?:const|let|var)\s+(\w+)\s*=\s*(.+)/);if(X){let[,Q,G]=X,K=this.inferType(G.trim());this.variables.set(Q,K);return}let J=$.match(/(?:export\s+)?function\s+(\w+)\s*\(([^)]*)\)(?:\s*:\s*(\w+))?/);if(J){let[,Q,G,K]=J,W=this.parseParams(G),U=K?this.parseTypeAnnotation(K):{kind:"primitive",value:"any"};this.variables.set(Q,{kind:"function",params:W,returnType:U})}}extractInterfaces($,Z,Y,X){let J=$.match(/(?:export\s+)?interface\s+(\w+)\s*\{/);if(J){let[,Q]=J,G={},K=1,W=Y+1;while(W<Z.length&&K>0){let U=Z[W].trim();if(U.includes("{"))K++;if(U.includes("}"))K--;let B=U.match(/(\w+)\??\s*:\s*([^;]+)/);if(B&&K>0){let[,_,z]=B;G[_]=this.parseTypeAnnotation(z.trim())}W++}this.variables.set(Q,{kind:"object",name:Q,properties:G})}}extractTypeAliases($,Z){let Y=$.match(/(?:export\s+)?type\s+(\w+)\s*=\s*(.+)/);if(Y){let[,X,J]=Y,Q=this.parseTypeAnnotation(J.trim());Q.name=X,this.variables.set(X,Q)}}parseTypeAnnotation($){let Z=$.trim();if(Z.includes("|"))return{kind:"union",types:Z.split("|").map((Q)=>this.parseTypeAnnotation(Q.trim()))};if(Z.includes("&"))return{kind:"intersection",types:Z.split("&").map((Q)=>this.parseTypeAnnotation(Q.trim()))};if(Z.endsWith("[]"))return{kind:"array",elementType:this.parseTypeAnnotation(Z.slice(0,-2))};let Y=Z.match(/^Array<(.+)>$/);if(Y)return{kind:"array",elementType:this.parseTypeAnnotation(Y[1])};if(Z.startsWith("{")&&Z.endsWith("}")){let J={},Q=Z.slice(1,-1).trim();if(Q){let G=this.splitByComma(Q);for(let K of G){let W=K.match(/(\w+)\??\s*:\s*(.+)/);if(W){let[,U,B]=W;J[U]=this.parseTypeAnnotation(B.trim())}}}return{kind:"object",properties:J}}if(Z.startsWith('"')||Z.startsWith("'"))return{kind:"literal",value:Z.slice(1,-1)};if(/^\d+$/.test(Z))return{kind:"literal",value:Z};if(Z==="true"||Z==="false")return{kind:"literal",value:Z};if(["string","number","boolean","null","undefined","any","unknown","void","never"].includes(Z))return{kind:"primitive",value:Z};if(this.variables.has(Z))return this.variables.get(Z);return{kind:"primitive",value:"any"}}inferType($){let Z=$.trim().replace(/;$/,"");if(Z.startsWith('"')&&Z.endsWith('"')||Z.startsWith("'")&&Z.endsWith("'")||Z.startsWith("`")&&Z.endsWith("`"))return{kind:"primitive",value:"string"};if(/^-?\d+(\.\d+)?$/.test(Z))return{kind:"primitive",value:"number"};if(Z==="true"||Z==="false")return{kind:"primitive",value:"boolean"};if(Z==="null")return{kind:"primitive",value:"null"};if(Z==="undefined")return{kind:"primitive",value:"undefined"};if(Z.startsWith("[")){let Y=Z.slice(1,-1).trim();if(Y){let X=this.splitByComma(Y)[0];if(X)return{kind:"array",elementType:this.inferType(X.trim())}}return{kind:"array",elementType:{kind:"primitive",value:"any"}}}if(Z.startsWith("{")){let Y={},X=this.extractObjectLiteral(Z);for(let[J,Q]of Object.entries(X))Y[J]=this.inferType(Q);return{kind:"object",properties:Y}}if(Z.includes("=>")){let Y=Z.match(/^\(([^)]*)\)\s*(?::\s*(\w+))?\s*=>/);if(Y){let X=this.parseParams(Y[1]),J=Y[2]?this.parseTypeAnnotation(Y[2]):{kind:"primitive",value:"any"};return{kind:"function",params:X,returnType:J}}}if(/^\w+$/.test(Z)&&this.variables.has(Z))return this.variables.get(Z);if(Z.includes("."))return this.resolvePropertyAccess(Z);if(Z.includes("(")){let Y=Z.split("(")[0],X=this.variables.get(Y);if(X?.kind==="function"&&X.returnType)return X.returnType}return{kind:"primitive",value:"any"}}parseParams($){if(!$.trim())return[];let Z=[],Y=this.splitByComma($);for(let X of Y){let J=X.trim(),Q=J.includes("?"),G=J.match(/(\w+)\??\s*(?::\s*([^=]+))?(?:\s*=)?/);if(G){let[,K,W]=G,U=W?this.parseTypeAnnotation(W.trim()):{kind:"primitive",value:"any"};Z.push({name:K,type:U,optional:Q})}}return Z}checkExpressions($){let Z=/\{\{([\s\S]*?)\}\}/g,Y;while((Y=Z.exec($))!==null){let J=Y[1].trim(),Q=Y.index,G=this.getLineNumber(Q,$),K=this.getColumn(Q,$);if(!J)continue;if(J.startsWith("!")||J.endsWith("!"))continue;this.checkExpression(J,G,K)}let X=/\{!!([\s\S]*?)!!\}/g;while((Y=X.exec($))!==null){let J=Y[1].trim(),Q=Y.index,G=this.getLineNumber(Q,$),K=this.getColumn(Q,$);if(!J)continue;this.checkExpression(J,G,K)}}checkExpression($,Z,Y){if($.includes("?")&&$.includes(":")){let Q=$.split("?");this.checkExpression(Q[0].trim(),Z,Y);let G=Q.slice(1).join("?").split(":");if(G.length>=2)this.checkExpression(G[0].trim(),Z,Y),this.checkExpression(G.slice(1).join(":").trim(),Z,Y);return}for(let Q of["&&","||","??"])if($.includes(Q)){$.split(Q).forEach((K)=>this.checkExpression(K.trim(),Z,Y));return}for(let Q of["===","!==","==","!=",">=","<=",">","<"])if($.includes(Q)){$.split(Q).forEach((K)=>this.checkExpression(K.trim(),Z,Y));return}if($.startsWith("!")){this.checkExpression($.slice(1).trim(),Z,Y);return}if(this.isLiteral($))return;let X=$.match(/^(\w+(?:\.\w+)*)\s*\(/);if(X){let Q=X[1],G=this.resolvePropertyAccess(Q);if(G.kind!=="function"&&G.value!=="any")this.addWarning(`'${Q}' is not a function`,Z,Y,$);return}if($.includes(".")){if(this.resolvePropertyAccess($).value==="undefined"&&this.options.checkPropertyAccess)this.addWarning(`Property access '${$}' may be undefined`,Z,Y,$);return}let J=$.match(/^\w+/)?.[0];if(J&&!this.variables.has(J))this.addError(`Variable '${J}' is not defined`,Z,Y,$)}checkDirectives($){let Z=/@if\s*\(([^)]+)\)/g,Y;while((Y=Z.exec($))!==null){let G=Y[1].trim(),K=Y.index,W=this.getLineNumber(K,$),U=this.getColumn(K,$);this.checkExpression(G,W,U)}let X=/@foreach\s*\((\w+)\s+(?:as|in)\s+(\w+)(?:\s*,\s*(\w+))?\)/g;while((Y=X.exec($))!==null){let[,G,K,W]=Y,U=Y.index,B=this.getLineNumber(U,$),_=this.getColumn(U,$);if(!this.variables.has(G))this.addError(`Collection '${G}' is not defined`,B,_,Y[0]);else{let z=this.variables.get(G);if(z.kind==="array"&&z.elementType)this.variables.set(K,z.elementType);else this.variables.set(K,{kind:"primitive",value:"any"});if(W)this.variables.set(W,{kind:"primitive",value:"number"})}}let J=/@unless\s*\(([^)]+)\)/g;while((Y=J.exec($))!==null){let G=Y[1].trim(),K=Y.index,W=this.getLineNumber(K,$),U=this.getColumn(K,$);this.checkExpression(G,W,U)}let Q=/@switch\s*\(([^)]+)\)/g;while((Y=Q.exec($))!==null){let G=Y[1].trim(),K=Y.index,W=this.getLineNumber(K,$),U=this.getColumn(K,$);this.checkExpression(G,W,U)}}resolvePropertyAccess($){let Z=$.split("."),Y=this.variables.get(Z[0])||{kind:"primitive",value:"any"};for(let X=1;X<Z.length;X++){let J=Z[X].replace(/\(\)$/,"");if(Y.kind==="object"&&Y.properties)if(Y.properties[J])Y=Y.properties[J];else if(!this.options.allowAny)return{kind:"primitive",value:"undefined"};else Y={kind:"primitive",value:"any"};else if(Y.kind==="array"&&Y.elementType)if(["length"].includes(J))Y={kind:"primitive",value:"number"};else if(["map","filter","find","forEach","some","every","reduce"].includes(J))Y={kind:"function",returnType:{kind:"primitive",value:"any"}};else if(["join"].includes(J))Y={kind:"function",returnType:{kind:"primitive",value:"string"}};else Y={kind:"primitive",value:"any"};else if(Y.kind==="primitive"&&Y.value==="string")if(["length"].includes(J))Y={kind:"primitive",value:"number"};else if(["toUpperCase","toLowerCase","trim","slice","substring"].includes(J))Y={kind:"function",returnType:{kind:"primitive",value:"string"}};else if(["split"].includes(J))Y={kind:"function",returnType:{kind:"array",elementType:{kind:"primitive",value:"string"}}};else Y={kind:"primitive",value:"any"};else Y={kind:"primitive",value:"any"}}return Y}isLiteral($){let Z=$.trim();if(Z.startsWith('"')&&Z.endsWith('"')||Z.startsWith("'")&&Z.endsWith("'")||Z.startsWith("`")&&Z.endsWith("`"))return!0;if(/^-?\d+(\.\d+)?$/.test(Z))return!0;if(Z==="true"||Z==="false")return!0;if(Z==="null"||Z==="undefined")return!0;return!1}extractObjectLiteral($){let Z={},Y=$.slice(1,-1).trim();if(!Y)return Z;let X=this.splitByComma(Y);for(let J of X){let Q=J.indexOf(":");if(Q>0){let G=J.slice(0,Q).trim(),K=J.slice(Q+1).trim();Z[G]=K}}return Z}splitByComma($){let Z=[],Y="",X=0,J=null;for(let Q=0;Q<$.length;Q++){let G=$[Q],K=Q>0?$[Q-1]:"";if((G==='"'||G==="'"||G==="`")&&K!=="\\"){if(J===G)J=null;else if(!J)J=G}if(!J){if(G==="{"||G==="["||G==="(")X++;if(G==="}"||G==="]"||G===")")X--;if(G===","&&X===0){Z.push(Y.trim()),Y="";continue}}Y+=G}if(Y.trim())Z.push(Y.trim());return Z}getLineNumber($,Z){return((Z||"").slice(0,$).match(/\n/g)||[]).length+1}getColumn($,Z){let X=Z.slice(0,$).lastIndexOf(`
14228
14228
  `);return $-X}addError($,Z,Y,X,J,Q){this.errors.push({message:$,file:this.currentFile,line:Z,column:Y,expression:X,expected:J,received:Q,severity:"error"})}addWarning($,Z,Y,X,J,Q){let G={message:$,file:this.currentFile,line:Z,column:Y,expression:X,expected:J,received:Q,severity:"warning"};if(this.options.strict)this.errors.push(G);else this.warnings.push(G)}getResult(){return{valid:this.errors.length===0,errors:this.errors,warnings:this.warnings,variables:new Map(this.variables)}}addVariable($,Z){this.variables.set($,Z)}reset(){if(this.errors=[],this.warnings=[],this.variables.clear(),this.options.includeBuiltins)Object.entries(JO).forEach(([$,Z])=>{this.variables.set($,Z)})}}function RQ($){return new wQ($)}function US($,Z){return RQ(Z).checkFile($)}function BS($,Z){return RQ(Z).checkTemplate($)}function _S($){let Z=[];for(let Y of $.errors){if(Z.push(`\x1B[31merror\x1B[0m: ${Y.message}`),Z.push(` --> ${Y.file}:${Y.line}:${Y.column}`),Y.expression)Z.push(" |"),Z.push(` | ${Y.expression}`),Z.push(" |");if(Y.expected&&Y.received)Z.push(` expected: ${Y.expected}`),Z.push(` received: ${Y.received}`);Z.push("")}for(let Y of $.warnings){if(Z.push(`\x1B[33mwarning\x1B[0m: ${Y.message}`),Z.push(` --> ${Y.file}:${Y.line}:${Y.column}`),Y.expression)Z.push(" |"),Z.push(` | ${Y.expression}`),Z.push(" |");Z.push("")}if($.valid)Z.push("\x1B[32m\u2713 No type errors found\x1B[0m");else Z.push(`\x1B[31m\u2717 Found ${$.errors.length} error(s) and ${$.warnings.length} warning(s)\x1B[0m`);return Z.join(`
14229
14229
  `)}var WS,JO;var QO=D(()=>{WS={strict:!1,allowAny:!0,checkPropertyAccess:!0,checkFunctionCalls:!0,includeBuiltins:!0},JO={console:{kind:"object",properties:{log:{kind:"function",params:[{name:"message",type:{kind:"primitive",value:"any"}}],returnType:{kind:"primitive",value:"void"}},error:{kind:"function",params:[{name:"message",type:{kind:"primitive",value:"any"}}],returnType:{kind:"primitive",value:"void"}},warn:{kind:"function",params:[{name:"message",type:{kind:"primitive",value:"any"}}],returnType:{kind:"primitive",value:"void"}}}},Math:{kind:"object",properties:{abs:{kind:"function",params:[{name:"x",type:{kind:"primitive",value:"number"}}],returnType:{kind:"primitive",value:"number"}},floor:{kind:"function",params:[{name:"x",type:{kind:"primitive",value:"number"}}],returnType:{kind:"primitive",value:"number"}},ceil:{kind:"function",params:[{name:"x",type:{kind:"primitive",value:"number"}}],returnType:{kind:"primitive",value:"number"}},round:{kind:"function",params:[{name:"x",type:{kind:"primitive",value:"number"}}],returnType:{kind:"primitive",value:"number"}},max:{kind:"function",params:[{name:"values",type:{kind:"primitive",value:"number"}}],returnType:{kind:"primitive",value:"number"}},min:{kind:"function",params:[{name:"values",type:{kind:"primitive",value:"number"}}],returnType:{kind:"primitive",value:"number"}},random:{kind:"function",params:[],returnType:{kind:"primitive",value:"number"}},PI:{kind:"primitive",value:"number"},E:{kind:"primitive",value:"number"}}},JSON:{kind:"object",properties:{stringify:{kind:"function",params:[{name:"value",type:{kind:"primitive",value:"any"}}],returnType:{kind:"primitive",value:"string"}},parse:{kind:"function",params:[{name:"text",type:{kind:"primitive",value:"string"}}],returnType:{kind:"primitive",value:"any"}}}},Date:{kind:"function",returnType:{kind:"object",properties:{getTime:{kind:"function",params:[],returnType:{kind:"primitive",value:"number"}},toISOString:{kind:"function",params:[],returnType:{kind:"primitive",value:"string"}},toLocaleDateString:{kind:"function",params:[],returnType:{kind:"primitive",value:"string"}}}}},Array:{kind:"object",properties:{isArray:{kind:"function",params:[{name:"value",type:{kind:"primitive",value:"any"}}],returnType:{kind:"primitive",value:"boolean"}},from:{kind:"function",params:[{name:"arrayLike",type:{kind:"primitive",value:"any"}}],returnType:{kind:"array",elementType:{kind:"primitive",value:"any"}}}}},Object:{kind:"object",properties:{keys:{kind:"function",params:[{name:"obj",type:{kind:"primitive",value:"any"}}],returnType:{kind:"array",elementType:{kind:"primitive",value:"string"}}},values:{kind:"function",params:[{name:"obj",type:{kind:"primitive",value:"any"}}],returnType:{kind:"array",elementType:{kind:"primitive",value:"any"}}},entries:{kind:"function",params:[{name:"obj",type:{kind:"primitive",value:"any"}}],returnType:{kind:"array",elementType:{kind:"primitive",value:"any"}}}}},String:{kind:"function",params:[{name:"value",type:{kind:"primitive",value:"any"}}],returnType:{kind:"primitive",value:"string"}},Number:{kind:"function",params:[{name:"value",type:{kind:"primitive",value:"any"}}],returnType:{kind:"primitive",value:"number"}},Boolean:{kind:"function",params:[{name:"value",type:{kind:"primitive",value:"any"}}],returnType:{kind:"primitive",value:"boolean"}},props:{kind:"object",properties:{}},slot:{kind:"primitive",value:"string"},loop:{kind:"object",properties:{index:{kind:"primitive",value:"number"},iteration:{kind:"primitive",value:"number"},first:{kind:"primitive",value:"boolean"},last:{kind:"primitive",value:"boolean"},even:{kind:"primitive",value:"boolean"},odd:{kind:"primitive",value:"boolean"},count:{kind:"primitive",value:"number"},remaining:{kind:"primitive",value:"number"},depth:{kind:"primitive",value:"number"},parent:{kind:"object",properties:{}}}}}});async function MQ($,Z,Y){if(!TQ)return;try{let X=$.getAttribute("data-island-id"),J=document.querySelector(`script[data-island-props="${X}"]`),Q=J?JSON.parse(J.textContent||"{}"):{},G=await Y(),K=G.default||G.hydrate;if(typeof K!=="function"){console.error(`Island handler for "${Z}" does not export a valid hydration function`);return}await K($,Q),$.setAttribute("data-hydrated","true")}catch(X){console.error(`Failed to hydrate island "${Z}":`,X)}}function zS($){if(!TQ)return;let Z=document.querySelectorAll("[data-island]"),Y=[];if(Z.forEach((X)=>{let J=X.getAttribute("data-island"),Q=X.getAttribute("data-priority")||"lazy";if(!J||!$[J]||X.getAttribute("data-hydrated")==="true")return;if(Q==="eager")MQ(X,J,$[J]);else Y.push([X,J])}),Y.length>0&&"IntersectionObserver"in window){let X=new IntersectionObserver((J)=>{J.forEach((Q)=>{if(Q.isIntersecting){let G=Q.target,K=G.getAttribute("data-island");if(K&&$[K]&&G.getAttribute("data-hydrated")!=="true")MQ(G,K,$[K]),X.unobserve(G)}})},{rootMargin:"200px",threshold:0});Y.forEach(([J])=>{X.observe(J)})}else setTimeout(()=>{Y.forEach(([X,J])=>{if(X.getAttribute("data-hydrated")!=="true")MQ(X,J,$[J])})},1000)}function qS($){if(!TQ)return;Object.entries($).forEach(([Z,Y])=>{try{let J=Y.toString().match(/import\(['"](.+)['"]\)/);if(J&&J[1]){let Q=document.createElement("link");Q.rel="modulepreload",Q.href=J[1],Q.setAttribute("data-island-module",Z),document.head.appendChild(Q)}}catch(X){console.warn(`Failed to preload island handler for "${Z}":`,X)}})}var TQ;var GO=D(()=>{TQ=typeof window<"u"&&typeof document<"u"});function KO($){if(!a7)return null;let Z=document.getElementById("stx-loading-indicator");if(Z)Z.remove();let Y=document.createElement("div");Y.id="stx-loading-indicator";let X=$.initialColor?`linear-gradient(to right, ${$.initialColor}, ${$.color})`:$.color;Y.style.cssText=`
@@ -15064,7 +15064,7 @@ else {
15064
15064
  }
15065
15065
  }
15066
15066
  </style>
15067
- `}var SQ=null;var LO=()=>{};import FO from"path";class VO{store=new Map;async get($){let Z=this.store.get($);if(!Z||Z.expires<=Date.now()){if(Z)this.store.delete($);return null}return{...Z.data}}async set($,Z,Y){this.store.set($,{data:{...Z},expires:Date.now()+Y*1000})}async delete($){this.store.delete($)}}async function DS($,Z={},Y={}){let X=Y.viewsDir||"./views",J=Y.layoutsDir||"./layouts",Q=!$.includes("<")&&!$.includes("@"),G,K;if(Q){if(K=FO.resolve(X,$),!K.endsWith(".stx"))K+=".stx";if(!await Bun.file(K).exists())return new Response(`Template not found: ${$}`,{status:500});G=await Bun.file(K).text()}else G=$,K="inline-template.stx";let W={...Z,props:Z,__filename:K,__dirname:FO.dirname(K)};if(Y.ctx)W.csrf_token=Y.ctx.csrfToken,W.csrf_field=`<input type="hidden" name="_token" value="${Y.ctx.csrfToken}">`,W.old=Y.ctx.old,W.errors=Y.ctx.errors,W.session=Y.ctx.session,W.user=Y.ctx.user(),W.isAuthenticated=Y.ctx.isAuthenticated();let U=G.match(/<script\s+server\b[^>]*>([\s\S]*?)<\/script>/i);if(U){let j=U[1];G=G.replace(/<script\s+server\b[^>]*>[\s\S]*?<\/script>/gi,""),await D0(j,W,K)}let B={layoutsDir:J,...Y.stxOptions},z=await X0(G,W,K,B,new Set),q=new Headers({"Content-Type":"text/html; charset=utf-8"});if(Y.ctx)Y.ctx.responseHeaders.forEach((j,H)=>{q.set(H,j)});return new Response(z,{headers:q})}var NO=D(()=>{H1();O1();N0()});function kS($,Z){l6.stores.set($,Z)}function CQ($){return l6.stores.get($)}function wO($){return l6.stores.has($)}function RO(){return Array.from(l6.stores.keys())}function AO($){if($==="memory")return{getItem:(Z)=>e7.get(Z)??null,setItem:(Z,Y)=>e7.set(Z,Y),removeItem:(Z)=>e7.delete(Z)};if(typeof window>"u")return{getItem:(Z)=>e7.get(Z)??null,setItem:(Z,Y)=>e7.set(Z,Y),removeItem:(Z)=>e7.delete(Z)};return $==="local"?window.localStorage:window.sessionStorage}function SS($,Z){let Y={};for(let X of Z){let J=X.split("."),Q=$,G=Y,K=!0;for(let W=0;W<J.length-1;W++){let U=J[W];if(Q&&typeof Q==="object"&&U in Q){if(Q=Q[U],!(U in G))G[U]={};G=G[U]}else{K=!1;break}}if(K&&Q&&typeof Q==="object"){let W=J[J.length-1];if(W in Q)G[W]=Q[W]}}return Y}function yQ($,Z={}){let{name:Y,persist:X,devtools:J=!1,middleware:Q=[],equals:G=(O,F)=>O===F}=Z,K=$,W=new Set,U=null;if(X){let O=AO(X.storage||"local"),F=X.key||`stx-store:${Y||"unnamed"}`,L=X.deserialize||JSON.parse;try{let V=O.getItem(F);if(V){let N=L(V);if(X.paths&&typeof N==="object"&&N!==null)K={...$,...N};else K=N}}catch{}}let B=(O)=>{if(!X)return;let F=AO(X.storage||"local"),L=X.key||`stx-store:${Y||"unnamed"}`,V=X.serialize||JSON.stringify,N=X.paths&&typeof O==="object"&&O!==null?SS(O,X.paths):O;if(X.debounce){if(U)clearTimeout(U);U=setTimeout(()=>{F.setItem(L,V(N))},X.debounce)}else F.setItem(L,V(N))},_=(O,F)=>{for(let L of W)try{L(O,F)}catch(V){console.error("[stx-store] Subscriber error:",V)}},z=J?(O,F)=>{if(typeof window<"u"&&window.__STX_DEVTOOLS__)window.__STX_DEVTOOLS__.onStoreChange(Y||"unnamed",O,F)}:()=>{},q=(O)=>{let F=K;if(!G(O,F))K=O,B(O),_(O,F),z("set",O)},j=q,H={get:()=>K,set:(O)=>{if(typeof O==="function")j(O(K));else j(O)},subscribe:(O)=>{return W.add(O),()=>{W.delete(O)}},update:(O)=>{if(typeof K!=="object"||K===null)throw Error("update() can only be used with object stores");let F=typeof O==="function"?O(K):O;H.set({...K,...F})},reset:()=>{H.set($),z("reset",$)},name:Y,destroy:()=>{if(W.clear(),U)clearTimeout(U);if(Y)l6.stores.delete(Y)}};for(let O of Q.reverse())j=O(q,()=>K,H)(j);if(Y)kS(Y,H);return H}function MO($){let Z=typeof $==="string"?CQ($):$;if(!Z)throw Error(`Store "${$}" not found`);return Z.get()}function TO($,Z,Y){if(typeof Z==="function"){if(typeof window<"u"&&window.stx?.defineStore)return window.stx.defineStore($,Z,Y);return Z()}let X=Z,{state:J,getters:Q={},actions:G={},persist:K,devtools:W=!0}=X,U=typeof J==="function"?J():J,B=K===!0?{storage:"local",key:`stx-store:${$}`}:K||void 0,_=yQ(U,{name:$,persist:B,devtools:W}),z=new Proxy({},{get(q,j){let H=String(j);if(H==="$state")return _.get();if(H==="$subscribe")return _.subscribe;if(H==="$reset")return _.reset;if(H==="$patch")return(F)=>{if(typeof F==="function"){let V={..._.get()};F(V),_.set(V)}else _.update(F)};if(H==="_store")return _;if(H==="$id")return $;if(H in Q)return Q[H](_.get());if(H in G)return(...F)=>{return G[H].apply(z,F)};let O=_.get();if(O&&typeof O==="object"&&H in O)return O[H];return},set(q,j,H){let O=String(j);if(O.startsWith("$")||O==="_store")return!1;let F=_.get();if(F&&typeof F==="object")return _.set({...F,[O]:H}),!0;return!1},has(q,j){let H=String(j),O=_.get();return H.startsWith("$")||H==="_store"||H in Q||H in G||O&&typeof O==="object"&&H in O},ownKeys(){let q=_.get();return[...q&&typeof q==="object"?Object.keys(q):[],...Object.keys(Q),...Object.keys(G),"$state","$subscribe","$reset","$patch","$id"]},getOwnPropertyDescriptor(q,j){return{enumerable:!0,configurable:!0,get:()=>this.get(q,j,z)}}});return bS.set($,z),z}var l6,e7,bS;var IO=D(()=>{l6={stores:new Map,subscriptions:new Map};e7=new Map;bS=new Map});function A0($,Z={}){let Y=[];for(let[J,Q]of Object.entries(Z)){if(Q===void 0||Q===null)continue;if(Array.isArray(Q))Y.push(`${J}=${encodeURIComponent(Q.join(","))}`);else if(typeof Q==="boolean"){if(Q)Y.push(`${J}=true`)}else Y.push(`${J}=${encodeURIComponent(String(Q))}`)}if(Y.length===0)return $;let X=$.includes("?")?"&":"?";return`${$}${X}${Y.join("&")}`}function PQ($){let Z=$.indexOf("?");if(Z===-1)return{src:$,params:{}};let Y=$.slice(0,Z),X=$.slice(Z+1),J={};for(let Q of X.split("&")){let[G,K]=Q.split("="),W=K?decodeURIComponent(K):"";if(W==="true")J[G]=!0;else if(W==="false")J[G]=!1;else if(/^-?\d+$/.test(W))J[G]=Number.parseInt(W,10);else if(/^-?\d+\.\d+$/.test(W))J[G]=Number.parseFloat(W);else if(W.includes(","))J[G]=W.split(",");else J[G]=W}return{src:Y,params:J}}function rZ(...$){let Z={};for(let Y of $)if(Y)Object.assign(Z,Y);return Z}function xQ($,Z,Y,X){let J={w:Z};if(Y)J.h=Y;if(X)J.fit=X;return A0($,J)}function vQ($,Z,Y,X="center"){return A0($,{w:Z,h:Y,fit:"crop",crop:X})}function fQ($,Z,Y="center"){return A0($,{w:Z,h:Z,fit:"crop",crop:Y})}function gQ($,Z,Y){return A0($,{w:Z,h:Y,fit:"max"})}function hQ($,Z,Y){return A0($,{w:Z,h:Y,fit:"crop"})}function dQ($,Z){return A0($,{blur:Math.min(2000,Math.max(0,Z))})}function uQ($,Z){return A0($,{sharp:Math.min(100,Math.max(0,Z))})}function mQ($){return A0($,{sat:-100})}function pQ($,Z=100){return A0($,{sepia:Math.min(100,Math.max(0,Z))})}function cQ($){return A0($,{invert:!0})}function lQ($,Z){return A0($,{bri:Math.min(100,Math.max(-100,Z))})}function iQ($,Z){return A0($,{con:Math.min(100,Math.max(-100,Z))})}function nQ($,Z){return A0($,{sat:Math.min(100,Math.max(-100,Z))})}function sQ($,Z){return A0($,{rot:(Z%360+360)%360})}function rQ($){return A0($,{flip:"h"})}function oQ($){return A0($,{flip:"v"})}function aQ($,Z,Y){let X={fm:Z};if(Y!==void 0)X.q=Y;return A0($,X)}function tQ($,Z){return A0($,{q:Math.min(100,Math.max(1,Z))})}function eQ($,Z=["format","compress"]){return A0($,{auto:Z})}function $G($,Z,Y={}){return A0($,{mark:Z,markx:Y.x,marky:Y.y,markalpha:Y.alpha,markscale:Y.scale,markalign:Y.align})}function ZG($,Z,Y){return A0($,rZ(oZ[Z],Y))}function YG($,Z,Y){return Z.map((X)=>A0($,{...Y,w:X}))}function XG($,Z,Y=[1,2,3],X){return Y.map((J)=>A0($,{...X,w:Math.round(Z*J),dpr:J}))}function JG($){let Z=[];if($.w!==void 0&&($.w<1||$.w>16383))Z.push("Width must be between 1 and 16383");if($.h!==void 0&&($.h<1||$.h>16383))Z.push("Height must be between 1 and 16383");if($.q!==void 0&&($.q<1||$.q>100))Z.push("Quality must be between 1 and 100");if($.blur!==void 0&&($.blur<0||$.blur>2000))Z.push("Blur must be between 0 and 2000");if($.rot!==void 0&&($.rot<0||$.rot>359))Z.push("Rotation must be between 0 and 359");if($.dpr!==void 0&&($.dpr<1||$.dpr>5))Z.push("DPR must be between 1 and 5");return{valid:Z.length===0,errors:Z}}function QG($){let Z={...$};if(Z.w!==void 0)Z.w=Math.min(16383,Math.max(1,Z.w));if(Z.h!==void 0)Z.h=Math.min(16383,Math.max(1,Z.h));if(Z.q!==void 0)Z.q=Math.min(100,Math.max(1,Z.q));if(Z.blur!==void 0)Z.blur=Math.min(2000,Math.max(0,Z.blur));if(Z.rot!==void 0)Z.rot=(Z.rot%360+360)%360;if(Z.dpr!==void 0)Z.dpr=Math.min(5,Math.max(1,Z.dpr));return Z}var oZ;var EO=D(()=>{oZ={web:{fm:"webp",q:80,auto:["format","compress"]},highQuality:{q:95},thumb:{w:150,h:150,fit:"crop",crop:"center"},avatar:{w:200,h:200,fit:"crop",crop:"faces"},social:{w:1200,h:630,fit:"crop"},preview:{w:400,q:70},placeholder:{w:20,blur:200,q:20}}});var DO=D(()=>{t2();$9();e8();f2();EO()});function GG($){let{endpoint:Z,accept:Y,maxSize:X,maxFiles:J=1,fieldName:Q="file",preview:G=!1,dropzone:K=!0,multiple:W=!1,autoUpload:U=!0,showProgress:B=!0,disabled:_=!1,placeholder:z="Drop files here or click to select",label:q}=$,j=$.class||"",H=$.style||"",O=$.id||`stx-upload-${Math.random().toString(36).slice(2,8)}`,F=Array.isArray(Y)?Y.join(","):Y,L=`
15067
+ `}var SQ=null;var LO=()=>{};import FO from"path";class VO{store=new Map;async get($){let Z=this.store.get($);if(!Z||Z.expires<=Date.now()){if(Z)this.store.delete($);return null}return{...Z.data}}async set($,Z,Y){this.store.set($,{data:{...Z},expires:Date.now()+Y*1000})}async delete($){this.store.delete($)}}async function DS($,Z={},Y={}){let X=Y.viewsDir||"./views",J=Y.layoutsDir||"./layouts",Q=!$.includes("<")&&!$.includes("@"),G,K;if(Q){if(K=FO.resolve(X,$),!K.endsWith(".stx"))K+=".stx";if(!await Bun.file(K).exists())return new Response(`Template not found: ${$}`,{status:500});G=await Bun.file(K).text()}else G=$,K="inline-template.stx";let W={...Z,props:Z,__filename:K,__dirname:FO.dirname(K)};if(Y.ctx)W.csrf_token=Y.ctx.csrfToken,W.csrf_field=`<input type="hidden" name="_token" value="${Y.ctx.csrfToken}">`,W.old=Y.ctx.old,W.errors=Y.ctx.errors,W.session=Y.ctx.session,W.user=Y.ctx.user(),W.isAuthenticated=Y.ctx.isAuthenticated();let U=G.match(/<script\s+server\b[^>]*>([\s\S]*?)<\/script>/i);if(U){let j=U[1];G=G.replace(/<script\s+server\b[^>]*>[\s\S]*?<\/script>/gi,""),await D0(j,W,K)}let B={layoutsDir:J,...Y.stxOptions},z=await X0(G,W,K,B,new Set),q=new Headers({"Content-Type":"text/html; charset=utf-8"});if(Y.ctx)Y.ctx.responseHeaders.forEach((j,H)=>{q.set(H,j)});return new Response(z,{headers:q})}var NO=D(()=>{H1();O1();A0()});function kS($,Z){l6.stores.set($,Z)}function CQ($){return l6.stores.get($)}function wO($){return l6.stores.has($)}function RO(){return Array.from(l6.stores.keys())}function AO($){if($==="memory")return{getItem:(Z)=>e7.get(Z)??null,setItem:(Z,Y)=>e7.set(Z,Y),removeItem:(Z)=>e7.delete(Z)};if(typeof window>"u")return{getItem:(Z)=>e7.get(Z)??null,setItem:(Z,Y)=>e7.set(Z,Y),removeItem:(Z)=>e7.delete(Z)};return $==="local"?window.localStorage:window.sessionStorage}function SS($,Z){let Y={};for(let X of Z){let J=X.split("."),Q=$,G=Y,K=!0;for(let W=0;W<J.length-1;W++){let U=J[W];if(Q&&typeof Q==="object"&&U in Q){if(Q=Q[U],!(U in G))G[U]={};G=G[U]}else{K=!1;break}}if(K&&Q&&typeof Q==="object"){let W=J[J.length-1];if(W in Q)G[W]=Q[W]}}return Y}function yQ($,Z={}){let{name:Y,persist:X,devtools:J=!1,middleware:Q=[],equals:G=(O,F)=>O===F}=Z,K=$,W=new Set,U=null;if(X){let O=AO(X.storage||"local"),F=X.key||`stx-store:${Y||"unnamed"}`,L=X.deserialize||JSON.parse;try{let V=O.getItem(F);if(V){let N=L(V);if(X.paths&&typeof N==="object"&&N!==null)K={...$,...N};else K=N}}catch{}}let B=(O)=>{if(!X)return;let F=AO(X.storage||"local"),L=X.key||`stx-store:${Y||"unnamed"}`,V=X.serialize||JSON.stringify,N=X.paths&&typeof O==="object"&&O!==null?SS(O,X.paths):O;if(X.debounce){if(U)clearTimeout(U);U=setTimeout(()=>{F.setItem(L,V(N))},X.debounce)}else F.setItem(L,V(N))},_=(O,F)=>{for(let L of W)try{L(O,F)}catch(V){console.error("[stx-store] Subscriber error:",V)}},z=J?(O,F)=>{if(typeof window<"u"&&window.__STX_DEVTOOLS__)window.__STX_DEVTOOLS__.onStoreChange(Y||"unnamed",O,F)}:()=>{},q=(O)=>{let F=K;if(!G(O,F))K=O,B(O),_(O,F),z("set",O)},j=q,H={get:()=>K,set:(O)=>{if(typeof O==="function")j(O(K));else j(O)},subscribe:(O)=>{return W.add(O),()=>{W.delete(O)}},update:(O)=>{if(typeof K!=="object"||K===null)throw Error("update() can only be used with object stores");let F=typeof O==="function"?O(K):O;H.set({...K,...F})},reset:()=>{H.set($),z("reset",$)},name:Y,destroy:()=>{if(W.clear(),U)clearTimeout(U);if(Y)l6.stores.delete(Y)}};for(let O of Q.reverse())j=O(q,()=>K,H)(j);if(Y)kS(Y,H);return H}function MO($){let Z=typeof $==="string"?CQ($):$;if(!Z)throw Error(`Store "${$}" not found`);return Z.get()}function TO($,Z,Y){if(typeof Z==="function"){if(typeof window<"u"&&window.stx?.defineStore)return window.stx.defineStore($,Z,Y);return Z()}let X=Z,{state:J,getters:Q={},actions:G={},persist:K,devtools:W=!0}=X,U=typeof J==="function"?J():J,B=K===!0?{storage:"local",key:`stx-store:${$}`}:K||void 0,_=yQ(U,{name:$,persist:B,devtools:W}),z=new Proxy({},{get(q,j){let H=String(j);if(H==="$state")return _.get();if(H==="$subscribe")return _.subscribe;if(H==="$reset")return _.reset;if(H==="$patch")return(F)=>{if(typeof F==="function"){let V={..._.get()};F(V),_.set(V)}else _.update(F)};if(H==="_store")return _;if(H==="$id")return $;if(H in Q)return Q[H](_.get());if(H in G)return(...F)=>{return G[H].apply(z,F)};let O=_.get();if(O&&typeof O==="object"&&H in O)return O[H];return},set(q,j,H){let O=String(j);if(O.startsWith("$")||O==="_store")return!1;let F=_.get();if(F&&typeof F==="object")return _.set({...F,[O]:H}),!0;return!1},has(q,j){let H=String(j),O=_.get();return H.startsWith("$")||H==="_store"||H in Q||H in G||O&&typeof O==="object"&&H in O},ownKeys(){let q=_.get();return[...q&&typeof q==="object"?Object.keys(q):[],...Object.keys(Q),...Object.keys(G),"$state","$subscribe","$reset","$patch","$id"]},getOwnPropertyDescriptor(q,j){return{enumerable:!0,configurable:!0,get:()=>this.get(q,j,z)}}});return bS.set($,z),z}var l6,e7,bS;var IO=D(()=>{l6={stores:new Map,subscriptions:new Map};e7=new Map;bS=new Map});function w0($,Z={}){let Y=[];for(let[J,Q]of Object.entries(Z)){if(Q===void 0||Q===null)continue;if(Array.isArray(Q))Y.push(`${J}=${encodeURIComponent(Q.join(","))}`);else if(typeof Q==="boolean"){if(Q)Y.push(`${J}=true`)}else Y.push(`${J}=${encodeURIComponent(String(Q))}`)}if(Y.length===0)return $;let X=$.includes("?")?"&":"?";return`${$}${X}${Y.join("&")}`}function PQ($){let Z=$.indexOf("?");if(Z===-1)return{src:$,params:{}};let Y=$.slice(0,Z),X=$.slice(Z+1),J={};for(let Q of X.split("&")){let[G,K]=Q.split("="),W=K?decodeURIComponent(K):"";if(W==="true")J[G]=!0;else if(W==="false")J[G]=!1;else if(/^-?\d+$/.test(W))J[G]=Number.parseInt(W,10);else if(/^-?\d+\.\d+$/.test(W))J[G]=Number.parseFloat(W);else if(W.includes(","))J[G]=W.split(",");else J[G]=W}return{src:Y,params:J}}function rZ(...$){let Z={};for(let Y of $)if(Y)Object.assign(Z,Y);return Z}function xQ($,Z,Y,X){let J={w:Z};if(Y)J.h=Y;if(X)J.fit=X;return w0($,J)}function vQ($,Z,Y,X="center"){return w0($,{w:Z,h:Y,fit:"crop",crop:X})}function fQ($,Z,Y="center"){return w0($,{w:Z,h:Z,fit:"crop",crop:Y})}function gQ($,Z,Y){return w0($,{w:Z,h:Y,fit:"max"})}function hQ($,Z,Y){return w0($,{w:Z,h:Y,fit:"crop"})}function dQ($,Z){return w0($,{blur:Math.min(2000,Math.max(0,Z))})}function uQ($,Z){return w0($,{sharp:Math.min(100,Math.max(0,Z))})}function mQ($){return w0($,{sat:-100})}function pQ($,Z=100){return w0($,{sepia:Math.min(100,Math.max(0,Z))})}function cQ($){return w0($,{invert:!0})}function lQ($,Z){return w0($,{bri:Math.min(100,Math.max(-100,Z))})}function iQ($,Z){return w0($,{con:Math.min(100,Math.max(-100,Z))})}function nQ($,Z){return w0($,{sat:Math.min(100,Math.max(-100,Z))})}function sQ($,Z){return w0($,{rot:(Z%360+360)%360})}function rQ($){return w0($,{flip:"h"})}function oQ($){return w0($,{flip:"v"})}function aQ($,Z,Y){let X={fm:Z};if(Y!==void 0)X.q=Y;return w0($,X)}function tQ($,Z){return w0($,{q:Math.min(100,Math.max(1,Z))})}function eQ($,Z=["format","compress"]){return w0($,{auto:Z})}function $G($,Z,Y={}){return w0($,{mark:Z,markx:Y.x,marky:Y.y,markalpha:Y.alpha,markscale:Y.scale,markalign:Y.align})}function ZG($,Z,Y){return w0($,rZ(oZ[Z],Y))}function YG($,Z,Y){return Z.map((X)=>w0($,{...Y,w:X}))}function XG($,Z,Y=[1,2,3],X){return Y.map((J)=>w0($,{...X,w:Math.round(Z*J),dpr:J}))}function JG($){let Z=[];if($.w!==void 0&&($.w<1||$.w>16383))Z.push("Width must be between 1 and 16383");if($.h!==void 0&&($.h<1||$.h>16383))Z.push("Height must be between 1 and 16383");if($.q!==void 0&&($.q<1||$.q>100))Z.push("Quality must be between 1 and 100");if($.blur!==void 0&&($.blur<0||$.blur>2000))Z.push("Blur must be between 0 and 2000");if($.rot!==void 0&&($.rot<0||$.rot>359))Z.push("Rotation must be between 0 and 359");if($.dpr!==void 0&&($.dpr<1||$.dpr>5))Z.push("DPR must be between 1 and 5");return{valid:Z.length===0,errors:Z}}function QG($){let Z={...$};if(Z.w!==void 0)Z.w=Math.min(16383,Math.max(1,Z.w));if(Z.h!==void 0)Z.h=Math.min(16383,Math.max(1,Z.h));if(Z.q!==void 0)Z.q=Math.min(100,Math.max(1,Z.q));if(Z.blur!==void 0)Z.blur=Math.min(2000,Math.max(0,Z.blur));if(Z.rot!==void 0)Z.rot=(Z.rot%360+360)%360;if(Z.dpr!==void 0)Z.dpr=Math.min(5,Math.max(1,Z.dpr));return Z}var oZ;var EO=D(()=>{oZ={web:{fm:"webp",q:80,auto:["format","compress"]},highQuality:{q:95},thumb:{w:150,h:150,fit:"crop",crop:"center"},avatar:{w:200,h:200,fit:"crop",crop:"faces"},social:{w:1200,h:630,fit:"crop"},preview:{w:400,q:70},placeholder:{w:20,blur:200,q:20}}});var DO=D(()=>{t2();$9();e8();f2();EO()});function GG($){let{endpoint:Z,accept:Y,maxSize:X,maxFiles:J=1,fieldName:Q="file",preview:G=!1,dropzone:K=!0,multiple:W=!1,autoUpload:U=!0,showProgress:B=!0,disabled:_=!1,placeholder:z="Drop files here or click to select",label:q}=$,j=$.class||"",H=$.style||"",O=$.id||`stx-upload-${Math.random().toString(36).slice(2,8)}`,F=Array.isArray(Y)?Y.join(","):Y,L=`
15068
15068
  <div id="${O}" class="stx-upload${K?" stx-upload-dropzone":""}${_?" stx-upload-disabled":""}${j?" "+j:""}"${H?` style="${H}"`:""}>
15069
15069
  ${q?`<label class="stx-upload-label">${kO(q)}</label>`:""}
15070
15070
  <div class="stx-upload-area" data-stx-upload-area>
@@ -16096,7 +16096,7 @@ ${Q}`}var X4=null;function X3($,Z){if(Z.theme===!1)return $;let Y=typeof Z.theme
16096
16096
  ${J.slice(K)}`;return`${$.slice(0,X)}${_}${$.slice(Y)}`}function db($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function nG($){return $}var bL=D(()=>{h1();pG()});var CL=D(()=>{bL();pG()});function pb($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function cb($){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]);return Z}function lb($,Z){for(let[Y,X]of $)if(Z>=Y&&Z<X)return!0;return!1}function U3($,Z){let Y=1,X=0;for(let J=0;J<Z&&J<$.length;J++)if($[J]===`
16097
16097
  `)Y++,X=J+1;return{line:Y,column:Z-X+1}}function ib($,Z,Y){let X=Z.toLowerCase(),J=$.length,Q=1,G=Y;while(G<J){let K=$.indexOf("<",G);if(K===-1)return-1;if(G=K,$.startsWith("<!--",G)){let B=$.indexOf("-->",G+4);if(B===-1)return-1;G=B+3;continue}if($[G+1]==="/"){let B=/^<\/([a-z][\w-]*)\s*>/i.exec($.slice(G,G+64));if(!B){G++;continue}if(B[1].toLowerCase()===X){if(Q--,G+=B[0].length,Q===0)return G;continue}G+=B[0].length;continue}let W=/^<([a-z][\w-]*)\b/i.exec($.slice(G,G+64));if(!W){G++;continue}let U=$.indexOf(">",G);if(U===-1)return-1;if(W[1].toLowerCase()===X&&$[U-1]!=="/")Q++;G=U+1}return-1}function nb($,Z,Y){let X=/@([a-z][\w:-]*)((?:\.[a-z][\w-]*)*)\s*=\s*"([^"]*)"/gi,J;while((J=X.exec($))!==null){if(lb(Z,J.index))continue;let Q=J[1].toLowerCase().split(":")[0];if(ub.has(Q))continue;let G=J[3].trim();if(/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*)*$/.test(G)){let K=$.indexOf(J[3],J.index),{line:W,column:U}=U3($,K<0?J.index:K);Y.push({ruleId:"stx/no-bare-function-ref-in-event",message:`Event handler @${J[1]}="${G}" is a bare reference and will not fire. Call it: @${J[1]}="${G}()".`,line:W,column:U,severity:"error"})}}}function sb($,Z,Y){if(Z!=="view")return;let X=/<script\b([^>]*)>/gi,J;while((J=X.exec($))!==null)if(/(?:^|\s)client(?=[\s/=]|$)/i.test(J[1])){let{line:Q,column:G}=U3($,J.index);Y.push({ruleId:"stx/no-view-level-script-client",message:"<script client> at the top level of a view is silently dropped \u2014 only components get client scopes. Move it into a component, or use <script> (server).",line:Q,column:G,severity:"error"})}}function yL($){let Z=$.split("/"),Y=[];for(let X of Z){if(X===""||X===".")continue;if(X==="..")Y.pop();else Y.push(X)}return Y.join("/")}function rb($,Z,Y){let X=Z.replace(/\\/g,"/"),J=X.indexOf("resources/stores/");if(J===-1)return;let Q=X.slice(0,J+16),G=X.slice(0,X.lastIndexOf("/")),K=/\b(import|export)\s+(type\s+)?([^'"]*?)\s*from\s*['"]([^'"]+)['"]/g,W;while((W=K.exec($))!==null){if(W[2])continue;let U=W[1],B=W[4],_;if(B.startsWith("."))_=!yL(`${G}/${B}`).startsWith(yL(Q));else _=!0;if(_){let{line:z,column:q}=U3($,W.index),j=U==="export"?"Value re-export":"Value import";Y.push({ruleId:"stx/store-value-imports-must-be-local",message:`${j} from "${B}" is outside resources/stores/ and will be stripped from the store bundle. Use \`${U} type\`, or move the value into the stores dir.`,line:z,column:q,severity:"error"})}}}function ob($){let Z=$.trim(),Y=(G)=>{let K=G.match(/[A-Za-z_$][\w$]*/g);return K?K:[]},X=/\bas\s+(.+)$/.exec(Z);if(X){let G=X[1].trim(),K=/^([A-Za-z_$][\w$]*)\s*=>\s*([A-Za-z_$][\w$]*)/.exec(G);if(K)return[K[1],K[2]];let W=/^\(([^)]*)\)/.exec(G);if(W)return Y(W[1]);let U=/^([A-Za-z_$][\w$]*)/.exec(G);return U?[U[1]]:[]}let J=/^\(([^)]*)\)\s+(?:in|of)\s+/.exec(Z);if(J)return Y(J[1]);let Q=/^([A-Za-z_$][\w$]*)\s+(?:in|of)\s+/.exec(Z);return Q?[Q[1]]:[]}function ab($,Z){let Y=/(?::for|x-for|@for)\s*=\s*"([^"]*)"/gi,X;while((X=Y.exec($))!==null){let J=ob(X[1]);if(J.length===0)continue;let Q=$.lastIndexOf("<",X.index);if(Q===-1)continue;let G=/^<([a-z][\w-]*)/i.exec($.slice(Q,Q+64));if(!G)continue;let K=$.indexOf(">",X.index);if(K===-1)continue;let U=$[K-1]==="/"||mb.has(G[1].toLowerCase())?K+1:ib($,G[1],K+1),B=U===-1?K+1:U,_=$.indexOf(X[1],X.index),z=$.slice(Q,B);if(_>=0&&_+X[1].length<=B){let q=_-Q;z=z.slice(0,q)+" ".repeat(X[1].length)+z.slice(q+X[1].length)}for(let q of J){let j=new RegExp(`(?<![.\\w$])${pb(q)}\\s*\\(`,"g"),H;while((H=j.exec(z))!==null){let O=Q+H.index,{line:F,column:L}=U3($,O);Z.push({ruleId:"stx/no-signal-call-in-for-iteration-var",message:`"${q}" is a :for iteration variable, not a signal \u2014 calling it as "${q}()" leaves it as a function and silently breaks comparisons. Use "${q}" directly.`,line:F,column:L,severity:"error"})}}}}function tb($,Z){let Y=/<!--([\s\S]*?)-->/g,X;while((X=Y.exec($))!==null){let Q=X[1].indexOf("`");if(Q!==-1){let G=X.index+4+Q,{line:K,column:W}=U3($,G);Z.push({ruleId:"stx/no-backticks-in-html-comments",message:"Backtick inside an HTML comment leaks into the merged setup function and flips the JS parser into template-literal mode. Remove it or rephrase the comment.",line:K,column:W,severity:"error"})}}}function W3($,Z){return $?.[Z]!==!1}function PL($,Z={}){let Y=[],X=cb($),J=(Z.filePath??"").replace(/\\/g,"/"),Q=Z.fileKind??(/\/components?\//i.test(J)?"component":"view");if(W3(Z.rules,"stx/no-bare-function-ref-in-event"))nb($,X,Y);if(W3(Z.rules,"stx/no-view-level-script-client"))sb($,Q,Y);if(J&&W3(Z.rules,"stx/store-value-imports-must-be-local"))rb($,J,Y);if(W3(Z.rules,"stx/no-signal-call-in-for-iteration-var"))ab($,Y);if(W3(Z.rules,"stx/no-backticks-in-html-comments"))tb($,Y);Y.sort((K,W)=>K.line-W.line||K.column-W.column);let G=new Set;return Y.filter((K)=>{let W=`${K.ruleId}:${K.line}:${K.column}`;if(G.has(W))return!1;return G.add(W),!0})}var ub,mb;var xL=D(()=>{ub=new Set(["if","else","elseif","else-if","for","foreach","show","model","html","text","bind","key","ref","once","memo","slot","teleport","cloak","pre","effect","init"]),mb=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"])});function vL($,Z){return $.kind===Z}var fL=()=>{};var gL=D(()=>{fL()});function hL($){if($===String)return"string";if($===Number)return"number";if($===Boolean)return"boolean";if($===Array)return"array";if($===Object)return"object";if($===Function)return"function";if($===Date)return"date";if($===Symbol)return"symbol";if(typeof $==="function"&&$.name)return $.name;return"unknown"}function eb($,Z){if($===null||$===void 0)return!0;if(Z===String)return typeof $==="string";if(Z===Number)return typeof $==="number"&&!Number.isNaN($);if(Z===Boolean)return typeof $==="boolean";if(Z===Array)return Array.isArray($);if(Z===Object)return typeof $==="object"&&!Array.isArray($);if(Z===Function)return typeof $==="function";if(Z===Date)return $ instanceof Date;if(Z===Symbol)return typeof $==="symbol";if(typeof Z==="function")return $ instanceof Z;return!0}function dL($,Z,Y,X){let J=X?`[${X}]`:"";if(Y.required&&(Z===void 0||Z===null))return{prop:$,message:`${J} Missing required prop: "${$}"`,value:Z,expected:Y.type?hL(Y.type):void 0};if(Z===void 0||Z===null)return null;if(Y.type){let Q=Array.isArray(Y.type)?Y.type:[Y.type];if(!Q.some((K)=>eb(Z,K))){let K=Q.map((W)=>hL(W)).join(" | ");return{prop:$,message:`${J} Invalid prop type for "${$}": expected ${K}, got ${typeof Z}`,value:Z,expected:K}}}if(Y.validator){if(!Y.validator(Z))return{prop:$,message:`${J} Custom validation failed for prop "${$}"`,value:Z}}return null}function uL($){let Z=globalThis.__STX_CURRENT_PROPS__||{};if(!$)return Z;let Y={...Z};for(let[X,J]of Object.entries($)){let Q=typeof J==="function"||Array.isArray(J)?{type:J}:J||{};if(Y[X]===void 0&&Q.default!==void 0)Y[X]=typeof Q.default==="function"?Q.default():Q.default}return Y}function mL($,Z={}){let{componentName:Y,throwOnError:X=!1,logWarnings:J=!0}=Z,Q=globalThis.__STX_CURRENT_PROPS__||{},G={...Q},K={valid:!0,errors:[],warnings:[]};for(let[W,U]of Object.entries($)){let B=typeof U==="function"||Array.isArray(U)?{type:U}:U||{};if(G[W]===void 0&&B.default!==void 0)G[W]=typeof B.default==="function"?B.default():B.default;let _=dL(W,G[W],B,Y);if(_){if(K.valid=!1,K.errors.push(_),J)console.warn(_.message)}}for(let W of Object.keys(Q))if(!(W in $)){let U=`${Y?`[${Y}]`:""} Unknown prop: "${W}"`;if(K.warnings.push(U),J)console.warn(U)}if(X&&!K.valid){let W=K.errors.map((U)=>U.message).join(`
16098
16098
  `);throw Error(`Prop validation failed:
16099
- ${W}`)}return{props:G,validation:K}}function pL($,Z){let Y={...$};for(let[X,J]of Object.entries(Z))if(Y[X]===void 0)Y[X]=typeof J==="function"?J():J;return Y}function cL($){return $}function lL($){return{type:$,required:!0}}function iL($,Z){return{type:Z,default:$}}function nL($,Z={}){return{...Z,validator:$}}function sL($,Z={}){return{...Z,validator:(Y)=>$.includes(Y)}}function rL($,Z={}){return{...Z,type:Array,validator:(Y)=>{if(!Array.isArray(Y))return!1;return!0}}}function oL($,Z={}){return{...Z,type:Object}}function aL($,Z,Y){if(!Z)return $;let X={};for(let[J,Q]of Object.entries(Z)){let G=typeof Q==="function"||Array.isArray(Q)?{type:Q}:Q||{},K=$[J];if(K===void 0&&G.default!==void 0)K=typeof G.default==="function"?G.default():G.default;{let W=dL(J,K,G,Y);if(W)console.warn(W.message)}X[J]=K}for(let[J,Q]of Object.entries($))if(!(J in X))X[J]=Q;return X}var I5={};Z0(I5,{writeNetlifyConfig:()=>SZ,writeManifest:()=>QQ,writeImageManifest:()=>Yj,wrapComponentForHMR:()=>AS,withDefaults:()=>pL,webComponentDirectiveHandler:()=>H9,watermark:()=>$G,watchViews:()=>lS,watchMultiple:()=>vI,watchEffect:()=>fI,watch:()=>xI,waitForStore:()=>JE,waitForLocale:()=>hN,videoDirective:()=>_6,validators:()=>p3,validated:()=>nL,validateValueEnhanced:()=>tW,validateTemplate:()=>Nz,validateParams:()=>JG,validateFormEnhanced:()=>DN,validateFile:()=>QY,validateFields:()=>IN,validateField:()=>oW,validateDirective:()=>wz,validateCspDirectives:()=>UN,validateConfig:()=>Dq,validateComponentScripts:()=>XD,validateComponentProps:()=>KD,validateClientScript:()=>s4,usesSignalsInScript:()=>W5,userComponentFileExists:()=>QJ,useVirtualList:()=>dJ,useTitle:()=>dW,useStoreOrThrow:()=>XE,useStore:()=>MO,useSlots:()=>ZL,useSeoMeta:()=>E4,useRouteParams:()=>Uj,useRouteParamOrThrow:()=>QE,useRouteParam:()=>Bj,usePageTitle:()=>dW,useOptimistic:()=>MB,useMiddlewareValue:()=>GE,useMiddlewareState:()=>_j,useLoadingIndicator:()=>WO,useHead:()=>k$,useAttrs:()=>XL,uploadFiles:()=>kG,uploadFile:()=>GY,updateInstance:()=>lI,untrack:()=>v8,unregisterDirective:()=>FM,unmountInstance:()=>iI,unescapeHtml:()=>k3,transpileTypeScript:()=>w$,translate:()=>zY,transitionDirective:()=>H3,toUsers:()=>ZH,toUser:()=>$H,thumbnail:()=>fQ,thumbHashToRGBA:()=>o6,thumbHashToDataURL:()=>MG,templateCache:()=>kJ,stxClientHelpers:()=>DQ,structuredDataDirective:()=>T8,stripLocalePrefix:()=>mG,stripDocumentWrapper:()=>U$,stringToStream:()=>RD,strictCspPreset:()=>DW,streamingSuspenseDirective:()=>kX,streamToResponse:()=>OU,streamTemplateSimple:()=>zU,streamTemplate:()=>WU,stopHmrServer:()=>v7,stopBroadcasting:()=>tj,state:()=>h4,startProductionServer:()=>qk,startInteractive:()=>eD,startBroadcasting:()=>aj,staggerDirective:()=>QK,srcsetUrls:()=>YG,springDirective:()=>GK,splitByPipe:()=>c3,smartBatchSign:()=>KG,signUrl:()=>aZ,shouldTranspileTypeScript:()=>A$,shouldReloadOnChange:()=>j6,shouldRefreshSignature:()=>ZY,shouldIgnoreFile:()=>H6,shouldCacheComponent:()=>g_,sharpen:()=>uQ,shape:()=>oL,setRouteParams:()=>BE,setMiddlewareState:()=>_E,setGlobalProvide:()=>UY,setErrorLocale:()=>eK,setCurrentInstance:()=>SI,setCachedVideoResult:()=>M7,setCachedImageResult:()=>A7,setCached:()=>L7,serveStxFile:()=>tL,serveMultipleStxFiles:()=>eL,serveMarkdownFile:()=>IZ,serveFile:()=>XS,serveApp:()=>$F,serve:()=>YO,serializeState:()=>zO,sepia:()=>pQ,scrollAnimateDirective:()=>O3,screenReaderDirective:()=>q3,scopeHTML:()=>wq,scopeCSS:()=>Aq,scanForSitemapEntries:()=>Xw,scanA11yIssues:()=>BF,saturation:()=>nQ,sanitizeParams:()=>QG,sanitizeFilePath:()=>jW,sanitizeExpression:()=>HW,sanitizeDirectiveParams:()=>OW,sanitizeDirectiveParam:()=>R4,sanitizeComponentProps:()=>YX,safeExecuteAsync:()=>d1,safeExecute:()=>_W,runPreProcessingMiddleware:()=>qJ,runPostProcessingMiddleware:()=>jJ,runMiddleware:()=>D6,runHooks:()=>T5,runDoctor:()=>ML,rotate:()=>sQ,rewriteImagesWithSiblings:()=>J2,resolveTemplatePath:()=>a4,resolveI18n:()=>J3,resize:()=>xQ,resetPlaceholders:()=>DY,resetHead:()=>gW,resetHMRHandler:()=>RS,resetErrorConfig:()=>GW,required:()=>lL,replacePlaceholders:()=>I3,renderView:()=>PG,renderVideoComponent:()=>k7,renderVendorStyleTags:()=>IY,renderToString:()=>b5,renderToStream:()=>qL,renderToDOM:()=>Z4,renderThumbhashToCanvas:()=>RG,renderTemplate:()=>Gb,renderString:()=>Kb,renderStreamingPage:()=>UU,renderSlot:()=>_2,renderSSRSuspense:()=>w_,renderProtectedVideo:()=>qG,renderProtectedImg:()=>zG,renderMediaUpload:()=>GG,renderImgComponent:()=>i$,renderImageComponent:()=>iq,renderHtmlAttrs:()=>mW,renderHead:()=>uW,renderEmail:()=>iS,renderComponentWithSlot:()=>u1,renderBodyAttrs:()=>pW,render:()=>DS,relaxedCspPreset:()=>kW,registerValidationRule:()=>TN,registerStreamingDirectives:()=>jU,registerStore:()=>WE,registerSeoDirectives:()=>Zw,registerMiddleware:()=>YE,registerFilters:()=>kK,registerFilter:()=>CY,registerErrorMessages:()=>ZW,registerEnhancedValidationRule:()=>EN,registerDirective:()=>Pz,registerCspDirectives:()=>WN,registerComponentDirectives:()=>BD,registerAnimationDirectives:()=>EF,registerA11yDirectives:()=>qF,ref:()=>yI,redirect:()=>bD,readMarkdownFile:()=>G$,readFileCached:()=>IB,reactive:()=>Gj,quality:()=>tQ,pruneSignatureCache:()=>BG,pruneCache:()=>cz,provide:()=>sO,prop:()=>cL,processVueTemplate:()=>AJ,processVirtualListDirectives:()=>n8,processVirtualGridDirectives:()=>mJ,processVideo:()=>HZ,processValidateDirective:()=>aW,processTranslateDirective:()=>TX,processTransitionDirectives:()=>q_,processTransitionAttributes:()=>O_,processTitleDirective:()=>iW,processTemplateBindings:()=>cY,processTeleportDirectives:()=>Q_,processSuspenseDirectives:()=>N_,processStructuredData:()=>LJ,processStreamDirectives:()=>BU,processStaticDirectives:()=>Z2,processStackReplacements:()=>R8,processStackPushDirectives:()=>w8,processSlots:()=>z2,processShell:()=>uZ,processServerBindings:()=>E8,processSeoDirective:()=>FJ,processSectionDirectives:()=>HU,processScopedStyles:()=>v4,processReactiveBindings:()=>hK,processProtectedMedia:()=>jG,processPartialHydrationDirectives:()=>sJ,processOnceDirective:()=>n4,processMiddleware:()=>zJ,processMetaDirectives:()=>OJ,processMetaDirective:()=>nW,processMarkdownFileDirectives:()=>U2,processMarkdownDirectives:()=>W2,processLoops:()=>V8,processKeepAliveDirectives:()=>v_,processJsonDirective:()=>i4,processInfiniteListDirectives:()=>uJ,processIncludes:()=>A8,processImgComponents:()=>o2,processImageComponents:()=>nq,processImage:()=>s1,processHeadDirective:()=>lW,processForms:()=>MN,processFormInputDirectives:()=>$8,processExpressions:()=>G1,processEventDirectives:()=>rY,processErrorDirective:()=>Z8,processDynamicComponents:()=>RJ,processDirectives:()=>X0,processDirectiveAttributes:()=>RM,processDeferDirectives:()=>Y_,processCustomDirectives:()=>OX,processCspDirectives:()=>qX,processComponentProps:()=>aL,processClientScript:()=>N$,processBasicFormDirectives:()=>s5,processAsyncDirectives:()=>k_,processAnimationDirectives:()=>VY,processA11yDirectives:()=>LY,preloadTranslationsBackground:()=>fN,preloadTranslations:()=>ZU,preloadIslandHandlers:()=>qS,preloadIconCollection:()=>U8,poolStrings:()=>ij,pluginManager:()=>F9,performLeave:()=>z_,performEnter:()=>__,peek:()=>c4,partialsCache:()=>f$,parseVideoDirectiveOptions:()=>Oq,parseUrl:()=>PQ,parseThumbhashString:()=>TG,parseSwitchBlock:()=>l3,parseSlots:()=>B2,parseSlotElement:()=>Iz,parseScriptDeclarations:()=>TW,parseSFCComponent:()=>Rq,parseProtectedArgs:()=>HG,parseImgComponent:()=>WZ,parseImageUrl:()=>w2,parseImageComponent:()=>f9,parseExpressionWithFilters:()=>RW,parseCookies:()=>DD,parseConditionalBlock:()=>JX,parseArguments:()=>QX,parseAnimationShorthand:()=>TF,optional:()=>iL,optimizeTemplate:()=>nj,optimizeImage:()=>u9,optimizeDirectory:()=>Zj,oneOf:()=>sL,onceStore:()=>BJ,onUpdated:()=>uI,onUnmounted:()=>pI,onServer:()=>qE,onMounted:()=>hI,onMount:()=>P8,onHydrated:()=>$2,onErrorCaptured:()=>eO,onDestroy:()=>x8,onDeactivated:()=>m_,onClient:()=>zE,onBeforeUpdate:()=>dI,onBeforeUnmount:()=>mI,onBeforeMount:()=>gI,onActivated:()=>u_,observeElement:()=>NG,notFound:()=>CD,nextTick:()=>tO,navigateTo:()=>ZE,mountInstance:()=>cI,motionDirective:()=>F3,moderateCspPreset:()=>n3,minifyHtml:()=>lj,metaDirective:()=>M8,mergeParams:()=>rZ,mergeCspDirectives:()=>GN,matchRoute:()=>mZ,markdownDirectiveHandler:()=>O2,markdownCache:()=>NZ,localizePath:()=>j$,loadTranslationLazy:()=>b4,loadTranslation:()=>XU,loadStxConfig:()=>f0,loadMiddlewareFromDirectory:()=>E6,loadManifest:()=>GQ,loadElement:()=>q$,loadChannels:()=>ej,lintStxStrict:()=>PL,lazyLoadAll:()=>FG,lazyLoad:()=>LG,keyframeDirective:()=>JK,jsxs:()=>BL,jsxDEV:()=>_L,jsx:()=>y5,jsonResponse:()=>SD,islandDirective:()=>SX,isTest:()=>V4,isSpaNavigation:()=>s9,isSignatureValid:()=>eZ,isSignal:()=>m4,isSharpAvailable:()=>N6,isServerEnvironment:()=>qD,isServer:()=>zj,isProduction:()=>m5,isNativeLazySupported:()=>YY,isLoading:()=>xN,isLoaded:()=>vN,isJavaScriptScript:()=>Cz,isIntersectionObserverSupported:()=>XY,isImageFile:()=>A6,isImageBackendAvailable:()=>n1,isICUFormat:()=>GU,isHydrated:()=>eJ,isHydrateTrigger:()=>yz,isEdgeEnvironment:()=>zD,isDirectiveKind:()=>vL,isDevelopment:()=>M$,isDerived:()=>p4,isCssOnlyChange:()=>q6,isClient:()=>qj,isAsyncComponent:()=>b_,invert:()=>cQ,invalidateFileCacheByDir:()=>DB,invalidateFileCache:()=>EB,interpolateScriptsInTemplate:()=>bK,interpolateScriptExpressions:()=>PY,inlineError:()=>J0,injectThemeBootstrap:()=>X3,injectSeoTags:()=>VJ,injectSeo:()=>$3,injectRouterScript:()=>X$,injectHotReload:()=>l1,injectHeatmap:()=>wY,injectCspMetaTag:()=>zX,injectCrosswindCSS:()=>T0,injectConfigHeadTags:()=>EJ,injectCloakStyle:()=>IJ,injectAnalytics:()=>nY,inject:()=>rO,initStoreRegistry:()=>KE,initNetlify:()=>GI,initLoadingIndicator:()=>LS,initLazyLoading:()=>OG,initFile:()=>iD,initBlurUp:()=>JY,initAllBlurUp:()=>EG,imgDirective:()=>U6,imageDirective:()=>oq,hydrateTemplateStream:()=>FQ,hydrateTemplate:()=>Uk,hydrateIslands:()=>zS,hydrateIsland:()=>oJ,hydrateFragment:()=>Bk,hydrateByStrategy:()=>aJ,hydrateAll:()=>tJ,hydrate:()=>IS,htmlResponse:()=>YS,heatmapDirective:()=>RY,hashString:()=>ZZ,hashFilePath:()=>Y7,hashFile:()=>n0,hashBuffer:()=>gz,hasVueTemplateSyntax:()=>VB,hasVariables:()=>WJ,hasStore:()=>wO,hasPlaceholders:()=>x5,hasNetlifyConfig:()=>bZ,hasMiddleware:()=>$E,hasEventDirectives:()=>vV,hasDocumentShell:()=>S8,hasDirectives:()=>Rz,hasDOMSupport:()=>aG,handleImageRequest:()=>xZ,handleError:()=>$L,h:()=>LL,groupVariantsByFormat:()=>u7,grayscale:()=>mQ,gitHash:()=>jk,getUnusedDirectives:()=>dj,getTranslationSync:()=>YU,getTranslationCacheStats:()=>CN,getTranslationAsync:()=>gN,getTranslation:()=>Y8,getTotalSize:()=>o$,getTimeUntilExpiry:()=>$Y,getStoreNames:()=>RO,getStore:()=>CQ,getSourceLineInfo:()=>H2,getScreenReaderOnlyStyle:()=>WF,getScopeAttribute:()=>yT,getRouteParams:()=>IE,getPublicEnvDefine:()=>N1,getPublicEnv:()=>jK,getPositionInfo:()=>Az,getPlaceholderRegistry:()=>kY,getPlaceholderCacheStats:()=>v2,getPageMeta:()=>o3,getNonce:()=>E$,getMimeType:()=>I1,getMiddlewareNames:()=>I6,getMiddleware:()=>eI,getLoadingState:()=>PN,getLoadingLocales:()=>dN,getImageMetadata:()=>g7,getHydrationRuntime:()=>OO,getHydratedStoreState:()=>UE,getHmrServer:()=>O6,getHead:()=>n5,getHMRHandler:()=>wS,getFormatExtension:()=>I2,getFileMtime:()=>G6,getFallbackVariant:()=>d7,getErrorMessage:()=>tY,getErrorLocale:()=>$W,getErrorConfig:()=>N4,getErrorCodeName:()=>f3,getDirectives:()=>LM,getDirective:()=>OM,getCurrentInstance:()=>bI,getCspPreset:()=>QN,getCspHeaderName:()=>yW,getComponentCacheStats:()=>HM,getCachedVideoResult:()=>R7,getCachedSignature:()=>WG,getCachedSignalsRuntime:()=>bB,getCachedRouterScript:()=>CB,getCachedPlaceholder:()=>Q6,getCachedImageResult:()=>N7,getCached:()=>O7,getCacheStats:()=>pz,getBroadcastServer:()=>oj,getBestVariant:()=>T2,getAllFilters:()=>yY,generateWidthSrcset:()=>p$,generateVirtualListCSS:()=>hJ,generateVideoPreview:()=>bG,generateValidationScript:()=>kN,generateUploadRuntime:()=>e6,generateTreeShakenBundle:()=>uj,generateTransitionRuntime:()=>H_,generateTransitionCSS:()=>j_,generateThumbnails:()=>I7,generateThumbhashPlaceholder:()=>k2,generateTemplatesDocs:()=>jH,generateSuspenseRuntime:()=>M_,generateSuspenseCSS:()=>R_,generateStateScript:()=>jO,generateSrcsetData:()=>R2,generateSrcset:()=>QZ,generateSrcSet:()=>R5,generateSpriteSheet:()=>qZ,generateSpaShell:()=>tS,generateSourceTags:()=>M2,generateSizesFromBreakpoints:()=>N2,generateSizesAttribute:()=>_7,generateSizes:()=>h7,generateSitemapIndex:()=>Yw,generateSitemap:()=>Z3,generateSimpleMediaPicker:()=>vO,generateSignatureRuntime:()=>s6,generateSignalsRuntimeDev:()=>O5,generateSignalsRuntime:()=>l4,generateServerDataBridge:()=>W4,generateScopeId:()=>LZ,generateSFCWebComponent:()=>Mq,generateRouteTypes:()=>DE,generateRouteManifest:()=>EE,generateRobotsTxt:()=>jB,generateRobots:()=>Y3,generateResponsiveVariants:()=>JZ,generateReactiveWebComponentTS:()=>vT,generateReactiveWebComponent:()=>xT,generateReactiveRuntime:()=>gT,generateReactiveMixin:()=>fT,generatePoster:()=>T7,generatePlaceholderStyle:()=>P2,generatePlaceholderCSS:()=>J6,generatePlaceholder:()=>X6,generatePartialHydrationCSS:()=>rJ,generateNonce:()=>BX,generateNetlifyToml:()=>E9,generateMinifiedMediaRuntime:()=>mO,generateMediaRuntime:()=>yG,generateMediaManagerEmbed:()=>xO,generateManifest:()=>JQ,generateLoadingIndicatorHtml:()=>VS,generateLazyLoadRuntime:()=>r6,generateLQIP:()=>b2,generateKeepAliveRuntime:()=>d_,generateKeepAliveCSS:()=>h_,generateIslandManifest:()=>Y2,generateImagePreview:()=>SG,generateImageManifest:()=>m9,generateHydrationScript:()=>TS,generateHydrationRuntime:()=>LU,generateHydrationCSS:()=>ES,generateHydrationBootstrap:()=>cJ,generateHotReloadScript:()=>xq,generateHeatmapScript:()=>AY,generateHMRClientScript:()=>NS,generateHLSManifest:()=>E7,generateEventBindings:()=>MS,generateDprSrcsetWithVariableQuality:()=>V2,generateDprSrcset:()=>B7,generateDocumentShell:()=>RB,generateDocs:()=>VH,generateDirectivesDocs:()=>HH,generateDirectiveRuntime:()=>wM,generateDefaultRobotsTxt:()=>Jw,generateDASHManifest:()=>D7,generateCspMetaTag:()=>s3,generateCspHeader:()=>_X,generateCrosswindCSS:()=>y3,generateCompositionRuntime:()=>QL,generateComponentsDocs:()=>qH,generateComponentManifest:()=>VR,generateComponentDoc:()=>zH,generateColorPlaceholder:()=>y2,generateClientRuntime:()=>nI,generateCacheKey:()=>j7,generateBlurUpRuntime:()=>a6,generateBlurUpCSS:()=>t6,generateBindingsRuntime:()=>dK,generateAutoWidthSrcset:()=>F2,generateAsyncComponentRuntime:()=>y_,generateAsyncComponentCSS:()=>C_,generateAnimationRuntime:()=>IF,generateAnimationCSS:()=>MF,generateAnalyticsScript:()=>iY,formatTypeErrors:()=>_S,formatStxContent:()=>xH,formatSize:()=>w5,formatRoutes:()=>o9,formatMarkdownContent:()=>gD,formatLocalizedError:()=>XW,formatICU:()=>JU,formatFilePath:()=>A4,formatError:()=>d3,formatDoctorReport:()=>TL,formatDocsAsMarkdown:()=>OH,formatDocsAsJson:()=>FH,formatDocsAsHtml:()=>LH,format:()=>aQ,foldConstants:()=>cj,flipVertical:()=>oQ,flipHorizontal:()=>rQ,fingerprint:()=>a9,findPantryPackage:()=>hG,findMatchingEndTag:()=>I$,findMatchingDelimiter:()=>x0,findIfBlocks:()=>i5,findExpressions:()=>wW,findErrorPage:()=>r9,findDirectiveBlocks:()=>T4,findDeadCode:()=>mj,findDeadBranches:()=>mj,findComponentFiles:()=>qQ,findCommonDir:()=>sG,filterRequiredFiles:()=>kZ,fileExists:()=>t,extractVariables:()=>D0,extractStreamBoundaries:()=>_U,extractState:()=>HO,extractSlotContent:()=>Dz,extractScriptFromTemplate:()=>KJ,extractPlaceholders:()=>QV,extractParenthesizedExpression:()=>Z$,extractLayoutMetadata:()=>C6,extractDominantColor:()=>C2,extractDirectiveParams:()=>MW,extractDirectiveNames:()=>Mz,extractContainerContent:()=>b6,extractComponentProps:()=>BH,extractComponentName:()=>lJ,extractComponentDescription:()=>_H,extractClassNames:()=>C3,extractBridgeData:()=>V$,extractBoundProps:()=>iJ,extractBalancedExpression:()=>XX,extractAndStripCssImports:()=>TY,extractAndScopeStyles:()=>PT,extractAndProcessEvents:()=>iK,evaluateExpression:()=>o0,evaluateConstant:()=>lZ,evaluateAuthExpression:()=>$$,escapeHtml:()=>E0,errorRecovery:()=>u3,errorLogger:()=>a0,ensureTeleportTargets:()=>G_,ensureDocumentShell:()=>f4,enhancedValidationRules:()=>VX,eliminateDeadCode:()=>pj,effect:()=>u4,dprUrls:()=>XG,docsCommand:()=>_D,disconnectObserver:()=>AG,devHelpers:()=>l5,detectShell:()=>n9,detectRuntime:()=>s7,detectProjectConfig:()=>F6,detectFormat:()=>E2,detectBuildMode:()=>YD,derived:()=>d4,deploy:()=>QI,defineStxConfig:()=>Eq,defineStore:()=>TO,defineSlots:()=>YL,defineSiteConfig:()=>nG,definePropsWithValidation:()=>mL,defineProps:()=>uL,definePlugin:()=>b7,definePageMeta:()=>hW,defineMiddleware:()=>tI,defineExpose:()=>aO,defineEmits:()=>oO,defineDirective:()=>S0,defineCustomElement:()=>VL,defineConfig:()=>Wk,defineClientDirective:()=>VM,defineAsyncComponent:()=>S_,defaultMediaConfig:()=>cS,defaultImageConfig:()=>kI,defaultI18nConfig:()=>X8,defaultHeatmapConfig:()=>BK,defaultFormClasses:()=>e3,defaultFilters:()=>v5,defaultCspConfig:()=>_N,defaultConfig:()=>W1,default:()=>$C,decodeThumbhash:()=>S2,cspNonceDirective:()=>CW,cspDirective:()=>bW,crossfadeTransition:()=>IG,crop:()=>vQ,createVirtualList:()=>i8,createVideoDirective:()=>OZ,createVercelHandler:()=>ID,createTypeChecker:()=>RQ,createTranslateFilter:()=>QA,createTextEncoderStream:()=>wD,createStxApp:()=>gG,createStreamingResponse:()=>AD,createStreamRenderer:()=>qU,createStore:()=>yQ,createStorageManager:()=>aI,createServerCookieManager:()=>oI,createScope:()=>Qj,createSSRSuspense:()=>A_,createRouter:()=>B$,createRouteLocation:()=>T6,createRoute:()=>QS,createRef:()=>yI,createReactive:()=>Gj,createProvideContext:()=>JL,createProject:()=>Lk,createProductionBuild:()=>Kk,createPlaceholder:()=>U4,createOptimizedBuild:()=>JD,createNetlifyHandler:()=>ED,createNetlifyClient:()=>EZ,createMiddlewareContext:()=>M6,createMiddleware:()=>JS,createLazyObserver:()=>VG,createKeepAliveCache:()=>f_,createKVNamespace:()=>RH,createIslandRegistry:()=>nJ,createImgDirective:()=>UZ,createImagePlugin:()=>tq,createImageHandler:()=>x9,createImageDirective:()=>d9,createHeatmapAggregator:()=>SF,createFileManifest:()=>DZ,createEnvAccessor:()=>wH,createEnhancedError:()=>BW,createEdgeHandler:()=>v6,createEdgeCache:()=>MH,createDetailedErrorMessage:()=>L0,createDenoHandler:()=>TD,createDefaultNetlifyConfig:()=>V6,createCspHeaders:()=>BN,createCookie:()=>kD,createComputed:()=>PI,createComponentInstance:()=>CI,createCloudflareHandler:()=>MD,createClientCookieManager:()=>rI,createBuiltinDirectives:()=>AM,createApp:()=>gG,createAnimationTimeline:()=>RF,cover:()=>hQ,convertToCommonJS:()=>j8,contrast:()=>iQ,contain:()=>gQ,consoleError:()=>UW,configureErrorHandling:()=>QW,config:()=>_1,computed:()=>PI,composeShellWithPage:()=>S6,componentDirective:()=>WH,compileTemplate:()=>ZQ,collectDeployFiles:()=>L6,clearVideoCache:()=>_Z,clearTranslationCache:()=>bN,clearSignatureCache:()=>UG,clearPlaceholderCache:()=>x2,clearOnceStore:()=>aA,clearNonce:()=>JN,clearMiddleware:()=>R6,clearImageCache:()=>h9,clearErrorMessages:()=>YW,clearDevCaches:()=>yB,clearCustomFilters:()=>SK,clearComponentCache:()=>m$,clearCache:()=>F7,cleanupLoadingIndicator:()=>FS,classifyScript:()=>Oj,classifyAllScripts:()=>c9,checkTemplateFile:()=>US,checkTemplate:()=>BS,checkCache:()=>d8,checkAuthAccess:()=>$4,checkA11y:()=>tG,channel:()=>JH,captureScreenshots:()=>fD,captureScreenshot:()=>bH,cancelPendingLoads:()=>uN,calculateSha1:()=>I9,calculateOptimalWidths:()=>t8,cacheTemplate:()=>u8,buildWebComponents:()=>q9,buildViews:()=>iO,buildUrl:()=>A0,buildSuspenseResolveScript:()=>Q8,buildStaticSite:()=>lG,buildRuntimeAsset:()=>t9,buildRouterAsset:()=>e9,buildLangPickerScript:()=>K3,buildImageUrl:()=>y1,buildForProduction:()=>Cj,buildAuthParams:()=>n6,buildApp:()=>$D,buildAlternateLinks:()=>G3,build:()=>Gk,broadcastPrivate:()=>YH,broadcastPresence:()=>XH,broadcast:()=>BQ,brightness:()=>lQ,blur:()=>dQ,batchSignUrls:()=>tZ,batch:()=>y8,autoFixA11yFile:()=>$K,autoFixA11yDirectory:()=>zF,autoFixA11y:()=>eG,auto:()=>eQ,assetTags:()=>sE,arrayOf:()=>rL,applyTranslations:()=>Q3,applyTransformations:()=>W6,applySlots:()=>kz,applyPropDefaults:()=>WD,applyPreset:()=>ZG,applyHead:()=>cW,applyFilters:()=>xY,apiCspPreset:()=>SW,animationGroupDirective:()=>L3,analyzeVideo:()=>B6,analyzeUsage:()=>WQ,analyzeTemplate:()=>Hj,analyzeProject:()=>FE,analyzeDirectiveUsage:()=>WQ,analyticsDirective:()=>SV,addStore:()=>wk,addPage:()=>Ak,addNonceToInlineContent:()=>KN,addLayout:()=>Rk,addComponent:()=>Nk,abortNavigation:()=>sI,a11yDirective:()=>z3,__setSignalsGeneratorsForTest:()=>SB,VideoProcessorCache:()=>w7,TransitionType:()=>ZK,TransitionEase:()=>XK,TransitionDirection:()=>YK,Tokenizer:()=>M4,TemplateTypeChecker:()=>wQ,TEMPLATE_PRESETS:()=>lD,StxValidationError:()=>w4,StxSyntaxError:()=>eY,StxSecurityError:()=>$X,StxRuntimeError:()=>S1,StxFileError:()=>c5,StxError:()=>T$,Show:()=>jL,SUSPENSE_RESOLVER_RUNTIME:()=>DX,SPRING_PRESETS:()=>FY,ProductionBuild:()=>nZ,Portal:()=>OL,PROJECT_TEMPLATES:()=>Ok,PRESETS:()=>oZ,MemorySessionStore:()=>VO,MIME_TYPES:()=>Z6,MEDIA_DEFAULT_WIDTHS:()=>c1,MEDIA_DEFAULT_FORMATS:()=>Q$,ImageProcessorCache:()=>V7,ImageProcessingError:()=>m7,HydrationRuntime:()=>bQ,HotReloadServer:()=>T9,HeatmapAggregator:()=>MY,Fragment:()=>C5,For:()=>HL,ErrorLogger:()=>m3,ErrorCodes:()=>e,DeployError:()=>a$,DEFAULT_WIDTHS:()=>R1,DEFAULT_TRANSITION_OPTIONS:()=>g1,DEFAULT_QUALITY:()=>T1,DEFAULT_PLACEHOLDER_OPTIONS:()=>$Z,DEFAULT_FORMATS:()=>M1,DEFAULT_DPR_VALUES:()=>$6,ComponentHMRHandler:()=>kQ,COMMON_SIZES:()=>A2,CLOAK_STYLE:()=>Iw,BroadcastServer:()=>GH,Broadcast:()=>QH,BLUR_UP_CSS:()=>q7});var $C;var t$=D(()=>{b9();p9();N0();XJ();Q5();IO();NJ();xG();FL();NL();V9();h1();IL();CL();xL();Kj();S$();hZ();NX();j3();sY();V3();U7();l7();aY();Pj();$Q();fj();sj();iZ();F5();UH();l0();jX();LX();b9();ZF();e4();NH();TH();CH();H1();oY();c0();vH();N3();IX();e5();dH();mH();N8();o8();HJ();I4();pZ();B4();O1();lH();KQ();sH();y6();ZO();l9();I8();XO();k8();YQ();VQ();C$();QO();O9();pJ();X2();GO();UO();lY();K5();_O();LO();NO();p9();lO();nO();f8();wJ();MJ();wL();N0();q2();gL();$C={}});import B3 from"path";var J4;var OY=D(()=>{t$();H1();c0();U5();O1();J4={name:"bun-plugin-stx",async setup($){let Y={...await f0(),...$.config?.stx},X=new Set,J=Y.webComponents?.enabled?`./${B3.relative(B3.dirname($.config?.outdir||"dist"),Y.webComponents.outputDir||"dist/web-components")}`:"/web-components",Q=[];if(Y.webComponents?.enabled)try{let G=await q9(Y,X);if(Q.push(...G),Y.debug&&G.length>0)console.log(`Successfully built ${G.length} web components`)}catch(G){console.error("Failed to build web components:",G)}$.onLoad({filter:/\.stx$/},async({path:G})=>{try{let K=new Set;if(Y.cache&&Y.cachePath){let H=await d8(G,Y);if(H){if(Y.debug)console.log(`Using cached version of ${G}`);return{contents:H,loader:"html"}}}let W=await d1(()=>Bun.file(G).text(),"",(H)=>{throw new c5(`Failed to read stx file: ${G}`,G,void 0,void 0,`File read error: ${H.message}`)});if(!W)throw new c5(`stx file is empty: ${G}`,G);let{scriptContent:U,templateContent:B,allScripts:_}=H4.time("script-extraction",()=>{let H=W,O=W.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>([\s\S]*?)<\/template>/i);if(O)H=O[1].trim();let F=W.match(/<script\b[^>]*>[\s\S]*?<\/script>/gi)||[],L="",V=[];for(let A of F){let w=A.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i)?.[1]||"",R=A.match(/<script\b([^>]*)>/i),T=R?R[1]:"";if(/\bserver\b/i.test(T))L=w;else V.push(A)}let N=H.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"");return{scriptContent:L,templateContent:N,allScripts:V}}),z={__filename:G,__dirname:B3.dirname(G),__stx:{webComponentsPath:J,builtComponents:Q}};await d1(()=>D0(U,z,G),void 0,(H)=>{let O=new S1(`Script execution failed in ${G}: ${H.message}`,G,void 0,void 0,U.substring(0,100));if(a0.log(O,{filePath:G,scriptContent:U}),Y.debug)throw O});let j=await H4.timeAsync("directive-processing",async()=>{return await X0(B,z,G,Y,K)});if(_.length>0){let{interpolateScriptsInTemplate:H}=await Promise.resolve().then(() => (c0(),q4)),O=H(_.join(`
16099
+ ${W}`)}return{props:G,validation:K}}function pL($,Z){let Y={...$};for(let[X,J]of Object.entries(Z))if(Y[X]===void 0)Y[X]=typeof J==="function"?J():J;return Y}function cL($){return $}function lL($){return{type:$,required:!0}}function iL($,Z){return{type:Z,default:$}}function nL($,Z={}){return{...Z,validator:$}}function sL($,Z={}){return{...Z,validator:(Y)=>$.includes(Y)}}function rL($,Z={}){return{...Z,type:Array,validator:(Y)=>{if(!Array.isArray(Y))return!1;return!0}}}function oL($,Z={}){return{...Z,type:Object}}function aL($,Z,Y){if(!Z)return $;let X={};for(let[J,Q]of Object.entries(Z)){let G=typeof Q==="function"||Array.isArray(Q)?{type:Q}:Q||{},K=$[J];if(K===void 0&&G.default!==void 0)K=typeof G.default==="function"?G.default():G.default;{let W=dL(J,K,G,Y);if(W)console.warn(W.message)}X[J]=K}for(let[J,Q]of Object.entries($))if(!(J in X))X[J]=Q;return X}var I5={};Z0(I5,{writeNetlifyConfig:()=>SZ,writeManifest:()=>QQ,writeImageManifest:()=>Yj,wrapComponentForHMR:()=>AS,withDefaults:()=>pL,webComponentDirectiveHandler:()=>H9,watermark:()=>$G,watchViews:()=>lS,watchMultiple:()=>vI,watchEffect:()=>fI,watch:()=>xI,waitForStore:()=>JE,waitForLocale:()=>hN,videoDirective:()=>_6,validators:()=>p3,validated:()=>nL,validateValueEnhanced:()=>tW,validateTemplate:()=>Nz,validateParams:()=>JG,validateFormEnhanced:()=>DN,validateFile:()=>QY,validateFields:()=>IN,validateField:()=>oW,validateDirective:()=>wz,validateCspDirectives:()=>UN,validateConfig:()=>Dq,validateComponentScripts:()=>XD,validateComponentProps:()=>KD,validateClientScript:()=>s4,usesSignalsInScript:()=>W5,userComponentFileExists:()=>QJ,useVirtualList:()=>dJ,useTitle:()=>dW,useStoreOrThrow:()=>XE,useStore:()=>MO,useSlots:()=>ZL,useSeoMeta:()=>E4,useRouteParams:()=>Uj,useRouteParamOrThrow:()=>QE,useRouteParam:()=>Bj,usePageTitle:()=>dW,useOptimistic:()=>MB,useMiddlewareValue:()=>GE,useMiddlewareState:()=>_j,useLoadingIndicator:()=>WO,useHead:()=>k$,useAttrs:()=>XL,uploadFiles:()=>kG,uploadFile:()=>GY,updateInstance:()=>lI,untrack:()=>v8,unregisterDirective:()=>FM,unmountInstance:()=>iI,unescapeHtml:()=>k3,transpileTypeScript:()=>w$,translate:()=>zY,transitionDirective:()=>H3,toUsers:()=>ZH,toUser:()=>$H,thumbnail:()=>fQ,thumbHashToRGBA:()=>o6,thumbHashToDataURL:()=>MG,templateCache:()=>kJ,stxClientHelpers:()=>DQ,structuredDataDirective:()=>T8,stripLocalePrefix:()=>mG,stripDocumentWrapper:()=>U$,stringToStream:()=>RD,strictCspPreset:()=>DW,streamingSuspenseDirective:()=>kX,streamToResponse:()=>OU,streamTemplateSimple:()=>zU,streamTemplate:()=>WU,stopHmrServer:()=>v7,stopBroadcasting:()=>tj,state:()=>h4,startProductionServer:()=>qk,startInteractive:()=>eD,startBroadcasting:()=>aj,staggerDirective:()=>QK,srcsetUrls:()=>YG,springDirective:()=>GK,splitByPipe:()=>c3,smartBatchSign:()=>KG,signUrl:()=>aZ,shouldTranspileTypeScript:()=>A$,shouldReloadOnChange:()=>j6,shouldRefreshSignature:()=>ZY,shouldIgnoreFile:()=>H6,shouldCacheComponent:()=>g_,sharpen:()=>uQ,shape:()=>oL,setRouteParams:()=>BE,setMiddlewareState:()=>_E,setGlobalProvide:()=>UY,setErrorLocale:()=>eK,setCurrentInstance:()=>SI,setCachedVideoResult:()=>M7,setCachedImageResult:()=>A7,setCached:()=>L7,serveStxFile:()=>tL,serveMultipleStxFiles:()=>eL,serveMarkdownFile:()=>IZ,serveFile:()=>XS,serveApp:()=>$F,serve:()=>YO,serializeState:()=>zO,sepia:()=>pQ,scrollAnimateDirective:()=>O3,screenReaderDirective:()=>q3,scopeHTML:()=>wq,scopeCSS:()=>Aq,scanForSitemapEntries:()=>Xw,scanA11yIssues:()=>BF,saturation:()=>nQ,sanitizeParams:()=>QG,sanitizeFilePath:()=>jW,sanitizeExpression:()=>HW,sanitizeDirectiveParams:()=>OW,sanitizeDirectiveParam:()=>R4,sanitizeComponentProps:()=>YX,safeExecuteAsync:()=>d1,safeExecute:()=>_W,runPreProcessingMiddleware:()=>qJ,runPostProcessingMiddleware:()=>jJ,runMiddleware:()=>D6,runHooks:()=>T5,runDoctor:()=>ML,rotate:()=>sQ,rewriteImagesWithSiblings:()=>J2,resolveTemplatePath:()=>a4,resolveI18n:()=>J3,resize:()=>xQ,resetPlaceholders:()=>DY,resetHead:()=>gW,resetHMRHandler:()=>RS,resetErrorConfig:()=>GW,required:()=>lL,replacePlaceholders:()=>I3,renderView:()=>PG,renderVideoComponent:()=>k7,renderVendorStyleTags:()=>IY,renderToString:()=>b5,renderToStream:()=>qL,renderToDOM:()=>Z4,renderThumbhashToCanvas:()=>RG,renderTemplate:()=>Gb,renderString:()=>Kb,renderStreamingPage:()=>UU,renderSlot:()=>_2,renderSSRSuspense:()=>w_,renderProtectedVideo:()=>qG,renderProtectedImg:()=>zG,renderMediaUpload:()=>GG,renderImgComponent:()=>i$,renderImageComponent:()=>iq,renderHtmlAttrs:()=>mW,renderHead:()=>uW,renderEmail:()=>iS,renderComponentWithSlot:()=>u1,renderBodyAttrs:()=>pW,render:()=>DS,relaxedCspPreset:()=>kW,registerValidationRule:()=>TN,registerStreamingDirectives:()=>jU,registerStore:()=>WE,registerSeoDirectives:()=>Zw,registerMiddleware:()=>YE,registerFilters:()=>kK,registerFilter:()=>CY,registerErrorMessages:()=>ZW,registerEnhancedValidationRule:()=>EN,registerDirective:()=>Pz,registerCspDirectives:()=>WN,registerComponentDirectives:()=>BD,registerAnimationDirectives:()=>EF,registerA11yDirectives:()=>qF,ref:()=>yI,redirect:()=>bD,readMarkdownFile:()=>G$,readFileCached:()=>IB,reactive:()=>Gj,quality:()=>tQ,pruneSignatureCache:()=>BG,pruneCache:()=>cz,provide:()=>sO,prop:()=>cL,processVueTemplate:()=>AJ,processVirtualListDirectives:()=>n8,processVirtualGridDirectives:()=>mJ,processVideo:()=>HZ,processValidateDirective:()=>aW,processTranslateDirective:()=>TX,processTransitionDirectives:()=>q_,processTransitionAttributes:()=>O_,processTitleDirective:()=>iW,processTemplateBindings:()=>cY,processTeleportDirectives:()=>Q_,processSuspenseDirectives:()=>N_,processStructuredData:()=>LJ,processStreamDirectives:()=>BU,processStaticDirectives:()=>Z2,processStackReplacements:()=>R8,processStackPushDirectives:()=>w8,processSlots:()=>z2,processShell:()=>uZ,processServerBindings:()=>E8,processSeoDirective:()=>FJ,processSectionDirectives:()=>HU,processScopedStyles:()=>v4,processReactiveBindings:()=>hK,processProtectedMedia:()=>jG,processPartialHydrationDirectives:()=>sJ,processOnceDirective:()=>n4,processMiddleware:()=>zJ,processMetaDirectives:()=>OJ,processMetaDirective:()=>nW,processMarkdownFileDirectives:()=>U2,processMarkdownDirectives:()=>W2,processLoops:()=>V8,processKeepAliveDirectives:()=>v_,processJsonDirective:()=>i4,processInfiniteListDirectives:()=>uJ,processIncludes:()=>A8,processImgComponents:()=>o2,processImageComponents:()=>nq,processImage:()=>s1,processHeadDirective:()=>lW,processForms:()=>MN,processFormInputDirectives:()=>$8,processExpressions:()=>G1,processEventDirectives:()=>rY,processErrorDirective:()=>Z8,processDynamicComponents:()=>RJ,processDirectives:()=>X0,processDirectiveAttributes:()=>RM,processDeferDirectives:()=>Y_,processCustomDirectives:()=>OX,processCspDirectives:()=>qX,processComponentProps:()=>aL,processClientScript:()=>N$,processBasicFormDirectives:()=>s5,processAsyncDirectives:()=>k_,processAnimationDirectives:()=>VY,processA11yDirectives:()=>LY,preloadTranslationsBackground:()=>fN,preloadTranslations:()=>ZU,preloadIslandHandlers:()=>qS,preloadIconCollection:()=>U8,poolStrings:()=>ij,pluginManager:()=>F9,performLeave:()=>z_,performEnter:()=>__,peek:()=>c4,partialsCache:()=>f$,parseVideoDirectiveOptions:()=>Oq,parseUrl:()=>PQ,parseThumbhashString:()=>TG,parseSwitchBlock:()=>l3,parseSlots:()=>B2,parseSlotElement:()=>Iz,parseScriptDeclarations:()=>TW,parseSFCComponent:()=>Rq,parseProtectedArgs:()=>HG,parseImgComponent:()=>WZ,parseImageUrl:()=>w2,parseImageComponent:()=>f9,parseExpressionWithFilters:()=>RW,parseCookies:()=>DD,parseConditionalBlock:()=>JX,parseArguments:()=>QX,parseAnimationShorthand:()=>TF,optional:()=>iL,optimizeTemplate:()=>nj,optimizeImage:()=>u9,optimizeDirectory:()=>Zj,oneOf:()=>sL,onceStore:()=>BJ,onUpdated:()=>uI,onUnmounted:()=>pI,onServer:()=>qE,onMounted:()=>hI,onMount:()=>P8,onHydrated:()=>$2,onErrorCaptured:()=>eO,onDestroy:()=>x8,onDeactivated:()=>m_,onClient:()=>zE,onBeforeUpdate:()=>dI,onBeforeUnmount:()=>mI,onBeforeMount:()=>gI,onActivated:()=>u_,observeElement:()=>NG,notFound:()=>CD,nextTick:()=>tO,navigateTo:()=>ZE,mountInstance:()=>cI,motionDirective:()=>F3,moderateCspPreset:()=>n3,minifyHtml:()=>lj,metaDirective:()=>M8,mergeParams:()=>rZ,mergeCspDirectives:()=>GN,matchRoute:()=>mZ,markdownDirectiveHandler:()=>O2,markdownCache:()=>NZ,localizePath:()=>j$,loadTranslationLazy:()=>b4,loadTranslation:()=>XU,loadStxConfig:()=>f0,loadMiddlewareFromDirectory:()=>E6,loadManifest:()=>GQ,loadElement:()=>q$,loadChannels:()=>ej,lintStxStrict:()=>PL,lazyLoadAll:()=>FG,lazyLoad:()=>LG,keyframeDirective:()=>JK,jsxs:()=>BL,jsxDEV:()=>_L,jsx:()=>y5,jsonResponse:()=>SD,islandDirective:()=>SX,isTest:()=>V4,isSpaNavigation:()=>s9,isSignatureValid:()=>eZ,isSignal:()=>m4,isSharpAvailable:()=>N6,isServerEnvironment:()=>qD,isServer:()=>zj,isProduction:()=>m5,isNativeLazySupported:()=>YY,isLoading:()=>xN,isLoaded:()=>vN,isJavaScriptScript:()=>Cz,isIntersectionObserverSupported:()=>XY,isImageFile:()=>A6,isImageBackendAvailable:()=>n1,isICUFormat:()=>GU,isHydrated:()=>eJ,isHydrateTrigger:()=>yz,isEdgeEnvironment:()=>zD,isDirectiveKind:()=>vL,isDevelopment:()=>M$,isDerived:()=>p4,isCssOnlyChange:()=>q6,isClient:()=>qj,isAsyncComponent:()=>b_,invert:()=>cQ,invalidateFileCacheByDir:()=>DB,invalidateFileCache:()=>EB,interpolateScriptsInTemplate:()=>bK,interpolateScriptExpressions:()=>PY,inlineError:()=>J0,injectThemeBootstrap:()=>X3,injectSeoTags:()=>VJ,injectSeo:()=>$3,injectRouterScript:()=>X$,injectHotReload:()=>l1,injectHeatmap:()=>wY,injectCspMetaTag:()=>zX,injectCrosswindCSS:()=>T0,injectConfigHeadTags:()=>EJ,injectCloakStyle:()=>IJ,injectAnalytics:()=>nY,inject:()=>rO,initStoreRegistry:()=>KE,initNetlify:()=>GI,initLoadingIndicator:()=>LS,initLazyLoading:()=>OG,initFile:()=>iD,initBlurUp:()=>JY,initAllBlurUp:()=>EG,imgDirective:()=>U6,imageDirective:()=>oq,hydrateTemplateStream:()=>FQ,hydrateTemplate:()=>Uk,hydrateIslands:()=>zS,hydrateIsland:()=>oJ,hydrateFragment:()=>Bk,hydrateByStrategy:()=>aJ,hydrateAll:()=>tJ,hydrate:()=>IS,htmlResponse:()=>YS,heatmapDirective:()=>RY,hashString:()=>ZZ,hashFilePath:()=>Y7,hashFile:()=>n0,hashBuffer:()=>gz,hasVueTemplateSyntax:()=>VB,hasVariables:()=>WJ,hasStore:()=>wO,hasPlaceholders:()=>x5,hasNetlifyConfig:()=>bZ,hasMiddleware:()=>$E,hasEventDirectives:()=>vV,hasDocumentShell:()=>S8,hasDirectives:()=>Rz,hasDOMSupport:()=>aG,handleImageRequest:()=>xZ,handleError:()=>$L,h:()=>LL,groupVariantsByFormat:()=>u7,grayscale:()=>mQ,gitHash:()=>jk,getUnusedDirectives:()=>dj,getTranslationSync:()=>YU,getTranslationCacheStats:()=>CN,getTranslationAsync:()=>gN,getTranslation:()=>Y8,getTotalSize:()=>o$,getTimeUntilExpiry:()=>$Y,getStoreNames:()=>RO,getStore:()=>CQ,getSourceLineInfo:()=>H2,getScreenReaderOnlyStyle:()=>WF,getScopeAttribute:()=>yT,getRouteParams:()=>IE,getPublicEnvDefine:()=>N1,getPublicEnv:()=>jK,getPositionInfo:()=>Az,getPlaceholderRegistry:()=>kY,getPlaceholderCacheStats:()=>v2,getPageMeta:()=>o3,getNonce:()=>E$,getMimeType:()=>I1,getMiddlewareNames:()=>I6,getMiddleware:()=>eI,getLoadingState:()=>PN,getLoadingLocales:()=>dN,getImageMetadata:()=>g7,getHydrationRuntime:()=>OO,getHydratedStoreState:()=>UE,getHmrServer:()=>O6,getHead:()=>n5,getHMRHandler:()=>wS,getFormatExtension:()=>I2,getFileMtime:()=>G6,getFallbackVariant:()=>d7,getErrorMessage:()=>tY,getErrorLocale:()=>$W,getErrorConfig:()=>N4,getErrorCodeName:()=>f3,getDirectives:()=>LM,getDirective:()=>OM,getCurrentInstance:()=>bI,getCspPreset:()=>QN,getCspHeaderName:()=>yW,getComponentCacheStats:()=>HM,getCachedVideoResult:()=>R7,getCachedSignature:()=>WG,getCachedSignalsRuntime:()=>bB,getCachedRouterScript:()=>CB,getCachedPlaceholder:()=>Q6,getCachedImageResult:()=>N7,getCached:()=>O7,getCacheStats:()=>pz,getBroadcastServer:()=>oj,getBestVariant:()=>T2,getAllFilters:()=>yY,generateWidthSrcset:()=>p$,generateVirtualListCSS:()=>hJ,generateVideoPreview:()=>bG,generateValidationScript:()=>kN,generateUploadRuntime:()=>e6,generateTreeShakenBundle:()=>uj,generateTransitionRuntime:()=>H_,generateTransitionCSS:()=>j_,generateThumbnails:()=>I7,generateThumbhashPlaceholder:()=>k2,generateTemplatesDocs:()=>jH,generateSuspenseRuntime:()=>M_,generateSuspenseCSS:()=>R_,generateStateScript:()=>jO,generateSrcsetData:()=>R2,generateSrcset:()=>QZ,generateSrcSet:()=>R5,generateSpriteSheet:()=>qZ,generateSpaShell:()=>tS,generateSourceTags:()=>M2,generateSizesFromBreakpoints:()=>N2,generateSizesAttribute:()=>_7,generateSizes:()=>h7,generateSitemapIndex:()=>Yw,generateSitemap:()=>Z3,generateSimpleMediaPicker:()=>vO,generateSignatureRuntime:()=>s6,generateSignalsRuntimeDev:()=>O5,generateSignalsRuntime:()=>l4,generateServerDataBridge:()=>W4,generateScopeId:()=>LZ,generateSFCWebComponent:()=>Mq,generateRouteTypes:()=>DE,generateRouteManifest:()=>EE,generateRobotsTxt:()=>jB,generateRobots:()=>Y3,generateResponsiveVariants:()=>JZ,generateReactiveWebComponentTS:()=>vT,generateReactiveWebComponent:()=>xT,generateReactiveRuntime:()=>gT,generateReactiveMixin:()=>fT,generatePoster:()=>T7,generatePlaceholderStyle:()=>P2,generatePlaceholderCSS:()=>J6,generatePlaceholder:()=>X6,generatePartialHydrationCSS:()=>rJ,generateNonce:()=>BX,generateNetlifyToml:()=>E9,generateMinifiedMediaRuntime:()=>mO,generateMediaRuntime:()=>yG,generateMediaManagerEmbed:()=>xO,generateManifest:()=>JQ,generateLoadingIndicatorHtml:()=>VS,generateLazyLoadRuntime:()=>r6,generateLQIP:()=>b2,generateKeepAliveRuntime:()=>d_,generateKeepAliveCSS:()=>h_,generateIslandManifest:()=>Y2,generateImagePreview:()=>SG,generateImageManifest:()=>m9,generateHydrationScript:()=>TS,generateHydrationRuntime:()=>LU,generateHydrationCSS:()=>ES,generateHydrationBootstrap:()=>cJ,generateHotReloadScript:()=>xq,generateHeatmapScript:()=>AY,generateHMRClientScript:()=>NS,generateHLSManifest:()=>E7,generateEventBindings:()=>MS,generateDprSrcsetWithVariableQuality:()=>V2,generateDprSrcset:()=>B7,generateDocumentShell:()=>RB,generateDocs:()=>VH,generateDirectivesDocs:()=>HH,generateDirectiveRuntime:()=>wM,generateDefaultRobotsTxt:()=>Jw,generateDASHManifest:()=>D7,generateCspMetaTag:()=>s3,generateCspHeader:()=>_X,generateCrosswindCSS:()=>y3,generateCompositionRuntime:()=>QL,generateComponentsDocs:()=>qH,generateComponentManifest:()=>VR,generateComponentDoc:()=>zH,generateColorPlaceholder:()=>y2,generateClientRuntime:()=>nI,generateCacheKey:()=>j7,generateBlurUpRuntime:()=>a6,generateBlurUpCSS:()=>t6,generateBindingsRuntime:()=>dK,generateAutoWidthSrcset:()=>F2,generateAsyncComponentRuntime:()=>y_,generateAsyncComponentCSS:()=>C_,generateAnimationRuntime:()=>IF,generateAnimationCSS:()=>MF,generateAnalyticsScript:()=>iY,formatTypeErrors:()=>_S,formatStxContent:()=>xH,formatSize:()=>w5,formatRoutes:()=>o9,formatMarkdownContent:()=>gD,formatLocalizedError:()=>XW,formatICU:()=>JU,formatFilePath:()=>A4,formatError:()=>d3,formatDoctorReport:()=>TL,formatDocsAsMarkdown:()=>OH,formatDocsAsJson:()=>FH,formatDocsAsHtml:()=>LH,format:()=>aQ,foldConstants:()=>cj,flipVertical:()=>oQ,flipHorizontal:()=>rQ,fingerprint:()=>a9,findPantryPackage:()=>hG,findMatchingEndTag:()=>I$,findMatchingDelimiter:()=>x0,findIfBlocks:()=>i5,findExpressions:()=>wW,findErrorPage:()=>r9,findDirectiveBlocks:()=>T4,findDeadCode:()=>mj,findDeadBranches:()=>mj,findComponentFiles:()=>qQ,findCommonDir:()=>sG,filterRequiredFiles:()=>kZ,fileExists:()=>t,extractVariables:()=>D0,extractStreamBoundaries:()=>_U,extractState:()=>HO,extractSlotContent:()=>Dz,extractScriptFromTemplate:()=>KJ,extractPlaceholders:()=>QV,extractParenthesizedExpression:()=>Z$,extractLayoutMetadata:()=>C6,extractDominantColor:()=>C2,extractDirectiveParams:()=>MW,extractDirectiveNames:()=>Mz,extractContainerContent:()=>b6,extractComponentProps:()=>BH,extractComponentName:()=>lJ,extractComponentDescription:()=>_H,extractClassNames:()=>C3,extractBridgeData:()=>V$,extractBoundProps:()=>iJ,extractBalancedExpression:()=>XX,extractAndStripCssImports:()=>TY,extractAndScopeStyles:()=>PT,extractAndProcessEvents:()=>iK,evaluateExpression:()=>o0,evaluateConstant:()=>lZ,evaluateAuthExpression:()=>$$,escapeHtml:()=>E0,errorRecovery:()=>u3,errorLogger:()=>a0,ensureTeleportTargets:()=>G_,ensureDocumentShell:()=>f4,enhancedValidationRules:()=>VX,eliminateDeadCode:()=>pj,effect:()=>u4,dprUrls:()=>XG,docsCommand:()=>_D,disconnectObserver:()=>AG,devHelpers:()=>l5,detectShell:()=>n9,detectRuntime:()=>s7,detectProjectConfig:()=>F6,detectFormat:()=>E2,detectBuildMode:()=>YD,derived:()=>d4,deploy:()=>QI,defineStxConfig:()=>Eq,defineStore:()=>TO,defineSlots:()=>YL,defineSiteConfig:()=>nG,definePropsWithValidation:()=>mL,defineProps:()=>uL,definePlugin:()=>b7,definePageMeta:()=>hW,defineMiddleware:()=>tI,defineExpose:()=>aO,defineEmits:()=>oO,defineDirective:()=>S0,defineCustomElement:()=>VL,defineConfig:()=>Wk,defineClientDirective:()=>VM,defineAsyncComponent:()=>S_,defaultMediaConfig:()=>cS,defaultImageConfig:()=>kI,defaultI18nConfig:()=>X8,defaultHeatmapConfig:()=>BK,defaultFormClasses:()=>e3,defaultFilters:()=>v5,defaultCspConfig:()=>_N,defaultConfig:()=>W1,default:()=>$C,decodeThumbhash:()=>S2,cspNonceDirective:()=>CW,cspDirective:()=>bW,crossfadeTransition:()=>IG,crop:()=>vQ,createVirtualList:()=>i8,createVideoDirective:()=>OZ,createVercelHandler:()=>ID,createTypeChecker:()=>RQ,createTranslateFilter:()=>QA,createTextEncoderStream:()=>wD,createStxApp:()=>gG,createStreamingResponse:()=>AD,createStreamRenderer:()=>qU,createStore:()=>yQ,createStorageManager:()=>aI,createServerCookieManager:()=>oI,createScope:()=>Qj,createSSRSuspense:()=>A_,createRouter:()=>B$,createRouteLocation:()=>T6,createRoute:()=>QS,createRef:()=>yI,createReactive:()=>Gj,createProvideContext:()=>JL,createProject:()=>Lk,createProductionBuild:()=>Kk,createPlaceholder:()=>U4,createOptimizedBuild:()=>JD,createNetlifyHandler:()=>ED,createNetlifyClient:()=>EZ,createMiddlewareContext:()=>M6,createMiddleware:()=>JS,createLazyObserver:()=>VG,createKeepAliveCache:()=>f_,createKVNamespace:()=>RH,createIslandRegistry:()=>nJ,createImgDirective:()=>UZ,createImagePlugin:()=>tq,createImageHandler:()=>x9,createImageDirective:()=>d9,createHeatmapAggregator:()=>SF,createFileManifest:()=>DZ,createEnvAccessor:()=>wH,createEnhancedError:()=>BW,createEdgeHandler:()=>v6,createEdgeCache:()=>MH,createDetailedErrorMessage:()=>F0,createDenoHandler:()=>TD,createDefaultNetlifyConfig:()=>V6,createCspHeaders:()=>BN,createCookie:()=>kD,createComputed:()=>PI,createComponentInstance:()=>CI,createCloudflareHandler:()=>MD,createClientCookieManager:()=>rI,createBuiltinDirectives:()=>AM,createApp:()=>gG,createAnimationTimeline:()=>RF,cover:()=>hQ,convertToCommonJS:()=>j8,contrast:()=>iQ,contain:()=>gQ,consoleError:()=>UW,configureErrorHandling:()=>QW,config:()=>_1,computed:()=>PI,composeShellWithPage:()=>S6,componentDirective:()=>WH,compileTemplate:()=>ZQ,collectDeployFiles:()=>L6,clearVideoCache:()=>_Z,clearTranslationCache:()=>bN,clearSignatureCache:()=>UG,clearPlaceholderCache:()=>x2,clearOnceStore:()=>aA,clearNonce:()=>JN,clearMiddleware:()=>R6,clearImageCache:()=>h9,clearErrorMessages:()=>YW,clearDevCaches:()=>yB,clearCustomFilters:()=>SK,clearComponentCache:()=>m$,clearCache:()=>F7,cleanupLoadingIndicator:()=>FS,classifyScript:()=>Oj,classifyAllScripts:()=>c9,checkTemplateFile:()=>US,checkTemplate:()=>BS,checkCache:()=>d8,checkAuthAccess:()=>$4,checkA11y:()=>tG,channel:()=>JH,captureScreenshots:()=>fD,captureScreenshot:()=>bH,cancelPendingLoads:()=>uN,calculateSha1:()=>I9,calculateOptimalWidths:()=>t8,cacheTemplate:()=>u8,buildWebComponents:()=>q9,buildViews:()=>iO,buildUrl:()=>w0,buildSuspenseResolveScript:()=>Q8,buildStaticSite:()=>lG,buildRuntimeAsset:()=>t9,buildRouterAsset:()=>e9,buildLangPickerScript:()=>K3,buildImageUrl:()=>y1,buildForProduction:()=>Cj,buildAuthParams:()=>n6,buildApp:()=>$D,buildAlternateLinks:()=>G3,build:()=>Gk,broadcastPrivate:()=>YH,broadcastPresence:()=>XH,broadcast:()=>BQ,brightness:()=>lQ,blur:()=>dQ,batchSignUrls:()=>tZ,batch:()=>y8,autoFixA11yFile:()=>$K,autoFixA11yDirectory:()=>zF,autoFixA11y:()=>eG,auto:()=>eQ,assetTags:()=>sE,arrayOf:()=>rL,applyTranslations:()=>Q3,applyTransformations:()=>W6,applySlots:()=>kz,applyPropDefaults:()=>WD,applyPreset:()=>ZG,applyHead:()=>cW,applyFilters:()=>xY,apiCspPreset:()=>SW,animationGroupDirective:()=>L3,analyzeVideo:()=>B6,analyzeUsage:()=>WQ,analyzeTemplate:()=>Hj,analyzeProject:()=>FE,analyzeDirectiveUsage:()=>WQ,analyticsDirective:()=>SV,addStore:()=>wk,addPage:()=>Ak,addNonceToInlineContent:()=>KN,addLayout:()=>Rk,addComponent:()=>Nk,abortNavigation:()=>sI,a11yDirective:()=>z3,__setSignalsGeneratorsForTest:()=>SB,VideoProcessorCache:()=>w7,TransitionType:()=>ZK,TransitionEase:()=>XK,TransitionDirection:()=>YK,Tokenizer:()=>M4,TemplateTypeChecker:()=>wQ,TEMPLATE_PRESETS:()=>lD,StxValidationError:()=>w4,StxSyntaxError:()=>eY,StxSecurityError:()=>$X,StxRuntimeError:()=>S1,StxFileError:()=>c5,StxError:()=>T$,Show:()=>jL,SUSPENSE_RESOLVER_RUNTIME:()=>DX,SPRING_PRESETS:()=>FY,ProductionBuild:()=>nZ,Portal:()=>OL,PROJECT_TEMPLATES:()=>Ok,PRESETS:()=>oZ,MemorySessionStore:()=>VO,MIME_TYPES:()=>Z6,MEDIA_DEFAULT_WIDTHS:()=>c1,MEDIA_DEFAULT_FORMATS:()=>Q$,ImageProcessorCache:()=>V7,ImageProcessingError:()=>m7,HydrationRuntime:()=>bQ,HotReloadServer:()=>T9,HeatmapAggregator:()=>MY,Fragment:()=>C5,For:()=>HL,ErrorLogger:()=>m3,ErrorCodes:()=>e,DeployError:()=>a$,DEFAULT_WIDTHS:()=>R1,DEFAULT_TRANSITION_OPTIONS:()=>g1,DEFAULT_QUALITY:()=>T1,DEFAULT_PLACEHOLDER_OPTIONS:()=>$Z,DEFAULT_FORMATS:()=>M1,DEFAULT_DPR_VALUES:()=>$6,ComponentHMRHandler:()=>kQ,COMMON_SIZES:()=>A2,CLOAK_STYLE:()=>Iw,BroadcastServer:()=>GH,Broadcast:()=>QH,BLUR_UP_CSS:()=>q7});var $C;var t$=D(()=>{b9();p9();A0();XJ();Q5();IO();NJ();xG();FL();NL();V9();h1();IL();CL();xL();Kj();S$();hZ();NX();j3();sY();V3();U7();l7();aY();Pj();$Q();fj();sj();iZ();F5();UH();l0();jX();LX();b9();ZF();e4();NH();TH();CH();H1();oY();c0();vH();N3();IX();e5();dH();mH();N8();o8();HJ();I4();pZ();B4();O1();lH();KQ();sH();y6();ZO();l9();I8();XO();k8();YQ();VQ();C$();QO();O9();pJ();X2();GO();UO();lY();K5();_O();LO();NO();p9();lO();nO();f8();wJ();MJ();wL();A0();q2();gL();$C={}});import B3 from"path";var J4;var OY=D(()=>{t$();H1();c0();U5();O1();J4={name:"bun-plugin-stx",async setup($){let Y={...await f0(),...$.config?.stx},X=new Set,J=Y.webComponents?.enabled?`./${B3.relative(B3.dirname($.config?.outdir||"dist"),Y.webComponents.outputDir||"dist/web-components")}`:"/web-components",Q=[];if(Y.webComponents?.enabled)try{let G=await q9(Y,X);if(Q.push(...G),Y.debug&&G.length>0)console.log(`Successfully built ${G.length} web components`)}catch(G){console.error("Failed to build web components:",G)}$.onLoad({filter:/\.stx$/},async({path:G})=>{try{let K=new Set;if(Y.cache&&Y.cachePath){let H=await d8(G,Y);if(H){if(Y.debug)console.log(`Using cached version of ${G}`);return{contents:H,loader:"html"}}}let W=await d1(()=>Bun.file(G).text(),"",(H)=>{throw new c5(`Failed to read stx file: ${G}`,G,void 0,void 0,`File read error: ${H.message}`)});if(!W)throw new c5(`stx file is empty: ${G}`,G);let{scriptContent:U,templateContent:B,allScripts:_}=H4.time("script-extraction",()=>{let H=W,O=W.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>([\s\S]*?)<\/template>/i);if(O)H=O[1].trim();let F=W.match(/<script\b[^>]*>[\s\S]*?<\/script>/gi)||[],L="",V=[];for(let A of F){let w=A.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i)?.[1]||"",R=A.match(/<script\b([^>]*)>/i),T=R?R[1]:"";if(/\bserver\b/i.test(T))L=w;else V.push(A)}let N=H.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"");return{scriptContent:L,templateContent:N,allScripts:V}}),z={__filename:G,__dirname:B3.dirname(G),__stx:{webComponentsPath:J,builtComponents:Q}};await d1(()=>D0(U,z,G),void 0,(H)=>{let O=new S1(`Script execution failed in ${G}: ${H.message}`,G,void 0,void 0,U.substring(0,100));if(a0.log(O,{filePath:G,scriptContent:U}),Y.debug)throw O});let j=await H4.timeAsync("directive-processing",async()=>{return await X0(B,z,G,Y,K)});if(_.length>0){let{interpolateScriptsInTemplate:H}=await Promise.resolve().then(() => (c0(),q4)),O=H(_.join(`
16100
16100
  `),z),F=j.search(/<\/body>/i);if(F!==-1)j=j.slice(0,F)+O+`
16101
16101
  `+j.slice(F);else j+=`
16102
16102
  ${O}`}if(j=await X$(j),K.forEach((H)=>X.add(H)),Y.cache&&Y.cachePath){if(await u8(G,j,K,Y),Y.debug)console.log(`Cached template ${G} with ${K.size} dependencies`)}return{contents:j,loader:"html"}}catch(K){let W=K instanceof Error?K:new S1(`Plugin processing failed: ${String(K)}`,G);if(a0.log(W,{filePath:G,buildConfig:$.config}),l5.logDetailedError(W,{filePath:G,plugin:"bun-plugin-stx"}),Y.debug)console.error("stx Plugin Error:",W);let U=W,B=U.line||null,_=U.context||null;return{contents:Y.debug||M$()?`<!DOCTYPE html>
@@ -16164,7 +16164,7 @@ ${L.stack}</pre>`,{headers:{"Content-Type":"text/html"}})}});console.clear(),con
16164
16164
  ${M.blue}stx${M.reset} ${M.green}${process.env.stx_VERSION||"v0.0.10"}${M.reset} ${M.dim}ready in ${Math.random()*10+5|0}.${Math.random()*90+10|0} ms${M.reset}`),console.log(`
16165
16165
  ${M.bright}\u2192 ${M.cyan}http://localhost:${q}/${M.reset}`),console.log(`
16166
16166
  ${M.yellow}Routes:${M.reset}`);let F=Q1.relative(process.cwd(),K);if(console.log(` ${M.green}\u2514\u2500 /${M.reset} \u2192 ${M.bright}${F}${M.reset}`),console.log(`
16167
- Press ${M.cyan}h${M.reset} + ${M.cyan}Enter${M.reset} to show shortcuts`),r$(O.url.toString(),()=>{if(X)f1.watch(Q1.dirname(K),{recursive:!0}).close();O.stop()}),Z.native){let L=await Bun.file(K).text(),V=TZ(L);await y7(q,{title:Q1.basename(K,".stx"),titlebarHidden:Z.titlebarHidden===!0,nativeSidebar:!!V,sidebarConfig:V})}if(X){let L=Q1.dirname(K);console.log(`${M.blue}Watching ${M.bright}${L}${M.reset} for changes...`);let V=f1.watch(L,{recursive:!0},async(N,A)=>{if(!A||H6(A))return;if(j6(A)){console.log(`${M.yellow}File ${M.bright}${A}${M.yellow} changed, rebuilding...${M.reset}`),f$.clear(),m$();let w=await B();if(await F4(z),J&&Q)if(w)Q.reload(A);else Q.error("Build failed - check console for details")}else if(q6(A)){if(console.log(`${M.cyan}CSS ${M.bright}${A}${M.cyan} changed${M.reset}`),J&&Q)Q.updateCss(A)}});process.on("SIGINT",()=>{if(V.close(),Q)v7();O.stop(),process.exit(0)})}return!0}var YF=D(()=>{e5();OY();N0();z6();M9()});var{serve:YC}=globalThis.Bun;import J5 from"fs";import e0 from"path";function sG($){if($.length===0)return"";if($.length===1)return $[0];let Z=$.map((X)=>X.split(e0.sep)),Y=[];for(let X=0;X<Z[0].length;X++){let J=Z[0][X];if(Z.every((Q)=>Q[X]===J))Y.push(J);else break}return Y.join(e0.sep)}async function eL($,Z={}){let Y=Z.port||3000,X=Z.watch!==!1;for(let j of $){let H=e0.resolve(j);if(!J5.existsSync(H))return console.error(`${M.red}Error: File not found: ${M.bright}${H}${M.reset}`),!1;if(!H.endsWith(".stx")&&!H.endsWith(".md"))return console.error(`${M.red}Error: Unsupported file type: ${M.bright}${H}${M.reset}. Only .stx and .md files are supported.`),!1}let J=e0.join(process.cwd(),".stx/output");J5.mkdirSync(J,{recursive:!0});let Q=sG($.map((j)=>e0.dirname(e0.resolve(j))));console.log(`${M.blue}Processing ${M.bright}${$.length}${M.reset} files...`);let G={},K=[],W=async()=>{try{for(let j of $){let H=e0.resolve(j);if(H.endsWith(".md"))try{let{content:F,data:L}=await G$(H,{markdown:{syntaxHighlighting:{serverSide:!0,enabled:!0,defaultTheme:_1.markdown?.syntaxHighlighting?.defaultTheme||"github-dark",highlightUnknownLanguages:!0}}}),V=Z.markdown?.syntaxHighlighting||_1.markdown?.syntaxHighlighting,N=V?.defaultTheme||"github-dark",A=["github-dark"],w=V?.additionalThemes||[],T=[...new Set([...A,...w])].map((S)=>`<option value="${S}"${S===N?" selected":""}>${S}</option>`).join(`
16167
+ Press ${M.cyan}h${M.reset} + ${M.cyan}Enter${M.reset} to show shortcuts`),r$(O.url.toString(),()=>{if(X)f1.watch(Q1.dirname(K),{recursive:!0}).close();O.stop()}),Z.native){let L=await Bun.file(K).text(),V=TZ(L);await y7(q,{title:Q1.basename(K,".stx"),titlebarHidden:Z.titlebarHidden===!0,nativeSidebar:!!V,sidebarConfig:V})}if(X){let L=Q1.dirname(K);console.log(`${M.blue}Watching ${M.bright}${L}${M.reset} for changes...`);let V=f1.watch(L,{recursive:!0},async(N,A)=>{if(!A||H6(A))return;if(j6(A)){console.log(`${M.yellow}File ${M.bright}${A}${M.yellow} changed, rebuilding...${M.reset}`),f$.clear(),m$();let w=await B();if(await F4(z),J&&Q)if(w)Q.reload(A);else Q.error("Build failed - check console for details")}else if(q6(A)){if(console.log(`${M.cyan}CSS ${M.bright}${A}${M.cyan} changed${M.reset}`),J&&Q)Q.updateCss(A)}});process.on("SIGINT",()=>{if(V.close(),Q)v7();O.stop(),process.exit(0)})}return!0}var YF=D(()=>{e5();OY();A0();z6();M9()});var{serve:YC}=globalThis.Bun;import J5 from"fs";import e0 from"path";function sG($){if($.length===0)return"";if($.length===1)return $[0];let Z=$.map((X)=>X.split(e0.sep)),Y=[];for(let X=0;X<Z[0].length;X++){let J=Z[0][X];if(Z.every((Q)=>Q[X]===J))Y.push(J);else break}return Y.join(e0.sep)}async function eL($,Z={}){let Y=Z.port||3000,X=Z.watch!==!1;for(let j of $){let H=e0.resolve(j);if(!J5.existsSync(H))return console.error(`${M.red}Error: File not found: ${M.bright}${H}${M.reset}`),!1;if(!H.endsWith(".stx")&&!H.endsWith(".md"))return console.error(`${M.red}Error: Unsupported file type: ${M.bright}${H}${M.reset}. Only .stx and .md files are supported.`),!1}let J=e0.join(process.cwd(),".stx/output");J5.mkdirSync(J,{recursive:!0});let Q=sG($.map((j)=>e0.dirname(e0.resolve(j))));console.log(`${M.blue}Processing ${M.bright}${$.length}${M.reset} files...`);let G={},K=[],W=async()=>{try{for(let j of $){let H=e0.resolve(j);if(H.endsWith(".md"))try{let{content:F,data:L}=await G$(H,{markdown:{syntaxHighlighting:{serverSide:!0,enabled:!0,defaultTheme:_1.markdown?.syntaxHighlighting?.defaultTheme||"github-dark",highlightUnknownLanguages:!0}}}),V=Z.markdown?.syntaxHighlighting||_1.markdown?.syntaxHighlighting,N=V?.defaultTheme||"github-dark",A=["github-dark"],w=V?.additionalThemes||[],T=[...new Set([...A,...w])].map((S)=>`<option value="${S}"${S===N?" selected":""}>${S}</option>`).join(`
16168
16168
  `),I=`
16169
16169
  <!DOCTYPE html>
16170
16170
  <html lang="en">
@@ -16334,9 +16334,9 @@ ${j.stack}</pre>`,{headers:{"Content-Type":"text/html"}})}});console.clear(),con
16334
16334
  ${M.blue}stx${M.reset} ${M.green}${process.env.stx_VERSION||"v0.0.10"}${M.reset} ${M.dim}ready in ${Math.random()*10+5|0}.${Math.random()*90+10|0} ms${M.reset}`),console.log(`
16335
16335
  ${M.bright}\u2192 ${M.cyan}http://localhost:${B}/${M.reset}`),console.log(`
16336
16336
  ${M.yellow}Routes:${M.reset}`);let z=new Set(K.map((j)=>j.routeTemplate)),q=Object.entries(G).filter(([j])=>!z.has(j)).sort(([j],[H])=>j.localeCompare(H)).map(([j,H])=>({route:j==="/"?"/":j,filePath:e0.relative(process.cwd(),H.filePath),fileType:H.fileType}));for(let j of K){let H=j.routeTemplate.replace(/\[([^\]]+)\]/g,":$1");q.push({route:H,filePath:e0.relative(process.cwd(),j.filePath),fileType:"stx"})}if(q.sort((j,H)=>j.route.localeCompare(H.route)),q.forEach((j,H)=>{let F=H===q.length-1?"\u2514\u2500 ":"\u251C\u2500 ",L=j.fileType==="md"?`${M.magenta}(markdown)${M.reset}`:"";console.log(` ${M.green}${F}${j.route}${M.reset} \u2192 ${M.bright}${j.filePath}${M.reset} ${L}`)}),console.log(`
16337
- Press ${M.cyan}h${M.reset} + ${M.cyan}Enter${M.reset} to show shortcuts`),r$(_.url.toString(),()=>{if(X)J5.watch(Q,{recursive:!0}).close();_.stop()}),X){console.log(`${M.blue}Watching for changes...${M.reset}`);let j=J5.watch(Q,{recursive:!0},async(H,O)=>{if(!O)return;if(O.endsWith(".stx")||O.endsWith(".js")||O.endsWith(".ts")||O.endsWith(".md"))console.log(`${M.yellow}File ${M.bright}${O}${M.yellow} changed, rebuilding...${M.reset}`),f$.clear(),m$(),await W()});process.on("SIGINT",()=>{j.close(),_.stop(),process.exit(0)})}return!0}var XF=D(()=>{U7();l0();e5();OY();N0();z6()});var{serve:XC}=globalThis.Bun;import q1 from"fs";import q0 from"path";function rG($){let Z=Bun.file($),Y=q0.extname($).toLowerCase(),X={".html":"text/html",".css":"text/css",".js":"text/javascript",".json":"application/json",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".svg":"image/svg+xml",".ico":"image/x-icon",".woff":"font/woff",".woff2":"font/woff2",".ttf":"font/ttf",".otf":"font/otf",".eot":"application/vnd.ms-fontobject"},Q=[".js",".css",".json"].includes(Y)?{"Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}:{};return new Response(Z,{headers:{"Content-Type":X[Y]||"application/octet-stream",...Q}})}async function $F($=".",Z={}){let Y=Z.port||3000,X=Z.watch!==!1,J=Z.hotReload!==!1&&X,Q=null,G=Z.hmrPort||Y+1,K=q0.resolve($),{loadStxConfig:W}=await Promise.resolve().then(() => (t$(),I5)),U=await W(K),B=U.root&&U.root!=="."?q0.join(K,U.root):K,_=U.pagesDir||"pages",z=q0.join(B,_);if(!q1.existsSync(z))return console.error(`${M.red}Error: No '${_}' directory found in ${M.bright}${B}${M.reset}`),console.log(`${M.dim}Create a ${_}/ directory with .stx files to define your routes.${M.reset}`),console.log(`${M.dim}Example: ${_}/index.stx for the homepage.${M.reset}`),!1;let q=B$(B);if(q.length===0)return console.error(`${M.red}Error: No page files found in ${M.bright}${z}${M.reset}`),!1;console.log(`${M.blue}Found ${M.bright}${q.length}${M.blue} routes${M.reset}`);let j=U?._pluginPageDirs||[],H=[];for(let{dir:C,prefix:h}of j)if(q1.existsSync(C)){let p=B$(q0.dirname(C),{pagesDir:q0.basename(C)});for(let i of p){let s=h==="/"?i.pattern:`${h}${i.pattern==="/"?"":i.pattern}`;H.push({route:{...i,pattern:s},prefix:h})}if(p.length>0)console.log(`${M.blue}Plugin pages: ${M.bright}${p.length}${M.blue} routes at ${M.cyan}${h}${M.reset}`)}let O=new Map,F=null,L=null;if(Z.stxOptions?.shell!==!1){if(L=await n9(K,Z.stxOptions?.shell),L){if(F=await uZ(L,Z.stxOptions||{}),F)console.log(`${M.blue}Using app shell: ${M.bright}${q0.relative(K,L)}${M.reset} ${M.dim}(deprecated: use layouts/default.stx instead)${M.reset}`)}}R6(),await E6(K);let V=I6();if(V.length>0)console.log(`${M.blue}Loaded ${M.bright}${V.length}${M.blue} middleware: ${M.dim}${V.join(", ")}${M.reset}`);let N={},A=null;try{let{loadStxConfig:C}=await Promise.resolve().then(() => (t$(),I5)),h=await C(K);if(h?.apiRouter)A=h?.apiRouter,console.log(`${M.blue}Using custom router for API handling${M.reset}`);if(h?.apiRoutes){N=h.apiRoutes;let p=Object.keys(N).length;if(p>0)console.log(`${M.blue}Loaded ${M.bright}${p} API route${p>1?"s":""}${M.reset}`)}if(h?.broadcasting?.enabled)try{let{startBroadcasting:p,loadChannels:i}=await Promise.resolve().then(() => (iZ(),_Q)),s=h.broadcasting;await p(s);let K0=s.port??6001;console.log(`${M.magenta}Broadcasting on ${M.cyan}ws://localhost:${K0}/ws${M.reset}`);let $0=q0.join(process.cwd(),"channels.ts");if(q1.existsSync($0))try{let F0=await i($0);console.log(`${M.blue}Loaded ${M.bright}${F0} broadcast channel${F0!==1?"s":""}${M.blue} from channels.ts${M.reset}`)}catch(F0){console.warn(`${M.yellow}Failed to load channels.ts: ${F0.message}${M.reset}`)}}catch(p){console.warn(`${M.yellow}Broadcasting failed to start: ${p.message}${M.reset}`)}}catch{}let w=q0.join(K,".stx/output");q1.mkdirSync(w,{recursive:!0});let R=new Map,T=new Set,I=async(C)=>{let h=r9(z,C);if(!h)return null;try{let p=await Bun.build({entrypoints:[h],outdir:w,plugins:[J4],publicPath:"/",define:{"process.env.NODE_ENV":'"development"'},...Z.stxOptions});if(!p.success)return null;let i=p.outputs.find((s)=>s.path.endsWith(".html"));if(!i)return null;return await Bun.file(i.path).text()}catch{return null}},E=async(C,h)=>{try{let{processDirectives:p,extractVariables:i,defaultConfig:s,loadStxConfig:K0,injectRouterScript:$0}=await Promise.resolve().then(() => (t$(),I5)),{checkCache:F0,cacheTemplate:R0,readFileCached:P,templateCache:d}=await Promise.resolve().then(() => (F5(),X7)),m=await K0(K),g=(V0)=>{if(!V0)return V0;if(q0.isAbsolute(V0))return V0;return q0.resolve(K,V0)},c={...s,...m,...Z.stxOptions,autoShell:!0};if(Z.debugDirectives)c.debug=!0;c.partialsDir=g(c.partialsDir),c.componentsDir=g(c.componentsDir),c.layoutsDir=g(c.layoutsDir),c.storesDir=g(c.storesDir||"stores"),c.cachePath=g(c.cachePath||".stx/cache");let a=!h&&!Z.profile,l=c.cache!==!1;if(l&&a){let V0=d.get(C.filePath);if(V0)try{if((await q1.promises.stat(C.filePath)).mtime.getTime()<=V0.mtime){let L$=!0;for(let Z1 of V0.dependencies){if(!q1.existsSync(Z1)){L$=!1;break}if((await q1.promises.stat(Z1)).mtime.getTime()>V0.mtime){L$=!1;break}}if(L$){let Z1=V0.output;if(F)Z1=U$(Z1,{preserveHead:!0});return{route:C,content:Z1}}}}catch{}let $1=await F0(C.filePath,c);if($1){let D1=$1;if(F)D1=U$(D1,{preserveHead:!0});return{route:C,content:D1}}}let Q0=l?await P(C.filePath):await Bun.file(C.filePath).text(),{classifyAllScripts:M0}=await Promise.resolve().then(() => (t$(),I5)),w0=M0(Q0),W0=w0.server.map((V0)=>V0.content),r0=Q0;for(let V0 of w0.server)r0=r0.replace(V0.fullTag,"");let p0={__filename:C.filePath,__dirname:q0.dirname(C.filePath),params:h??{}},{resetHead:P5}=await Promise.resolve().then(() => (S$(),a3));P5();for(let V0 of W0)try{await i(V0,p0,C.filePath)}catch($1){if(Z.stxOptions?.debug)console.error("[stx] variable extraction error",C.filePath,$1?.message||$1)}let G0=new Set,k0;if(Z.profile){let V0=performance.now();k0=await p(r0,p0,C.filePath,c,G0);let $1=performance.now()-V0,D1=q0.relative(K,C.filePath)||C.filePath;console.log(`[stx:profile] ${D1} \u2192 ${$1.toFixed(2)}ms`)}else k0=await p(r0,p0,C.filePath,c,G0);if(!F)k0=await $0(k0);{let{interpolateScriptExpressions:V0}=await Promise.resolve().then(() => (c0(),q4));k0=k0.replace(/<script\b([^>]*)>([\s\S]*?)<\/script>/g,($1,D1,L$)=>{if(!/function\s+__stx_setup_/.test(L$))return $1;return`<script${D1}>${V0(L$,p0)}</script>`})}if(F)k0=U$(k0,{preserveHead:!0});if(l&&a)await R0(C.filePath,k0,G0,c);let{extractStreamBoundaries:Q4}=await Promise.resolve().then(() => (C$(),q5)),E1=Q4(p0),O$=p0.__streamTemplates;if(O$&&typeof O$==="object"&&Object.keys(O$).length>0){let V0=p0.streamBoundaries||{},$1={...c,autoShell:!1},D1=Object.keys(O$).map((Z1)=>({id:Z1,render:async()=>{let oG=typeof V0[Z1]==="function"?await V0[Z1]():void 0;return p(O$[Z1],{...p0,$boundary:oG},C.filePath,$1,new Set)}})),L$=new Set(D1.map((Z1)=>Z1.id));E1=[...(E1||[]).filter((Z1)=>!L$.has(Z1.id)),...D1]}if(E1&&E1.length>0)T.add(C.pattern);else E1=void 0;return{route:C,content:k0,boundaries:E1}}catch(p){return console.error(`${M.red}Error building ${M.bright}${C.pattern}${M.reset}:`,p),null}},k=8,S=async()=>{R.clear(),O.clear();for(let C=0;C<q.length;C+=k){let h=q.slice(C,C+k),p=await Promise.all(h.map((i)=>E(i)));for(let i of p)if(i)R.set(i.route.pattern,i)}for(let C=0;C<H.length;C+=k){let h=H.slice(C,C+k),p=await Promise.all(h.map(({route:i})=>E(i)));for(let i of p)if(i)O.set(i.route.pattern,i)}return R.size>0};if(console.log(`${M.blue}Building pages...${M.reset}`),!await S())return console.error(`${M.red}No pages were successfully built${M.reset}`),!1;await u5(K);let y=Y;try{if(y=await s$(Y),y!==Y)console.log(`${M.yellow}Port ${Y} is busy, using port ${y} instead${M.reset}`)}catch{return console.error(`${M.red}Could not find an available port${M.reset}`),!1}if(J){let C=Z.hmrPort||y+1;Q=O6({wsPort:C,verbose:!1}),G=Q.start(C)}let b=(C,h)=>{let p=`<script>(function(){var s=typeof stx!=='undefined'?stx:{};s._rp=${JSON.stringify(h)};if(s.setRouteParams)s.setRouteParams(s._rp);})()</script>`;if(C.includes("</head>"))return C.replace("</head>",`${p}</head>`);if(C.includes("<body"))return C.replace(/<body([^>]*)>/,`<body$1>${p}`);return p+C};console.log(`${M.blue}Starting server...${M.reset}`);let f=XC({port:y,async fetch(C){let h=new URL(C.url),p=U?.publicDir||"public",i=q0.join(K,p,h.pathname),s=q0.join(K,h.pathname),K0=q0.join(w,h.pathname),[$0,F0,R0]=await Promise.all([q1.promises.stat(i).catch(()=>null),q1.promises.stat(s).catch(()=>null),q1.promises.stat(K0).catch(()=>null)]);if($0?.isFile())return rG(i);if(F0?.isFile())return rG(s);if(R0?.isFile())return rG(K0);if(h.pathname.startsWith("/_stx/component/")){let g=decodeURIComponent(h.pathname.slice(16));if(g)try{let c=`<${g} />`,a={...buildConfig,autoShell:!1},l=await processDirectives(c,{},q0.join(K,"components",`${g}.stx`),a,new Set);return new Response(l,{headers:{"Content-Type":"text/html"}})}catch(c){return new Response(`<div class="stx-async-error">${c.message}</div>`,{status:500,headers:{"Content-Type":"text/html"}})}}if(h.pathname==="/_stx/img"){let{handleImageRequest:g}=await Promise.resolve().then(() => (v9(),lq)),c=await g(C,{publicDir:q0.join(K,p),cacheDir:q0.join(K,".stx/cache/img")});if(c)return c}if(A)try{let g=await A.handleRequest(C);if(g.status!==404)return g}catch{}if(N[h.pathname])try{return await N[h.pathname](C)}catch(g){return new Response(JSON.stringify({error:g.message}),{status:500,headers:{"Content-Type":"application/json"}})}let P=mZ(h.pathname,q);if(P){let g=R.get(P.route.pattern),c=T.has(P.route.pattern);if(P.route.isDynamic&&Object.keys(P.params).length>0||c){let a=await E(P.route,P.params);if(a)g=a}if(g){let a=o3();if(a.validate){if(!await a.validate({params:P.params})){let M0=await I(404);if(M0){let w0=M0;if(w0=await T0(w0,K),J)w0=l1(w0,G);return new Response(w0,{status:404,headers:{"Content-Type":"text/html"}})}return new Response("Not Found",{status:404})}}if(a.middleware){let Q0=T6(h.pathname,P.params,a,h.search),M0=M6(Q0,null,C),w0=await D6(a.middleware,M0);if(w0.redirect){let W0=w0.redirect.path,r0=w0.redirect.options.redirectCode||302,p0=new Headers(w0.responseHeaders);return p0.set("Location",W0),new Response(null,{status:r0,headers:p0})}if(w0.abort){let{statusCode:W0,message:r0}=w0.abort.error;return new Response(`<!DOCTYPE html><html><head><title>Error ${W0}</title></head><body><h1>Error ${W0}</h1><p>${r0}</p></body></html>`,{status:W0,headers:{"Content-Type":"text/html"}})}if(Object.keys(w0.state).length>0){let W0=`<script>(function(){var s=typeof stx!=='undefined'?stx:{};s._ms=${JSON.stringify(w0.state)};if(s.setMiddlewareState)s.setMiddlewareState(s._ms);})()</script>`;g.content=g.content.replace("</head>",`${W0}</head>`)}}let l=g.content;if(F&&s9(C)){let Q0=C6(l);if(Object.keys(P.params).length>0)l=b(l,P.params);l=await T0(l,K);let M0=U?.router?.container||"main";return l=b6(l,M0),new Response(l,{headers:{"Content-Type":"text/html","X-STX-Fragment":"true","X-STX-Layout":Q0.layout,"X-STX-Layout-Group":Q0.group,"Cache-Control":"no-store, no-cache, must-revalidate"}})}if(F)l=S6(F,l);if(Object.keys(P.params).length>0)l=b(l,P.params);if(l=await T0(l,K),J)l=l1(l,G);if(Z.native)if(l.includes("<head>"))l=l.replace("<head>","<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script>");else l="<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script></head>"+l;if(Z.titlebarHidden)if(l.includes("<head>"))l=l.replace("<head>","<head><style>html.stx-titlebar-hidden .stx-traffic-lights-dot{visibility:hidden}</style><script>document.documentElement.classList.add('stx-titlebar-hidden')</script>");else l=`<head><style>html.stx-titlebar-hidden .stx-traffic-lights-dot{visibility:hidden}</style><script>document.documentElement.classList.add('stx-titlebar-hidden')</script></head>${l}`;if(g.boundaries&&g.boundaries.length>0){let{renderStreamingPage:Q0,streamToResponse:M0}=await Promise.resolve().then(() => (C$(),q5));return M0(Q0(l,g.boundaries,{timeoutMs:30000}),{headers:{"Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}return new Response(l,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}}if(H.length>0){let g=H.map((a)=>a.route),c=mZ(h.pathname,g);if(c){let a=O.get(c.route.pattern);if(a){let l=a.content;if(F)l=S6(F,l);if(Object.keys(c.params).length>0)l=b(l,c.params);if(l=await T0(l,K),J)l=l1(l,G);return new Response(l,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}}for(let{prefix:a}of j)if(a!=="/"&&h.pathname.startsWith(a)){let l=O.get(a)||O.get(a+"/");if(l){let Q0=l.content;if(F)Q0=S6(F,Q0);if(Q0=await T0(Q0,K),J)Q0=l1(Q0,G);return new Response(Q0,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}}}let d=R.get("/");if(d){let g=d.content;if(g=await T0(g,K),J)g=l1(g,G);if(Z.native)if(g.includes("<head>"))g=g.replace("<head>","<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script>");else g="<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script></head>"+g;return new Response(g,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}let m=await I(404);if(m){let g=m;if(g=await T0(g,K),J)g=l1(g,G);return new Response(g,{status:404,headers:{"Content-Type":"text/html"}})}return new Response("Not Found",{status:404})},async error(C){let h=await I(500);if(h)return new Response(h,{status:500,headers:{"Content-Type":"text/html"}});return new Response(`<pre>${C}
16337
+ Press ${M.cyan}h${M.reset} + ${M.cyan}Enter${M.reset} to show shortcuts`),r$(_.url.toString(),()=>{if(X)J5.watch(Q,{recursive:!0}).close();_.stop()}),X){console.log(`${M.blue}Watching for changes...${M.reset}`);let j=J5.watch(Q,{recursive:!0},async(H,O)=>{if(!O)return;if(O.endsWith(".stx")||O.endsWith(".js")||O.endsWith(".ts")||O.endsWith(".md"))console.log(`${M.yellow}File ${M.bright}${O}${M.yellow} changed, rebuilding...${M.reset}`),f$.clear(),m$(),await W()});process.on("SIGINT",()=>{j.close(),_.stop(),process.exit(0)})}return!0}var XF=D(()=>{U7();l0();e5();OY();A0();z6()});var{serve:XC}=globalThis.Bun;import q1 from"fs";import q0 from"path";function rG($){let Z=Bun.file($),Y=q0.extname($).toLowerCase(),X={".html":"text/html",".css":"text/css",".js":"text/javascript",".json":"application/json",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".svg":"image/svg+xml",".ico":"image/x-icon",".woff":"font/woff",".woff2":"font/woff2",".ttf":"font/ttf",".otf":"font/otf",".eot":"application/vnd.ms-fontobject"},Q=[".js",".css",".json"].includes(Y)?{"Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}:{};return new Response(Z,{headers:{"Content-Type":X[Y]||"application/octet-stream",...Q}})}async function $F($=".",Z={}){let Y=Z.port||3000,X=Z.watch!==!1,J=Z.hotReload!==!1&&X,Q=null,G=Z.hmrPort||Y+1,K=q0.resolve($),{loadStxConfig:W}=await Promise.resolve().then(() => (t$(),I5)),U=await W(K),B=U.root&&U.root!=="."?q0.join(K,U.root):K,_=U.pagesDir||"pages",z=q0.join(B,_);if(!q1.existsSync(z))return console.error(`${M.red}Error: No '${_}' directory found in ${M.bright}${B}${M.reset}`),console.log(`${M.dim}Create a ${_}/ directory with .stx files to define your routes.${M.reset}`),console.log(`${M.dim}Example: ${_}/index.stx for the homepage.${M.reset}`),!1;let q=B$(B);if(q.length===0)return console.error(`${M.red}Error: No page files found in ${M.bright}${z}${M.reset}`),!1;console.log(`${M.blue}Found ${M.bright}${q.length}${M.blue} routes${M.reset}`);let j=U?._pluginPageDirs||[],H=[];for(let{dir:C,prefix:h}of j)if(q1.existsSync(C)){let p=B$(q0.dirname(C),{pagesDir:q0.basename(C)});for(let i of p){let s=h==="/"?i.pattern:`${h}${i.pattern==="/"?"":i.pattern}`;H.push({route:{...i,pattern:s},prefix:h})}if(p.length>0)console.log(`${M.blue}Plugin pages: ${M.bright}${p.length}${M.blue} routes at ${M.cyan}${h}${M.reset}`)}let O=new Map,F=null,L=null;if(Z.stxOptions?.shell!==!1){if(L=await n9(K,Z.stxOptions?.shell),L){if(F=await uZ(L,Z.stxOptions||{}),F)console.log(`${M.blue}Using app shell: ${M.bright}${q0.relative(K,L)}${M.reset} ${M.dim}(deprecated: use layouts/default.stx instead)${M.reset}`)}}R6(),await E6(K);let V=I6();if(V.length>0)console.log(`${M.blue}Loaded ${M.bright}${V.length}${M.blue} middleware: ${M.dim}${V.join(", ")}${M.reset}`);let N={},A=null;try{let{loadStxConfig:C}=await Promise.resolve().then(() => (t$(),I5)),h=await C(K);if(h?.apiRouter)A=h?.apiRouter,console.log(`${M.blue}Using custom router for API handling${M.reset}`);if(h?.apiRoutes){N=h.apiRoutes;let p=Object.keys(N).length;if(p>0)console.log(`${M.blue}Loaded ${M.bright}${p} API route${p>1?"s":""}${M.reset}`)}if(h?.broadcasting?.enabled)try{let{startBroadcasting:p,loadChannels:i}=await Promise.resolve().then(() => (iZ(),_Q)),s=h.broadcasting;await p(s);let W0=s.port??6001;console.log(`${M.magenta}Broadcasting on ${M.cyan}ws://localhost:${W0}/ws${M.reset}`);let $0=q0.join(process.cwd(),"channels.ts");if(q1.existsSync($0))try{let V0=await i($0);console.log(`${M.blue}Loaded ${M.bright}${V0} broadcast channel${V0!==1?"s":""}${M.blue} from channels.ts${M.reset}`)}catch(V0){console.warn(`${M.yellow}Failed to load channels.ts: ${V0.message}${M.reset}`)}}catch(p){console.warn(`${M.yellow}Broadcasting failed to start: ${p.message}${M.reset}`)}}catch{}let w=q0.join(K,".stx/output");q1.mkdirSync(w,{recursive:!0});let R=new Map,T=new Set,I=async(C)=>{let h=r9(z,C);if(!h)return null;try{let p=await Bun.build({entrypoints:[h],outdir:w,plugins:[J4],publicPath:"/",define:{"process.env.NODE_ENV":'"development"'},...Z.stxOptions});if(!p.success)return null;let i=p.outputs.find((s)=>s.path.endsWith(".html"));if(!i)return null;return await Bun.file(i.path).text()}catch{return null}},E=async(C,h)=>{try{let{processDirectives:p,extractVariables:i,defaultConfig:s,loadStxConfig:W0,injectRouterScript:$0}=await Promise.resolve().then(() => (t$(),I5)),{checkCache:V0,cacheTemplate:M0,readFileCached:P,templateCache:d}=await Promise.resolve().then(() => (F5(),X7)),m=await W0(K),g=(N0)=>{if(!N0)return N0;if(q0.isAbsolute(N0))return N0;return q0.resolve(K,N0)},c={...s,...m,...Z.stxOptions,autoShell:!0};if(Z.debugDirectives)c.debug=!0;c.partialsDir=g(c.partialsDir),c.componentsDir=g(c.componentsDir),c.layoutsDir=g(c.layoutsDir),c.storesDir=g(c.storesDir||"stores"),c.cachePath=g(c.cachePath||".stx/cache");let a=!h&&!Z.profile,l=c.cache!==!1;if(l&&a){let N0=d.get(C.filePath);if(N0)try{if((await q1.promises.stat(C.filePath)).mtime.getTime()<=N0.mtime){let L$=!0;for(let Z1 of N0.dependencies){if(!q1.existsSync(Z1)){L$=!1;break}if((await q1.promises.stat(Z1)).mtime.getTime()>N0.mtime){L$=!1;break}}if(L$){let Z1=N0.output;if(F)Z1=U$(Z1,{preserveHead:!0});return{route:C,content:Z1}}}}catch{}let $1=await V0(C.filePath,c);if($1){let D1=$1;if(F)D1=U$(D1,{preserveHead:!0});return{route:C,content:D1}}}let Q0=l?await P(C.filePath):await Bun.file(C.filePath).text(),{classifyAllScripts:R0}=await Promise.resolve().then(() => (t$(),I5)),j0=R0(Q0),K0=j0.server.map((N0)=>N0.content),r0=Q0;for(let N0 of j0.server)r0=r0.replace(N0.fullTag,"");let p0={__filename:C.filePath,__dirname:q0.dirname(C.filePath),params:h??{}},{resetHead:P5}=await Promise.resolve().then(() => (S$(),a3));P5();for(let N0 of K0)try{await i(N0,p0,C.filePath)}catch($1){if(Z.stxOptions?.debug)console.error("[stx] variable extraction error",C.filePath,$1?.message||$1)}let G0=new Set,k0;if(Z.profile){let N0=performance.now();k0=await p(r0,p0,C.filePath,c,G0);let $1=performance.now()-N0,D1=q0.relative(K,C.filePath)||C.filePath;console.log(`[stx:profile] ${D1} \u2192 ${$1.toFixed(2)}ms`)}else k0=await p(r0,p0,C.filePath,c,G0);if(!F)k0=await $0(k0);{let{interpolateScriptExpressions:N0}=await Promise.resolve().then(() => (c0(),q4));k0=k0.replace(/<script\b([^>]*)>([\s\S]*?)<\/script>/g,($1,D1,L$)=>{if(!/function\s+__stx_setup_/.test(L$))return $1;return`<script${D1}>${N0(L$,p0)}</script>`})}if(F)k0=U$(k0,{preserveHead:!0});if(l&&a)await M0(C.filePath,k0,G0,c);let{extractStreamBoundaries:Q4}=await Promise.resolve().then(() => (C$(),q5)),E1=Q4(p0),O$=p0.__streamTemplates;if(O$&&typeof O$==="object"&&Object.keys(O$).length>0){let N0=p0.streamBoundaries||{},$1={...c,autoShell:!1},D1=Object.keys(O$).map((Z1)=>({id:Z1,render:async()=>{let oG=typeof N0[Z1]==="function"?await N0[Z1]():void 0;return p(O$[Z1],{...p0,$boundary:oG},C.filePath,$1,new Set)}})),L$=new Set(D1.map((Z1)=>Z1.id));E1=[...(E1||[]).filter((Z1)=>!L$.has(Z1.id)),...D1]}if(E1&&E1.length>0)T.add(C.pattern);else E1=void 0;return{route:C,content:k0,boundaries:E1}}catch(p){return console.error(`${M.red}Error building ${M.bright}${C.pattern}${M.reset}:`,p),null}},k=8,S=async()=>{R.clear(),O.clear();for(let C=0;C<q.length;C+=k){let h=q.slice(C,C+k),p=await Promise.all(h.map((i)=>E(i)));for(let i of p)if(i)R.set(i.route.pattern,i)}for(let C=0;C<H.length;C+=k){let h=H.slice(C,C+k),p=await Promise.all(h.map(({route:i})=>E(i)));for(let i of p)if(i)O.set(i.route.pattern,i)}return R.size>0};if(console.log(`${M.blue}Building pages...${M.reset}`),!await S())return console.error(`${M.red}No pages were successfully built${M.reset}`),!1;await u5(K);let y=Y;try{if(y=await s$(Y),y!==Y)console.log(`${M.yellow}Port ${Y} is busy, using port ${y} instead${M.reset}`)}catch{return console.error(`${M.red}Could not find an available port${M.reset}`),!1}if(J){let C=Z.hmrPort||y+1;Q=O6({wsPort:C,verbose:!1}),G=Q.start(C)}let b=(C,h)=>{let p=`<script>(function(){var s=typeof stx!=='undefined'?stx:{};s._rp=${JSON.stringify(h)};if(s.setRouteParams)s.setRouteParams(s._rp);})()</script>`;if(C.includes("</head>"))return C.replace("</head>",`${p}</head>`);if(C.includes("<body"))return C.replace(/<body([^>]*)>/,`<body$1>${p}`);return p+C};console.log(`${M.blue}Starting server...${M.reset}`);let f=XC({port:y,async fetch(C){let h=new URL(C.url),p=U?.publicDir||"public",i=q0.join(K,p,h.pathname),s=q0.join(K,h.pathname),W0=q0.join(w,h.pathname),[$0,V0,M0]=await Promise.all([q1.promises.stat(i).catch(()=>null),q1.promises.stat(s).catch(()=>null),q1.promises.stat(W0).catch(()=>null)]);if($0?.isFile())return rG(i);if(V0?.isFile())return rG(s);if(M0?.isFile())return rG(W0);if(h.pathname.startsWith("/_stx/component/")){let g=decodeURIComponent(h.pathname.slice(16));if(g)try{let c=`<${g} />`,a={...buildConfig,autoShell:!1},l=await processDirectives(c,{},q0.join(K,"components",`${g}.stx`),a,new Set);return new Response(l,{headers:{"Content-Type":"text/html"}})}catch(c){return new Response(`<div class="stx-async-error">${c.message}</div>`,{status:500,headers:{"Content-Type":"text/html"}})}}if(h.pathname==="/_stx/img"){let{handleImageRequest:g}=await Promise.resolve().then(() => (v9(),lq)),c=await g(C,{publicDir:q0.join(K,p),cacheDir:q0.join(K,".stx/cache/img")});if(c)return c}if(A)try{let g=await A.handleRequest(C);if(g.status!==404)return g}catch{}if(N[h.pathname])try{return await N[h.pathname](C)}catch(g){return new Response(JSON.stringify({error:g.message}),{status:500,headers:{"Content-Type":"application/json"}})}let P=mZ(h.pathname,q);if(P){let g=R.get(P.route.pattern),c=T.has(P.route.pattern);if(P.route.isDynamic&&Object.keys(P.params).length>0||c){let a=await E(P.route,P.params);if(a)g=a}if(g){let a=o3();if(a.validate){if(!await a.validate({params:P.params})){let R0=await I(404);if(R0){let j0=R0;if(j0=await T0(j0,K),J)j0=l1(j0,G);return new Response(j0,{status:404,headers:{"Content-Type":"text/html"}})}return new Response("Not Found",{status:404})}}if(a.middleware){let Q0=T6(h.pathname,P.params,a,h.search),R0=M6(Q0,null,C),j0=await D6(a.middleware,R0);if(j0.redirect){let K0=j0.redirect.path,r0=j0.redirect.options.redirectCode||302,p0=new Headers(j0.responseHeaders);return p0.set("Location",K0),new Response(null,{status:r0,headers:p0})}if(j0.abort){let{statusCode:K0,message:r0}=j0.abort.error;return new Response(`<!DOCTYPE html><html><head><title>Error ${K0}</title></head><body><h1>Error ${K0}</h1><p>${r0}</p></body></html>`,{status:K0,headers:{"Content-Type":"text/html"}})}if(Object.keys(j0.state).length>0){let K0=`<script>(function(){var s=typeof stx!=='undefined'?stx:{};s._ms=${JSON.stringify(j0.state)};if(s.setMiddlewareState)s.setMiddlewareState(s._ms);})()</script>`;g.content=g.content.replace("</head>",`${K0}</head>`)}}let l=g.content;if(F&&s9(C)){let Q0=C6(l),R0=l.match(/<title[^>]*>([\s\S]*?)<\/title>/i),j0=R0?R0[1].trim():"";if(Object.keys(P.params).length>0)l=b(l,P.params);l=await T0(l,K);let K0=U?.router?.container||"main";return l=b6(l,K0),new Response(l,{headers:{"Content-Type":"text/html","X-STX-Fragment":"true","X-STX-Layout":Q0.layout,"X-STX-Layout-Group":Q0.group,...j0&&{"X-STX-Title":encodeURIComponent(j0)},"Cache-Control":"no-store, no-cache, must-revalidate"}})}if(F)l=S6(F,l);if(Object.keys(P.params).length>0)l=b(l,P.params);if(l=await T0(l,K),J)l=l1(l,G);if(Z.native)if(l.includes("<head>"))l=l.replace("<head>","<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script>");else l="<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script></head>"+l;if(Z.titlebarHidden)if(l.includes("<head>"))l=l.replace("<head>","<head><style>html.stx-titlebar-hidden .stx-traffic-lights-dot{visibility:hidden}</style><script>document.documentElement.classList.add('stx-titlebar-hidden')</script>");else l=`<head><style>html.stx-titlebar-hidden .stx-traffic-lights-dot{visibility:hidden}</style><script>document.documentElement.classList.add('stx-titlebar-hidden')</script></head>${l}`;if(g.boundaries&&g.boundaries.length>0){let{renderStreamingPage:Q0,streamToResponse:R0}=await Promise.resolve().then(() => (C$(),q5));return R0(Q0(l,g.boundaries,{timeoutMs:30000}),{headers:{"Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}return new Response(l,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}}if(H.length>0){let g=H.map((a)=>a.route),c=mZ(h.pathname,g);if(c){let a=O.get(c.route.pattern);if(a){let l=a.content;if(F)l=S6(F,l);if(Object.keys(c.params).length>0)l=b(l,c.params);if(l=await T0(l,K),J)l=l1(l,G);return new Response(l,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}}for(let{prefix:a}of j)if(a!=="/"&&h.pathname.startsWith(a)){let l=O.get(a)||O.get(a+"/");if(l){let Q0=l.content;if(F)Q0=S6(F,Q0);if(Q0=await T0(Q0,K),J)Q0=l1(Q0,G);return new Response(Q0,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}}}let d=R.get("/");if(d){let g=d.content;if(g=await T0(g,K),J)g=l1(g,G);if(Z.native)if(g.includes("<head>"))g=g.replace("<head>","<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script>");else g="<head><style>[data-stx-sidebar],.stx-sidebar{display:none!important}</style><script>window.__craftNativeSidebar=true;document.documentElement.classList.add('has-native-sidebar')</script></head>"+g;return new Response(g,{headers:{"Content-Type":"text/html","Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache",Expires:"0"}})}let m=await I(404);if(m){let g=m;if(g=await T0(g,K),J)g=l1(g,G);return new Response(g,{status:404,headers:{"Content-Type":"text/html"}})}return new Response("Not Found",{status:404})},async error(C){let h=await I(500);if(h)return new Response(h,{status:500,headers:{"Content-Type":"text/html"}});return new Response(`<pre>${C}
16338
16338
  ${C.stack}</pre>`,{headers:{"Content-Type":"text/html"}})}});if(console.clear(),console.log(`
16339
16339
  ${M.blue}stx${M.reset} ${M.green}${process.env.stx_VERSION||"v0.0.10"}${M.reset} ${M.dim}ready in ${Math.random()*10+5|0}.${Math.random()*90+10|0} ms${M.reset}`),console.log(`
16340
16340
  ${M.bright}\u2192 ${M.cyan}http://localhost:${y}/${M.reset}`),J)console.log(`${M.dim} HMR: ws://localhost:${G}${M.reset}`);console.log(`
16341
16341
  ${M.yellow}Routes:${M.reset}`);let u=[...o9(q,K)];for(let{route:C}of H)u.push(`${C.pattern}`);if(u.forEach((C,h)=>{let i=h===u.length-1?"\u2514\u2500 ":"\u251C\u2500 ";console.log(` ${M.green}${i}${M.reset}${C}`)}),console.log(`
16342
- Press ${M.cyan}h${M.reset} + ${M.cyan}Enter${M.reset} to show shortcuts`),r$(f.url.toString(),()=>{if(Q)v7();f.stop()}),Z.native){let C,h=q0.join(z,"index.stx");if(q1.existsSync(h)){let i=await Bun.file(h).text();C=TZ(i)}let p=U?.app?.window??{};await y7(y,{title:U?.app?.head?.title||q0.basename(K)||"stx App",width:p.width,height:p.height,darkMode:p.darkMode,hotReload:p.hotReload,titlebarHidden:p.titlebarHidden??Z.titlebarHidden===!0,nativeSidebar:!!C,sidebarConfig:C})}if(X){console.log(`${M.blue}Watching for changes...${M.reset}`);let C=(i)=>{return i.startsWith("public/")||i.startsWith("public\\")},h=(i)=>{let s=i.toLowerCase();return s.endsWith(".stx")||s.endsWith(".html")||s.endsWith(".md")},p=q1.watch(K,{recursive:!0},async(i,s)=>{if(!s||H6(s))return;if(j6(s))if(C(s)){if(console.log(`${M.cyan}${s} changed${M.reset}`),J&&Q)Q.reload(s)}else if(h(s)){console.log(`${M.yellow}${s} changed, rebuilding...${M.reset}`),f$.clear(),m$();try{let{invalidateFileCache:K0,templateCache:$0}=await Promise.resolve().then(() => (F5(),X7));K0(q0.resolve(K,s)),$0.delete(q0.resolve(K,s))}catch{}if(L&&s){if(q0.resolve(K,s)===L||q0.basename(L)===s){let $0=await uZ(L,Z.stxOptions||{});if($0)F=$0}}if(await S(),await F4(K),J&&Q)Q.reload(s)}else{console.log(`${M.yellow}${s} changed, rebuilding...${M.reset}`),f$.clear(),m$();try{let{invalidateFileCache:K0,templateCache:$0}=await Promise.resolve().then(() => (F5(),X7));K0(q0.resolve(K,s)),$0.delete(q0.resolve(K,s))}catch{}if(await S(),J&&Q)Q.reload(s)}else if(q6(s)){if(console.log(`${M.cyan}CSS ${s} changed${M.reset}`),J&&Q)Q.updateCss(s)}});process.on("SIGINT",()=>{if(p.close(),Q)v7();f.stop(),process.exit(0)})}return!0}var JF=D(()=>{l7();e5();OY();y6();hZ();S$();N0();z6()});var ZF=D(()=>{M9();YF();XF();JF()});ZF();export{tL as serveStxFile,eL as serveMultipleStxFiles,IZ as serveMarkdownFile,$F as serveApp,sG as findCommonDir};
16342
+ Press ${M.cyan}h${M.reset} + ${M.cyan}Enter${M.reset} to show shortcuts`),r$(f.url.toString(),()=>{if(Q)v7();f.stop()}),Z.native){let C,h=q0.join(z,"index.stx");if(q1.existsSync(h)){let i=await Bun.file(h).text();C=TZ(i)}let p=U?.app?.window??{};await y7(y,{title:U?.app?.head?.title||q0.basename(K)||"stx App",width:p.width,height:p.height,darkMode:p.darkMode,hotReload:p.hotReload,titlebarHidden:p.titlebarHidden??Z.titlebarHidden===!0,nativeSidebar:!!C,sidebarConfig:C})}if(X){console.log(`${M.blue}Watching for changes...${M.reset}`);let C=(i)=>{return i.startsWith("public/")||i.startsWith("public\\")},h=(i)=>{let s=i.toLowerCase();return s.endsWith(".stx")||s.endsWith(".html")||s.endsWith(".md")},p=q1.watch(K,{recursive:!0},async(i,s)=>{if(!s||H6(s))return;if(j6(s))if(C(s)){if(console.log(`${M.cyan}${s} changed${M.reset}`),J&&Q)Q.reload(s)}else if(h(s)){console.log(`${M.yellow}${s} changed, rebuilding...${M.reset}`),f$.clear(),m$();try{let{invalidateFileCache:W0,templateCache:$0}=await Promise.resolve().then(() => (F5(),X7));W0(q0.resolve(K,s)),$0.delete(q0.resolve(K,s))}catch{}if(L&&s){if(q0.resolve(K,s)===L||q0.basename(L)===s){let $0=await uZ(L,Z.stxOptions||{});if($0)F=$0}}if(await S(),await F4(K),J&&Q)Q.reload(s)}else{console.log(`${M.yellow}${s} changed, rebuilding...${M.reset}`),f$.clear(),m$();try{let{invalidateFileCache:W0,templateCache:$0}=await Promise.resolve().then(() => (F5(),X7));W0(q0.resolve(K,s)),$0.delete(q0.resolve(K,s))}catch{}if(await S(),J&&Q)Q.reload(s)}else if(q6(s)){if(console.log(`${M.cyan}CSS ${s} changed${M.reset}`),J&&Q)Q.updateCss(s)}});process.on("SIGINT",()=>{if(p.close(),Q)v7();f.stop(),process.exit(0)})}return!0}var JF=D(()=>{l7();e5();OY();y6();hZ();S$();A0();z6()});var ZF=D(()=>{M9();YF();XF();JF()});ZF();export{tL as serveStxFile,eL as serveMultipleStxFiles,IZ as serveMarkdownFile,$F as serveApp,sG as findCommonDir};