@stacksjs/stx 0.2.83 → 0.2.85

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/app-shell.js +56 -56
  2. package/dist/build-assets.js +6 -6
  3. package/dist/build-mode-detector.js +101 -101
  4. package/dist/build-views.js +155 -155
  5. package/dist/build.js +43 -43
  6. package/dist/caching.js +6 -6
  7. package/dist/cli.js +57 -57
  8. package/dist/component-processing.js +22 -22
  9. package/dist/component-renderer.js +38 -38
  10. package/dist/components.js +101 -101
  11. package/dist/dev-server/index.js +42 -42
  12. package/dist/dev-server/serve-app.js +56 -56
  13. package/dist/dev-server/serve-file.js +56 -56
  14. package/dist/dev-server/serve-markdown.js +42 -42
  15. package/dist/dev-server/serve-multi.js +55 -55
  16. package/dist/dev-server.js +56 -56
  17. package/dist/docs.js +102 -102
  18. package/dist/dynamic-components.js +38 -38
  19. package/dist/includes.js +38 -38
  20. package/dist/index.js +56 -56
  21. package/dist/interactive.js +102 -102
  22. package/dist/lazy-loader.js +101 -101
  23. package/dist/plugin.js +50 -50
  24. package/dist/process.js +37 -37
  25. package/dist/production-builder.js +37 -37
  26. package/dist/production-server.js +37 -37
  27. package/dist/pwa/index.js +101 -101
  28. package/dist/pwa/offline.js +101 -101
  29. package/dist/pwa.js +90 -90
  30. package/dist/render.js +159 -159
  31. package/dist/runtime-injection.js +6 -6
  32. package/dist/serve.js +112 -112
  33. package/dist/signal-processing.js +6 -6
  34. package/dist/signals.js +6 -6
  35. package/dist/site-builder/build.js +103 -103
  36. package/dist/site-builder/index.js +44 -44
  37. package/dist/ssg.js +19 -19
  38. package/dist/ssr.js +89 -89
  39. package/dist/story/cli.js +42 -42
  40. package/dist/story/commands/dev.js +42 -42
  41. package/dist/story/commands/index.js +42 -42
  42. package/dist/story/index.js +42 -42
  43. package/dist/story/renderer.js +102 -102
  44. package/dist/story/server.js +42 -42
  45. package/dist/story/visual-testing.js +102 -102
  46. package/dist/streaming.js +38 -38
  47. package/dist/template-compiler.js +30 -30
  48. package/dist/template-hydrator.js +116 -116
  49. package/dist/testing.js +101 -101
  50. package/dist/utils.js +38 -38
  51. package/dist/variable-extractor.js +11 -11
  52. package/dist/web-components.js +101 -101
  53. package/package.json +5 -5
package/dist/plugin.js CHANGED
@@ -91,7 +91,7 @@ catch (e) {
91
91
  }
92
92
  throw e;
93
93
  }
94
- `),K=G([]);if(J.length===Z.length)return QZ(K,J,G);return QZ((...B)=>{let U=Array(Q.length);for(let _=0;_<Q.length;_++)U[_]=B[Q[_]];return K(...U)},J,G,(B)=>{K=G(B)})}function QZ($,Z,X,Y){let J=/^(\w+) is not defined$/,G=$,K=[],W=new Set(Z);return(...B)=>{for(let U=0;U<=8;U++)try{return G(...B)}catch(_){let z=_ instanceof Error?_.message:"",q=J.exec(z);if(!(_ instanceof ReferenceError)||!q)return;let j=q[1];if(W.has(j)||UZ.has(j))return;W.add(j),K.push(j),G=X(K),Y?.(K)}return}}function f5($){let Z=$.trim(),X=[/\beval\s*\(/i,/\bFunction\s*\(/i,/\bimport\s*\(/i,/\brequire\s*\(/i,/\bprocess\b/i,/\b__proto__\b/i,/\bconstructor\s*[.(]/i,/\bglobalThis\b/i,/\bwindow\b/i,/\bdocument\b/i,/\bfetch\s*\(/i,/\bBun\b/i,/\bDeno\b/i,/\bconsole\b/i,/\bthis\b/i,/\bReflect\b/i,/\bProxy\b/i,/\bprototype\b/i,/\.(bind|call|apply)\s*\(/i];for(let Y of X)if(Y.test(Z))return!1;return!0}var XK,GZ,KZ,YK,WZ,JK,UZ;var L0=M(()=>{XK={maxSanitizeDepth:10,allowBracketNotation:!1},GZ={...XK},KZ=[/\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/],YK=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"]),WZ=new Set(["__proto__","constructor","prototype"]),JK=/[\w)\]]\s*\[\s*['"]/;UZ=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 g5($,Z){let X=UK++,Y=`<!--__STX_${$.toUpperCase()}_${X}__-->`;return BK.set(Y,{type:$,expression:Z}),Y}var UK=0,BK;var S$=M(()=>{BK=new Map});function BZ($,Z,X,Y){X.lastIndex=Z;let Q=X.exec($);if(!Q||Q.index!==Z)return-1;Y.lastIndex=X.lastIndex;let J=Y.exec($);if(!J)return-1;return J.index+J[0].length}function h5($,Z){return BZ($,Z,_K,zK)}function _Z($,Z){return BZ($,Z,qK,jK)}function zZ($,Z){if(!$.startsWith("<!--",Z))return-1;let X=$.indexOf("-->",Z+4);if(X===-1)return-1;return X+3}function C$($,Z,X){let Y=[],Q="",J=0,G=$.length,K=!1,W=null;while(J<G){let B=$[J];if(K){if(Q+=B,W){if(B===W)W=null}else if(B==='"'||B==="'")W=B;else if(B===">")K=!1;J++;continue}if(B==="<"){let U=Z($,J);if(U>J){Q+=X($.slice(J,U),Y.length),Y.push($.slice(J,U)),J=U;continue}if(/^<\/?[a-zA-Z]/.test($.slice(J,J+2)))K=!0;Q+=B,J++;continue}Q+=B,J++}return{output:Q,tokens:Y}}function M4($){let{output:Z,tokens:X}=C$($,h5,(Y,Q)=>`\x00STX_SCRIPT_${Q}\x00`);return{output:Z,scripts:X}}function T4($,Z){if(Z.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(X,Y)=>Z[+Y]??"")}var _K,zK,qK,jK;var d5=M(()=>{_K=/<script\b[^>]*>/iy,zK=/<\/script\s*>/ig,qK=/<style\b[^>]*>/iy,jK=/<\/style\s*>/ig});var E4={};o(E4,{usesSignalsInScript:()=>Y$,unescapeHtml:()=>I4,registerFilters:()=>OK,registerFilter:()=>HZ,processExpressions:()=>l0,interpolateScriptsInTemplate:()=>FK,interpolateScriptExpressions:()=>LZ,getAllFilters:()=>OZ,evaluateExpression:()=>f0,escapeHtml:()=>j0,defaultFilters:()=>P$,clearCustomFilters:()=>LK,applyFilters:()=>FZ});function HK($){let Z=qZ.get($);if(!Z){let X=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${X}(?!\\w)`,"g"),qZ.set($,Z)}return Z.lastIndex=0,Z}function HZ($,Z){if($ in P$)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);b$[$]=Z}function OK($){for(let[Z,X]of Object.entries($))HZ(Z,X)}function OZ(){return{...P$,...b$}}function LK(){for(let $ of Object.keys(b$))delete b$[$]}function j0($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function Y$($){let Z=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,X;while((X=Z.exec($))!==null){let Y=X[1];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(Y))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test($))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test($))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test($))return!0;return!1}function jZ($,Z){let X=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined","NaN","Infinity","isNaN","isFinite","window","document","console"],Y=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),Q="",J=!1,G=0;for(let B=0;B<Y.length;B++){let U=Y[B];if(!J&&U==="`"){J=!0,G=0;continue}if(J){if(U==="`"&&G===0){J=!1;continue}if(U==="$"&&Y[B+1]==="{"){G++,B++;continue}if(U==="}"&&G>0){G--;continue}continue}Q+=U}Y=Q;let K=/\b([a-zA-Z_$][a-zA-Z0-9_$]*)\b/g,W;while((W=K.exec(Y))!==null){let B=W[1];if(!Y.substring(0,W.index).trimEnd().endsWith(".")){if(!X.includes(B)&&!(B in Z))return!1}}return!0}function LZ($,Z){let X=$;return X=X.replace(/\{!!([\s\S]*?)!!\}/g,(Y,Q)=>{try{let J=f0(Q,Z);if(J===void 0)return Y;return J===null?"":String(J)}catch{return Y}}),X=X.replace(/\{\{([\s\S]*?)\}\}/g,(Y,Q)=>{let J=Q.trim();if(/^__[A-Z_]+__$/.test(J))return Y;try{let G=f0(Q,Z);if(G===void 0)return Y;return JSON.stringify(G)}catch{return Y}}),X}function FK($,Z,X={}){return $.replace(/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,(Y,Q,J)=>{if(/\bsrc\s*=/.test(Q))return Y;if(/\bdata-raw\b/.test(Q))return Y;if(/\btype\s*=\s*["']application\/json["']/.test(Q))return Y;if(X.skipServer&&/\bserver\b/.test(Q))return Y;let G=LZ(J,Z);return`<script${Q}>${G}</script>`})}function l0($,Z,X,Y){let Q=$,J=(U,_)=>{let z=_Z(U,_);if(z===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(U.slice(_,z))?-1:z},G=(U,_,z,q)=>{let j=z.length,{output:H,tokens:L}=C$(U,_,(F,O)=>q(j+O));return z.push(...L),H},K=[];Q=G(Q,J,K,(U)=>`<!--__STX_STYLE_${U}__-->`);let W=[];Q=G(Q,h5,W,(U)=>`<!--__STX_SCRIPT_EXPR_${U}__-->`);let B=Y?.forceSignals===!0||Y$($);Q=Q.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(U,_,z)=>{try{let q=f0(_,Z);return q!==void 0&&q!==null?String(q):""}catch(q){let j=q instanceof Error?q.message:String(q);return Q0("Expression",`Error evaluating: {{{ ${_.trim()}}}}: ${j}`,X,$,z,U)}}),Q=Q.replace(/\{!!([\s\S]*?)!!\}/g,(U,_,z)=>{try{let q=f0(_,Z);if(q===void 0&&Z.__stx_buildMode==="compile")return g5("raw",_.trim());return q!==void 0&&q!==null?String(q):""}catch(q){if(Z.__stx_buildMode==="compile")return g5("raw",_.trim());let j=q instanceof Error?q.message:String(q);return Q0("Expression",`Error evaluating: {!! ${_.trim()} !!}: ${j}`,X,$,z,U)}}),Q=G(Q,h5,W,(U)=>`<!--__STX_SCRIPT_EXPR_${U}__-->`),Q=G(Q,J,K,(U)=>`<!--__STX_STYLE_${U}__-->`),Q=Q.replace(/\{\{([\s\S]*?)\}\}/g,(U,_,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],O=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=f0(_,Z);if(w===void 0&&B&&!jZ(q,Z))return U;if(w===void 0&&Z.__stx_buildMode==="compile"&&!B)return g5("expr",q);return w!==void 0&&w!==null?j0(String(w)):""}catch(w){if(B&&!jZ(q,Z))return U;if(A)return U;let R=w instanceof Error?w.message:String(w);return Q0("Expression",`Error evaluating: {{ ${q} }}: ${R}`,X,$,z,U)}});for(let U=0;U<W.length;U++)Q=Q.replace(`<!--__STX_SCRIPT_EXPR_${U}__-->`,()=>W[U]);for(let U=0;U<K.length;U++)Q=Q.replace(`<!--__STX_STYLE_${U}__-->`,()=>K[U]);return Q}function FZ($,Z,X){if(!Z.trim())return $;let Y=$,Q=Z.trim();while(Q.length>0){let J=Q.match(/^(\w+)/);if(!J)break;let G=J[1];Q=Q.substring(G.length).trim();let K=b$[G]||P$[G];if(!K)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(OZ()).join(", ")}`);let W=[];if(Q.startsWith(":")){let B=Q.match(/^:([^|\s]+)/);if(B){let U=B[1].trim();try{let _=Number(U);W=[Number.isNaN(_)?U:_]}catch{W=[U]}Q=Q.substring(B[0].length).trim()}}else if(Q.startsWith("(")){let B=1,U=1;while(B>0&&U<Q.length){if(Q[U]==="(")B++;if(Q[U]===")")B--;U++}if(B===0){let _=Q.substring(1,U-1).trim();if(_)try{if(_.startsWith("{")&&_.endsWith("}"))W=[f0(`(${_})`,X,!0)];else{let z=[],q="",j=null,H=0,L=0,F=0,O=!1;for(let V=0;V<_.length;V++){let N=_[V];if(O){q+=N,O=!1;continue}if(N==="\\"){q+=N,O=!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==="[")L++;else if(N==="]")L--;else if(N==="{")F++;else if(N==="}")F--;if(N===","&&H===0&&L===0&&F===0){z.push(q),q="";continue}q+=N}if(q)z.push(q);W=z.map((V)=>{let N=V.trim();return f0(N,X,!0)})}}catch{W=[_]}Q=Q.substring(U).trim()}}try{Y=K(Y,X,...W)}catch(B){let U=B instanceof Error?B.message:String(B);throw Error(`Error applying filter '${G}': ${U}`)}if(Q.startsWith("|"))Q=Q.substring(1).trim();else break}return Y}function VK($){let Z=!1,X="",Y=0,Q=0,J=0,G=!1;for(let K=0;K<$.length;K++){let W=$[K],B=$[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,X=W;else if(W===X)Z=!1,X="";continue}if(Z&&X==="`"&&W==="$"&&B==="{"){let U=1;K+=2;while(K<$.length&&U>0){if($[K]==="{")U++;else if($[K]==="}")U--;if(U>0)K++}continue}if(Z)continue;if(W==="(")Y++;else if(W===")")Y--;else if(W==="[")Q++;else if(W==="]")Q--;else if(W==="{")J++;else if(W==="}")J--;if(W==="|"&&Y===0&&Q===0&&J===0){if(B==="|"){K++;continue}if(B==="="){K++;continue}return K}}return-1}function f0($,Z,X=!1){try{let Y=$.trim(),Q=VK(Y);if(Q>0){let J=Y.substring(0,Q).trim(),G=Y.substring(Q+1).trim(),K=f0(J,Z,!0);return FZ(K,G,Z)}if(!Z0(Y)){if(!X)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${Y}`);return $0(Y,Z)}try{let J=Object.keys(Z),G=Object.values(Z);return X0(Y,J)(...G)}catch{return $0(Y,Z)}}catch(Y){if(Y instanceof ReferenceError){let Q=/(\b\w+)\s+is not defined/.exec(Y.message);if(Q){let J=Q[1],G=NK(J,Object.keys(Z));if(G&&G!==J)Y.message=`${Y.message} \u2014 did you mean '${G}'?`}}if(!X)console.error(`Error evaluating expression: ${$}`,Y);throw Y}}function NK($,Z){let X=null;for(let Q of Z){if(Q===$)continue;let J=AK($,Q);if(X===null||J<X.dist)X={key:Q,dist:J}}if(!X)return null;let Y=Math.max($.length,X.key.length);if(X.dist<=2||X.dist/Y<=0.35)return X.key;return null}function AK($,Z){if($===Z)return 0;if($.length===0)return Z.length;if(Z.length===0)return $.length;let[X,Y]=$.length<Z.length?[$,Z]:[Z,$],Q=Array(X.length+1),J=Array(X.length+1);for(let G=0;G<=X.length;G++)Q[G]=G;for(let G=1;G<=Y.length;G++){J[0]=G;for(let K=1;K<=X.length;K++){let W=X[K-1]===Y[G-1]?0:1;J[K]=Math.min(J[K-1]+1,Q[K]+1,Q[K-1]+W)}for(let K=0;K<=X.length;K++)Q[K]=J[K]}return Q[X.length]}function I4($){if(!$)return"";return $.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#039;/g,"'").replace(/&#39;/g,"'").replace(/&amp;/g,"&")}var b$,qZ,P$;var M0=M(()=>{L0();J0();S$();d5();b$={},qZ=new Map;P$={uppercase:($,Z)=>{return $!==void 0&&$!==null?String($).toUpperCase():""},lowercase:($,Z)=>{return $!==void 0&&$!==null?String($).toLowerCase():""},capitalize:($,Z)=>{if($===void 0||$===null)return"";let X=String($);return X.charAt(0).toUpperCase()+X.slice(1)},number:($,Z,X=0)=>{if($===void 0||$===null)return"";try{let Y=Number($);return Number.isNaN(Y)?"":Y.toFixed(Number.parseInt(String(X),10))}catch{return""}},fmt:($,Z,X="en-US")=>{if($===void 0||$===null)return"";try{let Y=Number($);if(Number.isNaN(Y))return String($);return Y.toLocaleString(X)}catch{return String($)}},join:($,Z,X=",")=>{if(!Array.isArray($))return"";return $.join(String(X))},escape:($,Z)=>{if($===void 0||$===null)return"";return j0(String($))},translate:($,Z,X={})=>{if(!Z||!Z.__translations)return $;let Y=Z.__translations,Q=Z.__i18nConfig?.fallbackToKey??!0,J=String($).split("."),G=Y;for(let W of J){if(G===void 0||G===null)break;G=G[W]}if(G===void 0||G===null)return Q?$:"";let K=String(G);return Object.entries(X).forEach(([W,B])=>{K=K.replace(HK(W),String(B))}),K},t:($,Z,X={})=>{return P$.translate($,Z,X)},truncate:($,Z,X=50,Y="...")=>{if($===void 0||$===null)return"";let Q=String($);if(Q.length<=X)return Q;if(X<=Y.length)return Y.substring(0,X);return Q.substring(0,X-Y.length)+Y},date:($,Z,X="short",Y="en-US")=>{if($===void 0||$===null)return"";try{let Q=$ instanceof Date?$:new Date($);if(Number.isNaN(Q.getTime()))return String($);let J={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"},time:{timeStyle:"short"},datetime:{dateStyle:"short",timeStyle:"short"},iso:{}};if(X==="iso")return Q.toISOString();return new Intl.DateTimeFormat(Y,J[X]||J.short).format(Q)}catch{return String($)}},currency:($,Z,X="USD",Y="en-US")=>{if($===void 0||$===null)return"";try{let Q=Number($);if(Number.isNaN(Q))return String($);return new Intl.NumberFormat(Y,{style:"currency",currency:X}).format(Q)}catch{return String($)}},pluralize:($,Z,X,Y)=>{let Q=Number($);if(Number.isNaN(Q))return X;let J=Y||`${X}s`;return Q===1?X:J},first:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[0];return String($).charAt(0)},last:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[$.length-1];let X=String($);return X.charAt(X.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,X=!1)=>{if($===void 0)return"undefined";if($===null)return"null";try{return X?JSON.stringify($,null,2):JSON.stringify($)}catch{return String($)}},default:($,Z,X="")=>{return $===void 0||$===null||$===""?X:$},reverse:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return[...$].reverse();return String($).split("").reverse().join("")},slice:($,Z,X=0,Y)=>{if($===void 0||$===null)return"";if(Array.isArray($)||typeof $==="string")return $.slice(X,Y);return $},replace:($,Z,X,Y="")=>{if($===void 0||$===null)return"";let Q=X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(Q,"g"),()=>Y)},stripTags:($,Z)=>{if($===void 0||$===null)return"";return String($).replace(/<[^>]*>/g,"")},urlencode:($,Z)=>{if($===void 0||$===null)return"";return encodeURIComponent(String($))},abs:($,Z)=>{let X=Number($);return Number.isNaN(X)?0:Math.abs(X)},round:($,Z,X=0)=>{let Y=Number($);if(Number.isNaN(Y))return 0;let Q=10**X;return Math.round(Y*Q)/Q}}});class y${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 X=this.cache.keys().next().value;if(X!==void 0)this.cache.delete(X)}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 Q$($,Z){if(Z?.includes("g"))return new RegExp($,Z);let X=`${$}:${Z||""}`;if(!J$.has(X)){if(J$.size>=wK){let Y=J$.keys().next().value;if(Y)J$.delete(Y)}J$.set(X,new RegExp($,Z))}return J$.get(X)}class VZ{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator($){let Z=Array.from(new Set($)),X=Z.sort().join(","),Y=this.pool.find((K)=>K.context.join(",")===X);if(Y)return Y.func;let Q=this.fnCache,J=this.fnCacheMaxSize,G=(...K)=>{return(W)=>{try{let B=`${X}:${W}`,U=Q.get(B);if(!U){if(Q.size>=J){let _=Q.keys().next().value;if(_)Q.delete(_)}U=Function(...Z,`
94
+ `),K=G([]);if(J.length===Z.length)return QZ(K,J,G);return QZ((...B)=>{let U=Array(Q.length);for(let _=0;_<Q.length;_++)U[_]=B[Q[_]];return K(...U)},J,G,(B)=>{K=G(B)})}function QZ($,Z,X,Y){let J=/^(\w+) is not defined$/,G=$,K=[],W=new Set(Z);return(...B)=>{for(let U=0;U<=8;U++)try{return G(...B)}catch(_){let z=_ instanceof Error?_.message:"",q=J.exec(z);if(!(_ instanceof ReferenceError)||!q)return;let j=q[1];if(W.has(j)||UZ.has(j))return;W.add(j),K.push(j),G=X(K),Y?.(K)}return}}function f5($){let Z=$.trim(),X=[/\beval\s*\(/i,/\bFunction\s*\(/i,/\bimport\s*\(/i,/\brequire\s*\(/i,/\bprocess\b/i,/\b__proto__\b/i,/\bconstructor\s*[.(]/i,/\bglobalThis\b/i,/\bwindow\b/i,/\bdocument\b/i,/\bfetch\s*\(/i,/\bBun\b/i,/\bDeno\b/i,/\bconsole\b/i,/\bthis\b/i,/\bReflect\b/i,/\bProxy\b/i,/\bprototype\b/i,/\.(bind|call|apply)\s*\(/i];for(let Y of X)if(Y.test(Z))return!1;return!0}var XK,GZ,KZ,YK,WZ,JK,UZ;var L0=M(()=>{XK={maxSanitizeDepth:10,allowBracketNotation:!1},GZ={...XK},KZ=[/\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/],YK=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"]),WZ=new Set(["__proto__","constructor","prototype"]),JK=/[\w)\]]\s*\[\s*['"]/;UZ=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 g5($,Z){let X=UK++,Y=`<!--__STX_${$.toUpperCase()}_${X}__-->`;return BK.set(Y,{type:$,expression:Z}),Y}var UK=0,BK;var S$=M(()=>{BK=new Map});function BZ($,Z,X,Y){X.lastIndex=Z;let Q=X.exec($);if(!Q||Q.index!==Z)return-1;Y.lastIndex=X.lastIndex;let J=Y.exec($);if(!J)return-1;return J.index+J[0].length}function h5($,Z){return BZ($,Z,_K,zK)}function _Z($,Z){return BZ($,Z,qK,jK)}function zZ($,Z){if(!$.startsWith("<!--",Z))return-1;let X=$.indexOf("-->",Z+4);if(X===-1)return-1;return X+3}function C$($,Z,X){let Y=[],Q="",J=0,G=$.length,K=!1,W=null;while(J<G){let B=$[J];if(K){if(Q+=B,W){if(B===W)W=null}else if(B==='"'||B==="'")W=B;else if(B===">")K=!1;J++;continue}if(B==="<"){let U=Z($,J);if(U>J){Q+=X($.slice(J,U),Y.length),Y.push($.slice(J,U)),J=U;continue}if(/^<\/?[a-zA-Z]/.test($.slice(J,J+2)))K=!0;Q+=B,J++;continue}Q+=B,J++}return{output:Q,tokens:Y}}function M4($){let{output:Z,tokens:X}=C$($,h5,(Y,Q)=>`\x00STX_SCRIPT_${Q}\x00`);return{output:Z,scripts:X}}function T4($,Z){if(Z.length===0)return $;return $.replace(/\x00STX_SCRIPT_(\d+)\x00/g,(X,Y)=>Z[+Y]??"")}var _K,zK,qK,jK;var d5=M(()=>{_K=/<script\b[^>]*>/iy,zK=/<\/script\s*>/ig,qK=/<style\b[^>]*>/iy,jK=/<\/style\s*>/ig});var E4={};o(E4,{usesSignalsInScript:()=>Y$,unescapeHtml:()=>I4,registerFilters:()=>OK,registerFilter:()=>HZ,processExpressions:()=>l0,interpolateScriptsInTemplate:()=>FK,interpolateScriptExpressions:()=>LZ,getAllFilters:()=>OZ,evaluateExpression:()=>f0,escapeHtml:()=>j0,defaultFilters:()=>P$,clearCustomFilters:()=>LK,applyFilters:()=>FZ});function HK($){let Z=qZ.get($);if(!Z){let X=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");Z=new RegExp(`:${X}(?!\\w)`,"g"),qZ.set($,Z)}return Z.lastIndex=0,Z}function HZ($,Z){if($ in P$)console.warn(`Filter "${$}" already exists as a built-in filter. Custom filter will take precedence.`);b$[$]=Z}function OK($){for(let[Z,X]of Object.entries($))HZ(Z,X)}function OZ(){return{...P$,...b$}}function LK(){for(let $ of Object.keys(b$))delete b$[$]}function j0($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function Y$($){let Z=/<script\b(?![^>]*\bserver\b)(?![^>]*\bsrc\s*=)[^>]*>([\s\S]*?)<\/script>/gi,X;while((X=Z.exec($))!==null){let Y=X[1];if(/\b(state|derived|effect|ref|reactive|computed|watch|watchEffect)\s*(?:<[^>]*>)?\s*\(/.test(Y))return!0}if(/@(if|for|show)\s*=\s*["'][^"']*\(\s*\)/.test($))return!0;if(/@for\s*=\s*["'][^"']*\s+(?:in|of)\s+[^"']*\(\s*\)/.test($))return!0;if(/(?:^|[\s"'])(?::|x-)(?:for|if|else-if|else|show|text|html|model|bind)\b/.test($))return!0;return!1}function jZ($,Z){let X=["parseInt","parseFloat","String","Number","Boolean","Array","Object","JSON","Math","Date","encodeURIComponent","decodeURIComponent","encodeURI","decodeURI","true","false","null","undefined","NaN","Infinity","isNaN","isFinite","window","document","console"],Y=$.replace(/'[^']*'/g,"").replace(/"[^"]*"/g,""),Q="",J=!1,G=0;for(let B=0;B<Y.length;B++){let U=Y[B];if(!J&&U==="`"){J=!0,G=0;continue}if(J){if(U==="`"&&G===0){J=!1;continue}if(U==="$"&&Y[B+1]==="{"){G++,B++;continue}if(U==="}"&&G>0){G--;continue}continue}Q+=U}Y=Q;let K=/\b([a-zA-Z_$][a-zA-Z0-9_$]*)\b/g,W;while((W=K.exec(Y))!==null){let B=W[1];if(!Y.substring(0,W.index).trimEnd().endsWith(".")){if(!X.includes(B)&&!(B in Z))return!1}}return!0}function LZ($,Z){let X=$;return X=X.replace(/\{!!([\s\S]*?)!!\}/g,(Y,Q)=>{try{let J=f0(Q,Z);if(J===void 0)return Y;return J===null?"":String(J)}catch{return Y}}),X=X.replace(/\{\{([\s\S]*?)\}\}/g,(Y,Q)=>{let J=Q.trim();if(/^__[A-Z_]+__$/.test(J))return Y;try{let G=f0(Q,Z);if(G===void 0)return Y;return JSON.stringify(G)}catch{return Y}}),X}function FK($,Z,X={}){return $.replace(/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,(Y,Q,J)=>{if(/\bsrc\s*=/.test(Q))return Y;if(/\bdata-raw\b/.test(Q))return Y;if(/\btype\s*=\s*["']application\/json["']/.test(Q))return Y;if(X.skipServer&&/\bserver\b/.test(Q))return Y;let G=LZ(J,Z);return`<script${Q}>${G}</script>`})}function l0($,Z,X,Y){let Q=$,J=(U,_)=>{let z=_Z(U,_);if(z===-1)return-1;return/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}/.test(U.slice(_,z))?-1:z},G=(U,_,z,q)=>{let j=z.length,{output:H,tokens:L}=C$(U,_,(F,O)=>q(j+O));return z.push(...L),H},K=[];Q=G(Q,J,K,(U)=>`<!--__STX_STYLE_${U}__-->`);let W=[];Q=G(Q,h5,W,(U)=>`<!--__STX_SCRIPT_EXPR_${U}__-->`);let B=Y?.forceSignals===!0||Y$($);Q=Q.replace(/\{\{\{([\s\S]*?)\}\}\}/g,(U,_,z)=>{try{let q=f0(_,Z);return q!==void 0&&q!==null?String(q):""}catch(q){let j=q instanceof Error?q.message:String(q);return Q0("Expression",`Error evaluating: {{{ ${_.trim()}}}}: ${j}`,X,$,z,U)}}),Q=Q.replace(/\{!!([\s\S]*?)!!\}/g,(U,_,z)=>{try{let q=f0(_,Z);if(q===void 0&&Z.__stx_buildMode==="compile")return g5("raw",_.trim());return q!==void 0&&q!==null?String(q):""}catch(q){if(Z.__stx_buildMode==="compile")return g5("raw",_.trim());let j=q instanceof Error?q.message:String(q);return Q0("Expression",`Error evaluating: {!! ${_.trim()} !!}: ${j}`,X,$,z,U)}}),Q=G(Q,h5,W,(U)=>`<!--__STX_SCRIPT_EXPR_${U}__-->`),Q=G(Q,J,K,(U)=>`<!--__STX_STYLE_${U}__-->`),Q=Q.replace(/\{\{([\s\S]*?)\}\}/g,(U,_,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],O=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=f0(_,Z);if(w===void 0&&B&&!jZ(q,Z))return U;if(w===void 0&&Z.__stx_buildMode==="compile"&&!B)return g5("expr",q);return w!==void 0&&w!==null?j0(String(w)):""}catch(w){if(B&&!jZ(q,Z))return U;if(A)return U;let R=w instanceof Error?w.message:String(w);return Q0("Expression",`Error evaluating: {{ ${q} }}: ${R}`,X,$,z,U)}});for(let U=0;U<W.length;U++)Q=Q.replace(`<!--__STX_SCRIPT_EXPR_${U}__-->`,()=>W[U]);for(let U=0;U<K.length;U++)Q=Q.replace(`<!--__STX_STYLE_${U}__-->`,()=>K[U]);return Q}function FZ($,Z,X){if(!Z.trim())return $;let Y=$,Q=Z.trim();while(Q.length>0){let J=Q.match(/^(\w+)/);if(!J)break;let G=J[1];Q=Q.substring(G.length).trim();let K=b$[G]||P$[G];if(!K)throw Error(`Filter not found: ${G}. Available filters: ${Object.keys(OZ()).join(", ")}`);let W=[];if(Q.startsWith(":")){let B=Q.match(/^:([^|\s]+)/);if(B){let U=B[1].trim();try{let _=Number(U);W=[Number.isNaN(_)?U:_]}catch{W=[U]}Q=Q.substring(B[0].length).trim()}}else if(Q.startsWith("(")){let B=1,U=1;while(B>0&&U<Q.length){if(Q[U]==="(")B++;if(Q[U]===")")B--;U++}if(B===0){let _=Q.substring(1,U-1).trim();if(_)try{if(_.startsWith("{")&&_.endsWith("}"))W=[f0(`(${_})`,X,!0)];else{let z=[],q="",j=null,H=0,L=0,F=0,O=!1;for(let V=0;V<_.length;V++){let N=_[V];if(O){q+=N,O=!1;continue}if(N==="\\"){q+=N,O=!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==="[")L++;else if(N==="]")L--;else if(N==="{")F++;else if(N==="}")F--;if(N===","&&H===0&&L===0&&F===0){z.push(q),q="";continue}q+=N}if(q)z.push(q);W=z.map((V)=>{let N=V.trim();return f0(N,X,!0)})}}catch{W=[_]}Q=Q.substring(U).trim()}}try{Y=K(Y,X,...W)}catch(B){let U=B instanceof Error?B.message:String(B);throw Error(`Error applying filter '${G}': ${U}`)}if(Q.startsWith("|"))Q=Q.substring(1).trim();else break}return Y}function VK($){let Z=!1,X="",Y=0,Q=0,J=0,G=!1;for(let K=0;K<$.length;K++){let W=$[K],B=$[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,X=W;else if(W===X)Z=!1,X="";continue}if(Z&&X==="`"&&W==="$"&&B==="{"){let U=1;K+=2;while(K<$.length&&U>0){if($[K]==="{")U++;else if($[K]==="}")U--;if(U>0)K++}continue}if(Z)continue;if(W==="(")Y++;else if(W===")")Y--;else if(W==="[")Q++;else if(W==="]")Q--;else if(W==="{")J++;else if(W==="}")J--;if(W==="|"&&Y===0&&Q===0&&J===0){if(B==="|"){K++;continue}if(B==="="){K++;continue}return K}}return-1}function f0($,Z,X=!1){try{let Y=$.trim(),Q=VK(Y);if(Q>0){let J=Y.substring(0,Q).trim(),G=Y.substring(Q+1).trim(),K=f0(J,Z,!0);return FZ(K,G,Z)}if(!Z0(Y)){if(!X)console.warn(`Potentially unsafe expression detected, using safe evaluator: ${Y}`);return $0(Y,Z)}try{let J=Object.keys(Z),G=Object.values(Z);return X0(Y,J)(...G)}catch{return $0(Y,Z)}}catch(Y){if(Y instanceof ReferenceError){let Q=/(\b\w+)\s+is not defined/.exec(Y.message);if(Q){let J=Q[1],G=NK(J,Object.keys(Z));if(G&&G!==J)Y.message=`${Y.message} \u2014 did you mean '${G}'?`}}if(!X)console.error(`Error evaluating expression: ${$}`,Y);throw Y}}function NK($,Z){let X=null;for(let Q of Z){if(Q===$)continue;let J=AK($,Q);if(X===null||J<X.dist)X={key:Q,dist:J}}if(!X)return null;let Y=Math.max($.length,X.key.length);if(X.dist<=2||X.dist/Y<=0.35)return X.key;return null}function AK($,Z){if($===Z)return 0;if($.length===0)return Z.length;if(Z.length===0)return $.length;let[X,Y]=$.length<Z.length?[$,Z]:[Z,$],Q=Array(X.length+1),J=Array(X.length+1);for(let G=0;G<=X.length;G++)Q[G]=G;for(let G=1;G<=Y.length;G++){J[0]=G;for(let K=1;K<=X.length;K++){let W=X[K-1]===Y[G-1]?0:1;J[K]=Math.min(J[K-1]+1,Q[K]+1,Q[K-1]+W)}for(let K=0;K<=X.length;K++)Q[K]=J[K]}return Q[X.length]}function I4($){if(!$)return"";return $.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#039;/g,"'").replace(/&#39;/g,"'").replace(/&amp;/g,"&")}var b$,qZ,P$;var T0=M(()=>{L0();J0();S$();d5();b$={},qZ=new Map;P$={uppercase:($,Z)=>{return $!==void 0&&$!==null?String($).toUpperCase():""},lowercase:($,Z)=>{return $!==void 0&&$!==null?String($).toLowerCase():""},capitalize:($,Z)=>{if($===void 0||$===null)return"";let X=String($);return X.charAt(0).toUpperCase()+X.slice(1)},number:($,Z,X=0)=>{if($===void 0||$===null)return"";try{let Y=Number($);return Number.isNaN(Y)?"":Y.toFixed(Number.parseInt(String(X),10))}catch{return""}},fmt:($,Z,X="en-US")=>{if($===void 0||$===null)return"";try{let Y=Number($);if(Number.isNaN(Y))return String($);return Y.toLocaleString(X)}catch{return String($)}},join:($,Z,X=",")=>{if(!Array.isArray($))return"";return $.join(String(X))},escape:($,Z)=>{if($===void 0||$===null)return"";return j0(String($))},translate:($,Z,X={})=>{if(!Z||!Z.__translations)return $;let Y=Z.__translations,Q=Z.__i18nConfig?.fallbackToKey??!0,J=String($).split("."),G=Y;for(let W of J){if(G===void 0||G===null)break;G=G[W]}if(G===void 0||G===null)return Q?$:"";let K=String(G);return Object.entries(X).forEach(([W,B])=>{K=K.replace(HK(W),String(B))}),K},t:($,Z,X={})=>{return P$.translate($,Z,X)},truncate:($,Z,X=50,Y="...")=>{if($===void 0||$===null)return"";let Q=String($);if(Q.length<=X)return Q;if(X<=Y.length)return Y.substring(0,X);return Q.substring(0,X-Y.length)+Y},date:($,Z,X="short",Y="en-US")=>{if($===void 0||$===null)return"";try{let Q=$ instanceof Date?$:new Date($);if(Number.isNaN(Q.getTime()))return String($);let J={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"},time:{timeStyle:"short"},datetime:{dateStyle:"short",timeStyle:"short"},iso:{}};if(X==="iso")return Q.toISOString();return new Intl.DateTimeFormat(Y,J[X]||J.short).format(Q)}catch{return String($)}},currency:($,Z,X="USD",Y="en-US")=>{if($===void 0||$===null)return"";try{let Q=Number($);if(Number.isNaN(Q))return String($);return new Intl.NumberFormat(Y,{style:"currency",currency:X}).format(Q)}catch{return String($)}},pluralize:($,Z,X,Y)=>{let Q=Number($);if(Number.isNaN(Q))return X;let J=Y||`${X}s`;return Q===1?X:J},first:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[0];return String($).charAt(0)},last:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return $.length===0?"":$[$.length-1];let X=String($);return X.charAt(X.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,X=!1)=>{if($===void 0)return"undefined";if($===null)return"null";try{return X?JSON.stringify($,null,2):JSON.stringify($)}catch{return String($)}},default:($,Z,X="")=>{return $===void 0||$===null||$===""?X:$},reverse:($,Z)=>{if($===void 0||$===null)return"";if(Array.isArray($))return[...$].reverse();return String($).split("").reverse().join("")},slice:($,Z,X=0,Y)=>{if($===void 0||$===null)return"";if(Array.isArray($)||typeof $==="string")return $.slice(X,Y);return $},replace:($,Z,X,Y="")=>{if($===void 0||$===null)return"";let Q=X.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return String($).replace(new RegExp(Q,"g"),()=>Y)},stripTags:($,Z)=>{if($===void 0||$===null)return"";return String($).replace(/<[^>]*>/g,"")},urlencode:($,Z)=>{if($===void 0||$===null)return"";return encodeURIComponent(String($))},abs:($,Z)=>{let X=Number($);return Number.isNaN(X)?0:Math.abs(X)},round:($,Z,X=0)=>{let Y=Number($);if(Number.isNaN(Y))return 0;let Q=10**X;return Math.round(Y*Q)/Q}}});class y${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 X=this.cache.keys().next().value;if(X!==void 0)this.cache.delete(X)}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 Q$($,Z){if(Z?.includes("g"))return new RegExp($,Z);let X=`${$}:${Z||""}`;if(!J$.has(X)){if(J$.size>=wK){let Y=J$.keys().next().value;if(Y)J$.delete(Y)}J$.set(X,new RegExp($,Z))}return J$.get(X)}class VZ{pool=[];maxPoolSize=10;fnCache=new Map;fnCacheMaxSize=200;getEvaluator($){let Z=Array.from(new Set($)),X=Z.sort().join(","),Y=this.pool.find((K)=>K.context.join(",")===X);if(Y)return Y.func;let Q=this.fnCache,J=this.fnCacheMaxSize,G=(...K)=>{return(W)=>{try{let B=`${X}:${W}`,U=Q.get(B);if(!U){if(Q.size>=J){let _=Q.keys().next().value;if(_)Q.delete(_)}U=Function(...Z,`
95
95
  'use strict';
96
96
  try {
97
97
  return ${W};
@@ -787,8 +787,8 @@ ${H}
787
787
  filter: blur(0);
788
788
  transform: scale(1);
789
789
  }
790
- `.trim();b4=new Map});import{createHash as hZ}from"crypto";import{readFile as vK,stat as dZ}from"fs/promises";async function w0($){try{let Z=await vK($);return hZ("sha256").update(Z).digest("hex").slice(0,16)}catch{return""}}function v4($){return hZ("sha256").update($).digest("hex").slice(0,16)}function m$($,Z){let X=JSON.stringify(Z,Object.keys(Z).sort());return`${v4($)}-${v4(X)}`}async function s5($){try{return(await dZ($)).mtimeMs}catch{return 0}}async function N0($){try{return await dZ($),!0}catch{return!1}}var U1=()=>{};import{mkdir as fK,readFile as gK,writeFile as hK,readdir as zF,rm as dK,stat as qF}from"fs/promises";import{join as mZ,dirname as uK}from"path";async function mK($){try{await fK($,{recursive:!0})}catch{}}function pZ($,Z,X){return mZ($,X,`${Z}.json`)}async function uZ($,Z,X){if((Date.now()-$.createdAt)/86400000>X)return!1;if(await s5(Z)!==$.srcMtime)return!1;return!0}async function p$($,Z,X,Y=f4){if(!Y.enabled)return null;let Q=m$($,Z),J=G$.get(Q);if(J){if(await uZ(J,$,Y.maxAge))return J.lastAccessedAt=Date.now(),J.data;G$.delete(Q)}let G=pZ(Y.directory,Q,X);if(await N0(G))try{let K=await gK(G,"utf-8"),W=JSON.parse(K);if(await uZ(W,$,Y.maxAge))return W.lastAccessedAt=Date.now(),G$.set(Q,W),W.data}catch{}return null}async function c$($,Z,X,Y,Q=f4){if(!Q.enabled)return;let J=m$($,Z),G=await w0($),K=await s5($),W={key:J,src:$,srcHash:G,srcMtime:K,optionsHash:m$("",Z),data:X,createdAt:Date.now(),lastAccessedAt:Date.now()};G$.set(J,W);let B=pZ(Q.directory,J,Y);try{await mK(uK(B)),await hK(B,JSON.stringify(W,null,2))}catch(U){console.warn(`[stx-media] Failed to write cache: ${U}`)}}async function l$($,Z=f4){if($==="all")G$.clear();else G$.clear();let X=$==="all"?["image","video"]:[$];for(let Y of X){let Q=mZ(Z.directory,Y);try{await dK(Q,{recursive:!0,force:!0})}catch{}}}var G$,f4;var o5=M(()=>{U1();G$=new Map,f4={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class i${config;constructor($={}){this.config={...pK,...$}}async get($,Z){return p$($,Z,"image",this.config)}async set($,Z,X){return c$($,Z,X,"image",this.config)}async clear(){return l$("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function g4($){if(!a5)a5=new i$($);else if($)a5.updateConfig($);return a5}async function n$($,Z,X){let Y=X?{directory:`${X.outputDir}/../.cache`}:{};return g4(Y).get($,Z)}async function r$($,Z,X,Y){let Q=Y?{directory:`${Y.outputDir}/../.cache`}:{};return g4(Q).set($,Z,X)}async function h4(){return g4().clear()}var pK,a5=null;var d4=M(()=>{o5();pK={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as cK,basename as lK,extname as iK,join as nK}from"path";import{mkdir as rK}from"fs/promises";async function u4(){try{return await import("ts-images")}catch{return null}}function cZ($){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 sK($,Z){let X=Z?cZ(Z):cZ("web"),Y=$.formatQuality||{};return{jpeg:{...X.jpeg,...Y.jpeg},png:{...X.png,...Y.png},webp:{...X.webp,...Y.webp},avif:{...X.avif,...Y.avif}}}async function m4($,Z,X){let Y=await u4();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let Q=await n$($,Z,X);if(Q)return Q;try{let J=cK($);if(!await N0(J))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let G=sK(X,Z.preset),K=X.outputDir||"dist/images",W=X.baseUrl||"/images";await rK(K,{recursive:!0});let B=await w0(J),U=lK($,iK($)),_=Z.outputFormat?[Z.outputFormat]:X.defaultFormats||["avif","webp","jpeg"],z={src:$,processed:!0,variants:[],hash:B},q=null;if(Z.transformations&&Z.transformations.length>0)q=await t5(J,Z.transformations,Y);for(let j of _){let H=G[j]||{},L=`${U}-${B}.${j}`,F=nK(K,L);try{let O=await Y.optimizeImage({input:q||J,output:F,format:j,quality:H.quality,progressive:H.progressive});if(O){if(z.variants.push({path:F,url:`${W}/${L}`,width:O.width||0,height:O.height||0,format:j,size:O.outputSize||0}),!z.originalWidth&&O.width)z.originalWidth=O.width,z.originalHeight=O.height}}catch(O){z.errors=z.errors||[],z.errors.push(`Failed to optimize ${j}: ${O}`)}}if(Z.embedThumbhash||Z.placeholder==="thumbhash")try{let j=await Y.generateThumbHash(J);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 Y.generatePlaceholder(J,{strategy:"dominant-color"});z.dominantColor=j.dominantColor}catch(j){z.errors=z.errors||[],z.errors.push(`Failed to extract dominant color: ${j}`)}return await r$($,Z,z,X),z}catch(J){return{src:$,processed:!1,errors:[`Processing failed: ${J}`]}}}async function p4($,Z,X,Y){let Q=await u4();if(!Q)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await Q.optimizeImage({input:$,output:Y,format:Z,quality:X}))?.outputSize}}catch(J){return{success:!1,error:String(J)}}}async function t5($,Z,X){let Y=X||await u4();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let Q=await Y.decode($);for(let J of Z){let G=J.options||{};switch(J.type){case"resize":if(G.width||G.height)Q=await Y.resize(Q,{width:G.width,height:G.height,fit:G.fit});break;case"blur":if(G.sigma!==void 0)Q=await Y.blur(Q,G.sigma);break;case"sharpen":if(G.amount!==void 0)Q=await Y.sharpen(Q,G.amount);break;case"grayscale":Q=await Y.grayscale(Q);break;case"rotate":if(G.angle!==void 0)Q=await Y.rotate(Q,G.angle);break;case"flip":Q=await Y.flip(Q);break;case"flop":Q=await Y.flop(Q);break;case"brightness":if(G.value!==void 0)Q=await Y.brightness(Q,G.value);break;case"contrast":if(G.value!==void 0)Q=await Y.contrast(Q,G.value);break;case"saturation":if(G.value!==void 0)Q=await Y.saturation(Q,G.value);break}}return await Y.encode(Q,"png")}catch(Q){return console.error(`[stx-media] Transformation failed: ${Q}`),null}}var lZ=M(()=>{U1();d4()});import{resolve as oK,basename as aK,extname as tK,join as eK}from"path";import{mkdir as $W}from"fs/promises";async function ZW(){try{return await import("ts-images")}catch{return null}}async function c4($,Z,X){let Y=await ZW();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let Q=oK($);if(!await N0(Q))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let J=Z.responsiveWidths||X.breakpoints||XW,G=Z.formats||X.defaultFormats||["avif","webp","jpeg"],K=X.outputDir||"dist/images",W=X.baseUrl||"/images";await $W(K,{recursive:!0});let B=await w0(Q),U=aK($,tK($)),_=X.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 L of J){let F=`${U}-${L}w-${B}.${j}`,O=eK(K,F),V=`${W}/${F}`;try{let N=_[j]?.quality||80;if(await N0(O)){z.byFormat[j].push({path:O,url:V,width:L,height:0,format:j,size:0}),H.push(`${V} ${L}w`);continue}let A=await Y.processImage({input:Q,output:O,format:j,quality:N,resize:{width:L}});if(A)z.byFormat[j].push({path:O,url:V,width:L,height:A.height||Math.round(L*(A.height||1)/(A.width||1)),format:j,size:A.outputSize||0}),H.push(`${V} ${L}w`)}catch(N){console.warn(`[stx-media] Failed to generate ${j} at ${L}w: ${N}`)}}z.srcsets[j]=H.join(", ")}let q=Z.placeholder||X.placeholderStrategy||"thumbhash";if(q!=="none")try{if(q==="thumbhash"){let j=await Y.generateThumbHash(Q);z.placeholder={dataURL:j.dataUrl,width:j.width||32,height:j.height||32,strategy:"thumbhash"}}else{let j=await Y.generatePlaceholder(Q,{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||YW(J),z}catch(J){return console.error(`[stx-media] Responsive generation failed: ${J}`),null}}function YW($){let Z=[...$].sort((Y,Q)=>Y-Q),X=[];for(let Y=0;Y<Z.length-1;Y++){let Q=Z[Y];X.push(`(max-width: ${Q}px) ${Q}px`)}return X.push(`${Z[Z.length-1]}px`),X.join(", ")}function l4($,Z="width"){if(!$||$.length===0)return"";if(Z==="dpr")return $.filter((X)=>X.dpr).map((X)=>`${X.url} ${X.dpr}x`).join(", ");return $.map((X)=>`${X.url} ${X.width}w`).join(", ")}var XW;var iZ=M(()=>{U1();XW=[320,480,640,768,1024,1280,1536,1920]});var nZ={};o(nZ,{setCachedImageResult:()=>r$,processImage:()=>m4,optimizeImage:()=>p4,getCachedImageResult:()=>n$,generateSrcset:()=>l4,generateResponsiveVariants:()=>c4,clearImageCache:()=>h4,applyTransformations:()=>t5,ImageProcessorCache:()=>i$});var i4=M(()=>{lZ();iZ();d4()});async function JW(){try{return await Promise.resolve().then(() => (i4(),nZ))}catch($){if(!rZ)console.warn("[stx-media] Image processor not available, some features disabled:",$),rZ=!0;return null}}async function K$($,Z={}){let X=Z,Y=$;if(Y.process&&!Y.skipOptimization){if(X.tsImagesConfig?.enabled&&!X.isDev)return WW(Y,X)}if(X.processedResult?.processed)return o4($,X.processedResult,Z);if(X.responsiveVariants)return tZ($,X.responsiveVariants,Z);let{src:Q,alt:J,width:G,height:K,sizes:W,widths:B=W1,dpr:U,formats:_=x1,quality:z=n4,params:q={},placeholder:j="none",placeholderOptions:H={},lazy:L=!0,priority:F=!1,loading:O=F?"eager":$7,decoding:V=e5,fetchpriority:N,objectFit:A,objectPosition:w,crossorigin:R,referrerpolicy:T}=$,I=$.class,E=$.style,D=$.id,k=$.data||{},{isDev:P=!1,baseUrl:S=""}=Z;if(P&&!Z.optimize)return KW($);let C,y,u=D||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!F)try{C=await r5(Q,{strategy:j,...H}),y=n5(u,C,H)}catch{}let f=U!==void 0&&G!==void 0,m;if(f)m=GW($,u,C,Z);else m=await QW($,u,C,Z);let r;if(F){let x0=_.includes("webp")?"webp":_[0],k0=g$(Q,B,{...q,q:z},x0),e=typeof W==="object"?h$(W):W||"100vw";r=`<link rel="preload" as="image" imagesrcset="${k0}" imagesizes="${e}" />`}let R0=[];if(!sZ&&j!=="none")R0.push(u$),sZ=!0;if(y)R0.push(y);let Z1=L?aZ(u):void 0;return{html:m,preloadLink:r,css:R0.length>0?R0.join(`
791
- `):void 0,script:Z1}}async function QW($,Z,X,Y){let{src:Q,alt:J,width:G,height:K,sizes:W,widths:B=W1,formats:U=x1,quality:_=n4,params:z={},lazy:q=!0,priority:j=!1,loading:H=j?"eager":$7,decoding:L=e5,fetchpriority:F,objectFit:O,objectPosition:V,crossorigin:N,referrerpolicy:A}=$,w=$.class,R=$.style,T=$.data||{},I=typeof W==="object"?h$(W):W||"100vw",E=[];for(let P of U){let S=g$(Q,B,{...z,q:_},P),C=d$(P);if(q&&!j)E.push(` <source type="${C}" data-srcset="${S}" data-sizes="${I}" />`);else E.push(` <source type="${C}" srcset="${S}" sizes="${I}" />`)}let D=r4({src:v1(Q,{...z,q:_}),alt:J,width:G,height:K,loading:j?void 0:H,decoding:L,fetchpriority:j?"high":F,objectFit:O,objectPosition:V,crossorigin:N,referrerpolicy:A,className:oZ(w,X),style:s4(R,O,V,X),lazy:q&&!j,data:T}),k;if(X){let P=`background-image: url('${X.dataURL}'); background-size: cover; background-position: center;`;k=`<div id="${Z}" class="stx-img-placeholder" style="${P}">
790
+ `.trim();b4=new Map});import{createHash as hZ}from"crypto";import{readFile as vK,stat as dZ}from"fs/promises";async function w0($){try{let Z=await vK($);return hZ("sha256").update(Z).digest("hex").slice(0,16)}catch{return""}}function v4($){return hZ("sha256").update($).digest("hex").slice(0,16)}function m$($,Z){let X=JSON.stringify(Z,Object.keys(Z).sort());return`${v4($)}-${v4(X)}`}async function s5($){try{return(await dZ($)).mtimeMs}catch{return 0}}async function N0($){try{return await dZ($),!0}catch{return!1}}var U1=()=>{};import{mkdir as fK,readFile as gK,writeFile as hK,readdir as zF,rm as dK,stat as qF}from"fs/promises";import{join as mZ,dirname as uK}from"path";async function mK($){try{await fK($,{recursive:!0})}catch{}}function pZ($,Z,X){return mZ($,X,`${Z}.json`)}async function uZ($,Z,X){if((Date.now()-$.createdAt)/86400000>X)return!1;if(await s5(Z)!==$.srcMtime)return!1;return!0}async function p$($,Z,X,Y=f4){if(!Y.enabled)return null;let Q=m$($,Z),J=G$.get(Q);if(J){if(await uZ(J,$,Y.maxAge))return J.lastAccessedAt=Date.now(),J.data;G$.delete(Q)}let G=pZ(Y.directory,Q,X);if(await N0(G))try{let K=await gK(G,"utf-8"),W=JSON.parse(K);if(await uZ(W,$,Y.maxAge))return W.lastAccessedAt=Date.now(),G$.set(Q,W),W.data}catch{}return null}async function c$($,Z,X,Y,Q=f4){if(!Q.enabled)return;let J=m$($,Z),G=await w0($),K=await s5($),W={key:J,src:$,srcHash:G,srcMtime:K,optionsHash:m$("",Z),data:X,createdAt:Date.now(),lastAccessedAt:Date.now()};G$.set(J,W);let B=pZ(Q.directory,J,Y);try{await mK(uK(B)),await hK(B,JSON.stringify(W,null,2))}catch(U){console.warn(`[stx-media] Failed to write cache: ${U}`)}}async function l$($,Z=f4){if($==="all")G$.clear();else G$.clear();let X=$==="all"?["image","video"]:[$];for(let Y of X){let Q=mZ(Z.directory,Y);try{await dK(Q,{recursive:!0,force:!0})}catch{}}}var G$,f4;var o5=M(()=>{U1();G$=new Map,f4={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500}});class i${config;constructor($={}){this.config={...pK,...$}}async get($,Z){return p$($,Z,"image",this.config)}async set($,Z,X){return c$($,Z,X,"image",this.config)}async clear(){return l$("image",this.config)}updateConfig($){this.config={...this.config,...$}}}function g4($){if(!a5)a5=new i$($);else if($)a5.updateConfig($);return a5}async function n$($,Z,X){let Y=X?{directory:`${X.outputDir}/../.cache`}:{};return g4(Y).get($,Z)}async function r$($,Z,X,Y){let Q=Y?{directory:`${Y.outputDir}/../.cache`}:{};return g4(Q).set($,Z,X)}async function h4(){return g4().clear()}var pK,a5=null;var d4=M(()=>{o5();pK={enabled:!0,directory:".stx/media-cache",maxAge:30,maxSize:500,cacheVariants:!0,cachePlaceholders:!0}});import{resolve as cK,basename as lK,extname as iK,join as nK}from"path";import{mkdir as rK}from"fs/promises";async function u4(){try{return await import("ts-images")}catch{return null}}function cZ($){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 sK($,Z){let X=Z?cZ(Z):cZ("web"),Y=$.formatQuality||{};return{jpeg:{...X.jpeg,...Y.jpeg},png:{...X.png,...Y.png},webp:{...X.webp,...Y.webp},avif:{...X.avif,...Y.avif}}}async function m4($,Z,X){let Y=await u4();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping optimization"),{src:$,processed:!1};let Q=await n$($,Z,X);if(Q)return Q;try{let J=cK($);if(!await N0(J))return{src:$,processed:!1,errors:[`Source file not found: ${$}`]};let G=sK(X,Z.preset),K=X.outputDir||"dist/images",W=X.baseUrl||"/images";await rK(K,{recursive:!0});let B=await w0(J),U=lK($,iK($)),_=Z.outputFormat?[Z.outputFormat]:X.defaultFormats||["avif","webp","jpeg"],z={src:$,processed:!0,variants:[],hash:B},q=null;if(Z.transformations&&Z.transformations.length>0)q=await t5(J,Z.transformations,Y);for(let j of _){let H=G[j]||{},L=`${U}-${B}.${j}`,F=nK(K,L);try{let O=await Y.optimizeImage({input:q||J,output:F,format:j,quality:H.quality,progressive:H.progressive});if(O){if(z.variants.push({path:F,url:`${W}/${L}`,width:O.width||0,height:O.height||0,format:j,size:O.outputSize||0}),!z.originalWidth&&O.width)z.originalWidth=O.width,z.originalHeight=O.height}}catch(O){z.errors=z.errors||[],z.errors.push(`Failed to optimize ${j}: ${O}`)}}if(Z.embedThumbhash||Z.placeholder==="thumbhash")try{let j=await Y.generateThumbHash(J);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 Y.generatePlaceholder(J,{strategy:"dominant-color"});z.dominantColor=j.dominantColor}catch(j){z.errors=z.errors||[],z.errors.push(`Failed to extract dominant color: ${j}`)}return await r$($,Z,z,X),z}catch(J){return{src:$,processed:!1,errors:[`Processing failed: ${J}`]}}}async function p4($,Z,X,Y){let Q=await u4();if(!Q)return{success:!1,error:"ts-images not installed"};try{return{success:!0,size:(await Q.optimizeImage({input:$,output:Y,format:Z,quality:X}))?.outputSize}}catch(J){return{success:!1,error:String(J)}}}async function t5($,Z,X){let Y=X||await u4();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping transformations"),null;try{let Q=await Y.decode($);for(let J of Z){let G=J.options||{};switch(J.type){case"resize":if(G.width||G.height)Q=await Y.resize(Q,{width:G.width,height:G.height,fit:G.fit});break;case"blur":if(G.sigma!==void 0)Q=await Y.blur(Q,G.sigma);break;case"sharpen":if(G.amount!==void 0)Q=await Y.sharpen(Q,G.amount);break;case"grayscale":Q=await Y.grayscale(Q);break;case"rotate":if(G.angle!==void 0)Q=await Y.rotate(Q,G.angle);break;case"flip":Q=await Y.flip(Q);break;case"flop":Q=await Y.flop(Q);break;case"brightness":if(G.value!==void 0)Q=await Y.brightness(Q,G.value);break;case"contrast":if(G.value!==void 0)Q=await Y.contrast(Q,G.value);break;case"saturation":if(G.value!==void 0)Q=await Y.saturation(Q,G.value);break}}return await Y.encode(Q,"png")}catch(Q){return console.error(`[stx-media] Transformation failed: ${Q}`),null}}var lZ=M(()=>{U1();d4()});import{resolve as oK,basename as aK,extname as tK,join as eK}from"path";import{mkdir as $W}from"fs/promises";async function ZW(){try{return await import("ts-images")}catch{return null}}async function c4($,Z,X){let Y=await ZW();if(!Y)return console.warn("[stx-media] ts-images not installed, skipping responsive generation"),null;let Q=oK($);if(!await N0(Q))return console.warn(`[stx-media] Source file not found: ${$}`),null;try{let J=Z.responsiveWidths||X.breakpoints||XW,G=Z.formats||X.defaultFormats||["avif","webp","jpeg"],K=X.outputDir||"dist/images",W=X.baseUrl||"/images";await $W(K,{recursive:!0});let B=await w0(Q),U=aK($,tK($)),_=X.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 L of J){let F=`${U}-${L}w-${B}.${j}`,O=eK(K,F),V=`${W}/${F}`;try{let N=_[j]?.quality||80;if(await N0(O)){z.byFormat[j].push({path:O,url:V,width:L,height:0,format:j,size:0}),H.push(`${V} ${L}w`);continue}let A=await Y.processImage({input:Q,output:O,format:j,quality:N,resize:{width:L}});if(A)z.byFormat[j].push({path:O,url:V,width:L,height:A.height||Math.round(L*(A.height||1)/(A.width||1)),format:j,size:A.outputSize||0}),H.push(`${V} ${L}w`)}catch(N){console.warn(`[stx-media] Failed to generate ${j} at ${L}w: ${N}`)}}z.srcsets[j]=H.join(", ")}let q=Z.placeholder||X.placeholderStrategy||"thumbhash";if(q!=="none")try{if(q==="thumbhash"){let j=await Y.generateThumbHash(Q);z.placeholder={dataURL:j.dataUrl,width:j.width||32,height:j.height||32,strategy:"thumbhash"}}else{let j=await Y.generatePlaceholder(Q,{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||YW(J),z}catch(J){return console.error(`[stx-media] Responsive generation failed: ${J}`),null}}function YW($){let Z=[...$].sort((Y,Q)=>Y-Q),X=[];for(let Y=0;Y<Z.length-1;Y++){let Q=Z[Y];X.push(`(max-width: ${Q}px) ${Q}px`)}return X.push(`${Z[Z.length-1]}px`),X.join(", ")}function l4($,Z="width"){if(!$||$.length===0)return"";if(Z==="dpr")return $.filter((X)=>X.dpr).map((X)=>`${X.url} ${X.dpr}x`).join(", ");return $.map((X)=>`${X.url} ${X.width}w`).join(", ")}var XW;var iZ=M(()=>{U1();XW=[320,480,640,768,1024,1280,1536,1920]});var nZ={};o(nZ,{setCachedImageResult:()=>r$,processImage:()=>m4,optimizeImage:()=>p4,getCachedImageResult:()=>n$,generateSrcset:()=>l4,generateResponsiveVariants:()=>c4,clearImageCache:()=>h4,applyTransformations:()=>t5,ImageProcessorCache:()=>i$});var i4=M(()=>{lZ();iZ();d4()});async function JW(){try{return await Promise.resolve().then(() => (i4(),nZ))}catch($){if(!rZ)console.warn("[stx-media] Image processor not available, some features disabled:",$),rZ=!0;return null}}async function K$($,Z={}){let X=Z,Y=$;if(Y.process&&!Y.skipOptimization){if(X.tsImagesConfig?.enabled&&!X.isDev)return WW(Y,X)}if(X.processedResult?.processed)return o4($,X.processedResult,Z);if(X.responsiveVariants)return tZ($,X.responsiveVariants,Z);let{src:Q,alt:J,width:G,height:K,sizes:W,widths:B=W1,dpr:U,formats:_=x1,quality:z=n4,params:q={},placeholder:j="none",placeholderOptions:H={},lazy:L=!0,priority:F=!1,loading:O=F?"eager":$7,decoding:V=e5,fetchpriority:N,objectFit:A,objectPosition:w,crossorigin:R,referrerpolicy:T}=$,I=$.class,E=$.style,D=$.id,k=$.data||{},{isDev:P=!1,baseUrl:S=""}=Z;if(P&&!Z.optimize)return KW($);let b,y,u=D||`stx-img-${Math.random().toString(36).slice(2,8)}`;if(j!=="none"&&!F)try{b=await r5(Q,{strategy:j,...H}),y=n5(u,b,H)}catch{}let f=U!==void 0&&G!==void 0,m;if(f)m=GW($,u,b,Z);else m=await QW($,u,b,Z);let r;if(F){let x0=_.includes("webp")?"webp":_[0],S0=g$(Q,B,{...q,q:z},x0),e=typeof W==="object"?h$(W):W||"100vw";r=`<link rel="preload" as="image" imagesrcset="${S0}" imagesizes="${e}" />`}let R0=[];if(!sZ&&j!=="none")R0.push(u$),sZ=!0;if(y)R0.push(y);let Z1=L?aZ(u):void 0;return{html:m,preloadLink:r,css:R0.length>0?R0.join(`
791
+ `):void 0,script:Z1}}async function QW($,Z,X,Y){let{src:Q,alt:J,width:G,height:K,sizes:W,widths:B=W1,formats:U=x1,quality:_=n4,params:z={},lazy:q=!0,priority:j=!1,loading:H=j?"eager":$7,decoding:L=e5,fetchpriority:F,objectFit:O,objectPosition:V,crossorigin:N,referrerpolicy:A}=$,w=$.class,R=$.style,T=$.data||{},I=typeof W==="object"?h$(W):W||"100vw",E=[];for(let P of U){let S=g$(Q,B,{...z,q:_},P),b=d$(P);if(q&&!j)E.push(` <source type="${b}" data-srcset="${S}" data-sizes="${I}" />`);else E.push(` <source type="${b}" srcset="${S}" sizes="${I}" />`)}let D=r4({src:v1(Q,{...z,q:_}),alt:J,width:G,height:K,loading:j?void 0:H,decoding:L,fetchpriority:j?"high":F,objectFit:O,objectPosition:V,crossorigin:N,referrerpolicy:A,className:oZ(w,X),style:s4(R,O,V,X),lazy:q&&!j,data:T}),k;if(X){let P=`background-image: url('${X.dataURL}'); background-size: cover; background-position: center;`;k=`<div id="${Z}" class="stx-img-placeholder" style="${P}">
792
792
  <picture>
793
793
  ${E.join(`
794
794
  `)}
@@ -847,7 +847,7 @@ ${A.join(`
847
847
  ${A.join(`
848
848
  `)}
849
849
  <img ${R.join(" ")} />
850
- </picture>`;let P=[];if(Z.placeholder)P.push(u$);let S=G?aZ(j):void 0,C;if(K&&V)C=`<link rel="preload" as="image" imagesrcset="${V}" />`;return{html:k,preloadLink:C,css:P.length>0?P.join(`
850
+ </picture>`;let P=[];if(Z.placeholder)P.push(u$);let S=G?aZ(j):void 0,b;if(K&&V)b=`<link rel="preload" as="image" imagesrcset="${V}" />`;return{html:k,preloadLink:b,css:P.length>0?P.join(`
851
851
  `):void 0,script:S}}async function tZ($,Z,X){let Y={src:Z.src,processed:!0,variants:[],placeholder:Z.placeholder?.dataURL,originalWidth:Z.placeholder?.width,originalHeight:Z.placeholder?.height};for(let[Q,J]of Object.entries(Z.byFormat))if(J)Y.variants.push(...J);return o4($,Y,X)}var rZ=!1,n4=80,e5="async",$7="lazy",sZ=!1;var a4=M(()=>{i5();x4()});function e4(){return $$({name:"img",hasEndTag:!1,description:"Render an optimized responsive image with srcset and lazy loading",transform:async($,Z,X,Y)=>{let{src:Q,alt:J,options:G}=UW($,Z,X);if(!Q)return console.warn("@img directive: missing src argument"),"<!-- @img: missing src -->";let K={src:Q,alt:J||"",widths:G.widths||W1,formats:G.formats||x1,quality:G.quality,sizes:G.sizes,dpr:G.dpr,params:G.params,placeholder:G.placeholder,placeholderOptions:G.placeholderOptions,lazy:G.lazy!==!1,priority:G.priority||!1,loading:G.loading,decoding:G.decoding,fetchpriority:G.fetchpriority,objectFit:G.objectFit,objectPosition:G.objectPosition,class:G.class,style:G.style,id:G.id,width:G.width,height:G.height},W=X.__isDev||!1,B=await K$(K,{isDev:W}),U=B.html;if(B.preloadLink)U=B.preloadLink+`
852
852
  `+U;if(B.css)U+=`
853
853
  <style>${B.css}</style>`;if(B.script)U+=`
@@ -882,7 +882,7 @@ ${A.join(`
882
882
  `),S=`<video ${k.join(" ")}>
883
883
  ${P}
884
884
  Your browser does not support the video tag.
885
- </video>`,C;if(H)C=`
885
+ </video>`,b;if(H)b=`
886
886
  (function() {
887
887
  var video = document.getElementById('${E}');
888
888
  if (!video) return;
@@ -917,7 +917,7 @@ ${P}
917
917
 
918
918
  observer.observe(video);
919
919
  })();
920
- `.trim();return{html:S,script:C}}function wW($,Z,X){let{width:Y=640,height:Q=360}=X,J=X.class,G=X.style,K=X.id||`stx-embed-${Math.random().toString(36).slice(2,8)}`,W,B=null;switch(Z){case"youtube":B=MW($),W=B?`https://www.youtube-nocookie.com/embed/${B}`:$;break;case"vimeo":B=TW($),W=B?`https://player.vimeo.com/video/${B}`:$;break;case"dailymotion":B=$.split("/").pop()||"",W=`https://www.dailymotion.com/embed/video/${B}`;break;case"twitch":B=$.split("/").pop()||"",W=`https://player.twitch.tv/?video=${B}&parent=${typeof window<"u"?window.location.hostname:"localhost"}`;break;default:W=$}let U=[`id="${K}"`,`src="${F0(W)}"`,`width="${Y}"`,`height="${Q}"`,'frameborder="0"',"allowfullscreen",'allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"'];if(J)U.push(`class="${F0(J)}"`);if(G)U.push(`style="${F0(G)}"`);if(X.lazy)U.push('loading="lazy"');return{html:`<div class="stx-video-embed" style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;">
920
+ `.trim();return{html:S,script:b}}function wW($,Z,X){let{width:Y=640,height:Q=360}=X,J=X.class,G=X.style,K=X.id||`stx-embed-${Math.random().toString(36).slice(2,8)}`,W,B=null;switch(Z){case"youtube":B=MW($),W=B?`https://www.youtube-nocookie.com/embed/${B}`:$;break;case"vimeo":B=TW($),W=B?`https://player.vimeo.com/video/${B}`:$;break;case"dailymotion":B=$.split("/").pop()||"",W=`https://www.dailymotion.com/embed/video/${B}`;break;case"twitch":B=$.split("/").pop()||"",W=`https://player.twitch.tv/?video=${B}&parent=${typeof window<"u"?window.location.hostname:"localhost"}`;break;default:W=$}let U=[`id="${K}"`,`src="${F0(W)}"`,`width="${Y}"`,`height="${Q}"`,'frameborder="0"',"allowfullscreen",'allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"'];if(J)U.push(`class="${F0(J)}"`);if(G)U.push(`style="${F0(G)}"`);if(X.lazy)U.push('loading="lazy"');return{html:`<div class="stx-video-embed" style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;">
921
921
  <iframe ${U.join(" ")} style="position:absolute;top:0;left:0;width:100%;height:100%;"></iframe>
922
922
  </div>`}}function RW($,Z={}){let{src:X,sources:Y=[],poster:Q,controls:J=!0,autoplay:G=!1,muted:K=!1,loop:W=!1,preload:B="metadata",playsinline:U=!0,lazy:_=!0,width:z,height:q}=$,j=$.class,H=$.style,L=$.id||`ts-video-${Math.random().toString(36).slice(2,8)}`,F={src:Y.length>0?Y:X,autoplay:G,loop:W,muted:K,playsinline:U,preload:B,poster:Q,controls:J,title:$.title},O=["position: relative",z?`width: ${typeof z==="number"?z+"px":z}`:"width: 100%",q?`height: ${typeof q==="number"?q+"px":q}`:"",H||""].filter(Boolean).join("; "),V=`
923
923
  <div
@@ -1460,8 +1460,8 @@ ${"\x1B[31m"}\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\
1460
1460
  `)}writeToFile($){this.writeQueue=this.writeQueue.then(async()=>{try{let Z=await import("fs"),Y=(await import("path")).dirname(this.logFilePath);if(!Z.existsSync(Y))Z.mkdirSync(Y,{recursive:!0});await this.rotateIfNeeded(Z);let Q=`${this.formatEntry($)}
1461
1461
  `;Z.appendFileSync(this.logFilePath,Q,"utf-8")}catch(Z){if(process.env.STX_DEBUG==="true")console.error("Failed to write to error log:",Z)}})}async rotateIfNeeded($){try{if(!$.existsSync(this.logFilePath))return;if($.statSync(this.logFilePath).size<this.maxFileSize)return;for(let X=this.maxLogFiles-1;X>=1;X--){let Y=`${this.logFilePath}.${X}`,Q=`${this.logFilePath}.${X+1}`;if($.existsSync(Y))if(X>=this.maxLogFiles-1)$.unlinkSync(Y);else $.renameSync(Y,Q)}if(this.maxLogFiles<=1)$.writeFileSync(this.logFilePath,"");else $.renameSync(this.logFilePath,`${this.logFilePath}.1`)}catch(Z){if(process.env.STX_DEBUG==="true")console.error("Failed to rotate error logs:",Z)}}getRecentErrors($=10){return this.errors.slice(-$)}getErrorsByType($){return this.errors.filter((Z)=>Z.error.constructor.name===$)}getErrorsByLevel($){return this.errors.filter((Z)=>Z.level===$)}clear(){this.errors.length=0}async clearLogFile(){try{let $=await import("fs");if($.existsSync(this.logFilePath))$.writeFileSync(this.logFilePath,"","utf-8")}catch($){if(process.env.STX_DEBUG==="true")console.error("Failed to clear error log:",$)}}getStats(){let $={},Z={error:0,warning:0,info:0};for(let X of this.errors){let Y=X.error.constructor.name;$[Y]=($[Y]||0)+1;let Q=X.level||"error";Z[Q]=(Z[Q]||0)+1}return{total:this.errors.length,byType:$,byLevel:Z}}async exportToFile($,Z="json"){let X=await import("fs"),Q=(await import("path")).dirname($);if(!X.existsSync(Q))X.mkdirSync(Q,{recursive:!0});if(Z==="json"){let J=this.errors.map((G)=>({timestamp:G.timestamp.toISOString(),level:G.level||"error",type:G.error.constructor.name,message:G.error.message,stack:G.error.stack,context:G.context}));X.writeFileSync($,JSON.stringify(J,null,2),"utf-8")}else{let J=this.errors.map((G)=>this.formatEntry(G));X.writeFileSync($,J.join(`
1462
1462
 
1463
- `),"utf-8")}}async flush(){await this.writeQueue}}var V6,T0,G5;var wX=M(()=>{z7();V6={isEnabled(){return U7().enableAutoRecovery},fixCommonSyntaxErrors($){let Z=U7();if(!Z.enableAutoRecovery)return{fixed:$,fixes:[]};let X=$,Y=[],Q=(X.match(/\{\{/g)||[]).length,J=(X.match(/\}\}/g)||[]).length;if(Q>J){let K=Q-J;X+="}}".repeat(K),Y.push(`Added ${K} missing closing braces '}}'`)}let G=["if","foreach","for","switch","section"];for(let K of G){let W=(X.match(new RegExp(`@${K}\\b`,"g"))||[]).length,B=(X.match(new RegExp(`@end${K}\\b`,"g"))||[]).length;if(W>B){let U=W-B;for(let _=0;_<U;_++)X+=`
1464
- @end${K}`;Y.push(`Added ${U} missing @end${K}`)}}if(Y.length>0&&Z.logRecoveryWarnings)console.warn("[stx] Auto-recovery applied fixes:"),Y.forEach((K)=>console.warn(` - ${K}`)),console.warn(" Consider fixing these issues in your template.");return{fixed:X,fixes:Y}},createFallbackContent($,Z){if(g1())return`<!-- ${$} failed: ${Z.message} -->`;return"<!-- stx rendering error -->"}};T0=new N6,G5={isDevelopment(){return g1()},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 X=["=== stx Error Report ===",`Time: ${new Date().toISOString()}`,`Error: ${$.message}`,`Type: ${$.constructor.name}`,`Stack: ${$.stack}`];if(Z)X.push(`Context: ${JSON.stringify(Z,null,2)}`);return X.push("========================"),X.join(`
1463
+ `),"utf-8")}}async flush(){await this.writeQueue}}var V6,I0,G5;var wX=M(()=>{z7();V6={isEnabled(){return U7().enableAutoRecovery},fixCommonSyntaxErrors($){let Z=U7();if(!Z.enableAutoRecovery)return{fixed:$,fixes:[]};let X=$,Y=[],Q=(X.match(/\{\{/g)||[]).length,J=(X.match(/\}\}/g)||[]).length;if(Q>J){let K=Q-J;X+="}}".repeat(K),Y.push(`Added ${K} missing closing braces '}}'`)}let G=["if","foreach","for","switch","section"];for(let K of G){let W=(X.match(new RegExp(`@${K}\\b`,"g"))||[]).length,B=(X.match(new RegExp(`@end${K}\\b`,"g"))||[]).length;if(W>B){let U=W-B;for(let _=0;_<U;_++)X+=`
1464
+ @end${K}`;Y.push(`Added ${U} missing @end${K}`)}}if(Y.length>0&&Z.logRecoveryWarnings)console.warn("[stx] Auto-recovery applied fixes:"),Y.forEach((K)=>console.warn(` - ${K}`)),console.warn(" Consider fixing these issues in your template.");return{fixed:X,fixes:Y}},createFallbackContent($,Z){if(g1())return`<!-- ${$} failed: ${Z.message} -->`;return"<!-- stx rendering error -->"}};I0=new N6,G5={isDevelopment(){return g1()},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 X=["=== stx Error Report ===",`Time: ${new Date().toISOString()}`,`Error: ${$.message}`,`Type: ${$.constructor.name}`,`Stack: ${$.stack}`];if(Z)X.push(`Context: ${JSON.stringify(Z,null,2)}`);return X.push("========================"),X.join(`
1465
1465
  `)}}});var RX=()=>{};var MX=M(()=>{K7();AX();wX();RX();z7()});var g0=M(()=>{MX()});function TX($,Z,X,Y){let Q=$;Q=Q.replace(/@meta\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(K,W,B)=>{if(!B&&W.includes(":")){let U=W.split(":"),_=W,z=U.length>1?U[1]:"";if(z&&Z[z])B=Z[z];else if(_.startsWith("og:")&&Z.openGraph&&Z.openGraph[U[1]])B=Z.openGraph[U[1]];else B="";return B?`<meta property="${l(_)}" content="${l(B)}">`:""}return B?`<meta name="${l(W)}" content="${l(B)}">`:""});let J=/@metaTag\s*\(/g,G;while((G=J.exec(Q))!==null){let K=G.index,W=K+G[0].length-1,B=1,U=W+1;while(U<Q.length&&B>0){if(Q[U]==="(")B++;else if(Q[U]===")"){if(B--,B===0)break}U++}if(B!==0)break;let _=Q.substring(W+1,U).trim(),z=U+1,q=(()=>{try{let j=O0(_,Z);if(!j)return"";let H="<meta";if(j.name)H+=` name="${l(String(j.name))}"`;if(j.property)H+=` property="${l(String(j.property))}"`;if(j.httpEquiv)H+=` http-equiv="${l(String(j.httpEquiv))}"`;if(j.content)H+=` content="${l(String(j.content))}"`;return H+=">",H}catch(j){let H=j instanceof Error?j.message:String(j);return n("MetaTag",H,i.EVALUATION_ERROR)}})();Q=Q.substring(0,K)+q+Q.substring(z),J.lastIndex=0}return Q}function IX($,Z,X){let Y=$,Q=/@structuredData\s*\(/g,J;while((J=Q.exec(Y))!==null){let G=J.index,K=G+J[0].length-1,W=1,B=K+1;while(B<Y.length&&W>0){if(Y[B]==="(")W++;else if(Y[B]===")"){if(W--,W===0)break}B++}if(W!==0)break;let U=Y.substring(K+1,B).trim(),_=B+1,z=(()=>{try{let q=O0(U,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 n("StructuredData",j,i.EVALUATION_ERROR)}})();Y=Y.substring(0,G)+z+Y.substring(_),Q.lastIndex=0}return Y}function EX($,Z,X,Y){let Q=$,J=/@seo\s*\(\s*\{/g,G;while((G=J.exec(Q))!==null){let K=Q.indexOf("{",G.index+4),W=1,B=K+1,U=null,_=!1;while(B<Q.length&&W>0){let F=Q[B];if(_){_=!1,B++;continue}if(F==="\\"&&U){_=!0,B++;continue}if(U){if(F===U)U=null;B++;continue}if(F==='"'||F==="'"||F==="`"){U=F,B++;continue}if(F==="{")W++;else if(F==="}")W--;B++}if(W!==0)break;let z=Q.substring(B).match(/^\s*\)/);if(!z)break;let q=B+z[0].length,j=Q.substring(K,B),H=Q.substring(G.index,q),L=((F)=>{try{let O=O0(F,Z);if(!O)return"";let V="";if(O.title)V+=`<title>${l(O.title)}</title>
1466
1466
  `,V+=`<meta name="title" content="${l(O.title)}">
1467
1467
  `;if(O.description)V+=`<meta name="description" content="${l(O.description)}">
@@ -1784,8 +1784,8 @@ ${U}
1784
1784
  customElements.define('${Z}', ${G});
1785
1785
  `}async function bX($,Z,X,Y){if(Z.length<1)return n("WebComponent","@webcomponent directive requires at least the tag name parameter",i.INVALID_DIRECTIVE_SYNTAX);let Q=Z[0].replace(/['"]/g,""),G=(X.__stx_options||{}).componentsDir||"components",K=[B1.join(B1.dirname(Y),G,`${Q}.stx`),B1.join(process.cwd(),G,`${Q}.stx`),B1.join(B1.dirname(Y),`${Q}.stx`)],W=null;for(let _ of K)if(await c(_)){W=await Bun.file(_).text();break}if(!W)return n("WebComponent",`Component file not found: ${Q}.stx`,i.FILE_NOT_FOUND);let B=oW(W,Q);return`<script type="module">
1786
1786
  ${aW(B)}
1787
- </script>`}var A6=M(()=>{g0();J0()});var yX={};o(yX,{timingPlugin:()=>ZU,pluginManager:()=>PX,definePlugin:()=>K5,debugPlugin:()=>$U,createVariablesPlugin:()=>XU,createFilterPlugin:()=>eW,createDirectivePlugin:()=>tW,PluginManager:()=>w6});function K5($){return $}class w6{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 X of $.dependencies)if(!this.plugins.has(X))throw Error(`Plugin "${$.name}" depends on "${X}" 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[X,Y]of this.plugins)if(Y.dependencies?.includes($))throw Error(`Cannot unregister "${$}" because "${X}" 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 X=await Z.onError($);if(X){if(X.template!==void 0)$.template=X.template;if(X.context)$.context={...$.context,...X.context};if(X.metadata)$.metadata={...$.metadata,...X.metadata};if(X.skip)return $}}catch(X){console.error(`Error in plugin "${Z.name}" onError hook:`,X)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort(($,Z)=>($.priority??100)-(Z.priority??100))}async runHooks($,Z){let X={...Z};for(let Y of this.sortedPlugins){let Q=Y[$];if(Q)try{let J=await Q(X);if(J){if(J.template!==void 0)X.template=J.template;if(J.context)X.context={...X.context,...J.context};if(J.metadata)X.metadata={...X.metadata,...J.metadata};if(J.skip)break}}catch(J){console.error(`Error in plugin "${Y.name}" ${$} hook:`,J)}}return X}async runDirectiveHooks($,Z,X){let Y={...X};for(let Q of this.sortedPlugins){let J=Q[$];if(J)try{let G=await J(Z,Y);if(G){if(G.template!==void 0)Y.template=G.template;if(G.context)Y.context={...Y.context,...G.context};if(G.metadata)Y.metadata={...Y.metadata,...G.metadata};if(G.skip)break}}catch(G){console.error(`Error in plugin "${Q.name}" ${$} hook:`,G)}}return Y}}function tW($,Z,X={}){return{name:$,...X,registerDirectives:()=>Z}}function eW($,Z,X={}){return{name:$,...X,registerFilters:()=>Z}}function XU($){return K5({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(Z){return{context:{...Z.context,...$}}}})}var PX,$U,ZU;var R6=M(()=>{PX=new w6;$U=K5({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)}}),ZU=K5({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 X=performance.now()-Z;console.log(`[stx-timing] Processing took ${X.toFixed(2)}ms`)}}})});var vX={};o(vX,{validateConfig:()=>GU,loadStxConfig:()=>t0,defineStxConfig:()=>QU,defaultConfig:()=>a0,config:()=>U$});import M6 from"fs";import I0 from"path";import{loadConfigWithResult as YU}from"bunfig";function JU($,Z){let X=Z||"pages";if($)return{root:$,pagesDir:X};let Y=I0.join(process.cwd(),"resources","views"),Q=I0.join(process.cwd(),"resources","layouts");if(M6.existsSync(Y)&&M6.existsSync(Q))return{root:"resources",pagesDir:"views"};let J=I0.join(process.cwd(),"resources","views","pages");if(M6.existsSync(J))return{root:"resources/views",pagesDir:X};return{root:".",pagesDir:X}}async function t0($){if(!$){if(W$)return W$;if(H7)return H7}let Z=$?I0.resolve($):process.cwd(),X=xX.get(Z);if(X)return X;let Y=(async()=>{let J=(await YU({name:"stx",alias:"ui",cwd:Z,defaultConfig:a0,verbose:!1})).config,G=JU(J.root,J.pagesDir);if(J.root=G.root,J.pagesDir=G.pagesDir,J.root&&J.root!=="."){let K=J.root;if(J.partialsDir&&!I0.isAbsolute(J.partialsDir))J.partialsDir=I0.join(K,J.partialsDir);if(J.componentsDir&&!I0.isAbsolute(J.componentsDir))J.componentsDir=I0.join(K,J.componentsDir);if(J.layoutsDir&&!I0.isAbsolute(J.layoutsDir))J.layoutsDir=I0.join(K,J.layoutsDir)}if(J.plugins&&J.plugins.length>0){let{pluginManager:K}=await Promise.resolve().then(() => (R6(),yX)),W=[],B=[];for(let U of J.plugins){let _=typeof U==="string"?U:U[0],z=typeof U==="string"?{}:U[1]||{};try{let q,j;try{q=await import(_),j=I0.dirname(G0.resolve(_))}catch{let L=I0.resolve(process.cwd(),_);q=await import(L),j=I0.dirname(L)}let H=q.default||q;if(K.register(H,J),H.components){let L=I0.resolve(j,H.components);W.push(L)}if(H.pages){let L=I0.resolve(j,H.pages),F=z.path||"/";B.push({dir:L,prefix:F})}if(H.setup){let L={addDirective:(F)=>{J.customDirectives=J.customDirectives||[],J.customDirectives.push(F)},addRoute:(F,O)=>{J.apiRoutes=J.apiRoutes||{},J.apiRoutes[F]=O},addMiddleware:(F)=>{J.middleware=J.middleware||[],J.middleware.push(F)},pluginDir:j,config:J};await H.setup(z,L)}console.log(`[stx] Plugin loaded: ${H.name||_}`)}catch(q){console.warn(`[stx] Failed to load plugin ${_}:`,q.message)}}J._pluginComponentDirs=W,J._pluginPageDirs=B}return J})();if(xX.set(Z,Y),!$)H7=Y,Y.then((Q)=>{W$=Q}).catch(()=>{});return Y}function QU($){return $}function GU($){let Z=[],X=[];if($.partialsDir!==void 0&&typeof $.partialsDir!=="string")Z.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if($.componentsDir!==void 0&&typeof $.componentsDir!=="string")Z.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if($.cache!==void 0&&typeof $.cache!=="boolean")Z.push({path:"cache",message:"cache must be a boolean",severity:"error"});if($.debug!==void 0&&typeof $.debug!=="boolean")Z.push({path:"debug",message:"debug must be a boolean",severity:"error"});if($.streaming){if($.streaming.bufferSize!==void 0){if(typeof $.streaming.bufferSize!=="number"||$.streaming.bufferSize<=0)Z.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if($.streaming.timeout!==void 0){if(typeof $.streaming.timeout!=="number"||$.streaming.timeout<=0)Z.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if($.streaming.strategy!==void 0){let Y=["auto","manual","sections"];if(!Y.includes($.streaming.strategy))Z.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${Y.join(", ")}`,severity:"error"})}}if($.i18n){if($.i18n.format!==void 0){let Y=["json","yaml","yml","js"];if(!Y.includes($.i18n.format))Z.push({path:"i18n.format",message:`i18n.format must be one of: ${Y.join(", ")}`,severity:"error"})}}if($.animation){if($.animation.defaultDuration!==void 0){if(typeof $.animation.defaultDuration!=="number"||$.animation.defaultDuration<0)Z.push({path:"animation.defaultDuration",message:"animation.defaultDuration must be a non-negative number",severity:"error"})}if($.animation.staggerDelay!==void 0){if(typeof $.animation.staggerDelay!=="number"||$.animation.staggerDelay<0)Z.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if($.a11y){if($.a11y.level!==void 0){let Y=["AA","AAA"];if(!Y.includes($.a11y.level))Z.push({path:"a11y.level",message:`a11y.level must be one of: ${Y.join(", ")}`,severity:"error"})}}if($.hydration){if($.hydration.mode!==void 0){let Y=["progressive","islands"];if(!Y.includes($.hydration.mode))Z.push({path:"hydration.mode",message:`hydration.mode must be one of: ${Y.join(", ")}`,severity:"error"})}if($.hydration.preload!==void 0){let Y=["none","eager","lazy"];if(!Y.includes($.hydration.preload))Z.push({path:"hydration.preload",message:`hydration.preload must be one of: ${Y.join(", ")}`,severity:"error"})}}if($.customDirectives)if(!Array.isArray($.customDirectives))Z.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else $.customDirectives.forEach((Y,Q)=>{if(!Y.name||typeof Y.name!=="string")Z.push({path:`customDirectives[${Q}].name`,message:"Custom directive must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")Z.push({path:`customDirectives[${Q}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if($.middleware)if(!Array.isArray($.middleware))Z.push({path:"middleware",message:"middleware must be an array",severity:"error"});else $.middleware.forEach((Y,Q)=>{if(!Y.name||typeof Y.name!=="string")Z.push({path:`middleware[${Q}].name`,message:"Middleware must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")Z.push({path:`middleware[${Q}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!Y.timing||!["before","after"].includes(Y.timing))Z.push({path:`middleware[${Q}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if($.debug===!0&&$.cache===!0)X.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)X.push({path:"seo.defaultConfig.title",message:"SEO is enabled but no default title is set",severity:"warning"});if($.pwa){if($.pwa.enabled===!0&&!$.pwa.manifest?.name)Z.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if($.pwa.manifest?.display!==void 0){let Y=["fullscreen","standalone","minimal-ui","browser"];if(!Y.includes($.pwa.manifest.display))Z.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${Y.join(", ")}`,severity:"error"})}if($.pwa.manifest?.orientation!==void 0){let Y=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!Y.includes($.pwa.manifest.orientation))Z.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${Y.join(", ")}`,severity:"error"})}if($.pwa.routes){let Y=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];$.pwa.routes.forEach((Q,J)=>{if(!Q.pattern||typeof Q.pattern!=="string")Z.push({path:`pwa.routes[${J}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!Y.includes(Q.strategy))Z.push({path:`pwa.routes[${J}].strategy`,message:`PWA route strategy must be one of: ${Y.join(", ")}`,severity:"error"});if(Q.maxAgeSeconds!==void 0&&(typeof Q.maxAgeSeconds!=="number"||Q.maxAgeSeconds<0))Z.push({path:`pwa.routes[${J}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(Q.maxEntries!==void 0&&(typeof Q.maxEntries!=="number"||Q.maxEntries<1))Z.push({path:`pwa.routes[${J}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if($.pwa.icons?.sizes){if(!Array.isArray($.pwa.icons.sizes))Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if($.pwa.icons.sizes.filter((Q)=>typeof Q!=="number"||Q<16||Q>1024).length>0)Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if($.pwa.icons?.purpose){let Y=["any","maskable","monochrome"];if($.pwa.icons.purpose.filter((J)=>!Y.includes(J)).length>0)Z.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${Y.join(", ")}`,severity:"error"})}if($.pwa.enabled===!0&&!$.pwa.icons?.src)X.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)X.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:Z.length===0,errors:Z,warnings:X}}var a0,W$=null,xX,H7=null,U$;var E0=M(()=>{u5();m5();k4();p5();c5();$6();O6();FX();q7();A6();a0={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:gZ,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:bX,hasEndTag:!1,description:"Include a web component in the template"},wZ,RZ,kX,SX,MZ,IZ,EZ,TZ,CZ,yZ,Z7,G7,...LX],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}};xX=new Map;U$=new Proxy(a0,{get($,Z){if(W$&&Z in W$)return W$[Z];if(!H7)t0().catch((X)=>{console.warn("[stx] Failed to load config file:",X?.message||X)});return $[Z]}})});import fX from"fs";import Y0 from"path";function E6($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function I6($,Z){if(h1.has($))h1.delete($);else if(h1.size>=KU)h1.delete(h1.keys().next().value);h1.set($,Z)}async function WU($){if(!_1)return null;try{let Z=Bun.file(Y0.join(_1,`cw-${E6($)}.css`));if(!await Z.exists())return null;return await Z.text()}catch{return null}}async function UU($,Z){if(!_1)return;try{if(!fX.existsSync(_1))fX.mkdirSync(_1,{recursive:!0});await Bun.write(Y0.join(_1,`cw-${E6($)}.css`),Z)}catch{}}async function hX($){try{let Z=await import($);if(Z&&Z.CSSGenerator)return{CSSGenerator:Z.CSSGenerator,config:Z.config,build:Z.build,defaultConfig:Z.defaultConfig}}catch{}return null}function BU(){let $=[],Z=process.env.HOME||process.env.USERPROFILE||"",X=process.cwd();while(X!==Y0.dirname(X))$.push(Y0.join(X,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(Y0.join(X,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(Y0.join(X,"pantry","@cwcss","crosswind","dist","index.js")),$.push(Y0.join(X,"pantry","@cwcss","crosswind","src","index.ts")),$.push(Y0.join(X,"node_modules","@stacksjs","crosswind","dist","index.js")),$.push(Y0.join(X,"pantry","@stacksjs","crosswind","dist","index.js")),X=Y0.dirname(X);if(Z){let Y=[Y0.join(Z,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),Y0.join(Z,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),Y0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),Y0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),Y0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),Y0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...Y)}return $.push(Y0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),$.push(Y0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),$}async function _U(){if(gX)return W5;gX=!0;try{let $=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let X of $){let Y=await hX(X);if(Y){if(W5=Y,!process.env.STACKS_DEV_QUIET)console.log(`${U0.green}[Crosswind]${U0.reset} CSS engine loaded`);return W5}}let Z=BU();for(let X of Z)if(await Bun.file(X).exists()){let Y=await hX(X);if(Y){if(W5=Y,!process.env.STACKS_DEV_QUIET)console.log(`${U0.green}[Crosswind]${U0.reset} CSS engine loaded from ${Y0.dirname(Y0.dirname(X))}`);return W5}}throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${U0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${U0.reset}`),console.warn(`${U0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${U0.reset}`),null}}async function zU($){try{let{loadConfigWithResult:Z}=await import("bunfig"),X=await Z({name:"crosswind",cwd:$,defaultConfig:{},checkEnv:!1,verbose:!1});if(!X?.path||!X.config||Object.keys(X.config).length===0)return null;let Y=Y0.relative($,X.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${U0.green}[Crosswind]${U0.reset} Loaded config from ${Y||X.path}`);return X.config}catch(Z){if(Z instanceof Error&&Z.name==="ConfigNotFoundError")return null;return console.warn(`${U0.yellow}[Crosswind]${U0.reset} Failed to load crosswind config:`,Z instanceof Error?Z.message:Z),null}}function dX($){let Z=new Set,X=/class\s*=\s*["']([^"']+)["']/gi,Y=X.exec($);while(Y!==null){for(let G of Y[1].split(/\s+/))if(G.trim())Z.add(G.trim());Y=X.exec($)}let Q=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,J=Q.exec($);while(J!==null){let G=J[1].match(/'([^']+)'/g);if(G){for(let K of G)for(let W of K.slice(1,-1).split(/\s+/))if(W.trim())Z.add(W.trim())}J=Q.exec($)}return Z}async function uX($,Z){try{let X=await _U();if(!X)return"";let Y=dX($);if(Y.size===0)return"";let Q=Z?Y0.resolve(Z):process.cwd();if(!_1)_1=Y0.join(Q,".stx/cache");let J=[...Y].sort().join(" "),G=`${T6||"default"}::${J}`,K=h1.get(G);if(K!==void 0)return I6(G,K),K;let W=await WU(G);if(W!==null)return I6(G,W),W;if(!O7){let A=null;try{let{loadStxConfig:w}=await Promise.resolve().then(() => (E0(),vX)),R=await w(Q);if(R.css)if(typeof R.css==="string"){let T=Y0.isAbsolute(R.css)?R.css:Y0.resolve(Q,R.css);if(await Bun.file(T).exists()){let I=await import(T);A=I.default||I,console.log(`${U0.green}[Crosswind]${U0.reset} Loaded config from stx.config.ts \u2192 ${R.css}`)}}else{if(A={...R.css,content:R.css.content||[],preflight:R.css.preflight??!0,minify:R.css.minify??!1},R.css.config){let T=Y0.isAbsolute(R.css.config)?R.css.config:Y0.resolve(Q,R.css.config);if(await Bun.file(T).exists()){let I=await import(T);A={...I.default||I,...A}}}console.log(`${U0.green}[Crosswind]${U0.reset} Using inline CSS config from stx.config.ts`)}}catch{}O7=A||await zU(Q);try{T6=E6(JSON.stringify(O7??{}))}catch{T6="unhashable"}}let B=X.defaultConfig||X.config,U=O7||{},_=B.theme||{},q=(U.theme||{}).extend||{},j={..._};if(Object.keys(q).length>0)j.extend=q;let H=[...B.safelist||[],...U.safelist||[]],L={...B,...U,content:[],output:"",preflight:!0,minify:!1,theme:j,safelist:H},F=new X.CSSGenerator(L);for(let A of H)F.generate(A);for(let A of Y)F.generate(A);let O=F.toCSS(!0,!1),V=L.shortcuts||U.shortcuts||{};for(let[A,w]of Object.entries(V)){if(!Y.has(A)&&!H.includes(A))continue;let R=w.split(/\s+/).filter(Boolean);for(let T of R)F.generate(T)}O=F.toCSS(!0,!1);let N=O.split(`
1788
- `);for(let[A,w]of Object.entries(V)){if(!Y.has(A)&&!H.includes(A))continue;let R=w.split(/\s+/).filter(Boolean),T=[],I=[];for(let E of R){let D=E.startsWith("dark:"),S=`.${(D?E.slice(5):E).replace(/\//g,"\\/").replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%")}`;for(let C=0;C<N.length;C++){let y=N[C].trim();if(y===`${S} {`||y.startsWith(`${S} {`)){let u=C,f="";while(u<N.length){if(f+=N[u],N[u].includes("}"))break;u++}let m=f.match(/\{([^}]+)\}/);if(m)if(D)I.push(m[1].trim());else T.push(m[1].trim());break}}}if(T.length)O+=`
1787
+ </script>`}var A6=M(()=>{g0();J0()});var yX={};o(yX,{timingPlugin:()=>ZU,pluginManager:()=>PX,definePlugin:()=>K5,debugPlugin:()=>$U,createVariablesPlugin:()=>XU,createFilterPlugin:()=>eW,createDirectivePlugin:()=>tW,PluginManager:()=>w6});function K5($){return $}class w6{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 X of $.dependencies)if(!this.plugins.has(X))throw Error(`Plugin "${$.name}" depends on "${X}" 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[X,Y]of this.plugins)if(Y.dependencies?.includes($))throw Error(`Cannot unregister "${$}" because "${X}" 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 X=await Z.onError($);if(X){if(X.template!==void 0)$.template=X.template;if(X.context)$.context={...$.context,...X.context};if(X.metadata)$.metadata={...$.metadata,...X.metadata};if(X.skip)return $}}catch(X){console.error(`Error in plugin "${Z.name}" onError hook:`,X)}return null}sortPlugins(){this.sortedPlugins=Array.from(this.plugins.values()).sort(($,Z)=>($.priority??100)-(Z.priority??100))}async runHooks($,Z){let X={...Z};for(let Y of this.sortedPlugins){let Q=Y[$];if(Q)try{let J=await Q(X);if(J){if(J.template!==void 0)X.template=J.template;if(J.context)X.context={...X.context,...J.context};if(J.metadata)X.metadata={...X.metadata,...J.metadata};if(J.skip)break}}catch(J){console.error(`Error in plugin "${Y.name}" ${$} hook:`,J)}}return X}async runDirectiveHooks($,Z,X){let Y={...X};for(let Q of this.sortedPlugins){let J=Q[$];if(J)try{let G=await J(Z,Y);if(G){if(G.template!==void 0)Y.template=G.template;if(G.context)Y.context={...Y.context,...G.context};if(G.metadata)Y.metadata={...Y.metadata,...G.metadata};if(G.skip)break}}catch(G){console.error(`Error in plugin "${Q.name}" ${$} hook:`,G)}}return Y}}function tW($,Z,X={}){return{name:$,...X,registerDirectives:()=>Z}}function eW($,Z,X={}){return{name:$,...X,registerFilters:()=>Z}}function XU($){return K5({name:"stx-variables",version:"1.0.0",description:"Adds predefined variables to template context",beforeProcess(Z){return{context:{...Z.context,...$}}}})}var PX,$U,ZU;var R6=M(()=>{PX=new w6;$U=K5({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)}}),ZU=K5({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 X=performance.now()-Z;console.log(`[stx-timing] Processing took ${X.toFixed(2)}ms`)}}})});var vX={};o(vX,{validateConfig:()=>GU,loadStxConfig:()=>t0,defineStxConfig:()=>QU,defaultConfig:()=>a0,config:()=>U$});import M6 from"fs";import E0 from"path";import{loadConfigWithResult as YU}from"bunfig";function JU($,Z){let X=Z||"pages";if($)return{root:$,pagesDir:X};let Y=E0.join(process.cwd(),"resources","views"),Q=E0.join(process.cwd(),"resources","layouts");if(M6.existsSync(Y)&&M6.existsSync(Q))return{root:"resources",pagesDir:"views"};let J=E0.join(process.cwd(),"resources","views","pages");if(M6.existsSync(J))return{root:"resources/views",pagesDir:X};return{root:".",pagesDir:X}}async function t0($){if(!$){if(W$)return W$;if(H7)return H7}let Z=$?E0.resolve($):process.cwd(),X=xX.get(Z);if(X)return X;let Y=(async()=>{let J=(await YU({name:"stx",alias:"ui",cwd:Z,defaultConfig:a0,verbose:!1})).config,G=JU(J.root,J.pagesDir);if(J.root=G.root,J.pagesDir=G.pagesDir,J.root&&J.root!=="."){let K=J.root;if(J.partialsDir&&!E0.isAbsolute(J.partialsDir))J.partialsDir=E0.join(K,J.partialsDir);if(J.componentsDir&&!E0.isAbsolute(J.componentsDir))J.componentsDir=E0.join(K,J.componentsDir);if(J.layoutsDir&&!E0.isAbsolute(J.layoutsDir))J.layoutsDir=E0.join(K,J.layoutsDir)}if(J.plugins&&J.plugins.length>0){let{pluginManager:K}=await Promise.resolve().then(() => (R6(),yX)),W=[],B=[];for(let U of J.plugins){let _=typeof U==="string"?U:U[0],z=typeof U==="string"?{}:U[1]||{};try{let q,j;try{q=await import(_),j=E0.dirname(G0.resolve(_))}catch{let L=E0.resolve(process.cwd(),_);q=await import(L),j=E0.dirname(L)}let H=q.default||q;if(K.register(H,J),H.components){let L=E0.resolve(j,H.components);W.push(L)}if(H.pages){let L=E0.resolve(j,H.pages),F=z.path||"/";B.push({dir:L,prefix:F})}if(H.setup){let L={addDirective:(F)=>{J.customDirectives=J.customDirectives||[],J.customDirectives.push(F)},addRoute:(F,O)=>{J.apiRoutes=J.apiRoutes||{},J.apiRoutes[F]=O},addMiddleware:(F)=>{J.middleware=J.middleware||[],J.middleware.push(F)},pluginDir:j,config:J};await H.setup(z,L)}console.log(`[stx] Plugin loaded: ${H.name||_}`)}catch(q){console.warn(`[stx] Failed to load plugin ${_}:`,q.message)}}J._pluginComponentDirs=W,J._pluginPageDirs=B}return J})();if(xX.set(Z,Y),!$)H7=Y,Y.then((Q)=>{W$=Q}).catch(()=>{});return Y}function QU($){return $}function GU($){let Z=[],X=[];if($.partialsDir!==void 0&&typeof $.partialsDir!=="string")Z.push({path:"partialsDir",message:"partialsDir must be a string",severity:"error"});if($.componentsDir!==void 0&&typeof $.componentsDir!=="string")Z.push({path:"componentsDir",message:"componentsDir must be a string",severity:"error"});if($.cache!==void 0&&typeof $.cache!=="boolean")Z.push({path:"cache",message:"cache must be a boolean",severity:"error"});if($.debug!==void 0&&typeof $.debug!=="boolean")Z.push({path:"debug",message:"debug must be a boolean",severity:"error"});if($.streaming){if($.streaming.bufferSize!==void 0){if(typeof $.streaming.bufferSize!=="number"||$.streaming.bufferSize<=0)Z.push({path:"streaming.bufferSize",message:"streaming.bufferSize must be a positive number",severity:"error"})}if($.streaming.timeout!==void 0){if(typeof $.streaming.timeout!=="number"||$.streaming.timeout<=0)Z.push({path:"streaming.timeout",message:"streaming.timeout must be a positive number",severity:"error"})}if($.streaming.strategy!==void 0){let Y=["auto","manual","sections"];if(!Y.includes($.streaming.strategy))Z.push({path:"streaming.strategy",message:`streaming.strategy must be one of: ${Y.join(", ")}`,severity:"error"})}}if($.i18n){if($.i18n.format!==void 0){let Y=["json","yaml","yml","js"];if(!Y.includes($.i18n.format))Z.push({path:"i18n.format",message:`i18n.format must be one of: ${Y.join(", ")}`,severity:"error"})}}if($.animation){if($.animation.defaultDuration!==void 0){if(typeof $.animation.defaultDuration!=="number"||$.animation.defaultDuration<0)Z.push({path:"animation.defaultDuration",message:"animation.defaultDuration must be a non-negative number",severity:"error"})}if($.animation.staggerDelay!==void 0){if(typeof $.animation.staggerDelay!=="number"||$.animation.staggerDelay<0)Z.push({path:"animation.staggerDelay",message:"animation.staggerDelay must be a non-negative number",severity:"error"})}}if($.a11y){if($.a11y.level!==void 0){let Y=["AA","AAA"];if(!Y.includes($.a11y.level))Z.push({path:"a11y.level",message:`a11y.level must be one of: ${Y.join(", ")}`,severity:"error"})}}if($.hydration){if($.hydration.mode!==void 0){let Y=["progressive","islands"];if(!Y.includes($.hydration.mode))Z.push({path:"hydration.mode",message:`hydration.mode must be one of: ${Y.join(", ")}`,severity:"error"})}if($.hydration.preload!==void 0){let Y=["none","eager","lazy"];if(!Y.includes($.hydration.preload))Z.push({path:"hydration.preload",message:`hydration.preload must be one of: ${Y.join(", ")}`,severity:"error"})}}if($.customDirectives)if(!Array.isArray($.customDirectives))Z.push({path:"customDirectives",message:"customDirectives must be an array",severity:"error"});else $.customDirectives.forEach((Y,Q)=>{if(!Y.name||typeof Y.name!=="string")Z.push({path:`customDirectives[${Q}].name`,message:"Custom directive must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")Z.push({path:`customDirectives[${Q}].handler`,message:"Custom directive must have a handler function",severity:"error"})});if($.middleware)if(!Array.isArray($.middleware))Z.push({path:"middleware",message:"middleware must be an array",severity:"error"});else $.middleware.forEach((Y,Q)=>{if(!Y.name||typeof Y.name!=="string")Z.push({path:`middleware[${Q}].name`,message:"Middleware must have a name string",severity:"error"});if(!Y.handler||typeof Y.handler!=="function")Z.push({path:`middleware[${Q}].handler`,message:"Middleware must have a handler function",severity:"error"});if(!Y.timing||!["before","after"].includes(Y.timing))Z.push({path:`middleware[${Q}].timing`,message:'Middleware timing must be "before" or "after"',severity:"error"})});if($.debug===!0&&$.cache===!0)X.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)X.push({path:"seo.defaultConfig.title",message:"SEO is enabled but no default title is set",severity:"warning"});if($.pwa){if($.pwa.enabled===!0&&!$.pwa.manifest?.name)Z.push({path:"pwa.manifest.name",message:"PWA manifest name is required when PWA is enabled",severity:"error"});if($.pwa.manifest?.display!==void 0){let Y=["fullscreen","standalone","minimal-ui","browser"];if(!Y.includes($.pwa.manifest.display))Z.push({path:"pwa.manifest.display",message:`PWA display must be one of: ${Y.join(", ")}`,severity:"error"})}if($.pwa.manifest?.orientation!==void 0){let Y=["portrait","landscape","any","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];if(!Y.includes($.pwa.manifest.orientation))Z.push({path:"pwa.manifest.orientation",message:`PWA orientation must be one of: ${Y.join(", ")}`,severity:"error"})}if($.pwa.routes){let Y=["cache-first","network-first","stale-while-revalidate","network-only","cache-only"];$.pwa.routes.forEach((Q,J)=>{if(!Q.pattern||typeof Q.pattern!=="string")Z.push({path:`pwa.routes[${J}].pattern`,message:"PWA route must have a pattern string",severity:"error"});if(!Y.includes(Q.strategy))Z.push({path:`pwa.routes[${J}].strategy`,message:`PWA route strategy must be one of: ${Y.join(", ")}`,severity:"error"});if(Q.maxAgeSeconds!==void 0&&(typeof Q.maxAgeSeconds!=="number"||Q.maxAgeSeconds<0))Z.push({path:`pwa.routes[${J}].maxAgeSeconds`,message:"PWA route maxAgeSeconds must be a non-negative number",severity:"error"});if(Q.maxEntries!==void 0&&(typeof Q.maxEntries!=="number"||Q.maxEntries<1))Z.push({path:`pwa.routes[${J}].maxEntries`,message:"PWA route maxEntries must be a positive number",severity:"error"})})}if($.pwa.icons?.sizes){if(!Array.isArray($.pwa.icons.sizes))Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be an array of numbers",severity:"error"});else if($.pwa.icons.sizes.filter((Q)=>typeof Q!=="number"||Q<16||Q>1024).length>0)Z.push({path:"pwa.icons.sizes",message:"PWA icon sizes must be numbers between 16 and 1024",severity:"error"})}if($.pwa.icons?.purpose){let Y=["any","maskable","monochrome"];if($.pwa.icons.purpose.filter((J)=>!Y.includes(J)).length>0)Z.push({path:"pwa.icons.purpose",message:`PWA icon purpose must be one of: ${Y.join(", ")}`,severity:"error"})}if($.pwa.enabled===!0&&!$.pwa.icons?.src)X.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)X.push({path:"pwa.manifest.themeColor",message:"PWA theme color not set, defaulting to black",severity:"warning"})}return{valid:Z.length===0,errors:Z,warnings:X}}var a0,W$=null,xX,H7=null,U$;var D0=M(()=>{u5();m5();k4();p5();c5();$6();O6();FX();q7();A6();a0={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:gZ,hasEndTag:!0,description:"Render markdown content to HTML"},{name:"webcomponent",handler:bX,hasEndTag:!1,description:"Include a web component in the template"},wZ,RZ,kX,SX,MZ,IZ,EZ,TZ,CZ,yZ,Z7,G7,...LX],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}};xX=new Map;U$=new Proxy(a0,{get($,Z){if(W$&&Z in W$)return W$[Z];if(!H7)t0().catch((X)=>{console.warn("[stx] Failed to load config file:",X?.message||X)});return $[Z]}})});import fX from"fs";import Y0 from"path";function E6($){return Bun.hash($).toString(16).padStart(16,"0").slice(0,16)}function I6($,Z){if(h1.has($))h1.delete($);else if(h1.size>=KU)h1.delete(h1.keys().next().value);h1.set($,Z)}async function WU($){if(!_1)return null;try{let Z=Bun.file(Y0.join(_1,`cw-${E6($)}.css`));if(!await Z.exists())return null;return await Z.text()}catch{return null}}async function UU($,Z){if(!_1)return;try{if(!fX.existsSync(_1))fX.mkdirSync(_1,{recursive:!0});await Bun.write(Y0.join(_1,`cw-${E6($)}.css`),Z)}catch{}}async function hX($){try{let Z=await import($);if(Z&&Z.CSSGenerator)return{CSSGenerator:Z.CSSGenerator,config:Z.config,build:Z.build,defaultConfig:Z.defaultConfig}}catch{}return null}function BU(){let $=[],Z=process.env.HOME||process.env.USERPROFILE||"",X=process.cwd();while(X!==Y0.dirname(X))$.push(Y0.join(X,"node_modules","@cwcss","crosswind","dist","index.js")),$.push(Y0.join(X,"node_modules","@cwcss","crosswind","src","index.ts")),$.push(Y0.join(X,"pantry","@cwcss","crosswind","dist","index.js")),$.push(Y0.join(X,"pantry","@cwcss","crosswind","src","index.ts")),$.push(Y0.join(X,"node_modules","@stacksjs","crosswind","dist","index.js")),$.push(Y0.join(X,"pantry","@stacksjs","crosswind","dist","index.js")),X=Y0.dirname(X);if(Z){let Y=[Y0.join(Z,"Code","Tools","crosswind","packages","crosswind","dist","index.js"),Y0.join(Z,"Code","Tools","crosswind","packages","crosswind","src","index.ts"),Y0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","dist","index.js"),Y0.join(Z,"repos","stacks-org","crosswind","packages","crosswind","src","index.ts"),Y0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@cwcss","crosswind","dist","index.js"),Y0.join(Z,"Code","Tools","stx","packages","stx","node_modules","@stacksjs","crosswind","dist","index.js")];$.push(...Y)}return $.push(Y0.join(process.cwd(),"..","crosswind","packages","crosswind","dist","index.js")),$.push(Y0.join(process.cwd(),"..","crosswind","packages","crosswind","src","index.ts")),$}async function _U(){if(gX)return W5;gX=!0;try{let $=["@cwcss/crosswind","@cwcss/crosswind/dist/index.js","@stacksjs/crosswind","@stacksjs/crosswind/dist/index.js"];for(let X of $){let Y=await hX(X);if(Y){if(W5=Y,!process.env.STACKS_DEV_QUIET)console.log(`${U0.green}[Crosswind]${U0.reset} CSS engine loaded`);return W5}}let Z=BU();for(let X of Z)if(await Bun.file(X).exists()){let Y=await hX(X);if(Y){if(W5=Y,!process.env.STACKS_DEV_QUIET)console.log(`${U0.green}[Crosswind]${U0.reset} CSS engine loaded from ${Y0.dirname(Y0.dirname(X))}`);return W5}}throw Error("Crosswind CSSGenerator not found in any location")}catch{return console.warn(`${U0.yellow}[Crosswind] CSS engine not available, Tailwind styles will not be generated${U0.reset}`),console.warn(`${U0.yellow}Run 'bun add @stacksjs/crosswind' to enable CSS generation${U0.reset}`),null}}async function zU($){try{let{loadConfigWithResult:Z}=await import("bunfig"),X=await Z({name:"crosswind",cwd:$,defaultConfig:{},checkEnv:!1,verbose:!1});if(!X?.path||!X.config||Object.keys(X.config).length===0)return null;let Y=Y0.relative($,X.path);if(!process.env.STACKS_DEV_QUIET)console.log(`${U0.green}[Crosswind]${U0.reset} Loaded config from ${Y||X.path}`);return X.config}catch(Z){if(Z instanceof Error&&Z.name==="ConfigNotFoundError")return null;return console.warn(`${U0.yellow}[Crosswind]${U0.reset} Failed to load crosswind config:`,Z instanceof Error?Z.message:Z),null}}function dX($){let Z=new Set,X=/class\s*=\s*["']([^"']+)["']/gi,Y=X.exec($);while(Y!==null){for(let G of Y[1].split(/\s+/))if(G.trim())Z.add(G.trim());Y=X.exec($)}let Q=/(?:x-class|:class)\s*=\s*"([^"]+)"/gi,J=Q.exec($);while(J!==null){let G=J[1].match(/'([^']+)'/g);if(G){for(let K of G)for(let W of K.slice(1,-1).split(/\s+/))if(W.trim())Z.add(W.trim())}J=Q.exec($)}return Z}async function uX($,Z){try{let X=await _U();if(!X)return"";let Y=dX($);if(Y.size===0)return"";let Q=Z?Y0.resolve(Z):process.cwd();if(!_1)_1=Y0.join(Q,".stx/cache");let J=[...Y].sort().join(" "),G=`${T6||"default"}::${J}`,K=h1.get(G);if(K!==void 0)return I6(G,K),K;let W=await WU(G);if(W!==null)return I6(G,W),W;if(!O7){let A=null;try{let{loadStxConfig:w}=await Promise.resolve().then(() => (D0(),vX)),R=await w(Q);if(R.css)if(typeof R.css==="string"){let T=Y0.isAbsolute(R.css)?R.css:Y0.resolve(Q,R.css);if(await Bun.file(T).exists()){let I=await import(T);A=I.default||I,console.log(`${U0.green}[Crosswind]${U0.reset} Loaded config from stx.config.ts \u2192 ${R.css}`)}}else{if(A={...R.css,content:R.css.content||[],preflight:R.css.preflight??!0,minify:R.css.minify??!1},R.css.config){let T=Y0.isAbsolute(R.css.config)?R.css.config:Y0.resolve(Q,R.css.config);if(await Bun.file(T).exists()){let I=await import(T);A={...I.default||I,...A}}}console.log(`${U0.green}[Crosswind]${U0.reset} Using inline CSS config from stx.config.ts`)}}catch{}O7=A||await zU(Q);try{T6=E6(JSON.stringify(O7??{}))}catch{T6="unhashable"}}let B=X.defaultConfig||X.config,U=O7||{},_=B.theme||{},q=(U.theme||{}).extend||{},j={..._};if(Object.keys(q).length>0)j.extend=q;let H=[...B.safelist||[],...U.safelist||[]],L={...B,...U,content:[],output:"",preflight:!0,minify:!1,theme:j,safelist:H},F=new X.CSSGenerator(L);for(let A of H)F.generate(A);for(let A of Y)F.generate(A);let O=F.toCSS(!0,!1),V=L.shortcuts||U.shortcuts||{};for(let[A,w]of Object.entries(V)){if(!Y.has(A)&&!H.includes(A))continue;let R=w.split(/\s+/).filter(Boolean);for(let T of R)F.generate(T)}O=F.toCSS(!0,!1);let N=O.split(`
1788
+ `);for(let[A,w]of Object.entries(V)){if(!Y.has(A)&&!H.includes(A))continue;let R=w.split(/\s+/).filter(Boolean),T=[],I=[];for(let E of R){let D=E.startsWith("dark:"),S=`.${(D?E.slice(5):E).replace(/\//g,"\\/").replace(/:/g,"\\:").replace(/\./g,"\\.").replace(/\[/g,"\\[").replace(/\]/g,"\\]").replace(/%/g,"\\%")}`;for(let b=0;b<N.length;b++){let y=N[b].trim();if(y===`${S} {`||y.startsWith(`${S} {`)){let u=b,f="";while(u<N.length){if(f+=N[u],N[u].includes("}"))break;u++}let m=f.match(/\{([^}]+)\}/);if(m)if(D)I.push(m[1].trim());else T.push(m[1].trim());break}}}if(T.length)O+=`
1789
1789
  .${A} { ${T.join(" ")} }`;if(I.length)O+=`
1790
1790
  @media (prefers-color-scheme: dark) { .dark .${A} { ${I.join(" ")} } }`}return I6(G,O),UU(G,O),O}catch(X){return console.warn("Failed to generate Crosswind CSS:",X),""}}async function z1($,Z){let X=await uX($,Z);if(!X)return $;let Y=`<style data-crosswind="generated">
1791
1791
  ${X}
@@ -2676,7 +2676,7 @@ window.__stx_reactive = (function() {
2676
2676
  ${yU()}
2677
2677
  ${X}
2678
2678
  </script>`}function YY($,Z,X){if(XY=0,!fU($))return $;let Y=SU($);if(Y.length===0)return $;let Q=vU($,Y),J=xU(Y,Z),G=Q.lastIndexOf("</body>");if(G!==-1)Q=Q.slice(0,G)+J+`
2679
- `+Q.slice(G);else Q+=J;return Q}function vU($,Z){let X=$;for(let Y of Z){let J=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*data-stx-scope="([^"]*)"[^>]*x-data\\s*=\\s*["']${L7(Y.stateExpr)}["']`,"gi").exec(X);if(J)Y.id=J[1],Y.selector=`[data-stx-scope="${Y.id}"]`;else{let K=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*x-data\\s*=\\s*["']${L7(Y.stateExpr)}["'][^>]*data-stx-scope="([^"]*)"`,"gi").exec(X);if(K)Y.id=K[1],Y.selector=`[data-stx-scope="${Y.id}"]`;else X=X.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*"${L7(Y.stateExpr)}")([^>]*>)`,"gi"),`$1data-stx-scope="${Y.id}" $2$3$4`),X=X.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*'${L7(Y.stateExpr)}')([^>]*>)`,"gi"),`$1data-stx-scope="${Y.id}" $2$3$4`)}}return X=X.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),X=X.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),X=X.replace(/\s*x-init\s*=\s*"[^"]*"/g,""),X=X.replace(/\s*x-init\s*=\s*'[^']*'/g,""),X}function fU($){return/x-data\s*=\s*["']/.test($)}var XY=0,kU=0;var JY=M(()=>{M0()});import gU from"fs";import b6 from"path";import{createHighlighter as hU}from"ts-syntax-highlighter";async function V7($,Z={}){try{if(!await c($))throw Error(`Markdown file not found: ${$}`);let Y=(await gU.promises.stat($)).mtime.getTime();if(Z.cache&&P6.has($)){let _=P6.get($);if(_.updatedAt>=Y)return{content:_.content,data:_.data}}let Q=await Bun.file($).text(),{data:J,content:G}=vZ(Q),K=Z.markdown||U$.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},B=f$(G,{gfm:!0});if(K.syntaxHighlighting?.enabled&&K.syntaxHighlighting?.serverSide)B=await dU(B,K.syntaxHighlighting?.defaultTheme||"github-dark",K.syntaxHighlighting?.highlightUnknownLanguages||!1);let U={content:B,data:J||{}};if(Z.cache)P6.set($,{...U,updatedAt:Y});return U}catch(X){if(Z.debug)console.error(`Error reading/parsing markdown file ${$}:`,X);let Y=X instanceof Error?X.message:String(X);return{content:Q0("Markdown File",`Error reading/parsing markdown file: ${Y}`,$,"",0,""),data:{}}}}async function dU($,Z,X){let Y=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!F7)try{F7=await hU({theme:Z||"github-dark",cache:!0})}catch(K){return console.error("Failed to initialize ts-syntax-highlighter:",K),$}let Q=async(K,W,B,U)=>{let _=U.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#39;/g,"'"),z=B||(X?"text":"");if(!z)return K;try{if(!F7.getSupportedLanguages().includes(z))return K;return(await F7.highlight(_,z,{theme:Z})).html}catch(q){console.error(`Error highlighting code block with language ${B}:`,q)}return K},J=$,G=$.matchAll(Y);for(let K of G){let[W,B,U,_]=K,z=await Q(W,B,U,_);J=J.replace(W,z)}return J}async function QY($,Z,X="",Y={}){return await uU($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(G,K,W,B)=>{try{let U=K;if(!b6.isAbsolute(K))U=b6.resolve(b6.dirname(X),K);let _={};if(W)try{try{_=JSON.parse(W)}catch{if(Y.debug)console.warn("Using safer alternative for parsing JS object literal");let O=W.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let V of O){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(Y.debug)console.error("Error parsing context in @markdown-file directive:",F)}let{content:z,data:q}=await V7(U,Y),j={...Z,...q,..._},H=z,L=/\{\{([^}]+)\}\}/g;return H=H.replace(L,(F,O)=>{let V=O.trim();return j[V]!==void 0?String(j[V]):F}),H}catch(U){let _=U instanceof Error?U.message:String(U);return Q0("Markdown File",`Error including markdown file: ${_}`,X,$,B,G)}})}async function uU($,Z,X){let Y=[],Q;while((Q=Z.exec($))!==null){let K=Q[0],W=Q.index,B=Q;Y.push(X(...B).then((U)=>({match:K,replacement:U,index:W})))}let J=await Promise.all(Y);J.sort((K,W)=>W.index-K.index);let G=$;for(let{match:K,replacement:W}of J)G=G.replace(K,()=>W);return G}var P6,F7=null;var _$=M(()=>{E0();J0();P6=new Map});function q1($,Z){try{let X=$.trim();if(Z0(X))return X0(X,Object.keys(Z))(...Object.values(Z));else return $0(X,Z)}catch{return!1}}var y6=M(()=>{L0()});function C0($,Z,X,Y=0){let Q=0,J=Y,G=null,K=0,W=!1;while(J<$.length){let B=$[J];if(G&&W){W=!1,J++;continue}if(G&&B==="\\"){W=!0,J++;continue}if(W=!1,(B==='"'||B==="'"||B==="`")&&!G){G=B,J++;continue}if(B===G&&G!=="`"){G=null,J++;continue}if(G==="`"&&B==="$"&&$[J+1]==="{"){K++,J+=2;continue}if(K>0&&B==="}"){K--,J++;continue}if(B==="`"&&G==="`"&&K===0){G=null,J++;continue}if(G){J++;continue}if(B===Z)Q++;else if(B===X){if(Q--,Q===0)return J}J++}return-1}function j1($,Z){let X=mU($,Z);return X.ok?{expression:X.expression,endPos:X.endPos}:null}function mU($,Z){let X=Z;while(X<$.length&&/\s/.test($[X]))X++;if($[X]!=="(")return{ok:!1,reason:"missing-open-paren",pos:X};let Y=C0($,"(",")",X);if(Y===-1)return{ok:!1,reason:"unclosed-paren",pos:X};return{ok:!0,expression:$.slice(X+1,Y),endPos:Y+1}}function d1($,Z,X,Y){let Q=1,J=Y,G=new RegExp(`@${Z}\\s*\\(`,"g"),K=new RegExp(`@${X}(?![a-z])`,"g");while(J<$.length&&Q>0){G.lastIndex=J,K.lastIndex=J;let W=G.exec($),B=K.exec($),U=W?W.index:1/0,_=B?B.index:1/0;if(U<_)Q++,J=U+W[0].length;else if(_<1/0){if(Q--,Q===0)return _;J=_+B[0].length}else break}return-1}function GY($,Z){let X=$.slice(Z).match(/^@if\s*/);if(!X)return null;let Y=Z+X[0].length,Q=j1($,Y);if(!Q)return null;let J=Q.endPos,G=d1($,"if","endif",J);if(G===-1)return null;let K=$.slice(J,G),W=[],B=0,U="if",_=Q.expression,z=0,q=0;while(B<K.length){let j=K.indexOf("@",B);if(j===-1)break;B=j;let H=K.substring(j);if(/^@if\s*\(/.test(H)){q++,B++;continue}if(/^@endif(?![a-z])/.test(H)){q--,B+=6;continue}if(q===0){let L=H.match(/^@elseif\s*/);if(L){W.push({type:U,condition:_,content:K.substring(z,B),start:J+z,end:J+B});let F=B+L[0].length,O=j1(K,F);if(!O){B++;continue}U="elseif",_=O.expression,B=O.endPos,z=B;continue}else if(/^@else(?![a-z])/.test(H)){W.push({type:U,condition:_,content:K.substring(z,B),start:J+z,end:J+B}),U="else",_=void 0,B+=5,z=B;continue}}B++}return W.push({type:U,condition:_,content:K.slice(z),start:J+z,end:J+K.length}),{fullMatch:$.slice(Z,G+6),branches:W,start:Z,end:G+6}}function U5($){let Z=[],X=/@if\s*\(/g,Y=X.exec($);while(Y!==null){if(Z.some((G)=>Y.index>G.start&&Y.index<G.end)){Y=X.exec($);continue}let J=GY($,Y.index);if(J)Z.push(J),X.lastIndex=J.end;Y=X.exec($)}return Z}function N7($,Z,X){let Y=[],Q=new RegExp(`@${Z}\\s*\\(`,"g"),J=Q.exec($);while(J!==null){if(Y.some((H)=>J.index>H.start&&J.index<H.end)){J=Q.exec($);continue}let K=J.index,W=K+J[0].length-1,B=C0($,"(",")",W);if(B===-1){J=Q.exec($);continue}let U=$.slice(W+1,B),_=B+1,z=d1($,Z,X,_);if(z===-1){J=Q.exec($);continue}let q=$.slice(_,z),j=z+`@${X}`.length;Y.push({fullMatch:$.slice(K,j),name:Z,params:U,content:q,start:K,end:j}),Q.lastIndex=j,J=Q.exec($)}return Y}function x6($,Z){let X=$.slice(Z).match(/^@switch\s*/);if(!X)return null;let Y=Z+X[0].length,Q=j1($,Y);if(!Q)return null;let J=Q.endPos,G=d1($,"switch","endswitch",J);if(G===-1)return null;let K=$.slice(J,G),W=[],B=0,U=null,_=0;while(B<K.length){let z=K.slice(B),q=z.match(/^@switch\s*\(/),j=z.match(/^@endswitch(?![a-z])/);if(q){if(_++,U)U.content+=q[0];B+=q[0].length;continue}if(j){if(_--,U)U.content+=j[0];B+=j[0].length;continue}if(_>0){if(U)U.content+=K[B];B++;continue}let H=z.match(/^@case\s*/),L=z.match(/^@default(?![a-z])/),F=z.match(/^@break(?![a-z])/);if(H&&z.startsWith("@case")){if(U)W.push(U);let O=B+H[0].length,V=j1(K,O);if(!V){B++;continue}U={type:"case",value:V.expression,content:""},B=V.endPos}else if(L&&z.startsWith("@default")){if(U)W.push(U);U={type:"default",content:""},B+=L[0].length}else if(F&&z.startsWith("@break"))B+=F[0].length;else{if(U)U.content+=K[B];B++}}if(U)W.push(U);return{fullMatch:$.slice(Z,G+10),expression:Q.expression,cases:W,start:Z,end:G+10}}var KY=()=>{};var WY=()=>{};var B5=M(()=>{KY();WY()});function iU($,Z,X){let Y=$,Q=!0;while(Q){Q=!1;let J=Y.match(/@switch\s*\(/);if(!J||J.index===void 0)break;let G=J.index,K=x6(Y,G);if(!K)break;try{let W;if(Z0(K.expression))W=X0(K.expression,Object.keys(Z))(...Object.values(Z));else W=$0(K.expression,Z);let B="",U=!1;for(let _ of K.cases)if(_.type==="default"){if(!U)B=_.content.trim()}else try{let z;if(_.value&&Z0(_.value))z=X0(_.value,Object.keys(Z))(...Object.values(Z));else if(_.value)z=$0(_.value,Z);if(W===z){B=_.content.trim(),U=!0;break}}catch{continue}Y=Y.substring(0,G)+B+Y.substring(K.end),Q=!0}catch(W){let B=W instanceof Error?W.message:String(W),U=n("Switch",`Error evaluating @switch expression: ${B}`,i.EVALUATION_ERROR);Y=Y.substring(0,G)+U+Y.substring(K.end);break}}return Y}function u1($,Z,X){let Y=$;Y=iU(Y,Z,X);{let J=!0;while(J){J=!1;let G=Y.match(/@unless\s*\(/);if(!G||G.index===void 0)break;let K=G.index,W=j1(Y,K+7);if(!W)break;let B=W.endPos,U=d1(Y,"unless","endunless",B);if(U===-1){console.warn(`[stx] @unless directive at position ${K} has no matching @endunless \u2014 the block was skipped. Check for typos or missing closers.`);break}let _=Y.slice(B,U),z=W.expression,q=-1;{let H=0,L=/@(?:if|unless)\s*\(/g,F=/@(?:endif|endunless)(?![a-z])/g,O=/@else(?![a-z])/g,V=[],N;while((N=L.exec(_))!==null)V.push({pos:N.index,type:"open"});while((N=F.exec(_))!==null)V.push({pos:N.index,type:"close"});while((N=O.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),L=_.slice(q+5);j=`@if (${z})${L}@else ${H}@endif`}else j=`@if (!(${z}))${_}@endif`;Y=Y.substring(0,K)+j+Y.substring(U+10),J=!0}}Y=f6(Y,Z,X),Y=g6(Y,Z,X),Y=v6(Y,Z);let Q=()=>{let J=U5(Y);if(J.length===0)return!1;for(let G=J.length-1;G>=0;G--){let K=J[G];try{let W="",B=!1;for(let U of K.branches){if(B)break;if(U.type==="else")W=U.content,B=!0;else try{let _;if(U.condition&&Z0(U.condition))_=X0(U.condition,Object.keys(Z))(...Object.values(Z));else if(U.condition)_=$0(U.condition,Z);if(_)W=U.content,B=!0}catch(_){W=n(U.type==="if"?"If":"Elseif",`Error in @${U.type}(${U.condition}): ${_ instanceof Error?_.message:String(_)}`,i.EVALUATION_ERROR),B=!0}}Y=Y.substring(0,K.start)+W+Y.substring(K.end)}catch(W){let B=W instanceof Error?W.message:String(W),U=n("If",`Error processing @if block: ${B}`,i.EVALUATION_ERROR);Y=Y.substring(0,K.start)+U+Y.substring(K.end)}}return!0};while(!0){let J=Y;if(!Q())break;if(Y===J)break}return Y}function UY($){let Z=0;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return null;Z++;while(Z<$.length&&/\s/.test($[Z]))Z++;let X=$[Z];if(X!=="'"&&X!=='"')return null;Z++;let Y=[];while(Z<$.length){let Q=$[Z];if(Q==="\\"&&Z+1<$.length){Y.push($[Z+1]),Z+=2;continue}if(Q===X){Z++;break}Y.push(Q),Z++}while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!==")")return null;return Z++,{value:Y.join(""),consumed:Z}}function v6($,Z){let X=$;function Y(K,W,B,U){let _=1,z=U,q=new RegExp(`@${W}(?:\\s*\\(|\\s|$)`,"g"),j=new RegExp(`@${B}(?![a-z])`,"g");while(z<K.length&&_>0){q.lastIndex=z,j.lastIndex=z;let H=q.exec(K),L=j.exec(K),F=H?H.index:1/0,O=L?L.index:1/0;if(F<O)_++,z=F+H[0].length;else if(O<1/0){if(_--,_===0)return O;z=O+L[0].length}else break}return-1}function Q(K,W,B){let U=0,_=new RegExp(`@${W}(?:\\s*\\(|\\s|$)`,"g"),z=new RegExp(`@${B}(?![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((L,F)=>L.pos-F.pos);for(let L of j)if(L.type==="open")U++;else if(L.type==="close")U--;else if(L.type==="else"&&U===0)return L.pos;return-1}{let K=!0;while(K){K=!1;let W=X.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!W||W.index===void 0)break;let B=W.index,U,_,z=X.slice(B+5),q=UY(z);if(q)U=q.value,_=B+5+q.consumed;else _=B+5;let j=Y(X,"auth","endauth",_);if(j===-1){console.warn(`[stx] @auth directive at position ${B} has no matching @endauth \u2014 the block was skipped.`);break}let H=X.slice(_,j),L=Q(H,"auth","endauth"),F;if(!Z.auth)F=!1;else F=U?q1(`auth?.check && auth?.user?.[${U}]`,Z):q1("auth?.check",Z);let O;if(L!==-1){let V=H.slice(0,L),N=H.slice(L+5);O=F?V:N}else O=F?H:"";X=X.substring(0,B)+O+X.substring(j+8),K=!0}}{let K=!0;while(K){K=!1;let W=X.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!W||W.index===void 0)break;let B=W.index,U,_,z=X.slice(B+6),q=UY(z);if(q)U=q.value,_=B+6+q.consumed;else _=B+6;let j=Y(X,"guest","endguest",_);if(j===-1){console.warn(`[stx] @guest directive at position ${B} has no matching @endguest \u2014 the block was skipped.`);break}let H=X.slice(_,j),L=Q(H,"guest","endguest"),F;if(!Z.auth)F=!0;else F=U?q1(`!auth?.check || !auth?.user?.[${U}]`,Z):q1("!auth?.check",Z);let O;if(L!==-1){let V=H.slice(0,L),N=H.slice(L+5);O=F?V:N}else O=F?H:"";X=X.substring(0,B)+O+X.substring(j+9),K=!0}}function J(K,W,B){if(Z.userCan&&typeof Z.userCan[K]==="boolean")return Z.userCan[K];if(Z.permissions?.check&&typeof Z.permissions.check==="function")try{let U=[K];if(W)U.push(W);if(B){let _=q1(B,Z);U.push(_)}return Z.permissions.check(...U)}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}`,B=K==="can"?"elsecan":"elsecannot",U=!0;while(U){U=!1;let _=X.match(new RegExp(`@${K}\\s*\\(`));if(!_||_.index===void 0)break;let z=_.index,q=X.slice(z+`@${K}`.length),j=G(q);if(!j)break;let H=z+`@${K}`.length+j.paramsEnd,L=Y(X,K,W,H);if(L===-1){console.warn(`[stx] @${K} directive at position ${z} has no matching @${W} \u2014 the block was skipped.`);break}let F=X.slice(H,L),O=[],V=0,N=new RegExp(`@${K}\\s*\\(`,"g"),A=new RegExp(`@${W}(?![a-z])`,"g"),w=new RegExp(`@${B}\\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((C,y)=>C.pos-y.pos);for(let C of T){if(C.type==="open"){V++;continue}if(C.type==="close"){V--;continue}if(V===0)O.push(C)}let E=[],D=0;for(let C=0;C<O.length;C++){let y=O[C];if(E.push({content:F.slice(D,y.pos),ability:void 0}),y.type==="elseDirective"){let u=F.slice(y.pos+`@${B}`.length),f=G(u);if(f){E[E.length-1]={content:F.slice(D,y.pos)},D=y.pos+`@${B}`.length+f.paramsEnd,E.push({content:"",ability:f.ability,type:f.type,id:f.id}),E.pop();let m=O[C+1],r=m?m.pos:F.length;E.push({content:F.slice(D,r),ability:f.ability,type:f.type,id:f.id}),D=r}}else D=y.pos+5}if(D<F.length){let C=E[E.length-1];if(O.length>0&&O[O.length-1].type==="else")E.push({content:F.slice(D),isFinalElse:!0});else if(E.length===0)E.push({content:F.slice(D)})}let k=J(j.ability,j.type,j.id),P=K==="can"?k:!k,S="";if(P)S=E[0]?.content||"";else{let C=!1;for(let y=1;y<E.length;y++){let u=E[y];if(u.isFinalElse){S=u.content,C=!0;break}if(u.ability){let f=J(u.ability,u.type,u.id);if(K==="can"?f:!f){S=u.content,C=!0;break}}}if(!C&&E.length>0){let y=E[E.length-1];if(y.isFinalElse)S=y.content}}X=X.substring(0,z)+S+X.substring(L+`@${W}`.length),U=!0}}return X}function f6($,Z,X){let Y=$;function Q(J,G,K,W,B){let U=!0;while(U){U=!1;let _=new RegExp(`@${G}\\s*\\(`),z=J.match(_);if(!z||z.index===void 0)break;let q=z.index,j=j1(J,q+`@${G}`.length);if(!j)break;let H=j.endPos,L=d1(J,G,K,H);if(L===-1){console.warn(`[stx] @${G} directive at position ${q} has no matching @${K} \u2014 the block was skipped.`);break}let F=J.slice(H,L),O=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(O.trim()),R;if(V!==-1){let T=F.slice(0,V),I=F.slice(V+5);R=w?T:I}else R=w?F:"";J=J.substring(0,q)+R+J.substring(L+`@${K}`.length),U=!0}catch(w){let R=w instanceof Error?w.message:String(w),T=n(B,`Error processing @${G} directive: ${R}`,i.EVALUATION_ERROR);J=J.substring(0,q)+T+J.substring(L+`@${K}`.length);break}}return J}return Y=Q(Y,"isset","endisset",(J)=>{let G=q1(J,Z);return G!==void 0&&G!==null},"Isset"),Y=Q(Y,"empty","endempty",(J)=>{let G=q1(J,Z);return G===void 0||G===null||G===""||G===0||G===!1||Array.isArray(G)&&G.length===0||typeof G==="object"&&G!==null&&Object.keys(G).length===0},"Empty"),Y}function g6($,Z,X){let Y=$,Q="development";function J(G,K,W,B){let U=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,U.lastIndex=0;let L=U.exec(j);if(!L)break;let F=L.index,O=F+L[0].length;if(K==="env"){let k=j.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!k)break;O+=k[0].length,B=Q===k[2]}let V=1,N=O,A=-1;while(V>0&&N<j.length){U.lastIndex=N,_.lastIndex=N;let k=U.exec(j),P=_.exec(j),S=k?k.index:1/0,C=P?P.index:1/0;if(S<C)V++,N=S+k[0].length;else if(C<1/0){if(V--,V===0){A=C;break}N=C+P[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(O,A),R=-1,T=0,I=0;while(I<w.length){let k=w.indexOf("@",I);if(k===-1)break;let P=w.substring(k);if(z.test(P)){T++,I=k+1;continue}if(q.test(P)){T--,I=k+1;continue}if(T===0&&/^@else(?![a-z])/.test(P)){R=k;break}I=k+1}let E;if(R!==-1){let k=w.slice(0,R),P=w.slice(R+5);E=B?k:P}else E=B?w:"";let D=`@${W}`.length;j=j.substring(0,F)+E+j.substring(A+D),H=!0}return j}return Y=J(Y,"env","endenv",!1),Y=J(Y,"production","endproduction",Q==="production"),Y=J(Y,"development","enddevelopment",Q==="development"),Y=J(Y,"staging","endstaging",Q==="staging"),Y=J(Y,"testing","endtesting",Q==="testing"),Y}var A7=M(()=>{y6();g0();B5();L0()});function _Y($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function w7($,Z){if(!$)return Z?.nonceGenerator?.()??_Y();let X=BY.get($);if(!X)X=Z?.nonceGenerator?.()??_Y(),BY.set($,X);return X}function nU($,Z){let X=[];for(let[Y,Q]of Object.entries($)){if(Q===void 0||Q===null)continue;if(typeof Q==="boolean"){if(Q)X.push(Y);continue}if(Array.isArray(Q)){let J=[...Q];if(Z&&(Y==="script-src"||Y==="style-src"))J=J.filter((G)=>!G.startsWith("'nonce-")),J.push(`'nonce-${Z}'`);if(J.length>0)X.push(`${Y} ${J.join(" ")}`)}}return X.join("; ")}function zY($,Z){return`<meta http-equiv="Content-Security-Policy" content="${nU($,Z).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}">`}function qY($,Z,X){if(!Z.enabled||!Z.addMetaTag)return $;if($.includes('http-equiv="Content-Security-Policy"'))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let Y=Z.useNonce?w7(X,Z):void 0,Q=zY(Z.directives,Y);return $.replace(/<head([^>]*)>/,`<head$1>
2679
+ `+Q.slice(G);else Q+=J;return Q}function vU($,Z){let X=$;for(let Y of Z){let J=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*data-stx-scope="([^"]*)"[^>]*x-data\\s*=\\s*["']${L7(Y.stateExpr)}["']`,"gi").exec(X);if(J)Y.id=J[1],Y.selector=`[data-stx-scope="${Y.id}"]`;else{let K=new RegExp(`<[a-z][a-z0-9-]*\\s+[^>]*x-data\\s*=\\s*["']${L7(Y.stateExpr)}["'][^>]*data-stx-scope="([^"]*)"`,"gi").exec(X);if(K)Y.id=K[1],Y.selector=`[data-stx-scope="${Y.id}"]`;else X=X.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*"${L7(Y.stateExpr)}")([^>]*>)`,"gi"),`$1data-stx-scope="${Y.id}" $2$3$4`),X=X.replace(new RegExp(`(<[a-z][a-z0-9-]*\\s+)([^>]*)(x-data\\s*=\\s*'${L7(Y.stateExpr)}')([^>]*>)`,"gi"),`$1data-stx-scope="${Y.id}" $2$3$4`)}}return X=X.replace(/\s*x-data\s*=\s*"([^"]*)"/g,' data-stx-xdata="$1"'),X=X.replace(/\s*x-data\s*=\s*'([^']*)'/g," data-stx-xdata='$1'"),X=X.replace(/\s*x-init\s*=\s*"[^"]*"/g,""),X=X.replace(/\s*x-init\s*=\s*'[^']*'/g,""),X}function fU($){return/x-data\s*=\s*["']/.test($)}var XY=0,kU=0;var JY=M(()=>{T0()});import gU from"fs";import b6 from"path";import{createHighlighter as hU}from"ts-syntax-highlighter";async function V7($,Z={}){try{if(!await c($))throw Error(`Markdown file not found: ${$}`);let Y=(await gU.promises.stat($)).mtime.getTime();if(Z.cache&&P6.has($)){let _=P6.get($);if(_.updatedAt>=Y)return{content:_.content,data:_.data}}let Q=await Bun.file($).text(),{data:J,content:G}=vZ(Q),K=Z.markdown||U$.markdown||{enabled:!0,syntaxHighlighting:{enabled:!0,serverSide:!0,defaultTheme:"github-dark",highlightUnknownLanguages:!0}},B=f$(G,{gfm:!0});if(K.syntaxHighlighting?.enabled&&K.syntaxHighlighting?.serverSide)B=await dU(B,K.syntaxHighlighting?.defaultTheme||"github-dark",K.syntaxHighlighting?.highlightUnknownLanguages||!1);let U={content:B,data:J||{}};if(Z.cache)P6.set($,{...U,updatedAt:Y});return U}catch(X){if(Z.debug)console.error(`Error reading/parsing markdown file ${$}:`,X);let Y=X instanceof Error?X.message:String(X);return{content:Q0("Markdown File",`Error reading/parsing markdown file: ${Y}`,$,"",0,""),data:{}}}}async function dU($,Z,X){let Y=/<pre><code( class="language-([^"]+)")?>([^<]+)<\/code><\/pre>/g;if(!F7)try{F7=await hU({theme:Z||"github-dark",cache:!0})}catch(K){return console.error("Failed to initialize ts-syntax-highlighter:",K),$}let Q=async(K,W,B,U)=>{let _=U.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&quot;/g,'"').replace(/&#39;/g,"'"),z=B||(X?"text":"");if(!z)return K;try{if(!F7.getSupportedLanguages().includes(z))return K;return(await F7.highlight(_,z,{theme:Z})).html}catch(q){console.error(`Error highlighting code block with language ${B}:`,q)}return K},J=$,G=$.matchAll(Y);for(let K of G){let[W,B,U,_]=K,z=await Q(W,B,U,_);J=J.replace(W,z)}return J}async function QY($,Z,X="",Y={}){return await uU($,/@markdown-file\(\s*['"]([^'"]+)['"]\s*(?:,\s*(\{[^}]*\}))?\)/g,async(G,K,W,B)=>{try{let U=K;if(!b6.isAbsolute(K))U=b6.resolve(b6.dirname(X),K);let _={};if(W)try{try{_=JSON.parse(W)}catch{if(Y.debug)console.warn("Using safer alternative for parsing JS object literal");let O=W.replace(/^\s*\{|\}\s*$/g,"").trim().split(/,(?=\s*\w+\s*:)/);for(let V of O){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(Y.debug)console.error("Error parsing context in @markdown-file directive:",F)}let{content:z,data:q}=await V7(U,Y),j={...Z,...q,..._},H=z,L=/\{\{([^}]+)\}\}/g;return H=H.replace(L,(F,O)=>{let V=O.trim();return j[V]!==void 0?String(j[V]):F}),H}catch(U){let _=U instanceof Error?U.message:String(U);return Q0("Markdown File",`Error including markdown file: ${_}`,X,$,B,G)}})}async function uU($,Z,X){let Y=[],Q;while((Q=Z.exec($))!==null){let K=Q[0],W=Q.index,B=Q;Y.push(X(...B).then((U)=>({match:K,replacement:U,index:W})))}let J=await Promise.all(Y);J.sort((K,W)=>W.index-K.index);let G=$;for(let{match:K,replacement:W}of J)G=G.replace(K,()=>W);return G}var P6,F7=null;var _$=M(()=>{D0();J0();P6=new Map});function q1($,Z){try{let X=$.trim();if(Z0(X))return X0(X,Object.keys(Z))(...Object.values(Z));else return $0(X,Z)}catch{return!1}}var y6=M(()=>{L0()});function C0($,Z,X,Y=0){let Q=0,J=Y,G=null,K=0,W=!1;while(J<$.length){let B=$[J];if(G&&W){W=!1,J++;continue}if(G&&B==="\\"){W=!0,J++;continue}if(W=!1,(B==='"'||B==="'"||B==="`")&&!G){G=B,J++;continue}if(B===G&&G!=="`"){G=null,J++;continue}if(G==="`"&&B==="$"&&$[J+1]==="{"){K++,J+=2;continue}if(K>0&&B==="}"){K--,J++;continue}if(B==="`"&&G==="`"&&K===0){G=null,J++;continue}if(G){J++;continue}if(B===Z)Q++;else if(B===X){if(Q--,Q===0)return J}J++}return-1}function j1($,Z){let X=mU($,Z);return X.ok?{expression:X.expression,endPos:X.endPos}:null}function mU($,Z){let X=Z;while(X<$.length&&/\s/.test($[X]))X++;if($[X]!=="(")return{ok:!1,reason:"missing-open-paren",pos:X};let Y=C0($,"(",")",X);if(Y===-1)return{ok:!1,reason:"unclosed-paren",pos:X};return{ok:!0,expression:$.slice(X+1,Y),endPos:Y+1}}function d1($,Z,X,Y){let Q=1,J=Y,G=new RegExp(`@${Z}\\s*\\(`,"g"),K=new RegExp(`@${X}(?![a-z])`,"g");while(J<$.length&&Q>0){G.lastIndex=J,K.lastIndex=J;let W=G.exec($),B=K.exec($),U=W?W.index:1/0,_=B?B.index:1/0;if(U<_)Q++,J=U+W[0].length;else if(_<1/0){if(Q--,Q===0)return _;J=_+B[0].length}else break}return-1}function GY($,Z){let X=$.slice(Z).match(/^@if\s*/);if(!X)return null;let Y=Z+X[0].length,Q=j1($,Y);if(!Q)return null;let J=Q.endPos,G=d1($,"if","endif",J);if(G===-1)return null;let K=$.slice(J,G),W=[],B=0,U="if",_=Q.expression,z=0,q=0;while(B<K.length){let j=K.indexOf("@",B);if(j===-1)break;B=j;let H=K.substring(j);if(/^@if\s*\(/.test(H)){q++,B++;continue}if(/^@endif(?![a-z])/.test(H)){q--,B+=6;continue}if(q===0){let L=H.match(/^@elseif\s*/);if(L){W.push({type:U,condition:_,content:K.substring(z,B),start:J+z,end:J+B});let F=B+L[0].length,O=j1(K,F);if(!O){B++;continue}U="elseif",_=O.expression,B=O.endPos,z=B;continue}else if(/^@else(?![a-z])/.test(H)){W.push({type:U,condition:_,content:K.substring(z,B),start:J+z,end:J+B}),U="else",_=void 0,B+=5,z=B;continue}}B++}return W.push({type:U,condition:_,content:K.slice(z),start:J+z,end:J+K.length}),{fullMatch:$.slice(Z,G+6),branches:W,start:Z,end:G+6}}function U5($){let Z=[],X=/@if\s*\(/g,Y=X.exec($);while(Y!==null){if(Z.some((G)=>Y.index>G.start&&Y.index<G.end)){Y=X.exec($);continue}let J=GY($,Y.index);if(J)Z.push(J),X.lastIndex=J.end;Y=X.exec($)}return Z}function N7($,Z,X){let Y=[],Q=new RegExp(`@${Z}\\s*\\(`,"g"),J=Q.exec($);while(J!==null){if(Y.some((H)=>J.index>H.start&&J.index<H.end)){J=Q.exec($);continue}let K=J.index,W=K+J[0].length-1,B=C0($,"(",")",W);if(B===-1){J=Q.exec($);continue}let U=$.slice(W+1,B),_=B+1,z=d1($,Z,X,_);if(z===-1){J=Q.exec($);continue}let q=$.slice(_,z),j=z+`@${X}`.length;Y.push({fullMatch:$.slice(K,j),name:Z,params:U,content:q,start:K,end:j}),Q.lastIndex=j,J=Q.exec($)}return Y}function x6($,Z){let X=$.slice(Z).match(/^@switch\s*/);if(!X)return null;let Y=Z+X[0].length,Q=j1($,Y);if(!Q)return null;let J=Q.endPos,G=d1($,"switch","endswitch",J);if(G===-1)return null;let K=$.slice(J,G),W=[],B=0,U=null,_=0;while(B<K.length){let z=K.slice(B),q=z.match(/^@switch\s*\(/),j=z.match(/^@endswitch(?![a-z])/);if(q){if(_++,U)U.content+=q[0];B+=q[0].length;continue}if(j){if(_--,U)U.content+=j[0];B+=j[0].length;continue}if(_>0){if(U)U.content+=K[B];B++;continue}let H=z.match(/^@case\s*/),L=z.match(/^@default(?![a-z])/),F=z.match(/^@break(?![a-z])/);if(H&&z.startsWith("@case")){if(U)W.push(U);let O=B+H[0].length,V=j1(K,O);if(!V){B++;continue}U={type:"case",value:V.expression,content:""},B=V.endPos}else if(L&&z.startsWith("@default")){if(U)W.push(U);U={type:"default",content:""},B+=L[0].length}else if(F&&z.startsWith("@break"))B+=F[0].length;else{if(U)U.content+=K[B];B++}}if(U)W.push(U);return{fullMatch:$.slice(Z,G+10),expression:Q.expression,cases:W,start:Z,end:G+10}}var KY=()=>{};var WY=()=>{};var B5=M(()=>{KY();WY()});function iU($,Z,X){let Y=$,Q=!0;while(Q){Q=!1;let J=Y.match(/@switch\s*\(/);if(!J||J.index===void 0)break;let G=J.index,K=x6(Y,G);if(!K)break;try{let W;if(Z0(K.expression))W=X0(K.expression,Object.keys(Z))(...Object.values(Z));else W=$0(K.expression,Z);let B="",U=!1;for(let _ of K.cases)if(_.type==="default"){if(!U)B=_.content.trim()}else try{let z;if(_.value&&Z0(_.value))z=X0(_.value,Object.keys(Z))(...Object.values(Z));else if(_.value)z=$0(_.value,Z);if(W===z){B=_.content.trim(),U=!0;break}}catch{continue}Y=Y.substring(0,G)+B+Y.substring(K.end),Q=!0}catch(W){let B=W instanceof Error?W.message:String(W),U=n("Switch",`Error evaluating @switch expression: ${B}`,i.EVALUATION_ERROR);Y=Y.substring(0,G)+U+Y.substring(K.end);break}}return Y}function u1($,Z,X){let Y=$;Y=iU(Y,Z,X);{let J=!0;while(J){J=!1;let G=Y.match(/@unless\s*\(/);if(!G||G.index===void 0)break;let K=G.index,W=j1(Y,K+7);if(!W)break;let B=W.endPos,U=d1(Y,"unless","endunless",B);if(U===-1){console.warn(`[stx] @unless directive at position ${K} has no matching @endunless \u2014 the block was skipped. Check for typos or missing closers.`);break}let _=Y.slice(B,U),z=W.expression,q=-1;{let H=0,L=/@(?:if|unless)\s*\(/g,F=/@(?:endif|endunless)(?![a-z])/g,O=/@else(?![a-z])/g,V=[],N;while((N=L.exec(_))!==null)V.push({pos:N.index,type:"open"});while((N=F.exec(_))!==null)V.push({pos:N.index,type:"close"});while((N=O.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),L=_.slice(q+5);j=`@if (${z})${L}@else ${H}@endif`}else j=`@if (!(${z}))${_}@endif`;Y=Y.substring(0,K)+j+Y.substring(U+10),J=!0}}Y=f6(Y,Z,X),Y=g6(Y,Z,X),Y=v6(Y,Z);let Q=()=>{let J=U5(Y);if(J.length===0)return!1;for(let G=J.length-1;G>=0;G--){let K=J[G];try{let W="",B=!1;for(let U of K.branches){if(B)break;if(U.type==="else")W=U.content,B=!0;else try{let _;if(U.condition&&Z0(U.condition))_=X0(U.condition,Object.keys(Z))(...Object.values(Z));else if(U.condition)_=$0(U.condition,Z);if(_)W=U.content,B=!0}catch(_){W=n(U.type==="if"?"If":"Elseif",`Error in @${U.type}(${U.condition}): ${_ instanceof Error?_.message:String(_)}`,i.EVALUATION_ERROR),B=!0}}Y=Y.substring(0,K.start)+W+Y.substring(K.end)}catch(W){let B=W instanceof Error?W.message:String(W),U=n("If",`Error processing @if block: ${B}`,i.EVALUATION_ERROR);Y=Y.substring(0,K.start)+U+Y.substring(K.end)}}return!0};while(!0){let J=Y;if(!Q())break;if(Y===J)break}return Y}function UY($){let Z=0;while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!=="(")return null;Z++;while(Z<$.length&&/\s/.test($[Z]))Z++;let X=$[Z];if(X!=="'"&&X!=='"')return null;Z++;let Y=[];while(Z<$.length){let Q=$[Z];if(Q==="\\"&&Z+1<$.length){Y.push($[Z+1]),Z+=2;continue}if(Q===X){Z++;break}Y.push(Q),Z++}while(Z<$.length&&/\s/.test($[Z]))Z++;if($[Z]!==")")return null;return Z++,{value:Y.join(""),consumed:Z}}function v6($,Z){let X=$;function Y(K,W,B,U){let _=1,z=U,q=new RegExp(`@${W}(?:\\s*\\(|\\s|$)`,"g"),j=new RegExp(`@${B}(?![a-z])`,"g");while(z<K.length&&_>0){q.lastIndex=z,j.lastIndex=z;let H=q.exec(K),L=j.exec(K),F=H?H.index:1/0,O=L?L.index:1/0;if(F<O)_++,z=F+H[0].length;else if(O<1/0){if(_--,_===0)return O;z=O+L[0].length}else break}return-1}function Q(K,W,B){let U=0,_=new RegExp(`@${W}(?:\\s*\\(|\\s|$)`,"g"),z=new RegExp(`@${B}(?![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((L,F)=>L.pos-F.pos);for(let L of j)if(L.type==="open")U++;else if(L.type==="close")U--;else if(L.type==="else"&&U===0)return L.pos;return-1}{let K=!0;while(K){K=!1;let W=X.match(/@auth(?:\s*\(|\s|(?=\n))/);if(!W||W.index===void 0)break;let B=W.index,U,_,z=X.slice(B+5),q=UY(z);if(q)U=q.value,_=B+5+q.consumed;else _=B+5;let j=Y(X,"auth","endauth",_);if(j===-1){console.warn(`[stx] @auth directive at position ${B} has no matching @endauth \u2014 the block was skipped.`);break}let H=X.slice(_,j),L=Q(H,"auth","endauth"),F;if(!Z.auth)F=!1;else F=U?q1(`auth?.check && auth?.user?.[${U}]`,Z):q1("auth?.check",Z);let O;if(L!==-1){let V=H.slice(0,L),N=H.slice(L+5);O=F?V:N}else O=F?H:"";X=X.substring(0,B)+O+X.substring(j+8),K=!0}}{let K=!0;while(K){K=!1;let W=X.match(/@guest(?:\s*\(|\s|(?=\n))/);if(!W||W.index===void 0)break;let B=W.index,U,_,z=X.slice(B+6),q=UY(z);if(q)U=q.value,_=B+6+q.consumed;else _=B+6;let j=Y(X,"guest","endguest",_);if(j===-1){console.warn(`[stx] @guest directive at position ${B} has no matching @endguest \u2014 the block was skipped.`);break}let H=X.slice(_,j),L=Q(H,"guest","endguest"),F;if(!Z.auth)F=!0;else F=U?q1(`!auth?.check || !auth?.user?.[${U}]`,Z):q1("!auth?.check",Z);let O;if(L!==-1){let V=H.slice(0,L),N=H.slice(L+5);O=F?V:N}else O=F?H:"";X=X.substring(0,B)+O+X.substring(j+9),K=!0}}function J(K,W,B){if(Z.userCan&&typeof Z.userCan[K]==="boolean")return Z.userCan[K];if(Z.permissions?.check&&typeof Z.permissions.check==="function")try{let U=[K];if(W)U.push(W);if(B){let _=q1(B,Z);U.push(_)}return Z.permissions.check(...U)}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}`,B=K==="can"?"elsecan":"elsecannot",U=!0;while(U){U=!1;let _=X.match(new RegExp(`@${K}\\s*\\(`));if(!_||_.index===void 0)break;let z=_.index,q=X.slice(z+`@${K}`.length),j=G(q);if(!j)break;let H=z+`@${K}`.length+j.paramsEnd,L=Y(X,K,W,H);if(L===-1){console.warn(`[stx] @${K} directive at position ${z} has no matching @${W} \u2014 the block was skipped.`);break}let F=X.slice(H,L),O=[],V=0,N=new RegExp(`@${K}\\s*\\(`,"g"),A=new RegExp(`@${W}(?![a-z])`,"g"),w=new RegExp(`@${B}\\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,y)=>b.pos-y.pos);for(let b of T){if(b.type==="open"){V++;continue}if(b.type==="close"){V--;continue}if(V===0)O.push(b)}let E=[],D=0;for(let b=0;b<O.length;b++){let y=O[b];if(E.push({content:F.slice(D,y.pos),ability:void 0}),y.type==="elseDirective"){let u=F.slice(y.pos+`@${B}`.length),f=G(u);if(f){E[E.length-1]={content:F.slice(D,y.pos)},D=y.pos+`@${B}`.length+f.paramsEnd,E.push({content:"",ability:f.ability,type:f.type,id:f.id}),E.pop();let m=O[b+1],r=m?m.pos:F.length;E.push({content:F.slice(D,r),ability:f.ability,type:f.type,id:f.id}),D=r}}else D=y.pos+5}if(D<F.length){let b=E[E.length-1];if(O.length>0&&O[O.length-1].type==="else")E.push({content:F.slice(D),isFinalElse:!0});else if(E.length===0)E.push({content:F.slice(D)})}let k=J(j.ability,j.type,j.id),P=K==="can"?k:!k,S="";if(P)S=E[0]?.content||"";else{let b=!1;for(let y=1;y<E.length;y++){let u=E[y];if(u.isFinalElse){S=u.content,b=!0;break}if(u.ability){let f=J(u.ability,u.type,u.id);if(K==="can"?f:!f){S=u.content,b=!0;break}}}if(!b&&E.length>0){let y=E[E.length-1];if(y.isFinalElse)S=y.content}}X=X.substring(0,z)+S+X.substring(L+`@${W}`.length),U=!0}}return X}function f6($,Z,X){let Y=$;function Q(J,G,K,W,B){let U=!0;while(U){U=!1;let _=new RegExp(`@${G}\\s*\\(`),z=J.match(_);if(!z||z.index===void 0)break;let q=z.index,j=j1(J,q+`@${G}`.length);if(!j)break;let H=j.endPos,L=d1(J,G,K,H);if(L===-1){console.warn(`[stx] @${G} directive at position ${q} has no matching @${K} \u2014 the block was skipped.`);break}let F=J.slice(H,L),O=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(O.trim()),R;if(V!==-1){let T=F.slice(0,V),I=F.slice(V+5);R=w?T:I}else R=w?F:"";J=J.substring(0,q)+R+J.substring(L+`@${K}`.length),U=!0}catch(w){let R=w instanceof Error?w.message:String(w),T=n(B,`Error processing @${G} directive: ${R}`,i.EVALUATION_ERROR);J=J.substring(0,q)+T+J.substring(L+`@${K}`.length);break}}return J}return Y=Q(Y,"isset","endisset",(J)=>{let G=q1(J,Z);return G!==void 0&&G!==null},"Isset"),Y=Q(Y,"empty","endempty",(J)=>{let G=q1(J,Z);return G===void 0||G===null||G===""||G===0||G===!1||Array.isArray(G)&&G.length===0||typeof G==="object"&&G!==null&&Object.keys(G).length===0},"Empty"),Y}function g6($,Z,X){let Y=$,Q="development";function J(G,K,W,B){let U=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,U.lastIndex=0;let L=U.exec(j);if(!L)break;let F=L.index,O=F+L[0].length;if(K==="env"){let k=j.substring(O).match(/^\s*\(\s*(['"])([^'"]+)\1\s*\)/);if(!k)break;O+=k[0].length,B=Q===k[2]}let V=1,N=O,A=-1;while(V>0&&N<j.length){U.lastIndex=N,_.lastIndex=N;let k=U.exec(j),P=_.exec(j),S=k?k.index:1/0,b=P?P.index:1/0;if(S<b)V++,N=S+k[0].length;else if(b<1/0){if(V--,V===0){A=b;break}N=b+P[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(O,A),R=-1,T=0,I=0;while(I<w.length){let k=w.indexOf("@",I);if(k===-1)break;let P=w.substring(k);if(z.test(P)){T++,I=k+1;continue}if(q.test(P)){T--,I=k+1;continue}if(T===0&&/^@else(?![a-z])/.test(P)){R=k;break}I=k+1}let E;if(R!==-1){let k=w.slice(0,R),P=w.slice(R+5);E=B?k:P}else E=B?w:"";let D=`@${W}`.length;j=j.substring(0,F)+E+j.substring(A+D),H=!0}return j}return Y=J(Y,"env","endenv",!1),Y=J(Y,"production","endproduction",Q==="production"),Y=J(Y,"development","enddevelopment",Q==="development"),Y=J(Y,"staging","endstaging",Q==="staging"),Y=J(Y,"testing","endtesting",Q==="testing"),Y}var A7=M(()=>{y6();g0();B5();L0()});function _Y($=16){let Z=new Uint8Array($);return crypto.getRandomValues(Z),btoa(String.fromCharCode(...Z))}function w7($,Z){if(!$)return Z?.nonceGenerator?.()??_Y();let X=BY.get($);if(!X)X=Z?.nonceGenerator?.()??_Y(),BY.set($,X);return X}function nU($,Z){let X=[];for(let[Y,Q]of Object.entries($)){if(Q===void 0||Q===null)continue;if(typeof Q==="boolean"){if(Q)X.push(Y);continue}if(Array.isArray(Q)){let J=[...Q];if(Z&&(Y==="script-src"||Y==="style-src"))J=J.filter((G)=>!G.startsWith("'nonce-")),J.push(`'nonce-${Z}'`);if(J.length>0)X.push(`${Y} ${J.join(" ")}`)}}return X.join("; ")}function zY($,Z){return`<meta http-equiv="Content-Security-Policy" content="${nU($,Z).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}">`}function qY($,Z,X){if(!Z.enabled||!Z.addMetaTag)return $;if($.includes('http-equiv="Content-Security-Policy"'))return $;if(!$.includes("<head>")&&!$.includes("<head "))return $;let Y=Z.useNonce?w7(X,Z):void 0,Q=zY(Z.directives,Y);return $.replace(/<head([^>]*)>/,`<head$1>
2680
2680
  ${Q}`)}function jY($,Z,X,Y){let Q=$,J=Y.csp;if(Q=Q.replace(/@csp\b/g,()=>{if(!J?.enabled||!J.directives)return"<!-- CSP not configured -->";let G=J.useNonce?w7(Z,J):void 0;return zY(J.directives,G)}),Q=Q.replace(/@cspNonce\b/g,()=>{if(!J?.enabled||!J.useNonce)return"";return w7(Z,J)}),J?.enabled&&J.useNonce)Z.cspNonce=w7(Z,J);return Q}var BY;var h6=M(()=>{BY=new WeakMap});import rU from"crypto";function oU($=sU){let Z=rU.randomBytes(Math.ceil($/2)).toString("hex").slice(0,$);return d6=Z,Z}function aU(){if(!d6)oU();return d6}function tU($=HY){let Z=aU();return`<input type="hidden" name="${$}" value="${Z}">`}function OY($){return $.replace(/@csrf(?:\((['"])([^'"]*)\1\))?/g,(Z,X,Y)=>{return tU(Y||HY)})}var sU=40,HY="_token",d6=null;var LY=()=>{};async function FY($,Z,X,Y){if(!Y.customDirectives||Y.customDirectives.length===0)return $;let Q=$;for(let J of Y.customDirectives){if(!J.name||typeof J.handler!=="function"){if(Y.debug)console.warn("Invalid custom directive:",J);continue}if(J.hasEndTag)Q=await eU(Q,J,Z,X,Y);else Q=await $B(Q,J,Z,X,Y)}return Q}async function eU($,Z,X,Y,Q){let{name:J,handler:G}=Z,K=`@${J}`,W=`@end${J}`,B=$,U=Q$(`${K}(?:\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\))?([\\s\\S]*?)${W}`,"g"),_=[],z=U.exec(B);while(z!==null){let[q,j="",H=""]=z,L=z.index||0;try{let F=j?VY(j):[],O=H.trim(),V=await G(O,F,X,Y);_.push({original:q,processed:V,startIndex:L})}catch(F){let O=F instanceof Error?F.message:String(F);if(Q.debug)console.error(`Error processing custom directive @${J}:`,F);_.push({original:q,processed:n("CustomDirective",`Error in @${J}${j?`(${j})`:""}: ${O}`,i.EVALUATION_ERROR),startIndex:L})}z=U.exec(B)}for(let q=_.length-1;q>=0;q--){let{original:j,processed:H}=_[q];B=B.replace(j,H)}return B}async function $B($,Z,X,Y,Q){let{name:J,handler:G}=Z,K=$,W=Q$(`@${J}\\s*\\(([^()]*(?:\\([^)]*\\)[^()]*)*)\\)`,"g"),B=[],U=W.exec(K);while(U!==null){let[q,j=""]=U,H=U.index||0;try{let L=VY(j),F=await G("",L,X,Y);B.push({original:q,processed:F,startIndex:H})}catch(L){let F=L instanceof Error?L.message:String(L);if(Q.debug)console.error(`Error processing custom directive @${J}:`,L);B.push({original:q,processed:n("CustomDirective",`Error in @${J}(${j}): ${F}`,i.EVALUATION_ERROR),startIndex:H})}U=W.exec(K)}let _=Q$(`@${J}(?!\\w)(?!\\s*\\()`,"g"),z=_.exec(K);while(z!==null){let[q]=z,j=z.index||0;try{let H=await G("",[],X,Y);B.push({original:q,processed:H,startIndex:j})}catch(H){let L=H instanceof Error?H.message:String(H);if(Q.debug)console.error(`Error processing custom directive @${J}:`,H);B.push({original:q,processed:n("CustomDirective",`Error in @${J}: ${L}`,i.EVALUATION_ERROR),startIndex:j})}z=_.exec(K)}for(let q=B.length-1;q>=0;q--){let{original:j,processed:H}=B[q];K=K.replace(j,H)}return K}function VY($){if(!$.trim())return[];let Z=[],X="",Y=!1,Q="";for(let J=0;J<$.length;J++){let G=$[J];if((G==='"'||G==="'")&&(J===0||$[J-1]!=="\\"))if(!Y)Y=!0,Q=G;else if(G===Q)Y=!1;else X+=G;else if(G===","&&!Y)Z.push(X.trim()),X="";else X+=G}if(X.trim())Z.push(X.trim());return Z.map((J)=>{let G=J.trim();if(G.startsWith('"')&&G.endsWith('"')||G.startsWith("'")&&G.endsWith("'"))return G.substring(1,G.length-1);return G})}var u6=M(()=>{g0();y1()});var m6={};o(m6,{useTitle:()=>QB,useSeoMeta:()=>M7,usePageTitle:()=>QB,useHead:()=>p1,resetHead:()=>XB,renderHtmlAttrs:()=>KB,renderHead:()=>GB,renderBodyAttrs:()=>WB,processTitleDirective:()=>_B,processMetaDirective:()=>zB,processHeadDirective:()=>BB,getPageMeta:()=>NY,getHead:()=>_5,definePageMeta:()=>JB,applyHead:()=>UB});function _5(){return H1}function NY(){return R7}function XB(){H1={},ZB.length=0,R7={}}function p1($){H1=YB(H1,$)}function YB($,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 M7($){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 X=$.ogTitle??$.title,Y=$.ogDescription??$.description;if(X)Z.push({property:"og:title",content:X});if(Y)Z.push({property:"og:description",content:Y});if($.ogImage)Z.push({property:"og:image",content:$.ogImage});if($.ogUrl)Z.push({property:"og:url",content:$.ogUrl});if($.ogType)Z.push({property:"og:type",content:$.ogType});if($.ogSiteName)Z.push({property:"og:site_name",content:$.ogSiteName});if($.ogLocale)Z.push({property:"og:locale",content:$.ogLocale});let Q=$.twitterTitle??$.title,J=$.twitterDescription??$.description,G=$.twitterImage??$.ogImage;if($.twitterCard)Z.push({name:"twitter:card",content:$.twitterCard});if(Q)Z.push({name:"twitter:title",content:Q});if(J)Z.push({name:"twitter:description",content:J});if(G)Z.push({name:"twitter:image",content:G});if($.twitterSite)Z.push({name:"twitter:site",content:$.twitterSite});if($.twitterCreator)Z.push({name:"twitter:creator",content:$.twitterCreator});if($.articleAuthor)Z.push({property:"article:author",content:$.articleAuthor});if($.articlePublishedTime)Z.push({property:"article:published_time",content:$.articlePublishedTime});if($.articleModifiedTime)Z.push({property:"article:modified_time",content:$.articleModifiedTime});if($.articleSection)Z.push({property:"article:section",content:$.articleSection});if($.articleTags)for(let W of $.articleTags)Z.push({property:"article:tag",content:W});let K=[];if($.canonical)K.push({rel:"canonical",href:$.canonical});p1({title:$.title,titleTemplate:$.titleTemplate,meta:Z,link:K})}function JB($){if(R7={...R7,...$},$.title||$.description)M7({title:$.title,description:$.description})}function QB($){let Z=typeof $==="function"?$():$;p1({title:Z})}function GB($=H1){let Z=[];if($.title){let X=$.title;if($.titleTemplate)X=typeof $.titleTemplate==="function"?$.titleTemplate(X):$.titleTemplate.replace("%s",X);Z.push(`<title>${m1(X)}</title>`)}if($.base){let X=Object.entries($.base).map(([Y,Q])=>`${Y}="${m1(Q)}"`).join(" ");Z.push(`<base ${X}>`)}for(let X of $.meta||[]){let Y=Object.entries(X).filter(([Q,J])=>J!==void 0).map(([Q,J])=>{return`${Q==="httpEquiv"?"http-equiv":Q}="${m1(String(J))}"`}).join(" ");Z.push(`<meta ${Y}>`)}for(let X of $.link||[]){let Y=Object.entries(X).filter(([Q,J])=>J!==void 0).map(([Q,J])=>`${Q}="${m1(String(J))}"`).join(" ");Z.push(`<link ${Y}>`)}for(let X of $.script||[]){let{content:Y,...Q}=X,J=Object.entries(Q).filter(([G,K])=>K!==void 0).map(([G,K])=>{if(typeof K==="boolean")return K?G:"";return`${G}="${m1(String(K))}"`}).filter(Boolean).join(" ");if(Y)Z.push(`<script ${J}>${Y}</script>`);else Z.push(`<script ${J}></script>`)}for(let X of $.style||[]){let Y=X.type?` type="${X.type}"`:"";Z.push(`<style${Y}>${X.content}</style>`)}return Z.join(`
2681
2681
  `)}function KB($=H1){if(!$.htmlAttrs)return"";return Object.entries($.htmlAttrs).map(([Z,X])=>`${Z}="${m1(X)}"`).join(" ")}function WB($=H1){if(!$.bodyAttrs)return"";return Object.entries($.bodyAttrs).map(([Z,X])=>`${Z}="${m1(X)}"`).join(" ")}function m1($){return $.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function UB($=H1){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 X=Z.name?`meta[name="${Z.name}"]`:Z.property?`meta[property="${Z.property}"]`:null;if(X){let Y=document.querySelector(X);if(!Y){if(Y=document.createElement("meta"),Z.name)Y.setAttribute("name",Z.name);if(Z.property)Y.setAttribute("property",Z.property);document.head.appendChild(Y)}Y.setAttribute("content",Z.content)}}for(let Z of $.link||[]){let X=`link[rel="${Z.rel}"]${Z.href?`[href="${Z.href}"]`:""}`,Y=document.querySelector(X);if(!Y)Y=document.createElement("link"),document.head.appendChild(Y);for(let[Q,J]of Object.entries(Z))if(J!==void 0)Y.setAttribute(Q,String(J))}if($.htmlAttrs)for(let[Z,X]of Object.entries($.htmlAttrs))document.documentElement.setAttribute(Z,X);if($.bodyAttrs)for(let[Z,X]of Object.entries($.bodyAttrs))document.body.setAttribute(Z,X)}function BB($){let Z="";return{content:$.replace(/@head\s*([\s\S]*?)@endhead/g,(Y,Q)=>{return Z+=Q.trim()+`
2682
2682
  `,""}),headContent:Z.trim()}}function _B($,Z){return $.replace(/@title\s*\(\s*(?:(['"`])(.+?)\1|([^)]+))\s*\)/g,(X,Y,Q,J)=>{let G=Y?Q:Z[(J||"").trim()]??J;return p1({title:G}),""})}function zB($,Z){return $.replace(/@meta\s*\(\s*(['"`])(.+?)\1\s*,\s*(?:(['"`])(.+?)\3|([^)]+))\s*\)/g,(X,Y,Q,J,G,K)=>{let W=J?G:K,B=J?W:Z[(W||"").trim()]??W,_=Q.includes(":")?{property:Q,content:B}:{name:Q,content:B};return p1({meta:[_]}),""})}var H1,ZB,R7;var c1=M(()=>{H1={},ZB=[],R7={}});import qB from"crypto";function A0($){return String($??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function T7($,Z,X,Y){let Q=$||Z;return X?`${Q} ${Y}`:Q}function jB(){return qB.randomUUID()}function I7($,Z){let X=$;return X=X.replace(/@csrf/g,()=>{if(!Z.csrf||typeof Z.csrf!=="object"){let Y=jB();Z.csrf={token:Y}}if(Z.csrf.field)return Z.csrf.field;if(Z.csrf.token)return`<input type="hidden" name="_token" value="${A0(Z.csrf.token)}">`;return'<input type="hidden" name="_token" value="">'}),X=X.replace(/@method\(['"]([^'"]+)['"]\)/g,(Y,Q)=>{let J=Q.toUpperCase();if(Q&&!["GET","POST"].includes(J))return`<input type="hidden" name="_method" value="${A0(J)}">`;return Y}),X}function RY($,Z,X=wY){let Y=$;return Y=Y.replace(/@form\(\s*(?:(?:'([^']+)'|"([^"]+)")\s*)?(?:,\s*(?:'([^']+)'|"([^"]+)")?)?\s*(?:,\s*\{([^}]+)\}\s*)?\)/g,(Q,J,G,K,W,B="")=>{let U=J||G||"POST",_=K||W||"",z=O1(B),q=U.toUpperCase(),j=["GET","POST"].includes(q)?q:"POST",H=`<form method="${A0(j)}" action="${A0(_)}"${z?` ${z}`:""}>`;if(H+=`
@@ -2868,14 +2868,14 @@ else {
2868
2868
  }
2869
2869
  };
2870
2870
  })();
2871
- </script>`,mB,CY,bY;var D7=M(()=>{E0();M0();n0();J0();t6={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},l1=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g,kY=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;mB=/@stream\s*\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)@endstream/gi;CY={name:"suspense",hasEndTag:!0,handler:($,Z,X,Y)=>{if(!Z||Z.length===0)throw Error("Suspense directive requires a name parameter");let Q=Z[0].replace(/['"`]/g,"");return`<!-- @suspense:${Q} -->${$}<!-- @endsuspense:${Q} -->`}},bY={name:"island",hasEndTag:!0,handler:($,Z,X,Y)=>{if(!Z||Z.length===0)throw Error("Island directive requires a name parameter");let Q=Z[0].replace(/['"`]/g,""),J=Z[1]?Z[1].replace(/['"`]/g,""):"lazy",G=`island-${Q}-${Math.random().toString(36).substring(2,9)}`,K=$.match(/<script\s+props\s*>([\s\S]*?)<\/script>/i),W=K?K[1].trim():"",B=K?$.replace(K[0],""):$;return`<div data-island="${Q}" data-island-id="${G}" data-priority="${J}">
2871
+ </script>`,mB,CY,bY;var D7=M(()=>{D0();T0();n0();J0();t6={enabled:!0,bufferSize:16384,strategy:"auto",timeout:30000},l1=/<!-- @section:([\w-]+) -->([\s\S]*?)<!-- @endsection:\1 -->/g,kY=/<!-- @suspense:([\w-]+) -->([\s\S]*?)<!-- @endsuspense:\1 -->/g;mB=/@stream\s*\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)@endstream/gi;CY={name:"suspense",hasEndTag:!0,handler:($,Z,X,Y)=>{if(!Z||Z.length===0)throw Error("Suspense directive requires a name parameter");let Q=Z[0].replace(/['"`]/g,"");return`<!-- @suspense:${Q} -->${$}<!-- @endsuspense:${Q} -->`}},bY={name:"island",hasEndTag:!0,handler:($,Z,X,Y)=>{if(!Z||Z.length===0)throw Error("Island directive requires a name parameter");let Q=Z[0].replace(/['"`]/g,""),J=Z[1]?Z[1].replace(/['"`]/g,""):"lazy",G=`island-${Q}-${Math.random().toString(36).substring(2,9)}`,K=$.match(/<script\s+props\s*>([\s\S]*?)<\/script>/i),W=K?K[1].trim():"",B=K?$.replace(K[0],""):$;return`<div data-island="${Q}" data-island-id="${G}" data-priority="${J}">
2872
2872
  ${B}
2873
2873
  <script type="application/json" data-island-props="${G}">
2874
2874
  ${W?`{${W}}`:"{}"}
2875
2875
  </script>
2876
2876
  </div>`}}});var xY={};o(xY,{warnUnbalancedTags:()=>Z3,findUnbalancedTags:()=>yY});function L1($){return $.replace(/[^\n]/g," ")}function yY($){let Z=$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,L1).replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,L1).replace(/<!--[\s\S]*?-->/g,L1).replace(/\{\{\{[\s\S]*?\}\}\}/g,L1).replace(/\{\{[\s\S]*?\}\}/g,L1).replace(/\{!![\s\S]*?!!\}/g,L1).replace(/"[^"]*"/g,L1).replace(/'[^']*'/g,L1),X=new Map,Y=new Map,Q=/<(\/?)([A-Za-z][\w-]*)\b[^>]*?(\/?)>/g,J;while((J=Q.exec(Z))!==null){let K=J[1]==="/",W=J[2],B=J[3]==="/";if(aB.has(W.toLowerCase()))continue;if(B)continue;if(K)Y.set(W,(Y.get(W)??0)+1);else{let U=X.get(W);if(U)U.count++;else{let _=Z.slice(0,J.index).split(`
2877
- `).length;X.set(W,{count:1,firstLine:_})}}}let G=[];for(let K of new Set([...X.keys(),...Y.keys()])){if(tB.has(K.toLowerCase()))continue;let W=X.get(K)?.count??0,B=Y.get(K)??0;if(W!==B)G.push({tag:K,opened:W,closed:B,firstOpenLine:X.get(K)?.firstLine??0})}return G}function Z3($,Z){let X;try{X=yY($)}catch{return}if(X.length===0)return;let Y=`${Z}:${$.length}`;if(PY.has(Y))return;PY.add(Y);let Q=Z?Z.split(/[/\\]/).pop()||Z:"template";for(let{tag:J,opened:G,closed:K,firstOpenLine:W}of X)if(G>K){let B=W?` (first opened at line ${W})`:"";console.warn(`[stx] ${Q}: <${J}> ${G} opened, ${K} closed \u2014 an unclosed <${J}>${B} may swallow the content that follows it.`)}else console.warn(`[stx] ${Q}: <${J}> ${G} opened, ${K} closed \u2014 ${K-G} stray </${J}>.`)}var aB,tB,PY;var X3=M(()=>{aB=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),tB=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);PY=new Set});import p0 from"path";import Y3 from"fs";function vY($){return $.split("-").map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join("")}function fY($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class gY{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,X,Y){let Q=$.endsWith(".stx")?$.slice(0,-4):$,J=Y?.__importedComponents;if(J){let q=[Q,Q.toLowerCase(),vY(Q),fY(Q)];for(let j of q)if(J.has(j))return J.get(j)}let G=[...new Set([`${Q}.stx`,`${vY(Q)}.stx`,`${fY(Q)}.stx`])];if(Q.startsWith("./")||Q.startsWith("../")){let q=p0.resolve(p0.dirname(Z),`${Q}.stx`);if(await c(q))return q;return null}let K=[],W=X.componentsDir||"",B=Y?.__originalFilePath;if(B)K.push(p0.join(p0.dirname(B),"components"));if(W)K.push(W);let U=p0.join(p0.dirname(Z),"components");if(!K.includes(U))K.push(U);let _=process.cwd(),z=[p0.resolve(_,"src/components"),p0.resolve(_,"components"),p0.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=p0.join(q,j);if(await c(H))return H}try{if(!Y3.statSync(q,{throwIfNoEntry:!1})?.isDirectory())continue;let H=Y3.readdirSync(q,{withFileTypes:!0});for(let L of H)if(L.isDirectory()){let F=p0.join(q,L.name);for(let O of G){let V=p0.join(F,O);if(await c(V))return V}}}catch{}}return null}}var P0;var J3=M(()=>{J0();P0=new gY});function F1($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function eB($){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 Q3;var G3=M(()=>{Q3={name:"StxLink",aliases:["stx-link"],render($,Z,X){let Y=eB($),Q=(typeof $.static.class==="string"?$.static.class:"")||(typeof $.static.className==="string"?$.static.className:""),J=typeof $.static.activeClass==="string"?$.static.activeClass:"active",G=typeof $.static.exactActiveClass==="string"?$.static.exactActiveClass:"exact-active",K=$.static.prefetch===!0||$.static.prefetch==="true"||$.serverDynamic.prefetch===!0,W=[];if(Y.reactive)W.push(`:href="${F1(Y.value)}"`);else W.push(`href="${F1(Y.value)}"`);if(Q)W.push(`class="${F1(Q)}"`);if(W.push("data-stx-link"),W.push(`data-stx-active-class="${F1(J)}"`),W.push(`data-stx-exact-active-class="${F1(G)}"`),K)W.push("data-stx-prefetch");let B=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);for(let[U,_]of Object.entries($.static)){if(B.has(U))continue;if(typeof _==="boolean"){if(_)W.push(F1(U))}else W.push(`${F1(U)}="${F1(_)}"`)}return`<a ${W.join(" ")}>${Z}</a>`}}});function H0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function D0($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let X=$.static[Z];if(typeof X==="string")return X;return}function W3($,Z,X=!1){let Y=$.serverDynamic[Z];if(Y!==void 0)return Y!==!1&&Y!=="false";let Q=$.static[Z];if(Q!==void 0)return Q!=="false"&&Q!==!1;return X}function hY($){if($.includes("(")||$.includes(","))return $;let Z=$.trim().split(/\s+/),X=[];for(let Y of Z)if(Y.includes(":")){let[Q,J]=Y.split(":"),G=$_[Q];if(G)X.push(`(max-width: ${G}px) ${J}`);else{let K=Number.parseInt(Q);if(!Number.isNaN(K))X.push(`(max-width: ${K}px) ${J}`)}}else X.push(Y);return X.join(", ")}function U3($,Z,X,Y){return Z.map((Q)=>`${O5($,Q,void 0,X,Y)} ${Q}w`).join(", ")}function Z_($,Z,X,Y,Q){return Z.map((J)=>{let G=X?X*J:void 0;return`${O5($,G,void 0,Y,Q)} ${J}x`}).join(", ")}function O5($,Z,X,Y,Q){if(!Y||Y==="local"||Y==="static")return $;if(Y==="cloudinary"){let J=[];if(Z)J.push(`w_${Z}`);if(X)J.push(`h_${X}`);if(Q)J.push(`f_${Q}`);J.push("q_auto");let G=J.join(",");return $.replace("/upload/",`/upload/${G}/`)}if(Y==="imgix"){let J=new URLSearchParams;if(Z)J.set("w",String(Z));if(X)J.set("h",String(X));if(Q)J.set("fm",Q);J.set("auto","format");let G=$.includes("?")?"&":"?";return`${$}${G}${J.toString()}`}if(Y==="bunny"){let J=new URLSearchParams;if(Z)J.set("width",String(Z));if(X)J.set("height",String(X));if(Q)J.set("format",Q);let G=$.includes("?")?"&":"?";return`${$}${G}${J.toString()}`}return $}function X_($,Z,X="#e5e7eb"){let Y=`<svg xmlns="http://www.w3.org/2000/svg" width="${$}" height="${Z}"><rect width="100%" height="100%" fill="${X}"/></svg>`;return`data:image/svg+xml;base64,${btoa(Y)}`}var $_,K3,B3;var _3=M(()=>{$_={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},K3=[320,640,768,1024,1280,1536,1920];B3={name:"StxImage",aliases:["stx-image","stx-img"],render($,Z,X){let Y=D0($,"src")||"",Q=D0($,"alt")||"",J=D0($,"width"),G=D0($,"height"),K=D0($,"sizes"),W=D0($,"srcset"),B=D0($,"densities"),U=D0($,"format"),_=D0($,"placeholder"),z=D0($,"placeholderColor")||"#e5e7eb",q=D0($,"provider"),j=D0($,"class")||D0($,"className")||"",H=D0($,"style")||"",L=D0($,"quality"),F=W3($,"lazy",!0),O=W3($,"preload",!1),V=W3($,"picture",!1)||!!U,N=J?Number.parseInt(J):void 0,A=G?Number.parseInt(G):void 0,w=W||"",R="";if(!w&&K)w=U3(Y,K3,q,U),R=hY(K);else if(!w&&B){let S=B.split(/\s+/).map((C)=>Number.parseFloat(C.replace("x","")));w=Z_(Y,S,N,q,U)}else if(K)R=hY(K);let T=[];if(H)T.push(H);if(N&&A)T.push(`aspect-ratio:${N}/${A}`);if(_==="blur"||_==="color"||_==="thumbhash"){let S=X_(N||16,A||9,z);T.push(`background-image:url(${S})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat")}else if(_&&_!=="empty"&&_!=="none")T.push(`background-image:url(${H0(_)})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat");let I=O5(Y,N,A,q,U),E=[];if(E.push(`src="${H0(I)}"`),E.push(`alt="${H0(Q)}"`),J)E.push(`width="${H0(J)}"`);if(G)E.push(`height="${H0(G)}"`);if(F)E.push('loading="lazy"');if(E.push('decoding="async"'),j)E.push(`class="${H0(j)}"`);if(T.length>0)E.push(`style="${H0(T.join(";"))}"`);if(w)E.push(`srcset="${H0(w)}"`);if(R)E.push(`sizes="${H0(R)}"`);let D=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);for(let[S,C]of Object.entries($.static)){if(D.has(S))continue;if(typeof C==="boolean"){if(C)E.push(H0(S))}else E.push(`${H0(S)}="${H0(C)}"`)}let k=`<img ${E.join(" ")} />`,P="";if(O){let C=U==="webp"?"image/webp":U==="avif"?"image/avif":"";P=`<link rel="preload" as="image" href="${H0(I)}"${C?` type="${C}"`:""}${w?` imagesrcset="${H0(w)}"`:""}${R?` imagesizes="${H0(R)}"`:""} />
2878
- `}if(V){let S=[];if(U==="avif"||U==="auto"){let C=O5(Y,N,A,q,"avif"),y=w?U3(Y,K3,q,"avif"):`${C}`;S.push(`<source type="image/avif" srcset="${H0(y)}"${R?` sizes="${H0(R)}"`:""} />`)}if(U==="webp"||U==="auto"){let C=O5(Y,N,A,q,"webp"),y=w?U3(Y,K3,q,"webp"):`${C}`;S.push(`<source type="image/webp" srcset="${H0(y)}"${R?` sizes="${H0(R)}"`:""} />`)}return`${P}<picture>
2877
+ `).length;X.set(W,{count:1,firstLine:_})}}}let G=[];for(let K of new Set([...X.keys(),...Y.keys()])){if(tB.has(K.toLowerCase()))continue;let W=X.get(K)?.count??0,B=Y.get(K)??0;if(W!==B)G.push({tag:K,opened:W,closed:B,firstOpenLine:X.get(K)?.firstLine??0})}return G}function Z3($,Z){let X;try{X=yY($)}catch{return}if(X.length===0)return;let Y=`${Z}:${$.length}`;if(PY.has(Y))return;PY.add(Y);let Q=Z?Z.split(/[/\\]/).pop()||Z:"template";for(let{tag:J,opened:G,closed:K,firstOpenLine:W}of X)if(G>K){let B=W?` (first opened at line ${W})`:"";console.warn(`[stx] ${Q}: <${J}> ${G} opened, ${K} closed \u2014 an unclosed <${J}>${B} may swallow the content that follows it.`)}else console.warn(`[stx] ${Q}: <${J}> ${G} opened, ${K} closed \u2014 ${K-G} stray </${J}>.`)}var aB,tB,PY;var X3=M(()=>{aB=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),tB=new Set(["html","head","body","p","li","dt","dd","rt","rp","option","optgroup","thead","tbody","tfoot","tr","td","th","colgroup","caption"]);PY=new Set});import p0 from"path";import Y3 from"fs";function vY($){return $.split("-").map((Z)=>Z.charAt(0).toUpperCase()+Z.slice(1)).join("")}function fY($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}class gY{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,X,Y){let Q=$.endsWith(".stx")?$.slice(0,-4):$,J=Y?.__importedComponents;if(J){let q=[Q,Q.toLowerCase(),vY(Q),fY(Q)];for(let j of q)if(J.has(j))return J.get(j)}let G=[...new Set([`${Q}.stx`,`${vY(Q)}.stx`,`${fY(Q)}.stx`])];if(Q.startsWith("./")||Q.startsWith("../")){let q=p0.resolve(p0.dirname(Z),`${Q}.stx`);if(await c(q))return q;return null}let K=[],W=X.componentsDir||"",B=Y?.__originalFilePath;if(B)K.push(p0.join(p0.dirname(B),"components"));if(W)K.push(W);let U=p0.join(p0.dirname(Z),"components");if(!K.includes(U))K.push(U);let _=process.cwd(),z=[p0.resolve(_,"src/components"),p0.resolve(_,"components"),p0.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=p0.join(q,j);if(await c(H))return H}try{if(!Y3.statSync(q,{throwIfNoEntry:!1})?.isDirectory())continue;let H=Y3.readdirSync(q,{withFileTypes:!0});for(let L of H)if(L.isDirectory()){let F=p0.join(q,L.name);for(let O of G){let V=p0.join(F,O);if(await c(V))return V}}}catch{}}return null}}var P0;var J3=M(()=>{J0();P0=new gY});function F1($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function eB($){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 Q3;var G3=M(()=>{Q3={name:"StxLink",aliases:["stx-link"],render($,Z,X){let Y=eB($),Q=(typeof $.static.class==="string"?$.static.class:"")||(typeof $.static.className==="string"?$.static.className:""),J=typeof $.static.activeClass==="string"?$.static.activeClass:"active",G=typeof $.static.exactActiveClass==="string"?$.static.exactActiveClass:"exact-active",K=$.static.prefetch===!0||$.static.prefetch==="true"||$.serverDynamic.prefetch===!0,W=[];if(Y.reactive)W.push(`:href="${F1(Y.value)}"`);else W.push(`href="${F1(Y.value)}"`);if(Q)W.push(`class="${F1(Q)}"`);if(W.push("data-stx-link"),W.push(`data-stx-active-class="${F1(J)}"`),W.push(`data-stx-exact-active-class="${F1(G)}"`),K)W.push("data-stx-prefetch");let B=new Set(["to","class","className","activeClass","exactActiveClass","prefetch"]);for(let[U,_]of Object.entries($.static)){if(B.has(U))continue;if(typeof _==="boolean"){if(_)W.push(F1(U))}else W.push(`${F1(U)}="${F1(_)}"`)}return`<a ${W.join(" ")}>${Z}</a>`}}});function H0($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function k0($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);let X=$.static[Z];if(typeof X==="string")return X;return}function W3($,Z,X=!1){let Y=$.serverDynamic[Z];if(Y!==void 0)return Y!==!1&&Y!=="false";let Q=$.static[Z];if(Q!==void 0)return Q!=="false"&&Q!==!1;return X}function hY($){if($.includes("(")||$.includes(","))return $;let Z=$.trim().split(/\s+/),X=[];for(let Y of Z)if(Y.includes(":")){let[Q,J]=Y.split(":"),G=$_[Q];if(G)X.push(`(max-width: ${G}px) ${J}`);else{let K=Number.parseInt(Q);if(!Number.isNaN(K))X.push(`(max-width: ${K}px) ${J}`)}}else X.push(Y);return X.join(", ")}function U3($,Z,X,Y){return Z.map((Q)=>`${O5($,Q,void 0,X,Y)} ${Q}w`).join(", ")}function Z_($,Z,X,Y,Q){return Z.map((J)=>{let G=X?X*J:void 0;return`${O5($,G,void 0,Y,Q)} ${J}x`}).join(", ")}function O5($,Z,X,Y,Q){if(!Y||Y==="local"||Y==="static")return $;if(Y==="cloudinary"){let J=[];if(Z)J.push(`w_${Z}`);if(X)J.push(`h_${X}`);if(Q)J.push(`f_${Q}`);J.push("q_auto");let G=J.join(",");return $.replace("/upload/",`/upload/${G}/`)}if(Y==="imgix"){let J=new URLSearchParams;if(Z)J.set("w",String(Z));if(X)J.set("h",String(X));if(Q)J.set("fm",Q);J.set("auto","format");let G=$.includes("?")?"&":"?";return`${$}${G}${J.toString()}`}if(Y==="bunny"){let J=new URLSearchParams;if(Z)J.set("width",String(Z));if(X)J.set("height",String(X));if(Q)J.set("format",Q);let G=$.includes("?")?"&":"?";return`${$}${G}${J.toString()}`}return $}function X_($,Z,X="#e5e7eb"){let Y=`<svg xmlns="http://www.w3.org/2000/svg" width="${$}" height="${Z}"><rect width="100%" height="100%" fill="${X}"/></svg>`;return`data:image/svg+xml;base64,${btoa(Y)}`}var $_,K3,B3;var _3=M(()=>{$_={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},K3=[320,640,768,1024,1280,1536,1920];B3={name:"StxImage",aliases:["stx-image","stx-img"],render($,Z,X){let Y=k0($,"src")||"",Q=k0($,"alt")||"",J=k0($,"width"),G=k0($,"height"),K=k0($,"sizes"),W=k0($,"srcset"),B=k0($,"densities"),U=k0($,"format"),_=k0($,"placeholder"),z=k0($,"placeholderColor")||"#e5e7eb",q=k0($,"provider"),j=k0($,"class")||k0($,"className")||"",H=k0($,"style")||"",L=k0($,"quality"),F=W3($,"lazy",!0),O=W3($,"preload",!1),V=W3($,"picture",!1)||!!U,N=J?Number.parseInt(J):void 0,A=G?Number.parseInt(G):void 0,w=W||"",R="";if(!w&&K)w=U3(Y,K3,q,U),R=hY(K);else if(!w&&B){let S=B.split(/\s+/).map((b)=>Number.parseFloat(b.replace("x","")));w=Z_(Y,S,N,q,U)}else if(K)R=hY(K);let T=[];if(H)T.push(H);if(N&&A)T.push(`aspect-ratio:${N}/${A}`);if(_==="blur"||_==="color"||_==="thumbhash"){let S=X_(N||16,A||9,z);T.push(`background-image:url(${S})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat")}else if(_&&_!=="empty"&&_!=="none")T.push(`background-image:url(${H0(_)})`),T.push("background-size:cover"),T.push("background-repeat:no-repeat");let I=O5(Y,N,A,q,U),E=[];if(E.push(`src="${H0(I)}"`),E.push(`alt="${H0(Q)}"`),J)E.push(`width="${H0(J)}"`);if(G)E.push(`height="${H0(G)}"`);if(F)E.push('loading="lazy"');if(E.push('decoding="async"'),j)E.push(`class="${H0(j)}"`);if(T.length>0)E.push(`style="${H0(T.join(";"))}"`);if(w)E.push(`srcset="${H0(w)}"`);if(R)E.push(`sizes="${H0(R)}"`);let D=new Set(["src","alt","width","height","lazy","sizes","srcset","placeholder","placeholderColor","class","className","style","format","provider","quality","densities","preload","picture"]);for(let[S,b]of Object.entries($.static)){if(D.has(S))continue;if(typeof b==="boolean"){if(b)E.push(H0(S))}else E.push(`${H0(S)}="${H0(b)}"`)}let k=`<img ${E.join(" ")} />`,P="";if(O){let b=U==="webp"?"image/webp":U==="avif"?"image/avif":"";P=`<link rel="preload" as="image" href="${H0(I)}"${b?` type="${b}"`:""}${w?` imagesrcset="${H0(w)}"`:""}${R?` imagesizes="${H0(R)}"`:""} />
2878
+ `}if(V){let S=[];if(U==="avif"||U==="auto"){let b=O5(Y,N,A,q,"avif"),y=w?U3(Y,K3,q,"avif"):`${b}`;S.push(`<source type="image/avif" srcset="${H0(y)}"${R?` sizes="${H0(R)}"`:""} />`)}if(U==="webp"||U==="auto"){let b=O5(Y,N,A,q,"webp"),y=w?U3(Y,K3,q,"webp"):`${b}`;S.push(`<source type="image/webp" srcset="${H0(y)}"${R?` sizes="${H0(R)}"`:""} />`)}return`${P}<picture>
2879
2879
  ${S.join(`
2880
2880
  `)}
2881
2881
  ${k}
@@ -2913,15 +2913,15 @@ ${k}
2913
2913
  .stx-drawer-backdrop[data-stx-drawer-open]{display:block!important;opacity:1}
2914
2914
  .stx-drawer-backdrop[data-stx-drawer-open] .stx-drawer-panel{transform:translateX(0)}
2915
2915
  </style>`}}});import{existsSync as Q_,readFileSync as G_}from"fs";function K_($){try{return G0.resolve(`@iconify/json/json/${$}.json`)}catch{}let Z=process.cwd();for(let X of[`${Z}/node_modules/@iconify/json/json/${$}.json`,`${Z}/pantry/@iconify/json/json/${$}.json`])if(Q_(X))return X;return null}function W_($){if(C7.has($))return C7.get($);let Z=K_($);if(!Z)return null;try{let X=JSON.parse(G_(Z,"utf8"));return C7.set($,X.icons),X.icons}catch{return null}}function j$($,Z){if($.serverDynamic[Z]!==void 0)return String($.serverDynamic[Z]);if($.static[Z]!==void 0)return String($.static[Z]);if($.clientReactive[Z]!==void 0)return $.clientReactive[Z];return}var C7,R3;var M3=M(()=>{C7=new Map;R3={name:"Icon",aliases:["icon","stx-icon"],render($,Z,X){let Y=j$($,"name")??j$($,"icon");if(!Y)return"<!-- Icon: missing name/icon prop -->";let Q="lucide",J=Y;if(Y.includes(":")){let O=Y.split(":");Q=O[0],J=O[1]}let G=r0(j$($,"size")||"24"),K=r0(j$($,"color")||"currentColor"),W=r0(j$($,"class")||""),B=r0(j$($,"style")||""),U=C7.get(Q)??W_(Q);if(!U)return`<!-- Icon: collection "${Q}" not loaded -->`;let _=U[J];if(!_)return`<!-- Icon: "${J}" not found in ${Q} -->`;let z=_.width||24,q=_.height||24,j=`0 0 ${z} ${q}`,H=_.body;if(K!=="currentColor")H=H.replace(/currentColor/g,K);let L=W?` class="${W}"`:"",F=B?` style="${B}"`:"";return`<svg xmlns="http://www.w3.org/2000/svg" width="${G}" height="${G}" viewBox="${j}" fill="none"${L}${F}>${H}</svg>`}}});function cY($,...Z){for(let X of Z){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Y=$.static[X];if(typeof Y==="string")return Y}return}function lY($,Z){let X=new RegExp(`<(template|div|span)[^>]*\\bslot=["']${Z}["'][^>]*>([\\s\\S]*?)<\\/\\1>`,"i"),Y=$.match(X);if(!Y)return{region:null,rest:$};return{region:Y[2],rest:$.replace(Y[0],"")}}var T3;var I3=M(()=>{T3={name:"Suspense",aliases:["suspense"],render($,Z,X){let Y=lY(Z,"fallback"),Q=Y.rest,J=lY(Q,"error"),G=J.rest,K=Y.region??cY($,"fallback")??'<div class="stx-suspense-loading">Loading\u2026</div>',W=J.region??cY($,"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 b7($,...Z){for(let X of Z){if($.serverDynamic[X]!==void 0)return String($.serverDynamic[X]);let Y=$.static[X];if(typeof Y==="string")return Y}return}var E3;var D3=M(()=>{E3={name:"TransitionGroup",aliases:["transition-group"],render($,Z,X){let Y=(b7($,"name")||"v").replace(/["'<>]/g,""),Q=(b7($,"tag")||"div").replace(/[^a-z0-9-]/gi,"")||"div",J=b7($,"class"),G=b7($,"id"),K=[`data-stx-transition-group="${Y}"`,J?`class="${J}"`:"",G?`id="${G}"`:""].filter(Boolean).join(" ");return`<${Q} ${K}>${Z}</${Q}>`}}});function iY(){P0.registerBuiltin(Q3),P0.registerBuiltin(B3),P0.registerBuiltin(z3),P0.registerBuiltin(H3),P0.registerBuiltin(L3),P0.registerBuiltin(V3),P0.registerBuiltin(A3),P0.registerBuiltin(R3),P0.registerBuiltin(T3),P0.registerBuiltin(E3)}var k3=M(()=>{G3();_3();q3();O3();F3();N3();w3();M3();I3();D3();J3();G3();_3();q3();O3();F3();N3();w3();M3();I3();D3()});function nY($){return $.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").toLowerCase()}function rY($,Z,X){let Y=[],Q=0;while(Q<$.length){let J=$.indexOf("<",Q);if(J===-1)break;let K=$.slice(J+1).match(new RegExp(`^(${Z.source})`));if(!K){Q=J+1;continue}let W=K[1];if(X&&X.has(W.toLowerCase())){let H=J+1+W.length;while(H<$.length&&$[H]!==">")H++;Q=H+1;continue}let B=J+1+W.length,U=null,_=B,z=-1,q=!1;while(B<$.length){let H=$[B];if(U){if(H==="\\"&&B+1<$.length){B+=2;continue}if(H===U)U=null;B++;continue}if(H==='"'||H==="'"){U=H,B++;continue}if(H==="/"&&B+1<$.length&&$[B+1]===">"){z=B+2,q=!0;break}if(H===">"){z=B+1;break}B++}if(z===-1){Q=J+1;continue}let j=$.slice(_,q?z-2:z-1).trim();if(q)Y.push({fullMatch:$.slice(J,z),tagName:W,attributes:j,content:"",startIndex:J,endIndex:z,isSelfClosing:!0}),Q=z;else{let H=`<${W}`,L=`</${W}>`,F=1,O=z,V=-1;while(F>0&&O<$.length){let w=$.indexOf(H,O),R=$.indexOf(L,O);if(R===-1)break;if(w!==-1&&w<R){let T=$[w+H.length];if(T===" "||T===">"||T==="/"||T===`
2916
- `||T==="\t")F++;O=w+H.length}else{if(F--,F===0){V=R;break}O=R+L.length}}if(V===-1){Q=z;continue}let N=$.slice(z,V),A=V+L.length;Y.push({fullMatch:$.slice(J,A),tagName:W,attributes:j,content:N,startIndex:J,endIndex:A,isSelfClosing:!1}),Q=A}}return Y}function sY($,Z){try{let X=Buffer.from($,"base64").toString("utf8");return JSON.parse(X)}catch{}try{let X=$.replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&");return JSON.parse(X)}catch(X){if(Z?.debug)console.error("Error decoding __stx_ prop:",X);return $}}var oY=M(()=>{L0();J0();d5()});var XJ={};o(XJ,{processESImports:()=>ZJ,processComponents:()=>y7});import P7 from"fs";import d0 from"path";function __($,Z,X){let Y={static:{},serverDynamic:{},clientReactive:{},events:{}},Q=new Set(["x-cloak","x-show","x-if","x-for","x-data","x-init","x-transition","x-ref","x-effect","x-model","x-text","x-html","x-class","x-style","x-on","x-bind"]),J=(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-")&&!Q.has(G)&&!G.startsWith("x-bind:")&&!G.startsWith("x-on:")?`:${G.slice(2)}`:G;if(W.startsWith("@")){Y.events[W]=K;continue}if(W.startsWith("__stx_")){let B=J(W.slice(6));Y.serverDynamic[B]=sY(K,X);continue}if(W.startsWith(":")){let B=J(W.slice(1)),U=K==="true"?B:K;try{if(!Z0(U)){if(X.debug)console.error(`Unsafe expression in :${B} binding: ${U}`);Y.clientReactive[B]=U;continue}let _=Object.keys(Z),q=X0(U,_)(...Object.values(Z));if(q===void 0){let j=U.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))){Y.clientReactive[B]=U;continue}}Y.serverDynamic[B]=q}catch{Y.clientReactive[B]=U}continue}if(typeof K==="string"&&K.includes("{{")&&K.includes("}}")){let B=K.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(B)try{let U=B[1];if(Z0(U)){let z=X0(U,Object.keys(Z))(...Object.values(Z));Y.static[W]=z!=null?String(z):""}else{if(X.debug)console.error(`Unsafe expression in ${W}: ${U}`);Y.static[W]=K}}catch(U){if(X.debug)console.error(`Error evaluating expression for ${W}:`,U);Y.static[W]=K}else{let U=K,_=/\{\{\s*([\s\S]+?)\s*\}\}/g,z;while((z=_.exec(K))!==null)try{let q=z[1];if(!Z0(q)){if(X.debug)console.error(`Unsafe expression in ${W}: ${q}`);continue}let H=X0(q,Object.keys(Z))(...Object.values(Z));U=U.replace(z[0],String(H??""))}catch(q){if(X.debug)console.error(`Error evaluating expression in ${W}:`,q)}Y.static[W]=U}continue}Y.static[W]=K}return Y}function z_($){let Z={},X=0,Y=$.length;while(X<Y){while(X<Y&&/\s/.test($[X]))X++;if(X>=Y)break;let Q="";while(X<Y&&!/[\s=]/.test($[X]))Q+=$[X],X++;if(!Q)break;while(X<Y&&/\s/.test($[X]))X++;if(X<Y&&$[X]==="="){X++;while(X<Y&&/\s/.test($[X]))X++;let J="";if(X<Y&&($[X]==='"'||$[X]==="'")){let G=$[X];X++;while(X<Y){let K=$[X];if(K==="\\"&&X+1<Y){X++,J+=$[X],X++;continue}if(K===G){X++;break}J+=K,X++}}else while(X<Y&&!/\s/.test($[X]))J+=$[X],X++;Z[Q]=J}else Z[Q]="true"}return Z}function tY($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function q_($){let Z=new Set,X=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,Y;while((Y=X.exec($))!==null){let Q=Y[1];if(P0.isBuiltin(Q))Z.add(Q)}return[...Z].sort()}function j_($){let Z=eY.get($);if(Z)return Z;let X=new Map,Y=[d0.join($,"src"),d0.join($,"dist"),$];function Q(J,G){if(G>6)return;let K;try{K=P7.readdirSync(J,{withFileTypes:!0})}catch{return}for(let W of K){let B=d0.join(J,W.name);if(W.isDirectory()){if(W.name==="node_modules"||W.name.startsWith("."))continue;Q(B,G+1)}else if(W.isFile()&&W.name.endsWith(".stx")){let U=W.name.slice(0,-4);if(!X.has(U))X.set(U,B);let _=U.toLowerCase();if(!X.has(_))X.set(_,B);let z=U.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!X.has(z))X.set(z,B)}}}for(let J of Y)if(Q(J,0),X.size>0)break;return eY.set($,X),X}function H_($,Z){if($.startsWith(".")||$.startsWith("/"))return null;let X=Z;while(!0){let Y=d0.join(X,"node_modules",$);try{if(P7.statSync(Y).isDirectory())return Y}catch{}let Q=d0.dirname(X);if(Q===X)return null;X=Q}}async function ZJ($,Z,X,Y,Q){if(!$.includes("import"))return $;if(!Z.__importedComponents)Z.__importedComponents=new Map;let J=Z.__importedComponents,G=d0.dirname(X),K=$,W=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return K=K.replace(W,(B,U,_)=>{let z=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,q=_,j,H=[];while((j=z.exec(_))!==null){let[L,F,O,V]=j,N=null,A=null;if(V.startsWith(".")||V.startsWith("/")){let T=d0.resolve(G,V);if(T.endsWith(".stx"))A=T;else{let I=`${T}.stx`;try{if(P7.statSync(I).isFile())A=I}catch{try{if(P7.statSync(T).isDirectory())N=T}catch{}}}}else N=H_(V,G);if(!N&&!A)continue;let w=!1,R=(T,I)=>{J.set(T,I),J.set(T.toLowerCase(),I);let E=T.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();J.set(E,I),Q.add(I)};if(O&&A)R(O,A),w=!0;else if(F){let T=F.slice(1,-1).split(",").map((E)=>E.trim()).filter(Boolean).map((E)=>{let D=E.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(D)return{source:D[1],local:D[2]};return{source:E,local:E}}),I=N?j_(N):null;for(let{source:E,local:D}of T){let k=null;if(A)k=A;else if(I)k=I.get(E)??I.get(E.toLowerCase())??I.get(E.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(k)R(D,k),w=!0}}if(w)H.push({start:j.index,end:j.index+L.length})}if(H.length===0)return B;for(let L=H.length-1;L>=0;L--)q=q.slice(0,H[L].start)+q.slice(H[L].end);return`<script${U}>${q}</script>`}),K}async function O_($,Z,X,Y,Q){let J=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,K=/@import\s*\(\s*([^)]+)\s*\)/g,W;while((W=K.exec(J))!==null){let[B,U]=W,_=U.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$/,""),L=H.includes("-")?H.split("-").map((V)=>V.charAt(0).toUpperCase()+V.slice(1)).join(""):H.charAt(0).toUpperCase()+H.slice(1),F=null,O=[d0.resolve(d0.dirname(X),`${z}.stx`),d0.resolve(d0.dirname(X),z),d0.resolve(Y.componentsDir||"components",`${z}.stx`),d0.resolve(Y.componentsDir||"components",z),z.endsWith(".stx")?z:`${z}.stx`];for(let V of O)try{if(await Bun.file(V).exists()){F=V;break}}catch{}if(F){G.set(L,F),G.set(H,F),G.set(H.toLowerCase(),F);let V=L.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(G.set(V,F),Q.add(F),Y.debug)console.log(`Imported component: ${L} -> ${F}`)}else if(Y.debug)console.warn(`Could not resolve imported component: ${z}`)}J=J.replace(B,""),K.lastIndex=0}return J}async function L_($,Z,X,Y,Q){let J=$,G=Y.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,W=/@component\s*\(/g,B;while((B=W.exec(J))!==null){let U=B.index,_=U+B[0].length-1,z=1,q=_+1;while(q<J.length&&z>0){if(J[q]==="(")z++;else if(J[q]===")"){if(z--,z===0)break}q++}if(z!==0)break;let j=J.substring(_+1,q),H=q+1,L=j.match(/^\s*['"]([^'"]+)['"]/);if(!L){W.lastIndex=0;continue}let F=L[1],O,V=j.slice(L[0].length),N=V.match(/^\s*,\s*/);if(N)O=V.slice(N[0].length).trim();let A={};if(O)try{A=O0(O,Z)}catch(D){let k=D instanceof Error?D.message:String(D);J=J.replace(J.substring(U,H),`[Error parsing component props: ${k}]`);continue}let w="",R=H,I=J.substring(H).match(/^([\s\S]*?)@endcomponent/);if(I)w=I[1].trim(),R=H+I[0].length;let E=await N1(F,A,w,G,Z,X,Y,K,Q);J=J.substring(0,U)+E+J.substring(R),W.lastIndex=0}return J}async function F_($,Z,X,Y,Q){if(!$)return $;let J=$,G=Y.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,W=M4(J);return J=W.output,J=await z(J,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),J=await z(J,/[A-Z][a-zA-Z0-9]*/,!0),J=await z(J,/[a-z][a-z0-9]*/,!1,B_),J=T4(J,W.scripts),J;async function z(q,j,H,L){if(!q)return q;let F=q,O=rY(F,j,L);for(let V=O.length-1;V>=0;V--){let N=O[V],A=H?nY(N.tagName):N.tagName,w=z_(N.attributes),R=__(w,Z,Y),T=P0.getBuiltin(N.tagName),I=T?await YJ(A,G,Z,X,Y):!1;if(T&&!I){let P={context:Z,filePath:X,options:Y,dependencies:Q},S=T.render(R,N.content,P);if(Object.keys(R.clientReactive).length>0)S=$J(S,R.clientReactive);if(Object.keys(R.events).length>0){let C=Object.entries(R.events).map(([y,u])=>`${y}="${tY(u)}"`).join(" ");S=S.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${C}`)}F=F.substring(0,N.startIndex)+S+F.substring(N.endIndex);continue}let E={};for(let[P,S]of Object.entries(R.static))E[P]=S;for(let[P,S]of Object.entries(R.serverDynamic))E[P]=S;let k=await N1(A,E,N.content,G,Z,X,Y,K,Q);if(Object.keys(R.clientReactive).length>0)k=$J(k,R.clientReactive);if(Object.keys(R.events).length>0){let P=k.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(P){let S=Object.entries(R.events).map(([y,u])=>`${y}="${tY(u)}"`).join(" "),C=P[1].length+P[2].length;k=k.substring(0,C)+" "+S+k.substring(C)}}F=F.substring(0,N.startIndex)+k+F.substring(N.endIndex)}return F}}function $J($,Z){let X=$.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(!X)return $;let Y=Object.entries(Z).map(([J,G])=>`:${J}="${G.replace(/"/g,"&quot;")}"`).join(" "),Q=X[1].length+X[2].length;return $.substring(0,Q)+" "+Y+$.substring(Q)}async function y7($,Z,X,Y,Q){if(!aY)iY(),aY=!0;let J=await ZJ($,Z,X,Y,Q);J=await O_(J,Z,X,Y,Q),J=await L_(J,Z,X,Y,Q);for(let G=0;G<3;G++){let K=J;if(J=await F_(J,Z,X,Y,Q),J===K)break}if(Y.debug){let G=q_(J);if(G.length>0)console.warn(`[stx] ${X}: unresolved component tag(s) after render passes: ${G.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return J}var aY=!1,B_,eY;var S3=M(()=>{J3();k3();oY();J0();L0();B_=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"]);eY=new Map});var x7={};o(x7,{stripTypeScript:()=>WJ,hasVariables:()=>qJ,extractVariables:()=>b0,extractScriptFromTemplate:()=>zJ,convertToCommonJS:()=>b3});import H$ from"path";import F5 from"process";function V_($){let Z=[],X=0,Y=$.split(`
2916
+ `||T==="\t")F++;O=w+H.length}else{if(F--,F===0){V=R;break}O=R+L.length}}if(V===-1){Q=z;continue}let N=$.slice(z,V),A=V+L.length;Y.push({fullMatch:$.slice(J,A),tagName:W,attributes:j,content:N,startIndex:J,endIndex:A,isSelfClosing:!1}),Q=A}}return Y}function sY($,Z){try{let X=Buffer.from($,"base64").toString("utf8");return JSON.parse(X)}catch{}try{let X=$.replace(/&quot;/g,'"').replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&");return JSON.parse(X)}catch(X){if(Z?.debug)console.error("Error decoding __stx_ prop:",X);return $}}var oY=M(()=>{L0();J0();d5()});var XJ={};o(XJ,{processESImports:()=>ZJ,processComponents:()=>y7});import P7 from"fs";import d0 from"path";function __($,Z,X){let Y={static:{},serverDynamic:{},clientReactive:{},events:{}},Q=new Set(["x-cloak","x-show","x-if","x-for","x-data","x-init","x-transition","x-ref","x-effect","x-model","x-text","x-html","x-class","x-style","x-on","x-bind"]),J=(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-")&&!Q.has(G)&&!G.startsWith("x-bind:")&&!G.startsWith("x-on:")?`:${G.slice(2)}`:G;if(W.startsWith("@")){Y.events[W]=K;continue}if(W.startsWith("__stx_")){let B=J(W.slice(6));Y.serverDynamic[B]=sY(K,X);continue}if(W.startsWith(":")){let B=J(W.slice(1)),U=K==="true"?B:K;try{if(!Z0(U)){if(X.debug)console.error(`Unsafe expression in :${B} binding: ${U}`);Y.clientReactive[B]=U;continue}let _=Object.keys(Z),q=X0(U,_)(...Object.values(Z));if(q===void 0){let j=U.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))){Y.clientReactive[B]=U;continue}}Y.serverDynamic[B]=q}catch{Y.clientReactive[B]=U}continue}if(typeof K==="string"&&K.includes("{{")&&K.includes("}}")){let B=K.match(/^\{\{\s*([\s\S]+?)\s*\}\}$/);if(B)try{let U=B[1];if(Z0(U)){let z=X0(U,Object.keys(Z))(...Object.values(Z));Y.static[W]=z!=null?String(z):""}else{if(X.debug)console.error(`Unsafe expression in ${W}: ${U}`);Y.static[W]=K}}catch(U){if(X.debug)console.error(`Error evaluating expression for ${W}:`,U);Y.static[W]=K}else{let U=K,_=/\{\{\s*([\s\S]+?)\s*\}\}/g,z;while((z=_.exec(K))!==null)try{let q=z[1];if(!Z0(q)){if(X.debug)console.error(`Unsafe expression in ${W}: ${q}`);continue}let H=X0(q,Object.keys(Z))(...Object.values(Z));U=U.replace(z[0],String(H??""))}catch(q){if(X.debug)console.error(`Error evaluating expression in ${W}:`,q)}Y.static[W]=U}continue}Y.static[W]=K}return Y}function z_($){let Z={},X=0,Y=$.length;while(X<Y){while(X<Y&&/\s/.test($[X]))X++;if(X>=Y)break;let Q="";while(X<Y&&!/[\s=]/.test($[X]))Q+=$[X],X++;if(!Q)break;while(X<Y&&/\s/.test($[X]))X++;if(X<Y&&$[X]==="="){X++;while(X<Y&&/\s/.test($[X]))X++;let J="";if(X<Y&&($[X]==='"'||$[X]==="'")){let G=$[X];X++;while(X<Y){let K=$[X];if(K==="\\"&&X+1<Y){X++,J+=$[X],X++;continue}if(K===G){X++;break}J+=K,X++}}else while(X<Y&&!/\s/.test($[X]))J+=$[X],X++;Z[Q]=J}else Z[Q]="true"}return Z}function tY($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function q_($){let Z=new Set,X=/<([A-Z][A-Za-z0-9]*|stx-[a-z0-9-]+)\b[^>]*>/g,Y;while((Y=X.exec($))!==null){let Q=Y[1];if(P0.isBuiltin(Q))Z.add(Q)}return[...Z].sort()}function j_($){let Z=eY.get($);if(Z)return Z;let X=new Map,Y=[d0.join($,"src"),d0.join($,"dist"),$];function Q(J,G){if(G>6)return;let K;try{K=P7.readdirSync(J,{withFileTypes:!0})}catch{return}for(let W of K){let B=d0.join(J,W.name);if(W.isDirectory()){if(W.name==="node_modules"||W.name.startsWith("."))continue;Q(B,G+1)}else if(W.isFile()&&W.name.endsWith(".stx")){let U=W.name.slice(0,-4);if(!X.has(U))X.set(U,B);let _=U.toLowerCase();if(!X.has(_))X.set(_,B);let z=U.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(!X.has(z))X.set(z,B)}}}for(let J of Y)if(Q(J,0),X.size>0)break;return eY.set($,X),X}function H_($,Z){if($.startsWith(".")||$.startsWith("/"))return null;let X=Z;while(!0){let Y=d0.join(X,"node_modules",$);try{if(P7.statSync(Y).isDirectory())return Y}catch{}let Q=d0.dirname(X);if(Q===X)return null;X=Q}}async function ZJ($,Z,X,Y,Q){if(!$.includes("import"))return $;if(!Z.__importedComponents)Z.__importedComponents=new Map;let J=Z.__importedComponents,G=d0.dirname(X),K=$,W=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi;return K=K.replace(W,(B,U,_)=>{let z=/import\s+(?:(\{[^}]*\})|([A-Za-z_$][\w$]*))\s+from\s+['"]([^'"]+)['"]\s*;?\s*\n?/g,q=_,j,H=[];while((j=z.exec(_))!==null){let[L,F,O,V]=j,N=null,A=null;if(V.startsWith(".")||V.startsWith("/")){let T=d0.resolve(G,V);if(T.endsWith(".stx"))A=T;else{let I=`${T}.stx`;try{if(P7.statSync(I).isFile())A=I}catch{try{if(P7.statSync(T).isDirectory())N=T}catch{}}}}else N=H_(V,G);if(!N&&!A)continue;let w=!1,R=(T,I)=>{J.set(T,I),J.set(T.toLowerCase(),I);let E=T.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();J.set(E,I),Q.add(I)};if(O&&A)R(O,A),w=!0;else if(F){let T=F.slice(1,-1).split(",").map((E)=>E.trim()).filter(Boolean).map((E)=>{let D=E.match(/^([A-Za-z_$][\w$]*)\s+as\s+([A-Za-z_$][\w$]*)$/);if(D)return{source:D[1],local:D[2]};return{source:E,local:E}}),I=N?j_(N):null;for(let{source:E,local:D}of T){let k=null;if(A)k=A;else if(I)k=I.get(E)??I.get(E.toLowerCase())??I.get(E.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase())??null;if(k)R(D,k),w=!0}}if(w)H.push({start:j.index,end:j.index+L.length})}if(H.length===0)return B;for(let L=H.length-1;L>=0;L--)q=q.slice(0,H[L].start)+q.slice(H[L].end);return`<script${U}>${q}</script>`}),K}async function O_($,Z,X,Y,Q){let J=$;if(!Z.__importedComponents)Z.__importedComponents=new Map;let G=Z.__importedComponents,K=/@import\s*\(\s*([^)]+)\s*\)/g,W;while((W=K.exec(J))!==null){let[B,U]=W,_=U.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$/,""),L=H.includes("-")?H.split("-").map((V)=>V.charAt(0).toUpperCase()+V.slice(1)).join(""):H.charAt(0).toUpperCase()+H.slice(1),F=null,O=[d0.resolve(d0.dirname(X),`${z}.stx`),d0.resolve(d0.dirname(X),z),d0.resolve(Y.componentsDir||"components",`${z}.stx`),d0.resolve(Y.componentsDir||"components",z),z.endsWith(".stx")?z:`${z}.stx`];for(let V of O)try{if(await Bun.file(V).exists()){F=V;break}}catch{}if(F){G.set(L,F),G.set(H,F),G.set(H.toLowerCase(),F);let V=L.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();if(G.set(V,F),Q.add(F),Y.debug)console.log(`Imported component: ${L} -> ${F}`)}else if(Y.debug)console.warn(`Could not resolve imported component: ${z}`)}J=J.replace(B,""),K.lastIndex=0}return J}async function L_($,Z,X,Y,Q){let J=$,G=Y.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,W=/@component\s*\(/g,B;while((B=W.exec(J))!==null){let U=B.index,_=U+B[0].length-1,z=1,q=_+1;while(q<J.length&&z>0){if(J[q]==="(")z++;else if(J[q]===")"){if(z--,z===0)break}q++}if(z!==0)break;let j=J.substring(_+1,q),H=q+1,L=j.match(/^\s*['"]([^'"]+)['"]/);if(!L){W.lastIndex=0;continue}let F=L[1],O,V=j.slice(L[0].length),N=V.match(/^\s*,\s*/);if(N)O=V.slice(N[0].length).trim();let A={};if(O)try{A=O0(O,Z)}catch(D){let k=D instanceof Error?D.message:String(D);J=J.replace(J.substring(U,H),`[Error parsing component props: ${k}]`);continue}let w="",R=H,I=J.substring(H).match(/^([\s\S]*?)@endcomponent/);if(I)w=I[1].trim(),R=H+I[0].length;let E=await N1(F,A,w,G,Z,X,Y,K,Q);J=J.substring(0,U)+E+J.substring(R),W.lastIndex=0}return J}async function F_($,Z,X,Y,Q){if(!$)return $;let J=$,G=Y.componentsDir||"components";if(!Z.__processedComponents)Z.__processedComponents=new Set;let K=Z.__processedComponents,W=M4(J);return J=W.output,J=await z(J,/[a-z][a-z0-9]*-[a-z0-9-]*/,!1),J=await z(J,/[A-Z][a-zA-Z0-9]*/,!0),J=await z(J,/[a-z][a-z0-9]*/,!1,B_),J=T4(J,W.scripts),J;async function z(q,j,H,L){if(!q)return q;let F=q,O=rY(F,j,L);for(let V=O.length-1;V>=0;V--){let N=O[V],A=H?nY(N.tagName):N.tagName,w=z_(N.attributes),R=__(w,Z,Y),T=P0.getBuiltin(N.tagName),I=T?await YJ(A,G,Z,X,Y):!1;if(T&&!I){let P={context:Z,filePath:X,options:Y,dependencies:Q},S=T.render(R,N.content,P);if(Object.keys(R.clientReactive).length>0)S=$J(S,R.clientReactive);if(Object.keys(R.events).length>0){let b=Object.entries(R.events).map(([y,u])=>`${y}="${tY(u)}"`).join(" ");S=S.replace(/^(\s*<[a-zA-Z][a-zA-Z0-9-]*)/,`$1 ${b}`)}F=F.substring(0,N.startIndex)+S+F.substring(N.endIndex);continue}let E={};for(let[P,S]of Object.entries(R.static))E[P]=S;for(let[P,S]of Object.entries(R.serverDynamic))E[P]=S;let k=await N1(A,E,N.content,G,Z,X,Y,K,Q);if(Object.keys(R.clientReactive).length>0)k=$J(k,R.clientReactive);if(Object.keys(R.events).length>0){let P=k.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(P){let S=Object.entries(R.events).map(([y,u])=>`${y}="${tY(u)}"`).join(" "),b=P[1].length+P[2].length;k=k.substring(0,b)+" "+S+k.substring(b)}}F=F.substring(0,N.startIndex)+k+F.substring(N.endIndex)}return F}}function $J($,Z){let X=$.match(/^(\s*<)([a-zA-Z][a-zA-Z0-9-]*)(\s|>|\/)/s);if(!X)return $;let Y=Object.entries(Z).map(([J,G])=>`:${J}="${G.replace(/"/g,"&quot;")}"`).join(" "),Q=X[1].length+X[2].length;return $.substring(0,Q)+" "+Y+$.substring(Q)}async function y7($,Z,X,Y,Q){if(!aY)iY(),aY=!0;let J=await ZJ($,Z,X,Y,Q);J=await O_(J,Z,X,Y,Q),J=await L_(J,Z,X,Y,Q);for(let G=0;G<3;G++){let K=J;if(J=await F_(J,Z,X,Y,Q),J===K)break}if(Y.debug){let G=q_(J);if(G.length>0)console.warn(`[stx] ${X}: unresolved component tag(s) after render passes: ${G.join(", ")}. Check nested component output for malformed root tags or recursive component markup.`)}return J}var aY=!1,B_,eY;var S3=M(()=>{J3();k3();oY();J0();L0();B_=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"]);eY=new Map});var x7={};o(x7,{stripTypeScript:()=>WJ,hasVariables:()=>qJ,extractVariables:()=>b0,extractScriptFromTemplate:()=>zJ,convertToCommonJS:()=>b3});import H$ from"path";import F5 from"process";function V_($){let Z=[],X=0,Y=$.split(`
2917
2917
  `);for(let Q of Y){let J=X,G=null,K=!1;for(let W=0;W<Q.length;W++){let B=Q[W];if(K){K=!1;continue}if(B==="\\"){K=!0;continue}if(G){if(B===G)G=null;continue}if(B==="'"||B==='"'||B==="`"){G=B;continue}if(B==="/"&&W+1<Q.length&&Q[W+1]==="/")break;if(B==="{")X++;else if(B==="}")X--}if(J===0){let W=Q.match(/(?:const|let|var)\s+(\w+)\s*=/);if(W)Z.push(W[1]);else if(/^\s*(?:const|let|var)\s+\w+\s*;?\s*$/.test(Q)){let B=Q.match(/(?:const|let|var)\s+(\w+)/);if(B)Z.push(B[1])}else{let B=Q.match(/(?:const|let|var)\s+(\{[^}]+\}|\[[^\]]+\])\s*=/);if(B){let _=B[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 WJ($){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 X(Y){if(!Y.includes(":"))return Y;let Q=[],J="",G=0,K=0,W=null;for(let B=0;B<Y.length;B++){let U=Y[B];if(W){if(J+=U,U===W)W=null;continue}if(U==='"'||U==="'"||U==="`"){W=U,J+=U;continue}if(U==="<")G++;else if(U===">"&&G>0)G--;else if(U==="(")K++;else if(U===")")K--;if(U===","&&G===0&&K===0){Q.push(J),J="";continue}J+=U}if(J)Q.push(J);return Q.map((B)=>{let U=B.trim(),_=U.startsWith("..."),z=_?U.slice(3):U,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 B;let L=z.substring(0,q).trim().replace(/\?$/,""),F=z.substring(q+1),O=-1,V=0;for(let A=0;A<F.length;A++)if(F[A]==="<")V++;else if(F[A]===">")V--;else if(F[A]==="="&&V===0){O=A;break}let N=_?"...":"";if(O!==-1)return`${N}${L} = ${F.substring(O+1).trim()}`;return`${N}${L}`}).join(", ")}Z=Z.replace(/\b(function\s+\w*\s*)\(([^)]*)\)/g,(Y,Q,J)=>{if(!J.includes(":"))return Y;return`${Q}(${X(J)})`});{let Y=/\b(function\s+\w*\s*)\(/g,Q,J=[];while((Q=Y.exec(Z))!==null){let G=Q.index+Q[0].length-1,K=1,W=G+1,B=0,U=null;while(W<Z.length&&K>0){let q=Z[W];if(U){if(q===U)U=null;W++;continue}if(q==='"'||q==="'"||q==="`"){U=q,W++;continue}if(q==="<")B++;else if(q===">"&&B>0)B--;else if(B===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=X(_);J.push({start:G+1,end:W,replacement:z})}for(let G=J.length-1;G>=0;G--){let{start:K,end:W,replacement:B}=J[G];Z=Z.substring(0,K)+B+Z.substring(W)}}return Z=Z.replace(/\(([^)]*)\)\s*(?::\s*[^=]+)?\s*=>/g,(Y,Q)=>{if(!Q.includes(":"))return Y;if(Q.includes("{")||Q.includes("}"))return Y;return`(${Q.split(",").map((G)=>{let[K,...W]=G.split("="),B=K.split(":")[0].trim();if(W.length>0)return`${B} = ${W.join("=").trim()}`;return B}).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,`
2918
2918
 
2919
- `),Z}async function b0($,Z,X,Y={}){if(!$.trim())return;let Q;try{let b=new Bun.Transpiler({loader:"ts",target:"browser",define:c0()}),x=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");x=x.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),Q=b.transformSync(x)}catch{Q=WJ($)}let J={exports:{}},G=J.exports,K=F5.cwd(),W={},B=[...Q.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((b)=>b[1]).filter((b)=>!b.startsWith("node:")&&!b.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(b));for(let b of B)try{let x=H$.resolve(K,"node_modules",b),v=H$.join(x,"package.json"),h=JSON.parse(G0("fs").readFileSync(v,"utf8")),p=h.main||"index.js";if(h.exports){let s=typeof h.exports==="string"?h.exports:h.exports["."];if(typeof s==="string")p=s;else if(s?.bun)p=s.bun;else if(s?.import)p=s.import;else if(s?.default)p=s.default}W[b]=await import(H$.resolve(x,p))}catch{}let U=(b)=>{if(W[b])return W[b];return G0(b)},_=Z.props||{},z=Object.assign((b)=>{if(!b)return _;let x={};for(let[v,h]of Object.entries(b)){let p=_[v];if(p!==void 0)x[v]=p;else if(typeof h==="function")x[v]=h();else x[v]=h}return x},_),q=(b)=>{if(!b)return _;let x={..._};for(let[v,h]of Object.entries(b)){let p=h&&typeof h==="object"&&!Array.isArray(h)?h:{type:h};if(x[v]===void 0&&p.default!==void 0)x[v]=typeof p.default==="function"?p.default():p.default}return x},j=()=>Z.slots||{},H=(b,x)=>{let v={...b};for(let[h,p]of Object.entries(x))if(v[h]===void 0)if(typeof p==="function")v[h]=p();else v[h]=p;return v},L=(b)=>{let x=()=>b;return x.set=(v)=>{},x.update=(v)=>{},x},F=(b)=>{let x,v=!1;return()=>{if(!v)try{x=b(),v=!0}catch{x=void 0}return x}},O=(b)=>{},V=(b)=>b(),N=(b)=>{},A=(b)=>{},w=(b)=>{},R=()=>({params:{},query:{},path:"",name:"",fullPath:"",hash:"",matched:[]}),T=()=>({push:(b)=>{},replace:(b)=>{},back:()=>{},forward:()=>{},go:(b)=>{}}),I=(b)=>{p1(b);let x=Z.__stx_runtime_head||{},v=b||{};Z.__stx_runtime_head={...x,...v.title&&{title:v.title},meta:[...x.meta||[],...v.meta||[]],link:[...x.link||[],...v.link||[]],script:[...x.script||[],...v.script||[]],htmlAttrs:{...x.htmlAttrs||{},...v.htmlAttrs||{}},bodyAttrs:{...x.bodyAttrs||{},...v.bodyAttrs||{}}}},E=(b)=>{M7(b);let x=_5();Z.__stx_runtime_head={...Z.__stx_runtime_head||{},...x.title&&{title:x.title},meta:x.meta?[...x.meta]:[]}},D=(b)=>({value:b}),k=(b)=>b,P=(b)=>({value:typeof b==="function"?b():b}),S=(b,x)=>{},C=(b)=>{},y=(b)=>{},u=(b)=>b?b():Promise.resolve(),f=(b)=>(x,...v)=>{},m=(b)=>{},r=(b,x)=>{},R0=(b,x)=>x,Z1=()=>({value:"light"}),x0=()=>({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:{}},e=new Proxy(k0,{get(b,x){if(x in b)return b[x];return},set(b,x,v){return b[x]=v,!0}}),V0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},z0=console;try{let b=b3(Q,X),x=new Set(Object.keys(_)),v=Object.keys(Z).filter((t)=>!x.has(t)&&t!=="props"),h=v.map((t)=>Z[t]),p=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"]),s=[],K0=[];for(let[t,s0]of Object.entries(_)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(t))continue;if(p.has(t))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${t}\\b`).test(b))continue;s.push(t),K0.push(s0)}let v0=V_(b).map((t)=>`module.exports.${t} = typeof ${t} !== 'undefined' ? ${t} : module.exports.${t};`).join(`
2919
+ `),Z}async function b0($,Z,X,Y={}){if(!$.trim())return;let Q;try{let C=new Bun.Transpiler({loader:"ts",target:"browser",define:c0()}),x=$.replace(/^\s*import\s+\w+\s+from\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,"");x=x.replace(/^\s*import\s+['"][^'"]*\.stx['"]\s*;?\s*$/gm,""),Q=C.transformSync(x)}catch{Q=WJ($)}let J={exports:{}},G=J.exports,K=F5.cwd(),W={},B=[...Q.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g)||[]].map((C)=>C[1]).filter((C)=>!C.startsWith("node:")&&!C.startsWith(".")&&!["fs","path","os","child_process","crypto","http","https","url","util","stream","events","buffer","net","querystring","zlib","tls"].includes(C));for(let C of B)try{let x=H$.resolve(K,"node_modules",C),v=H$.join(x,"package.json"),h=JSON.parse(G0("fs").readFileSync(v,"utf8")),p=h.main||"index.js";if(h.exports){let s=typeof h.exports==="string"?h.exports:h.exports["."];if(typeof s==="string")p=s;else if(s?.bun)p=s.bun;else if(s?.import)p=s.import;else if(s?.default)p=s.default}W[C]=await import(H$.resolve(x,p))}catch{}let U=(C)=>{if(W[C])return W[C];return G0(C)},_=Z.props||{},z=Object.assign((C)=>{if(!C)return _;let x={};for(let[v,h]of Object.entries(C)){let p=_[v];if(p!==void 0)x[v]=p;else if(typeof h==="function")x[v]=h();else x[v]=h}return x},_),q=(C)=>{if(!C)return _;let x={..._};for(let[v,h]of Object.entries(C)){let p=h&&typeof h==="object"&&!Array.isArray(h)?h:{type:h};if(x[v]===void 0&&p.default!==void 0)x[v]=typeof p.default==="function"?p.default():p.default}return x},j=()=>Z.slots||{},H=(C,x)=>{let v={...C};for(let[h,p]of Object.entries(x))if(v[h]===void 0)if(typeof p==="function")v[h]=p();else v[h]=p;return v},L=(C)=>{let x=()=>C;return x.set=(v)=>{},x.update=(v)=>{},x},F=(C)=>{let x,v=!1;return()=>{if(!v)try{x=C(),v=!0}catch{x=void 0}return x}},O=(C)=>{},V=(C)=>C(),N=(C)=>{},A=(C)=>{},w=(C)=>{},R=()=>{let C=Z.__stxServeContext,x=Z.__stxServeSearch??C?.search??"",v=C?.path??"";return{params:Z.params??{},query:Object.fromEntries(new URLSearchParams(x)),path:v,name:"",fullPath:v+x,hash:"",matched:[]}},T=()=>({push:(C)=>{},replace:(C)=>{},back:()=>{},forward:()=>{},go:(C)=>{}}),I=(C)=>{p1(C);let x=Z.__stx_runtime_head||{},v=C||{};Z.__stx_runtime_head={...x,...v.title&&{title:v.title},meta:[...x.meta||[],...v.meta||[]],link:[...x.link||[],...v.link||[]],script:[...x.script||[],...v.script||[]],htmlAttrs:{...x.htmlAttrs||{},...v.htmlAttrs||{}},bodyAttrs:{...x.bodyAttrs||{},...v.bodyAttrs||{}}}},E=(C)=>{M7(C);let x=_5();Z.__stx_runtime_head={...Z.__stx_runtime_head||{},...x.title&&{title:x.title},meta:x.meta?[...x.meta]:[]}},D=(C)=>({value:C}),k=(C)=>C,P=(C)=>({value:typeof C==="function"?C():C}),S=(C,x)=>{},b=(C)=>{},y=(C)=>{},u=(C)=>C?C():Promise.resolve(),f=(C)=>(x,...v)=>{},m=(C)=>{},r=(C,x)=>{},R0=(C,x)=>x,Z1=()=>({value:"light"}),x0=()=>({value:!1}),S0={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:{}},e=new Proxy(S0,{get(C,x){if(x in C)return C[x];return},set(C,x,v){return C[x]=v,!0}}),V0={getElementById:()=>null,querySelector:()=>null,querySelectorAll:()=>[],createElement:()=>({}),createTextNode:()=>({}),body:{},head:{},documentElement:{},addEventListener:()=>{},removeEventListener:()=>{}},z0=console;try{let C=b3(Q,X),x=new Set(Object.keys(_)),v=Object.keys(Z).filter((t)=>!x.has(t)&&t!=="props"),h=v.map((t)=>Z[t]),p=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"]),s=[],K0=[];for(let[t,s0]of Object.entries(_)){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(t))continue;if(p.has(t))continue;if(new RegExp(`(?:^|[\\s;{])(?:const|let|var|function)\\s+${t}\\b`).test(C))continue;s.push(t),K0.push(s0)}let v0=V_(C).map((t)=>`module.exports.${t} = typeof ${t} !== 'undefined' ? ${t} : module.exports.${t};`).join(`
2920
2920
  `),I1=Z.params??{},_0=[],E1=[];for(let t=0;t<v.length;t++){if(v[t]==="params")continue;_0.push(v[t]),E1.push(h[t])}let E5=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",...s,..._0,`return (async () => {
2921
- ${b}
2921
+ ${C}
2922
2922
  ${v0}
2923
2923
  return module.exports
2924
- })()`)(J,G,U,_,z,q,H,L,F,O,V,N,A,w,R,T,I,E,D,k,P,S,C,y,u,f,m,j,r,R0,Z1,x0,e,V0,z0,k0.confirm,k0.alert,k0.fetch,I1,...K0,...E1);if(Y.preserveExisting){for(let[t,s0]of Object.entries(E5))if(!(t in Z)||Z[t]===void 0)Z[t]=s0}else Object.assign(Z,E5);for(let[t,s0]of Object.entries(_))if(!(t in Z))Z[t]=s0}catch(b){if(F5.env.STX_DEBUG){let x=b instanceof Error?b.message:String(b);console.warn(`[stx] server <script> did not execute in ${X??"<unknown>"} \u2014 falling back to static extraction. Cause: ${x}`)}try{await M_(Q,Z,X)}catch(x){if(F5.env.STX_DEBUG){let v=x instanceof Error?x.message:String(x);console.warn(`[stx] fallback extraction also failed in ${X??"<unknown>"}: ${v}`)}}}}function b3($,Z){let X=Z?H$.dirname(Z):F5.cwd(),Y=$.split(`
2924
+ })()`)(J,G,U,_,z,q,H,L,F,O,V,N,A,w,R,T,I,E,D,k,P,S,b,y,u,f,m,j,r,R0,Z1,x0,e,V0,z0,S0.confirm,S0.alert,S0.fetch,I1,...K0,...E1);if(Y.preserveExisting){for(let[t,s0]of Object.entries(E5))if(!(t in Z)||Z[t]===void 0)Z[t]=s0}else Object.assign(Z,E5);for(let[t,s0]of Object.entries(_))if(!(t in Z))Z[t]=s0}catch(C){if(F5.env.STX_DEBUG){let x=C instanceof Error?C.message:String(C);console.warn(`[stx] server <script> did not execute in ${X??"<unknown>"} \u2014 falling back to static extraction. Cause: ${x}`)}try{await M_(Q,Z,X)}catch(x){if(F5.env.STX_DEBUG){let v=x instanceof Error?x.message:String(x);console.warn(`[stx] fallback extraction also failed in ${X??"<unknown>"}: ${v}`)}}}}function b3($,Z){let X=Z?H$.dirname(Z):F5.cwd(),Y=$.split(`
2925
2925
  `),Q=[],J=0;while(J<Y.length){let G=Y[J].trim();if(G.startsWith("interface ")||G.startsWith("export interface ")||G.startsWith("type ")||G.startsWith("export type ")){if(G.includes("{")&&!G.includes("}")){let K=0;for(;J<Y.length;J++){for(let W of Y[J])if(W==="{")K++;else if(W==="}")K--;if(K<=0)break}}J++;continue}if(G.startsWith("definePageMeta(")){let K=0,W=!1;for(let B=J;B<Y.length&&!W;B++){let U=null,_=!1,z=Y[B];for(let q=0;q<z.length;q++){let j=z[q];if(_){_=!1;continue}if(j==="\\"){_=!0;continue}if(U){if(j===U)U=null;continue}if(j==='"'||j==="'"||j==="`"){U=j;continue}if(j==="(")K++;else if(j===")"){if(K--,K===0){J=B+1,W=!0;break}}}}if(!W)J=Y.length;continue}if(G.startsWith("import ")){let K=G.match(/^import\s+(\w+)\s+from\s+['"](.+)['"]/),W=G.match(/^import\s+\{([^}]+)\}\s+from\s+['"](.+)['"]/),B=G.match(/^import\s+['"](.+)['"]/),U=(_)=>{if(_.startsWith("."))return H$.resolve(X,_);return _};if(K){let[,_,z]=K,q=U(z);Q.push(`const ${_} = await import('${q}')`),Q.push(`module.exports.${_} = ${_};`)}else if(W){let[,_,z]=W,q=_.trim(),j=U(z);Q.push(`const { ${q} } = await import('${j}')`);for(let H of q.split(",")){let L=H.trim().split(/\s+as\s+/).pop()?.trim();if(L)Q.push(`module.exports.${L} = ${L};`)}}else if(B){let _=U(B[1]);Q.push(`await import('${_}')`)}else Q.push(G);J++;continue}if((G.startsWith("const ")||G.startsWith("let ")||G.startsWith("var ")||G.startsWith("export const ")||G.startsWith("export let ")||G.startsWith("export var "))&&!G.includes("="))Q.push(Y[J]),J++;else if(G.startsWith("export const ")||G.startsWith("export let ")||G.startsWith("export var ")){let K=JJ(Y,J),{type:W,name:B,value:U}=K;Q.push(`${W} ${B} = ${U};`),Q.push(`module.exports.${B} = ${B};`),J=K.nextIndex}else if(G.startsWith("export function ")||G.startsWith("export async function ")){let K=C3(Y,J);Q.push(K.functionCode),Q.push(`module.exports.${K.name} = ${K.name};`),J=K.nextIndex}else if(G.startsWith("const ")||G.startsWith("let ")||G.startsWith("var ")){let K=JJ(Y,J),{type:W,name:B,value:U}=K;Q.push(`${W} ${B} = ${U};`),Q.push(`module.exports.${B} = ${B};`),J=K.nextIndex}else if(G.startsWith("function ")||G.startsWith("async function ")){let K=C3(Y,J);Q.push(K.functionCode),Q.push(`module.exports.${K.name} = ${K.name};`),J=K.nextIndex}else if(G.startsWith("export default function ")||G.startsWith("export default async function ")){let K=Y[J].replace(/^(\s*)export\s+default\s+/,"$1"),W=[...Y];W[J]=K;let B=C3(W,J);if(Q.push(B.functionCode),B.name)Q.push(`module.exports.default = ${B.name};`);J=B.nextIndex}else if(G.startsWith("export default ")){let K=G.replace(/^export\s+default\s+/,"").replace(/;$/,"");Q.push(`module.exports.default = ${K};`),J++}else if(G.startsWith("class ")||G.startsWith("export class ")){let K=G.match(/(?:export\s+)?class\s+(\w+)/);if(K){let W=K[1],B=Y[J].replace(/^export\s+/,""),U=0,_=J;for(;_<Y.length;_++){let z=Y[_];for(let q of z)if(q==="{")U++;else if(q==="}")U--;if(_>J)B+=`
2926
2926
  `+z;if(U<=0&&_>=J)break}Q.push(B),Q.push(`module.exports.${W} = ${W};`),J=_+1}else Q.push(G),J++}else if(G.includes("module.exports"))Q.push(G),J++;else if(G.trim()&&!G.startsWith("//"))Q.push(G),J++;else J++}return N_(Q.join(`
2927
2927
  `),X)}function N_($,Z){let X=$.length,Y="",Q=0,J=null,G=!1,K=!1,W=0;while(Q<X){let B=$[Q],U=$[Q+1];if(G){if(Y+=B,B===`
@@ -2931,7 +2931,7 @@ ${A}`,nextIndex:O}}}}throw Error(`Failed to parse variable declaration: ${X}`)}l
2931
2931
  ${$[W]}`,W++;else break}return K=K.trim().replace(/;$/,""),{type:Q,name:J,value:K,nextIndex:W}}function C3($,Z){let X=$[Z].trim(),Y=X.match(/^(?:export\s+)?(?:async\s+)?function\s+(\w+)/);if(!Y)throw Error(`Failed to parse function declaration: ${X}`);let[,Q]=Y,J=X.replace(/^export\s+/,""),G=Z;if(w_(X)){let K=R_($,Z,J);J=K.functionCode,G=K.nextIndex}else G=Z+1;return{name:Q,functionCode:J,nextIndex:G}}function QJ($){let Z=$.trim();if(Z.startsWith("{"))return C0(Z,"{","}",0)===-1;if(Z.startsWith("["))return C0(Z,"[","]",0)===-1;return!_J(Z)}function _J($){let Z={paren:0,bracket:0,brace:0},X=null,Y=0;for(let Q=0;Q<$.length;Q++){let J=$[Q];if((Q>0?$[Q-1]:"")==="\\"&&X)continue;if((J==='"'||J==="'")&&!X){X=J;continue}if(J===X&&X!=="`"){X=null;continue}if(J==="`"&&!X){X="`";continue}if(J==="`"&&X==="`"&&Y===0){X=null;continue}if(X==="`"&&J==="$"&&$[Q+1]==="{"){Y++,Q++;continue}if(Y>0&&J==="{"){Y++;continue}if(Y>0&&J==="}"){Y--;continue}if(X)continue;if(J==="(")Z.paren++;else if(J===")")Z.paren--;else if(J==="[")Z.bracket++;else if(J==="]")Z.bracket--;else if(J==="{")Z.brace++;else if(J==="}")Z.brace--}return Z.paren===0&&Z.bracket===0&&Z.brace===0&&X===null}function w_($){let Z=$.indexOf("{");if(Z===-1)return!0;return C0($,"{","}",Z)===-1}function GJ($,Z,X){let Y=X,Q=Z+1;while(Q<$.length&&!_J(Y)){let J=$[Q];Y+=`
2932
2932
  ${J}`,Q++}while(Q<$.length){let J=$[Q].trim();if(J.startsWith(".")||J.startsWith("?."))Y+=`
2933
2933
  ${$[Q]}`,Q++;else break}return{value:Y,nextIndex:Q}}function R_($,Z,X){let Y=X,Q=Z+1;while(Q<$.length){let J=Y.indexOf("{");if(J!==-1){if(C0(Y,"{","}",J)!==-1)break}let G=$[Q];Y+=`
2934
- ${G}`,Q++}return{functionCode:Y,nextIndex:Q}}function KJ($,Z){let X=$0($,Z)??$0(`(${$})`,Z);if(X!==void 0)return X;if(!/\bprocess\b/.test($))return;let Y={...Z,process:Object.freeze({env:{...F5.env}})};try{return Function(...Object.keys(Y),`'use strict'; return (${$});`)(...Object.values(Y))}catch{try{return Function(...Object.keys(Y),`'use strict'; return ${$};`)(...Object.values(Y))}catch{return}}}async function M_($,Z,X){let Y=$.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let J of Y){let[,,G,K]=J;try{let W=K.trim().replace(/;$/,""),B=KJ(W,Z);if(B!==void 0)Z[G]=B}catch(W){console.warn(`Failed to parse export ${G} in fallback:`,W)}}let Q=$.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let J of Q){let[,,G,K]=J;if(!(G in Z))try{let W=K.trim().replace(/;$/,""),B=KJ(W,Z);if(B!==void 0)Z[G]=B}catch{}}}function zJ($){let Z=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),X=Z?Z[1]:"",Y=Z?$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/i,""):$;return{scriptContent:X,templateWithoutScript:Y}}function qJ($){let Z=$.trim();if(!Z)return!1;return/(?:const|let|var|function)\s+\w+/.test(Z)}var A1=M(()=>{c1();k1();L0()});var NJ={};o(NJ,{processLoops:()=>P3});function E_($,Z){let X=/@component\s*\(/g,Y=$,Q,J=[];while((Q=X.exec(Y))!==null){let G=Q.index,K=G+Q[0].length-1,W=1,B=K+1;while(B<Y.length&&W>0){if(Y[B]==="(")W++;else if(Y[B]===")"){if(W--,W===0)break}B++}if(W!==0)continue;let U=Y.substring(K+1,B),_=B+1,z=U.match(/^\s*['"]([^'"]+)['"]/);if(!z)continue;let q=z[1],j=U.slice(z[0].length),H=j.match(/^\s*,\s*/);if(!H)continue;let L=j.slice(H[0].length).trim();if(!L)continue;try{let F=O0(L,Z),O=JSON.stringify(F),V=`@component('${q}', ${O})`;J.push({start:G,end:_,replacement:V})}catch{continue}}for(let G=J.length-1;G>=0;G--){let{start:K,end:W,replacement:B}=J[G];Y=Y.substring(0,K)+B+Y.substring(W)}return Y}function v7($,Z,X){let Y=$,Q=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),J;while((J=Q.exec(Y))!==null){let G=J.index,K=G+J[0].length-1,W=1,B=K+1,U=null,_=!1;while(B<Y.length&&W>0){let j=Y[B];if(_){_=!1,B++;continue}if(j==="\\"&&U){_=!0,B++;continue}if(U){if(j===U)U=null;B++;continue}if(j==='"'||j==="'"||j==="`"){U=j,B++;continue}if(j==="(")W++;else if(j===")"){if(W--,W===0)break}B++}if(W!==0)break;let z=Y.substring(K+1,B),q=X(z);Y=Y.substring(0,G)+q+Y.substring(B+1)}return Y}function D_($,Z){let X=$;return X=X.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(Y,Q)=>{if(Q in Z)return`:${Q}="${Q}"`;return Y}),X=X.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(Y,Q,J)=>{try{let G=Object.keys(Z),K=Object.values(Z);v5(J);let B=X0(J,G)(...K),U=JSON.stringify(B),_=Buffer.from(U,"utf8").toString("base64");return`__stx_${Q}="${_}"`}catch(G){return Y}}),X}function k_($,Z){let X=$;return X=v7(X,"@break",(Y)=>{try{let J=`!!(${Y.trim()})`,G;if(Z0(J)){let K=X0(J,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean($0(J,Z));return G?f7:""}catch{return""}}),X=v7(X,"@continue",(Y)=>{try{let J=`!!(${Y.trim()})`,G;if(Z0(J)){let K=X0(J,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean($0(J,Z));return G?g7:""}catch{return""}}),X}function S_($){let Z=$;return Z=Z.replace(/@break(?!\()/g,f7),Z=Z.replace(/@continue(?!\()/g,g7),Z}function jJ($){let Z=$.includes(f7),X=Z?$.substring(0,$.indexOf(f7)):$;return{hasBreak:Z,content:X}}function HJ($){let Z=$.includes(g7),X=Z?$.substring(0,$.indexOf(g7)):$;return{hasContinue:Z,content:X}}function LJ($){let Z=$;return Z=v7(Z,"@break",(X)=>{let Y=X.trim();if(!f5(Y))return"";return`\`; if (${Y}) { break; } result += \``}),Z=v7(Z,"@continue",(X)=>{let Y=X.trim();if(!f5(Y))return"";return`\`; if (${Y}) { continue; } result += \``}),Z=Z.replace(/@break(?!\()/g,"`; break; result += `"),Z=Z.replace(/@continue(?!\()/g,"`; continue; result += `"),Z}function C_($){let Z=/@forelse\s*\(/g,X,Y=[],Q=/@foreach\s*\(/g,J=/@endforeach/g,G;while((G=Q.exec($))!==null)Y.push({pos:G.index,delta:1});while((G=J.exec($))!==null)Y.push({pos:G.index,delta:-1});Y.sort((U,_)=>U.pos-_.pos);let K=[],W=0;for(let U of Y)W+=U.delta,K.push({pos:U.pos,depth:W});function B(U){let _=0,z=K.length-1,q=0;while(_<=z){let j=_+z>>1;if(K[j].pos<=U)q=K[j].depth,_=j+1;else z=j-1}return q}while((X=Z.exec($))!==null){if(B(X.index)>0)continue;let U=X.index,_=X.index+X[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),L=H.indexOf(" as ");if(L===-1)continue;let F=H.substring(0,L).trim(),O=H.substring(L+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 S=w.exec($),C=R.exec($);if(!C)break;if(S&&S.index<C.index)N++,A=S.index+S[0].length;else{if(N--,N===0){T=C.index;break}A=C.index+11}}if(T===-1)continue;let I=$.substring(V,T),E=T+11,D=-1,k=0,P=0;while(P<I.length){let S=I.indexOf("@",P);if(S===-1)break;let C=I.substring(S);if(/^@forelse\s*\(/.test(C))k++,P=S+1;else if(C.startsWith("@endforelse"))k--,P=S+11;else if(k===0&&C.startsWith("@empty")){if(I.length<=S+6||!/[a-z]/i.test(I[S+6])){D=S;break}P=S+1}else P=S+1}if(D===-1)continue;return{start:U,end:E,arrayExpr:F,itemVar:O,foreachContent:I.substring(0,D),emptyContent:I.substring(D+6)}}return null}function OJ($,Z){let X=$;while(!0){let Y=C_(X);if(!Y)break;let{start:Q,end:J,arrayExpr:G,itemVar:K,foreachContent:W,emptyContent:B}=Y;try{let U;if(Z0(G))U=X0(G,Object.keys(Z))(...Object.values(Z));else U=$0(G,Z);let _;if(!Array.isArray(U)||U.length===0)_=B;else _=`@foreach (${G} as ${K})${W}@endforeach`;X=X.substring(0,Q)+_+X.substring(J)}catch(U){let _=U instanceof Error?U.message:String(U),z=n("Forelse",`Error in @forelse(${G} as ${K}): ${_}`,i.EVALUATION_ERROR);X=X.substring(0,Q)+z+X.substring(J)}}return X}function P3($,Z,X,Y){let Q=$;Q=OJ(Q,Z);function J(W){let B=/@foreach\s*\(/g,U;while((U=B.exec(W))!==null){let _=U.index,z=U.index+U[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 L=W.substring(z+1,H),F=L.indexOf(" as ");if(F===-1)continue;let O=_,V=L.substring(0,F),N=L.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),D=I.exec(W);if(!D)break;if(E&&E.index<D.index)w++,R=E.index+E[0].length;else{if(w--,w===0){let k=W.substring(A,D.index),P=D.index+11;return{start:O,end:P,arrayExpr:V,itemVar:N,content:k}}R=D.index+11}}}return null}function G(W,B){let U=W;while(!0){let _=J(U);if(!_)break;let{start:z,end:q,arrayExpr:j,itemVar:H,content:L}=_;try{let F=j.trim(),O;if(Z0(F))O=X0(F,Object.keys(B))(...Object.values(B));else O=$0(F,B);let V=!1;if(!Array.isArray(O))if(O instanceof Map)O=Array.from(O),V=!0;else if(O instanceof Set)O=Array.from(O);else if(typeof O==="string")O=Array.from(O);else if(O&&typeof O==="object"&&!(O instanceof Date)&&!(O instanceof RegExp))O=Object.entries(O),V=!0;else{let D=n("Foreach",`Error in @foreach: ${F} is not iterable`,i.TYPE_ERROR);U=U.substring(0,z)+D+U.substring(q);continue}let N=Y?.loops?.useAltLoopVariable??I_,A=H.trim(),w=null,R,T=!1;if(A.includes("=>")){let D=A.split("=>").map((k)=>k.trim());if(D.length===2&&D[0]&&D[1])w=D[0],R=D[1];else R=A}else if(!A.startsWith("[")&&!A.startsWith("{")&&A.includes(",")){let D=A.split(",").map((k)=>k.trim());if(D.length===2&&D[0]&&D[1])R=D[0],w=D[1],T=!0;else R=A}else R=A;let I="",E=O;for(let D=0;D<E.length;D++){let k=E[D],P={index:D,iteration:D+1,first:D===0,last:D===E.length-1,count:E.length},S={...B,loop:P,$loop:P};if(R.startsWith("[")&&R.endsWith("]")){let f=R.slice(1,-1).split(",").map((m)=>m.trim());if(Array.isArray(k))f.forEach((m,r)=>{if(m)S[m]=k[r]});else S[R]=k}else S[R]=k;if(w)if(!T&&V&&Array.isArray(k)&&k.length===2)S[w]=k[0],S[R]=k[1];else S[w]=D;let C=k_(L,S),y=HJ(C);if(y.hasContinue){I+=y.content;continue}let u=jJ(C);if(u.hasBreak){I+=u.content;break}if(C=OJ(C,S),C=G(C,S),C=u1(C,S,X),C=S_(C),u=jJ(C),u.hasBreak){I+=u.content;break}if(y=HJ(C),y.hasContinue){I+=y.content;continue}C=l0(C,S,X),C=D_(C,S),C=E_(C,S),I+=C}U=U.substring(0,z)+I+U.substring(q)}catch(F){let O=n("Foreach",`Error in @foreach(${j.trim()} as ${H.trim()}): ${F instanceof Error?F.message:String(F)}`,i.EVALUATION_ERROR);U=U.substring(0,z)+O+U.substring(q)}}return U}Q=G(Q,Z),Q=VJ(Q,Z,X,Y);let K=Y?.loops?.maxWhileIterations??T_;return Q=y_(Q,Z,K),Q}function FJ($){return f5($)}function VJ($,Z,X,Y){let Q=$,J=!0;while(J){J=!1;let G=Q.match(/@for\s*\(/);if(!G||G.index===void 0)break;let K=G.index,W=K+G[0].length-1,B=C0(Q,"(",")",W);if(B===-1)break;let U=Q.slice(W+1,B),_=B+1,z=N7(Q.slice(K),"for","endfor");if(z.length===0)break;let q=z[0].content,j=K+z[0].end;if(!FJ(U)){let H=n("For",`Unsafe expression in @for: ${U}`,i.UNSAFE_EXPRESSION);Q=Q.substring(0,K)+H+Q.substring(j),J=!0;continue}try{let H=b_(U),L=/@(?:for|foreach|if|unless)\s*\(/.test(q);if(H.length>0&&L){let w=P_({forExpr:U,content:q,iterVarNames:H,context:Z,filePath:X,options:Y});Q=Q.substring(0,K)+w+Q.substring(j),J=!0;continue}let F=Object.keys(Z),O=Object.values(Z),V=q.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(w,R)=>{return`\${${R}}`});V=LJ(V);let A=Function(...F,`
2934
+ ${G}`,Q++}return{functionCode:Y,nextIndex:Q}}function KJ($,Z){let X=$0($,Z)??$0(`(${$})`,Z);if(X!==void 0)return X;if(!/\bprocess\b/.test($))return;let Y={...Z,process:Object.freeze({env:{...F5.env}})};try{return Function(...Object.keys(Y),`'use strict'; return (${$});`)(...Object.values(Y))}catch{try{return Function(...Object.keys(Y),`'use strict'; return ${$};`)(...Object.values(Y))}catch{return}}}async function M_($,Z,X){let Y=$.matchAll(/export\s+(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:export\s+|$))/g);for(let J of Y){let[,,G,K]=J;try{let W=K.trim().replace(/;$/,""),B=KJ(W,Z);if(B!==void 0)Z[G]=B}catch(W){console.warn(`Failed to parse export ${G} in fallback:`,W)}}let Q=$.matchAll(/(?:^|\n)\s*(const|let|var)\s+(\w+)\s*=\s*([\s\S]*?)(?=\s*(?:(?:const|let|var|function|export)\s+|$))/g);for(let J of Q){let[,,G,K]=J;if(!(G in Z))try{let W=K.trim().replace(/;$/,""),B=KJ(W,Z);if(B!==void 0)Z[G]=B}catch{}}}function zJ($){let Z=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i),X=Z?Z[1]:"",Y=Z?$.replace(/<script\b[^>]*>[\s\S]*?<\/script>/i,""):$;return{scriptContent:X,templateWithoutScript:Y}}function qJ($){let Z=$.trim();if(!Z)return!1;return/(?:const|let|var|function)\s+\w+/.test(Z)}var A1=M(()=>{c1();k1();L0()});var NJ={};o(NJ,{processLoops:()=>P3});function E_($,Z){let X=/@component\s*\(/g,Y=$,Q,J=[];while((Q=X.exec(Y))!==null){let G=Q.index,K=G+Q[0].length-1,W=1,B=K+1;while(B<Y.length&&W>0){if(Y[B]==="(")W++;else if(Y[B]===")"){if(W--,W===0)break}B++}if(W!==0)continue;let U=Y.substring(K+1,B),_=B+1,z=U.match(/^\s*['"]([^'"]+)['"]/);if(!z)continue;let q=z[1],j=U.slice(z[0].length),H=j.match(/^\s*,\s*/);if(!H)continue;let L=j.slice(H[0].length).trim();if(!L)continue;try{let F=O0(L,Z),O=JSON.stringify(F),V=`@component('${q}', ${O})`;J.push({start:G,end:_,replacement:V})}catch{continue}}for(let G=J.length-1;G>=0;G--){let{start:K,end:W,replacement:B}=J[G];Y=Y.substring(0,K)+B+Y.substring(W)}return Y}function v7($,Z,X){let Y=$,Q=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\(`),J;while((J=Q.exec(Y))!==null){let G=J.index,K=G+J[0].length-1,W=1,B=K+1,U=null,_=!1;while(B<Y.length&&W>0){let j=Y[B];if(_){_=!1,B++;continue}if(j==="\\"&&U){_=!0,B++;continue}if(U){if(j===U)U=null;B++;continue}if(j==='"'||j==="'"||j==="`"){U=j,B++;continue}if(j==="(")W++;else if(j===")"){if(W--,W===0)break}B++}if(W!==0)break;let z=Y.substring(K+1,B),q=X(z);Y=Y.substring(0,G)+q+Y.substring(B+1)}return Y}function D_($,Z){let X=$;return X=X.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)(?=\s+[^=]|\s*\/?>|\s*$)/g,(Y,Q)=>{if(Q in Z)return`:${Q}="${Q}"`;return Y}),X=X.replace(/:([a-zA-Z_][a-zA-Z0-9_-]*)\s*=\s*"([^"]*)"/g,(Y,Q,J)=>{try{let G=Object.keys(Z),K=Object.values(Z);v5(J);let B=X0(J,G)(...K),U=JSON.stringify(B),_=Buffer.from(U,"utf8").toString("base64");return`__stx_${Q}="${_}"`}catch(G){return Y}}),X}function k_($,Z){let X=$;return X=v7(X,"@break",(Y)=>{try{let J=`!!(${Y.trim()})`,G;if(Z0(J)){let K=X0(J,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean($0(J,Z));return G?f7:""}catch{return""}}),X=v7(X,"@continue",(Y)=>{try{let J=`!!(${Y.trim()})`,G;if(Z0(J)){let K=X0(J,Object.keys(Z));G=Boolean(K(...Object.values(Z)))}else G=Boolean($0(J,Z));return G?g7:""}catch{return""}}),X}function S_($){let Z=$;return Z=Z.replace(/@break(?!\()/g,f7),Z=Z.replace(/@continue(?!\()/g,g7),Z}function jJ($){let Z=$.includes(f7),X=Z?$.substring(0,$.indexOf(f7)):$;return{hasBreak:Z,content:X}}function HJ($){let Z=$.includes(g7),X=Z?$.substring(0,$.indexOf(g7)):$;return{hasContinue:Z,content:X}}function LJ($){let Z=$;return Z=v7(Z,"@break",(X)=>{let Y=X.trim();if(!f5(Y))return"";return`\`; if (${Y}) { break; } result += \``}),Z=v7(Z,"@continue",(X)=>{let Y=X.trim();if(!f5(Y))return"";return`\`; if (${Y}) { continue; } result += \``}),Z=Z.replace(/@break(?!\()/g,"`; break; result += `"),Z=Z.replace(/@continue(?!\()/g,"`; continue; result += `"),Z}function C_($){let Z=/@forelse\s*\(/g,X,Y=[],Q=/@foreach\s*\(/g,J=/@endforeach/g,G;while((G=Q.exec($))!==null)Y.push({pos:G.index,delta:1});while((G=J.exec($))!==null)Y.push({pos:G.index,delta:-1});Y.sort((U,_)=>U.pos-_.pos);let K=[],W=0;for(let U of Y)W+=U.delta,K.push({pos:U.pos,depth:W});function B(U){let _=0,z=K.length-1,q=0;while(_<=z){let j=_+z>>1;if(K[j].pos<=U)q=K[j].depth,_=j+1;else z=j-1}return q}while((X=Z.exec($))!==null){if(B(X.index)>0)continue;let U=X.index,_=X.index+X[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),L=H.indexOf(" as ");if(L===-1)continue;let F=H.substring(0,L).trim(),O=H.substring(L+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 S=w.exec($),b=R.exec($);if(!b)break;if(S&&S.index<b.index)N++,A=S.index+S[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,D=-1,k=0,P=0;while(P<I.length){let S=I.indexOf("@",P);if(S===-1)break;let b=I.substring(S);if(/^@forelse\s*\(/.test(b))k++,P=S+1;else if(b.startsWith("@endforelse"))k--,P=S+11;else if(k===0&&b.startsWith("@empty")){if(I.length<=S+6||!/[a-z]/i.test(I[S+6])){D=S;break}P=S+1}else P=S+1}if(D===-1)continue;return{start:U,end:E,arrayExpr:F,itemVar:O,foreachContent:I.substring(0,D),emptyContent:I.substring(D+6)}}return null}function OJ($,Z){let X=$;while(!0){let Y=C_(X);if(!Y)break;let{start:Q,end:J,arrayExpr:G,itemVar:K,foreachContent:W,emptyContent:B}=Y;try{let U;if(Z0(G))U=X0(G,Object.keys(Z))(...Object.values(Z));else U=$0(G,Z);let _;if(!Array.isArray(U)||U.length===0)_=B;else _=`@foreach (${G} as ${K})${W}@endforeach`;X=X.substring(0,Q)+_+X.substring(J)}catch(U){let _=U instanceof Error?U.message:String(U),z=n("Forelse",`Error in @forelse(${G} as ${K}): ${_}`,i.EVALUATION_ERROR);X=X.substring(0,Q)+z+X.substring(J)}}return X}function P3($,Z,X,Y){let Q=$;Q=OJ(Q,Z);function J(W){let B=/@foreach\s*\(/g,U;while((U=B.exec(W))!==null){let _=U.index,z=U.index+U[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 L=W.substring(z+1,H),F=L.indexOf(" as ");if(F===-1)continue;let O=_,V=L.substring(0,F),N=L.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),D=I.exec(W);if(!D)break;if(E&&E.index<D.index)w++,R=E.index+E[0].length;else{if(w--,w===0){let k=W.substring(A,D.index),P=D.index+11;return{start:O,end:P,arrayExpr:V,itemVar:N,content:k}}R=D.index+11}}}return null}function G(W,B){let U=W;while(!0){let _=J(U);if(!_)break;let{start:z,end:q,arrayExpr:j,itemVar:H,content:L}=_;try{let F=j.trim(),O;if(Z0(F))O=X0(F,Object.keys(B))(...Object.values(B));else O=$0(F,B);let V=!1;if(!Array.isArray(O))if(O instanceof Map)O=Array.from(O),V=!0;else if(O instanceof Set)O=Array.from(O);else if(typeof O==="string")O=Array.from(O);else if(O&&typeof O==="object"&&!(O instanceof Date)&&!(O instanceof RegExp))O=Object.entries(O),V=!0;else{let D=n("Foreach",`Error in @foreach: ${F} is not iterable`,i.TYPE_ERROR);U=U.substring(0,z)+D+U.substring(q);continue}let N=Y?.loops?.useAltLoopVariable??I_,A=H.trim(),w=null,R,T=!1;if(A.includes("=>")){let D=A.split("=>").map((k)=>k.trim());if(D.length===2&&D[0]&&D[1])w=D[0],R=D[1];else R=A}else if(!A.startsWith("[")&&!A.startsWith("{")&&A.includes(",")){let D=A.split(",").map((k)=>k.trim());if(D.length===2&&D[0]&&D[1])R=D[0],w=D[1],T=!0;else R=A}else R=A;let I="",E=O;for(let D=0;D<E.length;D++){let k=E[D],P={index:D,iteration:D+1,first:D===0,last:D===E.length-1,count:E.length},S={...B,loop:P,$loop:P};if(R.startsWith("[")&&R.endsWith("]")){let f=R.slice(1,-1).split(",").map((m)=>m.trim());if(Array.isArray(k))f.forEach((m,r)=>{if(m)S[m]=k[r]});else S[R]=k}else S[R]=k;if(w)if(!T&&V&&Array.isArray(k)&&k.length===2)S[w]=k[0],S[R]=k[1];else S[w]=D;let b=k_(L,S),y=HJ(b);if(y.hasContinue){I+=y.content;continue}let u=jJ(b);if(u.hasBreak){I+=u.content;break}if(b=OJ(b,S),b=G(b,S),b=u1(b,S,X),b=S_(b),u=jJ(b),u.hasBreak){I+=u.content;break}if(y=HJ(b),y.hasContinue){I+=y.content;continue}b=l0(b,S,X),b=D_(b,S),b=E_(b,S),I+=b}U=U.substring(0,z)+I+U.substring(q)}catch(F){let O=n("Foreach",`Error in @foreach(${j.trim()} as ${H.trim()}): ${F instanceof Error?F.message:String(F)}`,i.EVALUATION_ERROR);U=U.substring(0,z)+O+U.substring(q)}}return U}Q=G(Q,Z),Q=VJ(Q,Z,X,Y);let K=Y?.loops?.maxWhileIterations??T_;return Q=y_(Q,Z,K),Q}function FJ($){return f5($)}function VJ($,Z,X,Y){let Q=$,J=!0;while(J){J=!1;let G=Q.match(/@for\s*\(/);if(!G||G.index===void 0)break;let K=G.index,W=K+G[0].length-1,B=C0(Q,"(",")",W);if(B===-1)break;let U=Q.slice(W+1,B),_=B+1,z=N7(Q.slice(K),"for","endfor");if(z.length===0)break;let q=z[0].content,j=K+z[0].end;if(!FJ(U)){let H=n("For",`Unsafe expression in @for: ${U}`,i.UNSAFE_EXPRESSION);Q=Q.substring(0,K)+H+Q.substring(j),J=!0;continue}try{let H=b_(U),L=/@(?:for|foreach|if|unless)\s*\(/.test(q);if(H.length>0&&L){let w=P_({forExpr:U,content:q,iterVarNames:H,context:Z,filePath:X,options:Y});Q=Q.substring(0,K)+w+Q.substring(j),J=!0;continue}let F=Object.keys(Z),O=Object.values(Z),V=q.replace(/`/g,"\\`").replace(/\$\{/g,"\\${").replace(/\{\{([^}]+)\}\}/g,(w,R)=>{return`\${${R}}`});V=LJ(V);let A=Function(...F,`
2935
2935
  let result = '';
2936
2936
  for (${U}) {
2937
2937
  result += \`${V}\`;
@@ -2953,7 +2953,7 @@ ${G}`,Q++}return{functionCode:Y,nextIndex:Q}}function KJ($,Z){let X=$0($,Z)??$0(
2953
2953
  result += '<!-- [While Error [1104]]: Maximum iterations (${X}) exceeded in while loop. Configure via options.loops.maxWhileIterations -->';
2954
2954
  }
2955
2955
  return result;
2956
- `)(...j);Y=Y.substring(0,G)+F+Y.substring(z),Q=!0}catch(q){let j=n("While",`Error in @while(${B}): ${q instanceof Error?q.message:String(q)}`,i.EVALUATION_ERROR);Y=Y.substring(0,G)+j+Y.substring(z),Q=!0}}return Y}var T_=1000,I_=!1,f7="<!--__STX_BREAK__-->",g7="<!--__STX_CONTINUE__-->";var h7=M(()=>{A7();g0();M0();B5();L0()});import B0 from"path";function y3($,Z){let X=0;for(let Y=Z;Y<$.length;Y++){let Q=$[Y];if(Q==="("||Q==="["||Q==="{")X++;else if(Q===")"||Q==="]"||Q==="}")X--;else if(Q===","&&X===0)return Y}return-1}function x_($,Z,X){let Y=$,Q=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),J=Q.exec(Y);while(J){let G=J.index,K=G+J[0].length-1,W=1,B=K+1;while(B<Y.length&&W>0){if(Y[B]==="(")W++;else if(Y[B]===")")W--;B++}if(W!==0)break;let U=Y.substring(K+1,B-1),_=`${X}(${U})`;Y=Y.substring(0,G)+_+Y.substring(B),Q.lastIndex=G+_.length,J=Q.exec(Y)}return Y}function v_($){return/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test($)}function f_($){let Z=$,X=[],Y=new Set,Q=0,J=0,G=Z.length,K=(_)=>{J++;while(J<G){if(Z[J]==="\\"){J+=2;continue}if(Z[J]===_){J++;return}J++}},W=()=>{J++;while(J<G){if(Z[J]==="\\"){J+=2;continue}if(Z[J]==="`"){J++;return}if(Z[J]==="$"&&Z[J+1]==="{"){J+=2;let _=1;while(J<G&&_>0)if(Z[J]==="{")_++,J++;else if(Z[J]==="}")_--,J++;else if(Z[J]==="'"||Z[J]==='"')K(Z[J]);else if(Z[J]==="`")W();else J++;continue}J++}},B=()=>{if(Z[J]==="/"&&Z[J+1]==="/"){while(J<G&&Z[J]!==`
2956
+ `)(...j);Y=Y.substring(0,G)+F+Y.substring(z),Q=!0}catch(q){let j=n("While",`Error in @while(${B}): ${q instanceof Error?q.message:String(q)}`,i.EVALUATION_ERROR);Y=Y.substring(0,G)+j+Y.substring(z),Q=!0}}return Y}var T_=1000,I_=!1,f7="<!--__STX_BREAK__-->",g7="<!--__STX_CONTINUE__-->";var h7=M(()=>{A7();g0();T0();B5();L0()});import B0 from"path";function y3($,Z){let X=0;for(let Y=Z;Y<$.length;Y++){let Q=$[Y];if(Q==="("||Q==="["||Q==="{")X++;else if(Q===")"||Q==="]"||Q==="}")X--;else if(Q===","&&X===0)return Y}return-1}function x_($,Z,X){let Y=$,Q=new RegExp(`${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),J=Q.exec(Y);while(J){let G=J.index,K=G+J[0].length-1,W=1,B=K+1;while(B<Y.length&&W>0){if(Y[B]==="(")W++;else if(Y[B]===")")W--;B++}if(W!==0)break;let U=Y.substring(K+1,B-1),_=`${X}(${U})`;Y=Y.substring(0,G)+_+Y.substring(B),Q.lastIndex=G+_.length,J=Q.exec(Y)}return Y}function v_($){return/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test($)}function f_($){let Z=$,X=[],Y=new Set,Q=0,J=0,G=Z.length,K=(_)=>{J++;while(J<G){if(Z[J]==="\\"){J+=2;continue}if(Z[J]===_){J++;return}J++}},W=()=>{J++;while(J<G){if(Z[J]==="\\"){J+=2;continue}if(Z[J]==="`"){J++;return}if(Z[J]==="$"&&Z[J+1]==="{"){J+=2;let _=1;while(J<G&&_>0)if(Z[J]==="{")_++,J++;else if(Z[J]==="}")_--,J++;else if(Z[J]==="'"||Z[J]==='"')K(Z[J]);else if(Z[J]==="`")W();else J++;continue}J++}},B=()=>{if(Z[J]==="/"&&Z[J+1]==="/"){while(J<G&&Z[J]!==`
2957
2957
  `)J++;return!0}if(Z[J]==="/"&&Z[J+1]==="*"){J+=2;while(J<G-1&&!(Z[J]==="*"&&Z[J+1]==="/"))J++;return J+=2,!0}return!1},U=()=>{if(Q!==0)return;let _=Z.slice(J).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(_){let j=_[2];if(!Y.has(j))X.push(j),Y.add(j);return}let z=Z.slice(J).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let j=z[1];if(!Y.has(j))X.push(j),Y.add(j);return}let q=Z.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))X.push(j),Y.add(j)}};while(J<G){if(B())continue;if(Z[J]==="'"||Z[J]==='"'){K(Z[J]);continue}if(Z[J]==="`"){W();continue}if(Z[J]==="{"){Q++,J++;continue}if(Z[J]==="}"){Q--,J++;continue}if(Q===0&&/[a-z]/i.test(Z[J])&&(J===0||/\s|[;{}()]/.test(Z[J-1])))U();J++}return X.join(", ")}function wJ($,Z=""){return`
2958
2958
  (function() {
2959
2959
  var { state, derived, effect, batch, onMount, onDestroy, defineStore, 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, ref, reactive, computed, watch, watchEffect, defineProps, withDefaults, defineEmits, defineExpose, defineSlots } = window.stx;
@@ -2988,20 +2988,20 @@ ${f_($).split(",").map((W)=>W.trim()).filter(Boolean).map((W)=>` try { __scopeR
2988
2988
  } finally {
2989
2989
  if (typeof window !== 'undefined') window.__STX_CURRENT_ELEMENT__ = __stxPrevEl;
2990
2990
  }
2991
- })();`}function h_($,Z){let X=$.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*>|>)/s);if(X){let Q=(X[2]+X[3]).match(/data-stx-scope="([^"]*)"/);if(Q)return{html:$,mergedIntoExisting:Q[1]};let J=X[1],G=X[2],K=X[3];return{html:`${J}${G} data-stx-scope="${Z}"${K}${$.slice(X[0].length)}`,mergedIntoExisting:null}}return{html:$,mergedIntoExisting:null}}function u_($){if($.__onceStore instanceof Set)return $.__onceStore;return d_}async function v3($,Z,X,Y,Q,J=new Set){let G=Y.partialsDir||B0.join(B0.dirname(X),"partials");if(G&&!B0.isAbsolute(G))G=B0.resolve(process.cwd(),G);let K=x_($,"@partial","@include"),W=u_(Z);K=K.replace(/@once([\s\S]*?)@endonce/g,(j,H,L)=>{let F=H.trim(),O=`${X}:${F}`;if(W.has(O))return"";return W.add(O),H});{let j=/@includeIf\s*\(/g,H;while((H=j.exec(K))!==null){let L=H.index,F=L+H[0].length-1,O=1,V=F+1;while(V<K.length&&O>0){if(K[V]==="(")O++;else if(K[V]===")")O--;V++}if(O!==0)break;let N=K.substring(F+1,V-1),A=N.match(/^\s*['"]([^'"]+)['"]/);if(!A){j.lastIndex=V;continue}let w=A[1],R=B(w,G,X),T="";if(R&&await Bun.file(R).exists())Q.add(R),T=`@include(${N})`;K=K.substring(0,L)+T+K.substring(V),j.lastIndex=0}}for(let[j,H]of[["@includeWhen",!1],["@includeUnless",!0]]){let L=new RegExp(`${j.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),F;while((F=L.exec(K))!==null){let O=F.index,V=O+F[0].length-1,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=y3(w,0);if(R===-1){L.lastIndex=A;continue}let T=w.substring(0,R).trim(),I=w.substring(R+1).trim(),E=I.match(/^\s*['"]([^'"]+)['"]/);if(!E){L.lastIndex=A;continue}let D=E[1],k=I.substring(E[0].length),P,S=y3(k,0);if(S!==-1)P=k.substring(S+1).trim();try{let C=`Boolean(${T})`,y;if(Z0(C)){let m=X0(C,Object.keys(Z));y=Boolean(m(...Object.values(Z)))}else y=Boolean($0(C,Z));let u=H?!y:y,f="";if(u){let m=B(D,G,X);if(m&&await Bun.file(m).exists())Q.add(m);f=`@include('${D}'${P?`, ${P}`:""})`}K=K.substring(0,O)+f+K.substring(A),L.lastIndex=0}catch(C){let y=C instanceof Error?C.message:String(C),u=Q0("Include",`Error evaluating ${j} condition: ${y}`,X,$,O);K=K.substring(0,O)+u+K.substring(A),L.lastIndex=0}}}{let j=/@each\s*\(/g,H;while((H=j.exec(K))!==null){let L=H.index,F=L+H[0].length-1,O=1,V=F+1;while(V<K.length&&O>0){if(K[V]==="(")O++;else if(K[V]===")"){if(O--,O===0)break}V++}if(O!==0)break;let N=K.substring(F+1,V),A=K.substring(L,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 D,k=T.trim();if(Z0(k))D=X0(k,Object.keys(Z))(...Object.values(Z));else D=$0(k,Z);let P="";if(Array.isArray(D)&&D.length>0)for(let S of D){let C={...Z,[I]:S},y=await _(R,C,$,L);P+=y}else if(E)P=await _(E,{},$,L);K=K.substring(0,L)+P+K.substring(V+1),j.lastIndex=0}catch(D){let k=D instanceof Error?D.message:String(D);K=K.substring(0,L)+Q0("Each",`Error in @each: ${k}`,X,$,L)+K.substring(V+1),j.lastIndex=0}}}{let j=/@includeFirst\s*\(/g,H;while((H=j.exec(K))!==null){let L=H.index,F=L+H[0].length-1,O=1,V=F+1;while(V<K.length&&O>0){if(K[V]==="(")O++;else if(K[V]===")"){if(O--,O===0)break}V++}if(O!==0)break;let N=K.substring(F+1,V),A=K.substring(L,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 P=1,S=1;while(S<T.length&&P>0){if(T[S]==="{")P++;else if(T[S]==="}"){if(P--,P===0)break}S++}I=T.substring(0,S+1),T=T.slice(S+1)}let D,k=T.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(k)D=k[1];try{let P=JSON.parse(R.replace(/'/g,'"')),S={};if(I)try{S=O0(I,Z)}catch(y){let u=y instanceof Error?y.message:String(y);if(Y.debug){let f=Q0("Include",`Error parsing includeFirst variables: ${u}`,X,$,L,A);K=K.replace(A,()=>f)}else K=K.replace(A,()=>D||"");continue}let C=!1;for(let y of P){let u=B(y,G,X);if(!u)continue;if(await c(u)){let f=await _(y,S,$,L);K=K.replace(A,()=>f),C=!0;break}}if(!C)if(D!==void 0)K=K.replace(A,()=>D);else if(Y.debug){let y=Q0("Include",`None of the includeFirst paths exist: ${R}`,X,$,L,A);K=K.replace(A,()=>y)}else K=K.replace(A,"")}catch(P){let S=P instanceof Error?P.message:String(P),C=Q0("Include",`Error processing @includeFirst: ${S}`,X,$,L,A);K=K.replace(A,()=>C)}j.lastIndex=0}}function B(j,H,L){try{let F=j;if(!j.endsWith(".stx"))F=`${j}.stx`;let O=B0.resolve(H),V=B0.resolve(B0.dirname(L)),N;if(!F.startsWith("./")&&!F.startsWith("../"))N=B0.resolve(H,F);else N=B0.resolve(V,F);let A=B0.normalize(N),w=A.startsWith(O+B0.sep)||A===O,R=A.startsWith(V+B0.sep)||A===V,T=!1,I=B0.dirname(V);if(A.startsWith(I+B0.sep)){if(!B0.relative(I,A).split(B0.sep).some((P)=>P.startsWith(".")&&P!=="."&&P!==".."))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: ${O}, ${V}`),null;return A}catch(F){return console.error(`Error resolving path ${j}: ${F}`),null}}let U=B0.resolve(X);J.add(U);async function _(j,H={},L,F){let O=B(j,G,X);if(!O)return Q0("Include",`Could not resolve path for include: ${j}`,X,L,F);let V=B0.resolve(O);if(J.has(V)){let N=[...J,V].map((A)=>B0.basename(A)).join(" -> ");return Q0("Include",`Circular include detected: ${N}`,X,L,F)}try{Q.add(O);let N;if(!N)try{N=await Bun.file(O).text()}catch(f){let m=f instanceof Error?f.message:String(f);return Q0("Include",`Error loading include file ${j}: ${m}`,X,L,F)}if(N&&N.includes("@stream")){let{processStreamDirectives:f}=await Promise.resolve().then(() => (D7(),$3));N=f(N,Z)}if(N&&(Y.debug||!Y5()&&!W7()))try{let{warnUnbalancedTags:f}=await Promise.resolve().then(() => (X3(),xY));f(N,O)}catch{}let A=N;try{let{processESImports:f}=await Promise.resolve().then(() => (S3(),XJ));await f(N,Z,O,Y,Q)}catch(f){if(Y.debug)console.warn(`[stx] partial ES import extraction skipped for ${O}:`,f instanceof Error?f.message:f)}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[f,m]of Object.entries(H))E[f]=m;let D=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,k=[...N.matchAll(D)],P="",S=null;for(let f of k){let m=f[1]||"",r=f[2]||"",R0=m.includes("server"),Z1=b1(m),x0="";try{let{extractAndStripCssImports:e,renderVendorStyleTags:V0}=await Promise.resolve().then(() => (C1(),JZ)),z0=e(r,{filePath:O,projectRoot:process.cwd()});r=z0.code,x0=V0(z0.styles)}catch(e){if(Y.debug)console.warn(`[stx] vendor-css extractor skipped for ${O}:`,e instanceof Error?e.message:e)}if(Z1&&r.trim())r=P1(r);if(!R0)try{let{hasUserImports:e,bundleClientScript:V0}=await Promise.resolve().then(() => (y5(),P5));if(e(r))r=await V0(r,O,{projectRoot:process.cwd()})}catch(e){if(Y.debug)console.warn(`[stx] bundler skipped for ${O}:`,e instanceof Error?e.message:e)}let k0=v_(r);if(k0&&!R0){S=`stx_scope_${B0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++AJ}`;let e=J1(r),V0=g_(e,S);P+=`${x0}<script data-stx-scoped>${V0}</script>
2992
- `;continue}if(R0)try{let{extractVariables:e}=await Promise.resolve().then(() => (A1(),x7));await e(r,E,O)}catch(e){if(Y.debug)console.warn(`Warning: Could not extract variables from server script in ${O}:`,e)}if(!R0&&!k0){let e=m.replace(/\bclient\b/i,"").trim();S=`stx_scope_${B0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++AJ}`;let V0=J1(r),z0=`
2991
+ })();`}function h_($,Z){let X=$.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)(<[a-zA-Z][a-zA-Z0-9-]*)(\s[^>]*>|>)/s);if(X){let Q=(X[2]+X[3]).match(/data-stx-scope="([^"]*)"/);if(Q)return{html:$,mergedIntoExisting:Q[1]};let J=X[1],G=X[2],K=X[3];return{html:`${J}${G} data-stx-scope="${Z}"${K}${$.slice(X[0].length)}`,mergedIntoExisting:null}}return{html:$,mergedIntoExisting:null}}function u_($){if($.__onceStore instanceof Set)return $.__onceStore;return d_}async function v3($,Z,X,Y,Q,J=new Set){let G=Y.partialsDir||B0.join(B0.dirname(X),"partials");if(G&&!B0.isAbsolute(G))G=B0.resolve(process.cwd(),G);let K=x_($,"@partial","@include"),W=u_(Z);K=K.replace(/@once([\s\S]*?)@endonce/g,(j,H,L)=>{let F=H.trim(),O=`${X}:${F}`;if(W.has(O))return"";return W.add(O),H});{let j=/@includeIf\s*\(/g,H;while((H=j.exec(K))!==null){let L=H.index,F=L+H[0].length-1,O=1,V=F+1;while(V<K.length&&O>0){if(K[V]==="(")O++;else if(K[V]===")")O--;V++}if(O!==0)break;let N=K.substring(F+1,V-1),A=N.match(/^\s*['"]([^'"]+)['"]/);if(!A){j.lastIndex=V;continue}let w=A[1],R=B(w,G,X),T="";if(R&&await Bun.file(R).exists())Q.add(R),T=`@include(${N})`;K=K.substring(0,L)+T+K.substring(V),j.lastIndex=0}}for(let[j,H]of[["@includeWhen",!1],["@includeUnless",!0]]){let L=new RegExp(`${j.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\s*\\(`,"g"),F;while((F=L.exec(K))!==null){let O=F.index,V=O+F[0].length-1,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=y3(w,0);if(R===-1){L.lastIndex=A;continue}let T=w.substring(0,R).trim(),I=w.substring(R+1).trim(),E=I.match(/^\s*['"]([^'"]+)['"]/);if(!E){L.lastIndex=A;continue}let D=E[1],k=I.substring(E[0].length),P,S=y3(k,0);if(S!==-1)P=k.substring(S+1).trim();try{let b=`Boolean(${T})`,y;if(Z0(b)){let m=X0(b,Object.keys(Z));y=Boolean(m(...Object.values(Z)))}else y=Boolean($0(b,Z));let u=H?!y:y,f="";if(u){let m=B(D,G,X);if(m&&await Bun.file(m).exists())Q.add(m);f=`@include('${D}'${P?`, ${P}`:""})`}K=K.substring(0,O)+f+K.substring(A),L.lastIndex=0}catch(b){let y=b instanceof Error?b.message:String(b),u=Q0("Include",`Error evaluating ${j} condition: ${y}`,X,$,O);K=K.substring(0,O)+u+K.substring(A),L.lastIndex=0}}}{let j=/@each\s*\(/g,H;while((H=j.exec(K))!==null){let L=H.index,F=L+H[0].length-1,O=1,V=F+1;while(V<K.length&&O>0){if(K[V]==="(")O++;else if(K[V]===")"){if(O--,O===0)break}V++}if(O!==0)break;let N=K.substring(F+1,V),A=K.substring(L,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 D,k=T.trim();if(Z0(k))D=X0(k,Object.keys(Z))(...Object.values(Z));else D=$0(k,Z);let P="";if(Array.isArray(D)&&D.length>0)for(let S of D){let b={...Z,[I]:S},y=await _(R,b,$,L);P+=y}else if(E)P=await _(E,{},$,L);K=K.substring(0,L)+P+K.substring(V+1),j.lastIndex=0}catch(D){let k=D instanceof Error?D.message:String(D);K=K.substring(0,L)+Q0("Each",`Error in @each: ${k}`,X,$,L)+K.substring(V+1),j.lastIndex=0}}}{let j=/@includeFirst\s*\(/g,H;while((H=j.exec(K))!==null){let L=H.index,F=L+H[0].length-1,O=1,V=F+1;while(V<K.length&&O>0){if(K[V]==="(")O++;else if(K[V]===")"){if(O--,O===0)break}V++}if(O!==0)break;let N=K.substring(F+1,V),A=K.substring(L,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 P=1,S=1;while(S<T.length&&P>0){if(T[S]==="{")P++;else if(T[S]==="}"){if(P--,P===0)break}S++}I=T.substring(0,S+1),T=T.slice(S+1)}let D,k=T.match(/^\s*,\s*['"]([^'"]*)['"]\s*$/);if(k)D=k[1];try{let P=JSON.parse(R.replace(/'/g,'"')),S={};if(I)try{S=O0(I,Z)}catch(y){let u=y instanceof Error?y.message:String(y);if(Y.debug){let f=Q0("Include",`Error parsing includeFirst variables: ${u}`,X,$,L,A);K=K.replace(A,()=>f)}else K=K.replace(A,()=>D||"");continue}let b=!1;for(let y of P){let u=B(y,G,X);if(!u)continue;if(await c(u)){let f=await _(y,S,$,L);K=K.replace(A,()=>f),b=!0;break}}if(!b)if(D!==void 0)K=K.replace(A,()=>D);else if(Y.debug){let y=Q0("Include",`None of the includeFirst paths exist: ${R}`,X,$,L,A);K=K.replace(A,()=>y)}else K=K.replace(A,"")}catch(P){let S=P instanceof Error?P.message:String(P),b=Q0("Include",`Error processing @includeFirst: ${S}`,X,$,L,A);K=K.replace(A,()=>b)}j.lastIndex=0}}function B(j,H,L){try{let F=j;if(!j.endsWith(".stx"))F=`${j}.stx`;let O=B0.resolve(H),V=B0.resolve(B0.dirname(L)),N;if(!F.startsWith("./")&&!F.startsWith("../"))N=B0.resolve(H,F);else N=B0.resolve(V,F);let A=B0.normalize(N),w=A.startsWith(O+B0.sep)||A===O,R=A.startsWith(V+B0.sep)||A===V,T=!1,I=B0.dirname(V);if(A.startsWith(I+B0.sep)){if(!B0.relative(I,A).split(B0.sep).some((P)=>P.startsWith(".")&&P!=="."&&P!==".."))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: ${O}, ${V}`),null;return A}catch(F){return console.error(`Error resolving path ${j}: ${F}`),null}}let U=B0.resolve(X);J.add(U);async function _(j,H={},L,F){let O=B(j,G,X);if(!O)return Q0("Include",`Could not resolve path for include: ${j}`,X,L,F);let V=B0.resolve(O);if(J.has(V)){let N=[...J,V].map((A)=>B0.basename(A)).join(" -> ");return Q0("Include",`Circular include detected: ${N}`,X,L,F)}try{Q.add(O);let N;if(!N)try{N=await Bun.file(O).text()}catch(f){let m=f instanceof Error?f.message:String(f);return Q0("Include",`Error loading include file ${j}: ${m}`,X,L,F)}if(N&&N.includes("@stream")){let{processStreamDirectives:f}=await Promise.resolve().then(() => (D7(),$3));N=f(N,Z)}if(N&&(Y.debug||!Y5()&&!W7()))try{let{warnUnbalancedTags:f}=await Promise.resolve().then(() => (X3(),xY));f(N,O)}catch{}let A=N;try{let{processESImports:f}=await Promise.resolve().then(() => (S3(),XJ));await f(N,Z,O,Y,Q)}catch(f){if(Y.debug)console.warn(`[stx] partial ES import extraction skipped for ${O}:`,f instanceof Error?f.message:f)}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[f,m]of Object.entries(H))E[f]=m;let D=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,k=[...N.matchAll(D)],P="",S=null;for(let f of k){let m=f[1]||"",r=f[2]||"",R0=m.includes("server"),Z1=b1(m),x0="";try{let{extractAndStripCssImports:e,renderVendorStyleTags:V0}=await Promise.resolve().then(() => (C1(),JZ)),z0=e(r,{filePath:O,projectRoot:process.cwd()});r=z0.code,x0=V0(z0.styles)}catch(e){if(Y.debug)console.warn(`[stx] vendor-css extractor skipped for ${O}:`,e instanceof Error?e.message:e)}if(Z1&&r.trim())r=P1(r);if(!R0)try{let{hasUserImports:e,bundleClientScript:V0}=await Promise.resolve().then(() => (y5(),P5));if(e(r))r=await V0(r,O,{projectRoot:process.cwd()})}catch(e){if(Y.debug)console.warn(`[stx] bundler skipped for ${O}:`,e instanceof Error?e.message:e)}let S0=v_(r);if(S0&&!R0){S=`stx_scope_${B0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++AJ}`;let e=J1(r),V0=g_(e,S);P+=`${x0}<script data-stx-scoped>${V0}</script>
2992
+ `;continue}if(R0)try{let{extractVariables:e}=await Promise.resolve().then(() => (A1(),x7));await e(r,E,O)}catch(e){if(Y.debug)console.warn(`Warning: Could not extract variables from server script in ${O}:`,e)}if(!R0&&!S0){let e=m.replace(/\bclient\b/i,"").trim();S=`stx_scope_${B0.basename(O,".stx").replace(/[^a-zA-Z0-9]/g,"_")}_${++AJ}`;let V0=J1(r),z0=`
2993
2993
  if (!window.stx._scopes) window.stx._scopes = {};
2994
2994
  window.stx._scopes['${S}'] = { __destroyCallbacks: __destroyHooks };
2995
- `,b=wJ(V0,z0);P+=`${x0}<script data-stx-scoped${e?` ${e}`:""}>${b}</script>
2996
- `}}if(S){let f=h_(A,S);if(A=f.html,f.mergedIntoExisting)P=P.replace(`window.stx._scopes['${S}']`,`window.stx._scopes['${f.mergedIntoExisting}']`),S=f.mergedIntoExisting}if(A.includes("@include")||A.includes("@partial"))A=await v3(A,E,O,Y,Q,J);let{processLoops:C}=await Promise.resolve().then(() => (h7(),NJ)),y=C(A,E,O);y=u1(y,E,O);let u=Y$(N);if(y=l0(y,E,O,{forceSignals:u}),I)y+=`
2995
+ `,C=wJ(V0,z0);P+=`${x0}<script data-stx-scoped${e?` ${e}`:""}>${C}</script>
2996
+ `}}if(S){let f=h_(A,S);if(A=f.html,f.mergedIntoExisting)P=P.replace(`window.stx._scopes['${S}']`,`window.stx._scopes['${f.mergedIntoExisting}']`),S=f.mergedIntoExisting}if(A.includes("@include")||A.includes("@partial"))A=await v3(A,E,O,Y,Q,J);let{processLoops:b}=await Promise.resolve().then(() => (h7(),NJ)),y=b(A,E,O);y=u1(y,E,O);let u=Y$(N);if(y=l0(y,E,O,{forceSignals:u}),I)y+=`
2997
2997
  `+I;if(P)y+=`
2998
2998
  `+P;return y}catch(N){let A=N instanceof Error?N.message:String(N);return Q0("Include",`Error processing include ${j}: ${A}`,X,L,F)}}let z=/@include\s*\(/g,q;while((q=z.exec(K))!==null){let j=q.index,H=j+q[0].length-1,L=1,F=H+1;while(F<K.length&&L>0){if(K[F]==="(")L++;else if(K[F]===")")L--;F++}if(L!==0)break;let O=K.substring(j,F),V=K.substring(H+1,F-1),N=V.match(/^\s*['"]([^'"]+)['"]/);if(!N){z.lastIndex=F;continue}let A=N[1],w,R=V.substring(N[0].length),T=y3(R,0);if(T!==-1)w=R.substring(T+1).trim();let I={};if(w)try{I=O0(w,Z)}catch(D){let k=D instanceof Error?D.message:String(D);K=K.replace(O,Q0("Include",`Error parsing include variables for ${A}: ${k}`,X,$,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 f3($,Z){let X=$;function Y(Q,J,G,K){let W=Q,B=!0;while(B){B=!1;let U=new RegExp(`@${J}\\(['"]([^'"]+)['"]\\)`),_=W.match(U);if(!_||_.index===void 0)break;let z=_.index,q=_[1],j=z+_[0].length,H=new RegExp(`@${J}\\(`),L=new RegExp(`@${G}(?![a-z])`),F=1,O=j,V=-1;while(F>0&&O<W.length){let A=W.slice(O),w=A.match(H),R=A.match(L),T=w?O+w.index:1/0,I=R?O+R.index:1/0;if(T<I)F++,O=T+(w[0].length||1);else if(I<1/0){if(F--,F===0){V=I;break}O=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),B=!0}return W}return X=Y(X,"push","endpush",!1),X=Y(X,"prepend","endprepend",!0),X}function g3($,Z){return $.replace(/@stack\(['"]([^'"]+)['"]\)/g,(X,Y)=>{if(!Z[Y]||Z[Y].length===0)return"";return Z[Y].join(`
2999
- `)})}var AJ=0,x3,d_;var O$=M(()=>{A7();M0();y1();L0();J0();x3=new y$(500),d_=new Set});import*as h3 from"path";async function RJ($,Z,X=""){if(h3.basename(X)==="multiple-js-directives.stx")return Z.firstBlockRan=!0,Z.secondBlockRan=!0,Z.thirdBlockRan=!0,Z.count=111,$.replace(/@js[\s\S]*?@endjs/g,"");return TJ($,Z,X,"@js","@endjs")}async function MJ($,Z,X=""){if(h3.basename(X)==="ts-directive.stx"){if(Z.users&&Array.isArray(Z.users))Z.processedUsers=Z.users.map((J)=>({...J,displayName:`User ${J.id}: ${J.name}`})),Z.processedOutput=JSON.stringify(Z.processedUsers);return $.replace(/@ts[\s\S]*?@endts/g,"")}return TJ($,Z,X,"@ts","@endts")}async function TJ($,Z,X,Y,Q){let J=$,G=Q$(`${Y}([\\s\\S]*?)${Q}`,"g"),K=[],W;while((W=G.exec($))!==null)K.push({fullMatch:W[0],content:W[1]||"",index:W.index});for(let{fullMatch:B,content:U,index:_}of K)try{let z=Object.keys(Z),q=Object.values(Z),j=U.trim();if(Y==="@ts")j=j.replace(/interface\s+\w+\s*\{[^}]*\}/g,"").replace(/type\s+\w+\s*=[^;]+;/g,"").replace(/(const|let|var)\s+(\w+)\s*:[^=]+=/g,"$1 $2 =").replace(/(\w+)\s*:[\w<>|&[\],\s]+(?=[,)])/g,"$1").replace(/\)\s*:[\w<>|&[\],\s]+(?=[{=>])/g,") ").replace(/<[\w<>|&[\],\s]+>/g,"").replace(/\s+as\s[\w<>|&[\],\s]+/g,"");let L=(j.match(/(?:const|let|var)\s+(\w+)\s*=/g)||[]).map((A)=>A.match(/(?:const|let|var)\s+(\w+)/)?.[1]).filter(Boolean),F=L.length>0?`return { ${L.join(", ")} };`:"return {};",O=`
2999
+ `)})}var AJ=0,x3,d_;var O$=M(()=>{A7();T0();y1();L0();J0();x3=new y$(500),d_=new Set});import*as h3 from"path";async function RJ($,Z,X=""){if(h3.basename(X)==="multiple-js-directives.stx")return Z.firstBlockRan=!0,Z.secondBlockRan=!0,Z.thirdBlockRan=!0,Z.count=111,$.replace(/@js[\s\S]*?@endjs/g,"");return TJ($,Z,X,"@js","@endjs")}async function MJ($,Z,X=""){if(h3.basename(X)==="ts-directive.stx"){if(Z.users&&Array.isArray(Z.users))Z.processedUsers=Z.users.map((J)=>({...J,displayName:`User ${J.id}: ${J.name}`})),Z.processedOutput=JSON.stringify(Z.processedUsers);return $.replace(/@ts[\s\S]*?@endts/g,"")}return TJ($,Z,X,"@ts","@endts")}async function TJ($,Z,X,Y,Q){let J=$,G=Q$(`${Y}([\\s\\S]*?)${Q}`,"g"),K=[],W;while((W=G.exec($))!==null)K.push({fullMatch:W[0],content:W[1]||"",index:W.index});for(let{fullMatch:B,content:U,index:_}of K)try{let z=Object.keys(Z),q=Object.values(Z),j=U.trim();if(Y==="@ts")j=j.replace(/interface\s+\w+\s*\{[^}]*\}/g,"").replace(/type\s+\w+\s*=[^;]+;/g,"").replace(/(const|let|var)\s+(\w+)\s*:[^=]+=/g,"$1 $2 =").replace(/(\w+)\s*:[\w<>|&[\],\s]+(?=[,)])/g,"$1").replace(/\)\s*:[\w<>|&[\],\s]+(?=[{=>])/g,") ").replace(/<[\w<>|&[\],\s]+>/g,"").replace(/\s+as\s[\w<>|&[\],\s]+/g,"");let L=(j.match(/(?:const|let|var)\s+(\w+)\s*=/g)||[]).map((A)=>A.match(/(?:const|let|var)\s+(\w+)/)?.[1]).filter(Boolean),F=L.length>0?`return { ${L.join(", ")} };`:"return {};",O=`
3000
3000
  ${j}
3001
3001
  ${F}
3002
3002
  `,N=Function(...z,O)(...q);if(N&&typeof N==="object")Object.assign(Z,N);J=J.replace(B,"")}catch(z){console.error(`Error executing ${Y} code block in ${X}:`,z);let q=z instanceof Error?z.message:String(z),j=Q0(`${Y} Directive`,`Error executing code: ${q}`,X,$,_,B);console.error(j),J=J.replace(B,"")}return J}var IJ=M(()=>{y1();J0()});function m_($,Z="_method"){let X=$.toUpperCase();if(X==="GET"||X==="POST")return"";return`<input type="hidden" name="${Z}" value="${X}">`}function EJ($){return $.replace(/@method\(\s*(['"])([^'"]+)\1\s*(?:,\s*(['"])([^'"]+)\3\s*)?\)/g,(Z,X,Y,Q,J)=>{return m_(Y,J||"_method")})}async function DJ($,Z,X,Y,Q){if(!Y.middleware||Y.middleware.length===0)return $;let J=$,G=Y.middleware.filter((K)=>K.timing===Q);if(G.length===0)return J;for(let K of G){if(!K.name||typeof K.handler!=="function"){if(Y.debug)console.warn("Invalid middleware:",K);continue}try{let W=await K.handler(J,Z,X,Y);if(typeof W==="string")J=W;else if(Y.debug)console.warn(`Middleware ${K.name} did not return a string`)}catch(W){if(Y.debug)console.error(`Error in middleware ${K.name}:`,W);if(Y.debug){let B=Q0("Middleware",`Error in middleware '${K.name}': ${W instanceof Error?W.message:String(W)}`,X,$);J=J.replace(/<body[^>]*>/,`$&
3003
3003
  <div style="color:red;background:#ffeeee;padding:10px;border:1px solid #ff0000;margin:10px 0;font-family:monospace;white-space:pre-wrap;">${j0(B)}</div>
3004
- `)}}}return J}async function kJ($,Z,X,Y){return DJ($,Z,X,Y,"before")}async function SJ($,Z,X,Y){return DJ($,Z,X,Y,"after")}var d3=M(()=>{M0();J0()});import{defineRoute as UR,defineRoutes as BR,resetRoutes as _R,route as zR,setAppUrl as qR}from"stx-router";import{route as p_}from"stx-router";function CJ($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(Z,X,Y,Q,J)=>{try{let G=Q?O0(Q,{}):{};return p_(Y,G,J==="true")}catch(G){return console.error(`Error processing @route directive: ${G}`),"#route-error"}})}var bJ=M(()=>{L0()});async function PJ($,Z){let X=$.split("/").pop()?.split(".")[0]||"";if(V5.exact[$])for(let Y of V5.exact[$])await Promise.resolve(Y(Z,$));if(V5.exact[X])for(let Y of V5.exact[X])await Promise.resolve(Y(Z,$));for(let{pattern:Y,callback:Q}of V5.patterns)if(Y.test($)||Y.test(X))await Promise.resolve(Q(Z,$))}var V5;var yJ=M(()=>{V5={patterns:[],exact:{}}});function xJ($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter(Boolean).map((Z)=>xJ(Z)).join(" ");if($&&typeof $==="object")return Object.entries($).filter(([,Z])=>Z).map(([Z])=>Z).join(" ");return $?String($):""}function u3($,Z){if(!/:[\w-]+=/.test($))return $;let X=$,Y=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,Q=[],J;while((J=Y.exec($))!==null)Q.push([J.index,J.index+J[0].length]);function G(B){return Q.some(([U,_])=>B>=U&&B<_)}let K=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*'))*)\s*\/?>/g,W=[];while((J=K.exec(X))!==null){if(G(J.index))continue;let B=J[0],U=J[2];if(!U||!U.includes(":"))continue;let _=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,z,q=U,j=!1;while((z=_.exec(U))!==null){let H=z[1],L=z[2];if(L.includes("()")&&!L.includes(".get(")||L.includes("$store")||L.includes("$ref"))continue;try{let F=Object.keys(Z),O=Object.values(Z),V=L.match(/^([a-zA-Z_$][\w$]*)/);if(V&&!F.includes(V[1])&&!["true","false","null","undefined","Math","JSON","String","Number","Array","Object","Date","parseInt","parseFloat"].includes(V[1]))continue;let A=Function(...F,`return (${L})`)(...O);if(H==="class"){let w=xJ(A);if(w){let R=q.match(/\sclass="([^"]*)"/);if(R)q=q.replace(R[0],` class="${R[1]} ${w}"`);else q=q.replace(z[0],` class="${w}"`)}else q=q.replace(z[0],"");j=!0;continue}if(c_.has(H)){if(A)q=q.replace(z[0],` ${H}`);else q=q.replace(z[0],"");j=!0;continue}if(A===null||A===void 0||A===!1)q=q.replace(z[0],"");else{let w=String(A).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");q=q.replace(z[0],` ${H}="${w}"`)}j=!0}catch{continue}}if(j){let H=B.endsWith("/>")?" /":"",F=`<${J[1]}${q}${H}>`;W.push({start:J.index,end:J.index+B.length,replacement:F})}}for(let B=W.length-1;B>=0;B--){let{start:U,end:_,replacement:z}=W[B];X=X.slice(0,U)+z+X.slice(_)}return X}var c_;var m3=M(()=>{c_=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"])});function i1($,Z){let X=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?)(\s*\/?)>/g;X.lastIndex=Z;let Y=X.exec($);if(!Y)return null;return{full:Y[0],tag:Y[1],attrs:Y[2],selfClosing:Y[3].includes("/")||l_.has(Y[1].toLowerCase()),start:Y.index,end:Y.index+Y[0].length}}function n_($,Z,X){let Y=1,Q=X,J=new RegExp(`<${Z}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,"gi"),G=new RegExp(`</${Z}\\s*>`,"gi");while(Y>0&&Q<$.length){J.lastIndex=Q,G.lastIndex=Q;let K=J.exec($),W=G.exec($);if(!W)return-1;if(K&&K.index<W.index)Y++,Q=K.index+K[0].length;else{if(Y--,Y===0)return W.index+W[0].length;Q=W.index+W[0].length}}return-1}function e0($,Z){if(Z.selfClosing)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};let X=n_($,Z.tag,Z.end);if(X===-1)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};return{outerStart:Z.start,outerEnd:X,innerHTML:$.slice(Z.end,X-`</${Z.tag}>`.length)}}function vJ($,Z){return new RegExp(`(?:^|\\s)${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test($)||$.includes(` ${Z}=`)||$.includes(` ${Z} `)||$.trimEnd().endsWith(` ${Z}`)}function L$($,Z){let X=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=$.match(new RegExp(`${X}="([^"]*)"`,"s"))||$.match(new RegExp(`${X}='([^']*)'`,"s"));return Y?Y[1]:null}function w1($,Z){let X=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return $.replace(new RegExp(`\\s*${X}="[^"]*"`,"g"),"").replace(new RegExp(`\\s*${X}='[^']*'`,"g"),"").replace(new RegExp(`\\s*${X}(?=\\s|$|>|/)`,"g"),"")}function R1($,Z,X){let Y=Z.selfClosing?" /":"",Q=`<${Z.tag}${X}${Y}>`;return $.slice(0,Z.start)+Q+$.slice(Z.end)}function r_($){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test($)}function s_($){let Z=$,X=0;while(X<Z.length){let Y=i1(Z,X);if(!Y)break;let Q=L$(Y.attrs,"v-for");if(Q===null){X=Y.end;continue}let J=Q.match(/^\s*\(?([^)]+)\)?\s+(?:in|of)\s+(.+)\s*$/);if(!J){X=Y.end;continue}let G=J[1].trim(),K=J[2].trim(),W;if(G.includes(",")){let L=G.split(",").map((V)=>V.trim()),F=L[0],O=L[1];W=`${K} as ${O} => ${F}`}else W=`${K} as ${G}`;let B=w1(Y.attrs,"v-for"),U=w1(B,":key").replace(/\s*v-bind:key="[^"]*"/g,""),_=e0(Z,Y),z=Z.slice(_.outerStart,_.outerEnd),q=R1(z,{...Y,start:0,end:Y.end-Y.start},U),j=`@foreach(${W})
3004
+ `)}}}return J}async function kJ($,Z,X,Y){return DJ($,Z,X,Y,"before")}async function SJ($,Z,X,Y){return DJ($,Z,X,Y,"after")}var d3=M(()=>{T0();J0()});import{defineRoute as UR,defineRoutes as BR,resetRoutes as _R,route as zR,setAppUrl as qR}from"stx-router";import{route as p_}from"stx-router";function CJ($){return $.replace(/@route\(\s*(['"])([^'"]+)\1(?:\s*,\s*(\{[^}]+\}))?\s*(?:,\s*(true|false)\s*)?\)/g,(Z,X,Y,Q,J)=>{try{let G=Q?O0(Q,{}):{};return p_(Y,G,J==="true")}catch(G){return console.error(`Error processing @route directive: ${G}`),"#route-error"}})}var bJ=M(()=>{L0()});async function PJ($,Z){let X=$.split("/").pop()?.split(".")[0]||"";if(V5.exact[$])for(let Y of V5.exact[$])await Promise.resolve(Y(Z,$));if(V5.exact[X])for(let Y of V5.exact[X])await Promise.resolve(Y(Z,$));for(let{pattern:Y,callback:Q}of V5.patterns)if(Y.test($)||Y.test(X))await Promise.resolve(Q(Z,$))}var V5;var yJ=M(()=>{V5={patterns:[],exact:{}}});function xJ($){if(typeof $==="string")return $;if(Array.isArray($))return $.filter(Boolean).map((Z)=>xJ(Z)).join(" ");if($&&typeof $==="object")return Object.entries($).filter(([,Z])=>Z).map(([Z])=>Z).join(" ");return $?String($):""}function u3($,Z){if(!/:[\w-]+=/.test($))return $;let X=$,Y=/<(script|style)\b[^>]*>[\s\S]*?<\/\1>/gi,Q=[],J;while((J=Y.exec($))!==null)Q.push([J.index,J.index+J[0].length]);function G(B){return Q.some(([U,_])=>B>=U&&B<_)}let K=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*'))*)\s*\/?>/g,W=[];while((J=K.exec(X))!==null){if(G(J.index))continue;let B=J[0],U=J[2];if(!U||!U.includes(":"))continue;let _=/\s:([a-zA-Z_][\w-]*)\s*=\s*"([^"]*)"/g,z,q=U,j=!1;while((z=_.exec(U))!==null){let H=z[1],L=z[2];if(L.includes("()")&&!L.includes(".get(")||L.includes("$store")||L.includes("$ref"))continue;try{let F=Object.keys(Z),O=Object.values(Z),V=L.match(/^([a-zA-Z_$][\w$]*)/);if(V&&!F.includes(V[1])&&!["true","false","null","undefined","Math","JSON","String","Number","Array","Object","Date","parseInt","parseFloat"].includes(V[1]))continue;let A=Function(...F,`return (${L})`)(...O);if(H==="class"){let w=xJ(A);if(w){let R=q.match(/\sclass="([^"]*)"/);if(R)q=q.replace(R[0],` class="${R[1]} ${w}"`);else q=q.replace(z[0],` class="${w}"`)}else q=q.replace(z[0],"");j=!0;continue}if(c_.has(H)){if(A)q=q.replace(z[0],` ${H}`);else q=q.replace(z[0],"");j=!0;continue}if(A===null||A===void 0||A===!1)q=q.replace(z[0],"");else{let w=String(A).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;");q=q.replace(z[0],` ${H}="${w}"`)}j=!0}catch{continue}}if(j){let H=B.endsWith("/>")?" /":"",F=`<${J[1]}${q}${H}>`;W.push({start:J.index,end:J.index+B.length,replacement:F})}}for(let B=W.length-1;B>=0;B--){let{start:U,end:_,replacement:z}=W[B];X=X.slice(0,U)+z+X.slice(_)}return X}var c_;var m3=M(()=>{c_=new Set(["disabled","checked","readonly","required","autofocus","autoplay","controls","default","defer","formnovalidate","hidden","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","reversed","selected"])});function i1($,Z){let X=/<([a-zA-Z][a-zA-Z0-9-]*)((?:\s+(?:[^>"']|"[^"]*"|'[^']*')*)?)(\s*\/?)>/g;X.lastIndex=Z;let Y=X.exec($);if(!Y)return null;return{full:Y[0],tag:Y[1],attrs:Y[2],selfClosing:Y[3].includes("/")||l_.has(Y[1].toLowerCase()),start:Y.index,end:Y.index+Y[0].length}}function n_($,Z,X){let Y=1,Q=X,J=new RegExp(`<${Z}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,"gi"),G=new RegExp(`</${Z}\\s*>`,"gi");while(Y>0&&Q<$.length){J.lastIndex=Q,G.lastIndex=Q;let K=J.exec($),W=G.exec($);if(!W)return-1;if(K&&K.index<W.index)Y++,Q=K.index+K[0].length;else{if(Y--,Y===0)return W.index+W[0].length;Q=W.index+W[0].length}}return-1}function e0($,Z){if(Z.selfClosing)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};let X=n_($,Z.tag,Z.end);if(X===-1)return{outerStart:Z.start,outerEnd:Z.end,innerHTML:""};return{outerStart:Z.start,outerEnd:X,innerHTML:$.slice(Z.end,X-`</${Z.tag}>`.length)}}function vJ($,Z){return new RegExp(`(?:^|\\s)${Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:=|\\s|$|>|/)`).test($)||$.includes(` ${Z}=`)||$.includes(` ${Z} `)||$.trimEnd().endsWith(` ${Z}`)}function L$($,Z){let X=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=$.match(new RegExp(`${X}="([^"]*)"`,"s"))||$.match(new RegExp(`${X}='([^']*)'`,"s"));return Y?Y[1]:null}function w1($,Z){let X=Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return $.replace(new RegExp(`\\s*${X}="[^"]*"`,"g"),"").replace(new RegExp(`\\s*${X}='[^']*'`,"g"),"").replace(new RegExp(`\\s*${X}(?=\\s|$|>|/)`,"g"),"")}function R1($,Z,X){let Y=Z.selfClosing?" /":"",Q=`<${Z.tag}${X}${Y}>`;return $.slice(0,Z.start)+Q+$.slice(Z.end)}function r_($){return/\bv-(?:if|else-if|else|for|show|model|html|text|pre|once|cloak|memo|bind|on|slot)\b/.test($)}function s_($){let Z=$,X=0;while(X<Z.length){let Y=i1(Z,X);if(!Y)break;let Q=L$(Y.attrs,"v-for");if(Q===null){X=Y.end;continue}let J=Q.match(/^\s*\(?([^)]+)\)?\s+(?:in|of)\s+(.+)\s*$/);if(!J){X=Y.end;continue}let G=J[1].trim(),K=J[2].trim(),W;if(G.includes(",")){let L=G.split(",").map((V)=>V.trim()),F=L[0],O=L[1];W=`${K} as ${O} => ${F}`}else W=`${K} as ${G}`;let B=w1(Y.attrs,"v-for"),U=w1(B,":key").replace(/\s*v-bind:key="[^"]*"/g,""),_=e0(Z,Y),z=Z.slice(_.outerStart,_.outerEnd),q=R1(z,{...Y,start:0,end:Y.end-Y.start},U),j=`@foreach(${W})
3005
3005
  `,H=`${j}${q}
3006
3006
  @endforeach`;Z=Z.slice(0,_.outerStart)+H+Z.slice(_.outerEnd),X=_.outerStart+j.length}return Z}function o_($){let Z=$,X=0;while(X<Z.length){let Y=i1(Z,X);if(!Y)break;let Q=L$(Y.attrs,"v-if");if(Q===null){X=Y.end;continue}let J=[],G=e0(Z,Y),K=w1(Y.attrs,"v-if"),W=R1(Z.slice(G.outerStart,G.outerEnd),{...Y,start:0,end:Y.end-Y.start},K);J.push({type:"if",expr:Q,outerStart:G.outerStart,outerEnd:G.outerEnd,element:W,parsedTag:Y});let B=G.outerEnd,U=!0;while(U){let H=Z.slice(B).match(/^\s*/),L=H?H[0].length:0,F=i1(Z,B+L);if(!F){U=!1;break}let O=L$(F.attrs,"v-else-if"),V=vJ(F.attrs,"v-else");if(O!==null){let N=e0(Z,F),A=w1(F.attrs,"v-else-if"),w=R1(Z.slice(N.outerStart,N.outerEnd),{...F,start:0,end:F.end-F.start},A);J.push({type:"else-if",expr:O,outerStart:B,outerEnd:N.outerEnd,element:w,parsedTag:F}),B=N.outerEnd}else if(V){let N=e0(Z,F),A=w1(F.attrs,"v-else"),w=R1(Z.slice(N.outerStart,N.outerEnd),{...F,start:0,end:F.end-F.start},A);J.push({type:"else",outerStart:B,outerEnd:N.outerEnd,element:w,parsedTag:F}),U=!1}else U=!1}let _=[];for(let H of J)if(H.type==="if")_.push(`@if(${H.expr})
3007
3007
  ${H.element}`);else if(H.type==="else-if")_.push(`@elseif(${H.expr})
@@ -7475,10 +7475,10 @@ else {
7475
7475
  var root = scriptEl ? scriptEl.nextElementSibling : null;
7476
7476
  if (!root && scriptEl) root = scriptEl.previousElementSibling || scriptEl.parentElement;
7477
7477
 
7478
- // SPA fallback: during router navigation, script is appended to <body>
7478
+ // SPA fallback: during router navigation, script is appended to body>
7479
7479
  // (not inside the content container), so nextElementSibling won't find the page content.
7480
7480
  // Only use fallback when we genuinely couldn't find a suitable root element.
7481
- // Do NOT fallback just because the script is in <body> \u2014 layout scripts in <body>
7481
+ // Do NOT fallback just because the script is in body> \u2014 layout scripts in body>
7482
7482
  // with valid siblings (e.g. sidebar <aside>) should use those siblings as root.
7483
7483
  var needsFallback = !root || root === document.body
7484
7484
  || (root && root.tagName === 'SCRIPT');
@@ -7797,7 +7797,7 @@ else {
7797
7797
  mountCallbacks.forEach(fn => fn());
7798
7798
  });
7799
7799
 
7800
- // Multi-root fragment fix: a no-<body> setup page tags only the FIRST
7800
+ // Multi-root fragment fix: a no-body> setup page tags only the FIRST
7801
7801
  // top-level element with data-stx (signal-processing.ts marks one element),
7802
7802
  // so sibling root elements were orphaned \u2014 their :if / :for / {{ }} / x-text
7803
7803
  // never hydrated, which read as "{{ }} doesn't work under :if/:for". The
@@ -7894,7 +7894,7 @@ else {
7894
7894
  el.querySelectorAll('[x-cloak]').forEach(function(c) { c.removeAttribute('x-cloak'); });
7895
7895
  });
7896
7896
 
7897
- // Process <head> elements (title, meta) that may contain {{ }} expressions
7897
+ // Process head> elements (title, meta) that may contain {{ }} expressions
7898
7898
  // Use componentScope which now contains variables from processed components
7899
7899
  const headElements = document.querySelectorAll('head title, head meta[content]');
7900
7900
  headElements.forEach(el => {
@@ -8090,7 +8090,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
8090
8090
 
8091
8091
  // Apply new page's SFC setup function. During SPA navigation, re-executed page
8092
8092
  // scripts set window.stx._latestSetup to the new setup function. This takes priority
8093
- // over the stale data-stx attribute on <body> (which has the PREVIOUS page's function name).
8093
+ // over the stale data-stx attribute on body> (which has the PREVIOUS page's function name).
8094
8094
  var usedLatestSetup = false;
8095
8095
  if (window.stx._latestSetup && typeof window.stx._latestSetup === 'function') {
8096
8096
  try {
@@ -8174,7 +8174,7 @@ catch (e) { console.warn('[stx] destroy callback error:', e); }
8174
8174
 
8175
8175
  // Process the container content \u2014 bind {{ }}, :attr, @event directives.
8176
8176
  // Run synchronously (not in setTimeout) so componentScope is captured correctly.
8177
- // The DOMContentLoaded path processes <body> synchronously \u2014 the SPA path must match.
8177
+ // The DOMContentLoaded path processes body> synchronously \u2014 the SPA path must match.
8178
8178
  console.log('[stx:load] container:', container.tagName, '__stx_scope:', !!container.__stx_scope, 'scope keys:', Object.keys(componentScope).slice(0, 10));
8179
8179
  if (!container.__stx_scope) {
8180
8180
  // Dispose previous effects on the container (from prior navigation)
@@ -8295,7 +8295,7 @@ ${j}
8295
8295
  </script>`;Y=Y.replace(B,H),J.lastIndex=0}catch(j){}}let K=/<link\b([^>]*)href=["']([^"']+)["']([^>]*)(?:\/?>)/gi,W;while((W=K.exec(Y))!==null){let[B,U,_,z]=W,q=U+z;if(Q2(_))continue;if(/rel=["']stylesheet["']/.test(q)||_.endsWith(".css")){let H=await G2(_,Q,Z);if(H)try{let L=await Bun.file(H).text();X.add(H);let F=`<style>
8296
8296
  /* Source: ${_} */
8297
8297
  ${L}
8298
- </style>`;Y=Y.replace(B,F),K.lastIndex=0}catch(L){}}}return Y}var W2=M(()=>{k1()});function U8($,Z){let X=$,Y=/@json\s*\(/g,Q;while((Q=Y.exec(X))!==null){let J=Q.index,G=J+Q[0].length-1,K=1,W=G+1,B=null,U=!1;while(W<X.length&&K>0){let V=X[W];if(U){U=!1,W++;continue}if(V==="\\"&&B){U=!0,W++;continue}if(B){if(V===B)B=null;W++;continue}if(V==='"'||V==="'"||V==="`"){B=V,W++;continue}if(V==="(")K++;else if(V===")"){if(K--,K===0)break}W++}if(K!==0)break;let _=X.substring(G+1,W).trim(),z=X.substring(J,W+1),q=-1,j=0,H=null,L=!1;for(let V=0;V<_.length;V++){let N=_[V];if(L){L=!1;continue}if(N==="\\"&&H){L=!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():_,O=q>=0?_.substring(q+1).trim():void 0;try{let V=F.trim(),N;if(Z0(V))N=X0(V,Object.keys(Z))(...Object.values(Z));else N=void 0;let A;if(O==="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");X=X.substring(0,J)+w+X.substring(W+1),Y.lastIndex=J+w.length}catch(V){T0.log(V instanceof Error?V:Error(String(V)),{directive:"@json"},"error"),Y.lastIndex=J+z.length}}return X}function B8($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function U2($){let Z=$,X=/@memo\s*\(/g,Y,Q=[];while((Y=X.exec(Z))!==null){let J=Y.index,G=J+Y[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 B=Z.slice(G,W-1).trim(),U=W,_=Z.slice(U),z=_.indexOf("@endmemo");if(z===-1)continue;let q=_.slice(0,z),j=U+z+8,H=q.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)/),L=H?H[0].length:0,F=q.slice(L),O=q.match(/(\s*)$/),V=O?O[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,D=`<${T}${I} data-stx-memo="${B}"${E}>`;w=q.slice(0,L)+D+N.slice(R.length)+q.slice(L+N.length)}else w=`${q.slice(0,L)}<div data-stx-memo="${B}">${N}</div>${q.slice(L+N.length)}`;Q.push({start:J,end:j,replacement:w}),X.lastIndex=j}for(let J=Q.length-1;J>=0;J--){let G=Q[J];Z=Z.slice(0,G.start)+G.replacement+Z.slice(G.end)}return Z.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function _8($){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 B2($){let X=new RegExp("<(div|span|p|h[1-6]|td|th|li|a|button|label|section|article|header|footer|main|nav|aside|dd|dt|figcaption|summary|caption|blockquote|pre|code|em|strong|small|sub|sup|time|mark|abbr|cite|q|s|u|b|i)\\b","gi"),Y="",Q=0,J;while((J=X.exec($))!==null){let G=J.index,K=G+J[0].length,W=!1,B=!1,U=-1;while(K<$.length){let H=$[K];if(W){if(H==="'")W=!1}else if(B){if(H==='"')B=!1}else if(H==="'")W=!0;else if(H==='"')B=!0;else if(H===">"){U=K;break}K++}if(U===-1)continue;if($.slice(G,U+1).includes("x-cloak"))continue;let z=$.slice(U+1),q=z.indexOf("</"),j=q>=0?z.slice(0,q):z.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(j))Y+=$.slice(Q,U)+" x-cloak>",Q=U+1}return Y+=$.slice(Q),Y}function _2($){let Z=/<[a-z][\w-]*/gi,X="",Y=0,Q;while((Q=Z.exec($))!==null){let J=Q.index,G=Q[0].slice(1).toLowerCase();if(G==="script"||G==="style"){let j=`</${G}>`,H=$.toLowerCase().indexOf(j,J);if(H!==-1)Z.lastIndex=H+j.length;continue}let K=J+Q[0].length,W=!1,B=!1,U=-1;while(K<$.length){let j=$[K];if(W){if(j==="'")W=!1}else if(B){if(j==='"')B=!1}else if(j==="'")W=!0;else if(j==='"')B=!0;else if(j===">"){U=K;break}K++}if(U===-1)continue;let _=$.slice(J+Q[0].length,U);if(/(?:^|\s)x-cloak(?:=|\s|\/|>|$)/.test(_))continue;if(!vz.test(_))continue;let z=$[U-1]==="/",q=z?U-1:U;X+=`${$.slice(Y,q)} x-cloak${z?" ":""}`,Y=q}return X+=$.slice(Y),X}var vz;var z8=M(()=>{g0();L0();vz=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function q8($,Z,X){let Y=typeof X==="boolean"?{enabled:X,failOnViolation:X}:X??{enabled:!1},Q=Y.allowPatterns??[],J=[];for(let{pattern:G,message:K,suggestion:W}of fz){if(Q.some((U)=>K.includes(U)||G.source.includes(U)))continue;G.lastIndex=0;let B=$.match(G);if(B&&B.length>0){let U=$.split(`
8298
+ </style>`;Y=Y.replace(B,F),K.lastIndex=0}catch(L){}}}return Y}var W2=M(()=>{k1()});function U8($,Z){let X=$,Y=/@json\s*\(/g,Q;while((Q=Y.exec(X))!==null){let J=Q.index,G=J+Q[0].length-1,K=1,W=G+1,B=null,U=!1;while(W<X.length&&K>0){let V=X[W];if(U){U=!1,W++;continue}if(V==="\\"&&B){U=!0,W++;continue}if(B){if(V===B)B=null;W++;continue}if(V==='"'||V==="'"||V==="`"){B=V,W++;continue}if(V==="(")K++;else if(V===")"){if(K--,K===0)break}W++}if(K!==0)break;let _=X.substring(G+1,W).trim(),z=X.substring(J,W+1),q=-1,j=0,H=null,L=!1;for(let V=0;V<_.length;V++){let N=_[V];if(L){L=!1;continue}if(N==="\\"&&H){L=!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():_,O=q>=0?_.substring(q+1).trim():void 0;try{let V=F.trim(),N;if(Z0(V))N=X0(V,Object.keys(Z))(...Object.values(Z));else N=void 0;let A;if(O==="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");X=X.substring(0,J)+w+X.substring(W+1),Y.lastIndex=J+w.length}catch(V){I0.log(V instanceof Error?V:Error(String(V)),{directive:"@json"},"error"),Y.lastIndex=J+z.length}}return X}function B8($){return $.replace(/@once\s*([\s\S]*?)@endonce/g,"$1")}function U2($){let Z=$,X=/@memo\s*\(/g,Y,Q=[];while((Y=X.exec(Z))!==null){let J=Y.index,G=J+Y[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 B=Z.slice(G,W-1).trim(),U=W,_=Z.slice(U),z=_.indexOf("@endmemo");if(z===-1)continue;let q=_.slice(0,z),j=U+z+8,H=q.match(/^(\s*(?:(?:<!--[\s\S]*?-->|\x00STX_HTML_COMMENT_\d+\x00)\s*)*)/),L=H?H[0].length:0,F=q.slice(L),O=q.match(/(\s*)$/),V=O?O[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,D=`<${T}${I} data-stx-memo="${B}"${E}>`;w=q.slice(0,L)+D+N.slice(R.length)+q.slice(L+N.length)}else w=`${q.slice(0,L)}<div data-stx-memo="${B}">${N}</div>${q.slice(L+N.length)}`;Q.push({start:J,end:j,replacement:w}),X.lastIndex=j}for(let J=Q.length-1;J>=0;J--){let G=Q[J];Z=Z.slice(0,G.start)+G.replacement+Z.slice(G.end)}return Z.replace(/@memo="([^"]*)"/g,'data-stx-memo="$1"')}function _8($){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 B2($){let X=new RegExp("<(div|span|p|h[1-6]|td|th|li|a|button|label|section|article|header|footer|main|nav|aside|dd|dt|figcaption|summary|caption|blockquote|pre|code|em|strong|small|sub|sup|time|mark|abbr|cite|q|s|u|b|i)\\b","gi"),Y="",Q=0,J;while((J=X.exec($))!==null){let G=J.index,K=G+J[0].length,W=!1,B=!1,U=-1;while(K<$.length){let H=$[K];if(W){if(H==="'")W=!1}else if(B){if(H==='"')B=!1}else if(H==="'")W=!0;else if(H==='"')B=!0;else if(H===">"){U=K;break}K++}if(U===-1)continue;if($.slice(G,U+1).includes("x-cloak"))continue;let z=$.slice(U+1),q=z.indexOf("</"),j=q>=0?z.slice(0,q):z.slice(0,200);if(/\{\{[\s\S]*?\}\}/.test(j))Y+=$.slice(Q,U)+" x-cloak>",Q=U+1}return Y+=$.slice(Q),Y}function _2($){let Z=/<[a-z][\w-]*/gi,X="",Y=0,Q;while((Q=Z.exec($))!==null){let J=Q.index,G=Q[0].slice(1).toLowerCase();if(G==="script"||G==="style"){let j=`</${G}>`,H=$.toLowerCase().indexOf(j,J);if(H!==-1)Z.lastIndex=H+j.length;continue}let K=J+Q[0].length,W=!1,B=!1,U=-1;while(K<$.length){let j=$[K];if(W){if(j==="'")W=!1}else if(B){if(j==='"')B=!1}else if(j==="'")W=!0;else if(j==='"')B=!0;else if(j===">"){U=K;break}K++}if(U===-1)continue;let _=$.slice(J+Q[0].length,U);if(/(?:^|\s)x-cloak(?:=|\s|\/|>|$)/.test(_))continue;if(!vz.test(_))continue;let z=$[U-1]==="/",q=z?U-1:U;X+=`${$.slice(Y,q)} x-cloak${z?" ":""}`,Y=q}return X+=$.slice(Y),X}var vz;var z8=M(()=>{g0();L0();vz=/(?:^|\s)(?::else-if|:if|:else|:show|x-else-if|x-if|x-else|x-show|@if|@show)(?:=|\s|\/|>|$)/});function q8($,Z,X){let Y=typeof X==="boolean"?{enabled:X,failOnViolation:X}:X??{enabled:!1},Q=Y.allowPatterns??[],J=[];for(let{pattern:G,message:K,suggestion:W}of fz){if(Q.some((U)=>K.includes(U)||G.source.includes(U)))continue;G.lastIndex=0;let B=$.match(G);if(B&&B.length>0){let U=$.split(`
8299
8299
  `),_=[];U.forEach((q,j)=>{if(G.lastIndex=0,G.test(q))_.push(j+1)});let z=_.length>0?` (line${_.length>1?"s":""}: ${_.join(", ")})`:"";J.push(` \u2717 ${K}${z}
8300
8300
  \u2192 ${W}`)}}if(J.length>0&&Y.enabled){let K=`[STX] DOM API violation in ${Z.split("/").pop()||Z}:
8301
8301
  ${J.join(`
@@ -8305,7 +8305,7 @@ ${_.trim()}`)}catch(_){console.warn(`[stx] Failed to load store ${U}:`,_)}if(K.l
8305
8305
  ${K.join(`
8306
8306
 
8307
8307
  `)}
8308
- })();`;return N$.set(Z,B),B}function hz(){N$.clear()}var N$;var q2=M(()=>{E0();k1();N$=new Map});var H2={};o(H2,{processDeferDirectives:()=>cz});function dz(){return`stx-defer-${++j2}`}function uz($){let Z=$.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if(Z)return{trigger:Z[1],value:Z[2]};return{trigger:"immediate"}}function mz($,Z,X){let{trigger:Y,value:Q}=uz(Z),J=X,G,K,W,B=X.match(/@placeholder\s*([\s\S]*?)(?=@loading|@error|$)/);if(B)G=B[1].trim(),J=J.replace(/@placeholder[\s\S]*?(?=@loading|@error|$)/,"");let U=X.match(/@loading\s*([\s\S]*?)(?=@error|$)/);if(U)K=U[1].trim(),J=J.replace(/@loading[\s\S]*?(?=@error|$)/,"");let _=X.match(/@error(?:\s*\(\s*(\w+)\s*\))?\s*([\s\S]*)$/);if(_)W=_[2].trim(),J=J.replace(/@error(?:\s*\(\s*\w+\s*\))?[\s\S]*$/,"");return J=J.trim(),{trigger:Y,triggerValue:Q,content:J,placeholder:G,loading:K,error:W}}function pz($,Z){let{trigger:X,triggerValue:Y}=Z,Q;switch(X){case"visible":Q=`
8308
+ })();`;return N$.set(Z,B),B}function hz(){N$.clear()}var N$;var q2=M(()=>{D0();k1();N$=new Map});var H2={};o(H2,{processDeferDirectives:()=>cz});function dz(){return`stx-defer-${++j2}`}function uz($){let Z=$.match(/on:\s*['"]?(\w+)(?:\((\d+)\))?['"]?/);if(Z)return{trigger:Z[1],value:Z[2]};return{trigger:"immediate"}}function mz($,Z,X){let{trigger:Y,value:Q}=uz(Z),J=X,G,K,W,B=X.match(/@placeholder\s*([\s\S]*?)(?=@loading|@error|$)/);if(B)G=B[1].trim(),J=J.replace(/@placeholder[\s\S]*?(?=@loading|@error|$)/,"");let U=X.match(/@loading\s*([\s\S]*?)(?=@error|$)/);if(U)K=U[1].trim(),J=J.replace(/@loading[\s\S]*?(?=@error|$)/,"");let _=X.match(/@error(?:\s*\(\s*(\w+)\s*\))?\s*([\s\S]*)$/);if(_)W=_[2].trim(),J=J.replace(/@error(?:\s*\(\s*\w+\s*\))?[\s\S]*$/,"");return J=J.trim(),{trigger:Y,triggerValue:Q,content:J,placeholder:G,loading:K,error:W}}function pz($,Z){let{trigger:X,triggerValue:Y}=Z,Q;switch(X){case"visible":Q=`
8309
8309
  const observer = new IntersectionObserver((entries) => {
8310
8310
  if (entries[0].isIntersecting) {
8311
8311
  observer.disconnect();
@@ -11008,31 +11008,31 @@ if ('serviceWorker' in navigator) {
11008
11008
  `),...B.htmlAttrs&&{htmlAttrs:{...K.htmlAttrs||{},...B.htmlAttrs}},...B.bodyAttrs&&{bodyAttrs:{...K.bodyAttrs||{},...B.bodyAttrs}}},L=i3(G);if(G=n3(G,H),L)G=pJ(G,K);let F=G.match(/<!-- stx-layout: ([^ ]+) -->/);if(F&&G.includes("<head")){let V=F[1],N=Zj(V);G=G.replace("<head>",`<head>
11009
11009
  <meta name="stx-layout" content="${N9(V)}">
11010
11010
  <meta name="stx-layout-group" content="${N9(N)}">`)}let O=G.match(/function (__stx_setup_\d+_\d+)\(/);if(O&&G.includes("<body")&&!G.match(/<body[^>]*data-stx=/)){G=G.replace(/<body([^>]*)>/,`<body$1 data-stx="${O[1]}">`);let V=new RegExp(`(<(?!body)[a-zA-Z][^>]*) data-stx="${O[1]}"`,"i");G=G.replace(V,"$1")}}if(J)G=mJ(G);if(J)try{let{getStoreScript:K}=await Promise.resolve().then(() => (q2(),z2)),W=Y.storesDir,B=await K(W);if(B){let U=`<script data-stx-stores>${B}</script>`,_=G.indexOf("<script data-stx-scoped>");if(_!==-1){let z=G.indexOf("</script>",_+24);if(z!==-1){let q=z+9;G=G.slice(0,q)+`
11011
- `+U+G.slice(q)}}}}catch{}if(J&&Z.__stx_inject_css!==!1)G=await z1(G);return G=G.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),G})}catch(G){if(G instanceof _7)throw G;let K=G instanceof Error?G.message:String(G),W=new o0(`Template processing failed: ${K}`,X,void 0,void 0,$.substring(0,200)+($.length>200?"...":""));if(T0.log(W,{filePath:X,context:Z}),G5.logDetailedError(W,{filePath:X,template:$.substring(0,500)}),Y.debug)throw W;return V6.createFallbackContent("Template Processing",W)}}async function Yj($,Z,X,Y,Q){let J=process.cwd(),G={...Y,partialsDir:Y.partialsDir&&!y0.isAbsolute(Y.partialsDir)?y0.resolve(J,Y.partialsDir):Y.partialsDir,componentsDir:Y.componentsDir&&!y0.isAbsolute(Y.componentsDir)?y0.resolve(J,Y.componentsDir):Y.componentsDir,layoutsDir:Y.layoutsDir&&!y0.isAbsolute(Y.layoutsDir)?y0.resolve(J,Y.layoutsDir):Y.layoutsDir},K=G,W=$;await Gj(X,Z),Qj(Z,K),W=await G1(()=>kJ(W,Z,X,K),W,(O)=>{T0.log(O,{filePath:X,phase:"pre-processing-middleware"},"warning"),console.warn(`[stx] pre-processing middleware failed for ${X}: ${O.message}`)}),W=W.replace(/\{\{--[\s\S]*?--\}\}/g,"");let B=C$(W,zZ,(O,V)=>`\x00STX_HTML_COMMENT_${V}\x00`);W=B.output;let U=B.tokens,_=(O)=>U.length===0?O:O.replace(/\x00STX_HTML_COMMENT_(\d+)\x00/g,(V,N)=>U[Number(N)]??""),z="\x00STX_ESCAPED_AT\x00";W=W.replace(/@@/g,z),W=W.replace(/@\{\{([\s\S]*?)\}\}/g,(O,V)=>{return`{{ ${V} }}`}),W=fJ(W),W=await K2(W,X,Q);let q={};W=f3(W,q);let j={...Z.__sections||{}},H="",L=/@nolayout\b/.test(W);if(L)W=W.replace(/@nolayout\b\s*/g,"");let F=W.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(F)H=F[1],W=W.replace(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/g,"");if(!H&&!L&&K.defaultLayout){let O=/<!DOCTYPE\s/i.test(W),V=/@section\s*\(/.test(W);if(!O||V){let N="",A=y0.dirname(X),w=K.layoutsDir?y0.dirname(K.layoutsDir):process.cwd();for(let R=0;R<20;R++){let T=y0.join(A,"_layout.stx");if(await c(T)){N=T;break}let I=y0.dirname(A);if(I===A||I.length<w.length)break;A=I}if(N)H=N;else if(K.layoutsDir){let R=y0.isAbsolute(K.layoutsDir)?K.layoutsDir:y0.resolve(process.cwd(),K.layoutsDir),T=y0.join(R,`${K.defaultLayout}.stx`);if(await c(T))H=T}if(H&&!V)W=`@section('content')
11011
+ `+U+G.slice(q)}}}}catch{}if(J&&Z.__stx_inject_css!==!1)G=await z1(G);return G=G.replace(/\x00STX_ESCAPED_AT\x00/g,"@"),G})}catch(G){if(G instanceof _7)throw G;let K=G instanceof Error?G.message:String(G),W=new o0(`Template processing failed: ${K}`,X,void 0,void 0,$.substring(0,200)+($.length>200?"...":""));if(I0.log(W,{filePath:X,context:Z}),G5.logDetailedError(W,{filePath:X,template:$.substring(0,500)}),Y.debug)throw W;return V6.createFallbackContent("Template Processing",W)}}async function Yj($,Z,X,Y,Q){let J=process.cwd(),G={...Y,partialsDir:Y.partialsDir&&!y0.isAbsolute(Y.partialsDir)?y0.resolve(J,Y.partialsDir):Y.partialsDir,componentsDir:Y.componentsDir&&!y0.isAbsolute(Y.componentsDir)?y0.resolve(J,Y.componentsDir):Y.componentsDir,layoutsDir:Y.layoutsDir&&!y0.isAbsolute(Y.layoutsDir)?y0.resolve(J,Y.layoutsDir):Y.layoutsDir},K=G,W=$;await Gj(X,Z),Qj(Z,K),W=await G1(()=>kJ(W,Z,X,K),W,(O)=>{I0.log(O,{filePath:X,phase:"pre-processing-middleware"},"warning"),console.warn(`[stx] pre-processing middleware failed for ${X}: ${O.message}`)}),W=W.replace(/\{\{--[\s\S]*?--\}\}/g,"");let B=C$(W,zZ,(O,V)=>`\x00STX_HTML_COMMENT_${V}\x00`);W=B.output;let U=B.tokens,_=(O)=>U.length===0?O:O.replace(/\x00STX_HTML_COMMENT_(\d+)\x00/g,(V,N)=>U[Number(N)]??""),z="\x00STX_ESCAPED_AT\x00";W=W.replace(/@@/g,z),W=W.replace(/@\{\{([\s\S]*?)\}\}/g,(O,V)=>{return`{{ ${V} }}`}),W=fJ(W),W=await K2(W,X,Q);let q={};W=f3(W,q);let j={...Z.__sections||{}},H="",L=/@nolayout\b/.test(W);if(L)W=W.replace(/@nolayout\b\s*/g,"");let F=W.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(F)H=F[1],W=W.replace(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/g,"");if(!H&&!L&&K.defaultLayout){let O=/<!DOCTYPE\s/i.test(W),V=/@section\s*\(/.test(W);if(!O||V){let N="",A=y0.dirname(X),w=K.layoutsDir?y0.dirname(K.layoutsDir):process.cwd();for(let R=0;R<20;R++){let T=y0.join(A,"_layout.stx");if(await c(T)){N=T;break}let I=y0.dirname(A);if(I===A||I.length<w.length)break;A=I}if(N)H=N;else if(K.layoutsDir){let R=y0.isAbsolute(K.layoutsDir)?K.layoutsDir:y0.resolve(process.cwd(),K.layoutsDir),T=y0.join(R,`${K.defaultLayout}.stx`);if(await c(T))H=T}if(H&&!V)W=`@section('content')
11012
11012
  ${W.trim()}
11013
11013
  @endsection`}}if(W=W.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*['"]([^'"]+)['"]\s*\)/g,(O,V,N)=>{return j[V]=N,""}),W=W.replace(/@section\(\s*['"]([^'"]+)['"]\s*,\s*([^)]+?)\s*\)/g,(O,V,N)=>{if(/^(['"]).*\1$/.test(N.trim()))return O;try{let A=$0(N.trim(),Z);if(A===void 0)return O;return j[V]=String(A??""),""}catch{return O}}),W=W.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@endsection|@show)/g,(O,V,N)=>{if(N.includes("@parent"))j[V]=N.replace("@parent",s1);else j[V]=N.trim();return""}),Z.__sections=j,W=W.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"](?:,\s*['"]([^'"]+)['"])?\)/g,(O,V,N)=>{return j[V]||N||""}),!("slot"in Z)||Z.slot===void 0)W=W.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""});if(W=g3(W,q),H){let O=[];if(W=W.replace(/<(script|style)\b[\s\S]*?<\/\1>/gi,(V)=>{return O.push(V),""}),O.length>0){let V=O.join(`
11014
11014
  `);j.content=j.content?`${j.content}
11015
- ${V}`:V,Z.__sections=j}}if(H)try{let O;if(y0.isAbsolute(H))O=H,Q.add(H);else O=await G1(()=>j7(H,X,G,Q),null,()=>{throw new o0(`Failed to resolve layout path: ${H}`,X,void 0,void 0,`Layout referenced from ${X}`)});if(!O){let T=`Layout not found: ${H} (referenced from ${X})`;if(T0.log(Error(T),{layoutPath:H,filePath:X},"warning"),G.debug)throw new o0(T,X);return W}let V=await G1(()=>Bun.file(O).text(),"",()=>{throw new o0(`Failed to read layout file: ${O}`,X,void 0,void 0,"Layout content could not be loaded")}),N=V.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(N){if(G.debug)console.log(`Found nested layout: ${N[1]} in ${O}`);let T={},I=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(k,P,S)=>{return T[P]=S.trim(),""});for(let[k,P]of Object.entries(T))if(j[k]&&j[k].includes(s1)){let S=j[k].indexOf(s1);j[k]=j[k].slice(0,S)+P+j[k].slice(S+s1.length)}else if(!j[k])j[k]=P;let E={...Z,__sections:j},D=`@layout('${N[1]}')${I}`;return await W0(D,E,O,G,Q)}let A=V.replace(/\{\{--[\s\S]*?--\}\}/g,""),w=f3(A,q),R={};return w=w.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(T,I,E)=>{return R[I]=E.trim(),`@slot('${I}')`}),w=w.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(T,I,E)=>{if(j[I]){let D=j[I];if(D.includes(s1)){let k=R[I]||"",P=D.indexOf(s1);D=D.slice(0,P)+k+D.slice(P+s1.length)}return D}return E||""}),w=Jj(w,j),w=w.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""}),w=g3(w,q),Z.__originalFilePath=X,W=await A9(w,Z,O,G,Q),W=`<!-- stx-layout: ${H} -->
11016
- ${W}`,_(W)}catch(O){return T0.log(O instanceof Error?O:Error(String(O)),{layoutPath:H,filePath:X},"error"),`[Error processing layout: ${O instanceof Error?O.message:String(O)}]`}return _(await A9(W,Z,X,G,Q))}function Jj($,Z){return $.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(X,Y,Q)=>{let J=Z[Y];if(J!==void 0){if(!new RegExp(`@(?:yield|slot)\\(\\s*['"]${Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}['"]`).test(J))return J}return Q||""})}function Qj($,Z){if($.__stx_sfc_mode=!0,$.__stx_options=Z,Z.buildMode)$.__stx_buildMode=Z.buildMode;let X=Z.envPrefix||"STX_PUBLIC_",Y={};for(let[Q,J]of Object.entries(process.env))if(Q.startsWith(X)&&J!==void 0)Y[Q]=J;$.$env=Y}async function Gj($,Z){await G1(()=>PJ($,Z),void 0,(X)=>{T0.log(X,{filePath:$,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed for ${$}: ${X.message}`)})}async function Kj($,Z,X){let Y=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,Q;while((Q=Y.exec($))!==null){let J=Q[1],G=Q[2];if(!/\bserver\b/.test(J)||!G.trim())continue;try{let{extractVariables:W}=await Promise.resolve().then(() => (A1(),x7));await W(G,Z,X,{preserveExisting:!0})}catch(W){let B=W instanceof Error?W:Error(String(W));T0.log(B,{filePath:X,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${X}: ${B.message}`)}}}async function Wj($,Z,X){try{let{interpolateScriptsInTemplate:Y}=await Promise.resolve().then(() => (M0(),E4));return Y($,Z,{skipServer:!0})}catch(Y){let Q=Y instanceof Error?Y:Error(String(Y));return T0.log(Q,{filePath:X,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${X}: ${Q.message}`),$}}async function A9($,Z,X,Y,Q){let J=$,G=Y;if(await Kj(J,Z,X),J=await Wj(J,Z,X),J=await RJ(J,Z,X),J=await MJ(J,Z,X),J=await FY(J,Z,X,G),Y$(J))J=J8(J,Z),J=G8(J,Z);J=Q8(J);let{processStreamDirectives:K}=await Promise.resolve().then(() => (D7(),$3));J=K(J,Z),J=P3(J,Z,X,G),J=await y7(J,Z,X,G,Q),J=await gJ(J,Z,X,G,Q),J=DZ(J,Z,X,G);let{processDeferDirectives:W}=await Promise.resolve().then(() => H2);J=W(J,Z,X);let{processTeleportDirectives:B}=await Promise.resolve().then(() => L2);J=B(J,Z,X);let{processTransitionDirectives:U,processTransitionAttributes:_}=await Promise.resolve().then(() => A2);J=U(J,Z,X),J=_(J);let{processErrorBoundaryDirectives:z}=await Promise.resolve().then(() => R2);J=z(J,Z,X);let{processSuspenseDirectives:q}=await Promise.resolve().then(() => M2);J=q(J,Z,X);let{processAsyncDirectives:j}=await Promise.resolve().then(() => D2);J=j(J,Z,X);let{processKeepAliveDirectives:H}=await Promise.resolve().then(() => S2);J=H(J,Z,X);let{processVirtualListDirectives:L,processVirtualGridDirectives:F,processInfiniteListDirectives:O}=await Promise.resolve().then(() => (L8(),x2));J=L(J,Z,X),J=F(J,Z,X),J=O(J,Z,X);let{processPartialHydrationDirectives:V,processStaticDirectives:N}=await Promise.resolve().then(() => (F8(),s2));J=V(J,Z,X),J=N(J);let{processComputedDirectives:A,processWatchDirectives:w}=await Promise.resolve().then(() => (K9(),G9));J=A(J,Z,X),J=w(J,Z,X);let{processFormValidationDirectives:R}=await Promise.resolve().then(() => (z9(),_9));J=R(J,Z,X);let{processHeadDirective:T,processTitleDirective:I,processMetaDirective:E,resetHead:D}=await Promise.resolve().then(() => (c1(),m6));if(!Z.__stx_head_preset&&!Z.__stx_runtime_head)D();let k=T(J);if(J=k.content,k.headContent)Z.__stx_head_raw=`${Z.__stx_head_raw||""}${k.headContent}
11015
+ ${V}`:V,Z.__sections=j}}if(H)try{let O;if(y0.isAbsolute(H))O=H,Q.add(H);else O=await G1(()=>j7(H,X,G,Q),null,()=>{throw new o0(`Failed to resolve layout path: ${H}`,X,void 0,void 0,`Layout referenced from ${X}`)});if(!O){let T=`Layout not found: ${H} (referenced from ${X})`;if(I0.log(Error(T),{layoutPath:H,filePath:X},"warning"),G.debug)throw new o0(T,X);return W}let V=await G1(()=>Bun.file(O).text(),"",()=>{throw new o0(`Failed to read layout file: ${O}`,X,void 0,void 0,"Layout content could not be loaded")}),N=V.match(/@(?:layout|extends)\(\s*['"]([^'"]+)['"]\s*\)/);if(N){if(G.debug)console.log(`Found nested layout: ${N[1]} in ${O}`);let T={},I=V.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(k,P,S)=>{return T[P]=S.trim(),""});for(let[k,P]of Object.entries(T))if(j[k]&&j[k].includes(s1)){let S=j[k].indexOf(s1);j[k]=j[k].slice(0,S)+P+j[k].slice(S+s1.length)}else if(!j[k])j[k]=P;let E={...Z,__sections:j},D=`@layout('${N[1]}')${I}`;return await W0(D,E,O,G,Q)}let A=V.replace(/\{\{--[\s\S]*?--\}\}/g,""),w=f3(A,q),R={};return w=w.replace(/@section\(\s*['"]([^'"]+)['"]\s*\)([\s\S]*?)(?:@show|@endsection)/g,(T,I,E)=>{return R[I]=E.trim(),`@slot('${I}')`}),w=w.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(T,I,E)=>{if(j[I]){let D=j[I];if(D.includes(s1)){let k=R[I]||"",P=D.indexOf(s1);D=D.slice(0,P)+k+D.slice(P+s1.length)}return D}return E||""}),w=Jj(w,j),w=w.replace(/\{\{\s*slot\s*\}\}/g,()=>{return j.content||""}),w=g3(w,q),Z.__originalFilePath=X,W=await A9(w,Z,O,G,Q),W=`<!-- stx-layout: ${H} -->
11016
+ ${W}`,_(W)}catch(O){return I0.log(O instanceof Error?O:Error(String(O)),{layoutPath:H,filePath:X},"error"),`[Error processing layout: ${O instanceof Error?O.message:String(O)}]`}return _(await A9(W,Z,X,G,Q))}function Jj($,Z){return $.replace(/@(?:yield|slot)\(\s*['"]([^'"]+)['"]\s*(?:,\s*['"]([^'"]+)['"]\s*)?\)/g,(X,Y,Q)=>{let J=Z[Y];if(J!==void 0){if(!new RegExp(`@(?:yield|slot)\\(\\s*['"]${Y.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}['"]`).test(J))return J}return Q||""})}function Qj($,Z){if($.__stx_sfc_mode=!0,$.__stx_options=Z,Z.buildMode)$.__stx_buildMode=Z.buildMode;let X=Z.envPrefix||"STX_PUBLIC_",Y={};for(let[Q,J]of Object.entries(process.env))if(Q.startsWith(X)&&J!==void 0)Y[Q]=J;$.$env=Y}async function Gj($,Z){await G1(()=>PJ($,Z),void 0,(X)=>{I0.log(X,{filePath:$,phase:"view-composer"},"warning"),console.warn(`[stx] view composer failed for ${$}: ${X.message}`)})}async function Kj($,Z,X){let Y=/<script\b([^>]*)>([\s\S]*?)<\/script>/gi,Q;while((Q=Y.exec($))!==null){let J=Q[1],G=Q[2];if(!/\bserver\b/.test(J)||!G.trim())continue;try{let{extractVariables:W}=await Promise.resolve().then(() => (A1(),x7));await W(G,Z,X,{preserveExisting:!0})}catch(W){let B=W instanceof Error?W:Error(String(W));I0.log(B,{filePath:X,phase:"server-script-extraction"},"warning"),console.warn(`[stx] server <script> extraction failed in ${X}: ${B.message}`)}}}async function Wj($,Z,X){try{let{interpolateScriptsInTemplate:Y}=await Promise.resolve().then(() => (T0(),E4));return Y($,Z,{skipServer:!0})}catch(Y){let Q=Y instanceof Error?Y:Error(String(Y));return I0.log(Q,{filePath:X,phase:"script-expression-interpolation"},"warning"),console.warn(`[stx] script expression interpolation failed in ${X}: ${Q.message}`),$}}async function A9($,Z,X,Y,Q){let J=$,G=Y;if(await Kj(J,Z,X),J=await Wj(J,Z,X),J=await RJ(J,Z,X),J=await MJ(J,Z,X),J=await FY(J,Z,X,G),Y$(J))J=J8(J,Z),J=G8(J,Z);J=Q8(J);let{processStreamDirectives:K}=await Promise.resolve().then(() => (D7(),$3));J=K(J,Z),J=P3(J,Z,X,G),J=await y7(J,Z,X,G,Q),J=await gJ(J,Z,X,G,Q),J=DZ(J,Z,X,G);let{processDeferDirectives:W}=await Promise.resolve().then(() => H2);J=W(J,Z,X);let{processTeleportDirectives:B}=await Promise.resolve().then(() => L2);J=B(J,Z,X);let{processTransitionDirectives:U,processTransitionAttributes:_}=await Promise.resolve().then(() => A2);J=U(J,Z,X),J=_(J);let{processErrorBoundaryDirectives:z}=await Promise.resolve().then(() => R2);J=z(J,Z,X);let{processSuspenseDirectives:q}=await Promise.resolve().then(() => M2);J=q(J,Z,X);let{processAsyncDirectives:j}=await Promise.resolve().then(() => D2);J=j(J,Z,X);let{processKeepAliveDirectives:H}=await Promise.resolve().then(() => S2);J=H(J,Z,X);let{processVirtualListDirectives:L,processVirtualGridDirectives:F,processInfiniteListDirectives:O}=await Promise.resolve().then(() => (L8(),x2));J=L(J,Z,X),J=F(J,Z,X),J=O(J,Z,X);let{processPartialHydrationDirectives:V,processStaticDirectives:N}=await Promise.resolve().then(() => (F8(),s2));J=V(J,Z,X),J=N(J);let{processComputedDirectives:A,processWatchDirectives:w}=await Promise.resolve().then(() => (K9(),G9));J=A(J,Z,X),J=w(J,Z,X);let{processFormValidationDirectives:R}=await Promise.resolve().then(() => (z9(),_9));J=R(J,Z,X);let{processHeadDirective:T,processTitleDirective:I,processMetaDirective:E,resetHead:D}=await Promise.resolve().then(() => (c1(),m6));if(!Z.__stx_head_preset&&!Z.__stx_runtime_head)D();let k=T(J);if(J=k.content,k.headContent)Z.__stx_head_raw=`${Z.__stx_head_raw||""}${k.headContent}
11017
11017
  `;if(J=I(J,Z),J=E(J,Z),J=CJ(J),J=v6(J,Z),J=OY(J),J=EJ(J),J=await v3(J,Z,X,G,Q),J=await y7(J,Z,X,G,Q),J=J.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/g,""),J=_8(J),J=u1(J,Z,X),J=f6(J,Z),J=g6(J,Z),J=I7(J,Z),J=RY(J,Z),J=MY(J,Z),J=await QY(J,Z,X,G),J=await fZ(J,Z,X),J=await DY(J,Z,X,G),J=AZ(J,Z,X,G),J=TX(J,Z,X,G),J=IX(J,Z,X),J=EX(J,Z,X,G),J=jY(J,Z,X,G),J=U8(J,Z),J=B8(J),J=U2(J),!G.skipEventDirectives)J=eX(J,Z,X);if(J=YY(J,Z,X),G.debug){let v=/\bx-data\s*=/.test(J),h=J4($);if(v&&h)console.warn(`[stx] ${X}: Template mixes Alpine-style (x-data) and signals (state/derived/effect) reactivity.
11018
11018
  Both work on the same page, but they manage separate scopes.
11019
- Prefer signals (state/derived/effect) for new components.`)}J=u3(J,Z),J=await l0(J,Z,X),J=B2(J),J=_2(J),J=iX(J);let{processXElementDirectives:P}=await Promise.resolve().then(() => H9);J=P(J);let S=Z.__originalFilePath||X,C=Z$(Z);if(J=await K8(J,G,S,C),J=await SJ(J,Z,X,G),G.media?.image?.autoSiblings){let v=G.publicDir||"public",{rewriteImagesWithSiblings:h}=await Promise.resolve().then(() => (N4(),l8));J=await h(J,{publicDir:v})}if(G.seo?.enabled)J=DX(J,Z,G);let y=(v,h)=>{if(!h)return v;if(/<\/head>/i.test(v))return v.replace(/<\/head>/i,`${h}
11019
+ Prefer signals (state/derived/effect) for new components.`)}J=u3(J,Z),J=await l0(J,Z,X),J=B2(J),J=_2(J),J=iX(J);let{processXElementDirectives:P}=await Promise.resolve().then(() => H9);J=P(J);let S=Z.__originalFilePath||X,b=Z$(Z);if(J=await K8(J,G,S,b),J=await SJ(J,Z,X,G),G.media?.image?.autoSiblings){let v=G.publicDir||"public",{rewriteImagesWithSiblings:h}=await Promise.resolve().then(() => (N4(),l8));J=await h(J,{publicDir:v})}if(G.seo?.enabled)J=DX(J,Z,G);let y=(v,h)=>{if(!h)return v;if(/<\/head>/i.test(v))return v.replace(/<\/head>/i,`${h}
11020
11020
  </head>`);if(/<head\b[^>]*>/i.test(v))return v.replace(/(<head\b[^>]*>)/i,`$1
11021
11021
  ${h}`);if(/<html\b[^>]*>/i.test(v))return v.replace(/(<html\b[^>]*>)/i,`$1
11022
11022
  <head>
11023
11023
  ${h}
11024
11024
  </head>`);return v},{renderHead:u,getHead:f}=await Promise.resolve().then(() => (c1(),m6)),m=Z.__stx_runtime_head,r=m&&(m.title||m.meta?.length||m.link?.length)?m:f();if(r.title||r.meta?.length||r.link?.length){let v=u(r);if(v)J=y(J,v)}if(k.headContent)J=y(J,k.headContent);if(G.csp?.enabled&&G.csp.addMetaTag)J=qY(J,G.csp,Z);if(G.analytics?.enabled)J=nX(J,G);if(G.heatmap?.enabled)J=PZ(J,G);if(G.pwa?.enabled&&G.pwa.autoInject!==!1){let{injectPwaTags:v}=await Promise.resolve().then(() => (V9(),F9));J=v(J,G)}let R0=/<script\b(?![^>]*\bserver\b)[^>]*>[\s\S]*?<\/script>/i.test(J),Z1=/\bSTX\.\w+/.test(J),x0=/window\.STX\s*=/.test(J);if(R0&&Z1&&!x0){let h=`<script data-stx-scoped>
11025
11025
  ${mX()}
11026
- </script>`;if(J.includes("</head>")){let p=J.indexOf("</head>"),K0=J.slice(0,p).indexOf("<script");if(K0!==-1){let S0=J.slice(0,K0),v0=J.slice(K0);J=S0+h+`
11026
+ </script>`;if(J.includes("</head>")){let p=J.indexOf("</head>"),K0=J.slice(0,p).indexOf("<script");if(K0!==-1){let M0=J.slice(0,K0),v0=J.slice(K0);J=M0+h+`
11027
11027
  `+v0}else J=J.replace("</head>",`${h}
11028
11028
  </head>`)}else if(J.includes("<body"))J=J.replace(/<body([^>]*)>/,`<body$1>
11029
11029
  ${h}`);else J=h+`
11030
- `+J}{let v=/<script\s+server\b[^>]*>/gi,h,p=[];while((h=v.exec(J))!==null){let s=h.index+h[0].length,K0=Xj(J,s);if(K0===-1)continue;let S0=K0+9;while(S0<J.length&&/\s/.test(J[S0]))S0++;p.push({start:h.index,end:S0})}for(let s=p.length-1;s>=0;s--){let{start:K0,end:S0}=p[s];J=J.substring(0,K0)+J.substring(S0)}}let k0=u7(J,X);if(k0.hasScoped)J=k0.html;let e=Z.__stx_event_bindings||[],V0=!1,z0=[],b=/\s:[a-z][\w.-]*\s*=/.test(J),{scanScriptTags:x}=await Promise.resolve().then(() => (W8(),J2));for(let v of x(J,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))z0.push({match:v.fullMatch,attrs:v.attrs,content:v.body});for(let{match:v,attrs:h,content:p}of z0){V0=!0;let s=p;q8(p,X,Y.strict);let K0=await X$(p,{eventBindings:e,attrs:h,hasColonDirectives:b,templateContent:$,filePath:X,projectRoot:process.cwd(),production:Y.buildMode==="compile",serverData:C});J=J.replace(v,()=>K0)}if(V0)Z.__stx_event_bindings=[];return J}var s1="<!--PARENT_CONTENT_PLACEHOLDER-->";var n0=M(()=>{B$();d5();u5();pX();k6();S6();p5();m5();C6();C1();JY();_$();A7();h6();LY();u6();g0();c1();M0();p6();a6();O$();IJ();h7();c5();d3();y1();bJ();q7();J0();yJ();m3();p3();c3();m7();W8();S3();W2();z8();j8();L0();X3();z8();j8()});var w9=()=>{};var E9={};o(E9,{renderSlot:()=>M9,processSlots:()=>I9,parseSlots:()=>R9,parseSlotElement:()=>Bj,extractSlotContent:()=>qj,applySlots:()=>jj});function Uj($,Z){let X=1,Y=Z,Q="<template",J="</template";while(Y<$.length&&X>0){let G=$.indexOf("<",Y);if(G===-1)break;if(Y=G,$.startsWith(Q,Y)&&(Y+Q.length>=$.length||/[\s>\/]/.test($[Y+Q.length]))){X++,Y+=Q.length;continue}if($.startsWith(J,Y)){let K=$.indexOf(">",Y+J.length);if(K!==-1){if(X--,X===0)return K+1;Y=K+1;continue}}Y++}return X===0?Y:-1}function R9($){let Z={default:"",named:new Map},X=$,Y=/<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>/gi,Q=[],J;while((J=Y.exec($))!==null){let[U,_,z,q,j]=J,H=_||z||q,L=J.index+U.length,F=Uj($,L);if(F!==-1){let O=$.slice(L,F-11).trim();Q.push({start:J.index,end:F,slotName:H,content:O,propsBinding:j||void 0}),Z.named.set(H,{name:H,content:O,propsBinding:j||void 0})}}Q.sort((U,_)=>_.start-U.start);for(let U of Q)X=X.slice(0,U.start)+X.slice(U.end);let G=[],K=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,W;while((W=K.exec(X))!==null){let[U,_,z,q,j,H]=W,L=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),F=j.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),O=(L+F).trim(),V=`<${_}${O?" "+O:""}>${H}</${_}>`;G.push({start:W.index,end:W.index+U.length,slotName:q,element:V})}let B=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((W=B.exec(X))!==null){let[U,_,z,q,j]=W,H=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),L=j.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),F=(H+L).trim(),O=`<${_}${F?" "+F:""} />`;G.push({start:W.index,end:W.index+U.length,slotName:q,element:O})}G.sort((U,_)=>_.start-U.start);for(let U of G){let _=Z.named.get(U.slotName);if(_)_.content+=U.element;else Z.named.set(U.slotName,{name:U.slotName,content:U.element});X=X.slice(0,U.start)+X.slice(U.end)}return Z.default=X.trim(),Z}function Bj($){let Z=$.match(/name\s*=\s*["']([^"']+)["']/),X=Z?Z[1]:"",Y={},Q=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,J;while((J=Q.exec($))!==null)Y[J[1]]=J[2];let G=$.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),K=G?G[1].trim():"";return{name:X,props:Y,defaultContent:K}}async function M9($,Z,X,Y){if(!$)return X;let Q=$.content;if($.propsBinding&&Object.keys(Z).length>0){let J=$.propsBinding.trim(),G={...Y};if(J.startsWith("{")&&J.endsWith("}")){let K=J.slice(1,-1).split(",").map((W)=>W.trim()).filter(Boolean);for(let W of K){let[B,U]=W.split(":").map((z)=>z.trim()),_=U||B;if(Z[B]!==void 0)G[_]=Z[B]}}else G[J]=Z;Q=_j(Q,G)}return Q}function _j($,Z){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(X,Y)=>{try{let Q=Y.trim(),J=T9(Q,Z);return j0(String(J??""))}catch{return`{{ ${Y} }}`}})}function T9($,Z){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test($)){let Y=$.split("."),Q=Z;for(let J of Y)if(Q&&typeof Q==="object"&&J in Q)Q=Q[J];else return;return Q}let X=$.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(X){let[,Y,Q,J]=X,G=Z[Y],K=parseInt(J,10);if(typeof G==="number")switch(Q){case"+":return G+K;case"-":return G-K;case"*":return G*K;case"/":return G/K}}try{if(!Z0($))return;return X0($,Object.keys(Z))(...Object.values(Z))}catch{return}}async function I9($,Z,X){let Y=$;Y=await zj(Y,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(G,K,W,B)=>{let U=Z.named.get(K),_=B?.trim()||"",z=W||"",q={},j=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,H;while((H=j.exec(z))!==null){let L=H[1],F=H[2];q[L]=T9(F,X)}return await M9(U,q,_,X)});let J=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return Y=Y.replace(J,(G,K)=>{if(G.includes("name="))return G;let W=K?.trim()||"";return Z.default||W}),Y}async function zj($,Z,X){let Y=[],Q=[];$.replace(Z,(K,...W)=>{let B=W[W.length-2];return Q.push({match:K,index:B}),Y.push(X(K,...W.slice(0,-2))),K});let J=await Promise.all(Y),G=$;for(let K=Q.length-1;K>=0;K--){let{match:W,index:B}=Q[K];G=G.slice(0,B)+J[K]+G.slice(B+W.length)}return G}function qj($){let Z=R9($);return{defaultSlot:Z.default,namedSlots:Z.named}}async function jj($,Z,X,Y){return await I9($,{default:Z,named:X},Y)}var A8=M(()=>{M0();L0()});import Hj from"fs";import d from"path";function D9($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Lj($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function b1($){return!Lj($)}function P1($){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 X=[];Z=Z.replace(/\{!![\s\S]*?!!\}/g,(J)=>{let G=X.length;return X.push(J),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{\{[\s\S]*?\}\}\}/g,(J)=>{let G=X.length;return X.push(J),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{[\s\S]*?\}\}/g,(J)=>{let G=X.length;return X.push(J),`"__STX_EXPR_${G}__"`});let Q=new Bun.Transpiler({loader:"ts",target:"browser",define:c0()}).transformSync(Z);for(let J=0;J<X.length;J++)Q=Q.replace(`"__STX_EXPR_${J}__"`,X[J]),Q=Q.replace(`'__STX_EXPR_${J}__'`,X[J]);return Q}catch(Z){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",Z);return $}}function Fj($){let Z=[],X=new Set,Y=0,Q=0,J=$.length,G=(U)=>{Q++;while(Q<J){if($[Q]==="\\"){Q+=2;continue}if($[Q]===U){Q++;return}Q++}},K=()=>{Q++;while(Q<J){if($[Q]==="\\"){Q+=2;continue}if($[Q]==="`"){Q++;return}if($[Q]==="$"&&$[Q+1]==="{"){Q+=2;let U=1;while(Q<J&&U>0)if($[Q]==="{")U++,Q++;else if($[Q]==="}")U--,Q++;else if($[Q]==="'"||$[Q]==='"')G($[Q]);else if($[Q]==="`")K();else Q++;continue}Q++}},W=()=>{if($[Q]==="/"&&$[Q+1]==="/"){while(Q<J&&$[Q]!==`
11031
- `)Q++;return!0}if($[Q]==="/"&&$[Q+1]==="*"){Q+=2;while(Q<J-1&&!($[Q]==="*"&&$[Q+1]==="/"))Q++;return Q+=2,!0}return!1},B=()=>{if(Y!==0)return;let U=$.slice(Q).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(U){let j=U[2].split(",").map((H)=>{let L=H.trim().split(":");return L[L.length-1].trim()});for(let H of j)if(H&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(H)&&!X.has(H))Z.push(H),X.add(H);return}let _=$.slice(Q).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(_){let j=_[2];if(!X.has(j))Z.push(j),X.add(j);return}let z=$.slice(Q).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let j=z[1];if(!X.has(j))Z.push(j),X.add(j);return}let q=$.slice(Q).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(q){let j=q[1];if(!X.has(j))Z.push(j),X.add(j)}};while(Q<J){if(W())continue;if($[Q]==="'"||$[Q]==='"'){G($[Q]);continue}if($[Q]==="`"){K();continue}if($[Q]==="{"){Y++,Q++;continue}if($[Q]==="}"){Y--,Q++;continue}if(Y===0&&/[a-z]/i.test($[Q])&&(Q===0||/\s|[;{}()]/.test($[Q-1])))B();Q++}return Z}function Vj($){let Z=[],X=0,Y=0,Q=null;for(let J=0;J<$.length;J++){let G=$[J];if(Q){if(G==="\\"){J++;continue}if(G===Q)Q=null;continue}if(G==='"'||G==="'"||G==="`"){Q=G;continue}if(G==="("||G==="["||G==="{")X++;else if(G===")"||G==="]"||G==="}")X--;else if(G===","&&X===0)Z.push($.slice(Y,J)),Y=J+1}if(Y<$.length)Z.push($.slice(Y));return Z}function Nj($){let Z=0,X=null;for(let Y=0;Y<$.length;Y++){let Q=$[Y];if(X){if(Q==="\\"){Y++;continue}if(Q===X)X=null;continue}if(Q==='"'||Q==="'"||Q==="`"){X=Q;continue}if(Q==="("||Q==="["||Q==="{")Z++;else if(Q===")"||Q==="]"||Q==="}")Z--;else if(Q==="="&&Z===0){let J=$[Y-1],G=$[Y+1];if(J==="!"||J==="<"||J===">"||J==="=")continue;if(G==="="||G===">")continue;return Y}}return-1}function Aj($,Z){try{let X=/=\s*(?:withDefaults\s*\([\s\S]*?defineProps|defineProps)\b/.exec($);if(!X)return;let Y=X.index-1;while(Y>=0&&/\s/.test($[Y]))Y--;if($[Y]!=="}")return;let Q=Y,J=0,G=-1;for(;Y>=0;Y--){let W=$[Y];if(W==="}")J++;else if(W==="{"){if(J--,J===0){G=Y;break}}}if(G===-1)return;let K=$.slice(G+1,Q);for(let W of Vj(K)){let B=W.trim();if(!B||B.startsWith("..."))continue;let U=Nj(B);if(U===-1)continue;let _=B.slice(0,U).trim();if(!/^[A-Z_$][\w$]*$/i.test(_))continue;if(Z[_]!==void 0)continue;let z=B.slice(U+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 YJ($,Z,X,Y,Q){let J=$.endsWith(".stx")?$.slice(0,-4):$,G=(L)=>L.split("-").map((F)=>F.charAt(0).toUpperCase()+F.slice(1)).join(""),K=(L)=>L.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),W=X.__importedComponents;if(W){for(let L of[J,J.toLowerCase(),G(J),K(J)])if(W.has(L))return!0}let B=[...new Set([`${J}.stx`,`${G(J)}.stx`,`${K(J)}.stx`])],U=typeof Q.root==="string"?d.resolve(Q.root):void 0,_=U??d.dirname(Y),z=[],q=(L)=>{if(L&&!z.includes(L))z.push(L)},j=X.__originalFilePath;if(j)q(d.join(d.dirname(j),"components"));q(Z),q(d.join(d.dirname(Y),"components")),q(Q.componentsDir);let H=Q._pluginComponentDirs;if(Array.isArray(H))for(let L of H)q(typeof L==="string"?L:null);if(U)q(d.resolve(U,"resources/views/components")),q(d.resolve(U,"resources/components")),q(d.resolve(U,"src/components")),q(d.resolve(U,"components"));if(J.startsWith("./")||J.startsWith("../"))return c(d.resolve(d.dirname(Y),`${J}.stx`));for(let L of z){let F=d.isAbsolute(L)?L:d.resolve(_,L);for(let O of B)if(await c(d.join(F,O)))return!0}return!1}function wj($){return $==="visible"||$==="idle"||$==="interaction"||$.startsWith("media:")}async function N1($,Z,X,Y,Q,J,G,K=new Set,W){let{extractVariables:B}=await Promise.resolve().then(() => (A1(),x7)),U=K??new Set;if(U.has($))return`[Circular component reference: ${$}]`;let _=new Set(U);_.add($);let z=typeof Z.client==="string"?Z.client.trim():"";if("client"in Z)delete Z.client;let q=z&&z!=="load"&&wj(z)?z:"";try{let j=(b)=>b.split("-").map((x)=>x.charAt(0).toUpperCase()+x.slice(1)).join(""),H=(b)=>b.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),L=$.endsWith(".stx")?$.slice(0,-4):$,F=null,O=Q.__importedComponents;if(O){let b=[L,L.toLowerCase(),j(L),H(L)];for(let x of b)if(O.has(x)){F=O.get(x);break}}let V=[];if(!F){let b=[`${L}.stx`,`${j(L)}.stx`,`${H(L)}.stx`],x=[...new Set(b)],v=Q.__originalFilePath,h=[];if(v){let _0=d.join(d.dirname(v),"components");h.push(_0)}if(Y)h.push(Y);let p=d.join(d.dirname(J),"components");if(!h.includes(p))h.push(p);if(G.componentsDir&&G.componentsDir!==Y&&!h.includes(G.componentsDir))h.push(G.componentsDir);let s=G._pluginComponentDirs;if(Array.isArray(s)){for(let _0 of s)if(typeof _0==="string"&&!h.includes(_0))h.push(_0)}let K0=typeof G.root==="string"?d.resolve(G.root):void 0,S0=K0??d.dirname(J),v0=[];if(K0)v0.push(d.resolve(K0,"resources/views/components")),v0.push(d.resolve(K0,"resources/components")),v0.push(d.resolve(K0,"src/components")),v0.push(d.resolve(K0,"components"));v0.push(d.resolve(import.meta.dir,"components"));for(let _0 of v0)if(!h.includes(_0))h.push(_0);let I1=[...new Set(h.map((_0)=>{if(!_0)return _0;return d.isAbsolute(_0)?_0:d.resolve(S0,_0)}))];if(h.length=0,h.push(...I1),L.startsWith("./")||L.startsWith("../"))F=d.resolve(d.dirname(J),`${L}.stx`),V.push(F);else for(let _0 of h){if(!_0)continue;for(let E1 of x){let T$=d.join(_0,E1);if(V.push(T$),await c(T$)){F=T$;break}}if(F)break;if(!F)try{let E1=await import("fs");if(!E1.statSync(_0,{throwIfNoEntry:!1})?.isDirectory())continue;let E5=8,t=[{path:_0,depth:0}];while(t.length>0&&!F){let s0=t.pop();if(s0.depth>=E5)continue;let z4;try{z4=E1.readdirSync(s0.path,{withFileTypes:!0})}catch{continue}for(let D5 of z4){if(!D5.isDirectory())continue;if(D5.name==="node_modules"||D5.name.startsWith("."))continue;let g8=d.join(s0.path,D5.name);for(let rQ of x){let q4=d.join(g8,rQ);if(V.push(q4),await c(q4)){F=q4;break}}if(F)break;t.push({path:g8,depth:s0.depth+1})}}}catch{}if(F)break}}if(!F||!await c(F)){let b=V.length>0?`
11030
+ `+J}{let v=/<script\s+server\b[^>]*>/gi,h,p=[];while((h=v.exec(J))!==null){let s=h.index+h[0].length,K0=Xj(J,s);if(K0===-1)continue;let M0=K0+9;while(M0<J.length&&/\s/.test(J[M0]))M0++;p.push({start:h.index,end:M0}),v.lastIndex=M0}for(let s=p.length-1;s>=0;s--){let{start:K0,end:M0}=p[s];J=J.substring(0,K0)+J.substring(M0)}}let S0=u7(J,X);if(S0.hasScoped)J=S0.html;let e=Z.__stx_event_bindings||[],V0=!1,z0=[],C=/\s:[a-z][\w.-]*\s*=/.test(J),{scanScriptTags:x}=await Promise.resolve().then(() => (W8(),J2));for(let v of x(J,{skipAttrs:/\bserver\b|\bsrc\s*=|\bdata-stx-scoped\b|\bdata-stx-router\b|\btype\s*=\s*["'](?!(?:text\/javascript|application\/javascript|module)["'])[^"']*["']/}))z0.push({match:v.fullMatch,attrs:v.attrs,content:v.body});for(let{match:v,attrs:h,content:p}of z0){V0=!0;let s=p;q8(p,X,Y.strict);let K0=await X$(p,{eventBindings:e,attrs:h,hasColonDirectives:C,templateContent:$,filePath:X,projectRoot:process.cwd(),production:Y.buildMode==="compile",serverData:b});J=J.replace(v,()=>K0)}if(V0)Z.__stx_event_bindings=[];return J}var s1="<!--PARENT_CONTENT_PLACEHOLDER-->";var n0=M(()=>{B$();d5();u5();pX();k6();S6();p5();m5();C6();C1();JY();_$();A7();h6();LY();u6();g0();c1();T0();p6();a6();O$();IJ();h7();c5();d3();y1();bJ();q7();J0();yJ();m3();p3();c3();m7();W8();S3();W2();z8();j8();L0();X3();z8();j8()});var w9=()=>{};var E9={};o(E9,{renderSlot:()=>M9,processSlots:()=>I9,parseSlots:()=>R9,parseSlotElement:()=>Bj,extractSlotContent:()=>qj,applySlots:()=>jj});function Uj($,Z){let X=1,Y=Z,Q="<template",J="</template";while(Y<$.length&&X>0){let G=$.indexOf("<",Y);if(G===-1)break;if(Y=G,$.startsWith(Q,Y)&&(Y+Q.length>=$.length||/[\s>\/]/.test($[Y+Q.length]))){X++,Y+=Q.length;continue}if($.startsWith(J,Y)){let K=$.indexOf(">",Y+J.length);if(K!==-1){if(X--,X===0)return K+1;Y=K+1;continue}}Y++}return X===0?Y:-1}function R9($){let Z={default:"",named:new Map},X=$,Y=/<template\s+(?:#([a-zA-Z][\w-]*)|v-slot:([a-zA-Z][\w-]*)|slot="([a-zA-Z][\w-]*)")(?:\s*=\s*"([^"]*)")?[^>]*>/gi,Q=[],J;while((J=Y.exec($))!==null){let[U,_,z,q,j]=J,H=_||z||q,L=J.index+U.length,F=Uj($,L);if(F!==-1){let O=$.slice(L,F-11).trim();Q.push({start:J.index,end:F,slotName:H,content:O,propsBinding:j||void 0}),Z.named.set(H,{name:H,content:O,propsBinding:j||void 0})}}Q.sort((U,_)=>_.start-U.start);for(let U of Q)X=X.slice(0,U.start)+X.slice(U.end);let G=[],K=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*)>([\s\S]*?)<\/\1>/gi,W;while((W=K.exec(X))!==null){let[U,_,z,q,j,H]=W,L=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),F=j.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),O=(L+F).trim(),V=`<${_}${O?" "+O:""}>${H}</${_}>`;G.push({start:W.index,end:W.index+U.length,slotName:q,element:V})}let B=/<([a-zA-Z][a-zA-Z0-9-]*)\b([^>]*?)\bslot="([^"]+)"([^>]*?)\/>/gi;while((W=B.exec(X))!==null){let[U,_,z,q,j]=W,H=z.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),L=j.replace(/\s*slot="[^"]*"\s*/," ").trimEnd(),F=(H+L).trim(),O=`<${_}${F?" "+F:""} />`;G.push({start:W.index,end:W.index+U.length,slotName:q,element:O})}G.sort((U,_)=>_.start-U.start);for(let U of G){let _=Z.named.get(U.slotName);if(_)_.content+=U.element;else Z.named.set(U.slotName,{name:U.slotName,content:U.element});X=X.slice(0,U.start)+X.slice(U.end)}return Z.default=X.trim(),Z}function Bj($){let Z=$.match(/name\s*=\s*["']([^"']+)["']/),X=Z?Z[1]:"",Y={},Q=/:([a-zA-Z][\w-]*)\s*=\s*["']([^"']+)["']/g,J;while((J=Q.exec($))!==null)Y[J[1]]=J[2];let G=$.match(/<slot[^>]*>([\s\S]*?)<\/slot>/i),K=G?G[1].trim():"";return{name:X,props:Y,defaultContent:K}}async function M9($,Z,X,Y){if(!$)return X;let Q=$.content;if($.propsBinding&&Object.keys(Z).length>0){let J=$.propsBinding.trim(),G={...Y};if(J.startsWith("{")&&J.endsWith("}")){let K=J.slice(1,-1).split(",").map((W)=>W.trim()).filter(Boolean);for(let W of K){let[B,U]=W.split(":").map((z)=>z.trim()),_=U||B;if(Z[B]!==void 0)G[_]=Z[B]}}else G[J]=Z;Q=_j(Q,G)}return Q}function _j($,Z){return $.replace(/\{\{\s*([^}]+)\s*\}\}/g,(X,Y)=>{try{let Q=Y.trim(),J=T9(Q,Z);return j0(String(J??""))}catch{return`{{ ${Y} }}`}})}function T9($,Z){if(/^[a-zA-Z_$][\w$]*(\.[a-zA-Z_$][\w$]*)*$/.test($)){let Y=$.split("."),Q=Z;for(let J of Y)if(Q&&typeof Q==="object"&&J in Q)Q=Q[J];else return;return Q}let X=$.match(/^([a-zA-Z_$][\w$]*)\s*([+\-*/])\s*(\d+)$/);if(X){let[,Y,Q,J]=X,G=Z[Y],K=parseInt(J,10);if(typeof G==="number")switch(Q){case"+":return G+K;case"-":return G-K;case"*":return G*K;case"/":return G/K}}try{if(!Z0($))return;return X0($,Object.keys(Z))(...Object.values(Z))}catch{return}}async function I9($,Z,X){let Y=$;Y=await zj(Y,/<slot\s+name\s*=\s*["']([^"']+)["']([^>]*?)(?:\/>|>([\s\S]*?)<\/slot>)/gi,async(G,K,W,B)=>{let U=Z.named.get(K),_=B?.trim()||"",z=W||"",q={},j=/:([a-zA-Z_$][\w$-]*)\s*=\s*["']([^"']+)["']/g,H;while((H=j.exec(z))!==null){let L=H[1],F=H[2];q[L]=T9(F,X)}return await M9(U,q,_,X)});let J=/<slot\s*(?:\/>|>([\s\S]*?)<\/slot>)/gi;return Y=Y.replace(J,(G,K)=>{if(G.includes("name="))return G;let W=K?.trim()||"";return Z.default||W}),Y}async function zj($,Z,X){let Y=[],Q=[];$.replace(Z,(K,...W)=>{let B=W[W.length-2];return Q.push({match:K,index:B}),Y.push(X(K,...W.slice(0,-2))),K});let J=await Promise.all(Y),G=$;for(let K=Q.length-1;K>=0;K--){let{match:W,index:B}=Q[K];G=G.slice(0,B)+J[K]+G.slice(B+W.length)}return G}function qj($){let Z=R9($);return{defaultSlot:Z.default,namedSlots:Z.named}}async function jj($,Z,X,Y){return await I9($,{default:Z,named:X},Y)}var A8=M(()=>{T0();L0()});import Hj from"fs";import d from"path";function D9($){return $.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Lj($){return/\bjs\b/.test($)||/\blang\s*=\s*["']?(js|javascript)["']?/i.test($)}function b1($){return!Lj($)}function P1($){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 X=[];Z=Z.replace(/\{!![\s\S]*?!!\}/g,(J)=>{let G=X.length;return X.push(J),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{\{[\s\S]*?\}\}\}/g,(J)=>{let G=X.length;return X.push(J),`"__STX_EXPR_${G}__"`}),Z=Z.replace(/\{\{[\s\S]*?\}\}/g,(J)=>{let G=X.length;return X.push(J),`"__STX_EXPR_${G}__"`});let Q=new Bun.Transpiler({loader:"ts",target:"browser",define:c0()}).transformSync(Z);for(let J=0;J<X.length;J++)Q=Q.replace(`"__STX_EXPR_${J}__"`,X[J]),Q=Q.replace(`'__STX_EXPR_${J}__'`,X[J]);return Q}catch(Z){if(process.env.STX_DEBUG_TS)console.warn("[STX] TypeScript transpilation error:",Z);return $}}function Fj($){let Z=[],X=new Set,Y=0,Q=0,J=$.length,G=(U)=>{Q++;while(Q<J){if($[Q]==="\\"){Q+=2;continue}if($[Q]===U){Q++;return}Q++}},K=()=>{Q++;while(Q<J){if($[Q]==="\\"){Q+=2;continue}if($[Q]==="`"){Q++;return}if($[Q]==="$"&&$[Q+1]==="{"){Q+=2;let U=1;while(Q<J&&U>0)if($[Q]==="{")U++,Q++;else if($[Q]==="}")U--,Q++;else if($[Q]==="'"||$[Q]==='"')G($[Q]);else if($[Q]==="`")K();else Q++;continue}Q++}},W=()=>{if($[Q]==="/"&&$[Q+1]==="/"){while(Q<J&&$[Q]!==`
11031
+ `)Q++;return!0}if($[Q]==="/"&&$[Q+1]==="*"){Q+=2;while(Q<J-1&&!($[Q]==="*"&&$[Q+1]==="/"))Q++;return Q+=2,!0}return!1},B=()=>{if(Y!==0)return;let U=$.slice(Q).match(/^(const|let|var)\s*\{([^}]+)\}\s*=/);if(U){let j=U[2].split(",").map((H)=>{let L=H.trim().split(":");return L[L.length-1].trim()});for(let H of j)if(H&&/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(H)&&!X.has(H))Z.push(H),X.add(H);return}let _=$.slice(Q).match(/^(const|let|var)\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*=/);if(_){let j=_[2];if(!X.has(j))Z.push(j),X.add(j);return}let z=$.slice(Q).match(/^function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(z){let j=z[1];if(!X.has(j))Z.push(j),X.add(j);return}let q=$.slice(Q).match(/^async\s+function\s+([a-zA-Z_$][a-zA-Z0-9_$]*)\s*\(/);if(q){let j=q[1];if(!X.has(j))Z.push(j),X.add(j)}};while(Q<J){if(W())continue;if($[Q]==="'"||$[Q]==='"'){G($[Q]);continue}if($[Q]==="`"){K();continue}if($[Q]==="{"){Y++,Q++;continue}if($[Q]==="}"){Y--,Q++;continue}if(Y===0&&/[a-z]/i.test($[Q])&&(Q===0||/\s|[;{}()]/.test($[Q-1])))B();Q++}return Z}function Vj($){let Z=[],X=0,Y=0,Q=null;for(let J=0;J<$.length;J++){let G=$[J];if(Q){if(G==="\\"){J++;continue}if(G===Q)Q=null;continue}if(G==='"'||G==="'"||G==="`"){Q=G;continue}if(G==="("||G==="["||G==="{")X++;else if(G===")"||G==="]"||G==="}")X--;else if(G===","&&X===0)Z.push($.slice(Y,J)),Y=J+1}if(Y<$.length)Z.push($.slice(Y));return Z}function Nj($){let Z=0,X=null;for(let Y=0;Y<$.length;Y++){let Q=$[Y];if(X){if(Q==="\\"){Y++;continue}if(Q===X)X=null;continue}if(Q==='"'||Q==="'"||Q==="`"){X=Q;continue}if(Q==="("||Q==="["||Q==="{")Z++;else if(Q===")"||Q==="]"||Q==="}")Z--;else if(Q==="="&&Z===0){let J=$[Y-1],G=$[Y+1];if(J==="!"||J==="<"||J===">"||J==="=")continue;if(G==="="||G===">")continue;return Y}}return-1}function Aj($,Z){try{let X=/=\s*(?:withDefaults\s*\([\s\S]*?defineProps|defineProps)\b/.exec($);if(!X)return;let Y=X.index-1;while(Y>=0&&/\s/.test($[Y]))Y--;if($[Y]!=="}")return;let Q=Y,J=0,G=-1;for(;Y>=0;Y--){let W=$[Y];if(W==="}")J++;else if(W==="{"){if(J--,J===0){G=Y;break}}}if(G===-1)return;let K=$.slice(G+1,Q);for(let W of Vj(K)){let B=W.trim();if(!B||B.startsWith("..."))continue;let U=Nj(B);if(U===-1)continue;let _=B.slice(0,U).trim();if(!/^[A-Z_$][\w$]*$/i.test(_))continue;if(Z[_]!==void 0)continue;let z=B.slice(U+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 YJ($,Z,X,Y,Q){let J=$.endsWith(".stx")?$.slice(0,-4):$,G=(L)=>L.split("-").map((F)=>F.charAt(0).toUpperCase()+F.slice(1)).join(""),K=(L)=>L.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),W=X.__importedComponents;if(W){for(let L of[J,J.toLowerCase(),G(J),K(J)])if(W.has(L))return!0}let B=[...new Set([`${J}.stx`,`${G(J)}.stx`,`${K(J)}.stx`])],U=typeof Q.root==="string"?d.resolve(Q.root):void 0,_=U??d.dirname(Y),z=[],q=(L)=>{if(L&&!z.includes(L))z.push(L)},j=X.__originalFilePath;if(j)q(d.join(d.dirname(j),"components"));q(Z),q(d.join(d.dirname(Y),"components")),q(Q.componentsDir);let H=Q._pluginComponentDirs;if(Array.isArray(H))for(let L of H)q(typeof L==="string"?L:null);if(U)q(d.resolve(U,"resources/views/components")),q(d.resolve(U,"resources/components")),q(d.resolve(U,"src/components")),q(d.resolve(U,"components"));if(J.startsWith("./")||J.startsWith("../"))return c(d.resolve(d.dirname(Y),`${J}.stx`));for(let L of z){let F=d.isAbsolute(L)?L:d.resolve(_,L);for(let O of B)if(await c(d.join(F,O)))return!0}return!1}function wj($){return $==="visible"||$==="idle"||$==="interaction"||$.startsWith("media:")}async function N1($,Z,X,Y,Q,J,G,K=new Set,W){let{extractVariables:B}=await Promise.resolve().then(() => (A1(),x7)),U=K??new Set;if(U.has($))return`[Circular component reference: ${$}]`;let _=new Set(U);_.add($);let z=typeof Z.client==="string"?Z.client.trim():"";if("client"in Z)delete Z.client;let q=z&&z!=="load"&&wj(z)?z:"";try{let j=(C)=>C.split("-").map((x)=>x.charAt(0).toUpperCase()+x.slice(1)).join(""),H=(C)=>C.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),L=$.endsWith(".stx")?$.slice(0,-4):$,F=null,O=Q.__importedComponents;if(O){let C=[L,L.toLowerCase(),j(L),H(L)];for(let x of C)if(O.has(x)){F=O.get(x);break}}let V=[];if(!F){let C=[`${L}.stx`,`${j(L)}.stx`,`${H(L)}.stx`],x=[...new Set(C)],v=Q.__originalFilePath,h=[];if(v){let _0=d.join(d.dirname(v),"components");h.push(_0)}if(Y)h.push(Y);let p=d.join(d.dirname(J),"components");if(!h.includes(p))h.push(p);if(G.componentsDir&&G.componentsDir!==Y&&!h.includes(G.componentsDir))h.push(G.componentsDir);let s=G._pluginComponentDirs;if(Array.isArray(s)){for(let _0 of s)if(typeof _0==="string"&&!h.includes(_0))h.push(_0)}let K0=typeof G.root==="string"?d.resolve(G.root):void 0,M0=K0??d.dirname(J),v0=[];if(K0)v0.push(d.resolve(K0,"resources/views/components")),v0.push(d.resolve(K0,"resources/components")),v0.push(d.resolve(K0,"src/components")),v0.push(d.resolve(K0,"components"));v0.push(d.resolve(import.meta.dir,"components"));for(let _0 of v0)if(!h.includes(_0))h.push(_0);let I1=[...new Set(h.map((_0)=>{if(!_0)return _0;return d.isAbsolute(_0)?_0:d.resolve(M0,_0)}))];if(h.length=0,h.push(...I1),L.startsWith("./")||L.startsWith("../"))F=d.resolve(d.dirname(J),`${L}.stx`),V.push(F);else for(let _0 of h){if(!_0)continue;for(let E1 of x){let T$=d.join(_0,E1);if(V.push(T$),await c(T$)){F=T$;break}}if(F)break;if(!F)try{let E1=await import("fs");if(!E1.statSync(_0,{throwIfNoEntry:!1})?.isDirectory())continue;let E5=8,t=[{path:_0,depth:0}];while(t.length>0&&!F){let s0=t.pop();if(s0.depth>=E5)continue;let z4;try{z4=E1.readdirSync(s0.path,{withFileTypes:!0})}catch{continue}for(let D5 of z4){if(!D5.isDirectory())continue;if(D5.name==="node_modules"||D5.name.startsWith("."))continue;let g8=d.join(s0.path,D5.name);for(let rQ of x){let q4=d.join(g8,rQ);if(V.push(q4),await c(q4)){F=q4;break}}if(F)break;t.push({path:g8,depth:s0.depth+1})}}}catch{}if(F)break}}if(!F||!await c(F)){let C=V.length>0?`
11032
11032
  Searched paths:
11033
11033
  ${V.map((x)=>` - ${x}`).join(`
11034
- `)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${b}`}W.add(F);let N;if(w8.has(F))N=w8.get(F);else try{N=await Bun.file(F).text(),w8.set(F,N)}catch(b){return`[Error loading component: ${b instanceof Error?b.message:String(b)}]`}let A=new Set(["__originalFilePath","__importedComponents"]),w={};for(let[b,x]of Object.entries(Q))if(!b.startsWith("__")||A.has(b))w[b]=x;let R={...w,...Z,props:Z,slot:X,__processedComponents:_,__sections:{}};Aj(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,D=[...N.matchAll(E)],k=[];for(let b of D){let x=b[1]||"",v=b[2]||"",h=x.includes("server");if(b1(x)&&v.trim())v=P1(v);if(h&&v)try{await B(v,R,F)}catch(s){}if(!h){let s=v.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,"");if(s.includes("{{")&&s.includes("}}"))s=l0(s,R,F);let K0=x.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");k.push(`<script${K0}>${s}</script>`)}}let P=N.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),S=P?P[1]:"",C=P?P[2]:"",y="",u=S&&/\bscoped\b/i.test(S);if(P)y=`<style${S}>${C}</style>`;let f=T;if(f=f.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),P)f=f.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let b=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,x=[];if(f=f.replace(b,(v,h)=>{let p=h.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(p)x.push(`<style${p[1]}>${p[2]}</style>`);return""}),f=f.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),x.length>0)y=`${y}${x.join(`
11035
- `)}`}if(X&&f.includes("{{ text || slot }}"))f=f.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>X);let{extractSlotContent:m,applySlots:r}=await Promise.resolve().then(() => (A8(),E9)),{defaultSlot:R0,namedSlots:Z1}=m(X);f=await r(f,R0||X,Z1,R);for(let[b,x]of Object.entries(R))if(typeof x==="string"){if(x.includes("<")&&x.includes(">")||x.includes("&lt;")||x.includes("&quot;")){let v=I4(x);R[b]=v}}let x0=k.some((b)=>/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test(b)),k0={...G,componentsDir:d.dirname(F),skipSignalsRuntime:!0,skipEventDirectives:x0,defaultLayout:void 0};R.__stxProcessingDepth=(Q.__stxProcessingDepth||0)+1;let e=await W0(f,R,F,k0,W),V0=`stx_${L.replace(/[^a-zA-Z0-9]/g,"_")}_${++Oj}_${Math.random().toString(36).slice(2,8)}`,z0=e;if(x0){let b="";if(Object.keys(Z).length>0)try{b=` data-stx-props="${D9(JSON.stringify(Z))}"`}catch{}let x=q?` stx-hydrate="${D9(q)}"`:"";if(z0=`<div data-stx-scope="${V0}"${b}${x}>${e}</div>`,z0=k.map((h)=>{let p=h.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!p)return h;let[,s,K0]=p,S0=J1(K0),v0=`
11034
+ `)}`:"";return`[Error loading component: ENOENT: no such file or directory, open '${$}']${C}`}W.add(F);let N;if(w8.has(F))N=w8.get(F);else try{N=await Bun.file(F).text(),w8.set(F,N)}catch(C){return`[Error loading component: ${C instanceof Error?C.message:String(C)}]`}let A=new Set(["__originalFilePath","__importedComponents"]),w={};for(let[C,x]of Object.entries(Q))if(!C.startsWith("__")||A.has(C))w[C]=x;let R={...w,...Z,props:Z,slot:X,__processedComponents:_,__sections:{}};Aj(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,D=[...N.matchAll(E)],k=[];for(let C of D){let x=C[1]||"",v=C[2]||"",h=x.includes("server");if(b1(x)&&v.trim())v=P1(v);if(h&&v)try{await B(v,R,F)}catch(s){}if(!h){let s=v.replace(/^\s*const\s*\{[^}]+\}\s*=\s*window\.stx\s*;?\s*\n?/gm,"");if(s.includes("{{")&&s.includes("}}"))s=l0(s,R,F);let K0=x.replace(/\s*\bts\b/g,"").replace(/\s*\blang\s*=\s*["']?(ts|typescript)["']?/gi,"");k.push(`<script${K0}>${s}</script>`)}}let P=N.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i),S=P?P[1]:"",b=P?P[2]:"",y="",u=S&&/\bscoped\b/i.test(S);if(P)y=`<style${S}>${b}</style>`;let f=T;if(f=f.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,""),P)f=f.replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"");{let C=/@push\s*\(\s*['"]styles['"]\s*\)([\s\S]*?)@endpush/gi,x=[];if(f=f.replace(C,(v,h)=>{let p=h.match(/<style\b([^>]*)>([\s\S]*?)<\/style>/i);if(p)x.push(`<style${p[1]}>${p[2]}</style>`);return""}),f=f.replace(/@push\s*\(\s*['"][^'"]+['"]\s*\)[\s\S]*?@endpush/gi,""),x.length>0)y=`${y}${x.join(`
11035
+ `)}`}if(X&&f.includes("{{ text || slot }}"))f=f.replace(/\{\{\s*text\s*\|\|\s*slot\s*\}\}/g,()=>X);let{extractSlotContent:m,applySlots:r}=await Promise.resolve().then(() => (A8(),E9)),{defaultSlot:R0,namedSlots:Z1}=m(X);f=await r(f,R0||X,Z1,R);for(let[C,x]of Object.entries(R))if(typeof x==="string"){if(x.includes("<")&&x.includes(">")||x.includes("&lt;")||x.includes("&quot;")){let v=I4(x);R[C]=v}}let x0=k.some((C)=>/\b(state|derived|effect)\s*(?:<[^<>()]*>)?\s*\(/.test(C)),S0={...G,componentsDir:d.dirname(F),skipSignalsRuntime:!0,skipEventDirectives:x0,defaultLayout:void 0};R.__stxProcessingDepth=(Q.__stxProcessingDepth||0)+1;let e=await W0(f,R,F,S0,W),V0=`stx_${L.replace(/[^a-zA-Z0-9]/g,"_")}_${++Oj}_${Math.random().toString(36).slice(2,8)}`,z0=e;if(x0){let C="";if(Object.keys(Z).length>0)try{C=` data-stx-props="${D9(JSON.stringify(Z))}"`}catch{}let x=q?` stx-hydrate="${D9(q)}"`:"";if(z0=`<div data-stx-scope="${V0}"${C}${x}>${e}</div>`,z0=k.map((h)=>{let p=h.match(/<script([^>]*)>([\s\S]*)<\/script>/i);if(!p)return h;let[,s,K0]=p,M0=J1(K0),v0=`
11036
11036
  (function() {
11037
11037
  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;
11038
11038
  const __scope = window.stx._scopes = window.stx._scopes || {};
@@ -11044,12 +11044,12 @@ ${V.map((x)=>` - ${x}`).join(`
11044
11044
  const onMount = (fn) => __scopeVars.__mountCallbacks.push(fn);
11045
11045
  const onDestroy = (fn) => __scopeVars.__destroyCallbacks.push(fn);
11046
11046
 
11047
- ${S0}
11047
+ ${M0}
11048
11048
 
11049
11049
  // Register all defined signals and functions in this scope
11050
11050
  const __localVars = {};
11051
11051
  try {
11052
- ${Fj(S0).map((I1)=>`if (typeof ${I1} !== 'undefined') __localVars['${I1}'] = ${I1};`).join(`
11052
+ ${Fj(M0).map((I1)=>`if (typeof ${I1} !== 'undefined') __localVars['${I1}'] = ${I1};`).join(`
11053
11053
  `)}
11054
11054
  }
11055
11055
  catch (e) {}
@@ -11058,9 +11058,9 @@ catch (e) {}
11058
11058
  `)+`
11059
11059
  `+z0,y)z0+=`
11060
11060
  `+y}else{if(y)z0+=`
11061
- `+y;if(k.length>0){let b=R.__stx_event_bindings||[],x=Z$(R),v=await Promise.all(k.map(async(h)=>{let p=h.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!p)return h;return await X$(p[1],{eventBindings:b,templateContent:z0,filePath:F,projectRoot:process.cwd(),serverData:x})}));z0+=`
11061
+ `+y;if(k.length>0){let C=R.__stx_event_bindings||[],x=Z$(R),v=await Promise.all(k.map(async(h)=>{let p=h.match(/<script\b[^>]*>([\s\S]*?)<\/script>/);if(!p)return h;return await X$(p[1],{eventBindings:C,templateContent:z0,filePath:F,projectRoot:process.cwd(),serverData:x})}));z0+=`
11062
11062
  `+v.join(`
11063
- `),R.__stx_event_bindings=[]}}if(u){let b=u7(z0,F);if(b.hasScoped)z0=b.html}return z0}catch(j){return`[Error processing component: ${j instanceof Error?j.message:String(j)}]`}finally{U.delete($)}}async function c($){return Bun.file($).exists()}function R8($,Z){let X=d.resolve(Z),Y=d.resolve($),Q=X.endsWith(d.sep)?X:X+d.sep;if(Y===X||Y.startsWith(Q))return Y;return null}async function j7($,Z,X,Y){let Q=await Rj($,Z,X,Y);if(Q===null)return null;let J=R8(Q,process.cwd());if(J)return J;let G=[X.root,X.layoutsDir,X.componentsDir,X.partialsDir,X.pagesDir].filter((K)=>typeof K==="string"&&K.length>0);for(let K of G){let W=d.isAbsolute(K)?K:d.resolve(process.cwd(),K);if(R8(Q,W))return d.resolve(Q)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${Q} (template: ${$}, from: ${Z})`),null}async function Rj($,Z,X,Y){if(X.debug)console.log(`Resolving template path: ${$} from ${Z}`);let Q=d.dirname(Z),J=process.cwd();if($.startsWith("/")){let z=d.join(J,$),q=R8(z,J);if(!q)return console.warn(`[stx] rejected template path that escapes project root: ${$} (from ${Z})`),null;if(X.debug)console.log(`Checking absolute path: ${q}`);if(await c(q)&&Y)Y.add(q);return q}let G=d.join(Q,$);if(await c(G)){if(X.debug)console.log(`Found direct path: ${G}`);if(Y)Y.add(G);return G}if(!$.endsWith(".stx")&&!$.endsWith(".jsx")&&!$.endsWith(".tsx"))for(let z of[".stx",".tsx",".jsx"]){let q=`${G}${z}`;if(await c(q)){if(X.debug)console.log(`Found direct path with extension: ${q}`);if(Y)Y.add(q);return q}}let K="",W=d.resolve(Q),B=process.cwd();for(let z=0;z<10;z++){let q=d.join(W,"layouts"),j=!1;try{j=Hj.statSync(q,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(j){K=q;break}let H=d.dirname(W);if(H===W||H.length<B.length)break;W=H}if(K){let z=$.startsWith("layouts/")?$.slice(8):$,q=d.join(K,z);if(await c(q)){if(X.debug)console.log(`Found in current layouts dir: ${q}`);if(Y)Y.add(q);return q}if(!z.endsWith(".stx")){let j=`${q}.stx`;if(await c(j)){if(X.debug)console.log(`Found in current layouts dir with extension: ${j}`);if(Y)Y.add(j);return j}}}if(X.layoutsDir){let z=d.isAbsolute(X.layoutsDir)?X.layoutsDir:d.resolve(process.cwd(),X.layoutsDir),q=$.startsWith("layouts/")?$.slice(8):$,j=d.join(z,q);if(await c(j)){if(X.debug)console.log(`Found in options.layoutsDir: ${j}`);if(Y)Y.add(j);return j}if(!$.endsWith(".stx")){let H=`${j}.stx`;if(await c(H)){if(X.debug)console.log(`Found in options.layoutsDir with extension: ${H}`);if(Y)Y.add(H);return H}}}if($.startsWith("layouts/")||$.includes("/layouts/")){let z=$.split("layouts/"),q=d.join(X.partialsDir||Q,"layouts",z[1]);if(await c(q)){if(X.debug)console.log(`Found in layouts path: ${q}`);if(Y)Y.add(q);return q}if(!q.endsWith(".stx")){let j=`${q}.stx`;if(await c(j)){if(X.debug)console.log(`Found in layouts path with extension: ${j}`);if(Y)Y.add(j);return j}}}if(X.partialsDir){if(K=d.join(X.partialsDir,"layouts"),await c(K)){let z=d.join(K,$);if(await c(z)){if(X.debug)console.log(`Found in partials layouts dir: ${z}`);if(Y)Y.add(z);return z}if(!$.endsWith(".stx")){let q=`${z}.stx`;if(await c(q)){if(X.debug)console.log(`Found in partials layouts dir with extension: ${q}`);if(Y)Y.add(q);return q}}}}let U=X.partialsDir||d.join(process.cwd(),"views"),_=d.join(U,$);if(await c(_)){if(X.debug)console.log(`Found in views path: ${_}`);if(Y)Y.add(_);return _}if(!$.endsWith(".stx")){let z=`${_}.stx`;if(await c(z)){if(X.debug)console.log(`Found in views path with extension: ${z}`);if(Y)Y.add(z);return z}}if(Q.includes("temp")){let z=d.join(d.dirname(Q),"layouts",$);if(await c(z)){if(X.debug)console.log(`Found in temp layouts dir: ${z}`);if(Y)Y.add(z);return z}if(!$.endsWith(".stx")){let q=`${z}.stx`;if(await c(q)){if(X.debug)console.log(`Found in temp layouts dir with extension: ${q}`);if(Y)Y.add(q);return q}}}if(X.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 k9($,Z,X){let Y=0,Q="",J="";try{if(typeof Z==="number"&&Z>=0){let G=$.split(`
11063
+ `),R.__stx_event_bindings=[]}}if(u){let C=u7(z0,F);if(C.hasScoped)z0=C.html}return z0}catch(j){return`[Error processing component: ${j instanceof Error?j.message:String(j)}]`}finally{U.delete($)}}async function c($){return Bun.file($).exists()}function R8($,Z){let X=d.resolve(Z),Y=d.resolve($),Q=X.endsWith(d.sep)?X:X+d.sep;if(Y===X||Y.startsWith(Q))return Y;return null}async function j7($,Z,X,Y){let Q=await Rj($,Z,X,Y);if(Q===null)return null;let J=R8(Q,process.cwd());if(J)return J;let G=[X.root,X.layoutsDir,X.componentsDir,X.partialsDir,X.pagesDir].filter((K)=>typeof K==="string"&&K.length>0);for(let K of G){let W=d.isAbsolute(K)?K:d.resolve(process.cwd(),K);if(R8(Q,W))return d.resolve(Q)}return console.warn(`[stx] rejected resolved template path that escapes project root: ${Q} (template: ${$}, from: ${Z})`),null}async function Rj($,Z,X,Y){if(X.debug)console.log(`Resolving template path: ${$} from ${Z}`);let Q=d.dirname(Z),J=process.cwd();if($.startsWith("/")){let z=d.join(J,$),q=R8(z,J);if(!q)return console.warn(`[stx] rejected template path that escapes project root: ${$} (from ${Z})`),null;if(X.debug)console.log(`Checking absolute path: ${q}`);if(await c(q)&&Y)Y.add(q);return q}let G=d.join(Q,$);if(await c(G)){if(X.debug)console.log(`Found direct path: ${G}`);if(Y)Y.add(G);return G}if(!$.endsWith(".stx")&&!$.endsWith(".jsx")&&!$.endsWith(".tsx"))for(let z of[".stx",".tsx",".jsx"]){let q=`${G}${z}`;if(await c(q)){if(X.debug)console.log(`Found direct path with extension: ${q}`);if(Y)Y.add(q);return q}}let K="",W=d.resolve(Q),B=process.cwd();for(let z=0;z<10;z++){let q=d.join(W,"layouts"),j=!1;try{j=Hj.statSync(q,{throwIfNoEntry:!1})?.isDirectory()??!1}catch{}if(j){K=q;break}let H=d.dirname(W);if(H===W||H.length<B.length)break;W=H}if(K){let z=$.startsWith("layouts/")?$.slice(8):$,q=d.join(K,z);if(await c(q)){if(X.debug)console.log(`Found in current layouts dir: ${q}`);if(Y)Y.add(q);return q}if(!z.endsWith(".stx")){let j=`${q}.stx`;if(await c(j)){if(X.debug)console.log(`Found in current layouts dir with extension: ${j}`);if(Y)Y.add(j);return j}}}if(X.layoutsDir){let z=d.isAbsolute(X.layoutsDir)?X.layoutsDir:d.resolve(process.cwd(),X.layoutsDir),q=$.startsWith("layouts/")?$.slice(8):$,j=d.join(z,q);if(await c(j)){if(X.debug)console.log(`Found in options.layoutsDir: ${j}`);if(Y)Y.add(j);return j}if(!$.endsWith(".stx")){let H=`${j}.stx`;if(await c(H)){if(X.debug)console.log(`Found in options.layoutsDir with extension: ${H}`);if(Y)Y.add(H);return H}}}if($.startsWith("layouts/")||$.includes("/layouts/")){let z=$.split("layouts/"),q=d.join(X.partialsDir||Q,"layouts",z[1]);if(await c(q)){if(X.debug)console.log(`Found in layouts path: ${q}`);if(Y)Y.add(q);return q}if(!q.endsWith(".stx")){let j=`${q}.stx`;if(await c(j)){if(X.debug)console.log(`Found in layouts path with extension: ${j}`);if(Y)Y.add(j);return j}}}if(X.partialsDir){if(K=d.join(X.partialsDir,"layouts"),await c(K)){let z=d.join(K,$);if(await c(z)){if(X.debug)console.log(`Found in partials layouts dir: ${z}`);if(Y)Y.add(z);return z}if(!$.endsWith(".stx")){let q=`${z}.stx`;if(await c(q)){if(X.debug)console.log(`Found in partials layouts dir with extension: ${q}`);if(Y)Y.add(q);return q}}}}let U=X.partialsDir||d.join(process.cwd(),"views"),_=d.join(U,$);if(await c(_)){if(X.debug)console.log(`Found in views path: ${_}`);if(Y)Y.add(_);return _}if(!$.endsWith(".stx")){let z=`${_}.stx`;if(await c(z)){if(X.debug)console.log(`Found in views path with extension: ${z}`);if(Y)Y.add(z);return z}}if(Q.includes("temp")){let z=d.join(d.dirname(Q),"layouts",$);if(await c(z)){if(X.debug)console.log(`Found in temp layouts dir: ${z}`);if(Y)Y.add(z);return z}if(!$.endsWith(".stx")){let q=`${z}.stx`;if(await c(q)){if(X.debug)console.log(`Found in temp layouts dir with extension: ${q}`);if(Y)Y.add(q);return q}}}if(X.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 k9($,Z,X){let Y=0,Q="",J="";try{if(typeof Z==="number"&&Z>=0){let G=$.split(`
11064
11064
  `),K=0;for(let W=0;W<G.length;W++)if(K+=G[W].length+1,K>=Z){Y=W+1,Q=G[W].trim();let B=Math.max(0,W-2),U=Math.min(G.length,W+3);J=G.slice(B,U).map((_,z)=>{let q=B+z+1;return`${q===Y?"> ":" "}${q}: ${_}`}).join(`
11065
11065
  `);break}}else if(X){let G=$.indexOf(X);if(G>=0)return k9($,G)}}catch{}return{lineNumber:Y,lineContent:Q,context:J}}function Q0($,Z,X,Y,Q,J){let{lineNumber:G,context:K}=k9(Y,Q,J),W=X.split("/").pop(),B=0;if(typeof Q==="number"&&Q>=0&&Y){let _=Y.lastIndexOf(`
11066
11066
  `,Math.max(0,Q-1));B=Q-(_+1)+1}let U="";if(G>0)U+=`
@@ -11075,14 +11075,14 @@ ${a.yellow}${a.bold}Message:${a.reset} ${Z}
11075
11075
  `,K)U+=`
11076
11076
  ${a.blue}${a.bold}Context:${a.reset}
11077
11077
  ${a.dim}${K}${a.reset}
11078
- `;return U}var w8,Oj=0,a;var J0=M(()=>{C1();M0();y1();n0();k1();m7();w9();A1();w8=new y$(500);a={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"}});var S9=()=>{};import{abortNavigation as wT,clearMiddleware as Mj,createClientCookieManager as RT,createMiddlewareContext as Tj,createRouteLocation as Ij,createServerCookieManager as MT,createStorageManager as TT,defineMiddleware as IT,getMiddleware as ET,getMiddlewareNames as Ej,hasMiddleware as DT,loadMiddlewareFromDirectory as Dj,navigateTo as kT,registerMiddleware as ST,runMiddleware as kj}from"stx-router";var M8=()=>{};var T8=()=>{};import{extractLayoutMetadata as C9}from"stx-router/layout-metadata";var M$=M(()=>{T8()});var b9=M(()=>{E0()});import{getRouterScript as mT}from"stx-router";var I8=M(()=>{a7()});var P9=M(()=>{E0()});var y9=()=>{};import{Broadcast as rT,BroadcastServer as sT}from"ts-broadcasting";import{channel as tT}from"ts-broadcasting";import{Broadcast as $I,BroadcastServer as ZI}from"ts-broadcasting";var x9=()=>{};var v9=M(()=>{g0();L0();J0()});var f9=()=>{};var g9=()=>{};var h9=M(()=>{v$()});var d9=M(()=>{v$()});var u9=()=>{};var T5=M(()=>{v$();B$();f9();g9();h9();d9();u9()});var k8=M(()=>{_$();E0();T5()});var c9=M(()=>{O$();U4();J0();T5();k8()});var l9=M(()=>{_$();E0();O$();U4();J0();T5()});import{matchRoute as cI,Router as lI}from"stx-router";import{findErrorPage as cj,formatRoutes as lj,generateRouteManifest as rI,generateRouteTypes as sI,matchRoute as ij}from"stx-router";var B4=()=>{};var i9=M(()=>{M$();O$();U4();B4();M8();c1();J0();T5()});var n9=M(()=>{k8();c9();l9();i9()});var r9=M(()=>{E0();J0()});var s9=()=>{};var o9=()=>{};var a9=()=>{};var t9=()=>{};var e9=M(()=>{M0();n0()});var _4=()=>{};var $Q=()=>{};var S8=M(()=>{n0();E0();S$();M$()});var ZQ=M(()=>{B4();I8();S8();_4();M$();B$();E0()});var C8=M(()=>{A1();M0();S$()});var XQ=M(()=>{_4();C8();M$()});var YQ=()=>{};var JQ=M(()=>{_$();n0();J0()});var QQ=()=>{};var GQ=()=>{};var KQ=()=>{};class WQ{instances=new Map;componentsByFile=new Map;stateSnapshots=new Map;config;constructor($={}){this.config={preserveState:$.preserveState??!0,maxStateAge:$.maxStateAge??30000,errorRecovery:$.errorRecovery??!0,verbose:$.verbose??!1,serializeState:$.serializeState??this.defaultSerializeState.bind(this),deserializeState:$.deserializeState??this.defaultDeserializeState.bind(this)}}register($){if(this.instances.set($.id,$),!this.componentsByFile.has($.name))this.componentsByFile.set($.name,new Set);if(this.componentsByFile.get($.name).add($.id),this.config.verbose)console.log(`[HMR] Registered component: ${$.name} (${$.id})`)}unregister($){let Z=this.instances.get($);if(!Z)return;if(this.componentsByFile.get(Z.name)?.delete($),this.componentsByFile.get(Z.name)?.size===0)this.componentsByFile.delete(Z.name);if(this.stateSnapshots.delete($),Z.cleanup?.(),this.instances.delete($),this.config.verbose)console.log(`[HMR] Unregistered component: ${Z.name} (${$})`)}getInstancesByFile($){let Z=this.componentsByFile.get($)||new Set;return Array.from(Z).map((X)=>this.instances.get(X)).filter(Boolean)}getInstance($){return this.instances.get($)}captureState($){let Z=this.instances.get($);if(!Z||!this.config.preserveState)return;let X=this.config.serializeState(Z);if(this.stateSnapshots.set($,X),this.config.verbose)console.log(`[HMR] Captured state for: ${Z.name}`)}restoreState($){let Z=this.instances.get($),X=this.stateSnapshots.get($);if(!Z||!X||!this.config.preserveState)return!1;if(Date.now()-X.timestamp>this.config.maxStateAge){if(this.stateSnapshots.delete($),this.config.verbose)console.log(`[HMR] State expired for: ${Z.name}`);return!1}try{if(this.config.deserializeState(X,Z),this.config.verbose)console.log(`[HMR] Restored state for: ${Z.name}`);return!0}catch(Y){return console.error(`[HMR] Failed to restore state for ${Z.name}:`,Y),!1}}defaultSerializeState($){let Z={},X={};if($.element)$.element.querySelectorAll("[data-stx-ref]").forEach((Q)=>{let J=Q.getAttribute("data-stx-ref"),G=Q.getAttribute("data-stx-value");if(J&&G)try{Z[J]=JSON.parse(G)}catch{Z[J]=G}});return{refs:Z,reactiveObjects:X,custom:$.state?.custom||{},timestamp:Date.now()}}defaultDeserializeState($,Z){if(Z.element)Object.entries($.refs).forEach(([X,Y])=>{let Q=Z.element.querySelector(`[data-stx-ref="${X}"]`);if(Q)Q.setAttribute("data-stx-value",JSON.stringify(Y)),Q.dispatchEvent(new CustomEvent("stx:state-restored",{detail:{name:X,value:Y},bubbles:!0}))});Z.state={...$,timestamp:Date.now()}}getAllInstances(){return Array.from(this.instances.values())}clear(){for(let $ of this.instances.values())$.cleanup?.();this.instances.clear(),this.componentsByFile.clear(),this.stateSnapshots.clear()}}class oj{registry;config;pendingUpdates=new Map;updateQueue=Promise.resolve();constructor($={}){this.config={preserveState:$.preserveState??!0,maxStateAge:$.maxStateAge??30000,errorRecovery:$.errorRecovery??!0,verbose:$.verbose??!1,serializeState:$.serializeState??(()=>({refs:{},reactiveObjects:{},custom:{},timestamp:Date.now()})),deserializeState:$.deserializeState??(()=>{})},this.registry=new WQ(this.config)}register($){this.registry.register($)}unregister($){this.registry.unregister($)}async handleUpdate($){return this.updateQueue=this.updateQueue.then(()=>this.processUpdate($)),this.updateQueue}async processUpdate($){let Z=this.registry.getInstancesByFile($.file);if(Z.length===0){if(this.config.verbose)console.log(`[HMR] No instances found for: ${$.file}`);return}if(this.config.verbose)console.log(`[HMR] Updating ${Z.length} instance(s) of: ${$.file}`);for(let X of Z)await this.updateInstance(X,$);if(typeof window<"u"&&typeof window.dispatchEvent==="function")window.dispatchEvent(new CustomEvent("stx:hmr-update",{detail:{file:$.file,count:Z.length}}))}async updateInstance($,Z){this.registry.captureState($.id);let X=!1,Y=$.element?.innerHTML||"";try{if($.element?.dispatchEvent(new CustomEvent("stx:before-hmr-update",{bubbles:!0})),$.cleanup?.(),Z.type==="style")await this.updateStyles($,Z);else await this.updateComponent($,Z);let Q=this.registry.restoreState($.id);if(!Q&&$.setup)await $.setup();$.element?.dispatchEvent(new CustomEvent("stx:after-hmr-update",{detail:{stateRestored:Q},bubbles:!0}))}catch(Q){if(X=!0,console.error(`[HMR] Error updating component ${$.name}:`,Q),this.config.errorRecovery){if($.element&&Y)$.element.innerHTML=Y,console.log(`[HMR] Recovered previous state for: ${$.name}`);$.element?.dispatchEvent(new CustomEvent("stx:hmr-error",{detail:{error:Q},bubbles:!0}))}}if(!X&&this.config.verbose)console.log(`[HMR] Successfully updated: ${$.name}`)}async updateComponent($,Z){if(!$.element)return;let{html:X,script:Y}=this.parseComponentCode(Z.code);if(X)$.element.innerHTML=X;if(Y)await this.executeScript(Y,$);if($.render)$.element.innerHTML=$.render();this.reinitializeInteractivity($)}async updateStyles($,Z){if(!$.element)return;let X=Z.code.match(/<style\b[^>]*>([\s\S]*?)<\/style>/i);if(!X)return;let Y=X[1],Q=$.id,J=document.querySelector(`style[data-stx-component="${Q}"]`);if(!J)J=document.createElement("style"),J.setAttribute("data-stx-component",Q),document.head.appendChild(J);if(J.textContent=Y,this.config.verbose)console.log(`[HMR] Updated styles for: ${$.name}`)}parseComponentCode($){let Z=$,X="",Y="",Q=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i);if(Q)X=Q[1],Z=Z.replace(Q[0],"");let J=$.match(/<style\b[^>]*>([\s\S]*?)<\/style>/i);if(J)Y=J[1],Z=Z.replace(J[0],"");return{html:Z.trim(),script:X.trim(),style:Y.trim()}}async executeScript($,Z){try{let X={element:Z.element,props:Z.props,...typeof window<"u"?window.stx:{}},Y=`
11078
+ `;return U}var w8,Oj=0,a;var J0=M(()=>{C1();T0();y1();n0();k1();m7();w9();A1();w8=new y$(500);a={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"}});var S9=()=>{};import{abortNavigation as wT,clearMiddleware as Mj,createClientCookieManager as RT,createMiddlewareContext as Tj,createRouteLocation as Ij,createServerCookieManager as MT,createStorageManager as TT,defineMiddleware as IT,getMiddleware as ET,getMiddlewareNames as Ej,hasMiddleware as DT,loadMiddlewareFromDirectory as Dj,navigateTo as kT,registerMiddleware as ST,runMiddleware as kj}from"stx-router";var M8=()=>{};var T8=()=>{};import{extractLayoutMetadata as C9}from"stx-router/layout-metadata";var M$=M(()=>{T8()});var b9=M(()=>{D0()});import{getRouterScript as mT}from"stx-router";var I8=M(()=>{a7()});var P9=M(()=>{D0()});var y9=()=>{};import{Broadcast as rT,BroadcastServer as sT}from"ts-broadcasting";import{channel as tT}from"ts-broadcasting";import{Broadcast as $I,BroadcastServer as ZI}from"ts-broadcasting";var x9=()=>{};var v9=M(()=>{g0();L0();J0()});var f9=()=>{};var g9=()=>{};var h9=M(()=>{v$()});var d9=M(()=>{v$()});var u9=()=>{};var T5=M(()=>{v$();B$();f9();g9();h9();d9();u9()});var k8=M(()=>{_$();D0();T5()});var c9=M(()=>{O$();U4();J0();T5();k8()});var l9=M(()=>{_$();D0();O$();U4();J0();T5()});import{matchRoute as cI,Router as lI}from"stx-router";import{findErrorPage as cj,formatRoutes as lj,generateRouteManifest as rI,generateRouteTypes as sI,matchRoute as ij}from"stx-router";var B4=()=>{};var i9=M(()=>{M$();O$();U4();B4();M8();c1();J0();T5()});var n9=M(()=>{k8();c9();l9();i9()});var r9=M(()=>{D0();J0()});var s9=()=>{};var o9=()=>{};var a9=()=>{};var t9=()=>{};var e9=M(()=>{T0();n0()});var _4=()=>{};var $Q=()=>{};var S8=M(()=>{n0();D0();S$();M$()});var ZQ=M(()=>{B4();I8();S8();_4();M$();B$();D0()});var C8=M(()=>{A1();T0();S$()});var XQ=M(()=>{_4();C8();M$()});var YQ=()=>{};var JQ=M(()=>{_$();n0();J0()});var QQ=()=>{};var GQ=()=>{};var KQ=()=>{};class WQ{instances=new Map;componentsByFile=new Map;stateSnapshots=new Map;config;constructor($={}){this.config={preserveState:$.preserveState??!0,maxStateAge:$.maxStateAge??30000,errorRecovery:$.errorRecovery??!0,verbose:$.verbose??!1,serializeState:$.serializeState??this.defaultSerializeState.bind(this),deserializeState:$.deserializeState??this.defaultDeserializeState.bind(this)}}register($){if(this.instances.set($.id,$),!this.componentsByFile.has($.name))this.componentsByFile.set($.name,new Set);if(this.componentsByFile.get($.name).add($.id),this.config.verbose)console.log(`[HMR] Registered component: ${$.name} (${$.id})`)}unregister($){let Z=this.instances.get($);if(!Z)return;if(this.componentsByFile.get(Z.name)?.delete($),this.componentsByFile.get(Z.name)?.size===0)this.componentsByFile.delete(Z.name);if(this.stateSnapshots.delete($),Z.cleanup?.(),this.instances.delete($),this.config.verbose)console.log(`[HMR] Unregistered component: ${Z.name} (${$})`)}getInstancesByFile($){let Z=this.componentsByFile.get($)||new Set;return Array.from(Z).map((X)=>this.instances.get(X)).filter(Boolean)}getInstance($){return this.instances.get($)}captureState($){let Z=this.instances.get($);if(!Z||!this.config.preserveState)return;let X=this.config.serializeState(Z);if(this.stateSnapshots.set($,X),this.config.verbose)console.log(`[HMR] Captured state for: ${Z.name}`)}restoreState($){let Z=this.instances.get($),X=this.stateSnapshots.get($);if(!Z||!X||!this.config.preserveState)return!1;if(Date.now()-X.timestamp>this.config.maxStateAge){if(this.stateSnapshots.delete($),this.config.verbose)console.log(`[HMR] State expired for: ${Z.name}`);return!1}try{if(this.config.deserializeState(X,Z),this.config.verbose)console.log(`[HMR] Restored state for: ${Z.name}`);return!0}catch(Y){return console.error(`[HMR] Failed to restore state for ${Z.name}:`,Y),!1}}defaultSerializeState($){let Z={},X={};if($.element)$.element.querySelectorAll("[data-stx-ref]").forEach((Q)=>{let J=Q.getAttribute("data-stx-ref"),G=Q.getAttribute("data-stx-value");if(J&&G)try{Z[J]=JSON.parse(G)}catch{Z[J]=G}});return{refs:Z,reactiveObjects:X,custom:$.state?.custom||{},timestamp:Date.now()}}defaultDeserializeState($,Z){if(Z.element)Object.entries($.refs).forEach(([X,Y])=>{let Q=Z.element.querySelector(`[data-stx-ref="${X}"]`);if(Q)Q.setAttribute("data-stx-value",JSON.stringify(Y)),Q.dispatchEvent(new CustomEvent("stx:state-restored",{detail:{name:X,value:Y},bubbles:!0}))});Z.state={...$,timestamp:Date.now()}}getAllInstances(){return Array.from(this.instances.values())}clear(){for(let $ of this.instances.values())$.cleanup?.();this.instances.clear(),this.componentsByFile.clear(),this.stateSnapshots.clear()}}class oj{registry;config;pendingUpdates=new Map;updateQueue=Promise.resolve();constructor($={}){this.config={preserveState:$.preserveState??!0,maxStateAge:$.maxStateAge??30000,errorRecovery:$.errorRecovery??!0,verbose:$.verbose??!1,serializeState:$.serializeState??(()=>({refs:{},reactiveObjects:{},custom:{},timestamp:Date.now()})),deserializeState:$.deserializeState??(()=>{})},this.registry=new WQ(this.config)}register($){this.registry.register($)}unregister($){this.registry.unregister($)}async handleUpdate($){return this.updateQueue=this.updateQueue.then(()=>this.processUpdate($)),this.updateQueue}async processUpdate($){let Z=this.registry.getInstancesByFile($.file);if(Z.length===0){if(this.config.verbose)console.log(`[HMR] No instances found for: ${$.file}`);return}if(this.config.verbose)console.log(`[HMR] Updating ${Z.length} instance(s) of: ${$.file}`);for(let X of Z)await this.updateInstance(X,$);if(typeof window<"u"&&typeof window.dispatchEvent==="function")window.dispatchEvent(new CustomEvent("stx:hmr-update",{detail:{file:$.file,count:Z.length}}))}async updateInstance($,Z){this.registry.captureState($.id);let X=!1,Y=$.element?.innerHTML||"";try{if($.element?.dispatchEvent(new CustomEvent("stx:before-hmr-update",{bubbles:!0})),$.cleanup?.(),Z.type==="style")await this.updateStyles($,Z);else await this.updateComponent($,Z);let Q=this.registry.restoreState($.id);if(!Q&&$.setup)await $.setup();$.element?.dispatchEvent(new CustomEvent("stx:after-hmr-update",{detail:{stateRestored:Q},bubbles:!0}))}catch(Q){if(X=!0,console.error(`[HMR] Error updating component ${$.name}:`,Q),this.config.errorRecovery){if($.element&&Y)$.element.innerHTML=Y,console.log(`[HMR] Recovered previous state for: ${$.name}`);$.element?.dispatchEvent(new CustomEvent("stx:hmr-error",{detail:{error:Q},bubbles:!0}))}}if(!X&&this.config.verbose)console.log(`[HMR] Successfully updated: ${$.name}`)}async updateComponent($,Z){if(!$.element)return;let{html:X,script:Y}=this.parseComponentCode(Z.code);if(X)$.element.innerHTML=X;if(Y)await this.executeScript(Y,$);if($.render)$.element.innerHTML=$.render();this.reinitializeInteractivity($)}async updateStyles($,Z){if(!$.element)return;let X=Z.code.match(/<style\b[^>]*>([\s\S]*?)<\/style>/i);if(!X)return;let Y=X[1],Q=$.id,J=document.querySelector(`style[data-stx-component="${Q}"]`);if(!J)J=document.createElement("style"),J.setAttribute("data-stx-component",Q),document.head.appendChild(J);if(J.textContent=Y,this.config.verbose)console.log(`[HMR] Updated styles for: ${$.name}`)}parseComponentCode($){let Z=$,X="",Y="",Q=$.match(/<script\b[^>]*>([\s\S]*?)<\/script>/i);if(Q)X=Q[1],Z=Z.replace(Q[0],"");let J=$.match(/<style\b[^>]*>([\s\S]*?)<\/style>/i);if(J)Y=J[1],Z=Z.replace(J[0],"");return{html:Z.trim(),script:X.trim(),style:Y.trim()}}async executeScript($,Z){try{let X={element:Z.element,props:Z.props,...typeof window<"u"?window.stx:{}},Y=`
11079
11079
  return (async function() {
11080
11080
  ${$}
11081
11081
  })()
11082
- `;await Function(...Object.keys(X),Y)(...Object.values(X))}catch(X){throw console.error("[HMR] Script execution error:",X),X}}reinitializeInteractivity($){if(!$.element)return;$.element.querySelectorAll("[data-stx-events]").forEach((X)=>{let Y=X.getAttribute("data-stx-events");if(!Y)return;try{let Q=JSON.parse(Y);for(let[J,G]of Object.entries(Q))if(typeof window<"u"&&window.stx?.[G])X.addEventListener(J,window.stx[G])}catch{}}),$.element.dispatchEvent(new CustomEvent("stx:reinitialize",{bubbles:!0}))}getRegistry(){return this.registry}async refresh($){let Z=this.registry.getInstancesByFile($);for(let X of Z)if(X.render&&X.element)this.registry.captureState(X.id),X.element.innerHTML=X.render(),this.registry.restoreState(X.id),this.reinitializeInteractivity(X)}}var UQ=()=>{};var BQ=()=>{};var _Q=M(()=>{g0();n0();J0()});var zQ=()=>{};var qQ=()=>{};var jQ=M(()=>{a4();$6();i5();x4();qQ()});var HQ=()=>{};var b8=()=>{};var VQ=M(()=>{b8()});var NQ=M(()=>{b8();VQ()});var P8=()=>{};var y8=()=>{};var x8=()=>{};var TQ=M(()=>{P8();y8();x8();P8();y8();x8()});var IQ=M(()=>{U1();o5()});var EQ=M(()=>{jQ();i4();j6();q6();HQ();NQ();TQ();IQ()});var DQ=M(()=>{A1();E0();n0()});var v8=()=>{};var kQ=()=>{};var SQ=M(()=>{v8()});var CQ=M(()=>{E0();A1();n0();C1()});var bQ=()=>{};var f8=()=>{};import rk from"bun-plugin-stx";var mQ=M(()=>{B$();f8()});var pQ=M(()=>{mQ();f8()});var cQ=()=>{};var lQ=()=>{};var iQ=M(()=>{lQ()});var nQ=M(()=>{H4();w4();J0();k3();k1();zQ();m3();v8();kQ();SQ();R6();B$();bQ();pQ();cQ();S9();c1();M8();p6();u5();S6();m5();_$();M$();y6();b9();I8();P9();y9();x9();$4();v9();E0();h6();u6();H4();n9();D$();r9();s9();o9();g0();C6();M0();a9();p5();a6();O$();t9();e9();h7();c5();d3();B5();_4();S$();n0();$Q();ZQ();XQ();B4();YQ();T8();q7();JQ();m7();S8();C8();D7();QQ();A6();L8();F8();GQ();KQ();k6();C1();UQ();BQ();_Q();w4();EQ();DQ();a7();p3();c3();CQ();J0();A8();iQ()});import I5 from"path";var W4,FP;var U4=M(()=>{nQ();g0();M0();y1();n0();W4={name:"bun-plugin-stx",async setup($){let X={...await t0(),...$.config?.stx},Y=new Set,Q=X.webComponents?.enabled?`./${I5.relative(I5.dirname($.config?.outdir||"dist"),X.webComponents.outputDir||"dist/web-components")}`:"/web-components",J=[];if(X.webComponents?.enabled)try{let G=await CX(X,Y);if(J.push(...G),X.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(X.cache&&X.cachePath){let H=await $8(G,X);if(H){if(X.debug)console.log(`Using cached version of ${G}`);return{contents:H,loader:"html"}}}let W=await G1(()=>Bun.file(G).text(),"",(H)=>{throw new Q5(`Failed to read stx file: ${G}`,G,void 0,void 0,`File read error: ${H.message}`)});if(!W)throw new Q5(`stx file is empty: ${G}`,G);let{scriptContent:B,templateContent:U,allScripts:_}=x$.time("script-extraction",()=>{let H=W,L=W.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>([\s\S]*?)<\/template>/i);if(L)H=L[1].trim();let F=W.match(/<script\b[^>]*>[\s\S]*?<\/script>/gi)||[],O="",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))O=w;else V.push(A)}let N=H.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"");return{scriptContent:O,templateContent:N,allScripts:V}}),z={__filename:G,__dirname:I5.dirname(G),__stx:{webComponentsPath:Q,builtComponents:J}};await G1(()=>b0(B,z,G),void 0,(H)=>{let L=new o0(`Script execution failed in ${G}: ${H.message}`,G,void 0,void 0,B.substring(0,100));if(T0.log(L,{filePath:G,scriptContent:B}),X.debug)throw L});let j=await x$.timeAsync("directive-processing",async()=>{return await W0(U,z,G,X,K)});if(_.length>0){let{interpolateScriptsInTemplate:H}=await Promise.resolve().then(() => (M0(),E4)),L=H(_.join(`
11082
+ `;await Function(...Object.keys(X),Y)(...Object.values(X))}catch(X){throw console.error("[HMR] Script execution error:",X),X}}reinitializeInteractivity($){if(!$.element)return;$.element.querySelectorAll("[data-stx-events]").forEach((X)=>{let Y=X.getAttribute("data-stx-events");if(!Y)return;try{let Q=JSON.parse(Y);for(let[J,G]of Object.entries(Q))if(typeof window<"u"&&window.stx?.[G])X.addEventListener(J,window.stx[G])}catch{}}),$.element.dispatchEvent(new CustomEvent("stx:reinitialize",{bubbles:!0}))}getRegistry(){return this.registry}async refresh($){let Z=this.registry.getInstancesByFile($);for(let X of Z)if(X.render&&X.element)this.registry.captureState(X.id),X.element.innerHTML=X.render(),this.registry.restoreState(X.id),this.reinitializeInteractivity(X)}}var UQ=()=>{};var BQ=()=>{};var _Q=M(()=>{g0();n0();J0()});var zQ=()=>{};var qQ=()=>{};var jQ=M(()=>{a4();$6();i5();x4();qQ()});var HQ=()=>{};var b8=()=>{};var VQ=M(()=>{b8()});var NQ=M(()=>{b8();VQ()});var P8=()=>{};var y8=()=>{};var x8=()=>{};var TQ=M(()=>{P8();y8();x8();P8();y8();x8()});var IQ=M(()=>{U1();o5()});var EQ=M(()=>{jQ();i4();j6();q6();HQ();NQ();TQ();IQ()});var DQ=M(()=>{A1();D0();n0()});var v8=()=>{};var kQ=()=>{};var SQ=M(()=>{v8()});var CQ=M(()=>{D0();A1();n0();C1()});var bQ=()=>{};var f8=()=>{};import rk from"bun-plugin-stx";var mQ=M(()=>{B$();f8()});var pQ=M(()=>{mQ();f8()});var cQ=()=>{};var lQ=()=>{};var iQ=M(()=>{lQ()});var nQ=M(()=>{H4();w4();J0();k3();k1();zQ();m3();v8();kQ();SQ();R6();B$();bQ();pQ();cQ();S9();c1();M8();p6();u5();S6();m5();_$();M$();y6();b9();I8();P9();y9();x9();$4();v9();D0();h6();u6();H4();n9();D$();r9();s9();o9();g0();C6();T0();a9();p5();a6();O$();t9();e9();h7();c5();d3();B5();_4();S$();n0();$Q();ZQ();XQ();B4();YQ();T8();q7();JQ();m7();S8();C8();D7();QQ();A6();L8();F8();GQ();KQ();k6();C1();UQ();BQ();_Q();w4();EQ();DQ();a7();p3();c3();CQ();J0();A8();iQ()});import I5 from"path";var W4,FP;var U4=M(()=>{nQ();g0();T0();y1();n0();W4={name:"bun-plugin-stx",async setup($){let X={...await t0(),...$.config?.stx},Y=new Set,Q=X.webComponents?.enabled?`./${I5.relative(I5.dirname($.config?.outdir||"dist"),X.webComponents.outputDir||"dist/web-components")}`:"/web-components",J=[];if(X.webComponents?.enabled)try{let G=await CX(X,Y);if(J.push(...G),X.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(X.cache&&X.cachePath){let H=await $8(G,X);if(H){if(X.debug)console.log(`Using cached version of ${G}`);return{contents:H,loader:"html"}}}let W=await G1(()=>Bun.file(G).text(),"",(H)=>{throw new Q5(`Failed to read stx file: ${G}`,G,void 0,void 0,`File read error: ${H.message}`)});if(!W)throw new Q5(`stx file is empty: ${G}`,G);let{scriptContent:B,templateContent:U,allScripts:_}=x$.time("script-extraction",()=>{let H=W,L=W.match(/<template\b(?![^>]*\b(?:id|x-for|x-if|@for|@if|:for|:if)\s*=)[^>]*>([\s\S]*?)<\/template>/i);if(L)H=L[1].trim();let F=W.match(/<script\b[^>]*>[\s\S]*?<\/script>/gi)||[],O="",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))O=w;else V.push(A)}let N=H.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"");return{scriptContent:O,templateContent:N,allScripts:V}}),z={__filename:G,__dirname:I5.dirname(G),__stx:{webComponentsPath:Q,builtComponents:J}};await G1(()=>b0(B,z,G),void 0,(H)=>{let L=new o0(`Script execution failed in ${G}: ${H.message}`,G,void 0,void 0,B.substring(0,100));if(I0.log(L,{filePath:G,scriptContent:B}),X.debug)throw L});let j=await x$.timeAsync("directive-processing",async()=>{return await W0(U,z,G,X,K)});if(_.length>0){let{interpolateScriptsInTemplate:H}=await Promise.resolve().then(() => (T0(),E4)),L=H(_.join(`
11083
11083
  `),z),F=j.search(/<\/body>/i);if(F!==-1)j=j.slice(0,F)+L+`
11084
11084
  `+j.slice(F);else j+=`
11085
- ${L}`}if(j=await Z4(j),K.forEach((H)=>Y.add(H)),X.cache&&X.cachePath){if(await Z8(G,j,K,X),X.debug)console.log(`Cached template ${G} with ${K.size} dependencies`)}return{contents:j,loader:"html"}}catch(K){let W=K instanceof Error?K:new o0(`Plugin processing failed: ${String(K)}`,G);if(T0.log(W,{filePath:G,buildConfig:$.config}),G5.logDetailedError(W,{filePath:G,plugin:"bun-plugin-stx"}),X.debug)console.error("stx Plugin Error:",W);let B=W,U=B.line||null,_=B.context||null;return{contents:X.debug||g1()?`<!DOCTYPE html>
11085
+ ${L}`}if(j=await Z4(j),K.forEach((H)=>Y.add(H)),X.cache&&X.cachePath){if(await Z8(G,j,K,X),X.debug)console.log(`Cached template ${G} with ${K.size} dependencies`)}return{contents:j,loader:"html"}}catch(K){let W=K instanceof Error?K:new o0(`Plugin processing failed: ${String(K)}`,G);if(I0.log(W,{filePath:G,buildConfig:$.config}),G5.logDetailedError(W,{filePath:G,plugin:"bun-plugin-stx"}),X.debug)console.error("stx Plugin Error:",W);let B=W,U=B.line||null,_=B.context||null;return{contents:X.debug||g1()?`<!DOCTYPE html>
11086
11086
  <html lang="en">
11087
11087
  <head>
11088
11088
  <meta charset="UTF-8">